微处理器系统结构与嵌入式系统-第三章教材

上传人:我** 文档编号:113630629 上传时间:2019-11-09 格式:PPT 页数:71 大小:5.33MB
返回 下载 相关 举报
微处理器系统结构与嵌入式系统-第三章教材_第1页
第1页 / 共71页
微处理器系统结构与嵌入式系统-第三章教材_第2页
第2页 / 共71页
微处理器系统结构与嵌入式系统-第三章教材_第3页
第3页 / 共71页
微处理器系统结构与嵌入式系统-第三章教材_第4页
第4页 / 共71页
微处理器系统结构与嵌入式系统-第三章教材_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《微处理器系统结构与嵌入式系统-第三章教材》由会员分享,可在线阅读,更多相关《微处理器系统结构与嵌入式系统-第三章教材(71页珍藏版)》请在金锄头文库上搜索。

1、微处理器系统结构与嵌入式系统设计,第三章 微处理器体系结构及 关键技术,3.1 微处理器体系结构及功能模块简介 处理器的主要功能 处理器的基本结构 一个简化的处理器模型结构示例 3.2 处理器设计 1. 指令系统 2. 数据通路 3. 控制流程 4. 时序部件 5. 控制逻辑 3.3 指令系统设计 3.4 指令流水线技术 3.5 典型微处理体系结构简介,2019/11/9,数据类型、指令功能、指令格式、寻址方式,ALU、Reg、总线,宽度、周期,程序、指令、微操作,时钟周期、工作周期、指令周期,随机逻辑、微程序(微码),几个概念,中央处理单元 Central Processing Unit,

2、CPU 微处理器 Micro Processing Unit, MPU 微控制单元 Micro Control Unit, MCU 单片机 计算机,单片芯片,控制器、运算器、寄存器,CPU、少量存储器及I/O接口,CPU+存储器+总线/接口+外设,*,3/86,4,微处理器的主要功能,计算机系统设计师认为:处理器是指一种能够经过多个步骤执行计算任务的数字设备。 从本质上讲,处理器的作用是协调和控制计算机的各个部件,并执行程序的指令序列。 处理器的5个主要功能: 指令控制:控制指令按程序逻辑顺序执行。 操作控制:按照指令执行过程及指令约定功能的需求产生各种操作控制信号。 时序控制:能够在适当的时

3、间(时刻)使相应操作控制信号有效,并保持所需的时长。 数据加工:对数据进行算术和逻辑运算处理。 中断处理:程序执行过程中应能够及时处理出现的I/O操作请求及异常情况。,CPU最基本的功能,CPU的作用是协调和控制计算机的各个部件并执行程序中的指令序列,因此应具有以下基本功能:, 取指令:当程序已在存储器中时,首先根据程序入口地址取出一条程序,需要发出指令地址及控制信号。 分析指令:即指令译码,是指对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:根据分析指令时产生的“操作命令”形成相应的操作控制信号序列,通过运算器、存储器及输入/输出设备的执行,实现每条指令的

4、功能,其中包括对运算结果的处理以及下条指令地址的形成。,*,5/86,微处理器的基本结构,冯诺依曼机: 5大部件 存储程序 串行单顺序,数据通路,CPU的RTL描述: 数据通路 控制器,数据通路:ALUReg+内部总线,ALU:运算 Reg组:暂存 内总线:传输,控制器,输入,输出,CPU与内存储器的接口,1.对外形成三总线形式; 2.寄存器MAR和MBR简化了CPU与主存之间的传送通路,使其容易控制; 3.寄存器MAR和MBR对用户透明,即不能编程访问;,微处理器的总体结构,数据通道 组成:ALU+寄存器+内部总线 功能:基本的二进制算术、逻辑及移位运算; 根据运算结果设置状态标志(进/借位

5、、溢出等); 特性: 数据通路宽度:即字长,CPU单次传送和处理数据的能力。 数据通路周期:ALU运算并将结果保存的过程。 控制单元(控制器) 时序控制部件:指令周期、工作周期、时钟周期(工作脉冲) 指令译码逻辑:微程序(CISC )、硬连逻辑(RISC ) 、,3.3 指令系统设计,指令集结构(ISA)是体系 结构的主要内容之一,其功 能设计实际就是确定软硬件 的功能分配。 考虑因素 速度、成本和灵活性 实现方式 硬件、软件 优化策略 RISC、CISC;流水线;多核; 实现内容 数据类型、指令功能、指令格式、寻址方式 实现步骤 根据应用初拟出指令的分类和具体的指令; 编写出针对该指令系统的

