计算机组成原理(知识点+易错点,超详细)|第五章 中央处理器(上)

目录

5.1 CPU的功能和基本结构

5.1.1 CPU的功能

5.1.2 CPU的基本结构

5.1.3 CPU的寄存器

5.2 指令执行过程

5.2.1 指令周期

5.2.2 指令周期的数据流

5.2.3 指令执行方案

5.3 数据通路的功能和基本结构

5.3.1 数据通路的功能

5.3.2 数据通路的组成

5.3.3 数据通路的基本结构

5.3.4 数据通路的操作举例

5.4 控制器的功能和工作原理

5.4.1 控制器的结构和功能

5.4.2 硬布线控制器

5.4.3 微程序控制器

考研重难点总结

重点内容

难点内容

典型考题


第五章内容较多,拆成上下两章发~觉得内容有帮助的小伙伴可以收藏关注不错过更新哟


5.1 CPU的功能和基本结构

5.1.1 CPU的功能

CPU是计算机的“大脑”,核心功能如下:

功能描述
指令控制按顺序取指令、译码并执行,控制程序流程(如分支、循环)。
操作控制生成控制信号,驱动ALU、寄存器、内存等部件协同工作(如加法操作、数据存取)。
时间控制通过时钟信号同步各部件操作,确保时序正确(如T0-T3节拍控制)。
数据加工执行算术(加减乘除)和逻辑运算(与或非),处理数据。
中断处理响应外部事件(如I/O请求),保存现场并跳转至中断服务程序。

5.1.2 CPU的基本结构

CPU由以下核心部件组成:

部件功能关键组件
运算器(ALU)执行算数逻辑运算,处理数据。ALU、ACC(累加器)、PSW(状态寄存器)
控制器(CU)生成控制信号,协调指令执行流程。PC、IR、时序发生器、微操作控制逻辑
寄存器组暂存指令、数据和地址,减少访问主存次数。通用寄存器(AX/BX)、专用寄存器(PC/MAR/MDR)

注意考试中一般称CPU由运算器和控制器两大部分组成(或CPU由数据通路和控制部件两大部分组成)


5.1.3 CPU的寄存器

寄存器分类及功能:

寄存器类型功能示例
用户可见寄存器程序员可直接访问的寄存器。- 通用寄存器:x86的EAX、ARM的R0-R12<br>- PC:存放下一条指令地址<br>- PSW:保存状态标志(如溢出、零标志)
用户不可见寄存器由CPU内部自动管理,程序员无法直接操作。- MAR:主存地址寄存器<br>- MDR:主存数据寄存器<br>- 暂存器:ALU操作数临时存储

5.2 指令执行过程

5.2.1 指令周期

指令周期的各阶段及操作:

阶段操作涉及部件
取指周期从主存读取指令,存入IR,PC自增。PC、MAR、MDR、IR
间址周期处理间接寻址指令,获取有效地址(需额外访存)。MAR、MDR、ALU(地址计算)
执行周期执行指令操作(如运算、跳转、访存)。ALU、寄存器、主存
中断周期响应中断,保存当前PC并跳转到中断处理程序。堆栈、PC、中断控制器

5.2.2 指令周期的数据流

以**加法指令(ADD R1, R2)**为例:

  1. 取指:PC→MAR→主存→MDR→IR,PC+1。
  2. 译码:IR解析操作码为ADD,确定源寄存器R1、R2。
  3. 执行:R1和R2的值送入ALU相加,结果暂存于ACC。
  4. 写回:ACC内容写回R1,更新PSW标志位(如溢出、零值)。

5.2.3 指令执行方案

方案原理优缺点
单指令周期所有指令执行时间相同(取最长指令时间)。简单但效率低(适用于简单指令集)。
多指令周期不同指令占用不同时钟周期(如加法1周期,乘法4周期)。效率较高,但时序控制复杂(常见于CISC)。
流水线指令执行分为多个阶段,各阶段并行处理不同指令。吞吐率高,需处理冲突(如数据冒险)。

5.3 数据通路的功能和基本结构

5.3.1 数据通路的功能

  • 提供数据流动路径(如寄存器→ALU→寄存器)。
  • 实现运算、访存、跳转等操作的数据传输。

5.3.2 数据通路的组成

组件功能示例
组合逻辑元件根据输入即时生成输出信号。MUX(多路选择器)、译码器、ALU
时序逻辑元件在时钟边沿更新状态。寄存器、计数器(如PC)、状态寄存器

5.3.3 数据通路的基本结构

结构类型特点适用场景
单总线结构所有部件共享一条总线,结构简单但并行性差。早期CPU(如Intel 8086)
多总线结构分离数据总线和地址总线,提高并行性。现代CPU(如ARM Cortex系列)
专用通路为高频操作设计独立通路(如ALU直连寄存器)。高性能CPU(如RISC-V超标量设计)

5.3.4 数据通路的操作举例

1. 通用寄存器之间传送数据

指令示例MOV R1, R2(将R2的值复制到R1)
数据通路操作流程

  1. 控制信号:控制器发出 RegRead_R2RegWrite_R1 信号。
  2. 数据流动
    • R2的内容通过 内部总线 传输到 多路选择器(MUX)
    • MUX选择寄存器输入源为“总线数据”,将数据送入 目标寄存器R1 的输入端。
  3. 时序控制:时钟上升沿到来时,R1锁存数据,完成写入。

关键部件:内部总线、MUX、寄存器组、控制器。


2. 从主存中读取数据

