目录
CPU内部结构,以模型机为例:
一、运算部件
结构图:
运算部件的设置
- 只设置一个ALU,因而通过硬件只能实现基本的定点加、减运算和逻辑运算,依靠软件子程序实现定点乘除运算、浮点运算;
- 设置一个ALU,同时在硬件级实现定点乘除运算,如设置专门的阵列乘法器和除法器;
- 设置一个ALU,并将定点乘除部件和浮点部件作为基本配置;
- 设置多个运算部件,以实现流水处理,完成复杂的运算操作。
二、CPU内部的数据通路结构
1. 单组内总线、分立寄存器结构
2. 单组内总线、集成寄存器结构
3. 多组内总线结构
CPU内部设置多组总线,用于传输不同类别的信息,比如:地址、数据、指令信息等分别用不同的总线进行传送。
如 Pentium 处理器的内部结构:
三、寄存器组
1. 通用寄存器组
- 这类寄存器具有提供操作数、存放运算结果、作地址指针、作计数器、作变址寄存器等多种功能,故称为通用寄存器。
- 是可编程访问的寄存器,在指令系统中为这组寄存器分配了各自的编号。
2. 程序计数器PC
程序计数器(PC)又称指令计数器或指令指针,用来指示指令在存储器中的存放位置。
3. 程序状态字寄存器PSW
功能:记录现行程序的运行状态和指示程序的工作方式。
特征位
又称标志位,用来反映当前程序的执行状态。指令执行后,CPU根据执行结果设置相应的特征位,作为决定程序流向的判断依据,常见有5种。另有编程设定位。
编程设定位
PSW中某些位或字段由CPU编程设定,以决定程序的调试、对中断的响应、程序的工作方式等。
4. 堆栈指针SP
在主存储器中划出一段区间作为堆栈区,这是一种按“后进先出”的存取顺序进行存储的结构。
- 作为起点的一端是固定的,称为栈底;浮动端称为栈顶。
- 设置一个具有加减计数功能的寄存器作为堆栈指针 SP,SP 中的内容就是栈顶单元地址。
5. 暂存器C和D
设置暂存器的目的是暂存某些中间过程产生的信息。
与通用寄存器不同,暂存器没有编号,,只能是CPU内部专用。
模型机中,在需要暂存时:
- 若从主存或者I/O端口中读取源操作数地址或者源操作数,则使用暂存器C。
- 若从主存或者I/O端口中读取目的操作数地址或者目的操作数,则使用暂存器D。
6. 指令寄存器IR
指令寄存器IR用于存放正在执行的指令,它的输出内容包括操作码信息、地址码信息等,是产生微命令(控制信号)的主要逻辑依据。
7. 地址寄存器MAR
CPU访问主存时,首先要找到需要访问的存储单元,因此设置地址寄存器来存放被访问单元的地址。
8. 数据缓冲寄存器MDR
数据缓冲寄存器MDR用于存放CPU与主存之间交换的数据。无论是从主存读出的数据,还是写入主存的数据,都要经过MDR。
四、控制器
控制部件的功能主要是负责对指令进行译码,并且发出为完成每条指令所要执行的各种操作的控制信号 —— 微命令。
CPU工作过程中所需的控制信号,既可以单独由组合逻辑电路的方式来产生,也可以单独由微程序的方式来产生,或者综合运用。
因此,有两种控制部件:组合逻辑控制器和微程序控制器。
五、时序系统
1. 指令周期
CPU每取出一条指令并执行这条指令,都要完成一系列的操作。这一系列操作所需要的时间通常叫做一个指令周期。而指令周期是取出一条指令并执行完这条指令的时间。由于各条指令的操作功能不同,因此各种指令的指令周期是不尽相同的。
2. 节拍/时钟周期
一个指令周期包含许多长度固定的时间段,一个时间段就是一个节拍,又称时钟周期。
每个节拍完成一步的操作,而这一步操作又由计算机中各执行部件完成的微操作组成。
六、时序控制方式
1. 同步控制
同步控制方式是指各项操作由统一的时序信号进行同步控制,这就意味着各个微操作必须在规定的时间内或固定时刻完成。
特点:
- 时钟周期时间长度固定
- 各步操作的衔接、各部件之间的数据传送受同步时钟严格的定时控制
2. 异步控制
各项操作按各自不同的需要来安排时间,不受统一时序的控制。
特点:无统一时钟周期划分,各操作间的衔接以及部件之间的信息交换采用应答方式。
3. 扩展同步控制
向同步控制方式中引入应答机制。
CPU的工作原理
CPU的工作过程:从主存或缓存中读取指令,将指令放入指令寄存器IR,然后对指令进行译码。把指令分解成一系列的微操作,再发出各种相应的控制命令,控制各功能部件执行相关的操作,从而完成一条指令的执行,实现对应的功能。