资讯详情

计组 | 【三 存储系统】知识点及例题

一、知识点

1.RAM属于易失性半导体,只要电源不断电,存信息不会丢失。

2.U盘使用Flash属于存储技术ROM。

3.存储器随机存取和随机存取(RAM)不同。只读存储器(ROM)也是随机访问。支持随机访问的存储器不一定是RAM。

4.计算机的操作系统安装在上安装辅存(硬盘)BIOS芯片(ROM)它存储了自举装入程序,负责引导装入操作系统(启动)到主存储(RAM)中。

5.考虑到存储器扩展的需要,MAR确保能够访问整个主存地址空间。反过来,MAR位数决定了主存储地址空间的大小。

6. 与缓存容量相比,主存总地址长于缓存总地址的位数.

7.一个存储元对应一个位置。一个存储单元对应一个字。

8、把指令cache和数据cache分离后,取指和取数分别不同cache在寻找中,指令流水线中的取指部分和取数部分可以很好地避免冲突,即减少了指令流水线的冲突。

9.在计算机组成原理科目中,存储器和主存储器.内存是同义词。

10、

11.寄存器:(寄存器是一种存储容量有限的高速存储部件,可用于临时存储指令、数据等。)通常生产在CPU 芯片。寄存器中的数量直接在CPU内部参与运算,CPU里面可以有十几个或几十个寄存器,速度最快,价格最贵,容量最小。

12.闪存的写作操作必须在空白区域进行。如果目标区域有数据,则必须在写入前擦除,而读取操作则不必这样做闪存的阅读速度比写作速度快。

13.存储容量扩展的概念:由于单片存储芯片的容量总是有限的,不能满足实际需要,为了形成足够容量的存储器,必须连接多个存储芯片,称为存储容量扩展。

14.使用存储系统程序或各种常数.ROM应选择芯片存储用户程序RAM芯片等。

15、应特别注意高交叉地址和低交叉地址的平行概念。高交叉地址的平行性反映在不同请求源的平行访问中;低交叉地址的平行性反映在同一请求源的平行访问中。

16.因为存储器是矩阵形式的.所以每次刷新都是刷新行.

17、刷新的本质是阅读后按原样写入(有的考生误以为刷新只是读操作,所以特此提醒)。

如果考研题目没有特别说明,刷新一行的时间等于一个存储周期,这里的存储周期是读写周期。

以上不是说刷新的本质是先读出再按原样写入吗?那应该是阅读周期 写周期=两倍的存储周期是正确的。刷新是等于存储周期还是两倍存储周期?

统一结论:只要题干没有特别说明剧新的具体细节,刷新一行所需的时间是存储周期;如果题目本意就说明了刷新操作由读操作和写操作一起执行,那么刷新一行的时间就按照两倍的存储周期。

18.扩展字位时,必须是先扩展位置,再扩展字符。

19、

20、

每一个 Cache对应一个标记项(包括有效位)Tag、一致性维护位置和替换算法控制位置),对于组相联映射模式,每个维度的标记项组成一行,从上到下排列,成为标记项阵列;对于全相联映射和直接映射,标记项是一组。图3-37是四路组相连的标记阵列示意图。


二、例题

1. RAM/ROM

1.动态半导体存储器的特点是 ( ) 。

A在工作中,需要动态更改访问地址

B存储内容在工作中会发生变化

C每隔一段时间,需要根据原始存储内容重写一次

D每次阅读后,需要根据原始存储内容重新写入

E. 一个完整的刷新过程需要占用两个访问周期

F. 一个完整的刷新过程只需要占用一个访问周期

【解答】C、F

【分析】本题考察动态半导体存储器的特点。

半导体存储器是一种用于存储指令或数据的大型集成电路,通常用作微型计算机中的内部存储器。半导体存储器主要包括只读存储器ROM随机存储器RAM,随机存储器RAM可以分为静态和动态两种。动态随机存储器RAM特点是每隔一段时间,需要根据原始存储内容重写一次,适用于大容量存储器。

动态半导体存储器利用电容器存储电荷的特性来记录信息。由于电容器会放电,电容器必须在电荷丢失前充电,即刷新。方法是每隔一段时间根据原始内容重写一次,所以B是错误的,

刷新实际上分为两个步骤:

