中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)设备合称为电子计算机三大核心部件。
CPU的功能和组成
- CPU的功能
-
定义:程序是存放在内存储器中能够解决某个问题的一组指令序列,计算机中能够完成自动取出指令并执行指令的部件。
-
基本功能:
- 指令控制:保证机器按顺序执行程序。
- 操作控制:把指令的各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
- 时间控制:保证指令的各种操作信号按照严格的时序关系送往响应的部件,使计算机有条不紊的按序工作。
- 数据加工:对数据进行算术运算和逻辑运算处理。
-
- CPU的基本组成
-
组成:
- 传统组成: 运算器、控制器
- 现代组成:运算器、控制器、浮点运算器和Cache
- 控制器:
- 组成: 程序计数器(PC)、指令寄存器(IR)、指令译码器、时序产生器和操作控制器。
-
功能:
- 从内存中取出指令,并指出下一条指令在内存中额位置。
- 对指令进行译码并产生相应的控制信号启动规定的动作。
- 控制CPU与内存或CPU与输入/输出设备之间数据传递。
-
运算器:
- 组成: 算术逻辑单元、通用寄存器、数据缓冲寄存器和状态字寄存器。
-
功能:
- 执行所有的算术运算。
- 执行所有的逻辑运算。
-
- 指令寄存器:
- 定义:
- 功能:保存当前执行的指令,是指令译码器的输入。CPU取指时通过指令总线将指令送到指令寄存器。
- 指令译码器:
- 定义:
- 功能:对指令的操作码进行测试,向操作控制器发送具体操作的信号。
- 时序产生器:
-
定义:能够产生时序信号的。
-
组成:时钟源、环形脉冲发生器、节拍脉冲和读写时序译码逻辑、启停控制逻辑等。
- 时钟源:为环形脉冲发生器提供频率稳定且电平匹配的方波时钟脉冲信号。
- 环形脉冲发生器:产生一组有序的间隔相等或不等的脉冲序列。
- 节拍脉冲译码:
- 读写时序译码:
- 启停控制逻辑:
-
控制方式:不同操作控制信号的时序控制方法。
- 同步控制方式:
- 异步控制方式:
-
功能:对各种操作实施时间上的限制。
-
- 操作控制器:
-
定义:
-
功能:根据指令操作码和时序信号,产生各种操作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。
-
根据设计方法分类:
类别 原理 硬布线控制器 时序逻辑技术 微程序控制器 存储逻辑
-
微程序控制器
-
微指令的组成:
|操作控制部分|P测试字段|后续直接地址| |———–|—|—-|
微指令的操作控制部分决定给出的微命令,顺序控制部分决定下一条微指令在只读存储器的地址,由P测试字段和后续直接地址构成。如果判别测试字段全为0,后续直接地址给出下一条微指令的地址;否则修改后续直接地址作为下一条微指令的地址。
-
优点:规整性、灵活性、可维护性。
-
思想:微程序设计技术是利用软件方法来设计硬件的一门技术。即仿照通常的解题程序的方法,把操作控制信号编成所谓的”微指令”,存放到一个只读存储器里,当机器运行时一条一条地读出这些”微指令”,从而产生全机所需要的各种操作控制信号,使相应部件执行所规定的操作。
-
组成:
-
控制存储器: 存放实现全部指令系统的微程序,它是一种只读存储器。要求速度快,读出周期短。
-
微地址寄存器: 存放读出微指令的直接地址,决定要读取的下一条微指令的地址。
-
微命令寄存器:保存读出微指令的操作控制字段和判别测试字段的信息。
-
地址转移逻辑:承担自动完成修改微地址的任务。
- p1=0,p2=0,不修改微地址寄存器中的直接地址,是下一条微指令地址。
- P1=1,品=0,则指令寄存器中的指令的操作码的后四位修改微地址寄存器的四位地址。
- P1=0,P2=1,则利用进位标志CY求反修改微地址寄存器的最后一位。
-
-
微指令编码
方法 特点 优点 缺点 直接表示法 操作控制字段中的每一位代表一个微命令 简单直观,其输出直接用于控制 微指令字教长,则需要控制存储器容量较大 编码表示法 把一组相斥性的微命令信号组成一个字段,然后通过字段译码器对每一个微命令信号进行译码,译码输出作为操作控制信号 用较小的二进制信息位表示较多的微命令信号,可使微指令字大大缩短 微程序的执行速度稍稍减慢 -
微地址的形成方式
-
多路转移: 由顺序控制字段的判别测试位来选择跳转的微地址。
-
计数器法:顺序执行,类似PC。
-
-
微指令格式
- 水平型微指令
-
定义:一次能定义并执行多个微操作命令的微指令。
-
格式:
|控制字段|判别测试字段|直接地址| |–|—|—-|
-
特点: 并发执行,效率高,速度快。
-
-
垂直型指令
-
定义:微指令中设置微操作码字段,对微操作码进行译码来产生相应的微命令。
-
格式:
|000|源寄存器|目的寄存器|….| |—-|—-|—|—–|
-
特点:并行能力差,速度慢,指令字比较短。
-
- 水平型微指令