Anda di halaman 1dari 17

MATA KULIAH TEKNIK DIGITAL

REGISTER

2.1. Pengertian Register


Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses
cukup tinggi (5 sampai 10 kali lebih cepat dari memori utama), dan digunakan untuk
menyimpan data dan instruksi yang sedang diproses, sementara data dan instruksi
lainnya yang menunggu giliran untuk diproses masih disimpan di dalam memori utama.
Setiap register dapat menyimpan satu bilangan hingga mencapai jumlah maksimum
tertentu tergantung pada ukurannya. Register-register dapat dibaca dan ditulis dengan
kecapatan tinggi karena berada pada CPU.
Dalam elektronika digital seringkali diperlukan penyimpan data sementara sebelum
data diolah lebih lanjut. Elemen penyimpan dasar adalah flip-flop. Setiap flip-flop
menyimpan sebuah bit data. Sehingga untuk menyimpan data n-bit, diperlukan n buah
flip-flop yang disusun sedemikian rupa dalam bentuk register. Register digunakan
sebagai tempat menyimpan sementara sebuah grup bit data. Bit-bit data (“1”atau “0”)
yang sedang berjalan di dalam sebuah sistim digital, kadang-kadang perlu dihentikan,
dicopy, dipindahkan atau hanya digeser ke kiri atau ke kanan satu atau lebih posisi. Suatu
memori register menyimpan data 1001 dapat ditunjukkan secara blok diagram seperti
gambar di bawah ini :

Blok Diagram Register Memori 4 bit

Data Biner dapat Dipindahkan secara Seri atau Paralel


Transfer Data (a) Mode Seri (b) Mode Paralel

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 :

Rangkaian Register Memori 4-Bit

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 :

Register Paralel Input Paralel Output

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)

Konversi Serial Input Paralel Output (SIPO)

apriliaerlita.wordpress.com
Timing Diagram Serial Input Paralel Output (SIPO)

Contoh Rangkaian SIPO Shift Register 4 bit

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)

IC 74194 (Universal Shift Register)

2.2. Fungsi Register


a. User Visible Register
Register ini memungkinkan pemrograman bahasa mesin dan bahasa assembler
meminimalkan referensi memori utama dengan cara mengoptimasi penggunaan
register.
b. Control dan Status Register
Register ini digunakan oleh unit kontrol untuk mengontrol operasi cpu dan oleh
program sistem operasi untuk mengontrol eksekusi program.

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.

Register terbagi menjadi beberapa kelas :


1. Register data : digunakan untuk menyimpan angka-angka dalam bilangan bulat
(interger).
2. Register alamat : digunakan untuk menyimpan alamat-alamat memori dan juga
untuk mengakses memori.
3. Register general purpose : digunakan untuk menyimpan angka dan alamat secara
sekaligus.
4. Register floating-point : digunakan untuk menyimpan angka-angka bilangan titik
mengambang.
5. Register konstanta (constant register) : digunakan untuk menyimpan angka-angka
tetap yang hanya dapat dibaca (bersifa read-only) semacam phi, null, true, false dan
lainnya.
6. Register vektor : digunakan untuk menyimpan hasil pemrosesan vektor yang
dilakukan oleh prosesor SIMD.
7. Register special purpose : digunakan untuk menyimpan data internal proseor seperti
halnya instruction pointer, stack pointer, dan status register.

Register yang spesifik terhadap model mesin (machine-specific register) dalam


beberapa arsitektur tertentu, digunakan untuk menyimpan data atau pengaturan yang
berkaitan dengan prosesor itu sendiri. Karena arti dari setiap register langsung
dimasukkan ke dalam desain prosesor tertentu saja, mungkin register jenis ini tidak
menjadi standar antara generasi prosesor.

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.

2.5. Ukuran Register


Register Prosessor
4-bit Intel 4004
8-bit Intel 8080
16-bit Intel 8086, Intel 8088, Intel 80286
32-bit Intel 80386, Intel 80486, Intel Pentium Pro, Intel Pentium, Intel
Pentium2, Intel Pentium3, Intel Pentium4, Intel Celeron, Intel
Xeon, AMD K5, AMD K6, AMD Athlon, AMD Athlon MP,
AMD Athlon XP, AMD Athlon4, AMD Duron, AMD Sempron
64-bit Intel Itanium, Intel Itanium2, Intel Xeon, Intel Core, Intel Core2,
AMD Athlon64, AMD Athlon X2, AMD Athlon FX, AMD
Turion64, AMD TurionX2, AMD Sempron

2.6. Aplikasi Register pada SIC


a. Register A : register yang digunakan untuk proses perhitungan.
b. Register X : register yang digunakan untuk mode pengalamatan berindex.
c. Register PC : register yang menyimpan alamat instruksi berikutnya.
d. Register L : register yang menyimpan alamat asal sebelum melakukan subroutines.
e. Register IR : register yang menyimpan instruksi yang sedang dikerjakan.
f. Register MBR : register yang digunakan untuk proses masukan atau keluaran data
dari memori.
g. Register MAR : register yang menyimpan alamat memori untuk proses pembacaan
atau penulisan.
h. Register SW: register yang berisi informasi status relative terhadap instruksi
sebelumnya.
i. Register C : register yang membangkitkan signal waktu t0, t1, t2, t2, t3.
j. Register INT : register yang menentukan apakah signal interruo telah diterima.
k. Register F : register yang digunakan dalam proses „siklus fetch‟.
l. Register E : register khusus yang digunakan dalam proses „siklus eksekusi‟.
m. Register S: register yang akan mengaktifkan register C

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.

