הטכניון – מכון טכנולוגי לישראל

מסמכים קשורים
הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרג

Microsoft Word - moed_A_sol.doc

תרגול מס' 1

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

מבוא למדעי המחשב

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

מבוא לתכנות ב- JAVA תרגול 7

Microsoft Word - Summary

מבוא למדעי המחשב - חובלים

PowerPoint Presentation

מהוא לתכנות ב- JAVA מעבדה 3

Microsoft Word - Ass1Bgu2019b_java docx

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

Microsoft Word - ExamA_Final_Solution.docx

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

מבנה מחשבים ספרתיים

Microsoft PowerPoint - Lecture1

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

PowerPoint Presentation

סדנת תכנות ב C/C++

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

שאלהIgal : מערכים דו מימדיים רקורסיה:

מבוא למדעי המחשב

מספר נבחן / תשס"ג סמסטר א' מועד א' תאריך: שעה: 13:00 משך הבחינה: 2.5 שעות בחינה בקורס: מבחנים והערכה א' מרצה: ד"ר אבי אללוף חומר עזר

Microsoft Word B

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

מבוא למדעי המחשב - חובלים

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

Slide 1

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

תוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

מבוא לאסמבלי

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

פתרון מבחן במיקרו בקרים תשעו

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Tutorial 11

Microsoft Word - c_SimA_MoedB2005.doc

בחן במערכות הפעלה

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

Slide 1

שאלה 2. תכנות ב - CShell

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

מבנים בדידים וקומבינטוריקה סמסטר אביב תשע"ט מספרי רמזי תרגול 11 הגדרה: (t R = R(s, הוא המספר הטבעי הקטן ביותר כך שבכל צביעה של צלעות הגרף וכחול(, קיים

PRESENTATION NAME

Microsoft PowerPoint - lecture4_handnotes_2013_2.ppt [Compatibility Mode]

תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 313, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר

Comp. Arch. Lecture 1

תרגול 1

מצגת של PowerPoint

Microsoft Word - tik latalmid-final

אגף כלכלה תקציב ומסחר

אוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב'

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

תכנות מונחה עצמים א' – תש"ע

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

מקביליות

שאלהIgal : מערכים דו מימדיים רקורסיה:

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1

הגשה תוך שבוע בשעת התרגול

ex1-bash

מבוא למדעי המחשב

שאלהIgal : מערכים דו מימדיים רקורסיה:

Slide 1

שאלון להערכה עצמית במתמטיקה לקראת לימודי שנה א מדוע להתכונן לשנה א מסלולי לימוד רבים באוניברסיטה (מדעי המחשב, הנדסה, פיזיקה וכמובן מתמטיקה) דורשים לימ

PowerPoint Presentation

תרגיל בית מספר 1#

תכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח

שיעור 1

מבוא למדעי המחשב

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

תאריך הבחינה 30

תוכן העניינים

PowerPoint Presentation

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

PowerPoint Presentation

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

מערכות הפעלה

ייבוא וייצוא של קבצי אקסל וטקסט

מבוא למדעי המחשב

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

סיכום הוראות Touch touchend יקרא לפונקציה כשיסתיים המגע עם הסמארטפון. - touchmove יקרא לפונקציה במהלך תזוזת המגע עם הסמארטפון. touchstart יקרא לפונקצי

מבוא לתכנות ב- JAVA תרגול 11

פתרונות לדף מס' 5

Microsoft Word - pitaron222Java_2007.doc

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

מבנה מחשבים ספרתיים

מבוא ללוגיקה ולתורת הקבוצות

<4D F736F F D20FAF8E2E5EC20E0ECE2E1F8E420EEF2E5F8E D F9E0ECE5FA2E646F63>

מקביליות

Slide 1

עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה אפריל 5105 קשה בלימודים, קל במבחנים, קל בחיים עבודה במתמטיקה לכיתה י' 5 יח"ל פסח תשע"ה יש לפתור את כל השאלות

