Chapters 4
Principles of computer computation
Electrical voltage can be used to transmit digital values.
Abstractly:
- there is voltage (higher voltage) = on state = 1;
- no voltage (lower voltage) = off state = 0.
This fully fits the mathematical binary numeral system. In it, each digit can be only zero or one, and grows in values as powers of two.
Encoding information
This simple “on/off” principle allows the computer to encode any human-understandable information into digital format, for example:
- Text — a character table standard is used (for example, Unicode), where each letter, digit, or emoji has its own unique numeric code, which the computer sees as a set of zeros and ones.
- Image — broken into a matrix of pixels. The color of each pixel is encoded by numbers (for example, intensity levels of red, green, and blue — RGB).
Hardware foundation of computation
To operate on arrays of zeros and ones, the computer uses transistors — microscopic electronic switches. They are combined into special chips called logic gates (basic logical operations such as “AND”, “OR”, “NOT”).
To make these computations practically useful, the physical scale of the system must be colossal. Today, tens of billions of transistors are placed on a single silicon die of a few square centimeters.
Any computer program, even the most complex, is decomposed at the hardware level into a giant sequence of such primitive operations on bits.
Performance
A typical modern processor has 8–12 cores and runs at about 4 GHz (4 billion cycles per second). This allows it to execute about 100–200 billion instructions per second (GIPS).
Such speed makes it possible, unnoticed by a human, to perform complex mathematical calculations, smoothly draw graphical interfaces, and instantly transmit data to other computers over the network. The limit of capability is the physical characteristics of the hardware components from which the system is assembled.