Date post: | 14-Jul-2015 |
Category: |
Documents |
Upload: | vidhya-priya |
View: | 109 times |
Download: | 0 times |
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 1/47
Chapter 7. BasicProcessing Unit
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 2/47
Over view
Instruction Set Processor (ISP)
Central Processing Unit (CPU)
A typical computing task consists of a seriesof steps specified by a sequence of machine
instructions that constitute a program.
An instruction is executed by carrying out asequence of more rudimentary operations.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 3/47
Some FundamentalConcepts
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 4/47
Fundamental Concepts
Processor fetches one instruction at a time and
perform the operation specified.
Instructions are fetched from successive memory
locations until a branch or a jump instruction is
encountered.
Processor keeps track of the address of the memory
location containing the next instruction to be fetched
using Program Counter (PC).
Instruction Register (IR)
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 5/47
Executing an Instruction
Fetch the contents of the memory location pointed
to by the PC. The contents of this location are
loaded into the IR (fetch phase).
IR [[PC]]
Assuming that the memory is byte addressable,
increment the contents of the PC by 4 (fetch phase).
PC [PC] + 4
Carry out the actions specified by the instruction in
the IR (execution phase).
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 6/47
Processor Organization
linesData
Addresslines
busMemory
Carry-in
ALU
PC
MAR
MDR
Y
Z
Add
XOR
Sub
bus
IR
TEMP
R0
control ALU
lines
Control signals
R n 1-
Instruction
decoder and
Internal processor
control logic
A B
Figure 7.1. Single-bus organization of the datapath inside a processor.
MUXSelect
Constant 4
Datapath
Textbook Page 413
MDR HASTWO INPUTS AND TWOOUTPUTS
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 7/47
Executing an Instruction
Transfer a word of data from one processor register to another or to the ALU.
Perform an arithmetic or a logic operationand store the result in a processor register.
Fetch the contents of a given memorylocation and load them into a processor
register. Store a word of data from a processor
register into a given memory location.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 8/47
Register Transfers
B A
Z
ALU
Yin
Y
Zin
Zout
Ri in
Ri
Ri out
busInternal processor
Constant 4
MUX
Figure 7.2. Input and output gating for the registers in Figure 7.1.
Select
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 9/47
Register Transfers
All operations and data transfers are controlled by the processor clock.
Figure 7.3. Input and output gating for one register bit.
D Q
Q
Clock
1
0
Ri out
Ri in
Bus
Figure 7.3. Input and output gating for one register bit.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 10/47
Performing an Arithmetic or
Logic Operation
The ALU is a combinational circuit that has no
internal storage.
ALU gets the two operands from MUX and bus.
The result is temporarily stored in register Z.
What is the sequence of operations to add the
contents of register R1 to those of R2 and store the
result in R3?
1. R1out, Yin
2. R2out, SelectY, Add, Zin
3. Zout, R3in
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 11/47
Fetching a Word from Memory
Address into MAR; issue Read operation; data into MDR.
MDR
Memory-bus
Figure 7.4. Connection and control signals for register MDR.
data linesInternal processor
busMDRout
MDRoutE
MDRin
MDRinE
Figure 7.4. Connection and control signals for register MDR.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 12/47
Fetching a Word from Memory
The response time of each memory access varies(cache miss, memory-mapped I/O,«).
To accommodate this, the processor waits until itreceives an indication that the requested operationhas been completed (Memory-Function-Completed,MFC).
Move (R1), R2 MAR [R1]
Start a Read operation on the memory bus
Wait for the MFC response from the memory
Load MDR from the memory bus
R2 [MDR]
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 13/47
Timing
Figure 7.5. Timing of a memory Read operation.
1 2
Clock
Address
MR
Data
MFC
Read
MDRinE
MDRout
Step 3
MARin
Assume MAR
is always available
on the address lines
of the memory bus.
R2 [MDR]
MAR [R1]
Start a Read operation on the memory bus
Wait for the MFC response from the memory
Load MDR from the memory bus
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 14/47
Execution of a Complete
Instruction
Add (R3), R1
Fetch the instruction
Fetch the first operand (the contents of thememory location pointed to by R3)
Perform the addition
Load the result into R1
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 15/47
Architecture
B A
Z
ALU
Yin
Y
Zin
Zout
Ri in
Ri
Ri out
busInternal processor
Constant 4
MUX
Figure 7.2. Input and output gating for the registers in Figure 7.1.
Select
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 16/47
Execution of a Complete
Instruction
Step Action
1 PCout , MAR in , Read, Select4,Add, Zin
2 Zout , PCin , Yin , WMF C
3 MDRout , IR in
4 R3out , MAR in , Read
5 R1out , Yin , WMF C
6 MDR out , SelectY, Add, Zin
7 Zout , R1in , End
Figure 7.6. Control sequencefor execution of the instruction Add (R3),R1.
linesData
Addresslines
busMemory
Carry-in
ALU
PC
MAR
MDR
Y
Z
Add
XOR
Sub
bus
IR
TEMP
R0
control ALU
lines
Control signals
R n 1-
Instruction
decoder and
Internal processor
control logic
A B
Figure 7.1. Single-bus organization of the datapath inside a processor.
MUXSelect
Constant 4
Add (R3), R1
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 17/47
Execution of Branch
Instructions
A branch instruction replaces the contents of
PC with the branch target address, which is
usually obtained by adding an offset X givenin the branch instruction.
The offset X is usually the difference between
the branch target address and the address
immediately following the branch instruction. Conditional branch
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 18/47
Execution of Branch
Instructions
Step Action
1 PCout , MAR in , Read, Select4,Add, Z in
2 Zout, PCin , Yin, WMF C
3 MDRout , IR in
4 Offset-field-of-IRout, Add, Z in
5 Zout, PCin , End
Figure 7.7. Control sequence for an unconditional branch instruction.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 19/47
Multiple-Bus Organization
Memory busdata lines
Figure 7.8. Three-bus or ganization of the datapath.
Bus A Bus B Bus C
Instructiondecoder
PC
Register
file
Constant 4
ALU
MDR
A
B
R
M U X
Incrementer
Addresslines
MAR
IR
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 20/47
Multiple-Bus Organization
Add R4, R5, R6
Step Action
1 PCout, R=B, MAR in , Read, IncPC
2 WMFC
3 MDRoutB, R=B, IR in
4 R4outA
, R5outB
, SelectA, Add, R6in
, End
Figure 7.9. Control sequence for the instruction. Add R4,R5,R6,
for the three-bus organization in Figure 7.8.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 21/47
Quiz
What is the controlsequence for execution of the
instruction Add R1, R2
including the
instruction fetchphase? (Assumesingle busarchitecture)
linesData
Addresslines
busMemory
Carry-in
ALU
PC
MAR
MDR
Y
Z
Add
XOR
Sub
bus
IR
TEMP
R0
control ALU
lines
Control signals
R n 1-
Instruction
decoder and
Internal processor
control logic
A B
Figure 7.1. Single-bus organization of the datapath inside a processor.
MUXSelect
Constant 4
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 22/47
Hardwired Control
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 23/47
Over view
To execute instructions, the processor must
have some means of generating the control
signals needed in the proper sequence.
Two categories: hardwired control and
microprogrammed control
Hardwired system can operate at high speed;
but with little flexibility.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 24/47
Control Unit Organization
Figure 7.10. Control unit organization.
CLKClock
Control step
IRencoder
Decoder/
Control signals
codes
counter
inputs
Condition
External
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 25/47
Detailed Block Description
Externalinputs
Figure 7.11. Separation of the decoding and encoding functions.
Encoder
ResetCLKClock
Control signals
counter
Run End
Conditioncodes
decoder
Instruction
Step decoder
Control step
IR
T1 T2
Tn
INS1
INS2
INSm
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 26/47
Generating Zin
Zin = T1 + T6 ADD + T4 BR + «
Figure 7.12. Generation of the Zi n control signal for the processor in Figure 7.1.
T1
AddBranch
T4 T6
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 27/47
Generating End
End = T7 ADD + T5 BR + (T5 N + T4 N) BRN +«
Figure 7.13. Generation of the End control signal.
T7
Add BranchBranch<0
T5
End
NN
T4T5
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 28/47
A Complete Processor
Instructionunit
Integer
unit
Floating-point
unit
Instructioncache
Datacache
Bus interface
Mainmemory
Input/Output
System bus
Processor
Figure 7.14. Block diagram of a complete processor .
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 29/47
MicroprogrammedControl
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 30/47
Over view
Control signals are generated by a program similar to machinelanguage programs.
Control Word (CW); microroutine; microinstruction
P C i n
P C o u
t
M A R
i n
R e a d
M D R
o u t
I R i n
Y i n
S e l e
c t
A d d
Z i n
Z o u t
R 1 o u
t
R 1 i n
R 3 o u
t
W M F C
E n d
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
0
Micro -instruction
1
2
3
4
5
6
7
Figure 7.
15 An example of microinstructions for
Figure 7.6.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 31/47
Over view
Step Action
1 PCout , MAR in , Read, Select4,Add, Zin
2 Zout , PCin , Yin , WMF C
3 MDRout , IR in
4 R3out , MAR in , Read
5 R1out , Yin , WMF C
6 MDR out , SelectY, Add, Zin
7 Zout , R1in , End
Figure 7.6. Control sequencefor execution of the instruction Add (R3),R1.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 32/47
Over view
Control store
Figure 7.
16. Basic organization of a microprogrammed control unit.
storeControl
generator
Startingaddress
CW
Clock QPC
IROne function
cannot be carried
out by this simpleorganization.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 33/47
Over view
The previous organization cannot handle the situation when the controlunit is required to check the status of the condition codes or externalinputs to choose between alternative courses of action.
Use conditional branch microinstruction.
AddressMicroinstruction
0 PCout , MAR in , Read,Select4,Add, Zin
1 Zout , PCin , Yin , WMFC
2 MDRout , IRin
3 Branchto startingaddressof appropriatemicroroutine
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25 If N=0, then branch to microinstruction0
26 Offset-field-of-IRout , SelectY, Add, Zin
27 Zout , PCin , End
Figure 7.17. Microroutine for the instruction Branch<0.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 34/47
Over view
Figure 7.18. Organization of the control unit to allow
conditional branching in the microprogram.
Controlstore
Clock
generator
Starting andbranch address Condition
codes
inputs
External
CW
IR
QPC
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 35/47
Microinstructions
A straightforward way to structuremicroinstructions is to assign one bit positionto each control signal.
However, this is very inefficient.
The length can be reduced: most signals arenot needed simultaneously, and many signalsare mutually exclusive.
All mutually exclusive signals are placed inthe same group in binary coding.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 36/47
Partial Format for the
Microinstructions
F2 (3 bits)
000: No transfer
001: PCin
010: IRin
011: Zin
100: R0in101: R1
in
110: R2in
111: R3in
F1 F2 F3 F4 F5
F1 (4 bits) F3 (3 bits) F4 (4 bits) F5 (2 bits)
0000: No transfer
0001: PCout
0010: MDRout
0011: Zout
0100: R0out 0101: R1
out
0110: R2out
0111: R3out
1010: TEMPout
1011: Offsetout
000: No transfer
001: MARin
010: MDRin
011: TEMPin
100: Yin
0000: Add
0001: Sub
1111: XOR
16 ALUfunctions
00: No action
01: Read
10: Write
F6 F7 F8
F6 (1 bit) F7 (1 bit) F8 (1 bit)
0: SelectY
1: Select4
0: No action
1: WMFC
0: Continue
1: End
Figure 7.19. An example of a partial format for field-encoded microinstructions.
Microinstruction
What is the price paid for this scheme?
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 37/47
Further Improvement
Enumerate the patterns of required signals in
all possible microinstructions. Each
meaningful combination of active control
signals can then be assigned a distinct code.
Vertical organization
Horizontal organization
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 38/47
Microprogram Sequencing
If all microprograms require only straightforwardsequential execution of microinstructions except for branches, letting a PC governs the sequencing
would be efficient. However, two disadvantages: Having a separate microroutine for each machine instruction results
in a large total number of microinstructions and a large control store.
Longer execution time because it takes more time to carry out therequired branches.
Example: Add src, Rdst
Four addressing modes: register, autoincrement,autodecrement, and indexed (with indirect forms).
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 39/47
- Bit-ORing
- Wide-Branch Addressing
- WMFC
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 40/47
OP code 0 1 0 Rsrc Rdst
Mode
Contents of IR
034781011
Figure 7.21. Microinstruction for Add (Rsrc)+,Rdst.
N ote:Microinstruction at location 170 is not executed for this addressing mode.
Address Microinstruction(octal)
000 PCout , MARin, Read, Select4, Add, Zin
001 Zout , PCin, Yin, WMFC
002 MDRout , IRin
003 QBranch {QPCn 101 (from Instruction decoder);
QPC5,4n [IR10,9]; QPC3
n
121 Rsrcout , MARin, Read, Select4, Add, Zin
122 Zout , Rsrcin
123
170 MDRout , MARin, Read, WMFC
171 MDRout , Yin
172 Rdstout , SelectY, Add, Zin
173 Zout , Rdstin, End
[IR10] [IR9] [IR8]}
QBranch {QPCn 170;QPC0n [IR8]}, WMFC
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 41/47
Microinstructions with Next-
Address Field
The microprogram we discussed requires severalbranch microinstructions, which perform no usefuloperation in the datapath.
A powerful alternative approach is to include anaddress field as a part of every microinstruction toindicate the location of the next microinstruction tobe fetched.
Pros: separate branch microinstructions are virtuallyeliminated; few limitations in assigning addresses to
microinstructions. Cons: additional bits for the address field (around
1/6)
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 42/47
Microinstructions with Next-
Address Field
Figure 7.22. Microinstruction-sequencing organization.
Conditioncodes
IR
Decoding circuits
Control store
Next address
Microinstruction decoder
Control signals
InputsExternal
Q AR
QI R
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 43/47
F1 (3 bits)
000: No transfer
001: PCout
010: MDRout 011: Z
out
100: Rsrcout
101: Rdstout
110: TEMPout
F0 F1 F2 F3
F0 (8 bits) F2 (3 bits) F3 (3 bits)
000: No transfer
001: PCin010: IR
in
011: Zin
100: Rsrcin
000: No transfer
001: MARin
F4 F5 F6 F7
F5 (2 bits)F4 (4 bits) F6 (1 bit)
0000: Add
0001: Sub
0: SelectY
1: Select4
00: No action
01: Read
Microinstruction
Address of next
microinstruction
101: Rdstin
010: MDRin
011: TEMPin
100: Yin
1111: XOR
10: Write
F8 F9 F10
F8 (1 bit)
F7 (1 bit)
F9 (1 bit) F10 (1 bit)
0: No action
1: WMFC
0: No action
1: ORindsrc
0: No action
1: ORmode
0: NextAdrs
1: InstDec
Figure 7.23. Format for microinstructions in the example of Section 7.5.3.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 44/47
Implementation of the
Microroutine
(See Figure 7.23 for encoded signals.)
Figure 7.24. Implementation of the microroutine of Figure 7.21 using a
1
0
1
11110
0111110
001
001
1
21 0
00
0
00
0
0
0
0
0
0
0
0
0
0
0 0
0
0
00
0 0
01
01
110
37
7
00000000
0 1111
110
0
0
0
17
07
F9
0
0
0
0
0
0
F10
0
0
0
0
0
0
00
0
0
0
0
0
0
F8F7F6F5F4
000 0 0 0 0 0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0 1
1
0
0
0 0
1
0
0
0
10000
0000
1100000
10
0
0
0
0
0
0
1
0 0
0
0
0
0
0
00 01
000
000
001
110
100
10
F2
1
110 0 0 0 0 0
1
1
221
0
11110
111 00
1
1
2
0
21
0
00
address
Octal
111 00000
1 0000000
10000000
F0 F1
0
0 0 10 0
010
010
0 11
001
110
100
0
0
0
1
1
0
1
F3
next-microinstruction address field.
011
000 0 0 0 0 00 00 00000 0 0 0 0 03
0 0 00 0 0
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 45/47
decoder
Microinstruction
Control store
Next address F1 F2
Other control signals
F10F9F8
Decoder
Decoder
circuitsDecoding
Condition
External
codes
inputs
Rsrc RdstIR
Rdstout
Rdstin
Rsrcout
Rsrcin
Q AR
InstDecout
ORmode
ORindsrc
R15in R15out R0in R0out
Figure 7.25. Some details of the control-signal-generating circuitry.
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 46/47
bit-ORing
5/12/2018 Chapter3 - Basic Processing Unit - slidepdf.com
http://slidepdf.com/reader/full/chapter3-basic-processing-unit 47/47
Further Discussions
Prefetching
Emulation