3-1存储系统-存储器概述主存储器

news2024/12/23 1:23:13

文章目录

  • 一.存储器概述
    • (一)存储器分类
      • 1.按在计算机中的作用(层次)分类
      • 2.按存储介质分类
      • 3.按存取方式分类
      • 4.按信息的可保存性分类
    • (二)存储器的性能指标
  • 二.主存储器
    • (一)基本组成
      • 1.译码器
      • 2.控制电路
      • 3.片选线
      • 4.读/写控制线
      • 5.存储矩阵
      • 6.译码驱动
      • 7.读写电路
      • 8.寻址
      • 9.地址线与数据线
    • (二)SRAM和DRAM
      • 1.刷新
      • 2.减少选通线数量
    • (三)ROM

一.存储器概述

(一)存储器分类

1.按在计算机中的作用(层次)分类

(1)主存储器(主存/内存储器/内存)
用来存放计算机运行期间所需的大量程序和数据,CPU可以直接对其进行访问。容量小、速度快、价格高。
(2)辅助存储器(辅存/外存储器/外存)
用来存放暂时不用的程序和数据,以及一些需要永久保存的信息,不能直接与CPU交换信息。容量大、速度慢、成本低。
(3)高速缓冲存储器(Cache)
介于主存和CPU之间,用来存放正在执行的程序段和数据,以便CPU能高速地使用它们。Cache和存取速度和CPU的速度相匹配。容量小,价格高,速度介于主存和CPU之间。现代计算机通常将其制作在CPU中。

在这里插入图片描述
在这里插入图片描述

主存一辅存:实现虚拟存储系统,解决了主存容量不够的问题
Cache一主存:解决了主存与CPU速度不匹配的问题

  • 什么是多级存储系统
    为了解决存储系统大容量、高速度和低成本3 个相互制约的矛盾,在计算机系统中,通常采用多级存储器结构。(如上图)
    实际上,存储系统层次结构主要体现在"Cache-主存”层次和“主存-辅存”层次。前者主要解决CPU和主存速度不匹配的问题,后者主要解决存储系统的容量问题。在存储体系中,Cache、主存能与CPU直接交换信息,辅存则要通过主存与CPU交换信息;主存与CPU、Cache、辅存都能交换信息。
    存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。从CPU的角度看,"Cache一主存"层次速度接近于Cache,容量和价位却接近于主存。从"主存一辅存"层次分析,其速度按近于主存,容量和位价动接近于辅存。这就解决了速度、容量、成本这三者之间的矛盾。
    在“主存一辅存”这一层次的不断发展中,逐渐形成了虚拟存储系统,在这个系统中程序员编程的地址范围与虚拟存储器的地址空间相对应。对具有虚拟存储器的计算机系统而言,编程时可用的地址空间远大于主存空间。
  • 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
    ①存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
    Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
    主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
    ②综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
    ③主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。

2.按存储介质分类

(1)磁表面存储器。如磁盘、磁带
(2)磁芯存储器
(3)半导体存储器。如MOS型存储器、双极型存储器,主存、Cache
(4)光存储器。如光盘

  • 计算机存储介质有哪些?这些介质哪些属于内存哪些属于外存?
    计算机存储介质有磁表面存储器、磁芯存储器、半导体存储器、光存储器。内存都属于半导体存储器,而半导体存储器不一定是内存。磁表面存储器和光存储器属于外存。

3.按存取方式分类

(1)随机存储器RAM:存储器的任何一个存储单元的内容都可以随机存取,读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关。断电后存储信息消失。读写方便、使用灵活,主要作用于主存和高速缓冲存储器
(2)只读存储器ROM:存储器的内容只能随机读出而不能写入。断电后存储信息不消失。和RAM可共同作为主存的一部分,统一构成主存的地址域。
(3)串行访问存储器。对存储单元进行读/写操作时,需按其物理位置的先后顺序寻址。包括
①顺序存取存储器SAM
读写一个存储单元所需时间取决于存储单元所在的物理位置。如磁带
②直接存取存储器DAM
既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。如磁盘、光盘
(4)相联存储器CAM
可以按内容访问的存储器。可以按照内容检索到存储位置进行读写。如“快表”

