计算机组成原理——CPU的功能和基本结构
5.1 CPU的功能和基本结构
整理自beokayy课程视频
1.CPU的组成
- 程序计数器(PC):
- 存放即将执行指令的地址。
- 顺序执行时,PC+“1”形成下条指令地址。在有的机器中,PC本身具有“+1”计数功能,也有的机器借助运算部件完成自增。
- 需要改变程序执行顺序时,通常会根据转移类指令提供的信息生成转移目标指令的地址,并将其作为下条指令地址送PC。每个程序开始执行之间,总是把程序中第一条指令的地址送到PC中。
- 指令寄存器(IR):
- 用以存放现行指令。
- 每条指令总是先从存储器中取出后才能在CPU中执行,指令取出后存放在指令寄存器中,以便送指令译码器进行译码。
- 指令译码器(ID):
- 对指令寄存器中的操作码部分进行分析解释,产生相应的译码信号提供给操作控制信号形成部件,以产生控制信号。
- 启停控制逻辑:
- 脉冲源产生一定频率的脉冲信号作为整个机器的时钟脉冲,它是CPU时序的基准信号。
- 启停控制逻辑在需要时能保证可靠地开放或封闭时钟脉冲,控制时序信号的发生与停止,并实现对机器的启动与停机。
- 时序信号产生部件:
- 以时钟脉冲为基础,产生不同指令对应的周期、节拍、工作脉冲等时序信号,实现机器指令执行过程的时序控制。
- 操作控制信号形成部件:
- 综合时序信号、指令译码信号和执行部件反馈的条件标志等,形成不同指令的操作所需要的控制信号。
- 总线控制逻辑:
- 实现对总线传输的控制,包括对数据和地址信息的缓冲与控制。
- CPU对于存储器的访问通过总线进行,CPU将存储访问命令(即读写控制信号)送到控制线,将要访问的存储单元地址送到地址线,并通过数据线取指令或者与存储器交换数据信息。
- 中断机构:
- 实现对异常情况和外部中断请求的处理。
控制器 | 运算器 |
---|---|
PC | ALU |
IR | 暂存寄存器 |
MAR | ACC |
2.CPU的功能
- CPU的基本功能是取指令、分析指令和执行指令:
- 取指令:
- 控制器必须具备能自动地从存储器中取出指令的功能。
- 要求控制器能自动形成指令的地址,并能发出取指令的命令,将对应此地址的指令取到控制器中。
- 分析指令:
- 首先分析指令要完成什么操作,即控制器发出什么操作命令。
- 其次分析参与这次操作的操作数地址,即操作数的有效地址。
- 执行指令:
- 根据分析指令产生的操作命令和操作数地址的要求,形成操作控制信号序列,通过对运算器、存储器以及I/O设备的操作,执行每条指令。
- 取指令:
- 总之,CPU必须具有以下功能:
- 控制程序顺序执行
- 产生完成每条指令所需的控制命令
- 对各种操作加以时间上的控制
- 对数据进行算术运算和逻辑运算
3.CPU的寄存器
- 用户可见的寄存器(在调用子程序钱,必须将所有用户可见的寄存器的内容保存起来):
- 通用寄存器:
- 可由程序设计者指定许多功能,可用于存放操作数,也可作为满足某种寻址方式所需的寄存器。
- 可作为机器用专用寄存器,比如基址寄存器、变址寄存器或栈指寄存器。
- 数据寄存器:
- 用于存放操作数,其位数应满足多数数据类型的数值范围。
- 地址寄存器:
- 用于存放地址,其本身可以具有通用性,也可以用于特殊的寻址方式。
- 条件码寄存器:
- 这类寄存器中存放条件码,条件码是CPU根据运算结果由硬件设置的位。
- 通用寄存器:
- 用户透明寄存器:
- MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。
- MDR:存储器数据寄存器,用于存放欲存入存储器中的数据或最近从存储器中读出的数据。
- IR:指令寄存器,存放当前欲执行的指令。
- ALU 外围还有另一些寄存器,这些寄存器用于 ALU 的输入 / 输出以及用于和 MDR 及用户可见寄存器交换数据。
类别 | 寄存器 |
---|---|
对所有人可见 | PSW, PC |
对所有人透明 | MAR, MDR, IR, CACHE |
对应用程序员透明 | 暂存寄存器,虚拟寄存器 |
对汇编程序员可见 | PC, ACC, 基址寄存器,标志寄存器,状态寄存器,通用寄存器 |
对系统程序员可见 | 虚拟存储器 |