Instructor: Oluwayomi Adamo Digital Systems Design.

Slides:



Advertisements
Similar presentations
Machine cycle.
Advertisements

PIPELINE AND VECTOR PROCESSING
Microprocessors.
Control path Recall that the control path is the physical entity in a processor which: fetches instructions, fetches operands, decodes instructions, schedules.
PART 5: (2/2) Processor Internals CHAPTER 15: CONTROL UNIT OPERATION 1.
CHAPTER 16 – CONTROL UNIT OPERATION
Chapter 16 Control Unit Operation No HW problems on this chapter. It is important to understand this material on the architecture of computer control units,
Midterm Wednesday Chapter 1-3: Number /character representation and conversion Number arithmetic Combinational logic elements and design (DeMorgan’s Law)
Chapter 16 Control Unit Implemntation. A Basic Computer Model.
Chapter 15 IA 64 Architecture Review Predication Predication Registers Speculation Control Data Software Pipelining Prolog, Kernel, & Epilog phases Automatic.
State Machines Used to Design Sequential Circuits.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
IC-UNICAMP MC 603/ Finite State Machines Mixed Style RTL Modeling Extraído da George Mason Univ. ECE 545 Lecture 5.
Computer Organization and Architecture
Computer Science 210 Computer Organization The Instruction Execution Cycle.
Group 1 Michael Bouizza Rolando Abreu Carlos De Cossio Ricardo Urena Michael Hernandez Robert Romano Sun Li Yang.
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
SAP1 (Simple-As-Possible) Computer
Chapter 5 Basic Processing Unit
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
The CPU Central Processing Unit. 2 Reminder - how it fits together processor (CPU) memory I/O devices bus.
George Mason University ECE 545 – Introduction to VHDL ECE 545 Lecture 5 Finite State Machines.
CprE / ComS 583 Reconfigurable Computing
The von Neumann Model – Chapter 4
General Concepts of Computer Organization Overview of Microcomputer.
George Mason University Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code ECE 448 Lecture 6.
Fetch-execute cycle.
A summary of TOY. 4 Main Components Data Processor Control Processor Memory Input/Output Device.
Computer Architecture 2 nd year (computer and Information Sc.)
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
Basic Elements of Processor ALU Registers Internal data pahs External data paths Control Unit.
PART 4: (1/2) Central Processing Unit (CPU) Basics CHAPTER 12: P ROCESSOR S TRUCTURE AND F UNCTION.
Control Unit Operations Chapter10:. What is Control Unit (CU)?(1)  Part of a CPU or other device that directs its operation.  Tells the rest of the.
Chapter 10 Control Unit Operation “Controls the operation of the processor”
Processor Organization
Processor Organization and Architecture Module III.
Designing a CPU –Reading a programs instruction from memory –Decoding the instruction –Executing the instruction –Transferring Data to/From memory / IO.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Control Unit.
Lec 4-2 Five operations of the machine cycle Fetch- fetch the next program instruction from memory. (PC+1); instruction to IR Decode- decode the instruction.
Types of Micro-operation  Transfer data between registers  Transfer data from register to external  Transfer data from external to register  Perform.
Functions of Processor Operation Addressing modes Registers i/o module interface Memory module interface Interrupts.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Basic Computer Organization and Design
The Stored Program Computer
ECE 4110–5110 Digital System Design
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Basic Processor Structure/design
CPU Sequencing 6/30/2018.
Computer Science 210 Computer Organization
Simple Processor Control Unit
Design of the Control Unit for Single-Cycle Instruction Execution
The fetch-execute cycle
The Processor and Machine Language
COSC 2021: Computer Organization Instructor: Dr. Amir Asif
Computer Science 210 Computer Organization
Computer Organization and ASSEMBLY LANGUAGE
Design of the Control Unit for One-cycle Instruction Execution
Control Unit Introduction Types Comparison Control Memory
Computer Organization
By: A. H. Abdul Hafez Computer Architecture and Organization: L06: Stored program and Instruction code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
A Top-Level View Of Computer Function And Interconnection
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Instruction execution and ALU
Computer Architecture
Presentation transcript:

