1、存储器系统的层次架构
/ C5 H' C2 r' B" d( t7 c 计算机系统的存储器被组织城一个金字塔的层次结构。
: }8 D3 Z( z; L! n' j 自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM)、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)和远程二级存储器(分布式文件系统、WEB 服务器),6个层次的结构。9 m) h K1 g% h; b! J7 z
上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。
5 s+ m* s% G1 y l 2、高速缓存(cache)
6 a& C- R/ ~! Z! }. t 工作原理(参照教程126页,博客画不了图):主要利用了程序的局部性特点。
, C j# s( S+ i1 K& m! O 地址映象是指把主存地址空间映象到cache 的地址空间。
6 ~0 c% ]" b8 G$ ?, ` 地址变换是指当程序或数据已经装入到cache 后,在实际运行过程中,把主存地址如何编程cache 空间的地址。3 q' P. i/ u. g/ _+ V( C
常用的地址映象和地址变换的方式有:(教程127页)
5 T3 U3 l$ j+ i C8 X; {7 Z6 s; D, g 直接映象和变换:速度快,造价低,但有局限性,不能充分利用cache 的好处。$ r9 @# Z5 l4 N7 z: _4 a2 n1 v
组相联地址映象和变换:速度稍慢但是命中率高。
1 ^" h: K5 s% R* `" s! ? 全相联地址映象和变换:可以任意映射。) F5 B% J8 c( g }3 U2 S( I
常用的cache 替换算法:轮转法和随机替换算法。/ y; _/ k# g+ X) B
高速缓存的分类:
, u3 x# {( [* p8 F l H 统一cache 和独立的数据/指令cache2 B7 w* M0 @6 t( k* A# }
写通cache 和写回cache7 `9 U. m0 B! F# A5 h$ I3 J8 T* j. u5 l
读操作分配cache 和写操作分配cache |