arm920t架构cpu详解

  • 1.处理器/DSP
  • 2.ARM9系列
  • 3.ARM920T CPU结构

1.处理器/DSP

先来谈一下ARM的发展史:1978年12月5日,物理学家赫尔曼·豪泽(Hermann Hauser)和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

80年代中期,Acorn的一个小团队要为他们的下一代计算机挑选合适的处理器,根据他们提供的技术需求,在当时的市场上无法找到合适的处理器,于是Acorn决定自己设计一个处理器(真有魄力)。一个小团队仅仅用了18个月就完成了从设计到实现的全过程,这是一台RISC指令集的计算机,叫做Acorn RISC Machine(简称ARM)。后来Acorn公司没落了,而处理器设计部门被分了出来,组成了一家新公司。

ARM公司主要设计ARM系列AISC处理器内核,它不生产芯片,只提供IP核。先以一个例子解释一下架构、核、处理器和芯片:S3C2440,这是一款SoC芯片,注意,它不是cpu,2440和我们熟知的51单片机有点类似,都属于嵌入式,嵌入式的发展到目前经历了三个阶段,分别是SCM、MCU、SoC。51属于SCM或MCU,而2440就属于SoC了,先来看看51单片机的内部结构
  

2.ARM9系列

ARM9 系列微处理器在高性能和低功耗特性方面提供最佳的性能。具有以下特点:

- 5 级整数流水线,指令执行效率更高。

- 提供 1.1MIPS/MHz 的哈佛结构。

- 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。

- 支持 32 位的高速 AMBA总线接口。

- 全性能的 MMU,支持 Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

- MPU支持实时操作系统。

- 支持数据 Cache 和指令Cache,具有更高的指令和数据处理能力。

ARM9 系列微处理器主要应用于无线设备、仪器仪表、安全系统、机顶盒、高端打印机、数字照相机和数字摄像机等。

ARM9 系列微处理器包含 ARM920T、ARM922T和 ARM940T 三种类型,以适用于不同的应用场合。

ARM9E系列

ARM9E 系列微处理器为可综合处理器,使用单一的处理器内核提供了微控制器、DSP、Java

应用系统的解决方案,极大的减少了芯片的面积和系统的复杂程度。ARM9E 系列微处理器提供了

增强的 DSP 处理能力,很适合于那些需要同时使用 DSP 和微控制器的应用场合。

ARM9E 系列微处理器的主要特点如下:

- 支持 DSP 指令集,适合于需要高速数字信号处理的场合。

- 5 级整数流水线,指令执行效率更高。

- 支持 32 位 ARM 指令集和 16 位 Thumb 指令集。

- 支持 32 位的高速 AMBA总线接口。

- 支持 VFP9 浮点处理协处理器。

- 全性能的 MMU,支持 Windows CE、Linux、Palm OS等多种主流嵌入式操作系统。

- MPU支持实时操作系统。

- 支持数据 Cache 和指令Cache,具有更高的指令和数据处理能力。

- 主频最高可达 300MIPS。

ARM9 系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、存储设备和网络设备等领域。

ARM9E 系列微处理器包含 ARM926EJ-S、ARM946E-S 和 ARM966E-S 三种类型,以适用于不同的应用场合。

ARM920T的结构与特性

三星S3C2440A芯片自称处理器,但其实它是采用了ARM公司设计的ARM920T CPU加上一些其他组件,然后把它们封装在一起形成的一个多功能芯片。这里关注的是ARM920T CPU,下面就去看一看它的内部结构。

3.ARM920T CPU结构

mini2440开发板采用了S3C2440A芯片,而S3C2440A芯片又采用了ARM公司设计的ARM920T CPU。上次研究了计算平台—mini2440开发板。发现上面有个叫S3C2440A的黑盒子,并打开了它,发现它里面又有许多黑盒子,并且对其中一些黑盒子做了简要的介绍,如图3-1所示。另外,为了便于阅读,把2-4的图又搬过来,笔者觉得虽然增加篇幅,但是节省了回去翻书的时间。

