分析比较以下三个函数的空间局部性,并指出哪个最好,哪个最差?
问答题假定数组元素在主存按从左到右的下标顺序存放。试改变下列函数中循环的顺序,使得其数组元素的访问与排列顺序一致,并说明为什么修改后的程序比原来的程序执行时间短。
问答题假定某计算机的cache共16行,开始为空,块大小为1个字,采用直接映射方式。CPU执行某程序时,依次访问以下地址序列:2,3,11,16,21,13,64,48,19,11,3,22,4,27,6和11。要求: (1)说明每次访问是命中还是缺失,试计算访问上述地址序列的命中率。 (2)若cache数据区容量不变,而块大小改为4个字,则上述地址序列的命中情况又如何?
问答题假定某机主存空间大小1GB,按字节编址。cache的数据区(即不包括标记、有效位等存储区)有64KB,块大小为128字节,采用直接映射和全写(write-through)方式。请问: (1)主存地址如何划分?要求说明每个字段的含义、位数和在主存地址中的位置。 (2)cache的总容量为多少位?
问答题现代计算机中,SRAM一般用于实现快速小容量的cache,而DRAM用于实现慢速大容量的主存。以前超级计算机通常不提供cache,而是用SRAM来实现主存(如,Cray巨型机),请问:如果不考虑成本,你还这样设计高性能计算机吗?为什么?
问答题假定一个存储器系统支持4体交叉存取,某程序执行过程中访问地址序列为3,9,17,2,51,37,13,4,8,41,67,10,则哪些地址访问会发生体冲突?