美文网首页
《计算机组成与体系结构》——4.1存储

《计算机组成与体系结构》——4.1存储

作者: shijiatongxue | 来源:发表于2019-03-13 14:36 被阅读0次

    本节有:

    • buffer
    • cache
    • 命中
    • 缺失

    1 计算机存储系统概述

    主存储器种的一部分可用做缓冲区(buffer),暂时保存写入磁盘种的数据,这种技术有时称为磁盘高速缓存,它用两种方法改进性能:

    • 磁盘写入是以簇的形式进行的。一次传输的数据量较大,而不是很多次小的数据传送,这改善了磁盘的性能,减少了对处理器的占用。
    • 某些制定输出的数据在转存到磁盘之前可被程序访问。这样,可以快速地从软件高速缓存种检索,而不是从相对较慢的磁盘中检索。

    1.1 cache存储器原理

    cache介于CPU和主存之间,其中存放了主存储器的部分副本。当CPU试图访问主存中的某个字时,首先检查这个字是否在cache中,如果是,则把这个字传送给CPU;如果不是,则将主存中包含这个字的固定大小的块读入cache中,然后再传送该字给CPU。因为访问的局部性,当把某一块数据存入cache,以满足某次存储器的访问时,CPU将来还很有可能访问同一存储位置或该数据中的其他字。

    单一cache.png

    1.2 cache/主存结构

    主存储器由多达2^n个可寻址的字组成,每一个字有唯一的n位地址。为了实现映射,我们将主存储器看成是由许多定长的块组成,每块有K个字。即有M=\frac{2^n}{K}个块。而cache包含m个块,称作行,每行包括K个字和几位标记。行的数量远远小于主存储器块的数目(m<<M)。任何时候,只有主存储器块的子集驻留在cache中。如果要读取主存储器块中的某个字,则包含该字的块将被传送到cache中的一个行中。由于块数多余行数,所以单个行不可能永久地被某块专用。因此,每行都有一个标记(tag),用来识别当前存储的是哪一块。这个标记通常是主存储器地址的一部分。

    cache主存结构.png

    1.3 数据的命中与缺失

    图a说明了一个读操作。处理器产生一个要读取字的地址RA,如果这个字在cache中,则把它直接传送给处理器。否则,将包含这个字的块装入cache中,然后再传送给CPU。可以看出最后两步操作时并行进行的,这在图b也有反映。在这种组织结构中,cache经数据线、控制线和地址线连接到处理器,数据线和地址线也分别于数据缓冲器和地址缓冲器相连,这些缓冲器都连接到总线上,从而与主存连接。当cache命中时,数据和地址缓冲器不启用,通信只在处理器和cache之间进行,此时系统总线上没有信号传输。当cache未命中时,所需求的地址被加载到系统总线上,数据通过数据缓冲器提交给cache和CPU。也有组织结构在未命中时,先把数据加载到cache,然后再由cache传送给CPU。

    cache读操作.png

    相关文章

      网友评论

          本文标题:《计算机组成与体系结构》——4.1存储

          本文链接:https://www.haomeiwen.com/subject/rvmfyqtx.html