微机原理及接口技术第六版习题答案_第1页
微机原理及接口技术第六版习题答案_第2页
微机原理及接口技术第六版习题答案_第3页
微机原理及接口技术第六版习题答案_第4页
微机原理及接口技术第六版习题答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章微型计算机系统结构PAGE18习题与综合练习1.解释和区别下列名词术语(1)微处理器(MP):指计算机内部对数据进行处理并对处理过程进行控制的部件,具有中央处理器功能的大规模集成电路器件,被统称为“微处理器”。微型计算机(MC):简称“微型机”、“微机”,也称“微电脑”。由大规模集成电路组成的、体积较小的电子计算机。由微处理机(核心)、存储片、输入和输出片、系统总线等组成。微型计算机系统(MCS):简称“微机系统”。由微型计算机、显示器、输入输出设备、电源及控制面板等组成的计算机系统。配有操作系统、高级语言和多种工具性软件等。(2)硬件:硬件是计算机系统的躯体,由控制器,运算器,存储器,输入设备,输出设备5大部分组成。软件:软件是计算机的头脑和灵魂,可分为系统软件和应用软件。(3)字节:8位二进制是一个字节。字:16位二进制构成一个字。字长:计算机的运算部件能同时处理的二进制数据的位数(注:不同型号的CPU其字长是不固定的,16位CPU字长为16位,如8088和8086;32位CPU字长为32位,如80386和80486、酷睿系列CPU等等;)。(4)指令指针:存放BIU要取的下一条指令的偏移地址。指令寄存器:临时放置从内存里面取得的代码数据(也就是指令),然后等待译码器来译码。指令译码器:对取到指令寄存器中的指令进行分析译码,以便确定指令执行的功能。状态寄存器:状态寄存器里面有标志位用来判断CPU的状态。(5)存储单元:存储数据的具体单位是存储单元。存储内容:存储单元中存放的数据。存储地址:存储单元的地址。存储容量:存储单元的总和。(6)RAM:存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。ROM:是一种半导体内存,其特性是一旦储存资料就无法再将之改变或删除。软件固化:软件在出厂时写入硬件中。2.冯·诺依曼计算机结构的特点是什么?(1)采用二进制数的形式表示数据和指令。(2)将指令和数据存放在存储器中。(3)计算机硬件由控制器,运算器,存储器,输入设备和输出设备5大部分组成。3.简述计算机系统中复杂指令集和精简指令集的特点和用途。复杂指令集(CISC):在微型计算机的体系结构组成结构上是以复杂指令为设计的计算机,在指令的运行过程中按指令的复杂程度来指挥计算机完成各条指令,由于各条指令复杂程度不同分配的时钟周期各不相同,执行指令所需时间就不相同。CISC体系的指令集由微程序来实现,即每一个操作由若干微操作的程序组合来实现。所以CISC可以使用微指令编程的方式实现多种和功能复杂的指令。精简指令系统(RISC):不管计算机的指令如何复杂,在一个计算机时钟周期内完成,计算速度快,指令集简单。每一条指令直接有硬布线实现,即它的每条指令原则上有自己的一套逻辑时序电路直接实现,所以单条指令的实现所占用的硬件资源较多。因为该体系没有能采用增加单条指令的功能或高位的指令语义,也没有增加指令的条数,而是集中于它的精简指令集上。4.微型计算机由哪几部分组成?各部分的作用是什么?请画出组成示意图。中央处理器—同时具有控制和处理功能。存储器——存放程序和数据。输入设备—向计算机输入程序和数据的一类设备。输出设备—计算机向用户输出处理结果的设备。示意图如下:5.试说明输入设备和输出设备的作用,并举出几个常用的I/O设备实例。输入设备是向计算机输入程序,数据和命令的部件,它的主要作用是把原始数据和处理这些数据的程序转换为计算机能识别的二进制代码。常用的输入设备包括键盘,鼠标,扫描器,光笔,数字化仪,数码相机和话筒等。输出设备用来输入经过计算机运算或处理后所得的结果,并将结果以字符,数据,图形等人们能够识别的形式输出。常见输出设备有显示器,打印机,投影仪,绘图仪和声音输出设备等。7.简述大数据、机器深度学习和神经网络之间的联系和区别。大数据:大数据是指无法在一定的时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。大数据技术:是指从各种各样类型的数据中,快速获得有价值信息的能力。适用于大数据的技术,包括大规模并行处理数据库(MPP),数据挖掘电网,分布式文件系统,分布式数据库,云计算平台,互联网和可扩展的存储系统。大数据的通俗解释:以容量大、类型多、存取速度快、应用价值高为主要特征的数据集合,最早应用于IT行业,目前正快速发展为对数量巨大、来源分散、格式多样的数据进行采集、存储和关联分析,从中发现新知识、创造新价值、提升新能力的新一代信息技术和服务业态。大数据必须采用分布式架构,对海量数据进行分布式数据挖掘,因此必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。机器深度学习(Deeplearning):机器学习(Machinelearning)是一种实现人工智能的方法,深度学习是一种实现机器学习的技术,深度学习是机器学习的一种。深度学习与机器学习的主要区别是在于性能。深度学习的概念由Hinton等人于2006年提出。根据深信度网(DBN)提出非监督贪心逐层练习算法,为处理深层结构相关的优化难题带来期望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它使用空间相对联系削减参数数目以提高练习功能。深度学习是机器学习研讨中的一个新的范畴,其动机在于树立、仿照人脑进行剖析学习的神经网络,它仿照人脑的机制来解说数据,例如图画,声响和文本。神经网络:该模型灵感来自动物的中枢神经系统,通常呈现为相互连接的“神经元”,它可以对输入值通过反馈机制使得它们适应对应的输出。相互之间的联系:当数据量很少的时候,深度学习的性能并不好,因为深度学习算法需要大量数据才能很好理解其中蕴含的模式。8.简述鸿蒙系统与其他操作系统的异同点。2019年8月9日,中国华为技术有限公司正式推出鸿蒙系统(HarmonyOS),结束了中国操作系统受制于人的时代,开启了新的里程碑。华为的鸿蒙系统打通了手机、电脑、平板、电视、汽车、智能穿戴,统一成一个操作系统,而新的系统还兼容全部安卓应用和所有Web应用,所以这也为用在移动终端上提供了坚实的基础。鸿蒙操作系统的最大特点是低时延,与安卓、iOS不同,它并非一款基于手机的操作系统,而是定位物联网及工业互联网。鸿蒙系统是新一代智能终端操作系统,为不同设备的智能化、互联与协同提供统一的语言。鸿蒙更便捷、更流畅、更安全。

