[ZLG-ARM] 典型ARM体系结构介绍(转)

[复制链接]
2445|3
 楼主| amazelove 发表于 2009-3-20 19:39 | 显示全部楼层 |阅读模式
迄今为止,ARM体系结构共定义了6个版本,版本号分别为1—6。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant),例如支持Thumb指令集,称为T变种。长乘法指令(M变种),ARM媒体功能扩展(SIMD)变种,支持JAVA的J变种,和增强功能的E变种。<br />&nbsp;&nbsp;&nbsp;&nbsp;ARM处理器核当前有6&nbsp;个系列产品ARM7,,ARM9,&nbsp;ARM9E,&nbsp;ARM10E,SecurCore以及最新的ARM11&nbsp;系列。以及Intel&nbsp;XScale&nbsp;微体系结构和StrongARM&nbsp;产品各系列产品性能见下表<br />&nbsp;&nbsp;&nbsp;&nbsp;ARM7性能特征<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cache大小&nbsp;&nbsp;存储器管理单元&nbsp;&nbsp;紧密耦合存储器&nbsp;&nbsp;Jazelle&nbsp;&nbsp;Thumb&nbsp;&nbsp;&nbsp;DSP&nbsp;&nbsp;&nbsp;AHB接口<br /><br />ARM7TDMI&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br />ARM7TDMI-S&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br />ARM7EJ-S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br />ARM720T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MMU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;ARM7采用ARMV4T(Newman)结构,分为三级流水,空间统一的指令与数据Cache,平均功耗为0.6mW/MHz,时钟速度为66MHz,每条指令平均执行1.9个时钟周期。其中的ARM710,ARM720和ARM740为内带Cache的ARM核。具有如下特点:<br />&nbsp;&nbsp;&nbsp;&nbsp;-具有嵌入式ICE-RT逻辑,调试开发方便。<br />&nbsp;&nbsp;&nbsp;&nbsp;-极低的功耗,适合对功耗要求较高的应用,如便携式产品。<br />&nbsp;&nbsp;&nbsp;&nbsp;-能够提供0.9MIPS/MHz的三级流水线结构。<br />&nbsp;&nbsp;&nbsp;&nbsp;-代码密度高并兼容16位的Thumb指令集。<br />&nbsp;&nbsp;&nbsp;&nbsp;-对操作系统的支持广泛,包括Windows&nbsp;CE、Linux、Palm&nbsp;OS等。<br />&nbsp;&nbsp;&nbsp;&nbsp;-指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;-主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;<br />&nbsp;&nbsp;&nbsp;&nbsp;从ARM公司提供的ARM7&nbsp;Data&nbsp;Sheet可以看出,ARM7属于结构比较简单的32位RISC体系结构,与一般的、采用五级流水线的32位RISC结构相比,简化了流水线的设计。这一方面限制了ARM7芯片性能的提升,另一方面使得ARM7的结构更加简单,不必考虑在多级流水线中需要解决的冲突、中断现场恢复等等复杂棘手的问题,有利于简化设计、提高设计的正确性、有效性。<br />&nbsp;&nbsp;&nbsp;&nbsp;由于指令长度、格式的限制,在ARM7的一般指令中,只能够访问4位的寄存器空间,这和其他32位RISC体系结构中能够访问到5位、6位的寄存器空间又不同。ARM7通过特殊的模式转换方式,使得用户可以访问到其它的15个通用寄存器。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;ARM7所有的指令都是条件执行的。这在目前主流的32位RISC体系结构中并不多见。通过在指令中设置条件域,可以使得编译器有条件完成指令的条件执行功能,优化编译效果。另外,由于条件域的引入,使得在设计流水线的时候,必须考虑译码后的指令是否可以执行。<br />&nbsp;&nbsp;&nbsp;&nbsp;ARM7中的所有指令,除了访存指令之外,都是基于寄存器进行操作的,这是典型的RISC设计思路。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;注:arm体系结构的版本及命名方法<br />&nbsp;&nbsp;&nbsp;&nbsp;arm体系结构共定义了6个版本,版本号分别为1~6。<br />&nbsp;&nbsp;&nbsp;&nbsp;arm体系的变种:将某些特定功能称为arm体系的某种变种(variant)<br />&nbsp;&nbsp;&nbsp;&nbsp;#T变种:(Thumb指令集)表示Thumb,该内核可从16位指令集扩充到32位ARM指令集。<br />&nbsp;&nbsp;&nbsp;&nbsp;#D:表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。<br />&nbsp;&nbsp;&nbsp;&nbsp;#M变种:(长乘法指令)表示Multiplier,是8位乘法器。<br />&nbsp;&nbsp;&nbsp;&nbsp;#I:表示EmbeddedICE&nbsp;Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。<br />&nbsp;&nbsp;&nbsp;&nbsp;#E变种:(增强型指令)DSP指令支持。<br />&nbsp;&nbsp;&nbsp;&nbsp;#J变种:(Java加速器Jazelle)JAVA指令支持。<br />&nbsp;&nbsp;&nbsp;&nbsp;#SIMD:变种(arm媒体功能扩展)单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;arm/thumb体系版本的字符串是由下面几部分组成的:<br />&nbsp;&nbsp;&nbsp;&nbsp;#字符串ARMV<br />&nbsp;&nbsp;&nbsp;&nbsp;#arm指令集版本号,1~6<br />&nbsp;&nbsp;&nbsp;&nbsp;#ARM指令集版本号后为表示所含变种的字符。由于在ARM体系版本4以后,M变种成为系统的标准功能,字符M通常不需要列出来。<br />&nbsp;&nbsp;&nbsp;&nbsp;#最后使用的字符x表示排除某种写功能。比如,在早期的一些E变种中,未包含双字读取指令LDRD、双字写入指令STRD、协处理器的寄存器传输指令MCRR/MRRC以及cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令。如ARMv3M,ARMv5xM,ARMv6等<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;eg:ARMv5xM---&gtARMv+4+x+M<br />&nbsp;&nbsp;&nbsp;&nbsp;ARM9&nbsp;性能特征<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cache大小&nbsp;&nbsp;&nbsp;&nbsp;存储器管理单元&nbsp;&nbsp;&nbsp;紧密耦合存储器&nbsp;&nbsp;&nbsp;&nbsp;Jazelle&nbsp;&nbsp;&nbsp;Thumb&nbsp;&nbsp;DSP&nbsp;&nbsp;AHB接口<br /><br />ARM920T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16K/16K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MMU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br /><br />ARM922T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8K/8K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MMU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;有<br /><br /><br />ARM940T&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4K/4K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MMU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;无&nbsp;&nbsp;&nbsp;&nbsp;有<br />&nbsp;&nbsp;&nbsp;&nbsp;ARM9采用ARMV4T(Harvard)结构,五级流水处理以及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行1.5个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E为含Cache的CPU核。性能为132MIPS(120MHz时钟,3.3V供)或220MIPS(200MHz时钟)。<br />
xwj 发表于 2009-3-20 20:15 | 显示全部楼层

这篇还算有点内容,可惜不全

误人子弟
lelee007 发表于 2009-3-24 01:34 | 显示全部楼层

呵呵

到处都有老X的痕迹!
reeper 发表于 2009-4-3 10:14 | 显示全部楼层

被挂上“误人子弟”的名号可不好吧

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部