computer architecture 3rd edition by moris mano ch 04.ppt

Upload: aftab-khan

Post on 14-Apr-2018

356 views

Category:

Documents


11 download

TRANSCRIPT

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    1/17

    1Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    REGISTER TRANSFER AND MICROOPERATIONS

    Register Transfer Language

    Register Transfer

    Bus and Memory Transfers

    Arithmetic Microoperations

    Logic Microoperations

    Shift Microoperations

    Arithmetic Logic Shift Unit

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    2/17

    2Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    MICROOPERATION

    An elementary operation performed duringone clock pulse, on the information storedin one or more registers

    R f(R, R)f: shift, count, clear, load, add,...

    ALU(f)

    Registers(R)

    1 clock cycle

    Register Transfer Language

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    3/17

    3Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    REGISTER TRANSFER LANGUAGE

    - Set of registers and their functions- Microoperations Set

    Set of allowable microoperations providedby the organization of the computer

    - Control signals that initiate the sequence of

    microoperations

    ----> Regis ter transfer langu age

    - A symbolic language- A convenient tool for describing the

    internal organization of digital computers

    - Can also be used to facilitate the design

    process of digital systems.

    Definition of the (internal) organization of a computer

    For any function of the computer, a sequence ofmicrooperations is used to describe it

    Register Transfer Langu age

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    4/17

    4Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    REGISTER TRANSFER

    R1Register

    Numbering of bits

    Showing individual bits

    Subfields

    PC(H) PC(L)

    15 8 7 0

    - a register

    - portion of a register

    - a bit of a register

    Common ways of drawing the block diagram of a register

    A simultaneous transfer of all bits from the

    source to the destination register, during one clock pulse

    R2 R1

    A binary condition(p=1) which determines when the transfer

    is to occur

    If (p=1) then (R2 R1)

    P: R2 R1

    7 6 5 4 3 2 1 0

    R2

    15 0

    Designation of a register

    Representation of a transfer(parallel)

    Representation of a controlled(conditional) transfer

    Register Transfer

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    5/17

    5Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    HARDWARE IMPLEMENTATION OF CONTROLLED TRANSFERS

    Basic Symbols for Register Transfers

    Implementation of controlled transfer

    P: R2 R1Block diagram

    Timing diagram

    Clock

    Capital letters Denotes a register MAR, R2

    and numerals

    Parentheses ( ) Denotes a part of a register R2(0-7), R2(L)

    Arrow Denotes transfer of information R2 R1Colon : Denotes termination of control function

    P:

    Comma , Separates two micro-operations A B, B A

    Symbols Description Meaning

    Register Transfer

    Transfer occurs here

    R2

    R1

    ControlCircuit

    LoadP

    n

    Clock

    Load

    t t+1

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    6/17

    6Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    BUS AND MEMORY TRANSFER

    Bus is a path(of a group of wires) over which information is transferred,

    from any of several sources to any of several destinations.

    From a register to bus: BUS

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    7/17

    7Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    TRANSFER FROM BUS TO A DESTINATION REGISTER

    Three-State Bus Buffers

    Bus line with three-state buffers

    Reg. R0 Reg. R1 Reg. R2 Reg. R3

    Bus lines

    2 x 4

    Decoder

    Load

    D0 D1 D2 D3z

    wSelect E (enable)

    Output Y=A if C=1High-impedence if C=0

    Normal input A

    Control input C

    Select

    Enable

    0123

    S0

    S1

    A0B0

    C0

    D0

    Bus line for bit 0

    Bus and Memo ry Transfers

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    8/17

    8Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    MEMORY TRANSFERS

    Summary of Register Transfer Microoperations

    ARMemory

    unit

    Read

    Write

    DR

    Memory readmicro-op: DR M ( DR M[AR] )Memory wri temicro-op: M DR ( M[AR] DR )

    Bus and Memo ry Transfers

    A B Transfer content of reg. B into reg. AAR DR(AD) Transfer content of AD portion of reg. DR into reg. ARA constant Transfer a binary constant into reg. AABUS R1, Transfer content of R1 into bus A and, at the same time,R2 ABUS transfer content of bus A into R2AR Address registerDR Data registerM[R] Memory word specified by reg. RM Equivalent to M[AR]

    DR M Memory readoperation: transfers content ofmemory word specified by AR into DR

    M DR Memory wri teoperation: transfers content ofDR into memory word specified by AR

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    9/17

    9Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    ARITHMETIC MICROOPERATIONS

    * Summary of Arithmetic Micro-Operations

    Four types of microoperations

    - Register transfer microoperations

    - Arithmetic microoperations

    - Logic microoperations

    - Shift microoperations

    Arithm et ic Microoperat ions

    R3 R1 + R2 Contents of R1 plus R2 transferred to R3R3 R1 - R2 Contents of R1 minus R2 transferred to R3R2 R2 Complement the contents of R2R2 R2+ 1 2's complement the contents of R2 (negate)R3 R1 + R2+ 1 subtractionR1 R1 + 1 IncrementR1 R1 - 1 Decrement

    10f &

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    10/17

    10Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    BINARY ADDER

    FA

    B0 A0

    S0

    C0FA

    B1 A1

    S1

    C1FA

    B2 A2

    S2

    C2FA

    B3 A3

    S3

    C3

    C4

    Binary Adder-Subtractor

    FA

    B0 A0

    S0

    C0C1FA

    B1 A1

    S1

    C2FA

    B2 A2

    S2

    C3FA

    B3 A3

    S3C4

    M

    Binary Incrementer

    HA

    x y

    C S

    A0 1

    S0

    HA

    x y

    C S

    A1

    S1

    HA

    x y

    C S

    A2

    S2

    HA

    x y

    C S

    A3

    S3C4

    Binary Adder

    Arithm et ic Microoperat ions

    11R i t T f & ti

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    11/17

    11Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    ARITHMETIC CIRCUIT

    S1S0

    0123

    4x1MUX

    X0

    Y0

    C0

    C1

    D0FA

    S1S00123

    4x1MUX

    X1

    Y1

    C1

    C2

    D1FA

    S1S00123

    4x1MUX

    X2

    Y2

    C2

    C3

    D2FA

    S1S00123

    4x1MUX

    X3

    Y3

    C3

    C4

    D3FA

    Cout

    A0

    B0

    A1

    B1

    A2

    B2

    A3

    B3

    0 1

    S0S1Cin

    S1 S0 Cin Y Output Microoperation0 0 0 B D = A + B Add

    0 0 1 B D = A + B + 1 Add with carry

    0 1 0 B D = A + B Subtract with borrow

    0 1 1 B D = A + B+ 1 Subtract

    1 0 0 0 D = A Transfer A

    1 0 1 0 D = A + 1 Increment A

    1 1 0 1 D = A - 1 Decrement A

    1 1 1 1 D = A Transfer A

    Arithm et ic Microoperat ions

    12R i t T f & ti

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    12/17

    12Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    LOGIC MICROOPERATIONS

    Specify binary operations on the strings of bits in registers.

    - useful for bit manipulations on binary data

    AND: Mask out certain group of bitsOR : Merge binary or character data

    - useful for making logical decisions based on the bit value

    Logic Microop erat ions

    Applications

    Manipulating individual bits or a field(portion) ofa word in a register

    - Selective-set A + B

    - Selective-complement A B- Selective-clear A B- Mask (Delete) A B- Insert (A B) + C- Compare A B- Packing (A B) + C

    - Unpacking A B

    13R i t T f & ti L i Mi t i

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    13/17

    13Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    LIST OF LOGIC MICROOPERATIONS

    List of Logic Micro-Operations

    - 16 different logic operations with 2 binary vars.

    - n binary vars -> functions2 2n

    Truth tables for 16 functions of 2 variables and the

    corresponding 16 logic micro-operations

    Boolean

    Funct ion

    Micro-

    Operat ionsName

    x 0 0 1 1

    y 0 1 0 1

    Logic Microoperat ions

    0 0 0 0 F0 = 0 F 0 Clear0 0 0 1 F1 = xy F A B AND0 0 1 0 F2 = xy' F A B0 0 1 1 F3 = x F A Transfer A0 1 0 0 F4 = x'y F A B0 1 0 1 F5 = y F B Transfer B0 1 1 0 F6 = x y F A B Exclusive-OR0 1 1 1 F7 = x + y F A B OR1 0 0 0 F8 = (x + y)' F A B) NOR1 0 0 1 F9 = (x y)' F (A B) Exclusive-NOR1 0 1 0 F10 = y' F B Complement B1 0 1 1 F11 = x + y' F A B1 1 0 0 F12 = x' F A Complement A1 1 0 1 F13 = x' + y F A B1 1 1 0 F14 = (xy)' F (A B) NAND1 1 1 1 F15 = 1 F all 1's Set to all 1's

    14Register Transfer & operations L i Mi t i

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    14/17

    14Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    HARDWARE IMPLEMENTATION OF LOGIC MICROOPERATIONS

    0 0 F = A B AND0 1 F = AB OR1 0 F = A B XOR1 1 F = A Complement

    S1 S0 Output -operationFunction table

    Logic Microop erat ions

    B

    A

    S

    S

    F

    1

    0

    i

    i

    i0

    1

    2

    3

    4 X 1MUX

    Select

    15Register Transfer & operations Shif t Mi t i

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    15/17

    15Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    SHIFT MICROOPERATIONS

    - Log ical shi f t: shift in a 0 into the extreme flip-flop

    - Circular shif t: circulates the bits of the register around the two ends- Ar i thmetic shi f t: shifts a signed number (shift with sign extension)

    Left shift -> multiplied by 2

    Right shift -> divided by 2

    Arithmetic shifts for signed binary numbers

    Shift Micro-Operations

    - Arithmetic shift-left Overflow V = Rn-1 Rn-2

    - Arithmetic shift-right

    Shif t Microoperat ions

    Symbol Descr ipt ion

    R shl R Shift-left register RR shr R Shift-right register RR cil R Circular shift-left register RR cir R Circular right-shift register RR ashl R Arithmetic shift-left register RR ashr R Arithmetic shift-right register R

    Shifts

    Rn-1 Rn-2 R1 R0

    Signbit

    16Register Transfer & operations Shif t Microoperat ions

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    16/17

    16Register Transfer &-operat ions

    Comp uter Organizat ion Compu ter Arch itectures Lab

    HARDWARE IMPLEMENTATION OF SHIFT MICROOPERATIONS

    Shif t Microoperat ions

    S

    01

    H0MUX

    S01

    H1MUX

    S

    01

    H2MUX

    S

    01

    H3MUX

    Select0 for shift right (down)

    1 for shift left (up)Serialinput (IR)

    A0

    A1

    A2

    A3

    Serialinput (IL)

    17Register Transfer & operations Shif t Microoperat ions

  • 7/27/2019 Computer Architecture 3rd Edition by Moris Mano Ch 04.ppt

    17/17

    17Register Transfer &-operat ions

    C t O i t i Compu ter Arch itectures Lab

    ARITHMETIC LOGIC SHIFT UNIT

    S3 S2 S1 S0 Cin Operation Function0 0 0 0 0 F = A Transfer A0 0 0 0 1 F = A + 1 Increment A0 0 0 1 0 F = A + B Addition0 0 0 1 1 F = A + B + 1 Add with carry0 0 1 0 0 F = A + B Subtract with borrow0 0 1 0 1 F = A + B+ 1 Subtraction0 0 1 1 0 F = A - 1 Decrement A0 0 1 1 1 F = A TransferA0 1 0 0 X F = A B AND0 1 0 1 X F = A B OR0 1 1 0 X F = A B XOR0 1 1 1 X F = A Complement A1 0 X X X F = shr A Shift right A into F

    1 1 X X X F = shl A Shift left A into F

    Shif t Microoperat ions

    ArithmeticCircuit

    Logic

    Circuit

    C

    C 4 x 1MUX

    Select

    0123

    F

    S3S2S1S0

    BA

    i

    A

    D

    A

    E

    shr

    shl

    i+1 i

    ii

    i+1i-1

    i

    i