第五章 中央处理器(期末复习版)

CPU的功能和组成 — 掌握

CPU的功能

  • 指令控制:控制程序的执行顺序
  • 操作控制:对指令操作码译码后产生控制信号
  • 时间控制:维持各类操作的时序关系
  • 数据加工:对数据进行算术逻辑运算

CPU的基本组成

现代的CPU的组成:运算器、控制器、片内Cache

控制器的主要功能

  • 从内存中取出一条指令,并指出下条指令的存放位置
  • 对指令进行译码,产生相应的操作控制信号
  • 控制CPU、内存和输入/输出设备之间数据流动

运算器的主要功能

  • 执行所有的算术运算
  • 执行所有的逻辑运算,并进行逻辑测试

CPU中的主要寄存器

  1. 数据缓存寄存器(DR)

    暂时存放运算器与外界传送的数据,作为CPU和内存、外部设备之间的信息传送的中转站,并补偿CPU和内存、外围设备之间的速度差异

  2. 指令寄存器(IR)

    保存当前正在执行的一条指令,其对应的操作码字段直接作为指令译码器的输入

  3. 程序计数器(PC)

    始终存放下一条指令的地址,对应于指令cache的访问

  4. 地址寄存器(AR)

    保存当前CPU所访问数据的内存单元地址

  5. 通用寄存器

    暂时存放ALU运算的数据或结果

  6. 状态条件寄存器(PSW)

    保存各种状态和条件控制信号,每个信号由一个触发器保存,从而拼成一个寄存器

操作控制器与时序产生器

数据通路:两个部件之间传送信息的通路

操作控制器:根据指令操作码和时序信号,产生各种操作控制信号;建立正确的数据通路,从而完成指令的执行

操作控制器可分为:

  • 硬布线控制器:采用时序逻辑技术实现
  • 微程序控制器:采用存储逻辑实现
  • 前两种方式结合

指令周期 — 掌握

指令周期的基本概念

CPU执行程序是一个“取指令-执行指令”的循环过程

指令周期:CPU从内存中取出一条指令,并执行完毕的时间总和

CPU周期:又称机器周期,一般为从内存读取一条指令字的最短时间

完整的指令周期:取指周期 — 间址周期 — 执行周期 — 中断周期

时钟周期:也叫节拍脉冲或T周期,是计算机工作的基本时间单位

不同指令的指令周期不一定相同,但是所有指令的第一个机器周期必为取指周期

用方框图语言表示指令周期

方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作

菱形:通常用来表示某种判别或测试,时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期

~(公操作符):表示一条指令已经执行完毕,转入公操作

示例:

  1. “ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列

    指令周期应包括取指周期和执行周期,执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算

第五章 中央处理器(期末复习版)
  1. “SUB R1,R3”指令完成(R3)-(R1)→R3的操作,画出其指令期流程图,并列出相应的微操作控制信号序列
第五章 中央处理器(期末复习版)

时序产生器和控制方式 — 了解

时序信号的作用和体制

时序信号的作用:使计算机准确、迅速、有条不紊的工作

CPU通过时序控制来识别指令和数据

时序信号的体制:电位 — 脉冲制

硬布线控制器的时序信号:常采用主状态周期 — 节拍电位 — 节拍脉冲三级体制

微程序控制器的时序信号:一般采用节拍电位 — 节拍脉冲二级体制

时序信号产生器

用逻辑电路实现时序的控制

微程序控制器中时序信号产生器的组成:时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑

控制方式

同步控制方式:在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都固定不变

异步控制方式:每个指令周期包含的机器周期数目由联络信号控制,不固定

联合控制方式

  • 大部分操作序列为固定的机器周期
  • 机器周期的节拍脉冲数固定

微程序控制器 — 掌握

微程序控制原理

微程序设计技术是利用软件方法来设计硬件的一门技术,具有规整性、灵活性、可维护性等一系列优点

基本思想

  • 仿照通常的解题程序的方法,把操作控制信号编程所谓的“微指令”,存放到一个只读存储器里
  • 当机器运行时,一条一条地读出这些微指令,从而产生全机所需要的的各种操作控制信号,使部件执行规定的操作

