目录
CPU 内部结构,以模型机为例:

结构图:

运算部件以算术逻辑运算部件(ALU)为核心,还包括输入逻辑和输出逻辑:
ALU 只能实现基本的定点加、减运算和逻辑运算。
运算部件的设置
① 设置一个 ALU,依靠软件子程序实现定点乘除运算、浮点运算。
② 设置一个 ALU,同时在硬件级实现定点乘除运算,如设置专门的阵列乘法器和除法器。
③ 设置一个 ALU,并将定点乘除部件和浮点部件作为基本配置。
④ 设置多个运算部件,以实现流水处理,完成复杂的运算操作。
1. 单组内总线、分立寄存器结构

ALU 只能把数据送入 CPU 内部总线中;ALU 的数据来源由寄存器组提供。
Q:如何选择某一寄存器的数据?
A:使用多路选择器。
Q:如何将运算结果存入某一寄存器中?
A:只对需要的寄存器发出上升沿脉冲。
2. 单组内总线、集成寄存器结构

用译码器来选择需要的寄存器。
3. 多组内总线结构
CPU 内部设置多组总线,用于传输不同类别的信息。
如:地址、数据、指令信息等分别用不同的总线进行传送。
Pentium 处理器的内部结构:


这类寄存器具有提供操作数、存放运算结果、作地址指针、作计数器、作变址寄存器等多种功能,故称为 通用寄存器。
是可编程访问的寄存器,在指令系统中为这组寄存器分配了各自的编号。
有编号我们才能编程访问,但是有些有编号的寄存器我们仍然是不能访问的(专用寄存器)。
程序计数器(PC)又称指令计数器或指令指针,用来指示指令在存储器中的存放位置。

因此,当现行指令执行完时,PC 中存放的总是 后续指令/下一条指令的地址。
教材 P109:CPU 在主存中取指令时,每读取一次主存,PC 的内容会自动加 n,以便在指令执行结束后,PC 刚好能指向下一条指令。这里的 n 的取值是多少,完全取决于指令的长度和存储器的编址单元。如果指令字长 32 位,存储器按字节编址,那么 1 条指令将占用 4 个存储单元,此时 n = 4 。
功能:记录现行程序的运行状态和指示程序的工作方式。
主要包含特征位和编程设定位两大部分。
① 特征位/标志位
功能:用来反映当前程序的执行状态。
指令执行后,CPU 根据执行结果设置相应的特征位,作为决定程序流向的判断依据。
常见有 5 种:
特征位是由 CPU 根据执行结果自动进行设置的。
② 编程设定位
PSW 中某些位或某些字段是由 CPU 编程设定的,以决定程序的调试、对中断的响应、程序的工作方式等,包括:
在主存储器中划出一段区间作为堆栈区,这是一种按 “后进先出” 的存取顺序进行存储的结构。

采用自底向上的存储模式:
当存储单元位宽与操作数字长相同时才是 +1 和 -1 。
设置暂存器的目的是暂存某些中间过程产生的信息。
与通用寄存器不同,暂存器没有编号,只能是 CPU 内部专用。
不能被编程访问:防止数据被覆盖从而导致数据丢失。
模型机中,在需要暂存时:
- MOV R1, R0 ; 因为寄存器R0和R1都在CPU内部,所以不需要暂存
-
- MOV (R1), (R0) ; 因为是寄存器间接寻址,会访存,所以需要暂存
指令寄存器 IR 用于存放正在执行的指令,它的输出内容包括操作码信息、地址码信息等,是产生微命令/控制信号的主要逻辑依据。

CPU 访问主存时,首先要找到需要访问的存储单元,因此设置地址寄存器来存放被访问单元的地址。

工作示意图:

注:地址总线、数据总线、控制总线都在 CPU 外部。
数据缓冲寄存器 MDR,又称主存数据寄存器,用于存放 CPU 与主存之间 交换的数据。无论是从主存读出的数据,还是写入主存的数据,都要经过 MDR 。
Q:“无论是从主存读出的数据,还是写入主存的数据,都要经过 MDR ”?
A:这是设计时约定的,对于数据的读写,数据总线 DB 只与 MDR 相连。

