第4章 存储器
4.1解释概念:主存、辅存、Cache、RAM、SRAM、DRAM、ROM、PROM、EPROM、EEPROM、CDROM、Flash Memory。
答:主存:又称内存,是主存储器的简称。它是计算机硬件的一个重要部件,由存储体、各种逻辑部件及控制电路组成,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。
辅存:又称外存,是辅助存储器的简称。用来存储暂时不参加运行的程序和数据,以及永久存储信息。
Cache:高速缓冲存储器,是为了解决主存和CPU的速度匹配,提高访存速度的一种存储器。
RAM:随机存取存储器(Random Access Memory),在程序的执行过程中既可读出又可写入。
SRAM:静态RAM。靠触发器原理存储信息,只要电源不掉电,信息就不会丢失。 DRAM:动态RAM。靠电容存储电荷原理存储信息,即使电源不掉电,由于电容要放电,信息也会丢失,故需再生。
ROM:只读存储器(Read Only Memory)。在程序的执行过程中只能读出信息,不能写入信息。
PROM:可一次性编程的只读存储器。
EPROM:可擦洗的只读存储器,利用紫外线抹去原有信息,可多次编程。 EEPROM:用电可改写型只读存储器,可多次编程。
CDROM:只读型光盘,主要用于检索文献数据库或其他数据库,只能读,不能修改或写入新的内容。
Flash Memory:闪速存储器,又称快擦型存储器,可擦写非易失性存储器。
4.2计算机中哪些部件可用于存储信息,按其速度、容量和价格/位排序说明。
答:按速度由高到低,容量由小到大,价位由高到低排序:寄存器、缓存、主存、磁盘、磁带。
4.3存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。 Cache-主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存-辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与CACHE之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度
目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的(即程序员不知道)。
4.4 说明存取周期和存取时间的区别。
答:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作后线路的恢复时间。
即:存取周期 = 存取时间 + 恢复时间
4.5 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns,则存储器的带宽是多少?
解:存储器的带宽:指单位时间内从存储器进出信息的最大数量。 存储器带宽 = 1/200ns ×32位 = 160M位/秒 = 20MB/秒 = 5M字/秒
-96
注意:字长32位,不是16位。(注:1ns=10s,1M=10)
4.6 某机字长为32位,其存储容量是64KB,按字编址它的寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。
解:存储容量是64KB时,按字节编址的寻址范围就是64K;按字编址,其寻址范围为:64K / (32/8)= 16K
主存按字节地址的分配情况:
字地址 HB ————字节地址————LB 0 0 1 2 3 4 4 5 6 7 8 ?? ?? ?? ?? ?? 65528
65532 65533 65534 65535 65532
4.7一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用
下列不同规格的存储芯片时,各需要多少片?
解:地址线和数据线的总和 = 14 + 32 = 46根。 选择不同的芯片时,各需要的片数为: 1K×4:(16K×32) / (1K×4) = 16×8 = 128片 2K×8:(16K×32) / (2K×8) = 8×4 = 32片 4K×4:(16K×32) / (4K×4) = 4×8 = 32片 16K×1:(16K×32)/ (16K×1) = 1×32 = 32片 4K×8:(16K×32)/ (4K×8) = 4×4 = 16片 8K×8:(16K×32) / (8K×8) = 2×4 = 8片
4.8 试比较静态RAM和动态RAM。
答:静态RAM和动态RAM的比较见下表:
特性 SRAM 存储信息 触发器
破坏性读出 需要刷新 送行列地址 运行速度 集成度 发热量 存储成本 功耗 可靠性 可用性 适合场合
非 不要 同时送 快 低 大 高 高 高
使用方便 高速小容量存储器
DRAM 电容 是 需要 分两次送 慢 高 小 低 低 低 不方便 大容量主存
4.9什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新:对DRAM定期进行的全部重写过程。
刷新原因:因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作。
常用的刷新方法有三种:集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新,存在CPU访存死时间。 分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间。 异步式:是集中式和分散式的折衷。
4.10 半导体存储器芯片的译码驱动方式有几种?
解:半导体存储器芯片的译码驱动方式有两种:线选法和重合法。 线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材。
重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。
4.11 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新和异步刷新三种方式的刷新间隔各为多少?
解:DRAM的刷新最大间隔时间为2ms,则
异步刷新时,刷新间隔 =2ms/256行 =0.0078125ms =7.8125μs 即:每7.8125μs刷新一行。 集中刷新时,刷新最晚启动时间=2ms-0.1μs×256行=2ms-25.6μs=1974.4μs 集中刷新启动后,刷新间隔 = 0.1μs 即:每0.1μs刷新一行。 集中刷新的死时间 =0.1μs×256行=25.6μs 分散刷新时,刷新间隔 =0.1μs×2 =0.2μs 即:每0.2μs刷新一行。 分散刷新一遍的时间=0.1μs×2×256行 =51.2μs
则分散刷新时,2ms内可重复刷新遍数=2ms/ 51.2μs ≈39遍
4.12 画出用1024×4位的存储芯片组成一个容量为64K×8位的存储器逻辑框图。要求将64K分成4个页面,每个页面分16组,指出共需多少片存储芯片。
解:设采用SRAM芯片,则: 总片数 = (64K×8位)/ (1024×4位)= 64×2 = 128片
题意分析:本题设计的存储器结构上分为总体、页面、组三级,因此画图时也应分三级画。首先应确定各级的容量:
页面容量 = 总容量 / 页面数 = 64K×8 / 4 = 16K×8位,4片16K×8字串联成64K×8位
组容量 = 页面容量 / 组数 = 16K×8位 / 16 = 1K×8位,16片1K×8位字串联成16K×8位
组内片数 = 组容量 / 片容量 = 1K×8位 / 1K×4位 = 2片,两片1K×4位芯片位并联成1K×8位
存储器逻辑框图如图4.1所示:
图4.1 64K×8位的存储器逻辑框图
4.13 设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。
解:存储基元总数 = 64K×8位 = 512K位 = 2位;
思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
19
设地址线根数为a,数据线根数为b,则片容量为:2×b = 2;b = 2; 若:a = 19,b = 1,总和 = 19+1 = 20;
a = 18,b = 2,总和 = 18+2 = 20; a = 17,b = 4,总和 = 17+4 = 21; a = 16,b = 8,总和 = 16+8 = 24; ?? ??
由上可看出:片字数越少,片字长越长,引脚数越多。片字数减1、片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。
a1919-a
4.14 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少? (2)若每个模块板为32K×8位,共需几个模块板? (3)每个模块板内共有几片RAM芯片? (4)共有多少片RAM?
(5)CPU如何选择各模块板?
解:(1)该机所允许的最大主存空间是:2 × 8位 = 256K×8位 = 256KB
(2)模块板总数 = 256K×8 / 32K×8 = 8块
(3)板内片数 = 32K×8位 / 4K×4位 = 8×2 = 16片 (4)总片数 = 16片×8 = 128片
(5)CPU通过最高3位地址译码输出选择模板,次高3位地址译码输出选择芯片。地址格式分配如下:
模板号(3位) 芯片号(3位) 片内地址(12位)
18
4.15 设CPU共有16根地址线,8根数据线,并用MREQ(低电平有效)作访存
控制信号,R/W作读写命令信号(高电平为读,低电平为写)。现有下列存储芯片:ROM(2K×8位,4K×4位,8K×8位),RAM(1K×4位,2K×8位,4K×8位),及74138译码器和其他门电路(门电路自定)。试从上述规格中选用合适芯片,画出CPU和存储芯片的连接图。要求:
(1)最小4K地址为系统程序区,4096-16383地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。
解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH 用户程序区(RAM共12KB):1000H-FFFFH (2)选片:
ROM:选择4K×4位芯片2片,位并联
RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)
(3)各芯片二进制地址分配如下: ROM1,2 A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1