[工学]《计算机组成与系统结构》清华大学出版社袁春风编著第六章课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《[工学]《计算机组成与系统结构》清华大学出版社袁春风编著第六章课件.ppt》由会员分享,可在线阅读,更多相关《[工学]《计算机组成与系统结构》清华大学出版社袁春风编著第六章课件.ppt(152页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、工学工学计算机组成与计算机组成与系统结构清华大学系统结构清华大学出版社袁春风编著第出版社袁春风编著第六章课件六章课件singlepath.2第一讲第一讲 单周期数据通路的设计单周期数据通路的设计CPU的功能及其与计算机性能的关系的功能及其与计算机性能的关系数据通路的位置数据通路的位置单周期数据通路的设计单周期数据通路的设计 数据通路的功能和实现数据通路的功能和实现-操作元件(组合逻辑部件)操作元件(组合逻辑部件)-状态状态 / 存储元件(时序逻辑部件)存储元件(时序逻辑部件) 数据通路的定时数据通路的定时选择选择MIPS指令集的一个子集作为指令集的一个子集作为CPU的实现目标的实现目标 下条指
2、令地址计算与取指令部件下条指令地址计算与取指令部件 R型指令的数据通路型指令的数据通路 访存指令的数据通路访存指令的数据通路 立即数运算指令的数据通路立即数运算指令的数据通路 分支和跳转指令的数据通路分支和跳转指令的数据通路综合所有指令的数据通路综合所有指令的数据通路主主 要要 内内 容容singlepath.3CPU功能及其与计算机性能的关系功能及其与计算机性能的关系CPU执行指令的过程:执行指令的过程:-取指令取指令-PC+1送送PC-指令译码指令译码-进行主存地址运算进行主存地址运算-取操作数取操作数-进行算术进行算术 / 逻辑运算逻辑运算-存结果存结果-判断和检测判断和检测“异常异常”
3、事件事件-若有异常,则自动切换到异常处理程序若有异常,则自动切换到异常处理程序-检测是否有检测是否有“中断中断”请求,有则转中断处理请求,有则转中断处理CPU的实现与计算机性能的关系的实现与计算机性能的关系 计算机性能计算机性能(程序执行快慢程序执行快慢)由三个关键因素决定:由三个关键因素决定:-指令数目、指令数目、CPI、时钟周期、时钟周期指令数目由编译器和指令集决定指令数目由编译器和指令集决定时钟周期和时钟周期和CPI由由CPU的实现来决定的实现来决定因此,因此,CPU的设计与实现非常重要!它直接影响计算机的性能。的设计与实现非常重要!它直接影响计算机的性能。指指令令执执行行过过程程问题:
4、问题:“取指令取指令”一定在最开始做吗一定在最开始做吗?“PC+1”一定在译码之前做吗?一定在译码之前做吗?“译码译码”须在指令执行前做吗须在指令执行前做吗?“异常异常”和和“中断中断”的差别是的差别是什么?什么?取指取指阶段阶段译码译码和和执行执行阶段阶段CPU的基本功能的基本功能(1)控制指令执行顺序)控制指令执行顺序(2)控制指令执行操作)控制指令执行操作(3)控制操作时序)控制操作时序(4)对数据进行运算)对数据进行运算(5)对访存或)对访存或I/O访问进行控制访问进行控制(6)异常和中断处理)异常和中断处理singlepath.4组成指令功能的四种基本操作组成指令功能的四种基本操作每
5、条指令的功能总是由以下四种基本操作来实现:每条指令的功能总是由以下四种基本操作来实现:(1)读取某一主存单元的内容,并将其装入某个寄存器;)读取某一主存单元的内容,并将其装入某个寄存器;(2)把一个数据从某个寄存器存入给定的主存单元中;)把一个数据从某个寄存器存入给定的主存单元中;(3)把一个数据从某个寄存器送到另一个寄存器或者)把一个数据从某个寄存器送到另一个寄存器或者ALU;(4 进行某种算术运算或逻辑运算,将结果送入某个寄存器。进行某种算术运算或逻辑运算,将结果送入某个寄存器。操作功能可形式化描述操作功能可形式化描述 描述语言称为寄存器传送语言描述语言称为寄存器传送语言RTL (Regi
6、ster Transfer Language) 本章所用的本章所用的RTL规定如下:规定如下:(1)用)用Rr表示寄存器表示寄存器r的内容;的内容;(2)用)用Maddr表示读取主存单元表示读取主存单元addr的内容;的内容;(3)传送方向用)传送方向用“”表示,传送源在右,传送目的在左;表示,传送源在右,传送目的在左;(4)程序计数器)程序计数器PC直接用直接用PC表示其内容;表示其内容;(5)用)用OPdata表示对数据表示对数据data进行进行OP操作。操作。singlepath.5CPU基本组成原理图基本组成原理图执行部件执行部件控制部件控制部件CPU 由由 执行部件执行部件 和和 控
7、制部件控制部件组成组成CPU 包含包含 数据通路数据通路 和和 控制器控制器控制器控制器 由由 指令译码器指令译码器 和和 控制信号形成部件控制信号形成部件 组成组成singlepath.6数据通路的位置数据通路的位置计算机的五大组成部分:计算机的五大组成部分:什么是数据通路(什么是数据通路(DataPath)? 指令执行过程中,数据所经过的路径,包括路径中的部件。它是指令执行过程中,数据所经过的路径,包括路径中的部件。它是指指令的执行部件令的执行部件。控制器(控制器(Control)的功能是什么?)的功能是什么? 对指令进行译码,生成指令对应的控制信号,控制数据通路的动作对指令进行译码,生成
8、指令对应的控制信号,控制数据通路的动作。能对指令的执行部件发出控制信号,是。能对指令的执行部件发出控制信号,是指令的控制部件指令的控制部件。ControlMemoryCPUInputOutputDatapathDatapathsinglepath.7数据通路的基本结构数据通路的基本结构数据通路由两类部件组成数据通路由两类部件组成 组合逻辑元件(也称操作元件)组合逻辑元件(也称操作元件) 存储元件(也称状态元件)存储元件(也称状态元件)元件间的连接方式元件间的连接方式 总线连接方式总线连接方式 分散连接方式分散连接方式数据通路如何构成?数据通路如何构成? 由由“操作元件操作元件”和和“存储元件存
9、储元件”通过总线方式或分散方式连接而通过总线方式或分散方式连接而成成数据通路的功能是什么?数据通路的功能是什么? 进行数据存储、处理、传送进行数据存储、处理、传送因此,数据通路是由因此,数据通路是由操作元件操作元件和和存储元件存储元件通过总线方式或通过总线方式或分散方式连接而成的进行数据存储、处理、传送的路径。分散方式连接而成的进行数据存储、处理、传送的路径。 singlepath.8操作元件:组合逻辑电路操作元件:组合逻辑电路加法器加法器(Adder)多路选择器多路选择器 (MUX)算逻部件算逻部件(ALU)32AB32Y32SelectMUX3232AB32ResultZeroOPALU3
10、232AB32SumCarryAdderCarryIn3Decoderout0out1out7out2译码器译码器(Decoder)何时要用到何时要用到adder, ALU, MUX or Decoder?控制信号控制信号组合逻辑元件的特点:组合逻辑元件的特点:其输出只取决于当前的输入。即:输其输出只取决于当前的输入。即:输入一样,其输出也一样入一样,其输出也一样定时:所有输入到达后,经过一定的定时:所有输入到达后,经过一定的逻辑门延时,输出端改变,并保持到逻辑门延时,输出端改变,并保持到下次改变,不需要时钟信号来定时下次改变,不需要时钟信号来定时二选一二选一 也可以多选一也可以多选一加法器需
11、要什加法器需要什么控制信号么控制信号?singlepath.9状态元件:时序逻辑电路状态元件:时序逻辑电路状态(存储)元件的特点:状态(存储)元件的特点: 具有存储功能,在具有存储功能,在时钟控制下时钟控制下输入被写到电路中,直到下个时钟到达输入被写到电路中,直到下个时钟到达 输入端状态由时钟决定何时被写入,输出端状态随时可以读出输入端状态由时钟决定何时被写入,输出端状态随时可以读出定时方式:规定信号何时写入状态元件或何时从状态元件读出定时方式:规定信号何时写入状态元件或何时从状态元件读出 边沿触发(边沿触发(edge-triggered)方式:)方式:-状态单元中的值只在时钟边沿改变。每个时
12、钟周期改变一次。状态单元中的值只在时钟边沿改变。每个时钟周期改变一次。上升沿(上升沿(rising edge) 触发:在时钟正跳变时进行读触发:在时钟正跳变时进行读/写。写。下降沿(下降沿(falling edge)触发:在时钟负跳变时进行读)触发:在时钟负跳变时进行读/写。写。最简单的状态单元(回顾:数字逻辑电路课程内容):最简单的状态单元(回顾:数字逻辑电路课程内容): D触发器:一个时钟输入、一个状态输入、一个状态输出触发器:一个时钟输入、一个状态输入、一个状态输出cycle timerising edgefalling edgesinglepath.10存储元件中何时状态被改变?存储元
13、件中何时状态被改变?切记:状态单元的输入信息总是在一个时钟边沿到达后的切记:状态单元的输入信息总是在一个时钟边沿到达后的“Clk-to-Q”时时 才被写入到单元中,此时的输出才反映新的状态值才被写入到单元中,此时的输出才反映新的状态值数据通路中的状态元件有两种:寄存器数据通路中的状态元件有两种:寄存器(组组) + 存储器存储器 ( Latch Prop - 锁存延迟锁存延迟 )Q总是在总是在clk-Q后跟着后跟着D变化变化这期间这期间D的变化不影响的变化不影响Qsinglepath.11寄存器的种类寄存器的种类寄存器由寄存器由N位触发器构成位触发器构成有各种不同类型的寄存器有各种不同类型的寄存
14、器 由锁存器构成的暂存器:带由锁存器构成的暂存器:带“写使能写使能”信号信号 用于和总线相连的、输出端带三态门的寄存器:带用于和总线相连的、输出端带三态门的寄存器:带“三态门控三态门控”信号信号 带带“复位复位”(清(清0)功能的寄存器:带)功能的寄存器:带“复位复位”信号信号 带计数(自增)功能的寄存器:可带带计数(自增)功能的寄存器:可带“自增自增”信号信号 带移位功能的寄存器:带带移位功能的寄存器:带“移位移位”信号信号 组合上述多个功能的寄存器:带多个控制信号组合上述多个功能的寄存器:带多个控制信号寄存器组有若干个寄存器组成寄存器组有若干个寄存器组成 通常是双口:两个读口通常是双口:两
15、个读口 + 一个写口一个写口可带时钟输入信号可带时钟输入信号 用于控制输入信号何时被写入到寄存器中用于控制输入信号何时被写入到寄存器中 经过一个经过一个clk-to-Q,输入信号在寄存器的输出端有效!,输入信号在寄存器的输出端有效!singlepath.12存储元件存储元件: 寄存器和寄存器组寄存器和寄存器组寄存器(寄存器(Register) 有一个写使能(有一个写使能(Write Enable-WE)信号)信号 0: 时钟边沿到来时,输出不变时钟边沿到来时,输出不变 1: 时钟边沿到来时,输出开始变为输入时钟边沿到来时,输出开始变为输入 若每个时钟边沿都写入,则不需若每个时钟边沿都写入,则不
16、需WE信号信号寄存器组(寄存器组(Register File) 两个读口(两个读口(组合逻辑操作组合逻辑操作):):busA和和busB分别由分别由RA和和RB给出地址。地址给出地址。地址RA或或RB有效后,经一个有效后,经一个“取数时间取数时间(AccessTime)”,BusA和和BusB有效。有效。 一个写口(一个写口(时序逻辑操作时序逻辑操作):):写使能为写使能为1的情况下,时钟边沿到来时,的情况下,时钟边沿到来时,busW传来传来的值开始被写入的值开始被写入RW指定的寄存器中。指定的寄存器中。ClkData InWrite EnableNNData OutClkbusWWrite
17、Enable3232busA32busB555RW RA RB32 32-bitRegisterssinglepath.13寄存器组的内部结构寄存器组的内部结构busWCD01 3031MUXMXURegister 0Register 1Register 30Register 31Write EnableRW32-to-1DecoderRARBbusAbusB ClkCDCDCD每个寄存器由每个寄存器由32个触发器组成个触发器组成;输入数据来自输入数据来自busW,读出数据分别送,读出数据分别送busA和和busB;WriteEnable信号控制是否写入新值。信号控制是否写入新值。single
18、path.14理想存储器(理想存储器( idealized memory ) Data Out:32位读出数据位读出数据 Data In: 32位写入数据位写入数据 Address:读写公用一个读写公用一个32位地址位地址 读操作(读操作(组合逻辑操作)组合逻辑操作):地址:地址Address有效后,经一个有效后,经一个“取数时取数时间间AccessTime”,Data Out上数据有效。上数据有效。 写操作(写操作(时序逻辑操作)时序逻辑操作) :写使能为写使能为1的情况下,时钟的情况下,时钟Clk边沿到边沿到来时,来时,Data In传来的值开始被写入传来的值开始被写入Address指定的
19、存储单元中。指定的存储单元中。存储元件存储元件: 理想存储器理想存储器ClkData InWrite Enable3232DataOutAddress为简化数据通路操作的说明,在此把存储器简化为为简化数据通路操作的说明,在此把存储器简化为带时钟信号带时钟信号Clk的理想模型。的理想模型。singlepath.15数据通路与时序控制数据通路与时序控制同步系统同步系统(Synchronous system) 所有动作有专门时序信号来定时所有动作有专门时序信号来定时 由时序信号规定何时发出什么动作由时序信号规定何时发出什么动作 例如,指令执行过程每一步都有控制例如,指令执行过程每一步都有控制信号控制
20、,由定时信号确定控制信信号控制,由定时信号确定控制信号何时发出、作用时间多长号何时发出、作用时间多长什么是时序信号?什么是时序信号? 同步系统用于同步控制的定时信号同步系统用于同步控制的定时信号什么叫指令周期?什么叫指令周期? 取并执行一条指令的时间取并执行一条指令的时间 不同指令的指令周期可能不同不同指令的指令周期可能不同早期计算机的三级时序系统早期计算机的三级时序系统 机器周期机器周期 - 节拍节拍 - 脉冲脉冲 指令周期可分为取指令、读操作数指令周期可分为取指令、读操作数、执行并写结果等多个基本工作周、执行并写结果等多个基本工作周期,称为机器周期。期,称为机器周期。 机器周期有取指令、存
21、储器读、存机器周期有取指令、存储器读、存储器写、中断响应等不同类型储器写、中断响应等不同类型现代计算机已不再采用三级时序系统,机现代计算机已不再采用三级时序系统,机器周期的概念已逐渐消失。器周期的概念已逐渐消失。整个数据通路中的定时信号就是时钟,一整个数据通路中的定时信号就是时钟,一个时钟周期就是一个节拍。个时钟周期就是一个节拍。singlepath.16数据通路与时序控制数据通路与时序控制假定采用下降沿触发(负跳变)方式(也可以是上升沿方式)假定采用下降沿触发(负跳变)方式(也可以是上升沿方式) 所有状态单元在下降沿写入信息,经过所有状态单元在下降沿写入信息,经过Latch Prop (cl
22、k-to-Q) 后输出有效后输出有效 Cycle Time = Latch Prop + Longest Delay Path + Setup + Clock Skew(最大偏移最大偏移)约束条件:约束条件:(Latch Prop + Shortest Delay Path - Clock Skew) Hold Time Clk寄存器的输入可变化寄存器的输入可变化Setup Hold.Setup Hold数据通路由数据通路由 “ + 状态元件状态元件 + 操作元件操作元件( 组合电路组合电路) + 状态元件状态元件 + ” 组成组成只有状态元件能存储信息,所有操作元件都须从状态单元接收输入,并
23、将输出写入状态单只有状态元件能存储信息,所有操作元件都须从状态单元接收输入,并将输出写入状态单元中。其输入为前一时钟生成的数据,输出为当前时钟所用的数据元中。其输入为前一时钟生成的数据,输出为当前时钟所用的数据现代计算机的时钟周期现代计算机的时钟周期ClkClksinglepath.17早期累加器型指令系统数据通路早期累加器型指令系统数据通路最简单的数据通路结构最简单的数据通路结构 取指令数据路径为:取指令数据路径为: PCMAR, Read M, MMBRIBRIR取操作数、运算、送结果取操作数、运算、送结果的数据路径为:的数据路径为: 操作数地址操作数地址MAR, Read M, MMBR
24、ALU输入端输入端, ACALU输入端输入端, ALU操作操作, ALU结果结果MBR, Write MIAS计算机(冯计算机(冯.诺依曼等设计)是现代计算机的原型诺依曼等设计)是现代计算机的原型singlepath.18单总线数据通路单总线数据通路 四种基本操作的时序四种基本操作的时序 在通用寄存器之间传送数据在通用寄存器之间传送数据 R0out,Yin 完成算术、逻辑运算完成算术、逻辑运算R1out,YinR2out,Add,ZinZout,R3in 从主存取字从主存取字 R1out,MARinRead, WMFC (等待(等待MFC)MDRout,R2in 写字到主存写字到主存R1out
25、,MARinR2out,MDRin,Write, WMFCRR2MRR1 MRR1 RR2CPU访存有两种通信方式访存有两种通信方式早期:直接访问早期:直接访问MM, “异步异步”方式,用方式,用MFC应答信号应答信号现在:先现在:先Cache后后MM,“同步同步”方式,无需应答方式,无需应答问题:时钟周期的宽度如何确定?问题:时钟周期的宽度如何确定? 以以“Riout,OP,Rjin”所花时间来确定还是以所花时间来确定还是以 “Read/Write”所花时间来确定?所花时间来确定? 以上四种操作各需要几个时钟周期?以上四种操作各需要几个时钟周期?1Cycle?3Cycles?3Cycles?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 计算机组成与系统结构 计算机 组成 系统 结构 清华大学出版社 春风 编著 第六 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内