图就是S3C2440A这个黑盒子内部结构图,其实早已看过,不过上次我们没有继续拆开它里面的黑盒子。其中有个非常重要的黑盒子—ARM920T,它才是这次要关注的重点,下面打开它,看看它里面又有什么,如图3-2所示。
  
ARM920T里面的黑盒子以及功能单元如下:

1)JTAG:一种调试或者测试芯片的接口,可以通过JTAG接口访问CPU的内部寄存器和挂在总线上的设备,如Flash、RAM等,我们不必过多关注。

2)ARM9TMDI:它才是真正运行程序的。

3)指令、数据MMU:包括两个C13一起处理内存地址映射的。

4)指令、数据Cache:包括写回PATAG RAM、写缓冲,一起完成高速缓存的功能。

5)CP15:这里是用于控制MMU和Cache的,还可以控制别的器件,不同的系统配置下是不同的。
  


6)外部协处理器接口:ARM920T可以加入多达15个协处理器,如增加一个浮点运算处理器等。
7)AMBA总线接口:ARM920T内部就是通过它和外部内存及其他设备通信的。
不过不需要把所有的东西都弄得一清二楚。我们主要关注4个部分:①CPU内核:和ARM920T内部的其他部件一起工作,用来运行程序。包括操作系统内核和应用程序。②MMU:映射内存,主要用于实现虚拟内存,什么是虚拟内存后面会介绍的。③Cache:缓存内存中的指令和数据,它比内存小很多但快很多,把内存中的一部分内容放在Cache里面,这样可以加快程序的运行速度,后面也会详细介绍的。④CP15:它在ARM920T内部称为协处理器,在这里是专门用于控制MMU和Cache的。可以看到ARM920T还能通过外部协处理器接口增加其他协处理器。

CPU内核对应于图3-2中的ARM9TMDI。操作系统和应用程序都需要它执行,所以我们写操作系统内核之前,必须先仔细了解它,以及ARM920T的其他组件。后面会重点研究ARM920T的程序员模型,即指令集、工作模式、寄存器等。

MMU对应于图3-2中的指令MMU、数据MMU。为什么有两个MMU,通常情况下一个MMU不就够了吗?是的,大部分CPU确实只有一个MMU,然而这里有两个,这是因为ARM920T内部采用了哈佛架构。哈佛架构是一种将程序指令存储和数据存储分开的存储器架构。是一种并行体系架构,指令和数据可以独立存取,这样就大大提高了程序的运行性能。

Cache对应于图3-2中的指令Cache、数据Cache,同样也是因为哈佛架构才会有两个Cache。它们都是16KB。关于Cache的工作机制,后面会专门介绍,现在只要知道它是用来缓存内存中的数据的,速度比内存快很多。

CP15对应于图3-2中的CP15,称为协处理器。在ARM920T中,CP15控制着MMU和Cache,比如我们要打开或者关闭MMU、改变地址映射关系、打开或者关闭Cache、锁定Cache中的内容、使Cache中的数据变为无效等。这些功能都将通过操作CP15协处理器而达到。

总结:
1.用一张图来表示

参考博客
[1] ARM9TDMI百科
[2] arm920t架构cpu详解

