【沧海拾昧】微机原理:存储器系统
#C0302
沧海茫茫千钟粟,且拾吾昧一微尘
——《沧海拾昧集》@CuPhoenix
【阅前敬告】
沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系
如有问题定为本集记录有谬,切勿深究
目录
一、存储器的基本分类
1、存储器的性能指标
2、三级存储器结构
3、存储器分类方法
二、存储器体系结构
1、基本存储单元
2、存储体
3、地址译码器
4、片选与读写控制信号
5、I/O电路
6、集电极开路或三态输出缓冲器
7、其它外围电路
三、随机存储器RAM
1、静态RAM存储芯片Intel 2114
2、动态RAM存储芯片Intel 2164A
四、随机存储器ROM
1、EPROM芯片Intel 2716
2、其他常用EPROM芯片
五、存储器扩展
1、存储器地址译码
2、存储器容量扩展
六、高速缓冲存储器Cache
1、主存-Cache层次结构
2、Cache控制器
3、地址映像
4、替换策略
一、存储器的基本分类
1、存储器的性能指标
- 容量:指存储器所包含的存储单元的总数;
- 速度(存取时间):在存储器地址被选定后,存储器读出数据并送到CPU(或者是把CPU数据写入存储器)所需要的时间;
- 成本:存储器的位成本。
2、三级存储器结构
3、存储器分类方法
- 按构成存储器的器件和存储介质分:磁芯、半导体、光电、磁膜、磁泡、光盘存储器等;
- 按在计算机中的作用分:缓冲存储器、主存(内存)、辅存(外存);
- 按信息的可保存性分类:易失性、非易失性;
- 按存取方式分:RAM(随机存取存储器)、ROM(只读存储器);
- 注:RAM又分为DRAM(动态随机存取存储器)和SRAM(静态随机存取存储器)
二、存储器体系结构
1、基本存储单元
一个基本存储单元可以存放一位二进制信息,其内部有两个稳定且互相对立的状态,并能够在外部对其状态进行识别和改变。例如:
- 双稳电路(高 / 低电平)
- 磁化单元(正向 / 反向)
2、存储体
一个基本存储单元只能保存一位二进制信息,若要存放M×N个二进制信息,就要用M×N个基本存储单元,它们按一定的规则排列起来,这些由基本存储单元所构成的阵列称为存储体或存储矩阵。
微机系统的内存是按字节组织的,每个字节由8个基本的存储单元构成,能存放8位二进制信息,CPU把这8位二进制信息作为一个整体来进行处理。
3、地址译码器
CPU要对某个存储单元进行读/写操作,必须先通过地址总线,向存储器系统发出所需访问的存储单元的地址码。
地址译码器的作用是用来接受CPU送来的地址信号并对它们进行译码,选择与地址码相对应的存储单元,以便对该单元进行操作。译码方式分为:
- 单译码:适用于小容量存储器,存储器线性排列,以字选择线来选择某个字的所有位,特点是译码输出线较多。当地址码有10根时,有2^10=1024根输出线,分别控制1024条字选择线。
- 双译码:存储器以矩阵的形式排列,将地址线分成两部分,对应的地址译码器也分为行译码器和列译码器两部分,分别输出行/列地址选择信号,行列选择线交叉处即为选中的内存单元。 其特点是译码输出线较少,适合于较大的存储器系统。
4、片选与读写控制信号
片选信号用以实现芯片的选择,对于一个芯片来说,只有片选信号有效,才能对其进行读写操作。应首先使芯片的片选信号有效(大地址),才能选择其中的存储单元进行操作。
读写控制信号用来实现对存储器中数据流向的控制(即控制是读还是写)。
5、I/O电路
I/O电路位于系统数据总线与被选中的存储单元之间,用来控制信息的读出与写入,必要时,还可包含对I/O信号的驱动及放大处理功能。
6、集电极开路或三态输出缓冲器
扩充存储器系统的容量时用到,用来控制多片RAM芯片的数据线并联使用或与双向的数据线相连使用。
7、其它外围电路
对不同类型的存储器系统,有时需要一些特殊的外围电路,如动态刷新电路等。
三、随机存储器RAM
随机存储器在微机系统的工作过程中可以随时地对其中的各个存储单元进行读/写操作。
1、静态RAM存储芯片Intel 2114
- Intel 2114基本结构
规格 | 1K×4 |
---|---|
基本存储单元 | 六管存储电路 |
地址线位数 | 10 位 |
数据线位数 | 4 位 |
Intel 2114有1024个4bit的存储单元。4096个基本存储电路,排列形式为64×64,存储单元的排列形式是64×16,6根地址线用于行译码,4根用于列译码,即每行中每4个基本存储电路是同一地址,但分别接不同的I/O线。
- Inter 2114读写控制
CS* | WR* | 数据流向 |
---|---|---|
1 | × | 封锁与门,使输入输出缓冲器高阻,数据不能进行读写操作 |
0 | 0 | 写控制线有效,数据从数据总线流向存储器 |
1 | 读控制线有效,数据从存储器流向数据总线 |
- Intel 2114引脚
- A0~A9:地址信号输入,选通1024个地址单元;
- I/O0~I/O3:数据信号双向,每个地址单元4位二进制;
- CS*:片选,低电平有效,有效时才能对芯片操作;
- WE*:读/写控制线, 低电平时,数据由数据总线写入存储器; 高电平时,数据由存储器输出至数据总线。
2、动态RAM存储芯片Intel 2164A
- Intel 2164A基本结构
规格 | 64K×1 |
---|---|
基本存储单元 | 单管存储电路 |
地址线位数 | 8 位 |
数据线位数 | 1 位 |
Intel 2164A有64×1024个存储单元。本应该有16根地址线选择唯一的存储单元,但由于封装的限制,该芯片只有8位地址线引脚,所以16位地址信息分两次进行接收,相应的分别有行选通和列选通加以协调,在芯片内部,还有8位地址锁存器对一次输入的8位地址进行保存。
Intel2164采用双译码,故其16位地址信息要分两次输入。由于封装的限制,这16位信息必须通过同一组引脚分两次接收,因此芯片内部有个能保存8位地址信息的地址锁存器。
由于有8位行地址选择线,8位列地址选择线,所以存储体为256×256,分为4个128×128的存储阵列。每存储阵列内的存储单元用7位行列地址唯一选择,再用剩下的1位行列地址控制I/O口进行4选1。
- Intel 2164A引脚
- A0~A7:地址信号输入,分时接收CPU选送的行、列地址;
- DIIN/DOUT:数据输入/输出引脚;
- RAS*:行地址选通,低电平有效时表明芯片当前接收的是行地址;
- CAS*:列地址选通,低电平有效时表明芯片当前接收的是列地址,此时RAS*要为0;
- WE*:读/写控制线,低电平时,写操作;高电平时,读操作。
四、随机存储器ROM
随机存储器在微机系统的工作过程中可以随时地对其中的各个存储单元进行读/写操作。常见的有:
- 掩膜ROM,一旦芯片制成后,用户是无法变更其结构的。这种存储单元中保存的信息,在电源消失后,也不会丢失,将永远保存下去;
- 可编程只读存储器PROM,为MOS管和熔丝组成,出厂前所有单元的熔丝都是通的(意味着该存储器中所有的存储内容均为“1”),用户使用时通过专门的PROM写入电路,产生足够大的电流把要写入“0”的那个存储位上的熔丝烧断,一旦写入,只能读出使用,不能再修改;
- 光擦除可编程只读存储器EPROM;
- 电可擦除可编程ROM(E2PROM);
1、EPROM芯片Intel 2716
- Intel 2716基本结构
规格 | 2K×8 |
---|---|
基本存储单元 | 带有浮动栅的MOS管 |
地址线位数 | 11 位 |
数据线位数 | 8 位 |
Intel 2716地址信号采用双译码的方式来寻址存储单元。x译码器可以对7位行地址进行译码,共寻址128个单元,y译码器可以对4位列地址进行译码,共寻址16个单元。
16Kbit存储阵列有128行、16列,每个存储单元有8个基本存储单元,各存储1位数据信息。
输出允许和片选和编程逻辑用以实现片选和控制信息的读写。
数据输出缓冲器实现对输出数据的缓冲,选中地址的存储单元中的8位数据并行输出。
- Intel 2716引脚
- A10~A0:地址信号输入,选通2048个地址单元;
- O0~O7:双向数据信号输入输出(5V常规电压下用作输出,25V编程电压下可输入);
- CS*:片选输入,低电平有效,有效时才能对芯片操作;
- OE*:数据输出允许信号,输入,低电平有效,该信号有效时,开启输出数据缓冲器,允许数据信号输出;
- VCC接+5V电源,VPP接+25V电源。
- Intel 2716工作方式
CS* | OE* | 工作方式 |
---|---|---|
0 | 0 | 读方式 |
1 | × | 备用方式,芯片的功耗降低,数据输出端高阻 |
0 | 1 | 禁止方式,禁止该芯片输出,数据线为高阻状态 |
0 | 1 | VPP接25V,写入方式 |
0 | 0 | VPP接25V,在一个字节的编程完成后在数据线上输出 |
2、其他常用EPROM芯片
芯片名称 | 规格 |
---|---|
Intel 2732 | 4K×8 |
Intel 2764 | 8K×8 |
Intel 27128 | 16K×8 |
Intel 27512 | 64K×8 |
五、存储器扩展
- 存储器芯片与CPU的连接要连地址线、数据线、控制线。
- 在一个系统中,存储器往往要由多片存储器芯片组成,要通过片选信号来合理设置每一片存储器芯片地址。
1、存储器地址译码
- 存储器的地址译码分为片选控制译码和片内地址译码两部分:
- 片选控制译码:对高位地址译码后产生存储芯片的片选信号;
- 全译码法:除了将低位地址总线直接与各芯片的地址线相连接外,其余高位地址总线全部经译码后作为个芯片的片选信号。地址连续唯一确定,无地址间断和地址重叠。
- 部分译码法:将高位地址线中的一部分进行译码,产生片选信号。该方法常用于不需要全部地址空间的寻址能力的情况。地址连续但不唯一确定,无地址间断,有地址重叠。
- 片内地址译码:对低位地址译码实现片内存储单元的寻址。
- 片选控制译码:对高位地址译码后产生存储芯片的片选信号;
2、存储器容量扩展
存储器芯片的容量满足存储器系统的要求,但其字长小于存储器系统的要求时,就需要用多片这样的芯片通过位扩充的方式来满足存储器系统对字长的要求。
存储器芯片的字长满足存储器系统的要求,但芯片的容量太小,就需要使用多片这样的芯片通过字扩充的方法来满足存储器系统对容量的要求。
也可以位和字同时扩展。
六、高速缓冲存储器Cache
1、主存-Cache层次结构
- 主要矛盾:动态RAM存取速度慢与提速代价大之间的矛盾。
- 解决方法:分级处理,在主存和CPU之间加一个容量相对小的双极型静态RAM作为高速缓冲存储器(简称Cache)。
- 在CPU和存储器之间放置高速缓冲存储器,组成由高速缓冲存储器和主存构成一个“两级”的存储系统。这样,将CPU对内存的访问转为CPU对Cache的访问,以提高系统效率。
- 注:双极型静态RAM与动态RAM相比价格贵、功耗大、集成度低,要达到与动态RAM相同的容量时,其体积就比较大。因此不可能将主存全使用双极型静态RAM。
2、Cache控制器
管理”两级“存储器的部件为Cache控制器,CPU和主存之间的数据传输都必须经过Cache控制器,Cache控制器将来自CPU的数据读写请求,转向Cache存储器。
- Cache的命中率
访问内存时,如果数据在Cache中,则CPU对Cache进行操作,称为一次命中。
若数据块不在Cache中,称为一次失败(不命中)。
命中率影响系统的平均存取速度,常用“命中率”来测量Cache的效率。
- Cache的读操作
若需要的数据:
已在Cache中,直接访问Cache存储器。
未装入Cache,CPU从主存读取信息,Cache替换部件把该地址所在的存储内容从主存拷贝到Cache中。
- Cache的写操作
命中时:
(直达法/通写法)将新的内容写入Cache存储器中,并同时写入主存,保证主存和副本内容一致。
(回写法)每次只向Cache写入,并用标志加以注明,直到Cache中被写过的块要被新进入Cache的信息块取代时,才一次性写回主存。
不命中时:一般只向主存写入信息。
3、地址映像
Cache存储器存放主存中的一部分程序块和数据块的副本,是以块为单位的存储方式。每一块加有一个标记,指明它是主存的哪一块副本。
Cache的容量和块的大小是影响Cache效率的重要因素。
- 为了把数据放到Cache中,必须应用某种函数关系把主存地址映象到Cache中定位,这称作地址映象。
- 当信息按映象关系装入Cache后,系统在执行程序时,应将主存地址变换为Cache地址,这个变换过程叫做地址变换。通常利用Cache控制器中的地址映射表完成。
Cache中的一个存储块要与主存中的若干个存储块相对应,即若干个主存地址将映象成同一个Cache地址。根据不同的地址对应方法,地址映象的方式通常有直接映象、全相联映象和组相联映象三种。
映像方式 | 映像方法 | 映像特点 | 映像图示 |
---|---|---|---|
直接映象 | 每个主存地址映象到Cache中的一个指定地址 | 地址变换速度快,但不够灵活,使得Cache存储空间得不到充分利用,降低了命中率。 | |
全相联映象 | 允许主存中的每一个字块映象到Cache存储器的任何一个字块位置上,也允许从确实已被占满的Cache存储器中替换出任何一个旧字块 | 最灵活但成本最高,Cache利用率高。但Cache中块表查找的速度慢,要用硬件实现,控制复杂,实现困难。 | |
组相联映象 | 将存储空间分成若干组,各组之间是直接映象,而组内各块之间则是全相联映象 | 在判断块命中以及替换算法上都要比全相联映象方法简单,块冲突的概率比直接映象方法的低,其命中率也介于直接映象和全相联映象方法之间 |
4、替换策略
当新的主存字块需要调入Cache存储器而Cache已满,应用替换策略:
- 先进先出(FIFO)策略:总是把一组中最先调入Cache存储器的字块替换出去(实现容易,开销小,但会降低命中率)。
- 近期最少使用(LRU) 策略:把一组中近期最少使用的字块替换出去。
敬谢诸君。
于金陵钟山之阳。
【沧海拾昧】微机原理:存储器系统相关推荐
- 【沧海拾昧】微机原理:8086/8088中断系统
#C0305 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...
- 【沧海拾昧】微机原理:可编程计数器/定时器8253芯片
#C0303 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...
- 【沧海拾昧】微机原理:可编程中断控制器8259A芯片
#C0306 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...
- 【沧海拾昧】WiFi串口通信ESP8266模块基本介绍(附野火WiFi透传实例)
#C0104 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 [如有问题必是本集记录有谬 ...
- 【沧海拾昧】C# .Net 基本控件介绍
#C0201 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题必是本集记录有谬, ...
- 微型计算机原理存储器寻址,微机原理存储器部分 微型计算机原理及应用教材.ppt...
微机原理存储器部分 微型计算机原理及应用教材.ppt * 某计算机的主存为3KB,则内存地址寄存器需______位就足够了. 12 在某一存储系统中,设有只读存储器10KB,随机存储器54KB,使用1 ...
- 【沧海拾昧】Proteus8仿真stm32:ADC转换程序
#C0102 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题必是本集记录有谬, ...
- 【沧海拾昧】MATLAB/Simulink仿真的基本操作
#C0402 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题必是本集记录有谬, ...
- 【沧海拾昧】用MATLAB画一张简单的图
#C0401 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 如有问题定为本集记录有谬, ...
最新文章
- CodeFirst 的编程方式
- python课程与c+课程有什么不同-C和Python我该先学什么?
- 特征选择常用算法综述
- 全球及中国壁纸市场盈利预测与投资风险分析报告2022-2027年
- SQL Server 常用分页SQL
- laravel mysql 配置,laravel5数据库配置及其注意事项
- c语言程序女设计教学效果分析,C语言程序设计的教学论文
- 职场上人和人的差距是怎样拉开的?
- GitLab地域封锁,总监愤而辞职!苹果产品路线图曝光;CAT 0.1.0发布|极客头条...
- java语言编译_java在线编译-编译,java
- python爬app视频_python爬取抖音APP视频教程
- flutter字体不跟随系统_Flutter小技巧总结之flutter 适配宽高,字体
- 晶体管制程极限之后,多层CPU是否可能?
- arcgis离线地图Java_ArcGIS API For Android离线地图的实现
- cydia加载未能连接服务器请求超时,win7专业版中cydia无法加载请求超时解决方案...
- xmind8 下载安装与破解激活
- Android Studio 开关控件Switch使用
- oracle数据的闪回——删库跑路?老铁别想了!
- 机器人操作空间轨迹规划 -- 姿态规划
- zblog php建站教程_开源建站程序ZBlogPHP博客安装图文教程
热门文章
- 备战数学建模33-灰色预测模型2
- 灰色预测方法预测温度matlab,灰色预测模型matlab程序
- Windows常用热键
- 大中型企业九种资金管理模式
- 逍遥模拟器(8.0.x版本,系统安卓7.1)安装xposed
- springMVC 解决 “because it is included into a circular dependency(循环导入依赖)” 的问题
- 计算机屏保后无法进入登录界面,Win10锁屏界面无法登录卡在登录状态的应对办法...
- Win10锁屏壁纸文件夹Assets无文件问题的解决方法
- D. Serval and Rooted Tree(思维+树形dp+二分辅助)
- 2019年全球卫星遥感行业现状、融资及卫星遥感行业发展趋势分析:即时化、网络化、个性化、多样化(转载)