1 / 25

ביצועים

ביצועים. תזכורת. כאשר: מספר הפקודות בתוכנית - (ממוצע) מספר המחזורים שנדרש לפקודה אחת - הזמן שנמשך מחזור שעון אחד בשניות – לחילופין, כאשר: מספר מחזורי השעון בשנייה אחת -. CPI in pipelined implementation. CPI = (Ci+Cb)/Ci = 1 + Cb/Ci CPI = 1.27. שאלת חימום.

oswald
Télécharger la présentation

ביצועים

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ביצועים

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

  3. CPI in pipelined implementation • CPI = (Ci+Cb)/Ci = 1 + Cb/Ci • CPI = 1.27 אורגד קלר, תום שפיגלמן

  4. שאלת חימום • ידועים לנו שני חסרונות במעבד מסוים: • זמן הביצוע של כל סוגי ה- jmp ארוך מידי. • זמן הטיפול ב- overflow אריתמטי גם הוא ארוך. • ביכולתנו לשפר את זמן הביצוע ב-1 ב-20% ואילו ב- 2 פי 8. כמו כן, ידוע שתדירות פקודות jmp כ- 15% ותדירות overflow נדיר ביותר, 0.001%. באיזה שיפור כדאי לבחור, בהנחה שמגבלות התקציב אינן מתירות בחירה בשניהם? אורגד קלר, תום שפיגלמן

  5. "לשפר את זמן הביצוע ב-1 ב-20%" • שתי דרכים להבין זאת: • זמן הביצוע החדש של פקודת jmp הוא 80% מזמן הביצוע הישן. מדד ה-Speedup הוא בעצם חלוקת הזמן הישן בזמן החדש – במילים האחרות, Speedup לוקח את הזמן החדש להיות ה-100%, ולכן הזמן הישן של פקודות ה-branch הוא 120% מהחדש. • אנו נשתמש בקורס בפירוש השני. אורגד קלר, תום שפיגלמן

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

  7. תשובה - המשך • ההצעה הראשונה נותנת שיפור של 2.5%. • ההצעה השנייה נותנת שיפור מזערי של 0.00875%. • לכן ההצעה הראשונה הרבה יותר טובה. • בצורה מקבילה ניתן לפתור זאת ע"י Amdahl’s Law, שמחשב את אחוז השיפור בצורה מאוד דומה: אורגד קלר, תום שפיגלמן

  8. ש1. אורגד קלר, תום שפיגלמן

  9. תשובה • א. כדי "להפגין" ביצועים כמה שיותר טובים, נשתמש רק בפקודות שה-CPI שלהם הכי קטן. • ב-M1, אלו פקודות מסוג A בלבד. • ה-M2, אלו פקודות מסוג A או B. • ברור שמדד ה-peak performance מאוד מטעה – בתוכנית "אמיתית" אנו נאלצים להשתמש בפקודות מסוגים שונים אורגד קלר, תום שפיגלמן

  10. תשובה - המשך • ב. ה-CPI למעשה יהיה ממוצע יחסי של הפקודות, עפ"י "משקלן" בקוד תוכנית טיפוסית, כפי שנתון. • מכיוון שלכל סוג אותו משקל יחסי, נחשב ממוצע "רגיל" בין הסוגים: אורגד קלר, תום שפיגלמן

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

  12. ש2. • ממש לא. אמנם יש פחות פקודות (IC), אולם לא התייחסנו לכמות מחזורי השעון שצורכת כל פקודה (CPI), וגם (אם רלוונטי) למשך מחזור שעון אחד בשניות (CCT). לדוגמא, במכונת CISC יהיו באמת מעט שורות קוד, אך ביצוע כל שורת קוד כזאת ידרוש הרבה יותר מחזורי שעון מאשר קוד שמבצע את אותה הפעולה במכונת RISC. אורגד קלר, תום שפיגלמן

  13. ש3. אורגד קלר, תום שפיגלמן

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

  15. ש4. אורגד קלר, תום שפיגלמן

  16. תשובה • נחשב את זמן ה-CPU (ב-ns) בכל גרסה: • אנו רואים שהשינוי משתלם. אנו מניחים כאן שה-CPI עבור פקודות שאינן shift הוא ה-CPI הישן. אם ננסה לחשבו ממש (, ) נקבל ערך קרוב מאוד של 1.217 אורגד קלר, תום שפיגלמן

  17. ש5. אורגד קלר, תום שפיגלמן

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

  19. תשובה - המשך • נשתמש בנוסחא: אורגד קלר, תום שפיגלמן

  20. תשובה - המשך • כיצד יכול להיות שה-MIPS של מודל ה-MNFP גבוה משמעותית מזה של מודל ה-MFP? • מדד ה-MIPS אינו מביא בחשבון את ה-IC. אבל, במודל ה-MNFP ה-IC תפח בצורה משמעותית: לדוגמא: פקודת FP divide אחת במודל ה-MFP, נמשכת במודל ה-MNFP 50 מחזורי שעון, כלומר למעשה הוחלפה ב-25 פקודות Integer. • לסיכום, מדד ה-MIPS אינו יכול להשוות בין Instruction Sets שונים. אורגד קלר, תום שפיגלמן

  21. ש6. • לפנינו מחשב העובד בתדר שעון של 100MHz. פילוג הפקודות בו: • א. מה ה-CPI הממוצע של המחשב? • ב. מה יהיה השיפור בביצועים (Speedup) אם נוסיף Cache אידיאלי לקריאת הפקודה בלבד אשר יוריד את ה-CPI הממוצע בחצי מחזור לפקודה? • ג. מה יהיה השיפור בבצועים (יחסית למחשב המקורי) אם ל-cache מהסעיף הקודם יהיה miss rate של 10% ועלות כל miss תהיה 3 מחזורי שעון? • ד. מה יהיה השיפור בביצועים אם נצליח במחשב המקורי לקצר את זמן ביצוע פקודות ה- Arithmeticל-3 מחזורים במחיר של הקטנת תדר השעון ל-95MHz? אורגד קלר, תום שפיגלמן

  22. תשובה • א. נשתמש בנוסחא: אורגד קלר, תום שפיגלמן

  23. תשובה - המשך • ב. השיפור משפיע על כל הפקודות ולכן: אורגד קלר, תום שפיגלמן

  24. תשובה - המשך • ג. נזכור שה-Cache המדובר הוא Cache לקריאת פקודות בלבד, ולכן, שוב, הוא משפיע על כל הפקודות: אורגד קלר, תום שפיגלמן

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

More Related