6.存储器概述,主存储器

news2024/11/18 0:46:12

目录

一. 存储系统基本概念

(1)存储系统的层次结构

(2)分类

(3)存储器的性能指标

二. 主存储器的基本组成

三. SRAM和DRAM

四. 只读存储器ROM

五. 提升主存速度的方法

(1)双端口RAM

(2)多体并行存储器

六. 主存储器与CPU的连接

(1)位扩展

(2)字扩展

(3)字-位同时扩展


一. 存储系统基本概念

(1)存储系统的层次结构

注:有的教材把安装在电脑内部的磁盘称为“辅存”,把U盘、光盘等称为“外存”。也有的教材把磁盘、U盘、光盘等统称为“辅存”或“外存”。

辅存中的数据要调入主存后才能被CPU访问。主存―辅存:实现虚拟存储系统,解决了主存容量不够的问题。Cache—主存:解决了主存与CPU速度不匹配的问题。

(2)分类

按层次分类:

按存储介质分类:半导体存储器,磁表面存储器,光存储器。

按存取方式:随机存取存储器(RandomAccess Memory,RAM):读写任何一个存储单元所需时间都相同,与存储单元所在的物理位置无关。顺序存取存储器(SequentialAccess Memory,SAM):读写一个存储单元所需时间取决于存储单元所在的物理位置。直接存取存储器(Direct AccessMemory,DAM):既有随机存取特性,也有顺序存取特性。先直接选取信息所在区域,然后按顺序方式存取。SAM和DAM都是串行访问存储器,读写某个存储单元所需时间与存储单元的物理位置有关。相联存储器(Associative Memory):即可以按内容访问的存储器(ContentAddressesd Memory,CAM),可以按照内容检索到存储位置进行读写,“快表”就是一种相联存储器。

按信息的可更改性:读写存储器(Read/Write Memory)——即可读、也可写(如:磁盘、内存、Cache)。只读存储器(Read Only Memory)——只能读,不能写(如:实体音乐专辑通常采用CD-ROM,实体电影采用蓝光光碟,BIOS通常写在ROM中)。

按信息的可保存性:断电后,存储信息消失的存储器―—易失性存储器(主存、Cache)
断电后,存储信息依然保持的存储器――非易失性存储器(磁盘、光盘)
信息读出后,原存储信息被破坏――破坏性读出(如DRAM芯片,读出数据后要进行重写)信息读出后,原存储信息不被破坏――非破坏性读出(如SRAM芯片、磁盘、光盘)

(3)存储器的性能指标

1.存储容量:存储字数×字长(如1M×8位)。MDR位数反映存储字长。

2.单位成本:每位价格=总成本/总容量。
3.存储速度:数据传输率=数据的宽度/存储周期。数据的宽度即存储字长。