4.按信息的可保存性分类

(1)易失性存储器:断电后存储信息消失,如RAM、主存、Cache
(2)非易失性存储器:断电后信息仍然保持,如ROM、磁表面存储器、光存储器
(3)破坏性读出:信息读出时被破坏。如DRAM芯片,读出数据后要进行重写
(4)非破坏性读出:信息读出时不被破坏。如SRAM芯片、磁盘、光盘

(二)存储器的性能指标

(1)存储容量=存储字数(MAR位数)×字长(MDR位数)(如1M×8位)
(2)单位成本(即每比特位价格)=总成本(价格)/总容量
(3)存储速度(即数据传输率、主存带宽)=数据的宽度(即存储字长、MDR位数)/存储周期
注:主存带宽指每秒从主存进出信息的最大数量

在这里插入图片描述
①存取时间(Ta):存取时间是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。
②存取周期(Tm)/读写周期/访问周期:指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。

二.主存储器

(一)基本组成

主存由存储体、MAR、MDR组成。存储体由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位二进制代码

在这里插入图片描述

在这里插入图片描述
多个存储元连接形成存储体。存储单元可存储一串二进制代码,这串代码称为存储字,这串代码的位数称为存储字长

在这里插入图片描述

1.译码器

如何根据地址决定读写哪个存储字?
给出n位二进制地址,对应2n个存储单元。译码器根据MAR中的地址,转变成某个选通线的高电平信号(给指定的自选线高电平),将MOS管导通,电容中的电荷被导出,通过监测是否有电流判断是1还是0,即可读出存储字。通过数据线将每一位的二进制信息传送到MDR中,CPU通过数据总线从MDR中取出存储字。

总容量=存储单元个数×存储字长
如 8K×8位
表示总共有8K=213存储单元,每个存储单元有8位,13位地址,每个地址对应一行存储元,一行8个存储元
在这里插入图片描述

2.控制电路

用于控制译码器、MAR、MDR
MAR电信号后才能送到译码器,控制电路用于控制。数据输出时,电信号稳定后控制电路才允许MDR给数据总线输出数据

在这里插入图片描述

3.片选线

确定哪个芯片被选中
CS ‾ \overline{\text{CS}} CS芯片选择信号
CE ‾ \overline{\text{CE}} CE芯片使能信号
上划线表示低电平有效

4.读/写控制线

决定芯片是读还是写
(1)两根读/写线
WE ‾ \overline{\text{WE}} WE允许写
OE ‾ \overline{\text{OE}} OE允许读
(2)一根读/写线
WE ‾ \overline{\text{WE}} WE低电平写,高电平读

5.存储矩阵

大量相同的位存储单元(存储元)阵列构成

6.译码驱动

译码器和驱动器(加在译码器后面,保证输出电信号有效)。译码驱动负责将地址信号翻译成对应存储单元的选通信号
在这里插入图片描述

7.读写电路

完成读写操作。图中的线、控制电路都是读写电路

在这里插入图片描述
在这里插入图片描述

8.寻址

一个格子8bit,一行表示一个存储字(4B),设总容量1KB,则一共256行

在这里插入图片描述
(1)按字节编址:每个字节对应一个地址。1K个单元,每个单元1B,则地址线10根,地址范围0~1023
在这里插入图片描述
(2)按字寻址。设每个单元4B,则有256个单元
字地址算数左移两位,即可得到字节地址
如:字地址为1,将0000000001算数左移2位,得到0000000100,即字地址4
在这里插入图片描述
(3)按半字寻址:每个单元2B,512个单元
(4)按双字寻址:每个单元8B,128个单元

