EECS150. Implement of Processor FSMs

Size: px
Start display at page:

Download "EECS150. Implement of Processor FSMs"

Transcription

1 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 FSMs Exploit MSI Functionality: Jump Counters Counters, Multiplexers, Decoders Microprogramming: ROM-based methods Direct encoding of next states and outputs EECS5 - Fall -

2 Processor / Memory Interface Problem: The processor and memory often do not share the same clock. Solution: Use appropriate handshaking EECS5 - Fall -3 Moore RES Reset PC IF PC MAR, PC + PC Note capture of MBR in these states IF IF MAR Mem, Read/Write, Request, Mem MBR IF3 MBR IR OD LD LD LD = = IR MAR ST IR MAR, AC MBR MAR Mem, Read/Write, ST Request, Mem MBR MBR AC MAR Mem, Read/Write, Request, MBR Mem = AD AD AD = IR MAR MAR Mem, Read/Write, Request, Mem MBR MBR + AC AC BR = BR = IR PC EECS5 - Fall -4

3 Memory-Register Interface Timing IF IF IF IF IF3 CLK WAIT Mem Bus Data Valid Latch MBR Invalid Data Latched Invalid Data Latched Valid Data Latched Valid data latched on IF to IF3 transition because data must be valid before Wait can go low EECS5 - Fall -5 Processor Signal FLow EECS5 - Fall -6

