操作系统习题和答案ppt课件.ppt
计算机组成原理,习题课_1,第一章,计算机系统有硬件系统和软件系统组成。硬件有运算器、控制器、存储器、输入设备和输出设备五大部件组成。机器字长是指CPU一次能直接处理的二进制数的位数,它决定了寄存器、运算部件、数据总线的位数,字长越长,数的表示范围也越大,精度越高,但其相应的硬件成本也越高。,第二章,第三章,P61 第5题,、设浮点数的格式为:阶码6位移码,包含一位符号位,尾数6位原码,包含一位符号位,排列顺序为:则按上述浮点数的格式:1、若数Z的浮点数的16进制形式为9F4H,求Z的十进制的真值。2、若X =-25/64,Y =2.875,则求 X和Y的规格化浮点数表示形式。,P61 第5题,1、若数Z的浮点数的16进制形式为0C15DH,求Z的十进制的真值。,100111,1 10100 B,EZ移= 1,00111B MZ原= 1.101000BEZ = 00111B=7 MZ= -0.101000B 所以,Z= MZ2 Ez = -0.101000B 2 7 = -101000B=-80,9F4H=,若X =-25/64,Y =2.875 ,则求 X和Y的规格化浮点数表示形式。,EX = -1 EX补= 1,11111B EX移= 0,11111B MX=- 0.11001B MX原= 1.11001B所以, X浮= 0,11111 1.11001B = 7F9H,X =-25/64=-(16+8+1) 2 -6 =-11001B 2 -6 =-0.11001B 2 -1,EY = 2 EY移=1,00010B MY= 0.10111B MY原= 0.10111B所以, Y浮= 1,00010 0.10111B = 897H,Y = 2.875 =2+0.5+0.25+0.125 =10.111=0.1011122,P61 第6题机器字长16位,求个机器数的十进制真值表示范围。,1)无符号整数 0 216-12)原码定点整数 -(215-1) 215-13)补码定点整数-215 215-14)补码定点小数 -1 1-2-15,解:,如果阶码为移码,尾数用原码表示呢?如果阶码为原码,尾数为补码呢?,第四章,1、X=0.1101,Y=-0.01102、已知X和Y,用变形补码计算X+Y,X-Y,并判溢(1)X=0.11011,Y=0.11111(2)X=-0.1101,Y=0.01105.1)X=0.011111,Y=-0.11101原码一位乘、BOOTH算法,运算器概念题证明题计算题分析题存储器第一题,目 录,某机器字长16位,采用两位比较法进行补码乘法运算,此时并行加法器应该是( 17)位加法器,应该进行(16)次相加移位操作。(多选题)在下面每小题所列出的若干个答案中,选取所有的正确答案(可能没有,也可能有一个或多个)补码加法规则是()A、所有的操作数都用补码表示,结果也用补码表示B、若两数相同则做加法,异号则做减法。C、符号位和操作数一样参与运算D、结果的符号为1,表示溢出,某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位),尾数用原码表示,下列的表示中不是规格化的浮点数是()A、阶码:1111111 尾数:1.100000B、阶码:0011111 尾数:1.011101C、阶码:1000001 尾数:0.111101D、阶码:0111111 尾数:0.100010,(填空题)设阶码8位(含1位符号位),用移码表示,尾数24位(1位符号位),用规格化补码表示,则它所能表示的最大正数的阶码的十进制真值为(A ),尾数的十进制真值为(B );绝对值最小的负数的阶码的二进制移码表示为(C),尾数的二进制补码表示为( D)。,返回目录,A127BC00000000D1.01111111111111111111111,1、设求证:根据定点小数补码的定义证明,证明题,证明题,2、以定点小数为例证明:3、以定点小数为例证明: 0补=y-y补,返回目录,已知 x = - 0.01111 ,y = +0.11001,用变形补码求 x 补 , -x 补 , 2x 补 , x/2补, y 补 , -y 补 , 2y 补 ,y/4补,x + y = ? ,x y = ?,解: x 原 = 11.01111 x 补 = 11.10001 -x 补 = 00.01111 2x补=01.00010 x/2补=01.11000 y 原 =00.11001 y 补 =00.11001 -y 补 =1 1.00111 y/4补=00.001100 x 补 11.10001 x 补 11.10001 + y 补 00.11001 + -y 补 11.00111 x + y 补 00.01010 x - y 补 10.11000 x + y = +0.01010 符号位相异,结果溢出 x y=-1.01000,设32位字长的浮点数,其中阶符1位,阶码7位,数符1位,尾数23位。分别写出机器数采用原码和补码表示时,所对应的最接近0的十进制负数。分析:最接近0的十进制负数表示最大负数,即绝对值最小的负数,因此阶码取最小值,尾数为绝对值最小的非0负数。,解:1)原码表示:阶码范围 -127127 尾数24位,绝对值最小的非0负数为-0.0001B(非规格化)=-2-23 最接近0的十进制负数为2)补码表示:阶码范围 -128127 尾数24位,绝对值最小的非0负数为-0.0001B(非规格化)=-2-23 最接近0的十进制负数为,某机器字长为32位,浮点表示时,指数部分(即阶码)占8位补码(含1位符号位),尾数24位补码(1位符号位),问:1)带符号定点小数的最大表示范围是多少?(补码小数) -12)带符号定点整数的最大表示范围是多少?(补码整数) 3)浮点表示最大正数是多少?MAX+=4)浮点表示最大负数是多少?5)浮点表示最小的规格化正数是多少?6)浮点表示最小负数是多少?MAX-= 浮点表示最小正数,已知浮点数运算的中间结果如下:阶码 :1,010 尾数:1.0011101其中,阶码是4位补码1) 如果尾数是8位原码,求其规格化的浮点数表示2) 如果尾数是8位补码,求其规格化的浮点数表示解:1)尾数为原码,则不是规格化表示形式,要左规:尾数左移2位,尾数低位补0,阶码减2,E补=1000,变换后的规格化浮点数为1,0001.11101002) 如尾数为补码,已经是规格化浮点数 1,01001.0011101,用32位表示一个数,阶码部分占8位(含一位符号位),尾数部分占24位(含1位符号位)。设, 试写出补码浮点数表示格式(规格化)。0000100011.01111111110000000000000 =9BFE000H111111110.11111110000000000000000 =0FF7F0000H,计算题,一、设浮点数的格式为:阶码5位,包含一位符号位,尾数5位,包含一位符号位,阶码和尾数均用补码表示,排列顺序为:则按上述浮点数的格式:1、若数Z的浮点数的16进制形式为0EDH,求Z的十进制的真值。2、若(X)10 =13/64,(Y)10 = 275,则求 X和Y的规格化浮点数表示形式。3、求 X+Y浮(要求用补码计算,列出计算步骤)。4、求 XY浮(要求用补码计算,列出计算步骤)。5、求 X*Y浮(要求阶码用补码计算,尾数用补码Booth算法计算,列出计算过程和算式)。,1、若数Z的浮点数的16进制形式为0EDH,求Z的十进制的真值。,解:1、0EDH=0011101101B, Z浮=0,0111 0.1101, 则EZ补=0,0111 =+7MZ补= 0.1101 MZ= +13/16 所以,Z= MZ2 Ez = +13/162 7=+138= +104,2、若(X)10 =13/64,(Y)10 = 275,则求 X和Y的规格化浮点数表示形式。,解:2、(X)10 =13/64 (X)2 =0.001101 = 0.11012-10EX=-10 ,则EX补=1,1110 MX=0.1101 ,则MX补=0.1101 则X浮=1,1110 0.1101 (Y)10 = -2.75, (Y)2 = - 10.11 = - 0.10112+10EY=+10 ,则EY补=0,0010 MY=-0.1011 ,则MY补=1.0101则Y浮=0,0010 1.0101,3、求 X+Y浮(要求用补码计算,列出计算步骤),解:对阶E=EX-EY=EX补+-EY补 = 11,1110 + 11,1110 = 11,1100E=-40,则EX小,将MX右移4位,EX加4:X浮 = 0,0010 0.0000(1101) 尾数相加,结果规格化:结果已规格化舍入。0舍1入:MX+Y补=1.0110 。X+Y浮=0,0010 1.0110,4、求 XY浮(要求用补码计算,列出计算步骤)。,解:对阶:同上。尾数相减。结果规格化:结果已规格化舍入。0舍1入:MX-Y补=0.1100 。XY浮=0,0010 0.1100,5、求 X*Y浮(要求阶码用补码计算,尾数用补码Booth算法计算,列出计算过程和算式)。,解:阶码相加。EZ补 = EX补+EY补= 11,1110 + 00,0010 = 00,0000尾数相乘。MX补=0.1101 -MX补=1.0011 MY补=1.0101,MX*Y补=1.01110001 结果规格化:已规格化。舍入。舍去:MX*Y补=1.0111 X*Y浮=0,0000 1.0111,返回目录,某加法器进位链小组信号为C4C3C2C1 ,低位来的信号为C0 ,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。(1) 串行进位方式 (2) 并行进位方式,解 :(1)串行进位方式:C1 = G1 + P1 C0 其中: G1 = A1 B1 ,P1 = A1B1C2 = G2 + P2 C1 G2 = A2 B2 ,P2 = A2B2 C3 = G3 + P3 C2 G3 = A3 B3 , P3 = A3B3C4 = G4 + P4 C3 G4 = A4 B4 , P4 = A4B4 (2) 并行进位方式: C1 = G1 + P1 C0 C2 = G2 + P2 G1 + P2 P1 C0C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0C4 = G4 + P4 G3 + P4 P3 G2 + P4P3 P2 G1 + P4 P3 P2 P1 C0其中 G1G4 ,P1P4 表达式与串行进位方式相同。,返回目录,存储器,一、某机字长16 位,CPU地址总线18位,数据总线16位,存储器按字编址,CPU 的控制信号线有:MREQ#(存储器访问请求,低电平有效),R/W#(读写控制,低电平为写信号,高电平为读信号)。试问:1、该机最大主存容量为多少?2、若该机主存采用64K1bit的DRAM芯片(内部为4个128128阵列)构成最大主存空间,则共需多少个芯片?若采用分散刷新方式,单元刷新间隔为2ms,则刷新信号的周期为多少时间?3、若为该机配备16K16位的Cache,每字块16字,采用4路组相联映象,试写出对主存地址各个字段的划分(标出各个字段的位数);若主存地址为12345H,则该地址映象到的Cache的哪一组?4、若现在用若干个32K8位的SRAM芯片形成96K16位的RAM存储区域,起始地址为00000H,假设SRAM芯片有CS#(片选,低电平有效)和WE#(写使能,低电平有效)信号控制端;试写出RAM的地址范围,并画出SRAM与CPU的连接图,请标明SRAM芯片个数、译码器的输入输出线、地址线、数据线、控制线及其连接。,1、该机最大主存容量为多少?2、若该机主存采用64K1bit的DRAM芯片(内部为4个128128阵列)构成最大主存空间,则共需多少个芯片?若采用分散刷新方式,单元刷新间隔为2ms,则刷新信号的周期为多少时间?,解:1、该机最大主存容量为21816位=512KB。2、若该机主存采用64K1bit的DRAM芯片(内部为4个128128阵列)构成最大主存空间,则共需 个芯片。刷新信号的间隔为,3、若为该机配备16K16位的Cache,每字块16字,采用4路组相联映象,试写出对主存地址各个字段的划分(标出各个字段的位数);若主存地址为12345H,则该地址映象到的Cache的哪一组?,解:若为该机配备16K16位的Cache,每字块16字,采用4路组相联映象,则:Cache共有 块,可以分为 组。所以,对主存18位地址划分如下: 若主存地址为12345H,则该地址映象到的Cache的第34H组。,4、若现在用若干个32K8位的SRAM芯片形成96K16位的RAM存储区域,起始地址为00000H,假设SRAM芯片有CS#(片选,低电平有效)和WE#(写使能,低电平有效)信号控制端;试写出RAM的地址范围,并画出SRAM与CPU的连接图,请标明SRAM芯片个数、译码器的输入输出线、地址线、数据线、控制线及其连接。,解:需用6个32K8位的SRAM芯片形成96K16位的RAM存储区域,地址范围为00000H5FFFFH,两片一组,共3组。,返回目录,P167 3(4),1、求芯片数 SRAM 128K 16/(16K 8) =8*2=16片 ,8组,每组2片 ROM 1片 8K 16位2、确定芯片的AB、DB位数 SRAM 16K 8位 AB14位,DB8位 ROM AB13位,DB16位3、分析芯片的地址范围,A17 A16 A15 A14 A13 A12 A0 00000h-03Fffh 0 0 0 0 0 0-0 1 1-1 04000h-07Fffh 0 0 0 1 0 0-0 1 1-1 08000h-0BFffh 0 0 1 0 0 0-0 1 1-1 0C000h-0FFffh 0 0 1 1 0 0-0 1 1-1 10000h-13Fffh 0 1 0 0 0 0-0 1 1-1 14000h-17Fffh 0 1 0 1 0 0-0 1 1-1 18000h-1BFffh 0 1 1 0 0 0-0 1 1-1 1C000h-1FFffh 0 1 1 1 0 0-0 1 1-1 3e000h-3ffffh 1 1 1 1 1 0-0 1-1,作业:除了HALT指令为单字指令外,其他指令均为双字指令;其中, SR为源寄存器号, DR为目的寄存器号,指令第二字为地址、数据或偏移量。,若(PC)1EH,变址寄存器(SI)10H,则此时启动程序执行,问执行了几条指令程序停止?写出每条指令的助记符、寻址方式、操作数和执行结果。,地址 内容 1CH: 10H 1DH: 27H1EH: 01H1FH: 23H20H:81H 21H:1DH 22H:C0H23H:02H 24H:91H 25H:0CH26H:F0H27H:20H,PC IR 助记符 寻址方式 EA 操作数 结果1EH 01H MOV1 R1,#23H 立即 23H R1=23H 23H 20H 81H ADD R1,1DH 间接寻址 27H 20H R1=43H 1DH22H C0H JC 02H 相对寻址 24H 02H24H 91H SUB R1,SI+0CH 变址寻址 1CH 10H R0=33H 0CH 26H F0H HLT,写出上述JMP指令的微程序流程图某条指令的微程序流程如图1,写出该指令的功能、指令格式和寻址方式及指令第二字的含义,并分析第二个机器周期的微操作信号。,611 设某机寄存器字长16位,用16进制表示,已知:变址寄存器内容为0004H,PC的内容为0003H,内存中部分单元内容如下: 地址:内容 地址:内容 0002H:000AH 0007H:000AH 0003H:0002H 0008H:0002H 0004H:0007H 0009H:0003H 0005H:0004H 000AH:0009H 0006H:0005H 000BH:0008H指令为双字长指令,格式如下:,第7章 11,浮点数表示及计算,1、设浮点数的格式为:阶码4位,包含一位符号位,尾数6位,包含一位符号位,阶码用移码表示,尾数用补码表示,排列顺序为:阶符(1位)阶码(3位)数符(1位)尾数(5位)则按上述浮点数的格式:(1) 若(X)10 = 12.5,则求 X的规格化浮点数表示形式。(2)已知Y的规格化浮点表示为 3 9AH,求Y的十进制真值。(3)浮点数表示范围?(4)求X+Y浮,Cache计算,某机字长32 位,CPU地址总线16位,数据总线32位,存储器按字编址。 若为该机配备51216位的Cache,每块4字节,采用2路组相联映象,求主存块数、Cache组数、写出主存地址各个字段的划分(标出各个字段的位数);若主存地址为3280H,则该地址可映象到的Cache的哪些行?假设CPU总是从Cache取得数据,在一段时间内,Cache完成存取的次数为90次,主存完成的存取次数为10次,已知cache的存储周期为20ns,主存的存储周期为50ns。求:(1) Cache的命中率h; (2)Cache/主存系统的平均访问时间ta; (3Cache/主存系统的效率e;,多体交叉存储器设计及计算,设有存储器一个模块容量为16字,字长32位,模块数M=8,采用交叉方式组织。存储周期T=200ns,数据总线宽度为32位,总线传输周期t25ns。试比较当连续读出20个字时,考虑总线传输延时,问顺序存储器和交叉存储器的带宽各是多少?交叉存储的速度是顺序存储的几倍?请画出8体交叉方式的存储器组织方式示意图并标明每个模块的地址分配。,SRAM扩展,某机字长8 位,CPU地址总线16位,数据总线8位, CPU 的控制信号线有:MREQ#(存储器访问请求,低电平有效),R/W#(读写控制,低电平为写信号,高电平为读信号)。若用8K8位的SRAM芯片形成32K8位的RAM存储区域,起始地址为2000H,假设SRAM芯片有CS#(片选,低电平有效)和WE#(写使能,低电平有效)信号控制端。问(1)需要多少芯片?(2)分析芯片的地址范围 (3)画出SRAM与CPU的连接图,请标明译码器的输入输出线、地址线、数据线、控制线及其连接,写出RAM的地址范围。,微指令格式设计,某机采用微程序控制器,其微程序控制器有31种微操作命令(采用直接控制法,即水平型微指令),有4个转移控制状态(采用译码形式),微指令格式中的下址字段7位。该机机器指令系统包含76条指令,每条指令由7条微指令组成,其中有一条取指令的微指令是所有指令公共的。问:(1)该微指令的格式中,操作控制字段和判别测试字段各有几位?控存的容量为多少(字数字长)?(2)该机指令系统共有多少条微指令?需要多少容量的控存?上述的控存是否合适?,