Câu trả lời:
Điều đó phụ thuộc cả vào bộ xử lý (không chỉ loạt bộ xử lý, nó có thể thay đổi từ model này sang model khác) và các hệ điều hành, nhưng có những nguyên tắc chung. Việc một bộ xử lý là đa lõi không có tác động trực tiếp đến khía cạnh này; cùng một quá trình có thể được thực thi trên nhiều lõi cùng một lúc (nếu nó đa luồng) và bộ nhớ có thể được chia sẻ giữa các tiến trình, do đó không thể tránh khỏi việc đồng bộ hóa bộ đệm cho dù điều gì xảy ra trên chuyển đổi ngữ cảnh.
Khi bộ xử lý tìm kiếm một vị trí bộ nhớ trong bộ đệm, nếu có MMU , nó có thể sử dụng địa chỉ vật lý hoặc địa chỉ ảo của vị trí đó (đôi khi thậm chí là kết hợp cả hai, nhưng điều đó không thực sự phù hợp ở đây).
Với địa chỉ vật lý, không có vấn đề gì khi truy cập vào địa chỉ, nội dung có thể được chia sẻ. Vì vậy, không cần phải làm mất hiệu lực nội dung bộ đệm trong khi chuyển đổi ngữ cảnh. Nếu hai quá trình ánh xạ cùng một trang vật lý với các thuộc tính khác nhau, thì điều này được xử lý bởi MMU (hoạt động như một MPU (đơn vị bảo vệ bộ nhớ)). Nhược điểm của bộ đệm địa chỉ vật lý là MMU phải nằm giữa bộ xử lý và bộ đệm, do đó việc tra cứu bộ đệm bị chậm. Bộ nhớ cache L1 hầu như không bao giờ là địa chỉ vật lý; bộ nhớ cache cấp cao hơn có thể được.
Cùng một địa chỉ ảo có thể biểu thị các vị trí bộ nhớ khác nhau trong các quy trình khác nhau. Do đó, với bộ đệm gần như được xử lý, bộ xử lý và hệ điều hành phải hợp tác để đảm bảo rằng một quy trình sẽ tìm đúng bộ nhớ. Có một số kỹ thuật phổ biến. Mã chuyển đổi ngữ cảnh được cung cấp bởi hệ điều hành có thể làm mất hiệu lực toàn bộ bộ đệm; Điều này đúng nhưng rất tốn kém. Một số kiến trúc CPU có chỗ trong dòng bộ đệm của chúng cho ASID (định danh không gian địa chỉ) phiên bản phần cứng của ID tiến trình, cũng được MMU sử dụng. Điều này có hiệu quả tách các mục bộ đệm khỏi các quy trình khác nhau và có nghĩa là hai quy trình ánh xạ cùng một trang sẽ có các chế độ xem không nhất quán của cùng một trang vật lý (thường có một giá trị ASID đặc biệt chỉ ra một trang được chia sẻ, nhưng những điều này cần phải được xóa nếu chúng không được ánh xạ tới cùng một địa chỉ trong tất cả các quy trình nơi chúng được ánh xạ). Nếu hệ điều hành quan tâm rằng các quy trình khác nhau sử dụng các không gian địa chỉ không chồng lấp (làm thất bại một số mục đích sử dụng bộ nhớ ảo, nhưng đôi khi có thể được thực hiện), thì các dòng bộ đệm vẫn còn hiệu lực.
Hầu hết các bộ xử lý có MMU cũng có TLB . TLB là bộ đệm của ánh xạ từ địa chỉ ảo đến địa chỉ vật lý. TLB được tư vấn trước khi tra cứu trong bộ đệm địa chỉ vật lý, để xác định địa chỉ vật lý một cách nhanh chóng khi có thể; bộ xử lý có thể bắt đầu tra cứu bộ đệm trước khi tra cứu TLB hoàn tất, vì thông thường các dòng bộ đệm ứng cử viên có thể được xác định từ các bit giữa của địa chỉ, giữa các bit xác định phần bù trong dòng bộ đệm và các bit xác định trang. Bộ nhớ cache địa chỉ hầu như bỏ qua TLB nếu có một lần nhấn bộ đệm, mặc dù bộ xử lý có thể bắt đầu tra cứu TLB trong khi nó đang truy vấn bộ đệm, trong trường hợp bị lỗi.
Bản thân TLB phải được quản lý trong quá trình chuyển đổi ngữ cảnh. Nếu các mục TLB chứa ASID, chúng có thể giữ nguyên vị trí; hệ điều hành chỉ cần xóa các mục TLB nếu ASID của chúng đã thay đổi ý nghĩa (ví dụ: vì một quy trình đã thoát). Nếu các mục TLB là toàn cầu, chúng phải bị vô hiệu khi chuyển sang một bối cảnh khác.
Bộ nhớ cache thường không biết gì về chuyển đổi ngữ cảnh. Chỉ chuỗi địa chỉ bộ nhớ được truy cập xác định dòng bộ đệm nào được thay thế.
Chính sách thay thế thường là một heuristic phụ thuộc vào nhà sản xuất và vi kiến trúc cụ thể. Vấn đề là heuristic không thể dự đoán tương lai, địa chỉ nào và do đó dòng bộ đệm sẽ được truy cập tiếp theo.
Các heuristic có thể là một đơn giản như LRU (ít được sử dụng gần đây nhất). Nhưng với các CPU hiện đại, các heuristic phức tạp hơn.
Hãy xem Hướng dẫn sử dụng dành cho nhà phát triển phần mềm Intel® 64 và IA-32 Architectures Tập 3 Chương 11 giải thích về bộ nhớ cache và các cơ chế kiểm soát bộ đệm. AMD có điều này trong Chương 7 của Hướng dẫn lập trình kiến trúc AMD64 Tập 2: Lập trình hệ thống . Đối với CPU dựa trên ARM, dường như các tệp PDF chỉ dành cho khách hàng đã đăng ký.