Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Design a CPU
Bestseller
Rating: 4.7 out of 5(863 ratings)
7,087 students

Design a CPU

Computer Architecture and Design
Created byRoss McGowan
Last updated 1/2024
English

What you'll learn

  • Design and Simulate an 8 BIT CPU
  • Create your own INSTRUCTION SET
  • Create your own ASSEMBLY LANGUAGE
  • Create your own ASSEMBLER in EXCEL
  • Create your own assembly language DEBUGGER in EXCEL VBA
  • Write your own assembly language PROGRAMS
  • Put simply , 'IF YOU WANT TO KNOW HOW A COMPUTER WORKS THEN TAKE THIS COURSE !!!'
  • That's right , 'IF YOU REALLY WANT TO KNOW HOW A COMPUTER WORKS THEN TAKE THIS COURSE !!!'
  • Subtitles added in 78 different languages

Course content

7 sections40 lectures8h 12m total length
  • Introduction1:38

    Welcome to the course. To get started right away you can download the circuit design tool LOGISIM from the resource link. You will need to have java running on your machine as well so click the java link to download this. The third link will give you access to 3 files, we only need one at the moment the CPU_DESIGN file. If you open this file in LOGISIM then you will see the WELCOME screen. Just click on the CPU_MEM_1 block to start simulating your first circuit. Or just start building your own copy in LOGISIM along with the videos. Note the other 2 files called ASSEMBLER  and  MULTIPLYSIM will be used at the end of the video series. I have also added 9 simulation files that I used to build up the control section if you want to re-create these simulations (the links are in the resources of the control section videos. HAVE FUN !!!

    A couple of students say they couldn't download the files in the resources section so I have added the extra zip file so if you have any difficulties then try downloading from downloadable materials or External Resources.

  • Logisim13:24

    In this video we take a look at the software tool that we will be using throught the rest of the course. Logisim is a free tool which can be downloaded from the following address http://www.cburch.com/logisim/download.html just press the download link on bullet point 2. New course video.

  • Simple Gates9:12

    In this video we look at building  AND , OR ,NOT, XOR ,NOR gates using the NAND gate. This is an easy introduction to get you used to using the simulation tool. New course video.

  • Building Blocks4:24

    A look ahead at what we will build over the next 10 video lectures. This video will give you a road map to what we will learn in the next 10 videos. New course video.

  • 1 Bit Memory Cell16:32

    In this video we build up a 1 bit memory cell. New course video.

  • 1 Byte Memory Cell4:58

    In this video we take the 1 bit memory cell and expand it to a 1 byte memory cell. New course video.

  • 8 Bit Register9:34

    In this video we take the 8 bit memory cell and produce a single 8 bit register.New course video.

  • Decoder11:35

    In this video we build up the decoder block. Don't worry if you don't know what this is as it is all explained in the video.New course video.

  • Automated Design2:58

    An automated method of designing combinational logic circuits in Logisim.

  • Control Buffer5:40

    In this video I describe the control buffer which is used throughout the rest of the CPU design. This is also known as a unity gain buffer.

  • Random Access Memory17:48

    In this video we build up the 256 byte RAM. New course video.

  • Arithmetic Logic Unit24:10

    In this video we build up the Arithmetic Logic Unit. New course video.

  • Clock10:34

    In this video we design the clock circuit. New course video.

  • Central Processing Unit Overview8:01

    In this video we start bringing some of our blocks together and have an overview of the final design in order to see our road map ahead. New course video.

Requirements

  • You need a computer. Also I would suggest a book called ButHowDoItKnow , The Basic Principles of Computers for Everyone by J. Clark Scott.

Description

If you want to know how a computer works then this course is for you. I work through the design of a simple CPU (Central Processing Unit) which is the beating heart of a modern computer. I design and simulate each block of the CPU in an online tool called Logisim. You can download the tool and simulate the CPU on your own computer or if you  like you can take a copy of my simulation files and just load them into the tool and simulate what you have learned in the videos or just listen along to the videos (it's up to you).

I have added subtitles for 78 different languages. If your language is not there then get in touch and I will add it in. If you are not a native English speaker then try the subtitles and run the videos at 0.75x speed.

First we download the free design tool called LOGISIM in which we design and simulate our CPU and take a look around the tool and show you how it works. Then the fun begins. We design and simulate the following blocks

Simple logic gates

1 bit memory cell

8 bit memory cell

8 bit register

Decoder

RAM (Random Access Memory)

ALU (Arithmetic Logic Unit)

Clock

We then take a break from our hard work (pheeewww!!!) and ask the question ,  ' Can a computer answer the question of Life the Universe and Everything ? '  We look at some of the ideas behind what a computer is and what it can and more importantly cannot do ! We answer this question in the next two videos.

Algorithms

Turing Machines

After this little break we then get back to designing our CPU. We design and simulate the most difficult section called the Control Unit. This is where the MAGIC happens and you will get that amazing EUREKA moment when you can say, ' I KNOW HOW A COMPUTER WORKS !!! ' In this section we build up the INSTRUCTION SET within the CONTROL UNIT. This INSTRUCTION SET consists of :

FETCH EXECUTE Cycle

ALU Instructions

LOAD and STORE Instructions

DATA Instruction

JUMP REGISTER Instruction

JUMP ADDRESS Instruction

JUMP IF Instruction

CLEAR FLAGS Instruction

We then build up an ASSEMBLER in Microsoft Excel (what's an assembler ? Once you get to this point you will know and you will be home and dry !)

We then model the CPU using Excel VBA and from this build an ASSEMBLY LANGUAGE DEBUGGER. This will help us write our ASSEMBLY LANGUAGE PROGRAMS. Finally we are in a position to load the CPU up with our first assembly language program. An algorithm that multiplies 2 numbers together (might not sound like much but you can then design your own algorithms and simulate them on YOUR OWN CPU).

We then look at the Top Level Simulation. We load up the CPU RAM (memory) with our first program and watch it running through the program live right in front of our eyes. You can let it execute the code quickly or you can step through a 0 and a 1 at a time and see every little detail of what is happening inside the CPU that YOU have just designed !!!

Also keep a look out in the bonus section for extra material that I will be periodically adding. I expand the CPU from 8 bits to 16 bits , create some more assembly language algorithms that run on the CPU and explain in detail the VBA code from the assembler and debugger (PLUS MORE TO COME).

This course follows the CPU design in the book ButHowDoItKnow (The Basic Principles of Computers for Everyone). THIS COURSE IS FEATURED ON THE AUTHORS WEBSITE. You do not need to buy the book to follow the course but I would highly recommend the book.

IF YOU WANT TO KNOW WHAT LIES AT THE HEART OF A COMPUTER AND HOW IT WORKS THEN THIS IS THE COURSE FOR YOU !!!

Who this course is for:

  • Everyone and anyone who asks the question ' How do computers work ?'