计算机原理 中央处理器:数据通路和控制器学习资料

上传人:yuzo****123 文档编号:139147901 上传时间:2020-07-20 格式:PPT 页数:231 大小:5.98MB
返回 下载 相关 举报
计算机原理 中央处理器:数据通路和控制器学习资料_第1页
第1页 / 共231页
计算机原理 中央处理器:数据通路和控制器学习资料_第2页
第2页 / 共231页
计算机原理 中央处理器:数据通路和控制器学习资料_第3页
第3页 / 共231页
计算机原理 中央处理器:数据通路和控制器学习资料_第4页
第4页 / 共231页
计算机原理 中央处理器:数据通路和控制器学习资料_第5页
第5页 / 共231页
点击查看更多>>
资源描述

《计算机原理 中央处理器:数据通路和控制器学习资料》由会员分享,可在线阅读,更多相关《计算机原理 中央处理器:数据通路和控制器学习资料(231页珍藏版)》请在金锄头文库上搜索。

1、计算机原理,第六章 中央处理器:数据通路和控制器,本讲简要说明,目的与要求:了解CPU的功能,理解处理器数据通路的建立,掌握单周期数据通路的设计 授课重点:单周期数据通路的建立与设计 授课难点:如何在处理器中建立数据通路 阅读章节:Computer Organization and Design第5章第13节,计算机原理和设计第4章第12节 作业安排:P354 5.1题,数据通路的位置 控制器的基本概念 单周期数据通路的设计 数据通路的功能和实现 操作元件(组合逻辑) 状态 / 存储元件(时序逻辑) 数据通路的定时 选择MIPS指令集的一个子集作为CPU的实现目标 下条指令地址计算与取指令部件

2、 R型指令的数据通路 访存指令的数据通路 立即数运算指令的数据通路 分支和跳转指令的数据通路 综合所有指令的数据通路,主 要 内 容,回顾存储程序计算机结构,控制器基本概念,控制器的功能(从程序执行角度看) 对指令流和数据流实施正确控制 在空间上,由控制器形成受控部件的控制信号 在时间上,控制器控制各种动作的执行顺序,控制器基本概念,控制器的功能(从系统 设计和实现的角度看) 取指令(控制指令流出) 分析指令(控制指令分析) 执行指令,发出各种操作命令(控制指令执行) 确定下一条指令的地址(控制指令流向) 执行环境的建立与保护(控制执行环境的维护),存储器,运算器,控制器,控制器基本概念,PC

3、 IR ID,ALU 寄存器 XR 地址运算,中断系统,CU 时序电路,控制器的功能(从完成功能角度看),1) 用户可见寄存器,(1) 通用寄存器,CPU 的寄存器,存放操作数,可作 某种寻址方式所需的 专用寄存器,(2) 数据寄存器,存放操作数(满足各种数据类型),两个寄存器拼接存放双倍字长数据,(3) 地址寄存器,存放地址,其位数满足最大地址范围,用于特殊寻址方式 段基值 栈指针,(4) 条件码寄存器,存放条件码,可作程序分支的依据,如 正、负、零、溢出、进位等,控制器基本概念,2) 控制和状态寄存器,(1) 控制寄存器,PC,控制 CPU 操作,(2) 状态寄存器,状态寄存器,其中 MA

4、R MBR IR 用户不可见,存放条件码用户可见,PSW 寄存器,存放程序状态字用户可见,PC 用户可见,MAR,MM,MBR,IR,控制器基本概念,CPU 的寄存器,CPU基本组成原理图,CPU 由 执行部件 和 控制部件组成 CPU 包含 数据通路 和 控制器,控制器 由 指令译码器 和 控制信号形成部件 等组成,CPU执行指令过程及其与计算机性能的关系,CPU执行指令的过程 取指令 PC+1送PC 指令译码 进行主存地址运算 取操作数 进行算术 / 逻辑运算 存结果 判断和检测“异常”事件 若有异常,则自动切换到异常处理程序 检测是否有“中断”请求,有则转中断处理 CPU的实现与计算机性

5、能的关系 计算机性能(程序执行快慢)由三个关键因素决定: 指令数目、时钟周期、CPI 指令数目由编译器和指令集决定 时钟周期和CPI由CPU的实现来决定,CPU的设计与实现非常重要!它直接影响计算机的性能。,问题: “取指令”一定在最开始做吗? “PC+1”一定在译码之前做吗? “译码”须在指令执行前做吗? “异常”和“中断”差别是什么?,组成指令功能的四个基本操作,每条指令的功能可能由四个基本操作实现 (1) 读取某一主存单元的内容,并将其装入某个寄存器 (2) 把一个数据从某个寄存器存入给定的主存单元中 (3) 把一个数据从某个寄存器送到另一个寄存器或ALU (4) 进行某种算术或逻辑运算

6、,将结果送入某个寄存器 操作功能可形式化描述 用寄存器传输语言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且时钟边沿到时,busW传来的 值开始被写入RW指定的寄存

11、器中,寄存器组的内部结构,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-1 Decoder,RA,RB,busA,busB,C,D,C,D,C,D,每个寄存器由32个触发器组成,输入数据来自busW,读出数据分别送busA和busB WriteEnable信号控制是否写入新值,理想存储器(idealized memory) Data Out:32位读出数据 Data In: 32位写入数据 Address:读写公用一个32位地址 读操作(组合逻

12、辑操作):地址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,Yin R2out,Add,Zin Zout,R3in 从主存取字 R1out,MARin Read, WMFC (等待MFC) MDRout,R2in 写字到主存 R1out,MARin R2out,MDRin, Wr

16、ite, WMFC,RR2MRR1,MRR1 RR2,问题:时钟周期的宽度如何确定? 以“Riout,OP,Rjin”所花时间来确定 还是以 “Read/Write”所花时间来确定? 以上四种操作各需要几个时钟周期?,1Cycle?,3Cycles?,3Cycles?,3Cycles?,三总线数据通路,单总线中一个时钟内只允许传一个数据,因而指令执行效率很低 可采用多总线方式,同时在多个总线上传送不同数据,提高效率 例:三总线数据通路 总线A、B分别传送两个源操作数,总线C传送结果 单总线中暂存器Y和Z可取消,Why? 采用双口寄存器 如何实现: RR3 RR1 op RR2 R1outA,R2outB,OP,R3inC 只要一个时钟周期即可,目前,大多数计算机都采用流水线方式执行指令,而上述单总线或三总线数据通路很难实现指令流水执行。,Z,Y,以MI

展开阅读全文
相关资源
相关搜索

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

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