6、各种高级语言编译程序; 对多种算法程序进行模拟测试,确认指令系统的操作码和寻址方式的效能是否都比较高; 用硬件实现高频使用的指令,软件实现低频使用指令。,机器指令符号表示法,由于直接与机器指令二进制表示法打交道很困难,于是普遍使用的是机器指令符号表示法(symbol representation)。 操作码可缩写成助记符(mnemonic)来表示: ADD加 SUB减 MUL乘 DIV除 LOAD由存储器装入 STOR存入存储器,*,12/86,汇编语言,指令支持的数据类型,确认某种特殊类型的数据是否应该得到硬件支持 数值型数据:无符号整数、带符号整数、浮点数 非数值数据:字符串 确认字长(对

7、数据长度的限制) 截断(truncation)或溢出(overflow) 在选择数据格式和长度时需要平衡数值范围、程序执行期间发生溢出的可能性、处理设备和存储设备的复杂性、以及价格和速度等因素。,指令类型,指令按功能可分成以下三种基本类型: 数据传输:将数据从一个地方(源地址)复制到另一个 地方(目的地址),传输结束后源地址中的内容不变。 数据传送范围: R-R、R-M、M-R或M-M 数据传送宽度:一般为固定值(如8、16或32bit),其 它宽度的数据传送一般可通过软件移位和合 并操作来实现。 数据运算:包括算术运算(加、减、乘、除等)和逻辑 运算(与、或、非、异或等)。 该类指令需要明确

8、操作数的类型和长度。 控制类:用于改变正常的程序执行流程,完成程序的跳 转,主要包括转移指令和过程指令。,I/O,机器指令要素,操作码(operation code,opcode):需要完成的操作; 源操作数 (source operand reference):操作所需的输入; 结果操作数 (result operand reference):操作产生的结果; 下一条指令 (next instruction reference):告诉CPU到哪里取下一条指令。,*,指令格式,在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个字段: 操作码字段: 说明CPU应进行的操作

9、 按操作类型分组:同类操作要求同样或类似的控制信号,因此编码也类似(有尽可能多的公共位) 操作数字段/地址字段: 说明源操作数和目的操作数存放的位置信息(R、M或I/O); 说明源操作数和目的操作数的数据类型; 下一条指令地址字段: 如紧跟当前指令,在主存或虚存中,则不需显示引用; 如可能产生跳转,则需要显示给出存储地址;,操作码字段,常见指令字段分配,扩展操作码,操作数字段,二元操作(binary operation)是一种基本操作类型,这样的指令通常包含三个操作数地址:两个源操作数和一个目的(结果)操作数。为了缩短指令长度,可以采用以下方法: 只有一个地址指定给存储器中的操作数,而其余地址

10、都指定给寄存器,可以在指令格式中明确地指定其寄存器号。 把一个、两个或三个操作数的地址在指令格式中变成隐含的地址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式的操作码中。,寻址方式,操作数实际存放位置: 寻址方式: 1在指令码中指定操作数:立即数寻址 2在寄存器中指定操作数:寄存器(直接)寻址 3在存储器中指定操作数:存储器直接寻址、存储器间接寻址 4在汇编程序中指定操作数: 相对寻址 5操作数在I/O接口中: 存储器寻址(存储器映像编址)或端口寻址(独立编址),立即数寻址 immediate addressing mode,寄存器直接寻址方式 register direc

