Tags
Language
Tags
December 2024
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 1 2 3 4

Design A Cpu 2

Posted By: ELK1nG
Design A Cpu 2

Design A Cpu 2
Published 6/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 11.02 GB | Duration: 13h 6m

Computer Architecture Organisation and Design

What you'll learn

Mico-Coded Control Unit Design

Addressing Modes

Assembler in Python

CPU Mertrics

Labels and Declarations

Port Mapped Input Output

Memory Mapped Input Output

The Stack

Subroutines

High Level Language Constructs in Assembly Language

16 Bit Machine with 90 Instructions

Requirements

Completed first course Design a CPU

Description

In this course we take what we learned from the first course and expand on the simple 8 bit design and create a 16 bit machine with a maximum of 64 instructions with each instruction having access to 4 different addressing modes. We cover port mapped i/o and memory mapped i/o. We start using a new faster more stable version of Logisim. The hard wired control unit is replaced with a mixed hardwired and microcoded control unit. We increase the number of general purpose registers from 4 to 6 and add in a temporary register, index register , stack pointer register and floating point unit register.We design a new assembler in python to help us write the assembly language code with our new larger instruction set. Finally we add on a keyboard a character display and a graphics display. The 64 Kbyte address space is split into a ROM that contains the start of an operating system and commonly used subroutines and a RAM that contains the program code and data.If you want to know how to build a fully functioning 16 bit machine and design some cool assembly language programs then this is the course you need to take.Don't just read about theory and imaginary machines , build an actual machine that works. It's the best way of learning Computer Architecture Design and Organisation.

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 The CPU

Lecture 3 Assembler / Debugger

Lecture 4 Load and Run

Section 2: Add Subtract Multiply Divide

Lecture 5 Count to Three

Lecture 6 Add Subtract

Lecture 7 Multiply Divide

Lecture 8 CPU and Algorithm Metrics

Section 3: Assembler and Compiler

Lecture 9 Assembler Labels and Declarations

Lecture 10 Compile and Assemble

Section 4: Update Design

Lecture 11 Roadmap for Next 10 Videos

Lecture 12 New Reset Method

Section 5: Port Mapped I/O

Lecture 13 Input Output Instruction

Lecture 14 Input Device

Lecture 15 Output Device

Lecture 16 New Completed Input Output

Section 6: Port to Logisim Evolution

Lecture 17 Port to Logisim Evolution

Section 7: 16 Bit Machine

Lecture 18 16 Bit Machine

Section 8: Memory Mapped I/O

Lecture 19 Memory Mapped IO Theory

Lecture 20 Memory Mapped IO Circuits

Section 9: Micro-Coded Control Unit

Lecture 21 Hardwired v Micro-Coded Control Unit

Lecture 22 Transition to Micro-Coded Control Unit

Lecture 23 Micro-Coded Control Unit Explained

Lecture 24 Mixed Micro-Coded and Hard Wired Control Unit

Lecture 25 Mapping Instructions to ROM

Lecture 26 Compression ROM

Section 10: The Stack

Lecture 27 New Design Overview

Lecture 28 Stack 1 Theory

Lecture 29 Stack 2 Implemetation

Lecture 30 Stack 3 Instructions

Section 11: Architecture and Addressing Modes

Lecture 31 Addressing Modes Introduction

Lecture 32 Architecture 1

Lecture 33 Architecture 2

Lecture 34 Full Instruction Set

Lecture 35 Implementing Addressing Mode in MicroCode

Lecture 36 Architecture 3

Lecture 37 Architecture 4

Section 12: Keyboard Screen and Graphics Display

Lecture 38 Keyboard

Lecture 39 Keyboared Example

Lecture 40 Display

Lecture 41 Display Example

Section 13: Assembler

Lecture 42 Install Python

Lecture 43 First Assembly Language Program

Lecture 44 Loops and Labels

Lecture 45 EQU and DS Assembler Directives

Lecture 46 Factorial Example

Lecture 47 Greatest Common Divisor

Lecture 48 DS , DC , EQU Assembler Directives Compared

Section 14: Subroutines

Lecture 49 Read and Write Characters

Lecture 50 (get_char) and (print_char) Subroutines

Section 15: Goodbye

Lecture 51 Next Course

This course is aimed at people who want to learn Computer Architecture Organisation and Design by building their very own Computer as opposed to learning from imaginary machines.