ARM结构特点:

ARM结构特点:,第1张

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,也是一种嵌入式系统处理器。
ARM架构,被称作进阶精简指令集机器,是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于低成本、高效能、低耗电的特性,ARM处理器非常适用于移动通讯领域。
为了大家更好的理解,我们不妨做个比喻,ARM架构就像是一座建筑的结构设计部分,而处理器就相当于一个完整的建筑,只有有了稳定的结构作为基础,才能建造出各式各样的房子。换句话说,ARM架构只相当于一座建筑的框架,至于最后建造出来的房子长什么样,舒适度如何,就是由处理器厂商自己决定了。不过有一点需要说明,假如结构的设计值是十层,容纳人数的上限是100人,那么最后建好的房子也不能超过这个上限。这也就是说,采用相同架构的处理器,性能基本上已经锁定在一定的范围之内,不会有本质的区别。所以,看处理器的性能要先看架构。
目前最常见的是ARM7和ARM9两个系列。随着人们对系统功能提出了更高的要求,ARM7在某些应用中已经不能胜任,性能更加强劲的ARM9处理器逐渐占据了高端产品市场。
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内。
ARM9 处理器系列的核心产品是 ARM9TDMI 处理器,该处理器系列整合了 16 位的 Thumb 指令集。ARM9 Thumb 系列包括 ARM920T 和 ARM922T 高速缓存的处理器宏单元。用于运行 Symbian OS、Palm OS、Linux 和 Windows CE 的应用程序的双 16k 高速缓存。

