Apa itu Register
Register adalah suatu rangkaian logika yang dibentuk oleh beberapa flip-flop atau bistabil multivibrator (JK flip atau D flip-flop) yang disusun sedemikian rupa sehingga mampu menyimpan dan memproses informasi dalam bentuk biner. Jumlah flip-flop yang digunakan bergantung pada banyaknya bit dari informasi yang akan disimpan atau diproses. Sebagai contoh register yang terdapat pada komputer digital (mini computer) biasanya terdiri dari 16 bit.
Register pada peralatan komputer berfungsi melakukan operasi aritmatik, menyimpan perintah-perintah dan mentrasnfer data dari satu bagian ke bagian lainnya. Pada peralatan ukur digital, register berfungsi menyimpan data yang akan ditampilkan sehingga counter bisa melanjutkan tugasnya tanpa kehilangan informasi sebelumnya. Dengan register kia dapat mengirim data dari suatu unit ke unit lain.
Menurut fungsinya register dapat dibedakan menjadi dua macam:
•Storage register
•Shift register
Storage register berfungsi untuk menyimpan informasi untuk sementara waktu, sedangkan shift register berfungsi untuk memproses informasi. Menurut cara masuk dan keluarnya informasi, maka register dapat pula dibedakan menjadi:
•Serial - serial
•Serial - paralel
•Paralel - serial
•Paralel - paralel
Storage Register
Untuk membuat storage register kita dapat memanfaatkan flip flop jenis D Flip flop dan JK flip-flop. Karena D flip flop dan JK flip flop kerjanya dapat menyimpan 1 bit bilangan biner, maka kedua jenis flip flop ini dapat kita gunakan untuk storage register. Untuk membentuk rangkaian register yang mampu menyimpan 4 bit diperlukan empat buah flip flip dalam jenis yang sama. Berikut ini adalah contoh pengunaan D Flip - flop untuk membuat rangkaian storage register.
Pada rangkaian di atas, informasi atau data yang masuk pada input D0, D1, D2, dan D3 biasanya datang dari rangkaian counter atau pencacah. Jika input clock diberika harga 0, maka informasi apapun yang berada pada input D tidak akan mempengaruhi nilai pada output Q. Akan tetapi, jika input clock (CLK) diberi nilai 1 maka output Q akan sama nilainya dengan input D dan seterusnya. Jika input clock (CLK) kembali menjadi 0, maka informasi terakhir akan tetap tersimpan pada output Q walaupun input D nilainya berubah-ubah. Untuk membersihkan (refresh) isi memory dapat digunakan input clear.
Sedangkan untuk membentuk storage register dari JK flip flop, maka kita dapat menyusun rangkaian JK flip-flip seperti terlihat pada gambar berikut ini.
Pada gambar di atas nilai dari input J dan K tergantung pada output Q dan not Q pada rangkaian counter. Jika input C (clock) = 1, maka informasi yang berada pada output counter (yang masuk ke input register J dan K) akan berpindah ke output storage register (Q0, Q1, Q2, Q3). Selanjutnya jika input C (clock) berubah menjadi 0, maka informasi tadi akan tetap tersimpan walaupun output counter (yang masuk ke input register J dan K) berubah nilainya.
Register Serial In - Out
Dasar register empat-bit dapat dirangakai dengan menggunakan empat D flip-flop, seperti yang diperlihatkan di bawah. Pengoprasian rangkaian terlihat seperti yang dijelaskan berikut. Pertama-tama register di-clear, memaksa keempat output bernilai nol. Input data kemudian diterapkan secara sekuensial dengan D input dari flip-flop yang pertama di kiri (FF0). Selama pulsa clock, satu bit ditransmisikan dari kiri ke kanan. Menerima suatu kata data menjadi 1001. Least significant bit (LSB) data telah digeser lewat register dari FF0 ke FF3.
Dalam penerimaan untuk mendapat data keluar dari register, mereka harus digeser keluar dengan serial. Ini dapat dilakukan dengan merusak atau tidak merusak. Jika merusak output susunan yang dapat dibaca (destructive readout), data asli hilang dan pada akhir putaran data, semua flip-flop di-reset pada nol.
Untuk menghindari kehilangan data, suatu susunan pembacaan yang tidak merusak (non-destructive reading) dapat dilakukan dengan menambah dua gerbang AND, sebuah gerbang OR dan sebuah inverter pada sistem. Susunan rangkaian ditunjukan dibawah.
Data di angkut pada register saat garis kontrol tinggi (HIGH dengan kata lain WRITE). Data dapat di geser keluar dari register saat garis kontrol rendah ( LOW dengan kata lain READ). Ini ditunjukan dalam animasi di bawah.
Register Serial In - Paralel Out
Dari jenis register ini, bit-bit data dimasukan secara serial sama artinya seperti yang didiskusikan dalam seksi terakhir.Perbedaanya adalah cara dimana bit-bit data dipindahkan dari register. Sekali data disimpan, setiap bit muncul pada masing-masing baris keluarannya, dan semua bit-bitnya mampu secara simultan. Sebuah susunan empat-bit register SIPO diperlihatkan di bawah ini.
Dalam animasi dibawah, kita dapat melihat bagaimana 1001 empat-bit bilangan biner digeser pada keluaran-keluaran Q register.
Register Parallel In – Serial Out
Suatu register Parallel In – Serial Out diperlihatkan dibawah. Rangkaian ini menggunakan D flip-flop dan gerbang NAND utuk memasukan data (dengan kata lain menulis) pada register.
D0, D1, D2 dan D3 adalah paralel input, dimana D0 adalah most significant bit (MSB) dan D3 adalah least significant bit (LSB). Untuk menulis data masuk, baris pengontrolan mode diambil pada rendah dan data di-clock masuk. Data dapat digeser saat baris kontrol mode tinggi bersamaan SHIFT aktif tinggi. Register menampilkan operasi geser kanan pada aplikasi satu pulsa clock, diperlihatkan dalam animasi di bawah.
Register Parallel In – Parallel Out
Untuk register Parallel In – Parallel Out, semua bit-bit data muncuk pada keluaran-keluaran paralel secara mendadak mengikuti masukan yang simultan dari bit-bit data. Rangkaian ini dibangun dengan D flip-flop.
Masukan-masukan D dan keluaran Q adalah paralel. Sekali register di-clock, semua data di D input muncul pada keluaran Q yang berhubungan secara simultan. Bidirectional Shift Registers Register yang didiskusikan hanya mengenai operasi register geser kanan. Setiap operasi geser kanan memiliki efek secara berturut-turut membagi bilangan biner dengan dua. Jika operasi berkebalikan (geser kiri), hal ini memiliki efek perkalian bilangan dengan dua. Dengan susunan penyediakan gerbang yang sesuai suatu register geser seri dapat menampilkan kedua operasinya. Suatu register dua arah dalah data dijadikan geser kanan atau kiri. Bidirectional Shift Registers menggunakan D flip-flop ditunjukan dibawah.
Dalam hal ini kumpulan gerbang NAND dikonfigurasi sebagai gerbang OR untuk memilih data masukan dari dua keadaan stabil yang berdekatan kanan atau kiri (the right or left adjacent bistables), seperti yang dipilih dengan LEFT/RIGHT baris pengontrolan. Animasi dibawah menampilkan geser kanan dua kali, kemudian geser kiri empat kali. Catatan, perintah empat bit-bit keluaran tidak sama seperti perintah asli/awal empat bit-bit masukan. Mereka secara aktual dikembalikan.
Counter
Apa itu counter ?. Counter adalah rangkaian logika sekuensial yang dapat berfungsi untuk menghitung jumlah pulsa yang masuk yang dinyatakan bilangan biner. Hampir seluruh peralatan elektronik yang mempergunakan sistem digital di dalam rangkaiannya berisi suatu alat yang dapat mengontrol urutan operasi program. Alat tersebut dinamakan dengan pencacah atau counter.
Pada umumnya counter ini dibentuk dari beberapa buah rangkaian flip-flop atau bistabil multivibrator yang jumlahnya disesuaikan dengan kebutuhan. Menurut cara kerja masukan pulsa ke dalam setiap flip-flop, maka counter dapat dibagi menjadi:
•Asynchronous binary counter
•Sycnchronous binary counter
Sedangkan menurut urutan hitungan yang terbentuk pada outputnya, maka counter dapat dibagi menjadi:
•Up counter
•Down counter
•Up-down counter
A. Asynchronous Binary Up Counter
Counter ini dapat menghitung biangan biner dengan urutan dari bawah ke atas. Apabila digunakan 4 buah flip-flop, maka kita dapat melakukan hitunga paling tinggi adalah 1111. Counter yang dapat menghitung sampai 1111 disebut 4 bit binary counter. Oleh karena dapat menghitung dengan cara ke atas, maka disebut pula asynchronous 4 binary up counter.
Pada rangkaian di atas, input J dan K dari seluruh flip-flop dibuat dalam keadaan 1. Sebelum pulsa pertama yang akan dihitung masuk ke input, maka seluruh output counter L4, L3, L2 dan L1 dibuat 0 terlebih dahulu dengan jalan membuat clear dalam keadaan 0 walaupun sesaat.
Pada saat pulsa pertama bergerak dari 1 ke 0, maka output flip-flop A akan berubah dari 0 ke 1, Ouput B akan tetap karena sinyal yang masuk pada input clock berubah dari 0 ke 1. Flip ke 3 dan 4 juga tidak mengalami perubahan karena belum ada perubahan pada input clocknya. Jadi dapat disimpulakan bahwa sesudah pulsa pertama datang keadaan ouput L4, L3, L2, L1 adalah 0001.
Selanjutnya apabila pulsa kedua bergerak dari 1 ke 0, output flip-flop 1 akan kembali menjadi 0, akibatnya terjadi perubahan juga pada input clock flip-flop 2 (dari 1 ke 0) sehingga ouput flip-flop 2 menjadi 1. Sedangkan flip flop 3 dan 4 outputnya belum mengalami perubahan karena pulsa input clocknya belum mengalami perubahan dari 1 ke 0. jadi sekarang output rangkaian counter ini adalah 0010.
Begitulah seterusnya sampai pulsa ke 15 datang. Keempat output rangkaian counter akan bernilai 1111. Begitu masuk pulsa ke 16 (perubahan dari 1 ke 0) datang maka output dari masing-masing flip-flop akan berubah menjadi 0000 (seperti keadaan awal).
B. Asynchronous Binary Down Counter
Prinsip kerja dari counter ini adalah kebalikan dari up counter, yaitu menghitung bilangan biner dengan urutan mulai dari atas ke bawah (dari besar ke kecil). Prinsip kerjanyapun tidak jauh berbeda dari up counter. Bedanya hanya setiap output flip-flop diambil dari output Q, sedangkan input clocknya dihubungkan dengan ouput not Q dari flip-flop sebelumnya. Untuk lebih jelasnya dapat dilihat gambar berikut.
Prinsip Kerjanya dapat dijelaskan sebagai berikut:
Sebelum pulsa pertama datang dan masuk ke input, seluruh output counter Q3,2,1,0 dibuat 0 dengan menggunakan direct clear walaupun sebentar saja. Pada saat pulsa pertama bergerak dari 1 ke 0, maka output flip-flop 0 akan berubah menjadi 1. Not Q flip-flop A berubah dari 1 ke 0 juga. Hasil perubahan ini akan masuk ke flip-flop 1 sehingga menyebabkan output Q2 menjadi 1. Hal yang sama juga terjadi pada flip-flop 2 dan 3 sehingga output mereka berubah menjadi 1. Jadi sesudah pulsa pertama masuk output counter akan berubah menjadi 1111.
Ketika pulsa ke dua masuk (berubah dari 1 ke 0), maka output flip-flop pertama akan berubah dari 1 ke 0 yang berarti output not Q nya juga berubah dari 0 ke 1. perubahan output not Q ini akan diteruskan ke flip-flop yang kedua. Tetapi tidak akan menyebabkanperubahan pada flip-flop ke dua (Q flip-flop ke dua masih tetap 1). Hal yang sama juga terjadi pada flip ketiga dan keempat. Jadi pada pulsa yang kedua ini output dari keempat flip-flop tersebut adalah 1110.
Demikianlah seterusnya sampai pulsa ke 15 sehingga ouputnya menjadi 0001. Ketika pulsa ke 16 datang output rangkaian berubah menjadi 0000. Jadi rangkaian ini merupakan rangkaian pencacah (counter) dari nilai tertinggi (atas) ke nilai terendah (bawah) yaitu dari 1111 sampai 0000.
C. Asynchronous Up Down Counter
Suatu rangkaian elektronik yang mempergunakan sistem digital sering memerlukan suatu alat pencacah yang dapat menghitung ke atas dan bisa juga menghitung ke bawah. Alat pencacah yang dapat melakukan penghitungan seperti ini disebut dengan binary up down counter. Alat ini dapat menghitung ke atas dan ke bawah dengan mengatur suatu alat pengontrol tertentu.
Dengan memanfaatkan tombol up dan down pada gambar di atas kita dapat melakukan proses penghitungan dari atas atau dari bawah.
D. Synchronous Binary Up Counter
Jika pada asynchronous counter pulsa yang akan dihitung datangnya tidak serentak, maka pada synchronour counter ini pulsa yang ingin dihitung ini masuk ke dalam setiap flip-flop serentak (bersama-sama) sehinga perubah output setiap flip-flop akan terjadi secara serentak. Oleh karena itu proses penghitungan pada synchronous counter ini akan lebih cepat jika dibandingkan dengan asynchronous counter.
E. Syinchronous Binary Down Counter
Sama dengan synchronous binary up counter di atas, hanya saja bedanyan rangkaian ini melakukan penghitungan dari atas ke bawah. Rangkaiannya dapat dilihat pada gambar berikut.
F. Synchronous Binary Up Down Counter
Pada rangkaian ini bisa dilakukan proses penghitungan ke atas atau ke bawah dengan memanfaatkan tombol pengatur proses penghitungan. Rangkaiannya dapat dilihat seperti berikut. Jikakita menggunakan kontrol up counter maka rangkaian yang aktif adalah
Sedangkan jika kita menggunakan down counter maka rangkaian yang aktif adalah
Dengan merangkaiakan beberapa buah JK flip-flop dapat dibentuk beberapa jenis counter. Jumlah kemampuan menghitung dari counter bergantung pada jumlah flip-flop yang digunakan. Semakin bnayak jumlah flip-flop yang digunakan, semakin besar pula jumlah menghitung yang dapt dilakukan.
Selain dapat menghitung pulsa, counter dapat juga digunakan untuk pembagi frekuensi. Frekuendi output dari sebuah flip-flop adalah setengah dari frekuensi inputnya. Jadi, pada counter yang menggunakan empat buah flip-flop akan membagi 16 frekuensi inputnya (f output = 1/16 f input).
Pada contoh counter yang sudah dibahas di atas hanya mampu menghitung sampai bilangan tertentu saja, 2, 4, 6, 8, 16, 32 dan seterusnya.