Historical View of CPU

Esme
3 min readJun 26, 2020

--

The heart of our dearest computers… It would be a shame not to understand it, right? Well, I didn’t quite understand it, just enough to let me pass my exams. And then I forgot everything I learned and a couple of weeks ago we were two strangers, CPU and I…

No matter how I studied, if there were pieces missing I forgot easily. Therefore, I confess we will not start with CPU exactly. But to understand CPU better, I had to study its components and the history of computing that led to its invention.

John von Neumann was a Hungarian-American mathematician, physicist, computer scientist, engineer and polymath. One of his most important contribution to computing was Von Neumann Architecture. He was consulting for the EDVAC project when he wrote a paper describing a computer architecture in which the data and the program are both stored in the computer’s memory in the same address space. The term “von Neumann architecture” has evolved to mean any stored-program computer in which an instruction fetch and a data operation cannot occur at the same time because they share a common bus.

John von Neumann with the IAS computer

Before stored-program computers, there were program-controlled computers which were fed the programs, all the signals were controlled by engineers. ENIAC with its huge size and lots of cables was one of the program-controlled computers. However, setting up programs was laborious. I’m kind of amazed by how stored-program computer revolutionized computers. One of its first examples, Baby aka Manchester Mark 1.

ENIAC

This wasn’t an easy paragraph for a person who has no prior knowledge, so let’s explain it a bit(I’ll try to explain the hell of it). What does the instruction fetch or data bus mean? I’ll dive into the technical details with a later story.

What does computer architecture mean? Simply, it’s the hardware components, instructions and how to implement these instructions with the components while being concerned with balancing the performance, efficiency, cost, and reliability of a computer system. Though there are earlier documents describing an architecture, Von Neumann is the basis for many today therefore I’ll continue with it.

So, von Neumann Architecture document describes a design architecture for an electronic digital computer with these components:

  • A processing unit(within CPU) that contains an arithmetic logic unit and processor registers
  • A control unit(within CPU) that contains an instruction register and program counter
  • Memory(RAM) that stores data and instructions
  • External mass storage
  • Input and output mechanisms

And there it is, CPU logic as we know today.

Block diagram of a basic uniprocessor-CPU computer.
By Lambtron — Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=37716438

If we explain these components a bit:

Control unit orchestrates the processor. It tells the computer’s memory, arithmetic and logic unit and input and output devices how to respond to the instructions that have been sent to the processor. It directs the operation of the other units by providing timing and control signals.

Arithmetic logic unit is where bitwise arithmetic and operations happen. Registers in ALU store the values that are necessary for the operations.

A cache is a faster and smaller memory that is closer to the processor and reduces the average cost compared to using only the RAM.

PS: These are my study notes, I added the source links so you can read the longer versions. What I have in my mind is, while help me remember what I learned, these notes might help someone with what and where to look for if they are willing to learn some computer science basics. I’ll continue with CPU in the next story.

--

--