Skip to content

Latest commit

 

History

History
70 lines (47 loc) · 3.76 KB

Function and basic structure of CPU.md

File metadata and controls

70 lines (47 loc) · 3.76 KB

CPU的功能和基本结构

CPU的功能

  1. 指令控制: 完成取指令, 分析指令和执行指令的操作, 即程序的顺序控制
  2. 操作控制: 一条指令的功能往往是若干操作信号的组合来实现的. CPU管理并产生由内存取出的每条指令的操作信号. 把各种操作信号送往响应的部件, 从而控制这些部件按指令的要求进行动作
  3. 时间控制: 对各种操作加以时间上的控制. 时间控制要为每条指令按照时间顺序提供应有的控制信号
  4. 数据加工: 对数据进行算术和逻辑运算
  5. 中断处理: 对计算机运行过程中出现的异常情况和特殊请求进行处理

运算器和控制器的功能

运算器

对数据进行加工

控制器

协调并控制计算机各部件执行程序的指令序列, 基本功能包括取指令, 分析指令, 执行指令

  • 取指令: 自动形成指令地址; 自动发出取指令的命令
  • 分析指令: 操作码译码(分析本条指令要完成什么操作); 产生操作数的有效地址
  • 执行指令: 根据分析指令得到的"操作命令"和"操作数地址", 形成操作信号控制序列, 控制运算器, 存储器以及I/O设备完成响应的操作
  • 中断指令: 管理总线几输入输出; 处理异常情况(如掉电)和特殊请求(如打印机请求打印一行字符)

运算器的基本结构

  • 算术逻辑单元: 主要功能是进行算术/逻辑运算
  • 通用寄存器组: 如AX、BX、CX、DX、SP等, 用于存放操作数(包括源操作数、目的操作数及中间结果)和各种地址信息. SP是堆栈指针, 用于指示栈顶的地址(stack pointer)
  • 暂存器: 用于暂存从主存读出来的数据, 这个数据不能存放在通用寄存器中, 否则会破坏其原有的内容
  • 累加寄存器: 它是一个通用寄存器, 用于暂时存放ALU运算的结果信息, 用于实现加法运算
  • 程序状态字寄存器: 保留由算术逻辑运算指令或测试指令的结果而建立的各种状态信息, 如溢出标志(OP)、符号标志(SF)、零标志(ZF)、进位标志(CF)等. PSW中的这些位参与并决定微操作的形成
  • 移位器: 对运算结果进行移位运算
  • 计数器: 控制乘除运算的操作数

专用数据通路方式

根据指令执行过程中的数据和地址的流动方向安排链接线路

如果直接用导线连接, 相当于多个寄存器同时并且一直向ALU传输数据

  • 解决方法1: 使用多路选择器, 根据控制信号选择一路输出
  • 解决方法2: 使用三态门, 可以控制每一路是否输出

性能较高, 基本不存在数据冲突现象, 但是结构复杂, 硬件量大, 不易实现

CPU内部单总线方式

将所有寄存器的输入端和输出端都连接到一条公共的通路上

控制器的基本结构

  • 程序计数器: 用于指出下一条指令在主存中的存放地址. CPU就是根据PC的内容去主存中读取指令的. 因程序中指令(通常)是顺序执行的, 所以PC有自增功能
  • 指令寄存器: 用于保存当前正在执行的指令
  • 指令译码器: 仅对操作码字段进行译码, 向控制器提供特定的操作信号
  • 微操作信号发生器: 根据IR的内容(指令)、PSW的内容(状态信息)及时序信号, 产生控制整个计算机系统所需的各种控制信号, 其结构有组合逻辑型和存储逻辑型两种
  • 时序系统: 用于产生各种时序信号, 他们都是由统一时钟(CLOCK)分频得到
  • 存储器地址寄存器: 用于存放所要访问的主存单元的地址

CPU的基本结构

  • ALU
  • 中断系统
  • 寄存器
  • CU