11、t addressing mode,指令的地址字段给出寄存器号(名) ,而被指定的寄存器的内容就是操作数。,存储器直接寻址 memory direct addressing mode,指令的地址字段直接给定一个立即数作为存储单元的地址。,寄存器直接寻址,存储器间接寻址 memory indirect addressing mode,(1) 寄存器间接寻址方式 (2) 存储器间接寻址方式 (3) 位移量寻址方式 (4) 变址寻址方式 (5) 比例尺寻址方式,用于加强编写与位置无关的汇编语言程序,寄存器间接寻址方式 register indirect addressing mode,将存储器地址指

12、定在寄存器中,即让寄存器内容指向一个可访问到操作数的存储器单元。,*,24/86,存储器间接寻址方式 memory indirect addressing mode,多级间接寻址; 通常用于访问存储器中的“跳转表”:跳转表首址指定在寄存器中,该表中的每个表项指向一个可访问到操作数的存储器单元。,位移量寻址方式 displacement addressing mode,通常用于数组、矩阵类向量数据的存取立即数值指定数组首址,寄存器指定组内偏移;,指数寻址方式 indexed addressing mode,通常用于数组、矩阵类向量数据的存取:寄存器Rs值指定数组首址,寄存器Rx指定组内偏移;,比

13、例尺寻址方式 scaled addressing mode,用字节表示的操作数的长度,PC相对寻址方式 Program Counter-related addressing mode,主要用在转移和跳转指令,指定汇编语言程序码的内部位置作为目的地址偏移量操作数。 指令:JMP Lable 操作: PC (PC)updated +immSign_ext,指令集设计示例,假设某机器的字长是8位,支持常见的简单指令:指令是双地址指令,源操作数采用2种寻址方式寄存器寻址(R0R1)和立即寻址;目标操作数可采用2种寻址方式寄存器寻址和存储器直接寻址。请为下述九条机器指令设计可行的代码方案。,若采用定长编

14、码(8bit)方案,可定义指令格式如下:,=0000表示ADD =0001表示SUB =0010表示MOV =0011表示IN =0100表示OUT =0101表示RR ,目标寄存器编号,源寄存器编号,操 作 码,机器指令集,3.4 流水线技术的特点,单个操作延迟增加; 整体吞吐量增加;,延迟320ps 吞吐量 1 / 320ps 3.125GIPS,延迟360ps 吞吐量1/120ps 8.33GIPS,流水线时序过程,流水线的局限性,各阶段性能差异会导致流水线性能下降,寄存器延迟开销导致流水线性能下降,硬件空闲,延迟?ps 吞吐量?GIPS,延迟360ps 吞吐量5.88GIPS,指令流水

15、线设计,基本要求 流水线各个段的操作相互独立 流水线各个段的操作同步 性能指标 吞吐率(Throughput Rate) 加速比(Speedup Ratio) 效率(Efficiency) 相关及处理 结构相关、数据相关和控制相关,理想流水线: 各级延时时间相等; 无等待时间; 大量代码不断流;,吞吐率(Throughput Rate),吞吐率Tp:指单位时间内能完成的作业量。 最大吞吐率Tpmax:流水线达到稳定状态后的吞 吐率。 用于描述流水线执行各种运算的速率,通常表示为每秒执行的运算数或每周期执行的运算数。,若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的实际吞吐率Tp为:,可以看出,当n时,最大吞吐率Tpmax1/ t,加速比(Speedup Ratio),非流水线执行时间相对流水线执行时间之比。,若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的加速比Sp为:,可以看出,当 n时,Spm,即最大加速比等于流水线的段数m。,效率(Efficiency),一定时段内,流水线所有段处于工作状态的比率。,若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的效率E为:,E =指令完成时间内占用的时空区 /指令总时空区,可以看出,当 n时,E1,即流过流水线的指令越多,流水线效率越高。,3.2 处理器设计

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

最新文档


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

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