logo 轻松的编程学习
  • 首页
  • 题库
  • 学习路径
  • 在线商城
  • 能力地图
  • 下载应用
登录 / 注册

PC 一条一条往前走

运行下面这段程序,填写它打印出来的结果。 pc = 0 seen = "" for _ in range(4): seen = seen + str(pc) pc = pc + 1 print(seen

开始练习 →

自己写:一个寄存器堆

补全 RegFile:两个寄存器,写进去的值一律截成八位。

开始练习 →

自己写:取指并让 PC 前进

补全 fetch:从程序里取出 PC 指着的那条指令,取完之后 PC 加一,返回取到的那条。

开始练习 →

三个阶段的先后

一条指令的执行分成三步,顺序是【0】。

开始练习 →

取指的地址从哪来

取指阶段要去内存里拿一条指令,地址是【0】给的。

开始练习 →

译码在干什么

译码这一步做的事是【0】。

开始练习 →

为什么要分成三步

把一条指令拆成三个阶段来做,好处是【0】。

开始练习 →

一条指令走完三拍

运行下面这段程序,填写它打印出来的结果。 PROG = [0b00001001, 0b01000111, 0b10000011, 0b11000000] def decode(w): return (w >> 6) &

开始练习 →

四条指令的 PC 轨迹

运行下面这段程序,填写它打印出来的结果。 PROG = [0b00001001, 0b01000111, 0b10000011, 0b11000000] def decode(w): return (w >> 6) &

开始练习 →

自己写:译码器

补全 decode:把八位切成操作码(高 2 位)、寄存器号(第 5 位)、立即数(低 5 位)三段。用两条指令各译一次。

开始练习 →
  • 上一页
  • 1
  • ...
  • 631
  • 632
  • 633
  • 634
  • 635
  • ...
  • 1095
  • 下一页
🔎 搜索
© 2026 有词 — 青少年编程训练平台