Dalam arsitektur komputer, ada komponen yang disebut dengan register. Register ini merupakan memori sederhana yang bertujuan untuk membantu prosesor dalam menjalankan sebuah instruksi komputer.

Pengertian Register

Register

Register ialah salah satu dari sekumpulan kecil tempat penyimpanan data yang merupakan bagian dari prosesor komputer. Register bisa menyimpan instruksi, alamat penyimpanan, dan jenis-jenis data apa pun seperti urutan bit atau karakter individual.

Terdapat beberapa instruksi pada prosesor menentukan sebuah register. Contohnya yaitu, sebuah instruksi bisa memutuskan untuk menjumlahkan isi dari dua register tertentu secara bersama-sama dan kemudian ditempatkan dalam register lain.

Register harus cukup besar untuk menampung instruksi contohnya, di komputer 64-bit, panjang register harus 64 bit. Dalam beberapa desain komputer, terdapat register yang lebih kecil contohnya, half register untuk instruksi yang lebih pendek. Tergantung pada aturan bahasa dan desain prosesor, register bisa diberi nomor atau mempunyai nama yang berubah-ubah.

Baca juga : Pengertian dan Komponen CPU

Register digunakan sebagai unit memori yang dengan cepat menerima, menyimpan, serta mentransfer data dan juga instruksi saat digunakan segera oleh CPU. Berbagai jenis register pada komputer dirancang dengan memiliki tujuan yang berbeda-beda.

Di antara beberapa jenis, jenis register AC atau Accumulator ini yang paling sering digunakan, DR atau Data Register, Address Register atau AR, PC (Program Counter), MDR (Memory Data Register), Index register, dan juga Memory Buffer Register.

Register ini digunakan untuk melakukan berbagai kebutuhan instruksional dan juga digunakan oleh CPU untuk melakukan operasi.

Contohnya ketika Anda memberikan beberapa input ke sistem maka input akan disimpan ke dalam register. Keluaran yang ditampilkan kepada Anda sebagai pengguna merupakan pemrosesan yang hasilnya juga didapatkan dari register.

Di bawah ini adalah operasi-operasi yang dijalankan oleh sebuah register:

• Fetch: dipakai untuk mengambil instruksi yang diberikan oleh pengguna. Selain itu, instruksi yang disimpan ke dalam main memory (memori utama) juga akan diambil dengan menggunakan register.

• Decode: dipakai untuk menafsirkan instruksi. Hal ini memiliki tujuan agar CPU mengetahui operasi mana yang akan dilakukan pada instruksi.

• Execute: Operasi Execute ini dilakukan oleh CPU. Output yang dihasilkan oleh CPU kemudian disimpan ke dalam memori selanjutnya ditampilkan di layar pengguna.

Jenis- jenis Register

1. MAR (Memory Address Register)

MAR menyimpan alamat memori dari data dan instruksi. MAR digunakan untuk mengakses data dan instruksi dari memori selama fase eksekusi suatu instruksi.

CPU secara luas menggunakan register ini untuk membaca atau menyimpan semua jenis data dalam jenis register MAR ini.

Umumnya  MAR digunakan untuk operasi membaca (read) dan menulis (write) data dari memori. Pada saat operasi membaca (read), alamat diambil dari register untuk mengakses data, kemudian data dimasukkan ke dalam jenis register lain yang dikenal sebagai Memory Data Register (MDR).

Dalam operasi write, data diambil dari Memory Data Register dan kemudian disimpan di alamat yang terletak pada MAR. Register MAR ini selalu menyimpan alamat lokasi berikutnya di mana operasi terkait data yang akan dijalankan.

2. MDR (Memory Data Register)

MDR merupakan register unit kontrol komputer berisikan data yang akan disimpan di penyimpanan komputer (misalnya pada RAM), atau data setelah diambil dari penyimpanan komputer.

MDR bertindak seperti buffer dan menyimpan apa pun yang disalin dari memori yang siap digunakan oleh prosesor. Register ini menyimpan informasi sebelum masuk ke decoder.

