เหตุใดเราจึงไม่มี CPU 128 บิต

เราเปลี่ยนจาก 8 บิต เป็น 16 บิต เป็น 32 บิต และสิ้นสุดทุกอย่างที่ 64 บิต นี่คือสาเหตุที่ไม่มี CPU 128 บิต

ในบรรดาคำศัพท์คอมพิวเตอร์ bit ถือเป็นคำที่เป็นที่รู้จักมากที่สุดคำหนึ่งอย่างแน่นอน คอนโซลวิดีโอเกมทุกรุ่นและสไตล์อาร์ตแบบพิกเซลถูกกำหนดโดยบิต (เช่น 8 บิตและ 16 บิต) และแอปพลิเคชันจำนวนมากมีทั้งเวอร์ชัน 32 บิตและ 64 บิต

หากคุณดูประวัติดังกล่าว คุณจะเห็นว่าความสามารถของเราในการจัดการบิตเพิ่มขึ้นในช่วงหลายปีที่ผ่านมา อย่างไรก็ตาม แม้ว่าชิป 64 บิตจะเปิดตัวครั้งแรกในช่วงทศวรรษที่ 90 และกลายเป็นกระแสหลักในช่วงทศวรรษปี 2000 ยังไม่มี CPU 128 บิต แม้ว่า 128 อาจดูเหมือนก้าวปกติหลังจาก 64 แต่ก็เป็นอะไรก็ได้ แต่.

อะไรสักหน่อย?

ก่อนที่จะพูดถึงสาเหตุที่ไม่มี CPU 128 บิต เราต้องพูดถึงว่าบิตคู่คืออะไร โดยพื้นฐานแล้วมันหมายถึงความสามารถของ CPU เกิดจากคำว่าไบนารีและดิจิต เป็นหน่วยที่เล็กที่สุดในการคำนวณและเป็นจุดเริ่มต้นของการเขียนโปรแกรมทั้งหมด บิตสามารถกำหนดให้เป็น 1 หรือ 0 เท่านั้น (ซึ่งก็คือเลขฐานสอง) แม้ว่าตัวเลขเหล่านี้สามารถตีความได้ว่าเป็นจริงหรือเท็จ เปิดหรือปิด และแม้แต่เป็นเครื่องหมายบวกหรือเครื่องหมายลบ

ด้วยตัวมันเอง บิตเดียวไม่มีประโยชน์มากนัก แต่การใช้บิตมากขึ้นเป็นอีกเรื่องหนึ่ง เนื่องจากการรวมกันของค่าหนึ่งและเลขศูนย์สามารถกำหนดเป็นบางสิ่ง เช่น ตัวเลข ตัวอักษร หรืออักขระอื่น สำหรับการประมวลผลแบบ 128 บิต เราสนใจแค่จำนวนเต็ม (ตัวเลขที่ไม่มีจุดทศนิยม) และยิ่งมีบิตมากเท่าใด ตัวประมวลผลก็จะสามารถกำหนดตัวเลขได้มากขึ้นเท่านั้น มันใช้สูตร 2^x ที่ค่อนข้างง่าย โดยที่ x คือจำนวนบิตที่มีอยู่ ในการคำนวณแบบ 4 บิต จำนวนเต็มที่ใหญ่ที่สุดที่คุณสามารถนับได้คือ 15 ซึ่งต่ำกว่า 16 ที่สูตรให้มาหนึ่งค่า แต่โปรแกรมเมอร์เริ่มนับจาก 0 ไม่ใช่จาก 1

หาก 4 บิตสามารถเก็บจำนวนเต็มที่แตกต่างกันได้ 16 จำนวนเท่านั้น ก็อาจดูเหมือนว่าการไปที่ 8 หรือ 32- หรือแม้แต่ 128- บิตจะไม่ใช่เรื่องใหญ่ขนาดนั้น แต่เรากำลังเผชิญกับเลขเอ็กซ์โพเนนเชียลตรงนี้ ซึ่งหมายความว่าสิ่งต่างๆ เริ่มต้นอย่างช้าๆ แต่แล้วก็หายไปอย่างรวดเร็ว เพื่อสาธิตสิ่งนี้ ต่อไปนี้เป็นตารางเล็กๆ ที่แสดงจำนวนเต็มที่ใหญ่ที่สุดที่คุณสามารถคำนวณเป็นไบนารีได้ตั้งแต่ 1 ถึง 128 บิต

นิดหน่อย

จำนวนเต็มสูงสุด

1 บิต

1

2 บิต

3

4 บิต

15

8 บิต

255

16 บิต

65,535

32 บิต

4,294,967,295

64 บิต

18,446,744,073,709,551,615

128 บิต

340,282,366,920,938,463,463,374,607,431,768,211,455

