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

Post on 15-Jan-2016

236 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

234262 © – Dima Elenbogen 200909:34 AM

להזכירכם

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

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

לקלט ההוא.

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

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

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

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

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

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

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

דוגמה פשוטה

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

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

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

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

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

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

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

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

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

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

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

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

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

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

Latency = _________

Tcycle = _________

Throughput = _________

234262 © – Dima Elenbogen 200909:34 AM

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

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

טהור Pipeline ביצועי

Latency = _________

Tcycle = Tpd(A) + Tpd(FF)

Throughput = _________

234262 © – Dima Elenbogen 200909:34 AM

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

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

טהור Pipeline ביצועי

234262 © – Dima Elenbogen 200909:34 AM

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

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

זניח

טהור Pipeline ביצועי

Latency = _________

Tcycle = Tpd(A)

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

טהור Pipeline ביצועי

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עיכוב ) •הפלט המתאים לקלט ההוא.מופיע

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

234262 © – Dima Elenbogen 200909:34 AM

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

234262 © – Dima Elenbogen 200909:34 AM

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

234262 © – Dima Elenbogen 200909:34 AM

חייבים בורר

234262 © – Dima Elenbogen 200909:34 AM

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

החישוביות

44

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

234262 © – Dima Elenbogen 200909:34 AM

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

?מה השתפר לנו

234262 © – Dima Elenbogen 200909:34 AM

33

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

234262 © – Dima Elenbogen 200909:34 AM

Thhroughputgen-ו τ

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

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

τ = 1 / Throughputgen

Latency =

Throughputgen =

Tcycle =

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

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

1

2

3

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

234262 © – Dima Elenbogen 200909:34 AM

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

Tpd)Ai( = ki * Tcycle

Tpd)Ai(Tcycle

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

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

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

1

2

3

234262 © – Dima Elenbogen 200909:34 AM

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

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

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

τ = kτ * Tcycle

τTcycle

ℕ1

2

3

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(

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

שלם

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

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דוגמה

234262 © – Dima Elenbogen 200909:34 AM

Iניסיון

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

τ = 1 / ½ = 2ns

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

234262 © – Dima Elenbogen 200909:34 AM

Iבעית ניסיון

מה הבעיה

כאן?

234262 © – Dima Elenbogen 200909:34 AM

Iבעית ניסיון

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

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

מה הבעיה

כאן?

234262 © – Dima Elenbogen 200909:34 AM

IIניסיון

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

234262 © – Dima Elenbogen 200909:34 AM

IIניסיון

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

מאזן את ה-

Latencies

234262 © – Dima Elenbogen 200909:34 AM

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

?מה הספיקה המירבית הניתנת להשגה ?מהו זמן המחזור המאפשר זאת -מה יהיה ה 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

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר

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

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

החישוביות.

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

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

1

2

3

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

Nstates*Tcycle

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

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

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

Nstates

Tpd)Ai( / Tcycle

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

1

2

3

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

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

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

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

):τעוקבים (

Nstates*Tcycle = nτ*τ

Nstates

τ / Tcycle

234262 © – Dima Elenbogen 200909:34 AM

Nstatesקביעת

Nstates

τ / Tcycle

ℕNstates

Tpd)Ai( / Tcycle

Nstates = CM { , }Tpd)Ai(Tcycle

τTcycle

כפולה משותפ

ת

234262 © – Dima Elenbogen 200909:34 AM

Nstates 2 בדוגמה

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

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

τTcycle

= CM { , , } = 63ns1ns

6ns1ns

2ns1ns

234262 © – Dima Elenbogen 200909:34 AM

תכנון בקר

234262 © – Dima Elenbogen 200909:34 AM

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

ld6

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

עיכוב.

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

Throughputgen =

2ns ב-1חישוב

sel = 0

sel = 0

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

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

הכבד

ld1sel = 0

ld1sel = 0

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2

ld2

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

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

234262 © – Dima Elenbogen 200909:34 AM

הבקר מוכן

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

234262 © – Dima Elenbogen 200909:34 AM

אימות הבקר

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

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

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

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

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

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

234262 © – Dima Elenbogen 200909:34 AM

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

ld6sel = 1

ld1sel = 0

ld1sel = 0

ld2ld3

ld2ld3

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

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

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

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

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

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

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

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

החישוב.

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

234262 © – Dima Elenbogen 200909:34 AM

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

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

1

2

3

4

5

6

B1

B2

B3

A B

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

ואיפה?

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

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

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

top related