为了使高速的CPU与慢速的主存储器之间能协同工作,而又不要在CPU时序中插入等待周期,而在CPU与主存储器之间引入高速缓存(又称快存)。
在快存中存放使用最频繁的指令和数据,这样CPU的工作速度得到了保证,从而提高了整个系统的工作速度。
为什么不提高整个内存的速度?因为成本太高。目前内存(DRAM)的存取时间是60~70纳秒,快存(SRAM)的存取时间是15纳秒,而前者的价格是后者的10倍。
为了提高快存的工作效率,在CPU中的缓存又分成存取指令和存取数据两部分,并在CPU芯片外设立二级缓存,奔腾机的一级缓存容量为16KB(存放指令与数据各8KB),二级缓存容量为256KB或512KB。
一、二级缓存合在一起,可使CPU访问缓存的命中率达到98%,如果数据既不在一级缓存中,又不在二级缓存中,则Cache控制器将从主存中存取数据,并在向CPU传送数据的同时,修改缓存中的内容。显然,应保持Cache与主存中数据的一致性,为此,当CPU执行写操作时,不但要写入Cache中,还要写入主存中。