9.地址线与数据线

数据线数与地址线数共同反映存储芯片容量大小
(1)地址线:单项输入,位数与存储字的个数有关
(2)数据线:双向的,位数与读出或写入的数据位数有关

(二)SRAM和DRAM

根据存储原理的不同,可以把半导体随机存储器分为静态随机存取存储器SRAM(Static Random-Access Memory)和动态随机存取存储器DRAM(Dynamic Random Access Memory)

在这里插入图片描述

DRAM因为电容,所以是破坏性读出,因此需要重写,集成速度较慢,所以用作主存,成本低。DRAM较小,结构简单,因此集成度高,发热量小。电容里的电荷容易消失(刷新周期一般2ms),因此需要刷新。DRAM通常存储容量大,可以将行/列地址先分别放到行列缓冲区,分两批送到行/列地址译码器
在这里插入图片描述

1.刷新

以行为单位,每次刷新一行存储单元(二维的一行)。刷新有硬件支持,读出一行的信息后重新写入,占用1个读/写周期

①分散刷新:每次读写完都刷新一行,不会产生死区。存取周期变长,降低整机速度
②集中刷新:刷新时间固定,快到达2ms时安排时间对所有行进行刷新。存取速度快。集中刷新时无法访问存储器,称为访区“死区”
③异步刷新:2ms内保证每行刷新一次,刷新时同样会产生死区。缩短了死时间,又提高了整机速度。
④透明刷新:刷新安排在译码阶段,不存在死时间

  • 什么叫刷新?为什么要刷新?说明刷新有几种方法。
    ①刷新是对DRAM定期进行的全部重写过程
    ②刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作
    ③常用的刷新方法有三种:集中刷新、分散刷新、异步刷新、透明刷新。
    集中刷新:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。
    分散刷新:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。
    异步刷新:是集中式和分散式的结合,在刷新周期内保证每行刷新一次,缩短了死时间,提高了整机速度
    透明刷新:刷新安排在译码阶段,不存在死时间

2.减少选通线数量

n位的地址信息,需要2n根选通线,若将一维改二维,一半行地址,一半列地址,即行/列分别2n/2根

通过使用行列地址,可以减少选通线的数量

在这里插入图片描述
地址的高4位指定行,低4位指定列。行列选通信号都被选通,才可以进行读写操作
在这里插入图片描述

(三)ROM

随机存取,非易失性存储器;结构简单,位密度比可读写存储器高
分类:
1.掩膜式只读存储器(MROM)
Mask Read-Only Memory
芯片生产过程中直接写入,无法改变。可靠性高,集成度高,价格便宜,灵活性差,生产周期长、只适合批量定制

2.一次性可编程只读存储器(PROM)
Programmable Read-Only Memory
允许用户利用专门的设备写入自己的程序,一旦写入,无法改变

3.可擦除可编程只读存储器(EPROM)
Erasable Programmable Read-Only Memory
可写入,可多次改写。修改时要先擦除全部内容,然后再编程。分为紫外线擦除UVEPROM(可擦除全部信息)和电擦除EEPROM(可擦除特定的字)。EPROM编程次数有限,写入时间过长,无法取代RAM

4.闪速存储器
可以在不加电的情况下长期保存信息,也可以在线进行快速擦除与重写。价格便宜,集成度高,位密度高(每个存储元只需要单个MOS管),擦除重写速度快。写的速度比读的速度慢。如U盘、SD卡

