P.S. I synthesize and re-write in my own words what books teach, write any example programs they contain, solve all exercises they offer, and add own comments cursively in blue. I list pages done vs total pages, including any roman and appendix numbered pages.
DDaCA R-VEd Page27 - Phase1 0027/2316
1.2 THE ART OF MANAGING COMPLEXITY
Computer engineers and scientists have learned a systematic approach to managing complexity. The idea is to understand how these things work in a broad sense, without getting bogged down in endless detail.
1.2.1 Abstraction
The essential method to keep complexity at bay is abstraction. This method hides what is not important The mind does this all the time. Since being aware of everything that exists all the time would drive us mad. We simplify things by using simplistic concepts to classify everything that arises within our awareness.
Overview of possible layers of abstraction of a computer system
from 'Application Software' = high-level to 'Physics' = low-level

All the way down the ladder of abstractions exists the motion of electrons. Their behavior is described by quantum mechanics and Maxwell's equations. Computer systems are constructed with electronic components such as transistors, in the case of modern pc's, or were, for example, built with vacuum tubes, decennia ago. Both these components have connection points called terminals. These points can be modeled by the measured relationship between voltage and current.
At this level of abstraction we can ignore the individual electrons. The next level upwards, we perceive the analog circuits. These are used to develop components like for example amplifiers. Analog circuits input and output a continuous range of voltages. Digital circuits, such as logic gates, on the contrary, restrict voltages to discrete ranges, which we label 0 and 1. Within Logic Design we build complex structures with digital circuits such as adders or memories.
Micro architecture links the logic and architecture levels of abstraction. When we talk about the architecture level of abstraction we describe a computer from the programmer's perspective.
DDaCA R-VEd Page27 - Phase1 0027/2316
1.2 THE ART OF MANAGING COMPLEXITY
Computer engineers and scientists have learned a systematic approach to managing complexity. The idea is to understand how these things work in a broad sense, without getting bogged down in endless detail.
1.2.1 Abstraction
The essential method to keep complexity at bay is abstraction. This method hides what is not important The mind does this all the time. Since being aware of everything that exists all the time would drive us mad. We simplify things by using simplistic concepts to classify everything that arises within our awareness.
Overview of possible layers of abstraction of a computer system
from 'Application Software' = high-level to 'Physics' = low-level

All the way down the ladder of abstractions exists the motion of electrons. Their behavior is described by quantum mechanics and Maxwell's equations. Computer systems are constructed with electronic components such as transistors, in the case of modern pc's, or were, for example, built with vacuum tubes, decennia ago. Both these components have connection points called terminals. These points can be modeled by the measured relationship between voltage and current.
At this level of abstraction we can ignore the individual electrons. The next level upwards, we perceive the analog circuits. These are used to develop components like for example amplifiers. Analog circuits input and output a continuous range of voltages. Digital circuits, such as logic gates, on the contrary, restrict voltages to discrete ranges, which we label 0 and 1. Within Logic Design we build complex structures with digital circuits such as adders or memories.
Micro architecture links the logic and architecture levels of abstraction. When we talk about the architecture level of abstraction we describe a computer from the programmer's perspective.