第一范文网 - 专业文章范例文档资料分享平台

现代微型计算机与接口教程(杨文显)第三章课后答案

来源:用户分享 时间:2022-05-06 本文由我笑着哭 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

习题三

1.接口电路与外部设备之间传送的信号有哪几种?传输方向怎样?

数据信号:对于输入设备,数据信号从外设通过接口送往总线,对于输出设备,数据信号从总线通过接口发往外部设备。

状态信号:状态信号表明外部设备当前的工作状态,用来协调CPU与外部设备之间的操作。状态信号总是从外部设备通过接口发往总线。

控制信号:控制信号是CPU向外设发出的命令,它指定设备的工作方式,启动或停止设备。控制信号从CPU通过接口发往外部设备。

2.接口电路有哪些功能?哪些功能是必需的?

接口电路可以具备:设备选择功能、信息传输功能、数据格式转换功能、联络功能、中断管理功能、复位功能、可编程功能和错误检测等功能。其中设备选择功能和信息传输功能是每一个接口电路所必备的。其他的功能是否需要则由设备的特点和工作方式决定。

3.I/O端口的编址有哪几种方法?各有什么利弊?80X86系列CPU采用哪种方法?

I/O端口的编址有两种不同的方式:

(1) I/O端口与内存统一编址:把内存的一部分地址分配给I/O端口,一个8位端口占用一个内存单元地址。已经用于I/O端口的地址,存储器不能再使用。

I/O端口与内存统一编址后,访问内存储器单元和I/O端口使用相同的指令,这有助于降低CPU电路的复杂性,并给使用者提供方便。但是,I/O端口占用内存地址,相对减少了内存可用范围。而且,由于难以区分访问内存和I/O的指令,降低了程序的可读性和可维护性。

(2) I/O端口与内存独立编址:这种编址方法中,内存储器和I/O端口各自有自己独立的地址空间。访问I/O端口需要专门的I/O指令。

80x86 CPU采用I/O端口独立编址方式。

4.按照传输信号的种类,I/O端口有几种?它们信号的传输方向怎样?

按照传输信号的种类,I/O端口有三种:

数据端口:数据信息从端口输入CPU(输入设备接口),或者从CPU写入端口(输出设备接口);

状态端口:外设状态信息从端口输入CPU;

控制端口:命令信息从CPU写入端口。

5.I/O端口译码电路的作用是什么?在最小模式和最大模式下分别有哪些输入信号?

I/O端口译码电路用于产生端口的读写选择信号。在最小模式下,译码电路接受来自总线的地址信号(16位),IO

M(= 0),RD或者WR信号。最大模式下,译码电路接受地址

/

信号(16位),IOR或者IOW信号。

6.外部设备数据传送有哪几种控制方式?从外部设备的角度,比较不同方式对外部设备的响应速度。

外部设备数据传送有以下四种控制方式。

直接传送方式(也称为无条件传送方式、同步传送方式):这种情况下,外部端口完全被动地等待CPU的访问,没有确定的响应速度,响应时间取决于CPU忙碌的程度以及程序对外部设备控制采取的策略。

查询方式:如果CPU在某一时刻只对一个外设采用查询方式进行数据传输,CPU的响应延迟约为3~10个指令周期。响应速度快于中断方式,慢于DMA方式。

中断方式:CPU的响应延迟平均为几十个指令周期,慢于查询方式,但是这种方式可以同时管理多个外部设备。

DMA方式:外部端口的传输请求由DMA控制器响应,由于DMAC是一个专用于传输控制的电路,任务单一,不发生DMA传输竞争时,响应延迟仅为1~2个DMAC使用的时钟周期,远快于中断方式和查询方式。

7.叙述一次查询式输出过程中,接口内各电路、信号的状态变化过程。

一个数据的查询式输出过程由二个阶段组成:

CPU从接口反复读取状态字:由地址译码电路产生状态端口选择信号,该信号不影响接口内部的状态。外部设备输出完成后,返回“确认”信号,该信号将状态寄存器相关位(READY)置位。

如状态字表明外设已处于“就绪”状态,则向数据端口传送数据。由地址译码电路产生的数据端口选通信号一方面将数据总线上的数据写入数据寄存器,同时清除状态寄存器中的相关位(READY),向输出设备发出输出启动信号。

有的输出接口设有控制端口,输出启动信号通过写控制端口产生。

8.比较程序中断方式和查询方式的区别,根据比较,指出中断工作方式的优缺点。

中断方式:外部设备工作完成后,通过“中断请求”信号“主动”向CPU“报告”。

查询方式:外部设备工作完成后,状态信号储存在接口电路内,被动地等待CPU来读取。

根据上述比较,可以得到中断工作方式的如下特点:

优点:

1)CPU能够及时了解外部设备的状态,从而对外部设备IO请求进行及时处理。

2)由于CPU“被动”地等待外部设备的“中断请求”,外部设备进行输入/输出操作时,CPU可以同时执行其他的程序,CPU和外部设备“并行”工作。

3)由于同样的原因,在中断方式下,CPU可以同时管理多台外部设备,CPU的效率得到提高。

缺点:

1)用中断方式需要CPU增加相应的管理逻辑,增加了CPU电路的复杂性。

2)由于CPU“被动”地接收“中断请求”信号,CPU必须通过与外部的一个联络过程才能知道是那一个设备在申请中断,这增加了响应时间。为了从当前任务转移

到中断服务,CPU必须保护原有的运行环境,进行“任务”的“切换”,这也会

增加响应时间。

3)有较多的设备使用中断方式时,会产生“中断申请”的“竞争”。这一方面降低了响应速度,另一方面增加了管理的复杂性。

