现代微型计算机原理与接口技术习题解答(接口部分).doc
《现代微型计算机原理与接口技术习题解答(接口部分).doc》由会员分享,可在线阅读,更多相关《现代微型计算机原理与接口技术习题解答(接口部分).doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流现代微型计算机原理与接口技术习题解答(接口部分).精品文档.习 题 五1 接口电路与外部设备之间传送的信号有哪几种?传输方向怎样?数据信号:对于输入设备,数据信号从外设通过接口送往总线,对于输出设备,数据信号从总线通过接口发往外部设备。状态信号:状态信号表明外部设备当前的工作状态,用来协调CPU与外部设备之间的操作。状态信号总是从外部设备通过接口发往总线。控制信号 :控制信号是CPU向外设发出的命令,它指定设备的工作方式,启动或停止设备。控制信号从CPU通过接口发往外部设备。2 接口电路有哪些功能?哪些功能是必需的?接口电路可以具备:设备选择
2、功能、信息传输功能、数据格式转换功能、联络功能、中断管理功能、复位功能、可编程功能和错误检测等功能。其中设备选择功能和信息传输功能是每一个接口电路所必备的。其他的功能是否需要则由设备的特点和工作方式决定。3 I/O端口的编址有哪几种方法?各有什么利弊?80X86系列CPU采用哪种方法?I/O端口的编址有两种不同的方式。I/O端口与内存统一编址:把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址。已经用于I/O端口的地址,存储器不能再使用。I/O端口与内存统一编址后,访问内存储器单元和I/O端口使用相同的指令,这有助于降低CPU电路的复杂性,并给使用者提供方便。但是,I/O端口
3、占用内存地址,相对减少了内存可用范围。而且,由于难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。I/O端口与内存独立编址:这种编址方法中,内存储器和I/O端口各自有自己独立的地址空间。访问I/O端口需要专门的I/O指令。80x86 CPU采用I/O端口独立编址方式。4 按照传输信号的种类,I/O端口有几种?它们信号的传输方向怎样?按照传输信号的种类,I/O端口有三种:数据端口:数据信息从端口输入CPU(输入设备接口),或者从CPU写入端口(输出设备接口);状态端口:外设状态信息从端口输入CPU;控制端口:命令信息从CPU写入端口。5 I/O端口译码电路的作用是什么?在最小模式和最
4、大模式下分别有哪些输入信号?I/O端口译码电路用于产生端口的读写选择信号。在最小模式下,译码电路接受来自总线的地址信号(16位),(= 0),或者信号。最大模式下,译码电路接受地址信号(16位),或者信号。6 外部设备数据传送有哪几种控制方式?从外部设备的角度,比较不同方式对外部设备的响应速度。外部设备数据传送有以下四种控制方式。直接传送方式(也称为无条件传送方式、同步传送方式):这种情况下,外部端口完全被动地等待CPU的访问,没有确定的响应速度,响应时间取决于CPU忙碌的程度以及程序对外部设备控制采取的策略。查询方式:如果CPU在某一时刻只对一个外设采用查询方式进行数据传输,CPU的响应延迟
5、约为310个指令周期。响应速度快于中断方式,慢于DMA方式。中断方式:CPU的响应延迟平均为几十个指令周期,慢于查询方式,但是这种方式可以同时管理多个外部设备。DMA方式:外部端口的传输请求由DMA控制器响应,由于DMAC是一个专用于传输控制的电路,任务单一,不发生DMA传输竞争时,响应延迟仅为12个DMAC使用的时钟周期,远快于中断方式和查询方式。7 叙述一次查询式输出过程中,接口内各电路、信号的状态变化过程。一个数据的查询式输出过程由二个阶段组成:CPU从接口反复读取状态字:由地址译码电路产生状态端口选择信号,该信号不影响接口内部的状态。外部设备输出完成后,返回“确认”信号,该信号将状态寄
6、存器相关位(READY)置位。如状态字表明外设已处于“就绪”状态,则向数据端口传送数据。由地址译码电路产生的数据端口选通信号一方面将数据总线上的数据写入数据寄存器,同时清除状态寄存器中的相关位(READY),向输出设备发出输出启动信号。有的输出接口设有控制端口,输出启动信号通过写控制端口产生。8 比较程序中断方式和查询方式的区别,根据比较,指出中断工作方式的优缺点。中断方式:外部设备工作完成后,通过“中断请求”信号“主动”向CPU“报告”。查询方式:外部设备工作完成后,状态信号储存在接口电路内,被动地等待CPU来读取。根据上述比较,可以得到中断工作方式的如下特点:优点:1) CPU能够及时了解
7、外部设备的状态,从而对外部设备IO请求进行及时处理。2) 由于CPU“被动”地等待外部设备的“中断请求”,外部设备进行输入/输出操作时,CPU可以同时执行其他的程序,CPU和外部设备“并行”工作。3) 由于同样的原因,在中断方式下,CPU可以同时管理多台外部设备,CPU的效率得到提高。缺点:1) 用中断方式需要CPU增加相应的管理逻辑,增加了CPU电路的复杂性。2) 由于CPU“被动”地接收“中断请求”信号,CPU必须通过与外部的一个联络过程才能知道是那一个设备在申请中断,这增加了响应时间。为了从当前任务转移到中断服务,CPU必须保护原有的运行环境,进行“任务”的“切换”,这也会增加响应时间。
8、3) 有较多的设备使用中断方式时,会产生“中断申请”的“竞争”。这一方面降低了响应速度,另一方面增加了管理的复杂性。 9 比较DMA方式和程序中断方式的区别,根据比较,指出DMA工作方式的优缺点。中断方式:外部设备每进行一个数据的输入/输出,都要通过“中断申请”要求CPU进行处理。CPU通过执行一段“中断服务程序”完成数据的传输。DMA方式:CPU通过对DMAC的初始化,启动一个数据块的传输操作。之后的数据传输通过信号的联络,在外设接口和存储器之间进行,CPU只需简单地让出总线,而无需其他操作。根据上述比较,可以得到DMA工作方式的如下特点:优点:1) 对于CPU而言,它的任务仅仅是在一个数据
9、块传输之前对DMAC进行初始化,CPU用于传输控制的操作达到最小(不考虑与通道/IO处理器方式的比较),CPU的效率最高。CPU与外设“并行”工作。2) 外部设备一个数据输入/输出完成后,向DMAC申请进行数据传输,响应时间仅为DMAC的13个时钟周期。响应速度达到最快,可以满足高速传输的需要。缺点:1) 实现DMA控制需要增加DMA控制器和总线控制逻辑,增加了系统的复杂性。2) DMA传输需要占用总线,并且具有较高的“优先级”。这使得系统对其他设备的响应速度不能得到明确的保证。10 某输入设备接口数据端口、状态端口、控制端口地址分别为70H, 71H, 72H。状态端口D5=1表示输入完成,
10、控制端口D7=1表示启动设备输入(输入完成后由设备清除该位)。从该设备输入100个字节数据,存入以BUFFER为首地址的缓冲区。如果启动该设备1秒后仍未完成一次输入,则视为超时错,显示出错信息后返回。分别用8086汇编语言和C语言编写完成上述功能的I/O程序。汇编语言程序:DATASEGMENTBUFFERDB100 DUP(?)ERRORDB13, 10, “OVER TIME !”, 13, 10, “$”DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXMOVCX, 100LEABX, BUFFERO
11、NE:XORDX, DX;DX用作响应计时器,初值0MOVAL, 80HOUT72H, AL;启动输入W:INAL, 71HINCDX;记录延迟时间TESTAL, 00100000B;测试完成位JNZREAD;输入完成,转READ读取数据CMPDX, 50000;假设循环50000次时间为1秒JBW;未超时,继续测试JMPOVERTIME;超过1秒,报告出错READ:INAL, 70H;读入数据MOVBX, AL;数据存入缓冲区INCBX;修改指针LOOPONE;100个数据尚未输入完成,转ONE继续JMPDONE;100个数据输入完成,转DONE结束程序OVERTIME:LEADX, ERR
12、ORMOVAH, 9INT21H;响应超时,显示出错信息DONE:MOVAX, 4C00HINT21H;返回OSCODEENDSENDSTARTC语言程序:main( ) int i, status, time, buffer100 ; for( i=0; i100; i+ )outportb( 0x72, 0x80 );/* 启动输入 */ for( time = 0; time = 20000 ) printf( “n Over Time ! n”); exit ; /* 超时报错 */11 某输出设备数据端口、状态端口地址分别为220H, 221H。状态端口D0=1表示输出完成。将数据段
13、中以STRING为首地址的20个字符(用七位ASCII代码存储)添加水平和垂直校验发送到该外部设备。用8086汇编语言编写完成上述功能的I/O程序。汇编语言程序:DATASEGMENTSTRINGDB20 DUP ( ? )SUMDB0DATAENDSCODESEGMENTASSUMECS: CODE, DS: DATASTART:MOVAX, DATAMOVDS, AXMOVCX, 20LEABX, STRINGMOVSUM, 0; 垂直校验码初值为0ONE:MOVDX, 221H; DX置为状态端口地址INAL, DXTESTAL, 00000001B;测试输出完成位JZONE;未完成,转
14、ONE继续读取状态MOVAL, BX;从字符串取出一个字符的ASCII代码ANDAL, 07FH;清除最高位,准备置入校验位JPEOUTPUT;判代码奇偶属性,ORAL, 80H;奇数个“1”,最高位置1(偶校验)OUTPUT:MOVDX, 220HOUTDX, AL;输出添加了校验位的代码XORSUM, AL;生成垂直校验位INCBX;修改指针LOOPONE;20个数据尚未输出完成,转ONE继续MOVDX, 221H;输出垂直校验代码LAST:INAL, DXTESTAL, 00000001BJZLASTMOVAL, SUMMOVDX, 220HOUTDX, ALDONE:MOVAX, 4C
15、00HINT21H;返回OSCODEENDSENDSTART12 试画出矩阵式键盘查询的程序流程图。上述流程中假设键盘为88结构,如果有键按下,返回它的8位扫描码。其中:最低3位为该键所在列,次低3位为该键所在行,最高2位为0。如果没有键按下,返回8位“1”。13 试画出公用端口多位LED输出的程序流程图。习 题 六1 什么叫中断?有哪几种不同类型的中断?由于某个事件的发生,CPU暂停当前正在执行的程序,转而执行处理该事件的一个程序。该程序执行完成后,CPU接着执行被暂停的程序。这个过程称为中断。根据中断源的位置,有两种类型的中断。有的中断源在CPU的内部,称为内部中断。大多数的中断源在CPU
16、的外部,称为外部中断。根据中断引脚的不同,或者CPU响应中断的不同条件,也可以把中断划分为可屏蔽中断和不可屏蔽中断两种。 2 什么是中断类型?它有什么用处?用若干位二进制表示的中断源的编号,称为中断类型。中断类型用来区分不同的中断,使CPU能够在中断响应时调出对应的中断服务程序进行中断处理。3 有哪几种确定中断优先级的方法?说明每一种方法各自的优劣之处。确定中断优先权有四种可选的方法。(1) 软件查询法:采用程序查询的方法确定中断服务的顺序。这种方法中断逻辑最简单(基本上不需要外部中断逻辑),优先级可以灵活设置,但中断响应所需时间最长。(2) 分类申请法:CPU分设二个中断申请信号的输入引脚。
17、这种方法需要CPU提供条件。(3) 链式优先权排队:菊花链法。这种方法需要的外部中断逻辑比较简单,容易实现,但是设备较多时信号延迟大,对设备故障敏感。(4) 可编程中断控制器: “向量”优先权排队专用电路。这种方法功能最全面,控制灵活,可以通过程序设定中断优先权为固定的或循环的,但需要增加专用的中断控制器。4 什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?CPU在处理级别较低的中断过程中,出现了级别较高的中断请求。CPU停止执行低级别中断的处理程序而去优先处理高级别中断,等高级别中断处理完毕后,再接着执行低级别的未处理完的中断处理程序,这种中断处理方式称为多
18、重(级)中断或中断嵌套。使用中断嵌套可以使高优先级别的中断得到及时的响应和处理。对于可屏蔽中断,由于CPU在响应中断时已将IF清零,所以一定要在中断处理程序中加入开中断指令,才有可能进行中断嵌套。5 什么叫中断屏蔽?如何设置I/O接口的中断屏蔽?用程序的方法使某些中断源的中断请求不能够发送到CPU,或者虽然能够发送但是不能得到响应,这种方法称为中断屏蔽。在外设的接口内增设一个中断屏蔽触发器(可以用D触发器实现),该触发器的端与中断请求信号相“与”后连接到INTR。当 = 0时,中断请求不能发往INTR。通过设定中断屏蔽触发器的状态,可以控制中断请求信号是否能够送到INTR端。置IF= 0, 可
19、以使80x86CPU不响应来自INTR的可屏蔽中断请求。6 什么是中断向量?中断类型为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的安置位置。中断服务程序的入口地址称为中断向量。中断类型为1FH,它的中断向量放置在1FH4=0000: 7CH开始的位置上。如右图。7 叙述一次可屏蔽中断的全过程。(1) 中断源请求中断外部中断源通过INTR引脚向CPU请求中断。(2) 中断响应 中断源提出中断请求后,如果 CPU处于允许中断状态(IF=1); 没有不可屏蔽中断请求和总线请求; 当前指令执行结束。则转入中断响应周期。在中断响应周期: CPU取得中断源的中断类型; 将标志寄存器
20、FLAGS和CS、IP(断点)先后压入堆栈保存; 清除自陷标志位TF和中断允许标志位IF; 读中断向量表,获得相应的中断服务程序入口地址,转入中断服务程序。(3) 中断服务 中断服务程序的主要内容包括: 保护现场 开中断 中断处理 关中断 恢复现场 (4)中断返回 8 简要叙述8259A内部IRR, IMR, ISR三个寄存器各自的作用。三个寄存器长度均为8位。IRR用来记录引脚IR7IR0上由外部设备送来的中断请求信号。当外部中断请求线IRi变为有效时,IRR中与之对应的第i位被置1。IMR用于设置对中断请求的屏蔽信号。此寄存器的第i位被置1时,与之对应的外部中断请求线IRi被屏蔽,不能向C
21、PU发出INT信号。可通过软件设置IMR内容,确定每一个中断请求的屏蔽状态。ISR用于记录当前正在被服务的所有中断级,包括尚未服务完而中途被更高优先级打断的中断级。若CPU响应了IRi中断请求,则ISR中与之对应的第i位置1。ISR用于中断优先级管理。9 8259A是怎样进行中断优先权管理的?8259A通过以下两种途径实现对中断优先权的管理:(1) 通过设置中断屏蔽寄存器IMR,可以屏蔽某些中断请求,从而动态地改变各请求端的优先级别。(2) 8259A响应某个中断请求之后,将ISR寄存器对应位置1。如果后续的中断请求级别低于正在响应的中断请求,则该中断不能立即被响应。反之,如果新的中断请求级别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 微型计算机 原理 接口 技术 习题 解答 部分
限制150内