Chap 8. Sequencing and Control. 8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers,

Slides:



Advertisements
Similar presentations
Register Transfer Level
Advertisements

1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Chapter 7: Microprogrammed Control
Give qualifications of instructors: DAP
EKT 221 : Digital 2 ASM.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Overview Datapath and Control Algorithmic State Machines (ASM)
Chapter 8 Sequencing and Control Henry Hexmoor1. 2 Datapath versus Control unit  Datapath - performs data transfer and processing operations  Control.
Charles Kime © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part 3 – Control of.
The Control Unit: Sequencing the Processor Control Unit: –provides control signals that activate the various microoperations in the datapath the select.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
Chapter 7. Register Transfer and Computer Operations
Ch 8 - Control Unit and Algorithmic State Machines
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
Logic and Computer Design Fundamentals Registers and Counters
Sequencing and Control Mano and Kime Sections 8-1 – 8-7.
CPEN Digital System Design Chapter 9 – Computer Design
Chapter 7 - Part 2 1 CPEN Digital System Design Chapter 7 – Registers and Register Transfers Part 2 – Counters, Register Cells, Buses, & Serial Operations.
FINITE STATE MACHINES (FSMs) Dr. Konstantinos Tatas.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Logic and Computer Design Dr. Sanjay P. Ahuja, Ph.D. FIS Distinguished Professor of CIS ( ) School of Computing, UNF.
Algorithmic State Machines
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 20 Datapath and Control Datapath - performs data transfer and processing operations.
1 COMP541 Sequencing and Control -- II Montek Singh April 5, 2007.
Chapter 6 Memory and Programmable Logic Devices
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
ENG241 Digital Design Week #10 Sequencing and Control.
CoE3DJ4 Digital Systems Design Register transfers, sequencing and control (from chapters 7 and 8 of Mano and Kime)
1 Registers and Counters A register consists of a group of flip-flops and gates that affect their transition. An n-bit register consists of n-bit flip-flops.
Lecture 16 Today’s topics: –MARIE Instruction Decoding and Control –Hardwired control –Micro-programmed control 1.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 21 Multiplier Example Example: (101 x 011) Base 2 Note that the partial product summation.
Multiple-bus organization
EKT221 ELECTRONICS DIGITAL II CHAPTER 4: Computer Design Basics
Chap 7. Register Transfers and Datapaths. 7.1 Datapaths and Operations Two types of modules of digital systems –Datapath perform data-processing operations.
Chapter 4 Computer Design Basics. Chapter Overview Part 1 – Datapaths  Introduction  Datapath Example  Arithmetic Logic Unit (ALU)  Shifter  Datapath.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Microprogrammed Control Unit Control Memory Sequencing Microinstructions Microprogram Example Design of Control Unit Microinstruction Format.
Instructor: Yuzhuang Hu Midterm The midterm is schedule on June 17 th, 17:30-19:30 pm. It covers the following:  VHDL Programming. 
Register Transfer Level & Design with ASM
Multiple-Cycle Hardwired Control Digital Logic Design Instructor: Kasım Sinan YILDIRIM.
1 7-7 Register-Cell Design A single-bit cell of an iterative combinational circuit connected to a flip-flop that provides the output forms a two-state.
Lecture 11 ALU and Control Unit Design Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU.
EKT 221/4 DIGITAL ELECTRONICS II Chapter 2 SEQUENCING AND CONTROL.
EKT 221 : Chapter 4 Computer Design Basics
Algorithmic state machines
Datapath - performs data transfer and processing operations The control unit sends: – Control signals – Control outputs The control unit receives: – External.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ASM Charts. Outline  ASM Charts Components of ASM Charts ASM Charts: An Example  Register Operations  Timing in ASM Charts  ASM Charts => Digital.
Chapter 1_0 Registers & Register Transfer. Chapter 1- Registers & Register Transfer  Chapter 7 in textbook.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 23 Introduction Computer Specification –Instruction Set Architecture (ISA) - the specification.
REGISTER TRANSFER & MICROOPERATIONS By Sohaib. Digital System Overview  Each module is built from digital components  Registers  Decoders  Arithmetic.
Processor Organization and Architecture Module III.
Design at the Register Transfer Level Algorithmic State Machines 07.
 Designing CU – One FF per State Method  5 Transformation Rules  Transformation Process  Microprogrammed Control Unit.