第二章习题与综合练习解答与参考答案1.8086和8088处理器内部一般包含哪些主要部分?内部结构的差异?答:8086和8088处理器从功能上可分为两个部分,即总线接口单元BIU和执行单元EU。如下图所示。8086和8088处理器内部差异主要是在BIU总线接口单元,8086的指令队列有6个字节,而8088的指令队列为4个字节。2.什么是堆栈?它有什么用途?堆栈指针的作用是什么?举例说明堆栈的操作。答:堆栈是通常在计算机的内存中开辟一个专用的数据存储区,它具有“先进先出”的存储特性。堆栈的作用是保护数据或指令为后续指令使用作准备。堆栈指针SP的作用是用来指示存取位于当前堆栈段中的数据所在的地址。例:(1)1+2=a(2)2+3=b(3)a+b=c执行完指令(1)后将a放入堆栈中,在执行到指令(3)是将a取出与b相加可得到c。3.8086/8088CPU指令队列缓冲器各占有几个字节?说明其工作过程。答:如第一题中所述,8086CPU的指令队列有6个字节,而8088CPU的指令队列为4个字节。工作过程:CPUCPU1)取指令时,每当指令队列缓冲器中存满一条指令时,EU就立即开始执行。2)指令队列缓冲器中只要空出2个字节(对8086)或空出1个指令字节时(对8088),BIU便自动执行取指令操作,直到填满为止。3)在EU执行指令的过程中,指令需要对存储器或I/O设备存取数据时,BIU将在执行完现行取指令的存储器周期后的下一个存储器周期时,对指定的内存单元或I/O设备进行存取操作,交换的数据经BIU由EU进行处理。4)当EU执行完转移、调用和返回指令时,则要清除指令队列缓冲器,并要求BIU从新的地址重新开始取指令,新取的第一条指令将直接经指令队列送到EU去执行,随后取来的指令将填入指令队列缓冲器。由于BIU和EU是分开并独立工作的,因此,在一般情况下,CPU执行完一条指令后就可以执行下一条指令,而不需要像以往8位CPU那样重复地进行先取指令和后执行指令的串行操作。16位CPU这种并行重叠操作的特点,提高了总线的信息传输效率和整个系统的执行速度。下图给出8086/8088CPU程序的执行过程。4.在8086CPU中,在FR寄存器有哪些标志位,分别说明各位的功能。答:在8086CPU中,FR寄存器共有9个标志位,即6个状态标志位(CF、PF、AF、ZF、SF、OF),3个控制标志位(TF、DF、IF)。CF进位标志:当执行一个加法或减法运算时最高位产生进位或借位时,则CF为1,否则为0。在进行多字节数的加减运算时,要使用到该标志位;在比较无符号数的大小时,也用到该标志位;循环指令也会影响它。PF奇偶标志:当指令执行结果的低8位中含有偶数个1时,则PF为1;否则为0。利用PF可进行奇偶校验检查,或产生奇偶校验位,在串行通信中也用到PF位。AF辅助进位标志:当执行一个加法或减法运算时结果的低字节的第4位向高4位有进位或借位时,则AF为1;否则为0。ZF零标志位:若当前的运算结果为零,则ZF为1;否则为0。SF符号标志:它和运算结果的最高位相同。当数据用补码表示时,负数的最高位为1,正数的最高位为0。OF溢出标志:用于反映有符号数加减运算是否引起溢出。DF方向标志:用来控制数据传操作指令的步进方向。IF中断允许标志:控制可屏蔽中断。TF跟踪标志:为调试程序的方便而设置。5.在8086CPU中,有哪些通用寄存器和专用寄存器?是说明专用寄存器的作用。答:通用寄存器:数据寄存器(AX、BX、CX、DX),指针寄存器(SP、BP),变址寄存器(DI、SI)。专用寄存器即段寄存器(CS、SS、DS、ES)、指令指针寄存器和标志寄存器:CS存放程序当前使用的代码段的段基址;SS存放程序当前使用的堆栈段的段基址;DS存放程序当前使用的数据段的段基址;ES存放程序当前使用的附加段的段基址,通常也用来存放数据,典型用法用来存放处理后的数据。指令指针寄存器IP(也称为程序计数器)是用来存放要执行指令的指令代码的偏移地址,它与代码段寄存器的段基值结合,形成指令指针所在存储单元的实际地址。标志寄存器FR16位标志寄存器F只用了其中的9位作标志位,即6个状态标志位,3个控制标志位。如下图所示。低8位FL的5个标志位与8080/8085的标志相同。状态标志位用来反映算术或逻辑运算后结果的状态,以记录CPU的状态特征。这6位是:CF、PF、AF、ZF、SF、OF。AF(AuxiliaryCarryFlag)辅助进位标志:当执行一个加法或减法运算使结果的低字节的低4位向高4位有进位或借位时,则AF为1;否则为0。ZF(ZeroFlag)零标志位:若当前的运算结果为零,则ZF为1;否则为0。SF(SignFlag)符号标志:它和运算结果的最高位(根据D15位或D7位判断)相同。当数据用补码表示时,负数的最高位为1,正数的最高位为0。OF(OverflowFlag)溢出标志:溢出标志OF用于反映有符号数加减运算是否引起溢出。如运算结果超过了8位或16位有符号数的表示范围,即在字节运算时大于+127或小于-128,在字运算时大于+32767或小于-32768,称为溢出。当补码运算有溢出时,OF为1;否则为0。对OF的取值可以采用简易的办法来求:即如果操作数是字节运算,用C6和C7位的值进行异或运算;如果操作数是字运算,用C14和C15位的值进行异或运算(Ci表示进行加减运算时第i位向第i+1位的进位或借位)。如C6=1,C7=0,则OF=1;C15=1,C14=1,则OF=0等。DF(DirectionFlag)方向标志:它用来控制数据串操作指令的步进方向。若用STD指令将DF置1,则串操作过程中地址会自动递减;若用CLD指令将DF清0,则串操作过程中地址会自动递增。IF(InterruptEnableFlag)中断允许标志:它是控制可屏蔽中断的标志。若用STI指令将IF置1,表示允许CPU接受外部从INTR引线上发来的可屏蔽中断请求信号;若用CLI指令将IF清0,则禁止CPU接受可屏蔽中断请求信号。IF的状态不影响非屏蔽中断(NMI)请求,也不影响CPU响应内部的中断请求。TF(TrapFlag)跟踪(陷阱)标志:它是为调试程序的方便而设置的。若将TF置1,8086/8088CPU处于单部工作状态方式;否则,将正常执行程序。8086/8088没有专门设置和清除TF标志的指令,要通过其他方法设置和清除TF。6.8086/8088CPU中有哪些寄存器可以作为8位寄存器使用,哪些只能为16位?答:8086/8088CPU中的数据寄存器(AH、AL、BH、BL、CH、CL、DH、DL)可作为8位寄存器使用,其它只能为16位使用。7.若CS=8000H,试说明现行代码段可寻址的存储空间的范围。答:因为CS=8000H,偏移量可为0000H~FFFFH,现行代码段可寻址的存储空间的范围是80000H~8FFFFH。8.设现行数据段位于存储器的B0000到BFFFFH,DS段寄存器的内容应是什么?答:DS段寄存器的内容应是B000H。9.说明8086的EU和BIU的主要功能。答:EU:只负责执行指令;执行的指令从BIU的指令缓冲器中取得,执行指令的结果或执行指令所需的数据,都由EU向BIU发出请求再由BIU对存储器或外存存取。BIU:负责完成CPU与存储器或I/O设备之间的数据传送。10.说明8086/8088CPU之间的相同点和不同点,它们适用的场合?答:(1)8086/8088CPU之间的相同点均为16位的CPU,内部能处理16位的指令和数据,可访问的外部地址空间为1MB。(2)8086/8088CPU之间的不同点为8086CPU外部数据总线为16位,8088CPU外部数据总线为8位的CPU;8086的指令队列有6个字节,而8088的指令队列为4个字节;由于8086CPU外部数据总线是16位,可适用于16位的接口电路,8088CPU外部数据总线是8位,可适用于8位的接口电路。8088CPU可用于更简单的小系统,8086CPU可用于更加复杂的系统。11.说明8086/8088CPU内部总线接口单元BIU部分的地址加法器工作原理。答:BIU要从内存取指令送到指令队列缓冲器;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。BIU内有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器),16位指令指针IP,6字节指令队列缓冲器,20位地址加法器和总线控制电路。20位地址加法器就是将段地址寄存器的内容左移4位,然后再加上右面16位的有效地址偏移量,形成20位的物理地址。16位的有效地址形成详见寻址方式。12.说明8086CPU组成的系统为什么必须使用地址锁存器。答:8086CPU的AD0~AD15是复用引脚,即地址线和数据线公用,在CPU进行数据读写期间必须保证地址线信号有效,因此必须使用地址锁存器。8086CPU在总线周期状态发出地址信号经锁存后的地址信号可以在访问存储器操作周期保持不变,为系统提供稳定的地址信号,否则,系统不能完成正常的操作。13.8086/8088CPU的最大寻址范围是多少?是怎样实现对整个地址空间寻址的。答:8086/8088CPU的最大寻址范围是00000H~FFFFFH,即1MB字节。当由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址后,将与对应左移4位后的段寄存器的内容同时送到地址加法器进行相加,形成一个20位的物理地址,对存储单元寻址。14.在80806/8088CPU中物理地址和逻辑地址是指什么?他们之间有什么联系?有效地址EA是怎样产生的?答:物理地址即实际地址,逻辑地址即偏移地址,包括段寄存器值和偏移量。物理地址等于段寄存器内容左移四位加偏移地址。有效地址EA就是偏移地址,按寻址过程的不同组合而产生的。15.存储单元与物理地址的是什么关系?在一个逻辑段中,每个单元的段地址如何?而偏移地址又如何?答:存储单元与物理地址是一一对应的。在一个逻辑段中,每个单元的段地址是通过段地址寄存器的内容确定,一般为将段寄存器的内容左移4位就成为段地址。偏移量就是相对于段地址的偏移,按不同的寻找方式以16位二进制数构成。16.在8086/8088CPU中AX、BX、CX、DX 既可以用作数据寄存器,又可以用作地址指针寄存器的是谁?答:BX和DX。BX在间接寻址中作地址寄存器,段寄存器为DS,在变址寻址和XLAT指令中作基址寄存器;DX在间接I/O寻址时为地址寄存器。17.如何选择80806/8088CPU工作在最小方式或最大方式?在最小方式下构成计算机体系的最小配置应有那几个基本部分组成?说明两种方式下主要信号区别。答:最小和最大工作模式是以系统有几个控制芯片来决定的,当系统只有一个控制芯片,则系统工作在最小工作模式,否则为做大工作模式。当80806/8088CPU的MN/引脚接地时系统工作在最大方式,接+15V时工作在最小方式。最小方式时,全部控制信号由CPU本身提供。最大方式下,控制信号不是由CPU本身提供,而是由系统的另外部分提供,比如8288总线控制器提供。18.在多处理器系统中,8086如何协调微处理器对总线的占有权。答:在多处理器系统中,8086CPU是通过出让总线占用权来协调不同处理器对总线的占有使用。用LOCK总线锁定信号,低电平有效,CPU输出此信号表示不允许总线上的主控设备占用总系,该信号由系统指令前缀LOCK使其有效,并维持到下一条指令执行完毕为止,此外,CPU的INTR引脚上的中断请求也会使LOCK引脚从第一INTA脉冲开始直至第二个INTA脉冲结束保持低电平。这样就保证在中断响应周期之后,其他主控设备才能占用。19.说明空闲状态与等待状态的差别。说明何谓指令周期、机器周期和时钟周期。答:空闲状态:空闲是指没有操作,即CPU的idle引脚有效,CPU处于空闲状态。指令周期:执行一次指令所用的时间。机器周期:CPU访问一次存储器或I/O接口所用的时间。时钟周期:主频的倒数。20.在8086中地址/数据复用线是如何区分的?答:作为复用引脚,在总线周期的T1状态用来输出要寻址的存储器或I/O端口地址;在T2状态浮置成高阻状态,为传输数据做准备;在T3状态,用于传输数据;T4状态结束总线周期。当CPU响应中断以及系统总线“保持响应”时,服用先都被职位高阻状态。第一章习题解答参考1.8086和8088处理器内部一般包含哪些主要部分?内部结构的差异?2.什么是堆栈?它有什么用途?堆栈指针的作用是什么?举例说明堆栈的操作。3.8086/8088CPU指令队列缓冲器各占有几个字节?说明其工作过程。4.在8086CPU中,FR寄存器有哪些标志位,分别说明各位的功能。5.在8086CPU中,有哪些通用寄存器和专用寄存器?试说明专用寄存器的作用。6.8086/8088CPU中有哪些寄存器可以作为8位寄存器使用,哪些只能为16位?7.若CS=8000H,试说明现行代码段可寻址的存储空间的范围。8.设现行数据段位于存储器的B0000到BFFFFH,DS段寄存器的内容应是什么?9.说明8086CPU的EU和BIU的主要功能。10.说明8086/8088CPU之间的相同点和不同点,它们适用的场合?11.说明8086/8088CPU内部总线接口单元BIU部分的地址加法器工作原理。12.说明8086CPU组成的系统为什么必须使用地址锁存器。13.8086/8088CPU的最大寻址范围是多少?是怎样实现对整个地址空间寻址的。14.在8086/8088CPU中,物理地址和逻辑地址是指什么?它们之间有什么联系?有效地址EA是怎样产生的?15.存储单元与物理地址的是什么关系?在一个逻辑段中,每个单元的段地址如何?而偏移地址又如何?16.在8086/8088CPU中AX、BX、CX、DX 既可以用作数据寄存器,又可以用作地址指针寄存器的是谁?17.如何选择8086/8088CPU工作在最小方式或最大方式?在最小方式下构成计算机系统的最小配置应有哪几个基本部分组成?说明两种方式下主要信号的区别。18.在多处理器系统中,8086如何协调微处理器对总线的占有权。19.说明空闲状态与等待状态的差别。说明何谓指令周期、机器周期和时钟周期。20.在8086中,地址/数据复用信号是如何区分的?

