Senin, 16 Januari 2012

MAR dan MDR

MAR (Memory Adress Register) dan MDR (Memory Data Register) merupakan dua buah register yang akan terhubung dengan memori. MAR akan menentukan alamat memori yang akan diakses. MDR akan memberikan data yang dibaca dari memori atau nilai yang akan ditulis ke dalam memori sesuai dengan alamat yang diberikan dalam MAR.
MAR dapat diimplementasikan dengan register yang memiliki satu buah output port dan sebuah input port. Output port akan terhubung pada Memory Adress Bus sehingga memori dapat mengetahui alamat yang ingin di akses. Input port akan terhubung pada data path bus yang memungkinkan program untuk menentukan alamat mana yang akan diakses. MAR membutuhkan satu buah kontrol sinyal, yaitu untuk mengatur kapan MAR memperbarui nilainya.
MDR dapat diimplementasikan dengan register yang memiliki satu buah output port, sebuah input port dan sebuah inout port. Input dan output port akan terhubung pada datapath bus. Inout port akan terhubung pada Memory Data Bus. Inout port adalah port yang dapat berfungsi sebagai input dan output port sekaligus. Arsitektur MDR memungkinkan terjadinya komunikasi dari datapath ke memori, atau dari memori ke datapath.
MDR membutuhkan dua buah kontrol sinyal. Sinyal yang pertama untuk mengatur kapan nilai dalam MDR akan ditulis dengan nilai yang baru, sinyal yang kedua mengatur kapan nilai dalam MDR akan dibaca.