- ในปี 1993 Intel ได้เปิดตัวโปรเซสเซอร์ Pentium ประสิทธิภาพสูง
- ระหว่างการวิเคราะห์วงจรของ Pentium ได้ค้นพบวงจรซับซ้อนสำหรับการคูณด้วย 3
- วงจรนี้เป็นส่วนหนึ่งของวงจรตัวคูณทศนิยมลอยตัวของ Pentium โดยทำการคูณเลข 64 บิตบนพื้นฐานเลขฐานแปด
- ความจำเป็นของการคูณบนพื้นฐานเลขฐานแปด
- การคูณแบบเลขฐานสองนั้นเรียบง่ายในเชิงแนวคิด แต่ช้า
- Pentium ใช้การคูณบนพื้นฐานเลขฐานแปดเพื่อลดวงจรและเพิ่มความเร็ว
- การคูณแบบเลขฐานแปดมีความซับซ้อน เพราะต้องคูณกับตัวเลขตั้งแต่ 0 ถึง 7
- อัลกอริทึมของ Booth และวงจร ×3
- ใช้อัลกอริทึมของ Booth เพื่อเพิ่มประสิทธิภาพการคูณ
- วงจร ×3 ต้องถูกจัดการเป็นกรณีพิเศษในการคูณทศนิยมลอยตัว
- วงจรนี้ต้องทำงานได้รวดเร็ว และใช้เทคนิคอย่าง carry lookahead เพื่อรีดประสิทธิภาพสูงสุด
- Carry lookahead และตัวบวกแบบ parallel prefix
- ตัวบวกแบบ carry lookahead คำนวณบิต carry ทั้งหมดแบบขนาน เพื่อให้การบวกทำได้รวดเร็ว
- ใช้ตัวบวกแบบ parallel prefix เพื่อทำ carry lookahead เป็นชิ้นส่วนขนาด 8 บิต
- ใช้อัลกอริทึม Kogge-Stone เพื่อลดดีเลย์และจัดโครงสร้างวงจรอย่างมีประสิทธิภาพ
- ตัวบวกแบบ carry select
- ตัวบวกแบบ carry select ทำการบวกสองชุดพร้อมกัน และเมื่อค่า carry ถูกกำหนดก็ให้ผลลัพธ์ได้ทันที
- Pentium ใช้ตัวบวกแบบ carry select สำหรับแต่ละชิ้นส่วน 8 บิตในวงจร ×3
- ไดรเวอร์เอาต์พุตแบบ BiCMOS
- เอาต์พุตของวงจร ×3 ต้องการกระแสสูง และใช้กระบวนการ BiCMOS เพื่อลดการหน่วงของสัญญาณ
- BiCMOS ผสาน CMOS กับทรานซิสเตอร์แบบไบโพลาร์เข้าด้วยกัน เพื่อให้ได้ประสิทธิภาพสูง
- สรุป
- วงจร ×3 ของ Pentium เป็นการออกแบบที่ซับซ้อน และใช้ทรานซิสเตอร์มากกว่าไมโครโปรเซสเซอร์ในอดีต
- นี่เป็นตัวอย่างที่แสดงให้เห็นว่าความซับซ้อนของโปรเซสเซอร์เพิ่มขึ้นมากเพียงใด
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ในการจำลองคอมพิวเตอร์แบบตรีนัย มีวิธีแปลงการหารด้วยกำลังของ 3 ให้เป็นการเลื่อนบิตและการบวก
โปรเซสเซอร์ของเกมอาร์เคด Cinematronics มีแอคคิวมูเลเตอร์ 12 บิตสองตัว
Peter Kogge ได้รับปริญญาเอกจาก Stanford และเป็น IBM Fellow ผู้คิดค้น CPU แบบมัลติคอร์
การคูณด้วย 3 ในการคำนวณแอดเดรสเป็นงานที่พบได้บ่อย
ในตัวคูณมีวิธีคูณด้วย 7 โดยคูณด้วย 8 แล้วลบ 1
ตัวคูณ ×3 มีทรานซิสเตอร์ประมาณ 9,000 ตัว ซึ่งมากกว่าไมโครโปรเซสเซอร์ Z80 ในปี 1976
ตัวคูณแบบ radix-8 Booth ต้องใช้วงจร x3
8086: 29,000
ข้อเสียของการคูณแบบ radix-8 คือการคูณด้วยตัวเลขตั้งแต่ 0 ถึง 7 มีความซับซ้อน