第四章 作业答案
解释概念:主存、辅存,Cache, RAM, SRAM, DRAM, ROM, PROM ,EPROM ,EEPROM CDROM, Flash Memory.
解:1主存:主存又称为内存,直接与CPU交换信息。
2辅存:辅存可作为主存的后备存储器,不直接与CPU交换信息,容量比主存大,速度比主存慢。
3 Cache: Cache缓存是为了解决主存和CPU的速度匹配、提高访存速度的一种存储器。它设在主存和CPU之间,速度比主存快,容量比主存小,存放CPU最近期要用的信息。
4 RAM; RAM是随机存取存储器,在程序的执行过程中既可读出信息又可写入信息。 5 SRAM: 是静态RAM,属于随机存取存储器,在程序的执行过程中既可读出信息又可写入信息。靠触发器原理存储信息,只要不掉电,信息就不会丢失。
6 DRAM 是动态RAM,属于随机存取存储器,在程序的执行过程中既可读出信息又可写入信息。靠电容存储电荷原理存储信息,即使电源不掉电,由于电容要放电,信息就会丢失,故需再生。
7 ROM: 是只读存储器,在程序执行过程中只能读出信息,不能写入信息。 8 PROM: 是可一次性编程的只读存储器。
9 EPROM 是可擦洗的只读存储器,可多次编程。 10 EEPROM: 即电可改写型只读存储器,可多次编程。 11 CDROM 即只读型光盘存储器。
12 Flash Memory 即可擦写、非易失性的存储器。
存储器的层次结构主要体现在什么地方为什么要分这些层次计算机如何管理这些层次 答:存储器的层次结构主要体现在Cache—主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU访存起加速作用,即从整体运行的效果分析,CPU访存速度加快,接近于Cache的速度,而寻址空间和位价却接近于主存。 主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与Cache之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
4. 6. 某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少若主存以字节编
址,试画出主存字地址和字节地址的分配情况。 解:存储容量是64KB时,
(1)按字节编址的寻址范围就是64KB.
(2)按字寻址范围 = 64K×8 / 32=16K字 按字节编址时的主存地址分配图如下:
字地址 字节地址
0 4
16K ……
65528 65532
0 4 1 5 2 6 3 7
讨论:
1、 在按字节编址的前提下,按字寻址时,地址的位数仍为16位,即地址编码范围仍为0~64K-1,但字(数)空间为16K字,字地址不连续。 2、 字寻址的单位为:字,不是B(字节)
. 试比较静态RAM和动态RAM。
答:静态RAM和动态RAM的比较见下表: 特性 存储信息 破坏性读出 需要刷新 送行列地址 运行速度 集成度 发热量 存储成本 功耗 可靠性 可用性 适用场合
SRAM 触发器 非 不要 同时送 快 低 大 高 高 高 使用方便 高速小容量存储器
DRAM 电容 是 需要 分两次送 慢 高 小 低 低 低 不方便 大容量主存
. 什么叫刷新为什么要刷新说明刷新有几种方法。 解:刷新——对DRAM定期进行的全部重写过程;
刷新原因——因电容泄漏而引起的DRAM所存信息的衰减需要及时补充,因此安排了定期刷新操作;
常用的刷新方法有三种——集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;
分散式:在每个读/写周期之后插入一个刷新周期,无CPU访存死时间; 异步式:是集中式和分散式的折中。
. 一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为μs。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少
注:该题题意不太明确。实际上,只有异步刷新需要计算刷新间隔。 解:设DRAM的刷新最大间隔时间为2ms,则
异步刷新的刷新间隔 =2ms/256行 = =μs 即:每μs刷新一行。 集中刷新时,刷新最晚启动时间=μs×256行 =μs=μs 集中刷新启动后 刷新间隔 = μs 即:每μs刷新一行。 集中刷新的死时间 =μs×256 =μs
分散刷新的刷新间隔 =μs×2 =μs 即:每μs刷新一行。
分散刷新一遍的时间 =μs×2×256行 =μs 则 分散刷新时, 2ms内可重复刷新遍数 =2ms/ μs ≈39遍
. 某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位地址译码选片。地址格式分配如下:
17 15 14 12 11 0 3 3 12
设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)最小4K地址为系统程序区,4096~16383地址范围为用户程序区; (2)指出选用的存储芯片类型及数量; (3)详细画出片选逻辑。 解:(1)地址空间分配图:
系统程序区(ROM共4KB):0000H-0FFFH 用户程序区(RAM共12KB):4096-------------------- 16383 (D)
1,0000,0000,0000-11,1111,1111,1111(B) 1000H----3FFFH。 ()
(2): ROM:4K × 4位:2片;(位扩展) RAM:4K × 8位:3片;(字扩展) 选片:ROM:选择4K×4位芯片2片,位并联 RAM:选择4K×8位芯片3片,字串联(RAM1地址范围为:1000H-1FFFH,RAM2地址范围为2000H-2FFFH, RAM3地址范围为:3000H-3FFFH)
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 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 RAM1 RAM2 RAM3 0 0 0 0 0 0 ROM1,2 0 CPU和存储器连接逻辑图及片选逻辑如下图(1)所示:
MREQG1G2AY7Y3Y2A15A14A13A12A11A0G2BABC74138Y1Y0......ROM1OE...ROM2OE...RAM1...CS...CSCPUD0D3D4D7R/WPD/PROGRAM2RAM3...............CS 图(1)
(注:修改 A15 接/G2A, / MREQ接/G2B, G1接高电平(VCC)! )
. 写出1100、1101、1110、1111对应的汉明码。(配偶原则) 解:有效信息均为n=4位,假设有效信息用b4b3b2b1表示 校验位位数k=3位,(2k>=n+k+1)
设校验位分别为c1、c2、c4,则汉明码共4+3=7位,即:c1c2b4c4b3b2b1 校验位在汉明码中分别处于第1、2、4位 c1=b4⊕b3⊕b1 c2=b4⊕b2⊕b1 c4=b3⊕b2⊕b1
当有效信息为1100时,c1c2c4=011,汉明码为0111100。 当有效信息为1101时,c1c2c4=100,汉明码为1010101。 当有效信息为1110时,c1c2c4=000,汉明码为0010110。 当有效信息为1111时,c1c2c4=111,汉明码为1111111。
. 已知收到的汉明码(按配偶原则配置)为1100100、1100111、1100000、1100001,检查上述代码是否出错第几位出错
解:假设接收到的汉明码为:c1c2b4c4b3b2b1 纠错过程如下: P1=c1⊕b4⊕b3⊕b1 P2=c2⊕b4⊕b2⊕b1 P4=c4⊕b3⊕b2⊕b1
如果收到的汉明码为1100100,则p4p2p1=110,说明代码有错,第6位(b2)出错,有效信息为:0110
如果收到的汉明码为1100111,则p4p2p1=111,说明代码有错,第7位(b1)出错,
......