אוניברסיטת תל אביב - בית הספר למדעי המחשב מבוא מורחב למדעי המחשב, אביב 2019 תרגיל בית מספר - 2 להגשה עד 02/04/2019 בשעה 23:55 קיראו בעיון את הנחיות הע

תמליל:

הטכניון מכון טכנולוגי לישראל סמסטר חורף 8-9 3.3.9 מרצים: פרופ' אלכס ברונשטיין )אחראי(, חיים בסקין מתרגלים: נועם יפת )אחראי(, אבירם אימבר, משה ליכטנשטיין, אלון גואטה, בהגת קעואר, טומי בוג'ן. תכן לוגי 346 בחינה סופית, מועד ב' הבחינה כוללת מחברת זו המכילה שאלון, חוברת עזר המכילה תרשימים ומחברת בחינה טכניונית משובצת לצרכי טיוטה. השימוש בכל חומר עזר פרט לאלו - אסור. הבחינה אנונימית, יש לרשום מס' ת"ז על כל חומר שקיבלת במהלכה )כולל מחברות טיוטה וחוברות עזר(. אין לתלוש דפים מאף מחברת שקיבלת במהלך הבחינה ויש להחזיר אותן בשלמותן למשגיחים עם תום הבחינה )כולל מחברות טיוטה וחוברות עזר(. מחברת זו מכילה שאלות. את כל התשובות יש לכתוב במחברת זאת בלבד. תיבדקנה ותיסרקנה רק תשובות המופיעות במקומות המיועדים לכך במחברת זו, או שיש הפניה ברורה למקום בו נכתבו מהמקום המיועד לתשובה במחברת זו. האורך המצופה של כל תשובה הוא לכל היותר כגודל המקום המיועד לה בטופס, אין לחרוג משמעותית מאורך זה. אין לנמק או לפרט את התשובות לשאלות סגורות או מרובות ברירה, אלא אם נתבקשת במפורש. לאורך כל הבחינה, אא"כ נאמר במפורש אחרת יש להקיף בעיגול את התשובה הנכונה ביותר לשאלות מרובות ברירה. ניקוד כל שאלה מצויין בכותרתה, חלוקת הנקודות הפנימית מצויינת לייד כל סעיף. כעיקרון רק תשובה מלאה ומדוייקת תזכה בניקוד, עם זאת - סגל הקורס שומר לעצמו את הזכות להעניק לעתים ניקוד חלקי גם לתשובות שאינן מלאות ומדוייקות ע"פ שיקול דעתו ולפי מפתח בדיקה אחיד לכל הסטודנטים. משך הבחינה: 8 דקות. יש לתכנן את הזמן בהתאם. מומלץ מאוד לקרוא את כל שאלות הבחינה כבר בתחילת המבחן. לתשומת לבך: בעשרים הדקות האחרונות סגל הקורס לא יענה על שאלות. בהצלחה!

םי-. תזמונים בדלגלגים ) נק'(: במערכת הסינכרונית הבאה שלושה FF זהים, המקבלים אותו אות שעון, ולוגיקה צירופית: הרכיבים,A B דוגמים בעליית שעון, והרכיב C דוגם בירידת שעון. אות השעון מקיים:.T high = 35ns, T low = 5ns בנוסף, נתונים הזמנים הבאים: TpCQ(FF) TcCQ(FF) Tsetup(FF) Thold(FF) Tpd(And), Tpd(Nand) Tcd(And), Tcd(Nand) 7ns ns 6ns 6ns ns 3ns האם תנאי ה- setup מתקיים בכל הרכיבים במערכת? האם תנאי ה- hold מתקיים בכל הרכיבים במערכת? כן / לא כן / לא.. כעת נניח שקיים skew אי-שלילי בין הרכיבים: כל שינוי באות השעון שמתרחש בזמן T מגיע לרכיבים,A B בזמן T, אבל מגיע לרכיב C בזמן T. + Tskew עבור אילו ערכים של Tskew כל הרכיבים במעגל מקיימים את תנאי ה- setup? סמנו את התחום הגדול ביותר שכל ערכיו מקיימים את התנאי. 8ns Tskew ns א. ns Tskew ns ב. ns Tskew 4ns ג. אין ערכים של Tskew שעבורם כל הרכיבים מקיימים את תנאי ה- setup. ד..3

