ARM7体系结构教学案例

上传人:yulij****0329 文档编号:141062775 上传时间:2020-08-04 格式:PPT 页数:87 大小:1.25MB
返回 下载 相关 举报
ARM7体系结构教学案例_第1页
第1页 / 共87页
ARM7体系结构教学案例_第2页
第2页 / 共87页
ARM7体系结构教学案例_第3页
第3页 / 共87页
ARM7体系结构教学案例_第4页
第4页 / 共87页
ARM7体系结构教学案例_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《ARM7体系结构教学案例》由会员分享,可在线阅读,更多相关《ARM7体系结构教学案例(87页珍藏版)》请在金锄头文库上搜索。

1、嵌入式技术与应用,智能电器与智能系统省重点实验室,3,C H A P T E R,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接口简介,3.1 ARM简介,ARM公司简介,ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计

2、了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。 公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。,3.1 ARM简介,ARM公司简介,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,微处理器是整个系统的核心,通常由3大部分组成:控制单元、算术逻辑单元和寄存器。,3.1 ARM简介,ARM体系结构,ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:,3.1 ARM简介,ARM体系结构,ARM体系结构的特点:,3.1 ARM简介,各ARM体系结构版本,ARM体系结构

3、从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了5种主要的ARM指令集体系结构版本,以版本号V1V5表示。,3.1 ARM简介,各ARM体系结构版本V1,该版本的ARM体系结构,只有26位的寻址空间,没有商业化,其特点为: 基本的数据处理指令(不包括乘法); 字节、字和半字加载/存储指令; 具有分支指令,包括在子程序调用中使用的分支和链接指令; 在操作系统调用中使用的软件中断指令。,3.1 ARM简介,各ARM体系结构版本V2,同样为26位寻址空间,现在已经废弃不再使用,它相对V1版本有以下改进: 具有乘法和乘加指令; 支持协处

4、理器; 快速中断模式中的两个以上的分组寄存器; 具有原子性加载/存储指令SWP和SWPB。,3.1 ARM简介,各ARM体系结构版本V3,寻址范围扩展到32位(事实上也基本废弃),具有独立的程序: 具有乘法和乘加指令; 支持协处理器; 快速中断模式中具有的两个以上的分组寄存器; 具有原子性加载/存储指令SWP和SWPB。,3.1 ARM简介,各ARM体系结构版本V4,不在为了与以前的版本兼容而支持26位体系结构,并明确了哪些指令会引起未定义指令异常发生,它相对V3版本作了以下的改进: 半字加载/存储指令; 字节和半字的加载和符号扩展指令; 具有可以转换到Thumb状态的指令; 用户模式寄存器的

5、新的特权处理器模式。,3.1 ARM简介,各ARM体系结构版本V5,在V4版本的基础上,对现在指令的定义进行了必要的修正,对V4版本的体系结构进行了扩展并增加了指令,具体如下: 改进了ARM/Thumb状态之间的切换效率; 允许非T变量和T变量一样,使用相同代码生成技术; 增加计数前导零指令和软件断点指令; 对乘法指令如何设置标志作了严格的定义。,3.1 ARM简介,ARM处理器核简介,ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:,3.1 ARM简介,ARM处理器核简介ARM7,该系列包括ARM7

6、TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Jazelle的ARM7EJ-S。该系列处理器提供Thumb 16位压缩指令集和EmbededICE软件调试方式,适用于更大规模的SoC设计中。 ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。,3.1 ARM简介,ARM处理器核简介ARM9,该系列包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。除了兼容ARM7系列,而且能够更加灵活的设计。 ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。,

7、3.1 ARM简介,ARM处理器核简介ARM10,该系列包括ARM1020E和ARM1020E处理器核,其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大提高了处理器的整型和浮点运算性能。 可以用于视频游戏机和高性能打印机等场合。,3.1 ARM简介,ARM处理器核简介SecurCore,该系列涵盖了SC100、SC110、SC200和SC210处理核。该系列处理器主要针对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其它安全IC开发提供独特的32位系统设计,并具有特定反伪造方法,从而有助于防止对硬件和软件的盗版。,3.1 ARM简介,ARM处理器核简介Xs

8、cale,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接口简介,3.2 ARM7TDMI,简介,ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM

9、核。具有广泛的应用,其最显著的应用为数字移动电话。,3.2 ARM7TDMI,简介,ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足。ARM7TDMI的后缀意义为:,3.2 ARM7TDMI,简介,ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它属于精简指令集计算机(RISC):,高的指令吞吐量; 出色的实时中断响应; 小的、高性价比的处理器宏单元。,3.2 ARM7TDMI,三级流水线,ARM7TDMI处理器使用流水线来增加处理器指令流的速度,使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。,3.2 ARM7TD

10、MI,三级流水线,正常操作过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。这三条指令之间的位置关系如下表所示:,最佳流水线,该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1,操作,周期,1 2 3 45 6,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Decode,Execute,Fetch,Decode,Fetch,Fetch,LDR 流水线

11、举例,该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5,周期,操作,123456,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Execute,Data,Writeback,Fetch,Decode,Execute,Fetch,Decode,Fetch,分支流水线举例,流水线被阻断 注意:内核运行在ARM状态,周期,1 2 3 4 5,地址 操作,Fetch,Decode,Execute,Fetch,Decode,Execute,Fetch,Decode,Fetch,Fetch,Decode,Execute,Li

12、nkret,Adjust,Fetch,Decode,Fetch,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.

13、ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,3.3 ARM7TDMI的模块和内核框图,ARM7TDMI处理器部件和主要信号路径的框图如图所示。它内部由处理器核、用于边界扫描的TAP控制器和在线仿真器ICE组成。双向数据总线D31:0被分割成单向输入和输出总线,以便于与外部存储器兼容。,3.3 ARM7TDMI的模块和内核框图,ARM7TDMI模块,地址寄存器,寄存器组 31*32位寄存器 (6个状态寄存器),地址增加器,乘法器,桶形移位器,32位ALU,写数据寄存器,指令管线读数据寄存器 Thumb指令译码器,指令译码 和 控制逻辑,ADDR31:0,CLK

14、,CLEN,CFGBIGEND,nIRQ,nFIQ,nRESET,ABORT,LOCK,WRITE,SIZE1:0,PROT1:0,TRANS1:0,DBG输出,DBG输入,CP控制,CP握手,WDATA31:0,RDATA31:0,扫描调试 控制,ARM7TDMI,3.3 ARM7TDMI的模块和内核框图,第3章 目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7

15、指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,3.4 体系结构直接支持的数据类型,体系结构直接支持的数据类型,ARM处理器支持下列数据类型: 字节 8位 半字 16位(必须分配为占用两个字节) 字 32位(必须分配为占用4个字节),第3章 目录,1.简介 2.ARM7TDMI 3.ARM7TDMI的模块和内部框图 4.体系结构直接支持的数据类型 5.处理器状态 6.处理器模式 7.内部寄存器 8. 程序状态寄存器,9.异常 10.中断延迟 11.复位 12.存储器及存储器映射I/O 13.寻址方式简介 14.ARM7指令简介 15.协处理器接口 16.调试接口简介 17.ETM接口简介,3.5 处理器状态,处理器状态,ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI处理器有两种操作状态: ARM状态:32位,这种状态下执行的是字方式的ARM指令; Thumb状态:16位,这种状态下执行半字方式的ARM指令。,注意:两个状态之间的切换并不影响处理器模式或寄存器内容。,3.5 处理器状态,处理器状态,使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换,程序如下所示。,;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号