习题与综合练习参考答案1.按存储器在计算机中的作用,存储器可分成哪几类?简答:按冯·诺依曼对现代计算机的定义,存储器在计算机中是不可或缺的组成部分。从不同功能角度出发,存储器一般按下列3种方式分类:工作时与中央处理器联系的密切程度、存储元件的介质材料和工作方式等分类。简述各部分的特点:1.按工作时与中央处理器联系的密切程度分类存储器可分为主存、辅存。主存直接和CPU交换信息,且按存储单元进行读写数据。而辅存则是作为主存的后援,存放暂时不执行的程序和数据,它只在需要时与主存进行数据交换。辅存通常容量大、成本低,但存取速度慢。2.按存储元件的介质材料分类存储器可分为半导体存储器、磁表面存储器及光盘存储器。(1)半导体存储器半导体存储器目前主要用来做主存。它采用电信号记录信息,读写速度快,单位造价高,存储容量相对较小。半导体材料存储器所存信息断电后消失,称为非永久性(易失性)存储器,而磁性、光材料一般是永久性存储器。(2)磁表面存储器采用矩磁材料的磁膜,构成连续的磁记录载体,在磁头作用下,使记录介质的各局部区域产生相应的磁化状态,或形成相加的磁化状态变化规律,用以记录信息0或1的存储器为磁表面存储器。其存储体的结构,是在金属或塑料基体上,涂敷(或电镀、溅射)一层很薄的磁性材料,这层磁膜就是记录介质,或称为记录载体。根据其形状可分为:磁卡、磁鼓、磁带、磁盘。在目前,磁盘与磁带是主要的外存储器。磁表面存储器的存储容量大,每位价格低,非破坏性读出,具有不挥发性(可长期保存)。但其结构与工作原理决定了读写方式,即记录介质作高速旋转或平移,磁头对其读/写。这毕竟是机械运动方式,因而存取速度远低于半导体存储器,只能作为外存使用。(3)光盘存储器光盘是利用光存储的,它的出现是信息存储技术的重大突破。光盘的基本原理是用激光束对记录膜进行扫描,让介质材料发生相应的光效应或热效应,如使被照射部分的光反射率发生变化,或出现烧孔(融坑),或使结晶状态变化,或磁化方向反转等,用以表示0或1。①只读型光盘(CD-ROM):以烧孔(融坑)形式记录信息,由母盘复制而成,不能改写,提供固化的信息,如程序数据、图像信息、声音信息等,广泛用于多媒体技术中。②写入式(只能写一次)光盘(WORM):允许用户作一次性写入,每个只能写一次,因为激光束将造成记录面的永久性变化。这类光盘可用来存储文件、档案、图像等,永久性保存。③可擦除/重写型(可逆式)光盘:激光束使介质产生的物理变化是可逆的,因而可以擦除重写。目前使用的有两种方法:光磁记录(利用热磁反应)和相变记录(利用晶态—非晶态转变),现在已进入实用阶段。光盘是目前各种存储器中记录密度最高的,已经成为重要的外存形式。(4)其他存储器还有一些存储技术,已经研究多年,并开始应用在某些场合,不过对它们的发展前景仍有争议,如:磁泡存储器、电荷耦合器件(CCD,目前主要用于数码类相机及智能手机)。3.按工作方式分类根据存储器不同的工作方式和使用功能,可以分为随机存储器(RandomAccessMemory,RAM)、只读存储器(Read-onlyMemory,ROM)、顺序存取存储器(SerialAccessMemory,SAM)和直接存取存储器(DirectAccessMemory,DAM)。(1)随机存储器RAM如果一种存储器可以随机地按指定地址,向存储单元存入、取出或改写信息,并且无论对哪个地址单元进行读写操作所需要的时间完全相等,这种存储器叫随机存储器RAM。RAM主要用来存放各种现场输入输出的程序、数据、中间运算结果以及与外界交换的信息和作堆栈用。大部分半导体存储器都属于这一类。(2)只读存储器ROM在工作时只能随机读出存储内容而禁止写入新的内容,这种存储器叫只读存储器ROM。ROM是主存的一部分,ROM的存储内容是通过特殊线路预先写进去的,一旦写入后便长期保存。ROM的电路比RAM简单、集成度高、成本低,且是一种非易失性存储器,计算机常把一些管理、监控程序,成熟的用户程序放在ROM中。(3)顺序存取存储器SAM磁带是典型的SAM,其信息(块)沿磁带顺序排列,当要读取某部分信息块时,只能沿磁带顺序逐块查找,所以称顺序存取存储器。SAM读取信息的时间与信息块在磁带的位置有关,一般SAM存储容量很大,如磁带还可以脱机另行存放,使用保管很方便。但因为只能顺序存取,速度慢,被用作计算机外存。(4)直接存取存储器DAM磁盘属于DAM类,它既不完全像SAM那样纯粹顺序存取,也不完全像RAM那样能随机地由存储地址直接指向存储单元立即存取,而是介于两者之间。磁盘存取时要进行两个操作:第一步是直接指向整个存储器中的一个子区域,比如磁道;紧接着对该磁道像磁带那样顺序检索直到找到实际存取位置,就是说对一个磁道而言是随机存取,但在每一个磁道内是顺序查找;磁盘存储容量很大,通过旋转盘直接指向其中一个相当小的局部,所以称之为直接存取存储器。DAM的存取速度远比不上主机内的RAM、ROM,但它容量大、价格便宜,速度比SAM快,与SAM一样,多用作外存储器。2.什么是多层次存储结构?它有什么作用?主存储器主要技术指标有哪些?简答:为提高计算机的数据存取速度和管理效率,目前采用较多的是三级存储器结构,即高速缓冲存储器、主存储器和辅存。中央处理器CPU能直接访问的存储器称为内存,它主要包括高速缓存和主存。而CPU不能直接访问辅存,辅存中信息必须先调入主存才能由CPU进行处理。主存储器主要技术指标有存储容量、存取速度、可靠性及性能价格比等。3.什么叫RAM和ROM?RAM和ROM各自的特点是什么?简答:RAM是RandomAccessMemory的英文缩写,中文一般称为半导体随机读写存储器,存取速度快,一般用于计算机系统内存,断电后保持数据消失。ROM是Read-OnlyMemory的英文缩写,中文一般称为半导体随机只读存储器。也就是说这种存储器只能读,不能写(一般都是在出厂前使用专用设备一次性直接写入,不能更改),常用于功能已经固定的控制程序,断电后仍保持数据不变,价格相对RAM更便宜。一般,一个计算机系统RAM和ROM混合搭配使用。4.用下列芯片构成32kB存储器模块,需多少内存芯片?(1)1×1 (2)1×4 (3)4×8 (4)16×4简答:一般对*×*的代表符号解释。第一个*代表输入地址最大范围,k为单位(1024),第二个*代表数据线数量,单位为位。因此用1×1类型的芯片表示1k输入地址范围,1位数据线,组成32kB存储器,需要32×8=256片芯片组成。同理:选用1×4类型的芯片组成32kB存储器,需要32×2=64片芯片组成。选用4×8类型的芯片组成32kB存储器,需要8×1=8片芯片组成。选用16×4类型的芯片组成32kB存储器,需要2×2=4片组成。5.下列RAM芯片需多少地址输入端?多少数据输入端(双向)?512×4 16kB 64kB 256×1简答:512×4类型的芯片表示输入地址范围是512,即2的几次方为512,可知29=512,9位地址输入端,4位16kB类型的芯片表示输入地址范围是16k,210=1024=1k,214=16k,14位地址输入端,同理,64kB类型的芯片表示输入地址范围是64k,210=1024=1k,216=64k,256×1类型的芯片表示输入地址范围是256,即2的几次方为256,可知28=256,8位地址输入端,1位6.8086CPU与存储器连接时要考虑哪几方面的因素?简答:8086CPU是地址线20位,16位双向数据线。低16位地址线与16位双向数据线共用,即AD0~AD15,A7.一台8位微机地址总线16位,其随机存储器容量为32kB,首地址为4000H,且地址是连续的,可用的最高地址是多少?简答:微机地址总线16位可寻址216=64k,范围为0000H~FFFFH,32kB=8FFFH,可用的最高地址是4000H+8FFFH=CFFF8.画出用2114芯片组成16k×8的随机存储器连接图。简答:略。参见第7题答案及本教材第三章P47开始的应用案例内容。9.在8086系统中,若用1024×1位的RAM芯片组成16k×8位的存储器,需要多少芯片?在CPU的地址总线中有多少位参与片内寻址?多少位用做6芯片组选择信号?简答:略。参见第7题答案及本教材第三章P47开始的应用案例内容。10.在8086系统中,试用4k×8位的EPROM2732和2k×8位的静态6116以及74LS138译码器,构成一个16kB的ROM(从F0000H开始)和8kB的RAM(从C0000H开始),设8086工作于最小模式。画出硬件连接图,求出ROM和RAM的地址范围。简答:略。参见第7题答案及本教材第三章P47开始的应用案例内容。

