Hướng dẫn SSE không tạm thời (MOVNTI, MOVNTQ, v.v.), không tuân thủ các quy tắc kết hợp bộ nhớ cache thông thường. Do đó, các cửa hàng không theo thời gian phải được theo sau bởi một hướng dẫn của SFENCE để các bộ xử lý khác nhìn thấy kết quả của họ một cách kịp thời.
Khi dữ liệu được sản xuất và không (ngay lập tức) tiêu thụ trở lại, thực tế hoạt động lưu trữ bộ nhớ đọc dòng bộ nhớ cache đầy đủ trước và sau đó sửa đổi dữ liệu được lưu vào bộ nhớ cache là bất lợi cho hiệu suất. Thao tác này sẽ đẩy dữ liệu ra khỏi bộ đệm mà có thể cần lại một lần nữa để ưu tiên dữ liệu sẽ không được sử dụng sớm. Điều này đặc biệt đúng đối với các cấu trúc dữ liệu lớn, như ma trận, được lấp đầy và sau đó được sử dụng sau này. Trước phần tử cuối cùng của ma trận được lấp đầy, kích thước tuyệt đối gợi lên các yếu tố đầu tiên, làm cho bộ nhớ đệm của các ghi không hiệu quả.
Đối với trường hợp này và các tình huống tương tự, bộ vi xử lý hỗ trợ các hoạt động ghi không theo thời gian. Không theo thời gian trong ngữ cảnh này có nghĩa là dữ liệu sẽ không được sử dụng lại sớm, vì vậy không có lý do gì để lưu trữ nó. Các hoạt động ghi không theo thời gian này không đọc một dòng bộ nhớ cache và sau đó sửa đổi nó; thay vào đó, nội dung mới được ghi trực tiếp vào bộ nhớ.
Nguồn: http://lwn.net/Articles/255364/
Lưu ý rằng SSE4.1 'MOVNTDQA xmmi, m128' là tải NT, trong khi tất cả các lệnh NT khác là các cửa hàng, ngoại trừ' prefetchnta'. Câu trả lời được chấp nhận ở đây dường như chỉ nói về các cửa hàng. [Đây là những gì tôi đã có thể bật lên về tải NT] (http://stackoverflow.com/questions/32103968/non-temporal-loads-and-the-hardware-prefetcher-do-they-work-together). TL: DR: hy vọng CPU sẽ làm một điều gì đó hữu ích với gợi ý NT để giảm thiểu ô nhiễm bộ nhớ đệm, nhưng chúng không ghi đè ngữ nghĩa của bộ nhớ WB "bình thường", vì vậy chúng phải sử dụng bộ nhớ đệm. –
Cập nhật: NT * tải * có thể không làm bất kỳ điều gì hữu ích ngoại trừ vùng bộ nhớ UCSW trên hầu hết các CPU (ví dụ: họ Intel SnB). NT/streaming * store * chắc chắn làm việc trên bộ nhớ bình thường, mặc dù. –
@Peter: Bạn có nghĩa là bộ nhớ USWC phải không?Tôi chưa bao giờ nghe nói về bộ nhớ UCSW hoặc USWC trước đây. Googling các từ viết tắt sai là không hữu ích :-) –