①存取时间(Ta):存取时间是指从启动一次存储器操作到完成该操作所经历的时间,分为读出时间和写入时间。
②存取周期(Tm):存取周期又称为读写周期或访问周期。它是指存储器进行一次完整的读写操作所需的全部时间,即连续两次独立地访问存储器操作(读或写操作)之间所需的最小时间间隔。
主存带宽(Bm):(主存带宽又称数据传输率,表示每秒从主存进出信息的最大数量,单位为字/秒、字节/秒(B/s)或位/秒(b/s)。

二. 主存储器的基本组成

存储器由存储体,MAR和MDR组成。存储体又由存储元构成。

每一个存储元由MOS管和电容组成。MOS管可理解为一种电控开关,输入电压达到某个阈值时,MOS管就可以接通。

  • 存储0/1:电容器有电荷则为1,没有电荷则为0;
  • 读0/1:MOS管接高于阈值的电压,使得MOS管导通,此时在右面检测,有电荷则为读出1,没有电荷则为读出0;
  • 写0/1:MOS管接高于阈值的电压,使得MOS管导通,右面为高电平则向电容写入1,为低电平则向电容写入0;

多个存储单元可以组成一个存储体。除了存储体之外,还有译码器(输入地址总线,n位地址,对应2^n个存储单元)。控制电路,片选线(划线表示低电平有效)。

简化图里面有一个译码驱动,作用是稳定的输出选择存储单元的红线(字选择线)信号。上图的每根线都会对应一个金属引脚。另外还有供电引脚,接地引脚等。由于n位地址→2^n个存储单元,总容量=存储单元个数×存储字长。例如8K×8位,即2^{13}\times 8bit,8K×1位,即2^{13}\times 1bit。

最后介绍一下寻址。总容量为1KB。关于字节地址向字地址的转换,算术左移两位即可。

  • 按字节寻址: 1K个单元(需要10根地址线,1K=2^{10}),每个单元1B。
  • 按字寻址:256个单元,每个单元4B
  • 按半字寻址:512个单元,每个单元2B
  • 按双字寻址:128个单元,每个单元8B

三. SRAM和DRAM

顺序存取存储器(SAM):读写一个存储单元所需时间取决于存储单元所在的物理位置。直接存取存储器(DAM):既有随机存取特性,也有顺序存取特性。DRAM用于主存、SRAM用于Cache。现在的主存通常采用SDRAM芯片。

DRAM芯片:就是上一节介绍的,利用电容+MOS管制造。

SRAM芯片:使用双稳态触发器存储信息。双稳态:1:A高B低;0:A低B高。

电容放电信息被破坏,是破坏性读出。读出后应有重写操作,也称“再生”。每个存储元制造成本更低,集成度高,功耗低,读取速度慢。

双稳态触发器读出数据,触发器状态保持稳定,是非破坏性读出,无需重写。每个存储元制造成本更高,集成度低,功耗大,读取速度快。

初学者应当注意区分“破坏性读出”和“易失性”的区别。

最后补充一下DRAM的刷新问题。电容内的电荷只能维持2ms,即便不断电,2ms后信息也会消失。因此2ms内必须“刷新”一次(给电容充电)。通常,每次刷新一行存储单元。这就引出另一个问题—―为什么要用行列地址?答案是减少译码器的选通线数量:

刷新有硬件支持,由存储器独立完成,不需要CPU控制。读出一行的信息后重新写入,占用1个读/写周期。至于刷新的方式,有三种刷新方式:分散刷新,集中刷新,异步刷新。假设DRAM内部结构排列成128×128的形式,读/写周期(也称存取周期)0.5\mu s。这样2ms就是4000个读写周期。

关于DRAM的地址线复用技术:行、列地址分两次送,可使地址线更少芯片引脚更少。原本需要n个,现在只需要n/2个。

四. 只读存储器ROM

RAM芯片一一易失性,断电后数据消失。ROM芯片——非易失性,断电后数据不会丢失。

ROM芯片虽然名字是“Read-Only”,但很多ROM也可以“写”闪存的写速度一般比读速度更慢,因为写入前要先擦除。很多ROM也具有“随机存取”的特性。

MROM (Mask Read-Only Memory) 一一掩模式只读存储器,厂家按照客户需求,在芯片生产过程中直接写入信息,之后任何人不可重写(只能读出)可靠性高、灵活性差、生产周期长、只适合批量定制。
PROM (Programmable Read-Only Memory) ——可编程只读存储器用户可用专门的PROM写入器写入信息,写一次之后就不可更改。
EPROM (Erasable Programmable Read-Only Memory)——可擦除可编程只读存储器允许用户写入信息,之后用某种方法擦除数据,可进行多次重写。
UVEPROM (ultraviolet rays)——用紫外线照射8~20分钟,擦除所有信息。
EEPROM(也常记为E2PROM,第一个E是Electrically)——可用“电擦除”的方式,擦除特定的字
每个存储元只需单个MOS管,位密度比RAM高。
Flash Memory ——闪速存储器(注:U盘、SD卡就是闪存)。在EEPROM基础上发展而来,断电后也能保存信息,且可进行多次快速擦除重写注意:由于闪存需要先擦除在写入,因此闪存的“写”速度要比“读”速度更慢。手机辅存也使用Flash芯片,但相比SSD使用的芯片集成度高、功耗低、价格贵。
SSD (Solid State Drives) ——固态硬盘,由控制单元+存储单元(Flash芯片)构成,与闪速存储器的核心区别在于控制单元不一样,但存储介质都类似,可进行多次快速擦除重写。SSD速度快、功耗低、价格高。目前个人电脑上常用SSD取代传统的机械硬盘。

主板上的BIOS芯片(ROM),存储了“自举装入程序”,负责引导装入操作系统(开机)。但注意:我们常说“内存条”就是“主存”,但事实上,主板上的ROM芯片也是“主存”的一部分。逻辑上主存由RAM+ROM组成,它们统一编址。

五. 提升主存速度的方法

分别是两种主存优化技术。DRAM芯片的恢复时间比较长,有可能是存取时间的几倍(SRAM的恢复时间较短)。多核CPU都要访存,怎么办? CPU的读写速度比主存快很多,主存恢复时间太长怎么办?

(1)双端口RAM

双端口RAM解决多核CPU都要访存的问题,优化多核CPU访问一根内存条的速度。图示两个CPU1和CPU2,需要有两组完全独立的数据线、地址线、控制线。CPU、RAM中也要有更复杂的控制电路。两个端口对同一主存操作有以下4种情况:
1.两个端口同时对不同的地址单元存取数据。
2.两个端口同时对同一地址单元读出数据。
3.两个端口同时对同一地址单元写入数据,此时发生写入错误。
4.两个端口同时对同一地址单元,一个写入数据,另一个读出数据。此时发生读出错误。

解决方法:置“忙”信号为0,由判断逻辑决定暂时关闭一个端口(即被延时),未被关闭的端口正常访问,被关闭的端口延长一个很短的时间段后再访问。

(2)多体并行存储器

多体并行存储器每个模块都有相同的容量和存取速度。各模块都有独立的读写控制电路、地址寄存器和数据寄存器。它们既能并行工作,又能交叉工作。可以理解为“多根内存条”。首先介绍什么是高位交叉编址和低位交叉编址。高位交叉编址就是高位表示存储体编号,低位交叉编址就是低位表示存储体编号。

现在考虑连续读取n个存储字。如果使用高位编址,因为这几个地址对应的存储单元都在M0,所以必须等其恢复之后在进行访问,而如果采用低位编址,我们可以访问M0,然后在M0的恢复时间去访问M1...以此类推,到M3读取完,M0的恢复时间也刚好结束。宏观上低位编址读写一个字的时间接近r。

所以,低位编址可以采用“流水线”的方式并行存取(宏观上并行,微观上串行)。宏观上,一个存储周期内,m体交叉存储器可以提供的数据量为单个模块的m倍。存取周期为T,存取时间(总线传输时间)为r,为了使流水线不间断,应保证模块数m≥T/r。

与多模块存储器对应的还有单体多字存储器,每个存储单元存储m个字,总线宽度也为m个字,一次并行读出m个字。每次只能同时取m个字,不能单独取其中某个字。

六. 主存储器与CPU的连接

(1)位扩展

(2)字扩展

线选法:把地址位直接接CS,此时地址不连续。

译码片选法:n条线,2^n个选片信号。

(3)字-位同时扩展

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

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

相关文章

matplotlib 设置标签和图例

常用标签 xlabel:x轴标签名称。 ylabel:y轴标签名称。 title:图像标题。 设置x和y轴的刻度:xticks和yticks。 nums np.arange(0, 1.3, 0.01)# 设置标题 plt.title("title") # 设置横坐标信息 plt.xlabel("x-…

Spark的转换算子和操作算子

1 Transformation转换算子 1.1 Value类型 1)创建包名:com.shangjack.value 1.1.1 map()映射 参数f是一个函数可以写作匿名子类,它可以接收一个参数。当某个RDD执行map方法时,会遍历该RDD中的每一个数据项,并依次应用f函…

