ARM硬件结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
指令过于复杂,机器的设计周期会很长,资金耗费会更大, 处理器的设计、验证和维护日益复杂,芯片的面积越来越大, 这些表明CISC不适宜构成更高性能的计算机。
计算机大量的时间在进行数据搬移,而不是计算。
2、两种体系结构的技术特征 CISC体系结构的主要缺点:
20%与80%的问题:20%的简单指令如取数、运算和转 移等占用了CPU执行时间80%以上,而80%的复杂指令 仅占了CPU执行时间的20%左右。 指令复杂度对处理器的VLSI实现性能的影响:在计算机 体系结构的VLSI实现时,为了达到更高的实现性能,要 求VLSI实现的规整性,而CISC中,指令长短不一,控 制逻辑的实现非常不规整,致使执行速度的进一步提高 比较困难。 软硬件协同设计问题:在CISC中,通过增加指令系统的 功能,简化了目标软件的设计,增加了硬件的复杂程度, 同时增加了指令的执行时间,从而整个程序执行的时间 增加。因此CISC降低了编程的复杂性,并不意味着缩短 程序的执行时间。这里有个软硬件协同设计问题。
3、两种指令架构-- CISC和RISC
ARM是最成功也是第一个商业化的RISC。也是目前 使用最广的基于RISC的处理器。 (一)CISC体系结构 1980年以前,计算机设计的主要趋势是增加指令集的复杂 程度,如:40年代的计算机只有7条指令,1973年的IBM370 达到208种指令,1978年的VAX-11达到303条指令。
(二)RISC体系结构 1980年,Patterson和Ditzel提出了RISC的设计思想。 RISC的中心思想是:精简指令集的复杂度,简化指 令实现的硬件设计,硬件只执行很有限的最常用的那部分 指令,大部分复杂的操作则由简单指令合成。 RISC思想大幅度提高了计算机的性能价格比,包括 ARM在内的商业化的RISC设计证明了这种思路的正确性。
本章重点
1、计算机的两种体系架构是什么?各 自有什么特点?ARM7和ARM9各自采 用了什么架构? 2、计算机的两种指令架构是什么? ARM采用了哪种指令架构?为什么要 采用这种指令架构? 3、ARM体系结构有哪些版本?ARM 处理器核有哪些系列? 4、ARM有哪些工作状态?如何进行 状态切换?
1、ARM体系结构基本版本
版本2 ,该版架构对V1版进行了扩展,例如ARM2和 ARM3(V2a)架构。包含了对32位乘法指令和协处 理器指令的支持。 版本2a是版本2的变种,ARM3芯片采用了版本2a,是 第一片采用片上Cache的ARM处理器。 同样为26位寻址空间,寻址空间仍为:64MB。现在 已经废弃不再使用。 V2版架构与版本V1相比,增加了以下功能:
嵌入式系统原理及应用教程
课号:0123305810-100 任课教师:栗华 sdlh@sdu.edu.cn
第二章 ARM技术及ARM处理器简介
本章将对ARM技术进行全面论述,通过本章的学习, 使大家对ARM技术有个全面的了解和掌握,建立起以 ARM技术为基础的嵌入式系统应用和以ARM核为基础 的嵌入式SoC芯片设计的技术基础。
2.3 Thumb技术介绍
2.4 ARM处理器工作状态
2.5 ARM处理器工作模式
2.6 ARM寄存器组成
2.7 ARM异常中断
本章的主要内容为:
2.8 ARM组织结构简介
2.9 ARM存储器接口及存储器层次
2.10 ARM协处理器
2.11 ARM片上总线AMBA
2.12 ARM的IO结构Fra Baidu bibliotek
2.13 基于ARM核的芯片选择
哈佛体系结构模型
地址 程序存储器
指令寄存器 控制器
指令
指令0 指令1 指令2
地址 数据通道 输入 输出 数据
数据存储器 数据0 数据1 数据2
中央处理器
哈佛体系结构的特点
1)程序存储器与数据存储器分开 2)提供了较大的数存储器带宽 3)适合于数字信号处理 4)大多数DSP都是哈佛结构 5)ARM9是哈佛结构
2、计算机的两种体系结构
冯 · 诺依曼体系结构和哈佛体系结构
冯· 诺依曼体系结构模型
存储器
指令寄存器 控制器
程序 指令0 指令1 指令2 指令3 指令4
数据通道 输入
输出
数据 数据0 数据1 数据2
中央处理器
冯· 诺依曼体系的特点
1)数据与指令都存储在存储器中,程序执行效率不高 2)被大多数计算机所采用,简单 3)ARM7——冯诺依曼体系
一般来说,RISC处理器比同等的CISC处理器要快 50%~75%,同时,RISC处理器更容易设计和实现。
RISC体系结构的特点:
指令效率高:指令格式和长度固定,且指令类型少,指令功 能简单,指令译码控制器采用硬布线逻辑,这样易于流水线 的实现,进而获得高性能。大多数指令都是单周期指令。 程序的优化编译效率高:由于RISC指令系统强调了对称、 均匀、简单,使得程序的优化编译效率高。 分开的Load/Store结构的存取指令:也只有这两条指令访问 存储器,而数据处理指令只访问寄存器。而CISC一般允许 将存储器中的数据作为数据处理指令的操作数。 基于多个通用寄存器堆操作:RISC寄存器较多,并且不同 的寄存器用于不同的用途。 RISC体系结构的这些特点简化了处理器的设计,在体系 结构的VLSI实现时更加有利于性能的增强。
1、ARM体系结构的基本版本
版本5主要由两个变型版本5T、5TE组成 相比与版本4,版本5的指令集有了如下的变化: 提高了T变种中ARM/Thumb混合使用的效率。 增加前导零记数( CLZ)指令,该指令可使整数 除法和中断优先级排队操作更为有效; 带有链接和交换的转移BLX指令; BRK中断指令; 增加了数字信号处理指令(V5TE版); 为协处 理器增加更多可选择的指令; 改进了ARM/Thumb状态之间的切换效率; E---增强型 DSP指令集,包括全部算法操作和 16 位乘法操作; J----支持新的 JAVA,提供字节代码执行的硬件 和优化软件加速功能。
2.1 ARM体系结构的发展历史和技术特征
1. 2. 3.
ARM发展的历程 两种体系结构的技术特征 ARM体系结构的技术特征
1、ARM发展的历程
1983.10—1985.4 第一片ARM处理器诞生 ARM处理器已发展为可以支持Acorn公 司的台式计算机产品 成立ARM Limited公司 Acorn Computers推出了世界上首 个商用的单芯片RISC处理器——ARM 处理器。VLSI Technology公司制造了 由Acorn Computers公司设计的第一个 ARM芯片。 逐步发展成为世界上销量最大的32位微 处理器
1、ARM体系结构基本版本
ARM体系结构从最初开发到现在有了很大的改进,并仍在 完善和发展。 为了清楚地表达每个ARM应用实例所使用的指令集,ARM 公司定义了6种主要的ARM指令集体系结构版本,以版本号 V1~V7表示。
版本1,本版本包括下列指令: 该版架构只在原型机ARM1出现过,只有26位的 寻址空间64MB,没有用于商业产品。 基于字节,字和多字的存储器访问操作指令 (Load/Store); 子程序调用指令BL在内的跳转指令; 完成系统调用的软件中断指令SWI。
RISC组织结构比CISC结构有着显著的优点,主要表现在体 系结构及VLSI实现上:
硬连线的指令译码逻辑;
RISC指令集的简单性使得指令译码可以采取规则的 译码逻辑,CISC处理器使用大的微码ROM进行指令译 码,硬布线控制逻辑可以加快指令执行速度,减少微程 序码中的指令解释开销。
便于流水线执行;
1、ARM体系结构的基本版本
V6 版架构是 2001 年发布的,首先在 2002 年春 季发布的 ARM11处理器中使用。在降低耗电量地同 时,还强化了图形处理性能。通过追加有效进行多 媒体处理的SIMD(Single Instruction, Multiple Data,单指令多数据 )功能,将语音及图像的处理 功能提高到了原型机的4倍。 此架构在V5版基础上增加了以下功能:
本章重点
5、ARM有哪7种工作模式?各自的用 途是什么?其中哪些是特权模式?哪 些是异常模式? 6、ARM的三级流水和五级流水各有 什么样的结构?ARM9为什么比ARM7 具有更高的程序执行效率?
本章的主要内容为:
2.1 ARM体系结构的发展历史和技术特征
2.2 ARM体系结构不同版本的发展概述
RISC技术的历史贡献:
流水线:流水线是处理器中实现指令并行操作的最简单 的方式,而且可使速度大为提高。 高时钟频率和单周期执行:由于RISC指令系统强调了对 称、均匀、简单,使得程序的优化编译效率高。 RISC的缺点:
代码密度低:RISC比CISC代码密度低。 RISC不能执行x86代码。 给优化编译程序带来了困难。
RISC指令集的简单性也使得流水线实现更加有效, CISC处理器即使有也只允许极少的连续指令间的重叠 (尽管它们现在允许)。
单周期执行;
CISC处理器执行一条指令一般需要多个时钟周期。
2.2 ARM体系结构不同版本的发展概述
1. 2. 3. 4.
ARM体系结构的基本版本 ARM体系结构的演变 ARM体系结构的命名规则 ARM处理器系列
80年代后期
1990
1990.11
90年代至今
1、ARM发展的历程
在ARM的发展历程中,ARM7将ARM体系结构扩展 到32位。因此,从ARM7开始,ARM核被普遍认可和 广泛使用。3级流水。40M主频。 1995年 StrongARM 问世 。5级流水,200M主频。 1997年,XScale是Intel公司生产的 第二代StrongARM 芯片。7级流水,600M主频。 1997年,ARM9(ARM9TDMI,ARM9E,出现,5级流 水,200M主频。 ARM10TDMI是ARM处理器核中的高端产品 ARM11是ARM家族中性能最强的一个系列
THUMBTM:35%代码压缩; DSP扩充:高性能定点DSP功能; JazelleTM:Java性能优化,可提高8倍; Media扩充:音/视频性能优化,可提高4倍
ARMv7定义了3种不同的处理器配臵(processor profiles): Profile A是面向复杂、基于虚拟内存的OS和应用的 Profile R是针对实时系统的 Profile M是针对低成本应用的优化的微控制器的。 所有ARMv7 profiles实现Thumb-2技术,Thumb-2技术比纯32 位代码少使用31%的内存,降低了系统开销,同时却能够提 供比已有的基于Thumb技术的解决方案高出38%的性能表现。 同时还包括了NEON™技术的扩展提高DSP和多媒体处理吞吐 量400% ,并提供浮点支持以满足下一代3D图形和游戏以及 传统嵌入式控制应用的需要。 NEON 技术是 ARM Cortex™-A 系列处理器的 128 位 SIMD (单指令,多数据)架构扩展,旨在为消费性多媒体应用程 序提供灵活、强大的加速功能,从而显著改善用户体验。它 具有 32 个寄存器,64 位宽(双倍视图为 16 个寄存器,128 位宽。)
乘法和乘加指令; 支持协处理器操作指令; 快速中断模式; SWP/SWPB的最基本存储器与寄存器交换指令;
1、ARM体系结构的基本版本
版本3较以前的版本发生了大的变化 地址空间扩展到了 32位 (4GB),但除了版本 3G外的其他 版本是向前兼容的,也支持26位的地址空间; 分开的当前程序状态寄存器 CPSR(Current Program Status Register) 和 备 份 的 程 序 状 态 寄 存 器 SPSR( Saved Program Status Register),SPSR用于在程序异 常中断时保存被中断的程序状态; 增加了三种异常模式,使操作系统代码可以方便地使用 数据访问中止异常、指令预取中止异常和未定义指令异 常; 增加了 MRS 指令和 MSR 指令用于完成对 CPSR 和 SPSR 寄存器的读写。 修改了原来的从异常中返回的指令。
1、ARM体系结构的基本版本
版本4。与版本3相比,版本4增加了下列指令 有符号、无符号的半字和有符号字节的load和store指令。 增加了T变种,处理器可以工作于Thumb状态,在该状态 下的指令集是16位的Thumb指令集。 增加了处理器的特权模式。在该模式下,使用的是用户 模式下的寄存器。 增加了T变种,处理器可工作在Thumb状态,增加了16位 Thumb指令集; 完善了软件中断SWI指令的功能; 把一些未使用的指令空间捕获为未定义指令 V4版架构是目前应用最广的ARM体系结构之一,ARM7、 ARM8、ARM9和StrongARM都采用该架构。