งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

Introduction to Computer Organization and Architecture 322 162 Introduction to Computer Organization and Architecture Episode 3 Numbers Representation.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "Introduction to Computer Organization and Architecture 322 162 Introduction to Computer Organization and Architecture Episode 3 Numbers Representation."— ใบสำเนางานนำเสนอ:

1

2 Introduction to Computer Organization and Architecture 322 162 Introduction to Computer Organization and Architecture Episode 3 Numbers Representation การแทนข้อมูล ตัวเลข

3 2 หัวข้อเรื่อง  ระบบเลขฐาน (Base Numbers) – ฐานสอง, ฐานแปด, ฐานสิบ, ฐานสิบ หก, การแปลงค่า  การแทนข้อมูลตัวอักขระ (Character Representation) –BCD, EBCDIC, ASCII, Uni-code  การแทนข้อมูลตัวเลข (Number Representation) –Fixed-point, Floating-point

4 3 วัตถุประสงค์การ เรียนรู้  แทนค่าและเปรียบเทียบค่าในการ เข้ารหัสของเลขฐานสอง ฐานสิบ และฐานสิบหกได้  หลักการแทนข้อมูลตัวอักขระไม่ น้อยกว่า 3 แบบ  หลักการแทนค่าข้อมูลตัวเลขทั้ง แบบจุดตรึงและแบบจุดลอยตัวได้  เปรียบเทียบค่าตัวเลขที่แทนค่าใน แบบจุดตรึงและแบบจุดลอยตัว ไ ด้

5 4 เอกสารอ้างอิง  Hamacher, V. Carl and others Computer Organization 4 th ed. New York : McGraw- Hill, 1996. P.257 - 301.  Hayes, John P. Computer Architecture and Organization 3 rd ed. Malaysia:McGraw- Hill, 1998. P.160 - 178, P.223 - 302.

6 5 เอกสารอ้างอิง  Stallings, William Computer Organization and Architecture : designing for performance 5 th ed. NewJersey : Prentice- Hall, 2000. P. 269 - 312.

7 6 เอกสารอ้างอิง  Schneider, G. Michael and others Computer Organization and Assembly Language Programming for the VAX John Wiley&Sons, 1987. P.15 - 86.

8 7 Numeric Representatio n Fixed-point Numbers Unsigned Binary Sign- Magnitude Complementatio n Packed Decimal

9 8 Unsigned Binary ใช้เลขฐานสองแทนค่าเลข จำนวนเต็มโดยตรง เมื่อ n = จำนวนบิตข้อมูล ที่แทนค่า ค่าที่ แทนได้จะอยู่ในช่วง 0 - (2 n - 1) Bi t N o. 0123 n-2 n-1...

10 9 ตัวอย่างการแทนค่า 0 แทนด้วย 0000 0000 ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) 1 1 18 แทนด้วย 0001 0010 00000000 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 00010010 1818

11 10 ตัวอย่างการแทนค่า 0 แทนด้วย 0000 0000 18 แทนด้วย 0001 0010 ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) 2 7 2 0. 129 แทนด้วย 1000 0001 255 แทนด้วย 1111 1111

12 11 Sign- Magnitude แทนค่าเลขจำนวนเต็มพร้อม เครื่องหมาย ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 -1) ถึง + (2 n-1 -1) Bi t N o. 0123 n- 2 Sign Bit... = 0 มีค่า เป็น บวก = 1 มีค่า เป็น ลบ

13 12 ตัวอย่างการแทนค่า + 18 แทนด้วย 0001 0010 ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) 00010010 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 4 2 1 1818 +

14 13 ตัวอย่างการแทนค่า - 18 แทนด้วย 1001 0010 ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) 10010010 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 4 2 1 1818 -

15 14 ตัวอย่างการแทนค่า + 18 แทนด้วย 0001 0010 -18 แทนด้วย 1001 0010 ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) +65 แทนด้วย 0100 0001 -65 แทนด้วย 1100 0001 +127 แทนด้วย 0111 1111 -127 แทนด้วย 1111 1111

16 15 ปัญหาการแทน ค่า + 0 กับ - 0 + 0 แทนด้วย 0000 0000 - 0 แทนด้วย 1000 0000

17 16 Complement Numbers ที่นิยมนำมาใช้งาน ได้แก่  1’s Complements  2’s Complements

18 17 1’s Complements เป็นการลบค่าออกจาก 2 n -1 (n = data-bits) n = 4 1’s Complements ของ 0011 คือ 2 n - 1 = 2 4 - 1 = 16 - 1 = 15 1 1 1 1 0 0 1 1 1 1 0 0 จะได้ว่า ค่าเต็ม เป็น 1111 ค่าสูงสุดที่แทนค่าได้ของ เลขสี่หลั ก ค่าตัวเลขบวกที่ต้องการ หาเลขลบ ค่าตัวเลขลบที่ได้โดยวิธี 1’s Complement