c. Register Geser Parallel In – Serial Out (PISO)


Suatu register geser Parallel In – Serial Out diperlihatkan dibawah. Rangkaian
ini menggunakan D flip-flop dan gerbang NAND utuk memasukan data (dengan kata
lain menulis) pada register.

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.

d. Paralel In – Paralel Out (PIPO)


Untuk register Parallel In – Parallel Out, semua bit-bit data muncuk pada
keluaran-keluaran paralel secara mendadak mengikuti masukan yang simultan dari
bit-bit data. Rangkaian ini dibangun dengan D flip-flop.

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.

2.8 Aplikasi Register Geser


Berikut adalah rancangan penggunaan register geser sebagai pengendali lalu lintas
(traffic lights) dengan urutan kejadian : nyala hijau selama 20 detik, nyala kuning selama
10detik, dan nyala merah selama 20detik. Selain itu, pada malam hari hanya terjadi nyala
kuning yang berkedip setiap 1detik secara terus menerus. Perhatikan gambar 11.9.
Digunakan sumber detak 1Hz dan fototrarnsistor untuk membedakansiang dan malam
hari. Pada malam hari proses pergeseran registernya dihentikan dan menyalakan lampu
kuning dengan berkedip.
Pada siang hari, cahaya matahari menyinari fototransistor dan membuatnya
hambatan kolektor-emitor rendah yang memberikan tegangan rendah pada masukan picu
Schmitt dan gerbang OR ke 4 masuk ke pembagi 10. Keluaran pembagi 10 digunakan
untuk mengendalikan masukan detak pada setiap flip-flop. Kemudian keluaran setiap
flip-flop akan tinggi selama 10detik secara bergiliran. Perhatikan bentuk gelombang
pewaktunya pada gambar 11.10. Kemudian semua keluaran flip-flop dihubungkan
seperti pada gambar. Lampu hijau akan hidup selama 20detik jika Q0 atau Q1 tinggi.
Berikutnya, lampu kuning akan hidup selama 1detik jika Q2 tinggi. Akhirnya, lampu
merah akan hidup selama 20detik jika Q3 atau Q4 tinggi.

14

apriliaerlita.wordpress.com
Pengendali Lalu Lintas

Pada malam hari, pototransistor berhambatan tinggi sehingga masukan picu


Schmitt pertama tinggi yang mengakibatkan keadaan tinggi pada gerbang OR ke 4.
Keadaan ini akan menghentikan masukan detak kesemua flip-flop. Keadaan rendah pada
keluaran picu Schmitt pertama dihubungkan dengan saluran riset flip-flop yang
mempertahankan keluaran rendah pada keluarannya. Keadaan tinggi pada keluaran picu
Schmitt kedua membuat gerbang AND dapat dilewati detak 1Hz untuk menghidupkan
gerbang OR ke 2 dan menghasilkan cahaya kuning yang berkedip tiap 1detik. Pada siang
hari, keluaran dari picu Schmitt pertama berubah dari rendah ketinngi yang
menyebabkan register geser bekerja kembali. Peralihan dari rendah ke tinggi
mengakibatkan aliran arus sesaat melewati rangkaian RC. Arus ini akan menyebkan
keadaan tinggi pada masukan picu Schmitt ke tiga dan membuat keedaan rendah pada S0
yang membuat Q0 tinggi. Ketika arus telah berlalu , S kembali tinggi dan register geser
akan menghasilkan putaran keadaan tinggi Q0 ke Q1 ke Q2 ke Q3 ke Q4 terus menerus
sepanjang hari.

15

apriliaerlita.wordpress.com
Diagram Pewaktu Register

16

apriliaerlita.wordpress.com
DAFTAR PUSTAKA

http://busran.files.wordpress.com/2009/07/aritmatika-komputer.pdf diakses pada tanggal 20


Juli 2015 jam 01.43 wib.
http://kauni07.files.wordpress.com/2009/03/modul_4_-_alu.pdf diakses pada tanggal 20 Juli
2015 jam 02.19 wib.
http://lecturer.ukdw.ac.id/mahas/dossier/arkom_05.pdf diakses pada tanggal 20 Juli 2015 jam
03.12 wib.
http://nelly_sofi.staff.gunadarma.ac.id/Downloads/files/35635/Arsitektur+Komputer.pdf
diakses pada tanggal 20 Juli 2015 jam 02.01 wib.
http://raamira.blogspot.com/2012/06/register.html diakses pada tanggal 20 Juli 2015
http://staff.uny.ac.id/sites/default/files/Register%20&%20counter.pdf diakses pada 28 Juli
2015 jam 05.34 wib.
http://www.eelab.usyd.edu.au/digital_tutorial/part2 diakses pada 28 Juli 2015 jam 05.02 wib.
http://www.electronics-tutorials.ws/sequential/seq_6.html diakses pada 28 Juli 2015 jam
04.24 wib.
http://www.mdp.ac.id/materi/2012-2013-1/TK304/121078/TK304-121078-764-3.pdf diakses
pada tanggal 20 Juli 2015 jam 03.55 wib
https://iyant201043500251.files.wordpress.com/2012/05/jurnal-arsitektur-dan-organisasi-
komputer3.docx diakses pada tanggal 20 Juli 2015 jam 01.56 wib.

17

apriliaerlita.wordpress.com

Anda mungkin juga menyukai