Computer System Overview

Every program you write is aimed at an abstraction that hides almost everything interesting. The machine that runs it does not understand your intent; it fetches bits, decodes them, moves them between registers, and repeats. Understanding what happens inside that loop is the difference between writing software and reasoning about software. This chapter builds the vocabulary everything else in the course depends on: the functional units a computer is made of, the way hardware and software are layered on top of one another, and the small set of numbers that let you compare two machines honestly.

The organising idea is the stored-program principle. Once instructions and data live in the same memory and the machine walks through them in order, a computer stops being a machine built for one job and becomes a general-purpose machine. That single idea explains why the same silicon can run a spreadsheet, a compiler, and a web server. It also explains the central tension of the field: the processor and the memory are joined by a narrow channel, so the pair is usually limited by the slower of the two. Nearly every design you will meet later — caches, pipelines, wide buses, separate instruction and data paths — is an answer to that one constraint.

After the structural picture, the chapter turns to the practical language of performance. Clock frequency tells you how fast a core toggles, but it says nothing about how much useful work happens in a cycle. CPI, instruction counts, and the CPU time equation place the three factors side by side, and Amdahl’s law explains why parallel speedups flatten out no matter how many processors you add. By the end you should be able to read a specification sheet, compute a runtime from it, and predict which change to a system would actually help.

Prerequisites are minimal. Some familiarity with binary notation helps but is not required, since the encoding of numbers is developed in the following chapter. What you should bring is a willingness to follow a cycle count, because the reasoning in this course is quantitative more often than it is narrative.

Chapters

Found an issue with this content?

Tell us what could be improved.