2010-09-04 79 views
0

我正准备在我的计算机科学课中进行测验,但我不知道如何找到正确的答案。这些问题进来4个品种,例如as--内存单元,计算大小,帮助!

假定以下系统:含有4千兆字节, 存储器块相当于4千字节,相当于4个字节 字长 辅助存储器。

  1. 一个块中有多少个单词, 表示为2^_? (写 指数)
  2. 需要的位数是多少 代表一个字的地址在 这个系统的辅助存储器?
  3. 需要多少位,代表该系统的一个 块中的一个字节的地址?
  4. 如果一个文件包含32兆字节, 文件中如何包含多个块,表示为2^_?

任何想法如何找到解决方案?老师并没有给我们任何解决方案的例子,所以我一直无法通过倒退或任何其他方式来弄清楚如何做到这一点,并且我还没有找到任何好的在线资源。

有什么想法?

+0

感谢您的编辑达斯汀! – 2010-09-04 06:32:15

回答

1

像这些问题基本上归结为与指数合作,并知道不同部分如何适应在一起。例如,从您的示例问题,我们会这样做:

块中有多少个单词,表示为2^_? (写指数)

从你的描述,我们知道,一个字是4个字节(2^2字节)和一个块是4千字节(2^12字节)。要找到一个块中的单词数量,我们只需将块的大小除以单词大小(2^12/2^2)即可知道每块有2^10个单词。

表示本系统辅助存储器中单词地址所需的位数是多少?

这种类型的问题实质上是前一个问题的扩展。首先你需要找到内存中包含的单词数量。由此你可以得到在内存中表示单词所需的位数。所以我们被告知内存包含4千兆字节(2^32字节),并且该字是4字节(2^2字节)。因此内存中的数字是2^32/2^2 = 2^30个字。由此我们可以推断,需要30位来表示存储器中的一个字,因为每个位可以代表两个位置,并且我们需要2^30个位置。

由于这被标记为家庭作业,我会留下余下的问题作为练习:)

+0

我似乎遇到了问题: 需要多少位来表示一个字节在该系统的一个字节的地址? 任何提示? – 2010-09-04 07:20:29

+0

您使用了与2相似的技术。基本上,2和3都提出了“我需要多少位来表示n个位置?”这个问题。所以你的工作是首先找出位置的数量,并从中找到位数是微不足道的。方便的是,您已经在第1部分中找到了块中的字节数,因此您只需确定需要的位数即可。 – 2010-09-04 08:29:50

1

倒退。这实际上是非常简单的数学。 (忽略“auxilliary”一词。)

  1. 千字节多少?多少钱是4千字节?尝试在2^x中输入一些数字,例如x == 4. 2^4个字是多少? 2^8?
  2. 如果你有4GB的内存,最高地址是多少?你能用8位表示多大的数字? 16位?提示:4GB是2的偶数次方。
  3. 这与2相同,但输入参数不同。
  4. 几千字节是一兆字节?以千字节表示32 MB。分部将是有用的。
+0

我会给这个镜头,看看我能想出什么,非常好的提示! – 2010-09-04 06:47:00