计算机组成原理知识总结(三)存储系统
计算机组成原理知识总结
计算机组成原理知识总结(一)计算机概论
计算机组成原理知识总结(二)运算方法和运算器
存储系统
- 计算机组成原理知识总结
- 3.1 存储系统概述
- 3.1.1 存储系统的层次结构
- 程序的局部性原理
- 多级存储系统的组成
- 3.1.2 存储的分类
- 3.1.3 存储器的编制和端模式
- 3.1.4 存储器的技术指标
- 3.2 静态随机存取存储器
- 3.2.1 基本的静态存储元阵列
- 3.2.2 基本的SRAM逻辑结构
- 3.2.3 SRAM读/写时序
- 3.2.4 存储器容量的扩充
- 3.3 动态随机存取存储器
- 3.3.1 DRAM存储元的工作原理
- 3.3.2 DRAM芯片的逻辑结构
- 3.3.3 DRAM读/写时序
- 3.3.4 DRAM的刷新操作
- 3.3.5 突发传输模式
- 3.3.6 同步DRAM(SDRAM)
- SDRAM的特征
- SDRAM的控制方式
- SDRAM的命令
- 3.3.7 双倍数据率SDRAM(DDR SDRAM)
- 3.3.8 DRAM读/写校验
- 3.3.9 CDRAM
- CDRAM芯片的结构
- CDRAM存储模块
- 3.4 只读存储器
- 3.4.1 只读存储器概述
- 3.4.2 NOR闪存
- NOR闪存的外部接口与逻辑结构
- NOR闪存的区块划分
- NOR闪存的总线操作与工作方式
- 3.5 并行存储器
- 3.5.1 双端口存储器
- 双端口存储器的逻辑结构
- 无冲突的读写控制
- 有冲突的读写控制
- 3.5.2 多模块交叉存储器
- 存储器的模块化组织
- 多模块交叉存储器的基本结构
- 二模块交叉存储器距离
- 3.6 cache存储器
- 3.6.1 cache基本原理
- cache的功能
- cache的基本原理
- cache 的命中率
- cache结构设计必须解决的问题
- 3.6.2 主存与cache的地址映射
- 全相联映射方式
- 直接映射方式
- 组相联映射方式
- 3.6.3 cache的替换策略
- 3.6.4 cache的写操作策略
- 3.6.5 Pentium 4的cache组织
- 3.6.6 使用多级cache减少缺失损失
- 3.7 虚拟存储器
- 3.7.1 虚拟存储器的基本概念
- 实地址与虚地址
- 虚存的访问过程
- cache与虚存的异同
- 虚存机制要解决的关键问题
- 3.7.2 页式虚拟存储器
- 页式虚存地址映射
- 内页表和外页表
- 转换后援缓冲器(TLB)
- 虚拟存储器、TLB和cache的协同操作
- 3.7.3 段式虚拟存储器和段页式虚拟存储器
- 段式虚拟存储器
- 段页式虚拟存储器
- 3.7.4 虚存的替换算法
- 3.7.5 存储管理部件
- 3.8 奔腾系列机的虚存组织
- 3.8.1 存储器模型
- 3.8.2 虚地址模式
- 3.8.3 分页模式下的地址转换
- 总结
3.1 存储系统概述
3.1.1 存储系统的层次结构
利用不同容量、成本、功耗和速度的多种存储器构成有机结合的多级存储系统。
程序的局部性原理
在某一段时间内频繁访问某一局部的存储器地址空间,而对此范围以外的地址空间则很少访问的现象称为程序的局部性原理。
- 时间局部性:最近访问的信息很可能还要被访问
- 空间局部性:最近访问的信息邻近地址的信息也可能被访问。
多级存储系统的组成
内存储器速度高、容量小、价格高,有半导体器件构成。
外存储器速度低、容量大、价格便宜,由磁盘存储器、光盘存储器等非半导体器件或者固态半导体存储器构成。
在常规的内存储器与CPU之间增加了速度更高但容量更小的半导体高速缓冲存储器,cache。
还有将cache分为一级二级的。
3.1.2 存储的分类
存储介质,半导体器件和磁性材料。存储一位二进制代码。称为存储位元。许多个存储单元组成一个存储器。
存储介质
半导体器件、磁性材料和光存储器
存储方式
随机存取存储器、顺序存取存储器和半顺序存取存储器
读写功能
只读存储器(ROM)、随机存取存储器(RAM)
信息易失性
易失性存储器、非易失性存储器
与CPU的耦合程度
内外存储器
习惯分为RAM和ROM。RAM分为静态RAM(SRAM)和动态RAM(DRAM),ROM分为掩膜ROM、一次可编程ROM(PROM)和可擦除PROM(EPROM),后者又分为紫外线擦除EPROM(UV-EPROM)、电擦除EPROM(EEPROM)和闪速(Flash)只读存储器。
3.1.3 存储器的编制和端模式
存放一个机器字的存储单元,通常称为字存储单元,相应的单元地址称为字地址。而存放一字节的单元,称为字节存储单元,相应的地址称为字节地址。
一个存储字内部的多字节排列顺序问题,排列方式称为端模式,大端和小端。
3.1.4 存储器的技术指标
- 存储容量
- 存取时间
- 存储周期
- 存储器带宽
3.2 静态随机存取存储器
SRAM
3.2.1 基本的静态存储元阵列
只要直流供电,就可以无限期地保持记忆。断电数据就丢失了。
3.2.2 基本的SRAM逻辑结构
双译码方式,以便组织更大的存储容量。
3.2.3 SRAM读/写时序
一般tRQt_{RQ}tRQ=tWCt_{WC}tWC,叫做存取周期。
SRAM DRAM时序分析
3.2.4 存储器容量的扩充
芯片数:d=设计要求的存储器容量/已知芯片存储容量
- 位扩展
- 字扩展
- 字位扩展
3.3 动态随机存取存储器
3.3.1 DRAM存储元的工作原理
DRAM 的存储密度高,主存储器。但是附属电路比较复杂,访问时需要额外的电路和操作支持。
3.3.2 DRAM芯片的逻辑结构
3.3.3 DRAM读/写时序
3.3.4 DRAM的刷新操作
读取数据会破坏电荷,需要刷新。刷新间隔是64ms。
- 集中式刷新策略
- 分散式刷新策略
3.3.5 突发传输模式
突发访问是指在存储器同一行中对相邻的存储单元进行连续访问的方式,突发长度可以从几字节到数千字节不等。
3.3.6 同步DRAM(SDRAM)
传统的DRAM是异步的,在DRAM接口上增加时钟信号则可以降低存储芯片与控制器同步的开销,优化DRAM与CPU之间的接口,这是同步DRAM(SDRAM)的主要改进。
SDRAM的特征
- 同步操作
- 多存储体配置
- 命令控制
- 模式寄存器
SDRAM的控制方式
SDRAM的命令
3.3.7 双倍数据率SDRAM(DDR SDRAM)
本质上是一个2n的预取结构
3.3.8 DRAM读/写校验
3.3.9 CDRAM
CDRAM芯片的结构
CDRAM存储模块
3.4 只读存储器
3.4.1 只读存储器概述
非易失性,访问速度比RAM稍低,可以按地址随机访问并在线执行程序。
3.4.2 NOR闪存
NOR闪存的外部接口与逻辑结构
NOR闪存的区块划分
NOR闪存的总线操作与工作方式
3.5 并行存储器
- 芯片技术
- 结构技术
- 系统结构技术
3.5.1 双端口存储器
双端口存储器的逻辑结构
由于同一个存储器具有两组相互独立的读写控制电路而得名。高速工作的存储器
无冲突的读写控制
当两个端口地址不相同是,在两个端口上进行读写操作,一定不会发生冲突。
有冲突的读写控制
两端口同时存取存储器同一存储单元,会设置BUSY‾\overline{BUSY}BUSY标志。
3.5.2 多模块交叉存储器
存储器的模块化组织
顺序方式和交叉方式
多模块交叉存储器的基本结构
二模块交叉存储器距离
3.6 cache存储器
3.6.1 cache基本原理
cache的功能
为了解决CPU和主存之间速度不匹配而采用的一项重要技术。
cache的基本原理
除了包含SRAM外,还要有控制逻辑。有就直接提取,没有就从主存里找。
cache 的命中率
在一个程序执行器件,设NcN_cNc表示cache完成存取的总次数,NmN_mNm表示主存完成存取的总次数,hhh定义为命中率,则有
h=NcNc+Nmh=\frac{N_c}{N_c+N_m}h=Nc+NmNc
cache结构设计必须解决的问题
cache设计遵循的两原则
- 希望cache的命中率尽可能高,实际应接近于1
- 希望cache对CPU而言是透明的,不论是否有cache,CPU的访存方法都是一样的。
3.6.2 主存与cache的地址映射
全相联映射方式
直接映射方式
多对一的映射方式,但一个主存块只能拷贝到cache的一个特定行位置上去。
组相联映射方式
适度地兼顾了前两者的优点,由尽量避开二者的缺点,因此被普遍采用。
3.6.3 cache的替换策略
cache要求它尽量保存最新数据,当一个新的主存块需要拷贝到cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。
- 最不经常使用(LFU)算法
- 近期最少使用(LRU)算法
- 随即替换
3.6.4 cache的写操作策略
- 写回法
- 全写法
- 写一次法
3.6.5 Pentium 4的cache组织
Pentium 4 处理器的核心由下列四个主要部件组成:
- 取值/译码单元
- 乱序执行逻辑
- 执行单元
- 存储器子系统
3.6.6 使用多级cache减少缺失损失
在高性能微处理器可支持附加一级的cache,位于处理器芯片内或者外单独一组SRAM,主cache却是后就会访问它。
3.7 虚拟存储器
3.7.1 虚拟存储器的基本概念
实地址与虚地址
用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存地址空间或逻辑地址空间;而计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。
虚存的访问过程
虚存空间的用户程序按照虚地址编程并放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。
cache与虚存的异同
相同
- 出发点相同
- 原理相同
不同
- 侧重点不同
- 数据通路不同
- 透明性不同
- 未命中时的损失不同
虚存机制要解决的关键问题
- 调度问题
- 地址映射问题
- 替换问题
- 更新问题
3.7.2 页式虚拟存储器
页式虚存地址映射
内页表和外页表
上面所述页表式虚地址到主存物理地址的变换表,为内页表。虚地址与辅存地址之间的变换叫做外页表。
转换后援缓冲器(TLB)
这个专用于页表缓存的高速存储不见通常称为转换后援缓冲器(TLB),又称为块表。保存在主存的完整页表称为慢表。
虚拟存储器、TLB和cache的协同操作
3.7.3 段式虚拟存储器和段页式虚拟存储器
段式虚拟存储器
页面时主存物理空间中划分出来的登场的固定区域。另一种划分可寻址的存储空间的方法称为分段。段是按照程序的自然分界划分的长度可以动态改变的区域。
每个程序设置一个段表,段表的每一个表项对应一个段。
- 有效位
- 段起址
- 段长
段页式虚拟存储器
段式虚拟存储器和页式虚拟存储器的结合
3.7.4 虚存的替换算法
当从辅存调页至主存已满时,也需要进行主存页面的替换。下虚拟存储器的替换算法与cache的替换算法类似
虚拟存储器的替换算法与cache的替换算法不同
- cache的替换全部靠硬件实现,而虚拟存储器的替换有操作系统的支持。
- 虚存缺页对系统性能的影响比cache未命中要大得多,因为调页需要访问辅存,并且要进行任务切换。
- 虚存页面替换的选择余地很大,属于一个进程的页面都可替换。
3.7.5 存储管理部件
存储管理部件(Memory Management Unit,MMU)是系统中进行虚实地址转换的核心部件。
3.8 奔腾系列机的虚存组织
3.8.1 存储器模型
- 平坦存储器模型(flat memory model)内存被组织成单一的、连续的地址空间,称为“线性地址空间”。
- 分段存储器模型(segmented memory model)每个程序均使用一组独立的地址空间,每个地址空间就是一个段,段的最大长度是232B2^{32}B232B。
- 实地址模式存储器模型(real-address model memory model)是为保持与早期的8086处理机兼容的存储器模式。
3.8.2 虚地址模式
IA-32体系结构微处理机的虚拟存储器可以通过两种方式实现:分段和分页。
3.8.3 分页模式下的地址转换
总结
数据的存储机制
计算机组成原理知识总结(三)存储系统相关推荐
- 计算机组成800H是多大,73计算机组成原理模拟题三(2019年)更新北理工20春答案...
73计算机组成原理模拟题三(2019年)更新北理工20春答案 2020-05-22 17:05:44 71 有学员问关于73计算机组成原理模拟题三(2019年)更新北理工20春答案的题目的参考答案和解 ...
- 计算机微程序控制器实验报告,计算机组成原理实验报告三:微程序控制器实验.doc...
计算机组成原理实验报告三:微程序控制器实验.doc 微程序控制器实验报告一. 实验目的1 掌握微程序控制器的功能.组成知识.(2)掌握为程序的编制.写入.观察微程序的运行二.实验设备PC机一台,TD- ...
- 408中的计算机组成原理,2019考研408计算机组成原理知识:总线概述
计算机组成原理在408计算机综合考试中所占分值45分,说明是必考的重点内容,考生要在这部分多花时间复习.以下是新东方在线整理的的计算机组成原理知识,希望大家认真看. 2019考研408计算机组成原理知 ...
- 计算机组成原理中LD,计算机组成原理课件第三章计算机中的数据表示.ppt
计算机组成原理课件第三章计算机中的数据表示.ppt 第三章 计算机中数据的表示,学时6个学时 重点掌握各种数据的编码方法,主要内容,概述 字符编码 中文编码 逻辑数据 数值数据 校验码,概述,计算机中 ...
- 计算机组成原理 扩展指令的操作码,2019考研408计算机组成原理知识:指令格式
2019考研408计算机组成原理知识:指令格式 2018-01-15 16:28 | 考研集训营 2019考研计算机如何来复习呢?文都考研集训营建议参加2019考研计算机的考生可以开始看专业课最基础的 ...
- 计算机专业408题目结构,2019考研408计算机组成原理知识:计算机系统层次结构
计算机组成原理在408计算机综合考试中所占分值45分,说明是必考的重点内容,考生要在这部分多花时间复习.以下是新东方在线整理的的计算机组成原理知识,希望大家认真看. 2019考研408计算机组成原理知 ...
- 计算机组成定时方式,2019考研408计算机组成原理知识:总线操作和定时
2019考研408计算机组成原理知识:总线操作和定时 2018-01-16 17:23 | 考研集训营 2019考研计算机如何来复习呢?文都考研集训营建议参加2019考研计算机的考生可以开始看专业课最 ...
- 大学计算机知识考试题,大学计算机基础理论知识前三章测试题
<大学计算机基础理论知识前三章测试题>由会员分享,可在线阅读,更多相关<大学计算机基础理论知识前三章测试题(8页珍藏版)>请在装配图网上搜索. 1.第一章引论选择题1. 工资管 ...
- 计算机小知识——键盘三颗灯含义
计算机小知识--键盘三颗灯含义 我们称呼为状态指示区 1.代表数字键盘键"numlock",亮为可输入状态,反之已然. 2.代表大小写字母切换,亮为大写状态,按键盘上shift 键 ...
最新文章
- 源码解读:KubeVela 是如何将 appfile 转换为 K8s 特定资源对象的
- 30个数据可视化小技巧(文末赠书)
- php如何解码图片,php基于base64解码图片与加密图片还原实例_PHP
- Java 高级类(下) —— 内部类和匿名类
- python爬取百度百科搜索结果_用Python抓取百度搜索结果,python,爬取,的
- java内部类实现方式_Java内部类详解
- 神奇!大神利用AI修复古董纪录片,还原1920年的京城生活
- WebFlux响应式编程基础之 3 Stream 流 编程
- leetcode-141. 环形链表:判断链表是否成环
- 快速得到容器ID和veth bridge interface的关系
- nanomsg应用中的问题整理
- 自我介绍Linux运维小白,运维面试自我介绍
- z77主板升级nvme,迁移系统,蓝屏解决方法
- MT6589下载工具,MT6589刷机工具
- 图解Activity启动流程
- 大数据-玩转数据-IDEA创建Maven工程
- IE无法查看源文件原因及解决办法
- Unity Shader 实现简单的宝石渲染
- Unity下实现弹簧骨骼(Spring Bone)
- 趣图:我说自己菜 vs 大佬说自己菜
热门文章
- Obsidian自用Markdown语法总集
- android项目uc浏览器,Android版UC浏览器7.4正式更新
- 三菱模拟量fx3u4da_模拟量输出用适配器FX3U-4DA-ADP原装三菱FX3U-4DA-ADP 三菱 plc输出单元模块 - 广州凌控...
- html 给文字的特效,文字特效.html
- BZOJ3323 文艺平衡树 (splay 绿色无毒模板)
- 【博弈论】海盗分金币
- 装酷神器让你的手机一秒穿越到 Windows 电脑桌面,神秘!
- LeetCode——1947. 最大兼容性评分和(Maximum Compatibility Score Sum)[中等]——分析及代码(Java)
- 自动化技术如何与冲压模具相结合!
- 通过api 获取eloqua的数据(完整版)