234262 – © dima elenbogen 2009 4:11 להזכירכם ספיקה (throughput)כמה חישובים...

50
234262 © – Dima Elenbogen 2009 :4 AM םםםםםםםם( םםםםםThroughput ) תתת תתתתתתת תתתתתת תתתתתת תתתת תתתתתת תתת.( םםםםםLatency ) תתת תתתת תתתתת תתתתת תתת תתתתת תתתת תת תתתת תתת תתתתת תתתת תתתתתת תתתת תתתת. תתתתתpipeline תתתת תתתתתת תתתתת תתת תתת תת תתתתת: תתתתת תתתתתתתת תתתת תת תתתת תתתתת תתתתתתת תתתת תתת תתתת תתתת. תתתתתתת תתתת תתתתתת2 תתתתת:

Post on 15-Jan-2016

229 views

Category:

Documents


0 download

TRANSCRIPT

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

234262 © – Dima Elenbogen 200909:34 AM

להזכירכם

כמה חישובים מסוגלת המערכת לבצע (Throughputספיקה )ביחידת זמן.

פרק הזמן העובר מהרגע שבו התקבל הקלט (Latencyעיכוב )עד הרגע שבו מופיע הפלט המתאים

לקלט ההוא.

טהור התחלנו לפתור סוג חדש של בעיות: pipelineבעזרת

הפעלת אלגוריתם פשוט על הרבה קלטים המגיעים ברצף

מדדים:2אחד אחרי השני. במערכות כאלה הגדרנו

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

234262 © – Dima Elenbogen 200909:34 AM

£°±ª®́ ³ ¡ ¨³ ´¥²¬̈ ´ ª ¦³ £� � � � �A(x) :´£®«ª£ §£¢¦±́ ² £«¦¬� � �

.. x1, x2, .., xi, .§¥́ ²£¡ ¦©́ ª £¡ °±�§£¬£�̈ �� � � � � � � �¦¥xi ¤³ ¨ ±́�¬¢±C . £¡£�

±́ ´ £ ¦¤£²°¢¦®� � � .£² ±̈ ² « £¡��°±�́ �°¦¤£²°¢¦®�� � � � � � � � � � � ,¦''ª¥´ ¡®¦�¬¢±�C²  ¡ ¨¦³�. ¡� �

´¦¬ ´ £ ¦´¥²¬̈ ¦¬� � � �´£¦¨£«¥̈ ±£®«�!

§¥́ ³ ²� �3´ £®²£°´ £¡£� � � �A´ ´ ³ ¡ ¨� � � �A(x)¦³ ´¦ ¨ ¦´ ¨¥� � � � � �§£²² §£ª́ ¨§£²¢«£ ²� � � � �¦� .§£³ £� �Tpd(A) = 30ns¦³ ££ ³ ©̈ � � � .

.¡ £ª §£ £¥² ² ³� � �

?§´£ª ³ ´¥²¬̈ ´±£®«£ ¨� � � ? ¥£¬���¨� � � � � � �

דוגמה פשוטה

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

234262 © – Dima Elenbogen 200909:34 AM

מסקנה:קלט קודם כל

נקלט ברגיסטר מבוא

