一.cache基本原理
1、cache的功能
解决CPU和主存之间的速度不匹配问题。
*一般采用高速的SRAM组成
*CPU和主存之间的速度差别很大采用两级或多级Cache系统
*早期的一级Cache在CPU内,二级在主板上
*现在的CPU内带L1 Cache和L2 Cache
*全由硬件调度,对用户透明
2、cache基本原理
*地址映射; *替换策略; *写一致性; *性能评价。
3、Cache的命中率
从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。由于程序访问的局部性,实现这个目标是可能的。
cache命中率公式
二.cache的写操作策略
由于cache的内容只是主存部分内容的拷贝,它应当与主存内容保持一致。而CPU对cache的写入更改了cache的内容。如何与主存内容保持一致,可选用如下三种写操作策略。
写回法(写返回):换出时,对行的修改位进行判断,决定是写回还是舍掉。
全写法(写穿透):写命中时,Cache与内存一起写
写一次法:与写回法一致,但是第一次Cache命中时采用全写法。
主要包括四个部分:
指/译码单元:顺序从L2cache中取程序指令,将它们译成一系列的微指令,并存入L1指令cache中。
乱序执行逻辑:依据数据相关性和资源可用性,调度微指令的执行,因而微指令可按不同于所取机器指令流的顺序被调度执行。
热行单元:它执行微指令,从L1数据cache中取所需数据,并在寄
存器组中暂存运算结果。
存储器子系统:这部分包括L2cache、L3cache和系统总线。当L1、L2cache未命中时,使用系统总线访问主存。系统总线还用于访问I/O资源。
不同于所有先前Pentium模式和大多数处理器所采用的结构,Pentium 4的指令cache位于指令译码逻辑和执行部件之间。其设计理念是:Pentium 4将机器指令译成由微指令组成的简单RISC类指令,而使用简单定长的微指令可允许采用超标量流水线和调度技术,从而增强机器的性能。