1.Pendahuluan
Suatu sistem digital pada umumnya memiliki banyak komponen register. Interkoneksi antar komponen diperlukan untuk transfer data dari komponen satu ke komponen yang lainnya. Untuk efisiensi dalam transfer data tersebut digunakan suatu sistem untuk berbagi saluran yang disebut bus. Bus adalah sekelompok kawat penghubung yang digunakan sebagai jalur untuk menyalurkan bit-bit biner. Bus data bersifat bidirectional, bisa menerima data dan juga mengirimkan data. Juga terdapat internal data bus untuk transfer data sesama elemen CPU, yang dihubungkan ke bus data sistem melalui Memory Buffer Register (MBR). MBR merupakan buffer dua arah.
2. Kerangka Teori
Memory Buffer Register merupakan tempat penyimpanan (sementara) data yang baru saja dibaca dari atau data yang akan dituliskan ke memory. Atau dengan kata lain merupakan tempat untuk menampung data yang akan ditulis ke memory yang alamatnya ditunjuk oleh MAR (Memory Addres Register) atau untuk menampung data dari memory (yang alamatnya ditunjuk oleh MAR) yang akan dibaca. Register ini memegang isi dari memori yang akan ditransfer dari memori ke komponen lain atau sebaliknya. Sebuah kata yang akan disimpan harus ditransfer ke MBR, dari mana ia pergi ke memori terntentu, dan data aritmatika untuk diproses di Arithmatic Logic Unit (ALU) pertama pergi ke MBR dan kemudian akumulasi mendaftar, dan kemudian di proses di ALU.
3. Perancangan
4. Hasil Pembahasan
Memory Buffer Register atau yang biasa disingkat dengan MBR adalah suatu proses yang diciptakan untuk mengontrol status register yang berfungsi untuk memuat isi informasi yang akan dituliskan ke memori atau baru saja dibaca dari memori pada alamat yang ditunjukkan oleh isi MAR (Memory Address Register) , atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca. MBR dapat berukuran m bit, 2m bit, 4m bit, dst dimana m = jumlah bit minimal dalam satu alamat (minimum addressable unit).
MBR berperan dalam proses pengaksesan memori yaitu dalam proses read/write dari atau ke memori.
Berikut ini urutan proses baca (read) dari memori.
- Taruh alamat memori yang akan dibaca (dalam unsigned(range 0 hingga 2n binary) ke MAR 2 – 1).
- Kirim READ signal melalui READ control line.
- Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
- Taruh isi alamat yang ditunjuk ke dalam MBR.
Sedangkan, urutan proses tulis (write) ke memori adalah sebagai berikut.
- Taruh alamat memori yang akan ditulisi (dalam unsigned binary) ke MAR (range 0 hingga 2n – 1).
- Taruh data yang akan ditulis ke MBR.
- Kirim signal WRITE melalui WRITE control line.
- Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
- Copy-kan isi MBR ke memori (isi MBR tidak berubah).
Selanjutnya, urutan kejadian selama siklus instruksi tergantung pada rancangan CPU. Misalnya sebuah komputer yang menggunakan register memori alamat (MAR), register memori buffer (MBR), pencacah program (PC), dan register instruksi (IR); Proses aliran data pada siklus pengambilannya adalah sebagai berikut.
- Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
- PC berisi alamat instruksi berikutnya yang akan diambil.
- Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
- Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
- PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
- Siklus selesai, unit kontrol memeriksa isi IR untuk menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung.
Kemudian proses aliran data pada siklus tak langsung adalah sebagai berikut.
- N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
- Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
- Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
- Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di dalam IR.
- Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori atau I/O, dan atau penggunaan ALU.
Lalu proses aliran data pada siklus interupsi adalah sebagai berikut.
- Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt.
- Cara : Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
- Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol.
- Lokasi ini berupa stack pointer.
- PC dimuatkan dengan alamat rutin interrupt.
- Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai.
5. Kesimpulan
Sebuah Memory Buffer Register (MBR) adalah register prosessor komputer, atau central processing unit, CPU, yang menyimpan data yang ditransfer ke dan dari media penyimpanan langsung. Ini berfungsi sebagai buffer yang memungkinkan unit prosesor dan memori untuk bertindak independen tanpa dipengaruhi oleh perbedaan kecil dalam operasi. Sebuah item data akan disalin ke MBR siap digunakan pada siklus clock berikutnya, ketika dapat baik digunakan oleh prosesor untuk membaca atau menulis atau disimpan dalam memori utama setelah ditulis.
Daftar Pustaka:
www.google.com (berbagai sumber yang dirangkum)