4 Moore Machine Diagram Reset Wait IR<5> IR<4> AC<5> Clock Next State Logic State 6 states, 4 bit state register Next State Logic: 9 Inputs, 4 Outputs Output Logic: 4 Inputs, 8 Outputs Output Logic Read/Write Request PC PC + PC PC ABUS IR ABUS ABUS MAR ABUS PC MAR Memory Address Bus Memory Data Bus MBR MBR Memory Data Bus MBR MBUS MBUS IR MBUS ALU B MBUS AC RBUS AC RBUS MBR ALU ADD These can be implemented via ROM or PAL/PLA Next State: 5 x 4 bit ROM Output: 6 x 8 bit ROM EECS5 - Fall -7 Moore Machine State Table Reset Wait IR<5> IR<4> AC<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 MAR, PC + PC X X X IF () IF () X X X IF () IF () X X X IF () IF () MAR Mem, Read, X X X IF () IF3 () { Request, Mem MBR X X X IF3 () IF3 () MBR IR X X X IF3 () OD () X X OD () LD () X X OD () ST () X X OD () AD () X X OD () BR () X X X X LD () LD () IR MAR X X X LD () LD () MAR Mem, Read, X X X LD () LD (){ Request, Mem MBR X X X X LD () IF () MBR AC X X X X ST () ST () IR MAR, AC MBR X X X ST () ST () MAR Mem, Write, X X X ST () IF (){ Request, MBR Mem X X X X AD () AD () IR MAR X X X AD () AD () MAR Mem, Read, X X X AD () AD (){ Request, Mem MBR X X X X AD () IF () MBR + AC AC X X X BR () IF () X X X BR () BR () X X X X BR () IF () IR PC EECS5 - Fall -8

5 Observations: State Transition Table Extensive use of Don't Cares Inputs used only in a small number of state e.g., AC<5> examined only in BR state IR<5:4> examined only in OD 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 EECS5 - Fall -9 Synchronous Mealy Machines 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 at Inputs Inputs and and Outputs A D Q A' ƒ D Q ƒ' Output Logic STATE A STATE A STATE A' ƒ D Q Output Logic Output Logic EECS5 - Fall - ƒ D Q ƒ'

6 Synchronous Mealy Machines Case I: Synchronizers at Inputs and Outputs CLK A A' cycle cycle cycle S S A/ƒ ƒ ƒ' S A asserted in Cycle, ƒ becomes asserted after cycle delay! This is clearly overkill! EECS5 - Fall - Synchronous Mealy Machine Case II: Synchronizers on Inputs CLK cycle cycle cycle S A/ƒ S A S S A' A'/ƒ ƒ A asserted in Cycle, ƒ follows in next cycle Same as using delayed signal (A') in Cycle! EECS5 - Fall -

7 Synchronous Mealy Machines Case III: Synchronized Outputs CLK A ƒ cycle cycle cycle S S A/ƒ ƒ' A asserted during Cycle, ƒ' asserted in next cycle Effect of ƒ delayed one cycle EECS5 - Fall -3 Synchronous Mealy Machines Implications for Processor FSM Already Derived Consider inputs: Reset, Wait, IR<5:4>, AC<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 Reset and Wait: synchronized inputs Place D flipflops between these external signals and the control inputs to the processor FSM Sync'd versions of Reset and Wait delayed by one clock cycle EECS5 - Fall -4

8 Time State Divide and Conquer Overview Classical Approach: Monolithic Implementations Alternative "Divide & Conquer" Approach: Decompose FSM into several simpler communicating FSMs Time state FSM (e.g., IFetch, Decode, Execute) Instruction state FSM (e.g., LD, ST, ADD, BRN) Condition state FSM (e.g., AC <, AC ) EECS5 - Fall -5 Time State (Divide & Conquer) Time State FSM Most instructions follow same basic sequence Differ only in detailed execution sequence Time State FSM can be parameterized by opcode and AC states Instruction State: stored in IR<5:4> Condition State: stored in AC<5> = = IR = = LD ST ADD BRN AC<5>= AC BRN + (ST Wait)/ (LD + ADD) Wait AC < T7 AC<5>= EECS5 - Fall -6 T T T T3 T4 T5 T6 BRN AC / (LD + ST + ADD)

9 Time State (Divide & Conquer) Generation of Microoperations PC: Reset PC + PC: T PC MAR: T MAR Memory Address Bus: T + T6 (LD + ST + ADD) Memory Data Bus MBR: T + T6 (LD + ADD) MBR Memory Data Bus: T6 ST MBR IR: T4 MBR AC: T7 LD AC MBR: T5 ST AC + MBR AC: T7 ADD IR<3:> MAR: T5 (LD + ST + ADD) IR<3:> PC: T6 BRN Read/Write: T + T6 (LD + ADD) Read/Write: T6 ST Request: T + T6 (LD + ST + ADD) EECS5 - Fall -7 Jump Counter Concept Implement FSM using MSI functionality: counters, mux, decoders Pure jump counter: only one of four possible next states N HOLD LOAD CLR CNT N+ XX Single "Jump State" function of the current state Hybrid jump counter: Multiple "Jump States" function of current state + inputs EECS5 - Fall -8

10 Jump Counters Pure Jump Counter Inputs Count, Load, Clear Logic Clear Load Count CLOCK Jump State Logic Synchronous Counter State Register NOTE: No inputs to jump state logic Logic blocks implemented via discrete logic, PALs/PLAs, ROMs EECS5 - Fall -9 Jump Counters Problem with Pure Jump Counter Difficult to implement multi-way branches OD 4 OD Extra States: 5 8 OD BR LD ST AD BR Logical State Diagram 6 OD 9 AD 7 LD ST Pure Jump Counter State Diagram EECS5 - Fall -

11 Jump Counters Hybrid Jump Counter Inputs Count, Load, Clear Logic Clear Load Count CLOCK Jump State Logic Synchronous Counter State Register Load inputs are function of state and FSM inputs EECS5 - Fall - Jump Counters Implementation Example Reset RES IF IF State assignment attempts to take advantage of sequential states IF OD 3 4 LD 5 ST 8 AD BR 3 LD 6 ST 9 AD LD 7 AD EECS5 - Fall -

12 Jump Counters Implementation Example, Continued CNT = (s + s5 + s8 + s) + Wait (s + s3) + Wait (s + s6 + s9 + s) CNT = Wait (s + s3) + Wait (s + s6 + s9 + s) CLR = Reset + s7 + s + s3 + (s9 Wait) CLR = Reset s7 s s3 (s9 + Wait) LD = s4 Contents of Jump State ROM Address Contents (Symbolic State) (LD) (ST) (AD) (BR) EECS5 - Fall -3 Jump Counters Implementation Example, continued /S9 Wait Wait /S /S9 /S6 /S3 /S /S OR IR5 IR4 /Reset /S7 /S /S3 Cnt PAL Wait S S9 S6 HOLD S3 S S Jump State IR<5> IR<4> AND 3 CNT /S4 7 P T CLK 6 D 5 C B A LOAD CLR Implement CNT using active lo PAL 63 5 RCO QD QC QB 3 QA 4 /Reset Wait /Wait NOTE: Active lo Implement CLR outputs from EECS5 - Fall decoder G G D C B 3 A /S5 /S4 /S3 /S /S /S /S9 /S8 /S7 /S6 /S5 /S4 /S3 /S /S /S

13 Jump Counter CLR, CNT, LD implemented via Mux Logic CLR = CLRm + Reset CLR = CLRm + Reset /CLRm /Reset Reset Wait /CLR Jump State IR5 IR<5> 3 IR4 IR<4> /Reset /Wait CNT /LD /CLR P T CLK D C B A LOAD CLR 63 RCO QD QC QB QA 54 G G D C B A \S3 \S \S \S \S9 \S8 \S7 \S6 \S5 \S4 \S3 \S \S \S Active Lo outputs: hi input inverted at the output Note that CNT is active hi on counter so invert MUX inputs! S3 S S S G E5 5 E4 + E3 + E E E E9 E8 E7 E6 E5 E4 E3 Wait E /Wait E E S3 S S S G G E5 5 E5 5 E4 E4 E3 E3 E E E E E E /Wait E9 E9 EOUT E8 E8 EOUT CNT /CLRm EOUT E7 E6 E5 E4 E3 E E E + S3 S S S E7 E6 E5 E4 E3 E E E /LD EECS5 - Fall -5 Jump Counters Microoperation implementation PC = Reset PC + PC = S PC MAR = S MAR Memory Address Bus = Wait (S + S + S5 + S6 + S8 + S9 + S + S) Memory Data Bus MBR = Wait (S + S6 + S) MBR Memory Data Bus = Wait (S8 + S9) MBR IR = Wait S3 MBR AC = Wait S7 AC MBR = IR5 IR4 S4 AC + MBR AC = Wait S IR<3:> MAR = (IR5 IR4 + IR5 IR4 + IR5 IR4) S4 IR<3:> PC = AC5 S3 Read/Write = Wait (S + S + S5 + S6 + S + S) Read/Write = Wait (S8 + S9) Request = Wait (S + S + S5 + S6 + S8 + S9 + S + S) Jump Counters: CNT, CLR, LD function of current state + Wait Why not store these as outputs of the Jump State ROM? Make Wait and Current State part of ROM address 3 x as many words, 7 bits wide EECS5 - Fall -6

14 Branch Sequencers Concept Implement Next State Logic via ROM Address ROM with current state and inputs Problem: ROM doubles in size for each additional input Note: Jump counter trades off ROM size vs. external logic Only jump states kept in ROM Even in hybrid approach, state + input subset form ROM address Branch Sequencer: between the extremes Next State stored in ROM Each state limited to small number of next states Always a power of Observe: only a small set of inputs are examined in any state EECS5 - Fall -7 Branch Sequencers I n p u t s 4 Way Branch Sequencer Mux Mux β α a a a a3 a4 a5 x x x x 64 Word ROM Z Y X W C S o i n g t n r a o l l s N α β α β α β α β W X Y Z state Current State selects two inputs to form part of ROM address These select one of four possible next states (and output sets) Every state has exactly four possible next states EECS5 - Fall -8

15 Branch Sequencer Processor CPU Design Example s<3> s<> s<> s<> S3 S S S G E5 E4 AC<5> E3 AC<5> E E E E9 E8 EOUT E7 \α E6 E5 IR<5> E4 IR<4> E3 E + Wait E Wait E + S3 S S S 5 E5 5 G E4 E3 E E E E9 E8 E7 E6 E5 E4 E3 E E E EOUT Alpha, Beta multiplexer input setup EECS5 - Fall -9 \β Example Processor FSM ROM ADDRESS ROM CONTENTS (Reset, Current State, a, b) Next State Register Transfer Operations RES X X (IF) PC MAR, PC + PC IF (IF) (IF) MAR Mem, Read, Request IF (IF) MAR Mem, Read, Request (IF) Mem MBR IF (IF) (OD) MBR IR OD (LD) IR MAR (ST) IR MAR, AC MBR (AD) IR MAR (BR) IR MAR LD X X (LD) MAR Mem, Read, Request LD (LD) Mem MBR (LD) MAR Mem, Read, Request LD X X (RES) MBR AC ST X X (ST) MAR Mem, Write, Request, MBR Mem ST (RES) (ST) MAR Mem, Write, Request, MBR Mem AD X X (AD) MAR Mem, Read, Request AD (AD) (AD) MAR Mem, Read, Request AD X X (RES) MBR + AC AC BR (RES) (RES) IR PC EECS5 - Fall -3

16 Branch Sequencers α and β MUX Control Alternative Horizontal Implementation α β α β α β α β A A A A3 n- n- n- n- Datapath Control Signals I N P U T S M U M X U X α β bit n : MUX 4: MUX bit bit n bit state register Input MUX controlled by encoded signals, not state Much fewer inputs than unique states! In example FSM, input MUX can be :! Adding length to ROM word saves on bits vs. doubling words Vertical format: (4 + 4) x 64 = 5 ROM bits Horizontal format: (4 + 4 x 4 + ) x 6 = 5 ROM bits EECS5 - Fall -3 Microprogramming How to organize the control signals Implement control signals by storing 's and 's in a ROM Horizontal vs. vertical microprogramming Horizontal: ROM output for each control signal Vertical: encoded control signals in ROM, decoded externally some mutually exclusive signals can be combined helps reduce ROM length EECS5 - Fall -3

17 Microprogramming Register Transfer/Microoperations 4 Register Transfer operations become Microoperations: PC ABUS IR ABUS MBR ABUS RBUS AC AC ALU A MBUS ALU B ALU ADD ALU PASS B MAR Address Bus MBR Data Bus ABUS IR ABUS MAR Data Bus MBR RBUS MBR MBR MBUS PC PC + PC ABUS PC Read/Write Request AC RBUS ALU Result RBUS EECS5 - Fall -33 Horizontal Microprogramming Horizontal Branch Sequencer α, β Mux bits 4 x 4 Next State bits Control operation bits 4 bits total α mux β mux Next States A A A A3 PC ABUS IR ABUS MBR ABUS RBUS AC AC ALU A MBUS ALU B ALU ADD ALU PASS B MAR Address Bus MBR Data Bus ABUS IR ABUS MAR Data Bus MBR RBUS MBR MBR MBUS PC PC + PC ABUS PC Read/Write Request AC RBUS ALU Result RBUS EECS5 - Fall -34

18 Horizontal Microprogramming Moore Processor ROM Current State (Address) RES () IF () IF () IF () IF3 () OD () LD () LD () LD () ST () ST () AD () AD () AD () BR () BR () α mux β mux Next States A A A A3 Alpha inputs: = Wait, Beta inputs: = AC<5>, PC ABUS IR ABUS MBR ABUS RBUS AC AC ALU A MBUS ALU B = IR<5> = IR<4> ALU ADD ALU PASS B MAR Address Bus MBR Data Bus ABUS IR ABUS MAR Data Bus MBR RBUS MBR MBR MBUS PC PC + PC ABUS PC Read/Write Request AC RBUS ALU Result RBUS EECS5 - Fall -35 Horizontal Microprogramming Advantages: most flexibility -- complete parallel access to datapath control points Disadvantages: very long control words -- + bits for real processors NOTE: Not all microoperation combinations make sense! Output Encodings: Group mutually exclusive signals Use external logic to decode Example: PC, PC + PC, ABUS PC mutually exclusive Save ROM bit with external :4 Decoder EECS5 - Fall -36

19 Horizontal Microprogramming Partially Encoded Control Outputs C O N T R O L R O M ALU ADD ALU PASS B MAR Address Bus MBR Data Bus ABUS MAR RBUS MBR Read/Write Request AC RBUS RBUS AC AC ALU A MBUS ALU B MBR MBUS ALU Result RBUS MBR ABUS ABUS IR PC :4 PC + PC DEC ABUS PC :4 DEC PC ABUS IR ABUS Data Bus MBR EECS5 - Fall -37 Vertical Microprogramming More extensive encoding to reduce ROM word length Typically use multiple microword formats: Horizontal microcode -- next state + control bits in same word Separate formats for control outputs and "branch jumps" may require several microwords in a sequence to implement same function as single horizontal word In the extreme, very much like assembly language programming EECS5 - Fall -38

20 Vertical Microprogramming Branch Jump Compare indicated signal to or Branch Jump Format Type Condition Select Condition Compare 6 Next Address = Wait = AC<5> = IR<5> = IR<4> Register Transfer Source, Destination, Operation ROM Bits Register Transfer Format Source Destination Operation : NO OP : PC ABUS : IR ABUS : MBR MBUS : MAR M : AC RBUS : ALU Res RBUS : NO OP : RBUS AC : MBUS IR : ABUS MAR : M MBR : RBUS MBR : ABUS PC : NO OP : ALU ADD : ALU PASS B : PC : PC + PC : Read : Write : MBR M EECS5 - Fall -39 Vertical Microprogramming ROM ADDRESS SYMBOLIC CONTENTS BINARY CONTENTS RES RT PC MAR, PC + PC IF RT MAR M, Read BJ Wait=, IF IF RT MAR M, M MBR, Read BJ Wait=, IF IF RT MBR IR BJ Wait=, IF RT IR MAR OD BJ IR<5>=, OD BJ IR<4>=, ST LD RT MAR M, Read LD RT MAR M, M MBR, Read BJ Wait=, LD LD RT MBR AC BJ Wait=, RES BJ Wait=, RES EECS5 - Fall -4

21 Vertical Microprogramming ROM ADDRESS SYMBOLIC CONTENTS BINARY CONTENTS ST RT AC MBR RT MAR M, MBR M, Write ST RT MAR M, MBR M, Write BJ Wait=, RES BJ Wait=, ST OD BJ IR<4>=, BR AD RT MAR M, Read AD RT MAR M, M MBR, Read BJ Wait=, AD AD RT AC + MBR AC BJ Wait=, RES BJ Wait=, RES BR BJ AC<5>=, RES RT IR PC BJ AC<5>=, RES 3 words x ROM bits = 3 bits total versus 6 x 38 = 68 bits horizontal EECS5 - Fall -4 Vertical Programming Controller Block Diagram ROM Address T SRC DST OP Reset ALU ADD ALU PASS B 3:8 3 DEC 4 PC + PC 5 Read 6 Write Enb 7 3:8 3 DEC Enb RBUS AC ABUS IR ABUS MAR M MBR RBUS MBR ABUS PC MBR M PC Read/Write Request Wait AC<5> IR<5> IR<4> Cond Logic LD CLR µpc CNT PC ABUS IR ABUS 3:8 3 MBR ABUS DEC 4 MAR M 5 AC RBUS 6 ALU Res RBUS Enb 7 Reset Clk EECS5 - Fall -4

22 Vertical Microprogramming Condition Logic Condition Selector Wait AC<5> IR<5> IR<4> 4: MUX Condition Comparator Microinstruction Type Microinstruction Type LD CNT EECS5 - Fall -43 Vertical Microprogramming Writeable Control Store Part of control store addresses map into RAM Allows assembly language programmer to implement own instructions Extend "native" instruction set with application specific instructions Requires considerable sophistication to write microcode Not a popular approach with today's processors Make the native instruction set simple and fast Write "higher level" functions as assembly language sequences EECS5 - Fall -44

Control Unit Implementation

Control 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 information

Controller Implementation--Part II

Controller 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 information

Moore EECS150. Implement of Processor FSMs. Memory-Register Interface Timing. Processor / Memory Interface. Processor Signal FLow

Moore 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 information

Alternative controller FSM implementation approaches based on:

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 information

Controller 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. 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 information

Alternative Ways to Implement Processor FSMs. Outline. Moore Machine State Diagram. Random Logic. Moore Machine Diagram

Alternative Ways to Implement Processor FSMs. Outline. Moore Machine State Diagram. Random Logic. Moore Machine Diagram 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»

More information

Module 5 - CPU Design

Module 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

Implementing the Control. Simple Questions

Implementing 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 information

Topic #6. Processor Design

Topic #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 information

Memory Interface. More Realistic Block Diagram: Issue memory request. Is it a read or a write? Memory asks CPU to wait

Memory 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 information

The Processor: Datapath & Control

The 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 information

Basic Processing Unit: Some Fundamental Concepts, Execution of a. Complete Instruction, Multiple Bus Organization, Hard-wired Control,

Basic 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 information

Micro-programmed Control Ch 15

Micro-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 information

Machine Instructions vs. Micro-instructions. Micro-programmed Control Ch 15. Machine Instructions vs. Micro-instructions (2) Hardwired Control (4)

Machine 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 information

Micro-programmed Control Ch 15

Micro-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 information

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming

Materials: 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 information

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming

Materials: 1. Projectable Version of Diagrams 2. MIPS Simulation 3. Code for Lab 5 - part 1 to demonstrate using microprogramming CPS311 Lecture: CPU Control: Hardwired control and Microprogrammed Control Last revised October 23, 2015 Objectives: 1. To explain the concept of a control word 2. To show how control words can be generated

More information

Name: ID# UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III

Name:   ID# UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS150 Fall 2001 Prof. Subramanian Midterm III 1) Recalculate the various propogation delays in a 4-bit carry lookahead

More information

Advanced Computer Architecture

Advanced 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 information

Micro-Operations. execution of a sequence of steps, i.e., cycles

Micro-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 information

Microprogramming is a technique to implement the control system of a CPU using a control store to hold the microoperations.

Microprogramming 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 information

Micro-programmed Control Ch 17

Micro-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 information

Hardwired Control (4) Micro-programmed Control Ch 17. Micro-programmed Control (3) Machine Instructions vs. Micro-instructions

Hardwired 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 information

Multicycle Approach. Designing MIPS Processor

Multicycle 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 information

4. MICROPROGRAMMED COMPUTERS

4. 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 information

William 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 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 information

Chapter 16. Control Unit Operation. Yonsei University

Chapter 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 information

Digital System Design Using Verilog. - Processing Unit Design

Digital System Design Using Verilog. - Processing Unit Design Digital System Design Using Verilog - Processing Unit Design 1.1 CPU BASICS A typical CPU has three major components: (1) Register set, (2) Arithmetic logic unit (ALU), and (3) Control unit (CU) The register

More information

5.7. Microprogramming: Simplifying Control Design 5.7

5.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 information

Computer Architecture Programming the Basic Computer

Computer 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 information

Computer Organization

Computer 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 information

Chapter 3 : Control Unit

Chapter 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 information

ECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller

ECE468 Computer Organization and Architecture. Designing a Multiple Cycle Controller ECE468 Computer Organization and Architecture Designing a Multiple Cycle Controller ECE468 multicontroller Review of a Multiple Cycle Implementation The root of the single cycle processor s problems: The

More information

Chapter 4. MARIE: An Introduction to a Simple Computer 4.8 MARIE 4.8 MARIE A Discussion on Decoding

Chapter 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 information

Microprogramming: Basic Idea

Microprogramming: 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 information

ﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ MIPS يرﺎﻤﻌﻣ data path and ontrol control

ﻪﺘﻓﺮﺸﻴﭘ ﺮﺗﻮﻴﭙﻣﺎﻛ يرﺎﻤﻌﻣ 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 information

Processing Unit CS206T

Processing 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 information

Microprogrammed Control Approach

Microprogrammed 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 information

Block diagram view. Datapath = functional units + registers

Block 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 information

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit

Lecture1: introduction. Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit Lecture1: introduction Outline: History overview Central processing unite Register set Special purpose address registers Datapath Control unit 1 1. History overview Computer systems have conventionally

More information

CPE 335. Basic MIPS Architecture Part II

CPE 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 information

Computer Organization. Structure of a Computer. Registers. Register Transfer. Register Files. Memories

Computer 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 information

CONTROL UNIT CONTROL UNIT. CONTROL vs DATA PATH. Instruction Sequencing. Two main operations of Control Unit can be identified:

CONTROL 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 information

Systems Architecture I

Systems 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 information

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

PROBLEMS. 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory? 446 CHAPTER 7 BASIC PROCESSING UNIT (Corrisponde al cap. 10 - Struttura del processore) PROBLEMS 7.1 Why is the Wait-for-Memory-Function-Completed step needed when reading from or writing to the main memory?

More information

CC 311- Computer Architecture. The Processor - Control

CC 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 information

MICROPROGRAMMED CONTROL

MICROPROGRAMMED 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 information

Introduction to CPU Design

Introduction 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 information

Initial Representation Finite State Diagram. Logic Representation Logic Equations

Initial 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 information

TDT4255 Computer Design. Lecture 4. Magnus Jahre. TDT4255 Computer Design

TDT4255 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 information

Blog - https://anilkumarprathipati.wordpress.com/

Blog - 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 information

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015

Advanced Parallel Architecture Lesson 3. Annalisa Massini /2015 Advanced Parallel Architecture Lesson 3 Annalisa Massini - 2014/2015 Von Neumann Architecture 2 Summary of the traditional computer architecture: Von Neumann architecture http://williamstallings.com/coa/coa7e.html

More information

Examining the complete instruction cycle for one instruction illustrates the operation of the P8 CPU. Assume the following conditions: C C C

Examining 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 information

Class Notes. Dr.C.N.Zhang. Department of Computer Science. University of Regina. Regina, SK, Canada, S4S 0A2

Class 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 information

Multicycle conclusion

Multicycle conclusion Multicycle conclusion The last few lectures covered a lot of material! We introduced a multicycle datapath, where different instructions take different numbers of cycles to execute. A multicycle unit is

More information

Chapter 4 The Processor (Part 2)

Chapter 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 information

Mark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control

Mark Redekopp and Gandhi Puvvada, All rights reserved. EE 357 Unit 15. Single-Cycle CPU Datapath and Control EE 37 Unit Single-Cycle CPU path and Control CPU Organization Scope We will build a CPU to implement our subset of the MIPS ISA Memory Reference Instructions: Load Word (LW) Store Word (SW) Arithmetic

More information

Processor (I) - datapath & control. Hwansoo Han

Processor (I) - datapath & control. Hwansoo Han Processor (I) - datapath & control Hwansoo Han Introduction CPU performance factors Instruction count - Determined by ISA and compiler CPI and Cycle time - Determined by CPU hardware We will examine two

More information

CpE 442. Designing a Multiple Cycle Controller

CpE 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 information

ENGG3380: Computer Organization and Design Lab5: Microprogrammed Control

ENGG3380: 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 information

Lets Build a Processor

Lets 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 information

Major and Minor States

Major 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 information

Computer Architecture

Computer Architecture Computer Architecture Lecture 1: Digital logic circuits The digital computer is a digital system that performs various computational tasks. Digital computers use the binary number system, which has two

More information

CS31001 COMPUTER ORGANIZATION AND ARCHITECTURE

CS31001 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 information

Chapter 20 - Microprogrammed Control (9 th edition)

Chapter 20 - Microprogrammed Control (9 th edition) Chapter 20 - Microprogrammed Control (9 th edition) Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 20 - Microprogrammed Control 1 / 47 Table of Contents I 1 Motivation 2 Basic Concepts

More information

COMPUTER STRUCTURE AND ORGANIZATION

COMPUTER STRUCTURE AND ORGANIZATION COMPUTER STRUCTURE AND ORGANIZATION Course titular: DUMITRAŞCU Eugen Chapter 4 COMPUTER ORGANIZATION FUNDAMENTAL CONCEPTS CONTENT The scheme of 5 units von Neumann principles Functioning of a von Neumann

More information

Computer Organization II CMSC 3833 Lecture 33

Computer Organization II CMSC 3833 Lecture 33 Term MARIE Definition Machine Architecture that is Really Intuitive and Easy 4.8.1 The Architecture Figure s Architecture Characteristics: Binary, two s complement Stored program, fixed word length Word

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware 4.1 Introduction We will examine two MIPS implementations

More information

William Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control

William Stallings Computer Organization and Architecture 8 th Edition. Micro-programmed Control William Stallings Computer Organization and Architecture 8 th Edition Chapter 16 Micro-programmed Control Presenters: Andres Borroto Juan Fernandez Laura Verdaguer Control Unit Organization Micro-programmed

More information

Lecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23)

Lecture Topics. Announcements. Today: Single-Cycle Processors (P&H ) Next: continued. Milestone #3 (due 2/9) Milestone #4 (due 2/23) Lecture Topics Today: Single-Cycle Processors (P&H 4.1-4.4) Next: continued 1 Announcements Milestone #3 (due 2/9) Milestone #4 (due 2/23) Exam #1 (Wednesday, 2/15) 2 1 Exam #1 Wednesday, 2/15 (3:00-4:20

More information

Final Exam Review. b) Using only algebra, prove or disprove the following:

Final Exam Review. b) Using only algebra, prove or disprove the following: EE 254 Final Exam Review 1. The final exam is open book and open notes. It will be made up of problems similar to those on the previous 3 hour exams. For review, be sure that you can work all of the problems

More information

Computer Logic II CCE 2010

Computer Logic II CCE 2010 Computer Logic II CCE 2010 Dr. Owen Casha Computer Logic II 1 The Processing Unit Computer Logic II 2 The Processing Unit In its simplest form, a computer has one unit that executes program instructions.

More information

Lecture 5 and 6. ICS 152 Computer Systems Architecture. Prof. Juan Luis Aragón

Lecture 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 information

Computer Architecture 2/26/01 Lecture #

Computer Architecture 2/26/01 Lecture # Computer Architecture 2/26/01 Lecture #9 16.070 On a previous lecture, we discussed the software development process and in particular, the development of a software architecture Recall the output of the

More information

The overall datapath for RT, lw,sw beq instrucution

The overall datapath for RT, lw,sw beq instrucution Designing The Main Control Unit: Remember the three instruction classes {R-type, Memory, Branch}: a) R-type : Op rs rt rd shamt funct 1.src 2.src dest. 31-26 25-21 20-16 15-11 10-6 5-0 a) Memory : Op rs