שאלה פתרון. כן, כל תנאי ה- setup מתקיימים. עבור המסלול :A,B <- C TpCQ(FF) + Tpd(Nand) + Tpd(And) + Tsetup = 7 + + 6 = 33 < 35 = Thigh עבור המסלול :C -> A,B TpCQ(FF) + Tpd(Nand) + Tsetup = 7 + + 6 = 3 < 5 = Tlow. כן, כל תנאי ה- hold מתקיימים. התנאי עבור הרגיסטר C: Tlow + TcCQ(FF) + Tcd(Nand) + Tcd(And) = 5 + + 3 = 33 > 6 = Thold התנאי עבור הרגיסטרים :A,B Thigh + TcCQ(FF) + Tcd(Nand) = 35 + + 3 = 4 > 6 = Thold.3 עבור המסלול :A,B -> C TpCQ(FF) + Tpd(Nand) + Tpd(And) + Tsetup Thigh + Tskew 7 + + 6 35 + Tskew Tskew עבור המסלול :C -> A,B TpCQ(FF) + Tpd(Nand) + Tsetup Tlow Tskew 7 + + 6 5 Tskew Tskew נתון שה- skew אי-שלילי לכן סה"כ.ns Tskew ns

( DMA נק'(:. בשאלה זו נעסוק בפרוטוקול DMA שפועל ב- mode.burst במהלך העברת הנתונים בפרוטוקול,DMA עוברים האותות הבאים בין היחידות השונות )לא בהכרח בסדר הזה(: DMA Request, DMA Acknowledge Hold Request asserted, Hold Acknowledge asserted Hold Request deasserted, Hold Acknowledge deasserted burst mode הוא אחד מאופני הפעולה של פרוטוקול.DMA ב- mode זה נקבע שמרגע שה-( Controller DMAC (DMA מתחיל להעביר נתונים על ה- bus, ה- cpu לא יכול להפריע להעברה עד לסיומה. כמו כן, ידוע שכאשר ה- DMAC מסיים את ההעברה, הוא מיד מפנה את הbus. נרצה לקרוא מידע מה- DISK לזיכרון הראשי בעזרת.DMA עבור כל אחד מהאותות הבאים, הקיפו את התשובה הנכונה: א. האות Hold Request asserted עובר בין ה- CPU / DMAC / DISK אל ה- CPU / DMAC / DISK ב. האות Hold Request deasserted עובר בין ה- CPU / DMAC / DISK אל ה- CPU / DMAC / DISK ג. האות Hold Acknowledge asserted עובר בין ה- CPU / DMAC / DISK אל ה- CPU / DMAC / DISK ד. האות DMA Acknowledge עובר בין ה- CPU / DMAC / DISK אל ה- CPU / DMAC / DISK. בשימוש בפרוטוקול,DMA נפלה שגיאה באות Hold Request deasserted )ולא ניתן לתקנה( כך שאות זה לא מגיע ליעדו. הקיפו את התשובה הנכונה: א. לא תתבצע כלל העברה של המידע לזיכרון הראשי. ב. תתבצע העברה של המידע לזיכרון הראשי, אך ה- CPU לא יוכל להשתמש במידע. ג. תתבצע העברה של המידע לזיכרון הראשי וה- CPU יוכל ישתמש בה. בשימוש בפרוטוקול,DMA נפלה שגיאה באות DMA Request )ולא ניתן לתקנה( כך שאות זה לא מגיע ליעדו. הקיפו את התשובה הנכונה: א. לא תתבצע כלל העברה של המידע לזיכרון הראשי. ב. תתבצע העברה של המידע לזיכרון הראשי, אך ה- CPU לא יוכל להשתמש במידע. ג. תתבצע העברה של המידע לזיכרון הראשי וה- CPU יוכל ישתמש בה. בשימוש בפרוטוקול,DMA נפלה שגיאה באות Hold Acknowledge deasserted )ולא ניתן לתקנה( כך שאות זה לא מגיע ליעדו. הקיפו את התשובה הנכונה: א. לא תתבצע כלל העברה של המידע לזיכרון הראשי. ב. תתבצע העברה של המידע לזיכרון הראשי, אך ה- CPU לא יוכל להשתמש במידע. ג. תתבצע העברה של המידע לזיכרון הראשי וה- CPU יוכל ישתמש בה...3.4

3. בקר ומסלול נתונים ) נק'(: נתון מסלול הנתונים הבא:,X,Y Z הינם רגיסטרים מותנים שערכם ההתחלתי הוא,x,y z בהתאמה. נתונים שלושה רכיבים צירופים: ADD מחבר, SUB מחסר, MUL מכפל. ההשהיה של כל אחד מהרכיבים היא כמעט מחזור שעון. השהית הבקר, הבוררים והרגיסטרים זניחה. מלא בטבלה הבאה את ערך קווי הבקרה הנדרשים בכל מחזור על מנת שערכו של הרגיסטר X בסוף הריצה יהיה: x + y + z הערות: יש לבצע את הפעולה במספר מינימלי של מחזורי שעון. כתבו את הערכים בטבלה בבסיס עשרוני. סמנו don t care כ- לפי הצורך )נדרש להשתמש ב- care don t כשאפשר(. ייתכנו שורות ריקות בטבלה, אך אין צורך להוסיף שורות. ניתן להניח שלא תתרחש גלישה )overflow( באף שלב....3.4 Cycle sel sel sel sel3 sel4 sel5 sel6 sel7 sel8 ldx ldy ldz 3 / / 4 / / 5 6