9.比较DMA方式和程序中断方式的区别,根据比较,指出DMA工作方式的优缺点。

中断方式:外部设备每进行一个数据的输入/输出,都要通过“中断申请”要求CPU进行处理。CPU通过执行一段“中断服务程序”完成数据的传输。

DMA方式:CPU通过对DMAC的初始化,启动一个数据块的传输操作。之后的数据传输通过信号的联络,在外设接口和存储器之间进行,CPU只需简单地让出总线,而无需其他操作。

根据上述比较,可以得到DMA工作方式的如下特点:

优点:

1)对于CPU而言,它的任务仅仅是在一个数据块传输之前对DMAC进行初始化,CPU用于传输控制的操作达到最小(不考虑与通道/IO处理器方式的比较),CPU

的效率最高。CPU与外设“并行”工作。

2)外部设备一个数据输入/输出完成后,向DMAC申请进行数据传输,响应时间仅为DMAC的1~3个时钟周期。响应速度达到最快,可以满足高速传输的需要。

缺点:

1)实现DMA控制需要增加DMA控制器和总线控制逻辑,增加了系统的复杂性。

2)DMA传输需要占用总线,并且具有较高的“优先级”。这使得系统对其他设备的响应速度不能得到明确的保证。

10.某输入设备接口数据端口、状态端口、控制端口地址分别为70H, 71H, 72H。状态端口D5=1表示输入完成,控制端口D7=1表示启动设备输入(输入完成后由设备清除该位)。从该设备输入100个字节数据,存入以BUFFER为首地址的缓冲区。如果启动该设备1秒后仍未完成一次输入,则视为超时错,显示出错信息后返回。用8086汇编语言编写完成上述功能的I/O程序。

DATA SEGMENT

BUFFER DB 100 DUP(?)

ERROR DB 13, 10, “OVER TIME !”, 13, 10, “$”

DATA ENDS

;

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START:

MOV AX, @DATA ;对DS初始化,置段基址

MOV DS, AX

MOV CX, 100 ;设置CX为计数器

LEA BX, BUFFER;设置缓冲区指针

ONE: XOR DX, DX ;DX用作响应计时器,初值0

MOV AL, 80H ;设控制字,控制端口D7=1启动设备输入

OUT 72H, AL ;启动输入

W: IN AL, 71H ;读状态端口

INC DX ;纪录延迟时间

TEST AL, 00100000B ;测输入完成否,状态端口D5=1输入完成

JNZ READ ;输入完成,转READ读取数据

CMP DX, 50000 ;假设循环50000次时间为1秒

JB W ;未超时(即DX<50000),继续测试

;JB为条件转移指令,即DX-50000<0时转移

JMP OVERTIME ;超过1秒,报告出错,JMP无条件转移指令READ: IN AL, 70H ;读入数据

MOV [BX], AL ;数据存入缓冲区

INC BX ;修改指针

LOOP ONE ;100个数据尚未输入完成,转ONE继续

JMP DONE ;100个数据输入完成,转DONE结束程序OVERTIME: LEA DX, ERROR

MOV AH, 09H ; 设置显示功能号

INT 21H ;响应超时,显示出错信息

DONE: MOV AX, 4CH

INT 21H ;返回DOS

CODE ENDS

END START

11.某输出设备数据端口、状态端口地址分别为220H, 221H。状态端口D0=1表示输出完成。将数据段中以STRING为首地址的20个字符(用七位ASCII代码存储)添加水平和垂直校验发送到该外部设备。用8086汇编语言编写完成上述功能的I/O程序。

汇编语言程序:

DATA SEGMENT

STRING DB 20 DUP ( ? )

SUM DB 0

DATA ENDS

;

CODE SEGMENT

ASSUME CS: CODE, DS: DATA

START:

MOV AX, @ DATA ;对DS初始化,置段基址

MOV DS, AX

MOV CX, 20 ;;设置CX为计数器

LEA BX, STRING;设置缓冲区指针

MOV SUM, 0 ; 垂直校验码初值为0

ONE: MOV DX, 221H ; DX置为状态端口地址

IN AL, DX ;读入状态

TEST AL, 00000001B ;测输出完成位,状态端口D0=1输出完成

JZ ONE ;未完成,转ONE继续读取状态

MOV AL, [BX] ;从字符串取出一个字符的ASCII代码

;水平校验(偶校验)

AND AL, 07FH ;清除最高位,准备置入校验位

JPE OUTPUT;判1的个数奇偶性,PF=1(有偶数个1)则转移

OR AL, 80H ;奇数个“1”,最高位置1(偶校验)OUTPUT: MOV DX, 220H

OUT DX, AL ;输出添加了校验位的代码

XOR SUM, AL ;生成垂直校验位

INC BX ;修改指针

LOOP ONE ;20个数据尚未输出完成,转ONE继续

;输入完成, 输出垂直校验码

MOV AL, SUM

MOV DX, 220H

OUT DX, AL

DONE: MOV AX, 4C00H

INT 21H ;返回DOS

CODE ENDS

END START

12.试画出矩阵式键盘查询的程序流程图。

上述流程中假设键盘为8×8结构,

如果有键按下,返回它的8位扫描码。

其中:最低3位为该键所在列,次低3位为该键所在行,最高2位为0。

如果没有键按下,返回8位“1”。

13.试画出公用端口多位LED输出的程序流程图。

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育现代微型计算机与接口教程(杨文显)第三章课后答案全文阅读和word下载服务。

现代微型计算机与接口教程(杨文显)第三章课后答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1420479.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top