שאלה 1 מתוך 10
- ערך כל אוגר בתחילת ביצוע הקוד הינו מספרו כפול 0x30 (אוגר 1 ערכו 0x30, אוגר 2 ערכו 0x60 וכן הלאה). - כמו כן נתון שניתן לגשת לכל מרחב הזיכרון בפקודות lw sw (כל עוד הכתובת מתחלקת ב-4). - ערך 1000 המילים הנמוכות בזיכרון מאותחל באופן שכל מילה מאותחלת לערך הנגדי לכתובתה במילים (בהיפוך סימן, משלים ל-2). לדוגמא: מילה בכתובת אפס במילים (בתים 0-3 בזיכרון) מאותחלת לערך 0. מילה בכתובת אחד במילים (בתים 4-7 בזיכרון) מאותחלת לערך מינוס 1. מילה בכתובת 100 במילים (בתים 400-403 בזיכרון) מאותחלת לערך מינוס 100. נתונים אלו תקפים לכל סעיפי השאלה.
נתון קטע הקוד שלהלן באסמבלי של ה-mips: Address Code Basic Source 0x2855738c 0x8d0b0100 lw $11,0x00000100($8) 3 lw $11,256($8) 0x28557390 0x016b3820 add $7,$11,$11 4 add $7,$11,$11 0x28557394 0x00ec4822 sub $9,$7,$12 5 sub $9,$7,$12 0x28557398 0xae090000 sw $9,0x00000000($16) 6 sw $9,0($16) 0x2855739c 0x10eb0000 beq $7,$11,0x00000000 7 beq $7,$11,far_away
בתרשים שלפניכם של מעבד MIPS, העובד בטכנולוגיית צנרת (המבוסס על תרשים 4.66 בנספח, בתוספת המרבב ALUSrc), מתוארת סוף פעימת השעון השישית בביצוע הקוד שבשאלה, ע"פ נתוני השאלה. (בפעימה זו נמצאת בשלב 5, שלב ה-WB, בועה (bubble) כתוצאה מ-load use.) בתרשים 6 סימונים B1-B6 על קווים מסוימים על המעבד. עליכם למלא בטבלה בטופס התשובות את הערכים על קווים אלו, בהנחה שסיכוני הנתונים נפתרים ע"י יחידת העברה קדימה, יחידת איתור סיכונים (Forwarding Unit, HDU) וחציית מקבץ האוגרים. לדוגמא, ראו את הבועה (Bubble) בשלב 5 בתרשים, שנוצרה כתוצאה מסיכון load use בקוד. - יש להציג בבסיס הקסא (4 נק' לסימון). - ערך לא ידוע יש לסמן ב-X.


