Register Geser Universal: Parallel-In/Parallel-Out dengan Kontrol Pergeseran Dua Arah
Register geser parallel-in/parallel-out menerima data secara parallel, menggesernya, dan menyajikan hasil pergeseran, seperti yang diilustrasikan di bawah ini.
Register geser universal memperluas kemampuan ini dengan mendukung pemuatan parallel, pergeseran serial, dan opsi kontrol tambahan seperti arah dan mode tahan.

Pada gambar di atas, empat bit data diterapkan ke input parallel DA DB DC DD. Sinyal kontrol mode menentukan apakah data dimuat secara parallel atau digeser satu posisi per pulsa clock.
Banyak perangkat memungkinkan garis kontrol yang sama untuk memilih arah pergeseran. Setiap transisi clock memindahkan data satu bit; output yang digeser tersedia pada QA QB QC QD. Pin “data-in” dan “data-out” memfasilitasi cascading banyak register.
Sementara diagram hanya menunjukkan cascading right-shift, cascading left-shift dapat dilakukan dengan menambahkan pasang kedua pin “data-in” dan “data-out” yang diarah ke kiri.
Struktur internal register geser parallel-in/parallel-out yang geser ke kanan ditunjukkan di bawah ini. Buffer tri-state adalah opsional tetapi umum pada bagian komersial.

74LS395 adalah contoh utama yang cocok dengan diagram konseptual di atas. Ringkasan datasheet singkat berikut; datasheet lengkap ditautkan nanti dalam bab ini.
LD/SH’ mengontrol multiplexer yang memilih antara pemuatan parallel dan pergeseran serial. Ketika LD/SH’ = 1, empat gate AND atas mengaktifkan input parallel DA DB DC DD untuk memasuki empat flip-flop. Input clock dibalik, sehingga data dikunci pada tepi negatif.
Setelah register dimuat, pengaturan LD/SH’ = 0 mengaktifkan jalur pergeseran, memindahkan isi satu bit ke kanan pada setiap clock tepi negatif. Setelah empat clock, data akan keluar dari register kecuali dicascading melalui QD’ ke input serial perangkat lain.

Diagram menunjukkan pola data yang dimuat ke dalam QA QB QC QD dan kemudian digeser satu posisi ke kanan. Bit masuk tidak diketahui (ditandai X); grounding pin SER akan membuat level logika input jelas.
Pergeseran dua-clock (pergeseran dua-bit) diilustrasikan pada gambar berikut.

Referensi skematis ini disingkat karena fungsionalitas inti sudah dicakup dalam gambar yang lebih detail berikutnya.

Untuk konfigurasi left-shift, flip-flop harus dihubungkan ulang, menukar pin input serial (SI) dan output serial (SO). Jalur data menjadi: SI → QC → QB → QA → SO, yang merupakan kebalikan dari urutan right-shift.

Perangkat komersial biasanya menerapkan pergeseran dua arah dengan menambahkan garis kontrol (L/R). Skematis berikut menunjukkan register hipotesis yang dapat geser ke kiri atau kanan tergantung sinyal L/R.

Dengan L/R = 1, multiplexer mengaktifkan jalur right-shift; L/R = 0 memilih jalur left-shift. Input data serial (SR untuk kanan, SL untuk kiri) memberi makan flip-flop pertama, dan output serial (SR cascade atau SL cascade) menyediakan data yang keluar dari register.

Untuk menggabungkan pemuatan parallel dengan pergeseran dua arah, garis kontrol ketiga (SH/LD’) diperkenalkan. Ketika SH/LD’ = 0, multiplexer pemuatan melewatkan input parallel DA DB DC ke flip-flop pada clock berikutnya. Pengaturan SH/LD’ = 1 menonaktifkan jalur pemuatan dan mengaktifkan kembali kontrol pergeseran yang ditentukan oleh L/R.
Implementasi komersial, seperti 74ALS299, menambahkan gate AND tambahan untuk mendukung mode tahan (S1 S0 = 00), yang terus-menerus memuat ulang output pada setiap clock, mempertahankan data yang disimpan.
Lihat bagian berikutnya untuk skematis 74ALS299.
Parallel-In / Parallel-Out dan Perangkat Universal
Texas Instruments menawarkan berbagai register geser serial-in/parallel-out. Lihat tautan di bawah ini untuk datasheet lengkap.
- SN74LS395A – register geser parallel-in/parallel-out 4-bit
- SN74ALS299 – register geser universal parallel-in/parallel-out 8-bit

