前面,我们根据半导体存储(主存储器)的工作方式分为两类:一类是随机存储器(RAM),另外一类是只读存储器(ROM)。

这一讲,我们重点来学习随机存取存储器。随机存取存储器主要用来存放的程序,各种输入输出数据,中间运算结果,堆栈等。我们说随机存取存储器有两个特点,其一是它可以随机的读写,其二是断电后内容会消失。根据制造工艺的不同,RAM可分为双击型半导体RAM和和金属氧化物半导体(MOS)RAM。用MOS器件构成的RAM可分为静态读写存储器SRAM和动态读写存储器DRAM。

SRAM的存储元是双稳态电路,双稳态电路有什么特点呢?双稳态存储器有两个稳定状态,可用来存储一位二进制信息。只要不断电,内容不消失。DRAM的存储元是电容,电容会漏电,所有时间长了不稳定,需要刷新(定时将存储单元中信息读出在写入),这是由系统自动完成的。

6264存储芯片

6264芯片是一个8K×8b的CMOS SRAM芯片,其共有28条引出线,包括13条地址信号线,8条数据信号线,及4条控制信号线。

(1)A0~A12 : 13位地址信号线。一个存储芯片上的地址线的多少决定该芯片的存储单元数量。这是因为编码的原因。一根地址线可以表示0,1两个地址数,两根地址线可以表示00,01,10,11四个地址数,三根地址线就可以表示000,001,010,011,100,101,110,111八个地址数,那么13跟地址线就可以表示2^13个地址数,相当于有这么多个内存单元。2^13=8192=8K,从而保证芯片上8K个单元每个单元有唯一的地址,即芯片上13个地址线上的信号经过芯片的内部译码,可以决定选中6264芯片上8K个存储单元的哪一个。对于选中哪一个,这是系统的事情,对程序员是透明的。那么CPU要能够寻址6264上某个内存单元,说明该地址信号线一定要与CPU的地址总线连接起来,至于这么连,等会再说。

(2)D0~D7:8根双向数据线。为什么是双向的,可读可写嘛。比如说,CPU通过地址总线寻址到某一内存单元,要读取该内存单元的值,那么该内存单元的值(8位二进制数)通过数据线送到CPU。我们刚才已经默认了,8位,为什么是8位?然后数据线是8根。难道这是巧合吗?不是,正是8根数据线说明一个存储单元可存放8位二进制数。使用这8位数据线与CPU数据总线相连,读出和写入的数据通过该数据线传送。

(3)#CS1,CS2:片选信号线。当CS1为低电平,CS2为高电平(#CS1=0, CS2=1)时,该芯片被选中,CPU才能对其读写。原则:所有片选信号同时有效才有效。片选信号,其实就是选芯片的。对此我们做如下解释:我们知道一个6264芯片是8K字节(从0000----8191)。但是如果说,我需要一个32K的内存空间,那么显然一个6264肯定不够。至少需要4个6264芯片。每个都是从0000----8191,那么如何区别是第一个芯片上0015号内存单元,还是第二个芯片上的0015号内存单元,还是第三个或者第四个呢?就好比一个小区有10栋楼,你的朋友告诉你他家住5楼,那么你应该这么知道他家具体是哪呢?所以,你必须问他是哪栋楼。那么同样的道理,这么多芯片如果我跟每一个芯片标个号,比如上述4个芯片分别是00,01,10,11你就能确定是哪一个芯片了。那么如何确定是哪一个6264被选中呢?这里,我们会发现一个问题,就是对于CPU而言,已有13跟地址总线被占据,那么还剩下7根地址总线。这7根地址总线,每根都有0,1两个数可以对其进行编码,确定一种编码,对应一个芯片。既然输入是不确定的,我们可以利用译码电路,并且对其输出固定。这样输出只要连上片选信号,就可以了。那么我们知道一个片选信号#CS1,只有低电平有效,所以让它接译码电路的输出端。故#CS1=0,使得译码电路输出为0,输入根据译码电路的设计不同而不同,而输入的值与6264的序号对应,从而实现片选。

(4)#OE:输出允许信号。只有当#OE=0时,CPU才能从芯片中读出数据。写时,可以允许#OE=1。

(5)#WE:写允许信号。低电平有效。

(6)VCC为5v电源,GND接地,NC空端。

6264存储芯片的工作工程

对6264芯片的存取操作包括数据的写入和读出。

写入

什么叫写入?所谓写入,就是将数据放入指定的存储单元中。

它的过程是怎样的呢?