ตอนนี้คุณคงจะเข้าใจแล้วว่าเหตุใดการเพิ่มจำนวนบิตเป็นสองเท่าจึงส่งผลให้สามารถจัดการกับตัวเลขที่ไม่เพียงเพิ่มขนาดเป็นสองเท่า แต่ยังมีขนาดใหญ่กว่าอีกด้วย แม้ว่าการประมวลผลแบบ 128 บิตจะช่วยให้เราสามารถทำงานกับจำนวนที่มากกว่าการประมวลผลแบบ 64 บิตได้มาก แต่เราก็ยังไม่ได้ใช้มัน

วิธีที่เราไปจาก 1 บิตเป็น 64 บิต

ที่มา: เอเอ็มดี

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

ลักษณะเอ็กซ์โพเนนเชียลของบิตจะปรากฏให้เห็นอย่างรวดเร็วมากเมื่อเปรียบเทียบคอนโซล 16 บิต เช่น SNES และ Sega Genesis กับรุ่น 8 บิตรุ่นก่อน โดยเฉพาะอย่างยิ่ง NES ซูเปอร์มาริโอบราเธอร์ส 3 เป็นหนึ่งในเกมที่ซับซ้อนที่สุดของ NES ในแง่ของกลไกและกราฟิก และถูกบดบังโดยสิ้นเชิงด้วย ซูเปอร์มาริโอเวิลด์ซึ่งเปิดตัวเพียงสองปีต่อมา (แม้ว่าการปรับปรุงเทคโนโลยี GPU ก็เป็นปัจจัยสำคัญเช่นกัน)

เรายังไม่มี CPU 128 บิต แม้ว่าจะเป็นเวลาเกือบสามทศวรรษแล้วนับตั้งแต่ชิป 64 บิตตัวแรกออกสู่ตลาด

มันไม่ใช่แค่เกี่ยวกับวิดีโอเกมเท่านั้น ทุกอย่างค่อนข้างดีขึ้นเมื่อมีบิตมากขึ้น การย้ายจาก 256 หมายเลขใน 8 บิตเป็น 65,356 หมายเลขใน 16 บิตหมายถึงเวลาในการติดตามที่แม่นยำยิ่งขึ้น แสดงสีบนจอแสดงผลได้มากขึ้น และจัดการกับไฟล์ขนาดใหญ่ขึ้น ไม่ว่าคุณจะใช้คอมพิวเตอร์ส่วนบุคคลของ IBM ซึ่งขับเคลื่อนโดย CPU 8 บิต 8088 ของ Intel หรือสร้างเซิร์ฟเวอร์สำหรับบริษัทที่พร้อมจะออนไลน์ จำนวนบิตที่มากขึ้นก็ดีกว่า

อุตสาหกรรมมีการเปลี่ยนแปลงอย่างรวดเร็วจาก 16 บิตเป็น 32 บิต และสุดท้ายคือการประมวลผลแบบ 64 บิต ซึ่งกลายเป็นกระแสหลักในช่วงปลายทศวรรษที่ 90 และต้นปี 2000 CPU 64 บิตที่สำคัญที่สุดบางตัวพบได้ใน Nintendo 64 และคอมพิวเตอร์ที่ขับเคลื่อนโดย Athlon 64 และ Opteron ของ AMD ซีพียู ในด้านซอฟต์แวร์ 64 บิตเริ่มได้รับการสนับสนุนกระแสหลักจากระบบปฏิบัติการเช่น Linux และ Windows ในช่วงต้น ยุค 2000 อย่างไรก็ตาม ความพยายามในการใช้คอมพิวเตอร์แบบ 64 บิตไม่สำเร็จทั้งหมด CPU เซิร์ฟเวอร์ Itanium ของ Intel เป็นความล้มเหลวที่มีชื่อเสียงและเป็นอย่างนั้น โปรเซสเซอร์ที่แย่ที่สุดของบริษัทบางตัว.

ปัจจุบัน CPU 64 บิตมีอยู่ทุกที่ ตั้งแต่สมาร์ทโฟน พีซี ไปจนถึงเซิร์ฟเวอร์ ชิปที่มีบิตน้อยกว่ายังคงผลิตขึ้นมาและเป็นที่ต้องการสำหรับการใช้งานเฉพาะที่ไม่รองรับจำนวนที่มากขึ้น แต่เป็นชิปที่ค่อนข้างเฉพาะ แต่เรายังไม่มี CPU 128 บิต แม้ว่าจะเป็นเวลาเกือบสามทศวรรษแล้วนับตั้งแต่ชิป 64 บิตตัวแรกออกสู่ตลาด

การประมวลผลแบบ 128 บิตกำลังมองหาปัญหาที่จะแก้ไข

