2010 全国硕士研究生入学统一考试

计算机学科专业基础2010 真题档案

47道题150满分
公告
目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。目前真题为测试版,可能还会有错误。如果遇到想指出的错误,欢迎发邮件到 beokayy@qq.com 供我们勘误;预计两周后修正大部分错误后,将开放 PDF 做题本的免费下载。
44 / 47
返回整卷
BOK 组成原理
组成原理

2010-44

综合题12

某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:

程序A:
int a[256][256]
......
int sum_array1()
{
    int i,j,sum=0;
    for(i=0;i<256;i++)
        for(j=0;j<256;j++)
            sum+=a[i][j];
    return sum;
}
程序B:
int a[256][256]
......
int sum_array2()
{
    int i,j,sum=0;
    for(j=0;j<256;j++)
        for(i=0;i<256;i++)
            sum+=a[i][j];
    return sum;
}

假定int类型数据用32位补码表示,程序编译时i、j、sum的分配在寄存器中,数组a按行优先方式存放,其首地址为320(十进制数)。请回答下列问题,要求说明理由或给出计算过程。
1)若不考虑用于Cache一致性维护和替换算法的控制位,则数据Cache的总容量为多少?

2)数组元素a[0][31]和a[1][1]各自所在的主存块对应的Cache行号分别是多少(Cache行号从0开始)?

44