ECE 4110–5110 Digital System Design

Slides:



Advertisements
Similar presentations
Central Processing Unit
Advertisements

Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Design and Synthesis of a RISC Stored-Program Machine
Lecture 13 - Introduction to the Central Processing Unit (CPU)
The von Neumann Model – Chapter 4 COMP 2620 Dr. James Money COMP
Basic Operational Concepts of a Computer
SAP1 (Simple-As-Possible) Computer
Lecture 8 Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU.
Lecture #32 Page 1 ECE 4110–5110 Digital System Design Lecture #32 Agenda 1.Improvements to the von Neumann Stored Program Computer Announcements 1.N/A.
Computer Science 210 Computer Organization The von Neumann Architecture.
Lecture #30 Page 1 ECE 4110– Sequential Logic Design Lecture #30 Agenda 1.von Neumann Stored Program Computer Architecture Announcements 1.N/A.
CPU Design. Introduction – The CPU must perform three main tasks: Communication with memory – Fetching Instructions – Fetching and storing data Interpretation.
Computer Architecture Lecture 09 Fasih ur Rehman.
General Concepts of Computer Organization Overview of Microcomputer.
Fetch-execute cycle.
Instructor: Oluwayomi Adamo Digital Systems Design.
Microarchitecture. Outline Architecture vs. Microarchitecture Components MIPS Datapath 1.
Dale & Lewis Chapter 5 Computing components
Von Neumann Model Computer Organization I 1 September 2009 © McQuain, Feng & Ribbens The Stored Program Computer 1945: John von Neumann –
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
3.1.4 Hardware a. describe the function and purpose of the control unit, memory unit and ALU (arithmetic logic unit) as individual parts of a computer;
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
STUDY OF PIC MICROCONTROLLERS.. Design Flow C CODE Hex File Assembly Code Compiler Assembler Chip Programming.
OCR GCSE Computer Science Teaching and Learning Resources
Basic Computer Organization and Design
Control Unit Lecture 6.
Lecture 13 - Introduction to the Central Processing Unit (CPU)
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
Lecture on Microcomputer
Chapter 4 The Von Neumann Model
Microprocessor and Assembly Language
Introduction to Computer Engineering
Computer Architecture
Chapter 4 The Von Neumann Model
Computer Science 210 Computer Organization
Simple Processor Control Unit
System Architecture 1 Chapter 2.
The fetch-execute cycle
The Processor and Machine Language
Chapter 4 The Von Neumann Model
Instruction cycle Instruction: A command given to the microprocessor to perform an operation Program : A set of instructions given in a sequential.
Computer Science 210 Computer Organization
Computer Science 210 Computer Organization
Functional Units.
COMS 161 Introduction to Computing
Topic 6 LC-3.
Overview of Computer Architecture and Organization
Intel 8080 Processor The 8080 was an 8-bit processor
The Little Man Computer
Fundamental Concepts Processor fetches one instruction at a time and perform the operation specified. Instructions are fetched from successive memory locations.
Computer Architecture
Chapter 4 The Von Neumann Model
The Von Neumann Architecture Odds and Ends
The Stored Program Computer
Computer Organization and Assembly Languages Yung-Yu Chuang 2005/09/29
Basic components Instruction processing
A Top-Level View Of Computer Function And Interconnection
Information Representation: Machine Instructions
Objectives Describe common CPU components and their function: ALU Arithmetic Logic Unit), CU (Control Unit), Cache Explain the function of the CPU as.
Instruction execution and ALU
Introduction to Computer Engineering
Computer Architecture
Introduction to Computer Engineering
Introduction to Computer Engineering
Introduction to Computer Engineering
COMPUTER ARCHITECTURE
Presentation transcript:

ECE 4110–5110 Digital System Design Lecture #31 Agenda von Neumann Stored Program Computer Architecture Announcements 1. N/A. Lecture #31 Page 1

