1.1 为什么需要半加器和全加器,它们之间的主要区别是什么? 答:(1)因为加法的第一位没有进位,所以用半加器即可;而第二位起可能有进位,故需要考虑全加器;
(2)两者的区别是半加器为双入双出,全加器为三入双出。
1.2 用补码法写出下列减法的步骤: (1)1111(2)-1010(2)=?(2)=?(10) 答:
两个数相减其实就是第一个数与第二个数的补码相加。
第一个数1111为正数,其原码为1111
第二个数为1010),其机器码(原码)为:1010,反码为0101,补码为:0110
两者相加: 1111
+ 0110
10101
将最高位的进位1删去,得结果为10101,即为5(10)
这是按书上的简单做法。按最正规的方法做如下:
若考虑两个数属于带符号数,第一个是正数,补码与原码都为01111;
第二个数是负数,原码为11010,反码为10101,补码为10101+1=10110
第一个数与第二个数的补码相加,即为:
01111
+ 10110
100101
将最高位的进位删去,得结果为00101,即为5(10)
建议用第二种方法为佳。
(2)1100(2)-0011(2)=?(2)=?(2) 答:按上述所讲的正规方法做。
第一个数的补码=原码=01100;第二个数的原码(即机器码)为10011,其反码为11100, 其补码为11101;
两个数的补码相加,即为: 01100 + 11101 = 101001
将最高位的进位1删去,得结果为01001,即为9(10)
1.3 做出101011(2)+011110(2)的门电路图并求其相加的结果。 答:相加结果为: 101011 + 011110 = 1001001 得结果为1001001(2)。(注:相加时不去掉最高位的进位) 门电路图略去。
1.4 做出第1.9题中两数相减的门电路图并求其相减的结果。 答:若为101011-011110
则第一个数为正数,其补码=原码=0101011;
第二个数为负数,其原码为1011110,反码为1100001,补码=反码+1=1100001+1=1100010 两个数的补码相加为: 0101011 + 1100010 = 1 0001101
去掉最高位的进位1,得结果为0001101,即为13(10)。
第2章习题
2.1 ALU是什么部件?它能完成什么运算功能?试画出其符号。 P6 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-3
2.8 ROM和RAM各有何特点与用处?
答:ROM是只读存储器,是用以存放固定程序的存储器,一旦程序放进去之后,就不能再改变。也不能再写入新的字节,而只能读出其中所存储的内容; RAM是随机存储器(又称读/写存储器),它与ROM的区别在于它不但能读出存放在其中各个存储单元的数据,而且能够随时写进新的数据,或者改变原有数据。
2.9 为什么要建立“地址”这个概念?
答:因为一个存储器可以包含数以千计的存储单元,可以存储很多数据,为了便于存入和取出,需要对每个存储单元确定一个固定地址。
2.11 译码器有何用处?
答:译码器用来确定存储单元的地址。地址译码器常用于计算机中对存储单元地址的译码,即将一个地址代码转换成一个有效信号,从而选中对应的单元。
2.12 存储地址寄存器(MAR)和存储数据寄存器(MDR)各有何用处? 答:MAR将所要寻找的存储单元的地址暂存下来,以备下一条指令之用。 MDR是将要写入RAM中去的数据暂存起来,以等待控制器发出指令再将数据写入RAM中去。
第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.1 8086CPU与8088CPU有哪些相同之处?又有哪些区别?
答:两者的内部结构基本相同,内部都采用16位字进行操作及存储器寻址,两者的软件完全兼容,程序的执行也完全相同,两种处理器都封装在相同的40脚双列直插组件(DIP)中。
但它们的外部性能有区别。8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。
4.2 8086 CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 答: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.3 8086 CPU有哪些寄存器组成?各有什么用途?标志寄存器的各标志位在什么情况下置位?
答:8086 CPU由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.4 8086系统中的物理地址是如何得到的?假如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.7 什么是地址锁存器?8086/8088系统中为什么要用地址锁存器?锁存的是什么信息? 答:
(1)地址锁存器就是一个寄存器,它根据控制信号的状态,将总线上的地址代码暂存起来,即用于“锁定”一个(系列)数字状态的电路。
简答:地址锁存器是用来锁存/保存地址的一个寄存器(即一个普通的时序电路),是触发器的原始形式。目的是某次传送数据并不能一次完成所以锁存地址以免CPU重复的传送一个地址。
原理:CPU送地址到锁存器8282/8283之后,内存在地址锁存器中找地址,而不是向CPU要地址。
(2)因为8060/8088系统采用的是地址/数据分时复用总线,即用同一总线传输数据又传输地址,当微处理器与存储器或IO交换信号时,首先由CPU发出存储器地址,同时发出允许锁存ALE给锁存器,当锁存器接到该信号后将地址/数据总线上的地址锁存在总线上,随后才能传输数据。
个人理解:因为在总线周期的前半部分,CPU总是送出地址信号和BHE(总线高允许)信号,为了通知地址已经准备好了,可以被所锁存,CPU会送出高电平允许锁存信号ALE。此时地址信号和BHE信号被锁存。由于有了锁存器对地址信号和BHE信号的锁存,CPU在总线周期的后半部分,地址和数据都在总线上,确保了CPU对锁存器和I/O接口的读/写操作。
(3)锁存的是复用总线上的地址信息。
4.8 8086/8088系统中的8286是什么器件?起什么作用? 答:(1)8286是总线驱动器(又称总线收发器,双向数据缓冲器)。
(2)在一个系统所含的外设接口较多时,它用来增加数据总线的驱动能力。
4.9 8086/8088系统中用时钟发生器8284A产生哪些信号?
答:8284A产生恒定的时钟信号、准备信号(READY)及复位信号(RESET)。
4.10 RESET信号来到后,8086/8088系统的CS、IP和PSW分别等于多少? 解:CS=FFFFH,IP=0000H,PSW=0000H
4.11什么是指令周期、总线周期和时钟周期? P74
第6章习题
6.1 什么是总线?微型计算机内常有的总线有哪几类? P117 6.2
6.3 PCI总线信号可分为哪几类?
第7章习题
第8章习题
1. MOV AX,0809H MUL AH ;AX=0048H AAM ;AX=0702H 2. MOV AX,0809H MOV DL,5
AAD ;AX= 0059H DIV DL ;AX= 0411H MOV DL,AH AAM ;AX=0107H DL= 04H 3. MOV AX,0809H ADD AL,AH
MOV AH,0 ;AX=0011H
AAA ;AX=0107H 4. MOV AX,0809H MOV DL,10 XCHG AH,DL
MUL AH ;AX=005AH AAM ;AX=0900H ADD AL,DL ;AX=0908H 5. MOV AL, 98H MOV AH, AL MOV CL, 4 SHR AH, CL AND AL, 0FH AAD ;AL= 62 H 6. MOV CL, 248 XOR AX,AX MOV CH, 8 AG: SHL CL,1 ADC AL,AL DAA
ADC AH,AH DEC CH
JNZ AG ;AX= 0248 H
第9章
第10章
10.1 什么叫中断?采用中断有哪些优点?
答:所谓中断,是指由于种种原因,使CPU暂时停止当前程序的执行,而转去处理临时发
生的事件,处理完毕后,再返回继续执行暂停的程序。也就是说,在程序执行过程中,插入另外一段程序运行。使用中断技术,使得外部设备与CPU不再是串行工作,而是分时操作,解决了快速的CPU与慢速的外设之间的矛盾,从而大大提高了计算机的效率。另外采用中断可以更好地实现实时信息处理等。
2.什么叫中断源?微型计算机中一般有哪几种中断源?识别中断源一般有哪几种方法? 答:所谓中断源即指引起中断的原因或中断请求的来源。微型计算机中一般有以下几种中断源:(1)外部设备;(2)实时时钟;(3)故障源;(4)中断指令或为调试程序设置的中断。识别中断源一般有以下两种方法①查询中断②向量中断。 3.中断分为哪几种类型?它们的特点是什么?
答:中断包括外部中断(硬件中断)和内部中断(软件中断)两大类,其中外部中断又分为可屏蔽中断和不可屏蔽中断。可屏蔽中断的特点是受标志寄存器中IF位的控制,当IF=1时,允许CPU响应可屏蔽中断请求,当IF=0时,CPU不响应可屏蔽中断请求;不可屏蔽中断的特点是不受标志寄存器中IF位的控制;内部中断除单步中断外都是不可屏蔽的,但单步中断的屏蔽不是靠IF位,而是靠TF位的置0实现。 4.什么叫中断向量、中断优先权和中断嵌套?
答:设置在内存0~3FFH区域,对应于每个中断类型的中断处理子程序的入口地址称为中断向量;在有多个中断源的情况下,根据轻重缓急,为每一个中断类型设置一个响应级别,称之为中断优先权;当CPU正在处理某一中断时,又出现了优先权级别更高的中断请求,CPU就响应此中断而挂起正在执行的中断服务程序,在高优先权中断处理完后,再返回执行被挂起的中断服务程序,这种情况称为中断嵌套或多重中断。 5.CPU响应中断的条件是什么? CPU如何响应中断?
答:对于软中断和不可屏蔽中断,CPU无条件响应。对于可屏蔽中断,CPU响应中断的条件是IF位为1。CPU响应中断的过程是:CPU 在遇到中断指令或收到中断请求信号后, 如果为可屏蔽中断,首先看标志寄存器的IF位是否为1,如为0,则不响应,否则在当前指令执行完后, 通过INTA#引腿发出中断应答信号,从8259获取中断类型号(其它中断无此步骤),使当前标志寄存器的内容及断点地址入栈保护,根据中断类型号在中断向量表中取出中断处理程序的入口地址,送CS、IP从而转去执行相应的中断处理子程序,执行完后将断点地址及标志从栈中弹回IP、CS和FR,返回断点处继续工作。
第11章
因篇幅问题不能全部显示,请点此查看更多更全内容