I.HOẠT ĐỘNG CỦA BỘ NHỚ
Mặc dù mỗi loại bộ nhớ đều có hoạt động nội tại khác nhau, nhưng tất cả bộ nhớ đều có chung một số nguyên tắc hoạt động cơ bản. Mỗi bộ nhớ cần thực hiện các chức năng sau:
- Chọn đúng địa chỉ vùng nhớ cần đọc hay viết.
- Chọn đúng hoạt động đọc hay viết.
- Cung cấp dữ liệu nhập vào để lưu trữ trong bộ nhớ suốt hoạt động ghi.
- Cho phép (hoặc không cho phép) bộ nhớ đáp ứng (hay không đáp ứng) các đầu vào địa chỉ hay lệnh đọc ghi.
- Lưu trữ dữ liệu xuất ra từ bộ nhớ suốt hoạt động đọc.
Hình 4.1 mô tả một bộ nhớ cơ bản 32×4 lưu trữ 32 từ 4 bit.
Vì mỗi từ ở đây là 4 bit nên có 4 đường dữ liệu vào từ I0 đến I3 và 4 đường dữ liệu ra từ O0 đến O3. Các ngõ vào địa chỉ A0 đến A4 và các ngõ điều khiển đọc/ghi.
1.1.Ngõ vào các địa chỉ
Vì bộ nhớ chứa 32 từ nên có 32 vị trí lưu trữ khác nhau và có 32 địa chỉ khác nhau biến thiên 00000 đến 11111 ( từ 010 đến 3110). Hình 4.2 cho thấy cách bố trí các vị trí ô nhớ và địa chỉ.
Vì ở đây có 5 đầu vào địa chỉ A0 đến A4 nên để truy cập một trong những vị trí trong bộ nhớ cho các hoạt động đọc hay ghi thì mã địa chỉ 5 bit của vị trí cụ thể được cấp cho đầu vào địa chỉ. Như vậy, với bộ nhớ có dung lượng 2N từ đòi hỏi N đầu vào địa chỉ.
1.2.Ngõ vào
Đầu vào chi phối hoạt động nào sẽ xảy ra trong bộ nhớ: đọc (R) hay ghi (W).
- Hoạt động đọc xảy ra khi = 1 ( R ở mức cao)
- Hoạt động viết xảy ra khi = 0 ( W ở mức thấp)
Hình 4.3 minh họa đơn giản hoạt động đọc và ghi
1.3.Cho phép bộ nhớ (Memory Enable)
Cho phép hay không cho phép các ngõ vào, ra của bộ nhớ hoạt động.
Ngoài tên ME còn có một số tên khác như cho phép chip (CE) hay chọn lựa chip (CS).
Đầu vào này tích cực ở mức cao, nghĩa là cho phép bộ nhớ hoạt động bình thường khi nó đang ở mức cao. Nếu đầu vào này ở mức thấp thì nó không cho phép bộ nhớ hoạt động.
Ví dụ 1:Trình bày trạng thái tại mỗi đầu vào, ra khi dữ liệu 1110 được ghi vào địa chỉ 01101.
Giải :
Đầu vào địa chỉ: 01101
Đầu vào dữ liệu: 1110
: Thấp
Đầu vào cho phép bộ nhớ: cao
Đầu ra dữ liệu: xxxx (không sử dụng)
Ví dụ 2: Một bộ nhớ có dung lượng 4Kx8. Hỏi
- Có bao nhiêu đầu vào dữ liệu và đầu ra dữ liệu?
- Có bao nhiêu đường địa chỉ?
- Dung lượng của nó tính theo byte?
Giải :
- Bởi vì dung lượng 4Kx8 nên có 8 đầu vào, 8 đầu ra, kích cỡ từ là 8 bit.
- Bộ nhớ lưu trữ 4K= 4×1024 = 4096 từ. Vì vậy có 4096 địa chỉ nhớ. Vì 4096 = 212nên cần có mã địa chỉ 12 bit để định rõ một trong 4096 địa chỉ, cần 12 đường địa chỉ.
- Một byte = 8 bit nên bộ nhớ này có dung lượng 4096 bit.
II.CÁCH NỐI KẾT GIỮA CPU VÀ BỘ NHỚ
Hầu hết các máy tính hiện đại ngày nay bộ nhớ chính luôn giao tiếp với CPU. Bộ nhớ chính của máy tính cấu thành từ các IC ROM và RAM. Các IC này giao tiếp với CPU thông qua ba nhóm đường truyền (bus) địa chỉ, đường (bus) dữ liệu và đượng ( bus) điều khiển.
Hình 4.4 minh họa cách kết nối các nhóm truyền (bus) nối từ IC của bộ nhớ chính với CPU.
2.1.Hoạt động ghi
- CPU gởi vào đường địa chỉ (address bus) địa chỉ vùng nhớ muốn làm việc.
- CPU đặt dữ liệu cần lưu lên các đường truyền của bus dữ liệu.
- CPU kích hoạt các đường tín hiệu điều khiển thích hợp cho hoạt động ghi vào bộ nhớ.
- Các IC nhớ giải mã địa chỉ nhị phân nhằm xác định đâu là vị trí được chọn cho hoạt động lưu trữ.
- Dữ liệu trên bus dữ liệu được truyền đến vị trí nhớ đã chọn.
2.2.Hoạt động đọc
Bất cứ khi nào CPU muốn đọc dữ liệu tại một vị trí nhớ cụ thể đều phải diễn ra các buớc sau:
- CPU cấp địa chỉ nhị phân của vị trí nhớ chứa dữ liệu cần truy xuất. Nó đặt địa chỉ này lên đường truyền của bus địa chỉ.
- CPU kích hoạt các đường truyền tín hiệu điều khiển thích hợp cho hoạt động đọc bộ nhớ.
- Vi mạch nhớ giải mã địa chỉ nhị phân nhằm xác định đâu là vị trí nhớ được chọn cho hoạt động đọc.
- Vi mạch nhớ đặt đặt dữ liệu từ vị trí nhớ được chọn vào các đường truyền dữ liệu, từ đó dữ liệu được chuyển đến CPU.
Qua hai hoạt động ghi và đọc ta thấy được chức năng của các đường bus như sau:
Bus địa chỉ: Đây là bus một chiều mang kết quả xuất địa chỉ nhị phân từ CPU đến IC nhớ để chọn một vị trí nhớ.
Bus dữ liệu: Đây là bus hai chiều, chuyển tải dữ liệu qua lại giữa CPU và bộ nhớ.
Bus điều khiển: Bus này truyền tín hiệu điều khiển từ CPU đến các IC nhớ.