View
229
Download
1
Category
Preview:
Citation preview
1
שלבי ביצוע הוראת מכונה(1 )FETCH = -קרא הוראה מהזיכרון ע"פ הכתובת שמכיל הPC.(2 )DECODE = פענח את הפקודה וקרא את האוגרים הנחוצים
)אחד או שניים(.(3 )EXECUTE = -בעזרת הALU חשב את התוצאה, או כתובת
רצויה.(4 )MEMORY = השתמש בתוצאה לבצע במידת הצורך: או
(.Loadאו קריאה מהזיכרון )( Storeטעינה לזיכרון )(5 )WRITE BACK = .בצע במידת הצורך טעינה לאוגר
2
חלקים בסיסים של המחשב
InstructionAddress
Instruction
InstructionMemory
PC
Write
Add
Sum
3
בתחילת שעון קוראים בסוף שעון כותבים
cycle time
rising edge
falling edge
קווי הבקרה - מחוברים לשעון
4
MIPS תיאור מופשט של מעבד
ALUPCInstruction
Instructionmemory
#register
Registers
Data
#register
#register
address
Datamemory
Data
5
FETCH -שלב ה
Add
PC Readaddress
Instruction
Instructionmemory
6
יחידת הרגיסטרים
Readregister 1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
{{
מספריהאוגרים
Data
7
Arithmetic Logic operation
Readregister 1
Registers
Readregister 2
Write register
WriteData
Read
data 1
Readdata 2
ALU
Zero
ALU operation
ALUresult
Instruction
ALU
ALU
result
ALU operation
8
Load,Store בניית פעולות
Readaddress
Datamemory
Writeaddress
Writedata
Readdata
Write
Read
Signextend
16 32
9
Readregister 1
Registers
Readregister 2
Write register
WriteData
Read
data 1
Read
data 2
ALU
Zero
ALU operation
ALUresult
Instruction
Readaddress
Data
memory
Writeaddress
Writedata
Readdata
Write
Read
Signextend
16 32
LW,SWהמשך בניית
10
Readregister 1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
Instruction
ALU
Zero
ALU operation
ALUresult
Data
Signextend
32
Readaddress
memory
Writeaddress
Writedata
Readdata
Write
Read
16
Mux
Mux
שילוב פעולות אריתמטיות עם פעולות גישה לזיכרון
11
FETCH -הוספת שלב ה
Readregister
1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
ALU
Zero
ALU operation
ALUresult
Data
Signextend
32
Readaddress
memory
Writeaddress
Writedata
Readdata
Write
Read
16
Mux
Mux
Add4
PC
Readaddress
Instruction
Instructionmemory
12
Branch הוספת
ALU
Zero
Readregister 1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
Instruction
AdderSum
Shiftleft 2
SighExtend
BranchTarget
מועברליחידתהבקרהכתוצאההלוגית
שלההשוואה
16 32
PC+4 -משלב הFetch
13
שילוב כל הפקודות
Readregister 1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
Zero
ALU
ALUresult
Data
Signextend 32
Readaddress
memory
Writeaddress
Writedata
Readdata
Write
Read
16
Add4
PC
Mux
Readaddress
Instruction
Instructionmemory
ADD
ALUresult
Shiftleft 2
Mux
Mux
14
קווי בקרה
PC
Instructionmemory
Readaddress
Instruction
16 32
AddMux
Registers
Writeregister
Writedata
Readdata 1
Readdata 2
Readregister 1Readregister 2
4
Mux
ALU operation3
RegWrite
MemRead
MemWrite
PCSrc
ALUSrc
MemtoReg
ALUresult
ZeroALU
Datamemory
Address
Writedata
Readdata M
ux
Signextend
AddALU
resultShiftleft 2
15
Control
PC
Instructionmemory
Readaddress
Instruction[31– 0]
Instruction [20– 16]
Instruction [25– 21]
Add
Instruction [5– 0]
MemtoReg
ALUOp
MemWrite
RegWrite
MemRead
BranchRegDst
ALUSrc
Instruction [31– 26]
4
16 32Instruction [15– 0]
0
0Mux
0
1
Control
Add ALUresult
Mux
0
1
RegistersWriteregister
Writedata
Readdata 1
Readdata 2
Readregister 1
Readregister 2
Signextend
Shiftleft 2
Mux
1
ALUresult
Zero
Datamemory
Writedata
Readdata
Mux
1
Instruction [15– 11]
ALUcontrol
ALUAddress
16
Instruction RegDst ALUSrcMemto-
RegReg
WriteMem Read
Mem Write Branch ALUOp1 ALUp0
R-format 1 0 0 1 0 0 0 1 0lw 0 1 1 1 1 0 0 0 0sw X 1 X 0 0 1 0 0 0beq X 0 X 0 0 0 1 0 1
R-format Iw sw beq
Op0
Op1
Op2
Op3
Op4
Op5
Inputs
Outputs
RegDst
ALUSrc
MemtoReg
RegWrite
MemRead
MemWrite
Branch
ALUOp1
ALUOpO
Control
17
ALU controlALUOp Funct field Operation
ALUOp1 ALUOp0 F5 F4 F3 F2 F1 F00 0 X X X X X X 010X 1 X X X X X X 1101 X X X 0 0 0 0 0101 X X X 0 0 1 0 1101 X X X 0 1 0 0 0001 X X X 0 1 0 1 0011 X X X 1 0 1 0 111
ALU control input
000 AND001 OR010 add110 subtract111 set-on-less-than
00 = lw, sw01 = beq, 11 = arithmetic
ALUop
Operation2
Operation1
Operation0
Operation
ALUOp1
F3
F2
F1
F0
F (5– 0)
ALUOp0
ALUOp
ALU control block
Recommended