Professional Documents
Culture Documents
Microoperations
Agenda
• Register Transfer
• Register Transfer Language
• Bus and Memory Transfers
• Arithmetic Microoperations
• Logic Microoperations
• Shift Microoperations
Register transfer
Definition: Information transfer from one register to another is
described by a replacement operator is known as Register
transfer.
R2 ← R1
• This statement denotes a transfer of the content of register R1
into register R2.
• The transfer happens in one clock cycle.
• The content of the R1 (source) does not change.
• The content of the R2 (destination) will be lost and replaced by
the new data transferred from R1.
• We are assuming that the circuits are available from the
outputs of the source register to the inputs of the destination
register, and that the destination register has a parallel load
capability.
Continued…
• Computer registers are designated by capital
letters (sometimes followed by numerals) to
denote the function of the register.
• For example:
• R1: processor register
• MAR: Memory Address Register (holds an address for a
memory unit)
• PC: Program Counter
• IR: Instruction Register
• SR: Status Register
Register Transfer (continued)
• The individual flip-flops in an n-bit register are
numbered in sequence from 0 to n-1 (from the
right position toward the left position)
R1 7 6 5 4 3 2 1 0
15 0
PC
Numbering of bits
15 87 0
Upper byte PC(H) PC(L) Lower byte
R1
t t+1
Bus lines
D3 D 2 D 1 D 0 C3 C2 C1 C0 B3 B2 B1 B0 A3 A2 A1 A0
D3 C3 B3 A3 D2 C2 B2 A2 D1 C1 B1 A1 D0 C0 B0 A0
3 2 1 0 3 2 1 0 3 2 1 0
3 2 1 0 S0
S0 S0 S0
MUX3 MUX2 MUX1 MUX0 S1
S1 S1 S1
Three-State Buffer
Three-State Bus Buffers
C=1
Buffer
A B A B
C=0
Open Circuit
A B A B
Three-State Bus Buffers
• Two of these states are signals equivalent to logic 1 and 0.
• The third state is a high – impedance state: this behaves
like an open circuit, which means the output is
disconnected and dose not have a logic significance.
• The three – state buffer gate has a normal input and
control input which determines the output state.
• With control 1, the output equals the normal output.
• With control 0, the gate goes to a high – impedance state.
• This enables a large number of three – state gate outputs
to be connected with wires to form common bus line
without endangering loading effects.
Three-State Bus Buffers
S1 0
Select
S0 1
Bus line for bit 0
2×4 A0
Decoder 2
Enable E
3
B0
C0
R3 ←R1+R2+1
Arithmetic Micro-operations
• One’s Complement Micro-operation:
R2 ←R2
• Two’s Complement Micro-operation:
R2 ←R2+1
• Increment Micro-operation:
R2 ←R2+1
• Decrement Micro-operation:
R2 ←R2-1
C4 C3 C2 C1 C0
FA FA FA FA
S3 S2 S1 S0
A 1 0 1 0
B 1 1 0 0
A OR B 1 1 1 0
Table : Represents the AND operation on R1 and R2
Bit 3 Bit 2 Bit 1 Bit 0
A 1 0 1 0
B 1 1 0 0
A AND B 1 0 0 0
Logic Micro-operations
The four basic micro-operations
AND Micro-operation
• Symbol:
• Gate:
• Gate:
• Gate:
• Symbols: and
• Gate:
• Symbols: and
• Gate:
1 0 E=AB AND
1 Ei
1 1 E=A Complem
ent
60
Shift Micro-operations
• Shift Micro Operations in computer architecture are
those which are used in serial shifting of data present
in a register.
• We can also say that Shift micro Operations move or
shift data in a register that is, one bit at a time either
left or right from its original position.
• Also used in conjunction with arithmetic, logic, and
other data-processing operations
• The contents of the register can be shifted to the left or
to the right.
• As being shifted, the first flip-flop receives its binary
information from the serial input
• Let us take two values, 0 and 8 in two different
registers A and B. We perform addition on both
the registers before shift operation and after
doing shift operation.
• As we know that 0 has its binary value ‘0000’ and
8 as ‘1000’, and in registers binary values are
stored. So if we add these two values, we get.
0000 (0 in register A)
+1000 (8 in register B)
1000 (New value is 8 after addition
without performing shift operation)
• But, when we perform shift left operation that is,
shifting one bit towards left on 8, 1000 changes
to 0000 as follows