BAB VIII REGISTER DAN COUNTER
8.1
Register Register adalah kumpulan dari elemen-elemen memori yang bekerja bersama
sebagai satu unit. Register yang paling sederhana tidak lebih dari sebuah penyimpan kata biner. Jenis lainnya dapat mengubah kata yang tersimpan dengan menggeser bitbitnya ke kiri dan ke kanan, dan lain-lain.
8.1.1 Register Buffer Register buffer adalah jenis register yang laing sederhana, yang hanya berfungsi untuk menyimpan kata digital.
Gambar 8.1 Register Bufer Terkendali
Gambar di atas menunjukkan sebuah register buffer terkendali dengan CLR aktif tinggi. Apabil CLR tinggi, semua flip-flop mengalami reset dan data yang tersimpan menjadi : Q = 0000. Ketika CLR kembali ke keadaan rendah, register telah siap beroperasi. LOAD merupakan masukan kendali yang menentukan operasi rangkaian. Apabila LOAD rendah, bit-bit X tidak dapat mencapai flip-flop. Pada waktun yang sama, sinyal komplemennya LOAD merupakan keadaan logika tinggi. Sinyal ini menyebabkan keluaran setiap flip-flop diumpanbalikkan ke masukannya. Setiap kali
system flip-flop menerima masukan, data akan tetap dipertahankan dalam system flipflop. Dengan kata lain, isi register tidak berubah selama sinyal LOAD dalam keadaan rendah. Apabila LOAD tinggi, isi kelompok bit X disalurkan ke masukan-masukan data, dan setelah tepi positif berikutnya bit-bit X dimasukkan dan data yang tersimpan menjadi : Q3Q2Q1Q0 = X3X2X1X0 Ketika LOAD kembali kepada keadaan rendah, data tadi telah tersimpan dengan aman. Ini berarti bit-bit X dapat berubah tanpa mengganggu kata yang telah tersimpan tadi.
8.1.2 Shift Register Shift register (register geser) merupakan rangkaian logika yang mempunyai fungsi untuk menyimpan data input secara berkala dan memindahkannya ke bit berikutnya melalui pulsa clock. Sebenarnya suatu shift register bertugas untuk memindahkan data secara seri bit per bit. Pemindahan data secara paralel merupakan sifat tambahan yang disertakan untuk menjadikan register tersebut menjadi lebih luwes. Shift register dapat digunakan sebagai antarmuka dengan perangkat I/O serial dan juga digunakan di dalam ALU (Aritmatika Logic Unit) suatu komputer untuk melakukan fungsi pergeseran dan rotasi logika.
Gambar 8.2 Rangkaian Shift Register dengan Input Serial
Rangkaian di atas adalah rangkaian register geser kanan dengan input serial. Sebagaimana terlihat, setiap keluaran Q mengaktifkan masukan D dari setiap flip-flop yang sebelumnya. Setiap kali ada sinyal clock tepi negative, but-bit yang tersimpan bergeser satu posisi ke kanan.
110
Contoh : Misalkan Din = 1 •
Pada kondisi awal Q = 0000
•
Pada tepi negative sinyal clock yang pertama, flip-flop paling kiri akan aktif dan kata yang tersimpan menjadi : Q = 1000
•
Pada tepi negative yang berikutnya isi register menjadi : Q = 1100
•
Tepi negative ketiga, isi register menjadi : Q = 1110
•
Tepi negative yang keempat, isi register menjadi : Q=1111 Data yang tersimpan pada register akan tetap 0001 selama Din berlogika 1. Jika Din diberi logika rendah, maka proses yang sama ketika diberikan logika 1 akan berulang, yaitu bit-nya akan bergeser ke kanan bit-per-bit setiap ada tepi negative sinyal clock.
Gambar 8.3 merupakan rangkaian shift register dengan input parallel. Inputinput parallel diberikan pada input asinkron preset. Bit S5 diberi logika 0, yang berarti J berlogika 0 dan K berlogika 1. Hal ini menyebabkan flip-flop untuk bit MSB dalam keadaan reset, sehingga dalam hal ini pemberian input serial tidak bisa dilakukan. Untuk memberikan input secara parallel dapat dilakukan dengan memberikan input 1 atau 0 pada S3, S2, S1, dan S0. Tetapi sebelumnya harus dipastikan bit B6 berlogika 1, sehingga ketika S3, S2, S1, dan S0 diberikan logika 1 maka keempat flip-flop tersebut berada dalam keadaan set. Sebaliknya ketika S3, S2, S1, dan S0 diberikan logika 0 maka keempat flip-flop tersebut berada dalam keadaan reset. Jadi, flip-flop akan diset atau direset tergantung kepada nilai logika yang diberikan pada input-input asinkron flip-flop tersebut. Setelah input-input parallel diberikan kepada setiap flip-flop, maka bit-bit tersebut akan bergeser ke kanan setiap datang sinyal clock. Sinyal clock hanya bisa mentrigger register ketika bit S6 berlogika 1.
111
Gambar 8.3 Rangkaian Shift Register dengan Input Paralel
8.2
Counter Counter adalah sebuah register yang nilainya dapat dinaikkan 1 (satu) modulus.
Suatu register yang disusun oleh n buah flip-flop, dapat menghitung sampai dengan 2n - 1. Bila counter ditingkatkan melebihi nilai maksimumnya, maka akan disetel kembali ke-0. Counter dapat berbentuk asinkon atau sinkron, tergantung cara beroperasinya. Counter asinkron relatif lebih lambat karena output sebuah flip-flop akan menyebabkan perubahan pada status flip-flop yang berikutnya. Pada counter sinkron, seluruh flip-flop berubah statusnya pada saat yang bersamaan. Counter asinkron dikenal juga sebagai ripple counter, karena bertambahnya counter berawal pada sebuah sisi dan “merambat (ripple)” ke sisi lainnya. Ripple counter memiliki kekurangan pada delay yang terjadi dalam perubahan nilai yang proporsional dengan panjangnya counter. Untuk mengatasi kekurangan ini, digunakan counter sinkron, dimana seluruh flip-flop counternya berubah pada saat yang bersamaan. Untuk penggunaan pada CPU, lebih cocok menggunakan counter sinkron.
112
Gambar 8.3 Counter Asinkron 4-bit
Gambar 8.4 Counter Sinkron 4-bit
Diagram waktu untuk counter :
Gambar 8.5 Counter Sinkron 4-bit
113
8.3 Soal-soal Latihan 1. Sinyal clock yang menggerakkan pencacah lingkar/putar 6 bit memiliki frekuensi 1 MHz. a. Berapa lamakah setiap bit pewaktuan akan bertahan pada tingkat logika tinggi? b. Berapa waktu yang diperlukan untuk memutar melalui semua kata lingkar dari pencacah? 2. Rancanglah sebuah counter biner yang dapat menghitung dari 0 (nol) sampai dengan hasil penjumlahan 2 (dua) digit akhir NIM anda. Catatan : Jika penjumlahan 2 digit akhir NIM anda menghasilkan 0 (nol), jumlahkah 3 (tiga) digit akhir. 3. Rancanglah sebuah rangkaian up-down counter 3 bit ! 4. Sebuah system terdiri dari 8 sub system. Sistem tersebut digerakkan oleh sebuah pencacah putar (ring counter) dimana hanya 1 sub system yang bekerja pada satu saat. a. Jika dalam satu kali putaran masing-masing sub system bekerja selama 0,5 µs, berapakah frekuensi dari sinyal clock yang dibutuhkan untuk menggerakkan system tersebut? b. Berapa lama waktu yang diperlukan agar system bekerja satu kali putaran?
114
COUNTER MODULUS 10
RING COUNTER
115