计算机组成原理1第一次作业1.给出总线的定义。答:总线是能为多个部件分时共享的一组信息传送线路。2.硬件和软件在逻辑上是等效的。3.某总线数据通路宽度为64位,总线时钟频率为133MHz,则该总线的数据传输率为多少?解:总线的数据传输率=64*133M/8=1064MB/S4.假设某计算机的字长为16位,分别写出定点小数和定点整数采用原码、补码表示时的典型值。编码最小负数最大负数最小正数最大正数定点小数原码-(1-2-15)(1.11…1)-2-15(1.00…1)2-15(0.00…1)(1-2-15)(0.11…1)补码-1(1.00…0)-2-15(1.11…1)2-15(0.00…1)(1-2-15)(0.11…1)定点整数原码-(215-1)(111…1)-1(100…1)1(000…1)(215-1)(011…1)补码-215(100…0)-1(111…1)1(000…1)(215-1)(011…1)5.某浮点数字长32位,其中阶码8位,含一位阶符,补码表示,以2为底;尾数24位,含一位数符,补码表示,规格化,请给出该浮点数的典型值及其对应的浮点数代码。典型值浮点数代码真值最小的负数01…1,1.0…0(-1)*(2127)最大的负数10…0,1.10…0(-2-1)*(227)最小的正数10…0,0.10…0(2-1)*(227)最大的正数01…1,0.11…1(1-2-23)*(2127)6.浮点数的符号与尾数的符号一致;阶码的位数影响浮点数的表示范围;尾数的位数影响浮点数的表示精度。第二次作业1.指令中为什么使用隐地址方式。答:简化地址结构。2.简述堆栈操作的特点,并举例说明。答:先进后出(或后进先出),例子略。3.指令字长16位,可含有3、2、1或0个地址,每个地址占4位。请给出一个操作码扩展方案。4.RISC和CISC的中文名称是什么。RISC:精简指令集系统计算机CISC:复杂指令集系统计算机5.简述80%和20%规律。答:80%的指令是简单指令,占运行时间的20%;20%的指令是复杂指令,占运行时间的80%。6.简化地址结构的基本方法是什么?答:采用隐地址计算机组成原理27.如何用通用I/O指令实现对各种具体设备的控制?答:1)I/O指令中留有扩展余地2)I/O接口中设置控制/状态寄存器8.什么是I/O端口?答:I/O接口中的寄存器9.对I/O设备的编址方法有哪几种?请简要解释。1)单独编址:I/O地址空间不占主存空间,可与主存空间重叠。具体分为编址到寄存器和编址到设备两种。编址到设备:每个设备有各自的设备编码;I/O指令中给出设备码,并指明访问该设备的哪个寄存器。编址到寄存器:为每个寄存器(I/O端口)分配独立的端口地址;I/O指令中给出端口地址。2)统一编址:为每个寄存器(I/O端口)分配总线地址;访问外设时,指令中给出总线地址。I/O端口占据部分主存空间。10.用堆栈存放返回地址,则转子指令和返回指令都要使用的寄存器是什么?答:堆栈指针SP11.给出先变址后间址、先间址后变址和相对寻址三种寻址方式对有效地址的计算方法。先变址后间址:EA=((R)+D)先间址后变址:EA=(R)+(D)相对寻址:EA=(PC)±D12.各种寻址方式的操作数放于何处,如何形成操作数的有效地址。答:除寄存器直接寻址方式操作数放在寄存器中之外,其它寻址方式操作数均在主存中。立即寻址:指令中提供操作数直接寻址:指令直接给出操作数地址寄存器寻址:指令中给出寄存器号就是有效地址间接寻址:指令中给出间址单元地址码(操作数地址的地址),按照该地址访问主存中的某间址单元,从中取出操作数的地址寄存器间址:由指令给出寄存器号,所指定的寄存器中存放着操作数地址。自增型寄存器间址:由指令给出寄存器号,所指定的寄存器中存放着操作数地址。自减型寄存器间址:指令中给出寄存器号,被指定的寄存器内容减1后作为操作数地址变址寻址:指令给出一个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址基址寻址:基址寄存器内容与形式地址相加,其和为操作数有效地址基址加变址:指令给出两个寄存器号和一个地址量,寄存器内容与地址量之和为有效地址相对寻址:指令给出位移量,PC内容与位移量之和为有效地址页面寻址:指令给出位移量,PC的高位部分与位移量拼接,形成有效地址先变址后间址:EA=((R)+D)先间址后变址:EA=(R)+(D)13.计算机组成原理3寻址方式有效地址操作数直接寻址100H80H相对寻址2100H165H变址寻址1100H181H寄存器直接寻址R1000H间接寻址80H40H变址间接寻址181H100H寄存器间接寻址1000H256H14.I/O指令的设置方法有哪几种?请简要解释。答:1)设置专用I/O指令(显式I/O指令):针对单独编址,用I/O指令访问I/O端口。2)用传送指令实现I/O操作(隐式I/O指令):针对统一编址,用传送指令访问I/O端口。不设专用I/O指令。3)通过I/O处理机进行I/O操作15.转子与中断最大的区别在什么地方?答:中断具有随机性,而转子没有。16.子程序中最后一条指令是什么指令?答:返回指令。17.用堆栈存放返回地址,则转子指令和返回指令都要使用的寄存器是什么?答:堆栈指针SP18.CPU内部的IR、PSW、PC、MAR、MBR的中文名称是什么?里面存放的是什么内容?答:IR指令寄存器,存放现行指令;PSW程序状态字寄存器;反映现行程序状态,指示程序工作方式MAR地址寄存器,存放被访问单元的地址MBR数据缓冲寄存器,用来存放CPU与主存之间交换的信息19.PSW与控制/状态字寄存器的区别是什么?PSW在CPU中,反映程序运行状态,指示程序工作方式;控制/状态字在接口中,反映CPU命令和外部设备状的状态。第三次作业1.运算器采用单组内总线、分立寄存器结构和单组内总线、集成寄存器结构时,其输入端设置的部件名称是什么?答:采用单组内总线、分立寄存器结构时在输入端设置选择器;采用单组内总线、集成寄存器结构时在输入端设置暂存器。2.简述同步控制方式和异步控制方式的定义、特点、优缺点和应用场合,并说明两者最核心的区别是什么?答:同步控制方式:定义:各项操作受统一时序控制。特点:有明显时序时间划分,时钟周期长度固定,各步操作的衔接、各部件之间的数据传送受严格同步定时控制。优点:时序关系简单,时序划分规整,控制不复杂;控制逻辑易于集中,便于管理。缺点:时间安排不合理。应用场合:用于CPU内部、设备内部、系统总线操作(各挂接部件速度相近,传送时间确定,传送距离较近)。异步控制方式:定义:各项操作按不同需要安排时间,不受统一时序控制。特点:无统一时钟周期划分,各操作间的衔接和各部件之间的信息交换采用异步应答方式。优点:时间安排紧凑、合理。缺点:控制复杂。应用场合:用于异步总线操作(各挂接部件速度差异大,传送时间不确定,传送距离较远)。两者最核心的区别是:有无统一时序划分。3.什么是主设备,什么是从设备?答:计算机组成原理4主设备:申请并掌握总线权的设备。从设备:响应主设备请求的设备。4.什么是总线周期?答:经总线传送一次数据所用的时间(包括送地址、读/写)5.控制器的分类答:组合逻辑控制器和微程序控制器。6.主机和外设的连接方式答:辐射式、总线式和通道式。7.直接程序传送方式中,可以对外设的状态进行了抽象,请简述三个状态及其转换;并指明在何种状态下CPU方能与外设交换数据。答:三个状态及其转换如图所示在结束状态下,CPU方能与外设交换数据。8.简述中断的定义。答:CPU暂时中止现行程序的执行,转去执行为某个随机事态服务的中断处理程序;处理完毕后自动恢复原程序的执行。9.CPU在何时响应中断请求?何时响应DMA请求?答:在一条指令结束时响应中断请求;一个总线周期结束时响应DMA请求。10.中断的实质是什么?答:中断的实质是程序切换。11.简述中断与DMA的相同点和区别。答:DMA与中断的相同点:能响应随机请求;可并行操作。区别:中断用程序实现中、低速I/O传送;能处理复杂事态;一条指令结束时响应请求,其实质是程序切换;DMA用硬件实现高速、简单I/O传送;一个总线周期结束时响应请求,其实质是总线权切换。12.CPU如何实现对中断的屏蔽和中断的允许。答:通过送屏蔽字实现对中断的屏蔽;通过开/关中断实现对中断的允许。13.DMA的中文名称和定义。答:DMA的中文名称是直接存储器存取。定义为:直接依靠硬件实现主存与I/O间的数据传送,传送期间不需CPU程序干预。14.进行数据传输前,CPU发送的DMA初始化信息有哪些?答:传送操作类型、主存首址、交换量、外设寻址信息。第四次作业1.分别使用原码一位乘和补码一位乘,计算+0.1001*-0.1110的值,并给出规范化的步骤。解:1)原码一位乘A=00.0000,B=00.1001,C=.1110步骤条件操作ACCn00.0000.1110(1)Cn=0+0+00.000000.0000→00.00000.111(2)Cn=1+B+00.1001计算机组成原理500.1001→00.010010.11(3)Cn=1+B+00.100100.1101→00.0110110.1(4)Cn=1+B+00.100100.1111→00.01111110.故[X*Y]原=1.011111102)补码一位乘A=00.0000,B=00.1001,-B=11.0111,C=1.0010步骤条件操作ACCnCn+1CnCn+100.00001.00100(1)00+0+00.000000.0000→00.000001.0010(2)10-B+11.011111.0111→11.1011101.001(3)01+B+00.100100.0100→00.00100101.00(4)00+0+00.000000.0010→00.000100101.0(5)10-B+11.011111.1000故[X*Y]补=1.100000102.请给出溢出的三种判别逻辑,并指明各符号的含义。答:1)溢出=操作数的符号位SA和SB结果符号Sf2)溢出=符号位进位Cf尾数最高位进位C3)溢出=结果的第一个符号位Sf1结果的第二个符号位Sf23.第三章练习题的第2题的(1)、(4);第3题的(2)、(3)。解:第2题(1)00.110011+00.10110101.100000故正溢(4)11.001101+11.01001110.100000负溢第3题X补-Y补=X补+[-Y]补计算机组成原理6(2)[-Y]补=00.10110100.110110+00.10110101.100011正溢(3)[-Y]补=11.00110011.100011+11.00110010.101111负溢4.请叙述原码不恢复余数除法和补码不恢复余数除法的上商规则。答:原码不恢复余数除法根据余数符号判断上商,为正商1,为负商0;补码不恢复余数除法根据余数和除数的符号判断上商,同号,商1,异号,商0。5.给出浮点数加减运算、浮点数乘法运算和浮点数除法运算的步骤。答:浮点加减运算步骤:1)检查能否简化操作;2)对阶;3)尾数加减;4)结果规格化。浮点乘法运算步骤:1)检查操作数是否为0;2)阶码相加;3)尾数相乘;4)结果规格化。浮点除法运算步骤1)检查操作数是否为0;2)被除数的尾数AM与除数的BM尾数满足|AM||BM|;3)阶码相减;4)尾数相除;5)结果不再规格化。6.浮点数加减运算中,什么是对阶?为什么要对阶?如何实现?答:使两数阶码相等称之为对阶。因为阶码不同时,小数点实际位置没有对齐,尾数对应权值不相同,无法直接运算。小阶向大阶对齐,小阶阶码加1,尾数右移1位,直到两个数的阶码相同。7.采用并行进位链传递进位信号时,请给出进位信号C1、C2、C3和C4的逻辑表达式。答:C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4=G4+P4G3+P4P3G2+P4P3P2G