使用cache原因
调解CPU与主存之间速度差异,提高效率
CPU访问SDRAM之间的数据访问流程
CPU内部有L1Cache,CPU首先到L1Cahce中取数据,若Cache miss,则触发burst,通过总线到L2Cache上取数据,同样先到L2Cache中取数据,若Cache miss,则过EH2H桥,到SDRAM中取数据
还有其他的结构,每个core内一般都有各自的L1和L2 cache,其中L1 cache分为指令cache和数据cache,L2 cache可以缓存指令和数据。所有的core公用一个L3 cache,L3 cache也可以缓存指令和数据。L3 cache通过总线访问主存。
cache line
Cache line:cache访问主存的最小单位,数据在主存和缓存之间以固定大小的”块(block)”为单位传递,也就是每次从main memory读取的最小数据的单元。每个cache line除了包含数据,还包含TAG(地址信息)和状态信息。
cache associativity
Cache的替换策略决定了主存中的数据块会拷贝到cache中的哪个位置,如果对于一块数据(大小为一个cache line ),只有一个ca