两个问题都能在这里找到答案,我搜了下,参考`
ARM指令集发展史
作者:xdpeter 提交日期:2006-4-12 20:01:00
第2章 典型ARM体系结构介绍
一、版本简介
迄今为止,ARM体系结构共定义了6个版本,版本号分别为1—6。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant),例如支持Thumb指令集,称为T变种。长乘法指令(M变种),ARM媒体功能扩展(SIMD)变种,支持JAVA的J变种,和增强功能的E变种。
ARM处理器核当前有6 个系列产品ARM7,,ARM9, ARM9E, ARM10E,SecurCore 以及最新的ARM11 系列。以及Intel XScale 微体系结构和StrongARM 产品各系列产品性能见下表
ARM7 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口

ARM7TDMI 无 无 无 无 有 无 有
ARM7TDMI-S 无 无 无 无 有 无 有
ARM7EJ-S 无 无 无 有 有 有 有
ARM720T 8K MMU 无 无 有 无 有
ARM7采用ARMV4T(Newman)结构,分为三级流水,空间统一的指令与数据Cache,平均功耗为06mW/MHz,时钟速度为66MHz,每条指令平均执行19个时钟周期。其中的ARM710,ARM720和ARM740为内带Cache的ARM核。具有如下特点:
- 具有嵌入式ICE-RT逻辑,调试开发方便。
- 极低的功耗,适合对功耗要求较高的应用,如便携式产品。
- 能够提供09MIPS/MHz的三级流水线结构。
- 代码密度高并兼容16位的Thumb指令集。
- 对 *** 作系统的支持广泛,包括Windows CE、Linux、Palm OS等。
- 指令系统与ARM9系列、ARM9E系列和ARM10E系列兼容,便于用户的产品升级换代。
- 主频最高可达130MIPS,高速的运算处理能力能胜任绝大多数的复杂应用。
ARM7系列微处理器的主要应用领域为:工业控制、Internet设备、网络和调制解调器设备、移动电话等多种多媒体和嵌入式应用。ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。TDMI的基本含义为:T:支持16为压缩指令集Thumb;D:支持片上Debug;M:内嵌硬件乘法器(Multiplier)I:嵌入式ICE,支持片上断点和调试点;
从ARM公司提供的ARM7 Data Sheet可以看出,ARM7属于结构比较简单的32位RISC体系结构,与一般的、采用五级流水线的32位RISC结构相比,简化了流水线的设计。这一方面限制了ARM7芯片性能的提升,另一方面使得ARM7的结构更加简单,不必考虑在多级流水线中需要解决的冲突、中断现场恢复等等复杂棘手的问题,有利于简化设计、提高设计的正确性、有效性。
由于指令长度、格式的限制,在ARM7的一般指令中,只能够访问4位的寄存器空间,这和其他32位RISC体系结构中能够访问到5位、6位的寄存器空间又不同。ARM7通过特殊的模式转换方式,使得用户可以访问到其它的15个通用寄存器。
ARM7所有的指令都是条件执行的。这在目前主流的32位RISC体系结构中并不多见。通过在指令中设置条件域,可以使得编译器有条件完成指令的条件执行功能,优化编译效果。另外,由于条件域的引入,使得在设计流水线的时候,必须考虑译码后的指令是否可以执行。
ARM7中的所有指令,除了访存指令之外,都是基于寄存器进行 *** 作的,这是典型的RISC设计思路。

注:arm体系结构的版本及命名方法
arm体系结构共定义了6个版本,版本号分别为1~6。
arm体系的变种:将某些特定功能称为arm体系的某种变种(variant)
#T变种(Thumb指令集)表示Thumb,该内核可从16位指令集扩充到32位ARM指令集。
#D:表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。
#M变种(长乘法指令)表示Multiplier,是8位乘法器。
#I表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
#E变种(增强型指令)DSP指令支持。
#J变种(Java加速Jazelle)JAVA指令支持。
#SIMD变种(arm媒体功能扩展)单指令流多数据流(SIMD)能力使得软件更有效地完成高性能的媒体应用像声音和图像编码器。

arm/thumb体系版本的字符串是由下面几部分组成的:
#字符串ARMV
#arm指令集版本号,1~6
#ARM指令集版本号后为表示所含变种的字符。由于在ARM体系版本4以后,M变种成为系统的标准功能,字符M通常不需要列出来。
#最后使用的字符x表示排除某种写功能。比如,在早期的一些E变种中,未包含双字读取指令LDRD、双字写入指令STRD、协处理器的寄存器传输指令MCRR/MRRC以及cache预取指令PLD。这种E变种记作ExP,其中x表示缺少,P代表上述的几种指令。如ARMv3M,ARMv5xM,ARMv6等
eg:ARMv5xM--->ARMv+4+x+M
ARM9 性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口

ARM920T 16K/16K MMU 无 无 有 无 有
ARM922T 8K/8K MMU 无 无 有 无 有
ARM940T 4K/4K MMU 无 无 有 无 有
ARM9采用ARMV4T(Harvard)结构,五级流水处理以及分离的Cache结构,平均功耗为07mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行15个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E为含Cache的CPU核。性能为132MIPS(120MHz时钟,33V供)或220MIPS(200MHz时钟)。



ARM9 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口

ARM926EJS 4-128K/4-128 MMU 有 有 有 有 双AHB
ARM946EJS 4-1MB/4-1MB MMU 有 无 有 有 AHB
ARM966ES 无 无 有 无 有 有 AHB
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三种类型,以适用于不同的应用场合。

ARM10 E性能特征
Cache大小
(指令/数据) 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
Thumb
DSP
AHB接口

ARM1020E 32K/32K MMU 无 无 有 有 双AHB
ARM1022E 16K/16K MMU 无 无 有 有 双AHB
ARM1026EJ-S 可变 MMU+ MMU 有 有 有 有 双AHB
ARM10采用ARMV5T结构,六级流水处理,指令与数据分离的Cache结构。平均功耗为1000mW,时钟速度为300MHz,每条指令平均执行12个周期,其中ARM1020为带Cache的版本。ARM10TDMI:与所有ARM核在二进制级代码兼容,内带高速32X16MAC,预留DSP协处理器接口。其中的VFP10(矢量浮点单元)为七级流水结构。ARM1020T:ARM10TDMI+32K Caches+MMU结构,300MHz时钟,功耗为1W(20V供电)或00mW(15V供电)。指令Cache和数据Cache分别为32K,宽度为64bits。能够技术多种商用 *** 作系统。适用于下一代高性能手持式因特网设备及数字式消费类应用。
ARM10E系列微处理器具有高性能、低功耗的特点,由于采用了新的体系结构,与同等的ARM9器件相比较,在同样的时钟频率下,性能提高了近50%,同时,ARM10E系列微处理器采用了两种先进的节能方式,使其功耗极低。 ARM10E系列微处理器的主要特点如下: - 支持DSP指令集,适合于需要高速数字信号处理的场合。 - 6级整数流水线,指令执行效率更高。 - 支持32位ARM指令集和16位Thumb指令集。 - 支持32位的高速AMBA总线接口。 - 支持VFP10浮点处理协处理器。 - 全性能的MMU,支持Windows CE、Linux、Palm OS等多种主流嵌入式 *** 作系统。 - 支持数据Cache和指令Cache,具有更高的指令和数据处理能力 - 主频最高可达400MIPS。 - 内嵌并行读/写 *** 作部件。 ARM10E系列微处理器主要应用于下一代无线设备、数字消费品、成像设备、工业控制、通信和信息系统等领域。 ARM10E系列微处理器包含ARM1020E、ARM1022E和ARM1026EJ-S三种类型,以适用于不同的应用场合。
ARM11性能特征
Cache大小
(指令/数据) 符点
运算 存储器管理单元
紧密耦合存储器
(TCM) Jazelle
SIMD
DSP
AHB接口
ARM1136J-S 4-64K 无 MMU 有 有 有 有 四个64
位AHB
ARM1136JF-S 4-64K 有 MMU 有 有 有 有 四个64
位AHB
ARM11是ARMv6体系结构的第一个实现,ARM11微结构的设计目

系列处理器是英国ARM公司设计的主流嵌入式处理器
ARM7内核是09MIPS/MHz的三级流水线和冯·诺伊曼结构;
ARM9内核是5级流水线,提供11MIPS/MHz的哈佛结构。
ARM7没有MMU,ARM720T是MMU的 ,ARM9主要包括ARM9TDMI和ARM9E-S等系列ARM9是有MMU的,ARM940T只有Memory protection unit不是一个完整的MMU。
ARM9的时钟频率比ARM7更高,采用哈佛结构区分了数据总线和指令总线, ARM7处理器采用3级流水线,而ARM9采用5级流水线, 5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。在同样的加工工艺下,ARM9TDMI处理器的时钟频率是ARM7TDMI的1.8~2.2倍。指令周期的改进,
指令周期的改进:
2.1 loads 指令矛n stores指令
指令周期数的改进最明显的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7和ARM9两种处理器内的两个基本的微处理结构不同所造成的。
(1)ARM9有独立的指令和数据存储器接口,允许处理器同时进行取指和读写数据。这叫作改进型哈佛结构。而ARM7只有数据存储器接口,它同时用来取指令和数据访问。
(2)5级流水线引入了独立的存储器和写回流水线,分别用来访问存储器和将结果写回寄存器。
以上两点实现了一个周期完成loads指令和stores指令。
2.2 互锁(interlocks)技术
当指令需要的数据因为以前的指令没有执行完而没有准备好就会产生管道互锁。当管道互锁发生时,硬件会停止这个指令的执行,直到数据准备好为止。虽然这种技术会增加代码执行时间,但是为初期的设计者提供了巨大的方便。编译器以及汇编程序员可以通过重新设计代码的顺序或者其他方法来减少管道互锁的数量。
2.3 分枝指令
ARM9和ARM7的分枝指令周期是相同的。而且ARM9TDMI和ARM9E-S并没有对分枝指令进行预测处理。
ARM9结构及特点
以ARM9E-S为例介绍ARM9处理器的主要结构及其特点。
(1)32bit定点RISC处理器,改进型ARM/Thumb代码交织,增强性乘法器设计。支持实时(real-time)调试;
(2)片内指令和数据SRAM,而且指令和数据的存储器容量可调;
(3)片内指令和数据高速缓冲器(cache)容量从4K字节到1M字节;
(4)设置保护单元(protcction unit),非常适合嵌入式应用中对存储器进行分段和保护;
(5)采用AMBA AHB总线接口,为外设提供统一的地址和数据总线;
(6)支持外部协处理器,指令和数据总线有简单的握手信令支持;
(7)支持标准基本逻辑单元扫描测试方法学,而且支持BIST(built-in-self-test);
(8)支持嵌入式跟踪宏单元,支持实时跟踪指令和数据

单片机跟ARM从水平上说,ARM相比单片机更高级,多应用与航空航天等高科技领域(精确度/实时性/智能型 等要求较高),而单片机应用领域广泛(要求低),多用于民用领域!
变成语言!ARM使用一般使C语言或者C++,而单片机使用C或者汇编语言。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12990958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存