




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.1 微处理器体系结构及功能模块简介微处理器体系结构及功能模块简介l处理器的主要功能处理器的主要功能l处理器的基本结构处理器的基本结构l一个简化的处理器模型结构示例一个简化的处理器模型结构示例3.2 处理器设计处理器设计1. 指令系统指令系统2. 数据通路数据通路3. 控制流程控制流程4. 时序部件时序部件5. 控制逻辑控制逻辑3.3 指令指令系统设计系统设计3.4 指令流水线技指令流水线技术术3.5 典型微处理体系结构简介典型微处理体系结构简介2022-6-12数据类型、指令功能、指令格式、寻址方式数据类型、指令功能、指令格式、寻址方式ALU、Reg、总线、总线宽度、周期宽度、周期程序、指
2、令、微操作程序、指令、微操作时钟周期、工作周期、指令周期时钟周期、工作周期、指令周期随机逻辑随机逻辑、微程序微程序(微码微码)几个概念几个概念中央处理单元中央处理单元l Central Processing Unit, CPU微处理器微处理器l Micro Processing Unit, MPU微控制单元微控制单元l Micro Control Unit, MCU单片机单片机计算机计算机单单片片芯芯片片控制器、运算器、寄存器控制器、运算器、寄存器CPU、少量存储器及、少量存储器及I/O接口接口CPU+存储器存储器+总线总线/接口接口+外设外设*3/864微处理器的主要功能微处理器的主要功能l
3、计算机系统设计师认为:处理器是指一种能够计算机系统设计师认为:处理器是指一种能够经过多个步骤执行经过多个步骤执行计算计算任务的任务的数字数字设备。设备。l从本质上讲,处理器的作用是协调和控制计算从本质上讲,处理器的作用是协调和控制计算机的各个部件,并机的各个部件,并执行程序执行程序的指令序列。的指令序列。l处理器的处理器的5个主要功能:个主要功能:l 指令控制指令控制:控制指令按程序逻辑顺序执行。:控制指令按程序逻辑顺序执行。l 操作控制操作控制:按照指令执行过程及指令约定功能的需:按照指令执行过程及指令约定功能的需求产生各种操作控制信号。求产生各种操作控制信号。l 时序控制时序控制:能够在适
4、当的时间:能够在适当的时间(时刻时刻)使相应操作控使相应操作控制信号有效,并保持所需的时长。制信号有效,并保持所需的时长。l 数据加工数据加工:对数据进行算术和逻辑运算处理。:对数据进行算术和逻辑运算处理。l 中断处理中断处理:程序执行过程中应能够及时处理出现的:程序执行过程中应能够及时处理出现的I/O操作请求及异常情况。操作请求及异常情况。CPU最基本的功能最基本的功能CPU的作用是协调和控制的作用是协调和控制计算机的各个部件并执行程计算机的各个部件并执行程序中的指令序列,因此应具序中的指令序列,因此应具有以下基本功能:有以下基本功能:取指令,PC值加1停机?译码并执行结束YN 取指令:取指
5、令:当程序已在存储器中时,首先根据程序入口地当程序已在存储器中时,首先根据程序入口地址取出一条程序,需要发出指令地址及控制信号。址取出一条程序,需要发出指令地址及控制信号。 分析指令:分析指令:即指令译码,是指对当前取得的指令进行分即指令译码,是指对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:执行指令:根据分析指令时产生的根据分析指令时产生的“操作命令操作命令”形成相形成相应的操作控制信号序列,通过运算器、存储器及输入应的操作控制信号序列,通过运算器、存储器及输入/输出输出设备的执行,实现每条指令的功能,其
6、中包括对运算结果的设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。处理以及下条指令地址的形成。*5/86微处理器的基本结构微处理器的基本结构冯冯诺依曼机:诺依曼机:5大部件大部件存储程序存储程序串行单顺序串行单顺序数据通路数据通路CPU的的RTL描述:描述:数据通路数据通路控制器控制器数据通路数据通路:ALUReg+内部总线内部总线ALU:运算:运算Reg组:暂存组:暂存内总线:传输内总线:传输控制器控制器输入输入输出输出CPU与内存储器的接口与内存储器的接口1.对外形成对外形成三总线三总线形式;形式;2.寄存器寄存器MAR和和MBR简化了简化了CPU与主存之间
7、的传送通与主存之间的传送通路,使其容易控制路,使其容易控制;3.寄存器寄存器MAR和和MBR对用户对用户透明透明,即不能编程访问;即不能编程访问;微处理器的微处理器的总体结构总体结构l数据通道数据通道组成:组成:ALU+寄存器寄存器+内部总线内部总线功能:功能:基本的二进制算术、逻辑及移位运算;基本的二进制算术、逻辑及移位运算; 根据运算结果设置状态标志(进根据运算结果设置状态标志(进/借位、溢出等);借位、溢出等); 特性:特性:数据通路宽度:即字长,CPU单次传送和处理数据的能力。数据通路周期:ALU运算并将结果保存的过程。l控制单元(控制器)控制单元(控制器)时序控制部件:时序控制部件:
8、指令周期、工作周期、时钟周期指令周期、工作周期、时钟周期(工作脉冲工作脉冲)指令译码逻辑:指令译码逻辑:微程序(微程序(CISC )、硬连逻辑()、硬连逻辑(RISC ) 、3.3 指令系统设计指令系统设计指令集结构指令集结构(ISA)是体系是体系结构的主要内容之一,其功结构的主要内容之一,其功能设计实际就是确定软硬件能设计实际就是确定软硬件的功能分配。的功能分配。l考虑因素考虑因素 速度、成本和灵活性速度、成本和灵活性l实现方式实现方式 硬件、软件硬件、软件 l优化策略优化策略 RISC、CISC;流水线;多核;流水线;多核;l实现内容实现内容 数据类型、指令功能、指令格式、寻址方式数据类型
9、、指令功能、指令格式、寻址方式l实现步骤实现步骤根据应用初拟出指令的分类和具体的指令;根据应用初拟出指令的分类和具体的指令;编写出针对该指令系统的各种高级语言编译程序;编写出针对该指令系统的各种高级语言编译程序;对多种算法程序进行模拟测试,确认指令系统的操作对多种算法程序进行模拟测试,确认指令系统的操作码和寻址方式的效能是否都比较高;码和寻址方式的效能是否都比较高;用硬件实现高频使用的指令,软件实现低频使用指令。用硬件实现高频使用的指令,软件实现低频使用指令。机器指令符号表示法机器指令符号表示法 由于直接与机器指令二进制表示法打交道由于直接与机器指令二进制表示法打交道很困难,于是普遍使用的是机
10、器指令符号表很困难,于是普遍使用的是机器指令符号表示法示法(symbol representation)。操作码可缩写成操作码可缩写成助记符助记符(mnemonic)来表示:来表示:ADD加加SUB减减MUL乘乘DIV除除LOAD由存储器装入由存储器装入STOR存入存储器存入存储器*12/86汇编语言汇编语言指令支持的数据类型指令支持的数据类型 确认某种特殊类型的数据是否应该得到硬件确认某种特殊类型的数据是否应该得到硬件支持支持 数值型数据:无符号整数、带符号整数、浮点数数值型数据:无符号整数、带符号整数、浮点数 非数值数据:字符串非数值数据:字符串 确认字长(对数据长度的限制)确认字长(对数
11、据长度的限制) 截断(截断(truncation)或溢出()或溢出(overflow)在选择数据格式和长度时需要平衡数值范围、程序执在选择数据格式和长度时需要平衡数值范围、程序执行期间发生溢出的可能性、处理设备和存储设备行期间发生溢出的可能性、处理设备和存储设备的复杂性、以及价格和速度等因素。的复杂性、以及价格和速度等因素。指令类型指令类型l指令按功能可分成以下三种基本类型:指令按功能可分成以下三种基本类型: 数据传输:数据传输:将数据从一个地方(源地址)复制到另一个将数据从一个地方(源地址)复制到另一个 地方(目的地址),传输结束后源地址中的内容不变。地方(目的地址),传输结束后源地址中的内
12、容不变。u 数据传送范围:数据传送范围: R-R、R-M、M-R或或M-Mu 数据传送宽度:一般为固定值(如数据传送宽度:一般为固定值(如8、16或或32bit),其),其它宽度的数据传送一般可通过软件移位和合它宽度的数据传送一般可通过软件移位和合并操作来实现。并操作来实现。数据运算数据运算:包括算术运算(加、减、乘、除等)和逻辑包括算术运算(加、减、乘、除等)和逻辑 运算(与、或、非、异或等)。运算(与、或、非、异或等)。 该类指令需要明确操作数的类型和长度。该类指令需要明确操作数的类型和长度。控制类:控制类:用于改变正常的程序执行流程,完成程序的跳用于改变正常的程序执行流程,完成程序的跳
13、转,主要包括转移指令和过程指令。转,主要包括转移指令和过程指令。I/O机器指令要素机器指令要素l操作码操作码(operation code,opcode):需要完成的操作;:需要完成的操作;l源操作数源操作数 (source operand reference):操作所需的输入;:操作所需的输入;l结果操作数结果操作数 (result operand reference):操作产生的结:操作产生的结果;果;l下一条指令下一条指令 (next instruction reference):告诉:告诉CPU到哪到哪里取下一条指令。里取下一条指令。 *指令格式指令格式l 在计算机内部,指令由一个位串
14、来表示。相应于指令在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个的各要素,这些位串划分成几个字段字段:操作码字段操作码字段:说明说明CPU应进行的操作应进行的操作按操作类型分组:同类操作要求同样或类似的控制信号,按操作类型分组:同类操作要求同样或类似的控制信号,因此编码也类似(有尽可能多的公共位)因此编码也类似(有尽可能多的公共位)操作数字段操作数字段/地址字段地址字段:说明源操作数和目的操作数存放的位置信息说明源操作数和目的操作数存放的位置信息(R、M或或I/O);说明源操作数和目的操作数的数据类型说明源操作数和目的操作数的数据类型;下一条指令地址字段下一条指令地
15、址字段: 如紧跟当前指令,在主存或虚存中,则不需显示引用;如紧跟当前指令,在主存或虚存中,则不需显示引用; 如可能产生跳转,则需要显示给出存储地址;如可能产生跳转,则需要显示给出存储地址;操作码字段操作码字段常见指令字段分配常见指令字段分配扩展操作码扩展操作码操作数字段操作数字段l 二元操作二元操作(binary operation)是一种基本操作类是一种基本操作类型,这样的指令通常包含型,这样的指令通常包含三个操作数地址三个操作数地址:两个源:两个源操作数和一个目的操作数和一个目的(结果结果)操作数。为了缩短指令长操作数。为了缩短指令长度,可以采用以下方法:度,可以采用以下方法:l只有一个地
16、址指定给存储器中的操作数,而其只有一个地址指定给存储器中的操作数,而其余地址都指定给余地址都指定给寄存器寄存器,可以在指令格式中明确地,可以在指令格式中明确地指定其寄存器号。指定其寄存器号。l把一个、两个或三个操作数的地址在指令格式把一个、两个或三个操作数的地址在指令格式中变成中变成隐含隐含的地址。隐含的地址可以指定给专用寄的地址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式的操作存器,而这些寄存器的名字隐含在指令格式的操作码中。码中。寻址方式寻址方式l操作数实际存放位置:操作数实际存放位置:l寻址方式:寻址方式:1在指令码中指定操作数:在指令码中指定操作数:立即数寻址立即
17、数寻址2在寄存器中指定操作数:在寄存器中指定操作数:寄存器(直接)寻址寄存器(直接)寻址3在存储器中指定操作数:在存储器中指定操作数:存储器直接寻址存储器直接寻址、存储器间接寻存储器间接寻址址4在汇编程序中指定操作数:在汇编程序中指定操作数: 相对寻址相对寻址5操作数在操作数在I/O接口中:接口中: 存储器寻址(存储器映像编址)或端口寻址(独立编址)存储器寻址(存储器映像编址)或端口寻址(独立编址)ABDB控控制制器器运运算算器器寄寄存存器器CPU存存储储器器00000HFFFFFHI/O接接口口0000HFFFFHI/O外外设设CB立即数寻址立即数寻址immediate addressing
18、 mode寄存器直接寻址方式寄存器直接寻址方式register direct addressing model 指令的地址字段给出指令的地址字段给出寄存器号(名)寄存器号(名) ,而被,而被指定的寄存器的内容就指定的寄存器的内容就是操作数。是操作数。 存储器直接寻址存储器直接寻址memory direct addressing model指令的地址字段指令的地址字段直接给定一个直接给定一个立即立即数数作为存储单元的作为存储单元的地址地址。寄存器直接寻址 存储器间接寻址存储器间接寻址memory indirect addressing model(1) 寄存器间接寻址方式寄存器间接寻址方式l(2
19、) 存储器间接寻址方式存储器间接寻址方式l(3) 位移量寻址方式位移量寻址方式l(4) 变址寻址方式变址寻址方式l(5) 比例尺寻址方式比例尺寻址方式用于加强编写与位置无关的汇编语言程序用于加强编写与位置无关的汇编语言程序 寄存器间接寻址方式寄存器间接寻址方式register indirect addressing model 将存储器地址指定将存储器地址指定在寄存器中,即让在寄存器中,即让寄存器内容指向寄存器内容指向一一个可访问到操作数个可访问到操作数的存储器单元。的存储器单元。*24/86存储器间接寻址方式存储器间接寻址方式 memory indirect addressing mode
20、多级多级间接寻址;间接寻址; 通常用于访问存储器中通常用于访问存储器中的的“跳转表跳转表”:跳转表首址:跳转表首址指定在指定在寄存器寄存器中,该表中的中,该表中的每个表项指向一个可访问到每个表项指向一个可访问到操作数的存储器单元。操作数的存储器单元。 位移量寻址方式位移量寻址方式displacement addressing model 通常用于数组、矩通常用于数组、矩阵类向量数据的存取阵类向量数据的存取立即数立即数值指定数组首值指定数组首址,址,寄存器寄存器指定组内指定组内偏移偏移;指数寻址方式指数寻址方式indexed addressing mode 通常用于数组、通常用于数组、矩阵类向量
21、数据的矩阵类向量数据的存取:存取:寄存器寄存器Rs值值指定数组首址,指定数组首址,寄寄存器存器Rx指定组内偏指定组内偏移;移;比例尺寻址方式比例尺寻址方式scaled addressing mode用字节表示的操用字节表示的操作数的长度作数的长度PC相对寻址方式相对寻址方式Program Counter-related addressing mode 主要用在主要用在转移和跳转转移和跳转指令,指定汇编语言程序指令,指定汇编语言程序码的内部位置作为码的内部位置作为目的地址偏移量目的地址偏移量操作数。操作数。指令:JMP Lable 操作: PC (PC)updated +immSign_ext指
22、令集设计示例指令集设计示例假设某机器的字长是假设某机器的字长是8位位,支持常见的简单指令:,支持常见的简单指令:指令是指令是双地址指令双地址指令,源操作数采用,源操作数采用2种寻址方式种寻址方式寄寄存器寻址存器寻址(R0R1)和立即寻址和立即寻址;目标操作数可采用;目标操作数可采用2种种寻址方式寻址方式寄存器寻址和存储器直接寻址寄存器寻址和存储器直接寻址。请为下述。请为下述九条机器指令设计可行的代码方案。九条机器指令设计可行的代码方案。若采用定长编码(若采用定长编码(8bit)方案,可定义指令格式如下:)方案,可定义指令格式如下:76543210=0000=0000表示表示ADDADD=000
23、1=0001表示表示SUBSUB=0010=0010表示表示MOVMOV=0011=0011表示表示ININ=0100=0100表示表示OUTOUT=0101=0101表示表示RRRR目的操作数寻址方式:目的操作数寻址方式:0 0直接寻址直接寻址 1 1寄存器寻址寄存器寻址目标寄存目标寄存器编号器编号源操作数寻址方式:源操作数寻址方式:0 0立即寻址立即寻址 1 1寄存器寻址寄存器寻址源寄存器源寄存器编号编号操操 作作 码码机器指令集机器指令集3.4 流水线技术的特点流水线技术的特点 单个操作延迟增加;单个操作延迟增加;整体吞吐量增加;整体吞吐量增加;延迟延迟320ps吞吐量吞吐量 1 / 3
24、20ps 3.125GIPS延迟延迟360ps吞吐量吞吐量1/120ps 8.33GIPS流水线时序过程流水线时序过程流水线的局限性流水线的局限性 各阶段性能差异各阶段性能差异会会导致流水线性能下降导致流水线性能下降 寄存器延迟开销寄存器延迟开销导导致流水线性能下降致流水线性能下降硬件空闲硬件空闲延迟延迟?ps吞吐量吞吐量?GIPS延迟延迟360ps吞吐量吞吐量5.88GIPS指令流水线设计指令流水线设计l基本要求流水线各个段的操作相互独立流水线各个段的操作同步l性能指标吞吐率(Throughput Rate)加速比(Speedup Ratio)效率(Efficiency)l相关及处理 结构相
25、关、数据相关和控制相关结构相关、数据相关和控制相关理想流水线:理想流水线: 各级延时时间相各级延时时间相等;等; 无等待时间;无等待时间; 大量代码不断流;大量代码不断流;吞吐率吞吐率(Throughput Rate)吞吐率吞吐率Tp:指单位时间内能完成的作业量。:指单位时间内能完成的作业量。最大吞吐率最大吞吐率Tpmax:流水线达到稳定状态后的吞流水线达到稳定状态后的吞吐率吐率。用于用于描述流水线执行各种运算的描述流水线执行各种运算的速率速率,通常表示通常表示为每秒执行的运算数或每周期执行的运算数为每秒执行的运算数或每周期执行的运算数。1(1)1(1)/ pnnTTm tntmnt 流水若一
26、个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的实际吞吐率Tp为:可以看出,当n时,最大吞吐率Tpmax1/ t加速比加速比(Speedup Ratio)非流水线执行时间相对流水线执非流水线执行时间相对流水线执行时间之比。行时间之比。 若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的加速比Sp为:(1)11(1)/pTn m tnmmSTm tntmnmn 串行流水可以看出,当 n时,Spm,即最大加速比等于流水线的段数m。效率效率(Efficiency)一定时段内,流水线所有段处一定时段内,流水线所有段处于工作状态的比率于工作状态的比率。t 若一个m级线性
27、流水线各级时长(即拍长)均为t,则连续处理n条指令时的效率E为:E =指令完成时间内占用的时空区 /指令总时空区可以看出,当 n时,E1,即流过流水线的指令越多,流水线效率越高。 1(1)1(1)/n m tm m tntmn 3.2 处理器设计处理器设计l数据通道数据通道组成:组成:ALU+寄存器寄存器+内部总线内部总线功能:功能:基本的二进制算术、逻辑及移位运算;基本的二进制算术、逻辑及移位运算; 根据运算结果设置状态标志(进根据运算结果设置状态标志(进/借位、溢出等);借位、溢出等); 特性:特性:数据通路宽度数据通路宽度:即字长,即字长,CPU单次传送和处理数据的能力单次传送和处理数据
28、的能力。数据通路周期数据通路周期:ALU运算并保存结果的过程。运算并保存结果的过程。l控制单元(控制器)控制单元(控制器)时序控制部件时序控制部件1.指令译码逻辑指令译码逻辑微处理器设计微处理器设计1、拟定指令系统、拟定指令系统:需要完成哪些操作。:需要完成哪些操作。2、确定总体结构、确定总体结构:寄存器设置、运算部件、控制:寄存器设置、运算部件、控制部件的设计部件的设计3、安排时序、安排时序:时序控制信号的产生(控制器完成时序控制信号的产生(控制器完成具体产生)具体产生)4、拟定指令流程、拟定指令流程:指令执行过程中的每一步传送:指令执行过程中的每一步传送操作的流程。操作的流程。 5、形成控
29、制逻辑、形成控制逻辑:根据指令流程形成最终的控制:根据指令流程形成最终的控制逻辑。逻辑。 程序、指令、微操作程序、指令、微操作3.2.4 时序控制部件时序控制部件 时序控制部件:用以产生各种系统所需的、满足时时序控制部件:用以产生各种系统所需的、满足时序要求的控制信号。序要求的控制信号。 l指令周期指令周期 读取并执行一条指令所需的时间读取并执行一条指令所需的时间l工作周期工作周期 指令周期中的不同工作阶段指令周期中的不同工作阶段l时钟周期时钟周期 系统中最小的基本时间分段系统中最小的基本时间分段CPU中的多级时序中的多级时序 一个指令周期中的多个工作周期一个指令周期中的多个工作周期 现代控制
30、器设计趋势现代控制器设计趋势: 采用非集中控制模式采用非集中控制模式,I/O和和存储器存储器拥有各自的控制器,拥有各自的控制器,从而变为自主的功能部件。从而变为自主的功能部件。 I/O和和存储器存储器采用异步控制。采用异步控制。按照微控制命令的形成方式,控制器可分为按照微控制命令的形成方式,控制器可分为随机随机逻逻辑辑控制控制和微和微程序程序控制控制两种基本类型两种基本类型。3.2.5 控制器的设计控制器的设计 控制器控制器根据指令根据指令译码结果和当前状态译码结果和当前状态决定在什么时间、决定在什么时间、根据什么条件、发出什么命令、做什么操作根据什么条件、发出什么命令、做什么操作: 生成时序
31、控制信号生成时序控制信号 生成指令执行所需的控制信号生成指令执行所需的控制信号 响应各响应各种种中断或异常事件请求中断或异常事件请求随机逻辑随机逻辑CPU的结构的结构随机逻辑随机逻辑(硬连逻辑硬连逻辑)体系结构用体系结构用布尔逻辑函布尔逻辑函数数来表示来表示控制单元控制单元的输入和输出之间的关系。的输入和输出之间的关系。时序部件时序部件指令预处理指令预处理随机逻辑体系结构随机逻辑体系结构 需求背景:销售量很大需求背景:销售量很大(性能要求不是很高性能要求不是很高)目标:减少制造费用目标:减少制造费用方法:减少使用的门电路总数方法:减少使用的门电路总数1.用途:支持简单指令集用途:支持简单指令集
32、随机逻辑随机逻辑CPU的特点的特点优点:优点: 可通过简化指令可通过简化指令减少所使用的门电路减少所使用的门电路总总数从而减少制造费用。数从而减少制造费用。缺点:缺点:l指令集结构与硬件逻辑方程之间存在着指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。密切联系,设计过程复杂。重用性差重用性差,设计成果很少能再利用到以后,设计成果很少能再利用到以后的新的新CPU设计中。设计中。适用于较简单的指令集结构。适用于较简单的指令集结构。随机逻辑控制器随机逻辑控制器(硬连线逻辑控制器硬连线逻辑控制器):采用组:采用组合逻辑控制方式的控制器合逻辑控制方式的控制器随机逻辑随机逻辑CPU的设计步骤的设
33、计步骤 指令集结构驱动硬件的逻辑方程指令集结构驱动硬件的逻辑方程 定义所需的指令集结构;定义所需的指令集结构; 根据指令集决定硬件逻辑及状态机;根据指令集决定硬件逻辑及状态机; 硬件逻辑方程反馈到指令集结构硬件逻辑方程反馈到指令集结构 对指令集结构做必要的修改和优化;对指令集结构做必要的修改和优化; 最大限度地减少逻辑复杂度;最大限度地减少逻辑复杂度;l最小化逻辑门数目最小化逻辑门数目优化硬件逻辑、尽可能地少用触发器优化硬件逻辑、尽可能地少用触发器l优化硬件时序优化硬件时序逻辑门级数最小化;逻辑门级数最小化;建立并行通路以满足时序约束建立并行通路以满足时序约束(增加逻辑增加逻辑)l简化指令集简
34、化指令集逻辑简单、寄存器数量少逻辑简单、寄存器数量少随机逻辑随机逻辑CPU的设计要点的设计要点 RISC最重要的目的最重要的目的随机逻辑随机逻辑CPU的操作的操作1-取指令取指令 程序计数器程序计数器的值经的值经MUX送到存储器;送到存储器; 存储器送回的指令写入存储器送回的指令写入指令寄存器指令寄存器; 程序计数器加程序计数器加1后回写;后回写;随机逻辑随机逻辑CPU的操作的操作2-指令执行指令执行 寄存器堆中的某个地址寄存器通过寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得寻址存储器,获得ALU的的一个一个操作数操作数; 另一个另一个操作数操作数来自于寄存器堆中的数据寄存器;来自于寄
35、存器堆中的数据寄存器; ALU的的结果结果值被回写入寄存器堆。值被回写入寄存器堆。Balancing Operatorsla, b, c, d: 4-bit vectorsout = a * b * c * dXabXcXdzXabout = (a * b) * (c * d)XcdXzUnbalancedBalanced4 x 48 x 412 x 416-bit4 x 44 x 48 x 816-bitDelay through 3 Stages of MultiplyDelay through 2 Stages of Multiply随机逻辑随机逻辑CPU的指令集设计的指令集设计l 考虑
36、如何让逻辑门可以快速而方便地实现考虑如何让逻辑门可以快速而方便地实现 指令译码。指令译码。l 在随机逻辑在随机逻辑CPU的指令集中,可以使用以下的指令集中,可以使用以下4种种类型的指令:分支指令类型的指令:分支指令(branch instruction) 、存储存储器引用指令器引用指令(memory reference instruction)、ALU指令指令(ALU instruction)、设置指令、设置指令(SET instruction)l 一般的设计方法是将指令内部的结构划分成多个一般的设计方法是将指令内部的结构划分成多个指令字段指令字段(field)。同时还要求这些指令字段在各指令
37、。同时还要求这些指令字段在各指令中所放的位置尽可能一样。这样,中所放的位置尽可能一样。这样,在在CPU中可以减中可以减少指令译码所需的逻辑数量少指令译码所需的逻辑数量。52/86指令的简化示例指令的简化示例l如果限制在机器内部只用一个累加器,则指令集就会被限如果限制在机器内部只用一个累加器,则指令集就会被限制在如下范围内:制在如下范围内:l 使用单目操作数的指令,可以将累加器作为一个源操使用单目操作数的指令,可以将累加器作为一个源操作数,同时可作为一个目的操作数。作数,同时可作为一个目的操作数。l 使用双目操作数的指令,可以将累加器作为一个源操作使用双目操作数的指令,可以将累加器作为一个源操作
38、数,以存储器作为另一个源操作数,累加器同时也可作为数,以存储器作为另一个源操作数,累加器同时也可作为目的操作数。目的操作数。如果只用一个索引寄存器,则寻址模式将局限于以下两种如果只用一个索引寄存器,则寻址模式将局限于以下两种方式:方式:l 当进行直接存储器寻址时,存储器地址由指令中的部当进行直接存储器寻址时,存储器地址由指令中的部分字段提供。分字段提供。l 当进行指数寻址时,目标地址一部分来自指令的存储器当进行指数寻址时,目标地址一部分来自指令的存储器地址,与指数寄存器相加之后,形成目标操作数的地址。地址,与指数寄存器相加之后,形成目标操作数的地址。微码微码CPU的结构的结构l在微码结构中,在
39、微码结构中,控制单元控制单元的输入和输出之间的输入和输出之间的关系被视为一个的关系被视为一个存储系统存储系统。时序部件时序部件指令预处理指令预处理 工作原理工作原理 微程序控制微程序控制(存储控制存储控制) 组成组成微码控制器微码控制器+微代码微代码微码微码CPU的特点的特点优点:优点:l可以通过减少取指令次数的方法来可以通过减少取指令次数的方法来降低存储器总访问降低存储器总访问时间时间从而提高系统性能;从而提高系统性能;l简化硬件设计简化硬件设计,可使其成品机器几乎没有设计上的错,可使其成品机器几乎没有设计上的错误;误;l建立或改动微代码比建立或改动电路省时、不易出错建立或改动微代码比建立或
40、改动电路省时、不易出错,因此更易于,因此更易于创建新的创建新的CPU版本版本;缺点:缺点: 同样功能微代码比硬连逻辑实现的同样功能微代码比硬连逻辑实现的开销大开销大;*55/86微码结构与随机逻辑结构的比较微码结构与随机逻辑结构的比较l硬件设计开销硬件设计开销随机逻辑随机逻辑CPU的硬件和指令集必须同步进行设计和优化,因此比的硬件和指令集必须同步进行设计和优化,因此比较复杂。较复杂。微码微码CPU的指令集设计并不直接影响现有硬件,修改指令集并不的指令集设计并不直接影响现有硬件,修改指令集并不需要重新设计新的硬件。需要重新设计新的硬件。l性能性能如果采用相同指令集,则随机逻辑如果采用相同指令集,
41、则随机逻辑CPU操作会更快。操作会更快。如果执行相同的计算任务,微码如果执行相同的计算任务,微码CPU能够通过使用更少能够通过使用更少(但更复但更复杂杂)的指令达到更高性能。的指令达到更高性能。当系统整体性能受限于存储器的速度时,微码当系统整体性能受限于存储器的速度时,微码CPU对性能提高的对性能提高的优势更为明显。优势更为明显。*56/86微码微码CPU的设计步骤的设计步骤 建立建立硬件体系结构硬件体系结构, 保证其具备执保证其具备执行必要行必要基本功能基本功能步骤的功能。步骤的功能。将指令分割成许多微步骤,转写成将指令分割成许多微步骤,转写成微程序微程序并写入并写入控制存储器控制存储器。微
42、指令微指令Micro-instruction微程序微程序Micro-program(固件(固件fireware)指令指令instruction微码微码CPU的操作的操作1-指令译码与执行指令译码与执行控制逻辑对控制逻辑对IR中的指令中的指令译码,确定对应微码程译码,确定对应微码程序地址并写入序地址并写入 PC; PC向微码向微码ROM提供提供 地址,返回的微码写入地址,返回的微码写入 IR; IR译码后产生相应的译码后产生相应的控制信号;控制信号; PC地址加地址加1后获取下一后获取下一条微指令地址,直到完条微指令地址,直到完成整个微码程序成整个微码程序微码微码CPU的操作的操作2-读写数据读
43、写数据l 数据通路一般应有如下三个基本的时钟周期:数据通路一般应有如下三个基本的时钟周期:从存储器读数据后:从存储器读数据后:写入寄存器堆写入寄存器堆(Register File);写入指令寄存器写入指令寄存器(IR);写入临时寄存器写入临时寄存器(TempIn); 作为作为ALU的一个输入;的一个输入;从从寄存器读数据后:寄存器读数据后:写入存储器地址寄存器写入存储器地址寄存器MAR;写入临时寄存器作为写入临时寄存器作为ALU的的 一个输入;一个输入;存入存储器;存入存储器;将将Result寄存器内容写入寄存器组,或存入存储器;寄存器内容写入寄存器组,或存入存储器;3.5 ARM体系结构体系
44、结构1。RISC指令集,指令集,内核小,功耗低、内核小,功耗低、成本低成本低2。哈佛结构。哈佛结构3。运算器操作。运算器操作数只能从寄存器数只能从寄存器输入输入/输出输出4。采用桶式移。采用桶式移位器处理位器处理ALU输输入,灵活高速入,灵活高速ARM指令系统特点指令系统特点1、RISC指令规则,适合流水设计指令规则,适合流水设计2、寻址方式灵活简单,执行效率高、寻址方式灵活简单,执行效率高3、所有指令的条件执行实现最快速的代码执行、所有指令的条件执行实现最快速的代码执行4、支持、支持Thumb(16 位)位)/ARM(32 位)双指令集,位)双指令集,能很好的兼容能很好的兼容8 位位/16 位器件位器件3.5 8086体系结构体系结构1、冯式结构、冯式结构2、运算器操作数可以从寄存器、存储器或、运算器操作数可以从寄存器、存储器或I/O端口获得端口获得3、分成两大功能部件、分成两大功能部件EU、BIU8086指令系统特点指令系统特点1。为保持兼容性采用变长的、高度不规则的。为保持兼容性采用变长的、高度不规则的C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论