เคยมีคำสั่งคำนวณรากที่สองของจำนวนเต็มหรือไม่?
- Harris RTX 2000 Forth CPU มีคำสั่งคำนวณรากที่สองของจำนวนเต็มแบบหลายขั้นตอน
- ENIAC ใช้ตัวหาร/เครื่องคำนวณรากที่สองแบบพิเศษ ทำให้คำนวณรากที่สองได้สูงสุด 3 ครั้งต่อวินาที
- วิธีที่มีประสิทธิภาพที่สุดในการคำนวณรากที่สองของจำนวนเต็มคือใช้การวนซ้ำแบบนิวตัน-แรปสันเพื่อคำนวณค่ากลับกัน (1/√x) แล้วจึงคูณกลับกับจำนวนเดิม
- คำสั่งที่ใช้ใน CPU และ GPU สมัยใหม่ เช่น
frsqrte และ frsqrts ของ ARMv8 ถูกใช้เพื่อคำนวณค่าประมาณเริ่มต้นและเพิ่มความแม่นยำแบบวนซ้ำ
- การคำนวณรากที่สองของจำนวนเต็มต้องใช้หน่วยคูณจำนวนเต็มที่แม่นยำและรองรับช่วงกว้าง แต่ CPU ส่วนใหญ่ไม่มีสิ่งนี้
- ความแม่นยำเป็นปัจจัยสำคัญ และคำสั่งถูกแยกออกจากกันเพื่อให้โปรแกรมเมอร์สามารถปรับสมดุลระหว่างความแม่นยำกับความเร็วได้
ความเห็นของ GN⁺
- คำสั่งคำนวณรากที่สองของจำนวนเต็มอาจมีประโยชน์ในงานเฉพาะทาง โดยเฉพาะงานอย่างการคำนวณกราฟิก 3 มิติ
- โปรเซสเซอร์ที่มีคำสั่งลักษณะนี้สามารถทำงานได้รวดเร็วผ่านอัลกอริทึมเฉพาะ ช่วยลดความซับซ้อนของการคำนวณในระดับซอฟต์แวร์
- อย่างไรก็ตาม โปรเซสเซอร์สมัยใหม่จำนวนมากไม่ได้ฝังคำสั่งนี้มาในตัว แต่เลือกใช้ไลบรารีซอฟต์แวร์หรือไมโครโค้ดเพื่อทำงานแทน
- การรักษาสมดุลระหว่างความแม่นยำกับความเร็วเป็นเรื่องสำคัญ และโปรแกรมเมอร์ควรสามารถปรับได้ตามสถานการณ์
- บทความนี้ให้ข้อมูลที่น่าสนใจสำหรับผู้ที่สนใจประวัติศาสตร์คอมพิวเตอร์ และเป็นประโยชน์อย่างยิ่งต่อผู้ที่สนใจการเขียนโปรแกรมระดับล่างหรือการออกแบบระบบ
1 ความคิดเห็น
ความเห็นจาก Hacker News
คำสั่ง URSQRTE ของ AArch64 NEON
ความเป็นไปได้ในการคำนวณภายในสัญญาณนาฬิกาเพียงรอบเดียว
ไมโครโค้ดของ VAX
การคำนวณ square root ด้วยอุปกรณ์ไฟฟ้าเชิงกล
วิธีคำนวณ square root ของจำนวนเต็ม
คำตอบเชิงขำขันเกี่ยวกับ ENIAC
วิธีคำนวณ square root แบบประมาณ
บทวิเคราะห์อัลกอริทึม square root สำหรับแฟน ๆ ไมโครโปรเซสเซอร์ 6502
คำสั่ง VSQRT ของ ARM VFP
วิธีคำนวณ square root แบบหยาบมาก