当我们想要写一个数据项时,包含数据的块首先被带到缓存中,然后数据项被写入到缓存中。这可能会导致缓存污染。为了避免这种情况,英特尔没有引入临时指令。
如果我打算使用mmap()将数据写入文件,并且再也不会读取数据,那么是否有可能避免为此创建TLB条目?有没有类似于非时态指令的指令?
发布于 2016-08-01 17:44:59
TLB条目是CPU从虚拟地址映射到物理地址所需要的,因此无法使用mmap()或任何类似的API来避免它们。
即使可以避免将映射存储在TLB中,每次对映射内存的访问都需要从页表重新加载相应的条目,因此性能会差得多。非临时访问只对存储有意义,但页表条目是读取的。
https://stackoverflow.com/questions/38689075
复制相似问题