【计组第六章】中央处理器

2,384 阅读10分钟

本章总览

(6.1) 中央处理器的功能与组成

(6.1.1) CPU 的功能

附:运算器和控制器的任务

附:运算器的基本结构

专用数据通路进行信号管理

(6.1.2) CPU中的主要寄存器(register)

1. 通用寄存器

  • 作用
    • 存放原始数据和运算结果。
    • 减少cpu访问存储器的次数,提高运算速度。
  • 举例:累加寄存器Acc
    • 在进行加法运算时,现将一个操作数暂时存放在Acc中,再从主存中取出另一个操作数,所得结果送回Acc中。
    • 运算器中至少要有一个Acc

2. 专用寄存器

cpu至少要有以下5个专用的寄存器。

程序计数器

  • 作用:存放正在执行的指令地址或接着要执行的下条指令地址。

指令寄存器

  • 作用:存放从存储器中取出的指令。
    • 在指令执行过程中,为保证实现指令的全部功能,指令寄存器的内容暂时不能发生变化。

存储器数据寄存器

  • 作用:暂时存放由主存读出/写入的一条指令或一个数据字。

存储器地址寄存器

  • 作用:保存当前cpu所访问的主存单元的地址。(因主存和CPU的访问速度有差别)

状态标志寄存器

  • 作用:存放程序状态字(PSW);状态字有2部分组成:
    • 状态标志;如进位标志、结果为零标志。
    • 控制标志;如中断标志、陷阱标志。

(6.1.3) CPU 的组成

  • 组成:控制器和运算器
  • 功能:
    • 控制器:
      • 存主存中取出一条指令,并指出下一条指令在主存中的位置。
      • 对指令进行译码或测试,产生相应的操作控制信号,以便启动规定的动作。
      • 指挥并控制cpu、主存、输入输出设备之间的数据流动方向。
    • 运算器:
      • 执行算术运算
      • 执行逻辑运算,进行逻辑测试。

(6.1.4) CPU 的主要技术参数

1. 字长

  • 定义:单位时间内同时处理二进制数据的位数。
  • 按字长分类的cpu:8、16、32、64位cpu。

2. 内部工作频率

  • 定义:也叫做主频,表示在cpu内数字脉冲信号振荡的速度,是cpu性能的体现之一。

3. 外部工作频率

  • 内频 = 外频 * 倍频

4. 前端总线频率

  • 定义:影响cpu与内存之间的数据传输量
  • 前端总线作用:cpu与外界交换数据的最主要通道,主要连接主存、显卡等数据吞吐率高的部件。
    • 数据带宽 = 总线频率 * 数据位宽 / 8

5. QPI 数据传输速率

6. 片内 Cache 的容量

7. 工作电压

正常工作的电压越低,功耗越少。

8. 地址总线宽度

  • 定义:决定了cpu可访问的最大物理地址空间。
    • 32位地址线,可寻址的最大容量为2^32 = 4096MB = 4GB
    • 44位 对应2^44 = 16TB

9. 数据总线宽度

  • 定义:决定了cpu与外部Cache、主存以及输入输出设备之间进行一次数据传输的信息量。
    • 如果数据总线为32位,每次最多可读写主存中的32位;

10. 制造工艺

可描述为线宽,指芯片内电路之间的距离。越小越好。

(6.2) 控制器的组成和实现方法

(6.2.1) 控制器的基本组成

1. 指令部件

2. 时序部件

时序部件能产生一定的时序信号,以保证机器的各功能部件有节奏的进行信息传送、加工及信息存储。包括一下部件

脉冲源

启停控制逻辑

节拍信号发生器

3. 微操作信号发生器

它是控制器的核心;一条指令的取出和执行可分解成很多最基本的(不可再分割)微操作。微操作信号发生器也称为控制单元CU

4. 中断控制逻辑

6.1/6.2总结

(6.2.2) 控制器的硬件实现方法

控制器分为组合逻辑型、存储逻辑型、组合逻辑型与存储逻辑结合型。

1. 组合逻辑型

  • 优点:速度快
  • 缺点:cu的结构不规则,使得设计、调试、维修难。

2. 存储逻辑型

也叫微程序控制器

  • 优点:设计规则

3. 组合逻辑和存储逻辑结合型

可称为可编程逻辑阵列。

(6.3) 时序系统与控制方式

(6.3.1) 时序系统

时序系统的功能是为指令的执行提供各种定时信号。

1. 指令周期和机器周期

  • 指令周期:从取指令、分析指令到执行该指令所需的时间。
  • 机器周期(cpu周期):每个机器周期完成1个指令周期中的一个基本操作。
    • 一般组成:取指周期、取数周期(寻址周期)、执行周期和中断周期。
  • 指令周期 = i * 机器周期

2. 节拍

  • 定义:一个机器周期内又包含多个时钟周期(节拍、T周期),时钟周期是cpu操作的最基本单位。

附:指令周期的数据流

取指周期

间址周期

中断周期

2. 指令执行方案

单指令方案:每条指令的执行周期都统一成最长的指令周期。

(6.3.2) 控制方式

控制方法可分为3种

1. 同步控制方式

