计算机组成原理习题及答案 下载本文

(2)符号位1位,阶码8位(用移码表示,移码为127),尾数数值为23位,隐含1位,用原码表示,0100 0101 0001 0000 0000 0000 0000 0000 0,10001010,00100000000000000000000

此数为正数,阶码为138-127=11,尾数为1.001=1.125 数值为1.001*211=1001*28=9*256=2304 应用题

1.为某8位微机(地址总线为16位)设计一个12KB容量的存储器,要求EPROM区为8KB,从0000H开始,采用2716芯片(2K*8);RAM区为4KB,从2000H开始采用6116芯片(2K*8)。求:(1)对各芯片的地址分配;(2)指出各芯片的片内选择地址线和芯片选择地址线; (3)采用74LS138译码器,画出片选地址译码电路。 1.解:(1)EPROM需要4片,从0000H开始;RAM需要2片从2000H开始,芯片都是2K*8的,则片内地址需要11根,从A0---A10地址分配如下: A15 A14 A13 A12 A11 A10---A0 0 0 0 0 0 0---0 EPROM1:0000H-07FFH 0 0 0 0 0 1---1

0 0 0 0 1 0---0 EPROM2:0800H-0FFFH 0 0 0 0 1 1---1

0 0 0 1 0 0---0 EPROM3:1000H-07FFH 0 0 0 1 0 1---1

0 0 0 1 1 0---0 EPROM4:1800H-1FFFH 0 0 0 1 1 1---1

0 0 1 0 0 0---0 RAM1:2000H-07FFH 0 0 1 0 0 1---1

0 0 1 0 1 0---0 RAM2:2800H-2FFFH 0 0 1 0 1 1---1

(2)用低位地址作为芯片的片内选择地址线,6个芯片都是2K*8的,片内地址需要11根,则从A0---A10,6个芯片需要3位地址才能实现片选,使用A11---A13.

(3)用74LS138译码器,A11--A13接CBA,/Y0---/Y5即可作为6个芯片的片选信号,电路图如下:

2.假设机器字长为16位,CPU内有32个通用寄存器,主存容量为128KB,且存储字长等于机器字长;指令长度为16位或32位,共有128条指令,设计指令格式,要求有直接、立即数、相对、基址、间接、变址六种寻址方式,画出指令格式,写出有效地址的计算方法、寻址空间、立即数的范围

2.解:128条指令,需要操作码7位;主存容量为128KB,若能把所有主存空间都访问完需要17位地址线;机器字长为16位,则寄存器的位数也为16位,32个通用寄存器,寄存器号需要5位;六种寻址方式,需要寻址特征位3位,指令格式如下:

直接寻址:指令字长16位,形式地址A为6位,EA=A,寻址空间为26=64B OP 7

寻址特征3

形式地址A 6

立即数寻址:指令字长16位,立即数A为6位,没有有效地址,A的范围为-32---+31 OP 7

寻址特征3

立即数A 6

相对寻址:指令字长16位,形式地址A为6位,EA=(PC)+A,PC为17为,寻址空间为217=128KB OP 7

寻址特征3

形式地址A 6

