Thanh ghi là một thiết bị được sử dụng để lưu trữ thông tin nhị phân. Nó là một nhóm các flip-flop được kết nối nối tiếp để lưu trữ nhiều bit dữ liệu. Thông tin được lưu trữ trong các thanh ghi này có thể được truyền đi với sự trợ giúp của thanh ghi dịch.
Thanh ghi dịch là một nhóm các flip-flop được sử dụng để lưu trữ nhiều bit dữ liệu. Các bit được lưu trữ trong các thanh ghi này có thể được di chuyển trong các thanh ghi và vào/ra khỏi thanh ghi bằng cách áp dụng xung nhịp. Một thanh ghi dịch n-bit có thể được hình thành bằng cách kết nối n flip-flop, mỗi flip-flop lưu trữ một bit dữ liệu. Các thanh ghi dịch bit sang trái được gọi là “Thanh ghi dịch trái”. Các thanh ghi dịch bit sang phải được gọi là “Thanh ghi dịch phải”. Có nhiều loại thanh ghi dịch khác nhau.
Các loại thanh ghi dịch
Có nhiều loại thanh ghi dịch, bao gồm:
-
Serial In Serial Out (SISO): Nhận dữ liệu tuần tự và xuất dữ liệu tuần tự. Được sử dụng như một phần tử trễ.
-
Serial In Parallel Out (SIPO): Nhận dữ liệu tuần tự và xuất dữ liệu song song. Được sử dụng trong các đường truyền thông nơi cần giải mã một đường dữ liệu thành nhiều đường song song.
-
Parallel In Serial Out (PISO): Nhận dữ liệu song song và xuất dữ liệu tuần tự. Được sử dụng để chuyển đổi dữ liệu song song thành dữ liệu tuần tự.
-
Parallel In Parallel Out (PIPO): Nhận dữ liệu song song và xuất dữ liệu song song. Được sử dụng như một thiết bị lưu trữ tạm thời và như một phần tử trễ.
-
Bidirectional Shift Register: Có thể dịch chuyển dữ liệu sang phải hoặc sang trái tùy thuộc vào chế độ được chọn.
-
Universal Shift Register: Kết hợp cả hai chức năng dịch chuyển phải và dịch chuyển trái, cùng với khả năng tải song song. Thường được sử dụng làm phần tử bộ nhớ trong máy tính.
-
Shift Register Counter: Các thanh ghi dịch trong đó đầu ra được kết nối trở lại đầu vào để tạo ra các chuỗi cụ thể. Bao gồm Ring Counter và Johnson Counter.
Ứng dụng của thanh ghi dịch
Thanh ghi dịch được sử dụng rộng rãi trong nhiều ứng dụng, bao gồm:
- Lưu trữ dữ liệu tạm thời.
- Truyền và xử lý dữ liệu.
- Tạo độ trễ thời gian trong mạch kỹ thuật số.
- Chuyển đổi dữ liệu nối tiếp thành dữ liệu song song và ngược lại.