专题-主存储器与Cache的地址映射方式

2019/05/02 10:23
首先,我们注意到地址映射有三种:分别是直接地址映射、全相联映射、组相联映射。
首先我们搞清楚主存地址还有Cache地址的关系,还有组内地址的关系,常见我们的块内地址,是用b(b表示有几位的数2^b)表示的。
对于直接映射:主存地址分为,标记 | 字块地址 | 块内地址
对于全相联映射:主存地址分为,标记 | 块内地址
对于组相联地址:主存地址分为,标记 | 组地址 | 块内地址

我们在题中或者遇到问题是:
首先看CPU的地址总线有多少位,然后字长(1个字节是8位,字长看所给要求有多少个字节,一般是16位,也就是两个字节)有多少。
然后我们看Cache,一般给出2K * 16位的Cache,16就是字长,然后关注块(这里关系到块内地址的位数如果是8B,可以化成4 * 16bit,就可以明白块内地址占2位)有多大,如果是组相联映射,还会有个几路组相联,如果是2路的话,也就说明占1位Cache地址,如果是4路,那么就是占2位Cache地址。这样的话,Cache剩下的位数,表示分成了这么多组,在主存地址中也要中这么多位的地址来找到相应的地址(也就是组相联映射中的组地址的位数)。

最后题目中往往会说要你求如果主存地址为462EH,则该地址可以映射到哪一组,就是把组地址取出来,然后换算成十进制看是映射到哪一组。如果所给主存地址没有达到CPU地址总线的长度,在前面补最高位同符号的即可。

posted @ 2019-05-02 11:45  睿晞  阅读(2202)  评论(0编辑  收藏  举报