More information

Chapter 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 Chapter 5. Computer Architecture Organization and Design Computer System Architecture Database Lab, SANGJI University Computer Architecture Organization and Design Instruction Codes Computer Registers

More information

CC312: Computer Organization

CC312: Computer Organization CC312: Computer Organization Dr. Ahmed Abou EL-Farag Dr. Marwa El-Shenawy 1 Chapter 4 MARIE: An Introduction to a Simple Computer Chapter 4 Objectives Learn the components common to every modern computer

More information

Objective now How are such control statements registers and other components Managed to ensure proper execution of each instruction

Objective 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 information

THE MICROPROCESSOR Von Neumann s Architecture Model

THE MICROPROCESSOR Von Neumann s Architecture Model THE ICROPROCESSOR Von Neumann s Architecture odel Input/Output unit Provides instructions and data emory unit Stores both instructions and data Arithmetic and logic unit Processes everything Control unit

More information

Computer Science 324 Computer Architecture Mount Holyoke College Fall Topic Notes: Data Paths and Microprogramming

Computer 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 information

ECE369. Chapter 5 ECE369

ECE369. 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 information

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I

Faculty of Engineering Systems & Biomedical Dept. First Year Cairo University Sheet 6 Computer I aculty of Engineering Systems & Biomedical Dept. irst Year Cairo University Sheet 6 Computer I 1. Choose rue or alse for each of the following statements a) In a direct addressing mode instruction, the

