第3节 ARM处理器结构

上传人:无*** 文档编号:158293061 上传时间:2022-10-03 格式:DOC 页数:11 大小:401KB
收藏 版权申诉 举报 下载
第3节 ARM处理器结构_第1页
第1页 / 共11页
第3节 ARM处理器结构_第2页
第2页 / 共11页
第3节 ARM处理器结构_第3页
第3页 / 共11页
资源描述:

《第3节 ARM处理器结构》由会员分享,可在线阅读,更多相关《第3节 ARM处理器结构(11页珍藏版)》请在装配图网上搜索。

1、第3节 ARM处理器结构ARM处理器结构计算机体系结构分类ARM和Thumb状态 RISC技术流水线技术超标量技术计算机体系结构分类两种典型的结构 :冯诺依曼结构哈佛体系结构冯诺依曼结构冯诺依曼机:将数据和指令都存储在存储器中的计算机。计算系统由一个中央处理单元(CPU)和一个存储器组成。存储器拥有数据和指令,并且可以根据所给的地址对它进行读或写。因此程序指令和数据的宽度相同;如:Intel 8086、ARM7、MIPS处理器等哈佛体系结构哈佛机:为数据和程序提供了各自独立的存储器。程序计数器只指向程序存储器而不指向数据存储器,这样做的后果是很难在哈佛机上编写出一个自修改的程序 。独立的程序存

2、储器和数据存储器为数字信号处理提供了较高的性能。指令和数据可以有不同的数据宽度;具有较高的效率;如摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ARM10系列等ARM7使用冯诺依曼体系结构。ARM 9使用哈佛体系结构。中央处理器首先到程序指令存储器中读取程序指令内容,解码后得到数据地址,再到相应的数据存储器中读取数据,并进行下一步的操作(通常是执行)。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度,如Microchip公司的PIC16芯片的程序指令是14位宽度,而数据是8位宽度。 哈佛结构的微处理器通常具有较高的执行效率。其程序指令和数据指令分开组织和存储的,执行时可以预

3、先读取下一条指令。目前使用哈佛结构的中央处理器和微控制器有很多,除了上面提到的Microchip公司的PIC系列芯片,还有摩托罗拉公司的MC68系列、Zilog公司的Z8系列、ATMEL公司的AVR系列和安谋公司的ARM9、ARM10和ARM11,51单片机也属于哈佛结构ARM和Thumb状态V4版以后有:(1)32位ARM指令集(2)16位Thumb指令集,功能是ARM指令集的功能子集。ARM7TDMI核以后,T变种的ARM微处理器有两种工作状态:(1)ARM状态(2)Thumb状态。当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时

4、,工作在Thumb状态Thumb技术介绍ARM7体系结构被广泛应用的时候,嵌入式控制器的市场仍然由8位、16位处理器占领。这些产品不能满足高端应用。这些应用需要32位RISC处理器的性能和更优于16位CISC处理器的代码密度。为了解决代码密度的问题,ARM增加了T变种。Thumb从32位ARM指令集中抽出来的36条指令格式,可重新编成16位的操作码。在运行时,16位的Thumb指令又由处理器解压成32位指令。Thumb核有2套独立的指令集,它使设计者得到ARM32位指令性能的同时,又能享有Thumb指令集产生的代码方面的优势,在性能和代码大小之间取得平衡。和ARM指令集相比,Thumb指令集具

5、有以下的局限:完成相同的操作,Thumb指令通常需要更多的指令,因此在对系统运行时间要求苛刻的场合,ARM指令集更为合适。Thumb指令集没有包含进行异常处理时需要的一些指令,因此在异常中断时,还是需要使用ARM指令,这种限制决定了Thumb指令需要与ARM指令配合使用。ARM与Thumb状态转换在程序的执行过程中,微处理器可以随时在两种工作状态之间切换,并且该转变不影响处理器的工作模式和相应寄存器中的内容。进入Thumb状态:当操作数寄存器的状态位(位0)为1时,执行BX指令。进入ARM状态:当操作数寄存器的状态位(位0)为0时,执行BX指令。RISC技术嵌入式微处理器可以分为两类:CISC

6、和RISC;CISC(Complex Instruction Set Computer):复杂指令系统计算机;随着计算机技术的发展而不断引入新的复杂的指令集,计算机的体系结构会越来越复杂。大约有20的指令会被反复使用,占整个程序代码的80,而余下的80的指令却不经常使用,在程序设计中只占20 。RISC(Reduced Instruction Set Computer):精简指令系统计算机; 采用固定长度的指令格式 使用单周期指令 大量使用寄存器 可用加载/存储指令批量传输数据 在循环处理中使用地址的自动增减RISC技术与CISC技术比较RISC技术ARM处理器采用加载/存储(Load/Sto

7、re)体系结构是典型的RISC处理器,即只有Load/Store的存/取指令可以访问存储器,其余指令都不允许进行存储器操作。RISC体系结构基本特点:(1)大多数指令只需要执行简单和基本的功能,其执行过程在一个机器周期内完成。(2)只保留加载/存储指令。操作数由加载/存储指令从存储器取出放寄存器内操作。(3)芯片逻辑不采用或少采用微码技术,而采用硬布线逻辑。(4)减少指令数和寻址方式。(5)指令格式固定,指令译码简化。(6)优化编译。RISC技术ARM体系结构还采用了一些特别的技术:所有的指令都可根据前面的执行结果决定是否被执行,提高了指令的执行效率。可用Load/Store指令批量传输数据,