第一步是读取和放大信息,第二步是存储信息,从而刷新信息的再生过程。刷新是根据存储器的行进行的,刷新一行的时间是一个访问周期。这里需要解释的是,有些人可能认为刷新可以分为两个步骤:阅读和存储应该占用两个访问周期,但事实上,这里的阅读不是阅读信息CPU,存也不是从CPU将信息存储到主存中,它只是读取信息,通过刷新放大器重新存储回存储单元,刷新放大器集成在一起RAM上的。因此,这里访存只进行一次,即占用访存周期(考生一定要注意这一点,这也是出这个问题的目的)。

刷新有三种方法:

(1)集中刷新:在一段时间里,只对所有的行进行刷新,不进行任何访存行为。存在较长的“死时间”。

(2)分散刷新:访问周期分为两段,前段用于正常访问,后段用于刷新。因此,访问周期变长,系统速度降低。

(3)异步刷新:前两者结合,只要不超过电荷流失光的时间,同一行的两次刷新间隔就可以了。刷新时类似DMA挪用周期,借一个周期刷新银行。

2.机器采用四体低位交叉存储器,现分别执行以下操作: (1)读取存储在6个连续地址单元中的存储单词,重复80次;(2)读取存储在8个连续地址单元中的存储单词,重复60次。时间比为(1)和(2)( )。

A.1 : 1 B.2:1 C.4:3 D.3:4

【解答】C

假设存储器的存取周期是T,

(1)的情况下,连续读取6个存储字需时T (6—1)×(T/4)=2.25T,但是存储连续字中第一个字的存储器需要3个T下一轮读取只能在时间后进行,因此(1)共需3次T×(80一1) 2.25T=239.75T;(

2)情况是一样的,需要一轮读取T (8—1)×(T /4)=2.75T,但是下一轮读取需要3次T时间过后,所以(2)共需3次T×(60一1) 2.75T=179.75T

综合以上分析,(1)、(2)时间比约为4:3。

3.以下说法是正确的( )。

Ⅰ高位多体交叉存储器能很好地满足程序的局部原理

Ⅱ高四体交叉存储器可以在一个存储周期内连续访问四个模块

Ⅲ。双端口存储器可以同时书写同一范围和单元

IV. 当两个端口的地址码相同时,双端口存储器必然会发生冲突

A.仅Ⅰ、Ⅲ B.仅Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ 和IV D.仅Ⅲ、IV

【解答】B

【分析】

Ⅰ:由于高位多体交叉存储器在单个存储器中连续存储单词,因此不能保证程序的局部原理;由于低位多体交叉存储器是交叉存储的,因此可以很好地满足程序的局部原理,所以Ⅰ错误

Ⅱ:虽然高四体交叉存储器不能满足程序的连续读取,但仍然有可能一次连续读出彼此地址相差一个存储体容量的4个字。虽然概率比较小,但是也非不可能,所以Ⅱ正确。

Ⅲ:双端口存储器虽然具有两套独立读/写端口,且具有各自的地址寄存器和译码电路,但是仍然不能同时对同一区间、同一单元进行写操作。因为当有一方进行写时,忙标志位将会阻止另一方访问,所以Ⅲ错误。当两个端口的地址码相同时,双端口存储器的读操作不会发生冲突,写操作会发生冲突。

 4、多体并行方式有两种,其中高位交叉编址的多体存储器中,程序  ① 存放,而低位交叉编址的多体存储器中,程序  ② 

解:本题答案为:① 按体内地址顺序 ② 连续存放在相邻体中。

采用多体交叉存储器时,主要由地址的低位部分来选择各个存储体。

采用多体交叉存储器时,当连续访问的存储单元位于不同的存储体时可获得较高的存取速度。

有M个存储体的低位交叉编址的多体存储器是采用模M编址方式。

附加:

**程序的空间局部性**: 是指程序即将用到的信息可能与目前正在使用的信息在空间上相邻或者临近。 程序的局部性原理是计算机体系结构设计的基础之一。


2. 存储器与CPU的连接

1、80386DX是32位系统,以4个字节为编址单位,当在该系统中用8KB(8K╳8位)的存储芯片构造32KB的存储体时,应完成存储器的()设计。 A、位扩展    B、字扩展    C、字位扩展    D、字位均不扩展

【解答】A

【分析】将4片8KB的存储芯片位扩展为8K×8位,又因为以4个字节为编址单位,要扩展到32KB,即扩展到8K×32bit,所以只用进行位扩展。

2、,地址从90000H到CFFFFH,若用存储容量为16K×8bit的存储器芯片构成该内存,至少需要( )片。

A.2          B.4        C.8       D.16

【解答】D

【分析】

