第二章ARM微处理器硬件结构课件.ppt

上传人:小飞机 文档编号:4095167 上传时间:2023-04-03 格式:PPT 页数:42 大小:1.88MB
返回 下载 相关 举报
第二章ARM微处理器硬件结构课件.ppt_第1页
第1页 / 共42页
第二章ARM微处理器硬件结构课件.ppt_第2页
第2页 / 共42页
第二章ARM微处理器硬件结构课件.ppt_第3页
第3页 / 共42页
第二章ARM微处理器硬件结构课件.ppt_第4页
第4页 / 共42页
第二章ARM微处理器硬件结构课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第二章ARM微处理器硬件结构课件.ppt》由会员分享,可在线阅读,更多相关《第二章ARM微处理器硬件结构课件.ppt(42页珍藏版)》请在三一办公上搜索。

1、第二章ARM微处理器硬件结构,山东大学精品课程,嵌入式系统原理与接口技术,主编:贾智平张瑞华,清华大学出版社,2,内容提要,ARM 存 储 系 统 机 制,ARM处理器模式及内部寄存器,ARM处理器结构和技术特征,计算机体系结构,3,计算机体系结构,计算机中,按内存的组成分两种典型的结构:1.冯诺依曼结构/普林斯顿结构,4,冯诺依曼体系结构,指令寄存器,控制器,数据通道,输入,输出,中央处理器,存储器,程序,指令0,指令1,指令2,指令3,指令4,数据,数据0,数据1,数据2,结构特点:1、指令和数据存储在相同的内存空间,但存储地址不同。2、处理器利用相同的总线处理内存中的指令和数据,指令和数

2、据具有相同的数据宽度,指令与数据无法同时存取。,ARM7嵌入式微处理器亦采用此结构,5,哈佛体系结构,指令寄存器,控制器,数据通道,输入,输出,CPU,程序存储器,指令0,指令1,指令2,数据存储器,数据0,数据1,数据2,地址,指令,地址,数据,结构特点:1、指令存储和数据存储分开,指令和数据分别位于不同的存储空间。2、指令与数据的存取采用不同总线,取指令和存取数据可同时进行,微处理器具有较高的执行效率。,数字信号处理器DSP通常采用哈佛结构,ARM9嵌入式微处理器亦采用此结构。,6,第2章 ARM微处理器硬件结构,1,2,计 算 机 体 系 结 构,ARM处理器结构和技术特征,ARM处理器

3、模式及内部寄存器,3,4,ARM 存 储 系 统 机 制,7,ARM公司简介,成立于1990年11月前身为 Acorn计算机公司Advance RISC Machine(ARM)主要设计ARM系列RISC处理器内核授权ARM内核给生产和销售半导体的合作伙伴ARM 公司不生产芯片IP(Intelligence Property)另外也提供基于ARM架构的开发设计技术软件工具,评估板,调试工具,应用软件,总线架构,外围设备单元,等等,8,ARM,Partner,OEM Customer,ARM的业务模型,9,ARM简介,将技术授权给其它芯片厂商,形成各具特色的ARM芯片,10,ARM处理器内核(简

4、称ARM核),所谓ARM核就是传统意义上的微处理器,目前ARM公司共推出了7个ARM版本,这些版本的变化主要体现在内核的变化和内核的扩展。ARM核=ALU+CU+R+内部总线主要包括:1、算术逻辑部件2、控制部件3、寄存器组4、内部总线。,11,ARM简介,ARM处理器的应用当前主要应用于消费类电子领域;到目前为止,基于ARM技术的微处理器应用约占据了32位嵌入式微处理器75以上的市场份额全球80%的GSM/3G手机、99%的CDMA手机以及绝大多数PDA产品均采用ARM体系的嵌入式处理器,“掌上计算”相关的所有领域皆为其所主宰。ARM技术正在逐步渗入到我们生活的各个方面。,12,ARM简介,

5、ARM体系结构,ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:,13,ARM体系结构版本,ARM体系结构共定义了7个版本,版本号分别为1-7。同时,各版本中还有一些变种,这里将某些特定功能称为ARM体系的某种变种(variant)ARM体系结构版本的变化主要体现为增加ARM核外围的组件以改善ARM性能和增加内核的功能。硬件ARM核外围的组件扩展:1、cache和紧耦合存储器TCM(片上RAM)2、存储管理部件 MMU3、协处理器(配置cache、TCM和存储管理),14,ARM核的扩充功能:,1、T变种:Thumb指令集2、M变

