Pemahaman sederhana saya adalah sebagai berikut.
Memori (RAM) terdiri dari bit, kelompok 8 yang membentuk byte, yang masing-masing dapat diatasi, dan karenanya byte memori dialamatkan.
Bus Alamat menyimpan lokasi satu byte memori.
Jika bus alamat berukuran 32 bit, itu berarti dapat menampung hingga 2 32 angka dan karenanya dapat merujuk hingga 2 32 byte memori = 4GB memori dan memori yang lebih besar dari itu tidak berguna.
Bus data digunakan untuk mengirim nilai yang akan ditulis / dibaca memori. Jika saya memiliki data bus ukuran 32 bit, itu berarti maksimum 4 byte dapat ditulis / dibaca memori pada suatu waktu. Saya tidak menemukan hubungan antara ukuran ini dan ukuran memori maksimum yang dimungkinkan.
Tapi saya baca di sini bahwa:
Meskipun sebagian besar sistem adalah byte-addressable, masuk akal bagi prosesor untuk memindahkan data sebanyak mungkin. Ini dilakukan oleh bus data, dan ukuran bus data adalah dari mana nama sistem 8-bit, sistem 16-bit, sistem 32-bit, sistem 64-bit, dll. Berasal. Ketika bus data lebar 8 bit, ia dapat mentransfer 8 bit dalam operasi memori tunggal. Ketika bus data lebar 32 bit (seperti yang paling umum pada saat penulisan), paling banyak, 32 bit dapat dipindahkan dalam operasi memori tunggal.
Ini mengatakan bahwa ukuran bus data adalah apa yang memberi OS nama, 8bit, 16bit dan sebagainya. Apa yang salah dengan pemahaman saya?
sumber
Jawaban:
Secara umum ukuran databus ditentukan oleh ukuran register prosesor. Seringkali ukuran register prosesor yang menentukan jenis OS (64 vs 32). Ukuran bus fisik secara teknis dapat berbeda dari ini (8088 sebagai contoh) tetapi sangat jarang bahwa penulis kutipan Anda mungkin mengaitkan keduanya.
Umumnya ukuran pointer juga mengikuti ukuran register tapi alamat fisik lebar bus dapat menjadi lebih besar (seperti dengan 8086 16-bit pada 20) atau lebih kecil (seperti dengan AMD 64 pada 48)
sumber
Ini adalah ukuran register dan penanganan memori dalam prosesor.
Menggunakan trik, prosesor 16 bit memiliki bus alamat 20 bit, jadi itu bukan memori eksternal prosesor.
sumber
Tidak ada sistem "murni" 32 atau 64 bit, dan oleh karena itu istilahnya hanya perkiraan saja.
Misalnya, ambil pernyataan Anda "Memori (RAM) terdiri dari bit, kelompok 8 yang membentuk byte, yang masing-masing dapat diatasi" . Itu tidak terlalu umum. PC memiliki RAM pada modul DIMM, dan itu lebar 64 bit. Kembali di tahun 90-an, Anda memiliki SIMM, dan itu lebar 32 bit.
Dalam beberapa sistem, DIMM harus atau dapat dipasangkan ("ganged" / "dual channel"), yang akan menjadi databus 128 bit. Konsep ini mendahului apa yang disebut prosesor "64 bit" dari AMD dan Intel.
Kelompok-kelompok 64 bit dari DIMM tunggal memang dapat dibagi lagi dalam 8 byte. Itu cukup transparan oleh CPU Anda. Itu juga dapat memecahkan 64 bit dalam 4 * 16 bit, 2 * 32 bit, atau hanya menggunakan semua 64 bit sebagai variabel tunggal.
Namun pertanyaan yang paling penting adalah lebar alamat. Setiap byte dalam memori memiliki alamatnya sendiri, tetapi tidak setiap bit. Itu berarti 64 bit yang Anda dapatkan dari DIMM tunggal memiliki 8 alamat. Yang terendah di antaranya selalu merupakan kelipatan 8: Sekarang, berapa banyak alamat berbeda yang didukung CPU? Ada dua jawaban umum, setidaknya dalam teori. Beberapa dukungan CPU 2 32 alamat yang berbeda, beberapa dukungan 2 64 . Perbedaan ini adalah perbedaan paling umum antara sistem 32 dan 64 bit.
Dalam praktiknya, sistem 64 bit saat ini mendukung kurang dari 2 64 byte RAM. Itu tidak akan terjangkau, dan tidak cocok dengan PC normal. Memori sebanyak itu akan berbobot beberapa juta ton!
sumber
Keduanya sebenarnya.
Bit pada CPU biasanya merujuk pada ukuran register internal. CPU 32 Bit memiliki register 32 Bit yang mungkin atau mungkin tidak dibagi menjadi beberapa bagian.
Masuk akal untuk memiliki CPU 32 Bit dengan bus data 32 bit karena Anda dapat mentransfer semua data dari memori langsung ke register, tetapi Anda dapat memiliki ukuran bus data apa pun. Jadi CPU 32 Bit biasanya memiliki bus data 32 Bit untuk memudahkan transfer data dari dan ke sana.
Dan juga masuk akal untuk memiliki bus Alamat 32 Bit karena dua alasan. Bus alamat yang lebih besar akan membuat lebih sulit untuk melakukan pengalamatan tidak langsung karena Anda tidak akan memiliki register yang lebih besar untuk menyimpan alamat memori atau CPU akan membutuhkan register khusus untuk pengalamatan memori, perhatikan bahwa CPU lama seperti Intel 8080 adalah 8 bit dan memiliki Bus alamat 16 bit. Sebaliknya, bus alamat yang lebih kecil dari register hanyalah pemborosan sumber daya. Ada mikrokontroler yang menggunakan bus alamat yang lebih kecil.
sumber