以最复杂的操作时间作为统一的时间间隔标准。

2. 异步控制方式

可变时序控制方式,

3. 联合控制方式

6.3 总结

(6.4) 微程序控制原理

(6.4.1) 微程序控制的基本概念

1. 微程序技术概述

微程序设计技术的实质是将程序设计的技术和存储技术相结合。

  • 将微操作控制信号按一定规则进行信息编码,形成字(微指令),再把这些微指令按时间先后排列构成微程序。存放在一个只读的控制存储器中。

2. 基本术语

微命令和微操作

  • 微命令:将控制部件向执行部件发出的各种控制命令叫做微命令。它是构成控制序列的最小单位。(开/关某个控制门的电位信号)
  • 微操作:微操作是微命令的执行过程。是计算机中最基本的不可再分的操作。

微指令和位地址

  • 微指令:指控存储器中的一个单元的内容,即控制字。多个微命令构成微指令。至少包含以下两部分信息。
    • 操作控制字段(微操作码):用以产生某一个操作所需的个微操作控制信号。
    • 顺讯控制字段(微地址码字段),用以控制产生下一条要执行的微指令地址。
    • 分类:
      • 垂直型:每条垂直型微指令可完成一个基本微操作。
      • 水平型:每条垂直型微指令可并行完成多个微操作。
  • 微地址:存放微指令的控制存储器的单元地址。

微周期

从控制存储器CM中读出并执行一条微指令所需的时间称为微周期。

微程序

  • 微程序:多个微指令的有序集合。等价于机器指令。
  • 程序:由多个顺序指令构成,用于完成特定的功能。

(6.4.2) 微指令编码法

1. 直接编码法

缺点(补充):有些微命令是互斥的,不允许并行操作,这使得信息的利用率下降。

2. 最短编码法

将所有微命令统一编码,没条微指令令只定义一个微命令。

  • 操作控制字段的长度L >= log2N(以2为底,微命令总数N为对数)

缺点:微命令数和译码器数量成正相关,不能很好的利用机器的并行性。

3. 字段编码法

每段采用最短编码法,段与段之间使用直接控制法。

例题

(6.4.3) 微程序控制器的组成和工作过程

1. 微程序控制器的基本组成

控制存储器(CM)

作为cpu的核心部件来存放微程序。用ROM实现

微指令寄存器

存放从CM中取出的微指令,它的位数同微指令字长相等。

微地址形成器

用来产生初始微地址和后继微地址,以保证微指令的连续执行。

微地址寄存器

接受微地址形成器送来的微地址,为在CM中读取微指令做准备。

2. 微程序控制器的工作过程

3. 机器指令对应的微程序

一条机器指令对应一个微程序。若指令系统具有n种机器指令则控制存储器中的微程序至少有n+1种。(1:公共的取址微程序)

(6.4.4) 微程序入口地址的形参

1. 一级功能转换

(6.4.5) 后继地址的形成

(6.4.4) 微程序设计

1. 微程序设计方法

水平型指令及水平型微程序设计

  • 水平型指令:每条垂直型微指令可并行完成多个微操作。
    • 优点:
    • 缺点:增加了控存的横向容量。

垂直型指令及垂直型微程序设计

  • 垂直型指令:每条垂直型微指令可完成一个基本微操作。
    • 缺点:执行一条机器指令所需的微指令数多,且执行时间长。

混合型微指令

2. 微指令的运行方式

串行方式

取指令和执行指令是顺序执行的

并行方式

取指令和执行指令在不同的部件中进行。

(6.5) 控制单元的设计

硬布线与微程序的比较

硬布线也叫组合逻辑型控制器设计,可参考 (6.2.2)

至此总结

(6.6) 流水线技术

有以下几种控制指令的执行的方式:

  • 顺序控制:各条机器指令之间顺序串行执行。
    • 特点:控制简单,速度慢,机器各部件的利用率低。
  • 重叠控制
  • 先行控制
  • 流水线控制

(6.6.1) 重叠控制

假定每个阶段的执行时间为t,则指令的运行要3t时间

重叠控制是:一次重叠方式需要增加一个指令缓存器,在执行第K条指令时,寄存所取出的第K+1条指令。

执行时间为:3*t + (n-1)*t = (2+n)t

前两种控制方法的总结 + 流水线的表示方法

前两种控制方法的总结

流水线的表示方法

(6.6.2) 先行控制原理

先行控制:取指阶段可合并到分析指令阶段中,指令的运行就变为分析和执行两个阶段。

(6.6.3) 流水工作原理

流水技术基于重叠的先行控制发展起来的。

1. 流水线

流水线将一个较复杂的处理过程分成m个复杂程度和处理时间相当的子过程,每个子过程由一个独立的功能部件来完成,处理对象在各子过程连成的线路上连续流动。

这样,一条指令的执行过程分成取指令、指令移码、取操作数和执行4个子过程。

假如执行一条指令的时间为T,则流水线充满后,每隔T/4就完成了一条指令的执行。

2. 流水线分类

按处理级别分类

按功能分类

按工作方式分类

按流水线结构分类

附:影响因素

6.6 总结

(6.7) 精简指令系统计算机