首先根据地址区间[90000H,CFFFFH],可以计算地址空间为:CFFFFH - 90000H + 1 = 40000H 因为10000H = 2^16B 那么 40000H = 4 * (2^16)B = 256 KB 即内存区域有256个单元 那么内存所需芯片数为:  ( 256 * 8 )/   ( 16 * 8 ) = 16  

3、若内存地址区间为4000H~43FFH,,该内存区域由4片存储器芯片构成,则构成该内存所用的存储器芯片的容量是?

A.512×16bit        B.256×8bit         C.256×16bit       D. 1024×8bit

【解答】D

【分析】

首先根据地址区间4000H~43FFH,可以计算地址空间为:43FFH - 4000H + 1 = 400 H 那么 400H = 1K  即内存区域有1K个单元,总容量为 1K x 16 位。 那么内存所需芯片数为:  ( 1K * 16 )位 /   4 = 256×16 位

408真题系列

 【2011统考】

【解答】D

【分析】主存按字节编址,地址空间大小为64MB,MAR的寻址范围为64M=2^26。因此是26位。实际的主存容量32MB不能代表MAR的位数。考虑到存储器扩展的需要,MAR应保证能访问到整个主存地址空间。反过来,MAR的位数决定了主存地址空间的大小。


3. Cache

1、某存储系统中,主存容量是Cache容量的4096倍,Cache被分为64个块,当主存地址和Cache地址采用直接映像方式时,地址映射表的大小应为()。(假设不考虑一致维护和替换算法位)

A.6×4097  bit

B.64×12  bit

C.6×4096  bit

D.64×13  bit

【解答】D

【分析】主存是Cache的,得出高位主存块的标记是12位。 由PS中的补充知道,只需要再加一位基本的:有效位即可。 因此,一个Cache快需要13bits进行标识。 总共是64块,得出64 * 13bits的答案。 

若cache 的地址长度为a,则cache的容量为2^a
主存容量为cache的4096倍,即2^a*4096=2^a*2^12=2^(a+12),即主存地址长度为a+12。
故,主存地址长度比cache长12位。

2、有效容量为128KB的Cache,每块16字节,采用8路组相联。字节地址为1234567H的单元调入该Cache,则其Tag应为() 。

A. 1234H     B.2468H      C.048DH      D.12345H

【解答】C

【分析】

128KB的Cache,每块16B,那么总共有128KB/16B=2^13块。

采用8路组相联,于是可划分为 2^13/8=2^10组,需要10位来寻址;

每块16B(24),字块内地址为4位;

再根据字节地址1234567H,对应二进制为

除去低位的Cache字块标记和字块内地址,可知高14位为主存字块标记,00 0100 1000 1101,对应十六进制为 048DH

主存容量跟缓存容量之比,主存总地址比缓存总地址长出来的位数. 缓存总容量跟每一块的容量之比,缓存的总的地址长度减去字块内的地址长度

3、有一主存—Cache层次的存储器,其主存容量为1MB,Cache容量为16KB,每字块有8个字,每字32位,采用直接地址映像方式,若主存地址为35301H,且CPU访问Cache命中,则在Cache的第(  )(十进制表示)字块中( Cache起始字块为第0字块)。 

A .152     B .153     C . 154     D. 151

【解答】A

【分析】

35301 H 对应的2进制数是

4、 设有8页的逻辑空间,每页有1024B,它们被映射到32块的物理存储区中,那么按字节编址逻辑地址的有效位是(),物理地址至少是()位。

A.10,12               B.10,15               C. 13,15             D.13,12

【解答】C

【分析】

对于虚拟存储器,主存的页和虚存的页一样大 

逻辑地址=虚页号+页内地址=3+10

物理地址=实页号+页内地址=5+10

5、假定主存地址位数为 32 位,按字节编址,主存和 cache 之间采用全相联映射方式,主存块大小为一个字,每字 32 位,采用回写( Write Back )方式和随机替换策略,则能存放 32K 字数据的 cache 的总容量至少应有多少位?()

A.1536K      B.1568K      C.2016K      D.2048K

【解答】D

【分析】全相联的地址结构为,主存标记+字块内标记

总地址长度为32位,按字节编址,块大小为一个字,32位,即4B,所以字块内地址2位

主存字块标记为30位,应为写回法,加上有效位,脏位,共32位

32k字数据,块大小1字,所以32K块,

而标记项为,字位+标记位+有效位+脏位=64,64*32k=2048k 

6、假定CPU通过存储器总线读取数据的过程为:发送地址和读命令需1个时钟周期,存储器准备一个数据需8个时钟周期,总线上每传送1个数据需1个时钟周期。若主存和cache之间交换的主存块大小为64B,存取宽度和总线宽度都为4B,则cache的一次缺失损失至少为多少个时钟周期?