首先,你要知道数据放在哪个存储单元中?这要通过地址线确定。也就是说把要写入单元的地址送到芯片的地址线A0~A12上。这个单元存放的是一个字节,8位二进制数。只要将写入的数据送到数据线即可。还没完,这么多6264芯片,选哪个呢?所以要使#CS1,CS2同时有效。同时再在#WE端加上有效的低电平,#OE端任意。

读取

什么是读取呢?读就是读取某一内存单元的数据。

首先,你要知道读取哪个存储单元中的数据?这要通过地址线确定。也就是说把要读取单元的地址送到6264芯片的地址线A0~A12上。这个单元存放的是一个字节,8位二进制数。只要将要取出的数据送到数据线即可。还没完,这么多6264芯片,选哪个呢?所以要使#CS1,CS2同时有效。同时再在#OE端加上有效的低电平,#WE端为1。

6264芯片的应用

在对SRAM芯片的外部引脚功能和工作时序有一定了解后,需要进一步掌握的是如何与系统连接。将一个存储器芯片接到总线上,除了部分控制信号和数据信号线的连接外,主要是如何保证该芯片在整个内存中占据的地址范围能够满足用户的需要。前面已经知道,芯片的片选信号由高位地址信号和控制信号的译码产生,事实上正是高位地址信号决定了芯片在整个内存中占据的地址范围。

(1)地址译码

先举一个例子来说明译码的概念。假设把存储器看成一个居民小区,那么构成存储器的存储芯片就是小区里一座一座的居民楼(楼号01---30),而存储单元就是楼内各个居住单元(单元号101---825)。如果某户居民住10号楼510单元,就可记为10-510。要访问10-510住户,首先要找到楼号10,这就是片选译码(选择一个存储芯片);然后在找510单元,这就是片内寻址(选择一个存储单元)。片内寻址由存储芯片内部完成,使用者无需考虑。使用者要考虑的只是如何根据地址找到具体的住宅楼(芯片)。

因此,所谓译码,就是将一组输入信号转换为一个确定的输出。在存储器技术中,译码就是将高位地址信号通过一组电路(译码器)转换为一个确定的输出信号(通常为低电平),并将其连接到存储器芯片的片选端,使芯片被选中,从而使系统能够对该芯片上单元进行读写操作。选择哪个6264存储器芯片,可以由我们决定,但是对于具体的存储单元,这个对程序员是透明的。

注意:在微机系统中,CPU通常工作在最大模式下,其控制信号需要通过总线控制器与系统控制总线连接。因此对存储器的读写,不是要求最小模式下的读写控制信号#RD和#WR有效,而是要求总线控制信号#MEMR和#MEMW有效。

(2)地址译码方式

存储器的地址译码方式可以分为两种:全地址译码和部分地址译码。

a.全地址译码方式。所谓全地址译码方式就是说构成存储器时要用到全部20位地址总线,即所有的高位地址信号全部用来作为译码器的输入,低位地址信号接存储器芯片的地址输入线,从而使得存储器芯片上的每一个单元在整个内存空间中具有唯一的地址。

如图所示是一片SRAM6264与8086的连接图。可以看出当A19~A13为0011111时,译码器输出低电平,使SRAM的片选端#CS1有效,该芯片被选中。该芯片的存储单元的范围是3E000H~3FFFFH(低13位可以是全为0或者全为1之间的任何一个值)。

译码电路的构成不是唯一的,可以是基本逻辑门电路构成的译码器或专门译码器进行译码。图中用的是基本逻辑门电路。

再如上图,利用了一个74LS138,因为#G2A,#G2B要低电平使能,所以A19和A18只能是0,0;A17,A16只能是1,1,要使#Y7为0,那么A15,A14,A13都必须为1。所以A19~A13为0011111。如果对基本逻辑门电路进行修改,则6264的地址范围会发生变化。由此可以看出,使用不同的译码电路可以将存储器芯片映射到内存空间的任意一个范围中。

b.部分地址译码方式。顾名思义,就是地址总线的一部分地址信号线与存储器连接,通常使用高位地址信号的一部分作为片选译码信号。

上图是一个部分地址译码的例子,可以看出,该6264连接的系统高位地址可能有好几种情况。A19~A13:1010111,1011111,1110111,1111111。即该6264芯片被映射到以下4个内存空间中:AE000H~AFFFFH,  BE000H~BFFFFH, EE000H~EFFFFH, FE000H~FFFFFH。该存储器芯片占据了4个8KB的内存地址空间,而6264只有8KB个内存空间。为什么会这样?原因就在于高位地址译码并没有利用地址总线上的全部地址信号,而是利用其中的一部分。这种只用部分地址线参加译码而产生地址重复区的译码方式就是部分地址译码的含义。按这种地址译码方式,芯片占用的这4个8KB的区域绝不可再分配给其它芯片,否则会造成总线竞争而使微机无法正常工作。另外对6264进行存取时,可以使用以上4个地址范围的任意一个。

