The Evolution Of CPU Processing Power Part 1: The Mechanics Of A CPU

preview_player
Показать описание

In this multi-part series, we explore the evolution of the microprocessor and its astonishing growth in processing power over the decades. In Part 1, we learn about the first commercial CPU, the Intel 4004 and examine how it and similar early CPU's work at the fundamental level.

During the mid-1960s a revolution in miniaturization was kick-started. The idea of packing dozens of semiconductor-based transistors on to a single silicon chip spawned the integrated circuit. It laid the groundwork for a complete paradigm shift in how modern society would evolve. In March of 1971, the commercial launch of a new semiconductor product set the stage for this new era. Composed of a then-incredible 2,300 transistors, the Intel 4004 central processing unit or CPU was released.

For comparison, ENIAC, the first electronic computer built just 25 years earlier could only execute 5,000 instructions a second. But what made the 4004 so powerful wasn’t just its 1800% increase in processing power - it only consumed 1 watt of electricity, was about ¾” long and cost $5 to produce in today’s money. This was miles ahead of ENIAC’s, cost of $5.5 million in today’s money, 180kW power consumption, and 27-ton weight.

In order to understand how a CPU derives its processing power, let examine what a CPU actually does and how it interfaces with data. For all intents and purposes, we can think of a CPU as an instruction processing machine. They operate by looping through three basic steps, fetch, decode, and execute. As CPU designs evolve these three steps become dramatically more complicated and technologies are implemented that extend this core model of operation.

FETCH

In the fetch phase, the CPU loads the instruction it will be executing into itself. A CPU can be thought of as existing in an information bubble. It pulls instructions and data from outside of itself, performs operations within its own internal environment, and then returns data back. This data is typically stored in memory external of the CPU called Random Access Memory or (RAM). Software instructions and data are loaded into RAM from more permanent sources such as hard drives and flash memory. But at one point in history magnetic tape, punch cards, and even flip switches were used.

BUS

The mechanism by which data moves back and forth to RAM is called a bus. A bus can be thought of as a multi-lane highway between the CPU and RAM is which each bit of data has its own lane. But we also need to transmit the location of the data we’re requesting, so a second highway must be added to accommodate both the size of the data word and the address word. These are called the data bus and address bus respectively. In practice, these data and address lines are physical electrical connections between the CPU and RAM and often look exactly like a superhighway on a circuit board.

REGISTER

The address of the memory location to fetch is stored in the CPU, in a mechanism called a register. A register is a high-speed internal memory word that is used as a “notepad” by CPU operations. It’s typically used as a temporary data store for instructions but can also be assigned to vital CPU functions, such as keeping track of the current address being accessed in RAM. Because they are designed innately into the CPU’s hardware, most only have a handful of registers. Their word size is generally coupled to the CPU’s native architecture.

DECODE

Once an instruction is fetched the decode phase begins. In classic RISC architecture, one word of memory forms a complete instruction. This changes to a more elaborate method as CPUs evolve to complex instruction set architecture, which will be introduced in part 2 of this series.

BRANCHING

Branching occurs when an instruction causes a change in the program counter’s address. This causes the next fetch to occur at a new location in memory as oppose to the next sequential address.

OPERAND

Opcodes sometimes require data to perform its operation on. This part of an instruction is called an operand. Operands are bits piggybacked onto an instruction to be used as data. Let say we wanted to add 5 to a register. The binary representation of the number 5 would be embedded in the instruction and extracted by the decoder for the addition operation.

EXECUTION

In the execution phase, the now configured CPUs is triggered. This may occur in a single step or a series of steps depending on the opcode.

CLOCKS

In a CPU these 3 phases of operation loop continuously, workings its way through the instruction of the computer program loaded in memory. Gluing this looping machine together is a clock. A clock is a repeating pulse use to synchronize a CPU’s internal mechanics and its interface with external components. The CPU clock rate is measured by the number of pulses per second or Hertz.

SUPPORT NEW MIND ON PATREON
Рекомендации по теме
Комментарии
Автор