5.固态硬盘SSD
可以长期保存信息,快速擦除重写。相对于传统硬盘,读写速度快,低功耗,价格高

  • 简述半导体随机存储器
    主存储器由DRAM实现,靠处理器的那一层(Cache)则由SRAM实现,它们都属于易失性存储器,只要电源被切断,原来保存的信息便会丢失。DRAM的每比特成本低干SRAM,速度也慢于SRAM。价格差异主要是因为制造DRAM需要更多的硅。ROM属于非易失性存储器。
    ①静态随机存储器SRAM的工作原理:通常把存放一个二进制位的物理器件称为存储元,它是存储器的最基本的构件。地址码相同时多个存储元构成一个存储单元。若干存储单元的集合构成存储体。SRAM的存储元是用双稳态触发器来记忆信息的,因此即使信息被读出后,它仍保持其原状态而不需要再生(非破坏性牍出)。SRAM的存取速度快,但集成度低,功耗较大,所以一般用来组成高速缓冲存储器。
    ②动态随机存取存储器DRAM的工作原理:DRAM是利用存储元电路中栅极电容上的电荷来存储信息的,DRAM的基本存储元通常只使用一个晶体管,所以它比SRAM的密度要高很多。DRAM采用地址复用技术,地址线是原来的1/2,且地址信号分行、列两次传送。相对于SRAM来说,DRAM具有容易集成、位价低、容量大和功耗低等优点,但DRAM的存取速度比SRAM的慢,一般用来组成大容量主存系统。DRAM电容上的电荷一般只能维持1~2ms,因此即使电源不断电,信息也会自动消失。为此,每隔一定时间必须刷新,这个时间称为刷新周期。常用的刷新方式有3种:集中刷新、分散刷新和异步刷新。
    ③只读存储器ROM的特点:ROM和RAM都是支持随机存取的存储器,其中SRAM和DRAM均为易失性半导体存储器。而ROM中一旦有了信息,就不能轻易改变,即使掉电也不会丢失,它在计算机系统中是只供读出的存储器。ROM器件有两个显著的优点:结构简单,所以位密度比可读写存储器的高;具有非易失性,所以可靠性高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/165081.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6 个必知必会高效 Python 编程技巧

编写更好的Python 代码需要遵循Python 社区制定的最佳实践和指南。遵守这些标准可以使您的代码更具可读性、可维护性和效率。 本文将展示一些技巧,帮助您编写更好的 Python 代码 文章目录遵循 PEP 8 风格指南1.遵守 PEP 8 命名约定2. 使用描述性的和有意义的变量名…

读书笔记--- ggplot2:数据分析与图形艺术