דוגמה פשוטה )במילים אחרות(£°±ª®́ ³ ¡ ¨³ ´¥²¬̈ ´ ª ¦³ £� � � � �A(x) :´£®«ª£ §£¢¦±́ ² £«¦¬� � �

.. x1, x2, .., xi, .§¥́ ²£¡ ¦©́ ª £¡ °±�§£¬£�̈ �� � � � � � � �

¦¥xi ¬¢±¤³ ¨ ±́�C £¡£�² « £¡��°±�́ �°¦¤£²°¢¦®�� � � � � � � � � ,¦''ª¥ . ±́ ´ £ ¦¤£²°¢¦®� � � .£² ±̈� �´ ¡®¦�¬¢±�C²  ¡ ¨¦³�¡� �.

´¦¬ ´ £ ¦´¥²¬̈ ¦¬� � � �´£¦¨£«¥̈ ±£®«�!

§¥́ ³ ²� �3´ £®²£°´ £¡£� � � �A´ ´ ³ ¡ ¨� � � �A(x)¦³ ´¦ ¨ ¦´ ¨¥� � � � � � .§£³ £ ¦§£²²���§£ª́ �̈ §£²¢«£�²� � � � � � � �Tpd(A) = 30ns¦³ ££ ³ ©̈ � � � .

.¡ £ª §£ £¥² ² ³� � �

?§´£ª ³ ´¥²¬̈ ´±£®«£ ¨� � � ? ¥£¬���¨� � � � � � �

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

234262 © – Dima Elenbogen 200909:34 AM

טהור Pipeline פיתרון ראשוני:

מסקנה:קלט קודם כל

נקלט ברגיסטר מבוא

£°±ª®́ ³ ¡ ¨³ ´¥²¬̈ ´ ª ¦³ £� � � � �A(x) :´£®«ª£ §£¢¦±́ ² £«¦¬� � �

.. x1, x2, .., xi, .§¥́ ²£¡ ¦©́ ª £¡ °±�§£¬£�̈ �� � � � � � � �

¦¥xi ¬¢±¤³ ¨ ±́�C £¡£�² « £¡��°±�́ �°¦¤£²°¢¦®�� � � � � � � � � ,¦''ª¥ . ±́ ´ £ ¦¤£²°¢¦®� � � .£² ±̈� �´ ¡®¦�¬¢±�C²  ¡ ¨¦³�¡� �.

´¦¬ ´ £ ¦´¥²¬̈ ¦¬� � � �´£¦¨£«¥̈ ±£®«�!

§¥́ ³ ²� �3´ £®²£°´ £¡£� � � �A´ ´ ³ ¡ ¨� � � �A(x)¦³ ´¦ ¨ ¦´ ¨¥� � � � � � .§£³ £ ¦§£²²���§£ª́ �̈ §£²¢«£�²� � � � � � � �Tpd(A) = 30ns¦³ ££ ³ ©̈ � � � .

.¡ £ª §£ £¥² ² ³� � �

?§´£ª ³ ´¥²¬̈ ´±£®«£ ¨� � � ? ¥£¬���¨� � � � � � �

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

Latency = _________

Tcycle = _________

Throughput = _________

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

טהור Pipeline ביצועי

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

Latency = _________

Tcycle = Tpd(A) + Tpd(FF)

Throughput = _________

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

טהור Pipeline ביצועי

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

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

זניח

טהור Pipeline ביצועי

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

Latency = _________

Tcycle = Tpd(A)

Throughput = 1/Tcycle = 1/Tpd(A) = 1/30 ns-1

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

טהור Pipeline ביצועי

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

Latency = Tcycle = Tpd(A)

Tcycle = Tpd(A)

Throughput = 1/Tcycle = 1/Tpd(A) = 1/30 ns-1

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

אבל ניתן להשיג ספיקה גדולה יותר!..

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

234262 © – Dima Elenbogen 200909:34 AM

היחידות החישוביות 3אם נשתמש בכל שברשותנו

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

234262 © – Dima Elenbogen 200909:34 AM

חיווט ישיר אסור בהחלט!

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

234262 © – Dima Elenbogen 200909:34 AM

חייבים בורר

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

234262 © – Dima Elenbogen 200909:34 AM

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

החישוביות

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

44

?מהו אופן הפעולה כאן?מהי השפעת העובדה שהבורר אינו אדיש

234262 © – Dima Elenbogen 200909:34 AM

ביצועי המערכת

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

?מה השתפר לנו

234262 © – Dima Elenbogen 200909:34 AM

33

המערכת כאשר הבורר אדיש

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

234262 © – Dima Elenbogen 200909:34 AM

Thhroughputgen-ו τ

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

τנגדיר קלטים עוקבים2כפרק זמן שחולף בין • פלטים עוקבים2 או במילים אחרות כפרק זמן שחולף בין •

τ = 1 / Throughputgen

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

Latency =

Throughputgen =

Tcycle =

חיבור במקביל טהור

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

ביצועי מערכת מקבילית כללית

1

2

3

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

חיבור במקביל טהור

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

ספיקת המערכת המקבילית

Latency =Throughputgen ≤ Σ {Throughputi } = Σ {1/Tpdi } Tcycle =

1

2

3

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

Latency = depends on our design of the controller and Tcycle

Throughputgen ≤ Σ {Throughputi } = Σ {1/Tpdi } Tcycle =

חיבור במקביל טהור

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

Latencyבמערכת המקבילית

1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

Aiקביעת זמן מחזור מתוך מניעת אבטלה של

Tpd)Ai( = ki * Tcycle

Tpd)Ai(Tcycle

חישובית יחידה בסמוך Aiכל ממש חישוב כל לסיים צריכה קטע כאשר Cלתחילת אז. עד מאבטלה להימנע כדי Tpd(FF)

זניח, כל חישוב צריך להסתיים ממש בסמוך לסוף מחזור. כל יחידה חישוביתAi.מקבלת נתון לחישוב היישר מתוך רגיסטר החישוב על החישוב, ביצוע תחילת בטרם אבטלה למנוע בכדי

, כלומר בתחילת המחזור. Aלהתחיל מייד עם סיום קטע לכן כל חישוב ביחידה Ai :צריך להימשך מספר שלם של מחזורים

1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

קביעת זמן מחזור מתוך מניעת אבטלת כלל המערכת נתון מגיע לרגיסטר הראשון בכל אפיק ממש בסמוך לקטעC.

להכיל צריך נתונים של עוקבות הגעות שתי בין האינטרוול לכן בתוכו כמות שלמה של מחזורים.

האינטרוול ההוא הינוτ:לכן

τ = kτ * Tcycle

τTcycle

ℕ1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

קביעת זמן מחזור

τTcycle

ℕTpd)Ai(Tcycle

TTcyclecycle = CD {Tpd)A = CD {Tpd)Aii(, (, ττ}}

i.e. t{Tpd(Ai), τ} . t/Tcycle ℕ

מחלק משותף

בד''כ הגדול ביותר

)GCD(

ערך ממשי לאו דווקה

שלם

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

Latency = depends on our design of the controller and Tcycle

Throughputgen ≤ Σ {Throughputi } = Σ {1/Tpdi }

Tcycle = CD {Tpdi, τ} (i.e. t{Tpdi, τ} . t/Tcycle ℕ)

חיבור במקביל טהור

234262 © – Dima Elenbogen 200909:34 AM

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

פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו (Latencyעיכוב ) •הפלט המתאים לקלט ההוא.מופיע

זמן מחזור השעון לשם השגת הספיקה המירבית

1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

£°±ª®́ ³ ¡ ¨³ ´¥²¬̈ ´ ª ¦³ £� � � � �A(x) :´£®«ª£ §£¢¦±́ ² £«¦¬� � �

.. x1, x2, .., xi, .§ ¥́ ²£¡ ¦©́ ª £¡ °±�§£¬£�̈ �� � � � � � � �¦¥xi ¬¢±¤³ ¨ ±́�C ² « £¡��°±�́ �°¦¤£²°¢¦®�� � � � � � � � � ,¦''ª¥ . £¡£�

±́ ´ £ ¦¤£²°¢¦®� � � .£² ±̈� �´ ¡®¦�¬¢±�C²  ¡ ¨¦³�. ¡� �

´¦¬ ´ £ ¦´¥²¬̈ ¦¬� � � �´£¦¨£«¥̈ ±£®«�!

§¥́ ³ ²� �2´ £®²£°´ £¡£� � � � A’’ - �A’´ ´ ³ ¡ ¨� � � �A(x)´¦ ¨ ¦´ ¨¥� � � � � �.§£³ £ §£²² §£ª́ ¨§£²¢«£ ²¦³� � � � � � �

Tpd(A’) = 3ns Tpd(A’’) = 6ns

.¡ £ª §£ £¥² ² ³ ¦³ ££ ³ ©̈ � � � � � �

2דוגמה

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

234262 © – Dima Elenbogen 200909:34 AM

Iניסיון

?כיצד היינו משנים את מסלול הנתונים אלמלא הבורר היה אדיש

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

234262 © – Dima Elenbogen 200909:34 AM

Iספיקה וזמן מחזור לניסיון

Throughputgen ≤ Σ {Throughputi } = Σ {1/Tpdi } = ⅓ + ⅙ = ½

τ = 1 / ½ = 2ns

Tcycle = CD {Tpdi, τ} = CD {3, 6, 2} = 1

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

234262 © – Dima Elenbogen 200909:34 AM

Iבעית ניסיון

מה הבעיה

כאן?

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

234262 © – Dima Elenbogen 200909:34 AM

Iבעית ניסיון

האפיקים לא מאוזנים. סדר הוצאת 2 ב-latenciesה-בעיה:הפלטים עלול להתבלגן.

?כיצד נעכב את האפיק הקל

מה הבעיה

כאן?

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

234262 © – Dima Elenbogen 200909:34 AM

IIניסיון

-האם איזנו את ה latencies?

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

234262 © – Dima Elenbogen 200909:34 AM

IIניסיון

-כן איזנו את ה latencies??האם מותר להוסיף עוד רגיסטר עיכוב לאפיק הקל

מאזן את ה-

Latencies

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

234262 © – Dima Elenbogen 200909:34 AM

מסלול הנתונים הסופי

?מה הספיקה המירבית הניתנת להשגה ?מהו זמן המחזור המאפשר זאת -מה יהיה ה latency?

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

234262 © – Dima Elenbogen 200909:34 AM

ביצועי מסלול הנתונים )שאיפתנו(

Throughputgen ≤ Σ {Throughputi } = Σ {1/Tpdi } = ⅓ + ⅙ = ½

τ = 1 / ½ = 2ns

Tcycle = CD {Tpdi, τ} = CD {3, 6, 2} = 1

Latency = depends on our design of the controller

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר

עדיין לא מובטח לנו שהמערכת תעמוד בספיקה המירבית. אנו

חייבים לדאוג בבקר לכך שלא תהיה אבטלה ביחידות

החישוביות.

?כמה מצבים יהיו בבקר

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

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

1

2

3

.מבנה הבקר יהיה חוג נמשכת החוג של מלאה הקפה

Nstates*Tcycle

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

לחזור לאותו המצב בדיוק. יחידה חישובית מספיקה תוך לכן

שלמה כמות לבצע החוג הקפת )Nstates*Tcycle = ni*Tpd)Aiשל חישובים ללא שארית:

