Presentation is loading. Please wait.

Presentation is loading. Please wait.

234262 – © Dima Elenbogen 2009 11:43 להזכירכם ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק הזמן העובר מהרגע שבו התקבל.

Similar presentations


Presentation on theme: "234262 – © Dima Elenbogen 2009 11:43 להזכירכם ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק הזמן העובר מהרגע שבו התקבל."— Presentation transcript:

1 234262 – © Dima Elenbogen 2009 11:43 להזכירכם ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק הזמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. בעזרת pipeline טהור התחלנו לפתור סוג חדש של בעיות: הפעלת אלגוריתם פשוט על הרבה קלטים המגיעים ברצף אחד אחרי השני. במערכות כאלה הגדרנו 2 מדדים:

2 234262 – © Dima Elenbogen 2009 11:43 דוגמה פשוטה

3 234262 – © Dima Elenbogen 2009 11:43 מסקנה : קלט קודם כל נקלט ברגיסטר מבוא דוגמה פשוטה (במילים אחרות)

4 234262 – © Dima Elenbogen 2009 11:43 פיתרון ראשוני: Pipeline טהור מסקנה : קלט קודם כל נקלט ברגיסטר מבוא

5 Latency = _________ T cycle = _________ Throughput = _________ 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. ביצועי Pipeline טהור

6 Latency = _________ T cycle = T pd (A) + T pd (FF) Throughput = _________ 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. ביצועי Pipeline טהור

7 Latency = _________ T cycle = T pd (A) + T pd (FF) Throughput = _________ 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. זניח ביצועי Pipeline טהור

8 Latency = _________ T cycle = T pd (A) Throughput = 1/ T cycle = 1/T pd (A) = 1/30 ns -1 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. ביצועי Pipeline טהור

9 Latency = T cycle = T pd (A) T cycle = T pd (A) Throughput = 1/ T cycle = 1/T pd (A) = 1/30 ns -1 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. אבל ניתן להשיג ספיקה גדולה יותר!..

10 234262 – © Dima Elenbogen 2009 11:43 אם נשתמש בכל 3 היחידות החישוביות שברשותנו

11 234262 – © Dima Elenbogen 2009 11:43 חיווט ישיר אסור בהחלט!

12 234262 – © Dima Elenbogen 2009 11:43 חייבים בורר

13 234262 – © Dima Elenbogen 2009 11:43 הפיתרון מבוסס על הפרשי פזות של החישובים המקביליים ועל מניעת אבטלה ביחידות החישוביות

14  מהו אופן הפעולה כאן ?  מהי השפעת העובדה שהבורר אינו אדיש ? 234262 – © Dima Elenbogen 2009 11:43 ביצועי המערכת 4 4

15  מה השתפר לנו ? 234262 – © Dima Elenbogen 2009 11:43 3 3 המערכת כאשר הבורר אדיש

16 234262 – © Dima Elenbogen 2009 11:43 Thhroughput gen ו - τ ספיקה כללית של המערכת (Throughput gen ) כמה חישובים מסוגלת המערכת לבצע ביחידת זמן או במילים אחרות קצב הגעת קלטים או במילים אחרות קצב הוצאת קלטים נגדיר τ כפרק זמן שחולף בין 2 קלטים עוקבים או במילים אחרות כפרק זמן שחולף בין 2 פלטים עוקבים τ = 1 / Throughput gen

17 Latency= Throughput gen = T cycle = חיבור במקביל טהור 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. ביצועי מערכת מקבילית כללית 1 2 3

18 חיבור במקביל טהור 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. ספיקת המערכת המקבילית Latency = Throughput gen ≤ Σ {Throughput i } = Σ {1/Tpd i } T cycle = 1 2 3

19 Latency = depends on our design of the controller and T cycle Throughput gen ≤ Σ {Throughput i } = Σ {1/Tpd i } T cycle = חיבור במקביל טהור 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. Latencyבמערכת המקבילית 1 2 3

20 Latency = depends on our design of the controller and T cycle Throughput gen ≤ Σ {Throughput i } = Σ {1/Tpd i } T cycle = CD {Tpd i, τ } (i.e.  t  {Tpd i, τ }. t/T cycle  ℕ ) חיבור במקביל טהור 234262 – © Dima Elenbogen 2009 11:43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. קביעת זמן מחזור לשם השגת הספיקה המירבית 1 2 3

21 234262 – © Dima Elenbogen 2009 11:43 דוגמה 2

22 234262 – © Dima Elenbogen 2009 11:43 ניסיון I  כיצד היינו משנים את מסלול הנתונים אלמלא הבורר היה אדיש ?

23 234262 – © Dima Elenbogen 2009 11:43 ספיקה וזמן מחזור לניסיון I Throughput gen ≤ Σ {Throughput i } = Σ {1/Tpd i } = ⅓ + ⅙ = ½ τ = 1 / ½ = 2ns T cycle = CD {Tpd i, τ } = CD {3, 6, 2} = 1

24 234262 – © Dima Elenbogen 2009 11:43 בעית ניסיון I בעיה:ה-latencies ב-2 האפיקים לא מאוזנים. סדר הוצאת הפלטים עלול להתבלגן.  כיצד נעכב את האפיק הקל? מה הבעיה כאן ?

