C1 = G1+P1C0
C2 = G2+P2G1+P2P1C0
C3 = G3+P3G2+P3P2G1+P3P2P1C0
C4 = G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C0
12. 某机字长16位,使用四位74181组成ALU,设最低位序号标注为第0位,要求: (1)写出第5位的进位信号C5的逻辑表达式。
(2)若用一片74182构成二级组间先行进位,请画出逻辑图。 解:
(1)组成最低四位的74181进位输出为:
C4 = Cn+4 = G+PCn = G+PC0, C0为向第0位进位
其中,G = y3+y2x3+y1x2x3+y0x1x2x3,P = x0x1x2x3,所以 C5 = y4+x4C4
C6 = y5+x5C5 = y5+x5y4+x5x4C4
(2)设标准门延迟时间为T,“与或非”门延迟时间为1.5T,则进位信号C0,由最低位传送至C6需经一个反相器、两级“与或非”门,故产生C0的最长延迟时间为 T+2*1.5T = 4T
(3)最长求和时间应从施加操作数到ALU算起:第一片74181有3级“与或非”门(产生控制参数x0, y0, Cn+4),第二、三片74181共2级反相器和2级“与或非”门(进位链),第四片74181求和逻辑(1级与或非门和1级半加器,设其延迟时间为3T),故总的加法时间为:
t0 = 3*1.5T+2T+2*1.5T+1.5T+3T = 14T
13.现用通用函数发生器和其他门电路组成一个32位字长并采用辅助函数的三级先进位并行加法器,最低位下标为1,最高位下标为32,要求: (1)写出附加进位链的与或逻辑表达式。 (2)设状态寄存器有4位:V(溢出置位)、Z(结果全零置位)、C(进位置位)、S(结果为负置位)、写出它们的逻辑表达式。 解:(略)
14.余3码编码的十进制加法器规则如下:两个一位十进制数的余3码相加,如果无进位,
则从和数中减去3(加上1101);如结果有进位,则得和数和余3码。试设计余3码编码的十进制加法器单元电路。
解:设余三码编码的两个运算数为Xi和Yi,第一次用二进制加法求和运算的和数为Si’,
进位为Ci+1’,校正后所得的余三码和数为Si,进位为Ci+1,则有: Xi = Xi3Xi2Xi1Xi0 Yi = Yi3Yi2Yi1Yi0
Si’ = Si3’Si2’Si1’Si0’
si3Ci+1si2FAsi1FA+3Vsi0十进校正FAFAsi3'FAXi3 Yi3FAsi2'FAsi1'FAsi0'二进加法Xi2 Yi2Xi1 Yi1Xi0 Yi0
当Ci+ = 1时,Si = Si’+0011 并产生Ci+1 当Ci+ = 0时,Si = Si’+1101
根据以上分析,可画出余三码编码的十 进制加加法器单元电路如图所示。
15.现给定的芯片只有与或非门和非门,请设计一个行波进位加法器,要求进位链传递时间最短,逻辑图只画出4位即可。 解:(略)
16.设计一个带有原码阵列乘法(使用芯片)和原码阵列除法(使用芯片)的定点运算器。 解:(略)
第三章 存储系统
1.设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?
(2) 如果存储器由512K*8位SRAM芯片组成,需要多少片? (3) 需要多少位地址作芯片选择?
220*328?4M字节解:
(1)
?2*4?8片1024K*32(2)512K*8
(3) 只需1位地址作片选
2.已知某64位机主存采用半导体存储器,其地址码为26位,若使用256K*l6位的DRAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,问; (1) 若每个模块板为1024K*64位,共需几个模块板? (2) 每个模块板内共有多少DRAM芯片?
(3) 主存共需多少DRAM芯片? CPU如何选择各模块板?
22620*64*64解:(1)2?2?64个模块210206 ?16*648 (2) 每个模块板共有2*2*16片 每个模块要16个DRAM芯片
(3) 主存共需64*16=1024个芯片,CPU可用高6位地址经译码后作为模块板选择信号 3.用16K*8位的DRAM芯片构成64K*32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS,CPU在1μS内至少要访问一次。试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?
解:(1)根据题意,存储总容量为64KB,故地址总线需16位。现使用16K*8位DRAM芯片,
共需16片。芯片本身地址线占14位,所以采用位并联与地址串联相结合的方法来组成整个存储器,其组成逻辑图如图所示,其中使用一片2:4译码器。
(2)根据已知条件,CPU在1us内至少访存一次,而整个存储器的平均读/写周期为0.5us, 如果采用集中刷新,有64us的死时间,肯定不行, 如果采用分散刷新,则每1us只能访存一次,也不行, 所以采用异步式刷新方式。
假定16K*1位的DRAM芯片用128*128矩阵存储元构成,刷新时只对128行进行异步方式刷新,则刷新间隔为2ms/128 = 15.625us,可取刷新信号周期15.5us,刷新一遍所用时间=15.5us×128=1.98ms
4.有一个1024K*32位的存储器,由128K*8位的DRAM芯片构成。问: (1) 总共需要多少DRAM芯片? (2) 设计此存储体组成框图。
(3) 采用异步刷新方式,如单元刷新间隔不超过8ms,则刷新信号周期是多少?
1024K*32
解:(1)128K*8 (2)
?32片
A0-A16CPUD0-D31Y1A-AY2Y3Y4Y5Y6Y7Y83:8译码器1719
(3)如果选择一个行地址进行刷新,刷新地址为A0-A8,因此这一行上的2048个存储元同
时进行刷新,即在8ms内进行512个周期。刷新方式可采用:在8ms中进行512次刷新操作的集中刷新方式,或按8ms/512 = 15.5us刷新一次的异步刷新方式。
5.要求用256K*l6位SRAM芯片设计1024K*32位的存储器。SRAM芯片有两个控制端:当CS有效时,该片选中。当W/R=1时执行读操作,当W/R=0时执行写操作。 解: 所设计的存储器单元数为1M,字长为32,故地址长度为20位(A19~A0),所用芯片存储单元数为256K,字长为16位,故占用的地址长度为18位(A17~A0)。由此可用位并联方式与地址串联方式相结合的方法组成组成整个存储器,共8片RAM芯片,并使用一片2:4译码器。其存储器结构如图所示。
A19A18Y0Y1Y2Y3CS0~CS3D31-D16(高16位)CS0256k*16CS1W/RCS2CS3CPUA17-A16256k*16W/RCS0CS1CS2CS3D15-D0(低16位)W/R6.用32K*8位的EPROM芯片组成128K*16位的只读存储器,试问: (1) 数据寄存器多少位? (2) 地址寄存器多少位?
(3) 共需多少个EPROM芯片? (4) 画出此存储器组成框图。
解:(1) 系统16位数据,所以数据寄存器16位
17
(2) 系统地址128K=2,所以地址寄存器17位 (3) 共需要8片 (4) 组成框图如下
7.某机器中,已知配有一个地址空间为0000H—3FFFH的ROM区域。现在再用一个RAM芯片(8K*8)形成40K*l6位的RAM区域,起始地为6000H。假设RAM芯片有CS和WE信号控制端。CPU的地址总线为A15—A0,数据总线为D15—D0,控制信号为R/W(读/写),MREQ(访存),要求:
(1) 画出地址译码方案。
(2) 将ROM与RAM同CPU连接。 解:(1)组内地址用A12~A0
(2)小组译码器使用3:8译码器
(3)RAM1~RAM5各用两片8K*8的芯片位并联连接
A0-A12ROMRAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*8D0-D15CPURAM8K*8RAM8K*8RAM8K*8RAM8K*8RAM8K*83:8译码器
8.设存储器容量为64M,字长为64位,模块数m=8,分别用顺序和交叉方式进行组织。存储周期T=lOOns,数据总线宽度为64位,总线传送周期,τ=50ns。求:顺序存储器和交叉存储器的带宽各是多少?
解:顺序存储器和交叉存储器连续读出m = 8个字的信息总量都是:
q = 64位*8 = 512位
顺序存储器和交叉存储器连续读出8个字所需的时间分别是:
t1 = mT = 8*100ns = 8*10-7s
t2?T?(m?1)??100ns?7*50ns?450ns?4.5*10?7A13-A15 顺序存储器和交叉存储器的带宽分别是:
W1?q/t1?512?(8*10?7ns
)?64?10[位/s] )?113.8?10[位/s]
77W2?q/t2?512?(4.5*10?79.CPU执行一段程序时,cache完成存取的次数为2420次,主存完成存取的次数为80次,已知cache存储周期为40ns,主存存储周期为240ns,求cache/主存系统的效率和平均访问时间。
解:cache的命中率
H?r?NcNc?NmTc?24040?24202420?80?0.968
Tm?6 cache/主存系统效率e为