第四章 MIPS的高速缓存管理机制
许多MIPS CPU都采用程序(虚拟)地址为一级高速缓存提供快速的索引,但是却采用物理地址标记每一个高速缓存行,而不是采用程序地址加地址地址空间标识符。对应高速缓存行的物理地址是唯一的而且效率更高,因为这样的设计允许CPU在查找高速缓存的同时进行程序地址到物理地址的转换。
原因:
1)用虚拟地址上来就能用,因为不需要翻译,直接可以进行比对
2)虚拟地址不具有唯一性,不同的程序,不同的虚拟地址可能会共享了一个物理地址,因而不准确,并且不同的地址空间切换,也需要每次都初始化整个高速缓存,不实际
MIPS的高速缓存行一般一行4或者8个字节。
cpu对外面的地址空间,利用高速缓存进行操作,要考虑io地址空间的操作,因为io空间可能不会允许写缓存。如果使用写分配,即先把数据读到缓存,再写,也不合适,最好就是完全不经过高速缓存