הערה: יש כמה פתרונות אפשריים נוספים בארבעה מחזורי שעון הסבר: Z z z = z במחזור הראשון נבצע: פעולת כפל בין z ל- z ונשמור את התוצאה ב- Z במחזור השני נבצע: Y Y Y = y y = y Z Z + Z = z + z = z פעולת כפל בין y לבין y ונשמור את התוצאה ב- Y פעולת חיבור בין Z החדש לעצמו ונשמור את התוצאה ב- Z X X X = x x = x Y Y + Z = y + z - במחזור השלישי נבצע: פעולת כפל בין x לבין x ונשמור את התוצאה ב- X פעולת חיבור Y ו- Z ושמירתם ב- Y במחזור הרביעי נבצע: X X + Y = x + y + z פעולת חיבור בין X ל- Y ונשמור ב- X

.4 Verilog ( נק'(: בשקף המצורף )מהתרגול( מתוארת סכמת הForwarding המתאימה לMIPS,Pipelined כתבו קוד Verilog המממש את המודול Forwarding_unit כפי שנלמד בהרצאות ובתרגולים )ולא בש.ב(. module forwarding_unit (RS, RT, MEM_Rd, WB_Rd, MEM_RegWrite, WB_RegWrite, ForwardA, ForwardB); input [4:] RS, RT; input [4:] MEM_Rd, WB_Rd; input MEM_RegWrite, WB_RegWrite; output reg [:] ForwardA, ForwardB; always @ ( * ) begin // Init all signals to (no forwarding) {ForwardA, ForwardB} <= ; // Forwarding for RS if (MEM_RegWrite && RS == MEM_Rd && MEM_Rd) ForwardA <= 'd; else if (WB_RegWrite && RS == WB_Rd && WB_Rd) ForwardA <= 'd; // Forwarding for RT if (MEM_RegWrite && RT == MEM_Rd && MEM_Rd) ForwardB <= 'd; else if (WB_RegWrite && RT == WB_Rd && WB_Rd) ForwardB <= 'd; end endmodule // forwarding

5. פייפליין )7 נק'(: נתונות מערכות ה- pipeline הבאות, שכל אחת מהן מממשת פונקציה: מערכת A, המחשבת את הפונקציה (x,y) f: A מערכת B, המחשבת את הפונקציה (x,y) f: B מערכת C, המחשבת את הפונקציה (x,y) f: C כל מלבן מייצג רגיסטר אידיאלי, וכל עיגול מייצג רכיב לוגיקה צירופית )לא בהכרח אותה לוגיקה(. כל החוטים והרגיסטרים הם ברוחב n ביטים. נתון כי ההשהיה של כל הרכיבים הצירופיים באותה מערכת זהים, אך לאו דווקא בין המערכות. לדוגמא: מתקיים Tpd(A4) Tpd(A) == אך יתכן Tpd(A).Tpd(B)!= זמן המחזור של כל מערכת הוא המינימלי האפשרי. נתונים לכם הרכיבים הצירופיים הבאים: A, A, A3, A4, B, B, C, C, C3, C4, C5 )אותם רכיבים המשמשים למימוש המערכות הנתונות( וגם כן מספר בלתי מוגבל של רגיסטרים אידיאליים. עליכם לממש מערכות k-pipeline הנקראות D, שE מממשות את הפונקציות הבאות בהתאמה: f D (x,y,z) = f A (x,f B (y,z)) f E (x,y,z,w) = f C (f D (x,y,z),w) רונאלדו ומסי, זוג סטודנטים בקורס תכן לוגי, דנים ביניהם על אפשרויות מימוש. רונאלדו: "אפשר לממש את D במערכת 4-pipeline כך ש- Throughput(A)."Throughput(D) = מסי: "אפשר לממש את E במערכת 6-pipeline כך ש- Throughput(A)."Throughput(E) = סמנו את הטענה הנכונה: רונאלדו בהכרח צודק. אם רונאלדו צודק, אז מסי בהכרח טועה. רונאלדו בהכרח טועה. אם רונאלדו טועה, אז מסי בהכרח טועה. מסי בהכרח טועה....3.4.5

