ชุมชนเทคโนโลยีถกเถียงเรื่องขนาด Byte ทางเลือก: Byte แบบ 9-Bit หรือ 10-Bit จะช่วยแก้ปัญหาการเติบโตของคอมพิวเตอร์ได้หรือไม่?

ทีมชุมชน BigGo
ชุมชนเทคโนโลยีถกเถียงเรื่องขนาด Byte ทางเลือก: Byte แบบ 9-Bit หรือ 10-Bit จะช่วยแก้ปัญหาการเติบโตของคอมพิวเตอร์ได้หรือไม่?

การอภิปรายที่กระตุ้นความคิดได้เกิดขึ้นในชุมชนเทคโนโลยีเกี่ยวกับว่าการคำนวณจะได้รับการบริการที่ดีกว่าด้วยขนาด byte ที่แตกต่างจากรูปแบบมาตรฐาน 8-bit ที่เราใช้ในปัจจุบันหรือไม่ การสนทนามุ่งเน้นไปที่ว่า byte แบบ 9-bit หรือแม้แต่ 10-bit อาจป้องกันข้อจำกัดทางเทคนิคหลายประการที่เราเผชิญในการคำนวณสมัยใหม่ได้หรือไม่

การถกเถียงนี้เริ่มต้นจากการวิเคราะห์ที่ชี้ให้เห็นว่า byte แบบ 9-bit ซึ่งใช้จริงในระบบบางระบบในทศวรรษ 1970 เช่น PDP-10 อาจแก้ปัญหาการคำนวณหลักหลายประการก่อนที่จะกลายเป็นปัญหาสำคัญ การอภิปรายได้ขยายไปสู่การสำรวจขนาด byte ทางเลือกต่างๆ และผลกระทบที่อาจเกิดขึ้น

ระบบไบต์ทางเลือกในอดีต

  • PDP-10 (ทศวรรษ 1970): ไบต์ขนาด 9 บิต
  • PDP-8: เวิร์ดขนาด 12 บิต
  • Nintendo 64: ไบต์ขนาด 9 บิตภายใน (บิตเพิ่มเติมสำหรับ antialiasing ของ GPU)
  • ระบบยุคแรก: ไบต์ขนาด 6 บิต (จะต้องใช้การเข้ารหัสข้อความแบบหลายไบต์)

ความซับซ้อนของฮาร์ดแวร์เทียบกับประโยชน์ในทางปฏิบัติ

ชุมชนแบ่งออกเป็นสองฝ่ายเกี่ยวกับว่าขนาด byte ที่ไม่ใช่เลขยกกำลังของสองจะเป็นไปได้ในทางปฏิบัติจากมุมมองฮาร์ดแวร์หรือไม่ นักวิจารณ์ชี้ให้เห็นว่าระบบ 9-bit สร้างความท้าทายทางวิศวกรรมอย่างมาก การออกแบบฮาร์ดแวร์สำหรับการดำเนินการที่ปรับให้เหมาะสมมักจะขึ้นอยู่กับความสามารถในการแบ่งตัวถูกดำเนินการออกเป็นครึ่งที่เรียบร้อย ซึ่งทำงานได้อย่างสมบูรณ์แบบกับระบบ 8-bit แต่กลายเป็นเรื่องยุ่งยากกับการใช้งาน 9-bit

นอกจากนี้ การแสดงตำแหน่ง bit จะซับซ้อนมากขึ้นด้วย byte แบบ 9-bit ในขณะที่ระบบ 8-bit สามารถอธิบายตำแหน่ง bit ใดๆ ได้โดยใช้ 3 bit พอดี (0-7) ระบบ 9-bit จะต้องใช้ 4 bit แต่ปล่อยให้หลายค่าไม่ได้ใช้ ทำให้เกิดความไม่มีประสิทธิภาพในการออกแบบฮาร์ดแวร์

ปัจจัยด้านต้นทุนซิลิคอนก็มีน้ำหนักมากในการอภิปรายนี้ การเพิ่ม bit ที่เก้านั้นจะเพิ่มความซับซ้อนของสาย เกต มัลติเพล็กเซอร์ และวงจรตรรกะทั่วทั้งระบบอย่างมาก

ข้อแลกเปลี่ยนทางเทคนิค

ข้อดีของระบบ 9-bit:

  • ที่อยู่ 36-bit (~64B ทั้งหมด)
  • Unix timestamps ใช้ได้จนถึงปี 3058
  • อักขระ Unicode 18-bit (262K ตัวทั้งหมด)
  • ขีดจำกัดหน่วยความจำของกระบวนการ 32GB

