MIPS32 Simulator Instaltion
Link Download: http://spimsimulator.sourceforge.net/
_________________________________________________________________________
ARM Processor Installation
Link Download: http://ds.arm.com/downloads/
_________________________________________________________________________
Floating Point
ในทางคอมพิวเตอร์ จำนวนจุดลอยตัว (floating point) คือระบบแทนจำนวนชนิดหนึ่ง ซึ่งจำนวนนั้นอาจมีขนาดใหญ่หรือขนาดเล็กเกินกว่าที่จะแทนด้วยจำนวนเต็ม เนื่องจากจำนวนต่าง ๆ สามารถเขียนแทนด้วยเลขนัยสำคัญ (mantissa) จำนวนหนึ่งโดยประมาณ และเปลี่ยนสเกลด้วยเลขชี้กำลัง (exponent) ฐานของสเกลปกติจะเป็น 2, 10 หรือ 16 เป็นต้น จำนวนทั่วไปจึงสามารถเขียนให้อยู่ในรูปแบบนี้ได้
-
- เลขนัยสำคัญ × ฐาน เลขชี้กำลัง
คำว่า จุดลอยตัว จึงหมายถึงจุดฐาน (จุดทศนิยม หรือในคอมพิวเตอร์คือ จุดทวินิยม)
ที่สามารถ "ลอยตัว" ได้ หมายความว่า
จุดฐานสามารถวางไว้ที่ตำแหน่งใดก็ได้ที่สัมพันธ์กับเลขนัยสำคัญของจำนวนนั้น
ตำแหน่งนี้แสดงไว้แยกต่างหากในข้อมูลภายใน
และการแทนด้วยจำนวนจุดลอยตัวจึงอาจถือว่าเป็นสัญกรณ์วิทยาศาสตร์ในบริบทของคอมพิวเตอร์ หลายปีที่ผ่านมา คอมพิวเตอร์ใช้งานจำนวนจุดลอยตัวในรูปแบบที่แตกต่างกัน เวลาต่อมาจึงทำให้เกิดมาตรฐาน IEEE 754 สำหรับจำนวนที่พบได้อย่างปกติสามัญชนิดนี้
ข้อดีของจำนวนจุดลอยตัวที่มีต่อจำนวนจุดตรึง
(fixed point รวมทั้งจำนวนเต็ม)
คือจำนวนจุดลอยตัวสามารถรองรับค่าได้ในขอบเขตที่กว้างกว่า ตัวอย่างเช่น
จำนวนจุดตรึงที่มีตัวเลขเจ็ดหลัก และกำหนดให้สองหลักสุดท้ายอยู่หลังจุด
สามารถแทนจำนวนเหล่านี้ได้ 12345.67, 123.45, 1.23 ในขณะที่จำนวนจุดลอยตัว
(ตามเลขฐานสิบของมาตรฐาน IEEE 754) ที่มีตัวเลขเจ็ดหลักเช่นกัน
สามารถแทนจำนวนเหล่านี้ได้อีกเพิ่มเติม 1.234567, 123456.7, 0.00001234567,
1234567000000000 เป็นต้น
แต่ข้อเสียคือรูปแบบของจำนวนจุดลอยตัวจำเป็นต้องใช้หน่วยเก็บข้อมูลมากขึ้น
อีกเล็กน้อย (สำหรับเข้ารหัสตำแหน่งของจุดฐาน)
ดังนั้นเมื่อจำนวนทั้งสองประเภทเก็บบันทึกอยู่ในที่ที่เหมือนกัน
จำนวนจุดลอยตัวจะใช้เนื้อที่มากกว่าเพื่อเพิ่มความเที่ยง (precision)
ความเร็วของการดำเนินการกับจำนวนจุดลอยตัว
เป็นการวัดประสิทธิภาพของคอมพิวเตอร์อย่างหนึ่งที่สำคัญในขอบเขตข่ายโปรแกรม
ประยุกต์ ซึ่งมีหน่วยวัดเป็นฟล็อปส์ (FLOPS)
รูปแบบ floating point จะประกอบด้วย 3 ส่วนคือ
รูปแบบการจัดเก็บแบบ Binary