A.72      B.80      C.160      D.64

【解答】C

【分析】

一次缺失损失需要从主存读出一个主存块(64B),每个总线事务读取4B,

因此,需要64B/4B=16个总线事务。

每个总线事务所用时间为1+8+1=10个时钟周期,总共需要160个时钟周期。


三、Q/A

 解析:随机存取是表示可以随时地访问存储器的任意单元地址,就好像数组可以通过下标直接访问需要的元素,而链表就需要一个个地找过去,因此数组是随机存取,而链表不是随机存取。

ROM确实可以算是随机存取存储器,因为ROM就是采用随机存取方式访问信息,但随机存取存储器的一般定义是必须要满足可以随机进行存和取,ROM只能进行取操作,而不能进行存操作。因此,一般都将ROM和随机存取存储器(RAM)分开。

注意:名称中有E的都是表示可以擦除的(可能出选择题).

答:寄存器在CPU中,速度快,价格高,容量小,主要用来暂存指令运行时的操作数和结果。

主存储器在CPU之外,速度没有寄存器快,价格比寄存器便宜,容量大,用来存放已被启动的程序代码和数据。

答:不是。刷新按行进行,每一-行中的记忆单元同时被刷新,仅需要行地址,不需要列地址。刷新行号由DRAM芯片的刷新控制电路中的刷新计数器产生。整个存储器中的所有芯片的相同行同时进行刷新,所以不是一个一个芯片按顺序进行的,而是单个芯片的所有行按顺序定时一行一行进行的。

刷新和再生不是一回事。对某个单元的刷新和再生的操作过程是一样的,即读后恢复,但再生操作是随机的,只对所读单元进行,而刷新操作是按顺序定时一行一行进行的。

答:是的。虽然经常把只读存储器(ROM)和随机访问存储器(RAM)放在一起进行分类,但ROM的存取方式和RAM是一样的,都是通过对地址进行译码,选择某个单元进行读写。

所以,两者采用的都是随机存取方式。不同的是,ROM是只读的,RAM是可读可写的。在程序执行过程中,ROM存储区只能读出信息,不能修改,而RAM存储区可以读出,也可以修改信息。

1)对于集中刷新:“死时间”很好求解,就是那段集中刷新的时间。

2)对于分散剧新:从图3-13中可以看出,剧新占据了时间,而且剧新时它不能进行读/写操作,那不就“死时间”吗?

但是有些教材上说分散刷新没有“死时间”,这是怎么回事呢?

下面是编者根据做题的经验,给“死时间”做出的定义,即“死时间”是存储周期外的不能进行读/写操作的剧新时间,而且这段“死时间”要连续不能累积。因此,对于分散刷新来说,由于刷新时间被存储周期包含了,它在内,而不在外,因此“死时间”不存在。

3)对于异步剧新:由于“死时间”不是累加的,因此异步刷新的“死时间”就是一个读/写周期,或者是没有变异的存储周期。

如在. CPU 指令译码阶段进行刷新等,这个记住就好,不需要理解原理。

答:在现代计算机系统中,一般采用多级Cache系统。CPU执行指令时,先到速度最快的一级Cache(L1 Cache)中寻找指令或数据。找不到时,再到速度次快的二级Cache(L2 Cache)中找。以此类推,最后到主存中找。一级 Cache 的指令和数据一般分开存放,而二级Cache的指令和数据是放在一起的。因此,有L1 data Cache和 L1 code Cache。

答:不对。虽然Cache是存储器,具有几百KB 甚至几MB的容量,但因为它存放的是主存信息的副本,所以并不能增加系统的存储容量。

答:不需要。高速缓存(Cache)的访问过程对程序员来说是透明的。执行到一条指令时,需要到内存取指令,有些指令还要访问内存取操作数或存放运算结果。采用Cache 的计算机系统中,总是先到 Cache 去访问指令或数据,没有找到才到主存去访问。这个过程是CPU在执行指令过程中自动完成的。程序员不需要知道要找的指令和数据是否在 Cache 中,若在Cache 中是在 Cache 的哪一块中,也不需要知道Cache的访问过程,只要在指令中给定内存单元的地址就行了。

答:无须考虑。因为,在直接映射方式下,一个给定的主存块只能放到一个唯一的固定Cache槽中,所以在对应Cache槽中已有一个主存块的情况下,新的主存块毫无选择地把原先已有的那个主存块替换掉,因而无须考虑替换算法。

标签: 408电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台