ในยุค 1970s การออกแบบซีพียูยังคงมีความหลากหลายอย่างมาก และ Intel 8086 ก็โดดเด่นออกมาด้วยแนวทางที่ไม่เหมือนใคร ในขณะที่ซีพียูอย่าง 6502 เลือกใช้วงจรแยกสำหรับการดำเนินการต่างๆ และ Intel 8085 ใช้ชุดเกตที่ปรับแต่งได้ แต่ 8086 กลับใช้ไมโครโค้ดที่ทำงานร่วมกับตารางค้นหา (lookup tables) สองชุด เพื่อกำหนดค่า ALU ของมัน
ความซับซ้อนนี้ทำให้ Intel 8086 มีเอกลักษณ์เฉพาะตัว ซึ่ง Ken Shirriff ได้ศึกษาอย่างละเอียดทั้งในระดับฟังก์ชันและการจัดวางบนชิป ตารางค้นหาเหล่านี้ช่วยให้ระบบมีความยืดหยุ่นสูง โดยไมโครโค้ดชุดเดียวกันสามารถถูกใช้โดยคำสั่งหลายชุดได้ นี่คือแก่นแท้ของซีพียูสถาปัตยกรรมแบบ CISC (Complex Instruction Set Computer) ซึ่งเป็นมรดกที่สถาปัตยกรรม x86 ยังคงสืบทอดมา แม้ว่าซีพียู x86 ในปัจจุบันจะมีลักษณะภายในที่คล้าย RISC มากขึ้นก็ตาม
แม้ว่าการถอดรหัสคำสั่งเดียวแล้วสามารถส่งต่อไปยังไมโครโค้ดและสัญญาณควบคุมที่หลากหลายจะเป็นคุณสมบัติที่ทรงพลัง แต่ก็มาพร้อมกับข้อเสียหลายประการ อย่างไรก็ตาม เมื่อเทคโนโลยีเซมิคอนดักเตอร์และการออกแบบดีขึ้น ข้อเสียเหล่านี้ก็ลดความสำคัญลงไป
Ken ยังชี้ประเด็นที่น่าสนใจว่า เทคโนโลยีการควบคุม ALU ใน 8086 หลายส่วนมีความคล้ายคลึงกับที่ใช้ใน FPGA (Field-Programmable Gate Array) สมัยใหม่ ซึ่งใช้ตรรกะที่ปรับแต่งได้ด้วย LUTs เช่นกัน ทำให้สามารถปรับแต่งการทำงานได้แบบเรียลไทม์
🏷️ หมวดหมู่: Reverse Engineering, ALU, fpga, Intel 8086
🔗 อ่านบทความฉบับเต็ม: hackaday
