Khi CPU có bộ đệm L1 ghi, điều thường xảy ra là (giả sử rằng dòng bộ đệm mà nó đang ghi đã có trong bộ đệm L1) bộ đệm (ngoài việc cập nhật dữ liệu) đánh dấu dòng bộ đệm đó là bẩn và sẽ viết dòng ra với dữ liệu được cập nhật sau đó.
Một tối ưu hóa có thể là để bộ đệm so sánh nội dung ghi và nội dung trước đó của bộ đệm và nếu chúng giống nhau, đừng đánh dấu dòng là bẩn. Bởi vì điều này có thể cho phép bộ đệm tránh bị ghi ngược lại, tôi có thể thấy nhà sản xuất CPU có thể thấy điều này như thế nào xứng đáng với các cổng cần thiết để thực hiện logic này.
Câu hỏi của tôi: có CPU thực hiện tối ưu hóa này?
Bối cảnh về lý do tại sao tôi hỏi: Tôi đang viết một số mã cần có quyền truy cập bộ nhớ liên tục; nghĩa là, một người có khả năng lắng nghe hành vi của bộ đệm sẽ không thể suy ra những gì tôi đang làm. Một số quyền truy cập của tôi được ghi và theo cách rõ ràng để triển khai mã này, rất nhiều người viết sẽ viết cùng một dữ liệu đã có. Tôi cần thực hiện ghi vì tùy thuộc vào dữ liệu, dữ liệu tôi đang viết có thể giống hoặc không giống nhau và điều quan trọng là phải thực hiện cùng một hành động bất kể. Nếu CPU tối ưu hóa bằng cách không thực sự viết 'không thay đổi-ghi', điều đó có nghĩa là hành vi của bộ đệm sẽ thay đổi tùy thuộc vào những gì tôi đang làm, điều này sẽ lật đổ mục tiêu của tôi.
Vì vậy, có một CPU cố gắng tối ưu hóa ghi theo cách này?