A.
Pengertian Register
Register
adalah memori berukuran sangat kecil dengan kecepatan akses sangat tinggi. Register digunakan untuk menyimpan data dan instruksi yang sedang diproses,
sementara itu data dan instruksi lainnya yang menunggu giliran diproses akan disimpan
dalam main memory. Register dari sebuah komputer secara kolektif
disebut sebagai kumpulan register (register set).
.
Register dapat menyimpan informasi dalam kode biner dan menampilkannya kembali
dan dikatakan dapat melakukan operasi baca dan tulis. Register didalam prosesor
mempunyai dua fungsi, sebagai berikut:
• User-visible register : memungkinkan
bahasa mesin dapat mengurangi resensi memori utama dengan mengoptimalkan
penggunaan register.
• Control dan status register :
digunakan oleh prosesor untuk mengontrol operasi prosesor dan mengontrol
eksekusi program.
B. Register User General Purpose
General Purpose
Register yaitu register yang mempunyai berbagai macam fungsi yang berhubungan dengan data yang sedang diproses. Misal, jika digunakan untuk menampung data yang sedang diolah disebut sebagai operand register, sedangkan jika digunakan untuk menampung hasil olahan disebut sebagai accumulator. Setiap register
dapat dialamati sebagai register 32-bit, register 16-bit, dan register
8-bit
Ø Register Akumulator
Akumulator
merupakan sebuah register
di mana aritmatika menengah dan hasil logika disimpan. Sebuah komputer yang
register seperti akumulator, maka akan sangat diperlukan untuk menulis hasil
perhitungan masing-masing (penjumlahan, perkalian, pembagian, dll) ke memori
utama, yang mungkin hanya untuk dibaca kembali lagi untuk digunakan dalam
operasi berikutnya. Register ini berfungsi sebagai:
a. tempat penyimpanan
sementara hasil suatu operasi aritmatika atau logika;
b. tempat memasukkan
nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi;
Ø Register Data
Data register merupakan register serbaguna yang berfungsi
sebagai:
a. tempat menyimpan setengah bagian
terbesar hasil suatu perkalian bilangan 16-bit dan 32-bit;
b. tempat menyimpan setengah
bagian terbesar suatu bilangan yang akan dikenai operasi pembagian, serta sisa
suatu pembagian.
Register data hanya dapat
dipakai untuk menampung data dan tidak dapat digunakan untuk kalkulasi dan
alamat operand.
Ø Register Alamat
Register
Alamat hanya dapat digunakan untuk menyimpan alamat atau untuk kalkulasi alamat
operand. Register alamat,
dapat berisi:
(a) alamat di main memory,
(b) alamat instruksi di main memory,
(c) bagian alamat yang digunakan dalam
penghitungan alamat lengkap.
Contoh
register alamat yaitu Base Registers, Segment Register, Index Register, Stack
Pointer.
Ø Register Kode Kondisi / Register Flag
flag register merupakan suatu pemberi tanda setiap operasi contohnya
jika kita sedang menjalankan interupt maka if akan hidup atau jika sedang
menjalankan debugger maka if akan hidup. Macam-macam dari flag register adalah
of (oferflow flag), df (direction flag), if (intterupt flag), tf (trap flag), sf
(sign flag), zf (zero flag), dan cf (carry flag).
Bit-bit pada flag register akan mengalami perubahan,
tergantung proses yang baru saja berlangsung. Bit-bit tersebut adalah sebagai
berikut:
1. C (carry): mengindikasikan ada/tidaknya bawaan
(carry) setelah operasi pengurangan. C = 1 berarti ada bawaan, C = 0 berarti
tidak ada bawaan. Bit C berfungsi mengidentifikasi kesalahan (error) pada
beberapa program dan prosedur (procedure).
2. P (parity): mengindikasikan jumlah bit dalam
suatu data. P = 0 berarti paritasnya ganjil, P = 1 berarti paritasnya genap.
Paritas dapat digunakan untuk pengecekan kesalahan pengiriman data.
3. A (auxiliary carry): mengindikasikan
ada/tidaknya bawaan (carry) pada bit ke-3 dan ke-4 setelah operasi pengurangan.
A=1 berarti ada bawaan, A=0 berarti tidak ada bawaan. Bit A ini relatif jarang
digunakan dalam pemrograman.
4. Z (zero) : mengindikasikan apakah hasil suatu
operasi aritmatika atau logika bernilai nol atau bukan. Bila Z = 1 berarti
hasilnya nol dan Z = 0 berarti hasilnya bukan nol. Bit Z ini hampir sama dengan
bit C, yakni berfungsi untuk mengidentifikasi kesalahan dalam suatu program.
5. S (sign) : mengindikasikan apakah hasil suatu
operasi aritmatika atau logika positif atau negatif. Bila S = 1 berarti hasil
negatif dan S = 0 berarti hasilnya positif.
6. T (trap) : bila di set 1, dimungkinkan
melakukan debugging (penelusuran kesalahan).
7. I (interrupt) : mengendalikan operasi
interupsi perangkat keras. Bila I = 1 berarti pin INTR enable (bisa digunakan),
bila I = 0 berarti INTR disable (tidak bisa digunakan). Untuk mengendalikannya
dapat dilakukan dengan instruksi STI (mengeset I=1) dan CLI (mereset I=0).
8. D (direction) : mengendalikan arah pencacahan
(increment atau decrement) DI dan SI pada operasi string. Bila D = 1 arah
pencacahan adalah turun (decrement), bila D = 0 pencacahan naik (increment).
Untuk mengendalikannya bisa dengan instruksi STD (mengeset D=1) dan CLD
(mereset D=0).
9. O (overflow) : mengindikasikan apakah hasil
operasi penjumlahan atau pengurangan melampaui kapasitas mesin atau tidak.
10. IOPL (input-output privilege level) :
digunakan untuk operasi protected mode untuk memilih tingkat keistimewaan
(privilege level) piranti masuk-keluaran.
11. NT (nested task) : mengindikasikan apakah
operasi yang sedang dilakukan digandeng (nested) dengan operasi lain pada
operasi protected mode.
12. RF (resume) : digunakan saat debugging untuk
mengendalikan kelanjutan eksekusi.
13. VF (virtual mode) : memilih operasi virtual
mode pada operasi protected mode.
14. AC (alignment check) : untuk mengecek apakah
suatu data word atau doubleword dialamati ke memori yang bukan data word atau
bukan doubleword.
Ø Register Indeks
Index Register ini dapat digunakan sebagai sebuah register
serbaguna, akan tetapi lebih sering digunakan untuk menunjukkan alamat sebuah
data di lokasi memori pada operasi-operasi string. Index
register yang terbagi atas dua register yaitu :
1)
register si (source index
register)
register si merupakan register yang mencatat alamat memori
yang isi memorinya akan digunakan. Register si sebagai sumber pembacaan memori.
2)
register di (destination index
register)
register di seperti si juga membaca
alamat memori untuk tempat tujuan penulisan data di memori
Ø Register Pointer
Pointer register adalah rergister yang mempunyai tugas khusus untuk
menunjukan alamat offset, yang terbagi atas tiga register yaitu :
1)
register ip (instruction pointer)
register ip fungsinya menunjukkan offset dari alamat
program. Yang berpasangan dengan register cs
2)
register sp (stack pointer)
register sp fungsinya mencatat alamat stack dan menunjukkan
offset dari alamat stack, yang berpasangan dengan register ss
3)
register bp (base pointer)
fungsi dari register bp adalah untuk membaca dan menulis
dengan segment ss (stack pointer)
C. Register Control dan Status
Register
control dan status adalah register-register yang digunakan oleh unit kontrol
untuk mengontrol operasi CPU dan oleh program sistem operasi untuk mengontrol
eksekusi program. Sebagian dapat
diakses dengan instruksi mesin yang dieksekusi dalam mode kontrol atau kernel
sistem operasi.
1) Program Counter/ Register Counter/ PC
register cx biasanya berfungsi sebagai counter atau
digunakan jika nanti ada melakukan berapa banyak kita melakukan looping atau
pengulangan. Atau lebih tepatnya menentukan banyaknya looping atau pengulangan.
Cx terbagi atas high dan low yaitu :
·
register ch (8bit) sebagai
register high
·
register cl (8bit) sebagai
register low
2)
Register Intruksi
Register instruksi adalah register
yang berisi instruksi terakhir yang diambil.
a. IR
(Instruction Register) digunakan untuk menyimpan instruksi yang sedang
dieksekusi dalam CPU.
b. Instruction
Buffer untuk menyimpan instruksi instruksi yang menunggu giliran untuk
dieksekusi dalam CPU.
3) Memory
Addres Register (MAR)
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).
Spesifikasi MAR :
·
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)
MAR
merupakan salah satu register yang digunakan sebagai interface antara CPU dan
main memory. MAR menampung alamat data atau instruksi yang dikirim dari main
Memory ke CPU atau yang akan direkamkan ke Main Memory.
4)
Memory Buffer Register (MBR)
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 memori yang alamatnya ditunjuk MAR atau untuk
menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca.
MBR berperan dalam proses pengaksesan
memori yaitu dalam proses read/write dari atau ke memori.
source : Dari berbagai sumber
makasih atas infonya
ReplyDeletealat pemisah lcd touch