Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת.

Similar presentations


Presentation on theme: "Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת."— Presentation transcript:

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) – בדקו בנספח הספר.

6

7

8

9

10

11

12 תוכן רכיבי ה- dispatch ROM


Download ppt "Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת."

Similar presentations


Ads by Google