计算机组成第6章_1

上传人:子 文档编号:52130236 上传时间:2018-08-18 格式:PPT 页数:113 大小:7.16MB
返回 下载 相关 举报
计算机组成第6章_1_第1页
第1页 / 共113页
计算机组成第6章_1_第2页
第2页 / 共113页
计算机组成第6章_1_第3页
第3页 / 共113页
计算机组成第6章_1_第4页
第4页 / 共113页
计算机组成第6章_1_第5页
第5页 / 共113页
点击查看更多>>
资源描述

《计算机组成第6章_1》由会员分享,可在线阅读,更多相关《计算机组成第6章_1(113页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理计算机组成原理教学课件王 诚 教授 清华大学计算机系2009年10月1计算机组成原理第章 计算机的控制器部件.1 控制器的功能、组成和指令执行步骤概述.2 硬连线控制器部件.3 微程序的控制器部件.4 指令流水线的概念和实现技术2计算机组成原理、控制器部件概述冯. 诺依曼结构的计算机“存储程序”计算机,设置内存,存放程序和数据 ,在程序运行之前将程序调入内存,然后执行程序 。计算机的功能是执行程序程序是依次排列起来的指令序列计算机执行程序的基本过程从程序首地址开始执行第一条指令分步执行每一条指令,并形成下一条待执行指令 地址自动地连续执行指令,直到程序的最后一条指令3计算机组成原

2、理控制器的功能概述控制器的功能就是控制指令的执行过程 能够正确并且自动地连续执行指令按程序中设定的指令次序执行 能够正确并分步完成每一条指令规定的功能读取指令 分析指令 执行指令能够在执行程序的过程中响应并处理中断 使计算机得以更有效的地兼顾多项工作进一步讲,就是向计算机各功能部件 (运算器、 存储器、总线、输入输出设备的接口,也包括控制 器部件本身) 提供它们执行指令过程中每一个步骤运 行所需要的控制信号。4计算机组成原理控制器的组成概述 程序计数器 PC存放指令地址,有 增量 或 接收新值的功能 指令寄存器 IR存放指令内容:操作码与操作数地址 指令执行步骤标记线路指明每条指令的执行步骤和

3、相对次序关系 控制信号产生线路给出计算机各功能部件协同运行所需要的全部控制信号主脉冲源与启停控制线路5计算机组成原理控制器组成和在整机中的地位 在计算机硬件系统中,控制器处于指挥控制地位6计算机组成原理两种不同类型的控制器根据指令步骤标记线路和控制信号产生线 路不同的组成和不同的运行原理,有两种不同 类型的控制器:硬连线控制器(组合逻辑控制器):采用组合逻辑线路、依据指令及其执行步 骤直接产生控制信号。微程序控制器:采用存储器电路把控制信号存储起来,依 据指令执行的步骤读出要用到的信号组合。7计算机组成原理时序控制信号形成部件译码IRPC节拍启停.控制条件控制器信号主振硬连线控制器地址寄存器输

4、出设备输入设备主存运算器部件数据总线地址总线控制总线8计算机组成原理、硬连线控制器组成与运行原理硬连线控制器由程序计数器PC、指令寄存器IR、 节拍发生器Timer 和 控制信号产生部件CU 4 部分组成PC用于提供待读出指令在主存储器中的地址,IR 用于保存从主存储器中读出的指令内容,Timer 用于给出并维护指令执行步骤的编码,控制信号产生部件用于依据指令内容(在IR中) 和指令执行所处的操作步骤(Timer 提供),用组合 逻辑线路产生计算机本操作步骤中各个部件所需要的 控制信号。划分指令执行步骤,确定各步骤应执行的功能和 步骤之间的衔接关系,以及确定各部件完成这些功能 所需要的控制信号

5、,是控制器设计的几个关键环节。9计算机组成原理硬连线控制器组成与运行原理如何划分指令执行步骤,是由指令的格式、功能 和计算机结构决定的。已经说过,一条指令的执行过 程包括读取指令、指令译码、指令执行 等几个步骤, 而且读取指令公用于所有指令,指令译码步骤对不同 指令差异也不大,不同指令执行上的主要差异表现在 指令执行这一步骤,如具体用到几个操作步骤、具体 完成何种功能,需要遵照指令本身的功能要求来安排指令中最常用到的操作功能主要是: (1) 累加器之间的数据运算或传送 (1步完成), (2) 存储器 或 入/出设备读写 (2步完成) , (3) 改变指令执行次序 ( 1或2步完成 ) 等几种基

6、本类型10计算机组成原理硬连线控制器组成与运行原理划分指令执行步骤,与分配各步骤应执行的功能 以及步骤之间的衔接方案密切相关,是由指令的总体 功能决定的,各步骤的执行次序有严格的逻辑关系, 在简单的、指令完全串行执行的多周期 CPU系统中, 这个关系是简单而明确的。例如,执行指令的前提是 先得到指令,因此执行指令的第 1个动作只能是取指 步骤,之后进入译码步骤;接着执行指令具体功能, 例如寄存器之间的数据运算或传送,读写主存或 I/O 接口(要先送地址,之后才能开始读写操作)。在这个 期间还要形成下条指令的地址,如此等等。力争用最少的执行步骤完成每条指令的功能是设 计多周期 CPU 的控制器的

7、原则之一。11计算机组成原理硬连线控制器组成与运行原理在多周期 CPU 系统中, 要按照指令总的功能要求, 把不同的功能序列划分到相应的步骤,再落实到不同 的部件,控制器需要按照指令及其执行步骤,为计算 机各个部件提供它们协同运行所需要的控制信号。向各部件提供哪些控制信号,决定于各部件的运 行要求。为此必须规划汇总各部件在各个执行步骤中 要求使用的控制信号。例如,教学机的运算器要求使用 23 位控制信号,控制器就必须按照运算器的运行要求如实提供。 控制器同样需要向主存储器、接口电路、总线电路、也包括控 制器部件本身提供相应控制信号。这些信号是用组合逻辑 电路产生的,可以表示为: 信号i = f

8、 (指令内容, 执行步 骤 等),通常表现为多个由与、或两级逻辑构成的表达式。12计算机组成原理指令执行步骤标记:节拍发生器前面已经说到,一条指令的执行时间被称为指令 周期,一个指令周期通常由几个 CPU 周期组成。指令的总体功能被分配在这几个 CPU 周期依次完成,每 个周期完成指令的一部分功能。不同指令依据其功能的复杂程度,将使用不同数 目的CPU时钟,会造成CPU周期有不同的衔接次序。为此需要设计专门的电路,实现时钟周期的切换和衔接。这个电路是用触发器构成的时序逻辑电路,以有 限状态自动机原理运行。若把各时钟周期与有限状态自动机的一个选定状态相对应, 则自动机的状态转换就是时钟周期的切换

9、与衔接关系。有的计算机又把一个 CPU周期划分几个更小的执行步骤, 称其为节拍。也可以使一个CPU周期就是一个节拍,则可以把 实现CPU周期转换的电路叫做节拍发生器(Timer/Timing)。13计算机组成原理硬连线控制器特点用与-或两级构成的逻辑电路生成控制信号线路延时小,指令执行速度快适合实现比较精简的指令系统(早期)常用于实现 RISC 机 (当前)较容易实现并行可扩展性差,制作系列机时较难实现下面以TH-FPGA教学计算机系统为例, 讲解硬连线控制器14计算机组成原理3、TH-FPGA计算机硬件系统TH-FPGA是一台16位字长、指令系统与TEC- 2008 计算机保持一致的计算机系

10、统。 CPU 的功能使 用VHDL语言描述,并在单个芯片的FPGA器件中实 现,体现了CPU设计与实现的最新技术。整机系统中配置了由ROM、DRAM芯片构成的主 存,配置了路串行接口电路,可以连接由PC机实现 的计算机仿真终端,配有监控程序,支持汇编语言程 序设计。在这台计算机的设计实现过程中,全力朝着有利 于降低教学授课与学习难度,有利于提高教学实验效 果这个主导思想,指令都在2或3个步骤中完成,容易 实现指令流水和片内Cache,还可选用片内存储器。15计算机组成原理运算器由ALU、REGs 和Flag 三个主要部件组成:ALU完成数据运算 , 运 算数据可来自REGs 的B口 数据和A口

11、数据,常数和 ,通过内部总线IB送来 的输入数据,由多路选择 器实现选择。REGs暂存数据和结果, 由 寄存器编号选择读写的寄 存器,读出数据送ALU, 写入的数据来自ALU运算 结果并经由移位电路。Flag保存ALU产生的运算 结果的标志信息。运算器的输出可以经IB送 到其他部件。运算器部件在第章 已经讲解过。在运算器中,读寄存器组、ALU运算、写回结果可一步完成。16计算机组成原理控制器设计考虑:选用多指令周期方案。为用一个步骤完成取指操作,要求可以用程序计数器 PC 作地址直接读内存,指令寄存器IR 能直接接收读出的指令, 还设置专用的加法器电路计算指令地址(PC+1PC,PC+offs

12、et PC),而不是再经ALU完成指令地址计算。 为了处理CALA指令执行过程中保存主程序断点的需求, 又在控制器中设置了一个缓冲寄存器NPC。以上线路的连接关 系和信息传送关系从控制器组成框图中可以看得很清楚。CU部件 用组合逻辑方案产生各部件使用的控制信号,它 由两部分电路组成。第一部分是节拍发生器电路,产生指令执 行步骤的标记信号,第二部分是控制信号的产生电路,依据指 令的内容(由IR提供)、指令所处的执行步骤(由节拍发生器 标记)通过组合逻辑电路提供此时刻各部件要用的控制信号。17计算机组成原理控制器部件主要由程序计数器 PC、 指令寄存器 IR、节拍发生器Timing、控制 信号产生

13、线路 CU 等主要部分组成。设计 工作主要集中到 CU 如何产生各组控制信 号,这在后面会详细讲解。控制器内部各电路的连接关系是:PC 可接收 PC+1 和 PC+offset 的计算 结果,加运算使用专用的加法器完成; PC 还可以接收经过总线从堆栈中读出来 的主程序的断点地址。pc_wt 信号用于控 制 PC 的写入操作。PC+1 的结果也能暂存到 NPC,NPC 的值可经过内部总线写入堆栈。取指操作时使用 PC 内容作地址去读 存储器,IR 接收读出来的指令内容, ir_wt 信号用于控制 IR 的写入操作。此时 还要同时完成 PC+1PC 的功能。18计算机组成原理控制器和其他部件之间

14、信息传送关系:控制器部件要为自己和其他部件提 供控制信号。首先列出控制器本身用到 的控制信号:pc_wt, ir_wt, npc_wt, pc_src, add_src,npc_ib。送其他部件的 控制信号到介绍各个部件时再说明。 需要送出 PC 的内容、io port 的内 容到地址总线,要经过 IB 送 NPC 的内 容到堆栈,要送出指令寄存器 IR 的 dr 和 sr 字段的内容到运算器部件。IR 要接收从总线送来的指令内容, PC 经总线接收丛运算器的REGs、从存 储器、从堆栈中读来的指令地址。控制器部件要接收时钟信号clock, 系统总清信号reset,运算器传送来的标 志位信号

15、C 和 Z 。19计算机组成原理操 作 码 目的寄存器源寄存器I/O 端 口 地 址 相对转移指令的偏移量立即数 / 直接地址 / 变址偏移量 8位 4位 4位 指令格式 取指 周期 000执行 周期 001存储 周期 011指令执行步骤所有指令都经过取指和执行周期,仅有读写内存操作的7条指令要增加存储周期复位状态 100strr, ldrr, push, pop, ret, cala, calr20计算机组成原理3-1、划分指令执行步骤(1) 按照指令系统的功能要求,设计计算机各部件的组成及其连接关系;(2) 划分指令执行步骤,设计各步骤完成的功能,分配功能到各个部件;(3) 确定要为每个执

16、行步骤中各个部件提供哪些控制信号,设计这些控制 信号的当前值。取指 周期 000执行 周期 001存储 周期 011指令用 2 3 步完成,都经取指和执行周期,仅读写内存用到存储周期。复位状态 100strr, ldrr, push, pop, ret, cala, calr取指周期占用控制器和存储器, 实 现读取指令与计算下条相邻指令地址。执行周期占用运算器完成数据或内 存地址计算,用控制器计算指令地址。存储周期占用运算器、控制器和存 储器完成数据读写或指令地址的读写。需要向各部件提供的控制信号取 决于部件本身的运行控制需求,由控 制器的控制单元CU提供,其VHDL程 序由两层嵌套的 CASE语句组成,外 层区分指令执行周期,内层区分每条 指令,CU将依据不同指令及其所处的 周期,向计算机各个部件提供它们

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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