Nstates

Tpd)Ai( / Tcycle

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

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

1

2

3

התחלנו אם דומים בשיקולים שבו Cאת הקפת החוג בקטע

אז למערכת, מגיע נתון נימצא שוב ההקפה בהשלמת

בנקודת קליטה של נתון אחר. עובר ההקפה במשך כלומר

האינטרוולים של שלם מספר של הגעות נתונים 2בין

):τעוקבים (

Nstates*Tcycle = nτ*τ

Nstates

τ / Tcycle

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

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

Nstates

τ / Tcycle

ℕNstates

Tpd)Ai( / Tcycle

Nstates = CM { , }Tpd)Ai(Tcycle

τTcycle

כפולה משותפ

ת

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

234262 © – Dima Elenbogen 200909:34 AM

Nstates 2 בדוגמה

?כמה מצבים יהיו בבקר

Nstates = CM { , } =Tpd)Ai(Tcycle

τTcycle

= CM { , , } = 63ns1ns

6ns1ns

2ns1ns

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: האפיק הכבד

ld6

עדיף להתחיל מהמסלול הכבד מאחר ואין בו רגיסטרי

עיכוב.

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: האפיק הכבד )המשך(

ld6sel = 1

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: הפלטים בקצב אחיד

ld6sel = 1

Throughputgen =

2ns ב-1חישוב

sel = 0

sel = 0

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

234262 © – Dima Elenbogen 200909:34 AM

מאוזנים בכל אפיקlatenciesתכנון בקר:

ld6sel = 1

Latency = 6nsעל פי האפיק

הכבד

ld1sel = 0

ld1sel = 0

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: האפיק הקל

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: האפיק הקל

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2

ld2

A’ מוכנה לקבל נתון חדש 3nsכל

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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר: האפיק הקל )המשך(

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

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

234262 © – Dima Elenbogen 200909:34 AM

הבקר מוכן

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

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

234262 © – Dima Elenbogen 200909:34 AM

אימות הבקר

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

כמובן עליכם לוודא :שהקלטים נקלטים •

בקצב אחידהפלטים מּוצאים •

באותו הקצבזמן חישוב זהה לכל •

קלט(למרות שעל פי

הדרישות הללו בנינו את מעכת)

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

234262 © – Dima Elenbogen 200909:34 AM

אימות הבקר )המשך(

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

:ובנוסף עליכם לוודא ששום נתון או תוצאת בייניים לא •

הולך לאיבוד (לא נדרס) כל תוצאת בייניים אכן מספיקה •

להיחשב לפני עידכון רגיסטר היעד שלה.

שכאשר לוודאכלומר, מעדכנים רגיסטר

אזיי:הערך הקודם שלו •

מתקדם (או כבר התקדם) ליעד הבא

(לרבות אחרי חישוב)אם הוא מקבל ערך •

מיחידה חישובית, אז היא כרגע סיימה את

החישוב.

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

234262 © – Dima Elenbogen 200909:34 AM

עבודה עצמית: פונקציות מורכבות

תתי-מערכות בסיסיות המחשבות 2כעת אתם מסוגלים לבנות בהתאמה:B(x) ו-A(x)פונקציות פשוטות

= ƒ(x)אתם יכולים ליצור מערכת שתחשב פונקציה מורכבת B(A(x)) לשם עליכם לחשוב בגישה .pipeline ית ולשרשר את-

תתי-המערכות הבסיסיות

1

2

3

4

5

6

B1

B2

B3

A

B

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

234262 © – Dima Elenbogen 200909:34 AM

))f)x( = B)A)xעבודה עצמית: פונקציות מורכבות

שירשור תתי-המערכות הבסיסיות:

1

2

3

4

5

6

B1

B2

B3

A B

האם נרשה אבטלה בחלק מהיחידות החישוביות? אם כן, מתי

ואיפה?

?מהי הספיקה הגבוהה ביותר של המערכת המשורשרת

?מה צריך להיות זמן מחזור על מנת שהספיקה הנ''ל תושג

?כמה מצבים יהיו בבקר המנהל את המערכת המשורשרת