精华内容
下载资源
问答
  • 2021-04-29 15:33:54

    一.背景

    现在我们使用的计算机系统结构是冯诺依曼体系结构,它的一个特点就是中央处理器CPU(控制器+算数运算器)与存储器相分离。所以我们在调用指令,提取数据,写入数据的时候就会花费一部分时间。

    而且随着时代的发展,CPU发展的速度极快,而存储器更新的时间赶不上CPU更新的时间,那么一台计算机的性能效率就会受限于存储器的发展。

    当然我们想要容量大、价格便宜、存储速度快的存储器,但是显然这三个条件并不能同时满足。所以就有了我们接下来的存储系统层次结构。

    二.层次结构

    (1)结构

    首先上图:
    在这里插入图片描述
    层次结构分为三层

    (1)cache : 高速缓冲存储器,容量小,速度快,与CPU中的寄存器通过字进行信息交换。

    (2)主存 :内存,与cache通过块进行信息交换。

    (3)辅助存储器 :主要是磁盘,容积大、价格低、速度慢,与主存通过页面进行信息交换。

    最后我们的CPU就会有cache的速度,辅存的价格和容量!

    cache

    cache分为L1和L2两部分:
    L1集成在CPU中,分为数据cache(D-cache)和指令cache(I-cache)
    L2现在一般也集成在CPU内核,但是不分数据cache和指令cache

    (2)原理

    局部性原理

    (1)时间局部性

    现在访问的信息再不久的将来还要被再次访问。

    类似于程序结构中的:循环结构

    (2)空间局部性

    现在访问了信息,下次更可能访问它周围的信息。

    类似于程序结构中的:顺序结构

    (3)性能

    命中:在Mi层找到一个信息项时,称为命中,反之为失效。

    命中率:在Mi层中的命中率hi是指信息项在Mi中被找到的概率。

    失效率:在Mi中的失效率定义为1-hi。

    访问内存比访问外存次数要多!
    在cache中未找到称为块失效,在主存中未找到称为缺页错误。

    更多相关内容
  • 计算机体系结构——存储层次及缓存

    计算机体系结构

    存储层次及缓存

    (初学,如有不当,欢迎指出)
    学习资料来源:苏黎世联邦数字设计与计算机体系课程


    前言

    记录计算机体系结构——存储层次及缓存学习。


    一、存储层次(Memory Hierarchy)

    (一) 为什么需要存储层次

    1. 理想的存储器:访问延迟低、大容量、低开销及高带宽(同时访问多个内容);
    2. 事实上:容量与速度矛盾、速度与价格矛盾、带宽与价格矛盾;
    3. 解决:将不同级别的存储器组成一个存储层次,从而实现访问处理器需要的大部分数据时,保持较高的速度。
      来源:苏黎世数字设计与计算机体系课程

    (二)存储局部性(Memory Locality)

    1. 概念
      (1)Temporal Locality:时间局部性,短时间内多次访问相同的内存位置;
      例如:循环程序(loop)
      (2)Spatial Locality:空间局部性,相邻位置的存储地址更容易再次访问;
      例如:指令存储的访问(PC)、数组/向量

    二、缓存(Cache)

    (一)基础概念

    1. 缓存概念:cache,将最近会访问的数据放在自动管理的快速存储器中。
    2. 缓存概念图
      来源:苏黎世数字设计与计算机体系课程
    3. 块(Block):缓存中的存储单元
      hit:缓存块中已经存储了所需要访问提取的数据;
      miss:缓存块中没有所需的数据,从主存中提取数据到缓存块。(若原本缓存块中有其他数据,需要先移出其他数据)
    4. 缓存流水线设计
      (1)缓存需要集成到流水线中(理想情况下,在一个时钟周期完成访问)
      (2)高频率流水线要求缓存不可能做的很大
      (3)提出缓存层次(Cache hierarchy)
      来源:苏黎世数字设计与计算机体系课程

    (二)基础操作

    1. 缓存的逻辑组织

    (1)怎样把主存中的地址空间的块映射到缓存的块中?
    (2)缓存中的哪个地址用于放置某个主存块?
    主存内容到缓存中数据块的映射有三张方式:全相联(fully-associative)、直接映射(direct-mapped)及分置相联(set-associative)
    来源:苏黎世数字设计与计算机体系课程

    - 以读操作为例,cache工作流程:
    (1)根据CPU要要访问的地址进行逻辑划分为:标签(tag)、索引(index)、块内地址;
    (2)按照索引值从cache中找到某一数据块,然后比较标签值;
    (3)比较值相同(hit),访问该cache数据块相应的数据内容,读出。
    (4)如(2)中比较标签值不同(miss),执行cache替换策略(Replacement);
    (5)从主存中向cache写入数据块后,CPU再从cache读出数据。

    2. 缓存抽象和度量

    来源:苏黎世数字设计与计算机体系课程

    3. 一个基础硬件缓存设计

    (1)概念

    • 主存从逻辑上被分为固定的块(chunks);
    • 缓存只能容纳有限的缓存块(blocks)。
    • 每一个block地址映射缓存中一个潜在地址,由地址中的index位决定。
      来源:苏黎世数字设计与计算机体系课程

    - 关于缓存块大小(前提:缓存总大小固定)
    (1)缓存块越大,一定程度上会减少miss概率
    因为空间局部性,block越大,一个块中包含邻近空间数据越多。
    (2)缓存被切分成的单个块大小变大,导致块的数据变少
    也会导致更多的竞争(主存中更多的数据块争夺一个缓存块),从而导致miss概率增加。
    (3)(更大的miss处罚)Larger miss penalty
    larger blocks ----> pollution.

    4. 缓存访问流程

    (1)通过index bits找到标签(tag)和数据存储的地址;
    (2)检查Tag store中valid位是否有效;
    (3)比较地址中的tag与Tag store中tag是否一致。
    来源:苏黎世数字设计与计算机体系课程


    总结

    未完待续

    展开全文
  • 存储层次的四个问题

    千次阅读 2018-05-05 16:28:54
    层次,我们首要考虑一下四个问题:(1)当把一个块(页)调入到高一层(靠近CPU)存储器时,可以放到哪些位置上?(映像规则)(2)块的标志,如果一个块在较高层中,如何找到它?(查找算法)(3)块的替换,如果块发生缺失,哪个块被...

    论述"Cache-主存"层次,我们首要考虑一下四个问题:

    (1)当把一个块(页)调入到高一层(靠近CPU)存储器时,可以放到哪些位置上?(映像规则)

    (2)块的标志,如果一个块在较高层中,如何找到它?(查找算法)

    (3)块的替换,如果块发生缺失,哪个块被替换?(替换算法)

    (4)写时策略.写操作时会发生什么?(写策略)

    一个块可以被放置到cache的什么地方?
    直接映射:(块地址)MOD(cache中的块数),每个块只能出现在唯一位置上,如下图所示
                   

                         

    全相连映射:一个块可以放置在cache中的任意位置上,如下图所示:
                   
    组相连:(块地址)MOD(cache的组数), 一个块首先被映射到一个组中,然后它可以被放置在组中的任何一个块中,如下图所示
                     
    直接映射,全相连与组相连的关系:
    直接映射是一个简单的1路组相联
    一个有m块的全相联cache可以称为m路组相联
    大多数处理器的cache采用直接映射,2路组相联或是4路组相联.

    如果一个块在cache中,如何找到它?

    这是通过查找目录表来实现的。Cache中设有一个目录表,每一个Cache块在该表中都有唯一的一项,用于指出当前该块中存放的信息是哪个主存块的。

    块地址:块结构中有一个地址标志给出块地址,对每一个块标志进行检查,看其是否与来自处理器的块地址相匹配.考虑到速率,采用并行检查.

    有效位:确定块中是否包含有效信息.
    cache地址:块地址与块偏移
    块地址:标志字段和索引字段

    块内偏移是从块中选取数据,索引字段用来选择组,再通过比较标志字段来判断是否命中,标志字段是检查所有的块,全相联没有索引字段.

    并行查找的实现方法:
    • 相联存储器   
    • 单体多字存储器的比较器      

    如果cache缺失,哪个块将被替换?

    直接映射:直接替换不命中的块
    在组相联与全相联中需要在多块中进行选择,主要的替换算法主要有如下四种:
         (1) 随机替换,产生伪随机数块号
         (2)LRU,记录块的访问次数,替换长时间没有被访问的
         (3)FIFO,最早进入cache的块被替换
         (4)OPT,优化算法


    写操作时会发生什么?
    读操作在 cache的访问占大多数.所有的指令都是通过读操作来获得的,而且大部分的指令是不需要进行存储器写操作的。
    块可以在标志位读和比较的同时被读出,读块操作与获得块地址的同时就开始了.如果读命中,块中所需要的信息立刻被传送到处理器,如果发生读取失,只需要将读到的信息丢失即可.

    而对于写操作来说,这样做并不适合,只有在标志位有效而且地址命中时,块才能修改。检查标志位不能与写操作同时进行
    写操作比读操作花费时间更长.
    处理器必须给出写数据的大小,通常在1~8个字节之间,块中只有这个部分的数据能被更改.但是读数据可以读取比所需字节数更多的信息.

    cache写策略:
    写直达:信息被同时写到cache块和更低一层存储器中
    写回法:信息只被写到cache块,只有cache中的该块被替换出去时,信息才会被写回主存中.

    重写脏位:
    一个块是脏的(在cache中被修改过)
    干净的(在cache中没有被修改),如果是干净的,则在下层存储器中与cache包含的信息相同,因此不必被写回.

    优点:
    写回法:写操作与cache存储器的速度是一致的,而且对于同一块的多次操作仅需要对下一层存储器进行一次操作。
    写回法需要较小的存储器带宽,对于其他层次的存储器与存储总线的使用较少,节省了功耗,适用于嵌入式应用程序.

    写直达法:cache总是干净的,当发生读缺失的时候,无需对下一层存储器进行写操作(相对于写回法)
    下一级存储有最新的当前数据副本,简化了数据一致性,数据一致性对于处理器和IO均很重要.

    我们需要利用写回法来减少访问存储器的通信量,有希望通过写直达法来保证存储器层次结构中cache和低层存储器的数据一致性.

    在写直达法中:
    处理器的操作必须等待写操作完成,此时处理器称为写停顿,减少写停顿的策略是写缓存技术,允许处理器把数据写入到缓冲区之后立即继续工作.

    写缺失策略:
    写分配:写缺失发生时,内存的块被读到cache中,然后执行上个写命中时的操作
    不按写分配:写缺失发生时,仅修改低层存储器的该块,而不将该块取到cache中
    展开全文
  • 计算机体系结构——存储层次结构

    千次阅读 2020-12-16 11:34:01
    存储层次结构(塔式结构) 数据只有在第i+1层存在,才会在第i层 存储层次结构存在的合理性 主要基于程序访问的局部性特点。在较短时间内,程序所用地址往往集中在存储器的很小范围内 时间局部性:刚被访问过的存储...

    1. 存储器层次结构

    • 工作过程:
    1. CPU运行时,寄存器
    2. cache
    3. 主存
    4. 外存
    • 存储层次结构(塔式结构)

    1. 数据只有在第i+1层存在,才会在第i层被访问
    • 存储层次结构存在的合理性

    主要基于程序访问的局部性特点。在较短时间内,程序所用地址往往集中在存储器的很小范围内

    可以调访存速率,但是如果程序的据

    平均访问时间(命中率)

    • 程序局部性原理
    1. 时间局部性
      刚被访问过的存储单元很可能不久又被访问,通常体现在循环执行的指令。
      做法:让最近被访问过的信息保留在靠近CPU的存储器中
    2. 空间局部性
      刚被放翁过的存储单元的邻近丹云很有可能不久被访问,通常体现在顺序执行的指令
      做法:将刚被访问的存储单元的邻近单元调到靠近CPU的存储器

    2. Cache

    参考链接:计算机体系结构——存储层次结构——cache工作原理_KGback的博客-CSDN博客_多级cache

     

    展开全文
  • 存储系统的层次 冯诺依曼体系的计算机核心8个字来进行概括:存储程序和程序控制 存储系统层次结构由Cache 、主存、辅助存储器三级体系构成 为了实现存储程序,必须要有主存;为了实现程序控制,必须要有CPU; 有CPU...
  • 存储器层级结构

    千次阅读 2020-05-13 18:36:56
    存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。每一层于下一层相比都拥有较高的速度和较低延迟性,以及较小的容量。 存储器层次结构,对应用程序的性能有着巨大的影响。理解系统是如何将数据...
  • 层次结构存储系统一、存储器概述1、存储器分类2、主存储器组成和主存访问操作过程3、存储器的主要性能指标4、各类存储元件的特点5、存储器的层次结构二、主存和CPU的连接和读写操作1、主存芯片技术2、主存与CPU的...
  • 1. 简介存储层次是在计算机体系结构下存储系统层次结构的排列顺序。每一层于下一层相比都拥有较高的速度和较低延迟性,以及较小的容量。大部分现今的中央处理器的速度都非常的快。大部分程序工作量需要存储器访问。...
  • 计算机系统结构简述.doc

    千次阅读 2021-07-18 02:35:44
    计算机系统结构简述.doc计算机系统结构简述摘 要:计算机系统结构是一个有多个层次组合而成的有机整体,随着科技的不断发展,未来的计算机将会朝着微型化、网络化和智能化的方向发展,为了使大家对计算机系统结构有...
  • 计算机系统的层次存储结构详解

    万次阅读 2017-01-26 21:27:48
    1、存储器分类 (1) 按存储介质分类 ...2、存储器的层次结构 ...(2)缓存 — 主存层次和主存 — 辅存层次 主存和 CPU 的联系: 主存中存储单元地址的分配: 主存的技术指标:
  • 其运作原理在于使用较快速的储存装置保留一份从慢速储存装置中所读取数据且进行拷贝,当有需要再从较慢的储存体中读写数据时,缓存(cache)能够使得读写的动作先在快速的装置上完成,如此会使系统的响应较为快速。...
  • 在一个虚拟存储器系统中,DRAM主存作为存储在磁盘上的数据块缓存。是由操作系统软件和CPU上的地址翻译硬件共同管理的。对于一个具有像afs这样的分布式文件系统的机器来说,本地磁盘作为缓存它是由运行在本地机器上的...
  • 2.层次  1). 逻辑上分为以下层次:  CPU(通用寄存器) <-> cache <-> 主存 <-> 辅存  2). 主要层次:  • cache:提高访问速度  • 虚拟存储器:提高存储器容量 3.原则  1).包含性...
  • MVC层次划分简述

    千次阅读 2019-03-25 16:10:04
    MVC层次划分简述 写在前面的一段话: 首先要知道MVC和三层架构之间有什么关系: MVC:【 Model(数据模型) - View(视图) - Controller(控制器) 】 三层架构:【 Presentation tier(展现层) - Application tier...
  • 计算机层次存储体系

    千次阅读 2019-04-11 14:40:01
    1、计算机存储器是分层次的,离CPU越近的存储器,速度越快...PS:存储系统层次存储系统的设计原则主要考虑 容量、速度和成本三个问题。容量是存储的基础,都希望容量配置尽可能大的存储系统,同时要求存储系统的读写...
  • [1] 严格意义上数据结构的概念 ...存储层次 ( 很多专业书中也写为:逻辑结构、存储结构。但为了避免概念间的混淆,我认为 “层次” 这一表述方式更贴切 ) 。逻辑层次,是指对描述对象的单纯的数学抽象。...
  • 存储器的层次结构

    2022-01-02 00:04:17
    实际上,存储器系统(memory system)是由不同容量、成本和访问时间的存储设备组成的层次结构。在这个层次结构中:CPU寄存器保存最常用的数据。靠近CPU的小的、 快速的高速缓存存储器作为相对慢速.
  • 3、由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器 二、存储器的分类 1、按存储介质 存储介质的两个基本要求: ①、两个明显区别的状态,表示0和1 ②、两个状态的改变速度要快,影响存储器的...
  • 存储器的层次结构原理图解分析

    千次阅读 2021-07-20 03:46:03
    存储器的层次结构原理图解分析学习目录:理解多级存储层次的思想及其作用;掌握存储层次的三个性能参数的定义及计算方法;掌握“Cache-主存”层次、“主存-辅存”层次及其区别;理解存储层次的四个问题。正文:4.1...
  • 第5章 存储层次 1. 单级存储器的主要矛盾是什么?通常采取什么方法来解决? 主要矛盾:(1) 速度越快,每位价格就越高。 (2) 容量越大,每位价格就越低。 (3) 容量越大,速度越慢。采取多级存储层次方法来解决。...
  • 二、存储器的层次结构 1、存储结构综述 2、局部性原理与多级存储器 一、存储器的分类 1、按存储介质分类——半导体、磁、光 半导体存储器:TTL,MOS,SSD——需通电,断电后信息即消失的存储器 磁表面存储器:...
  • DNS简述

    2019-04-14 23:32:25
    DNS服务器的层次结构 DNS查询方式 1.DNS提供的服务 前言:DNS即域名系统,是互联网的核心服务。 (1)域名想IP地址的翻译 我们访问互联网习惯使用的是域名(主机名),而机器能识别的是IP地址,此时我们就十分需要...
  • 层次路由

    千次阅读 2018-05-29 16:51:35
    点击打开链接1 层次路由将任意规模网络抽象为一个图计算路由-过于理想化标识所有路由器”扁平”网络在实际网络(尤其是大规模网络)中, 不可行!网络规模: 考虑6亿目的结点的网络 路由表几乎无法存储!路由计算...
  • 简述计算机系统的组成

    千次阅读 2021-07-16 06:02:37
    存储设备;输入设备;输出设备。软件系统包括:系统软件和应用软件两个部分:系统软件是指计算机安装的各种操作系统;应用软件包括各种安装在操作系统上的实现不同用途的应用程序系统软件与应用...
  • OpenStack简述

    千次阅读 2021-12-09 14:09:16
    4)Cinder/Swift - 存储服务: Cinder和swift 是OpenStack 的存储服务子项目,二者分别为OpenStack 提供了块存储和网络对象存储,对应的参考模型中就是存储管理模块volume。 5)Neutron - 网络服务: Neutron网络...
  • 存储器在计算机组成结构占据很重要的位置。对计算机来说,有了存储器,就具备了记忆能力,那么计算机就可以存储...在存储层次中越往上,存储介质的访问速度越快,价格也越高,相对存储容量也越小。 寄存器、高速缓存...
  • 计算机系统的多级层次结构

    千次阅读 2021-01-08 09:22:22
    多级层次结构: 是从使用语言的角度,基于程序员与计算机系统对话中所采用的语言结构和语义划分。 现代计算机系统的层次结构分为六级: 多级层次结构中(机器—语言) M5: 应用语言机器 – 应用语言 M4: 高级...
  • 文章目录1. 存储器层次结构1.1 CPU1.1.1 算术逻辑单元1.1.2 控制单元1.2 存储...      在正式进入存储层次结构话题之前,我们先粗略地对CPU的工作原理做一个简述,这样有助于对存储层次结构模型的理解和认识。 1.1

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,437
精华内容 8,574
关键字:

简述存储的层次