存储器是计算机系统中的记忆设备,用来存放程序和数据。
构成存储器的存储介质,目前主要是半导体器件和磁性材料。
一个双稳态半导体电路、一个CMOS晶体管或磁性材料的存储元均可以存储一位二进制代码。
存储位(元):存储器中最小的存储单元。
存储器:由若干个存储元组成一个存储单元,多个存储单元组成一个存储器。
存储介质:是指能寄存‘0‘’1‘两种代码并能区别两种状态的物质或元器件。
优点:体积小、功耗低、存取时间短
缺点:当切断电源时,所存信息也随即丢失,是一种易失性存储器。
磁表面存储器时在金属或塑料基体的表面上涂一层磁性材料作为记录介质,工作时磁层随磁体高速运转,用磁头在磁层上进行读/写操作。
特点:是非易失性的。
特点:是非易失性的、记录密度高、耐用性好、可靠性高和可互换性强。
特点:存储器的任何一个存储单元的内容都可以随机存取,而且存取时间与存储单元的物理位置无关。
又分为静态随机存储器(SRAM)和动态随机存储器(DRAM);
1、存储器容量
指的是存储器所能容纳的最大字存储位数。由于存储容量一般都很大,因此常以KB、MB、GB为单位。
存储器芯片容量=单元数×位数
2、存储周期
指实现一次完成的读出或写入数据的时间,是存储器连续启动两次读或写操作所允许的最短时间间隔。
3、功耗
半导体存储器属于大规模集成电路,集成度高、体积小、但是不容易散热,因此在保证速度的前提下应尽量减小功耗。
4、可靠性
指存储器对电磁场、温度变化等因素造成干扰的抵抗能力(电磁兼容性),以及在高速使用时也能正确的存取(动态可靠性)。
5、集成度
指在一块平方毫米芯片上所制作的基本存储单元数,常以“位/片”表示,也可以用“字节/片“表示。
6、其他
还应该考虑输入、输出电平是否与外电路兼容,对CPU总线负载能力的要求,使用是否方便灵活以及成本价格。
6.1.3存储器的分级结构
高速缓冲存储器(Cache)是计算机系统中的一个高速、小容量的半导体存储器,它位于CPU和主存之间,用于匹配两者的速度,达到高速存取指令和数据的目的。与主存相比,Cache的存取速度快,但存储容量小。
1、基本存储元
基本存储元是组成存储器的基础和核心,它用来存储1位二进制信息。
特点:在读出信息时,双稳态触发器的状态不受影响,因此是非破坏性读出。
SRAM是易失性的存储器。
2、SRAM的组成
3、SRAM的读/写过程
(1)读出过程
①地址码A0~A11加到RAM芯片的地址输入端,经X与Y地址译码器译码,产生行选与列选信号,选中某一存储单元,该单元中存储的代码,经一定时间,出现在I/O电路的输入端。I/O电路对读出的信号进行放大、整形,送至输出缓冲寄存器。
②在送入地址码的同时,还要送上读/写控制信号(R/W或RD、WR)和片选信号(CS)
(2)写入过程
①地址码加在RAM芯片的地址输入端,选中相应的存储单元,使其可以进行写操作。
②将要写入的数据放在DB上。
③加上片选信号CS=0及写入信号R/W=0,这两个有效控制信号打开三态门使DB上的数据进入输入电路,送到存储单元的位线上,从而写入该存储单元。
4、SRAM芯片举例
5、SRAM与CPU的连接
同CPU连接时,要完成地址线、数据线和控制线的连接。
(1)位扩展法:只加大字长,而存储器的字数与存储器芯片字数一致。假定使用8K×1的RAM存储器芯片组成8K×8位存储芯片如图所示:
(2)字扩展法:仅在字数扩充,而位数不变。将芯片的地位地址线、数据线、读/写控制线并联,由片选信号来区分各片地址,片选信号端连接到选片译码器的输出端。用16K×8位的芯片采用字扩展法组成64K×8位存储器如图所示:
(3)字位同时扩展法
(4)静态随机存取存储器的连接举例
在64KB的地址空间中,用8片2114构成4Kx8,即4KB存储区的全译码法连接方案:其地址范围为20000H~2FFFH,如图所示:
1、单管动态存储元:由一个MOS管子T1和一个电容C构成。
由单管动态存储元组成的存储体矩阵如图:
2、DRAM的刷新和DRAM控制器
一物多用:行地址选通既可以读写又可以刷新。
为了实现刷新,DRAM控制具有以下功能。
DRAM控制器需要按固定的时序提供行地址选通信号RAS,为此,用一个计数器产生刷新地址,同时用一个刷新定时器产生刷新请求信号,以此启动一个刷新周期,刷新地址和刷新请求信号联合产生行地址选通信号RAS,没刷新一行,就产生下一个行地址选通信号。
DRAM控制器一方面要在刷新周期中顺序提供行地址,以保证在2ms中使所有的DRAM单元都被率刷新一次;另一方面,要用一个多路开关对地址进行切换,刷新时只是来自刷新地址计数器的行地址而没有列地址,总线地址则被封锁。
当来自CPU对内存的正常读/写请求和来自刷新电路的刷新请求同时出现时,仲裁电路要做出仲裁,原则上,CPU的读/写请求优先于刷新请求。
3、动态随机存取存储器举例
4、高集成度DRAM
ROM的信息在使用时是不能被改变的,即只能读出,不能写入,一般存放固定程序。其可分为:
①掩膜MROM:信息制作在芯片中,不可更改;
②可编程PROM:允许一次编程,此后不可更改;
③可擦可编程EPROM:用紫外光擦除后可编程;允许用户多次擦除和编程;
④电可擦可编程EEPROM:采用加电方法在线擦除和编程也可多次擦写;
⑤Flash Memory(闪存):能够快速擦写的EEPROM,速度更快
掩膜ROM制成后,用户不能修改其存储的内容。
1.EPROM的存储单元电路
是由浮栅雪崩注入MOS管构成,如图。原始状态下栅极上没有电荷,该管没有导通沟道,D和S是不导通的。如果将源极和衬底接地,在衬底和漏极形成的PN结上加一个约24V的反向电压,则可以导致雪崩击穿,产生许多高能量的电子,电子比较容易越过绝缘薄层进入浮栅。
消除浮栅电荷的方法是利用紫外线光照射,由于紫外线光能量较高,从而浮栅中的电子获得能量,形成光电流从浮栅流入基片,从而使浮栅恢复初态。
EPROM的优点是一块芯片可多次使用,但是其缺点是擦掉时必须整块芯片擦除。使用起来不方便。而EEPROM在这方面具有很大的优越性。
1.EEPROM的基本特点
可以以字节为单位进行擦除和重写。
EEPROM的写入:
1、预充电,使得浮栅极聚集电子;
2、写入数据,如果写“0”则通过反向电压使浮栅极电 子消除;如果写“1”则将电子留在浮栅极。
EEPROM的读取:
1、如果浮栅极聚集了电子,栅极上的5伏电压将不能够打通该管,读出“1”。
2、如果浮栅极没有聚集电子,栅极上的5伏电压将打通该管,读出“0”。
2.Intel 2816
芯片的管脚排列与2716一致,只是在管脚定 上,数据线管脚对2816来说是双向的,以适应读写工作模式。
闪存(Flash Memory)是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是EEPROM的变种,闪存与EEPROM不同的是:EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。分类:
1.整体擦除快擦写存储器
2.对称型块结构快擦写存储器
3.带自举块快擦写存储器
虚拟存储器是一个容量非常大的存储器的逻辑模型,借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。工作于主存-外存层次,以透明的方式为用户提供一个比实际主存空间大得多的程序地址空间。根据地址格式的不同,分为:
①页式虚拟存储器:以定长的页为基本信息传送单位。
②段式虚拟存储器:按程序逻辑结构划分为多个相对独立的部分。
③段页式虚拟存储器:存储器分为若干段,每段又分为若干页。
1.实模式存储管理
8086只运行在实模式下,而80286以上CPU可以工作于实模式或受保护的虚地址模式下。
2.保护模式存储管理
为了避免应用程序破坏系统程序,或者破坏其他的应用程序,或者错误的把数据当做程序运行,引入保护模式:引入了虚拟存储器的概念。
Intel 80386CPU有32根地址线,当工作在保护模式时,全部32位地址线有效,可寻址高达4GB的物理地址空间。保护模式采用分段分页的虚拟存储器机制,使用46位虚拟地址,虚拟地址空间最大可达64TB。用户在程序中所使用的地址都是由“段选择符”和“偏移量”组成的逻辑地址,程序运行时,由存储管理机制吧逻辑地址转换成物理地址。
3.虚拟8086模式存储管理
虚拟8086模式是保护模式下的一种工作方式。在虚拟8086模式下,处理器类似于8086,寻址的地址空间是1MB,段寄存器的内容作为段地址解释,20位存储单元地址由段地址x16+偏移地址构成。但虚拟8086模式的工作原理与保护模式相同,通过使用分页功能,把虚拟8086模式下的1MB地址空间映射到80386的4GB物理空间中的任何位置。
文件存储、SharedPreferences存储、SQLite数据库存储,这三种 Android数据持久化方法中SharedPreferences存储可以说是实现起来相对比较简单的一种。获取SharedPreferences对象有三种方式 1、Context类中的getSharedPreferences 方法this.getSharedPreferences (String name, int
今天把Xcode升级到11.1,明明空间还有好几十G,但是却提示空间不足,所以感觉未必是Xcode APP本身大小的原因,一番调查后发现了原因,如下:1、在“/Users/apple/Library/Developer”下后两个目录,CoreSimulator和Xcode,是供开发用的。Xcode的DerivedData目录下保存的是我们运行过的所有程序的源代码。CoreSimulator的...
1.LDP协议中“路由器为本地路由分发标签”,标签是out label吗?2.同一FEC在一个路由器上in和out label可以相同嘛?3.教材有一句话“通常情况下,使用缺省的触发策略,即由“host”方式触发建立LDP LSP”,这句话啥意思?假设上海到北京有5个节点路由器,分别是:上海(1.1.1.1)苏州(2.2.2.2)南通(3.3.3.3)济南(4.4.4.4)北京(5.5.5.5)通过以下拓扑结构连接起来:在5个节点上运行OSPF/ISIS路由协议,5个节点完成了路由表的
求Sn=a+aa+aaa+aaaa+……+aaa…aaa(n个a)#includeint main(){ int a,n,i=1,tn=0,sum=0; printf("请输入a:"); scanf("%d",&a); fflush(stdin); printf("请输入n:"); scanf("%d",&n); fflush(stdin); while(i<=n)
安装Arduino附加库当你用着Arduino或者内建函数比较舒服的时候,你可能希望扩展你的Arduino 附加库。附加库是什么?附加库是一个代码的集合,可以让你方便的连接一台传感器、显示器、模组等等。比如,内建库LiquidCrystal 库使得在LCD上显示字符变得方便。在网络上,有成百上千的附加库可供下载。内建库和一些附加库在链接https://www.arduino.cc/reference/en/libraries/中,这些附加库只有安装后才能使用它们。库安装方法1)使用库管理器可以采
参考文章:Ubuntu 16.04+VS Code +Python + Anaconda配置https://blog.csdn.net/WEINILUO/article/details/105936817Ubuntu+Anaconda+VSCode配置多Python开发环境https://blog.csdn.net/SONGYINGXU/article/details/78940305
批量生成sql 语句小工具 虽说后台代码可以实现,但是还得搭环境,不方便使用。 代码如下:&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;head&gt;&lt;meta charset="UTF-8"&gt;&lt;title&gt;文本编辑工具&lt;/title&gt;&lt;!-- 开发时间2017.12.22 --&gt
1、错误描述java.lang.NoClassDefFoundError: org/springframework/core/io/Resource at org.activiti.engine.ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(ProcessEngineConfiguration.ja
下面的路径介绍针对windows文章目录一、绝对路径和相对路径二、绝对路径和相对路径的转换一、绝对路径和相对路径在编写的py文件中打开文件的时候经常见到下面其中路径的表达方式:open('aaa.txt')open('/data/bbb.txt')open('D:\\user\\ccc.txt')open('D:/user/ccc.txt')open(r'D:\user\ccc.t...
目前在网上搜到的利用 PyCharm 调试远程服务器程序的教程大多都是针对 PyCharm 2020、2019,甚至更早版本,PyCharm 2021 做了一定的更新,导致之前的教程不是特别适用,故在此记录下自己用 PyCharm 2021 调试远程服务器程序的过程,希望能帮助大家绕过许多坑。一、PyCharm 2021.2 (Professional) 的安装与激活官网下载:https://www.jetbrains.com/zh-cn/pycharm/高校学生有一年的免费使用期,具体.
目前在调试MQTT服务器时,大家最常用的工具就是经典的 Mqtt.fx,但是在使用过程中发现MQTT.fx 1.7.0 有时打开后无法显示程序界面。类似于最小化的状态,但此时应该是Mqtt.fx的Ui显示坐标位置超出了屏幕显示区域,需要手动修改Mqtt.fx的配置文件:C:\Users\Administrator\AppData\Local\MQTT-FX\mqttfx-config.xml...
直接上流程图,算法很清晰。仅包括卷积层和全连接层,不包括池化层,正好50层。相比于ResNet_50,ResNet_101就是在上图第3个大虚线框多了17个bottleneck,17*3+50=101,说白了就是将下图复制17个加入上图的第3个大虚线框内:画图不易,转载请注明出处! ...