More information

Major CPU Design Steps

Major CPU Design Steps Datapath Major CPU Design Steps. Analyze instruction set operations using independent RTN ISA => RTN => datapath requirements. This provides the the required datapath components and how they are connected

More information

2 MARKS Q&A 1 KNREDDY UNIT-I

2 MARKS Q&A 1 KNREDDY UNIT-I 2 MARKS Q&A 1 KNREDDY UNIT-I 1. What is bus; list the different types of buses with its function. A group of lines that serves as a connecting path for several devices is called a bus; TYPES: ADDRESS BUS,

More information

FSM Design Problem (10 points)

FSM 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 information

Page 521 CPSC 5155 Last Revised July 9, 2011 Copyright 2011 by Edward L. Bosworth, Ph.D. All rights reserved.

Page 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 information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - 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 information

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19

CO Computer Architecture and Programming Languages CAPL. Lecture 18 & 19 CO2-3224 Computer Architecture and Programming Languages CAPL Lecture 8 & 9 Dr. Kinga Lipskoch Fall 27 Single Cycle Disadvantages & Advantages Uses the clock cycle inefficiently the clock cycle must be

More information

ENE 334 Microprocessors

ENE 334 Microprocessors ENE 334 Microprocessors Lecture 6: Datapath and Control : Dejwoot KHAWPARISUTH Adapted from Computer Organization and Design, 3 th & 4 th Edition, Patterson & Hennessy, 2005/2008, Elsevier (MK) http://webstaff.kmutt.ac.th/~dejwoot.kha/

