Ủng hộ tôi
Quá trình chuyển đổi địa chỉ nhớ tốn rất nhiều thời gian do phải thông qua nhiều lớp quản lý bộ nhớ, vì thế các Hệ thống Máy tính hiện đại tích hợp sẵn một Đơn vị Quản lý Bộ nhớ (Memory Management Unit - MMU) nhằm tăng tốc cho tiến trình quản lý bộ nhớ.
MMU là một thành phần phần cứng có chức năng chính là tăng tốc độ thực thi của tiến trình quản lý quản bộ nhớ của kernel, bao gồm chức năng chuyển đổi địa chỉ và bảo vệ bộ nhớ. Ngoài ra, MMU còn có một số tính năng đặc biệt khác tùy thuộc vào mỗi mục đích khác nhau. Hình trình bày vị trí của MMU trong Hệ thống Máy tính hiện đại.
Việc MMU thường xuyên phải truy cập Bảng trang trong Bộ nhớ chính dẫn đến giảm hiệu suất của hệ thống do cần rất nhiều chu kỳ cho mỗi lần truy cập bộ nhớ. Để giảm số lần truy cập Bảng trang trong Bộ nhớ chính, một cache bảng trang được tích hợp sẵn vào trong MMU để lưu các PTE thường xuyên được truy xuất nhằm giảm số lần tìm nạp PTE. Cache bảng trang này được đặt tên là TLB (Translation Lockaside Buffer). Hình trình bày cấu tạo của 1 TLB, một TLB thường chứa từ 8 đến 64 PTE.
Hình: Cấu tạo của TLB
Mỗi khi CPU yêu cầu truy xuất Bộ nhớ chính, địa chỉ ảo được gửi tới MMU, MMU sẽ kiểm tra xem có PTE nào trong TLB có VPN trùng với VPN của địa chỉ ảo này hay không? Nếu tìm thấy VPN (TLB hit) thì MMU sẽ ngay lập tức chuyển đổi từ địa chỉ ảo sang địa chỉ vật lý và gửi địa chỉ vật lý này tới Bộ nhớ chính để truy xuất dữ liệu. Nếu không tìm thấy VPN (TLB miss) thì sẽ có 2 giải pháp sau:
Thực hiện một Bước đi bảng trang (Pape Table Walk - PTW): MMU sẽ tự động truy cập Bảng trang trong Bộ nhớ chính để nạp PTE mà có VPN trùng với VPN của địa chỉ ảo lên lại TLB. Giải pháp PTW này cần phải có sự hỗ trợ từ phần cứng.
Tạo ra một ngắt (interrupt): MMU gửi ngắt tới OS và yêu cầu OS nạp PTE mà có VPN trùng với VPN của địa chỉ ảo lên lại TLB.
Sau khi TLB đã được cập nhật, MMU chuyển đổi từ địa chỉ ảo sang địa chỉ vật lý và gửi địa chỉ vật lý này tới Bộ nhớ chính để truy xuất dữ liệu. Lưu ý là việc cập nhật lại LTB và việc chuyển đổi từ địa chỉ ảo sang địa chỉ vật lý có thể diễn ra cùng lúc.
IOMMU cũng giống như MMU, nhưng IOMMU được sử dụng cho các thiết bị I/O, MMU được sử dụng cho Vi xử lý. Đơn vị quản lý bộ nhớ nhập/xuất (IOMMU) là một thành phần trong hệ thống máy tính có chức năng chuyển đổi địa chỉ được sử dụng bởi thiết bị sang địa chỉ bộ nhớ vật lý của hệ thống.