计算机体系结构——CH3存储系统

右键点击查看图像,查看清晰图像

X-mind

计算机体系结构——CH3存储系统

存储系统原理

主要性能

  • 速度
  • 容量
  • 价格

两种存储系统

  • Cache与主存储器

  • 虚拟存储系统

    • 主存储器
    • 硬盘

存储系统的速度

  • 命中率

    • 在M1存储器中访问到的概率
    • H=N1 / (N1+N2)
  • 访问周期

    • T= HT1 + (1-H) T2
    • H趋向1, T趋向T1
  • 访问效率

    • 访问效率与命中率和两级存储器的速度之比有关
  • 预存储技术

    • 提高命中率
    • H‘ = (H + n - 1)/ n
    • n为数据块大小与数据重复利用率的乘积

存储系统的层次结构

  • 寄存器堆
  • cache
  • 主存储器
  • 硬盘

并行存储器

  • 增加字长
  • 直接进行地址选择
  • 访问冲突大

交叉访问存储器

  • 高位交叉

    • 扩展存储器容量
  • 低位交叉

    • 提高存储器访问速度
  • 并行存储器的加速比

虚拟存储器

原理

  • 将主存储器和磁盘,虚拟存储器都划分为固定大小的页

    • 主存储器为实业
    • 虚拟存储器为虚页面

三种虚拟存储器

  • 页式虚拟存储器

    • 使用页表
    • 固定式页表,使用页表进行地址变换
  • 段式虚拟存储器

    • 每段从0开始编码
    • 动态改变段的长度
    • 段过大,利用率低
  • 段页式虚拟存储器

    • 用户按段编写程序

    • 每段分为几个固定大小的页

    • 先使用段表跳转,再使用页表定位

    • 地址

      • 用户号
      • 段号
      • 虚页号
      • 页内地址
    • 可能会有多级页表

  • 目录表

    • 用一个小容量高速存储器存放页表
    • 查表速度快
    • 可扩展性差,主存大时效率变低
  • 快慢表

    • 两级存储系统
    • 先查块表
    • 查不到,则查慢表

页面替换算法

  • 含义

    • 也就是替换页面

      • 有时也是Cache或者目录表
    • 当页面失效时

      • 要从磁盘调入一页到主存
    • 如果主存页面均被占用

      • 必须淘汰一个不常使用的页面,以腾出空间
  • 好坏的评价标准

    • 命中率高
    • 算法容易实现
  • 随机算法

  • 先进先出算法(FIFO)

    • 实际可能采用
  • 近期最少使用算法(LFU)

  • 最久没有使用算法(LRU)

    • 实际可能采用

    • 堆栈型替换算法

      • 在分配给程序的主存页面数增加时,主存命中率也提高,至少不下降

        • FIFO不是
  • 最优替换算法(OPT)

    • 理想算法,作为评价其它算法的好坏

命中率H的影响因素

  • 页面大小

    • 当页面大小为某个值时,命中率最大
    • Sp(页面大小)增大,两次访问在同一页面的可能性增大,命中率增加
    • Sp继续增大(影响因素更强),主存页面数更小,页面替换更加频繁且耗时间,命中率减小
  • 主存容量

    • 命中率随着分配给该程序的主存容量S增加而单调上升
  • 页面调度方式

    • 请求式

    • 预取式

      • 在程序重新开始运行之前,将上次停止运行前一段时间用到的页面调入主存,再运行程序

高速缓存存储器(Cache)

特点

  • 提高速度
  • 全部硬件
  • 不命中时等待主存储器

地址映像方式

Cache替换算法

  • 用于组相联,段相联的映像方式中

  • 轮换法

    • 设置01计时器

    • 类似于FIFO

      • 最早装入的块,进行替换
    • 不考虑命中情况

  • 最久没有使用算法(LRU)

    • 实现LRU
  • 堆栈法

加速比

命中率

  • 随它的容量增加而增加

    • H = 1 - (1 / 根号S)

XMind - Trial Version

