计算机存储体系

news/2025/2/20 19:03:48/

目录

一、基本概念

二、主存储器的基本组成

三、SRAM和DRAM

四、只读存储器ROM

五、主存储器与CPU的连接

六、双端口RAM和多模块存储器

七、磁盘存储器

八、固态硬盘SSD 

九、Cache高速缓冲存储器

十、虚拟存储系统


一、基本概念

存储器的层次结构

主存——辅存:实现了虚拟存储系统,解决了主存容量不够的问题

主存——cache:解决了主存与CPU速度不匹配的问题

存储器的分类

按存取方式分类

随机存取存储器 RAM:Random Access Memory,主存

顺序存取存储器 SAM:Sequential Addressed Storage,磁带

直接存取存储器 DAS:Direct Access Storage,磁盘、机械硬盘

相联存储器 CAM:Content Addressed Memory,按照内容检索存储位置进行读写

只读存储器 ROM:Read-Only Memory,事实上很多ROM也可以写入数据,只是比较麻烦

按信息的可保存性分类

易失性存储器:断电后,存储信息消失,如主存、Cache

非易失性存储器:断电后,存储信息保持,如光盘、磁盘

破坏性读出:信息读出后,原存储信息被破坏,如DRAM芯片,读出数据后要进行重写

非破坏性读出:信息读出后,原存储信息不被破坏,如SRAM芯片

二、主存储器的基本组成

 

 

三、SRAM和DRAM

SRAM:Static Random Access Memory

DRAM:Dynamic Random Access Memory

DRAM用于主存,SRAM用于Cache

DRAM芯片:使用栅极电容存储信息

SRAM芯片:使用双稳态触发器存储信息

栅极电容与双稳态触发器

栅极电容:通过电容放电读出信息,是破坏性读出,读出后应有重写操作,也称“再生”

双稳态触发器:读出数据,触发器状态保持稳定,是非破坏性读出,无需重写

一个栅极电容读写1bit位需要1个MOS管,一个双稳态触发器读写1bit位需要6个MOS管,故栅极电容成本更低、功耗更低

DRAM和SRAM都是易失性存储器,即断电后信息消失。

DRAM芯片需要刷新,SRAM芯片不需要刷新。

DRAM芯片采用栅极电容存储电荷,但是电荷会流失,电容内的电荷只能维持2ms,即便不断电,2ms后电荷信息也会消失,故栅极电容2ms内必须给电容充一次电,即“刷新”。

SRAM芯片采用双稳态触发器保存信息,只要不断电,触发器的状态就不会改变,故不需要“刷新”。

DRAM存储器的组成

DRAM存储器的地址以矩阵方式排列,分为行地址和列地址,目的是减少选通线的数量。

 

DRAM的刷新

刷新周期:一般为2ms

刷新单位:以行为单位,每次刷新一行存储单元

刷新方式:读出一行信息后重新写入,占用1个读/写周期

刷新策略

①分散式刷新:每次读写玩都刷新一次

②集中式刷新:2ms内集中安排时间全部刷新,有一段时间专门用于刷新,无法访问存储器,称为访存“死区”

③异步式刷新:2ms内每行刷新一次即可,在CPU不访问存储器阶段刷新,如译码阶段

 

DRAM的地址线复用技术

DRAM与SRAM对比

 

四、只读存储器ROM

RAM芯片:易失性,断电后数据消失

ROM芯片:非易失性,断电后数据不消失

ROM芯片类型

MROM——掩模式只读存储器:在芯片生产过程中直接写入数据,任何人不可重写(只能读出),可靠性高,灵活性差

PROM——可编程只读存储器:用户可用专门的PROM写入器写入数据,写一次后不可修改

 

EPROM——可擦除可编程只读存储器:用户写入信息后,可用某种方法擦除数据,可进行多次重写

UVEPROM——ultraviolet rays,紫外线照射,擦除全部信息

EEPROM——electrically,电擦除,擦除特定的字

 

Falsh Memory——闪存,如U盘、SD卡,可进行多次快速擦除重写,写入需要先擦除再写入,故写数据速度慢于读数据

 

SSD——固态硬盘:可进行多次快速擦除重写

五、主存储器与CPU的连接

传统计算机的MAR和MDR集成在主存储器上,现代计算机大多是将MAR和MDR集成在CPU上

增加主存的存储字长——位扩展

 

增加主存的存储字长——字扩展

主存容量扩展——字位同时扩展

六、双端口RAM和多模块存储器

多体并行存储器

采用“流水线”的方式并行存取(宏观上并行,微观上串行)。

宏观上,一个存储周期内,m体交叉存储器可以提供的数据量是单个模块的m倍。

存取周期T,存取时间为r,为了使流水线不间断,应保证模块数 m≥T/r

存取周期 = 存取时间 + 恢复时间

七、磁盘存储器

磁盘设备的组成

磁盘的性能指标

 

磁盘地址

磁盘阵列RAID

