Bộ nhớ truy cập nối tiếp

Một phần của tài liệu BÀI GIẢNG THIẾT KẾ HỆ THỐNG VLSI (Trang 152 - 156)

5.4.1 Thanh ghi dịch

Thanh ghi dịch chuyển thường được sử dụng trong các ứng dụng xử lý tín hiệu để lưu trữ và trì hoãn dữ liệu. Hình 5.20-a cho thấy một thanh ghi dịch chuyển 4-giai đoạn 8-bit đơn giản được

xây dựng từ 32 flip-flops. Vì không có logic giữa các thanh ghi, cần phải đặc biệt chú ý sao cho thời gian lưu giữ được thỏa mãn. Flip-flops khá lớn, vì vậy các thanh ghi dịch chuyển lớn, dày đặc sử dụng RAM hai cổng để thay thế. RAM được cấu hình như một bộ đệm tròn với một cặp bộ đếm chỉ định nơi dữ liệu được đọc và ghi. Bộ đếm đọc được khởi tạo cho mục

Hình 0.141: Khai thác dòng trễ

Hình 0.142: Bộ nhớ nối tiếp/song song Hình 0.140: Thanh ghi dịch

nhập đầu tiên và bộ đếm ghi vào mục nhập cuối cùng khi đặt lại, như thể hiện trong hình 5.20- b. Ngoài ra, các bộ đếm trong thanh ghi dịch chuyển giai đoạn N có thể sử dụng hai thanh ghi trong số N để theo dõi mục nhập nào nên được đọc và ghi. Một lần nữa, một cái được khởi tạo để trỏ đến mục nhập đầu tiên và mục kia đến mục nhập cuối cùng. Các thanh ghi này có thể điều khiển các wordline trực tiếp mà không cần bộ giải mã riêng biệt, như trong hình 5.20-c.

Đường trễ được khai thác là một biến thể thanh ghi dịch chuyển cung cấp một số giai đoạn trễ thay đổi. Hình 5.21 cho thấy một đường trễ được khai thác 64 giai đoạn có thể được sử dụng trong hệ thống xử lý video. Các khối trễ được xây dựng từ các thanh ghi dịch chuyển 32-, 16-, 8-, 4-, 2- và 1 giai đoạn. Bộ ghép kênh kiểm soát việc truyền qua các khối trễ để cung cấp tổng độ trễ thích hợp.

Một biến thể khác là bộ nhớ nối tiếp/song song. Hình 5.22-a cho thấy một bộ nhớ 4 giai đoạn Serial In Parallel Out (SIPO) và hình 5.22-b cho thấy một bộ nhớ 4 giai đoạn Parallel In Serial Out (PISO). Chúng cũng thường hữu ích trong các hệ thống xử lý tín hiệu và truyền thông.

5.4.2 Hàng đợi FIFO và LIFO

Hàng đợi cho phép dữ liệu được đọc và ghi ở các tốc độ khác nhau. Hình 5.23 cho thấy một giao tiếp với một hàng đợi.

Mỗi hoạt động đọc và ghi được điều khiển bởi xung đồng hồ riêng của chúng có thể không đồng bộ. Hàng đợi xác nhận cờ FULL khi không còn chỗ trống để ghi dữ liệu và cờ EMPTY khi không có dữ liệu để đọc. Do sự chậm trễ khác của hệ thống, một số hàng đợi cũng cung cấp cờ ALMOST-FULL và ALMOST-EMPTY để thông báo trạng thái sắp xảy ra và tạm dừng các yêu cầu ghi hoặc đọc. Hàng đợi nội bộ duy trì các con trỏ đọc và ghi cho biết dữ liệu nào sẽ được truy cập tiếp theo. Như với thanh ghi dịch chuyển, các con trỏ có thể là bộ đếm.

Hàng đợi First In First Out (FIFO) thường được sử dụng để đệm dữ liệu giữa hai luồng không đồng bộ. Giống như một thanh ghi dịch chuyển, FIFO được tổ chức như một bộ đệm tròn. Khi đặt lại, các con trỏ đọc và ghi đều được khởi tạo cho phần tử đầu tiên và FIFO là EMPTY. Khi ghi, con trỏ ghi tiến tới phần tử tiếp theo. Nếu nó sắp bắt con trỏ đọc, FIFO là FULL. Khi đọc, con trỏ đọc tiến tới phần tử tiếp theo. Nếu nó bắt con trỏ ghi, FIFO lại EMPTY.

Hình 0.143:Hàng đợi

Hàng đợi Last In First Out (LIFO), còn được gọi là ngăn xếp, được sử dụng trong các ứng dụng như chương trình con hoặc ngăn xếp ngắt trong vi điều khiển. LIFO sử dụng một con trỏ duy nhất cho cả đọc và ghi. Khi đặt lại, con trỏ được khởi tạo thành phần đầu tiên và LIFO là EMPTY. Khi ghi, con trỏ được tăng dần. Nếu nó đạt đến phần tử cuối cùng, LIFO là FULL.

Khi đọc, con trỏ bị giảm. Nếu nó đạt đến phần tử đầu tiên, LIFO lại là EMPTY.

Bài tập

Câu 1: Trình bày cấu trúc SRAM?

Câu 2: Trình bày cấu trúc DRAM?

Câu 3: Trình bày ưu điểm, nhược điểm của bộ nhớ Flash?

Câu 4: Trong thiết kế bộ nhớ, sử dụng loại transistor nào sẽ tốn ít diện tích hơn?

Câu 5: Trong thiết kế ô nhớ, sử dụng loại cổng nào cho tốc độ đọc ghi cao hơn?

Một phần của tài liệu BÀI GIẢNG THIẾT KẾ HỆ THỐNG VLSI (Trang 152 - 156)

Tải bản đầy đủ (DOCX)

(179 trang)
w