Computer Science I / Integrated Computer-System Reasoning
Practice question · Multiple choice

A high-level language statement becomes machine instructions, which become voltage changes in transistors. Why is describing a computer at several levels of abstraction necessary rather than merely convenient?

Hints
  1. Estimate the transistor count involved in one line of Python. Could you reason about it directly?
  2. Ask what makes it possible to change a CPU's internals without rewriting all software.
Show the answer

D. Because no one can hold the whole system at once, so each level hides the last.

Why

A line of Python may involve billions of transistor switchings, and the layered structure is what makes reasoning about that unnecessary. The independence runs both ways commercially, 1990s x86 programs run on today's chips because the instruction set is the contract. The abstractions leak, and knowing where is part of being good at this: cache behaviour, floating point, integer overflow.

Read the lesson: Integrated Computer-System Reasoning →

Practise Integrated Computer-System Reasoning

The app has 6 more questions on this lesson, and keeps your place in the course. Computer Science I is free to start.

More questions on Integrated Computer-System Reasoning