(页内组地址不连贯? ) 不分级画;问题:′ 1、不合题意; 2、芯片太多难画;
3、无页译码,6:64译码选组。 ′ 页选直接联到芯片;问题: 1、SRAM一般只一个片选端; 2、译码输出负载能力需考虑。
附加门电路组合2级译码信号;′
(应利用译码器使能端输入高一级的译码选通信号) 不设组选,页选同时选8组(16组),并行存取?′ 组译码无页选输入;′ ′ 2片芯片合为一体画; 文字叙述代替画图;′
地址线、数据线不标信号名及信号序号。′
12. 设有一个64K×8位的RAM芯片,试问该芯片共有多少个基本单元电路(简称存储基元)?欲设计一种具有上述同样多存储基元的芯片,要求对芯片字长的选择应满足地址线和数据线的总和为最小,试确定这种芯片的地址线和数据线,并说明有几种解答。 解:
存储基元总数 = 64K×8位
= 512K位 = 219位;
思路:如要满足地址线和数据线总和最小,应尽量把存储元安排在字向,因为地址位数和字数成2的幂的关系,可较好地压缩线数。
设地址线根数为a,数据线根数为b,则片容量为:2a×b = 219;b = 219-a; 若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; …… ……
由上可看出:片字数越少,片字长越长,引脚数越多。片字数、片位数均按2的幂变化。
结论:如果满足地址线和数据线的总和为最小,这种芯片的引脚分配方案有两种:地址线 = 19根,数据线 = 1根;或地址线 = 18根,数据线 = 2根。 采用字、位扩展技术设计;′
13. 某8位微型机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:
(1)该机所允许的最大主存空间是多少?
(2)若每个模块板为32K×8位,共需几个模块板? (3)每个模块板内共有几片RAM芯片? (4)共有多少片RAM?
(5)CPU如何选择各模块板? 解:
(1)218 = 256K,则该机所允许的最大主存空间是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位地址译码选片。地址格式分配如下: 讨论:
不对板译码、片译码分配具体地址位;′ ′ 板内片选设4位地址;
不设板选,8个板同时工作,总线分时传送;′ 8位芯片;′ 8板通过3:8译码器组成256K′
14. 设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)地址空间分配图:
(2)选片:ROM:4K×4位:2片; RAM:4K×8位:3片;
(3)CPU和存储器连接逻辑图及片选逻辑: 讨论:
1)选片:当采用字扩展和位扩展所用芯片一样多时,选位扩展。 理由:字扩展需设计片选译码,较麻烦,而位扩展只需将数据线按位引出即可。 本题如选用2K×8 ROM,片选要采用二级译码,实现较麻烦。
当需要RAM、ROM等多种芯片混用时,应尽量选容量等外特性较为一致的芯片,以便于简化连线。
2)应尽可能的避免使用二级译码,以使设计简练。但要注意在需要二级译码时如果不使用,会使选片产生二义性。
3)片选译码器的各输出所选的存储区域是一样大的,因此所选芯片的字容量应一致,如不一致时就要考虑二级译码。另外如把片选译码输出―或‖起来使用也是不合理的。
4)其它常见错误:
138的C输入端接地;(相当于把138当2-4译码器用,不合理)′ ′ EPROM的PD端接地;
(PD为功率下降控制端,当输入为高时,进入功率下降状态。因此PD端的合理接法是与片选端-CS并联。) ′ ROM连读/写控制线-WE; (ROM无读/写控制端)
15. CPU假设同上题,现有8片8K×8位的RAM芯片与CPU相连,试回答: (1)用74138译码器画出CPU与存储芯片的连接图; (2)写出每片RAM的地址范围;
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片都有与其相同的数据,分析故障原因。
(4)根据(1)的连接图,若出现地址线A13与CPU断线,并搭接到高电平上,将出现什么后果? 解:
(1)CPU与存储器芯片连接逻辑图: (2)地址空间分配图:
(3)如果运行时发现不论往哪片RAM写入数据后,以A000H为起始地址的存储芯片(第5片)都有与其相同的数据,则根本的故障原因为:该存储芯片的片选输入端很可能总是处于低电平。可能的情况有: 1)该片的-CS端与-WE端错连或短路;
2)该片的-CS端与CPU的-MREQ端错连或短路; 3)该片的-CS端与地线错连或短路;
在此,假设芯片与译码器本身都是好的。
(4)如果地址线A13与CPU断线,并搭接到高电平上,将会出现A13恒为―1‖的情况。此时存储器只能寻址A13=1的地址空间(奇数片),A13=0的另一半地址空间(偶数片)将永远访问不到。若对A13=0的地址空间(偶数片)进行访问,只能错误地访问到A13=1的对应空间(奇数片)中去。
17. 某机字长16位,常规的存储空间为64K字,若想不改用其他高速的存储芯片,而使访存速度提高到8倍,可采取什么措施?画图说明。
解:若想不改用高速存储芯片,而使访存速度提高到8倍,可采取多体交叉存取技术,图示如下:
8体交叉访问时序:
18. 什么是―程序访问的局部性‖?存储系统中哪一级采用了程序访问的局部性原理?
解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache—主存层次采用了程序访问的局部性原理。
20. Cache做在CPU芯片内有什么好处?将指令Cache和数据Cache分开又有什么好处?
答:Cache做在CPU芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache在CPU芯片内,CPU访问Cache时不必占用外部总线;
2)Cache不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率;
3)可提高存取速度。因为Cache与CPU之间的数据通路大大缩短,故存取速度得以提高;
将指令Cache和数据Cache分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;
2)指令Cache可用ROM实现,以提高指令存取的可靠性;
3)数据Cache对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。 补充讨论:
Cache结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache(L1)和主存之间再设一个片外Cache(L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度(主存—L2—L1)。
21. 设某机主存容量为4MB,Cache容量为16KB,每字块有8个字,每字32位,设计一个四路组相联映象(即Cache每组内共有4个字块)的Cache组织,要求:
(1)画出主存地址字段中各段的位数;
(2)设Cache的初态为空,CPU依次从主存第0、1、2……99号单元读出100个字(主存一次读出一个字),并重复按此次序读8次,问命中率是多少? (3)若Cache的速度是主存的6倍,试问有Cache和无Cache相比,速度提高多少倍? 答:

