目录
一、引言
大家好,欢迎回来。今天我们要讲解的是关于直接内存映射的有趣历年真题的最后一个部分。话不多说,我们直接开始学习。今天我们要解决这个问题。
二、问题描述
这个问题出自2007年的计算机科学考试。正如我之前所说,乍一看,这个问题确实很大,但不用担心,我很快就会向大家证明,这其实是一个非常容易解决的问题。让我们开始吧。
假设有一台机器,其主内存为可寻址字节内存,大小为2的16次方字节。正如我之前所说,问题越大,提供的信息就越多,对吧?它已经说明了这是一个可寻址字节的内存,内存大小为2的16次方。因此,我们可以说物理地址(PA)位数为16位,对吧?
接下来,假设该系统使用了一个直接映射的数据缓存,由32行、每行64字节组成。他们还提到了缓存行。所以,我们不需要计算整个缓存的大小,也不需要确定其中的行数。这些信息已经给出了。每行或每块的大小为64字节。
一个50×50的二维字节数组存储在主内存中,起始地址为1,1,0,0,h(十六进制地址)。假设数据缓存最初是空的。整个数组,即这个50×50的二维数组,会被访问两次。假设在两次访问之间,数据缓存的内容不会改变。因此,我们将访问这个数组两次,且在这两次访问之间,数组不会发生任何变化。