基址寻址:指令长度为32位,寄存器号5位,形式地址A为17位,EA=(R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KB OP 7

寻址特征3

寄存器号R 5

形式地址A 17

间接寻址:指令字长16位,形式地址A为6位,EA=(A),存储字长等于机器字长,则(A)为16位,寻址空间为216=64KB OP 7

寻址特征3

形式地址A 6

变址寻址:指令长度为32位,寄存器号5位,形式地址A为17位,EA=(R)+EA,寄存器为16位,则EA为17位,寻址空间为217=128KB OP 7

寻址特征3

寄存器号R 5

形式地址A 17

3.某计算机字长32位,有16个通用寄存器,主存容量为1M字,采用单字长二地址指令,共有64条指令,设计四种(寄存器,直接,变址,相对)寻址方式的指令格式,指出每种寻址方式的有效地址计算方法和寻址空间。

3.解:字长为32位,采用单字长指令,则指令长度为32位,16个通用寄存器,需要寄存器号为4位,主存容量为1M字,若要访问到主存的任意空间,则有效地址位数为20位。4种寻址方式,寻址特征需要2位,64条指令,操作码需要6位。

寄存器寻址:指令字长为16位,不需要计算有效地址,不需要访存取操作数 OP 6

寻址特征2

寄存器号R1 4

寄存器R2 4

直接寻址:指令字长为32位,有效地址EA=A,A为20位,访存空间为220=1M OP 6

寻址特征2

寄存器号R1 4

形式地址A 20

变址寻址寻址:指令字长为32位,字长为32位,寄存器值也为32位,有效地址EA=(变址寄存器)+A,共为32位,可访存空间232=4G OP 6

寻址特征2

寄存器号R1 4

变址寄存器4

形式地址A 16

相对寻址

OP 6

寻址特征2

形式地址A 8

寄存器寻址:指令字长为16位,EA=(PC)+A,主存需地址线为20位,则PC为20位,所以EA也为20为,可访存空间为:220=1M

4.用16k*1位的DRAM芯片构成64k*8位的存储器,地址范围是0000H--FFFFH,问: (1)需要多少片,怎么构成,地址怎么分配,画出片选信号; (2)设存储器读写周期均为0.5us,CPU在1us内至少要访存一次。可以采取什么刷新方式?两次刷新的时间间隔是多少?对全部存储单元刷新一遍,所需实际刷新时间是多少? 4.解:(1)需要32片。先用16k*1位的用位扩展成16k*8位的,8片组成一组,这一组除了数据线不同之外,其余线的接法完全相同。

再用16k*8位的4组用扩展成64K*8位,这四组,用高位地址线形成片选线,其余线的接法完全相同。16K需要14根,组内地址为A13--A0,每组的地址分配如下: A15 A14 A13----A0

0 0 0----0 DRAM1组:0000H--3FFFH 0 0 1----1

0 1 0----0 DRAM2组:4000H--7FFFH 0 1 1----1

1 0 0----0 DRAM3组:8000H--BFFFH 1 0 1----1

1 1 0----0 DRAM4组:C000H--FFFFH 1 1 1----1

用访存控制信号,M=1,A15,A14作为74ls138译码器的CBA输入端,/Y4选择DARM1组,/Y5选择DRAM2组,/Y6选择DRAM3组,/Y7选择DRAM4组,片选产生电路图如下:

(2)64k*8位,216*23位=219位,可写成210*29行列形式,刷新是以行为单位的,即要刷新所有存储单元即要刷新1024行。CPU在1us内至少要访存一次,不能采用集中刷新方式,可以采取分散刷新和异步刷新方式. 分散刷新:刷一行,读写一次,1us时间内正好0.5us刷新,0.5us读写,两次刷新间隔为1us,1024行都刷新完需要1024us,即1.024ms。2ms的其余时间为正常读写。

异步刷新:2ms内要刷新1024行,则平均1.95us要刷新一行,两次刷新间隔为1.95us,所有行都刷新完需要2ms。

5.某机存储器容量为64K*16位,该机访存指令格如下

其中M为寻址模式:0为直接寻址,1为基址寻址,2为相对寻址,3为立即寻址;I为 间址特征(I=1间址);X为变址特征(X=1变址),设PC为程序计数器,RX为变址寄存器,RB为基址寄存器,问(1)该指令能定义多少种操作?(2)立即寻址操作数的范围? (3)写出每种寻址方式计算有效地址的表达式

(4)设基址寄存器为14位,在非变址直接基址寻址时,指令的寻址范围是多少? (5)间接寻址时,寻址范围是多少?若允许多重寻址,寻址范围又是多少?

5.解:(1)该指令能定义16种操作

(2)立即寻址操作数的范围是-128—+127 (3)直接寻址EA=A基址寻址EA=(RB)+A 变址寻址EA=(RX)+A相对寻址EA=(PC)+A 间接寻址EA=((A))

(4)非变址直接基址寻址时EA=(RB)+A,RB为14位,故可寻址范围为214.

(5)间接寻址时,如不考虑多次间址,寻址范围为64K。如果考虑多次间址,则需要最高1位作为多次间址标志,此时寻址范围为32K。

6.设cache的容量为8KB,主存的容量为512KB,每块有16B,请回答: (1)采用直接映射方式,画出主存和cache的地址分配?

(2)cache采用4路组相联映射,画出主存和cache的地址分配? (3)直接映射方式下,将主存的第513块调入cache,则cache的块号为什么?组号是什么?若送出的主存地址为04011H时是否命中?

6.(1)cache为8KB/16B=512,则cache地址分配为

主存为512KB/16B=32K,则主存的地址分配为 cache采用4路组相联,则地址分配为

(3)513mod 512=1,即第1号块,组号为512/512=1.