Chụp TLB trong SMP là gì?Bắn TLB là gì?
Tôi không thể tìm thấy nhiều thông tin về khái niệm này. Bất kỳ ví dụ tốt sẽ được đánh giá rất nhiều.
Chụp TLB trong SMP là gì?Bắn TLB là gì?
Tôi không thể tìm thấy nhiều thông tin về khái niệm này. Bất kỳ ví dụ tốt sẽ được đánh giá rất nhiều.
Một ví dụ nhanh:
Bạn có một số bộ nhớ chia sẻ bởi tất cả các bộ vi xử lý trong hệ thống của bạn.
Một trong các bộ xử lý của bạn hạn chế quyền truy cập vào trang của bộ nhớ dùng chung đó.
Bây giờ, tất cả các bộ xử lý phải tuôn ra TLB của họ, để những người được phép truy cập trang đó không thể làm như vậy nữa.
Những hành động của một bộ xử lý gây ra TLBs để được rửa trên xử lý khác là những gì được gọi là một shootdown TLB.
TLB (Translation Lookaside Buffer) là bộ nhớ đệm của các bản dịch từ địa chỉ bộ nhớ ảo đến địa chỉ bộ nhớ vật lý. Khi một bộ xử lý thay đổi ánh xạ ảo-vật lý của một địa chỉ, nó cần phải thông báo cho các bộ vi xử lý khác làm mất hiệu lực ánh xạ đó trong bộ đệm của chúng.
Quá trình đó được gọi là "TLB shootdown".
+1 để mở rộng TLB – pmg
Tôi nghĩ câu hỏi này cần câu trả lời chi tiết hơn.
trang bảng: một cấu trúc dữ liệu lưu trữ ánh xạ giữa bộ nhớ ảo (phần mềm) và vật lý bộ nhớ (phần cứng)
Tuy nhiên, bảng trang có thể khá lớn và vượt qua bảng trang (để tìm ra địa chỉ vật lý tương ứng của địa chỉ ảo) có thể là một quá trình tốn thời gian. Để làm cho quá trình này nhanh hơn, một bộ nhớ cache được gọi là TLB (Translation Lookaside Buffer) được sử dụng, lưu trữ các địa chỉ bộ nhớ ảo được truy cập gần đây.
Như có thể thấy rõ ràng, các mục TLB cần được đồng bộ với các mục bảng trang tương ứng mọi lúc. Hiện tại, TLB là bộ nhớ cache mỗi lõi. mỗi lõi có TLB riêng của nó.
Bất cứ khi nào mục nhập bảng trang được sửa đổi bởi bất kỳ lõi nào, mục nhập TLB cụ thể đó không hợp lệ trong tất cả các lõi. Quá trình này được gọi là TLB shootdown.
Việc xả TLB có thể được kích hoạt bởi nhiều thao tác bộ nhớ ảo thay đổi các mục bảng trang như di chuyển trang, giải phóng các trang, v.v.
Đây có phải là câu hỏi lập trình không? – Gabe
@Gabe, tôi đoán đó là câu hỏi lập trình nếu @mousey đang cố triển khai hạt nhân. Một số làm rõ về phần mình sẽ được nhiều đánh giá cao. –
vâng tôi đang cố gắng để thực hiện một hạt nhân. – mousey