1 / 33

שלבי ביצוע הוראת מכונה

שלבי ביצוע הוראת מכונה. (1) FETCH = קרא הוראה מהזיכרון ע"פ הכתובת שמכיל ה- PC . (2) DECODE = פענח את הפקודה וקרא את האוגרים הנחוצים (אחד או שניים). (3) EXECUTE = בעזרת ה- ALU חשב את התוצאה, או כתובת רצויה.

deloresh
Download Presentation

שלבי ביצוע הוראת מכונה

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. שלבי ביצוע הוראת מכונה (1) FETCH = קרא הוראה מהזיכרון ע"פ הכתובת שמכיל ה-PC. (2) DECODE = פענח את הפקודה וקרא את האוגרים הנחוצים (אחד או שניים). (3) EXECUTE = בעזרת ה-ALUחשב את התוצאה, או כתובת רצויה. (4) MEMORY = השתמש בתוצאה לבצע במידת הצורך: או טעינה לזיכרון (Store) או קריאה מהזיכרון (Load). (5) WRITE BACK = בצע במידת הצורך טעינה לאוגר.

  2. falling edge cycle time rising edge במשך כל מחזור השעון קוראים בסוף השעון כותבים קווי הבקרה - מיוצרים על פי השעון, כל עליית שעון תשנה בעקבותיה את קווי הבקרה (אם נדרש)

  3. MIPS תיאור מפושט של מעבד החיבורים המתוארים תומכים בכל שלבי פקודות R-typeו- I-type אנו נתמוך בפקודות: add, sub, or, xor, and, slt, lw, sw, beq, j כמובן שנצטרך לדעת כיצד מוסיפים פקודות נוספות כמו למשל: bne, addi, jal, jr

  4. עוד שלושה שבועות

  5. חלקים בסיסים של המחשב הדרושים לשלב ה-fetch: Instruction Address Instruction Instruction Memory Sum Add כמובן שדרוש זיכרון פקודות , רגיסטר לשמירת הכתובת וכן adderלחשוב הכתובת הבאה

  6. FETCH -שלב ה Add 4 4 PC Read address Instruction Instruction memory

  7. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck A CPU capable of R-type instructions only 4 Adder [31:26] 6 Instruction Memory PC [5:0]=funct 6

  8. יחידת הרגיסטרים. יחידה זו דרושה לשלב ה-decode(ולשלב ה-write back) Read register 1 Read data 1 Read 2 מספרי האוגרים register Registers Write Read register data 2 Write Data Data

  9. ALU result Arithmetic Logic operation ALU operation Read ALU operation register 1 Read data 1 Zero Read register 2 Instruction Registers ALU Write ALU Read result register data 2 ALU Write Data הפעולה הבסיסית שנדגים הנה פקודת R-type

  10. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only 4 Adder [31:26] 6 Reg File Instruction Memory PC ALU [5:0]=funct 6

  11. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only 4 Adder [31:26] 6 Reg File Instruction Memory PC ALU [5:0]=funct 6

  12. The internal structure of the Register File Rd reg 1 (= Rs) 32 5 32 32 32 32 Read data 1 write data 32 32 32 Rd reg 2 (= Rt) 5 32 32 32 Read data 2 32 32 Wr reg (= Rd) 5 E RegWrite קוראים משתי היציאות בוזמנית ערכים של שני רגיסטרים שונים כותבים לאחד הרגיסטרים האחרים (בעליית השעון הבאה)

  13. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only 4 Adder [31:26] 6 RegWrite Reg File Instruction Memory PC ALU

  14. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only Instruction Memory Reg File PC ALU

  15. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only 4 Instruction Memory Reg File ALU PC

  16. [25:21]=Rs [20:16]=Rt [15:11]=Rd 5 5 5 ck ck A CPU capable of R-type instructions only 4 Adder [31:26] 6 RegWrite [5:0]=funct 6 ALU control Reg File Instruction Memory PC ALU

  17. Load,Store בניית פעולות Write Read address Read data Write address Data Write memory data Read כאן נדרש זיכרון ל- dataממנו נקרא ואליו נכתוב כמו כן יש לבצע sign extensionשל ה- immשהוא רק 16bit

  18. [25:21]=Rs [20:16]=Rt 5 5 ck ck A CPU capable of lw instructions only 4 Adder [31:26] 6 add RegWrite=1 Reg File Data Memory Instruction Memory PC ALU Address D. Out 5 [15:0] 16 Sext 16->32

  19. [25:21]=Rs [20:16]=Rt 5 5 ck ck A CPU capable of lw instructions only 4 Adder [31:26] 6 add RegWrite=1 Reg File Data Memory Instruction Memory PC ALU Address D. Out 5 [15:0] 16 Sext 16->32

  20. [25:21]=Rs [20:16]=Rt 5 5 ck ck A CPU capable of lw instructions only 4 Adder [31:26] 6 add RegWrite=1 Reg File Data Memory Instruction Memory PC ALU Address D. Out 5 [15:0] 16 Sext 16->32

  21. [25:21]=Rs [20:16]=Rt 5 5 ck ck A CPU capable of lw & sw instructions only 4 MeWrite=1 Adder [31:26] 6 add RegWrite=0 Reg File Data Memory Instruction Memory PC ALU Address 5 D.In [15:0] 16 Sext 16->32

  22. [25:21]=Rs [20:16]=Rt [25:21]=Rs [15:11]=Rd 5 5 5 5 ck ck A CPU capable of R-type & lw instructions (principle) 4 Adder [31:26] 6 add RegWrite [5:0]=funct 6 ALU control Reg File Data Memory Instruction Memory PC ALU Address 5 [15:0] 16 Sext 16->32

  23. [25:21]=Rs [20:16]=Rt [25:21]=Rs 5 5 5 ck ck A CPU capable of R-type & lw instructions 4 Adder [31:26] 6 add RegWrite [5:0]=funct 6 ALU control Reg File Data Memory Instruction Memory PC ALU Address D. Out 5 Rd [15:0] 16 Sext 16->32

  24. [25:21]=Rs [20:16]=Rt [25:21]=Rs 5 5 5 ck ck A CPU capable of R-type & lw/sw instructions 4 MemWrite Adder [31:26] 6 add RegWrite [5:0]=funct 6 ALU control Reg File Data Memory Instruction Memory PC ALU Address D. Out 5 Rd D.In [15:0] 16 Sext 16->32

  25. :Branch אלמנטים דרושים להוספת PC+4משלב ה- Fetch In addresses, we always shift left by two bits Adder Sum Shift Branch Read left 2 Target register 1 Read Read data 1 register 2 Registers Instruction Write Zero register מועבר Read ALU Write data 2 ליחידת Data הבקרה כתוצאה 16 32 Sigh הלוגית Extend של ההשוואה

  26. ALU result Shift left 2 Read Read register 1 address Read Read register 2 address Read M ALU Registers data result u Write Instruction M Write x register address memory u Write x Data Write data Sign extend שילוב כל הפקודות M u x Add 4 ADD Write PC Read Zero data 1 Instruction Read ALU data 2 Data memory Read 16 32

  27. איפה ה- CPU? Instruction Memory CPU PC Data Memory

  28. קווי בקרה P C S r c M u Add A d d x ALU result 4 Shift left 2 R e g i s t e r s A L U o p e r a t i o n R e a d 3 M e m W r i t e R e a d r e g i s t e r 1 A L U S r c P C R e a d a d d r e s s R e a d d a t a 1 M e m t o R e g r e g i s t e r 2 Z e r o I n s t r u c t i o n A L U A L U W r i t e R e a d R e a d A d d r e s s r e s u l t r e g i s t e r d a t a 2 M d a t a I n s t r u c t i o n M u u W r i t e m e m o r y x D a t a x d a t a m e m o r y W r i t e R e g W r i t e d a t a 3 2 1 6 S i g n M e m R e a d e x t e n d

  29. 0 M u x A L U A d d 1 r e s u l t e g D s t 4 I n s t r u c t i o n [ 3 1 – 2 6 ] C o n l t r o A L U S r c R e a d r e g i s t e r 1 R e a d d a t a 1 R e a d 0 R e g i s t e r s R e a d 0 W r i t e M d a t a 2 r e g i s t e r u x W r i t e 1 d a t a 0 1 6 3 2 I n s t r u c t i o n [ 1 5 – 0 ] Control A d d S h i f t l e f t 2 R B r a n c h M e m R e a d M e m t o R e g A L U O p M e m W r i t e R e g W r i t e I n s t r u c t i o n [ 2 5 – 2 1 ] R e a d P C a d d r e s s I n s t r u c t i o n [ 2 0 – 1 6 ] Z e r o r e g i s t e r 2 I n s t r u c t i o n A L U A L U [ 3 1 – 0 ] d R e a A d d r e s s r e s u l t 1 a d a t I n s t r u c t i o n M M u m e m o r y u I n s t r u c t i o n [ 1 5 – 1 1 ] x D a t a x 1 m e m o r y W r i t e d a t a S i g n e x t e n d A L U c o n t r o l I n s t r u c t i o n [ 5 – 0 ]

  30. Control

  31. ALU control ALU control output000 AND001 OR010 add110 subtract111 set-on-less-than (sign of rs-rt -> rd) 00 = lw, sw01 = beq, 10 = arithmetic ALUop

  32. פקודת ה- jump פירוש הפקודה: J 101…101111011 הפקודה הבאה נמצאת בכתובת 111111011…1001 4 bits 26 bits 2 bits : כתובת קפיצה במילים 101 … 101111011 : כתובת קפיצה בבתים 101 … 101111011 00 0110 101 … 101111011 : תוספת 4 ביטים אחרונים 0110 101 … 101111011 00 : הקפיצה הסופית

  33. J u m p a d d r e s s [ 3 1 – 0 ] I n s t r u c t i o n [ 2 5 – 0 ] 1 M P C + 4 [ 3 1 – 2 8 ] u x A L U A d d r e 4 n s t r u c t i o n [ 3 1 – 2 6 ] C r o n t o l 0 0 M 1 M u M u x u x 1 x 1 0 1 6 3 2 I n s t r u c t i o n [ 1 5 – 0 ] S i g n e x t e n d A L U c o n t r o l Jump S h i f t l e f t 2 2 6 2 8 0 M u x 1 0 s u l t A d d S h i f t R e g D s t l e f t 2 J u m p B r a n c h M e m R e a d I M e m t o R e g A L U O p M e m W r i t e A L U S r c R e g W r i t e I n s t r u c t i o n [ 2 5 – 2 1 ] R e a d R e a d r e g i s t e r 1 P C R e a d a d d r e s s d a t a 1 I n s t r u c t i o n [ 2 0 – 1 6 ] R e a d Z e r o r e g i s t e r 2 I n s t r u c t i o n R e g i s t e r s A L U R e a d A L U [ 3 1 – 0 ] R e a d W r i t e d a t a 2 A d d r e s s r e s u l t d a t a I n s t r u c t i o n r e g i s t e r m e m o r y I n s t r u c t i o n [ 1 5 – 1 1 ] W r i t e D a t a d a t a m e m o r y W r i t e d a t a I n s t r u c t i o n [ 5 – 0 ]

More Related