假定某处理器带有一个数据区容量为256B的cache,其块大小为32B。以下C语言程序段运行在该处理器上,sizeof(int)= 4,编译器将变量i,j,c,s都分配在通用寄存器中,因此,只要考虑数组元素的访存情况。若cache采用直接映射方式,则当s=64和s=63时,缺失率分别为多少?若cache采用2-路组相联映射方式,则当s=64和s=63时,缺失率又分别为多少?
问答题假定有三个处理器,分别带有以下不同的cache:cache1:采用直接映射方式,块大小为1个字,指令和数据的缺失率分别为4%和6%;cache2:采用直接映射方式,块大小为4个字,指令和数据的缺失率分别为2%和4%;cache3:采用2-路组相联映射方式,块大小为4个字,指令和数据的缺失率分别为2%和3%。在这些处理器上运行相同的程序,该程序的CPI为2.0,其中有一半是访存指令。若缺失损失为(块大小+6)个时钟周期,处理器1和处理器2的时钟周期都为420ps,带有cache3的处理器3的时钟周期为450ps。请问:哪个处理器因cache缺失而引起的额外开销最大?哪个处理器执行速度最快?
问答题提高关联度通常会降低缺失率,但并不总是这样。请给出一个地址访问序列,使得采用LRU替换算法的2-路组
问答题已知cache1采用直接映射方式,共16行,块大小为1个字,缺失损失为8个时钟周期;cache2也采用直接映射方式,共4行,块大小为4个字,缺失损失为11个时钟周期。假定开始时cache为空,采用字编址方式。要求找出一个访问地址序列,使得cache2具有更低的缺失率,但总的缺失损失反而比cache1大。
问答题假定某处理器可通过软件对高速缓存设置不同的写策略,那么,处理器主要运行包含大量存储器写操作的数据访问密集型应用应设置成什么写策略?为什么?
问答题若cache初始为空,CPU依次从0号地址单元顺序访问到4344号单元,重复按此序列共访问16次。若cache命中时间为1个时钟周期,缺失损失为10个时钟周期,则CPU访存的平均时间为多少时钟周期?