คุณสมบัติลับใน CPU Motorola แก้ไขบั๊กอายุ 34 ปีของ Mac โดยที่ไม่มีใครรู้

ทีมบรรณาธิการ BigGo
คุณสมบัติลับใน CPU Motorola แก้ไขบั๊กอายุ 34 ปีของ Mac โดยที่ไม่มีใครรู้

ในการค้นพบที่น่าทึ่งซึ่งเน้นย้ำถึงความซับซ้อนที่ซ่อนอยู่ของคอมพิวเตอร์ยุคเก่า บั๊กใน Apple Mac Classic II อายุ 34 ปีได้ถูกเปิดเผย โดยบั๊กนี้ถูกรักษาไว้อย่างเงียบ ๆ โดยคุณสมบัติที่ไม่มีการบันทึกไว้ใน CPU Motorola 68030 เรื่องราวโบราณคดีคอมพิวเตอร์ที่น่าสนใจนี้ถูกเปิดเผยไม่ใช่จากการตรวจสอบฮาร์ดแวร์ดั้งเดิม แต่มาจากการจำลองที่แม่นยำของซอฟต์แวร์สมัยใหม่ ซึ่งแสดงให้เห็นว่าข้อบกพร่องสำคัญของระบบนี้ผ่านไปโดยไม่มีใครสังเกตเห็นมาเป็นเวลาหลายทศวรรษ

การค้นพบผ่านการจำลอง

เรื่องราวเริ่มต้นจากผู้ที่ชื่นชอบคอมพิวเตอร์ Downtown Doug Brown ซึ่งพบพฤติกรรมที่ไม่คาดคิดขณะใช้ซอฟต์แวร์ MAME (Multiple Arcade Machine Emulator) เพื่อสร้างระบบ Mac Classic II ขึ้นใหม่ Brown สังเกตว่าเมื่อเขาพยายามบูต Classic II ที่ถูกจำลองด้วยโหมดการกำหนดที่อยู่ 32-bit ระบบจะค้างและแสดงหน้าจอข้อผิดพลาด "Mac เศร้า" อย่างสม่ำเสมอ อย่างไรก็ตาม เมื่อเปลี่ยนไปใช้โหมดการกำหนดที่อยู่ 24-bit เครื่องที่ถูกจำลองก็จะบูตได้ตามปกติ ความแตกต่างนี้ทำให้ Brown สับสน เนื่องจากฮาร์ดแวร์ Classic II ดั้งเดิมไม่เคยแสดงอาการค้างเช่นนี้ไม่ว่าจะตั้งค่าโหมดการกำหนดที่อยู่แบบใด ความแม่นยำของโปรแกรมจำลองในการสร้างพฤติกรรมของระบบได้เผยให้เห็นบางสิ่งที่ฮาร์ดแวร์จริงได้ซ่อนไว้มานานกว่าสามทศวรรษโดยไม่ตั้งใจ

ข้อมูลจำเพาะหลักของระบบ:

  • รุ่นคอมพิวเตอร์: Apple Macintosh Classic II
  • ปีที่เปิดตัว: 1991
  • ซีพียู: Motorola 68030
  • โหมดการกำหนดที่อยู่: 24-bit และ 32-bit
  • วิธีการค้นพบ: การเปรียบเทียบด้วยการจำลอง MAME

การย้อนรอยเพื่อไขปริศนา

การสืบสวนของ Brown นำเขาไปลึกถึงโค้ดใน ROM ของ Classic II ที่ซึ่งเขาได้ค้นพบสาเหตุหลักของปัญหา ROM มีข้อผิดพลาดในการเขียนโปรแกรมซึ่งจะทำการ execute คำสั่งที่ทำให้ระบบกระโดดไปยังที่อยู่หน่วยความจำที่ไม่ถูกต้องระหว่างกระบวนการบูต บนฮาร์ดแวร์จริง สิ่งนี้ควรจะส่งผลให้ระบบค้างทันที และป้องกันไม่ให้ Classic II เริ่มทำงานอย่างถูกต้อง กระนั้น บันทึกทางประวัติศาสตร์และประสบการณ์ผู้ใช้ยืนยันว่าเครื่องเหล่านี้สามารถบูตได้อย่างน่าเชื่อถือตั้งแต่เปิดตัวในปี 1991 ปริศนาลึกลงเมื่อ Brown ตระหนักว่าบั๊กนี้มีอยู่จริง แต่มีบางสิ่งในฮาร์ดแวร์ทางกายภาพที่กำลังป้องกันไม่ให้มันก่อให้เกิดความล้มเหลวจริง

คุณสมบัติลับใน CPU ของ Motorola

คำตอบของปริศนานี้อยู่ในตัวประมวลผล Motorola 68030 นั่นเอง ผ่านการทดสอบอย่างระมัดระวังบนฮาร์ดแวร์ร่วมสมัย Brown ค้นพบว่าตัวประมวลผล 68030 ทางกายภาพมีคุณสมบัติที่ไม่มีการบันทึกไว้ซึ่งจัดการกับสถานการณ์ที่อยู่หน่วยความจำที่ไม่ถูกต้องโดยอัตโนมัติ เมื่อโปรเซสเซอร์พบคำสั่งที่มีปัญหาจาก ROM มันจะเปลี่ยนที่อยู่ที่ไม่ถูกต้องให้กลายเป็นที่อยู่ที่ถูกต้องอย่างเงียบ ๆ ทำให้กระบวนการบูตสามารถดำเนินต่อไปได้โดยไม่หยุดชะงัก ความสามารถที่ซ่อนอยู่นี้ไม่ได้ถูกบันทึกไว้ในข้อมูลจำเพาะอย่างเป็นทางการของ Motorola สำหรับ 68030 ซึ่งหมายความว่านักพัฒนาซอฟต์แวร์ — รวมถึงวิศวกรของ Apple เอง — อาจไม่มีความรู้เกี่ยวกับเครือข่ายความปลอดภัยนี้เมื่อเขียนและทดสอบโค้ดของพวกเขา

