Percobaan 7 REGISTER (PENCATAT) Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY E-mail :
[email protected]
Tujuan : 1. Mengenal beberapa jenis register. 2. Menyusun rangkaian register. 3. Mempelajari cara kerja register.
Alat-alat Percobaan : Catu daya (+ 5 volt), sumber detak (clock), LED, IC-7476, IC-7404, IC-7408, IC-7474, IC-7400, IC-7495) breadboard, kabel penghubung, dan pembentuk bit (saklar anti debouncing).
Dasar Teori : Register Register merupakan suatu piranti yang digunakan untuk menyimpan (sementara) data digit. Data di dalam register itu dapat digeser, dibaca ataupun dihapus. Register dapat disusun secara langsung dengan flip-flop. Sebuah flip-flop (FF) dapat menyimpan (store) atau mengingat (memory) atau mencatat (register) data 1 bit. Jika ada n buah FF tentu saja dapat menyimpan data n bit. Dengan kata lain sederet FF dalam konfigurasi tertentu merupakan register yang kepadanya dapat dituliskan (write) suatu data atau dari register itu dapat dibaca (read) data yang tersimpan sebelumnya. Pekerjaan menulis, mengingat, dan menggeser data dapat dipikirkan pada kalkulator. Untuk memasukkan bilangan 45, pertama menekan tombol (tut) 4 dan segera dilepaskan. Angka 4 muncul pada tampilan kalkulator. Berikutnya menekan tombol 5 dan segera dilepaskan. Tampak bahwa angka 4 tidak hilang (memory) tetapi tergeser ke kiri satu posisi dan bilangan 45 segera muncul pada tampilan. Dalam proses operasi bilangan yang angka-angkanya dimasukkan menurut urutan tertentu, maka sebelum dioperasikan angka itu harus dicatat (disimpan) lebih dahulu. Misalnya dilakukan operasi penjumlahan 2 dan 7. Mula-mula dimasukkan 2, kemudian tekan tombol operasi penjumlahan (+). Angka 2 ini harus
103
disimpan (dicatat) agar nantinya dapat diproses bersama angka 7 yang dimasukkan kemudian. Kedua ilustrasi tersebut menunjukkan bahwa register memiliki ingatan (angka atau angka-angka muncul meskipun penekanan tombol dilepaskan), dapat dikenakan pergeseran (shift), dan dapat mencatat atau menyimpan data. Data tersebut ditampung atau disimpan dalam sekelompok flip-flop yang disebut register. Operasi yang paling sering dilakukan kepada data yang disimpan di dalam register adalah operasi pergeseran (shift) atau pemindahan (transfer). Hal ini mencakup pemindahan data dari satu FF ke FF lain maupun dari satu register ke register lain. Gambar 10.13 menunjukkan pemindahan data dari satu register (misal register X) ke register lain (misal register Y) yang masing-masing register tersusun dari FF-D.
X0
X1
X2 Register X
X0 D Y0
Pulsa transfer
X1 D Y1
X2 D Y2
Register Y Ck
Ck
Ck
Y0
Y1
Y2
Gambar : Pemindahan data antar register.
Dengan mengenakan pulsa transfer, nilai yang tersimpan paxa X0 dipindahkan ke Y0, X1 ke Y1, dan X2 ke Y2. Pemindahan data dari register X ke register Y tersebut merupakan pemindahan secara sinkron, karena nilai dari X0, X1 dan X2 dipindahkan secara bersamaan (paralel) berturut-turut ke dalam Y0, Y1 dan Y2. Jika isi register X dipindahkan ke register Y bit demi bit, maka pemindahan semacam ini disebut sebagai pemindahan secara serial. Gambar 10.14 berikut menunjukkan dua register masingmasing 3 bit yang dihubungkan sedemikian hingga isi register X dipindahkan (digeser) secara serial ke dalam register Y.
Jenis FF yang digunakan adalah FF-D karena
memerlukan persambungan yang lebih sedikit dari pada FF-JK.
104
D X2
D X1
D X0
D Y2
D Y1
D Y0
Ck
Ck
Ck
Ck
Ck
Ck
Pulsa geser Gambar : Pemindahan data antar register secara serial.
Tampak bahwa FF terakhir (X0) dari register X dihubungkan dengan masukan FF pertama dari register Y. Ketika pulsa geser dikenakan, maka akan terjadi pemindahan data dengan arah sebagai berikut : X2
X1
X0
Y2
Y1
Y0 .
Keadaan X2 akan ditentukan oleh masukan D-nya. Sebagai gambaran sebelum dikenakan satu pulsa geser misalkan register X berisi 101, yakni X2 = 1, X1 = 0, X0 = 1 dan register Y dalam keadaan 000. Tabel berikut menunjukkan cara perubahan setiap FF ketika dikenakan tiga pulsa geser.
X2
X1
X0
Y2
Y1
Y0
1
0
1
0
0
0
sebelum dikenakan pulsa
0
1
0
1
0
0
sesudah pulsa pertama
0
0
1
0
1
0
sesudah pulsa ke dua
0
0
0
1
0
1
sesudah pulsa ke tiga
Hal yang perlu diperhatikan adalah bahwa sebelum pulsa geser dikenakan setiap masukan FF (D) mengambil harga yang telah tersimpan dalam keluaran FF di sebelah kirinya. Dari tabel di atas dapat dikemukakan secara umum bahwa untuk memindahkan 105
semua bit (data) dari register X yang terdiri dari N bit seluruhnya ke register Y secara serial memerlukan N pulsa geser. Pada pemindahan data secara paralel, semua bit (data) dipindahkan secara bersamaan mengikuti satu pulsa geser, tidak bergantung banyak bit yang dipindahkan. Dengan membandingkan kedua cara pemindahan data tersebut tampak bahwa pemindahan data secara paralel lebih cepat dari pada pemindahan data yang sama apabila dilakukan secara serial.
Namun demikian,
pemindahan secara paralel memelukan lebih banyak persambungan dari pada cara serial. Kedua perbedaan tersebut akan lebih nyata untuk sejumlah besar bit data dan untuk pemindahan jarak jauh yang memerlukan persambungan yang lebih panjang. Jadi pemindahan secara paralel lebih cepat dan pemindahan secara serial lebih sederhana.
Jenis register dapat pula diklasifikasikan berdasarkan cara data masuk ke dalam suatu register untuk disimpan dan cara data dikeluarkan dari register tersebut. Untuk memasukkan dan mengeluarkan data masing-masing dapat dilakukan secara serial atau paralel. Cara serial berarti data dimasukkan atau dikeluarkan ke atau dari register secara beruntun bit demi bit. Sedangkan cara paralel berarti data yang terdiri dari beberapa bit dimasukkan atau dikeluarkan ke atau dari register secara serempak. Berdasarkan hal itu maka dikenal 4 jenis register, yaitu (1) Serial In Serial Out (SISO), (2) Serial In Paralel Out (SIPO), (3) Paralel In Serial Out (PISO), dan (4) Paralel In Paralel Out (PIPO). Salah satu rangkaian sederhana dari setiap jenis register itu tampak pada gambar berikut.
(1). Serial In Serial Out (SISO)
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Pulsa geser Gambar : Register Serial In Serial Out (SISO).
106
(2). Serial In Paralel Out (SIPO)
Q3
Q2
Q1
Q0
OE
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Pulsa geser Gambar : Register Serial In Paralel Out (SIPO).
(3). Paralel In Serial Out (PISO)
P3
P2
P1
P0
IE
D
Pr Q3
Ck Reset r
D
Pr Q2
D
Ck Cr
Pr Q1
Ck Cr
D
Pr Q0 Keluaran serial
Ck Cr
Cr
Pulsa geser Gambar : Register Paralel In Serial Out (PISO)
107
(4). Paralel In Paralel Out (PIPO)
D3
D Q3
Q3
Ck
D2
D Q2
Q2
Ck
D1
D Q1
Q1
Ck
D0
D Q0
Q0
Ck Pulsa geser
OE
Gambar : Register Paralel In Paralel Out (PIPO).
Langkah-langkah Percobaan : A.
Paralel In - Paralel Out (PIPO)
1.
Susunlah rangkaian register seperti gambar berikut pada breadboard. Putuskan lebih dahulu hubungan dengan catu daya. Rangkaian berikut terdiri dari 2 buah IC7474 (Flip-flop D), sebuah IC-7408 (gerbang AND), 4 buah LED dan sumber detak.
108
2.
Hubungkan keluaran Q0, Q1, Q2, dan Q3 masing-masing dengan LED. Setelah rangkaian diyakini benar, hubungkan dengan catu daya dan hidupkan ! Saluran OE (Output Enable) mula-mula dihubungkan ke gnd (keadaan logik 0). Catat keadaan logik awal dari keluaran Q0, Q1, Q2, dan Q3 ketika OE dikenai keadaan 1 sesaat. Masukkan sembarang data 4 bit (misal D3D2D1D0 = 1011) pada saluran D0, D1, D2, dan D3. Kemudian masukkan pulsa detak saluran pulsa geser dengan mengubah sebentar keadaan yang semula 0 menjadi 1 dan kembalikan ke 0 lagi.
3.
Keluarkan data dengan mengatur OE pada keadaan logik 1. Nilai data yang keluar dapat diamati pada LED keluaran dan catatlah keadaan tersebut dengan urutan Q3 Q2 Q1 Q0.
D3
D Q3
Q3
Ck
D2
D Q2
Q2
Ck
D1
D Q1
Q1
Ck
D0
D Q0
Q0
Ck Pulsa geser
OE Gambar : Register Paralel In Paralel Out (PIPO).
109
4.
Ulangi percobaan di atas (langkah 2 dan 3) dengan data lain sebanyak 4 kali lagi, dan tuliskan hasil pengamatan tersebut pada tabel berikut !
No. 1 2 3 4 5
D3 1
Masukan D2 D1 0 1
D0 1
Q3
Keluaran Q2 Q1
Q0
B.
Serial In - Paralel Out (SIPO)
1.
Susunlah rangkaian register seperti gambar berikut pada breadboard. Putuskan lebih dahulu hubungan dengan catu daya. Rangkaian berikut terdiri dari 2 buah IC7474 (Flip-flop D), sebuah IC-7408 (gerbang AND), 4 buah LED dan sumber detak. Q3
Q2
Q1
Q0
OE
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Serial In
Pulsa geser Gambar : Register Serial In Paralel Out (SIPO).
2.
Hubungkan keluaran Q0, Q1, Q2, dan Q3 masing-masing dengan LED. Setelah rangkaian diyakini benar, hubungkan dengan catu daya dan hidupkan ! Saluran OE (Output Enable) mula-mula dihubungkan ke gnd (keadaan logik 0). Catat keadaan logik awal dari keluaran Q0, Q1, Q2, dan Q3 ketika OE dikenai keadaan 1 sesaat. Masukkan sembarang data 4 bit secara serial (misal 1011) pada saluran 110
masukan. Kemudian masukkan pulsa detak pada saluran pulsa geser dengan mengubah sebentar keadaan yang semula 0 menjadi 1 dan kembalikan ke 0 lagi. 3.
Keluarkan data dengan mengatur OE pada keadaan logik 1. Nilai data yang keluar dapat diamati pada LED keluaran dan catatlah keadaan tersebut dengan urutan Q3 Q2 Q1 Q0.
4.
Ulangi percobaan di atas (langkah 2 dan 3) dengan data lain sebanyak 4 kali lagi, dan tuliskan hasil pengamatan tersebut pada tabel berikut !
No.
Masukan pada detak 1 2 3 4
Q3
Keluaran Q2 Q1
Q0
1 2 3 4 5
C.
Serial In - Serial Out (SISO)
1.
Susunlah rangkaian register seperti gambar berikut pada breadboard. Putuskan lebih dahulu hubungan dengan catu daya. Rangkaian berikut terdiri dari 2 buah IC7474 (Flip-flop D), sebuah IC-7408 (gerbang AND), sebuah LED dan sumber detak. Serial In
D Q3
D Q2
D Q1
D Q0
Ck
Ck
Ck
Ck
Serial Out
OE Pulsa geser Gambar : Register Serial In Serial Out (SISO). 2.
Hubungkan saluran keluaran dengan LED. Setelah rangkaian diyakini benar, hubungkan dengan catu daya dan hidupkan ! Saluran OE (Output Enable) mulamula dihubungkan ke gnd (keadaan logik 0). Catat keadaan logik awal dari keluaran ketika OE dikenai keadaan 1 sesaat. Masukkan sembarang data 4 bit secara serial (misal 1011) pada saluran masukan. Kemudian masukkan pulsa 111
detak pada saluran pulsa geser dengan mengubah sebentar keadaan yang semula 0 menjadi 1 dan kembalikan ke keadaan 0 lagi. 3.
Keluarkan data dengan mengatur OE pada keadaan logik 1. Nilai data yang keluar dapat diamati pada LED keluaran secara serial dan catatlah keadaan tersebut secara serial.
4.
Ulangi percobaan di atas (langkah 2 dan 3) dengan data lain sebanyak 4 kali lagi, dan tuliskan hasil pengamatan tersebut pada tabel berikut !
No.
Masukan pada detak 1 2 3 4
Keluaran pada detak 1 2 3 4
1 2 3 4 5
D.
Paralel In - Serial Out (PISO)
1.
Susunlah rangkaian register seperti gambar berikut pada breadboard. Putuskan lebih dahulu hubungan dengan catu daya. Rangkaian berikut terdiri dari 2 buah IC7474 (Flip-flop D), sebuah IC-7400 (gerbang NAND), sebuah LED dan sumber detak. P3
P2
P1
P0
IE
Reset r
Pr D Q3
Pr D Q2
Pr D Q1
Pr D Q0
Ck
Ck
Ck
Ck
Cr
Cr
Cr
Serial Out Cr
Pulsa geser Gambar : Register Paralel In Serial Out (PISO)
112
2.
Hubungkan saluran keluaran dengan LED. Setelah rangkaian diyakini benar, hubungkan dengan catu daya dan hidupkan ! Saluran IE (Input Enable) mulamula dihubungkan ke gnd (keadaan logik 0). Catat keadaan logik awal dari keluaran ketika Reset dikenai keadaan 0 sesaat. Masukkan sembarang data 4 bit (misal P3P2P1P0 = 1011) pada saluran P0, P1, P2, dan P3. Kemudian ubah IE sebentar ke keadaan 1.
3.
Selanjutnya masukkan pulsa detak ke saluran pulsa geser secara serial dengan mengubah sebentar keadaan yang semula 0 menjadi 1 sebanyak 3 kali. Amati dan catat nilai/keadaan LED pada keadaan awal dan pada setiap kali pulsa detak dimasukkan.
4.
Ulangi percobaan di atas (langkah 2 dan 3) dengan data lain sebanyak 4 kali lagi, dan tuliskan hasil pengamatan tersebut pada tabel berikut !
No.
P3 1
1 2 3 4 5
Masukan P2 P1 0 1
P0 1
Keluaran pada detak 0 1 2 3
Catatan : IC-7474 (Flip-flop D) dapat digantikan dengan IC-7476 (Flip-flop JK) dan IC-7404 (gerbang NOT) dengan konfigurasi sebagai berikut :
Pr
Pr D
J
Q
Q
Ck
Ck
K
Q
Q
Cr
Cr
113
E. IC- Register Dengan sejumlah informasi berikut, selidikilah rangkaian register di dalam IC-7495 (4 bit right/left shift register). Penyelidikannya meliputi transfer data baik secara serial maupun paralel dan geser data baik ke kiri maupun ke kanan. Susunlah tabel untuk mencatat hasil penyelidikan tersebut.
9
CP1
8
CP2
1
Ds
6
2
3
4
5
PE
P0
P1
P2
P3
13
CP2
Ds P0 – P3 PE Q0 – Q3
: : : : : :
Vcc
7495
Q0
CP1
14
Q1 12
Q2
Q3
11
10
Gnd 7
Masukan detak serial Masukan detak paralel Masukan data serial Masukan data paralel Masukan Paralel Enable (aktif HIGH) Keluaran paralel
Ketika PE HIGH, CP2 enable dan memungkinkan terjadinya transfer data paralel dari masukan P0 - P3 ke keluaran Q0 – Q3. Ketika PE LOW, CP1 enable dan memungkinkan transfer data dari masukan serial (Ds) ke Q0 dan menggeser data berturut-turut dari Q0 ke Q1, dari Q1 ke Q2 dan dan dari Q2 ke Q3. Geser kiri dilakukan dengan cara menghubungkan Q3 ke P2, Q2 ke P1, dan Q1 ke P0, serta mengoperasikan IC tersebut dalam mode paralel (PE dalam keadaan HIGH).
114