More information

CS 2461: Computer Architecture I

CS 2461: Computer Architecture I Computer Architecture is... CS 2461: Computer Architecture I Instructor: Prof. Bhagi Narahari Dept. of Computer Science Course URL: www.seas.gwu.edu/~bhagiweb/cs2461/ Instruction Set Architecture Organization

More information

Statement of Research

Statement of Research On Exploring Algorithm Performance Between Von-Neumann and VLSI Custom-Logic Computing Architectures Tiffany M. Mintz James P. Davis, Ph.D. South Carolina Alliance for Minority Participation University

More information

CSC 220: Computer Organization Unit 12 CPU programming

CSC 220: Computer Organization Unit 12 CPU programming College of Computer and Information Sciences Department of Computer Science CSC 220: Computer Organization Unit 12 CPU programming 1 Instruction set architectures Last time we built a simple, but complete,

More information

Chapter 4. The Processor

Chapter 4. The Processor Chapter 4 The Processor Introduction CPU performance factors Instruction count Determined by ISA and compiler CPI and Cycle time Determined by CPU hardware We will examine two MIPS implementations A simplified

More information

There are four registers involved in the fetch cycle: MAR, MBR, PC, and IR.

There 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 information

Introduction. ENG3380 Computer Organization and Architecture MIPS: Data Path Design Part 3. Topics. References. School of Engineering 1

Introduction. 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 information

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

EECS 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 information

Designing a Multicycle Processor

Designing a Multicycle Processor Designing a Multicycle Processor Arquitectura de Computadoras Arturo Díaz D PérezP Centro de Investigación n y de Estudios Avanzados del IPN adiaz@cinvestav.mx Arquitectura de Computadoras Multicycle-

More information

Initial Representation Finite State Diagram Microprogram. Sequencing Control Explicit Next State Microprogram counter

Initial 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 information

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor

COMPUTER ORGANIZATION AND DESIGN. 5 th Edition. The Hardware/Software Interface. Chapter 4. The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 4 The Processor COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition The Processor - Introduction

More information

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are:

EECS 150 Homework 7 Solutions Fall (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: Problem 1: CLD2 Problems. (a) 4.3 The functions for the 7 segment display decoder given in Section 4.3 are: C 0 = A + BD + C + BD C 1 = A + CD + CD + B C 2 = A + B + C + D C 3 = BD + CD + BCD + BC C 4

More information