von Neumann Computer Register Loads - each register in the processing unit can be loaded by the control unit - the input to most registers is Bus2 - the CCR input is the ALU - the loads are synchronous to clock and occur on the following state - we can make a register in RTL as follows: MAR_Register : process (Clock, Reset) begin if (Reset = '0') then MAR <= "0000"; elsif (Clock'event and Clock='1') then if (MAR_Load = '1') then MAR <= Bus2; end if; end process; Lecture #31 Page 2

von Neumann Computer Control Signals - the Bus1 and Bus2 control lines come from the control unit and drive the multiplexers - the WRITE line is a synchronous load to memory from Memory_Out - CCR_Load will load the status bits (NZVC), whose values depend on the previous ALU operation - the ALU_Sel line tells the ALU which function to perform (AND, ADD, …) Test Signals - the Instruction Register (IR) holds the Opcode for the Control Unit to base state decisions on - the CCR_Result is the NZVC status bits from an ALU operation and influence state decisions Lecture #31 Page 3

Control Unit Sub-Operations Fetch Get next instruction into IR PC: program counter, always points to next instruction IR: holds the fetched instruction Processor Control unit Datapath ALU Controller Control /Status Registers 4 Y PC 100 IR MAR X load X, I/O 100 load X, 101 123 102 ADD X, Y

Control Unit Sub-Operations Decode Determine what the instruction means Processor Control unit Datapath ALU Controller Control /Status Registers 4 Y PC 100 IR MAR X load X, I/O Memory 100 load X, 101 123 102 ADD X,Y

Control Unit Sub-Operations Fetch operands Move data from memory to data-path register Processor Control unit Datapath ALU Controller Control /Status Registers 4 Y 101 123 PC 100 IR MAR X load X, I/O Memory 100 load X, 101 123 102 ADD X,Y

Control Unit Sub-Operations Execute Move data through the ALU This particular instruction does nothing during this sub-operation Processor Control unit Datapath ALU Controller Control /Status Registers 4 Y 123 PC 100 IR MAR X load X, I/O Memory 100 load X, 101 123 102 ADD X,Y

Control Unit Sub-Operations Store results Write data from register to memory This particular instruction does nothing during this sub-operation Processor Control unit Datapath ALU Controller Control /Status Registers 4 Y 123 PC 100 IR MAR X load X, I/O Memory 100 load X, 101 123 102 ADD X,Y

Control Unit Sub-Operations PC=100 Processor Control unit Datapath ALU Registers IR PC Controller Memory I/O Control /Status load X, 100 123 101 ADD X,Y 102 MAR X Y 4 123 100

Instruction Cycles PC=100 PC=101 4 123 Processor Control unit Datapath ALU Registers IR PC Controller Memory I/O Control /Status load X, 100 123 101 ADD X,Y 102 MAR X Y PC=101 4 123 101

Instruction Cycles PC=100 PC=101 PC=102 4 127 Processor Control unit Datapath ALU Registers IR PC Controller Memory I/O Control /Status load X, 100 123 101 ADD X,Y 102 MAR X Y PC=101 4 127 102 PC=102

Instruction Cycles PC=100 PC=101 PC=102 4 127 Processor Control unit Datapath ALU Registers IR PC Controller Memory I/O Control /Status load X, 100 123 101 ADD X,Y 102 MAR X Y PC=101 4 127 102 PC=102

von Neumann Computer (again) CPU 1) Control Unit 2) Processing Unit 3) Control Signals 4) Test Signals Lecture #31 Page 13

von Neumann Computer Instruction Execution State 0 - put the current Program Counter value on the Memory Address Bus to read the first Opcode RTL: MAR <= PC Control: Bus1_Sel = PC Bus2_Sel = Bus1 MAR_Load State 1 - bring in the contents of memory (the Opcode) and put into the IR - increment PC to point at either the Operand or next Opcode in memory RTL: IR <= Memory_Out PC = PC + 1 Control: Bus2_Sel = Memory_Out IR_Load PC_Inc Lecture #31 Page 14

von Neumann Computer Instruction Execution State 2 - the Control Unit now decodes IR - this dictates the next state and which control signals are asserted (IR = ADD_XY) (IR = LDX_IMM) RTL: Z <= X RTL: MAR <= PC Control: Bus1_Sel = X Control: Bus1_Sel = PC Bus2_Sel = Bus1 Bus2_Sel = Bus1 Z_Load MAR_Load State 3 RTL: ALU = ADD RTL: X <= Memory_Out Control: Bus1_Sel = Y Control: Bus2_Sel = Memory_Out Bus2_Sel = ALU X_Load ALU_Sel = ADD PC_Inc X_Load CCR_Load Lecture #31 Page 15