Controller Implementation
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use ECE/CS 352: Digital Systems.
Winter 2017 S. Areibi School of Engineering University of Guelph
EKT 221 : DIGITAL 2.
Chap 7. Register Transfers and Datapaths
KU College of Engineering Elec 204: Digital Systems Design
Overview Datapath and Control Algorithmic State Machines (ASM)
ENG2410 Digital Design “Sequencing and Control Examples”
Lecture 26 – Hardwired and Microprogrammed Control
REGISTER TRANSFER LEVEL (RTL) DESIGN Using ASM CHART
Overview Part 1 - Registers, Microoperations and Implementations
KU College of Engineering Elec 204: Digital Systems Design
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.
UNIT – III Microprogrammed Control
Presentation transcript:

Chap 8. Sequencing and Control

8.1 Introduction Binary information in a digital computer –data manipulated in a datapath with ALUs, registers, multiplexers, and buses –control provide signals that activate the various microoperations & determine the sequence in which the various actions are performs Synchronous digital system –Achieve synchronism by a master clock generator –Control unit Generates binary variables that control the selection inputs of multiplexers, buses, ALUs, & load control inputs of registers

8.1 Introduction Control unit –a sequential circuit with state that dictate the control signals for the system using status conditions and control inputs, the sequential control unit determines the next state, in which additional microoperations are activated –2 distinct types of control units For programmable system For nonprogrammable system

8.1 Introduction Programmable system –Input: a sequence of instructions Instructions specify the operations the system is to perform –instructions are stored in memory (RAM or ROM) –program counter (PC) provide the address in memory of the instructions to be executed –executing an instruction activating the necessary sequence of microoperations in the datapath that are required to perform the operation specified by the instruction Non-programmable system –not responsible for obtaining instructions, nor for sequencing the execution of those instructions –determines the operation to be performed & the sequence of those operations, based on only its inputs and the status bits

8.2 Algorithmic State Machines Data processing tasks –register transfer operations controlled by a sequencing mechanism –can be specified as a hardware algorithm that consists of a finite number of procedural steps which perform the data processing task Flowchart –a convenient way to specify a sequence of procedural steps & decision paths for an hardware algorithm ASM (Algorithmic State Machine) –describes a sequence of events, as well as the timing relationship between the states & actions –Cf) S/W program – S/W algorithm - Flowchart

8.2 Algorithmic State Machines ASM Chart Elements –state box : register transfer operations or output signals –decision box : describes the effect of inputs on the control –conditional output box : from decision box RUN

8.2 Algorithmic State Machines ASM chart –State diagram for the sequential circuit part of the control unit An ASM block –One state block –All of the decision and conditional output boxes connected between the state box exit and entry paths to the same or other state boxes.

8.2 Algorithmic State Machines ASM Timing Consideration 0 1 Register transfers and state changes both wait until the next positive clock edge.

8.3 Decision Example: Binary Multiplier multiplies 2 unsigned binary numbers Binary Multiplier a copy of the multiplicand is added to a partial product & the partial product is stored in a register for the shift action the partial product is shifted to the right (adder is needed for only n bit positions instead of 2n bit)

8.3 Decision Example: Binary Multiplier Hardware Multiplication Example Partial product ; stored in a register in preparation for the shift action to follow n-bits Partial product Copy of multiplicand +

8.3 Decision Example: Binary Multiplier Block Diagram for Binary Multiplier 4

8.3 Decision Example: Binary Multiplier –multiplicand is loaded into register B from IN –multiplier is loaded into register Q from IN –partial product is formed in reg A, & stored in reg A & Q –C F/F stored the carry C out & shifted into the MSB of A, –LSB of A is shifted into the MSB of Q, & LSB of Q is discarded –Q 0 holds the bit of the multiplier that must be considered next –counter P count the number of add-shift or shift actions initially set to n-1 & counted down

