1. 存储系统层次结构

主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存

主存容量不足的原因

  • 存在制约主存容量的技术因素:如由CPU、主板等相关技术指标规定了主存容量
  • 应用对主存容量需求不断扩大:window98 -- 8M,windows 8 -- 1G

-----> 存储体系结构化层次:  CPU -- Cache1 -- Cache2(解决速度) -- 主存 -- 辅存(解决容量)

存储体系结构化层次理论基础

  • 时间局部性:程序体现为循环结构
  • 空间局部性:程序体现为顺序结构

2. 主存中的数据组织

存储字长:主存的一个存储单元所包含的二进制位数,目前大多数计算机主存按字节编址,主要由32为和64位

数据存储与边界的关系

  • 按边界对齐的数据存储,未按边界对齐的数据存储
  • 边界对齐与存储地址的关系:(32位为例)
  1. 双字长边界对齐:起始地址最末三位为000(8字节整数倍)
  2. 单字长边界对齐:起始地址最末二位为00(4字节整数倍)
  3. 半字长边界对齐:起始地址最末一位为0(2字节整数倍)

大端与小端存储方式

  • 大端:最高字节地址是数据地址(0123存成0123)
  • 小端:最低字节地址是数据地址(0123存成3210)

3. 存储器分类

  • SRAM存储器:存取速度快,但集成度低,功耗大,做缓存
  • DRAM存储器:存取速度慢,但集成度高,功耗低,做主存

    DRAM刷新方式:集中刷新、分散刷新、异步刷新

4. 主存容量的扩展

  • 位扩展法:8K * 8位 --> 8K * 32位
  • 字扩展法:8K * 8位 --> 32K * 8位
  • 字位同时扩展法:8K * 8位 --> 32K * 32位

5. Cache的基本原理

  • cache的工作过程

    • 数据:cpu与cache交换字,cache与内存交换块
    • :命中,不命中
    • :写穿策略,写回策略
  • 写策略
    • 写穿策略(write through):同时写缓存和内存,好像穿过缓存一样。若不命中,先写到主存中,并选择性地同时分配到缓存中(写分配/非写分配)
    • 写回策略(write back):写到缓存后不管了,只有当缓存的内容替换回主存时再管,需有脏位。好像隔段时间后再写回到主存中一样
  • 地址映射机制
    • 相联存储器:地址本身包含着位置啊可比较的信息啊等内容信息,可根据区分地址内容进行寻址
    • 主存地址 = 块地址 + 块内偏移地址 = (Tag + Index) + 块内偏移地址
    • cache结构
      • 好多行,每行与主存块大小相等
      • 每行 = tag + data + valid + dirty
    • 三种映射方式
      • 全相联:cache行号 = random(内存块号)
      • 直接相联:cache行号 = 内存块号 % cache行数
      • 组相联:两者结合。8行1路组相联就是全相联,8行8路组相联就是直接相联
  • 替换算法
    • 先进先出法-FIFO
    • 最近最不经常使用法-LFU
    • 近期最少使用法-LRU
    • 随机替换法

6. 虚拟存储器

  • 解决问题:主存容量不足。希望向程序员提供更大(比主存大)的编程空间
  • 分类:页式,段式,段页式
  • 页式实现方式:MMU(Memory Management Unit) + 页表 + TLB(Transaction Lookaside Buffer:地址转换后备缓冲器)
  • 页式转换过程:虚拟地址 = 虚拟页号 + 页内偏移 ==> 物理页号 + 页内偏移

7. RAID

  • 概念:独立磁盘构成的具有冗余能力的阵列(Redundant Arrays Independent Disks)
  • 核心技术:使用异或运算恢复数据 (x⊕y = z  --> x = y⊕z)
  • 分类
    • RAID0:条带均匀分布

      磁盘0 磁盘1 磁盘2 磁盘3
      D0 D1 D2 D3
      D4 D5 D6 D7
      D8 D9 D10 D11
    • RAID1:以镜像为冗余方式
      磁盘0 磁盘1
      D0 D0
      D1 D1
      D2 D2
    • RAID3/4:有校验盘
      磁盘0 磁盘1 磁盘2 校验磁盘
      D0 D1 D2 P0
      D3 D4 D5 P1
      D6 D7 D8 P2
    • RAID5:校验信息分布式
      磁盘0 磁盘1 磁盘2 磁盘3
      D0 D1 D2 P0
      D3 D4 P1 P5
      D6 P2 D7 D8
      P3 D9 D10 D11
    • RAID10/01:10是先镜像再条带化,01是先条带化再镜像
    • RAID50:先RAID5,再条带化