6、种:增加64位长乘法指令3、E变种:增强型DSP指令,E变种的ARM体系增加了一些增强处理器对典型的DSP算法处理能力的附加指令。4、J变种:java加速器Jazelle提供了Java加速功能,使得Java代码的运行速度比普通的Java虚拟机提高了8倍。5、SIMD变种(单指令流多数据流):ARM媒体功能扩展,ARM媒体功能扩展SIMD技术极大地提高了嵌入式应用系统的音频和视频处理能力,可使微处理器的音频和视频处理性能提高4倍。,15,ARM简介,各ARM体系结构版本,ARM体系结构从最初开发到现在有了很大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义

7、了7种主要的ARM指令集体系结构版本,以版本号V1V7表示。,16,ARM体系结构版本,ARM体系结构版本V1-V7(自学)主要是:寻址能力提高、增加不同的指令增加不同的硬件处理部件在不同的版本,有不同应用的处理芯片ARMv7定义了3种不同的处理器配置(processor profiles):Profile A是面向复杂、基于虚拟内存的OS和应用;Profile R是针对实时系统;Profile M是针对低成本应用的系统。,17,ARM处理器的分类,结构体系版本(Architecture)ARM v4TARM v5TE ARM v6ARM Cortex(v7),Processor Family

8、ARM7 ARM9ARM10ARM11ARM Cortex,18,ARM各系列处理器(作资料了解),ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以及更早的系列已经很罕见了。目前应用比较广泛的系列是:,ARM7,ARM9,ARM9E,ARM10,ARM11,SecurCore,Cortex,Xscale,19,ARM命名规则,1、基于ARM Architecture的版本命名规则|ARM Vn|variants|x(variants)|Vn n-指令集版本号,n1:7。variants-变种。x(variants)-排除x后指定的变种 例,ARMv5T

9、xM表示ARM指令集版本为5,支持T变种,不支持M变种。,20,2、基于ARM 处理器系列命名规则 ARMxyzTDMIEJF-Sx-处理器系列 y-存储管理/保护单元 z-cacheD-支持片上调试(加断点,单步执行)I-支持Embedded ICE,支持嵌入式跟踪调试。开发环境可跟踪调试目标板。-S-可综合版本,无s硬核,工艺固定不可综合。,21,ARM7TDMI,例:ARM7TDMI:整数处理核ARM7TDMIARM720T:带MMU的处理器核心,支持操作系统;ARM7EJ-S:带有DSP和Jazelle TM 技术,能够实现Java加速功能,处理器的可综合版本;,22,ARM7TDMI

10、,简介,ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它具有优异的性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复杂指令集计算机(CISC)要简单得多。这样的简化实现了:,高的指令吞吐量;出色的实时中断响应;小的、高性价比的处理器宏单元。,23,ARM7TDMI,三级流水线,ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MIPS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行,24,ARM7TDMI,存储器访问,ARM7TDMI处理器使用

11、了冯诺依曼(Von Neumann)结构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。数据可以是字节(8位)、半字(16位)或者字(32位)。,25,ARM7TDMI结构框图,26,基本组成:(详见前图)1、寄存器块由通用寄存器和状态寄存器组成,主要用来保存处理器状态和处理器工作中的数据。2、5个对外端口2个读端口,用于读2个源操作数;1个写端口,用于写入目的操作数;上述端口都可访问任意寄存器;1个专门访问程序计数器R15的附加读端口;1个附加写端口。,27,3、桶式移位器 主要完成指令中第2个操作数移位。4、ALU 执行算术逻辑运算5、地址寄存器和增值

12、器选择和保存所有存储器地址,并在需要时通过地址增值器生成顺序地址。6、数据寄存器 对传送到存储器或从存储器取回的数据暂存。7、控制通路/控制器基本功能模块是指令解码器和相关的控制逻辑。,28,ARM7硬件结构,28,29,ARM9,ARM9微处理器系列 特点:基于ARM9TDMI,带16位的Thumb指令集,增强代码密度最多到35%;在0.13m工艺下最高性能可达到300MIPS(Dhrystone 2.1测试标准);集成了数据和指令Chche;32位AMBA总线接口的MMU支持;可在0.18m、0.15m和0.13m工艺的硅芯片上实现。,30,ARM920T内核结构,返回,31,32,存储地

