当我们想要写一个数据项时,包含数据的块首先被带入缓存,数据项被写入缓存。这可能会导致缓存污染。为避免这种情况,英特尔没有引入时间指令。
如果我要使用mmap()将数据写入文件并且永远不会再次读取,是否可以避免为此创建TLB条目?有没有类似于非时间指令的指令?
答案 0 :(得分:1)
CPU需要TLB条目才能从虚拟地址映射到物理地址,因此无法使用mmap()
或任何类似的API来避免它们。
即使可以避免在TLB中存储映射,对映射内存的每次访问都需要从页表中重新加载相应的条目,因此性能会更差。 非临时访问仅对商店有意义,但页表条目 read 。