习题与综合练习参考答案一、选择题1.ISA最大拥有(B)的可寻址内存。A.8MB.16MC.32MD.64M参考答案:B理由:ISA总线是为PC/AT电脑而制定的总线标准,为16位体系结构,只能支持16位的I/O设备,数据传输率大约是16MB/S,工作频率8MHz左右。有时候也将XT总线称为8位ISA总线,而将AT总线称为16位ISA总线。386以下的16位和32位PC及其兼容机几乎全部完全采用ISA总线。目前仍有—些微机系统部分地采用ISA总线。参见教材P66页2.在ISA总线扩展插槽引脚中,-MASTER引脚的功能是(C)。A.数据总线(输入/输出)B.存储器写命令(输入/输出)C.总线准备就绪(输入)D.DMA请求响应(输出)参考答案:C。参见教材P67页3.PCI-X总线的带宽为(D)。A.133MB/secB.266MB/secC.533MB/secD.1066MB/sec参考答案:D。参见教材P81页4.AGP是专为(A)所设计的总线。A.显卡B.声卡C.网卡D.光驱参考答案:A。参见教材P82页5.下列陈述中不正确的是C。A.总线结构传送方式可以提高数据的传输速度。B.与独立请求方式相比,菊花链式查询方式对电路的故障更敏感。C.PCI总线采用同步时序协议和集中式仲裁策略。D.总线的带宽即总线本身所能达到的最高传输速率。参考答案:A。参见教材P66页6.下列各项中,(A)不是同步总线协定的特点。A.不需要应答信号。B.各部件的存取时间比较接近。C.总线长度较短。D.总线周期长度可变。参考答案:A。参见教材P61页7.USB的拓扑结构最多只能有(C)层(包括根层)。A.5B.6C.7D.8参考答案:C。参见教材P85页8.USB总线上的设备在物理上是通过层叠的(B)拓扑结构连到主机上的。A.网形B.树形C.立体型D.星形参考答案:B。参见教材P85页二、填空题1.总线可分为:数据总线、地址总线、控制总线。参考答案:参见教材P52页2.控制器通过总线传输数据一般要经历四个阶段:申请占用总线阶段、寻址阶段、传输阶段、结束阶段。参考答案:参见教材P52页3.PCI是位于处理器的和原来的系统总线之间插入的一种总线结构。参考答案:参见教材P70页4.某系统总线的一个存取周期最快为3个总线时钟周期,在一个总线周期中可以存取32位数据、若总线的时钟频率为8.33MHz,则总线的带宽为MB/s。总线的带宽:1/(3/8.33)*4=11.2MB/s参考答案:参见教材P56页5.计算机系统与外部设备之间相互连接的总线称为系统总线;用于连接微型机系统内各插件板的总线称为片总线;PCI内部连接各寄存器及运算部件之间的总线称为片内总线。参考答案:参见教材P53页6.一次总线的信息传送过程大致可以分为四个阶段,依次为总线请求和仲裁阶段、寻址阶段、数据传输阶段和结束阶段。参考答案:参见教材P57页7.一个USB系统可分为四部分:USB主机(也叫根集线器)、USB设备、USB集线器和USB互连构成。参考答案:参见教材P83页8.USB2.0Hub由三部分组成,分别是Hub控制器(HubController)、Hub中继器(HubRepeater)和事务转换器(TransactionTranslator)。参考答案:参见教材P84页9.USB3.0Hub由根线组成,其中2根为发送数据、2根为接收数据和4根为电源正、电源负、地线和控制信号。参考答案:参见教材P87页10.USB总线的电缆有4根导线,分别是:四根线分别是VBUS,GND,D+,D-,其中VBUS为总线的电源线,GND为地线,D+和D-为数据线。参考答案:参见教材P86页11.USB总线支持的数据传输率有三种,分别是:高速数据传输率为480Mb/s;全速数据传输率为12Mb/s;低速数据传输率为1.5Mb/s。参考答案:参见教材P86页12.USB定义了四种传输类型分别是:控制传输、批传输、中断传输和等时传输。参考答案:参见教材P84页13.USBHub有三个端口、分则是上游端口连接、Hub与Hub之间的连接、USB终端设备连接。其中上游端口有四个组成部分,分别是物理连接器、信号线路、电源管理电路、控制芯片。14.Hub中继器由四部分组成,分则是:输入端口、信号处理单元、输出端口、电源供应单元。参考答案:参见教材P84页三、简答题1.什么是总线?采用总线技术有哪些优点?总线操作应遵守哪些原则?2.总线是怎样分类的?各用于什么场合?3.为什么要用总线联络?按联络区分,并行总线可分为哪几类?4.同步总线有哪些优点和缺点?主要用在哪些CPU中?5.异步总线怎样实现总线联络?它有哪些优缺点?6.半同步总线怎样实现总线联络?什么是零等待?7.ISA总线采用哪种总线联络方式?采用哪一条信号线进行联络?8.8088CPU采用的PC/XT总线的工作频率是多少,写出它的理论最大传送速率的计算公式。9.EISA总线的NMI中断源共有几种,请写出来。10.PCI总线有哪两种总线仲裁信号,写出它们的信号名称11.给出链式查询电路的逻辑结构图,并说明这种总线的工作过程。12.试说明ISA,PCI,SCSI,USB总线的特点和应用。13.筒述USB总线的主要性能特点。14.筒述USB互连,筒述USB总线拓扑结构的主要组成部分。15.解释流和消息的概念,解释帧和微帧的概念。16.所有的USB设备都支持的公共操作主要有哪些?简答题参考答案略。四、上机题观察主板上总线分布情况。尝试解释主板上与CPU连接的各总线接口的作用。

