缓存预取
词条百科 0
目录
缓存预取
缓存预取是计算机处理器用来通过在实际需要之前将指令或数据从其较慢的内存中的原始存储中提取到较快的本地内存中来提高执行性能的技术(因此称为“预取”)。大多数现代计算机处理器都具有快速和本地缓存,其中预取的数据一直保存到需要时才保留。预取操作的源通常是主存储器。由于其设计,访问高速缓存存储器通常比访问主存储器快得多,因此预取数据然后从高速缓存中访问数据通常比直接从主存储器访问数据快许多数量级。可以使用非阻塞缓存控制指令来完成预取。

数据与指令缓存预取
缓存预取可以将数据或指令提取到缓存中。
- 数据预取在需要之前先获取数据。由于数据访问模式显示的规律性低于指令模式,因此准确的数据预取通常比指令预取更具挑战性。
- 指令预取在需要执行指令之前先提取指令。xxx个使用某种形式的指令预取的主流微处理器是Intel 8086(六个字节)和Motorola 68000(四个字节)。近年来,所有高性能处理器都使用预取技术。
硬件与软件缓存预取
缓存预取可以通过硬件或软件来完成。
- 基于硬件的预取通常是通过在处理器中具有专用的硬件机制来完成的,该机制xxx正在执行的程序所请求的指令或数据流,基于该流识别出程序可能需要的下几个元素,然后预取到处理器的缓存中。
- 基于软件的预取通常是通过让编译器分析代码并在编译本身期间在程序中插入其他“预取”指令来完成的。
硬件和软件预取的比较
- 尽管软件预取需要程序员或编译器干预,但硬件预取需要特殊的硬件机制。
- 软件预取仅在常规数组访问的循环中有效,因为程序员必须手工编写预取指令。而硬件预取器则根据程序在运行时的行为动态地工作。
- 与软件预取相比,硬件预取还具有较少的CPU开销。
内容来源于网络,本内容不代表16map.com立场,内容投诉举报请联系16map.com客服。如若转载,请注明出处:https://16map.com/wiki/nmdemi1lnidg