Register yang berisi sebuah word data yang akan ditulis ke-/dibaca dari memori adalah

1. Penjelasan Siklus Instruksi

  • IAC (Instruction Address Calculation), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16-bit padahal memori memiliki panjang 8-bit, maka akan ditambahkan 2 ke alamat sebelumnya.
  • IOD (Instruction Operation Decoding), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
  • OAC (Operand Address Calculation), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
  • DO (Data Operation), yaitu membentuk operasi yang diperintahkan dalam instruksi.
  • OS (Operand Store), yaitu menyimpan hasil eksekusi ke dalam memori.
  • OF (Operand Fetch), yaitu mengambil operand dari memori atau dari modul I/O.
  • IF (Instruction Fetch), yaitu membaca atau mengambil instruksi dari lokasi memorinya ke CPU.

Referensi:
https://books.google.co.id/books?id=2KeRDwAAQBAJ&pg=PA44&dq=siklus+instruksi+iac+iod&hl=en&sa=X&ved=0ahUKEwiXgL-ojvrhAhUXdCsKHUo_B1kQ6AEIKjAA#v=onepage&q=siklus%20instruksi%20iac%20iod&f=false

2. Penjelasan dari:

a) Accumulator (AC)

Accumulator merupakan tempat penampungan suatu nilai. Nilai yang masuk akan dijumlahkan dengan nilai yang ada di dalamnya, sehingga Accumulator dapat dipakai untuk menentukan nilai total dari penjumlahan suatu bilangan.

Dalam Central Processing Unit komputer (CPU), Accumulator adalah register di mana aritmatika menengah dan hasil logika disimpan. Register seperti Accumulator diperlukan untuk menulis hasil masing-masing perhitungan (penjumlahan, perkalian, shift, dll).

Sebuah mesin akumulator, juga disebut mesin 1-operan atau CPU dengan arsitektur akumulator berbasis, yaitu jenis CPU yang mana, meskipun mungkin memiliki beberapa register tetapi CPU menyimpan hasil perhitungan dalam satu daftar khusus. Secara historis, hampir semua komputer awal adalah mesin akumulator, dan banyak mikrokontroler yang masih populer pada 2010 (seperti 68HC12, yang PICmicro, 8051, dll) yang pada dasarnya merupakan mesin akumulator. CPU modern biasanya memiliki 2-operan atau 3-operan, mesin-operan tambahan berfungsi menentukan salah satu dari banyak register tujuan umum yang digunakan sebagai sumber dan tujuan untuk perhitungan.

b) Temporary Register (MQ = Multiple Quotient)

Multiple Quotient (MQ) adalah tempat penyimpanan sementara sebuah operand dan hasil ALU (Arithmetic Logic Unit). Perbedaan cara penyimpanan pada Multiple Quotient (MQ) dan Accumulator (AC) dapat digambarkan sebagai berikut: Misalnya, hasil penjumlahan 2 buah bilangan 40-bit adalah sebuah bilangan 80-bit; 40-bit yang paling berarti (most significant bit) disimpan dalam AC dan 40-bit lainnya (least significant bit) disimpan dalam MQ.

c) IBR (Instruction Buffer Register)

Instruction Buffer Register (IBR) adalah register dalam prosesor komputer yang menyimpan data yang ditransfer ke dan dari penyimpanan akses langsung. Ini berfungsi sebagai buffer yang memungkinkan unit prosesor dan memori untuk bertindak independen tanpa dipengaruhi oleh perbedaan kecil dalam operasi.

d) IR (Instruction Register)

Dalam komputasi, sebuah Instruction Register (IR) adalah bagian dari unit kontrol CPU yang menyimpan instruksi yang sedang dieksekusi atau diterjemahkan. Pada prosesor sederhana, setiap instruksi yang akan dijalankan dimuat ke dalam register instruksi yang kemudian diterjemahkan, disiapkan dan akhirnya dieksekusi.

Decoding opcode dalam register instruksi meliputi penentuan instruksi yang menentukan di mana operand berada dalam memori, mengambil operand dari memori, mengalokasikan sumber daya prosesor untuk mengeksekusi perintah (dalam prosesor superscalar), dll. Output dari IR tersedia untuk mengendalikan sirkuit yang menghasilkan sebuah sinyal waktu yang mengendalikan berbagai elemen pengolahan yang terlibat dalam pengeksekusian instruksi.

e) PC (Program Counter)

Program Counter (PC) adalah daftar prosesor yang berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori. Tergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan.

f) MBR (Memory Buffer Register)

