第五章 中央处理器(期末复习版)
文章目录
CPU的功能和组成 — 掌握
CPU的功能
- 指令控制:控制程序的执行顺序
- 操作控制:对指令操作码译码后产生控制信号
- 时间控制:维持各类操作的时序关系
- 数据加工:对数据进行算术逻辑运算
CPU的基本组成
现代的CPU的组成:运算器、控制器、片内Cache
控制器的主要功能
- 从内存中取出一条指令,并指出下条指令的存放位置
- 对指令进行译码,产生相应的操作控制信号
- 控制CPU、内存和输入/输出设备之间数据流动
运算器的主要功能
- 执行所有的算术运算
- 执行所有的逻辑运算,并进行逻辑测试
CPU中的主要寄存器
-
数据缓存寄存器(DR)
暂时存放运算器与外界传送的数据,作为CPU和内存、外部设备之间的信息传送的中转站,并补偿CPU和内存、外围设备之间的速度差异
-
指令寄存器(IR)
保存当前正在执行的一条指令,其对应的操作码字段直接作为指令译码器的输入
-
程序计数器(PC)
始终存放下一条指令的地址,对应于指令cache的访问
-
地址寄存器(AR)
保存当前CPU所访问数据的内存单元地址
-
通用寄存器
暂时存放ALU运算的数据或结果
-
状态条件寄存器(PSW)
保存各种状态和条件控制信号,每个信号由一个触发器保存,从而拼成一个寄存器
操作控制器与时序产生器
数据通路:两个部件之间传送信息的通路
操作控制器:根据指令操作码和时序信号,产生各种操作控制信号;建立正确的数据通路,从而完成指令的执行
操作控制器可分为:
- 硬布线控制器:采用时序逻辑技术实现
- 微程序控制器:采用存储逻辑实现
- 前两种方式结合
指令周期 — 掌握
指令周期的基本概念
CPU执行程序是一个“取指令-执行指令”的循环过程
指令周期:CPU从内存中取出一条指令,并执行完毕的时间总和
CPU周期:又称机器周期,一般为从内存读取一条指令字的最短时间
完整的指令周期:取指周期 — 间址周期 — 执行周期 — 中断周期
时钟周期:也叫节拍脉冲或T周期,是计算机工作的基本时间单位
不同指令的指令周期不一定相同,但是所有指令的第一个机器周期必为取指周期
用方框图语言表示指令周期
方框:代表一个CPU周期,方框中的内容表示数据通路的操作或某种控制操作
菱形:通常用来表示某种判别或测试,时间上依附于之前一个方框的CPU周期,而不单独占用一个CPU周期
~(公操作符):表示一条指令已经执行完毕,转入公操作
示例:
-
“ADD R2,R0”指令完成(R0)+(R2)→R0的功能操作,画出其指令周期流程图,并列出相应的微操作控制信号序列
指令周期应包括取指周期和执行周期,执行周期中应首先将R0、R2两寄存器的内容送入ALU的操作数缓冲器中,再执行加法运算
- “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
解析:
-
请画出流水处理的时空图
-
求流水线的实际吞吐率
流水线执行完7条指令的时间是 5 + (7 - 1)= 11 个时钟周期
故实际吞吐率为 7 / (11 x 100ns) = 64 x 10^5条指令/s
例三:
判断一下三组指令个存在哪种类型的数据相关
例四:
不会引起流水阻塞的是 (数据旁路);
CPU中跟踪指令后继地址的寄存器是 (程序计数器);
在微程序控制器中 ,构成控制信号序列的最小单位 (微命令);
例五:假设某机器有80条指令,平均每条指令由4条微指令组成,其中有一条取指微指令是所有指令公用的。已知微指令长度为32位,请估算控制存储器容量
解析: