1
1
Notes
• The critical technique for managing complexity is abstraction: hiding details when they
are not important.
• The following Figure illustrates levels of abstraction for an electronic computer system
along with typical building blocks at each level.
• Our system is constructed from electronic devices such as transistors (or vacuum tubes,
once upon a time).
• Digital circuits such as logic gates restrict the voltages to discrete ranges, which we will
use to indicate 0 and 1.
• In logic design, we build more complex structures, such as adders or memories, from
digital circuits.
• For example, the Intel x86 architecture used by microprocessors in most personal
computers (PCs) is defined by a set of instructions and registers (memory for
temporarily storing variables) that the programmer is allowed to use.
• For example, the Intel Core i7, the Intel 80486, and the AMD Athlon all implement the
x86 architecture with different microarchitectures.
• Moving into the software realm, the operating system handles low level details such as
accessing a hard drive or managing memory.
• Finally, the application software uses these facilities provided by the operating system
to solve a problem for the user.