Learning Computer Architecture
summary
Builds teaching simulators in Erlang and TypeScript and shows what actually works: implements gates, a one‑bit ALU and a 32‑bit ALU with built‑in shifter, models buses and clocks as gen_server bus processes, writes a small bit‑operation library and custom zip for binaries, defines a 36‑bit microinstruction format, and tests via Erlang test frameworks. Finds a bug in Tanenbaum’s addition example, models synchronous load/tick phases and configurable propagation delays, and demonstrates end‑to‑end emulation of datapath and control.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 4:58Understanding architecture
- 7:00Microarchitecture design
- 11:08Sequencing and control
- 15:50System software abstraction
- 18:58Implementing logic in Erlang
- 25:00Modeling circuit components
- 29:30Testing and validation
- 33:24Refining the architecture
- 37:00Future goals and conclusion
related talks
43mConcurrency before Erlang
29mBuilding an 8-Bit Adder Using Only Types
34mBuilding the systems of tomorrow
53mWhat To Expect When You Are Elixiring
40mExecutable Contracts for Elixir
43mA case study of using FP and Erlang in a Computer Science Curriculum.
45m12 years supporting Software Architecture teaching with BEAMs
34mCommunication, Expression, and Types: Your Compiler as an Ally
