Ánh xạ trực tiếp bộ nhớ Cache

Một phần của tài liệu Bài giảng: Cấu trúc máy tính và ghép nối pot (Trang 125 - 126)

c, Liên kết thông qua stack

7.6.2. Ánh xạ trực tiếp bộ nhớ Cache

Hình 7.14. Ánh xạ trực tiếp bộ nhớ Cache

Hình 7.14 thể hiện nguyên lý của ánh xạ trực tiếp bộ nhớ Cache. Cũng như

trong ví dụ trên, bộ nhớ được chia thành 227 block có dung lượng 32 word, và Cache có 214 slot. Số lượng block bộ nhớ cần được ánh xạ lên slot lớn hơn rất nhiều so với số lượng slot. Tỷ lệ là 213 block/1slot. Để làm được điều này, trường tag với dung lượng 13 bit được thêm vào mỗi slot để lưu trữ một giá trị để nhận dạng một dải từ 0 đến 213-1

Trong quá trình ánh xạ trực tiếp, mỗi một block bộ nhớ chính được ánh xạ lên một và chỉ một slot, nhưng một slot có thể lưu trữ nhiều hơn một block tại các thời điểm khác nhau. Quá trình thực hiện ánh xạ được thực hiện theo phương thức được trình bày ở dưới đây.

Địa chỉ 32 bit mà hệ thống đưa ra được chia thành trường tag 13 bit, tiếp đó là trường slot 14 bit và cuối cùng là trường word 5 bit. Khi cần truy xuất một địa chỉ, trường slot sẽ kiểm tra xem trong 214 slot mà nó quản lý có nội dung cần truy xuất hay không. Nếu bit valid bằng 1, trường tag sẽ được so sánh với các trường tag của các slot. Nếu trường tag là giống nhau, trường word sẽ chỉ ra vị

trí trên slot cần truy xuất. Nếu bit valid bằng 1 nhưng trường tag không giống nhau, slot đó sẽ được ghi ngược trở về bộ nhớ chính nếu bit dirty là 1,và block trên bộ nhớ sẽ được đọc vào slot. Khi một chương trình bắt đầu được thực thi, bit valid sẽ bằng 0, và block dữ liệu sẽ được viết vào slot một cách bình thường. Bit valid tiếp đó sẽ được set lên 1, và chương trình sẽ truy xuất vào Cache để

thực thi.

Ví dụ như khi ta truy xuất vào địa chỉ nhớ (A035F014)16, trường địa chỉ sẽ là

Nếu ô nhớ cần tìm có trên Cache, nó sẽ được tìm thấy ở địa chỉ (14)16 của slot (2F80)16 và tag có giá trị là (1406)16.

Ưu nhược điểm của phương pháp ánh xạ trực tiếp

Phương pháp ánh xạ trực tiếp thực hiện tương đối đơn giản. Bộ nhớ tag trong trường hợp này có kích thước 13 x 214 bit, chỉ bằng một nửa so với phương pháp ánh xạ thông thường. Hơn nữa, phương pháp ánh xạ trực tiếp không cần thực hiện công việc tìm kiếm địa chỉ tag, bởi vì địa chỉ từ CPU đưa sang được sử

dụng “trực tiếp”.

Việc thực hiện đơn giản này bị đánh đổi bởi cả chi phí và hiệu suất. Ta sẽ thấy

được vấn đề đó khi tìm hiểu điều gì có thể xảy ra khi thực hiện truy cập bộ nhớ

dung lượng 219, bằng với dung lượng của Cache. Nếu ma trận nhớ thực hiện giải mã 2 bước, tức là phải giải mã theo hàng và theo cột, sự phức tạp bắt đầu tăng lên. Mỗi ô nhớ được truy cập được trả về là một miss, hệ thống phải truy cập vào bộ nhớ chính để đọc nội dung cả môt block, mà thực tế ta chỉ cần nội dung của đúng 1 ô nhớ. Tệ hơn nữa, chỉ có một phần rất nhỏ bộ nhớ Cache được sử

dụng.

Một phần của tài liệu Bài giảng: Cấu trúc máy tính và ghép nối pot (Trang 125 - 126)