第六章 CPU与控制器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控制器的组成
一、指令部件 指令部件应包括程序计数器(PC)、指令寄存器(IR)、 指令译码器(ID)、程序状态寄存器(PSW)和地址 形成部件等5个部分。
对各功能部件产生控制 ... 微操作信号产生器 ... ... 时序部件 OC译码器 ... OC AC 去内存取指令或取数据 PC 地址形成部件
三、同步,异步联合控制方式 1、含义:同步控制和异步控制相结合的方式即联合 控制方式,区别对待不同指令。 2、一般的设计思想是,在功能部件内部采用同步式, 而在功能部件之间采用异步式,并且在硬件实现允许 的情况下,尽可能多地采用异步控制。
指令执行的过程
一、基本工作过程 计算机的基本工作过程主要是指执行指令的过程。 计算机执行指令的过程可以分为三个阶段:取指令; 分析指令;执行指令。 1、取指令
数据流 (中断图)
预取指
取指需访问内存
执行不需要访问内存
执行当前指令时取下条指令
改进性能
没有倍增:
ቤተ መጻሕፍቲ ባይዱ
取指过程比执行过程短
• 可取多条指令
跳转和转移意味着预取的指令不是所需的
为了获得更好的性能,流水线需有更多的
阶段
流水线
取指
译码
计算操作数
取操作数
执行指令 写结果 上述步骤可重叠
这是一条减法指令; 源点操作数是寄存器变址寻址方式,操作数在内存中,有效 地址是(R0)+D,终点操作数是通用寄存器间接寻址方式, 有效地址是R1寄存器的内容。
3、执行指令 执行指令阶段完成指令所规定的各种操作,具体 实现指令的功能。 F(IR,PSW,时序) →微操作控制信号序列 例如,ADD (R0),R1 又如,SUB D(R0),(R1) 若无意外事件(如结果溢出)发生,机器就又从 PC中取得下一条指令地址,开始一条新指令的控制过 程。 计算机的基本工作过程可以概括地说成是取指令, 分析指令,执行指令,再取下一条指令,依次周而复 始地执行指令序列的过程。
PSW
(1)程序计数器PC 用来指出在内存中存放指令的单元地址。表明现行指令在主存 储器的单元地址。 (2)指令寄存器IR 指令寄存器用来存放现行指令的代码。 (3)指令译码器ID 又称为操作码译码器,用以产生操作性质的控制电位,并将其 送到微操作控制线路上,在时序部件定时信号作用下,产生具 体的控制操作信号。 (4)程序状态字寄存器(PSW) 程序状态字用来表征当前运算的状态及程序的工作方式。 (5)地址形成部件 根据寻址方式的不同,用来形成操作数有效地址的功能部件。
取决于CPU的设计 取指
PC 包含下条指令地址 地址送到MAR 地址送到地址总线 控制器读内存 结果送到数据总线,MBR, IR PC 加1
数据流 (取数)
检查IR 确定是否进入间址周期
MBR 最右N位送到MAR 控制器读内存 结果 (操作数地址)送到 MBR
二、3级时序信号 1、周期 (1) 在一个控制阶段内均持续起作用的信号; (2) 通常用周期状态寄存器来标志和指明某某周期控制; (3) 指令周期可分为取指周期、分析周期、执行周期。 2、节拍 (1) 把一个机器周期分成若干个相等的时间段,每一个时 间段对应一个电位信号,称节拍电位; (2) 一般都以能保证ALU进行一次运算操作作为一拍电位 的时间宽度。 3、时标工作脉冲 (1) 及时改变标志状态; (2) 时标脉冲的宽度一般为节拍电位宽度的1/N,只要能保 证所有的触发器都能可靠地,稳定地翻转即可。
数据在处理器和内存中传送
处理器I/O
数据在处理器和I/O模块间传送
对数据的算术和逻辑操作 操作序列的变化,如 jump
数据处理
控制
上述各步骤地综合
间址周期
需要读内存以获得操作数 需要多次读内存 可看作一个额外的指令子周期
间址周期
指令周期状态图
数据流(取指)
时序系统
一、 概念 1、时序部件:计算机的机内时钟。它用其产生的周期 状态,节拍电位及时标脉冲去对指令周期进行时间划 分,刻度和标定。 2、指令周期:在计算机中从指令的读取到指令的执行 完成,执行一条指令所需要的时间,称为指令周期。 指令周期通常由若干个CPU周期来表示,CPU周期也 称为机器周期。由于CPU内部的操作速度较快,而 CPU访问一次内存所花的时间较长,通常用存储周期 为基础来规定CPU周期。
主频时钟信号
工作脉冲
节拍点位
周期
三、3级时序信号的关系 1、一台计算机机内的控制信号一般均由若干个周期 状态,若干个节拍电位及若干个时标脉冲这样3级控制 时序信号定时完成。 3级时序的组合关系如图所示。 2、3级控制时序信号的宽度均成正整数倍同步关系。 周期状态之间,节拍电位之间,时标脉冲之间既不容 许有重叠交叉,又不容许有空白间隙,应该是能一个 接一个地准确连接,一个降落另一个升起而准确切换 的同步信号。
流水线时间图
有分支的流水线
处理分支
多指令流
预取转移目标
循环缓冲器
转移预测
延迟转移
多指令流
2个流水线以上
将每个分支预取到不同的流水线上
选择合适的流水线 导致对总线和寄存器的连接 多分支需要更多的流水线
预取转移目标
除了取此转移指令外的指令,转移目标处
6.2 控制器的结构与功能
控制器的功能(基本功能)
取指令 分析指令 执行指令 控制程序和数据的输入与结果输出 异常处理
3种组织方法 (1) 常规组合逻辑法(或称随机逻辑法); 分立元件时代的产物; 方法是按逻辑代数的运算规则,以组合电路最小化为原则,用 逻辑门电路实现; 不规整,可靠性低,造价高。 (2) 可编程逻辑阵列(PLA)法; 与前者本质相同,工艺不同; 用大规模集成电路(LSI)来实现。 (3)微程序控制逻辑法。 将程序设计的思想方法引入控制器的控制逻辑; 将各种操作控制信号以编码信息字的形式存入控制存储器中 (CM); 一条机器指令对应一道微程序,机器指令执行的过程就是微程 序执行的过程。
控制方式
如何形成控制不同微操作序列的时序控制信号的 方法,称为控制器的控制方式。控制方式通常分为同 步控制方式、异步控制方式、同异步联合控制方式三 类。 一、同步控制方式 1、含义:又称为固定时序控制方式或无应答控制方式。 任何指令的执行或指令中每个微操作的执行都受事先 安排好的时序信号的控制。 2、每个周期状态中产生统一数目的节拍电位及时标工 作脉冲。 3、以最复杂指令的实现需要为基准。 4、优点:设计简单,操作控制容易实现。 缺点:效率低。
CPU与控制器
6.1 CPU 结构与概念
处理器与系统总线
寄存器
控制总线
数据总线
地址总线
ALU 控制器
CPU内部结构
算术逻辑单元 状态标志 移位器 求补器 算术和布尔逻 辑 CP U 内 部 总 线 寄存器
控制器
寄存器
需要临时的工作空间 (临时存储) 不同处理器中寄存器数目和功能不同 设计主要考虑的因素 存储器的最高级
CPU
用户可见寄存器
通用寄存器
数据寄存器
地址寄存器
状态寄存器
寄存器组织
指令周期
两步:
取指 执行
取指周期
PC中存放下条指令地址 处理器从PC指向的内存区域中获得指令 PC加1
指令送指令寄存器
(IR) 处理器译指并进行相关操作
执行周期
处理器-内存
二、异步控制方式 1、 含义:可变时序控制方式或应答控制方式。执行一条指令 需要多少节拍,不作统一的规定,而是根据每条指令的具体情 况而定,需要多少,控制器就产生多少时标信号。 2、特点:每一条指令执行完毕后都必须向控制时序部件发回 一个回答信号,控制器收到回答信号后,才开始下一条指令的 执行。 3、优点:指令的运行效率高; 缺点:控制线路比较复杂。 4、异步工作方式一般采用两条定时控制线来实现。我们把这 两条线称为“请求”线和“回答”线。当系统中两个部件A和B 进行数据交换时,若A发出“请求”信号,则必须有B的“回答” 信号进行应答,这次操作才是有效的,否则无效。
例
设指令格式如下:
操作码 rs,rd rs1 Imm/disp
rs,rd,rs1:通用寄存器地址 imm/disp:立即数/位移量
加法指令功能:将寄存器rs中的一个数与存储器中的一 个数(地址为(rs1)+disp)相加,结果放在寄存器rd中, rs与rd为同一个寄存器
1.
从存储器取指令,送入指令寄存器,进行操作码译码 (分析指令) 程序计数器加1,准备取下一条指令。 控制信号: PC→AB,W/R=0,M/IO=1;DB→IR;PC+1
控制器的功能(基本功能)
控制器的基本功能就是负责指令的读出,进 行识别和解释,并指挥协调各功能部件执行指 令。 程序控制原理 1、编程 2、送MM(通过输入设备) 3、机器工作时,是按一定的序列逐条取出 指令,分析指令,执行指令,并自动转到下一 条指令执行,直到程序规定的任务完成。 4、程序控制由控制器承担,程序存储由存 储器完成。
二、时序部件 时序部件就是用来产生各部件所需要的定时控制 信号的部件。时序信号一般由工作周期,工作节拍及 工作时标脉冲三级时序信号构成。 三、微操作控制线路 1、微操作是指计算机中最基本的操作 2、微操作控制逻辑,用来产生机器所需的全部的微 操作信号。微操作控制逻辑的作用是把操作码译码器 输出的控制电位,时序信号以及各种控制条件进行组 合,按一定时间顺序产生并发出一系列微操作控制信 号,以完成指令规定的全部操作。 四、中断控制逻辑 中断控制逻辑用来控制中断处理的硬件逻辑。
的指令也被取出来 保持目标直到分支执行 IBM 360/91
分支预测 (1)
预测不发生
跳转不发生 总是取下一条指令 68020 & VAX 11/780
跳转将发生 总是取目标指令
预测总是发生
分支预测(2)
由操作码预测
某些条件转移指令的操作码总是发生转移 成功概率 75%
数据流图(取值)
数据流 (间址)
数据流 (执行)
可以有多种形式 取决于执行的指令 包括
内存读/写 输入/输出 寄存器数据转移 ALU操作
数据流 (中断)
简单 可预测 保存PC当前内容以便返回 PC中内容送到MBR 特殊内存地址(栈指针)送到MAR MBR写到内存 PC中送中断程序开始地址 取下一指令
计算数据地址,将地址送地址寄存器AR 控制信号: rs1→GR,(rs1)→ALU,disp→ALU(将rs1的内容与disp送
ALU);+→ALU;ALU→AR(有效地址送地址寄存器)
2.
3.
存储器取数 控制信号:
AR→AB,W/R=0,M/IO=1,DB→DR(地址送地址总 线,发出访存读命令,读出数据送DB后进入DR)
这是一条加法指令; 源点操作数是寄存器间接寻址方式,操作数在内存 中,有效地址是(R0),终点操作数是寄存器直接 寻址方式,操作数就是R1寄存器的内容。
又如,若目前在IR寄存器中的指令是一条减法指令: SUB D(R0),(R1) 其中R0,R1是通用寄存器,事先由其它指令已送入了 内容。分析指令阶段能得到两个结果:
基于历史 循环适用
执行/不执行分支
分支预测(3)
延迟分支
分支条件预测 重新安排指令
CPU的基本功能 (1)程序控制 保证机器按一定顺序执行程序是CPU的首要任务。 (2)操作控制 一条指令的功能往往是由若干个操作信号的组合来 实现的。 (3)时间控制 对各种操作实施时间上的控制称为时间控制。 各种指令的操作信号均受到时间的严格控制; 一条指令的整个执行过程也受到时间的严格控制。 (4)数据加工
(PC)→MAR,READ (PC)+1→PC 读操作(将MAR所指定的地址单元的内容读出)→MDR, (MDR) →IR,指令译码器对操作码字段OC开始译码。
2、分析指令
OC:识别和区分不同的指令类别; AC:获取操作数的方法。
例如,假设目前在IR寄存器中的指令是一条加 法指令: ADD (R0),R1 其中R0,R1是通用寄存器,事先由其它指令已 送入了内容。分析指令阶段能得到两个结果: