Senin, 11 Juni 2012

MAR (Memory Address Register) & MDR (Memory Data Register)


Pernah mengalami pertanyaan ujian tentang apa itu MAR dan MDR? Apa fungsi dan hubungannya?
Berikut kita coba bahas tengtang MAR.
Apa itu MAR?
MAR (Memory Address Register) ataw register penunjuk alamat memori, merupakan register yang menampung alamat data atau instruksi pada main memory yang akan di akses,baik itu yang akan diambil (dibaca) maupun yang akan diletakan (disimpan/ditulis).
Register ini berisi alamat dari data dan dihubungkan pada bus alamat, sehingga dapat menspesifikasikan alamat di dalam memori untuk operasi baca atau simpan/tulis. Alamat dari main memory (tempat data berada), diletakan di MAR dan dikirimkan ke main memory melalui address bus. Selama komputer bekerja, alamat dalam pencacah program ditahan (latched) pada MAR. Setelah itu MAR akan mengirimkan alamat ke dalam RAM dan operasi membaca dilaksanakan.

Apakah fungsi dari MAR?
MAR berfungsi sebagai komponen yang diperintahkan oleh IR dan Control Unit untuk mencari dan menampung alamat data serta instruksi dalam sebuah Main Memory.

Sebutkan spesifikasi dari MAR?
1.      Memuat alamat dari lokasi memori yang akan diakses (baca/tulis)
2.      Jumlah bit MAR menentukan jumlah maksimum dari memori fisik yang dapat dipasang dalam suatu komputer.
3.      Jika MAR terdiri dari n bit berarti alamat memori yang valid adalah 0 hingga 2n – 1

Bagaimana cara meningkatkan kinerja MAR?
Dengan memperbesar kapasitas memory. Namun tidak secara langsung akan berpengaruh pada kinerja MAR. Dengan kapasitas memory bertambah besar, maka ada dua hal yang terjadi:
1.      Peningkatan jumlah bit alamat dari data atau instruksi di dalam MAR
2.      Pelebaran alamat dari instruksi
Dengan demikian, ketika memory di perbesar maka MAR akan lebih leluasa memanfaatkan kapasitas dari memory yang telah di upgrade tadi. Sehingga akan banyak alamat memory yang bisa dialamati dan banyak data atau instruksi yang bisa diakses.

Gambarkan hubungan MAR dengan MDR?

Apa itu MDR?
MDR (Memory Address Register) ataw juga bisa di sebut MBR (Memory Buffer Register) adalah memori untuk menampung data/instruksi hasil pengiriman dari memori utama/menampung data yang akan direkam kememori utama hasil pengolahan CPU.
MBR berperan dalam proses pengaksesan memori yaitu dalam proses read/write dari atau ke memori.

Bagaimana proses Read MDR atau MBR dari memori?
1.      Taruh alamat memori yang akan dibaca (dalam unsigned(range 0 hingga 2n binary) ke MAR 2 – 1).
2.      Kirim READ signal melalui READ control line.
3.      Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
4.      Taruh isi alamat yang ditunjuk ke dalam MBR.

Bagaimana proses Write MDR atau MBR ke Memori?
1.      Taruh alamat memori yang akan ditulisi (dalam unsigned binary) ke MAR (range 0 hingga 2n – 1).
2.      Taruh data yang akan ditulis ke MBR.
3.      Kirim signal WRITE melalui WRITE control line.
4.      Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
5.      Copy-kan isi MBR ke memori (isi MBR tidak berubah).

Proses aliran data pada siklus pengambilannya!

1.      Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
2.      PC berisi alamat instruksi berikutnya yang akan diambil.
3.      Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
4.      Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
5.      PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
6.      Siklus selesai, unit kontrol memeriksa isi IR untuk menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung.

Proses aliran data pada siklus tak langsung!

1.      N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
2.      Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
3.      Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
4.      Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di dalam IR.
5.      Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori atau I/O, dan atau penggunaan ALU.

Proses aliran data pada siklus interupsi!

1.      Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt.
2.      Cara : Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
3.      Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol.
4.      Lokasi ini berupa stack pointer.
5.      PC dimuatkan dengan alamat rutin interrupt.
6.      Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai.

Tidak ada komentar:

Posting Komentar