假定一个计算机系统中有一个TLB和一个L1 data cache。该系统按字节编址,虚拟地址16位,物理地址12位;页大小为128B,TLB为四路组相联,共有16个页表项;L1 data cache采用直接映射方式,块大小为4B,共16行。在系统运行到某一时刻时,TLB、页表和L1 data cache中的部分内容(用十六进制表示)如下:
问答题物理地址中哪几位表示物理页号?哪几位表示页内偏移量?
问答题虚拟地址中哪几位表示虚拟页号?哪几位表示页内偏移量?虚拟页号中哪几位表示TLB标记?哪几位表示TLB索引?
问答题假定一个虚拟存储系统的虚拟地址为40位,物理地址为36位,页大小为16KB,按字节编址。若页表中有有效位、存储保护位、修改位、使用位,共占4位,磁盘地址不在页表中,则该存储系统中每个进程的页表大小为多少?如果按计算出来的实际大小构建页表,则会出现什么问题?
问答题假定某处理器带有一个数据区容量为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缺失而引起的额外开销最大?哪个处理器执行速度最快?