19 18 1’s Complements ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 -1) ถึง + (2 n-1 -1) โดยการเปลี่ยนเลขจาก 0 --> 1, 1 --> 0 ทุกๆ บิต ดังตัวอย่าง +18 = 0001 0010 -- > -18 = 1110 1101 +65 = 0100 0001 -- > -65 = 1011 1110

20 19 1’s Complements +18 = 0001 0010 2 4 2 1. ต้องการหาค่า 1’s Complement ของ -18 +18 = 0 0 0 1 0 0 1 0 11101101 - 18 +18 = 0001 0010 -- > -18 = 1110 1101

21 20 1’s Complements +65 = 0100 0001 2 6 2 1. ต้องการหาค่า 1’s Complement ของ -65 +65 = 0 1 0 0 0 0 0 1 10111100 - 65 +65 = 0100 0001 -- > -65 = 1011 1110

22 21 ปัญหาการแทน ค่า + 0 กับ - 0 + 0 แทนด้วย 0000 0000 - 0 แทนด้วย 1111 1111

23 22 2’s Complements เป็นการลบค่าออกจาก 2 n (n = data-bits) ( หา 1’s Complements ก่อน แล้วบวกเพิ่มอีก 1) n = 4 2’s Complements ของ 0011 คือ 2 n = 2 4 = 16 10 = 10000 2 1 0 0 0 0 0 0 1 1 1 1 0 1 จะได้ว่า ค่าเต็มเป็น 10000 = 2 4

24 23 2’s Complements ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 ) ถึง + (2 n-1 -1) โดยการหา 1’s Complements ก่อน ( เปลี่ยนเลขจาก 0 --> 1, 1 --> 0 ทุกๆ บิต ) แล้วบวก เพิ่มอีก 1 นำไปลบออกจาก 2 n โดยตรง มีวิธีการหาค่า 2 วิธี

25 24 2’s Complements ต้องการหาค่า 1’s Complement ของ -18 +18 = 0 0 0 1 0 0 1 0 11101101 + 1 11101110 - 18 +18 = 0001 0010 --> - 18 = 1110 1110

26 25 การแทนค่าในระบบ 2’s Complements เมื่อเรียงลำดับค่าจากเลข น้อยไปหาเลขมาก

27 26 ถ้าใช้ 4 บิตในการแทนค่า (N = 4)

28 27 Packed Decimal ใช้ 4 บิตในการแทนค่า เลขฐานสิบ 1 หลัก 0000 = 0 0001 = 1 0010 = 2 0011 = 3 0100 = 4 0101 = 5 0110 = 6 0111 = 7 1000 = 8 1001 = 9 ใช้อีก 4 บิตแทนค่า เครื่องหมาย เช่น VAX 1100 แทน บวก 1011 แทน ลบ

29 28 ตัวอย่างการแทนค่า -567 10 แทนด้วย 01 5 01 10 6 01 11 7 10 11 - +95,324 10 แทนด้วย 1001 0101 9595 0011 0010 3232 0100 1100 4+4+

30 29 หัวข้อเรื่อง Floating- point Numbers Half Precision Single Precision Double Precision Quadruple Precision IEEE 754 2008

31 30 Floating-Point Numbers ใช้วิธีให้ตำแหน่งของจุดทศนิยม เคลื่อนที่ไป - มาได้ (Floating of Binary Point) เช่น การแทนค่าเลข ทศนิยมฐานสิบ 6.0247 X 10 23 6.6254 X 10 -27 -1.0341 X 10 2 -7.3000 X 10 -14 เลขที่มีนัยสำคัญ 5 หลัก (Significant Digits)

32 31 Floating-Point Numbers ส่วนตัวเลข 10 23, 10 -27, 10 2, 10 -14 เรียกว่า Scale Factor ซึ่งจะเป็น ตัวกำหนดจุดทศนิยม ลองเขียนใหม่ (Normalized) เป็น 0.60247 X 10 24 0.66254 X 10 -26 -0.10341 X 10 3 -0.73000 X 10 -13 +/- X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 10 +/-Y 1 Y 2

33 32 Floating-Point Numbers การเขียนตัวเลข แบ่ง ออกเป็น 3 ส่วน ส่วนทศนิยม (Fraction or Mantissa) ส่วนเลขชี้กำลัง (Biased Exponent) ส่วนเครื่องหมาย (Signed Bit) SExpo nent Mantissa Fraction

34 33 IEEE 754 The Institute of Electrical and Electronic Engineers กำหนดมาตรฐานการแทน ค่าข้อมูลตัวเลข Floating-Point Numbers ไว้ดังต่อไปนี้ IEEE 754- 1985 IEEE 754- 2008 http://en.wikipedia.or g/wiki/IEEE754

35 34

36 35 IEEE 754 - 2008

37 36

38 37 Single Precision

39 38 Single Precision รูปแบบการ แทนค่า +/- 0.1 bbb... b x 2 +/-E Sign Bit กำหนดให้เป็นบิต แรกนำหน้าสุด บิตแรกสุดของ Significant จะเป็น 1 เสมอ แล้วจึงค่อยตาม ด้วยบิตอื่นๆ Biased Exponent ต้องเป็นค่าใน รูปของ E = E’ - 2 n-1 เสมอ n = 8 bits