【重学计算机】机组D4章:存储系统的更多相关文章

  1. 【重学计算机】操作系统D3章:存储管理

    1. 存储管理的基本概念 逻辑地址:用户地址,从零开始编号 一维逻辑地址:(地址) 二维逻辑地址:(段号: 段内地址) 主存储器的复用方式 按分区:主存划分为多个固定/可变分区,一个程序占一个分区 按 ...

  2. 【重学计算机】操作系统D1章:计算机操作系统概述

    1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...

  3. 【重学计算机】操作系统D4章:设备管理

    1. IO的控制方式 演进过程:轮询 --> 中断 --> DMA --> IO通道 经典布局:南北桥 PS:详见<计算机组成原理> 2. IO的实现 软件实现层次:硬件 ...

  4. 【重学计算机】机组D8章:输入输出系统

    1. 输入输出系统概述 组成:外设.接口.总线.管理软件 基本功能 完成计算机内外的信息传递 保证CPU正确选择输出设备 利用缓冲等,实现主机与外设的速度匹配 特点:异步性.实时性.设备无关性 输入过 ...

  5. 【重学计算机】机组D7章:总线

    1. 系统总线的特性及应用 总线概念:将计算机系统中各部件连接起来 总线分类:(外部/内部,系统/非系统,串行/并行,同步/异步...) 按用途分类: 存储总线:cpu与存储器 系统总线:连接存储总线 ...

  6. 【重学计算机】机组D6章:中央处理器

    1. CPU的组成与功能 2. 数据通路 概念:执行部件间传送信息的路径,分共享通路(总线)和专用通路 抽象模型:时钟驱动下,A --> 组合逻辑 --> B D触发器定时模型: 时钟触发 ...

  7. 【重学计算机】机组D5章:指令系统

    1. 指令系统基本概念 指令集:一台机器所有指令的集合.系列机(同一公司不同时期生产):兼容机(不同公司生产) 指令字长:指令中包含的二进制位数,有等长指令.变长指令. 指令分类 根据层次结构:高级. ...

  8. 【重学计算机】计组D2章:数据表示

    1.基本概念 真值:+0101,-0100:机器数: [x]原=0101 2.几种机器数 原码:x = -0101,[x]原 = 1101 反码:x = -0101,[x]反 = 1010 补码:x ...

  9. 【重学计算机】计组D1章:计算机系统概论

    1.冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2.计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层 ...

随机推荐

  1. Spring Cloud 多版本管理那些事。

    好久没有研究 Spring Cloud 了,也没有关注它的更新及新特性,上官网看了下,又增加了几个版本,有正式版有预览版,多达 6 个版本,实在让人蒙逼. 而我们的项目版本还仪停留在 Dalston ...

  2. BZOJ1467_Pku3243 clever Y_EXBSGS

    BZOJ1467_Pku3243 clever Y_EXBSGS Description 小Y发现,数学中有一个很有趣的式子: X^Y mod Z = K 给出X.Y.Z,我们都知道如何很快的计算K. ...

  3. 【小白学C#】谈谈C#多播委托因异常而终止的解决方案

    一.前言 前几天,马三在与朋友闲聊技术的时候,朋友忽然抛出一个问题,把马三难倒了,本着求知的精神,回来以后马三就查阅了相关资料并做了一些实验,终于把问题搞明白了,因此写下本篇博客记录一下.首先,问题是 ...

  4. Python 魔术方法笔记

    魔术方法总是被__包围, 如__init__ , __len__都是常见的魔术方法,这里主要写一下我遇到的一些魔术方法 setitem 对某个索引值赋值时 即可以进行赋值操作,如 def __seti ...

  5. 【爆料】-《维多利亚大学毕业证书》Victoria一模一样原件

    ☞维多利亚大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归& ...

  6. i春秋——Misc之百度杯

    今天心里很是不开森,想想往日何必那么努力呢?不如你的比比皆是,可是人家就是因为有关系,你又能怎样呢? 你所有应该有的都被打翻了,别灰心,至少你曾经努力过! 愿我未来的学弟学妹们都能一直开开心心的过好每 ...

  7. Netty实现高性能IOT服务器(Groza)之精尽代码篇中

    运行环境: JDK 8+ Maven 3.0+ Redis 技术栈: SpringBoot 2.0+ Redis (Lettuce客户端,RedisTemplate模板方法) Netty 4.1+ M ...

  8. Appscan 工具快速上手教程

      1.appscan扫描 (1)白盒扫描=静态扫描,扫描源代码.(2)动态扫描=黑盒扫描,用工具来模拟黑客的攻击,查看应用层的响应.产品内部会有大量受攻击的库,当我们把一个模拟攻击发给我们的应用的时 ...

  9. 一文带你了解 Spring 5.0 WebFlux 应用场景

    一.什么是 Spring WebFlux 下图截自 Spring Boot 官方网站: 结合上图,在了解 Spring WebFlux 之前,我们先来对比说说什么是 Spring MVC,这更有益我们 ...

  10. 微信小程序之滑动日历展示

    滑动日历效果 效果预览 实现要求:顶部固定悬浮的是获取未来一周的日期,分为上下两部分,上面部分显示星期,下面则显示具体日期.今天则显示今天,可点击头部具体日期,可向左向右滑动. 实现代码 顶部日历 页 ...