Professional Documents
Culture Documents
CH 4
CH 4
• Register Transfer
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
Computer Organization
Register Transfer & -operations 2
• Typically,
– What operations are performed on the data in the registers
– What information is passed between registers
Computer Organization
Register Transfer & -operations 3 Register Transfer Language
MICROOPERATIONS (1)
Computer Organization
Register Transfer & -operations 4 Register Transfer Language
MICROOPERATION (2)
R f(R, R)
- Microoperations set
Computer Organization
Register Transfer & -operations 6 Register Transfer Language
Computer Organization
Register Transfer & -operations 7 Register Transfer Language
Computer Organization
Register Transfer & -operations 8 Register Transfer Language
DESIGNATION OF REGISTERS
MAR
– Registers may also be represented showing the bits of data they contain
Computer Organization
Register Transfer & -operations 9 Register Transfer Language
DESIGNATION OF REGISTERS
• Designation of a register
- a register
- portion of a register
- a bit of a register
15 0 15 8 7 0
R2 PC(H) PC(L)
Numbering of bits Subfields
Computer Organization
Register Transfer & -operations 10 Register Transfer
REGISTER TRANSFER
R2 R1
Computer Organization
Register Transfer & -operations 11 Register Transfer
REGISTER TRANSFER
R3 R5
– the data lines from the source register (R5) to the destination
register (R3)
– Parallel load in the destination register (R3)
– Control lines to perform the action
Computer Organization
Register Transfer & -operations 12 Register Transfer
CONTROL FUNCTIONS
• Often actions need to only occur if a certain condition is true
• This is similar to an “if” statement in a programming language
• In digital systems, this is often done via a control signal, called
a control function
– If the signal is 1, the action takes place
• This is represented as:
P: R2 R1
Computer Organization
Register Transfer & -operations 13 Register Transfer
Load
Transfer occurs here
• The same clock controls the circuits that generate the control function
and the destination register
• Registers are assumed to use positive-edge-triggered flip-flops
Computer Organization
Register Transfer & -operations 14 Register Transfer
SIMULTANEOUS OPERATIONS
P: R3 R5, MAR IR
Computer Organization
Register Transfer & -operations 15 Register Transfer
Computer Organization
Register Transfer & -operations 16 Register Transfer
CONNECTING REGISTRS
Computer Organization
Register Transfer & -operations 17 Bus and Memory Transfers
Bus lines
B1 C1 D 1 B2 C2 D 2 B3 C3 D 3 B4 C4 D 4
0 0 0 0
4 x1 4 x1 4 x1 4 x1
MUX MUX MUX MUX
x
select
y
4-line bus
Computer Organization
Register Transfer & -operations 18 Bus and Memory Transfers
Load
Reg. R0 Reg. R1 Reg. R2 Reg. R3
D 0 D1 D2 D 3
z E (enable)
Select 2x4
w
Decoder
S0 0
Select 1
S1 2
Enable 3
Computer Organization
Register Transfer & -operations 19 Bus and Memory Transfers
Computer Organization
Register Transfer & -operations 20 Bus and Memory Transfers
MEMORY (RAM)
• Memory (RAM) can be thought as a sequential circuit
containing some number of registers
• These registers hold the words of memory
• Each of the r registers is indicated by an address
• These addresses range from 0 to r-1
• Each register (word) can hold n bits of data
• Assume the RAM contains r = 2k words. It needs the
following
– n data input lines data input lines
– n data output lines
n
– k address lines
– A Read control line address lines
– A Write control line k
RAM
Read
unit
Write
n
data output lines
Computer Organization
Register Transfer & -operations 21 Bus and Memory Transfers
MEMORY TRANSFER
• Collectively, the memory is viewed at the register level as a
device, M.
• Since it contains multiple locations, we must specify
which address in memory we will be using
• This is done by indexing memory references
M
Memory Read
AR
unit Write
Computer Organization
Register Transfer & -operations 22 Bus and Memory Transfers
MEMORY READ
Computer Organization
Register Transfer & -operations 23 Bus and Memory Transfers
MEMORY WRITE
M[MAR] R1
Computer Organization
Register Transfer & -operations 24 Bus and Memory Transfers
Computer Organization
Register Transfer & -operations 25 Arithmetic Microoperations
MICROOPERATIONS
Computer Organization
Register Transfer & -operations 26 Arithmetic Microoperations
ARITHMETIC MICROOPERATIONS
• The basic arithmetic microoperations are
– Addition
– Subtraction
– Increment
– Decrement
Computer Organization
Register Transfer & -operations 27 Arithmetic Microoperations
C4 S3 S2 S1 S0
Binary Adder-Subtractor
B3 A3 B2 A2 B1 A1 B0 A0
FA C3 FA C2 FA C1 FA C0
C4 S3 S2 S1 S0
Binary Incrementer A3 A2 A1 A0 1
x y x y x y x y
HA HA HA HA
C S C S C S C S
C4 S3 S2 S1 S0
Computer Organization
Register Transfer & -operations 28 Arithmetic Microoperations
ARITHMETIC CIRCUIT
Cin
S1
S0
A0 X0 C0
S1 D0
S0 FA
B0 0 4x1 Y0 C1
1 MUX
2
3
A1 X1 C1
S1 FA D1
S0
B1 0 4x1 Y1 C2
1 MUX
2
3
A2 X2 C2
S1 FA D2
S0
B2 0 4x1 Y2 C3
1 MUX
2
3
A3 X3 C3
S1 D3
S0 FA
B3 0 4x1 Y3 C4
1 MUX
2
3 Cout
0 1
LOGIC MICROOPERATIONS
• Specify binary operations on the strings of bits in registers
– Logic microoperations are bit-wise operations, i.e., they work on the
individual bits of data
– useful for bit manipulations on binary data
– useful for making logical decisions based on the bit value
• There are, in principle, 16 different logic functions that can
be defined over two binary input variables
A B F0 F1 F2 … F13 F14 F15
0 0 0 0 0 … 1 1 1
0 1 0 0 0 … 1 1 1
1 0 0 0 1 … 0 1 1
1 1 0 1 0 … 1 0 1
Computer Organization
Register Transfer & -operations 30 Logic Microoperations
Computer Organization
Register Transfer & -operations 31 Logic Microoperations
Ai
0
Bi
1
4X1 Fi
MUX
2
3 Select
S1
S0
Function table
S1 S0 Output -operation
0 0 F=AB AND
0 1 F = AB OR
1 0 F=AB XOR
1 1 F = A’ Complement
Computer Organization
Register Transfer & -operations 32 Logic Microoperations
– Selective-set AA+B
– Selective-complement AAB
– Selective-clear A A • B’
– Mask (Delete) AA•B
– Clear AAB
– Insert A (A • B) + C
– Compare AAB
– ...
Computer Organization
Register Transfer & -operations 33 Logic Microoperations
SELECTIVE SET
1100 At
1010 B
1110 At+1 (A A + B)
Computer Organization
Register Transfer & -operations 34 Logic Microoperations
SELECTIVE COMPLEMENT
1100 At
1010 B
0110 At+1 (A A B)
Computer Organization
Register Transfer & -operations 35 Logic Microoperations
SELECTIVE CLEAR
1100 At
1010 B
0100 At+1 (A A B’)
Computer Organization
Register Transfer & -operations 36 Logic Microoperations
MASK OPERATION
1100 At
1010 B
1000 At+1 (A A B)
Computer Organization
Register Transfer & -operations 37 Logic Microoperations
CLEAR OPERATION
1100 At
1010 B
0110 At+1 (A A B)
Computer Organization
Register Transfer & -operations 38 Logic Microoperations
INSERT OPERATION
• An insert operation is used to introduce a specific bit pattern
into A register, leaving the other bit positions unchanged
• This is done as
– A mask operation to clear the desired bit positions, followed by
– An OR operation to introduce the new bits into the desired
positions
– Example
» Suppose you wanted to introduce 1010 into the low order
four bits of A: 1101 1000 1011 0001 A (Original)
1101 1000 1011 1010 A (Desired)
Computer Organization
Register Transfer & -operations 39 Shift Microoperations
SHIFT MICROOPERATIONS
• There are three types of shifts
– Logical shift
– Circular shift
– Arithmetic shift
• What differentiates them is the information that goes into
the serial input
Computer Organization
Register Transfer & -operations 40 Shift Microoperations
LOGICAL SHIFT
• In a logical shift the serial input to the shift is a 0.
Computer Organization
Register Transfer & -operations 41 Shift Microoperations
CIRCULAR SHIFT
• In a circular shift the serial input is the bit that is shifted out of
the other end of the register.
Computer Organization
Register Transfer & -operations 42 Shift Microoperations
ARITHMETIC SHIFT
• An arithmetic shift is meant for signed binary numbers
(integer)
• An arithmetic left shift multiplies a signed number by two
• An arithmetic right shift divides a signed number by two
• The main distinction of an arithmetic shift is that it must keep
the sign of the number the same as it performs the
multiplication or division
Computer Organization
Register Transfer & -operations 43 Shift Microoperations
ARITHMETIC SHIFT
• An left arithmetic shift operation must be checked for the
overflow
0
sign
bit
Computer Organization
Register Transfer & -operations 44 Shift Microoperations
S
MUX H0
0
1
A0
A1 S
MUX H1
0
A2 1
A3
S
MUX H2
0
1
S
MUX H3
0
1
Serial
input (IL)
Computer Organization
Register Transfer & -operations 45 Shift Microoperations
Arithmetic D i
Circuit
Select
Ci+1
0 4x1 Fi
1 MUX
2
3
Ei
Logic
Bi Circuit
Ai
Ai-1 shr
Ai+1 shl
Computer Organization