Welcome

Selamat Datang Gan

Minggu, 23 Juni 2013

REGISTER


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 

Tidak ada komentar:

Posting Komentar

Entri Populer