一.经典题目回顾
设机器字长为32位,一个容量为 16MB 的存储器,CPU按半字寻址,其可寻址的单元数是( )
A. 224
B. 223
C. 224
D. 221
解析:B。16MB = 224B,由于字长为32位,现按半字(2B)寻址,可寻址单元数为 224/2B=223 。
理解:这题不难,主要是题目中名词的理解。题目中的单元数我们可以理解为存储单元的个数,一个存储题由若干个存储单元组成,同时需要理解字、字长、半字、字节、bit、机器字长、存储字长的概念。在第一篇文章中,针对这个有专门解释。 字的相关概念
某一SRAM芯片,其容量为10248位,除电源和接地端外,该芯片的引脚的最小数目为( )
A. 21
B. 22
C. 23
D. 24
解析:A。芯片容量为10248位,说明芯片容量为1024B;且以字节为单位存取,即地址线数要10根(1024B = 210B)。8位说明数据线要 8 根,加上片选线和读/写控制线(读控制为RD、写控制为WE),因此引脚数最小为10+8+1+2=21根。
某一DRAM芯片,采用地址复用技术,其容量为10248位,除电源和接地端外,该
片的引脚数最少是( ) (读写控制线为两根)。
A. 16
B. 17
C. 19
D. 21
解析:B。10248位,因此可寻址范围是1024B=210B,按字节寻址。采用地址复用技术时,通过行通选和列通选分行、列两次传送地址信号,因此地址线减半为5根,数据线仍为8根:加上行通选和列通选及读/写控制线(片选线用行通选代替) 4根,总共是(7根。
注意SRAM和DRAM的区别,DRAM采用地址复用技术,而SRAM不采用。
某机器采用四体低位交叉存储器,现分别执行下述操作:①读取6个连续地址单元中存放的存储字,重复80次:②读取8个连续地址单元中存放的存储字,重复60次。则①.②所花费的时间之比为( )
A.1:1
B.2:1
C.4:3
D.3:4
解析:C。首先,理解题目的一些概念。四体,四个存储体。连续地址单元,同一个存储单元其地址相同,多模块存储器一次读取一个地址即一个存储单元。
(1)在每轮读取存储器的前6个T/4时间(共3T/2)内,依次进入各体。下一轮欲读取存储器时,最近访问的M1还在占用中(才过T/2的时间),因此必须再等待T/2的时间才能开始新的读取(M连续完成两次读取,也即总共2T助时间才可进入下一轮)。
理解:四模块,6个连续地址,采用M1、M2、M3、M4、M1、M2的顺序读取,进行第二轮时它要从M1开始,所以必须等第一轮的M1空出。
注意,进入下一轮不需要第6个字读取结束,第5个字读取结束时M|就已空出,即可且
上进入下一轮。
最后一轮读取结束的时间是本轮第6个字读取结束,共(6 - 1)(T/4)+ T= 2.25T。情况1)的总时间为(80 - 1)x2T + 2.25T= 160.25T。
(2)每轮读取8个存储字刚好经过2T的时间,每轮结束后,最近访问的M刚好经过了时间T,此时可以立即开始下一轮的读取。
最后一轮读取结束的时间是本轮第8个字读取结束,共(8 - 1)(T/4)+ T= 2.75T。
情况2)的总时间为(60 - 1)x2T+ 2.75T= 120.75T。
因此情况1)和2)所花费的总时间比为4:3。
假定用若干 16K8 位的存储芯片组成一个 64K8 位的存储器,芯片各单元采用交叉编址方式,则地址BFFFH所在的芯片的最小地址为( )
A.0000H
B.0001H
C.0002H
D.0003H
解析:D。64K8位/16K8位=4,可知芯片数为4,芯片各单元采用交叉编址,所以每个芯片的片选信号由最低两位地址确定,高14位为片内地址。4个芯片内各存储单元的最低两位地址分别为00、01、10、11,即最小地址分别为0000H、0001H、0002H、0003H。 地址BFFFH最低两位为11,因此该存储单元所在芯片的最小地址为0003H。
注意:根据历年408真题的描述,交叉编址方式就是指低位交叉编址。
某计算机使用四体交叉编址存储器,假定在存储器总线上出现的主存地址(十进制)序列8005,8006 ,8007,8008,8001,8002,8003,8004,8000,则可能发生访存地突的地址对是( )。
A. 8004和8008
B.8002 和8007
C.8001 和8008
D.8000和8004
解析:D。每个访存地址对应的模块序号(0、1、2、3)如下所示:
访存地址 | 模块序号 |
8005 | 1 |
8006 | 2 |
8007 | 3 |
8008 | 0 |
8001 | 1 |
8002 | 2 |
8003 | 3 |
8004 | 0 |
8000 | 0 |
写出对应的模块序号是必须的,四体交叉编址存储器的片选数为4,所以最低的2位表示模块序号,用访存地址写成二进制序列最低2位的值就是模块序号。
判断可能发生访存冲突的规则如下:给定的访存地址在相邻的四次访问中出现在同一个存储模块内。据此,根据上表可知8004和8000对应的模块号都为0,即表明这两次的访问出现在同模块内且在相邻的访问请求中,满足发生冲突的条件。
某计算机主在按字节编址,由4个64M*8位的DRAM芯片采用交叉编址方式构成,并与宽度为32位的存储器总线相连,主存每次最多读写32位数据。若
double型变量x的主存地址为804 001AH,则读取x需要的存储周期数是( )。
A.1
B.2
C.3
D.4
解析:C。由4个DRAM 芯片采用交叉编址方式构成主存可知,最低两位表示该字节存储的芯片编号。double 型变量占64 位(8B)。其主存地址804 001AH的最低2位是10,说明他从编号为2的芯片开始存储(编号从0开始)。第一个周期内他存储了2B,第二个周期完还有2B没有存储,需要3个周期。(画图)
二.存储器的分类
存储器种类繁多,可以从不同角度对存储器进行分类。
1. 按在计算机中的作用分类:
主存储器
辅助存储器
高速缓冲存储器
2. 按存储介质分类:
磁表面存储器(磁盘、磁带)
磁芯存储器
半导体存储器
光存储器
3. 按存取方式分类:
随机存储器(RAM)
只读存储器(ROM)
串行访问存储器
顺序存取存储器(磁带)
直接存取存储器(磁盘、光盘)
4. 按信息的可保存性分类:
易失性存储器(RAM)
非易失性存储器(ROM、磁表面存储器、光存储器)
三.SRAM与DRAM的比较
四.双端口存储器
1. 概念
双端口存储器是一种空间并行技术。
2. 结构:
同一存储器,左右两个独立端口
两组独立地址线、数据线、读写控制线
两个独立控制器同时异步访问存储单元
3. 冲突:
相同地址、同时写:写错误
相同地址、同时一读一写:读错误
4.解决方法
置忙信号BUSY为0,通过判断逻辑决定暂时关闭一个端口(被延时)未关闭正常访问,关闭延时后访问。
五.常见问题与易混淆知识点
1.存取时间T就是存储周期Tm吗?
解:不是。存取时间Ta是执行一次读操作或写操作的时间,分为读出时间和写入时间。读出时间是从主存接收到有效地址开始到数据稳定为止的时间;写入时间是从主存接收到有效地址开始到数据写入被写单元为止的时间。
存储周期Tm是指存储器进行连续两次独立地读或写操作所需的最小时间间隔。所以存取时间Ta不等于存储周期Tm。通常存储周期Tm大于存取时间Ta。
六.补充
今天就到这里了,欢迎看我的其他系列总结。
考研计算机组成原理总结(1)
考研计算机组成原理总结(2)
考研计算机组成原理总结(3)