13、址空间:每个bank 128MB(8个BANK 1GB)每个bank可编程为8/16/32位数据总线;bank0至bank6 为固定起始地址;Bank7可编程bank起始地址和大小;6个存储器bank用于ROM、SRAM和其他;2个存储器bank用于ROM、SRAM和同步DRAM;每个bank可编程存取周期;支持不同类型的ROM用于启动Flash、EEPROM和其他。,33,ARM处理器工作状态,ARM和Thumb状态 ARM指令系统(V4版以后具有Thumb指令集):32位ARM指令集:固定的32位指令,Load/Store RISC特征,3地址格式。16位Thumb指令集:是ARM指令集的

14、子集,按16位指令重新编码,固定的16位指令,Load/Store RISC特征,2地址格式。,注意:两个状态之间的切换并不影响处理器模式或寄存器内容。,34,处理器状态切换,使用BX指令将ARM7TDMI内核的操作状态在ARM状态和Thumb状态之间进行切换,程序如下所示。,;从Arm状态切换到Thumb状态 LDR R0,=Lable+1 BX R0;从Thumb状态切换到ARM状态 LDR R0,=Lable BX R0,地址最低位为1,表示切换到Thumb状态,地址最低位为0,表示切换到ARM状态,跳转地址标号,35,流水线技术,流水线(Pipeline)技术:几个指令可以并行执行 提

15、高了CPU的运行效率 内部信息流要求通畅流动,译码,取指,执行add,译码,取指,执行sub,译码,取指,执行cmp,时间,36,流水线技术,为增加处理器指令流的速度,ARM7 系列使用3级流水线允许多个操作同时处理,比逐条指令执行要快。PC指向正被取指的指令,而非正在执行的指令,Fetch,Decode,Execute,从存储器中读取指令,解码指令,寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank),PCPC,PC-4PC-2,PC-8PC-4,ARMThumb,当前pc所指向的指令,已完成取指的指令,已完成解码的指令,37,在ARM7的3级流水线结构中流水线易出现阻塞

16、或间断,这必然降低了流水线的效率,为了提高处理器的性能,必然要考虑如何优化处理器的组织结构。(1)缩短程序执行时间:提高时钟频率fclk 减少每条指令的平均时钟周期数CPI,流水线技术,Tprog:程序执行时间Ninst:指令条数CPI:指令平均时钟周期数FCLK:时钟频率,38,流水线技术,(2)解决流水线相关:结构相关 数据相关 控制相关,如果某些指令在流水线中重叠执行时,产生资源冲突,则称该流水线存在结构相关。解决:资源重复(Cache 分离、ALU中单独的地址计算加法器),写后读”、“写后写”“读后写”解决:专用通路、流水线互锁技术,当流水线遇到分支指令和其他会改变PC值的指令时,取指

17、取决于指令执行条件,可能需重新取指,致使流水线停顿。解决:引入延时分支、尽早计算转移成功时的目标地址。,add r0,r1,r2mov r2,r0,add r0,r1,r2add r0,r3,r4,mov r2,r0 add r0,r1,r2,39,多周期ARM指令的3级流水线操作,STR计算存储器地址与ADD译码,都为下一周期产生数据传送控制信号,不能同步进行。Data xfer-excute占用数据路径,两条指令不能同时译码。,取指与存数冲突,若流水线产生资源冲突,则称该流水线存在结构相关。如,取指存数冲突,2条指令同时占用译码级等。,40,流水线技术,超标量(Superscalar)执行:超标量CPU采用多条流水线结构,执行1,取指,指令,译码2,译码1,执行2,执行1,取指,译码2,译码1,执行2,流水线1,流水线2,数据回写,41,流水线技术,注意:超标量处理器在执行的过程中必须动态地检查指令相关性,判断当前的指令组合是否能同时执行;如果代码中有分支指令,我们必须将分支被执行和分支不被执行这两种情况分开考虑,计算执行时间几乎是不可能的;,42,流水线技术,ARM各个系列的流水线:,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号