REGISTER
9.1 Pendahuluan
Register adalah kumpulan beberapa Flip-Flop yang digunakan untuk
menyimpan data biner, tiap Flip-Flop dapat menyimpan data biner 1 bit.
Pengisian Register berarti me-set atau me-reset masing-masing FF sehingga
sesuai dengan bit data yang disimpan. Semakin panjang data biner yang disimpan
oleh register, maka jumlah Flip-Flopnya juga semakin banyak. Register akan
menyimpan data baru jika ada data baru diberikan pada masukan dan Clock
register diaktifkan.
Ada dua cara untuk menyimpan atau mengambil data pada Register, yaitu
bit per bit secara berurutan dengan sinkronisasi sebuah pulsa Clock, yang
dinamakan serial atau disebut juga Register geser (shift) dan beberapa bit secara
serentak yang dinamakan paralel. Sehingga berdasarkan masuk dan keluarnya
data pada Register, maka Register terbagi menjadi :
Masukan Keluaran
Data SET SET SET SET Data
D Q D Q D Q D Q
Q Q Q Q
CLR CLR CLR CLR
Clock
142
143
0 1 0 0 0 0 0
1 0 1 0 0 0 0
2 1 0 1 0 0 0
3 1 1 0 1 0 0
4 0 1 1 0 1 1
14 13 12 11 10 9 8
7491
1 2 3 4 5 6 7
NC NC NC NC V CC NC NC
R CLR
Q R CLR
Q R CLR
Q R CLR
Q R CLR
Q R CLR
Q R CLR
Q R CLR
Q Q H
Clock
Untuk itu IC 7491 terbebani penuh setelah 8 pulsa Clock dan waktu
maksimum yang diperlukan adalah 8 T = 0,8 mdetik. Apabila IC 7491 menyimpan
data awal biner 21310 (dalam bilangan desimal) dengan masukan bit MSB pada FF
sebelah kiri, lalu masukan data serial 83 10 diberikan ke masukan data, maka
Register akan menyimpan data 15810 setelah 5 pulsa Clock terjadi.
145
Keluaran
Data
D 0
D 1
D 2
D 3
Masukan
Data SET SET SET SET
D Q D Q D Q D Q
CLR
Q CLR
Q CLR
Q CLR
Q
Clock
Untuk lebih jelasnya dalam mengetahui cara kerja dari Register SISO
perhatikanlah tabel 9.2 dibawah ini.
Tabel 9.2 Register SIPO 4 Bit
Output
V CC Q H Q G Q F Q E Clear Clock
14 13 12 11 10 9 8
74164
1 2 3 4 5 6 7
A B Q A Q B Q C Q D GND
Input Output
Serial
Clock
Cle ar
Masukan Keluaran
Clear Clock A B QA QB ..... QH
L X X X L L L
H L X X QA0 QB0 QH0
H H H H QAn QGn
H L X L QAn QGn
H X L L QAn QGn
Masukan
Data 1
Keluaran
SET SET SET SET Data
D Q D Q D Q D Q
CLR
Q CLR
Q CLR
Q CLR
Q
Masukan
Clock Data 0
masukan FFD muncul pada keluaran QD yang digunakan sebagai keluaran data.
Pemberian pulsa Clock ketiga menyebabkan data bergeser dari keluaran QA
sebagai data masukan FFB muncul pada keluaran QB (data di keluaran QA menjadi
0), data dari keluaran QB sebagai data masukan FFC muncul pada keluaran QC
(data di keluaran QB menjadi 0), data dari keluaran QC sebagai data masukan FFD
muncul pada keluaran QD yang digunakan sebagai keluaran data QC (data di
keluaran QC menjadi 0). Pemberian pulsa Clock keempat menyebabkan data
bergeser dari keluaran QA sebagai data masukan FFB muncul pada keluaran QB
(data di keluaran QA menjadi 0), data dari keluaran QB sebagai data masukan FFC
muncul pada keluaran QC (data di keluaran QB menjadi 0), data dari keluaran QC
sebagai data masukan FFD muncul pada keluaran QD yang digunakan sebagai
keluaran data, jadi memerlukan 4 pulsa Clock untuk mengeluarkan 4 bit data pada
Register PISO, untuk lebih jelasnya mengetahui cara kerja dari Register PISO
perhatikanlah tabel 9.3 dibawah ini.
Tabel 9.3 Register PISO 4 Bit
0 1 0 1 1 1
1 0 1 0 1 1
2 0 0 1 0 0
3 0 0 0 1 1
4 0 0 0 0 0
PARALEL INPUT
CLOCK SERIAL OUTPUT
V CC INHIBIT D C B A INPUT Q H
16 15 14 13 12 11 10 9
74165
1 2 3 4 5 6 7 8
SHIFT/ OUTPUT
CLOCK E F G H GND
LOAD
Q H
PARALEL INPUT
Input Output
Internal
Shift Clock Paralel Output
/ Clock Serial QH
Inhibit QA QB
A ... H
Load
L X X X a ... h a b h
H L L X X QAO QBO QHO
H L H X H Qan QGn
H L L X L Qan QGn
H H X X QA0 QBO QHO
151
CLOCK
CLOCK INHIBIT
L
SERIAL INPUT
SHIFT/LOAD
A H
B L
C H
D L
DATA
E H
F L
G H
H H
OUTPUT Q H
H H L H L H L H L
OUTPUT Q H
L L H L H L H L H
LOAD
Keluaran
Data
O 0 O 1 O 2 O 3
CLR
Q CLR
Q CLR
Q CLR
Q
Clock
I0 I1 I2 I3
Masukan
Data
Untuk lebih jelasnya dalam mengetahui cara kerja dari Register PISO
perhatikanlah tabel 9.4 dibawah.
Tabel 9.4 Register PIPO 4 Bit
0 0 0 (reset)
0 1 QA (tetap)
1 0 QA (toggle)
1 1 1 (set)
OUTPUT
SHIFT/
V CC Q A Q B Q C Q D Q D CLOCK LOAD
16 15 14 13 12 11 10 9
74195
1 2 3 4 5 6 7 8
CLEAR J K A B C D GND
Input Output
Shift/ Serial Paralel
Clear
Load
Clock QA QB QC QD
J K A B C D
L X X X X X X X X L L L L
H L X X a b c d a b c d
H H L X X X X X X QA0 QB0 QC0 QD0
H H L H X X X X QA0 QA0 QBn QCn
H H L L X X X X L QAn QBn QCn
H H H H X X X X H QAn QBn QCn
H H H L X X X X QAn QAn QBn QCn
CLOCK
CLEAR
SERIAL J
DATA
INPUT
K
SHIFT/LOAD
A H
L
PARALEL B
DATA
INPUT C H
L
D
Q A
Q B
OUTPUT
Q C
Q D
Pengertian dua arah adalag bahwa register dapat digeser dari kiri ke kanan
atau sebaliknya, sedangkan universal adalah masukannya bisa serial atau paralel
demikian juga keluarannya. IC 74194 adalah contoh Register 4-bit universal
seperti ditunjukkan pada gambar 9.9 dibawah.
PARALEL OUTPUT
V CC Q A Q B Q C Q D CLOCK S 1 S 0
16 15 14 13 12 11 10 9
74194
1 2 3 4 5 6 7 8
Input Output
Mode Serial Paralel QD
Clear Clock QA QB QC
S1 S2 Left Right A B C D
X
L X X X X X X X L L L L
X
X
H X X X X X X QA0 QB0 QC0 QD0
X
H H H L X X a b c d a b c d
L
H X H X X X X H QAn QBn QCn
H
L
H X L X X X X L QAn QBn QCn
H
H
H H X X X X X QBn QCn QDn H
L
H
H L X X X X X QBn QCn QDn L
L
H L L X X X X X X X QA0 QB0 QC0 QD0
156
CLOCK
MODE S0
CONTROL
INPUT S1
CLEAR
SERIAL R
DATA
INPUT L
A H
PARALEL L
B
DATA
INPUT C H
L
D
Q A
Q B
OUTPUT
Q C
Q D
S1 S0 Clock Operasi
0 0 X tetap
0 1 geser kanan
1 0 geser kiri
1 1 paralel
157
Tabel diatas menunjukkan bahwa tidak ada perubahan pada data Register
saat kedua masukan kendali S0 = S1 = 0, sehingga baik operasi serial ataupun
paralel tidak terjadi, inilah yang dinamakan menghalangi (inhibit) operasi.
Sedangkan apabila S0 = S1 = 1 maka pengisian data dilakukan secara paralel
melalui masukan A, B, C dan D, saat transisi naik dari pulsa Clock. Register
74194 mempunyai masukan Clear aktif rendah yang digunakan untuk mereset
semua FF. Gambar 9.9d menunjukkan diagram waktu Register Universal 74194.
V CC
R L
4
Shift Register Output
1024 bit
Serial Input 3
W/R
(Write/Recirculate) 1
CS X
Chip Sele ct CS
2
Y
(a) Setengah dari Dua Register Geser Dinamik NMOS 1024 Bit
158
1 0 0 Write
0 X X Recirculate
X 1 X Recirculate
X X 1 Recirculate
X 0 0 Read
Masukan
Data Serial A B C D E F G H
74164
74164
CLOCK A B C D E F G H
1 MHz
Gambar 9.11 Contoh Dua 74164 untuk Penundaan 4 mdetik dan 14 mdetik
UART
Periferal Sistem
Mikroprosesor
Clock
Clock
Q A
Q B
Q C
Q D
Clock
Keluaran Masukan
Keadaan
QA QB QC QD DA
Awal 0 0 0 0 1
Setelah Pulsa 1 1 0 0 0 0
Setelah Pulsa 2 0 1 0 0 0
Setelah Pulsa 3 0 0 1 0 0
Setelah Pulsa 4 0 0 0 1 1
Setelah Pulsa 5 1 0 0 0 0
Setelah Pulsa 6 0 1 0 0 0
Setelah Pulsa 7 0 0 1 0 0
Setelah Pulsa 8 0 0 0 1 1
Clock
Keluaran Masukan
Keadaan
QA QB QC QD DA
Awal 0 0 0 0 1
Setelah Pulsa 1 1 0 0 0 1
Setelah Pulsa 2 1 1 0 0 1
Setelah Pulsa 3 1 1 1 0 1
Setelah Pulsa 4 1 1 1 1 0
Setelah Pulsa 5 0 1 1 1 0
Setelah Pulsa 6 0 0 1 1 0
Setelah Pulsa 7 0 0 0 1 0
Setelah Pulsa 8 0 0 0 0 1
Setelah Pulsa 9 1 0 0 0 1
163
T
Clock
8T
Q A
Q B
Q C
Q D
Clock
Masukan serial D A
Satelit
Penerima
Saluran Telepon
Pemancar
Delay
1 = OK
0 = noise
9.9.11 Register 32-bit dengan keluaran paralel digunakan untuk menunda data
serial 7,2 mdetik.
a. Pada frekuensi berapakah akan diberi Clock jika keluaran yang ditunda
dari tingkat ke 18 ?
b. Dengan menggunakan frekuensi Clock soal a diatas, pada tingkat
berapakah keluaran terjadi jika penundaan total adalah 12,4 mdetik ?
9.9.12 Pencacah lingkaran awalnya diisi data QAQBQCQD = 1011. Susunlah
diagram waktu yang menunjukkan keluaran tiap tingkat untuk 8 pulsa
Clock ? Berapakah frekuensi tiap keluaran ?
9.9.13 Jika isi awal Pencacah lingkaran self starting adalah Q AQBQCQD = 1100,
berapakah banyaknya pulsa Clock yang diperlukan sebelum isinya 1000 ?