25 234262 – © Dima Elenbogen 2009 11:43 ניסיון II  האם איזנו את ה-latencies?  האם מותר להוסיף עוד רגיסטר עיכוב לאפיק הקל? מאזן את ה - Latencies

26 234262 – © Dima Elenbogen 2009 11:43 מסלול הנתונים הסופי  מה הספיקה המירבית הניתנת להשגה?  מהו זמן המחזור המאפשר זאת?  מה יהיה ה-latency?

27 234262 – © Dima Elenbogen 2009 11:43 ביצועי הסלול הנתונים (שאיפתנו) Throughput gen ≤ Σ {Throughput i } = Σ {1/Tpd i } = ⅓ + ⅙ = ½ τ = 1 / ½ = 2ns T cycle = CD {Tpd i, τ } = CD {3, 6, 2} = 1 Latency = depends on our design of the controller

28 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר עדיין לא מובטח לנו שהמערכת תעמוד בספיקה המירבית. אנו חייבים לדאוג בבקר לכך שלא תהיה אבטלה ביחידות החישוביות.  כמה מצבים יהיו בבקר?

29 234262 – © Dima Elenbogen 2009 11:43 N states 1 2 3 כמה מצבים יהיו בבקר?  t  {Tpd i, τ }. N states * T cycle / t  ℕ N states = CM {Tpd i, τ } / T cycle

30 234262 – © Dima Elenbogen 2009 11:43 N states בדוגמה 2 כמה מצבים יהיו בבקר? N states = CM {Tpd i, τ } / T cycle = CM {3, 6, 2} / 1 = 6

31 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר

32 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: האפיק הכבד ld6 עדיף להתחיל מהמסלול הכבד מאחר ואין בו רגיסטרי עיכוב.

33 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: האפיק הכבד (המשך) ld6 sel = 1

34 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: הפלטים בקצב אחיד ld6 sel = 1 Throughput gen = חישוב 1 ב -2ns sel = 0

35 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: latencies מאוזנים בכל אפיק ld6 sel = 1 Latency = 6ns על פי האפיק הכבד ld1 sel = 0 ld1 sel = 0

36 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: האפיק הקל ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2

37 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: האפיק הקל ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2 A’ מוכנה לקבל נתון חדש כל 3ns

38 234262 – © Dima Elenbogen 2009 11:43 תכנון בקר: האפיק הקל (המשך) ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2 ld3 ld2 ld3

39 234262 – © Dima Elenbogen 2009 11:43 הבקר מוכן ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2 ld3 ld2 ld3

40 234262 – © Dima Elenbogen 2009 11:43 אימות הבקר ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2 ld3 ld2 ld3 כמובן עליכם לוודא ש : הקלטים נקלטים בקצב אחיד הפלטים מוּצאים באותו הקצב זמן חישוב זהה לכל קלט ( למרות שעל פי הדרישות הללו בנינו את מעכת )

41 234262 – © Dima Elenbogen 2009 11:43 אימות הבקר (המשך) ld6 sel = 1 ld1 sel = 0 ld1 sel = 0 ld2 ld3 ld2 ld3 ובנוסף עליכם לוודא ש : שום נתון או תוצאת בייניים לא הולך לאיבוד ( לא נדרס ) כל תוצאת בייניים אכן מספיקה להיחשב לפני עידכון רגיסטר היעד שלה. כלומר, לוודא שכאשר מעדכנים רגיסטר אזיי : הערך הקודם שלו מתקדם ( או כבר התקדם ) ליעד הבא ( לרבות אחרי חישוב ) אם הוא מקבל ערך מיחידה חישובית, אז היא כרגע סיימה את החישוב.

42 234262 – © Dima Elenbogen 2009 11:43 עבודה עצמית: פונקציות מורכבות כעת אתם מסוגלים לבנות 2 תתי-מערכות בסיסיות המחשבות פונקציות פשוטות A(x) ו-B(x) בהתאמה: אתם יכולים ליצור מערכת שתחשב פונקציה מורכבת ƒ(x) = B(A(x)). לשם עליכם לחשוב בגישה pipeline-ית ולשרשר את תתי-המערכות הבסיסיות 1 2 3 4 5 6 B1B1 B2B2 B3B3 A B

43 234262 – © Dima Elenbogen 2009 11:43 עבודה עצמית: פונקציות מורכבות f(x) = B(A(x)) שירשור תתי-המערכות הבסיסיות: 1 2 3 4 5 6 B1B1 B2B2 B3B3 A B  האם נרשה אבטלה בחלק מהיחידות החישוביות? אם כן, מתי ואיפה?  מהי הספיקה הגבוהה ביותר של המערכת המשורשרת?  מה צריך להיות זמן מחזור על מנת שהספיקה הנ''ל תושג?  כמה מצבים יהיו בבקר המנהל את המערכת המשורשרת?


Download ppt "234262 – © Dima Elenbogen 2009 11:43 להזכירכם ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק הזמן העובר מהרגע שבו התקבל."

Similar presentations


Ads by Google