No matter how many times I've worked with assembly and CPU's in general it amazes me everytime what has been achieved and how reliable the technology is

seanc.
Автор

Whenever I try researching about the internals of a CPU I usually get the glossed over, simplified version, with words I don't understand thrown at me. I really appreciate how you explain what things mean, and also put them in the description so I can write it down to look up later. I wish I could subscribe a million times.

dallashansen
Автор

04:45 Instruction Set
05:15 Fetch Decode Execute
06:40 Data Bus & Address Bus
09:05 Opcode & Operand
12:30 Clock

alexandersundukov
Автор

you summarized my computer science class... thumps up dude

laokartoon
Автор

It's cool seeing how overwhelmingly positive comments can be when some is producing truly good content. Keep it up man, this was awesome.

DarvillJeremy
Автор

As an IT Professional, I'm a hardware guy, it amazes me still that we have come so far in such short time. just 70 or 80 years ago we barely had mastery of basic circuits, today multicore processors that can top 5ghz in the consumer market.... Simply awesome, can't wait to see thee next 30 to 40 year, if I get that long...

Great video BTW!

kjellvb
Автор

I’m sixty three years old now, and I started in the electronics industry around my seventh birthday. My best possession is a 4004 chip removed from a board that was going to thrown away.

nigeljames
Автор

You should do a series like this on microcontrollers. Everybody always talks about the history of CPUs and computers, but I'd love to learn more about how that fit in with MCUs.

VoidHalo
Автор

My guy, the YouTube algorithm gods have smiled upon you and you're popping up all over the place! You have beautiful videos and excellent content here and I can definitely see your channel exploding even now (July 2019). I do, however, have some feedback that could mitigate some negative comments in the future. These do represent a lot more work on top of the apparently massive amount of effort you've already put into these but I think they could benefit you. First, your voice overs are good but maybe consider improving the recording quality some as your channel expands to the less nerdy part of youtube. I feel that some of your lines are a little rushed and warrant re-recording. Second, as you do your research, keep a reference list on hand. You are guaranteed to get something wrong at some point or, at least, say something that many people don't believe or agree with. Having a citation list on all your videos will improve your credibility. Thanks for all your hard work and keep moving forward! I can see this channel passing 100K subscribers by August 2019 easily.

tylerhaley
Автор

Finally a vid that has demystified the CPU for me. Fantastic job mate

ntuthukoanthonynhlapo
Автор

OMG! How did anyone figure this out. I tried keeping up but I’m dumb. You can only count on me collecting firewood when society collapses.

sirbrick
Автор

We need more high quality video creators like this. I work on projects designing stuff with ARM controllers and mechanical parts all the time. Even I forget about stuff from time to time and I'd come here to pick them up and remind myself how much efforts mankind has made to get to this point today.

alexyoung
Автор

In all my years on YouTube I've never seen an effectively brand new channel that convinced me to subscribe faster. This is remarkable and the creator and anyone else associated with this project should be proud of themselves.

CommissarSM
Автор

Very enjoyable series. Much of my 40-year career (retired now) coincided with the advent of 8-bit, then 16-, 32- and finally 64-bit processors. I like that the subject matter is presented in an easy to digest manner without losing too much of the details of the engineering problems and solutions along the way as well as a fairly comprehensible use of the techno-jargon. Can't wait to watch the rest. Good work!

sfperalta
Автор

This video deserves way more than just 9000 views

benniepieters
Автор

Explained my entire computer architecture class in 15 minutes good job!

aaronchicco
Автор

I read the book “How Computers Work” back in the nineties, and if I hadn’t, I think I would be overwhelmed by this excellent video. This video does an excellent job of explaining CPU fundamentals, which are inherently complicated.

thetooginator
Автор

This video amazes me by showing me how little I know

TheJoeSwanon
Автор

I love this channel! You'll reach 100k subs very soon, keep making videos that are super interesting

buddybud-bud
Автор

Now I only need to watch this 4 or 5 more times for this to truly sink in! Great job though

brad