cpu中一级缓存是什么及数据缓存设计介绍
一级缓存都内置在cpu内部并与cpu同速运行,可以有效的提高cpu的运行效率。一级缓存越大,cpu的运行效率越高,但受到cpu内部结构的限制,一级缓存的容量都很小。
cpu缓存(cache memory)是位于cpu与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。缓存的出现主要是为了解决cpu运算速度与内存读写速度不匹配的矛盾,因为cpu运算速度要比内存读写速度快很多,这样会使cpu花费很长时间等待数据到来或把数据写入内存。在缓存中的数据是内存中的一小部分,但这一小部分是短时间内cpu即将访问的,当cpu调用大量数据时,就可避开内存直接从缓存中调用,从而加快读取速度。由此可见,在cpu中加入缓存是一种高效的解决方案,这样整个内存储器(缓存+内存)就变成了既有缓存的高速度,又有内存的大容量的存储系统了。缓存对cpu的性能影响很大,主要是因为cpu的数据交换顺序和cpu与缓存间的带宽引起的。
分类
一级缓存可以分为一级数据缓存(data cache,d-cache)和一级指令缓存(instruction cache,i-cache)。二者分别用来存放数据以及对执行这些数据的指令进行即时解码,而且两者可以同时被cpu访问,减少了争用cache所造成的冲突,提高了处理器效能。目前大多数cpu的一级数据缓存和一级指令缓存具有相同的容量,例如amd的athlon xp就具有64kb的一级数据缓存和64kb的一级指令缓存,其一级缓存就以64kb+64kb来表示,其余的cpu的一级缓存表示方法以此类推。
数据缓存设计
根据工作原理的不同,目前主流处理器所采用的一级数据缓存又可以分为实数据读写缓存和数据代码指令追踪缓存2种,它们分别被amd和intel所采用。