1 / 42

מבנה מחשבים סיפרתי תרגול מספר 4

מבנה מחשבים סיפרתי תרגול מספר 4. ייצוג מספרים ממשיים. תוכן העניינים. הגדרות. נקודה קבועה – Fixed Point . נקודה צפה – Floating Point . מוטיבציה. .IEEE 754 .8-bit IEEE-like format .IEEE 754 – Single precision. הגדרות.

kirsi
Download Presentation

מבנה מחשבים סיפרתי תרגול מספר 4

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. מבנה מחשבים סיפרתיתרגול מספר 4 ייצוג מספרים ממשיים

  2. תוכן העניינים • הגדרות. • נקודה קבועה – Fixed Point. • נקודה צפה – Floating Point. • מוטיבציה. • .IEEE 754 • .8-bit IEEE-like format • .IEEE 754 – Single precision

  3. הגדרות • טווח של שיטת ייצוג: המינימום והמקסימום על פני כל הערכים שניתן לייצג ועל פני ערכם המוחלט. כלומר, עד כמה יכולים להיות המספרים המיוצגים גדולים או קטנים. • רזולוציה של מספר (Precision): המרחק בין מספר לבין "שכניו" בייצוג. • דוגמה: המספר 2.718 הינו בעל רזולוציה 10-3בעוד שהמספר 2.718281828 הינו בעל רזולוציה 10-9.

  4. הגדרות • דיוק של מספר (Accuracy): מידת הדיוק של הערך אותו רוצים לייצג. • דוגמה: המספר 3.141 הינו קירוב מדויק יותר למספר πמאשר המספר 3.253421756, למרות שלשני רזולוציה גבוהה יותר. • הרזולוציה הינה חסם מלמעלה לרמת הדיוק. • -דוגמה: המספר 3.141592653 הינו קירוב מדויק יותר למספר πמאשר המספר 3.141.

  5. 2i 2i–1 4 • • • 2 1 bi bi–1 • • • b2 b1 b0 . b–1 b–2 b–3 • • • b–j 1/2 • • • 1/4 1/8 2–j נקודה קבועה – Fixed Point עיקרון השיטה הוא ייצוג המספר המבוקש באמצעות מספר קבוע של ספרות משמאל לנקודת השבר ומימין לנקודה. הערך של המספר:

  6. דוגמא • מייצגים מספרים בעזרת שמונה ביטים. • נקודת השבר נמצאת בין הביטים הרביעי והחמישי. • למשל: הצירוף 10101100 מייצג את המספר: • (1010.1100)2 = 10.75. 23+21 =8 + 2 = 10 2-1+2-2 = 0.5+0.25 = 0.75

  7. דוגמא (3.625)10 = (11.101)2 = (0011.1010)2 = 00111010 (6.5)10 = (110.1)2 = (0110.1000)2 = 01101000 נחבר את שני המספרים הבינריים ונקבל: (1010.0010) 2 = (10.125)10

  8. מתי משתמשים בנקודה קבועה? • כאשר אין במעבד Floating Point Unit (FPU). • כאשר הדיוק הנדרש חסום. • במצבים בהם השימוש בנקודה קבועה יעיל יותר. חיסרון: השיטה אינה יעילה כאשר צריך לפרוש טווח רחב של מספרים.

  9. נקודה צפה – מוטיבציה מהי מסת השמש? 1.988435×1030 kg = 1988435000000000000000000000000 kg. 31 ספרות ≈ 103 סיביות מהי מסת המנוחה של האלקטרון? ‎‎9.11×10-31‎ kg = 0.000000000000000000000000000000911 kg 33 ספרות ≈ 110 סיביות

  10. נקודה צפה – מוטיבציה • רוצים הצגה שטווח הייצוג שלה מאוד גדול. כלומר, אפשר להציג מספרים קטנים מאוד ומספרים גדולים מאוד. • יש להתייחס לכל מספר בקנה המידה המתאים לו. כלומר, כאשר מספר מבטא איזה גודל מסוים, גבול הדיוק הרצוי תלוי בקנה המידה של המספר. למשל, במספרים גדולים מאוד אין חשיבות לשינוי בסדר גודל קטן מאוד.

  11. נקודה צפה – מוטיבציה ייצוג מספרים ממשיים: 13.245 x 10-4 Mantissa x base exponent

  12. נקודה צפה – Floating point ייצוג בשיטת נקודה צפה (בבסיס r) של מספר נעשה באופן הבא: מחלקים את רצף הביטים לשני קטעים הנקראים מנטיסה ואקספוננט. ערך המספר הינו N = M x rE (עבור בסיס בינארי r = 2).

  13. נקודה צפה – הגדרות • נאמר כי ייצוג של מספר בשיטת נקודה צפה הוא מנורמל אם: • 1 ≤ Mantissa < base • בבסיס בינארי: • 1 ≤ |M| < 2 כלומר מתקייםM = 1. …..

  14. נקודה צפה – הגדרות • נאמר כי ייצוג של מספר בשיטת נקודה צפה הוא מוטה (biased) • עם הטייה B אם ערך המספר המיוצג ניתן ע"י N = M x r(E-B). • לרוב משתמשים בערכים B = 2|E|-1 או B = 2|E|-1 -1. מטרת ההטייה: • רוצים לייצג מספרים מאוד קטנים ומספרים מאוד גדולים. • הטייה זו תגרום לאקספוננט (E-B)לקבל ערכים חיוביים וערכים • שליליים.

  15. נקודה צפה – הגדרות שאלה: למה לא להשתמש בשיטת המשלים ל-2 כדי לייצג ערכים שליליים של האקספוננט? תשובה: כדי שההשוואה בין המספרים תהיה קלה יותר. Exponent בהנחה שהמנטיסה מנורמלת, איזה מספר גדול יותר?

  16. IEEE 754 • המנטיסה מיוצגת בשיטת ביט סימן בצורה מנורמלת. • האקספוננט הינו מוטה עם הטייה של B = 2|E|-1 -1. ביט סימן החלק השברי אקספוננט -ערך המספר הינו: N = (-1)Sx 2E-Bx 1.F - לפי התקן קיימים ערכים מיוחדים. למשל, המספר 0 מיוצג ע"י E = F = 0.

  17. IEEE 754 הסטנדרט מגדיר כמה פורמטים קרובים אחד לשני. שניים מהפורמטים נקראים basic formats: 1) Single precision (float) – 32 bit: – 23 bits for the mantissa. – 1 bit for the mantissa's sign. – 8 bits for the exponent. Sign Fraction (23 bit) - Mantissa Exponent (8 bit)

  18. IEEE 754 הסטנדרט מגדיר כמה פורמטים קרובים אחד לשני. שניים מהפורמטים נקראים basic formats: 2) Double precision (double) – 64 bit: – 52 bits for the mantissa. – 1 bit for the mantissa's sign. – 11 bits for the exponent. Sign Fraction (52 bit) - Mantissa Exponent (11 bit)

  19. 8-bit IEEE-like format Sign Fraction (4 bit) - Mantissa Exponent (3 bit) ערך המספר הינו: N = (-1)Sx 2E-Bx 1.F הטייה: B = 2|E|-1 -1 = 23-1 -1 = 3.

  20. דוגמאות 2110-011 = 26-3 = 23 = 8. (1.1010)2= 1 + 1/2 + 1/8 = (1.625)10. 8 x 1.625 = 13. 2110-011 = 26-3 = 23. 23x 1.1010 = (1101.0)2 = 8 + 4 + 1 = 13.

  21. דוגמאות (-1)1x 2001-011x 1.0110 = -2-2x 1.0110 = (-0.010110)2 (-0.010110)2 = - (2-2 + 2-4 + 2-5)10 = -0.34375

  22. מה הייצוג של -2.5 בנקודה צפה? (-2.5)10 = (-10.1)2 -10.1 = - 1.01 x 21 S = 1 F = (0100)2 (E – 011)2 = (1)10 (E)2 = (4)10 E = (100)2 צורה מנורמלת

  23. מה הייצוג של 14.5 בנקודה צפה? (14.5)10 = (1110.1)2 1110.1 = 1.1101 x 23 S = 0 F = (1101)2 (E – 011)2 = (3)10 (E)2 = (6)10 E = (110)2 צורה מנורמלת

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

  25. חיבור מספרים – בסיס 10 A = 123, B = 56.78 נחשב ישירות: • יצוג בצורה נורמלית: A= 1.23 x 102 , B = 5.678 x 101 • נשתמש באלגוריתם: • למספר B יש אקספוננט קטן יותר. • B = 0.5678 x 102 • חיבור המנטיסות: 1.23 + 0.5678 = 1.7978 • התוצאה מנורמלית: 1.7978 x 102

  26. חיבור מספרים – בסיס 2 A = 00100100, B = 11001001 נחשב ישירות: A = (-1)0x 2010-011x 1.0100 = (0.10100)2 = 0.625 B = (-1)1x 2100-011x 1.1001 = (-11.001)2 = -3.125 התוצאה הינה -10.1 = -1.01 x 21והיצוג הינו 11000100

  27. חיבור מספרים – בסיס 2 A = 00100100, B = 11001001 A = (-1)0x 2010-011x 1.0100 B = (-1)1x 2100-011x 1.1001 • נשתמש באלגוריתם: • האקספוננט של A (010) קטן מהאקספוננט של B (100). • A = 0.010100 x 2100-011. • חיבור המנטיסות: -1.1001+ 0.010100 = - 1.010000. • התוצאה מנורמלית: -1.0100 x 2100-011 = 11000100. S E F

  28. חיבור מספרים – דוגמא 3 A = 01100100, B = 01010011 נחשב ישירות: A = (-1)0x 2110-011x 1.0100 = (1010.0)2 = 10.0 B = (-1)0x 2101-011x 1.0011 = (100.11)2 = 4.75 התוצאה הינה 1110.11= 1.11011x 23והיצוג הינו 01101101 (שגיאת עיגול).

  29. חיבור מספרים – דוגמא 3 A = 01100100, B = 01010011 A = (-1)0x 2110-011x 1.0100 B = (-1)0x 2101-011x 1.0011 • נשתמש באלגוריתם: • האקספוננט של B (101) קטן מהאקספוננט של A (110). • B = 0.10011 x 2110-011. • חיבור המנטיסות: 1.0100+ 0.10011 = 1.11011 = 1.1101. • התוצאה מנורמלית: 1.1101 x 2110-011 = 01101101. שגיאת עיגול

  30. IEEE 754 – Single precision – 23 bits for the mantissa. – 1 bit for the mantissa's sign. – 8 bits for the exponent. Sign Fraction (23 bit) - Mantissa Exponent (8 bit)

  31. מנטיסה 1 ≤ Mantissa < base עבור בסיס בינארי, הספרה לפני הנקודה חייבת להיות 1. לכן, יש לנו בפועל 24 ביטים למנטיסה במקום 23. לא שומרים את האחד שלפני הנקודה. עבור single precision (float)קיבלנו דיוק של 7 ספרות עשרוניות.

  32. אקספוננט B = 2|E|-1 -1 = 28-1 -1 = 127.

  33. אקספוננט הסטנדרט של IEEE מגביל את האקספוננט לתחום: -126 ≤ exponent ≤ +127 עבור האקספוננט 127- ו 128+ יש משמעות מיוחדת.

  34. Normalized Condition: E ≠ 00…0 and E ≠ 11…1 Exponent coded as biased value: Exp = E – Bias B = 2|E| - 1 -1 Mantissa: 1.F

  35. Denormalized Condition: E = 00…0 Value: Exp = – Bias + 1 M = 0.F Cases: - E = 00…0, F = 00…0 Represents value 0. - E = 00…0, F ≠ 00…0 Numbers very close to 0.

  36. Special Values Condition: E = 11…1 Cases: - E = 11…1, F = 00…0 - Represents value ∞ (infinity). - Operation that overflow. - E = 11…1, F ≠ 00…0 - Not-a-Number (NaN). - Represents case when no numeric value can be determined. Example sqrt(-1).

  37. גלישה - Overflow

  38. Underflow

  39. IEEE 754 – Single precision – 23 bits for the mantissa. – 1 bit for the mantissa's sign. – 8 bits for the exponent. Sign Fraction (23 bit) - Mantissa Exponent (8 bit) N = (-1)Sx 2E-Bx 1.F , 1 ≤ E ≤ 254 N = (-1)Sx 2-B+1x 0.F , E = 0

  40. סיכום  + -Normalized +Denorm +Normalized -Denorm NaN NaN 0 +0

  41. סיכום 6-bit IEEE-like format • E = 3 exponent bits • F = 2 fraction bits • Bias is 3 Notice how the distribution gets denser toward zero.

  42. סיכום 6-bit IEEE-like format • E = 3 exponent bits • F = 2 fraction bits • Bias is 3

More Related