Download presentation
Presentation is loading. Please wait.
1
Multi-Cycle MIPS דוגמאות
2
דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת התכנית $a0 מכיל את המספר הבינארי הבא: 0000 1000 0000 0000 0000 0000 0000 0000 מה יהיה ערכו של $v0 עם סיום התכנית? $v0 = -1 + 1 + 1 … + 1 = 4 5
3
דוגמה 1 (המשך) כמה מחזורי שעון תתבצע התכנית במחשב ה – Multi-Cycle? addi – 4 cycles add – 4 cycles addi – 4 cycles bne – 3 cycles x5 Total – 59 cycles
4
דוגמה 2 - "טעינה עקיפה" טעינה זו, כמו טעינה רגילה lw, מתבצעת מהזיכרון, אך הפעם גם ערך הכתובת ממנה טוענים נמצא בזיכרון. נסביר את הפקודה על דוגמה: indir_lw$t1, (8($s1)) כתוצאה מהפקודה, לרגיסטר $t1 ייכתב ערך הנמצא בזיכרון שכתובתו רשומה בכתובת ($s1 + 8). נדגים את המקרה בסכימה איכותית:
5
הוסיפו תמיכה בפקודה החדשה ב- Multi-Cycle MIPS עבור הפקודה החדשה הנ"ל, עדכנו במידת הצורך את מסלול הנתונים וקווי הבקרה של Multi-Cycle MIPS. אם תצטרכו להוסיף מצבים לבקר עשו זאת ע"י הוספה מינימאלית של מצבים. רשמו את סדרת המיקרו-פקודות המבצעות את הפקודה. אם ישנו צורך לעדכן את פורמט המיקרו-פקודות או להוסיף ערכים חדשים לשדות מסוימים, הסבירו איך הפורמט החדש והערכים החדשים יתורגמו לערכים שונים של קווי הבקרה (בדומה לדוגמה שהייתה בתרגול). הערה: בחרו ערך קידוד פקודה פנוי (Opcode) – בדקו בנספח הספר.
12
תוכן רכיבי ה- dispatch ROM
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.