RAID:Redundant Array of Inexpensive Disks,廉价冗余磁盘阵列,将多个独立的物理磁盘组成一个独立的逻辑盘,数据在多个物理盘上分割交叉存储、并行访问,具有更好的存储性能、可靠性和安全性。

八、固态硬盘SSD 

SSD原理:基于闪存技术 Flash Memory,属于电可擦除ROM,即EEPROM

SSD组成:

  • 闪存翻译层:负责翻译逻辑块号,找到对应页
  • 存储介质:多个闪存芯片(Flash Chip),每个芯片包含多个块(Block),每个块包含多个页(Page)

 

读写性能特性:

  • 以“页”为单位读写,以“块”为单位擦除
  • 支持随机访问,系统给定一个逻辑地址,闪存翻译层通过电路迅速定位到指定的物理地址
  • 读快写慢。写操作的内存页如果有数据,则不能直接写入,需将块内其他页全部复制到一个新的干净的块中,再在新的块中写入数据,原本的块擦除干净

固态硬盘与机械硬盘的比较:

  • SSD读写速度更快,随机访问性能高,用电路控制访问位置;机械硬盘通过移动磁臂旋转磁盘控制访问位置,有寻道时间和旋转延迟
  • SSD安静无噪音、耐摔抗震、能耗低、造价更贵
  • SSD的一个“块”被擦除次数过多(重复写同一个“块”)可能会坏掉,而机械硬盘的扇区不会因为写的次数过多而坏掉

固态硬盘磨损均衡技术:

  • 思想:将擦除平均分布到不同的“块”上,以提升使用寿命
  • 动态磨损均衡:写入数据时,优先使用累计擦除次数少的较新闪存快
  • 静态磨损均衡:SSD检测并自动进行数据分配、迁移,让老的闪存快承担以读为主的存储任务,让较新的闪存快承担更多的写任务

九、Cache高速缓冲存储器

Cache基本概念和原理

  • 空间局部性:在最近的未来要用到的信息(指令和数据),很可能和现在正在使用的信息在存储空间上是相邻的。(数组元素、顺序执行的指令代码)
  • 时间局部性:在最近的未来要用到的信息,很可能是现在正在使用的信息。(循环执行的指令代码)
  • 基于局部性原理,CPU将当前访问的地址“周围”的部分数据放到Cache中

基于局部性原理,Cache将当前访问的地址“周围”的部分数据放入Cache中,如何界定周围?

Cache和主存的映射关系

 

Cache替换算法

 

Cache写策略

 

 

 

十、虚拟存储系统

页式虚拟存储器

段式虚拟存储器

段页式虚拟存储器

 


http://www.ppmy.cn/news/191878.html

相关文章

8.8.1 使用 EXPLAIN 优化查询

EXPLAIN 语句提供了有关 MySQL 如何执行语句的信息: EXPLAIN 适用于 SELECT、DELETE、INSERT、REPLACE 和 UPDATE 语句。当 EXPLAIN 与可解释的语句一起使用时,MySQL 会显示来自优化器的有关语句执行计划的信息。也就是说,MySQL 解释了它将如…

2023 年 04 月编程语言排行榜

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 TIOBE 2023 年 04 月份的编程语言排行榜已经公布,官方的标题是:Zig 语言进入 TIOBE 指数前 50。 Zig 是一种通用的编程语言和工具链&#xf…

程序员编程入门,你不得不知道的7大编程工具

作为入门级别的程序员,几款趁手的编程软件是最需要的。除了Git、Visual Basic……等等,其实还有很多很很酷的编程工具。接下来就给大家看7款不一样的编程工具,如有心动,纯属巧合。 0.Warp,一款非常简单且由于共享的工具…

程序员喜欢的5款最佳代码比较工具

俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界。工欲善其事,必先利其器,每一位程序员都有自己私…

2022年11月编程排行榜

2022年11月Tiobe编程排行榜已更新,研一的生涯也快结束,来看一下本月各大编程语言有何新进展: 目录:11月编程排行榜 一、榜单情况二、榜单简单的分析 一、榜单情况 这里只展示排名靠前的前15名: TOP 10编程语言TIOBE指…

编程开发使用的软件大全

(今天太晚了,以后再慢慢写) 说明: 本文提及的所有软件都至少是笔者曾经使用过的,而不是阅自其它文献。 对于其中的某些软件,笔者也编写过其完整的安装教程,可阅读笔者编写的其它博客。 关于编程弱相关的其它辅助性软…

2021最新编程语言排行榜

IEEE Spectrum 发布了 2021 年编程语言排行榜,官方的标题是:Python 在新技术领域依然是主导地位。 Python 近几年随着大数据、数据挖掘、人工智能等领域的发展,越来越受到大家的青睐,由于 Python 上手学习比较简单,除…

程序员工具推荐

一:开发工具 eclipse,IDEA自己一直用eclipse,不用破解官网下载即用方便功能也算强大够用。 Idea功能更强一些,但是需要购买或者破解,学生版一段时间就不能用了。 二:数据库链接工具 支持多种数据库链接:nav…