40 39 เลขชี้กำลัง ค่าเลขชี้กำลังขนาด 8 บิต มี ค่า E’ = E + 2 8 - 1 ดังนั้น E = E’ - 127 10 โดยที่ E’ มีค่าอยู่ระหว่าง 0 10 ถึง 255 10 จึงได้ว่า E มีค่าระหว่าง -126 10 ถึง 127 10 ซึ่งมีค่าประมาณ 10 +/-38 ส่วน Mantissa 23 bits มี ค่าประมาณ 7 หลัก 10

41 40 ตัวอย่าง 0 10010011 10100010000000000000000 SExpo nent Mantissa Fraction 147 10 + แทนค่าเลขในฐานสิบ มีค่า เท่ากับ 1010001 +0.11010001 X 2 10100 E = E’ - 127 E = 147 - 127 = 20 = 10100

42 41 ตัวอย่าง 0 10010011 101000100000000000000 00 SE’E’M 1010001 +0.11010001 X 2 10100 1 10010011 101000100000000000000 00 1010001 -0.11010001 X 2 10100

43 42 ตัวอย่าง

44 43 ตัวอย่าง 0 01101011 101000100000000000000 00 SExpo nent Mantissa Fraction 107 10 + แทนค่าเลขในฐานสิบ มีค่า เท่ากับ 1010001 +0.11010001 2 X 2 -20 E = E’ - 127 E = 107 - 127 = -20

45 44 ตัวอย่าง 0 00101000 001010000000000000000 00 SExpo nent Mantissa Fraction 40 10 + แทนค่าเลขในฐานสิบ มีค่า เท่ากับ 001010…..0 +0.1001010…..0 2 X 2 -87 E = E’ - 127 E = 40 - 127 = -87

46 45 ตัวอย่าง 0 00101000 001010000000000000000 00 SExpo nent Mantissa Fraction 40 10 + E = E’ - 127 E = 40 - 127 = -87

47 46 Double Precision เลขชี้กำลังขนาด 11 บิต มีค่า E’ = E + 2 11 - 1 ดังนั้น E = E’ - 1023 10 จะได้ค่า E’ มีค่าอยู่ระหว่าง 0 10 ถึง 2,047 10 หรือ E มี ค่าอยู่ระหว่าง -1,022 10 ถึง 1,023 10 ซึ่งมีค่าประมาณ 10 +/-308 ส่วน Mantissa 52 bits มี ค่าประมาณ 16 หลัก 10

48 47 Double Precision E = E’ - 1023 10

49 48 Un-normalized Formats การแปลงให้อยู่ในรูปแบบ ของ Normalized Un-normalized Value ไม่มี 1 นำหน้าชุดของ Binary Point ค่าที่แทนได้ คือ +0.0010110... X 2 9 10001000=1 36 10 136 10 – 127 10 = 9 10

50 49 Normalized Formats การแปลงให้อยู่ในรูปแบบ ของ Normalized Normalized Value ค่าที่ แทนได้คือ +1.0110... X 2 6 10000101=1 33 10 133 10 – 127 10 = 6 10

51 50 Exceptions เป็นเหตุการณ์ที่เกิดจากการ คำนวณแล้ว ส่งผลให้เกิด สัญญาณ Interruption ไปแจ้งต่อ CPU ว่าเกิดสิ่ง ใดขึ้น ?

52 51 Exception Types การนำตัวเลขทศนิยมมา คำนวณ มีโอกาสเกิด Exceptions ได้ 4 แบบ Invalid Operation Division by Zero Overflow Underflow

53 52 Invalid Operation สั่งให้หาค่า Square Root ของเลขลบ

54 53 Division by Zero สั่งให้หารด้วยศูนย์

55 54 Overflow ผลลัพธ์จากการคำนวณมี จำนวนบิตเกินขนาดที่ เครื่องจะแทนค่าได้ เช่น ทำให้ Exponent มากกว่า +127 10 ใน Single Precision ที่ผ่านการ Normalized แล้ว

56 55 Underflow ผลลัพธ์การคำนวณได้ Exponent น้อยกว่า - 126 10 ใน Single Precision ที่ผ่านการ Normalized แล้ว

57 56 ขอบเขตการแทนค่า การแทนค่าแบบ Floating- point นั้น มีขีดความสามารถในการ แทนค่าใน เชิงวิเคราะห์ดังนี้

58 57 ขอบเขตการแทนค่า

59 58 ขอบเขตการแทนค่า

60 59 กรณีตัวอย่าง  เครื่อง IBM System 360-370 Series  Intel- Pentium II

61 60

62 61

63 Introduction to Computer Organization and Architecture Coming Soon Physical Representation Chapter 2


ดาวน์โหลด ppt Introduction to Computer Organization and Architecture 322 162 Introduction to Computer Organization and Architecture Episode 3 Numbers Representation.

งานนำเสนอที่คล้ายกัน


Ads by Google