ข้อเสียของระบบ 9-bit:

  • การไม่เป็นเลขยกกำลังของ 2 ทำให้การออกแบบฮาร์ดแวร์ซับซ้อน
  • ต้องใช้ 4 บิตในการแสดงตำแหน่งบิต (พร้อมค่าที่ไม่ได้ใช้)
  • ต้นทุนซิลิคอนสูงขึ้นสำหรับเลนบิตเพิ่มเติม
  • การแสดงเลขฐานสิบหกที่ซับซ้อนมากขึ้น

ทางเลือก 10-Bit ได้รับการสนับสนุน

น่าสนใจที่การอภิปรายได้พัฒนาไปเกิน byte แบบ 9-bit เพื่อพิจารณาทางเลือก 10-bit ผู้สนับสนุนโต้แย้งว่า byte แบบ 10-bit จะให้การปรับปรุงที่น่าทึ่งมากยิ่งขึ้นต่อข้อจำกัดของพื้นที่แอดเดรส ด้วยแอดเดรส IPv4 แบบ 40-bit เราจะมีแอดเดรสที่เป็นไปได้ประมาณ 1 ล้านล้านแอดเดรสแทนที่จะเป็น 4 พันล้านในปัจจุบัน ซึ่งอาจขจัดความกังวลเรื่องการหมดแอดเดรสไปจนถึงศตวรรษที่ 22

ข้อเสนอ 10-bit ยังดึงดูดผู้ที่ชื่นชอบระบบที่เป็นมิตรกับเลขฐานสิบ แม้ว่าจะแนะนำความซับซ้อนของตัวเองในแง่ของการแสดง hexadecimal แทนที่จะเป็นการแสดงสองหลัก hex ที่สะอาดของ byte แบบ 8-bit ระบบ 10-bit จะต้องการโครงร่างการเข้ารหัสที่ซับซ้อนมากขึ้น

การเปรียบเทียบขนาด Byte

ขนาด Byte พื้นที่ Address (4 bytes) จำนวน Address ทั้งหมด ไทม์ไลน์เทียบเท่า IPv4
8-bit 32-bit ~4 พันล้าน หมดไปแล้วในปี 2011
9-bit 36-bit ~64 พันล้าน เพียงพอจนถึงปี ~2035
10-bit 40-bit ~1 ล้านล้าน เพียงพอจนถึงศตวรรษที่ 22

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

ชุมชนได้เน้นว่าขนาด byte ทางเลือกไม่ใช่เรื่องทฤษฎีล้วนๆ คอนโซลเกม Nintendo 64 ใช้ byte แบบ 9-bit ภายในจริงๆ โดย bit พิเศษนั้นทำหน้าที่เฉพาะสำหรับการประมวลผลกราฟิกมากกว่าการคำนวณทั่วไป GPU ใช้ bit ที่เก้านั้นเป็น coverage mask สำหรับ antialiasing ซึ่งแสดให้เห็นการใช้งานจริงสำหรับขนาด byte ที่ไม่ได้มาตรฐาน

N64 มี byte แบบ 9 bit ภายใน เพียงแต่การเข้าถึงจาก CPU จะเพิกเฉย bit หนึ่ง นี่ไม่ใช่ parity bit แต่เป็น bit ข้อมูลพิเศษที่แท้จริงที่ใช้โดย GPU

ระบบคอมพิวเตอร์ในอดีตยังทดลองกับขนาดคำต่างๆ PDP-8 ใช้คำ 12-bit ในขณะที่ระบบแรกๆ บางระบบทำงานด้วย byte แบบ 6-bit ซึ่งจะบังคับให้การเข้ารหัสข้อความเป็น multibyte ตั้งแต่เริ่มต้น ซึ่งอาจหลีกเลี่ยงปัญหาการเข้ารหัสอักขระบางอย่างที่เราเผชิญในปัจจุบัน

ข้อโต้แย้งเรื่องผลตอบแทนที่ลดลง

อย่างไรก็ตาม นักสงสัยในชุมชนโต้แย้งว่าขนาด byte ทางเลือกจะเพียงแค่เปลี่ยนปัญหามากกว่าแก้ไขปัญหา พวกเขาแนะนำว่านักออกแบบน่าจะเลือกพื้นที่แอดเดรสที่เล็กกว่าเพื่อประหยัดค่าใช้จ่าย packet overhead และต้นทุนฮาร์ดแวร์ ซึ่งอาจนำไปสู่การหมดเร็วกว่าค่าสูงสุดทางทฤษฎีที่แนะนำ

การอภิปรายยังเผยให้เห็นความท้าทายพื้นฐาน: ทุกขนาด byte สร้างชุดข้อจำกัดของตัวเอง ในขณะที่ byte แบบ 9-bit หรือ 10-bit อาจแก้ปัญหาปัจจุบัน พวกมันน่าจะแนะนำคอขวดใหม่ที่ไม่ชัดเจนทันทีจากมุมมอง 8-bit ของเรา

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

อ้างอิง: We'd be Better Off with 9-bit Bytes