控制部件与执行部件之间的联系

  • 控制部件向执行部件发出控制信号
  • 执行部件向控制部件返回状态信息

微命令:控制部件通过控制线向执行部件发出的各种控制命令

微操作:执行部件的最基本的操作,执行部件接受微命令后所执行的操作

状态测试:执行部件通过反馈线向控制部件反应当前操作状态,以使控制部件决定下一步的微命令

微操作的分类:

  • 相容性微操作:在同时或同一个CPU周期内可以并行执行的微操作
  • 相斥性微操作:不能在同时或不能再同一个CPU周期内并行执行的微操作

微指令:一个CPU周期中,实现一定操作功能的一组微命令的组合,一般包括操作控制和顺序控制两大部分

微程序:能实现一条机器指令功能的多条微指令序列;每条机器指令都对应着一段微程序

微指令寄存器:存放当前正在执行的一条微指令;由微地址寄存器和微命令寄存器两部分构成

一条机器指令对应一个微程序,一个微程序是由若干条微指令组成的

微程序设计技术

微命令编码的表示方法有:直接表示法、编码表示法、混合表示法

微程序的入口地址:微程序的第一条微指令所在控存单元的地址

微指令中确定后继微地址的方法:计数器的方式、多路转移方式

微指令格式

  • 水平型微指令
    一次能定义并执行多个并行操作微命令的微指令(一般由操作控制字段、判别测试字段、下地址字段三部分构成)
  • 垂直型微指令
    微指令中设置微操作码字段,采用微操作码编译法,由微操作码规定微指令的功能

流水CPU — 理解

并行性的两种含义

  • 同时性:两个以上事件在同一时刻发生
  • 并发性:两个以上事件在同一间隔内发生

并行性的三种形式:

  • 时间并行:使用流水处理部件,时间重叠
  • 空间并行:设置重复资源,同时工作
  • 时间并行 + 空间并行:时间重叠和资源重复的综合应用

流水CPU的加速比

若某CPU指令执行,可划分为K个阶段,每个阶段1个周期

非流水线CPU处理n个任务时,所需始终周期数 T = n x k

一个具有k级过程段的流水CPU处理这n个任务时,需要的时钟周期数 Tk = k + (n - 1)

  • k个时钟周期用于处理第一个任务
  • k个周期后,流水线被装满,剩余的n-1个任务只需n-1个周期即可完成

将T1和Tk的比率定义为k级线性流水处理器的加速比:Ck = T1 / Tk

指令流水线的性能指标:

第五章 中央处理器(期末复习版)

流水线分类

  • 指令流水线
  • 算术流水线
  • 处理机流水线

例题

例一

计算机的控制器采用微程序控制方法,为指令中的操作控制字段采用字段直接编码法,共有33个微命令,构成5个互斥类,分别包含7、3、12、5和6个微命令,则操作控制字段至少有 _15位_

解析:字段直接编码就是把微命令多个段,段的数目等于互斥类的数目。因此这里分为5个段,每段里要留一个离散状态表示自己没命令。所以7个微命令对应3位,3个微命令对应2位,12个微命令对应4位,5个微命令对应3位,6个微命令对应3位,共15位。

例二

指令流水线有取值(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB)五个过程段,共有7条指令连续输入此流水线,时钟周期为100ns

解析:

  1. 请画出流水处理的时空图

    第五章 中央处理器(期末复习版)
  2. 求流水线的实际吞吐率

    流水线执行完7条指令的时间是 5 + (7 - 1)= 11 个时钟周期
    故实际吞吐率为 7 / (11 x 100ns) = 64 x 10^5条指令/s

例三

判断一下三组指令个存在哪种类型的数据相关

第五章 中央处理器(期末复习版)

例四

不会引起流水阻塞的是 (数据旁路);
CPU中跟踪指令后继地址的寄存器是 (程序计数器);
在微程序控制器中 ,构成控制信号序列的最小单位 (微命令);

例五
假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量

解析:

第五章 中央处理器(期末复习版)