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

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י"ם
עיבוד תמונות ואותות בעזרת מחשב
שאלת חזרה בקר ומסלול נתונים – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
מטרות בבניית התנורמטרות בבניית התנור שהתנור יהיה כמה שיותר קרוב לעיגול, אך שיהיה נוח לבנות אותו. לא נאבד את החום בפינות התנור לא לאבד חום בדפנות התנור.
Presentation by Dudu Yanay and Elior Malul 1.  מה משותף לכל אלגוריתם המשתמש ב -Bucket Elimination: ◦ נתון מודל הסתברותי ורשת ביסיאנית מתאימה. ◦ נתונה.
מכונת מצבים תרגול מס' 4 Moshe Malka.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
Tutorial #13 Solving MIPS Exam Problems 20: © Dima Elenbogen 2010, Technion 1.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
Na+ P-. הפוטנציאל האלקטרוכימי אנרגיה חופשית ל - 1 mole חומר. מרכיב חשמלי מרכיב כימי מרכיבי הפוטנציאל האלקטרוכימי של חומר X: המרכיב הכימי : RTlnC x R –
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
Tutorial #7 Preventing combinatorial loops – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מרצה: פרופסור דורון פלד
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
תירגול השלמה : Pipelined MIPS Single-cycle MIPS Retiming Mealy Criterion 09: © Dima Elenbogen 2010, Technion 1.
משטר דינמי – © Dima Elenbogen :00. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
Solving MIPS Exam Problems 21: © Dima Elenbogen 2010, Technion 1.
– © Dima Elenbogen :11 להזכירכם ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק הזמן העובר מהרגע שבו התקבל.
השוואה בין מערכות למסדי נתונים בשקפים אלו נשווה בין מסד הנתונים של רכבת ישראל למסד של רכבת גרמניה. בהרבה מקרים, המסד של מערכת הרכבות הישראלית לא יכול למצוא.
Tutorial #7 Preventing combinatorial loops – © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
Tutorial #13 Solving MIPS Exam Problems 01: © Dima Elenbogen 2010, Technion 1.
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
הקיבול איננו תלוי במטען ובפוטנציאל
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
Tutorials #4-#5 Controller + DataPath design – © Yohai Devir 2007 Technion - IIT.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
– © Yohai Devir 2007 © Dima Elenbogen 2009 Technion - IIT Tutorial #7 Preventing combinatorial loops.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
משטר סטטי שערים לוגיים – © Dima Elenbogen 2009, Moshe Malka :59.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
1 - גמישות בבינאריות גמישות בעומק - עץ חיפוש בינארי: ממוצע O(log n) גרוע ביותר (O(n - היינו רוצים לשמור את העץ מאוזן תמיד Data Structures, CS, TAU
שאלה 9 – בקר ומסלול - נתונים נתונה המערכת הבאה של בקר ומסלול נתונים. כל הקווים העבים בשרטוט ה DP הם ברוחב n. ה -ADDER מחבר מודולו n 2. COMPARE הוא רכיב.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
1 Formal Specifications for Complex Systems (236368) Tutorial #3 Z introduction and notation (contd.); Birthday book example (Chapter 1 in the book)
Text to speech In Mobile Phones איתי לוי. הקדמה שימוש בהודעות טקסט על המכשירים הסלולארים היא דרך תקשורת מאוד פופולארית בימינו אשר משתמשים בה למטרות רבות,
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
תרגול מס ' 1: מבני נתונים – מבוא. כללי מבנה נתונים – דרך לארגן נתונים במחשב ולגשת אליהם. בקורס זה נלמד על מבני נתונים שונים אשר משמשים לבניית אלגוריתמים.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
1 חלק XQuery :IV XML Query. 2 ביבליוגרפיה - DTD 3 ביבליוגרפיה – books.xml TCP/IP Illustrated Stevens W. Addison-Wesley Advanced Programming in.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
. Sequence Alignment Tutorial #3 © Ydo Wexler & Dan Geiger.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Tirgul 12 Trees 1.
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
Marina Kogan Sadetsky –
הויגנס נגד פרמה וחוק סנל- סיבתיות מול אופטימיזציה בטבע - האם יש מקום בתוכנית הלימודים בפיזיקה? חזי יצחק תיכון לחינוך סביבתי, המחלקה.
Presentation transcript:

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

– © Dima Elenbogen :43 דוגמה פשוטה

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

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

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

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

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

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

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

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

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

– © Dima Elenbogen :43 חייבים בורר

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

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

 מה השתפר לנו ? – © Dima Elenbogen : המערכת כאשר הבורר אדיש

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

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

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

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

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  ℕ ) חיבור במקביל טהור – © Dima Elenbogen :43 ספיקה (Throughput)כמה חישובים מסוגלת המערכת לבצע ביחידת זמן. עיכוב (Latency)פרק זמן העובר מהרגע שבו התקבל הקלט עד הרגע שבו מופיע הפלט המתאים לקלט ההוא. קביעת זמן מחזור לשם השגת הספיקה המירבית 1 2 3

– © Dima Elenbogen :43 דוגמה 2

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

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

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

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

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

– © Dima Elenbogen :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

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

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

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

– © Dima Elenbogen :43 תכנון בקר

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

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

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

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

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

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

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

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

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

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

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

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