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

  • Published on Nov 29, 2018
  • 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.
    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.

    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.
    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.
    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 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.
    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.
    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.
    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.

Comments • 501

  • Tegwyn Foster
    Tegwyn Foster 5 hours ago

    I used to design discrete CPU’s and was one of the first designers to use non-volatile memory as the instruction decoder. This allowed application optimized machines. This was back in the 1970’s. Early RISC Systems using TTL devices.

  • Tegwyn Foster
    Tegwyn Foster 5 hours ago

    You forgot “Nibbles” 4-bits, the basis of hexidecimal.

  • Mr_Duckington
    Mr_Duckington 15 hours ago

    do I8 cores exist? i just bought a I7 XD

  • Jeremy Hall
    Jeremy Hall 2 days ago

    Do you have a patreon? Id like to give you monthly monies.

  • Jacob Wellington
    Jacob Wellington 2 days ago +1


  • Thorsupremecommander

    wow at 1:17 we can see a MOS 6502 CPU code :P

  • Abdullah Nasr
    Abdullah Nasr 6 days ago

    please,... please dont stop your work im finally having what i want and im even ready to pay for it you deserve much much more than that but everything comes in its correct time after working really hard, and one day i see you having millions of viewers and subs just dont give up or get lazy

  • le1incognito
    le1incognito 6 days ago

    great video, but background music is not

  • Adang Sukandi
    Adang Sukandi 7 days ago

    +subtithel indo

  • Zalanta7 gmail
    Zalanta7 gmail 8 days ago

    I hoped to tell more examples for each step for they nearly all were new info for me.

  • Jj Lau
    Jj Lau 9 days ago

    the music sounds familiar :/

  • NoO1 ShowTime
    NoO1 ShowTime 9 days ago

    Brilliant vid, thank you. Perfectly explained.

  • ct1igu
    ct1igu 12 days ago

    Cut my teeth on IBM System 360 Assembler, but this video is one of the best summeries of what it is all about that I've seen.

  • Bilog Abrea
    Bilog Abrea 14 days ago +1

    how about building a huge cpu in a cool place?

  • Dante S. González
    Dante S. González 16 days ago

    Please, enable closed captions! :)

  • Dan Schwarz
    Dan Schwarz 16 days ago

    Thank you for your service to society

  • u666sa
    u666sa 16 days ago

    Brilliant! I rarely give likes to videos, your deserves it!!

  • Blackasthesky
    Blackasthesky 17 days ago

    Nice video, but you read the text too obviously... I would appreciate if you would try to express the text a bit more.

  • Eduardo
    Eduardo 23 days ago +1

    This is a wonderful video series, I'm going to check out the rest of the channel but if it's of similar quality it's bound to be successful.

  • David Gunther
    David Gunther 23 days ago +1

    Thanks for explaining about address and data busses, I didn't know there were both before!

  • Mickey Matosh
    Mickey Matosh 25 days ago

    It never ceases to amaze me how people can down vote things, like this video, that explain something so well. Guess they are trolls.

    • Mickey Matosh
      Mickey Matosh 25 days ago

      BTW - I have worked in the semi-conductor industry all my adult life!

  • Xinchi SUI
    Xinchi SUI 26 days ago

    I think instant output is stored in a register and then stored in RAM.

  • Brett Augustine
    Brett Augustine 28 days ago

    I really like your channel and your intro is awesome too , quick and to the point. Lol

  • Okuno Zankoku
    Okuno Zankoku 28 days ago +1

    8:56 "as [RISC] evolves to CISC"? As it happens, CISC evolved to RISC. That's one of the amazing things about computing systems: they often become more powerful as they become simpler!

  • FireSScope
    FireSScope 29 days ago

    this information is going to help somebody somewhere. im writing a cybernetic themed story, and its realy helping me grasp the basics. im taking notes thanks.

  • Byron King
    Byron King Month ago

    I am recomending this series to help fastrack my friends to my understanding of PCs. I am too scatterbrained to do so. Balanced and informative presentation. My hat is off to you sir.

  • Nicolas Bureau
    Nicolas Bureau Month ago

    not psUedo

  • Zahi Prince
    Zahi Prince Month ago

    Nailed it !!!!❤️

  • Valtiel
    Valtiel Month ago

    This channel is very underrated

  • Johannes Zwilling
    Johannes Zwilling Month ago

    😎 Amazing breakdown! 🙌🏼

  • Zohaib Azhar
    Zohaib Azhar Month ago

    What kind of a Maroon thumbs down this kind of a video...

  • Bi-Polar Bear
    Bi-Polar Bear Month ago

    I was fucking ruined after 3 minutes of this video. People who are experts in computers are next level smart.


    *YOU ARE A GOD.*

  • Blake Patterson
    Blake Patterson Month ago

    Good stuff, but the notion of RISC did not exist until much later than the 4004. Acorn’s ARM CPU was the first RISC processor.

  • Bipin Maharjan
    Bipin Maharjan Month ago

    i am your fan

  • Wingers Worldwide
    Wingers Worldwide Month ago +1

    I needed this refresher course,🤘😁

  • Aaron Chicco
    Aaron Chicco Month ago +2

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

  • 6Oko6Demona6
    6Oko6Demona6 Month ago +2

    this is actually a quality material, good job, keep it up

  • ZeekTM
    ZeekTM Month ago

    as a 14 year old comp. engineering entheusiast who builds 4004 replicas in Minecraft instead of having a social life of any kind, I can approve that this is a no-brainer watch for anyone wanting to do anything like this (Homebrew, mc replicas, the likes)

  • Andrew Somerville
    Andrew Somerville Month ago

    The 4004 was never considered RISC. In fact it predated the wide use of the term by many years. The term first came to prominence in the 80s. Most CPUs designed before that are considered to be CISC, although a few could loosely fit the definition.

  • danielthesantos
    danielthesantos Month ago

    OMG!!! 1:14 65xx assembly! That was my first assembly language to learn. Good memories there. Also, very nice pic of a decapped IC in the opening sequence (I've never attempted it before).

  • RecklesFlam1ngo
    RecklesFlam1ngo Month ago

    As I'm learning to code a nes game (in 6502 assembly just for fun) this actually helped a bit in visualizing exactly what I'm doing, ect.

  • Gabriel Franco
    Gabriel Franco Month ago

    Man, this video is incredible, but its kinda complex to understand just by hearing, would you mind to let us turn on subtitles in your videos?

  • Franco Mc Kellar
    Franco Mc Kellar Month ago +1

    To me, you resemble Richard Feynman. He received a Nobel prize mainly for his ability to explain very complex topics clearly to everyday people! Keep up the good work, and please except my heartfelt thanks.

  • Haiek Nagasaki
    Haiek Nagasaki Month ago

    intel getting rekt by amd

  • Tyler Haley
    Tyler Haley Month ago +69

    My guy, the RU-clip 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.

    • Damian Acosta
      Damian Acosta 29 days ago

      yeah, i have english as a second language and without subtitles its quite hard to fully understand everything

    • manofwill12345
      manofwill12345 Month ago +2

      He's CLOSE to 100k! You were sorta right! :D

  • Eddie Sutawika
    Eddie Sutawika Month ago

    can I request subtitles be added to the video? nonetheless, awesome summary

  • Albert Nakao
    Albert Nakao Month ago +2

    Wow, had to stop the video halfway through just wrap my head around what I just learned. This summary is really good. Well thought out flow- how you build from bits to instructions- that really connected some dots in my head!! :D

  • Steve Skouson
    Steve Skouson Month ago +1

    In 1969, my father got a job, with a tiny memory
    manufacturing company, started by Robert Noyce,
    and Gordon Moore. I was 11. I can't remember
    the address street number, but it was on
    Middlefield road, in Mt View Ca.


  • Lizard King
    Lizard King Month ago +3

    yeah it's cool it was doing 90k instructions per second, but how many were mainframes doing at the time? don't compare it to eniac in 1950, compare it to other computers in 1971 :V

  • I have been there!
    I have been there! 2 months ago +2

    Finally you helped me to decide my Hume mistero of how it works! I was start to think about a conspiracy! ;)

  • havoc010101
    havoc010101 2 months ago

    This was a very informative video on how a CPU operates. It's interesting to see how CPU's have gotten faster over time. To go from 5000 instructions per second with the Intel 4004, to over 8o billion instructions a second with the new Intel i9 CPU is fascinating. Keep the content coming!

  • science tech
    science tech 2 months ago

    I like this video very much.

  • G
    G 2 months ago

    Great video, just shared it with a bunch of nerds!

  • Jessy Bwoy86
    Jessy Bwoy86 2 months ago

    Very interesting !
    i don't understand shit !
    but very interesting !

  • Vivekananda N
    Vivekananda N 2 months ago +1


  • Walter Baldemor
    Walter Baldemor 2 months ago

    cache are srams probably

  • Alexander Sundukov
    Alexander Sundukov 2 months ago +4

    4:45 Instruction Set
    5:15 Fetch Decode Execute
    6:40 Data Bus & Address Bus
    9:05 Opcode & Operand
    12:30 Clock

  • Robert Bryant Lock
    Robert Bryant Lock 2 months ago +1

    Really nice explanation and interesting series...... I'd like to see more. Thanks for sharing B)

  • Polingkay Sagada
    Polingkay Sagada 2 months ago

    All this kicked off after Roswell. We got a hold of some crazy tech. Everything now is just the eveolution of the same intial breakthrough