เจาะลึก Intel 8087: เคน เชอร์ริฟฟ์ เผยการทำงาน Microcode เงื่อนไขในหน่วยประมวลผลลอยตัว

ในฐานะหน่วยประมวลผลลอยตัว (FPU) ของ Intel 8087 นั้น หัวใจสำคัญในการทำงานของคำสั่งพิเศษมากมาย ไม่ว่าจะเป็นฟังก์ชัน cos หรือ arctan ล้วนถูกถอดรหัสและประมวลผลผ่านชุดคำสั่งขนาดเล็กที่เรียกว่า Microcode ซึ่งแต่ละคำสั่งจะถูกแยกย่อยออกเป็น Micro-ops จำนวนมาก ก่อนถูกประมวลผลโดย Microcode Engine ที่เปรียบเสมือนซีพียูย่อยภายในตัวชิปเอง

เชอร์ริฟฟ์ได้อธิบายว่า คำสั่งที่มีเงื่อนไขจะถูกนำไปใช้ในระดับฮาร์ดแวร์ โดยผสานรวมสถานะจากบล็อกฟังก์ชันต่างๆ ทั่วทั้งชิป ตั้งแต่ตัวถอดรหัสคำสั่งไปจนถึงรีจิสเตอร์ การประเมินผลจะถูกดำเนินการให้ใกล้เคียงกับแหล่งที่มาของพารามิเตอร์มากที่สุด เพื่อลดความซับซ้อนของสายเชื่อมต่อ วงจรเหล่านี้ถูกสร้างขึ้นด้วย Multiplexers ซึ่งมีตัวอย่างแสดงในภาพถ่ายของชิป โดยขึ้นอยู่กับเงื่อนไขเฉพาะที่เกิดขึ้น ทรานซิสเตอร์แบบ Pass Transistor สี่ตัวใดตัวหนึ่งจะได้รับพลังงานและส่งผ่านสัญญาณต่อไปได้

แม้ว่า 8087 จะล้าสมัยไปแล้วในปัจจุบัน แต่ยังคงเป็นแหล่งเรียนรู้ที่ยอดเยี่ยมสำหรับผู้ที่สนใจในการออกแบบชิป ASIC การที่เคน เชอร์ริฟฟ์ และนักวิศวกรรมย้อนรอยคนอื่นๆ ยังคงทุ่มเทในการถอดรหัสความรู้เหล่านี้จึงเป็นเรื่องที่น่าชื่นชมอย่างยิ่ง


🏷️ หมวดหมู่: Reverse Engineering, 8087, chip scale, decap, intel, reverse engineering

🔗 อ่านบทความฉบับเต็ม: hackaday

Pass transistor น่ะดีจริง แต่สุดท้ายก็ต้องยัด buffer เข้าไปแก้ signal degradation เสียทั้ง area และ power โดยใช่เหตุ. ประหยัด wiring ได้ แต่แลกด้วย complexity ที่ซ่อนอยู่แบบนี้มัน “clever” ตรงไหน?