计算机体系结构——CH3存储系统的更多相关文章

  1. 计算机体系结构的铁律(iron law)

    计算机体系结构的铁律可由下面公式来描写叙述: 从Programmer的角度来看,处理器的性能就是运行程序的耗费的时间.所以用Time/Program来刻画处理器性能.而这个简单的公式背后是有很丰富的内 ...

  2. 计算机体系结构总结_Pipeline

    Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 在前面一节里我们有了一块简单的RISC CPU,包括 ...

  3. 计算机体系结构——CH5 标量处理机

    计算机体系结构--CH5 标量处理机 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH5 标量处理机 先行控制技术 指令得重叠执行方式 顺序执行方式 一次重叠执行方式 二次重叠技术 ...

  4. 计算机体系结构——CH4 输入输出系统

    计算机体系结构--CH4 输入输出系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH4 输入输出系统 输入输出原理 特点 实时性 与设备无关性 异步性 输入输出系统的组织方式 ...

  5. 计算机体系结构——CH1基本概念

    CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研 ...

  6. UNIX环境高级编程——计算机体系结构基础知识

    无论是在CPU外部接总线的设备还是在CPU内部接总线的设备都有各自的地址范围,都可以像访问内存一样访问,很多体系结构(比如ARM)采用这种方式操作设备,称为等都会产生异常. 通常操作系统把虚拟地址空间 ...

  7. 计算机体系结构——流水线技术(Pipelining)

    本文导读: 一.并行技术 .并行技术分类 .新技术的设计与实现 .指令周期 二.流水线技术 .什么是流水线 .指令重叠方式 .流水工作设计 .流水线的描述方法(时空图) .流水线特点 三.流水线的分类 ...

  8. 计算机体系结构——CH2 指令系统

    CH2 指令系统 右键点击查看图像,查看清晰图像 X-mind CH2 指令系统 数据表示 定义 指计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型 确定哪些数据类型用哪些数据表示实现,是 ...

  9. 计算机体系结构-内存调优IPC OOMK

    man ipc [root@server1 proc]# man ipcIPC(2)                     Linux Programmer’s Manual             ...

随机推荐

  1. JavaScript Learning Paths(ES5/ES6/ES-Next)

    JavaScript Learning Paths(ES5/ES6/ES-Next) JavaScript Expert refs https://developer.mozilla.org/en-U ...

  2. alipay 小程序开发教程

    alipay 小程序开发教程 https://opendocs.alipay.com/mini/00ccmd 或访问开放平台:https://opendocs.alipay.com/mini/00cc ...

  3. koa response image

    koa response image koa.js v1.x generator *function v2.x Async/Await koajs/examples https://github.co ...

  4. outlook & email & animation

    outlook & email & animation tada position div

  5. NGK Global英国路演落下帷幕,区块链赋能大数据取得新突破

    NGK全球巡回路演于7月25日在英国圆满举行,此次路演是由NGK英国社区主办,旨在探讨当前大数据爆炸的形式下,区块链如何赋能,解决行业痛点.会上,行业精英.区块链爱好者.各实体产业代表以及科技人员纷纷 ...

  6. keepalived-1.3.5+MHA部署mysql集群

    MHA: MHA工作原理总结为以下几条: 从宕机崩溃的master保存二进制日志事件(binlog events): 识别含有最新更新的slave: 应用差异的中继日志(relay log)到其他sl ...

  7. C++算法代码——三连击[NOIP1998 普及组]

    题目来自:https://www.luogu.com.cn/problem/P1008 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目 ...

  8. 使用hive增量更新

    目录 1.增量更新 2.对第一种情况 2.1.准备工作 2.2.更新数据 3.对第二种情况 3.1.准备工作 3.2.方法1 3.3.方法2 参考文末文章,加上自己的理解. 1.增量更新 有一个 ba ...

  9. JavaFX桌面应用-版本升级

    好久没有写博客,2021年就以 "JavaFX桌面应用-版本升级" 开篇吧,记录一下JavaFX应用版本升级的开发流程. 桌面应用升级的方案应该很多,这里只是自己想到的方案. 1. ...

  10. Visual Studio Code运行Python代码

    目录 步骤 参考 用Pycharm开发Python程序是最好的选择,就是有点贵.基于这个背景,我就尝试一下别的IDE,看到很多人在用免费.开源的Visual Studio Code,下面是配置并运行P ...