1 ׃1998 Morgan Kaufmann Publishers פקודת ה- jump 4 bits 26 bits 2 bits 00 : כתובת קפיצה במילים : כתובת קפיצה בבתים … … : הקפיצה הסופית : תוספת 4 ביטים אחרונים …. הפקודה נמצאת בכתובת J 101…
2 ׃1998 Morgan Kaufmann Publishers Multicycle Approach הרעיון מאחורי שיטת ה - Multicycle: חסיכון בזמן : כל פקודה תקח את מספר היחידות השעון הנחוצות לה. חיסכון ברכיבים : שימוש באותו רכיב בשלבים שונים של הפקודה.
3 ׃1998 Morgan Kaufmann Publishers Jump
4 ׃1998 Morgan Kaufmann Publishers Performance of Single-Cycle Machines Memory Unit 2 ns ALU and Adders 2 ns Register file (Read or Write) 1 ns Class Fetch Decode ALU Memory Write Back Total R-format LW SW ns Branch ns Jump 2 2ns
5 ׃1998 Morgan Kaufmann Publishers מה היה קורה עם cycle של השעון היה באורך משתנה נשווה לגבי תוכנית עם התערובת הבאה של פקודות: 24% LW 12% SW 44% R 44% BRANCH 2% JUMP I - מספר פקודות בתוכנית T - אורך מחזור שעון CPI - מספר מחזורים לפקודה = 1 Execution=I*T*CPI= 8*24%+7*12%+6*44+5*18%+2*2%=6.3 ns
6 ׃1998 Morgan Kaufmann Publishers התוצאה EXE Single cycle T single clock * I T single clock 8 EXE Variable T variable clock * I T variable clock 6.3 יחס של היחס יהיה יותר גרוע כאשר נממש פקודות מסובכות כמו פעולות עם floating point הפתרון: אינו שעון בגודל משתנה - מסובך מבחינת הבניה. הפתרון: פקודה לוקחת מספר משתנה של cycles.
7 ׃1998 Morgan Kaufmann Publishers שיטת הבניה של ארכיטקטורת ה- Multicycle חלק את הפקודה לשלבים. כל שלב cycle: - אזן את כמות העבודה הנדרשת בכל שלב. - הקטן את כמות העבודה הנדרשת בכל שלב - כל שלב יבצע רק פעולה אחת פונקצינאלית. בסיום כל מחזור שעון : - שמור את הערכים עבור השלבים הבאים. - אוסף לביצוע משימה זו רגיסטרים פנימיים נוספים.
8 ׃1998 Morgan Kaufmann Publishers מבנה המחשב בארכיטקטורת ה-multicycle
9 ׃1998 Morgan Kaufmann Publishers סיכום שלבי הפקודות השונות
10 ׃1998 Morgan Kaufmann Publishers
Final State Machine
12 ׃1998 Morgan Kaufmann Publishers Implementation: Finite State Machine for Control
13 ׃1998 Morgan Kaufmann Publishers Microprogramming
14 ׃1998 Morgan Kaufmann Publishers Microinstruction
Microinstruction format
16 ׃1998 Morgan Kaufmann Publishers Interrupt and exception Type of event From Where ? MIPS terminology Interrupt External I/O device request Invoke Operation system Internal Exception From user program Arithmetic Overflow Internal Exception Using an undefined Instruction Internal Exception Either Exception or interrupt Hardware malfunctions
17 ׃1998 Morgan Kaufmann Publishers Exception typeException vector address (in hex) Undefined instruction c Arithmetic Overflow c Cause register or Vectored interrupts MIPS – Cause register
18 ׃1998 Morgan Kaufmann Publishers Interrupt