- Theo mạch ra có loại thường và 3 trạng thái
Loại vào nối tiếp ra song song và ra nối tiếp
Loại vừa khảo sát ở mục 1 thuộc loại ghi dịch vào nối tiếp ra nối tiếp. Đây cũng là cấu trúc của mạch ghi dịch vào nối tiếp ra song song. Dữ liệu sẽ được lấy ra ở 4 ngõ Q của 4 tầng FF, vì chung nhịp đồng hồ nên dữ liệu cũng được lấy ra cùng lúc.
Hình 3.2.3 Mạch ghi dịch vào nối tiếp ra song song
Bảng dưới đây cho thấy làm như thế nào dữ liệu được đưa tới ngõ ra 4 tầng FF
Loại được nạp song song (vào song song) ra nối tiếp và song song
Bây giờ muốn đưa dữ liệu vào song song (còn gọi là nạp song song) ta có thể tận dụng ngõ vào không đồng bộ Pr và Cl của các FF để nạp dữ liệu cùng một lúc vào các FF. Như vậy có thể dùng thêm 2 cổng nand và một cổng not cho mỗi tầng. Mạch mắc như sau
H3.2.4a Mạch ghi dịch nạp song song
Mạch hoạt động bình thường khi nạp song song ở thấp như đã nói. Khi nạp song song WRITE = 1 cho phép nạp
ABCD được đưa vào Pr và Cl đặt và xoá để Q0 = A, Q1 = B, … Xung ck và ngõ vào nổi tiếp không có tác dụng (vì sử dụng ngõ không đồng bộ Pr và Cl)
Một cách khác không sử dụng chân Pr và Cl được minh hoạ như hình dưới đây.Các cổng nand được thêm vào để nạp các bit thấp D1, D2, D3. Ngõ
WRITE/SHIFT dùng để cho phép nạp (ở mức thấp) và cho phép dịch (ở mức cao). Dữ liệu nạp và dịch vẫn được thực hiện đồng bộ như các mạch trước.
H3.2.4b Mạch ghi dịch nạp song song ra nối tiếp
Với mạch hình 3.2.4b ngõ ra dữ liệu là nối tiếp, ta cũng có thể lấy ra dữ liệu song song như ở hình 3.2.5, Cấu trúc mạch không khác so với ở trên. Dữ liệu được đưa vào cùng lúc và cũng lấy ra cùng lúc (mạch như là tầng đệm và hoạt động khi có xung ck tác động lên.
Hình 3.2.5 Mạch ghi dịch vào song song ra song song
Ghi dịch 2 chiều
Như đã thấy, các mạch ghi dịch nói ở những phần trên đều đưa dữ liệu ra bên phải nên chúng thuộc loại ghi dịch phải. Để có thể dịch chuyển dữ liệu ngược trở lại (dịch trái) ta chỉ việc cho dữ liệu vào ngõ D của tầng cuối cùng, ngõ ra Q được đưa tới tầng kế tiếp, …. Dữ liệu lấy ra ở tầng đầu.
Hình 3.2.6 Mạch ghi dịch cho phép dịch chuyển cả 2 chiều
Với mạch trên, các cổng NAND và đường cho phép dịch chuyển dữ liệu trái hay phải. Bảng dưới đây minh hoạ cho mạch trên : dữ liệu sẽ dịch phải 4 lần rồi dịch trái 4 lần. Để ý là thứ tự 4 bit ra bị đảo ngược lại so với chúng ở trên.
Nhận thấy rằng các ghi dịch mô tả ở trên đều dùng các FF rời, rồi phải thêm nhiều cổng logic phụ để tạo các loại SR khác nhau. Trong thực tế ghi dịch được tích hợp sẵn các FF và đã nối sẵn nhiều đường mạch bên trong; người sử dụng chỉ còn phải làm một số đường nối bên ngoài điều khiển các ngõ cho phép thôi. Các SR cũng được tích hợp sẵn các chức năng như vừa có thể dịch trái dịch phải vừa vào nối tiếp vừa nạp song song. Ở đây là một số ghi dịch hay được dùng :
Liệt kê
7494 : 4bit vào song song, nối tiếp; ra nối tiếp
7495/LS95 : 4 bit, vào song song/nối tiếp; ra song song; dịch chuyển trái phải
74164/LS164 : 8 bit vào song song ra nối tiếp
74165/LS765 : 8 bit, vào song song/nối tiếp; ra nối tiếp bổ túc
74166/LS166 : 8 bit; vào song song/nối tiếp; ra nối tiếp; có thể nạp đồng bộ
74194/LS194 : 4 bit vào song song/nối tiếp; ra song song; nạp đồng bộ dịch chuyển trái phải
74195/LS195 : 4 bit, vào song/nối tiếp; ra song song; tầng đầu vào ở JK
74295/LS295 : như 74194/LS194 nhưng ra 3 trạng thái 74395/LS295 : 4 bit vào song song; ra song song 3 trạng thái 74LS671/672 : 4 bit có thêm chốt
74LS673/674 : 16 bit
Khảo sát ghi dịch tiêu biểu 74/74LS95
Hình 3.2.8 Cấu trúc bên trong ghi dịch 74LS95
Sơ đồ cấu tạo và bảng hoạt động của IC như hình trên. Các chế độ hoạt động của nó như sau :
Nạp nối tiếp
Đưa dữ liệu vào tầng đầu Q0 Đặt điều khiển chọn ở mức thấp
Khi có ck1 hay ck2 thì dữ liệu sẽ lần lượt nạp vào ghi dịch và sẽ được đưa tới các tầng sau
Nạp song song
Dữ liệu vào ở 4 ngõ ABCD Đưa điều khiển kiểu lên cao
Khi có ck1 hay ck2 thì dữ liệu sẽ được nạp vào đồng thời các tầng của ghi dịch ở cạnh lên đầu của xung ck.
Thanh ghi dịch đóng vai trò cực kì quan trọng trong việc lưu trữ, tính toán số học và logic. Chẳng hạn trong các bộ vi xử lí, máy tính đều có cấu tạo các thanh ghi dịch; trong vi điều khiển (8051) cũng có các ghi dịch làm nhiều chức năng hay như trong nhân chia, ALU đã xét ở chương 2 ghi dịch cũng đã được đề cập đến. Ở đây không đi vào chi tiết mà chỉ nói khái quát ngắn gọn về ứng dụng của chúng.
1. Lưu trữ và dịch chuyển dữ liệu
Đây là ứng dụng cơ bản và phổ biến nhất của chúng. Ghi dịch n bit sẽ cho phép lưu trữ được n bit dữ liệu một thời gian mà chừng nào mạch còn được cấp điện. Hay nói cách khác dữ liệu khi dịch chuyển đã được trì hoãn một khoảng thời gian, nó tuỳ thuộc vào :