REGISTER
apriliaerlita.wordpress.com
Dalam metode seri, bit-bit dipindahkan secara berurutan satu per satu : b0, b1, b2,
dan seterusnya. Dalam mode paralel, bit-bit dipindahkan secara serempak sesuai dengan
cacah jalur paralel (empat jalur untuk empat bit) secara sinkron dengan sebuah pulsa
clock. Ada empat cara dimana register dapat digunakan untuk menyimpan dan
memindahkan data dari satu bagian ke bagian sistem yang lain :
1. Serial input paralel output (SIPO)
2. Serial input serial output (SISO)
3. Paralel input parallel output (PIPO)
4. Paralel input serial output (PISO)
Beberapa tipe flip-flop dapat digunakan untuk membuat suatu register. Jika D FF
digunakan untuk membentuk register memori 4-bit, susunannya dapat dilihat pada
gambar di bawah ini :
Pada gambar di atas ditunjukkan sebuah register memori 4 bit yang terdiri dari 4
buah D FF. Data input dimasukkan secara paralel pada terminal A, B, C, dan D. Data
pada input akan di transfer ke output setiap ada pulsa clock secara paralel juga. Karena
data input masuk secara paralel dan output juga secara paralel maka rangkaian di atas
disebut sebagai Paralel Input dan Paralel Output (PIPO). Data yang disimpan pada
rangkaian di atas tidak dapat digeser dari satu D FF ke D FF yang lainnya. Jika output
QA dihubungkan ke input B, data akan di geser dari kiri ke kanan yang dikenal sebagai
shift register, seperti ditunjukkan pada gambar di atas. Misalkan QA dan QB diset awal
ke 0. Bit pertama dimasukkan ke input flip-flop A, jika ada clock pertama, bit tersebut
akan di transfer ke output QA. Bit pertama sekarang telah tersambung ke input B, dan bit
ke dua dari data input terhubung ke input flip-flop A. Jika ada pulsa clock kedua, bit
pertama berpindah ke output QB dan bit kedua berpindah ke output QA. Proses
perpindahan data akan berlanjut sampai 4-bit. Data dapat dibaca secara paralel dari QA,
QB, QC, dan QD secara simultan, dikenal sebagai Serial Input Serial Output (SISO).
apriliaerlita.wordpress.com
Shift Register 4-bit
Shift register juga dapat disusun dari SR FF atau JK FF, dengan penambahan
fasilitas Preset dan Clear. Rangkaian dapat digunakan untuk serial input maupun paralel
input. Untuk paralel input dan paralel output dapat ditunjukkan pada gambar di bawah
ini :
Shift Register akan menerima maupun mengeluarkan data dengan cara pergeseran,
yaitu menggeser satu bit data ke kiri atau ke kanan untuk setiap satu periode clock yang
diberikan.
apriliaerlita.wordpress.com
Model Pergeseran Pada Shift Register
apriliaerlita.wordpress.com
Timing Diagram Konversi Paralel Input to Serial Output (PISO)
apriliaerlita.wordpress.com
Timing Diagram Serial Input Paralel Output (SIPO)
IC Shift Register 76164 (8-bit Serial In, Parallel Out Shift Register)
apriliaerlita.wordpress.com
IC Shift Register 76164 (8-bit Serial In, Parallel Out Shift Register)
apriliaerlita.wordpress.com
2.3. Jenis Register
1. Program Counter (PC)
Merupakan register yang menunjuk ke instruksi berikutnya yang harus diambil dan
dijalankan.
2. Instruction Register (IR)
Merupakan register yang menyimpan instruksi yang sedang dijalankan.
3. General Purpose Register
Merupakan register yang memiliki kegunaan umum yang berhubungan dengan data
yang diproses.
4. Memory Data Register (MDR)
Merupakan register yang digunakan untuk menampung data atau instruksi hasil
pengiriman dari memori utama ke CPU atau menampung data yang akan direkam ke
memori utama dari hasil pengolahan CPU.
5. Memory Address Register (MAR)
Merupakan register yang digunakan untuk menampung alamat data atau instruksi
pada memori utama yang akan diambil atau yang akan diletakkan.
apriliaerlita.wordpress.com
2.4. Golongan Register
A. General purpose register (Scratch Pad Register)
General purpose register terdiri dari empat buah register yang mempunyai
kemampuan 16 bit dan dapat dibagi menjadi register low dan high bits yang masing-
masing berkemampuan 8 bit.
1. AX (AH+AL) = Accumulator register
Merupakan register aritmatik, karena register ini selalu dipakai dalam
operasi penambahan, pengurangan, perkalian dan pembagian. Setiap general
purpose register mempunyai register low dan register high, maka untuk AX
register low nya adalah AL dan register high nya adalah AH. Register AH
merupakan tempat meletakkan nilai service number untuk beberapa interrupt
tertentu.
2. BX (BH+BL) = Base register
Merupakan salah satu dari dua register base addressing mode yang dapat
mengambil atau menulis langsung dari/ke memori.
3. CX (CH+CL) = Counter Register
Merupakan suatu counter untuk meletakkan jumlah lompatan pada loop
yang dilakukan.
4. DX (DH+DL) = Data Register
Mempunyai tiga tugas, yaitu :
a. Membantu AX dalam proses perkalian dan pembagian, terutama perkalian
dan pembagian 16 bit.
b. DX merupakan register offset dari DS
c. DX bertugas menunjukkan nomor port pada operasi port
B. Segment Register
1. CS (Code segment register)
Bertugas untuk menunjukkan segment program berada. Pasangan register ini
adalah register IP.
2. DS (Data segment register)
Tugas register DS dan SS adalah menunjukkan segmen dari segment data dan
segment stack. Pasangan dari register ini adalah register DX.
3. SS (Stack segment register)
Pasangan register ini adalah register SP
4. ES (Extra segment register)
Tidak mempunyai tugas khusus, namun berguna untuk pemograman pada saat
melakukan operasi ke segment lain.
C. Pointer Register
Pointer register berfungsi untuk menyimpan offset dari relative address.
1. IP (Instruction pointer register)
apriliaerlita.wordpress.com
Pasangannya adalah register CS yang merupakan register terpenting untuk
menunjukkan baris perintah program. Pada pertama program dijalankan register
ini akan langsung menunjuk pada awal program.
2. SP (Stack pointer register)
Pasangannya adalah register SS yang digunakan untuk operasi stack. Pada
saat program pertama dijalankan register ini akan menunjuk pada byte terakhir
stack.
3. BP (Base pointer register)
Mempunyai fungsi yang sama dengan register BX yaitu dapat menulis dan
membaca ke/atau dari memori secara langsung. Perbedaannya adalah BX
menulis dan membaca dengan segment SS. Register BP digunakan juga dalam
komunikasi antara bahasa komputer, seperti PASCAL dengan Assembler
ataupun Turbo C dengan Assembler.
D. Index Register
Index register terdiri dari dua register yaitu register DI dan SI. Dimana kedua
register ini merupakan register yang dipakai untuk melakukan operasi string. Kedua
register ini sering digunakan untuk menulis dan membaca ke atau dari memori
seperti BX dan BP.
SI = Source Index Register
DI = Destination Index Register
E. Flag Register
X
X Flag Bit :
X
O O = Overflow Flag
D D = Direction Flag
I I = Interrpt Flag
T T = Trap Flag
S S = Sign Flag
Z Z = Zero Flag
X A = Auxiliary Flag
A P = Parity Flag
X C = Carry Flag
P X = Reserved (kosong)
X
C
Flag register ini merupakan suatu komposisi register 16 bit dengan ketentuan
seperti gambar diatas, dimana komposisi bitnya dapat mengecek apakah sesuatu
10
apriliaerlita.wordpress.com
berfungsi atau tidak. Contoh : Interrupt Flag mengecek apakah pada saat operasi
Interupt sedang aktif atau tidak, bila tidak aktif, Interrupt tidak akan dijalankan.
Ca11rry Flag mengecek apakah pada saat operasi terjadi kesalahan atau tidak.
Sign Flag menunjukkan apakah suatu bilangan bertanda atau tidak dan sebagainya.
11
apriliaerlita.wordpress.com
2.7. Cara Register Menyimpan dan Memindahkan Data
a. Serial In – Serial Out
Dasar register geser empat-bit dapat dirangakai dengan menggunakan empat D
flip-flop, seperti yang diperlihatkan di bawah. Pengoprasian rangkaian terlihat seperti
yang dijelaskan berikut. Pertama-tama register di-clear, memaksa keempat output
bernilai nol. Input data kemudian diterapkan secara sekuensial dengan D input dari
flip-flop yang pertama di kiri (FF0). Selama pulsa clock,
satu bit ditransmisikan dari kiri ke kanan. Menerima suatu kata data menjadi
1001. Least significant bit (LSB) data telah digeser lewat register dari FF0 ke
FF3.
Dalam penerimaan untuk mendapat data keluar dari register, mereka harus
digeser keluar dengan serial. Ini dapat dilakukan dengan merusak atau tidak merusak.
Jika merusak output susunan yang dapat dibaca (destructive readout), data asli
hilang dan pada akhir putaran data, semua flip-flop di-reset pada nol.
Untuk menghindari kehilangan data, suatu susunan pembacaan yang tidak
merusak (non-destructive reading) dapat dilakukan dengan menambah dua gerbang
AND, sebuah gerbang OR dan sebuah inverter pada sistem. Susunan rangkaian
ditunjukan dibawah.
Data di angkut pada register saat garis kontrol tinggi (HIGH dengan kata lain
WRITE). Data dapat di geser keluar dari register saat garis kontrol rendah ( LOW
dengan kata lain READ). Ini ditunjukan dalam animasi di bawah.
b. Serial In – Paralel Out
Dari jenis register ini, bit-bit data dimasukan secara serial sama artinya seperti
yang didiskusikan dalam seksi terakhir.Perbedaanya adalah cara dimana bit-bit data
12
apriliaerlita.wordpress.com
dipindahkan dari register. Sekali data disimpan, setiap bit muncul pada masing-
masing baris keluarannya, dan semua bit-bitnya mampu secara simultan. Sebuah
susunan empat-bit register SIPO diperlihatkan di bawah ini.
D0, D1, D2 dan D3 adalah paralel input, dimana D0 adalah most significant bit
(MSB) dan D3 adalah least significant bit (LSB). Untuk menulis data masuk, baris
pengontrolan mode diambil pada rendah dan data di-clock masuk. Data dapat digeser
saat baris kontrol mode tinggi bersamaan SHIFT aktif tinggi. Register menampilkan
operasi geser kanan pada aplikasi satu pulsa clock.
13
apriliaerlita.wordpress.com
Masukan-masukan D dan keluaran Q adalah paralel. Sekali register di-clock,
semua data di D input muncul pada keluaran Q yang berhubungan secara simultan.
14
apriliaerlita.wordpress.com
Pengendali Lalu Lintas
15
apriliaerlita.wordpress.com
Diagram Pewaktu Register
16
apriliaerlita.wordpress.com
DAFTAR PUSTAKA
17
apriliaerlita.wordpress.com