Central Processing Unit

 

CPU- the Central Processing Unit is the heart of any modern digital system, starting with a disc drive and up to a most sophisticated server. It is, however, important to remember, that CPU alone is just a piece of hardware and is entirely useless without other devices (e.g., motherboard, memory, etc.) and especially without a program to run.

 

Pre-micro era

 

The first Turing-complete general-purpose computer was presented to the public in autumn 1945. It may be safe enough to say, that the Electronic Numerical Integrator and Computer (ENIAC) was, in fact, the first CPU, rather than computer and it occupied 1800 ft2 (167 m2) – twice the size of an average apartment. Being such a tremendous thing, it was tremendously slow (in comparison to today’s CPUs, of course) with a primary cycle of 20 cycles of 100 kHz clock. Neither did it have any internal memory to store data - punch cards were used for that purpose up until 1953 when a magnetic-core memory was added. Punch cards were also used as the only means of input/output system. There was much whining about the need to use more than one diskette for Windows installation in 1990’s, now try to imagine thousands of punch cards…

 

Although computers were only becoming more sophisticated and significantly reduced size since 1945, it took the technology more than 20 years to reduce the size of a computer to something that would fit on a desk.

 

 Intel 4004

 

In 1971 Intel Corporation released its Intel 4004 4-bit microprocessor – the first commercially available microprocessor on a single chip. Something that we take for granted these days was a huge technological breakthrough at that time, despite the fact that it was a 4-bit, BCD[10]-oriented processor. Just imagine that before Intel 4004, CPUs were not only literally built out of several integrated circuits, but it was a general thing to make a CPU from several circuit boards.

 

8086 and so on

Intel delivered its first 16-bit processor in 1978. Just imagine that up until 1982 you could not access more than 1MB of RAM, while nowadays we can theoretically access terabytes or memory with 64-bit processors. Well, in principle, we can access much more, but there are physical limitations too.

 

As we advance through this book, we will see how the technology was changing since the late 70’s, and early 80’s in the previous century, throughout 90’s and 00’s. Starting with a trivial bootloader, which could nicely run on 8086 processor, we will finish our journey with a tiny and elementary 64-bit operating system. However, try not to forget, that even the most sophisticated processor is just a set of logic gates, which adheres the rules and principles developed by George Boole, who was born 202 years ago…