【计组】Cache 全相连 组相联 直联

文章目录

    • 基础知识
      • 全相联映射
      • 组相联映射
      • 直接映射
      • 主存与Cache的地址映射
      • 例题

基础知识

【计组】Cache 全相连 组相联 直联_第1张图片

按照字节编址:1B对应一个地址,16B对应4个地址,(16B/1B=2^4)2的20次方是1MB对应20个地址
【计组】Cache 全相连 组相联 直联_第2张图片CPU访问一个地址 把地址所属的本块一起放到Cache中起到一个预测的作用,会加快计算机的运行速度。
主存 大但是慢 Cache 小但是快…(小声bb:真费劲…)
cache有的主存里一定有 主存的副本存在了cache里面。
通俗来说:
手机里有很多程序,经常用的是B站和微信就把小破站和微信放在cache里面,这样信息交换的速度快,体验好。

空间局部性原理,某次访问的数据,在未来某一刻可能再次访问它及他周边的数据。

  • 块:主存里的一大块地址打包放在cache里
    映射:主存的大块放在cache的哪去
    【计组】Cache 全相连 组相联 直联_第3张图片

全相联映射

全部随便放,爱放哪放哪。
【计组】Cache 全相连 组相联 直联_第4张图片


组相联映射

以组为单位放 ,组间随便,第一块放在第一个,第二块放在第二个…几个为一组看题里规定或者看自个想什么样,以下是2个一组的
【计组】Cache 全相连 组相联 直联_第5张图片


直接映射

按顺序依次排放,放满了cache 接着从头开始放 ,循环往复。
【计组】Cache 全相连 组相联 直联_第6张图片


我们来看几种不同的说法:
在这里插入图片描述
【计组】Cache 全相连 组相联 直联_第7张图片

这个表做题很重要…

同样都是主存物理地址,代表着一串二进制数。只不过就是从不同的位置分了个段。
俗话说:你是个人,从脖子开始分开,就是脑袋和下身;从腰子开始分开就是上身和下身。
从哪里分就有不同的意义。


主存与Cache的地址映射

信息从主存→Cache中,如何定位?
Cache的容量小于主存,需要采用某种算法确定主存和Cache中块的对应关系;
地址映射
主存中数据块调入Cache中时,主存数据块与Cache行之间的映射关系;
地址变换
CPU访存时,将主存地址按映射函数关系变换成Cache地址的过程;

例:某机主存容量为1MB,划分为2048块,每块512B;cache容量为8KB,划分为16块;每块512B。
主存地址共20位,块内地址9位,主存块号11位。
【计组】Cache 全相连 组相联 直联_第8张图片由于cache的块数远小于主存的块数,因此一个cache不能唯一地、永久地只对应一个存储块,在cache中,每一块外加有一个标记,指明它是主存的哪一块的副本(拷贝)。

例题

【例】设主存容量1MB, cache容量16KB,块的大小是512B,采用全相联映射方式。

(1)cache的地址格式:
cache的容量是16KB,所以按字编码的话,cache的总线长度是14位。
块的大小是512B,也就是说块内地址是9位。
因此块标记 14-9=5位 ,也就是说cache一共有32行。
【计组】Cache 全相连 组相联 直联_第9张图片
(2)主存的地址格式
主存容量1MB,一共是20位。
块的大小是9位,所以块标记公用11位。 一共2048块。
【计组】Cache 全相连 组相联 直联_第10张图片
(3)块表的容量
根据行的数量和块标记的位数,可以得到块表的容量是 32*11位
这个块表不包含地址部分,只有标记部分。块表中块的数量由cache行的数量决定。

(4)画出直接地址映射的示意图
(某位学长说2048/32=64可以整除,so 内存最后一块B2047->L31)
【计组】Cache 全相连 组相联 直联_第11张图片

【例】有一个cache的容量为2K字,每块为16字问:
(1)该cache可容纳多少个块?
(2)如果主存的容量是256K字,则有多少个块?
(3)主存的地址有多少位?cache的地址有多少位?
(4)在直接映射方式下,主存中的第i块映射到cache中哪一个块?
(5)进行地址映射时,存储器地址分成哪几段?各段分别多少位?

(1)2k/16=211/24=27
(2)256k/16=218/24=214
【计组】Cache 全相连 组相联 直联_第12张图片


拓:

在这里插入图片描述【计组】Cache 全相连 组相联 直联_第13张图片
【计组】Cache 全相连 组相联 直联_第14张图片【计组】Cache 全相连 组相联 直联_第15张图片

此处鸣谢这位讲的嘎嘎好!!!!

你可能感兴趣的:(计组,开发语言,硬件工程,计组)