Preface What is “computer architecture,” really?
P.1 Who carries out the “contract”?
In Chapter 3 of the reader The Cambrian Explosion of Chips, there was the idea of the instruction set (ISA) = an invisible contract. It is the agreement struck between software and hardware that no one is conscious of, yet everyone follows.
But if we call it a contract, there are two parties. The “software” side that uses the contract, and the “machine” that actually carries it out. The reader explained the contract, but it has not yet touched the machine that carries it out. This Fundamentals section is the corner where we go to understand that machine. Once the machine’s shape is clear, you can sort out: “so that is why the ISA (contract) takes this form.”
P.2 Computer architecture = three layers
The term “computer architecture” actually has a clear origin. In 1964, the designers of IBM’s mainframe System/360 defined it this way — “the structure of a system as seen by the programmer.” It means a term that refers to the promises visible from outside, set apart from how it is actually built inside (circuits and wiring).
This is the crucial point. “Architecture” in the strict sense refers to the topmost layer = the contract (ISA) itself. Then what do we call the machine that carries out that contract — how you assemble the ALU and registers, and in what order you run instructions? This is called microarchitecture, and it is distinguished from architecture. And below it there is the layer of physical substance = implementation, of transistors and wiring. As a diagram, it looks like this.
· Architecture (ISA) = the contract. How instructions and registers “appear.” The layer the reader dealt with.
· Microarchitecture = how the machine that keeps that contract is assembled. The lead of this Fundamentals section.
· Implementation = the physical substance of transistors and wiring.
And this term is used in two ways, a broad sense and a narrow sense. “Computer architecture” as used in university lectures and textbooks is the broad sense, bundling the top two layers. Meanwhile the strict sense of the word is only the very top (the contract). That is why we titled this Fundamentals section “How CPUs Work.” The lead is the middle layer (the machine), and we call it “behind the instruction set.”
P.3 The same contract, a different machine — so we think of them separately
Why go to the trouble of thinking about “contract” and “machine” separately? An example is the quickest way. A smartphone’s low-power core and a PC-class high-performance core have exactly the same instruction set (contract), yet the way their insides are assembled is completely different — this actually happens all the time. If the contract is the same, the same software runs. But the speed and the power draw are different things. Share the contract; choose the machine. This sense becomes the groundwork of the whole Fundamentals section.
P.4 So what do we “do” in the Fundamentals section?
Here, one honest word. The “flow in which an instruction passes through five steps” that appears in Chapter 3 later — fetch, decode, execute, and so on. It is actually a fairly old story, largely settled in the 1980s. So we do not redesign that machine from scratch.
In Chapter 5 of the reader there was the idea that “RISC-V opened up the ‘language.’” This also means that the “machine” that carries out the contract is, likewise, already available as a finished product, released for free. So our job comes to this — not to invent from zero, but to choose, configure, assemble, and check. Look at the next map.
In short, there are roughly four things to decide. Brain (which CPU core to use / how far to take instruction extensions / how many pipeline stages), Memory (the amount and layout of memory), Peripherals (which bus to connect UART/SPI and the like), Physical (clock in MHz, power, the area budget of the manufacturing process). And what you can use is a full set of “no need to write — just choose” resources: free RISC-V, open core families and EDA, the PDK, and an FPGA for verification.
P.5 How to walk through this Fundamentals section
The whole is in three parts. After them, we placed a chapter that is the destination, and a bridge to the courses. At the end of each chapter, we always add “which decision is this knowledge for.” It is so you don’t lose sight of where, on that earlier “decisions map,” you are currently deciding.
- Part 1 · Taking the machine apart (Chapters 1–3). Registers → parts catalog → the five-step flow. Lay blocks on the desk and assemble one CPU.
- Part 2 · How you write the contract changes the machine (Chapters 4–6). CISC and RISC → MIPS → low power. Why choose a RISC-V core, and how to set power and stages.
- Part 3 · Assemble only what you need (Chapters 7–8). What the modular ISA really is → the extension catalog. So you can decide “include / don’t include” yourself.
- Chapter 9 · The decisions sheet. The judgment material you’ve learned, into a single table. This is the destination of the Fundamentals section.
- Closing chapter · This is how an instruction set gets designed. Now that you’ve seen the machine, the shape of the ISA (contract) shows its “reasons.” And then you do the work — handed off to the FPGA course.
Ready? In the next Chapter 1, we start laying out the smallest block on the desk — the register. Why does a CPU need a “workbench close at hand”? Let’s untangle it from there.