计算机原理 中央处理器:数据通路和控制器.ppt
《计算机原理 中央处理器:数据通路和控制器.ppt》由会员分享,可在线阅读,更多相关《计算机原理 中央处理器:数据通路和控制器.ppt(231页珍藏版)》请在三一办公上搜索。
1、计算机原理,第六章 中央处理器:数据通路和控制器,本讲简要说明,目的与要求:了解CPU的功能,理解处理器数据通路的建立,掌握单周期数据通路的设计授课重点:单周期数据通路的建立与设计授课难点:如何在处理器中建立数据通路阅读章节:Computer Organization and Design第5章第13节,计算机原理和设计第4章第12节作业安排:P354 5.1题,数据通路的位置控制器的基本概念单周期数据通路的设计数据通路的功能和实现操作元件(组合逻辑)状态/存储元件(时序逻辑)数据通路的定时选择MIPS指令集的一个子集作为CPU的实现目标下条指令地址计算与取指令部件R型指令的数据通路访存指令的
2、数据通路立即数运算指令的数据通路分支和跳转指令的数据通路综合所有指令的数据通路,主 要 内 容,回顾存储程序计算机结构,数据通路的位置,计算机的五大组成部分 什么是数据通路(DataPath)?指令执行过程中,数据所经过的路径(包括路径中的部件),是指令的执行部件 控制器(Control)的功能对指令进行译码,生成指令对应的控制信号,控制数据通路的动作。能对指令的执行部件发出控制信号,是指令的控制部件,控制器基本概念,控制器的功能(从程序执行角度看)对指令流和数据流实施正确控制在空间上,由控制器形成受控部件的控制信号在时间上,控制器控制各种动作的执行顺序,控制器基本概念,控制器的功能(从系统设
3、计和实现的角度看)取指令(控制指令流出)分析指令(控制指令分析)执行指令,发出各种操作命令(控制指令执行)确定下一条指令的地址(控制指令流向)执行环境的建立与保护(控制执行环境的维护),存储器,运算器,控制器,控制器基本概念,PC IR ID,ALU 寄存器 XR 地址运算,中断系统,CU 时序电路,控制器的功能(从完成功能角度看),1)用户可见寄存器,(1)通用寄存器,CPU 的寄存器,存放操作数,可作 某种寻址方式所需的 专用寄存器,(2)数据寄存器,存放操作数(满足各种数据类型),两个寄存器拼接存放双倍字长数据,(3)地址寄存器,存放地址,其位数满足最大地址范围,用于特殊寻址方式 段基值
4、 栈指针,(4)条件码寄存器,存放条件码,可作程序分支的依据,如 正、负、零、溢出、进位等,控制器基本概念,2)控制和状态寄存器,(1)控制寄存器,PC,控制 CPU 操作,(2)状态寄存器,状态寄存器,其中 MAR MBR IR 用户不可见,存放条件码用户可见,PSW 寄存器,存放程序状态字用户可见,PC 用户可见,MAR,MM,MBR,IR,控制器基本概念,CPU 的寄存器,CPU基本组成原理图,CPU 由 执行部件 和 控制部件组成CPU 包含 数据通路 和 控制器,控制器 由 指令译码器 和 控制信号形成部件 等组成,CPU执行指令过程及其与计算机性能的关系,CPU执行指令的过程取指令
5、PC+1送PC指令译码进行主存地址运算取操作数进行算术/逻辑运算存结果判断和检测“异常”事件若有异常,则自动切换到异常处理程序检测是否有“中断”请求,有则转中断处理CPU的实现与计算机性能的关系计算机性能(程序执行快慢)由三个关键因素决定:指令数目、时钟周期、CPI指令数目由编译器和指令集决定时钟周期和CPI由CPU的实现来决定,CPU的设计与实现非常重要!它直接影响计算机的性能。,问题:“取指令”一定在最开始做吗?“PC+1”一定在译码之前做吗?“译码”须在指令执行前做吗?“异常”和“中断”差别是什么?,组成指令功能的四个基本操作,每条指令的功能可能由四个基本操作实现(1)读取某一主存单元的
6、内容,并将其装入某个寄存器(2)把一个数据从某个寄存器存入给定的主存单元中(3)把一个数据从某个寄存器送到另一个寄存器或ALU(4)进行某种算术或逻辑运算,将结果送入某个寄存器操作功能可形式化描述用寄存器传输语言RTL(Register Transfer Language)描述本章所用的RTL规定:用Rr表示寄存器r的内容 用Maddr表示读取主存单元addr的内容 传送方向用“”表示,传送源在右,传送目的在左 程序计数器PC直接用PC表示其内容 用OPdata表示对数据data进行OP操作,数据通路的基本结构,数据通路由两类部件组成组合逻辑元件(亦称操作元件)存储元件(亦称状态元件)元件间的
7、连接方式总线连接方式分散连接方式数据通路的构成由“操作元件”和“存储元件”通过总线或分散方式连接而成数据通路的功能进行数据存储、处理、传送,因此,数据通路是由操作元件和存储元件通过总线方式或分散方式连接而成的进行数据存储、处理、传送的路径。,操作元件:组合逻辑电路,加法器(Adder)多路选择器(MUX)算术逻辑部件(ALU),译码器(Decoder),何时要用到adder,ALU,MUX or Decoder?,组合逻辑元件的特点 其输出只取决于当前的输入 定时:所有输入到达后,经过一定的逻辑门延时,输出端改变,并保持到下次改变,不需要时钟信号来定时,二选一 或多选一,加法器需要什么控制信号
8、?,状态元件:时序逻辑电路,状态(存储)元件的特点 具有存储功能,在时钟控制下输入状态被写到电路中,直到下一个时钟到达输入端状态由时钟决定何时写入,输出端状态随时可读出定时方式:规定信号何时写入状态元件或何时从状态元件读出边沿触发(edge-triggered)方式 状态单元中的值只在时钟边沿改变。每个时钟周期改变一次最简单的状态单元 D触发器:一个时钟输入、一个状态输入、一个状态输出,上升沿(rising edge)触发:在时钟正跳变时进行读/写下降沿(falling edge)触发:在时钟负跳变时进行读/写,回顾D触发器,切记:状态单元的输入信息总是在一个时钟边沿到达后的“Clk-to-Q
9、”时才被写入到单元中,此时的输出才反映新的状态值,数据通路中的状态元件有两种:寄存器(组)+存储器,Q总是在clk-Q后跟着D变化,建立时间(Set Time):在触发时钟边沿之前输入必须稳定保持时间(Hold Time):在触发时钟边沿之后输入必须保持Clock-to-Q-time:在触发时钟边沿,输出并不能立即变化,寄存器的种类,寄存器由N位触发器构成CPU中的不同类型寄存器由锁存器构成的暂存器:带“写使能”信号用于和总线相连的、输出端带三态门的寄存器:带“三态门控”信号带复位(清0)功能的寄存器 带计数(自增)功能的寄存器 带移位功能的寄存器组合上述多个功能的寄存器:带多个控制信号寄存器
10、组有若干个寄存器组成通常是双口:两个读口+一个写口可带时钟输入信号用于控制输入信号何时被写入到寄存器中,经过一个clk-to-Q,输入信号在寄存器的输出端有效!,存储元件:寄存器和寄存器组,寄存器(Register)写使能(Write Enable-WE)信号 0:时钟边沿到时,输出不变 1:时钟边沿到时,输出开始变为输入若每个时钟边沿都写入,则不需WE信号寄存器组(Register File)两个读口(组合逻辑操作):busA和busB 分别由RA和RB给出地址。地址RA或 RB有效后,经一个“取数时间(AccessTime)”,BusA和BusB有效一个写口(时序逻辑操作):写使能 为1且
11、时钟边沿到时,busW传来的 值开始被写入RW指定的寄存器中,寄存器组的内部结构,busW,C,D,0,1,30,31,M,U,X,M,X,U,Register 0,Register 1,Register 30,Register 31,Write Enable,RW,32-to-1Decoder,RA,RB,busA,busB,C,D,C,D,C,D,每个寄存器由32个触发器组成,输入数据来自busW,读出数据分别送busA和busBWriteEnable信号控制是否写入新值,理想存储器(idealized memory)Data Out:32位读出数据Data In:32位写入数据Addre
12、ss:读写公用一个32位地址读操作(组合逻辑操作):地址Address有效后,经一个“取数时间AccessTime”,Data Out上数据有效写操作(时序逻辑操作):写使能为1且时钟Clk边沿到时,Data In传来的值开始被写入Address指定的存储单元,存储元件:理想存储器,为简化数据通路操作的说明,在此把存储器简化为带时钟信号Clk的理想模型。,数据通路与时序控制,同步系统(Synchronous system)用专门时序信号定时操作时序信号规定何时发何操作时序信号用于同步控制的定时信号指令周期取出并执行一条指令的时间不同指令的指令周期会不同早期计算机三级时序系统机器周期节拍(时钟周
13、期)脉冲指令周期分为取指令、读数、执行并存结果多个基本工作 周期,称为机器周期机器周期有取指令、存储器读/写、中断响应等类型,现代计算机已不采用三级时序系统,机器周期的概念已逐渐消失。整个数据通路中的定时信号就是时钟,一个时钟周期就是一个节拍。,SKIP,四类指令的指令周期,非访存 指令周期,直接访存 指令周期,间接访存 指令周期,转移 指令周期,指令周期,BACK,数据通路与时序控制,Clk,寄存器的输入可变化,Setup,Hold,Setup,Hold,数据通路由“+状态元件+操作元件(组合电路)+状态元件+”组成,只有状态元件能存储信息,所有操作元件都须从状态单元接收输入,并将输出写入状
14、态单元中。其输入为前一时钟生成的数据,输出为当前时钟所用的数据,现代计算机的时钟周期,Clk,Clk,假定采用下降沿触发(负跳变)方式(可以是上升沿方式)状态单元在下降沿写入信息,经Latch Prop(clk-to-Q)后输出有效 Cycle Time=Latch Prop+Longest Delay Path+Setup+Clock Skew约束条件:(Latch Prop+Shortest Delay Path-Clock Skew)Hold Time 通常Latch Prop Hold Time,故无需考虑Hold Time,早期累加器型指令系统数据通路,最简单的数据通路结构 取指令数
15、据路径 PCMAR,Read M,MMBRIBRIR取操作数、运算、送结果的数据路径 操作数地址MAR,Read M,MMBRALU输入端,ACALU输入端,ALU操作,ALU结果MBR,Write M,单总线数据通路,四种基本操作的时序在通用寄存器之间传送数据 R0out,Yin 完成算术、逻辑运算R1out,YinR2out,Add,ZinZout,R3in从主存取字 R1out,MARinRead,WMFC(等待MFC)MDRout,R2in 写字到主存R1out,MARinR2out,MDRin,Write,WMFC,RR2MRR1,MRR1 RR2,问题:时钟周期的宽度如何确定?以“
16、Riout,OP,Rjin”所花时间来确定还是以“Read/Write”所花时间来确定?以上四种操作各需要几个时钟周期?,1Cycle?,3Cycles?,3Cycles?,3Cycles?,三总线数据通路,单总线中一个时钟内只允许传一个数据,因而指令执行效率很低可采用多总线方式,同时在多个总线上传送不同数据,提高效率例:三总线数据通路总线A、B分别传送两个源操作数,总线C传送结果单总线中暂存器Y和Z可取消,Why?采用双口寄存器如何实现:RR3 RR1 op RR2R1outA,R2outB,OP,R3inC只要一个时钟周期即可,目前,大多数计算机都采用流水线方式执行指令,而上述单总线或三总
17、线数据通路很难实现指令流水执行。,Z,Y,以MIPS指令系统为例介绍非总线式CPU的设计,回顾MIPS的三种指令类型,ADD and SUBSTRACTadd rd,rs,rtsub rd,rs,rtOR Immediate ori rt,rs,imm16LOAD and STORElw rt,rs,imm16sw rt,rs,imm16BRANCH beq rs,rt,imm16JUMPj target,这些指令具有代表性!算术运算、逻辑运算;RR型、RI型;访存指令;条件转移、无条件转移,本讲重点:实现以上指令的数据通路!,MIPS有哪三种类型指令?,R-Type、I-Type、J-Typ
18、e,设计处理器的步骤,第一步:分析每条指令的功能,并用RTL(Register Transfer Language)来表示 第二步:根据指令功能给出所需元件,并考虑如何将他们互连 第三步:确定每个元件所需控制信号的取值 第四步:汇总所有指令所涉及到的控制信号,生成一张反映指令与控制信号之间关系的表 第五步:根据表得到每个控制信号的逻辑表达式,据此设计控制器电路,处理器设计涉及到数据通路的设计和控制器的设计 数据通路中有两种元件 操作元件:由组合逻辑电路实现 存储(状态)元件:由时序逻辑电路实现,SKIP,RTL:The ADD Instruction(加法指令),addrd,rs,rtMPC从
19、PC所指的内存单元中取指令Rrd Rrs+Rrt从rs、rt 所指的寄存器中取数后相加,结果送rd 所指的寄存器中PC PC+4PC加4,使PC指向下一条指令,RTL:The Load Instruction(装入指令),lwrt,rs,imm16MPC(同加法指令)Addr Rrs+SignExt(imm16)计算数据地址(立即数要进行符号扩展)Rrt MAddr 从存储器中取出数据,装入到寄存器中PC PC+4(同加法指令),BACK to design pro.,数据通路中的关键路径(Load操作),寄存器组和理想存储器的定时方式写操作时,作为时序逻辑电路 时钟到达前输入需setup;到
20、达后经“Clk-to-Q”写入数据到达输出端读操作时,作为组合逻辑电路 地址有效后经过“access time”,输出开始有效,Clk,5,Rw,Ra,Rb,32 32-bitRegisters,Rd,Clk,Data In,DataOut,DataAddress,IdealDataMemory,Instruction bus,Instruction Address,IdealInstructionMemory,Clk,PC,5,Rs,5,Rt,16,Imm,32,32,32,32,Load操作:RRt M(Rs)+Imm16,取指部件(Instruction Fetch Unit),每条指令
21、都有的公共操作取指令:MPC更新PC:PC PC+4 转移(Branch and Jump)时,PC内容再次被更新为“转移目标地址”,顺序:先取指令,再改变PC的值(具体实现可以并行)决不能先改变PC的值,再取指令,取指后,每条指令功能不同,在数据通路中信息流动过程也不同下面分别对每条指令进行数据通路设计,加法和减法指令(R-type类型),实现目标(7条指令)ADD and subtractadd rd,rs,rtsub rd,rs,rtOR Immediate ori rt,rs,imm16LOAD and STORElw rt,rs,imm16sw rt,rs,imm16BRANCH b
22、eq rs,rt,imm16JUMP j target,1.考虑add和sub指令(R-Type指令的代表),RR(R-type)型指令的数据通路,功能:Rrd Rrs op Rrt Example:add rd,rs,rt,不考虑公共操作,仅R-Type指令执行阶段的数据通路如下:,ALUctr、RegWr:指令译码后产生的控制信号,Ra,Rb,Rw 分别对应指令的rs,rt,rd,指令“add rd,rs,rt”的控制信号应为?ALUctr=add,RegWr=1,带立即数的逻辑指令(ori指令),实现目标(7条指令)ADD and subtractadd rd,rs,rtsub rd,r
23、s,rtOR Immediate ori rt,rs,imm16LOAD and STORElw rt,rs,imm16sw rt,rs,imm16BRANCH beq rs,rt,imm16JUMP j target,2.考虑ori 指令(I-Type指令和逻辑运算指令的代表),RTL:The OR Immediate Instruction,orirt,rs,imm16MPC 取指令(公共操作,取指部件完成)Rrt Rrs or ZeroExt(imm16)立即数零扩展,并与rs内容做“或”运算PC PC+4 计算下地址(公共操作,取指部件完成),思考:应在前面数据通路上加哪些元件和连线?
24、用什么控制信号来控制?,逻辑运算,立即数为逻辑数,带立即数的逻辑指令的数据通路,Rrt Rrs op ZeroExtimm16 Example:ori rt,rs,imm16,32,Result,ALUctr,Clk,busW,RegWr,32,32,busA,32,busB,5,5,5,Rw,Ra,Rb,32 32-bitRegisters,Rs,Dont Care(Rt),ALU,R-Type类型的结果写入Rd,R-Type的操作数来自busB,Ori指令的控制信号:RegDst=?;RegWr=?;ALUctr=?;ALUSrc=?,Ori指令的控制信号:RegDst=1;RegWr=1
25、;ALUSrc=1;ALUctr=or,访存指令中的数据装入指令(lw),实现目标(7条指令)ADD and subtractadd rd,rs,rtsub rd,rs,rtOR Immediate:ori rt,rs,imm16LOAD and STORElw rt,rs,imm16sw rt,rs,imm16BRANCH:beq rs,rt,imm16JUMP:j target,3.考虑lw 指令(访存指令的代表),RTL:The Load Instruction,lwrt,rs,imm16MPC取指令(公共操作,取指部件完成)Addr Rrs+SignExt(imm16)计算存储单元地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机原理 中央处理器:数据通路和控制器 计算机 原理 中央处理器 数据 通路 控制器
链接地址:https://www.31ppt.com/p-6342289.html