8、以提高数据的传输效率。可在一条数据处理指令中同时完成逻辑处理和移位处理。RISC和CISC各有优势,界限并不那么明显。现代的CPU往往采用CISC的外围,内部加入了RISC的特性,如超常指令集CPU就是融合了RISC和CISC的优势,成为未来的CPU发展方向之一。流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术;程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤,从而可加快程序的运行速度;开发和设计嵌入式系统的过程中,CPU的性能是一个非常重要的考虑因素。流水线技术是在本质上影响程序执行速度的

9、因素。由于计算机中一条指令的各个执行阶段相对独立,因此,现代CPU大多设计成流水线型的机器,在这种类型机器中几个指令可以并行执行。采用流水线的重叠技术大大提高了CPU的运行效率。当流水线内部的信息通畅流动时,CPU流水线能够工作得最好。但实际应用中,指令各执行阶段的操作时间长短不同,有一些指令序列可能会打断流水线内的信息流,所以有时流水线操作不十分通畅,会暂时降低CPU的执行速度。单周期指令的执行过程ARM的3级流水线ARM7架构采用了一个3段的流水线:(1)取指:将指令从内存中取出来。(2)译码:操作码和操作数被译码以决定执行什么功能。为下一周期准备数据路径需要的控制信号。这一级指令”占有“

10、译码逻辑,而不是”占有”数据路径(3)执行:执行已译码的指令。指令占有数据路径,寄存器堆栈被读取,操作数在桶行移位器中被移位。ALU产生运算结果并回写到目的寄存器中,ALU结果根据指令需求更改状态寄存器的条件位。流水线模式下PC的更改过程多周期ARM指令的3级流水线操作数据路径涉及到所有执行周期、地址计算和数据传送。译码逻辑总是产生数据路径在下一个周期使用的控制信号,因此除译码周期以外,在STR地址计算周期也产生数据传送所需的控制信号。取指的存储器访问和执行的数据路径占用都是不可同时共享的资源,对于多周期指令来说,如果指令复杂以至于不能在单个时钟周期内完成执行阶段,就会产生流水线阻塞。ARM的

11、流水线设计问题1)缩短程序执行时间:Tprog:执行一个程序所需时间;Ninst:执行该程序的指令条数;CPI:执行每条指令的平均时钟周期数;Fclk:处理器的时钟频率。措施:提高时钟频率fclk(导致流水线的级数增加 )。减少每条指令的平均时钟周期数CPI(需要解决流水线的相关问题 )2)解决流水线相关:结构相关:某些指令在流水线中重叠执行时,产生资源冲突 。措施:1)采用分离式指令Cache和数据Cache。2)ALU中采用单独加法器来完成地址计算。数据相关:当一条指令需要前面指令的执行结果,而这些指令均在流水线中重叠执行时,就可能引起流水线的数据相关。数据相关有“写后读”、“写后写”和“

12、读后写”等。措施:1)旁路技术。2)流水线互锁技术。控制相关:当流水线遇到分支指令和其他会改变PC值的指令时,就会发生控制相关。措施:1)引入延时分支。2)尽早计算出分支转移成功时的PC值(即分支的目标地址)。ARM的5级流水线ARM9和StrongARM架构都采用了5级流水线.增加了I-Cache和D-Cache,把存储器的取指与数据存取分开;增加了数据写回的专门通路和寄存器;把指令的执行过程分割为5部分:取指:将指令从指令存储器中取出,放入指令流水线中。指令译码:对指令进行译码,从寄存器堆中读取寄存器操作数。执行:把一个操作数移位,产生ALU结果。如果指令是Load或Store,在ALU中

13、计算存储器的地址。数据缓存:如果需要,访问数据存储器;否则,ALU的结果只是简单地缓冲一个时钟周期,以便使所有指令具有同样地流水线流程。写回 :将指令产生地结果写回到寄存器堆。流水线对比超标量执行通过重复设置多套指令执行部件,同时处理并完成多条指令,实现并行操作,来达到提高处理速度的目的。所有ARM内核,包括流行的ARM7、ARM9和ARM11等,都是单周期指令机。ARM公司下一代处理器将是每周期能处理多重指令的超标量机。超标量处理机:一个时钟周期内同时执行多条指令的处理机。超标量处理器中的多指令单元超标量与流水线技术是兼容的,为了能够在一个时钟周期内同时发射多条指令,超标量处理机必须有两条或两条以上能够同时工作的指令流水线。但与此同时,也带来了多流水线的调度问题和操作部件的资源冲突问题。超标量处理器在执行的过程中必须动态地检查指令相关性。如果代码中有分支指令,必须将分支被执行和分支不被执行这两种情况分开考虑。计算执行时间几乎是不可能的。ARM系列性能比较

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!