中低收入群体能在“双十一”购物狂欢吗?

今天这个“双十一”购物狂欢节,在各大网站的报道的确蜂拥而上,显得很有点儿“狂欢”的景象,可读罢内容却听到哀鸿遍野。 笔者仅只接力“腾迅新闻”和“今日头条”几小时前分别发表的《 双11十五年,价格战还能打多久?》…

乡村振兴 品牌引领 “盘锦碱地柿子”亮相第二十届中国国际农产品交易会

2023年11月9日,为期4天的第二十届中国国际农产品交易会在山东青岛成功举办。本次大会以“奋进新征程强农促振兴”为主题。农交会是经党中央、国务院批准,农业农村部主办的大型农业行业盛会,在宣传“三农”政策、展示农业农村发展成就、活跃农…

58基于matlab的采样的运动规划算法-RRT(Rapidly-exploring Random Trees)

基于matlab的采样的运动规划算法-RRT(Rapidly-exploring Random Trees),3D和2D,原始的RRT算法中将搜索的起点位置作为根节点,然后通过随机采样增加叶子节点的方式,生成一个随机扩展树,当随机树的叶子节点进入目标区域,…

一文带你了解栈的基本概念以及栈的实现

✏️✏️✏️今天给大家分享一下栈的基本概念、线性栈的自定义实现,以及栈的应用题目。 清风的CSDN博客 😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流&#xff01…

13. 高精度延时

