Cache介绍
CPU的主频可以达到200MHZ,而一般性能的主存储器操用DRAM。其存储周期仅为100ns-200ns,主存储的性能将会影响整个系统的性能,Cache和写缓冲区位于主存储区和CPU之间,主要用来提高存储系统性能;
而cache经常与写缓冲器(write buffer)一起使用,使用writer buffer的目的是,将处理器和cache从较慢的对主存的写操作中脱离出来。
在处理器和MMU之间的cache称为逻辑cache,逻辑cache在虚拟地址空间存储数据,处理器可以直接通过cache访问数据,而无需通过MMU。逻辑cache又称为虚拟cache。
在MMU与物理存储器之间的cache称为物理cache,当处理器访问存储器时,MMU必须先把虚拟地址转换成物理地址,cache存储器才可以向处理器内核提供数据。
通过引入cache和写缓冲区,存储系统的性能得带很大提高,但是也带来了一些问题:
1. 由于数据存在于系统中不同的物理位置,可能造成数据的不一致性;
2. 由于写缓冲区的优化作用,可能有写操作的执行顺序不是用户期望的顺序,从而造成操作错误;
cache工作原理
在cache存储系统中,把cache和主存储器划分成相同大小的快,因此主存地址可以由块号B和块内地址W两部分组成,同样cache的地址也可以由块号b