arm920t架构cpu详解相关推荐

  1. x86 - CPU架构/寄存器详解 (三) 保护模式

    系列文章 x86 - CPU架构/寄存器详解 (一)x86.8086.i386.IA-32 是什么? x86 - CPU架构/寄存器详解 (二) 实模式(8086模式) x86 - CPU架构/寄存器 ...

  2. WCF服务端运行时架构体系详解[下篇]

    作为WCF中一个核心概念,终结点在不同的语境中实际上指代不同的对象.站在服务描述的角度,我们所说的终结点实际上是指ServiceEndpoint对象.如果站在WCF服务端运行时框架来说,终结点实际上指 ...

  3. 分布式 | Dubbo 架构设计详解

    转载自   分布式 | Dubbo 架构设计详解 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务 ...

  4. 【转】Dubbo架构设计详解

    本文转自:Dubbo架构设计详解,原作者是:时延军 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服 ...

  5. C# 三层架构搭建详解(BLL DAL Model)

    C# 三层架构搭建详解(BLL DAL Model) 1.建立好方案 在方案上右键 用上面的方法添加三个类库:DAL(数据访问层) BLL(业务逻辑层) Model(模型层) 注意要按顺序添加引用 D ...

  6. Rest架构风格详解

    Rest架构风格详解 何为架构风格? 设计模式 架构模式 架构风格 Rest架构风格 客户端-服务器(Client-Server, CS) 无状态(Stateless) 缓存(Cache) 统一接口 ...

  7. hbase 二进制数据写入_分布式数据库HBase的架构设计详解(有彩蛋)

    原标题:分布式数据库HBase的架构设计详解(有彩蛋) 本文根据DBAplus社群第99期线上分享整理而成,文末还有好书送哦~ 讲师介绍 陈鸿威 云财经大数据CTO 曾任百度高级工程师,现主持设计开发 ...

  8. 移动架构 (一) 详解架构设计中UML图的使用

    距离上一个 "性能优化系列" 已经快一个月没有发布文章了,最近公司真的是太忙了,甚是想念掘友们啊.最近把学习架构方面的知识记录下来,供自己和掘友们一起学习. 注意: 文章中 UML ...

  9. Redis基础与高可用集群架构进阶详解

    一.NoSQL简介 1.问题引入 每年到了过年期间,大家都会自觉自发的组织一场活动,叫做春运!以前我们买票都是到火车站排队,后来呢,有了 12306,有了它以后就更方便了,我们可以在网上买票,但是带来 ...

  10. docker架构的详解

    docker架构 一.具体部分的详解: 1.docker daemon docker daemon是常驻的后台程序 docker server就是后台程序docker接受数据请求,然后交给route, ...

最新文章

  1. 13张图彻底搞懂分布式系统服务注册与发现原理
  2. 二十五、二叉树的前序、中序、后序遍历
  3. 再论JavaScript原型继承和对象继承
  4. python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
  5. 趣味c语言编程100例(一)
  6. 6、(二进制类型)BIT、BINARY、VARBINARY、BLOB
  7. 初识react(四) react中异步解决方案之 redux-saga
  8. CSS之两栏固定布局(一)
  9. Kafka核心源码解析 - LogManager源码解析
  10. 世界首个机器人观音在岛国问世,请问AI开光还会远吗?
  11. 高级python_高级Python功能
  12. 电脑系统哪个好用_火绒杀毒,真有那么好用吗?
  13. 2、深入理解 Laravel Eloquent(二)——中间操作流(Builder)
  14. WEB3.0全球高峰论坛暨2022中民协分布式存储专委会新春团拜会即将隆重启幕
  15. 如何修改UG标题文字
  16. fer2013的csv文件转换为ImageNet格式(以图片格式保存在各自类别的文件夹中)
  17. 计算机与汽车智能信息化管理,谈计算机控制系统在汽车行业的应用
  18. git操作提示warning: redirecting to git@github.com:XXXXX
  19. Windows网络命令ipconfig详解
  20. java-php-python-ssm计算机专业招聘网站计算机毕业设计

热门文章

  1. 超实用的!南京南站最新停车指南来了
  2. IAR报错:FlashK60Fxxx128K.board丢失 K60断电丢程序
  3. 锁定计算机屏幕的快捷键是什么,锁住电脑屏幕的快捷键_打开电脑屏幕的快捷键...
  4. 阿里云E-HPC+i4p大内存实例,加速寻因生物单细胞数据分析效率
  5. 【电源干货】你的电源模块选对了吗?7招教会你!
  6. 正高、正常高和大地高的区别
  7. PHP配置优化《MordenPHP》
  8. 《一次失败沟通后的自我觉察》
  9. 基于内容的图像检索系统 【多媒体系统导论大作业】
  10. mpu6050 z轴校准_MPU6050校准