• 1. 第4章 主存储器4.1 主存储器处于全机中心地位 4.2 主存储器分类 4.3 主存储器的主要技术指标 4.4 主存储器的基本操作 4.5 读/写存储器(即随机存储器(RAM))
  • 2. 4.6 非易失性半导体存储器 4.7 DRAM的研制与开发 4.8 半导体存储器的组成与控制 4.9 多体交叉存储器 习题
  • 3. 4.1 主存储器处于全机中心地位 现代计算机主存储器处于全机中心地位,原因是: (1) 当前计算机正在执行的程序和数据(除了暂存于CPU寄存器以外的所有原始数据、中间结果和最后结果)均存放在存储器中。CPU直接从存储器取指令或存取数据。 (2) 计算机系统中I/O设备增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术和I/O通道技术,在存储器与I/O系统之间直接传送数据。
  • 4. (3) 共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的作用。 现在计算机中还设有辅存或外存,用来存放主存的副本和当前不在运行的程序和数据。在程序执行过程中,每条指令所需的数据及取下一条指令的操作都不能直接访问辅助存储器。 由于中央处理器是高速器件,而主存的读写速度则慢得多,不少指令的执行速度与主存储器技术的发展密切相关。
  • 5. 4.2 主存储器分类 能用来作为存储器的器件和介质,除了其基本存储单元有两个稳定的物理状态来存储二进制信息以外,还必须满足一些技术上的要求。价格也是一个很重要的因素。 主存储器的类型: (1) 随机存储器(random access memory,简称RAM) 又称读写存储器,指通过指令可以随机地、个别地对存储单元进行访问,一般访问所需时间基本固定,而与存储单元地址无关。
  • 6. (2) 只读存储器(read\|only memory,简称ROM) 是一种对其内容只能读不能写入的存储器,在制造芯片时预先写入内容。它通常用来存放固定不变的程序、汉字字型库、字符及图形符号等。由于它和读写存储器分享主存储器的同一个地址空间,故仍属于主存储器的一部分。 (3) 可编程序的只读存储器(programmable ROM,简称PROM) 一次性写入的存储器,写入后,只能读出其内容,而不能再进行修改。
  • 7. (4) 可擦除可编程序只读存储器(erasable PROM,简称EPROM) 可用紫外线擦除其内容的PROM,擦除后可再次写入。 (5) 可用电擦除的可编程只读存储器(electrically EPROM,简称E2PROM) 可用电改写其内容的存储器,近年来发展起来的快擦型存储器(flash memory)具有E2PROM的特点。 上述各种存储器,除了RAM以外,即使停电,仍能保持其内容,称之为“非易失性存储器”,而RAM为“易失性存储器”。
  • 8. 4.3 主存储器的主要技术指标 主存储器的主要性能指标为主存容量、存储器存取时间和存储周期时间。 计算机可寻址的最小信息单位是一个存储字。 一个存储字所包括的二进制位数称为字长。指令中地址码的位数决定了主存储器的可直接寻址的最大空间。例如,32位超级微型机提供32位物理地址,支持对4G字节的物理主存空间的访问。
  • 9. 存储器的速度 存储器存取时间(memory access time)又称存储器访问时间,是指从启动一次存储器操作到完成该操作所经历的时间。 存储周期(memory cycle time)指连续启动两次独立的存储器操作(例如连续两次读操作)所需间隔的最小时间。(存储周期略大于存取时间)
  • 10. 4.4 主存储器的基本操作 主存储器用来暂时存储CPU正在使用的指令和数据,它和CPU的关系最为密切。 主存储器和CPU的连接是由总线支持的。总线包括数据总线、地址总线和控制总线。 CPU通过使用AR(地址寄存器)和DR(数码寄存器)和主存进行数据传送。控制总线包括控制数据传送的读(read)、写(write)和表示存储器功能完成的(ready)控制线。
  • 11. 图4.1 主存储器与CPU的联系
  • 12. “读”操作 CPU需要把信息字的地址送到AR,经地址总线送往主存储器。同时,CPU应用控制线(read)发一个“读”请求。 此后,CPU等待从主存储器发来的回答信号,通知CPU“读”操作完成。主存储器通过ready线做出回答,若ready信号为“1”,说明存储字的内容已经读出,并放在数据总线上,送入DR。这时,“取”数操作完成。
  • 13. “写”操作 CPU先将信息字在主存中的地址经AR送地址总线,并将信息字送DR。同时,发出“写”命令。 此后,CPU等待写操作完成信号。主存储器从数据总线接收到信息字并按地址总线指定的地址存储,然后经ready控制线发回存储器操作完成信号。这时,“存”数操作完成。 从以上讨论可见,CPU与主存之间采取异步工作方式,以ready信号表示一次访存操作的结束。
  • 14. 4.5 读/写存储器(即随机存储器(RAM)) 半导体读/写存储器按存储元件在运行中能否长时间保存信息来分,有静态存储器和动态存储器两种。 前者利用双稳态触发器来保存信息,只要不断电,信息是不会丢失的;动态存储器利用MOS电容存储电荷来保存信息,使用时需不断给电容充电才能使信息保持。 静态存储器的集成度低,但功耗较大(cache);动态存储器的集成度高,功耗小,它主要用于大容量存储器(主存)。
  • 15. 1. 静态存储器(SRAM) (1) 存储单元和存储器 图4.2是MOS静态存储器的存储单元的线路。 图4.3是用图4.2所示单元组成的16×1位静态存储器的结构图。 图4.4所示是1K×1位静态存储器的框图。
  • 16. 图4.2 MOS静态存储器的存储单元 T1,T2 工作管 T3,T4 负载管 T5,T6 门控管
  • 17. 图4.3 MOS静态存储器结构图
  • 18. 图4.4 1K静态存储器框图
  • 19. (2) 开关特性 静态存储器的片选、写允许、地址和写入数据在时间配合上有一定要求。图4.5 存储器芯片读数时间
  • 20. 图4.6 描述写周期的开关参数
  • 21. 2. 动态存储器(DRAM) (1) 存储单元和存储器原理 图4.7 三管存储单元电路图
  • 22. 图4.8 单管存储单元线路图
  • 23. 再生(刷新) DRAM是通过把电荷充积到MOS管的栅极电容或专门的MOS电容中来实现信息存储。但是由于电容漏电阻的存在,随着时间的增加,其电荷会逐渐漏掉,从而使存储的信息丢失。 为了保证存储信息不遭破坏,必须在电荷漏掉以前就进行充电,以恢复原来的电荷。 对于DRAM,再生一般应在小于或等于2ms的时间内进行一次。SRAM则不同,由于SRAM是以双稳态电路为存储单元的,因此它不需要再生。
  • 24. 4.6 非易失性半导体存储器 DRAM和SRAM均为可任意读/写的随机存储器,当掉电时,所存储的内容立即消失,所以是易失性存储器。下面介绍的半导体存储器,即使停电,所存储的内容也不会丢失。 1. 只读存储器(ROM) 掩模式ROM由芯片制造商在制造时写入内容,以后只能读而不能再写入。其基本存储原理是以元件的“有/无”来表示该存储单元的信息(“1”或“0”),可以用二极管或晶体管作为元件,其存储内容是不会改变的。
  • 25. 2.可编程序的只读存储器(PROM) 常见的熔丝式PROM是以熔丝的接通和断开来表示所存的信息为“1”或“0”。刚出厂的产品,其熔丝是全部接通的,使用前,用户根据需要断开某些单元的熔丝(写入)。 断开后的熔丝是不能再接通了,因此,它是一次性写入的存储器。掉电后不会影响其所存储的内容。
  • 26. 3. 可擦可编程序的只读存储器(EPROM) EPROM是一种可用紫外线擦除, 允许用户多次写入信息的只读存储器, 目前广泛使用的EPROM是用浮动栅雪崩注入型MOS管构成, 叫FAMOS型EPROM。
  • 27. 平时,浮动栅不带电荷, 源极与漏极间没有导电沟道, 处关闭状态, 表“1”; 需写“0”时,需在源、漏极间加高电压(+12V)和编程脉冲, 源、漏极间被瞬间击穿,在PN结处集聚大量电子,电子通过绝缘层注入到浮动栅上,使浮动栅带负电,浮动栅上的负电荷在氧化层下面感应出正电荷迫使管子导通,表示“0”信息。高压撤除后,因浮动栅被二氧化硅绝缘层包围,浮动栅上的电子无处泄漏 P+ N基片 P+S 浮空多晶硅栅 DEDT3T2 EPROM位线字线(b)(a)图4-20 EPROM结构示意图
  • 28. 4. 可电擦可编程序只读存储器(E2PROM) E2PROM的编程序原理与EPROM相同,但擦除原理完全不同,重复改写的次数有限制(因氧化层被磨损) ,一般为10万次。 其读写操作可按每个位或每个字节进行,类似于SRAM,但每字节的写入周期要几毫秒,比SRAM长得多。E2PROM每个存储单元采用两个晶体管。其栅极氧化层比EPROM薄,因此具有电擦除功能。
  • 29. 5. 快擦除读写存储器(Flash Memory) Flash Memory是在EPROM与E2PROM基础上发展起来的,它与EPROM一样,用单管来存储一位信息,它与E2PROM相同之处是用电来擦除。但是它只能擦除整个区或整个器件。 快擦除读写存储器兼有ROM和RAM两者的性能,又有ROM,DRAM一样的高密度。目前价格已略低于DRAM,芯片容量已接近于DRAM,是唯一具有大存储量、非易失性、低价格、可在线改写和高速度(读)等特性的存储器。它是近年来发展很快很有前途的存储器。
  • 30. 表4.1 列出几种存储器的主要应用 存储器应 用SRAMcacheDRAM计算机主存储器ROM固定程序,微程序控制存储器PROM用户自编程序。用于工业控制机或电器中EPROM用户编写并可修改程序或产品试制阶段试编程序E2PROMIC卡上存储信息Flash Memory固态盘,IC卡
  • 31. 4.7 DRAM的研制与发展 近年来,开展了基于DRAM结构的研究与发展工作: (1)同步RAM(Synchronous DRAM,SDRAM) SDRAM是一种与主存总线同步运行的DRAM。SDRAM在同步脉冲的控制下工作, 取消了主存等待时间, 加快了系统速度。 (2)双倍数据传输率的同步RAM(Double Data Rate DRAM, DDR RAM) DDR是SDRAM的升级版本, 与SDRAM的主要区别是:DDR 在时钟脉冲的上升沿和下降沿都能读出数据, 即不需提高时钟频率就能加倍提高SDRAM的速度。
  • 32. (3)DDR 2 DDR 2 RAM是在DDR SDRAM的基础上进一步改进的内存技术。主要改进技术体现在: ● 采用先进的0.09μm制版技术, 并把工作电压由2.5伏降到1.8伏 ● 采用先进的4位预读取架构。此技术能在每个时钟周期进行2次数据传输, 每次传输都采用双倍传输率的DDR技术, 即每个时钟周期可传输4次数据。如DDR Ⅱ533的核心频率为133 MHz, 时钟频率为266 MHz, 而数据传输率高达533 MHz。 (3)DDR 3
  • 33. 小知识:内存不足的原因 1.剪贴板占用了太多的内存。 2.打开的程序太多。 3.自动运行的程序太多。 4.系统感染电脑病毒, 5.回收站占有大量空间。 6.临时文件(.tmp)太多。 7.程序文件被毁坏。
  • 34. 4.8 半导体存储器的组成与控制 常用的半导体存储器芯片有多字一位片和多字多位(4位、8位)片,如16M位容量的芯片可以有16M×1位和4M×4位等种类。 1. 存储器容量扩展 1个存储器的芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有很大差距,所以需要在字向和位向进行扩充才能满足需要。
  • 35. (1) 位扩展 位扩展指的是用多个存储器器件对字长进行扩充。 位扩展的连接方式是将多片存储器的地址、片选CS、读写控制端R/W相应并联,数据端分别引出。如图4.18所示 。 (2) 字扩展 字扩展指的是增加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。如图4.19所示 。
  • 36. 图4.18 位扩展连接方式(16K ×416K ×8)
  • 37. 图4.19 字扩展连接方式(16K ×864K ×8)
  • 38. (3) 字位扩展 实际存储器往往需要字向和位向同时扩充。一个存储器的容量为M×N位,若使用L×K位存储器芯片,那么,这个存储器共需要M/L×N/K个存储器芯片。 一个小容量存储器与CPU的连接方式如图4.20所示。
  • 39. 图4.20 静态存储器芯片与CPU的连接
  • 40. 2. 存储控制 在存储器中,往往需要增设附加电路。这些附加电路包括地址多路转换线路、地址选通、刷新逻辑,以及读/写控制逻辑等。 在大容量存储器芯片中,为了减少芯片地址线引出端数目,将地址码分两次送到存储器芯片,因此芯片地址线引出端减少到地址码的一半。 刷新逻辑是为动态MOS随机存储器的刷新准备的。通过定时刷新、保证动态MOS存储器的信息不致丢失。
  • 41. 动态MOS存储器采用“读出”方式进行刷新。因为在读出过程中恢复了存储单元的MOS栅极电容电荷,并保持原单元的内容,所以,读出过程就是再生过程。但是存储器的访问地址是随机的,不能保证所有的存储单元在一定时间内都可以通过正常的读写操作进行刷新,因此需要专门予以考虑。通常,在再生过程中只改变行选择线地址,每次再生一行,依次对存储器的每一行进行读出,就可完成对整个RAM的刷新。从上一次对整个存储器刷新结束到下一次对整个存储器全部刷新一遍为止,这一段时间间隔称作再生周期,又叫刷新周期,一般为2ms。
  • 42. 通常有两种刷新方式。 (1) 集中刷新 集中式刷新指在一个刷新周期内,利用一段固定的时间,依次对存储器的所有行逐一再生,在此期间停止对存储器的读和写。 例如,一个存储器有1 024行,系统工作周期为200ns。RAM刷新周期为2ms。这样,在每个刷新周期内共有10 000个工作周期,其中用于再生的为1 024个工作周期,用于读和写的为8 976个工作周期。 集中刷新的缺点是在刷新期间不能访问存储器,有时会影响计算机系统的正确工作。
  • 43. (2) 分布式刷新 采取在2ms时间内分散地将1 024行刷新一遍的方法,具体做法是将刷新周期除以行数,得到两次刷新操作之间的时间间隔t,利用逻辑电路每隔时间t产生一次刷新请求。 动态MOS存储器的刷新要有硬件电路的支持,包括刷新计数器、刷新访存裁决,刷新控制逻辑等。这些线路可以集中在RAM存储控制器芯片中。 例如Intel 8203 DRAM控制器是为了控制2117,2118和2164 DRAM芯片而设计的。2117,2118是16K×1位的DRAM芯片,2164是64K×1位的DRAM芯片。图4.21是Intel 8203逻辑框图。
  • 44. 图4.21 Intel 8203 RAM控制器简化图
  • 45. 3. 存储校验线路 计算机在运行过程中,主存储器要和CPU、各种外围设备频繁地高速交换数据。由于结构、工艺和元件质量等种种原因,数据在存储过程中有可能出错,所以,一般在主存储器中设置差错校验线路。 实现差错检测和差错校正的代价是信息冗余。信息代码在写入主存时,按一定规则附加若干位,称为校验位。在读出时,可根据校验位与信息位的对应关系,对读出代码进行校验,以确定是否出现差错,或可纠正错误代码。
  • 46. 4.9 多体交叉存储器 4.9.1 编址方式 计算机中大容量的主存,可由多个存储体组成,每个体都具有自己的读写线路、地址寄存器和数据寄存器,称为“存储模块”。这种多模块存储器可以实现重叠与交叉存取。如果在M个模块上交叉编址(M=2m),则称为模M交叉编址。通常采用的编址方式如图4.22(a)所示。设存储器包括M个模块,每个模块的容量为L,各存储模块进行低位交叉编址,连续的地址分布在相邻的模块中。第i个模块Mi的地址编号应按下式给出:M j+i 其中,j=0,1,2,…,L-1;i=0,1,2,…,M-1
  • 47. 图4.22 多体交叉存储
  • 48. 表4.2列出了模四交叉各模块的编址序列。这种编址方式使用地址码的低位字段经过译码选择不同的存储模块,而高位字段指向相应的模块内部的存储字。这样,连续地址分布在相邻的不同模块内,而同一模块内的地址都是不连续的。在理想情况下,如果程序段和数据块都连续地在主存中存放和读取,那么,这种编址方式将大大地提高主存的有效访问速度。但当遇到程序转移或随机访问少量数据,访问地址就不一定均匀地分布在多个存储模块之间,这样就会产生存储器冲突而降低了使用率,所以M个交叉模块的使用率是变化的,大约在 和M之间。
  • 49. 表4.2 地址的模四交叉编址 模体地址编址序列对应二进制地址最低二位M00,4,8,12,…,4j+0,…0 0M11,5,9,13,…,4j+1,…0 1M22,6,10,14,…,4j+2,…1 0M33,7,11,15,…,4j+3,…1 1
  • 50. 一般模块数M取2的m次幂,但有的机器采用质数个模块,如我国银河机的M为31,其硬件实现比较复杂,要有大套专门逻辑电路,用来从主存的物理地址计算出存储体的模块号和块内地址。但这种办法可以减少存储器冲突,只有当连续访存的地址间隔是M或M的倍数时才会产生冲突,这种情况的出现机会是很少的。
  • 51. 4.9.2 重叠与交叉存取控制 多体交叉存储模块可以有两种不同的方式进行访问: 一种是所有模块同时启动一次存储周期,相对各自的数据寄存器并行地读出或写入信息; 另一种是M个模块按一定的顺序轮流启动各自的访问周期,启动两个相邻模块的最小时间间隔等于单模块访问周期的1/M,前一种称为“同时访问”,后一种称为“交叉访问”。同时访问要增加数据总线宽度。 同时访问多个存储模块能一次提供多个数据或多条指令。
  • 52. 多体交叉访问存储器工作时间图如图4.22(b)所示。可以看出,就每一存储模块本身来说,对它的连续两次访问时间间隔仍等于单模块访问周期。 由于CPU和IOP共享主存,或多处理机共享主存的原因,访问主存储器的请求源来自多方面,因此可能出现几个请求源同时访问同一个存储体的情况。出现这种冲突情况时,存储体只能先满足其中一个请求源的要求,然后再满足其他请求源的要求,这就需要经过一个排队线路,先处理排队优先的请求源提出的要求。
  • 53. 习题 4.1 在计算机的主存中,常常设置一定的ROM区。试说明设置ROM区域的目的。 4.2 半导体DRAM和SRAM的主要差别是什么? 为什么DRAM芯片的地址一般要分两次接收? 4.3 对于SRAM芯片,如果片选信号始终是有效的。问: (1) 若读信号有效后,地址仍在变化,或数据线上有其他电路送来的信号,问对读出有什么影响? 有什么其他问题? (2) 若写信号有效后,地址仍在变化,或写入数据仍不稳定,对写入有什么影响? 有什么其他问题?
  • 54. 4.4 下图是某SRAM的写入时序图,其中R/ 是读/写命令控制线,当R/ 线为低电平时,存储器按给定地址24A8H把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。 4.5 有一个512K×16的存储器,由64K×1的2164RAM芯片构成(芯片内是4个128×128结构)。 (1) 总共需要多少个RAM芯片? (2) 采用分散刷新方式,如单元刷新间隔不超过2ms,则刷新信号的周期是多少? (3) 如采用集中刷新方式,设读/写周期T=0.1μs,存储器刷新一遍最少用多少时间?
  • 55. 4.6 某机器中,已知道有一个地址空间为0000H~1FFFH的ROM区域,现在再用RAM芯片(8K×4)形成一个16K×8的RAM区域,起始地址为2000H,假设RAM芯片有CS和WE信号控制端。CPU地址总线为A15~A0,数据总线为D7~D0,控制信号为R/ (读/写),MREQ(当存储器进行读或写操作时,该信号指示地址总线上的地址是有效的)。要求画出逻辑图。 4.7 SRAM和DRAM的主要差别是什么? 4.8 当前较先进的微机采用何种DRAM? 4.9 试从制造与应用两方面讨论EPROM和E2PROM的优缺点。