1.80806/8088通用寄存器的通用表现在何处?8个通用寄存器各自有何专门的用途?那些寄存器可作为存储器寻址的指针寄存器?答:80806/8088通用寄存器的通用表现在通用寄存器可以与寄存器、立即数、存储器完成不同的操作。AX:字乘、字除、字I/O、字节扩展BX:转换,基址寄存器CX:数据串操作、循环DX:字乘、字除、间接I/O、字扩展SI:数据串操作(源)DI:数据串操作(目的)SP:堆栈栈顶指针BP:与SS完成对栈内数据的读取BX、BP、SI、DI可以作为存储器寻址的指针寄存器。2.说明下列术语:(1)操作数:指令的处理对象。操作码:指出指令的功能或将要完成的任务。立即数:作为指令代码的一部分出现在指令中,通常作为源操作数使用。寄存器操作数:把操作数存放在寄存器中,即用寄存器存放源操作数或目的操作数。存储器操作数:把操作数放在存储器中。(2)段地址:是针对内存的分段而言的,将每一段的段首地址定义为段地址。偏移量:相对于段起始地址的距离。有效地址:相对段首地址的偏移量。物理地址:即实际地址。如存储器操作数所在的存储器地址,指令代码所在的代码段地址,堆栈操作数所在的堆栈地址。(3)立即数寻址:操作数是一个立即数,直接包含在指令中,可为8位或16位,放在指令操作码后。直接寻址:操作数的地址直接包含在指令中,放在操作码后。变址寻址:操作数在存储器,用SI、DI变址寄存器寻址。基址变址寻址:所寻址的操作数存储器有效地址为基址寄存器内容加上变址寄存器的内容为有效地址。隐含寻址:在8086/8088系统中,有部分指令的操作数没有给出任何说明,但计算机根据操作码即可确定其所要的操作对象,其操作对象是固定的。3.从程序员的角度看,8086/8088有多少可访问的16位寄存器?有多少可以访问的8位寄存器?答:从程序员的角度看,8086/8088有14个可以访问的16位寄存器:包括8个通用寄存器(AX,BX,CX,DX,SI,DI,BP,SP);4个段寄存器(CS,DS,SS,ES);指令指针寄存器和标志寄存器。有8个可以访问的8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL4.何谓寻址方式?8088系统有哪几种寻址方式?答:寻址方式就是在寻找指令中操作数所在地址的方法。8088系统中有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址、相对基址加变址寻址、端口寻址、隐含寻址等寻址方式。5.请说明标志CF和标志OF的差异?答:CF进位标志:当执行一个加法或减法运算时最高位产生进位或借位时,则CF为1,否则为0。在进行多字节数的加减运算时,要使用到该标志位;在比较无符号数的大小时,也用到该标志位;循环指令也会影响它。OF溢出标志:用于反映有符号数加减运算是否引起溢出。6.为什么目标操作数不能采用立即寻址方式?答:立即数可能是一个运算数也可能是一个地址位,主要用于给寄存器或存储器赋初值,即其值不可改变。7.那些存储器寻址方式可能导致有效地址超出64KB的范围?8086/8088如何处理这种情况?答:寄存器相对寻址、基址加变址寻址、相对基址加变址寻址,可能导致有效地址超出64KB的范围,当所得的有效地址超出FFFFH时,则取64KB的模。8.什么情况下段值和偏移量确定的存储单元地址超过1MB?8086/8088如何处理这种情况?答:寄存器相对寻址、基址加变址寻址、相对基址加变址寻址,其段基址左移四位加偏移量可能导致存储单元的地址超出1MB。当所得的偏移量超出FFFFH时,则偏移量取64K的模。9.指出下列指令的寻址方式:(1)MOVCX,100;源操作数:立即数寻址;目的操作数:寄存器寻址(2)MOVAX,25[SI];源操作数:寄存器相对寻址;目的操作数:寄存器寻址(3)MOV[DI+BX],AX;源操作数:寄存器寻址;目的操作数:基址加变址寻址(4)ADDAX,ADDR;源操作数:直接寻址;目的操作数:寄存器寻址(5)MULBL;隐含寻址;源操作数:寄存器寻址;目的操作数:寄存器寻址(6)INCWORDPTR[BX+25];单操作数,寄存器相对寻址(7)SUBAX,[BP+6];源操作数:寄存器相对寻址;目的操作数:寄存器寻址(8)JMPBX;单操作数,寄存器寻址(9)INAL,20H;端口寻址,源为端口地址,目的为寄存器须知(10)STI;隐含寻址,源和目的均为FR寄存器10.指出下列指令中存储器操作数的物理地址的计算表达式:(1)MOVAL,[SI];存储器操作数的物理地址=(DS)×16+(SI)(2)MOVAX,[BP+6];存储器操作数的物理地址=(SS)×16+(BP)+6(3)MOV5[BX+SI],AX;存储器操作数的物理地址=(DS)×16+5+(BX)+(SI)(4)INCBYTEPTR[BX+SI];存储器操作数的物理地址=(DS)×16+(BX)+(SI)(5)ADDAL,ES:[BX];存储器操作数的物理地址=(ES)×16+BX(6)SUBAX,ALFA[SI];存储器操作数的物理地址=(DS)×16+ALFA+(SI)(7)JNCNEXT;存储器操作数的物理地址=(CS)×16+IP(8)MULALFA;存储器操作数的物理地址=(DS)×16+ALFA11.判断下列语句是否有错并说明理由。(1)MOV[SI],’A’;错误,类型不确定(2)MOVAL,BX;错误,前后类型不一致(3)MOVBL,SI+2;错误,前后类型不一致(4)INC[BX];错误,类型不确定(5)MOV256,AL;错误,立即数不可为目的操作数(6)MOVAX,BYTEPTRALFA;错误,前后类型不一致(7)MOVALFA,BAT;错误,不允许两个存储器之间直接进行数据传输(8)MUL-25;错误,乘法的源操作数不能为立即数(9)PUSH20A0H;错误,在8086/8088状态下,堆栈操作不允许为立即数(10)POPCS;错误,CS不能作为堆栈操作的目的操作数12.请执行下段程序,给出AX、BX各寄存器的内容。MOVAX,0A0BHADDAL,25HDECAXXCHGAL,AHSUBAX,0FFHPUSHAXANDAX,00FFHPOPBXMOVCL,3INCBLSALAL,CLMULBL答:AX、BX各寄存器的内容是BX=1801H,AX=0000H.13.已知AX=003AH。请根据AX值用指令实现:BL=03H,BH=0AH,CX=03H+0AH,DX=2×3AH,SI=0A3H,DI=0A03H.程序段如下:MOVBX,AX;BX=003AHMOVDX,AX;DX=003AHSHLDX,1;DX=2×3AHMOVCL,4RORAL,CL;AL=A3HMOVSI,AX;SI=00A3HRORBX,CL;BX=A003H,BL=03HSHRBH,CL;BH=0AHMOVCH,00HMOVCL,BL;CX=0003HADDCL,BH;CX=03H+0AH14.使AL高4位置1,判断低4位是否大于9,如果大于9,则低4位变反。否则将低4位置成9。试编程实现之。参考源程序:CODESEGMENTASSUMECS:CODESTART:MOVAX,DATAMOVDS,AXORAL,0F0H;AL高4位置1CMPAL,0F9H;判断低4位是否大于9JAAB;大于转到AB处MOVAL,0F9H;小于低位置9JMPOVERAB:XORAL,0FH;不大于低位变反,利用XOR指令的功能OVER:MOVAH,4CHINT21HCODEENDSENDSTART15.在A、B地址起各有4个单元的无符号数,试编程实现两个无符号数的和并存于C地址起的单元中。参考源程序:DATASEGMENTADB12H,34H,56H,78HBDB21H,43H,65H,87HCDB5DUP(0)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVSI,0CLC;清CFMOVCX,4A1:MOVAX,A[SI];取A中的数ADCAX,B[SI];加上B中的数及CFMOVC[SI],AX;结果存于C起始单元中INCSILOOPA1ADCC[SI],0MOVAH,4CHINT21HCODEENDSENDSTART16.在A字单元有一个有符号被除数,在B字单元有一个有符号除数。求其商存于C字单元中,余数存D字单元中。试编程实现之。参考源程序:DATASEGMENTADW5600HBDW1234HCDW?DDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,ACWD;把AX符号位扩展到DX中IDIVBMOVC,AX;把商存在C单元中MOVD,DX;余数存在D单元中MOVAH,4CHINT21HCODEENDSENDSTART17.在A址起有一个50字节长的字符串,请查找串中含有最后一个“?”字符字节相对A址的距离(设串中含有多个“?”)。简答:本题要求查找最后一个×号,为编程方便可以从字符串的最后进行查找,第一个被找到的也就是位于最后一个×,用SUBDI,SI即可求出距A的距离。DATASEGMENTADB‘ABC……’NEQU$-ADATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,ALEADI,A+49MOVCX,NNEXT:CMPBYTEPTR[DI],’?’;判断是否为‘?’JZOVER;是结束DECDI;不是,DI减一LOOPNEXTOVER:SUBDI,SIMOVAH,4CHINT21HCODEENDSENDSTART18.说明中断指令INTn、INTO和IRET的功能。在什么情况下使用它们?简答:INTn:将产生一个软件中断,把控制转向一个类型号为n的软中断。本指令可以用来建立一系列处理程序。INTO(溢出中断指令):检测OF标志位,当OF=1时,将立即产生一个中断类型4的中断。当OF=0时,本指令不起作用。用于中断处理程序完成溢出的处理操作。IRET(中断返回指令):用于中断处理程序中,以返回被中断程序的断点处继续执行。19.说明HLT、WAIT、NOP指令功能。在什么情况下可退出该指令的执行。简答:HLT(处理器暂停指令)功能:使处理器处于暂时停机状态。只有RESET、NMI、INTR信号可以使其退出暂停状态。WAIT(处理器等待指令)功能:使处理器用来检测TEST端脚,当TEST有效,则执行下条指令,否则处理机处于等待状态,直到TEST有效。NOP(空操作指令)功能:使CPU不执行任何操作就执行后续指令。20.在转移指令中有进位转移和溢出转移。试说明进位和溢出在概念上的区别。通常在什么情况下产生进位,有在什么情况下产生溢出。答:汇编语言中操作数是有一定范围的,无符号字节存储的范围为0~255,带符号字节存储范围为-128~+127。无符号字存储的范围为0~65535,带符号字节存储范围为-32768~+32767。进位表示相加时最高位有没有向上形成进位,或相减时向上形成借位,如果有则进位标志为1,但结果没错。溢出是指结束超出数据所表示的范围,说明出错了。21.在本章介绍的8086/8088指令中,哪些指令把寄存器SP作为指针使用?在8086/8088指令中,哪些指令把寄存器BP作为指针使用?答:凡是和堆栈操作有关的指令都把寄存器SP作为指针使用。如PUSH,POP,CALL,RET,INTO,INTn等指令把寄存器SP作为指针使用。BP寄存器是作为一种对堆栈操作的一种特殊方式,用BP作为指针可对堆栈内的内容进行操作,而不改变堆栈的栈顶指针位置。22.8086/8088如何寻址1MB的存储器物理地址空间?在划分段时必须满足的两个条件是什么?最多可把1MB空间划分为几个段?最少可把1MB地址空间划分为几个段?答:8086/8088是一个16位的CPU,一次能处理的数据或地址范围为64KB,8086/8088为了实现寻址1MB空间引入了段的概念,用段寄存器左移4位加偏移量的方法来解决寻址1MB地址空间。每段最多可包含64KB长度的连续存储单元,每个段的起始地址又叫基址,它是一个能被16整除的数,即最后4位为0,基址使用软件设置的。最多可把1MB空间划分为64K个段,最少可把1MB地址空间划分为16个段。23.何谓数值表达式?何谓地址表达式?两者的区别是什么?简答:汇编程序允许将各种常数与计算符组合而成为一个可求值的表达式,称作数值表达式。作为操作数使用,其值在汇编过程中有汇编程序计算确定。地址表达式是由变量、标号、常量、寄存器和运算符组成的。可以作为存储器操作数出现在指令中,它们主要是实现对数据区数据的存取,还可以使用一些操作符以明确变量、标号或地址表达式的含义。特别是操作数的类型不一致问题,需要借助操作符加以解决。24.何谓变量?变量有哪些属性?什么时候使用这些属性?何谓标号?标号有哪些属性?什么时候使用这些属性?简单:变量是一个可存放数据的存储单元的名字,即存放数据存储单元的地址符号名。变量有三种属性:段属性、偏移量属性、类型属性。在需要求和地址相关的各种操作的情况下使用这些命令。标号是可执行语句的地址符号。有三种属性:段属性、偏移量属性、类型属性。在需要进行地址转移的情况下使用标号。25.阅读下面数据搬移程序段,改正使用不当的语句。ADB35,47,2AH,’XYZ’BDBNDUP(0)NEQU$-AMOVSI,AMOVDI,BMOVCX,LENGTHALP:MOVAX,[SI]MOV[DI],AXINCSIINCDIDECCXLOOPLP改正如下:ADB35,47,2AH,’XYZ’NEQU$-ABDBNDUP(0)MOVSI,OFFSETAMOVDI,OFFSETBMOVCX,LENGTHALP:MOVAX,[SI]MOV[DI],AXINCSIINCSIINCDIINCDILOOPLP26.在A址起有100字节的数据存储区。程序要求可对该数据区按字节、字或双字进行存取。试对该数组进行定义以满足上述要求。如果数组仍定义为字节类型数据,如何在指令中实现对字或双字类型数据的存取操作。简答:本题主要训练学生对汇编语言伪指令的使用,可直接使用DB、DW、DD伪指令进行定义。另外,如果数组仍定义为字节,可利用指针操作符PTR或指定操作符THIS完成由字节到字或双字的转换。(源代码略)

