1 / 43

第 7 章 存储器

第 7 章 存储器. 存储器是信息存放的载体,是计算机系统的重要组成部分。有了它,计算机才能有记忆功能,才能把要计算和处理的数据以及程序存入计算机,使计算机能脱离人的直接干预,自动地工作。 7.1 半导体存储器的分类 7.2 读写存储器 RAM 7.3 现代 RAM 7.4 只读存储器( ROM ) 7.5 虚拟存储器管理与 IA-32 微处理器的 MMU 单元. 退出. 7.1 半导体存储器的分类.

Télécharger la présentation

第 7 章 存储器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第7章 存储器 存储器是信息存放的载体,是计算机系统的重要组成部分。有了它,计算机才能有记忆功能,才能把要计算和处理的数据以及程序存入计算机,使计算机能脱离人的直接干预,自动地工作。 7.1 半导体存储器的分类 7.2 读写存储器RAM 7.3 现代RAM 7.4 只读存储器(ROM) 7.5 虚拟存储器管理与IA-32微处理器的MMU单元 退出

  2. 7.1 半导体存储器的分类 半导体存储器从使用功能上来分,可分为:读写存储器RAM(Random Access Memory)又称为随机存取存储器;只读存储器ROM(Read Only Memory)两类。RAM主要用来存放各种现场的输入、输出数据,中间计算结果,与外存交换的信息和作堆栈用。它的存储单元的内容按需要既可以读出,也可以写入或改写。而ROM的信息在使用时是不能改变的,也即只能读出,不能写入故一般用来存放固定的程序,如微型机的管理、监控程序,汇编程序等,以及存放各种常数、函数表等。

  3. 7.1.1 RAM的种类 在RAM中,又可以分为双极型(Bipolar)和MOS RAM两大类。 1.双极型RAM的特点 (1)存取速度高。 (2)以晶体管的触发器(F-F——Flip-Flop)作为基本存储电路,故管子较多。 (3)集成度较低(与MOS相比)。 (4)功耗大。 (5)成本高。 所以,双极型RAM主要用在速度要求较高的微型机中或作为cache。

  4. 2.MOS RAM 用MOS器件构成的RAM,又可分为静态(Static)RAM(有时用SRAM表示)和动态(Dynamic)RAM(有时用DRAM表示)两种。 (1)静态RAM的特点 ① 6管构成的触发器作为基本存储电路。 ② 集成度高于双极型,但低于动态RAM。 ③ 不需要刷新,故可省去刷新电路。

  5. ④ 功耗比双极型的低,但比动态RAM高。 ⑤ 易于用电池作为后备电源(RAM的一个重大问题是当电源去掉后,RAM中的信息就会丢失。为了解决这个问题,就要求当交流电源掉电时,能自动地转换到一个用电池供电的低压后备电源,以保持RAM中的信息)。 ⑥ 存取速度较动态RAM快。

  6. (2)动态RAM的特点 ① 基本存储电路用单管线路组成(靠电容存储电荷)。 ② 集成度高。 ③ 比静态RAM的功耗更低。 ⑤ 价格比静态便宜。 ⑥ 因动态存储器靠电容来存储信息,由于总是存在着泄漏电流,故需要定时刷新。典型的是要求每隔1ms刷新一遍。

  7. 7.1.2 ROM的种类 1.掩模ROM 早期的ROM由半导体厂按照某种固定线路制造的,制造好以后就只能读不能改变。 2.可编程序的只读存储器PROM(Programmable ROM) 为了便于用户根据自己的需要来写ROM,就发展了一种PROM,可由用户对它进行编程,但这种ROM用户只能写一次。

  8. 3.可擦去的可编程只读存储器EPROM(Erasable PROM) 为了适应科研工作的需要,希望ROM能根据需要写,也希望能把已写上去的内容擦去,然后再写,能改写多次。EPROM就是这样的一种存储器。EPROM的写入速度较慢,而且需要一些额外条件,故使用时仍作为只读存储器来用。 只读存储器电路比RAM简单,故而集成度更高,成本更低。而且有一重大优点,就是当电源去掉以后,它的信息是不丢失的。 随着应用的发展,ROM也在不断发展,目前常用的还有电可擦除的可编程ROM及新一代可擦除ROM(闪烁存储器)等。

  9. 7.2 读写存储器RAM 7.2.1 基本存储电路 基本存储电路是组成存储器的基础和核心,它用以存储一位二进制信息:“0”或“1”。在 MOS存储器中,基本存储电路分为静态和动态两大类。

  10. 7.2.2 RAM的结构 1.存储体 2.外围电路 3.地址译码的方式 地址译码有两种方式:一种是单译码方式或称字结构,适用于小容量存储器中;另一种是双译码,或称复合译码结构。 采用双译码结构,可以减少选择线的数目。在双译码结构中,地址译码器分成两个。若每一个有n/2个输入端,它可以有2n/2个输出状态,两个地址译码器就共有2n/2×2n/2=2n个输出状态。而译码输出线却只有2n/2+2n/2=2×2n/2根。

  11. 7.2.3 RAM与CPU的连接 在微型计算机中,CPU对存储器进行读写操作,首先要由地址总线给出地址信号,然后要发出相应的是读还是写的控制信号,最后才能在数据总线上进行信息交流。所以,RAM与CPU的连接,主要有以下三个部分:  地址线的连接;  数据线的连接;  控制线的连接。

  12. 在连接中要考虑的问题有以下几个方面。 (1)CPU总线的负载能力。 (2)CPU的时序和存储器的存取速度之间的配合问题。 (3)存储器的地址分配和选片问题。 (4)控制信号的连接。 如果组成1K×8位,可以采用图7-9的1024×1位的片子,也可采用图7-10的256×4的片子。

  13. 在图7-9中,每一片是1024×1,故其地址线为10条,满足整个存储体容量的要求。每一片相应于一位(只有一条数据线),故只要把它们分别接到数据总线上的相应位即可。对片子没有选片要求,如片子有在图7-9中,每一片是1024×1,故其地址线为10条,满足整个存储体容量的要求。每一片相应于一位(只有一条数据线),故只要把它们分别接到数据总线上的相应位即可。对片子没有选片要求,如片子有 — 选片输入端(CS或CE),可把它们直接接至IO/M。

  14. 在图7-10的电路中,每一片为256×4,故片上的地址为256(8条地址线)。因此,总的存储体容量1K就要分成四部分(或称为页),所以,用地址总线上的A0~A7直接与各个片的地址输入端相连,可寻址256,即实现页内寻址;由A8、A9经过译码输出四条线,代表1K的不同的四个部分(四个页),即0~256为第一页;256~511为第二页;512~767为第三页;768~1023为第四页,实现页的寻址。因为每一片上的数据为4位(4条数据线),用2片可组成一页,故有四条页寻址线,每一条同时接两片。在图7-10的电路中,每一片为256×4,故片上的地址为256(8条地址线)。因此,总的存储体容量1K就要分成四部分(或称为页),所以,用地址总线上的A0~A7直接与各个片的地址输入端相连,可寻址256,即实现页内寻址;由A8、A9经过译码输出四条线,代表1K的不同的四个部分(四个页),即0~256为第一页;256~511为第二页;512~767为第三页;768~1023为第四页,实现页的寻址。因为每一片上的数据为4位(4条数据线),用2片可组成一页,故有四条页寻址线,每一条同时接两片。 一页内两片的数据线,一个接到数据总线的D0~D3,另一个接到D4~D7。而各页的数据线就得并联。

  15. 若用Intel 2114 1K×4位的片子,构成一个2K RAM系统,其连接如图7-11所示。

  16. 这种选片控制的译码方式称为全译码,译码电路较复杂,但是每一组的地址是确定的、唯一的。这种选片控制的译码方式称为全译码,译码电路较复杂,但是每一组的地址是确定的、唯一的。 在系统的RAM为2K的情况下,为了区分不同的两组,可以不用全译码方式,而用A10~A15中的任一位来控制选片端,例如用A10来控制,如图7-12所示。

  17. 粗看起来,这两组的地址分配与全译码时相同,但是当用A10这一个信号作为选片控制时,只要A10=0,A11~A15可为任意值,都选中第一组;而只要A10=1,A11~A15可为任意值,都选中第二组。所以,它们的地址有很大的重叠区(每一组占有32K地址),但在实际使用时,只要我们了解这一点是不妨碍使用的。这种选片控制方式称为线选。粗看起来,这两组的地址分配与全译码时相同,但是当用A10这一个信号作为选片控制时,只要A10=0,A11~A15可为任意值,都选中第一组;而只要A10=1,A11~A15可为任意值,都选中第二组。所以,它们的地址有很大的重叠区(每一组占有32K地址),但在实际使用时,只要我们了解这一点是不妨碍使用的。这种选片控制方式称为线选。 采用线选控制方式时,不光有地址重叠问题,而且用不同的地址线作为选片控制,则它们的地址分配也是不同的。

  18. 在用A11作为选片控制信号时,则这两组的基本地址为:在用A11作为选片控制信号时,则这两组的基本地址为: 第一组: 0000~03FFH 第二组: 0800~0BFFH 但是,实际上只要A11=0,A15~A12、A10可为任意值,都选中第一组;而只要A11=1,A10、A12~A15可为任意值都选中第二组,它们同样有32K的地址重叠区。

  19. 当系统RAM的容量大于2K,如4K(或更多)时,若还用Intel 2114组成,则必须分成4组(或更多)。此时,显然就不能只用A10~A15中的一条地址线作为组控制线,而必须经过译码,可采用全译码方式,也可采用部分译码方式,如图7-14所示。

  20. 通常的微型机系统的内存储器中,总有相当容量的ROM,它们的地址必须与RAM一起考虑,分别给它们一定的地址分配。通常的微型机系统的内存储器中,总有相当容量的ROM,它们的地址必须与RAM一起考虑,分别给它们一定的地址分配。 3.存储器的读周期 要实现存储器读必须要为 低(有效), 为高(表示读)。 存储器读,只有在地址有效以后;而且是从选片有效以后,数据才稳定输出。 读周期与读取时间是两个不同的概念。读周期是表示该芯片进行两次连续的读操作必须间隔的时间。故它总是大于或等于读取时间。

  21. 4.存储器的写周期 要实现写操作必须要 和都 为低。 但在地址改变期间, 必须为高,否则在地址变化期间可能会有误写入,破坏内存的状态。所以, 必须在地址有效以后过一段时间有效,使地址信号能够稳定;同样,也必须在 已变为高电平后,地址信号才允许改变。

  22. 7.2.4 64K位动态RAM存储器 1.Intel 2164A的结构 每一片的容量为64K×1位,即片内共有64K(65536)个地址单元,每个地址单元一位数据。用8片Intel 2164A就可以构成64K字节的存储器。片内要寻址64K,则需要16条地址线,为了减少封装引线,地址线分为两部分:行地址与列地址。芯片的地址引线只要8条,内部设有地址锁存器,利用多路开关,由行地址选通信号 (Row Address Strobe),把先出现的8位地址,送至行地址锁存器;由随后出现的列地址选通信号(Column Address Strobe) 把后出现的8位地址送至列地址锁存器。这8条地址线也用于刷新(刷新时地址计数,实现一行一行刷新)。

  23. 64K存储体由4个128×128的存储矩阵构成。 每个128×128的存储矩阵,有7条行地址和7条列地址线进行选择。7条行地址经过译码产生128条选择线,分别选择128行;7条列地址线经过译码也产生128条选择线,分别选择128列。 锁存在行地址锁存器中的7位行地址RA6~RA0同时加到4个存储矩阵上,在每个矩阵中都选中一行,则共有512个存储电路被选中,它们存放的信息被选通至512个读出放大器,经过鉴别、锁存和重写。

  24. 锁存在列地址锁存器中的7位列地址CA6~CA0(地址总线上的A14~A8),在每个存储矩阵中选中一列,则共有4个存储单元被选中。最后经过1:4 I/O门电路(由RA7与CA7控制)选中一个单元,可以对这个单元进行读写。 数据的输入和输出是分开的,由 信号控制读写。当 为高时,实现读出,选中单元的内容经过输出缓冲器(三态缓冲器)在DOUT引脚上读出。当 有效(低电平)时,实现写入,DIN引脚上的信号经过输入缓冲器(三态缓冲器)对选中单元进行写入。

  25. 2.读周期 读周期是由行地址选通信号 变低(有效)开始的。为了能使行地址可靠锁存,通常希望行地址能先于 信号有效。同样,为了保证列地址的可靠锁存,列地址领先于 信号。 要从指定单元读出信息,必须在 有效后, 也有效。 信息的读写,取决于控制信号 。为实现读出, 则信号必须在 有效前tRCS时间变为高电平。

  26. 3.写周期 要选定写入的单元, 和 必须都有效,而且行地址必须领先 有效。列地址必须领先 有效。 由 有效实现写入, 信号必须领先 有效。 要写入的信息,必须在有效前已经送至数据输入线DIN,且在 有效后必须保持时间。

  27. 4.读-修改-写周期 在指令中,常要对某一单元的内容读出进行修改,然后再写回这一单元。为了提高操作速度,在存储器中设计了读-修改-写周期。 这一周期的性质,类似于读出周期和写周期的组合,但它并不是由两个单独的读周期和写周期结合起来的,而是在 和 同时有效的情况下由 信号先实现读出,在作修改后又实现写入。

  28. 5.刷新周期 在Intel 2164A中有512个读出放大器,所以刷新时,最高位行地址RA7是不起作用的,由RA6~RA0在四个存储矩阵中都选中一行(每次同时刷新512个单元),所以经过128个刷新周期,就可以完成整个存储体的刷新。 虽然读操作、写操作、读+修改+写操作都可以实现刷新,但推荐使用唯 有效的刷新方式,它比别的周期功耗可降低20%。 由 有效把刷新地址锁存入行地址锁存器,则选中的512个单元都读出和重写。由于 在刷新过程中始终无效,故数据不会读出至DOUT线上。

  29. 7.3 现代RAM 扩展数据输出动态随机访问存储器EDO DRAM EDO DRAM与上述传统的快速页面模式的动态随机访问存储器(如Intel 2164)FPM DRAM并没有本质上的区别,其内部结构和各种功能操作也与FPM DRAM基本相同。主要的区别是:当选择随机的列地址时,如果保持相同的行地址,那么,用于行地址的建立和保持时间以及行列地址的复合时间就可以不再需要,能够被访问的最大列数则取决于最长时间。

  30. 同步动态随机访问存储器SDRAM 处理器访问SDRAM时,SDRAM的所有输入或输出信号均在系统时钟CLK的上升沿被存储器内部电路锁定或输出,也就是说SDRAM的地址信号、数据信号以及控制信号都是CLK的上升沿采样或驱动的。这样做的目的是为了使SDRAM的操作在系统时钟CLK的控制下,与系统的高速操作严格同步进行,从而避免因读写存储器产生的“盲目”等待状态,以此来提高存储器的访问速度。 突发存取的高速动态随机存储器Rambus DRAM RDRAM在内部结构上进行了重新设计,并采用了新的信号接口技术。

  31. 7.4 只读存储器(ROM) 掩模只读存储器 它由制造厂做成,用户不能加以修改。

  32. 可擦除的可编程序的只读存储器EPROM 电可擦除的可编程序的ROM(E2PROM——Electrically Erasable Programmable ROM) 编程与擦除所用的电流是极小的 E2PROM的另一个优点是擦除可以按字节分别进行(不像EPROM擦除时把整个芯片的内容全变为“1”)。

  33. 新一代可编程只读存储器FLASH存储器 FLASH具有很高的集成度,这与DRAM类似。在访问速度上FLASH也已经接近EDO类型的DRAM。供电撤消之后,保存在FLASH中的信息不丢失,FLASH具有只读存储器的特点。

  34. 7.5 虚拟存储器管理与IA-32微处理器的MMU单元 7.5.1 虚拟存储器概念 虚拟存储管理技术,使一个进程的逻辑地址空间远大于实际的主存空间时,仍能正常地运行进程。要正确地了解虚拟存储器的概念,首先要分清进程运行时访问的地址空间和主存的实际地址空间。 目标程序中指令和数据放置的位置,称为相对地址或逻辑地址,它不同于CPU能直接访问的主存的物理地址空间。前者是逻辑上的而非物理上的存储空间,而后者是程序在执行时实际存放其指令和数据的物理空间。

  35. 在虚存管理中,把一个进程访问的地址称为“虚拟地址(逻辑地址)”,而处理机可直接访问的主存地址称为“实地址(物理地址)”。把一个进程可访问的虚拟地址的集合称为“虚拟地址空间”,而把一个计算机所实际配置的主存称为“实地址空间(物理地址空间)”。为了使进程能运行,就必须把虚地址空间中的指令和数据放入到主存的实地址空间中去,建立虚地址与实地址的映射关系,也就是要由虚拟地址转换到物理地址。这种转换由虚存管理中的动态地址映射机制来实现。在虚存管理中,把一个进程访问的地址称为“虚拟地址(逻辑地址)”,而处理机可直接访问的主存地址称为“实地址(物理地址)”。把一个进程可访问的虚拟地址的集合称为“虚拟地址空间”,而把一个计算机所实际配置的主存称为“实地址空间(物理地址空间)”。为了使进程能运行,就必须把虚地址空间中的指令和数据放入到主存的实地址空间中去,建立虚地址与实地址的映射关系,也就是要由虚拟地址转换到物理地址。这种转换由虚存管理中的动态地址映射机制来实现。

  36. 实际上,程序只需要有一部分在主存中就可以正确地执行,只需要把最近要用到的那部分程序和数据装入主存,以后要用到别的部分时,把那部分调入,而把不用的部分调出主存。这种调入和调出工作是由具有虚拟存储器功能的操作系统实现的。实际上,程序只需要有一部分在主存中就可以正确地执行,只需要把最近要用到的那部分程序和数据装入主存,以后要用到别的部分时,把那部分调入,而把不用的部分调出主存。这种调入和调出工作是由具有虚拟存储器功能的操作系统实现的。

  37. 7.5.2 Intel IA-32结构微处理器的存储管理单元 IA-32结构微处理器芯片上,就提供了段页式的存储管理机制,为现代操作系统的请页式虚存管理提供了直接支持。 IA-32结构微处理器的存储管理机制分为两部分:段机制和页机制。段机制把虚拟地址(逻辑地址)转换为线性地址;页机制则把由段机制产生的线性地址转换为物理地址。若不启用分页机制(CR0的PG=0),则线性地址即为物理地址;若启用分页机制(CR0的PG=1),线性地址要通过分页机制的转换才变为物理地址。

  38. 线性地址空间中的页,是通过页表映射到物理页的。页表本身是存放在物理地址空间中的。页表可以看作为一个具有220物理地址的数组,所以线性地址与物理地址之间的映射,可以简化为对数组的查找。线性地址空间中的页,是通过页表映射到物理页的。页表本身是存放在物理地址空间中的。页表可以看作为一个具有220物理地址的数组,所以线性地址与物理地址之间的映射,可以简化为对数组的查找。 在IA-32结构微处理器的段机制中,用全局描述符表(gdt)和局部描述符表(ldt),来实现虚拟地址的寻址。

More Related