工作示意图:

R —— 读指令、W —— 写指令
控制部件的功能主要是负责对指令进行译码,并且发出为完成每条指令所要执行的各种操作的控制信号/微命令。
根据指令产生相应的控制信号。
CPU 工作过程中所需的控制信号,既可以单独由组合逻辑电路的方式来产生,也可以单独由微程序的方式来产生,或者综合运用。
因此,有两种控制部件:组合逻辑控制器和微程序控制器。
预告:组合逻辑控制器。
EN 给低电平 —— 线路导通,EN 给高电平 —— 线路中断(高阻)
组合逻辑控制器是由纯硬件实现的。
是指取出一条指令并执行完这条指令的时间。
CPU 每取出一条指令并执行这条指令,都要完成一系列的操作。这一系列操作所需要的时间通常叫做一个 指令周期。而指令周期是取出一条指令并执行完这条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。
一个指令周期包含许多长度固定的时间段,一个时间段就是一个节拍,又称时钟周期。
每个节拍完成一步的操作,而这一步操作又由计算机中各执行部件完成的微操作组成。

约定用英文字母 P 表示节拍。
同步控制方式:是指各项操作由统一的时序信号进行同步控制。
这就意味着各个微操作必须在规定的时间内或固定时刻完成。
特点:各操作之间的衔接、各部件之间的数据传输受同步时钟严格的定时控制。
缺点:因为各操作实际所需的时间可能不同,如果将它们安排在统一的固定时钟周期内完成,必然要根据最长操作所需的时间来确定时钟周期,对于需时较短的操作则存在时间上的浪费。
(考点)时钟周期的时间长度固定。
示例:

在第一个上升沿打入地址,等待地址在地址总线上稳定后,再读出数据。
这样做可以适配 CPU 快、主存慢的情况;CPU 内部部件使用的是同步控制,并且由于这些部件速度相近,所以它们之间不需要等待。
异步控制方式:是指各操作不受统一时序信号(如时钟周期)的约束,而是根据实际需要安排不同的时间。各操作之间的衔接、各部件之间的数据传输均采用 异步应答方式。
特点:在异步控制涉及的操作范围内,没有统一的时钟周期划分和同步定时脉冲。
优点:时间安排紧凑、合理。
缺点:控制起来比较复杂。
示例:

应答控制信号 —— CPU 有对应的管脚来标定这个状态信号
CPU 与外部低速设备之间的交互用异步控制来实现;但是用得少。
Q:何谓同步控制方式,何谓异步控制?有何主要特征?应用场合?
同步控制方式:是指各项操作由统一的时序信号进行同步控制。
特点:各步操作的衔接、各部件之间的数据传送受同步时钟严格的定时控制。
应用场合:速度差异不大、传送时间确定、传送距离较近的部件或设备之间。
异步控制方式:是指各操作不受统一时序信号的约束,而是根据实际需要安排不同的时间。
特点:无统一时序划分,各步操作的衔接、各部件之间的数据传送采用异步应答方式。
应用场合:速度差异较大、传送时间不确定、传送距离较远的设备之间。
各种操作仍然由时序信号来触发,但操作之间的时间间隔根据实际需要来灵活确定,只要是时钟周期的整数倍即可,称为扩展同步控制方式。
向同步控制方式中引入应答机制。
(判断题)操作之间的时间间隔是时钟周期的整数倍。(√)
示例:

T3 上升沿不再是读取数据,而是读取应答信号 —— 确认数据是否准备好。如果没有准备好,就等若干个周期(可以是一个也可以是多个),再去读取应答信号。如果准备好了,就读取数据;如果等了很久都没有准备好,那么给出“超时”提醒。
CPU 的工作原理
CPU 的工作过程:从主存或缓存中读取指令,将指令放入指令寄存器 IR,然后对指令进行译码。把指令分解成一系列的微操作,再发出各种相应的控制命令,控制各功能部件执行相关的操作,从而完成一条指令的执行,实现对应的功能。
