ALU 设计器
AluDesigner
交互式 Hack ALU 模拟器。通过 6 个控制位实现 18 种运算,理解计算机如何用简单操作组合出复杂算术。对应 Nand2Tetris 第 2 章。
Hack ALU 挑战: 0 / 6
挑战 1: 恒等函数
让输出 = x(不改变 x)
输入 x
100000000000001010
输入 y
50000000000000101
ALU 控制位 (6 bits)
控制编码: 000010
计算过程
1x = 0000000000001010 (10)
2y = 0000000000000101 (5)
3f=1: out ← x+y = 0000000000001111
4最终输出: 0000000000001111 (15)
输出 out
150000000000001111
无符号: 15 | 有符号: 15
Hack ALU 设计原理
Hack ALU 用 6 个控制位实现 18 种运算。它不直接实现减法或比较,而是通过组合"置零、取反、与/加、取反输出"四个基本操作来实现所有功能。 例如 x-y 可以分解为:x + !y + 1(利用补码),而 ALU 通过 zy=0, ny=1, f=1 实现 x + !y,再利用溢出实现 +1。 这就是 Nand2Tetris 第 2 章的核心思想:用简单的操作组合出复杂的功能。
关联教材
以下教材与本沙盒涉及的抽象层级相关,建议系统学习:
关联教材章节
以下教材章节与本沙盒涉及的抽象层级相关,建议配合阅读:
第1章深入理解计算机系统
计算机系统漫游
勿以浮沙筑高台
系统概览抽象层次Amdahl定律
第2章深入理解计算机系统
信息的表示和处理
我们生活在比特组成的世界
十六进制补码浮点数位运算
第4章深入理解计算机系统
处理器体系结构
万丈高楼平地起
Y86-64流水线控制逻辑流水线冒险
第6章深入理解计算机系统
存储器层次结构
万能的金字塔模型
SRAM/DRAM缓存局部性存储器山
第1章计算机系统要素
布尔逻辑
从 NAND 门开始
布尔代数逻辑门NAND万能性
第2章计算机系统要素
布尔算术
二进制运算
二进制加法ALU补码
第3章计算机系统要素
时序逻辑
让电路记住状态
触发器寄存器计数器RAM
第5章计算机系统要素
计算机体系结构
把一切组装起来
CPU设计总线存储映射
第3章数据密集型应用系统设计
存储与检索
数据库内部如何工作
B-TreeLSM-TreeSSTable索引
第7章操作系统导论
磁盘
I/O设备
磁盘调度RAIDSSD
第1章计算机体系结构:量化研究方法
计算机抽象及相关技术
从底层到顶层
摩尔定律性能评估Amdahl定律
第5章计算机体系结构:量化研究方法
大而快的存储层次
缓存的艺术
Cache设计虚拟内存存储一致性
学习路径推荐
建议按以下顺序学习,循序渐进掌握计算机科学:
使用说明
- •调整参数观察行为变化,实时反馈
- •状态自动编码到 URL,可直接分享给他人
- •支持键盘操作(Tab 切换、方向键调整)