Skip to content

单周期CPU数据通路

考情分析

数据通路是理解CPU工作原理的核心,408考研在选择题和综合题中会考"某信号的值""某操作的数据流"。单周期是流水线的基础,理解它才能分析后续的多周期与流水线。

单周期的基本思想

每条指令在一个时钟周期内完成执行,时钟周期长度取决于最慢的指令(通常是 load 指令,需要访问两次存储器:取指 + 访存)。

优点:控制逻辑简单。 缺点:时钟周期被最慢指令拖长,简单指令(如加法)也需等待同样长的时间,效率低。

主要功能部件

部件功能
程序计数器(PC)存放当前指令地址
指令存储器根据 PC 输出指令(只读)
寄存器堆读写通用寄存器,有两个读端口、一个写端口
ALU执行算术/逻辑运算,输出结果和零标志
数据存储器支持读(lw)和写(sw)两种操作
符号扩展单元将16位立即数符号扩展为32位
加法器PC+4 计算器;分支目标地址计算器
多路选择器(MUX)根据控制信号选择不同的数据来源

控制信号

信号作用
RegDst选择目的寄存器编号来源(R型用rd,I型用rt)
ALUSrc选择ALU第二操作数(寄存器rt 或 立即数)
MemToReg选择写入寄存器的数据(ALU结果 或 内存读出值)
RegWrite允许写寄存器堆
MemRead读数据存储器
MemWrite写数据存储器
Branch分支控制,与ALU零标志 AND 后控制 PC 选择
ALUOp告知ALU控制单元执行哪类操作

各类指令的数据通路

R型指令(ADD/SUB/AND/OR/SLT)

格式:op | rs | rt | rd | shamt | funct

数据流:

  1. PC → 指令存储器,取出指令
  2. 指令中 rs、rt 字段 → 寄存器堆,读两个操作数
  3. 两个操作数 → ALU,执行 funct 指定的运算
  4. ALU 结果 → 寄存器堆,写入 rd 号寄存器

控制信号:RegDst=1, ALUSrc=0, MemToReg=0, RegWrite=1, MemRead=0, MemWrite=0, Branch=0

lw 指令(Load Word)

格式:lw rt, imm(rs),功能:rtM[rs+imm]

数据流:

  1. 取指令
  2. 读寄存器 rs
  3. 符号扩展 imm(16位 → 32位)
  4. ALU 计算 rs + 立即数,得到有效地址
  5. 有效地址 → 数据存储器,读出数据
  6. 读出数据 → 寄存器堆,写入 rt

控制信号:RegDst=0, ALUSrc=1, MemToReg=1, RegWrite=1, MemRead=1, MemWrite=0, Branch=0

sw 指令(Store Word)

格式:sw rt, imm(rs),功能:M[rs+imm]rt

数据流:

  1. 取指令
  2. 读寄存器 rs 和 rt
  3. 符号扩展 imm
  4. ALU 计算基址 + 偏移 = 有效地址
  5. rt 的值 → 数据存储器,写入有效地址

控制信号:RegDst=x, ALUSrc=1, MemToReg=x, RegWrite=0, MemRead=0, MemWrite=1, Branch=0

beq 指令(Branch if Equal)

格式:beq rs, rt, label,功能:若 rs == rt,则 PC ← PC+4 + imm×4

数据流:

  1. 取指令,同时 PC+4 计算完毕
  2. 读寄存器 rs 和 rt
  3. ALU 计算 rs - rt,检查零标志 Zero
  4. 符号扩展后左移2位的偏移量 + (PC+4) = 分支目标地址
  5. 若 Zero=1 且 Branch=1,则 PC ← 分支目标地址;否则 PC ← PC+4

控制信号:RegDst=x, ALUSrc=0, MemToReg=x, RegWrite=0, MemRead=0, MemWrite=0, Branch=1

控制信号汇总表

指令RegDstALUSrcMemToRegRegWriteMemReadMemWriteBranch
R型1001000
lw0111100
swx1x0010
beqx0x0001

x 表示无关项(don't care)。

交互可视化

加载可视化中...

考点清单

  • 单周期 CPI = 1,但时钟周期由最慢指令决定(通常是 lw)
  • 指令存储器和数据存储器分开(哈佛结构),避免取指和访存冲突
  • R型指令不访存,但仍需等待完整的时钟周期
  • beq 使用 ALU 做减法来判断相等,而不是专用比较器
  • 分支目标地址 = PC+4 + 符号扩展(imm) × 4(立即数单位是字,需左移2位转换为字节偏移)
  • RegDst、MemToReg 等信号的 x(无关项)不影响功能但影响电路设计

真题练习

相关真题(4题)

2026Q20选择题2分

单周期、多周期、流水线数据通路与CPI的关系

2025Q19选择题2分

CPU数据通路与控制器结构辨析

2020Q17选择题2分

不同CPU结构理想CPI的比较

2016Q20选择题2分

单周期处理器的特点辨析