假设某合笔记本电脑的机器字长为 64位,运行的操作系统和应用程序均为 64位;内存容量为8GB,内存按字编址和导址; 假设 CPU中只有一级混合Cache (即指令和数据不加区分,存放在同一Cache 中), Cache 容量为64KB, 每行8个字, Cache 采用物理地址映射, 地址映射方式为 8路组相联。假设: 某条指令的一个操作数的虚拟地址为 0x7FE00 (64位地址); 包含该操作数的逻辑页根据虚存机制对应的物理页页号为 2047,页大小均为 4kB。(6.1)求出该操作数所在的逻辑页页号。(6.2)该操作数在程序运行过程中会被映射到 Cache 中的第几组? (本题中,以十六进制表示的数据,未写足位数的高位部分均为0;所有编号均从0开始,如第0个字、第0组、第0块、第0页等)
时间: 2024-04-08 19:35:53 浏览: 120
学习电脑信息字长为8位的整数的补码是11111001则它的原码
(6.1) 虚拟地址 0x7FE00 的高 52 位表示页号,由于页大小为 4kB,所以低 12 位表示页内偏移。因此,该操作数所在的逻辑页页号为 0x7FE00 >> 12 = 0x1FF (十进制为 511)。
(6.2) Cache 容量为 64KB,每行 8 个字,所以共有 64KB / (8 * 8B) = 1024 组。由于地址映射方式为 8 路组相联,所以逻辑页页号的低 10 位表示组索引。因此,该操作数会被映射到 Cache 中的第 511 % 1024 = 511 组。
阅读全文