MDR berisikan data yang akan ditulis atau dibaca dari lokasi yang dituju. Contohnya, untuk mengambil isi sel 123, Anda akan memuat nilai 123 (dalam biner) ke dalam MAR dan melakukan operasi pengambilan. Saat operasi sudah selesai, salinan isi sel 123 akan berada di MDR.

Untuk menyimpan nilai 98 ke dalam sel 4, Anda memuat 4 ke dalam MAR dan 98 ke dalam MDR untuk melakukan penyimpanan. Saat operasi sudah selesai, isi sel 4 akan disetel ke 98, dengan membuang apa pun yang ada sebelumnya.

MDR yaitu register dua arah. Data yang diambil dari memori ditulis dalam satu arah dan ditempatkan ke MDR. Ketika terdapat instruksi tulis, data yang akan ditulis ditempatkan ke MDR dari register CPU lain, dan kemudian memasukkan data ke dalam memori.

Memori Data Register merupakan setengah dari antarmuka minimal antara program mikro dan penyimpanan komputer, setengah lainnya yaitu MAR. MDR dan MAR melengkapi satu sama lain dan bekerjasama untuk menyelesaikan suatu operasi membaca (read) dan menulis (write) data.

3. MBR (Memory Buffer Register)

MBR digunakan untuk menyimpan informasi dan data yang bisa dibaca atau ditulis dalam memori komputer.

MBR memiliki fungsi utama yaitu untuk menyimpan berbagai jenis instruksi komputer dan data yang dapat ditransfer antar memori komputer.

Register ini merupakan register yang terkait memori utama untuk prosesor yang ada di unit pemrosesan karena register ini mampu melakukan operasi terkait memori dengan sangat cepat.

4. PC (Program Counter)

PC nama lainnya adalah Instruction Address Register (IAR) atau IC (instruction counter). PC digunakan untuk menunjukkan posisi saat ini dari urutan program dalam sistem komputer.

Saat instruksi diambil dari memori, nilai Program Counter bertambah satu dan menunjuk ke instruksi berikutnya yang perlu dieksekusi oleh prosesor CPU. PC digunakan untuk menyimpan alamat instruksi langsung yang perlu dieksekusi selanjutnya.

Prosesor di CPU mengambil instruksi secara berurutan namun urutannya bisa diubah oleh jenis instruksi lain seperti transfer kontrol.

5. Accumulator

Accumulator merupakan jenis lain dari register CPU yang banyak digunakan untuk menyimpan logika atau hasil sementara.

Register Accumulator mempunyai peran yang sangat penting, apabila register ini tidak ada maka semua hasil sementara yang perlu disimpan dalam memori utama bisa menambah overhead pada memori. Hal ini karena operasi baca dan tulis yang tidak perlu akan meningkat.

Hasil sementara yang didapatkan dari CPU bisa dengan mudah disimpan di register Accumulator. Register Accumulator memiliki kecepatan akses yang jauh lebih cepat dibandingkan dengan memori utama. Dalam banyak sistem modern, terdapat berbagai jenis accumulator yang bisa digunakan untuk menyimpan hasil sementara.

6. Index Register

Index Register di CPU komputer yaitu register prosesor yang digunakan untuk memodifikasi alamat operan selama menjalankan program.

Index Register banyak digunakan untuk melakukan operasi array atau vektor. Konten diambil dari register indeks dan ditambahkan atau dikurangi ke beberapa alamat langsung untuk memperoleh alamat data yang efektif. 

Baca juga : Fungsi dan Bagian - Bagian CPU

Kerja register indeks bisa diuji dengan instruksi khusus dan utamanya digunakan untuk menguji instruksi loop. Register indeks bisa digunakan dalam pengalamatan tidak langsung di mana modifikasi diperlukan untuk alamat instruksi.

7. Instruction Register

Instruction register merupakan jenis lain dari register CPU yang digunakan untuk menyimpan instruksi saat dieksekusi atau didekodekan.

Dalam prosesor, instruction register ini menyimpan setiap instruksi di dalamnya, dan kemudian bisa dieksekusi oleh prosesor. Instruksi bisa dieksekusi dalam satu langkah atau dalam beberapa langkah.