Introduction to Computer Organization and Architecture

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
CS Assembly Language Programming
Advertisements

Introduction to Computer Organization and Architecture Introduction to Computer Organization and Architecture Episode 3 Numbers Representation.
Introduction to Computer Organization and Architecture Physical Representation บทที่ 2 การแทนเชิง กายภาพ.
อสมการเชิงเส้นตัวแปรเดียว
โรงเรียนนวมินทราชินูทิศ เตรียมอุดมศึกษาพัฒนาการ
การใช้งานโปรแกรม SPSS
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
LAB ตัวแปร : Variables ในการเขียนโปรแกรมเราต้องการให้โปรแกรม จดจำค่าต่างๆ ไว้ เช่นเมื่อรับค่าข้อมูลจาก ผู้ใช้ หรือค่าที่ได้จากการคำนวณใดๆ ค่า.
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
หน่วยการเรียนรู้ที่ 2 หลักการแก้ปัญหาด้วยคอมพิวเตอร์
1 Introduction to Number System วรวิทย์ พูลสวัสดิ์
การออกแบบออโตมาตาจำกัดเชิงกำหนด ( DFA )
หน่วยการเรียนรู้ที่ 7 ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
การทดลองในวิชาฟิสิกส์
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
พยาบาลวิชาชีพชำนาญการพิเศษ
ตัวแปร และชนิด ข้อมูล. ตัวแปร การกำหนดตัวแปรเป็นการใช้ ชื่อตัวแปรแทน ตำแหน่งบนหน่วยความจำ สำหรับเก็บ ข้อมูลระหว่างการ ประมวลผล ซึ่งอาจเป็นข้อมูลนำเข้า.
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
Material requirements planning (MRP) systems
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
เกม คณิตคิดเร็ว.
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 5 อินพุตและเอาต์พุต
IP-Addressing and Subneting
Number system (Review)
IP-Addressing and Subneting
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 3 ชนิดข้อมูลและการแทนชนิดข้อมูลการประกาศตัวแปร.
การประยุกต์ Logic Gates ภาค 2
สถาปัตยกรรมคอมพิวเตอร์ (Computer Architecture)
ส่วนประกอบของคอมพิวเตอร์ (Personal Computer : PC)
Digital Circuit & Logic Design สอนโดย รศ. ดร
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
บทที่ 7 การหาปริพันธ์ (Integration)
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
BC320 Introduction to Computer Programming
ดิจิตอล + เลขฐาน บทที่ 2.
บทที่ 1 ความรู้ทั่วไปเกี่ยวกับคอมพิวเตอร์
การบัญชีต้นทุนช่วง (Process Costing).
บทที่ 4 การอินทิเกรต (Integration)
บทที่ 8 เงื่อนไขตัดสินใจ
การใช้งานฐานข้อมูล IEEE/IET Electronic Library (IEL)
ชุดที่ 1 ไป เมนูรอง.
Object-Oriented Programming Paradigm
Data storage II Introduction to Computer Science ( )
Binary Numbers Hexadecimal Numbers
บริษัท พัฒนาวิชาการ (2535) จำกัด
บทที่ 9 การทำซ้ำ (Loop).
Week 5 C Programming.
อาจารย์อภิพงศ์ ปิงยศ Lab 06 : Microsoft Excel (Part2) ทท101 เทคโนโลยีสารสนเทศและนวัตกรรมการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์
บทที่ 5 ระบบเลขฐานและรหัสแทนข้อมูล
ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
ผู้สอน ครูวัชระ วงษ์ดี
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
Data storage II Introduction to Computer Science ( )
บทที่ 7 การประมวลผลอาร์เรย์
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
ความรู้เบื้องต้นเกี่ยวกับจำนวนจริง
2 โครงสร้างข้อมูลแบบสแตก (STACK).
เล่าเรื่องอย่างผู้นำ Coaching by story
ฟังก์ชันของโปรแกรม Computer Game Programming
กรณีศึกษา : เทคโนโลยีชีวภาพกับสิ่งแวดล้อม
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
กระดาษทำการ (หลักการและภาคปฏิบัติ)
Computer Game Programming
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

Numeric Representation Fixed-point Numbers Unsigned Binary Sign-Magnitude Complementation Packed Decimal

เลขยกกำลังของสอง 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 = 128 28 = 256 29 = 512 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

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

ถ้าใช้ 8 บิตในการแทนค่า (N = 8) ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) 0 แทนด้วย 0000 0000 27 26 25 24 23 22 21 20 18 แทนด้วย 0001 0010 1 1 27 26 25 24 23 22 21 20 18

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

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

ถ้าใช้ 8 บิตในการแทนค่า (N = 8) ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) +18 แทนด้วย 0001 0010 1 1 27 26 25 24 23 22 21 20 24 21 18 +

ถ้าใช้ 8 บิตในการแทนค่า (N = 8) ตัวอย่างการแทนค่า ถ้าใช้ 8 บิตในการแทนค่า (N = 8) -18 แทนด้วย 1001 0010 1 1 1 27 26 25 24 23 22 21 20 24 21 18 -

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

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

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

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

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

ต้องการหาค่า 1’s Complement ของ -18 1’s Complements +18 = 0001 0010 24 21 . ต้องการหาค่า 1’s Complement ของ -18 +18 = 0 0 0 1 0 0 1 0 -18 1 1 1 1 1 1 +18 = 0001 0010 --> -18 = 1110 1101

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

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

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

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

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

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

ใช้ 4 บิตในการแทนค่าเลขฐานสิบ 1 หลัก 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 แทน ลบ

ตัวอย่างการแทนค่า -56710 แทนด้วย +95,32410 แทนด้วย 0101 0110 0111 1011 -56710 แทนด้วย 0101 0110 0111 1011 5 6 7 - +95,32410 แทนด้วย 1001 0101 0011 0010 0100 1100 9 5 3 2 4 +

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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