BAB IX REGISTER GESER Register geser merupakan memori sementara, yang menyimpan data dan menggeser data tersebut bila ada pulsa clock. Contoh pemakaian register geser adalah pada kalkulator. Bila kita ketik angka pada kalkulator, maka angka tetap tampil, dan jika kita ketik lagi maka angka pertama akan bergeser ke kiri, dan seterusnya. 7
8
9
4
5
6
1
2
3
0
*
+
-
/
=
E ncoder
R e g is t e r
u n it p r o s e s
R e g is t e r
D ecoder
D is p la y
Register dapat dikelompokkan menjadi 4: 1. Serial masuk-serial keluar 2. serial masuk-paralel keluar 3. paralel masuk-serial keluar 4. paralel masuk-paralel keluar 9.1 Register Geser Beban Seri A
D
SET
Q
C LK CLR
B SET
D
Q
C LK
Q
CLR
C
D
SET
Q
C LK
Q
CLR
D
D
SET
Q
C LK
Q
C LR
Q
C lk C lr
Gambar 8.1 Register geser beban seri 4- bit yang menggunakan flip-flop D Perhatikan pada gambar, beban seri tampak dari output flip-flop pertama menjadi input flip-flop kedua
(Q disambung D) dan seterusnya. Clock semua flip-flop
diparalel, Clr semua flip-flop diparalel. Beban seri, berarti serial masuk. Bagaimana keluarannya, seri atau paralel? Keluarannya boleh pilih, seri bisa, paralel pun boleh. Jika kita mengambil output pada
NUR Eldig 2005
48
flip-flop ke 4 yaitu QD saja berarti serial keluar. Jika kita mengambil setiap output dari flip-flop QA, QB, QC, dan QD, berarti paralel keluar. Bagaimana operasi register geser 4 bit tersebut? Baris ke 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Clr 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
INPUT Data 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0
Detak ke 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13
A 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0
OUTPUT B C 0 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0
D 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0
Gamabar 8.2 Tabel contoh operasi register 4 bit Berdasarkan tabel di atas, Baris 1, Clr = 0 adalah operasi reset yaitu meng nolkan semua output flip-flop. Baris 2, data di isi 1, tetapi tidak ada pulsa clk, output tidak berubah. Baris 3, data 1, dan ada pulsa clk, maka A = 1, lainnya tetap nol. Baris 4 dan seterusnya memperlihatkan pergeseran data ke arah kanan. Data bergeser ke kanan setelah mencapai D terus hilang. 9.2 Register Geser Beban Paralel Register geser beban seri mempunyai dua kelemahan, yaitu: register tersebut hanya memungkinkan satu bit informasi masuk dalam satu waktu, dan semua akan hilang bila bergeser ke kanan.
NUR Eldig 2005
49
D C B A
A B C D SET
J
Q
C lk
K
SET
J
Q
C lk
CLR
Q
K
SET
J
Q
C lk
CLR
Q
K
SET
J
Q
C lk
C LR
Q
K
CLR
Q
C lk C lr
Register geser beban parallel seperti pada gambar di atas mampu dimasuki 4 informasi dalam waktu bersamaan. Informasi masuk melalui PS, setiap detak akan menggeser informasi ke kanan, dan paling kanan kembali ke depan, atau terjadi sirkulasi data. Operasi register geser beban parallel dengan sirkulasi dapat dicontohkan sebagai beriukut Baris ke 1 2 3 4 5 6 7 8 9 10
Clr 1 0 1 1 1 1 1 0 1 1
A 1 1 1 1 1 1 1 1 0 1
INPUT B C 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
D 1 1 1 1 1 1 1 1 1 1
Pulsa ke
QA 1 0 0 0 0 1 0 0 1 0
OUTPUT QB QC 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1
QD 0 0 0 0 1 0 0 0 0 0
dan sebagainya. Perhatikan bahwa sebelum menginput pastikan dengan mengklir. Ketika menginput jangan ada clock (contoh baris 9). Clock hanya berfungsi menggeser. 9.3 Register Geser Universal Contoh register yang dapat digunakan dengan beban seri atau parallel, geser kanan atau geser kiri (register universal) adalah IC 74194.
NUR Eldig 2005
50
H apus in p u t s e r i ( g .k a n a n )
in p u t p a r a le l
A B C D
in p u t s e r i ( g .k ir i) G N D
1 2 3 4 5 6 7 8
1 1 1 1 1 1 1
6 5 4 3 2 1 0 9
V CC
Q Q Q Q
A B C D
d e ta k S1 S0
S1 dan S0 adalah control mode, S1 = 1, S0 = 0 berarti geser kiri, S1 = 0, S0 = 1 berarti geser kanan.
NUR Eldig 2005
51