第1章习题1.1将下列二进制数转换为十进制数和十六进制。(1)1101(2)=13=D(H)(2)11010(2)=26=1A(H)(3)110100(2)=52=34(H)(4)10101001(2)=169=A9(H)要点:从低位起,按每4位将对应二进制转换成十六进制。而不是通过十进制转换。1.2见上。1.3简述3个门电路的基本元素在电路中对电平高低的作用。答:与、或、非。1.4布尔代数有哪两个特点?答:(1)值只有两个;(2)只有与、或、反3种运算。1.5布尔代数的“或运算”结果可用哪两句话来归纳?其“与运算”又可归纳成哪两句话“答:(1)“或运算”运算结果为有一真必为真,两者皆假才为假。(2)“与运算”有一假即为假,两者皆真才为真。1.6什么叫原码、反码及补码?答:原码就是一个数的机器数。反码:将原码每位取反,即为反码。更准确的是:正数的反码就等于它的原码;负数的反码就是它的原码除符号位外,各位取反。补码:反码加1就是补码。更准确的是:正数的补码就等于它的原码;负数的补码就是它的反码加1。例:X1=+1001001X2=-1001001则:[X1]原=01001001[X1]反=01001001[X1]补=01001001[X2]原=11001001[X2]反=10110110[X2]补=[X2]反+1=101101111.7为什么需要半加器和全加器,它们之间的主要区别是什么?答:(1)因为加法的第一位没有进位,所以用半加器即可;而第二位起可能有进位,故需要考虑全加器;(2)两者的区别是半加器为双入双出,全加器为三入双出。1.8用补码法写出下列减法的步骤:(1)1111(2)-1010(2)=?(2)=?(10)答:(2)1100(2)-0011(2)=?(2)=?(2)答:按上述所讲的正规方法做。第一个数的补码=原码=01100;第二个数的原码(即机器码)为10011,其反码为11100,其补码为11101;两个数的补码相加,即为:01100+11101=101001将最高位的进位1删去,得结果为01001,即为9(10)两个数相减其实就是第一个数与第二个数的补码相加。第一个数1111为正数,其原码为1111第二个数为1010),其机器码(原码)为:1010,反码为0101,补码为:0110两者相加:1111+011010101将最高位的进位1删去,得结果为10101,即为5(10)这是按书上的简单做法。按最正规的方法做如下:若考虑两个数属于带符号数,第一个是正数,补码与原码都为01111;第二个数是负数,原码为11010,反码为10101,补码为10101+1=10110第一个数与第二个数的补码相加,即为:01111+10110100101将最高位的进位删去,得结果为00101,即为5(10)建议用第二种方法为佳。1.9做出101011(2)+011110(2)的门电路图并求其相加的结果。答:相加结果为:101011+011110=1001001得结果为1001001(2)。(注:相加时不去掉最高位的进位)门电路图略去。1.10做出第1.9题中两数相减的门电路图并求其相减的结果。答:若为101011-011110则第一个数为正数,其补码=原码=0101011;第二个数为负数,其原码为1011110,反码为1100001,补码=反码+1=1100001+1=1100010两个数的补码相加为:0101011+1100010=10001101去掉最高位的进位1,得结果为0001101,即为13(10)。例2:[+0]反=00000000[-0]反=11111111即:数0的反码也不是唯一的。第2章习题2.2触发器、寄存器及存储器之间有什么关系?请画出这几种器件的符号。答:触发器是存放一位二进制数字信号的基本单元。触发器是计算机的记忆装置的基本单元,也可以说是记忆细胞。触发器可以组成寄存器,寄存器又可以组成存储器。寄存器和存储器统称为计算机的记忆装置。(2)其符号分别表示如下:2.4累加器有何用处?画出其符号。答:累加器作为ALU运算过程的代数和的临时存储处。2.5三态输出电路有何意义?其符号如何画?答:三态输出电路使得一条信号传输线既能与一个触发器接通,也可以与其断开而与另外一个触发器接通,从而使得一条信号线可以传输多个触发器的信息。2.6何谓L门及E门?它们在总线结构中有何用处?答:(1)L门:高电平时使数据装入、低电平时数据自锁其中的电路;E门:E门即三态门,当选通端E门为高电平时,可将信息从A端送到B端。(2)L门专管对寄存器的装入数据的控制,而E门志管由寄存器输出数据的控制。2.7控制字是什么意义?试举个例子说明。答:(1)控制字CON将各个寄存器的L门和E门的按次序排成一列,并且为了避免住处在公共总线中乱窜,规定在某一时钟节拍,只有一个寄存器的L门为高电平,一个寄存器的E门为高电平,从而保证了E门为高电平的寄存器的数据流入到L门为高电平的寄存器中去。(2)略去,详见教材P31的表2-32.8ROM和RAM各有何特点与用处?答:ROM是只读存储器,是用以存放固定程序的存储器,一旦程序放进去之后,就不能再改变。也不能再写入新的字节,而只能读出其中所存储的内容;RAM是随机存储器(又称读/写存储器),它与ROM的区别在于它不但能读出存放在其中各个存储单元的数据,而且能够随时写进新的数据,或者改变原有数据。2.9为什么要建立“地址”这个概念?答:因为一个存储器可以包含数以千计的存储单元,可以存储很多数据,为了便于存入和取出,需要对每个存储单元确定一个固定地址。2.11译码器有何用处?答:译码器用来确定存储单元的地址。地址译码器常用于计算机中对存储单元地址的译码,即将一个地址代码转换成一个有效信号,从而选中对应的单元。2.12存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处?答:MAR将所要寻找的存储单元的地址暂存下来,以备下一条指令之用。MDR是将要写入RAM中去的数据暂存起来,以等待控制器发出指令再将数据写入RAM中去。P332,4,5,6,7,8,9,11,12第3章习题3.1略去3.2程序计数器PC的内容是什么意义?答:程序计数器PC存储的内容是指令的地址码。每次运行指令前,先复位到0,每取出执行一条指令,PC加1.3.3指令寄存器IR从PROM接收到指令字(8位)后的运行过程如何?起什么作用?答:(1)指令寄存器IR从PROM接收到指令字后,就立即将其高4位送到控制部件。(2)控制部件经过分析后就发出控制指令,将IR的低4位数送到存储地址寄存器MAR,MAR将此低4位数作为地址并用于访问PROM。故第1次访问PROM的是其指令区,第2次访问的是其数据区。3.4略3.5环形计数器有何用处?什么叫环形字?答:(1)环形计数器用来发出顺序控制信号(即用来发出环形字),从而产生机器节拍。(2)环形字是其6位输出端依次轮流为高电平,并且是在最位一位(左边第1位)置1后又回到右边第1位,从而形成环形置位。3.6什么叫例行程序?什么叫机器周期、取指周期和执行周期?本章简化式计算机的机器周期包括几个时钟周期(机器节拍)?机器周期是否一定是固定不变的?答:(1)例行程序:由厂家编好的执行每个程序(在本章中即为每条指令)所需要的机器节拍(3个,见P49)(2)机器周期:执行一条指令的时间。(3)取指周期:取一条指令所需的3个机器节拍。(4)执行周期:执行一条指令所需的机器节拍(一般也为3个机器节拍)(5)本章简化式计算机的机器周期包括6个机器节拍。补充:机器节拍:即一个时钟周期(时钟一个高电平+一个低电平)(6)不一定。只不过固定了在6个节拍完成一个机器周期的计算机被称为固定周期的计算机。3.7控制部件包括哪些主要环节?各有何用处?答:(1)控制部件包括环形计数器、指令译码器、控制矩阵和其他控制电路。(2)环形计数器用来产生环形字,从而产生机器节拍;指令译码器:将高四位组成的编码信息译成某一控制线为高电位。控制矩阵:用来产生控制字CON,即产生所有控制信号。其他控制电路包含时钟脉冲发生器、运行/停车触发器、“启动”和“清除”按钮。其作用见P54.3.8子程序计数器有何用处?答:也是用来作为一个程序计数器的。3.9-3.11略去3.12指令寄存器IR是如何将其指令字段和地址字段分送出去的?这两个字段的位数是否保持不变?答:(1)指令寄存器IR将8位指令字的高4位作为指令字段送到控制部件,而将低4位做为地址字段通过总线送到存储地址寄存器MAR中去。(2)对,保持不变。这由制造厂家确定。第4章习题4.18086CPU与8088CPU有哪些相同之处?又有哪些区别?答:两者的内部结构基本相同,内部都采用16位字进行操作及存储器寻址,两者的软件完全兼容,程序的执行也完全相同,两种处理器都封装在相同的40脚双列直插组件(DIP)中。但它们的外部性能有区别。8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。4.28086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?答:8086CPU从功能上分为总线接口部分BIU和执行部件EU两部分。其中总线接口部分的功能是负责与存储器、I/O端口传送数据,即BIU管理在存储器中存取程序和数据的实际处理过程。执行部件EU的功能负责指令的执行。将指令译码并利用内部的寄存器和ALU对数据进行所需的处理。BIU由4个段寄存器(CS、ES、DS、SS)、16位指令指针寄存器IP、20位的地址加法器和6字节的指令队列组成。EU由4个通过寄存器(AX、BX、CX、DX)、4个专用寄存器(SI、DI、SP、BP)、标志寄存器FR、算术逻辑部件ALU组成。4.38086CPU有哪些寄存器组成?各有什么用途?标志寄存器的各标志位在什么情况下置位?答:8086CPU由4个通用寄存器(AX、BX、CX、DX)、4个专用寄存器(SI、DI、SP、BP)、标志寄存器FR组成,共9个寄存器。4个通用寄存器既可作为16位寄存器用,也可作为8位寄存器使用。其中AX寄存器也常称为累加器。其它寄存器的用途见教材。标志寄存器有6个状态标志(SF、ZF、PF、CF、AF、OF)和3个控制标志位(DF、IF、TF)。其具体置位见P75的表4-1.4.48086系统中的物理地址是如何得到的?假如CS=2000H,IP=2100H其物理地址应是多少?答:8086系统中的物理地址是通过BIU中的20位地址加法器得到的。物理地址计算公式为CS段地址*16(即二进制左移4位,或者十六进制左移1位)+IP偏移地址。按计算公式,本题中的物理地址为20000H+2100H=22100H。4.5什么叫总线周期?8086CPU的一个总线周期包括多少时钟周期,什么情况下要插入TW等待周期?插入多少个TW取决于什么因素?答:总线周期是CPU或其他总线控制设备访问一次存储器或I/O端口所需的时间。在总线周期中需要利用总路线。补充:指令周期:指令周期是机器执行一条指令所需的时间。8086CPU的一个标准总线周期包括4个时钟周期。当4个时钟周期不能完成所规定的操作时,可以插入一个或多个等待时钟周期TW。插入多少个TW取决于所访问的存储器或者I/O设备是否准备就绪,此信号由引脚READY发出。4.6什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式?答:所谓最小模式,就是在系统中只有8086/8088一个微处理器。最大模式中,饮包含两个或多个微处理器,其中主处理器是8086/8088,其他处理器是协处理器(如数值运算协处理器8087,输入/输出协处理器8089)。用硬件方法来决定8086/8088的工作模式,具体是通过引脚MXMN/控制信号引脚来决定,其接+5伏,则为最小模式,接地为最大模式。4.7什么是地址锁存器?8086/8088系统中为什么要用地址锁存器?锁存的是什么信息?答:(1)地址锁存器就是一个寄存器,它根据控制信号的状态,