部分地址译码使地址出现重叠区,而重叠区的部分必须空着不准使用,这就破坏了地址空间的连续性,也减少了总的可用存储地址空间。

随机存取存储器SRAM相关推荐

  1. sr锁存器 数电_随机存取存储器 RAM || SRAM || DRAM || 数电

    随机存取存储器 RAM || SRAM || DRAM || 数电 随机存取存储器,英文名Random Access Memory,简称RAM. 特点 随机存取(Random Access):存储器中 ...

  2. 随机存取存储器(RAM)

    RAM(random access memory)随机存储器.存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器.这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用 ...

  3. 微机个人笔记-随机存取存储器(RAM)

    随机存取存储器(RAM) 重点:物理层面(芯片的角度)的地址. DRAM的特点:由电容构成(电容只要有回路,就有泄漏想象,漏电,所以信息不稳定) 主要特点: 需要定时刷新:定时对存储元进行读或写操作( ...

  4. 是可改写的随机存储器_PPT下载:磁阻随机存取存储器

    (文末可下载PPT) 伴随着物联网.人工智能等应用的兴起,存储器也面临着革新.传统的DRAM受限于EUV的发展,平面NAND也面临着微缩的限制,而最终采取垂直方向上朝着3D方向发展.在传统存储技术接受 ...

  5. 微型计算机中什么是小随机储存器,随机存取存储器

    随机存取存储器(英语:Random Access Memory,缩写:RAM),也叫主存,是与CPU直接交换数据的内部存储器.它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行 ...

  6. 常用存储器(SRAM、DRAM、NVRAM、PSRAM)简单介绍

    参考自:https://blog.csdn.net/lyfwill/article/details/104786234/ https://zhuanlan.zhihu.com/p/452070318 ...

  7. 计算机组成原理笔记——随机存取存储器

    随机存取存储器 静态RAM(SRAM) T1~T4构成触发器,是一个双稳态的触发器.(触发器用来存储0和1)一端是0,另一端就是1,两端是相反电平 . T5.T6用于控制对存储元件进行读或写. 静态R ...

  8. 什么是随机存取存储器

    随机存取存储器(RAM)不仅是台式电脑,笔记本电脑,平板电脑,智能手机和游戏控制台中最重要的组件之一,任何系统上没有它在执行任何操作都会慢很多,甚至导致它们甚至无法运行.这其实就是经常听人说电脑太卡了 ...

  9. 随机存取 随机存储_随机存取存储器(RAM)

    随机存取 随机存储 In random-access memory(RAM) the memory cells can be accessed for information transfer fro ...

最新文章

  1. vue 组件id重复问题
  2. MVVM架构~knockoutjs系列之验证成功提示显示
  3. armbian安装图形桌面_必看贴:Centos7安装Xrdp远程桌面服务
  4. 使用 SQL Server Management Studio (SSMS) 连接 SQL Server实例
  5. Linux Kernel aarch64 Crypto原理和框架介绍
  6. Android生成缩略图-使用Android 2.2新特性完成
  7. 中国人工智能学会通讯——神经环路研究最新进展及对类脑计算的启示 1.复杂科学...
  8. 用ASP.NET Core MVC 和 EF Core 构建Web应用 (一)
  9. 文本信息检索(维基百科)
  10. ubuntu下的vim与ctags
  11. 两段检验系统生成的identityHashCode是否重复的代码
  12. (转)诺亚财富巨亏5亿,“嗜血模式”走向末路?
  13. NLPIR词性标记集
  14. snipaste怎么滚动截长图_如何截长图,这3种方法你用过吗?
  15. 南邮计算机考研复试经验,南邮学长复试经验谈(blue原创出品,必是精品)
  16. 最好用的Mac任务规划软件【滴答清单】
  17. 电子计算机为什么123安不出来,右边键盘数字键打不出来怎么解锁
  18. 微信打不开MP4文件 (记录编码问题)
  19. arduino 联动ULN2003驱动板营造夏日炫酷小风扇
  20. 智库献策大数据时代食品安全

热门文章

  1. VS2019和Qt5.14.1联合使用
  2. SonarQube 7.7 中文插件安装
  3. Windows 查看文件被哪个进程占用
  4. 超透镜仿真案例(6)——偏振聚焦成像超构透镜模型 FDTD仿真 超表面
  5. 浅水LiDAR测水深公式
  6. 双轮平衡车实现自平衡功能
  7. C# 根据机器码生成+验证注册码简单实现demo
  8. 使用c++开发excel插件(第4章编写一个完整的xll)
  9. 微信直播可以直播什么内容
  10. Flex白板画图例子