1、1第第3 3章章 微处理器体系结构及微处理器体系结构及关键技术关键技术23.1 微处理器体系结构及功能模块简介1.处理器的主要功能2.处理器的基本结构3.一个简化的处理器模型结构示例3.2 处理器设计1.指令系统2.数据通路3.控制流程4.时序部件5.控制逻辑3.3 指令流水线技术3.4 典型微处理体系结构简介3.5 先进的微处理器技术ARM、x86随机逻辑随机逻辑、微程序微程序(微码微码)数据类型、指令功能、指令格式、寻址方式数据类型、指令功能、指令格式、寻址方式ALU、Reg、总线、总线程序、指令、微操作程序、指令、微操作时钟周期、工作周期、指令周期时钟周期、工作周期、指令周期特点、操作、
2、局限、设计特点、操作、局限、设计宽度、周期宽度、周期31.中央处理单元 Central Processing Unit, CPU2.微处理器 Micro Processing Unit, MPU3.微控制单元 Micro Control Unit, MCU4.单片机5.计算机单单片片芯芯片片控制器、运算器、寄存器控制器、运算器、寄存器CPU、少量存储器及、少量存储器及I/O接口接口CPU+存储器存储器+总线总线/接口接口+外设外设41。RISC指令集,指令集,内核小,功耗低、内核小,功耗低、成本低成本低2。哈佛哈佛结构结构3。运算器操作。运算器操作数数只能从寄存器只能从寄存器输入输入/输出输出
3、4。采用。采用桶式移桶式移位器位器处理处理ALU输输入,灵活高速入,灵活高速51。冯式结构。冯式结构2。运算器操作数可以从寄存器、存储器或。运算器操作数可以从寄存器、存储器或I/O端口获得端口获得3。分成两大功能部件。分成两大功能部件EU(执行单元执行单元)、BIU(总线接口单元总线接口单元)61。RISC指令规则,适合流水设计指令规则,适合流水设计2。寻址方式灵活简单,执行效率高。寻址方式灵活简单,执行效率高3。所有指令的。所有指令的条件执行条件执行实现最快速的代码执行实现最快速的代码执行4。支持。支持Thumb(16 位)位)/ARM(32 位)双指令集,能位)双指令集,能很好的兼容很好的
4、兼容8 位位/16 位器件位器件71。为保持兼容性采用变长的、高度不规则的。为保持兼容性采用变长的、高度不规则的CISC指令集。指令集。2。是基于专用寄存器组的二地址存储器。是基于专用寄存器组的二地址存储器-寄存寄存器器(M-R)机:对于二元操作,一个操作数总机:对于二元操作,一个操作数总是指定在寄存器中,另一个操作数可以从是指定在寄存器中,另一个操作数可以从存储器或寄存器中读取。存储器或寄存器中读取。8计算机系统设计师认为:处理器是指一种能够经过多个步骤执行计算计算任务的数字数字设备。从本质上讲,处理器的作用是协调和控制计算机的各个部件,并执行程序执行程序(指令序列)。处理器的5个主要功能:
5、 指令控制指令控制:控制指令按程序逻辑顺序执行。 操作控制操作控制:按照指令执行过程及指令约定功能的需求产生各种操作控制信号。 时时序序控制控制:能够在适当的时间(时刻)使相应操作控制信号有效,并保持所需的时长。 数据加工数据加工:对数据进行算术和逻辑运算处理。 中断处理中断处理:程序执行过程中应能够及时处理出现的I/O操作请求及异常情况。9CPUCPU的作用是的作用是协调和协调和控制计算机的各个部件控制计算机的各个部件并执行程序中的指令序并执行程序中的指令序列列,因此应具有以下基,因此应具有以下基本功能:本功能:取 指 令 ,P C值 加1停 机?译 码 并 执 行结 束YN 取指令:取指令
6、:当程序已在存储器中时,首先根据程序入口地当程序已在存储器中时,首先根据程序入口地址取出一条程序,为此要发出指令地址及控制信号。址取出一条程序,为此要发出指令地址及控制信号。 分析指令:分析指令:即指令译码,是指对当前取得的指令进行分即指令译码,是指对当前取得的指令进行分析,指出它要求什么操作,并产生相应的操作控制命令。析,指出它要求什么操作,并产生相应的操作控制命令。 执行指令:执行指令:根据分析指令时产生的根据分析指令时产生的“操作命令操作命令”形成相形成相应的操作控制信号序列,通过运算器、存储器及输入应的操作控制信号序列,通过运算器、存储器及输入/ /输出输出设备的执行,实现每条指令的功
7、能,其中包括对运算结果的设备的执行,实现每条指令的功能,其中包括对运算结果的处理以及下条指令地址的形成。处理以及下条指令地址的形成。10冯冯诺依曼机诺依曼机:5 5大部件大部件存储程序存储程序串行单顺序串行单顺序数据通路数据通路CPU的的RTL描述:描述:数据通路数据通路控制器控制器寄存器传输级Resistor Transistor Level 数据流和命令数据流和命令流的产生流的产生111.1.数据通道数据通道1.1.组成:组成:ALU+ALU+寄存器寄存器+ +内部总线内部总线2.2.功能:功能:基本的二进制算术、逻辑及移位基本的二进制算术、逻辑及移位运算;运算; 根据运算结果设置状态标志
8、(根据运算结果设置状态标志(进进/ /借位、溢出等);借位、溢出等); 3.3.特性:特性:数据通路宽度:数据通路宽度:即字长,即字长,CPUCPU单次单次传送和处理数据的能力。传送和处理数据的能力。数据通路周期数据通路周期:ALUALU运算并将保存运算并将保存结果的过程。结果的过程。2. 2. 控制单元(控制器)控制单元(控制器)1.1.时序控制部件:时序控制部件:指令周期、工作周期指令周期、工作周期、时钟周期、时钟周期( (工作脉冲工作脉冲) )2.2.指令译码逻辑:指令译码逻辑:微程序(微程序(CISC CISC )、)、硬连逻辑(硬连逻辑(RISC RISC ) 、12ALU:运算:运
9、算Reg组:暂存组:暂存内总线:传输内总线:传输p 简单的单总线简单的单总线 (ALU总线总线)p 复杂的多级总线复杂的多级总线(片上总线片上总线)13输入输入输出输出指令序列指令序列指令指令1指令指令2指令指令3指令指令nStep1:取指:取指Step2:取源数:取源数Step3:取目的数:取目的数Step4:执行运算:执行运算Step5:存放结果:存放结果Step1:。:。Step2:。:。微命令微命令命令流的产生命令流的产生微程序(微码)控制器结构设计微程序(微码)控制器结构设计随机逻辑控制器结构设计随机逻辑控制器结构设计14哈佛结构哈佛结构:数据总线与数据总线与指令总线分离指令总线分离
10、一条指令在一条指令在执行执行另一条指令另一条指令在等待执行在等待执行151.对外形成对外形成三总线三总线形式;形式;2.寄存器寄存器MAR和和MBR简化了简化了CPU与主存之间的传送与主存之间的传送通路通路,使其,使其容易控制容易控制;3.寄存器寄存器MAR和和MBR对用户对用户透明透明,即即不能编程访问不能编程访问;B存储器缓冲寄存器存储器缓冲寄存器内存地址寄存器内存地址寄存器P63161. CISC(Complex Instruction Set Computer,复杂指令集计算机)不断增强原有指令的功能以及设置更为复杂的新指令取代原先由程序段完成的功能,从而实现软件功能的硬化。2. RI
11、SC(Reduced Instruction Set Computer,精简指令集计算机)通过减少指令种类和简化指令功能来降低硬件设计复杂度,从而提高指令的执行速度。现代计算机:RISC+CISC17美国加州大学Berkeley分校的研究结果表明CISC : 许多复杂指令很少被使用,“2-8原则”控制器硬件复杂(指令多,且具有不定长格式和复杂的数据类型),占用了大量芯片面积,且容易出错,VLSI设计困难。指令操作繁杂,执行速度慢。指令规整性不好,不便利用流水线技术提高性能。18 RISC机的设计应当遵循以下五个原则: 指令条数少,格式简单,易于译码; 提供足够的寄存器,只允许load 和sto
12、re指令访问内存; 指令由硬件直接执行, 在单个周期内完成; 充分利用流水线; 强调优化编译器的作用; 19指令集结构(ISA)是体系结构的主要内容之一,其功能设计实际就是确定软硬件的功能分配。考虑因素考虑因素 速度、成本和灵活性实现方式实现方式 硬件、软件 优化策略优化策略 RISC、CISC;流水线;多核;实现内容实现内容 数据类型、指令功能、指令格式、寻址方式实现步骤实现步骤根据应用初拟出指令的分类和具体的指令;编写出针对该指令系统的各种高级语言编译程序;对多种算法程序进行模拟测试,确认指令系统的操作码和寻址方式的效能是否都比较高;用硬件实现高频使用的指令,软件实现低频使用指令。20指令
13、集设计示例指令集设计示例假设某机器的字长是假设某机器的字长是8位位,支持常见的简单指令支持常见的简单指令:指令是指令是双地址指令双地址指令,源操作数采用,源操作数采用2种寻址方式种寻址方式寄寄存器寻址存器寻址(R0R3)和立即寻址和立即寻址;目标操作数可采用;目标操作数可采用2种种寻址方式寻址方式寄存器寻址和存储器直接寄存器寻址和存储器直接。请为下述九条。请为下述九条机器指令设计可行的代码方案。机器指令设计可行的代码方案。若采用定长编码(若采用定长编码(8bit8bit)方案,可定义指令格式如下:)方案,可定义指令格式如下:76543210=0000=0000表示表示ADDADD=0001=0
14、001表示表示SUBSUB=0010=0010表示表示MOVMOV=0011=0011表示表示ININ=0100=0100表示表示OUTOUT=0101=0101表示表示RRRR目的操作数寻址方式:目的操作数寻址方式:0 0直接寻址直接寻址 1 1寄存器寻址寄存器寻址目标寄存目标寄存器编号器编号源操作数寻址方式:源操作数寻址方式:00立即寻址立即寻址 11寄存器寻址寄存器寻址源寄存器源寄存器编号编号操操 作作 码码2122 由于直接与机器指令二进制表示法打交道很困难,于是普遍使用的是机器指令的符号表示法(symbol representation)。操作码可缩写成助记符助记符(mnemonic
15、)(mnemonic)来表示:ADD加SUB减MUL乘DIV除LOAD 由存储器装入STOR 存入存储器汇编语言汇编语言23确认某种特殊类型的数据是否应该得到硬件支持 数值型数据:无符号整数、带符号整数、浮点数 非数值数据:字符串确认字长(对数据长度的限制) 截断(truncation)或溢出(overflow)在选择数据格式和长度时需要平衡数值范围、程序执行期间发生溢出的可能性、处理设备和存储设备的复杂性、以及价格和速度等因素。24指令按功能可分成以下三种基本类型:1.1.数据传输:数据传输:将数据从一个地方(源地址)复制到另一个 地方(目的地址),传输结束后源地址中的内容不变。u 数据传送
16、范围: R-R、R-M、M-R或M-Mu 数据传送宽度:一般为固定值(如8、16或32bit),其它宽度的数据传送一般可通过软件移位和合并操作来实现。2.2.数据运算:数据运算:包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或等)。u 该类指令需要明确操作数的类型和长度。3.3.控制类:控制类:用于改变正常的程序执行流程,完成程序的跳转,主要包括转移指令和过程指令。I/O?25操作码操作码(operation code,opcode):需要完成的操作;源操作数源操作数 (source operand reference):操作所需的输入;结果操作数结果操作数 (result ope
17、rand reference):操作产生的结果;下一条指令下一条指令 (next instruction reference):告诉CPU到哪里取下一条指令。26 在计算机内部,指令由一个位串来表示。相应于指令的各要素,这些位串划分成几个字段字段:操作码字段:操作码字段:说明CPU应进行的操作按操作类型分组:同类操作要求同样或类似的控制信号,因此编码也类似(有尽可能多的公共位)操作数字段操作数字段/ /地址字段:地址字段:说明源操作数和目的操作数存放的位置信息(R、M或I/O);说明源操作数和目的操作数的数据类型;下一条指令地址字段:下一条指令地址字段: 如紧跟当前指令,在主存或虚存中,则不需
18、显示引用; 如可能产生跳转,则需要显示给出存储地址;指令类型决定了指令类型决定了CPUCPU的软件功能特性的软件功能特性寻址方式决定了寻址方式决定了CPUCPU硬件功能特性硬件功能特性27常见指令字段分配常见指令字段分配操作码位段分配操作码位段分配扩展操作码扩展操作码28 二元操作(binary operation)是一种基本操作类型,这样的指令通常包含三个操作数地址:两个源操作数和一个目的(结果)操作数。为了缩短指令长度,可以采用以下方法:只有一个地址指定给存储器中的操作数,而其余地址都指定给寄存器,可以在指令格式中明确地指定其寄存器号。把一个、两个或三个操作数的地址在指令格式中变成隐含的地
19、址。隐含的地址可以指定给专用寄存器,而这些寄存器的名字隐含在指令格式的操作码中。机器指令结构机器指令结构:M-M、M-R、R-R机器指令结构机器指令结构:零地址零地址、单、单地址、地址、双双地址地址29操作数实际存放位置:寻址方式:1在指令码中指定操作数:立即数寻址立即数寻址2在寄存器中指定操作数:寄存器(直接)寻址寄存器(直接)寻址3在存储器中指定操作数:存储器直接寻址、存储器间接寻址存储器直接寻址、存储器间接寻址4在汇编程序中指定操作数: 相对寻址相对寻址5操作数在I/O接口中: 存储器寻址(存储器映像编址)或端口寻址(独立编址)存储器寻址(存储器映像编址)或端口寻址(独立编址)A BD
20、B控控制制器器运运 算算 器器寄寄 存存 器器C P U存存 储储 器器00000HF F F F F HI/O 接接 口口0000HF F F F HI/O 外外 设设C B3031 指令的地址字段给出寄存器号(名)寄存器号(名) ,而被指定的寄存器的内容就是操作数。 32指令的地址字段直接给定一个立即数作为存储单元的地址。寄存器直接寻址33(1) 寄存器间接寻址方式(2) 存储器间接寻址方式(3) 位移量寻址方式(4) 变址寻址方式(5) 比例尺寻址方式用于加强编写与位置无关的汇编语言程序用于加强编写与位置无关的汇编语言程序34 将存储器地址指定在寄存器中,即让寄存器内容指向一个可访问到操
21、作数的存储器单元。34/8635 多级多级间接寻址;间接寻址; 通常用于访问存储器中通常用于访问存储器中的的“跳转表跳转表”:跳转表首址:跳转表首址指定在指定在寄存器寄存器中,该表中的中,该表中的每个表项指向一个可访问到每个表项指向一个可访问到操作数的存储器单元。操作数的存储器单元。跳转表跳转表36 通常用于数组、矩阵类向量数据的存取:寄存器寄存器值指定数组首址,立即数指定组内偏移;37 通常用于数组、矩阵类通常用于数组、矩阵类向量数据的存取:向量数据的存取:寄存器寄存器RsRs(基址寄存器)(基址寄存器)值指定值指定数组首址,数组首址,寄存器寄存器RxRx(变变址寄存器址寄存器)指定组内偏移
22、指定组内偏移;38用字节表示的操作数的长度位移量寻址位移量寻址+变址寻址变址寻址+自增自增/自减寻址自减寻址39 主要用在主要用在转移和跳转转移和跳转指令,指定汇编语言程指令,指定汇编语言程序码的内部位置作为序码的内部位置作为目的地址偏移量目的地址偏移量操作数。操作数。指令:JUMP abe 操作: PC abe = (PC)updated +immSign_ext当前指令取出当前指令取出后的后的PCPC值值出现在指令中出现在指令中40ALU的实现:的实现:(1)由基本门电路实由基本门电路实现现全加器全加器;(2)由由n位位全加器全加器构成构成n位加法器;位加法器;(3)以加法器为核心,以加法
23、器为核心,通过通过扩展输入选扩展输入选择逻辑择逻辑实现其它实现其它基本算术和逻辑基本算术和逻辑运算;运算;41算术逻辑算术逻辑运算功能运算功能移位移位运运算功能算功能42IRIDREGALUMEM开始开始退出退出IRIDALUMEMREG微操作通道开始开始退出退出单通数据通道RISC:Load/Store结构结构CISC:寻址方式复杂:寻址方式复杂434445时序控制部件:脉冲源+分频逻辑;用以产生各种系统所需的、满足时序要求的控制信号。 指令周期 读取并执行一条指令所需的时间工作周期 指令周期中的不同工作阶段时钟周期 系统中最小的基本时间分段CPUCPU中的多级时序中的多级时序 46一个指令
24、周期中的多个工作周期一个指令周期中的多个工作周期 指令周期状态图指令周期状态图 取指令取指令指令地指令地址计算址计算指令操指令操作译码作译码取操取操作数作数数据数据操作操作操作数地操作数地址计算址计算存操存操作数作数操作数地操作数地址计算址计算cpucpu访问存访问存储器或储器或I/OI/OCpuCpu内内部操作部操作多个操多个操作数作数多个多个结果结果字符串或向量字符串或向量指令完成取下一条指令指令完成取下一条指令47现代控制器设计趋势现代控制器设计趋势: 采用非集中控制模式采用非集中控制模式,I/O和和M拥有各自的控制器,拥有各自的控制器,从而变为自主的功能部件。从而变为自主的功能部件。
25、I/O和和M采用异步控制。采用异步控制。 按照微控制命令的形成方按照微控制命令的形成方式,控制器可分为式,控制器可分为随机随机逻辑逻辑和和微程序微程序两种基本类型两种基本类型。 控制器控制器根据指令根据指令译码结果和当前状态译码结果和当前状态决定在什么时间、决定在什么时间、根据什么条件、发出什么命令、做什么操作根据什么条件、发出什么命令、做什么操作:生成时序控制信号生成时序控制信号生成指令执行所需的控制信号生成指令执行所需的控制信号响应各响应各种种中断或异常事件请求中断或异常事件请求48随机逻辑随机逻辑(硬连逻辑硬连逻辑)体系结构用体系结构用布尔逻辑函布尔逻辑函数数来表示来表示控制单元控制单元
26、的输入和输出之间的关系。的输入和输出之间的关系。时序部件时序部件指令预处理指令预处理49优点: 可通过简化指令减少所使用的门电路总数从而减少制造费用。缺点:指令集结构与硬件逻辑方程之间存在着密切联系,设计过程复杂。重用性差,设计成果很少能再利用到以后的新CPU设计中。适用于较简单的指令集结构。50最小化逻辑门数目优化硬件逻辑、尽可能地少用触发器优化硬件时序逻辑门级数最小化;建立并行通路以满足时序约束(增加逻辑)简化指令集逻辑简单、寄存器数量少RISC这是最重要的目的这是最重要的目的51一一指令集结构驱动硬件的逻辑方程指令集结构驱动硬件的逻辑方程 定义所需的指令集结构;定义所需的指令集结构; 根
27、据指令集决定硬件逻辑及状态机;根据指令集决定硬件逻辑及状态机;二二硬件逻辑方程反馈到指令集结构硬件逻辑方程反馈到指令集结构 对指令集结构做必要的修改和优化;对指令集结构做必要的修改和优化; 最大限度地减少逻辑复杂度;最大限度地减少逻辑复杂度;52 程序计数器的值经MUX送到存储器; 存储器送回的指令写入指令寄存器; 程序计数器加1后回写;53 寄存器堆中的某个地址寄存器通过MUX寻址存储器,获得ALU的一个操作数操作数; 另一个操作数操作数来自于寄存器堆中的数据寄存器; ALU的结果结果值被回写入寄存器堆。54 考虑如何让逻辑门可以快速而方便地实现 指令译码。 在随机逻辑CPU的指令集中,可以
28、使用以下4种类型的指令:1分支指令(branch instruction) 2存储器引用指令(memory reference instruction)3ALU指令(ALU instruction)4设置指令(SET instruction) 一般的设计方法是将指令内部的结构划分成多个指令字段(field)。同时还要求这些指令字段在各指令中所放的位置尽可能一样。这样,在CPU中可以减少指令译码所需的逻辑门数量。55如果限制在机器内部只用一个累加器,则指令集就会被限如果限制在机器内部只用一个累加器,则指令集就会被限制在如下范围内制在如下范围内: 使用单目操作数的指令,可以将累加器作为一个源操作数
29、,同时可作为一个目的操作数。 使用双目操作数的指令,可以将累加器作为一个源操作数,以存储器作为另一个源操作数,累加器同时也可作为目的操作数。如果只用一个索引寄存器,则寻址模式将局限于以下两种如果只用一个索引寄存器,则寻址模式将局限于以下两种方式方式: 当进行直接存储器寻址时,存储器地址由指令中的部分字段提供。 当进行位移量寻址时,目标地址一部分来自指令的存储器地址,与指数寄存器相加之后,形成目标操作数的地址。56在微码结构中,控制单元的输入和输出之间的关系被视为一个存储系统。时序部件时序部件指令预处理指令预处理 工作原理工作原理 微程序控制微程序控制( (存储控制存储控制) ) 组成组成微码控
30、制器微码控制器+ +微代码微代码57优点:优点:1.可以通过减少取指令次数的方法来降低存储器总访问时间从而提高系统性能;2.简化硬件设计,可使其成品机器几乎没有设计上的错误;3.建立或改动微代码比建立或改动电路省时、不易出错,因此更易于创建新的CPU版本;缺点:缺点: 同样功能微代码比硬连逻辑实现的开销大;58硬件设计开销硬件设计开销随机逻辑CPU的硬件和指令集必须同步进行设计和优化,因此比较复杂。微码CPU的指令集设计并不直接影响现有硬件,修改指令集并不需要重新设计新的硬件。性能性能如果采用相同指令集,则随机逻辑CPU操作会更快。如果执行相同的计算任务,微码CPU能够通过使用更少(但更复杂)
31、的指令达到更高性能。当系统整体性能受限于存储器的速度时,微码CPU对性能提高的优势更为明显。59一一建立建立硬件体系结构硬件体系结构, 保证其具备保证其具备执行必要执行必要基本功能基本功能步骤的功能。步骤的功能。二二将指令分割成许多微步骤,转写将指令分割成许多微步骤,转写成成微程序微程序并写入并写入控制存储器控制存储器。微指令微指令Micro-instruction:控制存储器中的一个存储单元(字)表示控制存储器中的一个存储单元(字)表示了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称了某一条指令的某一操作步骤的控制信号,以及下一步骤的有关信息,称该字为微指令该字为微指令微程序
32、微程序Micro-program(固件(固件fireware,全部微指令的集合),全部微指令的集合)指令指令instruction微码控制器微码控制器Microcode controller(定序器(定序器sequencer)601.控制逻辑对IR中的指令译码,确定对应微码程序地址并写入PC;2.PC向微码ROM提供 地址,返回的微码写入IR;3.IR译码后产生相应的控制信号;4.PC地址加1后获取下一条微指令地址,直到完成整个微码程序61 数据通路一般应有如下三个基本的时钟周期:1.从存储器读数据后:从存储器读数据后:写入寄存器堆(Register File);写入指令寄存器(IR);写入临
33、时寄存器(TempIn);作为ALU的一个输入;2.从从寄存器读数据后:寄存器读数据后:写入存储器地址寄存器MAR;写入临时寄存器作为ALU的 一个输入;存入存储器;3.将将Result寄存器内容写入寄存器组,或存入存储器;寄存器内容写入寄存器组,或存入存储器;62延迟延迟320ps吞吐量吞吐量3.12GIPS延迟延迟?ps吞吐量吞吐量?GIPS延迟延迟360ps吞吐量吞吐量8.33GIPS单个操作延迟增加;单个操作延迟增加;整体吞吐量增加;整体吞吐量增加;6364 各阶段性能差异会各阶段性能差异会导致流水线性能下降导致流水线性能下降 寄存器延迟寄存器延迟开销开销导导致流水线性能下降致流水线性
34、能下降硬件空闲硬件空闲延迟延迟?ps吞吐量吞吐量?GIPS延迟延迟360ps吞吐量吞吐量8.33GIPS65深度深度(depth)或并行度或并行度(degree of parallelism)即流水级数即流水级数m等待时间等待时间(latency) 每一作业从开始到结束所需时钟周期数,每一作业从开始到结束所需时钟周期数,m理想流水线:理想流水线: 各级延时时间相等;各级延时时间相等; 无等待时间;无等待时间; 大量代码不断流;大量代码不断流;66吞吐率Tp:指单位时间内能完成的作业量。最大吞吐率Tpmax:流水线达到稳定状态后的吞吐率。用于描述流水线执行各种运算的速率,通常表示为每秒执行的运算
35、数或每周期执行的运算数。1(1)1(1) / pnnTTm tntmnt 流水若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的实际吞吐率Tp为:可以看出,当n时,最大吞吐率Tpmax1/ t67CPU回写执行取指回写执行取指回写执行取指1取指1执行1回写2取指2执行2回写3取指3执行3回写4取指4执行4回写5取指5执行5回写M=3级流水线(深度3级) n5条指令的执行情况T流水m+(n1)t t 为拍长ttt68CPU回写执行取指回写执行取指回写执行取指1取指1执行1回写2取指2执行2回写3取指3执行3回写4取指4执行4回写5取指5执行5回写M=3级流水线(深度3级) n5
36、条指令的执行情况T流水m+(n1)t t 为拍长69非流水线执行时间相对流水线执行时间之比。 若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的加速比Sp为:(1)11(1)/pTn m tnmmSTm tntmnmn 串行流水可以看出,当 n时,Spm,即最大加速比等于流水线的段数m。70一定时段内,流水线所有段处于工作状态的比率一定时段内,流水线所有段处于工作状态的比率。t1(1)1(1)/n m tm m tntmn 若一个m级线性流水线各级时长(即拍长)均为t,则连续处理n条指令时的效率E为:E =指令完成时间内占用的时空区 /指令总时空区可以看出,当 n时,E1,即
37、流过流水线的指令越多,流水线效率越高。 7111111I FI DO FEXW B2222233333.nnnnnI 1I 3I n拍(时间)拍(时间)段(空间)段(空间)两个同高不同宽的矩形,面积定义:时空区的面积两个同高不同宽的矩形,面积定义:时空区的面积大矩形宽度:大矩形宽度:n+(m1) 面积:面积:n+(m1)mt 小矩形宽度:小矩形宽度:n 面积:面积:nm t Nm时,时, 效率效率E(小矩形面积与大矩形面积之比)趋近于(小矩形面积与大矩形面积之比)趋近于1m=5级流水线级流水线72比较下列操作在微码比较下列操作在微码CPU和流水线和流水线CPU中的执行情况中的执行情况Mem(R
38、eg 1)+Mem(Reg 2)Reg 3微码机器(CISC)中只需要一条指令表示,而在流水线机器(RISC)里则需要3条指令;假设没有存储器延迟,则流水线机器中这3条指令可以在3个时钟周期内完成,而微码机器则需要8个时钟周期。在流水线机器中需要取存5次存储器,而微码机器只需要3次。若存储器速度为系统瓶颈,则应采用微码CPU3次指令,次指令,2次数据次数据1次指令,次指令,2次数据次数据取指取指+译码执行:取操作数译码执行:取操作数2,加法,存结果,加法,存结果73 易扩展 设计可复用 低功耗 容忍线延迟了解了解74计算和数据分离重新组织流水线型的计算链 硬连线流处理器和可编程流处理器源结点源
39、结点计算核心计算核心输出输出了解了解75 DRAM和计算逻辑集成在同一芯片内 提供高效率的机制来协调计算和通信了解了解76 时空域:采用时分复用方式利用可重配置硬件 设计灵活,易升级静态(全局)和动态(局部,无需停止工作)了解了解77作业:作业:13、5、9、10、11、1314思考:思考:1.6、4、68 、12、15, 1678补充题补充题(选作)选作)2 2、某计算机指令系统中,指令字长为、某计算机指令系统中,指令字长为1212位,每个地址码长位,每个地址码长3 3位,位,有三地址指令有三地址指令4 4条,单地址指令条,单地址指令255255条,零地址指令条,零地址指令1616条。条。(
40、1 1)能否以扩展操作码为其编码?说明其理由。)能否以扩展操作码为其编码?说明其理由。(2 2)如果其中单地址指令为)如果其中单地址指令为254254条呢?说明其理由。条呢?说明其理由。 1 1、有一条、有一条4 4个段的线性流水线,各段的执行时间分别为个段的线性流水线,各段的执行时间分别为50ns50ns、50ns50ns、100ns100ns、200ns200ns。 (1 1)连续向流水线输入)连续向流水线输入6 6条指令,画出指令执行的时条指令,画出指令执行的时- -空空图,求该流水线的实际吞吐率和效率。注意计算时需写出步骤。图,求该流水线的实际吞吐率和效率。注意计算时需写出步骤。 (2 2)该流水线的瓶颈在哪一个段?请采用两种不同的措)该流水线的瓶颈在哪一个段?请采用两种不同的措施消除此瓶颈,画出两种改进方法后执行施消除此瓶颈,画出两种改进方法后执行6 6条指令的时条指令的时- -空图。空图。 79第第 三三 章章 结结 束束