计算机组成原理第6章.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:134 大小:15.2MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机组成原理第6章.ppt

计算机组成原理第6章.ppt

预览

免费试读已结束,剩余 124 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

计算机组成原理教学课件王诚宋佳兴清华大学计算机系2009年10月第6章计算机的控制器部件1、控制器部件概述控制器的功能概述控制器的组成概述控制器组成和在整机中的地位两种不同类型的控制器时序控制信号形成部件2、硬连线控制器组成与运行原理硬连线控制器组成与运行原理硬连线控制器组成与运行原理硬连线控制器组成与运行原理指令执行步骤标记:节拍发生器硬连线控制器特点3、TH-FPGA计算机硬件系统TH-FPGA是一台16位字长、指令系统与TEC-2008计算机保持一致的计算机系统。CPU的功能使用VHDL语言描述,并在单个芯片的FPGA器件中实现,体现了CPU设计与实现的最新技术。整机系统中配置了由ROM、DRAM芯片构成的主存,配置了2路串行接口电路,可以连接由PC机实现的计算机仿真终端,配有监控程序,支持汇编语言程序设计。在这台计算机的设计实现过程中,全力朝着有利于降低教学授课与学习难度,有利于提高教学实验效果这个主导思想,指令都在2或3个步骤中完成,容易实现指令流水和片内Cache,还可选用片内存储器。运算器由ALU、REGs和Flag三个主要部件组成:ALU完成数据运算,运算数据可来自REGs的B口数据和A口数据,常数1和0,通过内部总线IB送来的输入数据,由多路选择器实现选择。REGs暂存数据和结果,由寄存器编号选择读写的寄存器,读出数据送ALU,写入的数据来自ALU运算结果并经由移位电路。Flag保存ALU产生的运算结果的标志信息。运算器的输出可以经IB送到其他部件。控制器设计考虑:选用多指令周期方案。为用一个步骤完成取指操作,要求可以用程序计数器PC作地址直接读内存,指令寄存器IR能直接接收读出的指令,还设置专用的加法器电路计算指令地址(PC+1→PC,PC+offset→PC),而不是再经ALU完成指令地址计算。为了处理CALA指令执行过程中保存主程序断点的需求,又在控制器中设置了一个缓冲寄存器NPC。以上线路的连接关系和信息传送关系从控制器组成框图中可以看得很清楚。CU部件用组合逻辑方案产生各部件使用的控制信号,它由两部分电路组成。第一部分是节拍发生器电路,产生指令执行步骤的标记信号,第二部分是控制信号的产生电路,依据指令的内容(由IR提供)、指令所处的执行步骤(由节拍发生器标记)通过组合逻辑电路提供此时刻各部件要用的控制信号。控制器部件主要由程序计数器PC、指令寄存器IR、节拍发生器Timing、控制信号产生线路CU等主要部分组成。设计工作主要集中到CU如何产生各组控制信号,这在后面会详细讲解。控制器内部各电路的连接关系是:PC可接收PC+1和PC+offset的计算结果,加运算使用专用的加法器完成;PC还可以接收经过总线从堆栈中读出来的主程序的断点地址。pc_wt信号用于控制PC的写入操作。PC+1的结果也能暂存到NPC,NPC的值可经过内部总线写入堆栈。取指操作时使用PC内容作地址去读存储器,IR接收读出来的指令内容,ir_wt信号用于控制IR的写入操作。此时还要同时完成PC+1→PC的功能。控制器和其他部件之间信息传送关系:控制器部件要为自己和其他部件提供控制信号。首先列出控制器本身用到的控制信号:pc_wt,ir_wt,npc_wt,pc_src,add_src,npc_ib。送其他部件的控制信号到介绍各个部件时再说明。需要送出PC的内容、ioport的内容到地址总线,要经过IB送NPC的内容到堆栈,要送出指令寄存器IR的dr和sr字段的内容到运算器部件。IR要接收从总线送来的指令内容,PC经总线接收丛运算器的REGs、从存储器、从堆栈中读来的指令地址。控制器部件要接收时钟信号clock,系统总清信号reset,运算器传送来的标志位信号C和Z。操作码3-1、划分指令执行步骤(1)按照指令系统的功能要求,设计计算机各部件的组成及其连接关系;(2)划分指令执行步骤,设计各步骤完成的功能,分配功能到各个部件;(3)确定要为每个执行步骤中各个部件提供哪些控制信号,设计这些控制信号的当前值。1取指周期00011以动画形式看几条指令的执行过程:2200:ADDR2,R3;3条指令的地址为2200、2201、22022201:JRNC2200;若C=0转去执行第1条,否则顺序执行2202:STRR[R2],R3;把R3的内容写入内存地址为[R2]的单元程序运行的初始状态:程序已读入内存,第1条指令地址已经在PC中,假定R2的初值为1234,R3的初值为2345。ADD指令的二进制代码为0000000000110010,已在内存中JRNC指令的二进制代码为0100010111111110,已在内存中STRR指令的二进制代码为100000110010