Dalam rangkaian digital, sebuah register geser adalah kaskade dari Flip-flop, berbagi jam yang sama, yang memiliki output dari satu apapun tetapi yang terakhir flip-flop dihubungkan ke input "data" dari yang berikutnya dalam rantai tersebut, sehingga sirkuit yang menggeser per satu posisi satu dimensi "bit array" disimpan di dalamnya, pergeseran dalam data hadir pada input dan pergeseran keluar bit terakhir dalam array, ketika diaktifkan untuk melakukannya oleh transisi dari masukan clock. Lebih umum, sebuah register geser dapat multidimensi, seperti bahwa "data dalam" tahap input dan output itu sendiri array bit: ini diimplementasikan hanya dengan menjalankan beberapa pergeseran register yang sama bit-panjang secara paralel.
Register geser dapat memiliki keduanya paralel dan serial input dan output. Ini sering dikonfigurasi sebagai serial-in, paralel-out (SIPO) atau sebagai paralel-in, serial-out (piso). Ada juga jenis yang memiliki kedua input serial dan paralel dan jenis dengan output serial dan paralel. Ada juga register geser dua arah yang memungkinkan pergeseran dalam dua arah: L → R atau R → L. Input dan output seri terakhir dari sebuah register geser juga dapat dihubungkan untuk membuat sebuah register geser melingkar.
Serial-in, serial-out (SISO)
Tabel Kebenaran
- 0 0 0 0
- 1 0 0 0
- 0 1 0 0
- 1 0 1 0
- 1 1 0 1
- 0 1 1 0
- 0 0 1 1
- 0 0 0 1
- 0 0 0 0
Ini adalah jenis paling sederhana dari register geser. String data dipresentasikan pada 'Data Dalam', dan digeser kanan satu tahap 'Data muka' setiap kali dibawa tinggi. Di muka masing-masing, sedikit di paling kiri ('Data Dalam' yaitu) digeser ke output flip-flop pertama. Bit di paling kanan ('Data Out' yaitu) digeser keluar dan hilang.
Data disimpan setelah setiap flip-flop pada output 'Q', jadi ada 'slot' empat penyimpanan yang tersedia dalam pengaturan ini, maka itu adalah Daftar 4-Bit. Untuk memberikan gambaran tentang pergeseran pola, bayangkan bahwa register memegang 0000 (sehingga semua penyimpanan slot kosong). 'Data Dalam' Sebagai menyajikan 1,0,1,1,0,0,0,0 (dalam urutan itu, dengan pulsa di 'Muka Data' setiap kali - ini disebut clocking atau nyala) ke kasir, ini hasilnya. Kolom sebelah kiri sesuai dengan pin output paling kiri flip-flop, dan sebagainya.
Jadi serial output dari register seluruh 10110000. Seperti yang Anda lihat jika kita terus input data, kita akan mendapatkan persis apa yang dimasukkan ke dalam, tetapi diimbangi oleh siklus 'Data muka' empat. Susunan ini adalah setara perangkat keras dari antrian. Juga, setiap saat, daftar keseluruhan dapat diatur ke nol dengan membawa reset (R) pin tinggi.
Pengaturan ini melakukan pembacaan destruktif - setiap datum hilang begitu telah bergeser dari bit paling kanan.
Serial-in, paralel-out (SIPO)Konfigurasi ini memungkinkan konversi dari serial ke format paralel. Data masukan serial, seperti dijelaskan dalam bagian SISO di atas. Setelah data telah masukan, mungkin akan baik dibacakan pada output masing-masing secara bersamaan, atau bisa digeser dan diganti.4-Bit SIPO Pergeseran Pendaftaran
Paralel-in, Serial-out (piso)
Konfigurasi ini memiliki input data pada baris sampai D1 D4 dalam format paralel. Untuk menulis data ke register, garis kontrol Tulis / Shift harus diadakan RENDAH. Untuk menggeser data, garis kontrol W / S dibawa TINGGI dan register clock. Pengaturan ini sekarang bertindak sebagai register geser SISO, dengan D1 sebagai Data Input. Namun, selama jumlah clock cycle tidak lebih dari panjang string data, Output Data, Q, akan menjadi data paralel dibacakan secara berurutan.4-Bit piso Pergeseran Pendaftaran
Animasi di bawah ini menunjukkan urutan menulis / pergeseran, termasuk kondisi internal register geser.4-Bit piso Pergeseran Pendaftaran Seq.gif
Penggunaan
Salah satu penggunaan yang paling umum dari sebuah register geser adalah untuk mengkonversi antara interface serial dan paralel. Hal ini berguna karena banyak sirkuit bekerja pada kelompok bit secara paralel, tapi serial interface lebih sederhana untuk membangun. Register geser dapat digunakan sebagai sirkuit menunda sederhana. Beberapa register geser dua arah juga bisa dihubungkan secara paralel untuk implementasi hardware stack.
Register SIPO biasanya melekat pada output dari mikroprosesor ketika pin output lebih dibutuhkan daripada yang tersedia. Hal ini memungkinkan perangkat biner beberapa dikontrol dengan hanya menggunakan dua atau tiga pin - perangkat tersebut yang melekat pada output paralel register geser, maka keadaan yang diinginkan dari semua perangkat dapat dikirim keluar dari mikroprosesor menggunakan koneksi serial tunggal . Demikian pula, konfigurasi piso biasanya digunakan untuk menambahkan input biner lebih untuk mikroprosesor ketimbang yang tersedia - masing-masing masukan biner (yaitu saklar atau tombol, atau sirkuit yang lebih rumit yang dirancang untuk output tinggi ketika aktif) terpasang ke input paralel register geser , maka data dikirim kembali melalui serial ke mikroprosesor menggunakan sedikit baris beberapa dari yang diperlukan.
Register geser dapat digunakan juga sebagai extender pulsa. Dibandingkan dengan monostable multivibrators, waktu tidak memiliki ketergantungan pada nilai-nilai komponen, tetapi memerlukan jam eksternal dan ketepatan waktu dibatasi oleh rincian jam ini. Contoh: Ronja Twister, di mana lima register geser 74.164 menciptakan inti dari logika waktu dengan cara ini (skema).
Pada awal komputer, register geser digunakan untuk menangani pengolahan data: dua nomor yang akan ditambahkan disimpan di dua register geser dan absen pulang ke unit aritmatika dan logika (ALU) dengan hasil yang makan kembali ke input dari salah satu pergeseran register (akumulator) yang merupakan salah satu sedikit lebih lama karena penambahan biner hanya dapat menghasilkan jawaban yang ukuran yang sama atau sedikit lebih lama.
Banyak bahasa komputer termasuk instruksi untuk 'bergeser ke kanan' dan 'pergeseran kiri' data dalam register, secara efektif membagi dua atau mengalikan oleh dua untuk setiap tempat bergeser.
Sangat besar serial dalam serial-out register geser (ribuan bit dalam ukuran) yang digunakan dalam cara yang mirip dengan memori baris sebelumnya keterlambatan dalam beberapa perangkat yang dibangun pada awal tahun 1970. Kenangan seperti itu kadang-kadang disebut beredar memori. Sebagai contoh, Datapoint 3300 terminal disimpan tampilan dari 25 baris 72 kolom huruf besar karakter menggunakan register geser lima puluh empat 200-bit, disusun dalam enam lagu dari sembilan paket masing-masing, menyediakan penyimpanan untuk 1800 enam-bit karakter. Desain register geser berarti bahwa menggulir tampilan terminal dapat dicapai dengan hanya berhenti output layar untuk melewati satu baris karakter
Tidak ada komentar:
Posting Komentar