Saya sedang belajar untuk ujian akhir semester dan saya bingung dengan pertanyaan berikut. Jika CPU memiliki bus alamat 16bit dan kata-kata 8 bit, berapa banyak memori dalam KB yang dapat dialaminya? Pemahaman saya akan memberitahu saya bahwa itu dapat mengatasi 64KB, namun untuk melakukan ini saya hanya menggunakan 2 ^ 16 = 65.536. Perhitungan itu tidak pernah benar-benar memperhitungkan 8 bit kata jadi saya tidak yakin apakah itu benar. Juga apa arti kata 8 bit?
Tepuk tangan
Jawaban:
Sebuah kata, dalam arsitektur mayoritas, adalah bagian terbesar dari data yang dapat ditransfer ke dan dari memori yang bekerja dalam satu operasi.
Ukuran alamat terbesar yang mungkin digunakan untuk menunjuk lokasi dalam memori, biasanya disebut kata perangkat keras.
Jadi, CPU Anda akan dapat mengatasi 64KB (2 ^ 16) tetapi hanya akan dapat mentransfer dalam operasi tunggal 8 bit.
sumber
Sebuah kata mesin, atau biasanya hanya kata adalah unit data terbesar yang dapat dimanipulasi CPU secara keseluruhan menggunakan instruksi umum. Ini tidak ada hubungannya dengan pengalamatan memori.
Yang penting adalah unit resolusi alamat , yang biasanya merupakan byte 8-bit bahkan pada arsitektur 16/32/64 bit. Itu tidak harus sama dengan ukuran kata mesin, tetapi mungkin dalam kasus Anda.
Unit addressable 8-bit yang dikombinasikan dengan bus alamat 16-bit berjumlah 64KiB dari RAM yang dapat diatasi oleh CPU.
sumber
Dalam konteksnya, ukuran kata sesuai dengan ukuran alamat untuk menggambarkan bus memori. Ada 16 bit yang melekat ke memori sehingga dapat memilih lokasi 64ki. Lalu, setiap lokasi berisi 8 bit.
Ukuran kata di sini mungkin cocok atau tidak cocok dengan ukuran unit perhitungan CPU, dan ini mungkin cocok atau tidak cocok dengan rincian logis dalam pengalamatan.
Misalnya, CPU dapat mengiklankan bus 16-bit (untuk tujuan ini). Ini menggunakan alamat 16-bit dalam instruksinya, dan seperti contoh Anda memiliki 64ki. Tetapi memiliki 15 bit bus alamat dan 16 bit bus data. Hanya membutuhkan 32ki alamat dan selalu mendapat 2 byte dengan setiap lokasi. (Jika suatu instruksi menginginkan 1 byte, itu akan mengirimkan alamat dengan bit yang paling sedikit hilang, mengambil kedua byte dalam langkah itu, kemudian melihat sedikit dari alamat yang diinginkan untuk memutuskan setengah mana yang akan digunakan.)
Perhatikan bahwa pengalihan bank, PAE, dll. Yang disebutkan oleh orang lain tidak relevan di sini. Unit manajemen memori mungkin menggunakan alamat 16-bit dan memiliki alamat perangkat keras 20-bit, sehingga CPU perlu beralih dan memetakan hal-hal untuk memanfaatkan kisaran alamat 20-bit chip RAM yang sebenarnya yang dapat diatasi.
Pastikan untuk menentukan satuan dalam jawaban Anda. "64ki". Dari apa? Kata 8-bit, membuatnya (masih) 64ki byte RAM addressable. Langkah itu menghilangkan kebingungan dan membuat masalah sepele seperti ini.
sumber
Anda harus menggunakan ukuran kata dalam perhitungan juga. Jawabannya adalah 64 KB.
Anda dapat mengatasi 2 ^ 16 kata dan setiap kata adalah 8 bit (= 1 byte). Karena itu 64 KB.
Jika ukuran kata itu 16 bit. Jawabannya adalah 128 KB.
sumber
Ada dua sisi dalam hal ini, apa yang instruktur Anda mungkin ingin Anda sampaikan kepadanya dan apa kenyataannya.
Pertama-tama apa yang instruktur Anda mungkin ingin Anda sampaikan kepadanya.
"16 bit dapat mengatasi 2 ^ 16 lokasi memori, masing-masing lokasi adalah 8 bit. Jadi kita dapat mengatasi memori 524288 bit (65536 oktet)."
Namun ini mencerminkan pandangan dunia yang agak disederhanakan. Kenyataannya lebih rumit dan untuk memberikan jawaban pasti membutuhkan lebih banyak informasi. Beberapa cara di mana sistem nyata bisa lebih rumit dari ini termasuk.
sumber