指令示例LOAD R3, [0x2000](将主存地址0x2000的数据加载到R3)
数据通路操作流程

  1. 地址阶段
    • 立即数 0x2000 通过 ALU 送入 MAR(Memory Address Register)
    • 控制器发出 MemRead 信号。
  2. 访存阶段
    • MAR的内容通过 地址总线 发送到主存。
    • 主存返回对应地址的数据到 MDR(Memory Data Register)
  3. 写回阶段
    • MDR的数据通过总线传输到 寄存器R3,控制器发出 RegWrite_R3 信号。

关键部件:ALU、MAR、MDR、地址总线、数据总线。


3. 将数据写入主存

指令示例STORE [0x3000], R4(将R4的值写入主存地址0x3000)
数据通路操作流程

  1. 地址阶段
    • 立即数 0x3000 送入 MAR
    • R4的值通过总线传输到 MDR
  2. 写操作
    • 控制器发出 MemWrite 信号。
    • MAR的地址和MDR的数据分别通过 地址总线数据总线 写入主存。

关键部件:MAR、MDR、地址总线、数据总线、控制器。


4. 执行算术或逻辑运算

指令示例ADD R5, R6, R7(R5 = R6 + R7)
数据通路操作流程

  1. 取操作数
    • R6和R7的值通过总线分别送入 ALU的输入端口A和B
    • 控制器发出 ALU_OP=ADD 信号。
  2. 运算阶段
    • ALU执行加法运算,结果暂存到 ACC(累加器)
  3. 写回结果
    • ACC的值通过总线写回 寄存器R5,控制器发出 RegWrite_R5
  4. 状态更新:ALU的溢出、零标志等状态写入 PSW(Program Status Word)

关键部件:ALU、ACC、PSW、寄存器组、控制器。


5. 修改程序计数器的值

指令示例JMP 0x4000(无条件跳转到地址0x4000)
数据通路操作流程

  1. 地址加载
    • 立即数 0x4000 通过 ALU 送入 PC(Program Counter)
  2. 控制信号
    • 控制器发出 PC_Load 信号,允许PC更新。
  3. 时序操作
    • 在下一个时钟周期,PC的值变为 0x4000,CPU从该地址取下一条指令。

条件跳转示例(如 BEQ R8, R9, 0x5000):

  1. 比较操作:R8和R9的值送入ALU,执行减法并更新PSW的零标志。
  2. 条件判断:若零标志为1(R8=R9),立即数 0x5000 写入PC;否则PC正常递增。

关键部件:PC、ALU、PSW、控制器。


操作总结表

操作类型指令示例关键数据通路部件控制信号
寄存器间传输数据MOV R1, R2内部总线、MUX、寄存器组RegRead_R2, RegWrite_R1
从主存读取数据LOAD R3, [0x2000]MAR、MDR、地址/数据总线MemRead, RegWrite_R3
向主存写入数据STORE [0x3000], R4MAR、MDR、地址/数据总线MemWrite
执行算术逻辑运算ADD R5, R6, R7ALU、ACC、PSWALU_OP=ADD, RegWrite_R5
修改程序计数器JMP 0x4000PC、ALU、PSWPC_Load

5.4 控制器的功能和工作原理

5.4.1 控制器的结构和功能

组件功能
程序计数器(PC)存放下一条指令地址,支持跳转和中断。
指令寄存器(IR)存储当前指令内容,供译码器解析。
时序发生器生成节拍信号(如T0-T3),划分指令执行阶段。
微操作控制单元根据指令和时序生成控制信号(如RegWrite、MemRead)。

5.4.2 硬布线控制器

特性描述
原理通过组合逻辑电路直接生成控制信号。
优点速度快,适合简单指令集(如RISC)。
缺点指令集扩展需重新设计电路,灵活性差。

5.4.3 微程序控制器

特性描述
原理控制信号以微指令形式存储于控制存储器(CM),按需取出执行。
优点灵活性高,支持复杂指令集(如CISC)。
缺点速度较慢,需额外存储资源(如Intel x86的微码)。

考研重难点总结

重点内容

  1. 指令周期与流水线

    • 指令周期的四个阶段(取指、间址、执行、中断)。
    • 流水线的五级划分(取指、译码、执行、访存、写回)及冲突处理(数据冒险、控制冒险)。
  2. 数据通路设计

    • 单总线与多总线结构的对比及性能分析。
    • 典型指令(如ADD、LOAD)在数据通路中的执行流程。
  3. 控制器类型

    • 硬布线控制器与微程序控制器的区别(速度、灵活性、适用场景)。
    • 微指令格式(水平型、垂直型)及控制存储器的设计。

难点内容

  1. 流水线冲突解决

    • 数据冒险:通过旁路(Forwarding)或流水线暂停(Stall)解决。
    • 控制冒险:采用分支预测或延迟槽技术。
  2. 微程序控制器工作原理

    • 微程序地址的生成方式(下址字段法、计数器法)。
    • 微指令与机器指令的映射关系(如一条CISC指令对应多条微指令)。
  3. 性能计算

    • 流水线吞吐率(Throughput)和加速比(Speedup)的计算。
    • 多周期CPU时钟周期数的确定(如乘法指令占用多个周期)。

典型考题

  1. 简答题

    • 比较硬布线和微程序控制器的优缺点。
    • 描述五级流水线各阶段的功能及可能发生的冲突。
  2. 设计题

    • 设计单总线数据通路执行LOAD指令的步骤。
    • 画出微程序控制器的结构框图并解释微地址生成逻辑。
  3. 计算题

    • 给定流水线各阶段时间,计算吞吐率和加速比。
    • 分析多周期CPU执行一段指令序列的总时钟周期数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值