设某计算机字长为32位,主存容量为64MB,Cache的容量为8KB,每个Cache数据块的大小为 32B。设计一个四路组相联映像的Cache组织(即Cache的每个组包含4个Cache行)。
(1)画出主存地址中各字段的位数,并说明每一个Cache行的标记有多少位。(10分)
(2)设Cache初态为空,CPU依次从主存0,4,8,……,996号单元中读出250个字(主存一次读出一个字),并重复此次序10次,问命中率是多少?(15分)
(3)若Cache速度是主存速度的5倍,试问有Cache和无 Cache相比,速度提高多少倍?(15分)
(1)(1)
组相连Cache映射的地址可分为:
主存块标记地址 块号 块内地址
假设按字编址!
主存64MB 共有 2^24个字,有24位地址码
Cache容量为8KB,一个数据块为32B所以Cache被分为 8KB ÷ 32B = 2^8块 2^8 ÷ 4 = 2^6 = 64组,共需要6位组号
32B大小的数据块有 8个字,因此需要3位的块内地址
因此主存地址按字段可分为:
主存字块标记 : 24-6-3 = 14
组地址:6位
块内标记 3位