REGISTER
PENGERTIAN REGISTER
Register merupakan sebagian memori dari
mikroprosesor yang dapat diakses dengan kecepatan yang sangat tinggi. Dalam
melakukan pekerjaannya mikroprosesor selalu menggunakan register-register
sebagai perantaranya, jadi register dapat diibaratkan sebagai kaki dan
tangannya mikroprosesor.
JENIS-JENIS REGISTER
Register yang digunakan oleh mikroprosesor
dibagi menjadi 5 bagian dengan tugasnya yang berbeda-beda pula, yaitu :
F Segmen
Register
Register yang termasuk dalam kelompok
ini terdiri atas register CS,DS,ES dan SS yang masing-masingnya merupakan
register 16 bit. Register-register dalam kelompok ini secara umum digunakan
untuk menunjukkan alamat dari suatu segmen.
Register CS(Code
Segment)
Digunakan untuk menunjukkan tempat dari segmen yang sedang aktif, sedangkan
register SS(Stack Segment)
menunjukkan letak dari segmen yang digunakan oleh stack. Kedua register ini
sebaiknya tidak sembarang diubah karena akan menyebabkan kekacauan pada program
anda nantinya.
Register DS(Data Segment)
Biasanya digunakan untuk menunjukkan tempat segmen dimana data-data pada
program disimpan. Umumnya isi dari register ini tidak perlu diubah kecuali pada
program residen.
Register ES(Extra Segment)
Sesuai dengan namanya adalah suatu register bonus yang tidak mempunyai
suatu tugas khusus. Register ES ini biasanya digunakan untuk menunjukkan suatu
alamat di memory, misalkan alamat memory video.
Pada prosesor 80386 terdapat tambahan register segment 16 bit, yaitu FS<Extra
Segment> dan GS<Extra Segment>.
F Pointer dan
Index Register.
Register yang termasuk dalam kelompok ini adalah register SP,BP,SI dan DI
yang masing-masing terdiri atas 16 bit. Register- register dalam kelompok ini
secara umum digunakan sebagai penunjuk atau pointer terhadap suatu lokasi di
memory.
Register SP(Stack Pointer) yang
berpasangan dengan register segment SS(SS:SP) digunakan untuk mununjukkan
alamat dari stack, sedangkan register BP(Base
Pointer)yang berpasangan dengan register SS(SS:BP) mencatat suatu alamat di
memory tempat data.
Register SI(Source Index) dan
register DI(Destination Index)
biasanya digunakan pada operasi string dengan mengakses secara langsung pada
alamat di memory yang ditunjukkan oleh kedua register ini. Pada prosesor 80386
terdapat tambahan register 32 bit, yaitu ESP,EBP,ESI dan EDI.
F General
Purpose Register.
Register yang termasuk dalam kelompok ini adalah register AX,BX,CX dan DX
yang masing-masing terdiri atas 16 bit. Register- register 16 bit dari kelompok
ini mempunyai suatu ciri khas, yaitu dapat dipisah menjadi 2 bagian dimana
masing-masing bagian terdiri atas 8 bit, seperti pada gambar 4.1. Akhiran H menunjukkan High sedangkan akhiran L menunjukkan Low.
+ A X +
+ B X +
+ C X +
+ D X +
+-+--+--+-+ +-+--+--+-+ +-+--+--+-+
+-+--+--+-+
| AH | AL |
| BH
| BL
| | CH
| CL |
| DH | DL
|
+---- +---- +
+----
+---- +
+-----+----+
+-----+-----+
Gambar General purpose Register
Secara umum register-register dalam kelompok ini dapat digunakan untuk
berbagai keperluan, walaupun demikian ada pula penggunaan khusus dari
masing-masing register ini yaitu :
Register AX,
secara khusus digunakan pada operasi aritmatika terutama dalam operasi
pembagian dan pengurangan.
Register BX,
biasanya digunakan untuk menunjukkan suatu alamat offset dari suatu segmen.
Register CX, digunakan secara khusus pada operasi looping dimana register ini
menentukan berapa banyaknya looping yang akan terjadi.
Register DX,
digunakan untuk menampung sisa hasil pembagian 16 bit. Pada prosesor 80386
terdapat tambahan register 32 bit, yaitu EAX,EBX,ECX dan EDX.
F Index
Pointer Register
Register IP berpasangan dengan CS(CS:IP) menunjukkan alamat dimemory tempat
dari intruksi(perintah) selanjutnya yang akan dieksekusi. Register IP juga
merupakan register 16 bit. Pada prosesor 80386 digunakan register EIP yang
merupakan register 32 bit.
F Flags Register.
Sesuai dengan namanya Flags(Bendera) register ini menunjukkan kondisi dari
suatu keadaan< ya atau tidak >. Karena setiap keadaan dapat digunakan 1
bit saja, maka sesuai dengan jumlah bitnya, Flags register ini mampu memcatat
sampai 16 keadaan. Adapun flag yang terdapat pada mikroprosesor 8088 keatas
adalah :
Ø OF <OverFlow Flag>
Jika terjadi OverFlow pada operasi aritmatika, bit ini akan bernilai 1.
Ø SF <Sign Flag>
Jika digunakan bilangan bertanda bit ini akan bernilai 1
Ø ZF <Zero Flag>
Jika hasil operasi menghasilkan nol, bit ini akan bernilai 1.
Ø CF <Carry Flag>
Jika terjadi borrow pada operasi pengurangan atau carry pada penjumlahan,
bit ini akan bernilai 1.
0F 0E 0D
0C 0B 0A
09 08 07 06
05 04 03 02 01 00
+-----+-----+------+------+----+-----+-----+-----+----+----+----+----+----+----+----+----+
| | NT
| IOPL |OF | DF |
IF | TF | SF | ZF| |
AF| | PF | |CF |
+-----+-----+------+------+----+-----+-----+-----+-----+---+----+----+----+----+----+----+
Gambar Susunan Flags Register 8088
Ø PF <Parity Flag>.
Digunakan untuk menunjukkan paritas bilangan. Bit ini akan bernilai 1 bila
bilangan yang dihasilkan merupakan bilangan genap.
Ø DF <Direction Flag>
Digunakan pada operasi string untuk menunjukkan arah proses.
Ø IF <Interrupt Enable Flag>
CPU akan mengabaikan interupsi yang terjadi jika bit ini 0.
Ø TF <Trap Flag>
Digunakan terutama untuk Debugging, dengan operasi step by step.
Ø AF <Auxiliary Flag>
Digunakan oleh operasi BCD, seperti pada perintah AAA.
Ø NT <Nested Task>
Digunakan pada prosesor 80286 dan 80386 untuk menjaga jalannya interupsi
yang terjadi secara beruntun.
Ø IOPL <I/O Protection level>
Flag ini terdiri atas 2 bit dan digunakan pada prosesor 80286 dan
80386 untuk mode proteksi.
Adapun susunan dari masing-masing flag didalam flags register dapat anda
lihat pada gambar diatas. Pada prosesor 80286 dan 80386 keatas terdapat
beberapa tambahan pada flags register, yaitu :
· PE <Protection Enable>
Digunakan untuk mengaktifkan mode proteksi. flag ini akan bernilai 1 pada
mode proteksi dan 0 pada mode real.
· MP <Monitor Coprosesor>
Digunakan bersama flag TS untuk menangani terjadinya intruksi WAIT.
· EM <Emulate Coprosesor>
Flag ini digunakan untuk mensimulasikan coprosesor 80287 atau 80387.
· TS <Task Switched>
Flag ini tersedia pada 80286 keatas.
· ET <Extension Type>
Flag ini digunakan untuk menentukan jenis coprosesor 80287 atau 80387.
· RF <Resume Flag>
Register ini hanya terdapat pada prosesor 80386 keatas.
· VF <Virtual 8086 Mode>
Bila flag ini bernilai 1 pada saat mode proteksi, mikroprosesor akan
memungkinkan dijalankannya aplikasi mode real pada mode proteksi. Register ini
hanya terdapat pada 80386 keatas.
REGISTER MEMORY
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 di dalam CPU terdiri atas :
1. Instruction Register (IR) digunakan untuk menyimpan instruksi yang sedang
diproses.
2. Program Counter (PC) adalah register yang digunakan untuk menyimpan alamat
lokasi main memory yang berisi instruksi yang sedang diproses. Selama proses
berlangsung, isi PC diubah menjadi alamat main memory yang berisikan instruksi
berikutnya yang akan diproses. Hal ini memungkinkan untuk melacak jejak
instruksi selanjutnya di main memory.
3. 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.
4. Memory Data Register (MDR), yaitu register yang digunakan untuk menampung data
atau instruksi yang dikirimkan dari main memory ke CPU, atau menampung data yang
akan disimpan ke main memory sebagai hasil olahan CPU.
5. Memory Address Register (MAR) digunakan untuk menampung alamat data atau
instruksi pada main memory yang akan diambil atau yang akan diletakkan.
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 di dalam CPU terdiri atas :
1. Instruction Register (IR) digunakan untuk menyimpan instruksi yang sedang
diproses.
2. Program Counter (PC) adalah register yang digunakan untuk menyimpan alamat
lokasi main memory yang berisi instruksi yang sedang diproses. Selama proses
berlangsung, isi PC diubah menjadi alamat main memory yang berisikan instruksi
berikutnya yang akan diproses. Hal ini memungkinkan untuk melacak jejak
instruksi selanjutnya di main memory.
3. 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.
4. Memory Data Register (MDR), yaitu register yang digunakan untuk menampung data
atau instruksi yang dikirimkan dari main memory ke CPU, atau menampung data yang
akan disimpan ke main memory sebagai hasil olahan CPU.
5. Memory Address Register (MAR) digunakan untuk menampung alamat data atau
instruksi pada main memory yang akan diambil atau yang akan diletakkan.
Sumber: http://mufari.wordpress.com/2009/08/28/register-memory/
Flip Flop
Flip-flop adalah rangkaian utama dalam logika
sekuensial. Counter, register serta rangkaian sekuensial lain disusun dengan
menggunakan flip-flop sebagai komponen utama. Flip-flop adalah rangkaian yang
mempunyai fungsi pengingat (memory). Artinya rangkaian ini mampu melakukan
proses penyimpanan data sesuai dengan kombinas imasukan yang diberikan
kepadanya. Data yang tersimpan itu dapat dikeluarkan sesuai dengan kombinasi masukan yang
diberikan.
Ada beberapa macam flip-flop yang akan dibahas, yaitu flip-flop R-S,
flip-flop J-K, dan flip-flop D. Sebagai tambahan akan dibahas pula masalah
pemicuan yang akan mengaktifkan kerja flip-flop.
Sedangkan
fungsi rangkaian flip-flop yang utama adalah sebagai memori (menyimpan
informasi) 1 bit atau suatu sel penyimpan 1 bit. Selain itu flip-flop juga
dapat digunakan pada Rangkaian Shift Register, rangkaian Counter dan lain
sebagainya.
Macam -
macam Flip-Flop:
1. RS
Flip-Flop
2. D
Flip-Flop
3. T
Flip-Flop
4. CRS
Flip-Flop
5. J-K
Flip-Flop
1. RS Flip-Flop
RS Flip-Flop
yaitu rangkaian Flip-Flop yang mempunyai 2 jalan keluar Q dan Q (atasnya
digaris). Simbol-simbol yang ada pada jalan keluar selalu berlawanan satu
dengan yang lain. RS-FF adalah flip-flop dasar yang memiliki dua masukan yaitu R
(Reset) dan S (Set). Bila S diberi logika 1 dan R diberi logika 0, maka output
Q akan berada pada logika 0 dan Q not pada logika 1. Bila R diberi logika 1 dan
S diberi logika 0 maka keadaan output akan berubah menjadi Q berada pada logik
1 dan Q not pada logika 0.
Sifat paling
penting dari Flip-Flop adalah bahwa sistem ini dapat menempati salah satu dari
dua keadaan stabil yaitu stabil I diperoleh saat Q =1 dan Q not = 0, stabil ke
II diperoleh saat Q=0 dan Q not = 1
Dengan adanya gerbang AND tersebut, R dan S akan
berkeadaan 0 bila pulsa penabuh CP (Clock Pulse) berkeadaan 1 dan flip-flop
tidak akan berubah keadaan. Tanpa pulsa penabuh, artinya CP=0, maka apapun
perubahan yang terjadi pada masukan R dan S tidak akan mengubah keadaan
flip-flop. Rangkaian flip-flop itu akan merasakan keadaan R dan S hanya bila
CP= 1. Tabel kebenaran flip-flop RS ditabuh ini untuk CP= 1 tepat sama dengan
tabel kebenaran rangkaian dasar flip-flop RS.
Perlu dicatat bahwa dalam bentuk rangkaian terpadu
banyak flip-flop RS yang diberikan kelengkapan untuk menyetel dan mereset
flip-flop melalui masukan terpisah yang diberi nama masukan PRESET dan CLEAR,
misalnya IC tipe SN74279 atau SN74LS279.
2. Flip-flop D
Nama flip-flop ini berasal dari Delay. Flip-flop ini
mempunyai hanya satu masukan, yaitu D. Jenis flip-flop ini sangat banyak
dipakai sebagai sel memori dalam komputer. Pada umumnya flip-flop ini
dilengkapi masukan penabuh seperti ditunjukkan pada Gambar 6.10. Keluaran
flip-flop D akan mengikuti apapun keadaan D pada saat penabuh aktif, yaitu: Q+
= D.
Perubahan itu terjadi hanya apabila sinyal penabuh
dibuat berlogika 1 (CP=1) dan tentunya akan terjadi sesudah selang waktu
tertentu, yaitu selama tundaan waktu pada flip-flop itu. Bila masukan D berubah
selagi CP = 0, maka Q tidak akan terpengaruh. Keadaan Q selama CP= 0 adalah
keadaan masukan D tepat sebelum CP berubah menjadi 0. Dikatakan keadaan
keluaran Q dipalang (latched) pada keadaan D saat perubahan CP dari aktif ke
tak-aktif. Dapat dilihat bahwa sebenarnya flip-flop D berfungsi seperti apa
yang dilakukan oleh flip-flop JK bila masukan masukan K dihubungkan dengan
komplemen masukkan J.
3. Flip Flop T
Nama flip-flop T diambil dari sifatnya yang selalu
berubah keadaan setiap ada sinyal pemicu (trigger) pada masukannya.
Input T merupakan satu-satunya masukan yang ada pada flip-flop jenis ini
sedangkan keluarannya tetap dua, seperti semua flip-flop pada umumnya. Kalau keadaan
keluaran flip-flop 0, maka setelah adanya sinyal pemicu keadaan-berikut menjadi
1 dan bila keadaannya 1, maka setelah adanya pemicuan keadaannya berubah
menjadi 0. Karena sifat ini sering juga flip-flop ini disebut sebagai flip-flop
toggle (berasal dari skalar toggle/pasak).
4. Flip Flop CRS
CRS
Flip-flop adalah clocked RS-FF yang dilengkapi dengan  sebuah terminal
pulsa clock. Pulsa clock ini berfungsi  mengatur keadaan Set dan Reset.
Bila pulsa clock berlogik 0, maka perubahan logik pada input R dan S
tidak akan  mengakibatkan perubahan pada output Q dan Qnot. Akan
 tetapi apabila pulsa clock berlogik 1, maka perubahan pada input R
dan S dapat mengakibatkan perubahan pada output QÂ dan Q not.
5. Flip Flop JK
Flip-flop JK yang diberi nama berdasarkan nama
masukannya, yaitu J dan K. Flip-flop ini mengatasi kelemahan flip-flop RS, yang
tidak mengizinkan pemberian masukan R=S= 1, dengan meng-AND-kan masukan dari
luar dengan keluaran seperti dilakukan pada flip-flop T. Dengan susunan ini, maka masukan J dan K
berfungsi tepat sama dengan masukan S dan R pada flip-flop RS, kecuali untuk
J=K=1. Kalau pada flip-flop RS masukan R=S=1 terlarang, maka pada flip-flop JK,
masukan J=K=1 akan membuat flip-flop JK berfungsi seperti flip-flop T.