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

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

Introduction to Computer Organization and Architecture

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


งานนำเสนอเรื่อง: "Introduction to Computer Organization and Architecture"— ใบสำเนางานนำเสนอ:

1 322 162 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 4th ed. New York : McGraw-Hill, P Hayes, John P. Computer Architecture and Organization 3rd ed. Malaysia:McGraw-Hill, P , P

5 เอกสารอ้างอิง Stallings, William Computer Organization and Architecture : designing for performance 5th 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 Representation
Fixed-point Numbers Unsigned Binary Sign-Magnitude Complementation Packed Decimal

8 เลขยกกำลังของสอง 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64
20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 28 = 29 = 210 = 1,024 211 = 2,048 212 = 4,096 213 = 8,192 27 = 128 28 = 256 29 = 512 210=K=1,024 215= 32,768 220=M=1,048,576 230=G=1,073,741,824

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

10 ถ้าใช้ 8 บิตในการแทนค่า (N = 8)
ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) 0 แทนด้วย 18 แทนด้วย 1 1 18

11 ถ้าใช้ 8 บิตในการแทนค่า (N = 8)
ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) 0 แทนด้วย 18 แทนด้วย 129 แทนด้วย 255 แทนด้วย

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

13 ถ้าใช้ 8 บิตในการแทนค่า (N = 8)
ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) +18 แทนด้วย 1 1 18 +

14 ถ้าใช้ 8 บิตในการแทนค่า (N = 8)
ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) -18 แทนด้วย 1 1 1 18 -

15 ถ้าใช้ 8 บิตในการแทนค่า (N = 8)
ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) +18 แทนด้วย -18 แทนด้วย +65 แทนด้วย -65 แทนด้วย แทนด้วย แทนด้วย

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

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

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

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

20 ต้องการหาค่า 1’s Complement ของ -18
1’s Complements +18 = ต้องการหาค่า 1’s Complement ของ -18 +18 = -18 1 1 1 1 1 1 +18 = > =

21 ต้องการหาค่า 1’s Complement ของ -65
1’s Complements +65 = ต้องการหาค่า 1’s Complement ของ -65 +65 = -65 1 1 1 1 1 +65 = > =

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

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

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

25 ต้องการหาค่า 1’s Complement ของ -18
2’s Complements ต้องการหาค่า 1’s Complement ของ -18 +18 = 1 1 1 1 1 1 + 1 -18 1 1 1 1 1 1 +18 = > =

26 ถ้าใช้ 4 บิตในการแทนค่า (N = 4)
ตัวอย่างการแทนค่า ถ้าใช้ 4 บิตในการแทนค่า (N = 4) Figure & Table Table of Comparison

27 ใช้ 4 บิตในการแทนค่าเลขฐานสิบ 1 หลัก
Packed Decimal ใช้ 4 บิตในการแทนค่าเลขฐานสิบ 1 หลัก 0000 = = = = = 4 0101 = = = = = 9 ใช้อีก 4 บิตแทนค่าเครื่องหมาย เช่น VAX 1100 แทน บวก และ แทน ลบ

28 ตัวอย่างการแทนค่า -56710 แทนด้วย +95,32410 แทนด้วย 0101 0110 0111 1011
แทนด้วย 0101 0110 0111 1011 5 6 7 - +95, แทนด้วย

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

30 Floating-point Numbers
หัวข้อเรื่อง Floating-point Numbers Single Precision Double Precision Extended Format

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

32 Floating-Point Numbers
ส่วนตัวเลข 1023, , 102, เรียกว่า Scale Factor ซึ่งจะเป็นตัวกำหนดจุดทศนิยม ลองเขียนใหม่ (Normalized) เป็น X 103 X X 1024 X X1X2X3X4X5X6X7 X 10+/-Y1Y2

33 Floating-Point Numbers
แบ่งประเภทการแทนค่าเป็น Single Precision Double Precision และ/หรือ Extended

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

35 The Institue of Electrical and Electronic Engineers
IEEE 754 The Institue of Electrical and Electronic Engineers กำหนดมาตรฐานการแทนค่าข้อมูลตัวเลข Floating-Point Numbers ไว้ดังต่อไปนี้ Figure Figure Figure

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

37 จากภาพ 6.23a, b Figure ค่าเลขชี้กำลัง มีค่า E’ = E ดังนั้น E = E’ โดยที่ E’ มีค่าอยู่ระหว่าง ถึง จึงได้ว่า E มีค่าระหว่าง ถึง ซึ่งมีค่าประมาณ 10+/ ส่วน Mantissa มีค่าประมาณ 7 หลัก10

38 ส่วน Mantissa มีค่าประมาณ 16 หลัก10
จากภาพ 6.23c จะได้ค่า E’ มีค่าอยู่ระหว่าง 010 ถึง 2, หรือ E มีค่าอยู่ระหว่าง -1, ถึง 1, ซึ่งประมาณ 10+/-308 ส่วน Mantissa มีค่าประมาณ หลัก10 Figure

39 Normalized Formats การแปลงให้อยู่ในรูปแบบของ Normalized
ภาพ (a) Un-normalized Value ไม่มี 1 นำหน้าชุดของ Binary Point ค่าที่แทนได้คือ X 29 Figure ภาพ (b) Normalized Value ค่าที่แทนได้คือ X 26 Figure

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

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

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

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

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

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

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


ดาวน์โหลด ppt Introduction to Computer Organization and Architecture

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


Ads by Google