【问题标题】:understanding the basic concepts in memory organisation and applying those effectively in solving questions理解记忆组织的基本概念并有效地应用这些概念来解决问题
【发布时间】:2013-11-01 20:12:32
【问题描述】:

(好吧,实际上是继续这个问题,我想承认这是一个家庭作业问题,请考虑一下并帮助我进一步提高我的理解。)

我最近开始学习计算机组织和架构。我对缓存的组织方式、缓存和主内存之间的映射方式(直接、完全和集合关联映射)、什么是页表(什么是页、块等)有了相当的了解,我可以这么说我对分段、分页、虚拟地址和物理地址有基本的了解。(当然是基础)。

我遇到过这个问题:

A computer has 46-bit virtual address ,32- bit physical address, and a three level 
page table organisation. The page table base-register stores the base address of the 
first level table(t1), which occupies exactly one page.Each entry of t1 stores the base 
address of the page of second level table t2. Each entry of t2 stores the base address
of the page of the third level table t3. Each entry of t3 stores a page table entry 
(PTE). The PTE is 32 bit in size. The processor used in the computer has a 1MB 
16-way set associative virtually indexed physically tagged cache. The cache block size
is 64 Bytes.

首先,我很难想象这种类型的虚拟计算机。 任何人都可以通过提供有关如何在纸上实现这样的虚拟计算机的简单步骤来帮助我,或者只是如何理解问题中给出的内容。真正问的是什么?? 如何表示一台具有 46 位虚拟地址和三级页表的计算机。

what is virtually indexed and physically tagged cache.

看完上面给出的内容,我觉得我只知道这些术语,但我无法将它们联系在一起来解决问题。 如果有人试图解释我的思维过程应该如何理解并实际应用这些概念来解决此类问题,我会很高兴。

根据上段提出的一些问题:

 1) What is the size of a page in KB in this computer?


 2) what is the minimum number of page colours needed to guarantee that no two synonyms 
    map to different sets in the processor cache of this computer?

将不胜感激提供实际教授解决此类问题的好资源。 欢迎好的文章和观点。

提前谢谢你!!

【问题讨论】:

    标签: caching memory-management ram processor


    【解决方案1】:

    我们知道,除了最外层,所有层级的页表都必须是完全填满的,最外层的页表可能占据整页或更少。但是有问题的是,最外层页表占据了整个页面。

    现在让页面大小为 2 字节。

    假设 PTE = 32 位 = 4 字节 = 22 字节。

    任意页表中任意页的条目数=page size/PTE = 2p/22 = 2p-2

    因此逻辑地址分割是

    |---------------------|------------------|---------------------|-------------|
    |      p-2            |      p-2         |       p-2           |     p       |
    |---------------------|------------------|---------------------|-------------|
    

    给定的逻辑地址空间为 46 位。

    因此等式变为,

    (p-2)+(p-2)+(p-2)+p = 46

    ⇒p=13。

    前页大小为 213 字节 =8KB

    【讨论】:

      【解决方案2】:

      我可以帮你解决第一个问题。

      设页面大小为 2^x。 T1 的每个条目是 32 位,即 4 个字节。总大小为 2^X 字节(1 页)。 T1 包含 2^X / 4 = 2^(X-2) 个条目。 所以我们使用 46 位虚拟地址的前 X-2 位来索引 T1 中的一个条目。它给出了一个 T2 的地址。

      T2 还包含 2^(X-2) 个条目。(与 T1 相同)。所以我们使用接下来的 X-2 位来索引 T2 并获得 T3 的地址。

      给定 T3 的每个条目是 32 个字节(包括标志和所有)。 1 页的总大小 = 2^X 字节。条目数为 2^(X-2)。所以我们再次使用 X-2 位索引到 T3 并获取帧的起始地址。

      然后我们需要偏移量。由于页面大小为 2^X,因此偏移量为 X 位长。

      前 (x-2) 位给出 T2 的地址。

      下一个 (x-2) 位给出 T3 的地址。

      下一个 (x-2) 位给出来自 T3 的帧的地址。

      剩余的 x 位给出帧中的偏移量。

      总共是 46 位

      x-2 + x-2 + x-2 + X = 46

      4X - 6 = 46

      X =13

      页面大小 = 2^13 字节。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-19
        • 2020-06-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多