>= Cycle(E) > Cycle(A) רונאלדו טועה >= Tpd(A) >= Cycle(D) > Cycle(A) >= Tpd(B) > Throughput(A) >= Throughput(E) < מסי טועה

( Procedures calls נק'(:.6 נתון קטע הקוד הבא בשפת C: int f(int x, int y, int z){ if(x <= ) { return ;} int arr[3]; arr[] = f(x-, y,z) + ; return arr[]; } ידוע שלאחר הקימפול ל- Assembly,MIPS הפונקציה f משתמשת בערכים של,s$.,s$,s$ s3$ א. מהו גודל ה- frame )בבתים( של הפונקציה? f 96 bytes תשובה: ב. ידוע כי הפונקציה g קוראת לפונקציה f באופן הבא: (6,,)f. הקף בעיגול את מספר הערכים השונים שיחזיק רגיסטר $ra החל מהקריאה של g ל- f )כולל, כלומר החל מהרגע שבו $ra מכיל את כתובת החזרה ל- g (. 5 6 7 8 א. ב. ג. ד. ה. הסבר: ערך אחד יהיה כתובת חזרה ל- g וערך שני יהיה תמיד אותה כתובת שהיא החזרה לפונקציה f מהקריאה הרקורסיבית.

.7 זמני 3( MIPS נק'(: מריצים את התוכנית הבאה על המעבדים שנלמדו בקורס: loop: addi $t, $zero, addi $t, $zero, 5 sw $t, ($t) addi $t, $t, addi $t, $t, 4 bne $t, $t, loop מהו זמן ריצת התוכנית, הנמדד במספר מחזורי שעון, על כל אחד מהמעבדים? שימו לב: זמן ריצת התוכנית נמדד החל ממחזור השעון שבו מתחיל ביצוע הפקודה הראשונה )למשל, ב- מחזור השעון שבו מסתיים ביצוע הפקודה האחרונה )למשל, ב- Pipeline ועד זהו מחזור ה- Fetch ( Pipline זהו מחזור ה- WB (, כולל. Single-Cycle Mips. 83 Multi-Cycle Mips. 5 Register File Split ללא,Forwarding ללא Pipelined Mips וללא Fast single-cycle branch )וללא )delay slot.3 38 Register File Split ועם Forwarding עם Pipelined Mips וללא Fast single-cycle branch )וללא )delay slot.4 תזכורת: ב- Mips Pipelined הרגיל )ללא )Fast single-cycle branch מניחים branch not taken ולכן אם הפקודה בפועל taken נצטרך לבצע flush לפקודות העוקבות שכבר נכנסו ל- pipeline. נגדיר מנגנון שיקרא,Branch Prediction שמטפל בפקודות.branch המנגנון שומר דגל "תחזית" בודד, שערכו taken או.not-taken המנגנון קורא בשלב ה- Fetch את הפקודה ואם היא branch וגם ערך הדגל הוא taken הפקודה שתיכנס ל- pipeline במחזור הבא היא יעד הקפיצה )אחרת היא הפקודה שאחרי ה-,branch כרגיל(. כשה- branch מגיע לשלב ה- MEM, בודקים האם צדקנו בתחזית. אם שגינו - הופכים את הדגל )מ- taken ל- not-taken או להיפך( ועושים.flush 3 מהו זמן הריצה של התוכנית )הנמדד במספר מחזורי שעון( במעבד Pipeline,Forwarding עם Mips עם Register File Split ועם מנגנון ה- Prediction?Branch הניחו שבתחילת הריצה דגל התחזית מאותחל ל- not-taken..5

פתרון:. עבור,Single זמן הריצה הוא מספר הפקודות. לכן = 4 5. +. עבור Multi נזכור כי פקודת addi, sw לוקחת 4 מחזורים ופקודת bne לוקחת 3 מחזורים. לכן: ( + 5 ) T addi + 5 T sw + 5 T bne = ( + 5 ) 4 + 5 4 + 5 3 = 83 3. יש data hazard בין הפקודה הראשונה לשלישית שגורם ל- nops, ויש data hazard בין הפקודה הרביעית והשישית שגורם ל- nop בכל איטרציה. בנוסף יש control hazard בפקודת ה- bne : במשך 4 פעמים, כל פעם גורם ל- nops 3. לסיום נוסיף 4 מחזורים לריקון הצינור. לכן: #commands + #datanops + #controlnops + #empty = + ( + 5 ) + (4 3) + 4 = 5 4. המעקפים ופיצול הרגיסטרים פותרים את כל ה- hazard,data עבורם כבר לא צריך nops )נשתמש במעקף.)EXE/WB ה- hazards control לא השתנו. לכן: #commands + #datanops + #controlnops + #empty = + + 4 3 + 4 = 38 5. במשך 4 פעמים הראשונות ה- bne הוא,taken ובפעם האחרונה הוא.not taken בפעם הראשונה התחזית היא,not taken לכן נעשה "נבזבז" 3 מחזורים על תחזית שגויה. ב- 3 הפעמים הבאות התחזית תהיה taken והפקודה אכן קופצת, לכן לא נבזבז אף מחזור. באיטרציה האחרונה של הלולאה התחזית היא taken והפקודה היא,not taken לכן שוב נבזבז 3 מחזורים על תחזית שגויה. סה"כ: #commands + #datanops + #controlnops + #empty = + + 3 + 4 = 3

( MIPS נק'(:.8 בשאלה זו נדון בגרסאות שונות של.Multi-Cycle Mips בגרסאות אלו, מסלול הנתונים זהה ל Multi-Cycle Mips המוכר, אולם המעבדים תומכים רק בחלק מפקודות המכונה שמופיעות ב- ISA. מהו סוג הבקר של Multi-Cycle Mips )הקיפו בעיגול(?.Mealy / Moore בטבלה הבאה מופיעות גרסאות שונות של.Multi-Cycle Mips כל גרסא נבדלת בפקודות הנתמכות ובסוג הבקר של המעבד. עבור כל גרסא, רשמו את מספר המצבים הכולל שיהיה לבקר המתאים. ניתן להוסיף הסבר קצר במידת הצורך )לא חובה, ההסבר ייבדק במקרה של טעות במספר המצבים(. הערה: בכל אחד מהסעיפים עליכם להניח שהבקר הוא מכונת מצבים מצומצמת, אך אין צורך לאחד מצבים בהם כותבים ל- File.Register.. פקודות נתמכות סוג בקר מספר מצבים בבקר הסבר קצר )לא חובה( Mealy add, sub, addi, ori, sw, lw, beq, j Mealy add, sub, addi, sw, lw, bne, j Moore add, addi, sw, lw, beq 3 או 4 Moore add, sub, addi, sw, lw, beq 3 או 4 Moore add, sub, addi, sw, lw, beq, bne

)8 נק'(: MIPS.9 סטיבן, סטודנט בקורס, החליט להשוות בין Multi-cycle MIPS ובין Single-cycle MIPS הבנויים מרכיבים. זהים. כל הרגיסטרים בעלי השהייה זהה, בפרט זמני ההשהיה של הרכיבים: Memory, Register File, ALU הם: בהתאמה. זמני ההשהיה זהים בין קריאה וכתיבה וכן בין זיכרון הנתונים וזיכרון הפקודות. יתר הזמנים מלבד החמישה שהוזכרו זניחים. כדי להשוות בין המעבדים כתב סטיבן תכנית ללא קפיצות המורכבת מפקודות.R-type, I-type, SW, LW מספר הפקודות מכל סוג הוא )בהתאמה(. כתבו תנאי הכרחי ומספיק לכך שהתכנית תרוץ מהר יותר על Single-cycle MIPS כתלות בפרמטרי השאלה. (N R + N I + N SW + N LW ) (Tpcq + T MEM + T RF + T ALU + T setup ) < (4N R + 4N I + 4N SW + 5N LW ) (Tpcq + max (T MEM, T RF, T ALU ) + T setup )

MIPS. ( נק'(: נגדיר את הפקודה החדשה הבאה: sif Ri, Rj, Rk הפקודה טוענת את ערך Rk לכתובת Rj+Rk בזיכרון, וגם טוענת את תוצאת החיבור Rj+Rk לרגיסטר.Ri ובסימונים: MEM[Rj+Rk] Rk Ri Rj+Rk א. מהו הקידוד הבינארי של הפקודה? כתבו את שמות השדות, את התוכן של כל שדה, ורוחב כל שדה בביטים. ניתן להניח כי 35 opcode פנוי. אם יש שדה שלא חשוב מה התוכן שלו, ציינו זאת. Opcode (6-bit) = 35, Rs (5-bit) = j, Rt (5-bit) = k, Rd (5-bit) = i, shamt (5-bit) =, funct (6-bit) = don t care ב. מהם השינויים המינימליים הנדרשים במימוש של Pipelined MIPS כדי שיתמוך בביצוע הפקודה החדשה sif )כפקודת מכונה יחידה, ולא כפסאודו-פקודה(? שינויים בבקר בלבד. a. הוספת או הרחבת בורר אחד, ושינויים בבקר. b. הוספת או הרחבת או 3 בוררים, ושינויים בבקר. c. הוספת Adder לתחנת,MEM ובנוסף הוספת או הרחבת עד 3 בוררים ושינויים בבקר. d. הוספת Adder לתחנת,WB ובנוסף הוספת או הרחבת עד 3 בוררים ושינויים בבקר. e. שינוי במבנה קובץ הרגיסטרים, ובנוסף הוספת או הרחבת עד 3 בוררים ושינויים בבקר. f. לא ניתן לממש את sif כפקודת מכונה יחידה. g. שימו לב: אסור לגרום לכך שפקודות אחרות לא יעבדו. אסור להאריך את זמן מחזור השעון. הניחו שהמעבד אינו כולל Hazard Detection Unit, RF Split, Forwarding או יחידת.Fast Single-Cycle Branch הניחו שאין צורך בלטפל ב- hazards data או ב- hazards.control