`
tubaluer
  • 浏览: 1444975 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

计算机组成-高速缓冲存储器Cache

 
阅读更多

以前计算机是两层存储结构:主存和辅存。

现在大多出计算机中的三层存储结构是:高速缓存Cache、主 存储器和辅助存储器。

那为什么要提出高速缓存呢?

主要的原因是为了提高存储器的平均访问速度。使存储器的速度与CPU的速度想匹配。

那高速缓存是如何提高存储器的速度?

首先介绍一下高速缓存,名叫Cache,Cache有两部分组成:控制部分和Cache部分。Cache部分用来存放主存的部分复制信息。(后面会介绍)控制部分的功能是:判断CPU要访问的信息是否在Cache中。

CPU与Cache之间的数据交换是以字交换的,而Cache与主存储器之间的数据交换是以块交换的。一个数据块是由若干个字组成的。

所以当CPU访问主存的一个信息时,于是把信息的内存地址通知给Cache和主存。此时Cache中的Cache部分(上面提到的)会根据内存地址判断此信息是否在Cache中,若在,则命中,即直接把信息从Cache传给CPU,若不在,则未命中。那如何办呢?首先主存会把此信息的传递给CPU,然后再把此信息的数据块存放到Cache,防止CPU下次读取。

其实CPU访问的过程中,若是Cache未命中,主存把信息数据块存放到Cache中,涉及到局部性原理。

那既然提到了局部性,那么我们介绍一下局部性原理,记得这在操作系统中虚拟存储器页面置换中提到过。

局部性可以分为时间局部性和空间局部性。

时间局部性是指:当一个数据访问完之后,在最近一段时间内再次访问。

这种情况我们可以想想循环,循环就是此种情况。

空间局部性是指:当一个数据访问完之后,在最近一段时间内会访问它周围的数据。

这种情况我们可以想想数组,是不是这种情况哈。

刚才提到命中,理论是有了,那如何计算命中率呢?

命中率=Cache完成存取的次数/Cache完成存取的次数+主存完成的次数

h=N/N+M

那系统的访问时间:

= 命中率*Cache的周期+(1-命中率)*主存的周期

主存与Cache的地址映射:若是Cache中未命中,为了防止下次访问,则需要把主存中的字存放到Cache中,那如何定位主存的地址呢?

Cache的地址映射可以分为三种:直接映射、全相联映射、组相联映射

介绍一下这三种的原理。

首先Cache中的数据块称为行,而主存中的数据块称为块。

直接映射:主存中的地址只能映射到Cache中的确定的某一行。

主存的地址分为:块号地址S位和块内容(字)w位。

在直接映射中,Cache把主存块地址S分为两部分:r和s-r,其中r位作为cache的行地址, s-r位作为标记(tag)与块数据(字)保存在此行。若CPU访问主存中的数据,则cache用r位找到此行,然后用地址中的s-r 的标记部分与cache中r行的标记部分做对比,若相等则命中,否则失中。

在全相联映射中,Cache把主存地址s直接作为标记部分。若访问,直接把地址中的标记部分和cache中的标记部分进行比较。

在组相联映射中,主存地址首先确定分到cache的那个组(采用直接映射),然后分到确定组的任意行(采用全相联映射)。

直接相联优点:地址变换简单。

缺点:若是主存地址映射到Cache同一行中,则会出现冲突,灵活性较差。

全相联优点:主存地址可以存放cache中的任意一行,灵活。

缺点:地址变换复杂。

组相联:集上述两种优点一身。

分享到:
评论

相关推荐

    高速缓冲存储器Cache的原理、设计及实现

    高速缓冲存储器Cache的原理、设计及实现 更多资源请访问http://www.59186618.com

    PC系统高速缓冲存储器Cache的原理

    PC系统高速缓冲存储器Cache的原理、设计及实现

    高速缓冲存储器的功能

     高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。 Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器...

    高速缓冲存储器的功能、结构与工作原理(附有图表)

    高速缓冲存储器是存在于主存与CPU之间的一级存储器, 由静态存储芯片(SRAM)组成,容量比较小但速度比主存高得多, 接近于CPU的速度。 Cache的功能是用来存放那些近期需要运行的指令与数据。目的是提高CPU对存储器的...

    高速缓冲存储器详解[资源分享]

    高速缓冲存储器详解,个人感觉写得比较详细,分享一下

    计算机专业术语大全 chm格式.rar

    计算机专业术语大全 chm,扩充你的电脑知识,成为计算机专业人士的必备专业用语,部分术语摘录: BIOS (Basic Input-Output System...Cache Memory-高速缓存存储器 CAS (Column Address Strobe)-列地址选通脉冲 ……

    缓存技术浅谈,Cache是高速缓冲存储器

    Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问 凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache

    ADI高速缓冲存储器在Blackfin?处理器中的应用.pdf

    ADI高速缓冲存储器在Blackfin?处理器中的应用pdf,ADI高速缓冲存储器在Blackfin?处理器中的应用

    操作系统考试题及计算机组成与结构考试题

    3.主板上高速缓冲存储器CACHE是设在( )。  ①主存与CPU之间 ②主存与外存之间  ③接口板上 ④CPU内部 4.进位计数制中的最大数是指( )。  ①一个数允许使用的最大数码 ②一个数位允许使用的数码个数  ③一...

    Cache低功耗结构设计技术现状.doc

    纵观计算机系统和微处理器的发展,随着半导体加工工艺水平的不断提高,CPU和存储器的性能都有了很大的提高。CPU频率的提高,必然要求系统中存储器...在它们之间加入高速缓冲存储器Cache,就是这个问题的解决方案之一。

    Linux1-代理服务器--清除代理服务器上cache记录.doc

    cache(高速缓冲存储器)是一种特殊的存储器子系统,其中保存了频繁 使用的数据及这些数据的存储地址,以利于快速访问。当处理器引用cache中的某些数据 时,其便检查是否保存有该数据。当保存有该数据时,就将数据...

    基于Verilog HDL实现的“Cache-主存”和“主存-辅存”层次组成的存储系统【100013267】

    目前,大多数计算机都采用的Cache(高速缓冲存储器)、主存储器和‘’磁盘存储器(辅存)构成的三级存储系统,这个存储系统可以看成是“Cache-主存”和“主存-辅存”层次组成的系统。 这一设计是为了解决存储容量和...

    五级流水线CPU优化:一级cache设计

    采用一级cache设计对五级流水线CPU进行优化,Cache的工作原理是基于程序访问的局部性。根据程序的局部性原理,可以在主存和CPU通用寄存器之间...这个介于主存和CPU之间的高速小容量存储器称作高速缓冲存储器(Cache)。

    VxWorks操作系统中Cache的配置和编程方法.pdf

    本人花了3元钱从网上下载的一篇论文,讲解Cache比较好。分享之 -------------------------------------------- 摘要:该文提出了一种合理地应用Cache的方法,以解决VxWorks环境下操作...高速缓冲存储器;直接存储器存取

    009- 第5章 存储体系-1

    5.1 存储体系概述 5.2 主存储器 5.3 主存储器与CPU的连接 5.4 高速存储器 5.5 高速缓冲存储器Cache 5.6 虚拟存储器 5.7 外存储器 5.8 存储保护 作业

    北交《计算机组成原理》在线作业一-0001.docx

    计算机的外围设备是指_____ A:输入/输出设备 B:外存设备 C:通信设备 D:除主机外的其他设备 答案:D 有关高速缓冲存储器Cache的说法正确的是( )。 A:只能在CPU以外 B:CPU内外都可以设置Cache C:只能在CPU以内 D:若...

    计算机系统结构课件-存储系统

    3.1 存储系统原理 3.2 虚拟存储器 3.3 高速缓冲存储器(Cache)

    8 位cpu的verilog

    中央处理器主要包括运算器(算术逻辑运算单元,ALU,Arithmetic Logic Unit)和高速缓冲存储器(Cache)及实现它们之间联系的数据(Data)、控制及状态的总线(Bus)。它与内部存储器(Memory)和输入/输出(I/O)...

    计算机存储体系PPT

    包括以下主要内容,需要的看看吧,讲的比较清楚 5.1 存储体系概述 5.2 主存储器 5.3 主存储器与CPU的连接 5.4 高速存储器 5.5 高速缓冲存储器Cache 5.6 虚拟存储器 5.7 外存储器 5.8 存储保护

    微机原理复习题

    3.简述高速缓冲存储器Cache为什么能够实现高速的数据存取? 4.有一个由20个字组成的数据区,其起始地址为3500H:0320H。试写出数据区首末单元的实际地址。 5.设有一个具有16位地址和8位数据的存储器,问:(1)该...

Global site tag (gtag.js) - Google Analytics