嵌入式课件第二章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
靠精简指令系统, 靠精简指令系统,简化指令功能及优化的编译程序 来提高计算机系统的性能。 来提高计算机系统的性能。 RISC并非只是简单地减少指令 并非只是简单地减少指令, RISC并非只是简单地减少指令,而是把着眼点放在 了如何使计算机的结构更简单运算速度更快上。 了如何使计算机的结构更简单运算速度更快上。为 此: 指令系统选取使用频率最高的一些简单指令。 指令系统选取使用频率最高的一些简单指令。 采用简单的指令格式和寻址方式,指令长度固定。 采用简单的指令格式和寻址方式,指令长度固定。 大部分指令可以在一个周期内完成。 大部分指令可以在一个周期内完成。 指令操作尽量在CPU CPU芯片上的寄存器之间进行以 指令操作尽量在CPU芯片上的寄存器之间进行以 减少访存。 减少访存。 。 硬布线控制逻辑为主,很少或不用微程序控制器。 硬布线控制逻辑为主,很少或不用微程序控制器。 优化编译技术。 优化编译技术。
2.2 PowerPC处理器 2.3 MIPS处理器 2.4 ARM处理器
ARM是 Machines的简称 的简称, ARM 是 Advanced RISC Machines 的简称 , 既是 一个公司( 知识产权IP 供应商, 专门设计CPU IP供应商 CPU体系 一个公司 ( 知识产权 IP 供应商 , 专门设计 CPU 体系 结构) 的名字, 结构 ) 的名字 , 也可以认为是对一类微处理器的 通称,还可以认为是一种技术的名字。 通称,还可以认为是一种技术的名字。
2)哈佛体系结构计算机
哈佛体系结构计算机为数据和程序提供了各自独立的存储器, 哈佛体系结构计算机为数据和程序提供了各自独立的存储器, 数据和程序提供了各自独立的存储器 程序计数器只指向程序存储器而不指向数据存储器。 程序计数器只指向程序存储器而不指向数据存储器。独立的程序 存储器和数据存储器为数字处理提供了较高的性能, 存储器和数据存储器为数字处理提供了较高的性能,让两个存储 器有不同的端口,可以提供较大的存储器带宽。这样一来, 器有不同的端口,可以提供较大的存储器带宽。这样一来,数据 和程序不必再竞争同一个端口, 和程序不必再竞争同一个端口,同一时钟周期内可同时读取数据 与指令,更加有利于多级流水线的实现,提高运行的效率。 与指令,更加有利于多级流水线的实现,提高运行的效率。目前 大部分DSP ARM9微处理器都是采用这种哈佛体系结构 DSP和 微处理器都是采用这种哈佛体系结构。 大部分DSP和ARM9微处理器都是采用这种哈佛体系结构。 当前的哈佛结构主要指在单一的主存储器情况下, 当前的哈佛结构主要指在单一的主存储器情况下,通过使用 分离的指令高速缓存和数据高速缓存实现指令空间和数据空间的 分离。 分离。 但这种结构的弱点是很难在哈佛机上编写出一个自修改的程 即写入数据值后,使用这些值作为指令的程序)。 序(即写入数据值后,使用这些值作为指令的程序)。
冯·诺依曼体系的特点
1)数据与指令都存储在存储器中 每条指令的执行周期: 2)每条指令的执行周期:T= TF+TD+TE+TS 取指令( 取指令(Instruction Fetch)TF ; 指令译码( Decode) 指令译码(Instruction Decode)TD; 执行指令( Execute) 执行指令(Instruction Execute)TE; 存储(Storage) 存储(Storage)TS 被大多数计算机所采用。 3)被大多数计算机所采用。 通常使用的ARM7就是属于冯诺依曼体系。 ARM7就是属于冯诺依曼体系 通常使用的ARM7就是属于冯诺依曼体系。
2.精简指令系统计算机RISC 2.精简指令系统计算机RISC 精简指令系统计算机 精简指令集RISC 精简指令集RISC
计算机的指令系统越来越复杂, 计算机的指令系统越来越复杂,很多复杂的寻址 方式, 方式,使得计算机在计算有效地址时要花大量的 时间,指令执行的速度反而降低。 时间,指令执行的速度反而降低。 研究人员通过分析发现,在大多数计算任务中, 研究人员通过分析发现,在大多数计算任务中, 最常使用(80%)的是一些比较简单的指令, 最常使用(80%)的是一些比较简单的指令,也 就是说有80%的指令在程序中出现的频率只占20% 80%的指令在程序中出现的频率只占20%。 就是说有80%的指令在程序中出现的频率只占20%。 这就提出了用精简指令系统RISC(Reduced 这就提出了用精简指令系统RISC(Reduced Computer)系统取代复杂指令 Instruction Set Computer)系统取代复杂指令 系统计算机。RISC指令系统中仅包含少部分最常 系统计算机。RISC指令系统中仅包含少部分最常 使用的指令, 使用的指令,复杂功能的指令采用软件编程的方 法来实现。 法来实现。
哈佛体系结构图
2.1.2 CISC和RISC体系结构 1.复杂指令系统计算机 复杂指令系统计算机CISC 1.复杂指令系统计算机CISC
靠增强指令的功能, 靠增强指令的功能,增加指令系统的复杂程度来提 高计算机系统的性能。 高计算机系统的性能。 。 特点: 特点: 指令系统复杂庞大,指令数目一般有200 300条 200~ 指令系统复杂庞大,指令数目一般有200~300条。 指令格式多,指令字长不固定, 指令格式多,指令字长不固定,使用多种不同的 寻址方式。 寻址方式。 可访存指令不受限制。 可访存指令不受限制。 各种指令的执行时间和使用频率相差很大。 各种指令的执行时间和使用频率相差很大。
哪种结构更适合嵌入式系统?
由于精简指令集计算机系统中复杂功能的 指令采用软件的方法来实现, 指令采用软件的方法来实现,速度不能得 到保证。 到保证。 CISC和RISC技术都在发展 技术都在发展, CISC和RISC技术都在发展,两者都具有各 自的特点。目前两种技术已开始相互融和。 自的特点。目前两种技术已开始相互融和。 这是因为随着硬件速度、 这是因为随着硬件速度、芯片密度的不断 提高,RISC系统也开始采用CISC的一些设 系统也开始采用CISC 提高,RISC系统也开始采用CISC的一些设 计思想,使得系统日趋复杂; CISC机也 计思想,使得系统日趋复杂;而CISC机也 在不断部分采用RISC地先进技术( RISC地先进技术 在不断部分采用RISC地先进技术(如指令 流水线、分级Cache和多通用寄存器等), Cache和多通用寄存器等 流水线、分级Cache和多通用寄存器等), 其性能更加提高。 其性能更加提高。
RISC机与CISC机相比的主要优点 RISC机与CISC机相比的主要优点 机与CISC
充分利用了VLSI芯片的资源。 VLSI芯片的资源 ⑴ 充分利用了VLSI芯片的资源。
⑵ 结构简单,有利于处理器的优化设计 结构简单, 便于设计,降低了开发成本, ⑶ 便于设计,降低了开发成本,提高了可靠 性 可以使流水线能高效地执行. ⑷ 可以使流水线能高效地执行.
复杂指令系统存在的一些问题: 复杂指令系统存在的一些问题: 复杂的指令系统使计算机的结构越来越复杂, 复杂的指令系统使计算机的结构越来越复杂, 这不仅延长了计算机系统的研制周期, 这不仅延长了计算机系统的研制周期,增加 了成本,而且也难以保证其设计的正确性。 了成本,而且也难以保证其设计的正确性。 复杂的指令系统使编译器对高级语言进行编 译时,可以选择的指令不是惟一的, 译时,可以选择的指令不是惟一的,编译时 间更长,代码也难以做到最优。 间更长,代码也难以做到最优。 复杂的指令系统使寻址方式更加复杂, 复杂的指令系统使寻址方式更加复杂,计算 有效地址所花时间更长。 有效地址所花时间更长。 处理器的晶体管被大量的低效的指令占据, 处理器的晶体管被大量的低效的指令占据,资 源利用率低。 源利用率低。 流水线效率不高。 流水线效率不高。
ห้องสมุดไป่ตู้
冯·诺依曼体系结构模型图 诺依曼体系结构模型图
诺依曼计算机的数据和指令是混合存储在计算 冯·诺依曼计算机的数据和指令是混合存储在计算 诺依曼计算机的 机的存储器中 机的存储器中。其读取指令和操作数是通过同一根数据 采用分时复用的方式来完成; 线,采用分时复用的方式来完成;其缺点是在多级流水 线的处理器中, 线的处理器中,无法在同一个时钟周期同时进行读取指 令和操作数的操作,影响数据处理速度的提高。 令和操作数的操作,影响数据处理速度的提高。
第二章 嵌入式处理器 与ARM体系结构
2.1嵌入式处理器及其体系结构
嵌入式处理器是嵌入式系统的核心。 嵌入式处理器是嵌入式系统的核心。目前嵌入式处理 器的品种繁多,流行体系结构从8位到64 64位有几十个系 器的品种繁多,流行体系结构从8位到64位有几十个系 其中8位的嵌入式处理器以8051体系结构最为常见; 8051体系结构最为常见 列。其中8位的嵌入式处理器以8051体系结构最为常见; 32位的嵌入式处理器以ARM系列所占的市场份额最大 位的嵌入式处理器以ARM系列所占的市场份额最大, 32位的嵌入式处理器以ARM系列所占的市场份额最大, 常见的还有PowerPC,MIPS X86等系列处理器 PowerPC,MIPS和 等系列处理器。 常见的还有PowerPC,MIPS和X86等系列处理器。 其中出来X86系列的处理器外,大多数采用RISC X86系列的处理器外 RISC指令 其中出来X86系列的处理器外,大多数采用RISC指令 系统,许多高性能的嵌入式处理器还采用了哈佛体系结 系统,许多高性能的嵌入式处理器还采用了哈佛体系结 构。
2.1.1 冯.诺依曼和哈佛体系结构
1)冯.诺依曼体系结构计算机 冯 诺依曼结构计算机系统以存储程序原理为基础, 冯.诺依曼结构计算机系统以存储程序原理为基础, 由一个中央处理单元(CPU)和一个存储器组成。 由一个中央处理单元(CPU)和一个存储器组成。这个 存储器存储全部的数据和指令, 存储器存储全部的数据和指令,并且可以根据所给的地 址对其进行读写操作。 址对其进行读写操作。数据和指令都存在一个存储器中 的计算机被称为冯.诺依曼结构计算机。 的计算机被称为冯.诺依曼结构计算机。 诺依曼计算机的这种工作方式, 冯·诺依曼计算机的这种工作方式,称为指令(控制 诺依曼计算机的这种工作方式 称为指令( 驱动方式,即按照指令的执行序列,依次读取指令, 流)驱动方式,即按照指令的执行序列,依次读取指令, 根据指令所含的控制信息,调用数据进行处理。 根据指令所含的控制信息,调用数据进行处理。
采用复杂指令计算机的理由: 采用复杂指令计算机的理由: 复杂指令计算机的指令系统可包含几百条指 几十种寻址方式, 令、几十种寻址方式,这对简化汇编语言设 提高高级语言执行效率是有用的。 计,提高高级语言执行效率是有用的。 可简化编译器。 可简化编译器。编译器是将高级语言翻译成 机器语言的软件, 机器语言的软件,如果指令系统中有类似于 高级语言语句的指令, 高级语言语句的指令,那么编译成机器指令 所用指令就较少,机器代码就小, 时,所用指令就较少,机器代码就小,占用 内存空间就小,一般来说执行速度就快。 内存空间就小,一般来说执行速度就快。同 编译器的设计也相对简单一些。 时,编译器的设计也相对简单一些。 使目标程序得到优化。如设置数组运算指令, 使目标程序得到优化。如设置数组运算指令, 用一条指令替代一段指令。 用一条指令替代一段指令。 给高级语言提供更好地支持。 给高级语言提供更好地支持。指令系统中包 含语义接近高级语言语句的指令。 含语义接近高级语言语句的指令。 提供对操作系统的支持。 提供对操作系统的支持。操作系统的功能越 来越复杂, 来越复杂,要求指令系统能提供越来越复杂 的功能,如多媒体指令,3D指令等 指令等。 的功能,如多媒体指令,3D指令等。
从IP(知识产权)到产品 IP(知识产权) 知识产权
ARM 体系结构的发展
各种处理器可能采用的实现技术各不相同,有 时性能差别很大,但是只要支持相同的ARM体系版本, 基于他们的应用软件将是兼容的。