第6章习题参考答案一、简答题1.解释下面术语:中断、中断源、软中断、硬中断、屏蔽、可屏蔽中断、不可屏蔽中断、中断处理程序、中断返回、中断优先级、中断嵌套。答:中断——中断是指CPU在正常运行时,由于内部、外部事件或由程序预先安排的中断源引起CPU暂停正在运行的程序而转到内部、外部事件预先安排的服务程序(中断处理程序)中去执行。服务执行完成后,再返回继续执行被暂停的程序。这一过程称为中断。中断源——能引起CPU产生程序中断的随机事件都称为中断源。软中断——表示由软件程序执行过程中产生的中断。硬中断——表示由计算机硬件设备产生的中断。屏蔽——英文简称为MASK,表示CPU对发生的中断请求不予响应,直接屏蔽掉。可屏蔽中断——表示CPU对发生的中断请求依据优先级可以不予响应,称可屏蔽中断。不可屏蔽中断——表示CPU对发生的中断请求无条件执行,称不可屏蔽中断。中断处理程序——中断处理程序就是用于完成对中断请求的CPU一种操作过程。将控制权转移给中断处理程序,一般都是由中断服务程序来完成。中断返回——中断返回就是控制权由中断服务程序转移到被中断程序的过程。中断优先级——是CPU对中断源给与某种优先执行顺序的一种表示方法。中断嵌套——表示在中断执行过程中包含更高一级的中断过程。2.简述中断过程。并说明系统如何能保证程序被中断后,在完成中断处理之后还能正确返回被中断的程序处接续执行。答:(1)中断是CPU和外设进行数据交换的一种方式。所谓中断,就是当CPU正常运行程序时,由于内部或外部的随机事件,引起CPU暂时中止正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务程序,中断服务结束后再返回被中止的程序。这一过程称为中断。中断过程可以分为中断请求、中断判优、中断响应、中断处理和中断返回5个步骤。(2)因为系统进行中断处理过程时,先进行断点及现场保护,完成中断处理之后进行现场及断点恢复。因此能正确返回被中断的程序处接续执行。注意保护和恢复顺序。3.画出全双工传输方式的表示简图。答:4.试写出异步串行通信方式的优点和缺点,试写出同步通信信息帧的一般格式。答:(1)异步串行通信方式的优点是信号传输电路结构简单,因为有起始位、校验位和停止位等控制信号,故不需要同步信号。缺点是由于传输每个字符都增加了起始位、校验位和停止位等辅助信息,相对同步传输速度较低。(2)同步通信是通过同步字符(SYNC)在每个数据块传送开始时使收/发双方同步,其通信信息帧格式如下图所示。同步通信的数据传送格式5.在串行通信中,何谓“0”插入和删除技术?答:SDLC/HDLC协议规定以01111110为标志字节,但在信息场中也完全有可能有同一种模式的字符。为了能把它与标志区分开来,所以采取了“0”位插入和删除技术。在发送端发送所有信息时(除标志字节外),只要遇到连续5个“1”,就自动插入一个“0”;当接收端在接收数据时(除标志字节外),如果连续收到5个“1”,就自动将其后的一个“0”删除,以恢复信息的原有形式。这种“0”位的插入和删除过程是由硬件自动完成的。6.在串行通信中,转义字符DLE有何作用?什么是字符填充技术?答:转义字符DLE(DataLinkEscape)。由于在面向字符的同步通信协议中采用一些传输控制字,从而增强了通信控制能力和校验功能,但也出现了一些问题,例如如何区别数据字符代码和特定字符代码的问题,如果在数据块出现与特定的通信控制字符完全相同的数据字符,接收端就可能把它误认为正文结束,因而产生错误。因此,通信协议应当具有将特定字符作为普通数据处理的能力,这种能力叫做“数据透明”。为此,协议中设置了转义定符DLE(DataLinkEscape)。当把一个字符看成数据时,就要在它前面加一个DLE,每当接收器收到一个DLE就可预知下一个字符是数据字符。由于DLE本身也是特定字符,当它出现在数据块时,也要在它前面再加上另一个DLE。这种方法称为字符填充,而字符填充与字符编码有关,故实现起来相当麻烦。为了克服以上的缺点,故又提出面向比特同步协议。7.RS-232C有哪些主要接口信号?其发、收的逻辑电平是如何规定的?答:(1)RS-232C规定了一个25脚针D形连接器,实际只用了21个引脚,具体信号功能详见教材。但RS-232C至少需要3个信号端才能完成串行通信。即发送端TXD、接收端RXD和信号地端。(2)RS-232C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平不兼容,RS-232C对TXD和RXD线规定:-3V~-15V规定为“1”,+3V~+15V规定为“0”。控制信号的接通电平规定为+3~+15V,而断开电平是-15~-3V。8.RS-232C与TTL之间进行什么转换?为什么?答:计算机发送器/接收器的输出信号为TTL电平,一般为-5V~5V之间,而RS-232C为-15V~+15V之间。由于RS-232C的信号电平与TTL不兼容,故它们之间的连接,必须经过电平转换电路。下图是TTL标准和RS-232C标准之间的电平转换电路。图中采用1488和1489芯片作电平转换电路,该芯片采用单一+5V供电,由内部电路提供RS-232C所需的电平。它可同时实现2路TTL电平转换为RS-232C电平(T1I→T1O,T2I→T2O),2路RS-232C电平转换为TTL电平(R1I→R1O,R2I→R2O)。RS-232采用这样的逻辑电平标准是为了增强抗干扰性能,一般连接电缆线不要超过15米,可以进行正常的传输。9.串行通信接口芯片中的发送移位寄存器和接收移位寄存器有何作用?答:发送移位寄存器实现由并行向串行数据之间的信号转换。为提高数据处理能力,CPU一般都是采用并行数据处理,因此为实现串行通信功能,接口芯片必须由发送移位寄存器来实现并行数据到串行之间的信号转换。同理,接收移位寄存器实现串行到并行数据之间的信号转换。10.串行通信中发送中断、接收中断、线路状态中断、Modem状态中断的中断源各是什么?它们的置位和复位条件是什么?答:发送中断:待发送器中的8位数据发送完毕时,由发送控制电路向CPU发出TXEMPTY接收中断:外部通信数据从RXD端,逐位进入接收移位寄存器中。待一组数据接收完毕,便把移位寄存器中的数据并行置入接收缓冲器中,这时RXRDY线输出高电平,表示接收器准备好数据,等待CPU线路状态中断:在通信过程中,除了检测发送和接收中断,还需要对其它信号进行检测,确保通信正常,一般用DSR位检测。Modem状态中断:用4条指令完成Modem状态中断。置位和复位条件详见教材内容。11.计时器在计算机中有哪些用途?答:有2种用途。一个是可编程定时,即可编程定时器;通过编程满足产生一些外部实时时钟,以实现延时控制或计时;另一个是计数功能,即计数器。实现能对外部事件计数的计数器。12.为精确测定事件发生的时间,计时器应具备什么功能?案:方式控制字,计数初始值,动态读计数值和减1计数等功能。13.计时器的自动重装入功能有什么用途?答:自动重装入功能可实现软件/硬件触发的分频器。14.8253有哪几种工作方式?GATE信号在各种方式中的作用是什么?答:有6种工作方式,分别从方式0到方式5。分别是:方式0—软件触发计数结束产生中断。若GATE=1,则计数器开始减1计数,若GATE=0电平,则停止计数器计数;方式1—可重触发的单稳触发器。在GATE加上升沿信号后的时钟脉冲CLK的下降沿,将计数初值装入减1计数器,同时使OUT变为低电平,然后开始递减计数过程:直至减1计数器为0时,OUT将变为高电平。在GATE输入上升沿的信号后,若计数初值为N时,则OUT输出的负脉冲宽度为N个输入脉冲的间隔时间。此时,GATE信号实际上是单稳态线路的触发信号。若在计数过程中(OUT为低电平时),装入一个新的计数值,则在下一次GATE触发之前不影响计数器的计数,即不影响上一个负脉冲的宽度。但在尚未计数结束时,GATE又出现一个上升沿,使预置的计数值重新加入到减法计数器中,计数将重新开始。方式1的计数是可重触发的,在一次计数结束后,要重新开始下一次计数就只需在GATE上加一个上升沿信号。在已触发计数后,GATE即使变成低电平也不会停止计数过程,直到这次计数结束。当计数结束时,不管GATE为高电平还是低电平,输出OUT端都将恢复为高电平。任何时刻都可以读出计数器的当前值,而不影响计数。方式2—可软件/硬件触发的分频器。在GATE=1时,为软件同步方式,写入方式字和初值,即启动计数,如果在计数过程中,对初值寄存器装入新的初始值,现行计数过程不受影响,但下一周期将反映新的计数初值。当GATE=0时,将迫使OUT为高电平,并使计数结束;当GATE再次变为高电平时,那么在下一个时钟周期就把初值寄存器中的新的计数值装入减1计数器,是开始更新计数。这时,GATE信号就可用做计数器的硬件同步控制信号。方式3—可软、硬件触发的方波发生器。GATE=1,软件触发产生周期性的方波;GATE=0时,计数结束,OUT端变为高电平,直到GATE=1,上升沿装入新的初值,开始重新计数,为硬件触发方式。方式4—软件触发的选通信号发生器。在GATE=1时,计数器开始计数。在计数结束时,OUT输出一个时钟周期的低电平信号,然后再次变为高电平。这种方式不能自动重复工作,而要以软件装入计数值作为触发信号,使计数器开始计数。如果在计数过程中写入一个新的计数值,则不会影响本次计数,但在下一个计数周期中将起作用。当GATE=0(低电平时),禁止计数,GATE=1(高电平时),计数器将继续计数。直到减为0。方式5—硬件触发的选通信号发生器。在GATE端出现上升沿后的一个时钟脉冲的下降沿,将计数值装入减1计数器,然后开始计数过程。在计数结束时,OUT将输出一个时钟周期的低电平信号,故从GATE有效到OUT产生—个负脉冲,共需N+1个时钟周期。计数器是可重触发的,在GATE端加上升沿信号,就可把计数初值重新送入计数器,然后开始计数过程。15.利用8253作为波特率发生器,当CLK=1.193MHz,波特因子为16时,要求产生4800Baud的传输率,计算8253的定时常数。答:计数器初始值=时钟频率通常,波特率因子为16,这是一个常用的值,用于简化计算并获得更精确的波特率。使用这个因子,我们可以计算出:计数器初始值=1,193,0004800×16=1,193,00076,800为保证传输质量,建议选择舍去小数点后的尾数。选择计数器初始值为15,而不是16。16.并行传输接口的特点是什么?它有哪几类?各有哪些用途?答

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论