คุณอาจคิดว่า 128 บิตไม่สามารถใช้งานได้เพราะมันยากหรือเป็นไปไม่ได้ด้วยซ้ำ แต่จริงๆ แล้วไม่เป็นเช่นนั้น ชิ้นส่วนจำนวนมากในโปรเซสเซอร์, CPU และอื่นๆ เป็นแบบ 128 บิตหรือใหญ่กว่า เช่น บัสหน่วยความจำบน GPU และ SIMD บน CPU ที่เปิดใช้งานคำสั่ง AVX เรากำลังพูดถึงความสามารถในการจัดการจำนวนเต็ม 128 บิตโดยเฉพาะ และถึงแม้จะมีการสร้างต้นแบบ CPU 128 บิตในห้องปฏิบัติการวิจัย แต่ไม่มีบริษัทใดที่เปิดตัว CPU 128 บิตจริงๆ คำตอบอาจเป็นแบบ antilimactic: CPU 128 บิตไม่มีประโยชน์มากนัก

CPU 64 บิตสามารถรองรับตัวเลขที่ไม่ซ้ำกันได้มากกว่า 18 ล้านล้านหมายเลข ตั้งแต่ 0 ถึง 18,446,744,073,709,551,615 ในทางตรงกันข้าม CPU 128 บิตจะสามารถรองรับตัวเลขจำนวนนับล้านได้มากกว่า 340 ตัว และฉันรับประกันได้เลยว่าคุณไม่เคยเห็น "จำนวนนับล้าน" มาก่อนเลยตลอดชีวิต การค้นหาวิธีการคำนวณตัวเลขด้วยเลขศูนย์จำนวนมากนั้นค่อนข้างท้าทาย แม้ว่าคุณจะใช้เลขศูนย์ตัวใดตัวหนึ่งก็ตาม บิตที่ใช้เซ็นชื่อจำนวนเต็ม ซึ่งจะมีช่วงตั้งแต่ลบ 170 ล้านล้านไปจนถึงบวก 170 ไม่แน่ใจ

กรณีการใช้งานที่สำคัญเพียงกรณีเดียวสำหรับจำนวนเต็ม 128 บิตคือที่อยู่ IPv6 ตัวระบุที่ไม่ซ้ำสากล (หรือ UUID) ที่ใช้เพื่อสร้างรหัสที่ไม่ซ้ำกันสำหรับผู้ใช้ (ไมน์คราฟต์ เป็นกรณีการใช้งานระดับสูงสำหรับ UUID) และระบบไฟล์เช่น ZFS ประเด็นก็คือ CPU 128 บิตไม่จำเป็นในการจัดการงานเหล่านี้ ซึ่งสามารถดำรงอยู่ได้ดีบนฮาร์ดแวร์ 64 บิต ท้ายที่สุดแล้ว เหตุผลหลักที่เราไม่มี CPU แบบ 128 บิตก็คือ ไม่มีความต้องการระบบนิเวศฮาร์ดแวร์-ซอฟต์แวร์แบบ 128 บิต อุตสาหกรรมสามารถทำได้อย่างแน่นอนหากต้องการ แต่ก็ไม่เป็นเช่นนั้น

ประตูเปิดเล็กน้อยสำหรับ 128 บิต

ที่มา: ซีเมนส์

แม้ว่า CPU 128 บิตจะไม่ใช่สิ่งที่มีอยู่ในปัจจุบัน และดูเหมือนว่าจะไม่มีบริษัทใดจะเปิดตัวในเร็วๆ นี้ แต่ฉันก็คงไม่พูดไปไกลถึงขนาดที่จะบอกว่า CPU 128 บิตจะไม่มีวันเกิดขึ้น ข้อกำหนดสำหรับ RISC-V ISA ทิ้งความเป็นไปได้ของอนาคตแบบ 128 บิต สถาปัตยกรรม บนโต๊ะแต่ไม่ได้ให้รายละเอียดว่าจริงๆ แล้วมันจะเป็นอะไร สันนิษฐานว่าเป็นเพราะไม่จำเป็นต้องออกแบบมันอย่างเร่งด่วน

สามร้อยสี่สิบล้านล้าน ซึ่งเป็นจำนวนมากที่สุดที่เป็นไปได้ในการสร้างด้วย 128 บิต ก็ไม่มากนักเช่นกัน เนื่องจากมีอะตอมอยู่ในจักรวาลซึ่งถือเป็นจำนวนที่มากที่สุดที่มีอยู่ในโลกแห่งความเป็นจริง ความสำคัญ หากคุณต้องการจำลองส่วนที่ดีของจักรวาลลงไปจนถึงระดับอะตอม CPU 128 บิตอาจจะมีประโยชน์มากสำหรับสิ่งนั้น นอกเหนือจากนั้น เป็นการยากที่จะบอกว่า CPU 128 บิตจะใช้ทำอะไร แต่เมื่อหลายปีก่อน เรายังสงสัยด้วยว่าคุณต้องการ RAM หนึ่งเทราไบต์เพื่ออะไร