How a CPU Instruction Decoder and Instruction Execution Works

Поділитися
Вставка
  • Опубліковано 6 сер 2024
  • In this video, we investigate how Instruction Decoding and Instruction Execution gets carried out inside a CPU or Microprocessor.
    @stem.odyssey
    00:00 Introduction
    01:20 Fetch Instruction from Memory
    01:50 Decode the Instruction
    02:48 The Boolean Logic
    04:55 The CPU Internal Data Bus
    05:25 To the Control Unit...
    06:36 Memory Types Used in Computers
    08:46 Implementing the Control Unit via a ROM Array
    12:22 CPU Microprogramming
    12:45 The Microcode or Microinstructions for the Add Instruction
    13:11 Summary & Outro
    The Videos of this Series :
    1: How a Computer Works: Introduction to Playlist -Understanding Core Fundamentals of Computer Hardware
    • How a Computer Works: ...
    2 : How a Computer CPU or microProcessor Works - I - ( Core Fundamentals of Electrical circuit of a CPU)
    • How a Computer CPU or ...
    3: How a CPU Instruction Decoder and Instruction Execution Works
    [you are here]
    4. How Memory Address Decoding Works
    • How Memory Address Dec...
    5. How Memory Address Decoding Works (Part 2)
    • How Memory Address Dec...
    6: How Computer Memory Works (The Core Fundamentals of Electrical Circuit of DRAM)
    • How Computer Memory Wo...
    7: How Flat Panel Display Electrical Circuit Works. (Understanding the Core Fundamentals)
    • How Flat Panel Display...
    8: Basic Fundamentals of Number Systems
    • Number Systems: The Ba...
    NOTES 1:
    Those whom are familiar with Assembly Language might have noticed that the Add instruction we have implemented in our CPU to be a bit different from say the standard Add instruction, which would usually Add either two values already present in Internal Registers or Add a Value stored at a Memory Location, to a Value stored in a Register etc.
    The reasons for implementing a bit non-Standard Add construct were:
    1.1. To highlight that, there are ample cases, where the Program Counter has to be incremented more than once, during the execution of a Single Instruction. Aka the Next Instruction to be Executed, does not necessarily has to be at the Next Memory Location.
    1.2. To highlight that if/when one goes for a CPU design, there is no set and fast rules, that one is required to follow, UNLESS one is implementing an Industry Standard Instruction set.
    The issues associated with Implementing a non Standard Instruction set, is a totally different topic altogether. For example, most all software may/might have to be re-implemented/re-written/... to run with this new Instruction Set Architecture (ISA) etc.
    Thus in many cases, when a new ISA is implemented, one of the first softwares to be ported or implemented on that environment, would be a C/C++ compiler, such of gcc. And then using that C/C++ compiler, one can compile/port the other softwares, onto the new ISA.
    NOTES 2:
    Many Instruction Decoders, one finds in Production Level or Industrial Microprocessors, do have a few Optimization Techniques to Uniquely Identify as to whether the Instruction is an Arithmetic Operation or as to whether it's a Logic Operation or... etc.
    These optimizations do play a role in speeding up the execution process, as well as optimizing the Logic Designs.
    Our Bare Bone Basic CPU, will not go into these optimization techniques at this stage, until the Core Fundamentals are covered to sufficient details...

