Mengapa kita tidak memiliki CPU 33-bit? [Tutup]

9

Saya telah melihat bahwa CPU dan sistem operasi telah bergerak ke atas dalam hal bit dari 8-bit ke 16-bit, ke 32-bit dan saat ini ke 64-bit. Saya mengerti bahwa perubahan ini adalah untuk meningkatkan jumlah maksimum memori yang dapat dialamatkan oleh CPU.

Yang tidak saya mengerti adalah mengapa selalu ada dua kali lipat ukuran bus. Apakah ini hanya keputusan arbitrer / bisnis untuk menggandakan ukuran bus atau ada alasan lain?

Mengapa kita tidak dapat memiliki CPU 33-bit? Atau jika itu tidak cukup, CPU 34-bit? 64-bit tampak seperti lompatan besar dan tidak perlu (mahal?) Di ruang alamat dan kemungkinan kerumitan silikon yang mendasarinya.

localhost
sumber
3
@sawdust - Namun tidak ada yang sakral tentang memiliki jalur data yang merupakan kelipatan dari 8 bit, dan bahkan kurang, memiliki satu yang memiliki kekuatan dua kelipatan dari 8 bit.
Daniel R Hicks
7
Pertanyaan ini sebenarnya tidak seburuk itu, dan itu tidak sesederhana seperti "oh, baik belajar biner derp!", Seperti yang ditunjukkan Daniel (dan jawaban saya). Aku akan mengangkatnya kembali ke nol karena alasan itu.
Marshall Eubanks
1
Pertanyaan Anda mengandung premis yang salah. Peningkatan lebar bit terutama untuk meningkatkan lebar register tujuan umum. Peningkatan lebar pointer secara historis sekunder.
David Schwartz
1
@sawdust Saya punya ide bagus tentang cara kerja biner, yang sebenarnya sangat jelas dari pertanyaan saya. Tidak, terima kasih atas tanggapan Anda yang tidak membantu dan agak kasar.
localhost
1
@ Marshaul: Pertanyaan ini sebenarnya diturunkan di bawah nol? Mengapa?? Itu pertanyaan yang bagus! Saya pikir para downvoter mungkin bahkan memiliki lebih sedikit pemahaman tentang angka biner daripada penulis pertanyaan.
HelloGoodbye

Jawaban:

7

Saya telah melihat CPU 12, 14, 15, 17, 18, 20, 24, dan 48-bit. Tetapi dengan teknologi VLSI modern (atau sekarang sudah ULSI?), Menambahkan lebih banyak bit ke jalur data tidak semahal itu. Pengembang chip menjejalkan lebar sebanyak mungkin ke dalam chip, karena itu meningkatkan throughput dengan biaya tambahan yang relatif sedikit dan hanya dengan sedikit penalti waktu siklus.

Mencapai lebih banyak kecepatan / throughput dengan jalur data yang sempit dan waktu siklus yang lebih cepat jauh lebih sulit.

Daniel R Hicks
sumber
(Lupa menyebutkan CPU 60-bit - Seri lama CDC 6600.)
Daniel R Hicks
Meskipun ini adalah jawaban yang menarik, itu masih tidak menjelaskan mengapa kekuatan dua tampaknya lebih disukai di PC modern, yang saya pikir adalah apa tujuan pertanyaan itu sebenarnya, meskipun tidak sepenuhnya disadari pada saat penciptaannya.
HelloGoodbye
@ HaloGoodbye Tidak begitu banyak kekuatan dua seperti kelipatan 8. Sebuah bus data 32bit dapat menulis persis 4 byte dalam satu instruksi.
jiggunjer
4

Tidak seperti banyak keadaan di komputer, misalnya pengalamatan, di mana meningkatkan panjang alamat dengan satu bit meningkatkan jumlah memori yang dapat dialamatkan dengan kekuatan 2 (dan mengapa kekuatan 2 begitu umum dalam memori), panjang kata sebenarnya dari CPU bisa menjadi nilai yang nyaman.

Panjang kata umum untuk prosesor (16, 32, dan 64 bit) muncul sebenarnya sebagai kelipatan 8 (bukan kekuatan 2, meskipun tentu saja kelipatan 8 ini juga merupakan kekuatan 2), 8 bit menjadi ukuran minimum untuk satu karakter , itu sendiri tipe data primitif terkecil yang biasa digunakan.

Karena 8 bit itu sendiri terlalu tidak tepat untuk sangat berguna untuk nilai numerik (atau bahkan untuk rangkaian karakter yang diperluas seperti UTF-16), kata-kata yang lebih besar dari 8 bit memungkinkan efisiensi yang jauh lebih besar ketika bekerja dengan nilai menggunakan lebih dari itu banyak bit presisi. , dan kelipatan 8 bit (tipe data terkecil yang biasa digunakan) masih merupakan pilihan alami, memungkinkan seseorang untuk menyimpan bilangan bulat dari (mis. 2, 4, atau 8) karakter dalam sebuah kata tanpa meninggalkan bit yang terbuang dan tidak terpakai.

Artikel wikipedia pada kata-kata memiliki bagian pilihan ukuran kata dengan sedikit lebih detail.

Marshall Eubanks
sumber
1
Tidak semua kelipatan 8 adalah kekuatan 2.
cpast
Poin yang sangat bagus, saya benar-benar bermaksud mengatakan "kekuatan 2 ini". Saya akan memperbaikinya.
Marshall Eubanks
Ada komputer yang dibangun dengan "karakter" 6 dan 10-bit.
Daniel R Hicks
Tentu, dan sekali lagi, panjang kata bisa berupa angka yang mudah digunakan, yang tidak perlu didasarkan pada panjang karakter atau apa pun secara khusus. Misalnya, ALU yang jarang beroperasi pada "karakter" mungkin akan memiliki panjang kata berdasarkan bilangan bulat paling presisi yang biasa digunakan. Saya tidak bermaksud menyarankan sesuatu yang bersifat preskriptif, hanya untuk menjelaskan alasan dasar untuk pilihan yang paling umum (dan yang ia tanyakan).
Marshall Eubanks