Skematis internal SN74LS395A ditunjukkan di atas. Simbol ANSI disajikan pada gambar berikutnya.

Perangkat 4-bit terbatas oleh paket DIP 16-pin, yang harus menampung empat pin data, pin kontrol, dan pin daya.
Sinyal kontrol utama meliputi:
- CLR’ – reset aktif-rendah untuk semua tahap.
- OC’ – enable aktif-rendah untuk empat buffer output tri-state.
- LD/SH’ – multiplexing antara pemuatan parallel (M1) dan pergeseran serial (M2).
- C3/2 – clock tepi negatif yang memclock data parallel (melalui sinyal dengan awalan 3) dan data serial (melalui sinyal dengan awalan 2).
Buffer tri-state dikontrol oleh sinyal EN4 (rendah mengaktifkan semua empat buffer). Ketika QD’ dicascading ke pin SER perangkat lain, data dapat digeser melalui banyak register.

Tabel di atas, yang diambil dari datasheet 74ALS299, merangkum operasi register geser universal 8-bit. Input mode S1 dan S0 memilih salah satu dari empat fungsi:
- 01 – geser ke kiri
- 10 – geser ke kanan
- 11 – pemuatan parallel
- 00 – tahan (pemuatan ulang output yang berkelanjutan pada setiap clock)
Dalam mode tahan, bus data difungsikan tri-state untuk memungkinkan perangkat eksternal mengdriv bus sementara register melestarikan isinya.
Ketika S1 S0 = 00, 01, atau 10 dan sinyal output enable OE2’, OE1’ rendah, output register geser akan diarahkan ke bus.

Urutan right-shift (S1 S0 = 10) adalah: SR → QA → QB → QC → QD → QE → QF → QG → QH (QH’).
Urutan left-shift (S1 S0 = 01) adalah: (QA’) → QA ← QB ← QC ← QD ← QE ← QF ← QG ← QH (QSL’).
Buffer tri-state dapat dinonaktifkan dengan mengaktifkan OE2’ atau OE1’; isi register internal tidak berubah tetapi tidak terlihat pada pin output.

Simbol ANSI yang diannotasi menjelaskan konvensi penamaan yang digunakan dalam datasheet. Perhatikan bahwa bit mode S0 S1 tercantum dalam urutan terbalik relatif terhadap tabel di atas, sebuah kekhususan dokumentasi resmi.
Aplikasi Praktis
Contoh berikut menunjukkan bagaimana register geser universal dapat menggabungkan papan tikang jarak jauh dan layar LED menjadi satu perangkat untuk sistem alarm.

Pada diagram, papan tikang dan layar terletak dalam pelindung yang sama. Data papan tikang dimuat secara parallel ke register geser pada satu pulsa clock, kemudian digeser secara serial ke kotak alarm utama. Secara bersamaan, data LED dari kotak utama dimuat secara serial ke register untuk mendriv LED.

Delapan LED dan resistor pembatas arus dihubungkan ke delapan pin I/O SN74ALS299. LED hanya dapat diarahkan dalam Mode 3 (S1 = 0, S0 = 0) saat tri-state enables OE1’ dan OE2’ di-ground, mengaktifkan output secara permanen selama Mode 0, 1, dan 2. Jika berkedip selama pergeseran tidak diinginkan, enables dapat diikat ke bit mode sehingga LED hanya menyala dalam mode tahan.
Selama pemuatan parallel, pengaturan S0 = 1 (logika 0 setelah inversi) mengaktifkan buffer tri-state untuk menarik kontak saklar ke ground. Kontak terbuka ditarik tinggi oleh jaringan resistor-LED, menciptakan logika tinggi yang jelas saat tidak ada tombol yang ditekan.
Pada waktu t0, ketika baik S0 maupun S1 tinggi, data saklar dimuat ke dalam register. Setelahnya, delapan pulsa clock (t0 hingga t8) menggeser data penutupan saklar keluar melalui QH’, sementara data LED baru digeser masuk di SR register.
Setelah pergeseran ke delapan (t8), S1 turun rendah, meletakkan register dalam mode tahan (S1 S0 = 00). Data yang disimpan tetap stabil meskipun clock tambahan diterapkan.
Generasi clock dapat ditangani oleh mikrokontroler jika tingkatnya di bawah 100 kHz; untuk frekuensi yang lebih tinggi, logika khusus dapat menghasilkan clock dan sinyal mode yang diperlukan.
Lembar Kerja Terkait:
- Lembar Kerja Register Geser