КОМЕНТАРІ • 37

  • @lostshelf8045
    @lostshelf8045 29 днів тому +15

    This is so helpful. I've been looking for a more hardware-focused explanation of instructions but none of them have gone as in-depth as this video.

    • @StemOdyssey
      @StemOdyssey  28 днів тому

      Glad it was helpful!

    • @T8ersalad
      @T8ersalad 26 днів тому

      Branch Education has hardware focused videos. 😊. ua-cam.com/video/wtdnatmVdIg/v-deo.htmlsi=VXDoe9ixKTkAF5q3

  • @user-jo2io1dj7v
    @user-jo2io1dj7v 15 днів тому +2

    من اروع القنوات من حيث الشرح
    والتوضيح
    نتمنى لكم الرقي والازدهار ❤❤

  • @FengXingFengXing
    @FengXingFengXing 22 дні тому +2

    Many great engineers develop this technology in 1960s-1970s, ¡很多谢谢您们!

  • @raraujo4951
    @raraujo4951 10 днів тому +2

    In 1984 during my electronic enginneering study we were given the task to develop and build a 4 bits, 16 instruction-set microprocessor using macro-components (TTL gates, FFs, diodes, etc), the micro-instructions were the most dificult part since it is like designing and building a city trafic lights system... we realized then the beauty and magic of micro-instructions coded using actual diodes (1N4000... around 2000) in a matrix of coper wires, just like your simulation... we ended up with a board 1.5m x 3m size and meters and meters of copper wire... a total mess.... the clock a big pushbutton and a T-FF to advance step by step each micro-instruction... good memories come to mi mind!!

    • @StemOdyssey
      @StemOdyssey  10 днів тому +2

      So true... Now just imagine how "fun" it will be, to implement a Hardwired microcontroller say for a pipelined superscalar architecture or an SMP Architecture... 😎😁. So I believe the mico-instruction approach is the one chosen by most all projects nowadays. Glad this video brought good old memories...😎

  • @syuu-ji4nf
    @syuu-ji4nf 29 днів тому +3

    This video is very easy to understand CPU, Memory and etc. I love this video very much. Thank you for creating !

  • @wilhelmstanzl3635
    @wilhelmstanzl3635 17 днів тому +1

    Excellent video.

  • @AarshParashar
    @AarshParashar 26 днів тому +2

    Wow! Keep it up! Waiting for the complete playlist. Subscribed to you as well.

  • @x-gamessimulator1067
    @x-gamessimulator1067 22 дні тому +1

    Niiiiiiiice!
    I should have discovered this channel a long time ago.

  • @artstechnology7809
    @artstechnology7809 29 днів тому +2

    you are fantastic keep it up with these information details. Success will come to you very quickly. I saw a video with this information in 3D detail. You are fantastic with more videos with details.

  • @nextime-m9o
    @nextime-m9o 23 дні тому +1

    this channel is amazing 💖

  • @hrford
    @hrford 21 день тому +5

    Great video, but I just can't with the AI-generated voice. :(

    • @StemOdyssey
      @StemOdyssey  7 днів тому +1

      Intends to change the AI voice, will see how it goes...

    • @satya8320
      @satya8320 4 дні тому +1

      Yes.. same issue

  • @esra_erimez
    @esra_erimez 28 днів тому +2

    The "and" logic gate looks like a tasty gum drop

  • @vladimirvparfenov3935
    @vladimirvparfenov3935 18 днів тому +1

    youtube GOLD

  • @MarfelosabordomozarMozarjr1998
    @MarfelosabordomozarMozarjr1998 17 днів тому

    i realy love to learn how computer works and i learn how to make 24 hours digital clock using logism. from 4 bit counter using jk flipflop in logic gates form and 7 segment decoder in logic gate form.
    But i want to understand how computer realy execute i struction and programs,
    I search in youtube many time but icant found,
    Can i have a favor?
    Can you make a 8 bit computer for snake and tetris game in composition in logic gates?
    It will be big help and pleasure to me and to us computer enthusiast.
    Snake/tetris 8 bit computer in logic gate form. Thanks

    • @StemOdyssey
      @StemOdyssey  16 днів тому

      cant promise that... will see if time permits...

  • @samsungcore0120
    @samsungcore0120 26 днів тому +1

    No doubt great content...but in this video you didnt explain that instruction circuit..

    • @StemOdyssey
      @StemOdyssey  25 днів тому

      yes the issue was: to prevent the video from getting too long, had to skip internal details of quite a few circuits...

  • @unvergebeneid
    @unvergebeneid 15 днів тому +2

    If you're using an AI voice, you might as well have ChatGPT take a look at your script and make it more fluent and idiomatic.

    • @StemOdyssey
      @StemOdyssey  2 дні тому

      That actually might be a good idea... Will give it a try...

  • @jaredrooney8578
    @jaredrooney8578 29 днів тому +1

    so it is all factorio? Always has been.

    • @brodriguez11000
      @brodriguez11000 26 днів тому +1

      Turing Complete or Logic World on Steam.

  • @VulcanOnWheels
    @VulcanOnWheels 20 днів тому

    I wish you would have listened to the text before publishing this video.

    • @StemOdyssey
      @StemOdyssey  16 днів тому

      Are there any technical faults in the text?

    • @VulcanOnWheels
      @VulcanOnWheels 7 днів тому

      @@StemOdyssey I did hear some things I'd like you to watch out for in your future videos.
      0:18 It sounds to me like "to numbers", when I believe it should have been "2 numbers".
      0:23 Here, I hear "fetch it" instead of fetched".
      1:00 I don't even know how to describe what happened here.
      In short, I'm not hearing big mistakes in the information being conveyed, but I do hear some things I suggest you watch out for.

    • @StemOdyssey
      @StemOdyssey  7 днів тому

      Intends to change the Ai voce used, will see how it goes...