จากการถอดรหัสชิป Intel 8087 ซึ่งเป็นชิปช่วยประมวลผลทางคณิตศาสตร์ (FPU) รุ่นบุกเบิกของ Intel เชิร์ฟฟิฟพบว่า คำสั่ง FSCALE ที่ดูเหมือนจะเป็นการคูณเลขยกกำลังสองแบบง่ายๆ กลับต้องผ่านกระบวนการย่อยที่ซับซ้อนอย่างยิ่ง โดยภายในสถาปัตยกรรมชิปมีการเรียกใช้งานฟังก์ชันย่อย (Sub-routine) ลึกลงไปถึง 3 ระดับ เพื่อจัดการกับกรณีพิเศษต่างๆ ที่อาจเกิดขึ้นในการคำนวณ
กระบวนการทำงานของ FSCALE ในระดับไมโครโค้ดนั้น มีความคล้ายคลึงกับสถาปัตยกรรมชุดคำสั่งแบบ CISC ของหน่วยประมวลผลตระกูล x86 โดยมันจะย่อยคำสั่งระดับสูงออกเป็นขั้นตอนย่อยๆ ตั้งแต่การโหลดค่าลงในเรจิสเตอร์ การดำเนินการทางคณิตศาสตร์ การตรวจสอบและจัดการกับข้อผิดพลาด (Error handling) ไปจนถึงการจัดการสแต็ก (Stack) ซึ่งสถาปัตยกรรมนี้ถูกออกแบบมาเพื่อแบ่งเบาภาระของนักพัฒนาโปรแกรมในยุคนั้นให้ไม่ต้องกังวลกับรายละเอียดเชิงลึกของฮาร์ดแวร์
ความพยายามในการพัฒนาชิป Intel 8087 ให้มีความแม่นยำทางคณิตศาสตร์สูงนี้เอง ที่กลายมาเป็นรากฐานสำคัญของมาตรฐานทศนิยม IEEE 754 ที่ใช้กันในคอมพิวเตอร์ปัจจุบัน ซึ่งในเวลานั้น ชิป 8087 ถือเป็นหนึ่งใน FPU ที่มีความแม่นยำสูงที่สุดในโลก และยังมีราคาที่สมเหตุสมผลพอที่จะนำมาใช้ในคอมพิวเตอร์ส่วนบุคคลระดับผู้ใช้งานทั่วไปได้สำเร็จ
🏷️ หมวดหมู่: Reverse Engineering, floating point, intel 8087
🔗 อ่านบทความฉบับเต็ม: hackaday
