Introduction to Computer Organization and Architecture Introduction to Computer Organization and Architecture Episode 3 Numbers Representation การแทนข้อมูล ตัวเลข
2 หัวข้อเรื่อง ระบบเลขฐาน (Base Numbers) – ฐานสอง, ฐานแปด, ฐานสิบ, ฐานสิบ หก, การแปลงค่า การแทนข้อมูลตัวอักขระ (Character Representation) –BCD, EBCDIC, ASCII, Uni-code การแทนข้อมูลตัวเลข (Number Representation) –Fixed-point, Floating-point
3 วัตถุประสงค์การ เรียนรู้ แทนค่าและเปรียบเทียบค่าในการ เข้ารหัสของเลขฐานสอง ฐานสิบ และฐานสิบหกได้ หลักการแทนข้อมูลตัวอักขระไม่ น้อยกว่า 3 แบบ หลักการแทนค่าข้อมูลตัวเลขทั้ง แบบจุดตรึงและแบบจุดลอยตัวได้ เปรียบเทียบค่าตัวเลขที่แทนค่าใน แบบจุดตรึงและแบบจุดลอยตัว ไ ด้
4 เอกสารอ้างอิง Hamacher, V. Carl and others Computer Organization 4 th ed. New York : McGraw- Hill, P Hayes, John P. Computer Architecture and Organization 3 rd ed. Malaysia:McGraw- Hill, P , P
5 เอกสารอ้างอิง Stallings, William Computer Organization and Architecture : designing for performance 5 th ed. NewJersey : Prentice- Hall, P
6 เอกสารอ้างอิง Schneider, G. Michael and others Computer Organization and Assembly Language Programming for the VAX John Wiley&Sons, P
7 Numeric Representatio n Fixed-point Numbers Unsigned Binary Sign- Magnitude Complementatio n Packed Decimal
8 Unsigned Binary ใช้เลขฐานสองแทนค่าเลข จำนวนเต็มโดยตรง เมื่อ n = จำนวนบิตข้อมูล ที่แทนค่า ค่าที่ แทนได้จะอยู่ในช่วง 0 - (2 n - 1) Bi t N o n-2 n-1...
9 ตัวอย่างการแทนค่า 0 แทนด้วย ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) แทนด้วย
10 ตัวอย่างการแทนค่า 0 แทนด้วย แทนด้วย ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) แทนด้วย แทนด้วย
11 Sign- Magnitude แทนค่าเลขจำนวนเต็มพร้อม เครื่องหมาย ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 -1) ถึง + (2 n-1 -1) Bi t N o n- 2 Sign Bit... = 0 มีค่า เป็น บวก = 1 มีค่า เป็น ลบ
12 ตัวอย่างการแทนค่า + 18 แทนด้วย ถ้าใช้ 8 บิตในการ แทนค่า (N = 8)
13 ตัวอย่างการแทนค่า - 18 แทนด้วย ถ้าใช้ 8 บิตในการ แทนค่า (N = 8)
14 ตัวอย่างการแทนค่า + 18 แทนด้วย แทนด้วย ถ้าใช้ 8 บิตในการ แทนค่า (N = 8) +65 แทนด้วย แทนด้วย แทนด้วย แทนด้วย
15 ปัญหาการแทน ค่า + 0 กับ แทนด้วย แทนด้วย
16 Complement Numbers ที่นิยมนำมาใช้งาน ได้แก่ 1’s Complements 2’s Complements
17 1’s Complements เป็นการลบค่าออกจาก 2 n -1 (n = data-bits) n = 4 1’s Complements ของ 0011 คือ 2 n - 1 = = = จะได้ว่า ค่าเต็ม เป็น 1111 ค่าสูงสุดที่แทนค่าได้ของ เลขสี่หลั ก ค่าตัวเลขบวกที่ต้องการ หาเลขลบ ค่าตัวเลขลบที่ได้โดยวิธี 1’s Complement
18 1’s Complements ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 -1) ถึง + (2 n-1 -1) โดยการเปลี่ยนเลขจาก 0 --> 1, 1 --> 0 ทุกๆ บิต ดังตัวอย่าง +18 = > -18 = = > -65 =
19 1’s Complements +18 = ต้องการหาค่า 1’s Complement ของ = = > -18 =
20 1’s Complements +65 = ต้องการหาค่า 1’s Complement ของ = = > -65 =
21 ปัญหาการแทน ค่า + 0 กับ แทนด้วย แทนด้วย
22 2’s Complements เป็นการลบค่าออกจาก 2 n (n = data-bits) ( หา 1’s Complements ก่อน แล้วบวกเพิ่มอีก 1) n = 4 2’s Complements ของ 0011 คือ 2 n = 2 4 = = จะได้ว่า ค่าเต็มเป็น = 2 4
23 2’s Complements ค่าที่แทนค่าได้อยู่ในช่วง - (2 n-1 ) ถึง + (2 n-1 -1) โดยการหา 1’s Complements ก่อน ( เปลี่ยนเลขจาก 0 --> 1, 1 --> 0 ทุกๆ บิต ) แล้วบวก เพิ่มอีก 1 นำไปลบออกจาก 2 n โดยตรง มีวิธีการหาค่า 2 วิธี
24 2’s Complements ต้องการหาค่า 1’s Complement ของ = = > - 18 =
25 การแทนค่าในระบบ 2’s Complements เมื่อเรียงลำดับค่าจากเลข น้อยไปหาเลขมาก
26 ถ้าใช้ 4 บิตในการแทนค่า (N = 4)
27 Packed Decimal ใช้ 4 บิตในการแทนค่า เลขฐานสิบ 1 หลัก 0000 = = = = = = = = = = 9 ใช้อีก 4 บิตแทนค่า เครื่องหมาย เช่น VAX 1100 แทน บวก 1011 แทน ลบ
28 ตัวอย่างการแทนค่า แทนด้วย , แทนด้วย
29 หัวข้อเรื่อง Floating- point Numbers Half Precision Single Precision Double Precision Quadruple Precision IEEE
30 Floating-Point Numbers ใช้วิธีให้ตำแหน่งของจุดทศนิยม เคลื่อนที่ไป - มาได้ (Floating of Binary Point) เช่น การแทนค่าเลข ทศนิยมฐานสิบ X X X X เลขที่มีนัยสำคัญ 5 หลัก (Significant Digits)
31 Floating-Point Numbers ส่วนตัวเลข 10 23, , 10 2, เรียกว่า Scale Factor ซึ่งจะเป็น ตัวกำหนดจุดทศนิยม ลองเขียนใหม่ (Normalized) เป็น X X X X /- X 1 X 2 X 3 X 4 X 5 X 6 X 7 X 10 +/-Y 1 Y 2
32 Floating-Point Numbers การเขียนตัวเลข แบ่ง ออกเป็น 3 ส่วน ส่วนทศนิยม (Fraction or Mantissa) ส่วนเลขชี้กำลัง (Biased Exponent) ส่วนเครื่องหมาย (Signed Bit) SExpo nent Mantissa Fraction
33 IEEE 754 The Institute of Electrical and Electronic Engineers กำหนดมาตรฐานการแทน ค่าข้อมูลตัวเลข Floating-Point Numbers ไว้ดังต่อไปนี้ IEEE IEEE g/wiki/IEEE754
34
35 IEEE
36
37 Single Precision
38 Single Precision รูปแบบการ แทนค่า +/- 0.1 bbb... b x 2 +/-E Sign Bit กำหนดให้เป็นบิต แรกนำหน้าสุด บิตแรกสุดของ Significant จะเป็น 1 เสมอ แล้วจึงค่อยตาม ด้วยบิตอื่นๆ Biased Exponent ต้องเป็นค่าใน รูปของ E = E’ - 2 n-1 เสมอ n = 8 bits
39 เลขชี้กำลัง ค่าเลขชี้กำลังขนาด 8 บิต มี ค่า E’ = E ดังนั้น E = E’ โดยที่ E’ มีค่าอยู่ระหว่าง 0 10 ถึง จึงได้ว่า E มีค่าระหว่าง ถึง ซึ่งมีค่าประมาณ 10 +/-38 ส่วน Mantissa 23 bits มี ค่าประมาณ 7 หลัก 10
40 ตัวอย่าง SExpo nent Mantissa Fraction แทนค่าเลขในฐานสิบ มีค่า เท่ากับ X E = E’ E = = 20 = 10100
41 ตัวอย่าง SE’E’M X X
42 ตัวอย่าง
43 ตัวอย่าง SExpo nent Mantissa Fraction แทนค่าเลขในฐานสิบ มีค่า เท่ากับ X E = E’ E = = -20
44 ตัวอย่าง SExpo nent Mantissa Fraction แทนค่าเลขในฐานสิบ มีค่า เท่ากับ … …..0 2 X E = E’ E = = -87
45 ตัวอย่าง SExpo nent Mantissa Fraction E = E’ E = = -87
46 Double Precision เลขชี้กำลังขนาด 11 บิต มีค่า E’ = E ดังนั้น E = E’ จะได้ค่า E’ มีค่าอยู่ระหว่าง 0 10 ถึง 2, หรือ E มี ค่าอยู่ระหว่าง -1, ถึง 1, ซึ่งมีค่าประมาณ 10 +/-308 ส่วน Mantissa 52 bits มี ค่าประมาณ 16 หลัก 10
47 Double Precision E = E’
48 Un-normalized Formats การแปลงให้อยู่ในรูปแบบ ของ Normalized Un-normalized Value ไม่มี 1 นำหน้าชุดของ Binary Point ค่าที่แทนได้ คือ X = – = 9 10
49 Normalized Formats การแปลงให้อยู่ในรูปแบบ ของ Normalized Normalized Value ค่าที่ แทนได้คือ X = – = 6 10
50 Exceptions เป็นเหตุการณ์ที่เกิดจากการ คำนวณแล้ว ส่งผลให้เกิด สัญญาณ Interruption ไปแจ้งต่อ CPU ว่าเกิดสิ่ง ใดขึ้น ?
51 Exception Types การนำตัวเลขทศนิยมมา คำนวณ มีโอกาสเกิด Exceptions ได้ 4 แบบ Invalid Operation Division by Zero Overflow Underflow
52 Invalid Operation สั่งให้หาค่า Square Root ของเลขลบ
53 Division by Zero สั่งให้หารด้วยศูนย์
54 Overflow ผลลัพธ์จากการคำนวณมี จำนวนบิตเกินขนาดที่ เครื่องจะแทนค่าได้ เช่น ทำให้ Exponent มากกว่า ใน Single Precision ที่ผ่านการ Normalized แล้ว
55 Underflow ผลลัพธ์การคำนวณได้ Exponent น้อยกว่า ใน Single Precision ที่ผ่านการ Normalized แล้ว
56 ขอบเขตการแทนค่า การแทนค่าแบบ Floating- point นั้น มีขีดความสามารถในการ แทนค่าใน เชิงวิเคราะห์ดังนี้
57 ขอบเขตการแทนค่า
58 ขอบเขตการแทนค่า
59 กรณีตัวอย่าง เครื่อง IBM System Series Intel- Pentium II
60
61
Introduction to Computer Organization and Architecture Coming Soon Physical Representation Chapter 2