贵州电子信息职业技术学院实训中心电工电子与控制 · 虚拟仿真
元件 + 指南esc

控制单元

本地实验舱 固定 8 位 CPU(中央处理器) 控制单元用于译码低半字节中的操作码,并在 FETCH、DECODE、EXECUTE 和 STORE 状态下发出数据通路控制信号。

概述

控制单元是 本地实验舱 内置 8 位 CPU 数据通路的固定软件时序控制模型。它译码低半字节操作码,并驱动既定控制输出;它不是用户可编程的微码存储器,也不是物理时序模型。

本地实验舱 的确切实现

方向 引脚 作用
输入 CLK(时钟), RST 上升沿时钟;高电平有效的异步复位。
输入 OP0–OP3, Z_FLAG 4 位操作码(OP0 为 LSB(最低有效位))与零标志。
输出 PC_INC, PC_LD, PC_OE 程序计数器控制。
输出 MEM_RD, MEM_WR, RAM_OE 存储器控制。
输出 IR_LD, IR_ADDR_OE 指令寄存器控制。
输出 ALU0–ALU2, ALU_OE ALU(算术逻辑单元) 运算与输出使能。
输出 ACC_LD, ACC_OE, FLG_LD 累加器与标志控制。
输出 HALT, STATE0, STATE1 停机与当前状态(00 FETCH:取指,01 DECODE:译码,10 EXECUTE:执行,11 STORE:存储)。

逻辑与时序

  • 每条指令随时钟上升沿依次经过 FETCH → DECODE → EXECUTE → STORE,随后返回 FETCH。
  • 在每个状态下,软件模型都会从内置的固定控制信号表中查找输出。
  • RST 立即返回 FETCH,并清除停机状态。
  • 指令字节格式为 [operand:4][opcode:4]:操作数位于高半字节,操作码位于低半字节。因此,操作数和 CPU 地址范围为 0x0–0xF。
  • LDI 已实现,并非保留操作码。

运行时参考

端子 方向
CLK 输入
RST 输入
OP0 输入
OP1 输入
OP2 输入
OP3 输入
ZF 输入
PC_INC 输出
PC_LD 输出
PC_OE 输出
MEM_RD 输出
MEM_WR 输出
RAM_OE 输出
IR_LD 输出
IR_ADDR_OE 输出
ALU_OP0 输出
ALU_OP1 输出
ALU_OP2 输出
ALU_OE 输出
ACC_LD 输出
ACC_OE 输出
FLG_LD 输出
HALT 输出
STATE0 输出
STATE1 输出

新放置元件的输出初始状态按上方输出端子顺序排列为:001100100000010000。四态符号为 0、1、X(主动驱动的未知态)和 Z(高阻态)。默认传播延迟:5 ns(仿真时间)。

学习路径

常见问题

控制单元有什么作用?

该元件读取 CLK、RST、OP0–OP3 和 Z_FLAG,然后为 本地实验舱 定义的 CPU 模型驱动程序计数器、存储器、指令寄存器、ALU、累加器、标志、停机和状态等信号。

本地实验舱 控制单元如何安排执行顺序?

软件模型在 CLK 上升沿依次推进 FETCH、DECODE、EXECUTE 和 STORE 状态,并为每个操作码查找固定的内置控制信号序列。此表不是用户可编程的控制存储器;RST 将控制单元返回 FETCH 状态并解除停机状态。

进阶课程