ผลกระทบต่อประวัติศาสตร์และการอนุรักษ์คอมพิวเตอร์

การค้นพบนี้ทำให้เกิดคำถามที่น่าสนใจเกี่ยวกับความถูกต้องของการอนุรักษ์และจำลองคอมพิวเตอร์ทางประวัติศาสตร์ ดังที่ Brown ระบุในการวิเคราะห์ของเขา อาจไม่มีโปรแกรมจำลองโปรเซสเซอร์ MC68030 ที่ "สมบูรณ์แบบ 100%" เนื่องจากคุณสมบัติที่ไม่มีการบันทึกไว้เช่นนี้ยังคงไม่เป็นที่รู้จักของนักพัฒนาโปรแกรมจำลอง การค้นพบนี้ยังชี้ให้เห็นว่าระบบคอมพิวเตอร์อื่นที่ใช้ 68030 จากยุคเดียวกันอาจมีบั๊กที่คล้ายกันซึ่งถูกแก้ไขอย่างเงียบ ๆ โดยความสามารถที่ซ่อนอยู่ของโปรเซสเซอร์ สำหรับนักประวัติศาสตร์และนักอนุรักษ์ สิ่งนี้ตอกย้ำถึงความท้าทายในการสร้างประสบการณ์คอมพิวเตอร์ยุคเก่าอย่างถูกต้อง เมื่อฮาร์ดแวร์ดั้งเดิมมีพฤติกรรมที่ไม่มีการบันทึกไว้ซึ่งแม้แต่ผู้ผลิตก็ไม่ได้ยอมรับอย่างเปิดเผย

บทบาทของการจำลองสมัยใหม่ในการค้นพบทางประวัติศาสตร์

เหตุการณ์นี้แสดงให้เห็นว่าเทคโนโลยีการจำลองสมัยใหม่สามารถทำหน้าที่เป็นเครื่องมือที่มีค่าสำหรับการเปิดเผยความลับทางประวัติศาสตร์ของคอมพิวเตอร์ได้อย่างไร การสร้างพฤติกรรมตามที่บันทึกไว้ของ 68030 อย่างแม่นยำของ MAME — โดยปราศจากประโยชน์จากคุณสมบัติที่ไม่มีการบันทึกไว้ของ Motorola — อนุญาตให้บั๊กที่หลับใหลมานานนี้ได้เปิดเผยตัวเองในที่สุด Brown คาดการณ์ว่าข้อบกพร่องเฉพาะใน ROM นี้ "คงจะไม่ถูกค้นพบไปตลอดกาล" หากไม่มีความแตกต่างระหว่างพฤติกรรมของฮาร์ดแวร์ที่จำลองและของจริง การค้นพบนี้เป็นเครื่องพิสูจน์ถึงทั้งความแม่นยำของซอฟต์แวร์จำลองสมัยใหม่และความซับซ้อนที่ซ่อนอยู่ซึ่งเป็นลักษณะของระบบคอมพิวเตอร์ส่วนบุคคลยุคแรกเริ่ม

เส้นเวลาของบั๊ก:

  • 1991: บั๊กถูกนำเข้าไปใน ROM ของ Mac Classic II ระหว่างการพัฒนา
  • 1991-2025: บั๊กยังคงไม่ถูกค้นพบเนื่องจากคุณสมบัติที่ไม่มีในเอกสารประกอบของ Motorola 68030
  • 2025: การค้นพบผ่านการจำลองด้วย MAME เปิดเผยข้อบกพร่องอายุ 34 ปี

มรดกและคำถามที่ยังไม่มีคำตอบ

แม้ว่าบั๊กที่ค้นพบจะไม่ได้ก่อให้เกิดปัญหาในทางปฏิบัติสำหรับผู้ใช้ Classic II แต่การมีอยู่ของมันและการถูกปกปิดโดยโปรเซสเซอร์ 68030 ให้ภาพรวมที่น่าสนใจของกระบวนการพัฒนาในยุคแรกเริ่มของคอมพิวเตอร์ วิศวกรของ Apple อาจไม่เคยรู้เกี่ยวกับบั๊กนี้เลยเพราะฮาร์ดแวร์ทำงานได้ตามคาดอย่างสม่ำเสมอ Brown แสดงความเห็นอกเห็นใจสำหรับนักพัฒนาดั้งเดิม โดยระบุว่า CPU ของ Motorola นั้นเป็น "กาวที่กำลังยึด Classic II ไว้ด้วยกันโดยไม่ตั้งใจ" การค้นพบนี้ทิ้งความเป็นไปได้ที่คุณสมบัติอื่นที่ไม่ได้บันทึกไว้ยังคงซ่อนอยู่ในโปรเซสเซอร์ยุคเก่า รอการถูกเปิดเผยผ่านการวิเคราะห์เปรียบเทียบที่คล้ายกันระหว่างระบบที่จำลองและระบบทางกายภาพ