一.经典题目回顾
1.一个四体并行交叉存储器,每个模块容量是64K*32位,存取周期为200ns,问:
在一个存取周期中,存储器能向CPU提供多少位于进制信息?
若存取周期为400ns, 则在 0.1us内每个体可向CPU提供32位二进制信息,该说法正确否?为什么?
解析:
一个存取周期,四体并行交义存储器可取32位*4= 128位,其中32位为总线宽度,4为交叉存储器内的存储体个数。
该说法不正确。因为在0.lus内整个存储器[向CPU提供32位二进制信息,但每个存储
体必须经过400ns才能向CPU提供32位二进制信息。
2.某计算机宇长32位,存储体的存储周期为200ns。
采用四体交叉工作,用低2位时地址作为体地址,存储数据按地址顺用存放,主机最快多长时间可以读出一个数据字?存储器的带宽是多少?
若4个体分别保存主存中前1/4、次1/4、再下个1/4、最后1/4这四段的数据,即选用高2位的地址作为体地址,可以提高在储器顺序读出数据的速度吗?
若把存储器改成单体4字宽度,会带来什么好处和问题?
比较采用四体低位地址交叉的存储器和四端口读出的存储器这两种方案的优缺点。
解析:
因为每个体的存取周期是200ns。 四体交叉工作,每两个体间读出操作的延时为1/4个存储周期,理想情况是每个存取周期平均可读出4个数据字,读出一个数据字的时间平均为200ns/4= 50ns。数据字长为32位,数据传输率为32位/50ns = 640Mb/s = 80MB/s。
若对多体结构的存储器选用高位地址交叉,通常起不到提高存储器读写速度的作用,因为它不符合程序运行的局部性原理,一 次连续读出彼此地址相差一个存储体容量的4个字的机会太少。因此,通常只有一个存储模块在不停地忙碌,其他存储植块是空闲的。
若把存储器的字长扩大为原来的4倍,实现的则是一个单体4字结构的存储器,每次读可以同时读出4个字的内容,有利于提高存储器每个字的平均读写速度,但其灵活性不如多体单字结构的存储器,还会多用到几个缓冲寄存器。
多端口存储器是对同一个存储体使用多套读写电路实现的,扩大存储容量的难度显然比多体结构的存储器要大,而且不能对多端口存储器的同一个存储单元同时执行多个写入操作,而多体结构的存储器则允许在同一个存储周期对几个存储体执行写入操作。
3.80386DX是32位系统,以4B为编址单位,当在该系统中用8KB (8K*8位)的存储芯片构造32KB的存储体时,应完成存储器的( )
A.位扩展
B.字扩展
C.字位扩展
D.字位均不扩展
解析:A。理解:32KB = 8K * 4B = 8K * 32bit。因为以4B为编址单位,要扩展到32KB,即扩展到8Kx32bit,所以只用进行位扩展。
4.某计算机字长为16位,存储器容量为256KB, CPU 按字寻址,其寻址范围是( )
A.0~ 219-1
B.0~ 220-1
C.0~ 218-1
D.0~ 217-1
解析:D。256KB=218B,按字寻址,且字长为16bit=2B,可寻址的单元数=218B/2B=217, 其寻址范围是0~217-1。
5.地址总线A0(高位) ~ A15(低位),用4K*4位的存储芯片组成16KB存储器,则产生片选信号的译码器的输入地址线应该是( )
A. A2A3
B. A0A1
C. A12A13
D. A14A15
解析:A。由于地址线充足,在其之外进行片选。由于A15为地址线的低位,接入各芯片地址端的是地址线的低12位,即A4 ~ A15,共有8个芯片 (16KB/4K =4B,且位扩展时每组两片,分为4组) 组成16KB的存储器,则由高两位地址线A2A3;作为译码器的输入。译码器的输入为组号,每组里面还有两片。
6.假定用若干2K4位的芯片组成一个8K8位的存储器,则地址0BIFH所在芯片的最小地址是( )
A.0000H
B.0600H
C.0700H
D.0800H
解析:D。用2Kx4位的芯片组成一个8Ky8位存储器,每行中所需芯片数为2,每列中所需芯片数为4,各行芯片的地址分配如下:
第一行(2个芯片并联): 0000H~ 07FFH
第二行(2个芯片并联): 0800H~0FFFH
第三行(2个芯片并联): 1000H~ 17FFH
第四行(2个芯片并联): 1800H~ 1FFFH
可知,地址0B1FH在第二行,且所在芯片的最小地址为0800H。
7.某计算机存储器按字节编址,主存地址空间大小为64MB,现用4M*8位的RAM芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是( )
A.22位
B.23位
C.25位
D.26位
解析:D。主存按字节编址,地址空间大小为64MB, MAR的寻址范围为64M=226,实际的主存容量32MB不能代表MAR的位数,考虑到存储器扩展的需要,MAR应保证能访问到整个主存地址空间,反过来,MAR的位数决定了主存地址空间的大小。
8.有一组16K16位的存储器,由1K4 位的DRAM芯片构成(芯片是6464结构)。问:
1)共需要多少RAM芯片?
2)采用异步刷新方式,如单元刷新间隔不超过2ms,则刷新信号周期是多少?
解析:
1)存储器总容量为16Kx16位,RAM芯片为1Kx4位,因此所需芯片总数为(16K16位)/(1Kx4位)=64片。
2)采用异步刷新方式,在2ms时间内分散地把芯片64行刷新一遍,因此刷新信号的时间间隔为2ms/64 = 31.25μs,即可取刷新信号周期为31μs。
注意:刷新周期也可取30μs,只要小于31.25μs 即可,但通常取刷新间隔的整数部分。
9.某磁盘的转速为10000转/分,平均寻道时间是6ms, 磁盘传输速率是20MB/s,磁盘控制器延迟为0.2ms,读取一个4KB的扇区所需的平均时间约为( )。
A.9ms
B.9.4ms
C.12ms
D.12 4ms
分析:这种题是考研常考计算题,存取时间 = 寻道时间 + 查询时间 +传输时间。其中寻道时间一般题目会给出,查询时间取平均值,为转半圈的时间。
解析:B。磁盘转速是10000转/分,转圈的时间为6ms,因此平均查询扇区的时间为3ms,平均寻道时间为6ms,读取4KB扇区信息的时间为4KB/(20MB/s) = 0.2ms,信息延迟的时间为0.2ms,总时间为3+6+0.2 + 0.2 = 9.4ms。
10.若磁盘转速为7200转/分,平均寻道时间为8ms,每个磁道包含1000个扇区,则访问一个扇区的平均存取时间大约是( )
A.8.1ms
B.12.2ms
C.16.3ms
D.20.5ms
解析:B。存取时间 = 寻道时间+延迟时间+传输时间。在取一个扇区的平均延迟时间为旋转半周的时间,即(60/7200)2 = 4.17ms,传输时间为(60/7200)/1000 = 0.01ms,因此访问个扇区的平均
存取时间为4.17+0.01 +8= 12.18ms,保留一位 小数则为12.2ms。
二.主存储器与CPU连接
主存储器与CPU通过系统总线连接。系统总线是一组电子信号线,用于传输指令和数据。在现代计算机中,通常使用双向总线,即数据可以在主存储器和CPU之间双向传输。
2.1连接原理
主存储器通过数据总线、地址总线和控制总线与CRU连接。
数据总线的位数与工作频率的乘积正比于数据传输率。
地址总线的位数决定了可寻地的最大内存空间。
控制总线(读/写)指出总线周期的类型和本次输入/输出操作完成的时刻。
2.2主存容量的扩展
位扩展法
字扩展法
字位同时扩展法
2.3 地址分配
CPU要实现对存储单元的访问,需要完成片选和字选。字选通常由CPU片内逻辑完成译码,重点是片选。
线选法:
优点:不需要地址译码
缺点:地址空间不连续,选片地址线必须为低电平,容易造成地址空间的浪费
译码片选法
三.外部存储器
3.1 磁盘存储器
3.1.1 优缺点
优点:
①存储容量大,位价格低:
②记录介质可重复使用:
③记录信息可长期保存而不丢失,甚至可脱机存档:
④非破坏性读出,读出时不需要再生。
缺点:
存取速度慢,机械结构复杂,对工作环境要求较高。
3.1.2 组成
硬盘存储器由磁盘驱动器、磁盘控制器和盘片组成。
3.1.3 存储区域
一块硬盘含有若干记录面,每个记录面划分为若干磁道,而每条磁道又划分为若干扇区,扇区( 也称块)是磁盘读写的最小单位,即磁盘按块存取。
● 磁头数(Heads):即记录面数,表示硬盘共有多少个磁头,磁头用于读取/写入盘片上记录面的信息,一个记录面对应一个磁头。
●柱面数(Cylinders); 表示硬盘每面盘片上有多少条磁道。在一个盘组中,不同记录面的相同编号(位置)的诸磁道构成一个圆柱面。
●扇区数(Sectors); 表示每条磁道上有多少个扇区。
3.1.4 记录原理
原理:磁头和磁性记录介质相对运动时,通过电磁转规完成读/与操作。
编码方法:按某种方案(规律),把一连串的二进制信息变换成存储介质磁层中个磁化翻专状态的序列,并使读/写控制电路容易、可靠地实现转换。
磁记录方式:通常采用调频制(FM)和改进型调频制(MFM)上的记录方式。
3.2 固态硬盘
固态硬盘(SSD)是一种基于闪存技术的存储器。
3.2.1 优点
比机械硬盘快
没有移动部件
没有机械噪声和震动
能耗低
抗震性好
安全性高
3.2.2 缺点
容易磨损
四. 常见问题与易混淆知识点
存储器的层次结构主要体现在何处?为何要分这些层次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache-主存和主存-辅存这两个存储层次上。
Cache主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。
主存一辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器的容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与Cache之间的信息调度功能全部由硬件自动完成。而主存与辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部分通过软/硬结合的技术组成虚拟存储器,程序员可用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,程序运行时,再由软硬件自动配台完成虚报地址空间与主存实际物理空间的转换。因此,这两次上的调度或转换操作对于程序员来说都是透明的。
五.补充
今天就到这里了,欢迎看我的其他系列总结。
考研计算机组成原理总结(1)
考研计算机组成原理总结(2)
考研计算机组成原理总结(3)