ARM7体系结构
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各ARM体系结构版本——V5
在V4版本的基础上,对现在指令的定义进行了必要的 修正,对V4版本的体系结构进行了扩展并增加了指令,具 体如下: 改进了ARM/Thumb状态之间的切换效率; 允许非T变量和T变量一样,使用相同代码生成技术; 增加计数前导零指令和软件断点指令; 对乘法指令如何设置标志作了严格的定义。
3.2 ARM7TDMI
简介
ARM7TDMI基于ARM体系结构V4版本,是目前低 端的ARM核。具有广泛的应用,其最显著的应用为 数字移动电话。
3.2 ARM7TDMI
简介
ARM7TDMI支持32位寻址范围,并弥补了ARM6 不能在低于5V电源电压下工作的不足。ARM7TDMI的 后缀意义为: ARM7 T D M I - S
乘法器 桶形移位器 写数据寄存器 32位ALU 指令管线读数据寄存器 Thumb指令译码器
该系列包括ARM7TDMI、ARM7TDMI-S、带有高 速缓存处理器宏单元的ARM720T和扩充了Jazelle 的ARM7EJ-S。该系列处理器提供Thumb 16位压缩 指令集和EmbededICE软件调试方式,适用于更大规 模的SoC设计中。 ARM7系列广泛应用于多媒体和嵌入式设备,包 括Internet设备、网络和调制解调器设备,以及移 动电话、PDA等无线设备。
ADDR[31:0] 扫描调试 控制 指令译码 和 控制逻辑 CLK CLEN CFGBIGEND nIRQ nFIQ nRESET ABORT LOCK WRITE
地址寄存器
地址增加器
寄存器组 31*32位寄存器 (6个状态寄存器)
SIZE[1:0] PROT[1:0] TRANS[1:0]
DBG输出 DBG输入 CP控制 CP握手
Writeback
1
2
3
4
5
6
LDR
MOV AND ORR
Fetch
Decode
Fetch
Execute
Decode Fetch
该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5
分支流水线举例
周期
地址
0x8000 0x8004 0x8008 0x8FEC 0x8FF0 0x8FF4
各ARM体系结构版本
ARM体系结构从最初开发到现在有了巨大的改进, 并仍在完善和发展。为了清楚的表达每个ARM应用实 例所使用的指令集,ARM公司定义了5种主要的ARM指 令集体系结构版本,以版本号V1~V5表示。
3.1 ARM简介
各ARM体系结构版本——V1
该版本的ARM体系结构,只有26位的寻址空间,没 有商业化,其特点为: 基本的数据处理指令(不包括乘法); 字节、字和半字加载/存储指令;
流水线上各指令的地址流水线工位描述arm指令集thumb指令集pcpc取指指令从存储器中取出pc4pc2译码对指令使用的寄存器进行译码pc8pc4执行从寄存器组中读出寄存器执行移位和alu操作寄存器被写回到寄存器组中最佳流水线周期?该例中用6个时钟周期执行了6条指令?所有的操作都在寄存器中单周期执行?指令周期数cpi1操作123456addsubmovandorreorcmprsbfetchdecodeexecutefetchdecodeexecutefetchdecodeexecutefetchdecodeexecutefetchdecodeexecutedecodeexecutefetchdecodefetchfetchldr流水线举例?该例中用6周期执行了4条指令?指令周期数cpi1
各ARM体系结构版本——V4
不在为了与以前的版本兼容而支持26位体系结 构,并明确了哪些指令会引起未定义指令异常发生, 它相对V3版本作了以下的改进:
半字加载/存储指令;
字节和半字的加载和符号扩展指令; 具有可以转换到Thumb状态的指令; 用户模式寄存器的新的特权处理器模式。
3.1 ARM简介
3.1 ARM简介
ARM处理器核简介
ARM公司开发了很多系列的ARM处理器核,目 前最新的系列已经是ARM11了,而ARM6核以及更早 的系列已经很罕见了。目前应用比较广泛的系列是:
ARM7 SecurCore Xscale ARM9 ARM9E ARM10
3.1 ARM简介
ARM处理器核简介——ARM7
第3章 目录
1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内 部框图 4.体系结构直接支持的数据 类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器 9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介
1
2
3
4
5
6
Decode Execute
Fetch Decode Execute Fetch Decode Fetch
该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
LDR 流水线举例
周期
操作
ADD SUB Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Data
3.1 ARM简介
ARM体系结构
ARM体系结构的特点: 每条数据处理指令都对算术逻辑单元和移位器控 制,以实现ALU和移位器的最大利用; 地址自动增加和减少寻址模式,优化程序循环; 多寄存器装载和存储指令实现最大数据吞吐量; 所有指令的条件执行实现最快速的代码执行。
3.1 ARM简介
3.1 ARM简介
ARM处理器核简介——Xscale
Intel Xscale微控制器则提供全性能、高性 价比、低功耗的解决方案,支持16位Thumb指令并 集成数字信号处理(DSP)指令。
第3章 目录
1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和 内部框图 4.体系结构直接支持的 数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器 9.异常 10.中断延迟 11.复位 12.存储器及存储器映射 I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介
具有原子性加载/存储指令SWP和SWPB。
3.1 ARM简介
各ARM体系结构版本——V3
寻址范围扩展到32位(事实上也基本废弃),具 有独立的程序: 具有乘法和乘加指令; 支持协处理器;
快速中断模式中具有的两个以上的分组寄存器;
具有原子性加载/存储指令SWP和SWPB。
3.1 ARM简介
3.3 ARM7TDMI的模块和内核框图
ARM7TDMI处理 器部件和主要 信号路径的框 图如图所示。 它内部由处理 器核、用于边 界扫描的TAP 控制器和在线 仿真器ICE组 成。双向数据 总线D[31:0] 被分割成单向 输入和输出总 线,以便于与 外部存储器兼 容。
3.3 ARM7TDMI的模块和内核框图
1
操作
BL X XX ADD SUB MOV Fetch Decode Execute
2
3
4
5
Linkret
Adjust
Fetch
Decode Fetch
Fetch
Decode Execute
Fetch Decode Execute Fetch
Decode
Fetch
流水线被阻断 注意:内核运行在ARM状态
具有分支指令,包括在子程序调用中使用的分支和 链接指令;
在操作系统调用中使用的软件中断指令。
3.1 ARM简介
各ARM体系结构版本——V2
同样为26位寻址空间,现在已经废弃不再使用, 它相对V1版本有以下改进: 具有乘法和乘加指令; 支持协处理器; 快速中断模式中的两个以上的分组寄存器;
3.1 ARM简介
ARM公司简介
将技术授权给 其它芯片厂商
...
形成各具特色 的ARM芯片
微处理器是整个系统的核心,通常由3大部分组成:控
制控制单元 输出
寄存器
存储器
3.1 ARM简介
ARM体系结构
ARM处理器为RISC芯片,其简单的结构使ARM 内核非常小,这使得器件的功耗也非常低。它具有 经典RISC的特点: 大的、统一的寄存器文件; 装载/保存结构,数据处理 操作只针对寄存器的 内容,而不直接对存储器进行操作; 简单的寻址模式; 统一和固定长度的指令域,简化了指令的译码。
3.1 ARM简介
ARM公司简介
ARM是Advanced RISC Machines的缩写,它是 一家微处理器行业的知名企业,该企业设计了大量 高性能、廉价、耗能低的RISC (精简指令集)处 理器。 公司的特点是只设计芯片,而不 生产。它将技术授权给世界上许多著名的半导体、 软件和OEM厂商,并提供服务。
3.1 ARM简介
ARM处理器核简介——ARM9
该系列包括ARM9TDMI、ARM920T和带有高速缓 存处理器宏单元的ARM940T。除了兼容ARM7系列, 而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安 全系统和机顶盒等领域。
3.1 ARM简介
ARM处理器核简介——ARM10
出色的实时中断响应;
小的、高性价比的处理器宏单元。
3.2 ARM7TDMI
三级流水线
ARM7TDMI处理器使用流水线来增加处理器指令 流的速度,使处理和存储器系统连续操作,能提供 0.9MIPS/MHz的指令执行速度。
3.2 ARM7TDMI
三级流水线
正常操作过程中,在执行一条指令的同时对下 一条指令进行译码,并将第三条指令从存储器中取 出。这三条指令之间的位置关系如下表所示:
3.2 ARM7TDMI
存储器访问
ARM7TDMI处理器使用了冯· 诺依曼(Von Neumann) 结构,指令和数据共用一条32位总线。只有装载、存 储和交换指令可以对存储器中的数据进行访问。
数据可以是字节( 8位)、半字( 16位)或者字 (32位)。
第3章 目录
1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和 内部框图 4.体系结构直接支持的 数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器 9.异常 10.中断延迟 11.复位 12.存储器及存储器映射 I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介
ARM7TDMI 的可综合(synthesizable)版 本(软核),对应用工程师来说其编程模 型与ARM7TDMI 一致; 支持EmbededICE观察硬件; 支持64位乘法; 支持片上调试; 支持高密度16位的Thumb指令集;
3.2 ARM7TDMI
简介
ARM7TDMI处理器是ARM通用32位微处理器家族的 成员之一。它属于精简指令集计算机(RISC): 高的指令吞吐量;
嵌入式技术与应用
智能电器与智能系统省重点实验室
C H A P T E R
3
ARM7体系结构
第3章 目录
1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内 部框图 4.体系结构直接支持的数据 类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器 9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介
流水线上各指令的地址 ARM指令集 PC Thumb指令集 PC 流水线工位 取指 描述 指令从存储器中取出
PC-4
PC-8
PC-2
PC-4
译码
执行
对指令使用的寄存器进行译码
从寄存器组中读出寄存器,执行移位和 ALU操作,寄存器被写回到寄存器组中
最佳流水线
周期
操作
ADD SUB MOV AND ORR EOR CMP RSB Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch
该系列包括ARM1020E和ARM1020E处理器核, 其核心在于使用向量浮点(VFP)单元VFP10提供高 性能的浮点解决方案,从而极大提高了处理器的整 型和浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。
3.1 ARM简介
ARM处理器核简介——SecurCore
该系列涵盖了SC100、SC110、SC200和SC210 处理核。该系列处理器主要针对新兴的安全市场, 以一种全新的安全处理器设计为智能卡和其它安全 IC开发提供独特的32位系统设计,并具有特定反伪 造方法,从而有助于防止对硬件和软件的盗版。