【重学计算机】机组D4章:存储系统
1. 存储系统层次结构
主存速度缓慢的原因:主存增速与CPU不同步,执行指令期间多次访问主存
主存容量不足的原因:
- 存在制约主存容量的技术因素:如由CPU、主板等相关技术指标规定了主存容量
- 应用对主存容量需求不断扩大:window98 -- 8M,windows 8 -- 1G
-----> 存储体系结构化层次: CPU -- Cache1 -- Cache2(解决速度) -- 主存 -- 辅存(解决容量)
存储体系结构化层次理论基础:
- 时间局部性:程序体现为循环结构
- 空间局部性:程序体现为顺序结构
2. 主存中的数据组织
存储字长:主存的一个存储单元所包含的二进制位数,目前大多数计算机主存按字节编址,主要由32为和64位
数据存储与边界的关系:
- 按边界对齐的数据存储,未按边界对齐的数据存储
- 边界对齐与存储地址的关系:(32位为例)
- 双字长边界对齐:起始地址最末三位为000(8字节整数倍)
- 单字长边界对齐:起始地址最末二位为00(4字节整数倍)
- 半字长边界对齐:起始地址最末一位为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,再条带化
- RAID0:条带均匀分布
【重学计算机】机组D4章:存储系统的更多相关文章
- 【重学计算机】操作系统D3章:存储管理
1. 存储管理的基本概念 逻辑地址:用户地址,从零开始编号 一维逻辑地址:(地址) 二维逻辑地址:(段号: 段内地址) 主存储器的复用方式 按分区:主存划分为多个固定/可变分区,一个程序占一个分区 按 ...
- 【重学计算机】操作系统D1章:计算机操作系统概述
1. 计算机软硬件系统 冯诺伊曼结构 以运算单元为核心,控制流由指令流产生 程序和数据存储在主存中 主存是按地址访问,线性编址 指令由操作码和地址码组成 数据以二进制编码 其他:参考<重学计算机 ...
- 【重学计算机】操作系统D4章:设备管理
1. IO的控制方式 演进过程:轮询 --> 中断 --> DMA --> IO通道 经典布局:南北桥 PS:详见<计算机组成原理> 2. IO的实现 软件实现层次:硬件 ...
- 【重学计算机】机组D8章:输入输出系统
1. 输入输出系统概述 组成:外设.接口.总线.管理软件 基本功能 完成计算机内外的信息传递 保证CPU正确选择输出设备 利用缓冲等,实现主机与外设的速度匹配 特点:异步性.实时性.设备无关性 输入过 ...
- 【重学计算机】机组D7章:总线
1. 系统总线的特性及应用 总线概念:将计算机系统中各部件连接起来 总线分类:(外部/内部,系统/非系统,串行/并行,同步/异步...) 按用途分类: 存储总线:cpu与存储器 系统总线:连接存储总线 ...
- 【重学计算机】机组D6章:中央处理器
1. CPU的组成与功能 2. 数据通路 概念:执行部件间传送信息的路径,分共享通路(总线)和专用通路 抽象模型:时钟驱动下,A --> 组合逻辑 --> B D触发器定时模型: 时钟触发 ...
- 【重学计算机】机组D5章:指令系统
1. 指令系统基本概念 指令集:一台机器所有指令的集合.系列机(同一公司不同时期生产):兼容机(不同公司生产) 指令字长:指令中包含的二进制位数,有等长指令.变长指令. 指令分类 根据层次结构:高级. ...
- 【重学计算机】计组D2章:数据表示
1.基本概念 真值:+0101,-0100:机器数: [x]原=0101 2.几种机器数 原码:x = -0101,[x]原 = 1101 反码:x = -0101,[x]反 = 1010 补码:x ...
- 【重学计算机】计组D1章:计算机系统概论
1.冯诺依曼计算机组成 主机(cpu+内存),外设(输入设备+输出设备+外存),总线(地址总线+数据总线+控制总线) 2.计算机层次结构 应用程序-高级语言-汇编语言-操作系统-指令集架构层-微代码层 ...
随机推荐
- JVM学习记录-垃圾收集器
先回顾一下上一篇介绍的JVM中常见几种垃圾收集算法: 标记-清除算法(Mark-Sweep). 复制算法(Copying). 标记整理算法(Mark-Compact). 分代收集算法(Generati ...
- (二)Web应用体系结构
容器 Servlet没有main()方法,它们受控于另一个Java应用,这个Java应用称为容器(Container).我们最常见的tomcat就是这样一个容器. Web服务器应用(如Apache)得 ...
- java没有firendly访问类型
java中只有public.private.protected.default这几种修饰符,没有friendly修饰符,没加修饰符就是friendly.friendly只是一种说法,把它认为是defa ...
- bzoj 4916: 神犇和蒟蒻 (杜教筛+莫比乌斯反演)
题目大意: 读入n. 第一行输出“1”(不带引号). 第二行输出$\sum_{i=1}^n i\phi(i)$. 题解: 所以说那个$\sum\mu$是在开玩笑么=.= 设$f(n)=n\phi(n) ...
- 在linux服务器之间复制文件和目录命令scp
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度.当你服务器 ...
- Spring py登陆模块(包含 记录登陆时间,记录ip,增加积分)
嘛基于最近的复习准备写个关于spring登陆模块的小程序 虽然小但是五脏俱全呐 话不多说让我来介绍一下今天的登陆程序. 这些是 基于Spring JDBC 的持久层实现 基于Spring 声明事物的业 ...
- Tomcat启动失败的几种解决办法
1.重复映射 用Eclipse开发,新建了的servlet会有一个url-pattern声明: 这样就不需要在web.xml中添加映射,如果在web.xml中添加了这样一段: <servlet& ...
- python3——模块
今天去听一个关于创业的讲座,心疼自己在那个地方站了 一个多小时(QAQ)我是心疼自己傻呀! 手机打王者之后就没有电了,一直站在那儿! 不过最后还是结束了,以后你们也会有很多讲座的,希望学弟学妹好好听讲 ...
- kubernetes进阶之四:Label和Label Selector
一:什么是Label Label是Kubernetes系列中另外一个核心概念.是一组绑定到K8s资源对象上的key/value对.同一个对象的labels属性的key必须唯一.label可以附加到各种 ...
- Arduino入门笔记(6):温度传感器及感温杯实验
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 :https://item.taob ...