Memory Buffer Register atau yang biasa disingkat dengan MBR adalah suatu register yang berfungsi untuk memuat isi informasi yang akan dituliskan ke memori atau baru saja dibaca dari memori pada alamat yang ditunjuk 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 adalah 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 read dari memori:

  • Pilih alamat memori yang akan dibaca (dalam unsigned ke MAR 2 –1)
  • Kirim READ signal melalui READ control line
  • Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah)
  • Pilih alamat yang ditunjuk ke dalam MBR

Sedangkan, urutan proses write ke memori adalah sebagai berikut:

  • Pilih alamat memori yang akan ditulisi (dalam unsigned binary) ke MAR (range 0 hingga 2n – 1)
  • Pilih 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 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) memiliki 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 akan meminta pembacaan memori dan hasilnya disimpan di bus data, 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

Register yang berisi sebuah word data yang akan ditulis ke-/dibaca dari memori adalah

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 kedalam MBR
  • Siklus pengambilan dan siklus tak langsung cukup sederhana
  • 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

Register yang berisi sebuah word data yang akan ditulis ke-/dibaca dari memori adalah

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 dengan cara memindahkan isi PC ke MBR untuk kemudian dituliskan ke dalam memori
  • Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit control yang berupa stack pointer
  • PC dimuatkan dengan alamat rutin interrupt. Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai

g) MAR (Memory Address Register)

MAR adalah register yang mencatat alamat memori yang akan diakses (baik yang akan ditulisi maupun yang akan dibaca). (Hariyanto, Bambang. 1997. Sistem Operasi Revisi Keempat)

MAR (Memory Address Register) atau register penunjuk alamat memori merupakan register yang menampung alamat data atau instruksi pada main memory yang akan diakses, baik itu yang akan diambil (dibaca) maupun yang akan diletakkan (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), diletakkan 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. MAR berfungsi sebagai komponen yang diperintahkan oleh IR dan Control Unit untuk mencari dan menampung alamat data serta instruksi dalam sebuah Main Memory.

Spesifikasi MAR antara lain:

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

Proses kerja MAR (antara CPU dan memory) adalah dengan menampung alamat data atau instruksi yang dikirim dari main memory ke CPU atau yang akan direkamkan ke main memory.

Berikut penjelasan tentang proses pengaksesan data di/ke main memory:

  1. Bila data atau instruksi akan diambil dari main memory ke CPU, maka main memory harus diberitahu terlebih dahulu alamat (address) data atau instruksi tersebut di main memory. Oleh Control Unit, alamat tersebut diletakan di MAR untuk dikirim ke main memory melalui Address Bus.
  2. Demikian juga jika hasil proses dari CPU akan direkamkan ke main memory, maka main memory harus diberitahu di mana alamat perekaman hasil proses tersebut terlebih dahulu. Oleh Control Unit alamat tersebut diletakan di MAR untuk dikirim ke main memory lewat Address Bus.

Proses pengaksesan data (Menyimpan/Mengambil) yang melibatkan MAR dibagi menjadi:

  1. Processor à Memory (Processor menyimpan data/instruksi ke memory)            Alamat data atau memory akan disalin ke dalam MAR, kemudian alamat tersebut akan dicari di dalam memory. Setelah ditemukan, data atau instruksi akan dimasukkan ke dalam MDR dan alamat yang telah ditemukan tadi, sel memorinya akan diaktifkan. Lalu data atau instruksi yang ada di MDR dimasukkan ke dalam memory.
  2. Processor ß Memory (Processor mengambil data/instruksi dari memory)          Alamat data atau memori akan disalin ke dalam MAR, kemudian alamat tersebut akan dicari di dalam memory. Setelah ditemukan, maka sel memori yang berisi data atau instruksi akan aktif. Dengan aktifnya sel memori ini maka data atau instruksi yang ada didalamnya dapat di keluarkan untuk kemudian di tampung di dalam MDR. Melihat hal ini, maka MAR digolongkan dalam register satu arah (karena hanya berhubungan dengan memory (alamat)).

Dengan memperbesar kapasitas memory, berarti secara tidak langsung akan berpengaruh pada kinerja MAR. Ketika kapasitas memory bertambah besar, ada dua hal yang terjadi:

  1. Peningkatan jumlah bit alamat dari data atau instruksi di dalam MAR, dan
  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.

***

Berikut struktur dari computer IAS (Computer of Institute for Advance Studies) yang menunjukkan bagaimana macam-macam register yang saya jelaskan di atas berhubungan satu dengan yang lainnya dalam menjalankan tugasnya masing-masing.

Register yang berisi sebuah word data yang akan ditulis ke-/dibaca dari memori adalah

Referensi :

https://ftsi.files.wordpress.com/2007/09/buku.pdf

https://mansteven.blogspot.com/2013/08/pengaturan-register-terdapat-dalam-cpu.html