Instructor: Oluwayomi Adamo Digital Systems Design

 Design a simple processor,  capable of picking up data from a switch register,  Operate the switch register using manually,  Display output using LEDs or seven segment display,  Perform basic operations such as add, subtract, multiply and divide as well as data movement.  Implement the processor in hardware,  Test your implementation using basic set of instruction you designed.

 What is the System Requirement?  What are functional blocks required?  What is the size of your instructions?  Types of Instructions to design: 1.Data handling and manipulation (add, sub, increment, and clear etc.) 2.Branch instructions 3.Input and Output

 Draw a block diagram of your simple processor,  The block diagram should show the interconnection of different registers, modules and control unit.  Sample instructions for testing,  Control signal needed for your processor, inputs and outputs needed.  Inputs and outputs with respect to the FPGA used for implementation.

 Design a control unit for picking up instructions from memory address given by the program counter (PC).  Interpret the instruction,  Fetch the operands and feed them to the ALU,  Store the result in destination registers  Load the pc with destination address in case of branch instruction,  Contents of destination will be forwarded to the LED or 7 segment display for display.

OpCCSRCDST Register Instruction Branch Instruction 11CCADDRESS Halt and I/O Instruction 1100LHDST

◦ To be drawn in class

 The control unit is like computer’s traffic cop.  It coordinates and controls all operations occurring within the processor.  The control unit does not input, output, process, or store data,  it initiates and controls the sequence of these operations.  Controls Data Movements in an Operational Circuit by Switching Multiplexers and Enabling or Disabling Resources  Follows Some ‘Program’ or Schedule  Often Implemented as Finite State Machine or collection of Finite State Machines

 Any Circuit with Memory could be called a Finite State Machine ◦ Even computers can be viewed as huge FSMs  Design of FSMs Involves ◦ Defining states ◦ Defining transitions between states ◦ Optimization / minimization  Above Approach Is Practical for Small FSMs Only

 Output Is a Function of a Present State Only  TYPE state IS (S0, S1, S2);  SIGNAL Moore_state: state;  U_Moore: PROCESS (clock, reset)  BEGIN  IF(reset = ‘1’) THEN  Moore_state <= S0;  ELSIF (clock = ‘1’ AND clock’event) THEN  CASE Moore_state IS  WHEN S0 =>  IF input = ‘1’ THEN  Moore_state <= S1;  ELSE  Moore_state <= S0;  END IF ; reset

 WHEN S1 =>  IF input = ‘0’ THEN  Moore_state <= S2;  ELSE  Moore_state <= S1;  END IF;  WHEN S2 =>  IF input = ‘0’ THEN  Moore_state <= S0;  ELSE  Moore_state <= S1;  END IF;  END CASE;  END IF;  END PROCESS;  Output <= ‘1’ WHEN Moore_state = S2 ELSE ‘0’;

Output Is a Function of a Present State and Inputs  TYPE state IS (S0, S1);  SIGNAL Mealy_state: state;  U_Mealy: PROCESS(clock, reset)  BEGIN  IF(reset = ‘1’) THEN  Mealy_state <= S0;  ELSIF (clock = ‘1’ AND clock’event) THEN  CASE Mealy_state IS  WHEN S0 =>  IF input = ‘1’ THEN  Mealy_state <= S1;  ELSE  Mealy_state <= S0;  END IF;

 WHEN S1 =>  IF input = ‘0’ THEN  Mealy_state <= S0;  ELSE  Mealy_state <= S1;  END IF;  END CASE;  END IF;  END PROCESS;  Output <= ‘1’ WHEN (Mealy_state = S1 AND input = ‘0’) ELSE ‘0’;

 Fetch -> Decode -> Execute Fetch Sequence  t1:MAR <- (PC)  t2:MBR <- (memory)  PC <- (PC) +1  t3:IR <- (MBR)  (tx = time unit/clock cycle)

 Good Luck!!!