1 שלבי ביצוע הוראת מכונה (1) fetch = קרא הוראה מהזיכרון ע "...
Post on 21-Dec-2015
229 views
TRANSCRIPT
![Page 1: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/1.jpg)
1
שלבי ביצוע הוראת מכונה(1 )FETCH = -קרא הוראה מהזיכרון ע"פ הכתובת שמכיל הPC.(2 )DECODE = פענח את הפקודה וקרא את האוגרים הנחוצים
)אחד או שניים(.(3 )EXECUTE = -בעזרת הALU חשב את התוצאה, או כתובת
רצויה.(4 )MEMORY = השתמש בתוצאה לבצע במידת הצורך: או
(.Loadאו קריאה מהזיכרון )( Storeטעינה לזיכרון )(5 )WRITE BACK = .בצע במידת הצורך טעינה לאוגר
![Page 2: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/2.jpg)
2
חלקים בסיסים של המחשב
InstructionAddress
Instruction
InstructionMemory
PC
Write
Add
Sum
![Page 3: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/3.jpg)
3
בתחילת שעון קוראים בסוף שעון כותבים
cycle time
rising edge
falling edge
קווי הבקרה - מחוברים לשעון
![Page 4: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/4.jpg)
4
MIPS תיאור מופשט של מעבד
ALUPCInstruction
Instructionmemory
#register
Registers
Data
#register
#register
address
Datamemory
Data
![Page 5: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/5.jpg)
5
FETCH -שלב ה
Add
PC Readaddress
Instruction
Instructionmemory
![Page 6: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/6.jpg)
6
יחידת הרגיסטרים
Readregister 1
Registers
Readregister 2
Write register
WriteData
Readdata 1
Readdata 2
{{
מספריהאוגרים
Data
![Page 7: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/7.jpg)
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
![Page 8: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/8.jpg)
8
Load,Store בניית פעולות
Readaddress
Datamemory
Writeaddress
Writedata
Readdata
Write
Read
Signextend
16 32
![Page 9: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/9.jpg)
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המשך בניית
![Page 10: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/10.jpg)
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
שילוב פעולות אריתמטיות עם פעולות גישה לזיכרון
![Page 11: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/11.jpg)
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
![Page 12: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/12.jpg)
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
![Page 13: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/13.jpg)
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
![Page 14: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/14.jpg)
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
![Page 15: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/15.jpg)
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
![Page 16: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/16.jpg)
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
![Page 17: 1 שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע " פ הכתובת שמכיל ה -PC. (2) DECODE = פענח את הפקודה וקרא](https://reader038.vdocuments.site/reader038/viewer/2022102800/56649d6b5503460f94a49bd5/html5/thumbnails/17.jpg)
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