gpt4 book ai didi

caching - 处理器如何获取缓存行?

转载 作者:行者123 更新时间:2023-12-03 17:23:21 27 4
gpt4 key购买 nike

当处理器预取数据的缓存行时,它是从该地址预取最多字节数还是从该地址预取最多缓存行的一半并返回缓存行的一半线?

例如,假设缓存线为 4 字节,并从地址 0x06 预取。它会在 0x06 0x07 0x08 0x09 处获取字节,还是会从地址 0x04 0x05 0x06 0x07 预取。

我需要此信息用于我正在编写并需要优化的程序。

最佳答案

根据 this (这自然是英特尔特定的)

“缓存行大小为 32 字节,即 256 位。
一条高速缓存线由处理器 64 位数据总线上的四次读取突发填充。”

这意味着从主内存中并行获取 8 个字节,在这 8 个字节中没有第一个或最后一个,它们同时到达,因为这些字节是通过 64 位宽的总线获取的。

由于填充缓存行需要 4 次读取,因此英特尔似乎没有指定这 4 次读取的顺序——这意味着您还有一些选择,例如

  • 假设没有特定的顺序
  • 假设地址是从最低到最高获取的,反之亦然。

  • 第一个假设当然是最安全的 - 因为我可以找到没有记录的订单(因此它可能取决于模型或其他因素)

    关于caching - 处理器如何获取缓存行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18739055/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com