计算机组成原理3
- 格式:ppt
- 大小:980.00 KB
- 文档页数:69
《计算机组成原理》第3章习题答案第3章习题解答1.指令长度和机器字长有什么关系?半字长指令、单字长指令、双字长指令分别表⽰什么意思?解:指令长度与机器字长没有固定的关系,指令长度可以等于机器字长,也可以⼤于或⼩于机器字长。
通常,把指令长度等于机器字长的指令称为单字长指令;指令长度等于半个机器字长的指令称为半字长指令;指令长度等于两个机器字长的指令称为双字长指令。
2.零地址指令的操作数来⾃哪⾥?⼀地址指令中,另⼀个操作数的地址通常可采⽤什么寻址⽅式获得?各举⼀例说明。
解:双操作数的零地址指令的操作数来⾃堆栈的栈顶和次栈顶。
双操作数的⼀地址指令的另⼀个操作数通常可采⽤隐含寻址⽅式获得,即将另⼀操作数预先存放在累加器中。
例如,前述零地址和⼀地址的加法指令。
3.某机为定长指令字结构,指令长度16位;每个操作数的地址码长6位,指令分为⽆操作数、单操作数和双操作数三类。
若双操作数指令已有K种,⽆操作数指令已有L种,问单操作数指令最多可能有多少种?上述三类指令各⾃允许的最⼤指令条数是多少?解:X= (24⼀K)×26⼀[L/26]双操作数指令的最⼤指令数:24⼀1。
单操作数指令的最⼤指令数:15×26⼀l(假设双操作数指令仅1条,为⽆操作数指令留出1个扩展窗⼝)。
⽆操作数指令的最⼤指令数:216⼀212⼀26。
其中212为表⽰某条⼆地址指令占⽤的编码数,26为表⽰某条单地址指令占⽤的编码数。
此时双操作数和单操作数指令各仅有1条。
4.设某机为定长指令字结构,指令长度12位,每个地址码占3位,试提出⼀种分配⽅案,使该指令系统包含:4条三地址指令,8条⼆地址指令,180条单地址指令。
解:4条三地址指令000 XXX YYY ZZZ..011 XXX YYY ZZZ8条⼆地址指令100 000 XXX YYY..100 111 XXX YYY180条单地址指令101 000 000 XXX..111 110 011 XXX5.指令格式同上题,能否构成:三地址指令4条,单地址指令255条,零地址指令64条?为什么?解:三地址指令4条000 XXX YYY ZZZ..011 XXX YYY ZZZ单地址指令255条100 000 000 XXX..111 111 110 YYY只能再扩展出零地址指令8条,所以不能构成这样的指令系统。
第3章习题参考答案1、设有一个具有20位地址和32位字长的存储器,问(1) 该存储器能存储多少字节的信息?(2) 如果存储器由512K ×8位SRAM 芯片组成,需要多少片?(3) 需要多少位地址作芯片选择?解:(1) 该存储器能存储:字节4M 832220=⨯(2) 需要片8823228512322192020=⨯⨯=⨯⨯K (3) 用512K ⨯8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字长的位数扩展,然后再由2组进行存储器容量的扩展。
所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M ×8位的DRAM 芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问;(1) 若每个内存条为16M ×64位,共需几个内存条?(2) 每个内存条内共有多少DRAM 芯片?(3) 主存共需多少DRAM 芯片? CPU 如何选择各内存条?解:(1) 共需内存条条4641664226=⨯⨯M (2) 每个内存条内共有个芯片32846416=⨯⨯M M (3) 主存共需多少个RAM 芯片, 共有4个内存条,1288464648464226=⨯⨯=⨯⨯M M M 故CPU 选择内存条用最高两位地址A 24和A 25通过2:4译码器实现;其余的24根地址线用于内存条内部单元的选择。
3、用16K ×8位的DRAM 芯片构成64K ×32位存储器,要求:(1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS ,CPU 在1μS 内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少?解:(1) 用16K ×8位的DRAM 芯片构成64K ×32位存储器,需要用个芯片,其中每4片为一组构成16K ×32位——进行字长位16448163264=⨯=⨯⨯K K数扩展(一组内的4个芯片只有数据信号线不互连——分别接D0~D 7、D 8~D 15、D 16~D 23和D 24~D 31,其余同名引脚互连),需要低14位地址(A 0~A 13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A 0~A 6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A 14、A 15通过2:4译码器实现4组中选择一组。
第3章习题参考答案1、设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?(2) 如果存储器由512KX8位SRAM 芯片组成,需要多少片? (3) 需要多少位地址作芯片选择? 解:(1) 该存储器能存储:220 x —= 4M 字节8(3)用512Kx8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字 长的位数扩展,然后再由2组进行存储器容量的扩展。
所以只需一位最高位地址 进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4MX8位 的DRAM 芯片组成该机所允许的最大主存空间,并选用存条结构形式,问; (1) 若每个存条为16MX64位,共需几个存条? (2) 每个存条共有多少DRAM 芯片?(3) 主存共需多少DRAM 芯片? CPU 如何选择各存条? 解:226x64(1) 共需4条存条16M x64(2) 每个存条共有16;V/- 64 =32个芯片4Mx8⑶ 主存共需多少=128个RAM 芯片,共有4个存条,故CPU 4M x 8 4M x 8 选择存条用最高两位地址临和他5通过2: 4译码器实现;其余的24根地址线用 于存条部单元的选择。
3、用16KX8位的DRAM 芯片构成64KX32位存储器,要求: (1)画出该存储器的组成逻辑框图。
⑵ 设存储器读/写周期为0.5uS, CPL •在luS 至少要访问一次。
试问采用哪种 刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍 所需的实际刷新时间是多少? 解:(1)用16KX8位的DRAM 芯片构成64KX32位存储器,需要用64/Cx32 = 4x4 = 16 16K x8 个芯片,其中每4片为一组构成16KX32位一一进行字长位数扩展(一组的4个芯片 只有数据信号线不互连——分别接D 。
〜DM 叭D®〜仏和加〜皿其余同名引脚220 x 32 需要冷22O X 322I9X 8=8片互连),需要低14位地址(A°〜AQ 作为模块各个芯片的部单元地址一一分成行、列 地址两次由A 。
计算机组成原理第三章部分课后题答案(唐朔飞版)3.2 总线如何分类?什么是系统总线?系统总线又分为几类,它们各有何作用,是单向的,还是双向的,它们与机器字长、存储字长、存储单元有何关系?总线分类方式:·按数据传送方式:并行传输总线、串行传输总线·按总线使用范围:计算机(包括外设)总线、测控总线、网络通信总线·按连接部件:片内总线、系统总线、通信总线系统总线:是指CPU、主存、I/O设备各大部件之间的信息传输线。
系统总线分类:·数据总线:用来传输各功能部件之间的数据信息,双向传输,位数与机器字长、存储字长有关·地址总线:主要用来指出数据总线上的源数据或目的数据在贮存单元的地址或I/O设备的地址,单向传输,位数与存储单元的个数有关,地址线为n根,则存储单元个数有2的n次方·控制总线:用来发出各种控制信号,对任一条控制线而言,为单向传输,对控制总线总体而言,可认为双向传输3.4 为什么要设置总线判优控制?常见的集中式总线控制有几种,各有何特点,哪种方式响应时间最快,哪种方式对电路故障最敏感?总线上的信息传送是由主设备启动的,若多个主设备同时要使用总线,则由总线控制器的判优、仲裁逻辑按一定的优先等级顺序确定哪个主设备使用总线。
集中式总线判优控制的三种方式·链式查询1、只需很少的几根线就能按一定优先次序实现总线控制2、很容易扩充设备3、对电路故障很敏感,且优先级别低的设备可能很难获得请求·计数器定时查询1、计数可以从0开始,此时一旦设备的优先次序被固定,设备的优先级就按0,1,2,…,n的顺序降序排列,且固定不变2、计数也可以从上一次计数的终止点开始,即是一中循环方法,此时设备使用总线的优先级相等3、计数器的初始值还可以有程序设置,故优先次序可任意改变·独立请求方式1、响应速度快2、优先次序灵活(通过程序改变)3、控制线数量多,总线控制更复杂3.5 解释概念:总线宽度、总线带宽、总线复用、总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期、总线的通信控制。
第三章运算方法和运算器3.1补码的移位运算1、左移运算:各位依次左移,末位补0对于算术左移,若没有改变符号位,左移相当于乘以2。
2、右移运算:算术右移:符号位不变,各位(包括符号位)依次右移。
(相当于除以2)逻辑右移:最高位补0,其余各位依次右移例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补;[-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011[0.5X]补=0.01011 [0.5Y]补=1.11011[0.25X]补=0.001011 [0.25Y]补=1.111011[-X]补=1.0101 [-Y]补=0.01012[-X]补=0.1010 (溢出) 2[-Y]补=0.10103.2定点加减法运算及其实现3.2.1 补码加减法运算方法由于计算机中的进行定点数的加减运算大都是采用补码。
(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补(证明过程见教材P38)例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补解:[X]补=0.001010 [-Y]补=0.100011则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程.例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程.例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.解: (8位二进制表示)例2: X=0.0100000 Y=-0.1010000[X]补=0.0100000 [Y]补=1.0110000则 [X+Y]补=[X]补+[Y]补=0.0100000 + 1.0110000=1.1010000[X+Y]原=-0.0110000=(-0.375)D[X]补=0.0100000 ,[-Y]补=0.1010000则 [X-Y]补 = [X]补+[-Y]补 = 0.0100000+0.1010000=0.1110000[X+Y]原 = 0.1110000 =(0.875)D例3: X=+0011001 Y=-0001001[X]补=00011001,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 00011001 + 11110111= 00010000[X+Y]原 =+0010000=(+16)D[X]补= 00011001 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 00011001 + 00001001= 00100010[X+Y]原 = +0100010 =(34)D例4: X=-0011001 Y=-0001001[X]补=11100111,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 11100111 + 11110111[X+Y]原 =-00100010=(-34)D[X]补= 11100111 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 11100111 + 00001001= 11110000[X+Y]原 = -0010000 =(-16)D3.2.2 定点加减法运算中的溢出问题溢出:运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数.溢出只是针对带符号数的运算.比如:[X]补=0.1010,[Y]补=0.1001,那么[X]补+[Y]补=1.0011(溢出)溢出是一种错误,计算机中运算时必须能够发现这个现象,并加以处理判断溢出的方法:1、采用变形补码法[X+Y] 变补=[X] 变补+[Y] 变补[X-Y] 变补=[X] 变补+[-Y] 变补例1 X=0.1011 Y=0.0011 求[X+Y]补解: [X]变补 = 00.1011, [Y]变补 = 00.0011[X+Y]变补 = 00.1011 + 00.0011 = 00.1110所以 [X+Y]补 = 0.1110例2 X=0.1011 Y=0.1001 求[X+Y]补解: [X]变补 = 00.1011 [Y]变补 = 00.1001[X+Y]变补 = 00.1011 + 00.1001 = 01.0100运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。
第3章习题参考答案1、设有一个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?(2) 如果存储器由512K ×8位SRAM 芯片组成,需要多少片? (3) 需要多少位地址作芯片选择? 解:(1) 该存储器能存储:字节4M 832220=⨯(2) 需要片8823228512322192020=⨯⨯=⨯⨯K (3) 用512K ⨯8位的芯片构成字长为32位的存储器,则需要每4片为一组进行字长的位数扩展,然后再由2组进行存储器容量的扩展。
所以只需一位最高位地址进行芯片选择。
2、已知某64位机主存采用半导体存储器,其地址码为26位,若使用4M ×8位的DRAM 芯片组成该机所允许的最大主存空间,并选用内存条结构形式,问; (1) 若每个内存条为16M ×64位,共需几个内存条? (2) 每个内存条内共有多少DRAM 芯片?(3) 主存共需多少DRAM 芯片? CPU 如何选择各内存条? 解:(1) 共需条4641664226=⨯⨯M 内存条 (2) 每个内存条内共有32846416=⨯⨯M M 个芯片(3) 主存共需多少1288464648464226=⨯⨯=⨯⨯M M M 个RAM 芯片, 共有4个内存条,故CPU 选择内存条用最高两位地址A 24和A 25通过2:4译码器实现;其余的24根地址线用于内存条内部单元的选择。
3、用16K ×8位的DRAM 芯片构成64K ×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5μS ,CPU 在1μS 内至少要访问一次。
试问采用哪种刷新方式比较合理?两次刷新的最大时间间隔是多少?对全部存储单元刷新一遍所需的实际刷新时间是多少? 解:(1) 用16K ×8位的DRAM 芯片构成64K ×32位存储器,需要用16448163264=⨯=⨯⨯K K 个芯片,其中每4片为一组构成16K ×32位——进行字长位数扩展(一组内的4个芯片只有数据信号线不互连——分别接D 0~D 7、D 8~D 15、D 16~D 23和D 24~D 31,其余同名引脚互连),需要低14位地址(A 0~A 13)作为模块内各个芯片的内部单元地址——分成行、列地址两次由A 0~A 6引脚输入;然后再由4组进行存储器容量扩展,用高两位地址A 14、A 15通过2:4译码器实现4组中选择一组。
计算机组成原理第3章习题参考答案解析第3章习题参考答案1、设有⼀个具有20位地址和32位字长的存储器,问 (1) 该存储器能存储多少字节的信息?(2) 如果存储器由512K ×8位SRAM 芯⽚组成,需要多少⽚? (3) 需要多少位地址作芯⽚选择?解:(1) 该存储器能存储:字节4M 832220=? (2) 需要⽚8823228512322192020=??=??K (3) ⽤512K ?8位的芯⽚构成字长为32位的存储器,则需要每4⽚为⼀组进⾏字长的位数扩展,然后再由2组进⾏存储器容量的扩展。
所以只需⼀位最⾼位地址进⾏芯⽚选择。
2、已知某64位机主存采⽤半导体存储器,其地址码为26位,若使⽤4M ×8位的DRAM 芯⽚组成该机所允许的最⼤主存空间,并选⽤内存条结构形式,问; (1) 若每个内存条为16M ×64位,共需⼏个内存条? (2) 每个内存条内共有多少DRAM 芯⽚? (3) 主存共需多少DRAM 芯⽚? CPU 如何选择各内存条? 解:(1) 共需条4641664226=??M 内存条 (2) 每个内存条内共有32846416=??M M 个芯⽚(3) 主存共需多少1288464648464226=??=??M M M 个RAM 芯⽚,共有4个内存条,故CPU 选择内存条⽤最⾼两位地址A 24和A 25通过2:4译码器实现;其余的24根地址线⽤于内存条内部单元的选择。
3、⽤16K ×8位的DRAM 芯⽚构成64K ×32位存储器,要求: (1) 画出该存储器的组成逻辑框图。
(2) 设存储器读/写周期为0.5µS ,CPU 在1µS 内⾄少要访问⼀次。
试问采⽤哪种刷新⽅式⽐较合理?两次刷新的最⼤时间间隔是多少?对全部存储单元刷新⼀遍所需的实际刷新时间是多少? 解:(1) ⽤16K ×8位的DRAM 芯⽚构成64K ×32位存储器,需要⽤16448163264=?=??K K 个芯⽚,其中每4⽚为⼀组构成16K ×32位——进⾏字长位数扩展(⼀组内的4个芯⽚只有数据信号线不互连——分别接D 0~D 7、D 8~D 15、D 16~D 23和D 24~D 31,其余同名引脚互连),需要低14位地址(A 0~A 13)作为模块内各个芯⽚的内部单元地址——分成⾏、列地址两次由A 0~A 6引脚输⼊;然后再由4组进⾏存储器容量扩展,⽤⾼两位地址A 14、A 15通过2:4译码器实现4组中选择⼀组。