指令驱动计算
CPU 靠取指、译码、执行、访存、写回这一圈,让程序一步一步往前走。
星图 · 活页
计算机组成原理的五组小实验:拆开主机箱看部件、把十进制掰成八位二进制、逐帧走一遍指令周期、亲手把缓存跑出命中率,最后做三道题验一验。
讲义 · 第一章
从一条指令的执行,到数据在寄存器、缓存和内存之间来回搬运。这一页放了五个能上手的小实验—— 凡是能点、能拖、能按的地方,都动一动,比背概念快。
五大经典部件加一套总线,像一座分工很细的工厂。点一张卡片,看看它管什么。
中央处理器:取指令、分析指令,并控制其他部件协同工作。这一页后面两节都在拆它。
对计算机来说,数字、文字和图片,最后都要编码成二进制。两个实验换着试。
实验 A · 十进制 → 八位二进制
拖动下面的尺子,或者直接用方向键调数。
00101010
每一位代表一个 2 的幂0x2A
实验 B · 自己点亮位元
点一个小格,把它翻成 1,看它们怎么加出最终数值。
0
经典五步:取指、译码、执行、访存、写回。按下一步,逐帧看一遍。
控制器根据程序计数器 PC 的地址,从指令存储位置取出 ADD R3, R1, R2 这条指令。
步骤 1 / 5
越快越贵、越小;缓存靠局部性原理,把等待的时间省下来。
缓存命中模拟器
八个槽位,地址取模八决定去哪个槽。反复访问同一个地址,看看缓存能帮你省下多少时间。
命中(cache hit)未命中(cache miss)访问 0 次 · 命中 0 次
三道小题,选完立刻给解析。
问题 1 / 3CPU 里负责算术和逻辑运算的部件通常是?
ALU 执行加法、比较、逻辑与这类运算;控制器负责的是协调各部件,不亲自算。
问题 2 / 3十进制 13 的八位二进制表示是?
13 = 8 + 4 + 1,对应位是 1,其余补 0,所以是 00001101。
问题 3 / 3缓存(Cache)设计最主要想利用什么特性?
程序往往重复访问刚用过的数据(时间局部性),或访问相邻地址(空间局部性)。缓存就是押这个注。
三道都答完,按钮会变成重新练习。
理解这三个关系,这一章的主线就抓住了。
CPU 靠取指、译码、执行、访存、写回这一圈,让程序一步一步往前走。
数字、文字、图像,最终都要按约定的编码规则,落成一串位元。
寄存器、缓存、内存、外存,在速度、容量和成本之间互相折中。