13. 高精度延时 GPT 定时器简介GPT 定时器结构GPT 定时器工作模式 GPT 定时器相关寄存器GPTx_CRGPTx_PRGPTx_SRGPTx_CNTGPTx_OCR GPT 配置步骤程序编写bsp_delay.hbsp_delay.cmain GPT 定时器简介 GPT 定时器是一个 32 位向上定时器,也就是从0x00000000 开始向上递…

蓝桥杯算法竞赛第一周题型总结

本专栏内容为:蓝桥杯学习专栏,用于记录蓝桥杯的学习经验分享与总结。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库🚚 🌹&#x1f33…

LCD1602设计(1)

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步! > 发布人:日月同辉,与我共生_单片机-CSDN博客 > 欢迎你为独创博主日月同…

【技术支持】DevTools中重写覆盖源js文件

sources面板下,左侧overrides标签下添加一个文件夹,并同意。 勾选Enable Local overrides 然后在page标签下,修改文件后ctrls保存 直接就保存在overrides的文件夹下了

FL Studio 21.2.0.3842中文破解版2024最新系统要求

FL Studio 21.2.0.3842中文版完整下载是最好的音乐开发和制作软件也称为水果循环。它是最受欢迎的工作室,因为它包含了一个主要的听觉工作场所。2024最新fl studioFL Studio 21版有不同的功能,如它包含图形和音乐音序器,帮助您使完美的配乐在…

颠覆人工智能计算硬件的新计算技术

颠覆人工智能计算硬件的新计算技术 图纸解释说明参考网址加法器模拟解析图纸 解释说明 简单的介绍 使用一个小的llm 模拟 计算最小单元加法器 等硬件 在使用 简单的 电阻矩阵模拟矩阵计算 固化llm 参数代替 半导体硬件 而后组成 大规模人工智能计算 参考网址 加法器 但是直接…

CMake教程--QT项目使用CMake

CMake教程--QT项目使用CMake Chapter1 CMake教程--QT项目使用CMake1. Basic Cmake Based Project2. Executable VS Library3. Every module has its own CMakeList.txt in its folder3.1 不推荐的做法:3.2 推荐的做法 4. 强制以Debug, Release, RelWithDebInfo, Min…

2024“点点点”测试员如何上岸测试开发岗?附完整学习路线

有很多人员会不断问自己,自己到底要不要学测试,或者要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼&…

论文笔记:SimiDTR: Deep Trajectory Recovery with Enhanced Trajectory Similarity

DASFFA 2023 1 intro 1.1 背景 由于设备和环境的限制(设备故障,信号缺失),许多轨迹以低采样率记录,或者存在缺失的位置,称为不完整轨迹 恢复不完整轨迹的缺失空间-时间点并降低它们的不确定性是非常重要…

Python进行多维数据分析

多维数据分析是对数据的信息分析,它考虑了许多关系。让我们来介绍一些使用Python分析多维/多变量数据的基本技术。 从这里找到用于说明的数据的链接。(https://archive.ics.uci.edu/dataset/111/zoo) 以下代码用于从zoo_data. csv读取2D表格…

无人机航迹规划:五种最新智能优化算法(GRO、SWO、COA、LSO、KOA)求解无人机路径规划MATLAB

一、五种算法(GRO、SWO、COA、LSO、KOA)简介 1、淘金优化算法GRO 淘金优化算法(Gold rush optimizer,GRO)由Kamran Zolf于2023年提出,其灵感来自淘金热,模拟淘金者进行黄金勘探行为。VRPTW&am…

2015年计网408

第33题 通过 POP3 协议接收邮件时, 使用的传输层服务类型是( ) A. 无连接不可靠的数据传输服务 B. 无连接可靠的数据传输服务 C. 有连接不可靠的数据传输服务 D. 有连接可靠的数据传输服务 本题考察邮件接收协议POP3使用的运输层服务类型。 如图所示。接收方用户代理使用pop…

Maven内网开发使用离线仓库

Maven内网开发使用离线仓库 离线或者内网环境开发与外网不通,中央仓库连不上,使用 Maven 管理项目会遇到很多问题。 比如:依赖包缺失,内网的Nexus私服的包老旧,很久没有维护,项目无法运行打包,…

pytorch中对nn.BatchNorm2d()函数的理解

pytorch中对BatchNorm2d函数的理解 简介计算3. Pytorch的nn.BatchNorm2d()函数4 代码示例 简介 机器学习中,进行模型训练之前,需对数据做归一化处理,使其分布一致。在深度神经网络训练过程中,通常一次训练是一个batch&#xff0c…