Alternative Ways to Implement Processor FSMs. Outline. Moore Machine State Diagram. Random Logic. Moore Machine Diagram
|
|
- Shonda Nash
- 6 years ago
- Views:
Transcription
1 Outline lternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time state: ivide and Counter Jump counters Microprogramming (ROM) based approaches» branch sequencers» horizontal microcode» vertical microcode lternative Ways to Implement Processor FSMs "Random " based on Moore and Mealy esign Classical Finite State Machine esign ivide and Conquer pproach: Time-State Method Partition FSM into multiple communicating FSMs Exploit MSI Functionality: Counters, Multiplexers, ecoders Microprogramming: ROM-based methods irect encoding of next states and outputs CS 5 - Spring 24 Lec #2: Control Implementation - CS 5 - Spring 24 Lec #2: Control Implementation - 2 Random Perhaps poor choice of terms for "classical" FSMs Contrast with structured logic: PL/PL, FP, ROM Could just as easily construct Moore and Mealy machines with these components Moore Machine State iagram L L L2 Note capture of MBR in these states IR MR MR Mem, Read/Write, Request, Mem MBR MBR C = = ST ST RES IF IF IF2 IF O IR MR, C MBR MR Mem, Read/Write, Request, MBR Mem = 2 PC PC MR, PC + PC MR Mem, Read/Write, Request, Mem MBR MBR IR = IR MR MR Mem, Read/Write, Request, Mem MBR MBR + C C BR = BR = IR PC CS 5 - Spring 24 Lec #2: Control Implementation - CS 5 - Spring 24 Lec #2: Control Implementation - 4 Memory-Register Interface Timing IF IF2 IF2 IF2 IF Moore Machine iagram Clock IR<5> IR<4> C<5> Next State State 6 states, 4 bit state register Next State : 9 Inputs, 4 s : 4 Inputs, 8 s WIT Mem Bus Latch MBR Invalid ata Invalid ata Valid ata Valid data latched on IF2 to IF transition because data must be valid before can go low ata Valid Read/Write Request PC PC + PC PC BUS IR BUS BUS MR BUS PC MR Memory ddress Bus Memory ata Bus MBR MBR Memory ata Bus MBR MBUS MBUS IR MBUS LU B MBUS C RBUS C RBUS MBR LU These can be implemented via ROM or PL/PL Next State: 52 x 4 bit ROM : 6 x 8 bit ROM CS 5 - Spring 24 Lec #2: Control Implementation - 5 CS 5 - Spring 24 Lec #2: Control Implementation - 6
2 Moore Machine State Table Moore Machine State Table IR<5> IR<4> C<5>Current State Next State Register Transfer Ops X X X X X RES () X X X X RES () IF () PC X X X X IF () IF () PC MR, PC + PC X X X IF () IF () X X X IF () IF2 () X X X IF2 () IF2 () MR Mem, Read, X X X IF2 () IF () Request, Mem MBR X X X IF () IF () MBR IR X X X IF ()O () X X O () L () X X O () ST () X X O () () X X O () BR () CS 5 - Spring 24 Lec #2: Control Implementation - 7 IR<5> IR<4> C<5>Current State Next State Register Transfer Ops X X X X L () L () IR MR X X X L () L () MR Mem, Read, X X X L () L2 () Request, Mem MBR X X X X L2 () IF () MBR C X X X X ST () ST () IR MR, C MBR X X X ST () ST () MR Mem, Write, X X X ST () IF () Request, MBR Mem X X X X () () IR MR X X X () () MR Mem, Read, X X X () 2 () Request, Mem MBR X X X X 2 () IF () MBR + C C X X X BR () IF () X X X BR () BR () X X X X BR () IF () IR PC CS 5 - Spring 24 Lec #2: Control Implementation - 8 Moore Machine State Transition Table Observations: Extensive use of on't Cares Inputs used only in a small number of state e.g., C<5> examined only in BR state IR<5:4> examined only in O state Some outputs always asserted in a group ROM-based implementations cannot take advantage of don't cares However, ROM-based implementation can skip state assignment step CS 5 - Spring 24 Lec #2: Control Implementation - 9 Moore Machine Implementation ssume PL/PL implementation style First idea: run ESPRESSO with naive state assignment 2 product terms Compare with 52 product terms in ROM implementation!.i 9.i 9.o 4.o 4.ilb reset wait ir5 ir4 ac5 q q2 q q.ilb reset wait ir5 ir4 ac5 q q2 q q.ob p p2 p p.ob p p2 p p.p 26.p e e CS 5 - Spring 24 Lec #2: Control Implementation - Moore Machine Implementation NOV assignment does better NOV State ssignment SUMMRY onehot_products = 22 best_products = 8 best_size = 44 states[]:if Best code: states[]:if Best code: states[2]:if2 Best code: states[]:if Best code: states[4]:o Best code: states[5]:l Best code: states[6]:l Best code: states[7]:l2 Best code: states[8]:st Best code: states[9]:st Best code: states[]: Best code: states[]: Best code: states[2]:2 Best code: states[]:br Best code: states[4]:br Best code: states[5]:res Best code: CS 5 - Spring 24 Lec #2: Control Implementation - 8 product terms improves on 2! Standard Mealy Machine has asynchronous outputs These change in response to input changes, independent of clock Revise Mealy Machine design so outputs change only on clock edges One approach: non-overlapping clocks Synchronizer Circuitry at Inputs and s ' ' STTE STTE STTE CS 5 - Spring 24 Lec #2: Control Implementation - 2 ' '
3 Synchronous Mealy Machine Case I: Synchronizers at Inputs and s Case II: Synchronizers on Inputs cycle cycle cycle 2 S / cycle cycle cycle 2 S / S ' S ' S S '/ S2 ' asserted in Cycle, becomes asserted after 2 cycle delay! This is clearly overkill! CS 5 - Spring 24 Lec #2: Control Implementation - asserted in Cycle, follows in next cycle Same as using delayed signal (') in Cycle! CS 5 - Spring 24 Lec #2: Control Implementation - 4 Case III: Synchronized s cycle cycle cycle 2 S / S ' asserted during Cycle, ' asserted in next cycle Effect of delayed one cycle CS 5 - Spring 24 Lec #2: Control Implementation - 5 Implications for Processor FSM lready erived Consider inputs:,, IR<5:4>, C<5> Latter two already come from registers, and are sync'd to clock Possible to load IR with new instruction in one state & perform multiway branch on opcode in next state Best solution for and : synchronized inputs» Place flipflops between these external signals and the» control inputs to the processor FSM» Sync'd versions of and delayed by one clock cycle CS 5 - Spring 24 Lec #2: Control Implementation - 6 Time State ivide and Conquer Overview Classical pproach: Monolithic Implementations lternative "ivide & Conquer" pproach:» ecompose FSM into several simpler communicating FSMs» Time state FSM (e.g., IFetch, ecode, Execute)» Instruction state FSM (e.g., L, ST,, BRN)» Condition state FSM (e.g., C <, C ) CS 5 - Spring 24 Lec #2: Control Implementation - 7 Time State (ivide & Conquer) Time State FSM Most instructions follow same basic sequence iffer only in detailed execution sequence Time State FSM can be parameterized by opcode and C states Instruction State: stored in IR<5:4> Condition State: stored in C<5> = = IR = = L ST BRN C<5>= C T T T2 T T4 T5 T6 C < T7 C<5>= CS 5 - Spring 24 Lec #2: Control Implementation - 8 BRN C / (L + ST + ) BRN + (ST )/ (L + )
4 Time State (ivide & Conquer) Jump Counter eneration of Microoperations PC: PC + PC: T PC MR: T MR Memory ddress Bus: T2 + T6 (L + ST + ) Memory ata Bus MBR: T2 + T6 (L + ) MBR Memory ata Bus: T6 ST MBR IR: T4 MBR C: T7 L C MBR: T5 ST C + MBR C: T7 IR<:> MR: T5 (L + ST + ) IR<:> PC: T6 BRN Read/Write: T2 + T6 (L + ) Read/Write: T6 ST Request: T2 + T6 (L + ST + ) Concept Implement FSM using MSI functionality: counters, mux, decoders Pure jump counter: only one of four possible next states N LO N+ XX HOL Single "" function of the current state Hybrid jump counter: Multiple "s" function of current state + inputs CS 5 - Spring 24 Lec #2: Control Implementation - 9 CS 5 - Spring 24 Lec #2: Control Implementation - 2 Pure Jump Counter Problem with Pure Jump Counter Inputs Count, Load, Clear Clear Load Count CLOCK Synchronous Counter State Register NOTE: No inputs to jump state logic ifficult to implement multi-way branches O Extra States: L ST BR al State iagram 4 O 5 8 O BR 6 9 O2 7 L ST blocks implemented via discrete logic, PLs/PLs, ROMs Pure Jump Counter State iagram CS 5 - Spring 24 Lec #2: Control Implementation - 2 CS 5 - Spring 24 Lec #2: Control Implementation - 22 RES Hybrid Jump Counter Implementation Example IF Inputs Count, Load, Clear Clear Load Count CLOCK Synchronous Counter State Register Load inputs are function of state and FSM inputs State assignment attempts to take advantage of sequential states 5 L L 6 IF 2 IF2 O 4 ST 8 ST 9 BR L CS 5 - Spring 24 Lec #2: Control Implementation - 2 CS 5 - Spring 24 Lec #2: Control Implementation - 24
5 Implementation Example, Continued = (s + s5 + s8 + s) + (s + s) + (s2 + s6 + s9 + s) = (s + s) + (s2 + s6 + s9 + s) = + s7 + s2 + s + (s9 ) = s7 s2 s (s9 + ) L = s4 Contents of ROM ddress Contents (Symbolic State) (L) (ST) () (BR) CS 5 - Spring 24 Lec #2: Control Implementation - 25 /S9 Implementation Example, continued Cnt PL /S S Implement /S9 S9 using active lo /S6 S6 5 7 HOL PL /S S /S2 S2 5 7 /S S P T RCO IR5 IR<5> 2 5 C C 2 2 C 7 8 IR<4> 4 B B 22 B 6 7 IR /S4 LO / 4 2 /S7 2 OR N /S2 /S / / NOTE: ctive lo Implement outputs from CS 5 - Spring 24 Lec #2: Control Implementation - 26 decoder /S5 /S4 /S /S2 /S /S /S9 /S8 /S7 /S6 /S5 /S4 /S /S2 /S /S Jump Counter,, L implemented via Mux = m + = m + ctive Lo outputs: hi input inverted at the output Note that is active hi on counter so invert MUX inputs! /m / / IR5 IR<5> 2 IR4 IR<4> / / /L / P T 6 RCO C C B B LO S S2 S S S S2 S S S S2 S S E E E E E E E9 / E9 E9 EOUT EOUT EOUT E7 E7 /m E7 + / E E E E E E CS 5 - Spring 24 Lec #2: Control Implementation C B /L \S \S2 \S \S \S9 \S8 \S7 \S6 \S5 \S4 \S \S2 \S \S Microoperation implementation PC = PC + PC = S PC MR = S MR Memory ddress Bus = (S + S2 + S5 + S6 + S8 + S9 + S + S2) Memory ata Bus MBR = (S2 + S6 + S) MBR Memory ata Bus = (S8 + S9) MBR IR = S MBR C = S7 C MBR = IR5 IR4 S4 C + MBR C = S2 IR<:> MR = (IR5 IR4 + IR5 IR4 + IR5 IR4) S4 IR<:> PC = C5 S Read/Write = (S + S2 + S5 + S6 + S + S2) Read/Write = (S8 + S9) Request = (S + S2 + S5 + S6 + S8 + S9 + S + S2) :,, L function of current state + Why not store these as outputs of the ROM? Make and Current State part of ROM address 2 x as many words, 7 bits wide CS 5 - Spring 24 Lec #2: Control Implementation - 28 Controller Implementation Summary Control Unit Organization Register transfer operation Classical Moore and Mealy machines Time State pproach Jump Counter Next Time:» Branch Sequencers» Horizontal and Vertical Microprogramming CS 5 - Spring 24 Lec #2: Control Implementation - 29
Alternative controller FSM implementation approaches based on:
Overview lternative controller FSM implementation approaches based on: classical Moore and Mealy machines jump counters microprogramming (ROM) based approaches branch sequencers horizontal microcode vertical
More informationController Implementation--Part I. Cascading Edge-triggered Flip-Flops. Clock Skew. Cascading Edge-triggered Flip-Flops. Why Gating of Clocks is Bad!
Controller Implementation--Part I lternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time state: ivide and Jump counters Microprogramming (ROM) based approaches»
More informationMoore EECS150. Implement of Processor FSMs. Memory-Register Interface Timing. Processor / Memory Interface. Processor Signal FLow
Moore RES PC EECS5 IF PC MR, PC + PC Section Controller Implementations Fall Note capture of MBR in these states IF IF IF3 O MR Mem,,, Mem MBR MBR IR = = = IR MR, L IR MR ST C MBR MR Mem, MR Mem, L, ST,,,
More informationEECS150. Implement of Processor FSMs
EECS5 Section Controller Implementations Fall Implement of Processor FSMs Classical Finite State Machine Design Divide and Conquer Approach: Time-State Method Partition FSM into multiple communicating
More informationControl Unit Implementation
Control Unit Implementation Moore Machine Implementation Reset RES PC IF PC MAR, PC + PC Note capture of MBR in these states IF Wait/ IF2 Wait/ Wait/ MAR Mem, Read/Write, Request, Mem MBR Wait/ IF3 Wait/
More informationController Implementation--Part II
Controller Implementation--Part II Alternative controller FSM implementation approaches based on: Classical Moore and Mealy machines Time-State: Divide and Conquer Jump counters Microprogramming (ROM)
More informationMemory Interface. More Realistic Block Diagram: Issue memory request. Is it a read or a write? Memory asks CPU to wait
CPU Design Memory Interface More ealistic Block Diagram: Issue memory request Is it a read or a write? PC I equest ead/write Wait M Memory Memory asks CPU to wait LD/ST Data Instructions M B Memory Buffer
More informationSequential Logic Implementation. Mealy vs. Moore Machines. Specifying Outputs for a Mealy Machine. Specifying Outputs for a Moore Machine
uential Logic Implementation! Models for representing sequential circuits " bstraction of sequential elements " Finite state machines and their state diagrams " Inputs/ " Mealy, Moore, and synchronous
More informationComputer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories
Computer Organization Structure of a Computer Computer design as an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + Control = finite
More informationAdvanced Computer Architecture
Advanced Computer Architecture Lecture No. 22 Reading Material Vincent P. Heuring&Harry F. Jordan Chapter 5 Computer Systems Design and Architecture 5.3 Summary Microprogramming Working of a General Microcoded
More informationMicroprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.
CS 320 Ch. 21 Microprogrammed Control Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations. Microprogramming was invented by Maurice
More informationComputer Organization
Computer Organization! Computer design as an application of digital logic design procedures! Computer = processing unit + memory system! Processing unit = control + datapath! Control = finite state machine
More informationModule 5 - CPU Design
Module 5 - CPU Design Lecture 1 - Introduction to CPU The operation or task that must perform by CPU is: Fetch Instruction: The CPU reads an instruction from memory. Interpret Instruction: The instruction
More informationﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ MIPS يرﺎﻤﻌﻣ data path and ontrol control
معماري كامپيوتر پيشرفته معماري MIPS data path and control abbasi@basu.ac.ir Topics Building a datapath support a subset of the MIPS-I instruction-set A single cycle processor datapath all instruction actions
More informationBlock diagram view. Datapath = functional units + registers
Computer design an application of digital logic design procedures Computer = processing unit + memory system Processing unit = control + datapath Control = finite state machine inputs = machine instruction,
More informationCS 151 Final. Q1 Q2 Q3 Q4 Q5 Total Credit Score. Instructions: Student ID. (Last Name) (First Name) Signature
CS 151 Final Name Student ID Signature :, (Last Name) (First Name) : : Instructions: 1. Please verify that your paper contains 15 pages including this cover. 2. Write down your Student-Id on the top of
More informationImplementing the Control. Simple Questions
Simple Questions How many cycles will it take to execute this code? lw $t2, 0($t3) lw $t3, 4($t3) beq $t2, $t3, Label add $t5, $t2, $t3 sw $t5, 8($t3) Label:... #assume not What is going on during the
More informationComputer Architecture Programming the Basic Computer
4. The Execution of the EXCHANGE Instruction The EXCHANGE routine reads the operand from the effective address and places it in DR. The contents of DR and AC are interchanged in the third microinstruction.
More informationThe Processor: Datapath & Control
Chapter Five 1 The Processor: Datapath & Control We're ready to look at an implementation of the MIPS Simplified to contain only: memory-reference instructions: lw, sw arithmetic-logical instructions:
More informationEECS150 - Digital Design Lecture 20 - Finite State Machines Revisited
EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential
More informationChapter 16. Control Unit Operation. Yonsei University
Chapter 16 Control Unit Operation Contents Micro-Operation Control of the Processor Hardwired Implementation 16-2 Micro-Operations Micro-Operations Micro refers to the fact that each step is very simple
More informationMicro-programmed Control Ch 15
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of
More informationMachine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Machine Instructions vs. Micro-instructions Memory execution unit CPU control memory
More informationMicro-programmed Control Ch 15
Micro-programmed Control Ch 15 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to modify Lots of
More informationTopic #6. Processor Design
Topic #6 Processor Design Major Goals! To present the single-cycle implementation and to develop the student's understanding of combinational and clocked sequential circuits and the relationship between
More informationFSM Design Problem (10 points)
Problem FSM Design Problem (5 points) Problem 2 FSM Design Problem ( points). In this problem, you will design an FSM which takes a synchronized serial input (presented LSB first) and outputs a serial
More informationMicro-programmed Control Ch 17
Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary 1 Hardwired Control (4) Complex Fast Difficult to design Difficult to
More informationMicro-Operations. execution of a sequence of steps, i.e., cycles
Micro-Operations Instruction execution execution of a sequence of steps, i.e., cycles Fetch, Indirect, Execute & Interrupt cycles Cycle - a sequence of micro-operations Micro-operations data transfer between
More informationHardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions
Micro-programmed Control Ch 17 Micro-instructions Micro-programmed Control Unit Sequencing Execution Characteristics Course Summary Hardwired Control (4) Complex Fast Difficult to design Difficult to modify
More informationDebouncing a Switch. A Design Example. Page 1
Debouncing a Switch A Design Example Page 1 Background and Motivation Page 2 When you throw a switch (button or two-pole switch) It often bounces Page 3 Another switch switch after inversion Page 4 Yet
More informationSystems Architecture I
Systems Architecture I Topics A Simple Implementation of MIPS * A Multicycle Implementation of MIPS ** *This lecture was derived from material in the text (sec. 5.1-5.3). **This lecture was derived from
More informationInitial Representation Finite State Diagram. Logic Representation Logic Equations
Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;
More informationBlog - https://anilkumarprathipati.wordpress.com/
Control Memory 1. Introduction The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationI 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools
Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring
More informationLecture 32: SystemVerilog
Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:
More informationChapter 3 : Control Unit
3.1 Control Memory Chapter 3 Control Unit The function of the control unit in a digital computer is to initiate sequences of microoperations. When the control signals are generated by hardware using conventional
More informationChapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding
4.8 MARIE This is the MARIE architecture shown graphically. Chapter 4 MARIE: An Introduction to a Simple Computer 2 4.8 MARIE MARIE s Full Instruction Set A computer s control unit keeps things synchronized,
More informationSingle Cycle Datapath
Single Cycle atapath Lecture notes from MKP, H. H. Lee and S. Yalamanchili Section 4.-4.4 Appendices B.7, B.8, B.,.2 Practice Problems:, 4, 6, 9 ing (2) Introduction We will examine two MIPS implementations
More informationMicroprogramming: Basic Idea
5-45 Chapter 5 Processor Design Advanced Topics Microprogramming: Basic Idea Recall control sequence for 1-bus SRC Step Concrete RTN Control Sequence T0 MA PC: C PC + 4; PC out, MA in, INC4, C in, Read
More informationPART B. 3. Minimize the following function using K-map and also verify through tabulation method. F (A, B, C, D) = +d (0, 3, 6, 10).
II B. Tech II Semester Regular Examinations, May/June 2015 SWITCHING THEORY AND LOGIC DESIGN (Com. to EEE, ECE, ECC, EIE.) Time: 3 hours Max. Marks: 70 Note: 1. Question Paper consists of two parts (Part-A
More information: : (91-44) (Office) (91-44) (Residence)
Course: VLSI Circuits (Video Course) Faculty Coordinator(s) : Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology Madras Chennai 600036 Email Telephone : srinis@iitm.ac.in,
More informationThere are four registers involved in the fetch cycle: MAR, MBR, PC, and IR.
CS 320 Ch. 20 The Control Unit Instructions are broken down into fetch, indirect, execute, and interrupt cycles. Each of these cycles, in turn, can be broken down into microoperations where a microoperation
More informationIntroduction to CPU Design
١ Introduction to CPU Design Computer Organization & Assembly Language Programming Dr Adnan Gutub aagutub at uqu.edu.sa [Adapted from slides of Dr. Kip Irvine: Assembly Language for Intel-Based Computers]
More informationECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule
EEU530 EE U530 igital Hardware Synthesis Lecture 11: Prof. Miriam Leeser mel@coe.neu.edu October 18, 2005 Sequential Logic in VHL Finite State Machines in VHL Project proposals due now HW 4 due Wednesday,
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2017 More Verilog Finite State Machines Lecture 8: 1 Announcements 1 st batch of (raw) quiz scores released on CMS Solutions to HW 1-3 released on
More informationMulticycle Approach. Designing MIPS Processor
CSE 675.2: Introduction to Computer Architecture Multicycle Approach 8/8/25 Designing MIPS Processor (Multi-Cycle) Presentation H Slides by Gojko Babić and Elsevier Publishing We will be reusing functional
More informationFinite State Machines (FSMs) and RAMs and CPUs. COS 116, Spring 2011 Sanjeev Arora
Finite State Machines (FSMs) and RAMs and CPUs COS 116, Spring 2011 Sanjeev Arora Recap Combinational logic circuits: no cycles, hence no memory Sequential circuits: cycles allowed; can have memory as
More informationIntroduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1
ENG8 Computer Organization and rchitecture MIPS: Data Path Design Part Winter 7 S. reibi School of Engineering University of Guelph Introduction Topics uilding a Complete Data Path for MIPS Multi Cycle
More informationControl & Execution. Finite State Machines for Control. MIPS Execution. Comp 411. L14 Control & Execution 1
Control & Execution Finite State Machines for Control MIPS Execution L14 Control & Execution 1 Synchronous Systems data Latch Combinational logic Latch Clock leading edge trailing edge On the leading edge
More informationCS31001 COMPUTER ORGANIZATION AND ARCHITECTURE
CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE Debdeep Mukhopadhyay, CSE, IIT Kharagpur Instruction Execution Steps: The Multi Cycle Circuit 1 The Micro Mips ISA The Instruction Format op rs rt rd sh fn
More informationMajor and Minor States
Major and Minor States We now consider the micro operations and control signals associated with the execution of each instruction in the ISA. The execution of each instruction is divided into three phases.
More informationRegister-Level Design
Register-Level Design A digital system can be treated at different level of abstraction or compleity. So far, we have seen it at the gate level and the transistor level. At a higher level than the gate
More informationClass Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2
Class Notes CS400 Part VI Dr.C.N.Zhang Department of Computer Science University of Regina Regina, SK, Canada, S4S 0A2 C. N. Zhang, CS400 83 VI. CENTRAL PROCESSING UNIT 1 Set 1.1 Addressing Modes and Formats
More informationLecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines
Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event
More informationBlog -
. Instruction Codes Every different processor type has its own design (different registers, buses, microoperations, machine instructions, etc) Modern processor is a very complex device It contains Many
More informationMaterials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming
CS311 Lecture: CPU Control: Hardwired control and Microprogrammed Control Last revised October 18, 2007 Objectives: 1. To explain the concept of a control word 2. To show how control words can be generated
More informationMICROPROGRAMMED CONTROL
MICROPROGRAMMED CONTROL Hardwired Control Unit: When the control signals are generated by hardware using conventional logic design techniques, the control unit is said to be hardwired. Micro programmed
More informationTDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design
1 TDT4255 Computer Design Lecture 4 Magnus Jahre 2 Outline Chapter 4.1 to 4.4 A Multi-cycle Processor Appendix D 3 Chapter 4 The Processor Acknowledgement: Slides are adapted from Morgan Kaufmann companion
More informationCPE 335. Basic MIPS Architecture Part II
CPE 335 Computer Organization Basic MIPS Architecture Part II Dr. Iyad Jafar Adapted from Dr. Gheith Abandah slides http://www.abandah.com/gheith/courses/cpe335_s08/index.html CPE232 Basic MIPS Architecture
More informationSequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time
Sequential Circuits! Another way to understand setup/hold/propagation time inputs Comb FFs Comb Outputs CLK CSE 37 Spring 2 - Sequential Logic - Sequential logic examples! Finite state machine concept
More informationENGG3380: Computer Organization and Design Lab5: Microprogrammed Control
ENGG330: Computer Organization and Design Lab5: Microprogrammed Control School of Engineering, University of Guelph Winter 201 1 Objectives: The objectives of this lab are to: Start Date: Week #5 201 Due
More informationProcessing Unit CS206T
Processing Unit CS206T Microprocessors The density of elements on processor chips continued to rise More and more elements were placed on each chip so that fewer and fewer chips were needed to construct
More informationMealy and Moore examples
CSE 37 Spring 26 Introduction to igital esign ecture 2: uential ogic Technologies ast ecture Moore and Mealy Machines Today uential logic technologies Ving machine: Moore to synch. Mealy OPEN = creates
More informationThe Memory Hierarchy Part I
Chapter 6 The Memory Hierarchy Part I The slides of Part I are taken in large part from V. Heuring & H. Jordan, Computer Systems esign and Architecture 1997. 1 Outline: Memory components: RAM memory cells
More informationMicroprogrammed Control Approach
Microprogrammed Control Approach Considering the FSM for our MIPS subset has 10 states, the complete MIPS instruction set, which contains more than 100 instructions, and considering that these instructions
More informationLets Build a Processor
Lets Build a Processor Almost ready to move into chapter 5 and start building a processor First, let s review Boolean Logic and build the ALU we ll need (Material from Appendix B) operation a 32 ALU result
More informationEE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 6 Combinational and sequential circuits
EE 459/5 HL Based igital esign with Programmable Logic Lecture 6 ombinational and sequential circuits Read before class: hapter 2 from textbook Overview ombinational circuits Multiplexer, decoders, encoders,
More informationBasic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,
UNIT - 7 Basic Processing Unit: Some Fundamental Concepts, Execution of a Complete Instruction, Multiple Bus Organization, Hard-wired Control, Microprogrammed Control Page 178 UNIT - 7 BASIC PROCESSING
More informationCpE 442. Designing a Multiple Cycle Controller
CpE 442 Designing a Multiple Cycle Controller CPE 442 multicontroller.. Outline of Today s Lecture Recap (5 minutes) Review of FSM control (5 minutes) From Finite State Diagrams to Microprogramming (25
More informationDIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6
DIGITAL LOGIC DESIGN VHDL Coding for FPGAs Unit 6 FINITE STATE MACHINES (FSMs) Moore Machines Mealy Machines Algorithmic State Machine (ASM) charts FINITE STATE MACHINES (FSMs) Classification: Moore Machine:
More informationObjective now How are such control statements registers and other components Managed to ensure proper execution of each instruction
Control and Control Components Introduction Software application similar to familiar nested Russian dolls As we ve observed earlier Application written in some high level programming language C, C++, C#,
More informationComputer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming
Computer Science 324 Computer Architecture Mount Holyoke College Fall 2007 Topic Notes: Data Paths and Microprogramming We have spent time looking at the MIPS instruction set architecture and building
More informationECE 2300 Digital Logic & Computer Organization. More Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)
More informationFinite-State Machine (FSM) Design
1 Finite-State Machine (FSM) Design FSMs, an important category of sequential circuits, are used frequently in designing digital systems. From the daily used electronic machines to the complex digital
More information5.7. Microprogramming: Simplifying Control Design 5.7
5.7 Microprogramming: Simplifying Control Design 5.7 For the of our simple MIPS subset, a graphical representation of the finite state machine, as in Figure 5.40 on page 345, is certainly adequate. We
More informationChapter 4 The Processor (Part 2)
Department of Electr rical Eng ineering, Chapter 4 The Processor (Part 2) 王振傑 (Chen-Chieh Wang) ccwang@mail.ee.ncku.edu.tw ncku edu Feng-Chia Unive ersity Outline A Multicycle Implementation Mapping Control
More informationInitial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter
Control Implementation Alternatives Control may be designed using one of several initial representations. The choice of sequence control, and how logic is represented, can then be determined independently;
More informationExamining the complete instruction cycle for one instruction illustrates the operation of the P8 CPU. Assume the following conditions: C C C
5.0 Operation 5.1 The Instruction Cycle The CPU executes instructions that are stored in memory. The process of retrieving instructions and executing them is called the instruction cycle. Because it is
More informationECE369. Chapter 5 ECE369
Chapter 5 1 State Elements Unclocked vs. Clocked Clocks used in synchronous logic Clocks are needed in sequential logic to decide when an element that contains state should be updated. State element 1
More informationControl Unit for Multiple Cycle Implementation
Control Unit for Multiple Cycle Implementation Control is more complex than in single cycle since: Need to define control signals for each step Need to know which step we are on Two methods for designing
More informationPage 521 CPSC 5155 Last Revised July 9, 2011 Copyright 2011 by Edward L. Bosworth, Ph.D. All rights reserved.
Chapter 15 Implementation of the Central Processing Unit In this chapter, we continue consideration of the design and implementation of the CPU, more specifically the control unit of the CPU. In previous
More informationWilliam Stallings Computer Organization and Architecture 8 th Edition. Chapter 16 Micro-programmed Control
William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Control Unit Organization Micro-programmed Control Use sequences of instructions (see earlier notes)
More informationEECE 417 Computer Systems Architecture
EECE 417 Computer Systems Architecture Department of Electrical and Computer Engineering Howard University Charles Kim Spring 2007 1 Computer Organization and Design (3 rd Ed) -The Hardware/Software Interface
More informationLecture 5 and 6. ICS 152 Computer Systems Architecture. Prof. Juan Luis Aragón
ICS 152 Computer Systems Architecture Prof. Juan Luis Aragón Lecture 5 and 6 Multicycle Implementation Introduction to Microprogramming Readings: Sections 5.4 and 5.5 1 Review of Last Lecture We have seen
More informationVHDL: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More informationChapter 5. Computer Architecture Organization and Design. Computer System Architecture Database Lab, SANGJI University
Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers
More informationEECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.
Review: minimum sum-of-products expression from a Karnaugh map EECS 5 - Components and Design Techniques for Digital Systems Lec 7 PLAs and FSMs 9/2- David Culler Electrical Engineering and Computer Sciences
More informationCC 311- Computer Architecture. The Processor - Control
CC 311- Computer Architecture The Processor - Control Control Unit Functions: Instruction code Control Unit Control Signals Select operations to be performed (ALU, read/write, etc.) Control data flow (multiplexor
More informationCS222: Processor Design
CS222: Processor Design Dr. A. Sahu Dept of Comp. Sc. & Engg. Indian Institute of Technology Guwahati Processor Design building blocks Outline A simple implementation: Single Cycle Data pathandcontrol
More information4. MICROPROGRAMMED COMPUTERS
Structure of Computer Systems Laboratory No. 4 1 4. MICROPROGRAMMED COMPUTERS This laboratory work presents the principle of microprogrammed computers and an example of microprogrammed architecture, in
More informationEE 3170 Microcontroller Applications
EE 3170 Microcontroller Applications Lecture 4 : Processors, Computers, and Controllers - 1.2 (reading assignment), 1.3-1.5 Based on slides for ECE3170 by Profs. Kieckhafer, Davis, Tan, and Cischke Outline
More informationECE 551: Digital System *
ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit
More informationCONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:
CONTROL UNIT CONTROL UNIT of the Microprocessor Two main operations of Control Unit can be identified: Instruction sequencing - the methods by which instructions are selected for execution or, the manner
More informationBuilding Bigger Systems: Hardware Threads
! uilding igger Systems: Hardware Threads Lecture L06 18-4 dvanced igital esign ECE epartment Many elements on Thomas, 2014, used with permission with credit to G. Larson Today We build on our knowledge
More informationEECS Components and Design Techniques for Digital Systems. Lec 20 RTL Design Optimization 11/6/2007
EECS 5 - Components and Design Techniques for Digital Systems Lec 2 RTL Design Optimization /6/27 Shauki Elassaad Electrical Engineering and Computer Sciences University of California, Berkeley Slides
More informationWilliam Stallings Computer Organization and Architecture
William Stallings Computer Organization and Architecture Chapter 16 Control Unit Operations Rev. 3.2 (2009-10) by Enrico Nardelli 16-1 Execution of the Instruction Cycle It has many elementary phases,
More informationECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines
ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday
More informationCPU Design Tradeoffs. Building the Beta. Performance Measure. The Beta ISA MIPS = C.P.I. Clock Frequency (MHz) PUSHING PERFORMANCE...
uilding the eta CPU esign Tradeoffs I wonder where this goes? Maximum Performance: measured by the numbers of instructions executed per second Minimum Cost : measured by the size of the circuit. Lab #5
More informationIntroduction to Computers - Chapter 4
Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall
More informationInjntu.com Injntu.com Injntu.com R16
1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder
More information