|
|
3.3.1 基本工作原理
当CPU要访问Cache时,送来主存地址放入主存地址寄存器。通过主存-Cache地址变换部件把主存地址中的块号B变换成Cache的块号b放入Cache地址寄存器中,并且把主存地址中的块内地址W直接作为Cache的块内地址w装入到Cache地址寄存器中。如果变换成功(称为Cache命中),就用所得到的Cache地址去访问Cache,从Cache中取出数据送往CPU。如果变换不成功,则产生Cache失效信息,并且用主存地址访问主存储器。从主存储器中读出一个字送往CPU。同时,把包括被访问字在内的一整块都从主存储器中读出来,装入到Cache中去。这时,如果Cache已经满,则要采用某种Cache替换算法把不常用一块先调入主存储器中原来存放它的地方。以便腾出空间来存放新调入的块。由于程序具有局部性特点,每次块失效时都把一块(由多个字组成)调入到Cache中,能够提高Cache的命中率。 |