汇编中加载数据用的是LDW,5个cycle之后就会到达寄存器,并没有体现出缓存命中率的问题。
LDW是固定5个cycle,请问缓存命中率低,带来的延迟体现在什么地方? 难道是LDW之前,有什么延迟吗?
Tony Tang:
hui zhang13
汇编中加载数据用的是LDW,5个cycle之后就会到达寄存器,并没有体现出缓存命中率的问题。
LDW是固定5个cycle,请问缓存命中率低,带来的延迟体现在什么地方? 难道是LDW之前,有什么延迟吗?
会体现在实际上5 cycle后数据到不了寄存器,多出来的时间就是访问memory的stall上。
hui zhang13:
回复 Tony Tang:
请问 如果5 cycle后数据到不了寄存器,是不是LDW之后的代码也停止执行,直到数据到了寄存器?
hui zhang13:
回复 Tony Tang:
非常感谢!
请问如果每次都从内存中加载的话,一个LDW大概会被stall多少个cycle?
Tony Tang:
回复 hui zhang13:
这就取决于什么位置的内存了。
比如L1 Cache/RAM, L2 CACHE/RAM, ShareRAM, DDR都不一样。有兴趣可以实际测一下,比5个cycle多出来的就是memory access stall的时间。