1.3说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言由代码“0”、“1”组成,是机器能直接识别的一种语言,也是执行效率最高的一种语言。汇编语言是一种面向机器的一种语言,它用一些特殊的符号表示指令。高级语言是面向用户的语言,接近自然语言,直观、通用,用具体机器无关。
1.6 画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要性能指标。 框图和各部件的作用见教材第9页,主要性能指标:机器字长存储容量运算速度见教材17页。 1.11指令和数据都存于存储器中,计算机如何区分它们?
答:取指令和取数据所处的机器周期不同:取指周期取出的是指令;执行周期取出的是数据。取指令或数据时地址的来源不同:指令地址来源于程序计数器;数据地址来源于地址形成部件。 第四章
4.6某机字长为32位,其存储容量是64KB,按字编址其寻址范围是多少?若主存以字节编址,试画出主存字地址和字节地址的分配情况。
答:按字编址其寻址范围是16K。图略,用低位字节的地址表示字地址和用高位字节地址表示字地址均可,只需标识清楚。
4.7一个容量为16K×32位的存储器,其地址线和数据线的总和是多少?当选用下列不同规格的存储芯片时,各需要多少片?1K×4位,2K×8位,4K×4位,16K×1位,4K×8位,8K×8位。
答:数据线32根,地址线14根,数据线地址线总和46根。选用1K×4位芯片时需要16×8片,选用2K×8位芯片时需要8×4片,选用4K×4位芯片时需要4×8片,选用16K×1位芯片时需要32片,选用4K×8位芯片时需要4×4片,选用8K×8位芯片时需要2×4片。 4.8试比较静态RAM和动态RAM。
答:静态RMA和动态RAM都属于随机存储器,即在程序的执行过程中既可以读出又可以写入信息。但静态RAM靠触发器存储信息,只要电源不掉电,信息就可不丢失;动态RAM靠电容存储电荷原理存储信息,即使电源不掉电,由于电容要放电,信息也会丢失所以需要再生。 4.9什么叫刷新?为什么要刷新?说明刷新有几种方法。
答:动态RMA在2ms内,将所存信息读出再重新写入,这一过程称为刷新,刷新是一行一行进行的,由CPU自动完成。动态RAM靠电容存储电荷原理存储信息,电容上的电荷要放电,为了维持存储的信息,动态RMA在2ms内,需将所存信息读出再重新写入即刷新。刷新方法有三种:集中刷新、分散刷新和异步刷新。
4.11一个8K×8位的动态RAM芯片,其内部结构排列成256×256形式,存取周期为0.1μs。试问采用集中刷新、分散刷新及异步刷新三种方式的刷新间隔各为多少? 答:见教材86页和87页。
4.14某8位微型计算机地址码为18位,若使用4K×4位的RAM芯片组成模块板结构的存储器,试问:(1)该机所允许的最大主存空间是多少?(2)若每个模块板为32K×8位,共需几个模块板?(3)每个模块板内共有几片RAM芯片?(4)共有多少片RAM?(5)CPU如何选择各模块板?
答:(1)地址码为18位的8位机的最大主存空间是256K×8位。(2)共需8个模块板。(3)每个模块板内有16片RAM芯片。(4)共有128片RAM。(5)A0~A11作为4K×4位RAM芯片本身的地址线;A12~A14作为模块板内的片选地址。采用3—8译码器,共8个输出,每个输出选择2片RAM
芯片;A15~A17作为模块板的地址。采用3-8译码器,其每个输出分别选择8个模块板中的某一块。
4.17写出1100的海明码。
答:因为信息位为4位,根据海明不等式可得校验位为3位。根据海明码的编码规则可确定1100的海明码格式为110C30C2C1,若采用偶校验方式,则1100的海明码为1100001。具体编写方法参考课件144-145页。
4.20欲传送的二进制代码为1001101,用奇校验来确定其对应的海明码,若在第6位出错,说明纠错过程。
答:海明码的编写与上题同。检查接收码中校验组的出错情况即可确定出错位的位置。 6.19设机器数字长为8位,用补码运算规则计算(1)A=9/64,B=-13/32,求A+B(2)A=19/32,B=-17/128,求A-B。
答:略,具体见课件309、312页。
6.20用补码一位乘计算(1)x=0.110111,y=-0.101110. 答:略,具体见课件333页和334页。
6.21用原码加减交替法和补码加减交替法计算x÷y(1)x=0.100111,y=0.101011 答:略,原码加减交替法见课件343页,补码加减交替法见课件355页。 6.26按机器补码浮点运算步骤计算[x+y]补 (1)x=2
-011
×0.101100,y=2
-010
×(-0.011100)
答:略,具体见课件363页。
6.28如何判断定点和浮点补码加减运算结果是否溢出,如何判断原码和补码定点除法运算结果是否溢出?
答:定点加减运算的溢出可通过双符号位和进位进行判断。浮点补码加减运算的溢出是根据阶码来判断的,当阶码大于最大阶码时即为浮点数的溢出,当阶码小于最小阶码时按机器零处理。
8.1CPU有哪些功能?画出其结构框图并简要说明每个部件的作用。 答:见教材338页。
8.4设CPU内有这些部件:PC、IR、SP、AC、MAR、MDR和CU。试画出完成间接寻址的取数指令“LDA @X”(将主存某地址单元的内容取至AC中)的数据流。
答:按取指周期、间址周期、执行周期进行描述。取指周期的数据流见教材344页图8.10,间址周期的数据流见教材344页图8.11,执行周期的数据流图的形式可参考以上两图,内容包括:(1)MAR送地址码至地址总线,选定存储单元(2)CU向控制总线发控制信号,启动读操作(3)被选定单元内容经数据总线送至MDR(4)MDR中的数据送至AC。
9.1设CPU内有这些部件:PC、IR、AC、MAR、MDR和CU。(1)写出取值周期的全部微操作。(2)写出减法指令SUB X、取数指令LDA X、存数指令STA X(X均为主存地址)在执行阶段所需的全部微操作。
答:(1)PC→MAR 当前指令地址送MAR,1→R启动读操作,M(MAR)→MDR当前指令从存储器读至MDR,MDR→IR 当前指令送IR,OP(IR)→CU指令的操作码送至CU译码,(PC+1)→PC形成下一指令地址。(2)减法指令SUB X执行阶段所需全部微操作:Ad(IR)→MAR指令的地址码送MAR,1→R启动读操作,M(MAR)→MDR操作数从存储器中读至MDR,(AC)-MDR→AC两数相减结果送至AC。取数指令LDA X执行阶段所需全部微操作:Ad(IR)→MAR指令的地址码
送MAR,1→R启动读操作,M(MAR)→MDR操作数从存储器中读至MDR,MDR→AC操作数送AC。存数指令STA X执行阶段所需全部微操作:Ad(IR)→MAR指令的地址码送MAR,1→W启动写操作,ACC→MDR写入的数据送MDR,MDR→M(MAR)数据写入存储器中。
10.2写出完成下列指令的微操作及节拍安排。指令ADD R1,X完成将R1寄存器的内容和主存X单元的内容相加结果存于R1的操作。
答:取指周期:T0 PC→MAR, 1→R;T1 M(MAR)→MDR,(PC+1)→PC;T2 MDR→IR,OP(IR)→ID。执行周期:T0 Ad(IR)→MAR,1→R;T1 M(MAR)→MDR;T2 (R1)+(MDR)→R1。 10.10微指令的操作控制有几种编码方式?各有何特点?哪一种控制速度最快?
答:微指令中操作控制字段主要有三种编码方式:(1)直接控制,又称直接编码,其特点是操作控制字段的每一位代表一个微命令,优点是简单直观,输出直接用于控制,执行速度最快。缺点是微指令字长最长,所需存储空间大。(2)字段直接编码控制,其特点是将微指令操作控制字段分成几段,并使每个字段经译码后形成各个微操作命令。每个字段中的微命令必须是互斥的。这种编码方式缩短了微指令字长,但增加了译码电路,使微指令的执行速度降低。这种编码方式又称显式编码。(3)字段间接编码控制,这种方式一个字段的某些微命令还需由另一个字段中的某些微命令解释,故又称为隐式编码,这种编码方式更能缩短微指令字长。还可把直接编码和字段编码混合使用。
10.11什么是垂直型微指令?什么是水平型微指令?各有何特点?
答:水平型微指令一次能定义并执行多个并行操作,其并行操作能力强,效率高。而且水平型微指令的大多数微命令可直接控制对象,故执行时间短,水平型微指令字长较长并且可用较少的微指令来实现一条机器指令的功能。垂直型微指令的结构类似于机器指令的结构。通常一条微指令只能有1~2个微操作命令。因为它要经过译码后控制对象,影响每条微指令的执行时间。垂直型微指令字长较短,实现一条机器指令功能时需要更多条微指令。 10.12能否说水平型微指令就是直接编码的微指令,为什么?
答:直接编码的微指令是水平型微指令,反之则不然。水平型微指令一次能定义并执行多个并行操作的微指令,而直接编码的微指令是指微指令的控制字段的每一位都代表一个微命令的微指令,水平型微指令的控制字段可以是直接编码也可以是字段编码或者是两者混合的。所以说水平型微指令不一定是直接编码的微指令。 10.13微指令的地址有几种形成方式?各有何特点?
答:主要有两种方式:断定方式,直接由微指令的下地址字段指出;增量方式,增设一个微程序计数器,微地址的形成方式类似于机器指令地址的形成方式,要求微程序中的微指令是顺序存储。其他也可加上通过测试网络形成微地址、由硬件产生微程序的入口地址、根据各种标志决定微指令分支转移的地址、根据机器指令的操作码形成微地址。(主要的微地址形成方式是前面说的两种) 10.15略。复习以此为例讲解过。