最近看了这本书《ggplot2:数据分析与图形艺术》(第2版),实际上网页在线版本已经更新到第3版了(https://ggplot2-book.org/)。 这本书页数不多,但是整体还是值得阅读,不愧是Hadley W…

【Proteus仿真】【STM32单片机】酒精浓度检测系统设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602显示模块、按键模块、LED和蜂鸣器、MQ-3酒精传感器模块等。 主要功能: 系统运行后,LCD1602显示酒精浓度值和阈值&…

插入排序.

根据找插入位置的方法分为: ①、顺序法定位插入位置——直接插入排序 ②、二分法定位插入位置——二分插入排序 ③、缩小增量多遍插入排序——希尔排序 一、直接插入排序(以升序为例) 先背模板! void insert_sort(int *a,int le…

远程服务器(恒源云)上使用NNI进行训练调参的详细流程

远程服务器(恒源云)上使用NNI进行训练调参的详细流程 一、环境配置 pip下载安装nni,(可使用豆瓣源,可快速下载,在安装命令后加 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com&#x…

VUE|后台管理项目——动态路由权限管理

公共数据复用1.1 为什么要公共数据复用?因为我们只有把导航和路由的数据公共的提出来,我们才能告知后端人员需要返回什么数据。1.2 怎么数据复用呢?首先,我们可以在utils文件夹里新建一个navDate.js的文件:把我们需要的…

go入门知识

step1:去https://go.dev下载golang step2:下载jetbrains的Goland编译器(安装的过程会自动帮你配置好环境变量) 一个最简单的go程序 package mainimport ("fmt" )func main() {fmt.Printf("Hello World")}1.定义变量: …

蓝桥杯C51(试题内容学习)

因为C51只有一组数码管,但是我们需要显示的东西有很多,所以通过按键切换是我们必须要知道的 按键之间有嵌套,切换,计数,对于按键的使用我们是必须知道的 1. HC573锁存器的选择 我们在之前的基础上对其进行了优化&…

java+springboot笔记2023005--java基础

Java语言是纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三种基本特征:继承、封装和多态。Java语言完全以对象为中心,Java程序的最小程序单位是类,整个Java程序由一个一个的类组成。 封装指的是将对象的 实现细…

【链表】无头单向非循环链表

本节知识所需代码已同步到gitee --》单链表关注作者,持续阅读作者的文章,学习更多知识! https://blog.csdn.net/weixin_53306029?spm1001.2014.3001.5343 单链表顺序表的问题及思考链表链表的概念及结构链表的分类无头单向非循环链表初始化链…

windows默认文件(桌面、下载、文档等)设置为C盘根路径后怎么修改回去

桌面、下载、文档等设置为C盘根路径后怎么修改回去1.问题2.解决办法2.1.按Win R调出运行窗口,输入regedit并按回车。2.2.在弹出的注册表窗口里,打开下面路径计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell F…

1.15 SPI数码管实验

一.SPI总线 SPI是全双工三/四总线制串行总线,支持多主机多从机模式,常用单主机多从机模式 数据传输可以先传输高位也可以先传输低位。 四线(单主机多从机): MOSI:主机输出,从机输入 …

9. 垃圾收集器与内存分配策略

整体思路 先考虑3个问题 哪些内存需要收集 堆和方法区需要收集;程序计数器、虚拟机栈、本地方法栈都不需要做垃圾回收(按照其功能很容易理解) 什么时候收集 对象已死。引申出另一个问题,怎么判断对象已死呢?当程序内…

外部链接<a>

创建外部链接 HTML 通过使用 标签在 HTML 中创建链接。 注意:移除 target“_blank” 属性避免点击链接会打开新的元素页。 使用a元素实现页面内跳转 a元素也可以用在网页内不同区域的跳转。 设置a元素的 href 属性值为井号#加上想跳转区域对应的id属性值&…

ASP.NET Core 3.1系列(28)——ASP.NET Core中使用Autofac替换内置IoC容器

1、前言 前面的博客主要介绍了一些Autofac的使用方法,示例代码都是基于控制台程序。本文就来介绍一下如何在ASP.NET Core中使用Autofac代替内置的IoC容器。 2、创建接口和类 这里搭建了一个简易的项目,如下图所示: Service层代码如下&…

长安汽车推动新伙伴变革重塑供应链模式发布长安智电iDD技术

1月12日,以“携手勇进一路有你”为主题的2023长安汽车全球伙伴大会在重庆大剧院举行。此次大会,是长安汽车总结过往生产经营良好态势,研判行业未来发展趋势,发布最新企业发展战略,与全球合作伙伴共谋新未来&#xff0c…

【JavaEE】网络编程基础之Socket套接字

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:网络编程基础之Socket套接字。 🚀🚀代码存放仓库gitee:JavaEE初阶代码存放! ⛵⛵作者…

机器学习:公式推导与代码实现-概率模型

最大信息熵模型 根据最大信息熵原理,信息熵最大时得到的模型是最优模型,即最大信息熵模型。 最大信息熵原理 信息论的开创者香农将信息的不确定程度称为熵,为了与热力学中熵的概念区分,这种信息的不确定程度又称信息熵。 最大信息熵原理认为在所有可能的概率模型中,熵…

【Python从入门到进阶】4、pycharm的安装及使用

接上篇《3、运行python代码》 上一篇我们学习了如何使用终端和执行文件运行python代码,本篇我们来学习python编程工具pycharm的安装及基本使用。 一、IDE的概念 上一篇我们介绍了使用命令行指令执行和文件编译的方法进行python代码的解释执行,但是仍然…