8.3 Decision Example: Binary Multiplier ASM Chart for Multiplier –[IDLE]: multiplication process starts when G becomes 1 (ASM moves from state IDLE to state MUL0) –[MUL0]: a decision is made based on Q0 –[MUL1]: a right shift is performed on C, A, & Q C  0, C  A  Q  sr C  A  Q

8.4 Hardwired Control 2 distinct aspects to deal with –control of the microoperations part of the control that generates the control signals Table 8-1 –sequencing of the control unit & microoperations part of the control that determines what happens next Table 8-2

8.4 Hardwired Control Control signals for binary multiplier –based on the ASM chart

8.4 Hardwired Control Sequencing Part of ASM Chart –information on sequencing is represented with information on microoperations removed –conditional output boxes are removed –decision box not affecting the next state is removed –design the sequencing part of the control unit with the ASM chart i.e. the part that represents the next- state behavior

8.4 Hardwired Control Sequence Register and Decoder –provide an output signal corresponding to each of the states –A register with n F/Fs can have up to 2 n states & n-to-2 n decoder has up to 2 n outputs, one for each of the states –consist of 3 states and 2 inputs  2 F/Fs and 2-to-4-line decoder

8.4 Hardwired Control state table for the sequencing part –designate 2 F/Fs as M1 & M0 –state 00 (IDLE), 01 (MUL0), 10 (MUL1) input equations for F/Fs –D M0 = IDLE G + MUL1 Z‘ –D M1 = MUL0

8.4 Hardwired Control One Flip-Flip per state –another possible method of control logic design –A F/F is assigned to each of the state, only one of F/F contains a 1, with others 0

8.4 Hardwired Control –Control unit with one flip-flop per state N f/fs are required. Simplicity  a little design effort

8.7 Microprogrammed Control –Micro-programmed control a control unit with its binary values stored as words in memory –Micro-instructions one or more microinstructions –Micro-program fixed at the time of the system design & stored in ROM

8.7 Microprogrammed Control –ROM Contents of a word in ROM specify the microoperations to be performed for both the datapath & the control unit –CAR (control address register) specifies address of microinstruction “Sequential” circuit: Moore type –CDR (control data register) holds the microinstructions currently being executed by the datapath and the control unit for pipelining –CDR holds the present microinstruction while the next address is being computed & the next microinstruction is being read from memory –Next-address generator produce the next address, depending on inputs (status bits) –Sequencer next-address generator combined with CAR

8.7 Microprogrammed Control CAR: Moore-type sequential circuit - not allow conditional output box

8.7 Microprogrammed Control –status bits enter the next-address generator & affect the determination of the next state –4 control signals are needed for the datapath Initialize, Load, Clear_C, & Shift_dec –4 control signals can be used as given or can be encoded to reduce the number of bits in microinstruction – 예를 들어, INIT 상태에서 발생되는 control 신호는 ?

8.7 Microprogrammed Control –a microprogram for the binary multiplier in register transfer notation microinstruction corresponds to each of the state in ASM chart

8.7 Microprogrammed Control –3 control signal combinations are used (Initialize, Clear_C) in state INIT  0101 (Load) in state ADD  0010 (Clear_C, Shift_dec) in state MUL1  1100 IDLE, MUL0  no control signal  0000 –format of the microinstruction control word DATAPATH : 4-bit code NXTADD0, NXTADD1 : define the next addresses based on decision SEL : select whether to make a decision if so, to select which one of the three decision variables G, Q 0, Z

8.7 Microprogrammed Control - For sequencing the control unit

8.7 Microprogrammed Control Design a control unit –length of ROM control words : 12 bits –ROM contains 5 words since there are only 5 status –CAR: 3-bit parallel load register Note) - ROM 의 크기 - CAR 의 크기 - NAR 의 구조

8.7 Microprogrammed Control Register transfer micro-program –symbolic microprogram Binary representation

Design of Control Units Hardwired control –For non-programmable system Micro-programmed control –For programmable system