130 likes | 210 Views
第 5 章 作业参考答案. 一、判断题: 判断对错,对的打“ √”,错的打“ х ” 1.1 输入/输出设备必须经过适配器(接口)才能接到系统总线上和主机进行信息交换。 ( √) 1.2 若 I/O 端口与主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的 I/O 指令。 ( √) 1.3 80 X86 在采用独立 I/O 方式编址时, I/O 端口地址与存储器地址一样由段基址和偏移地址两部分组成。 (×) 1.4 通常每个外设都有一个接口寄存器与主机交换信息。因此,主机只能 用一个唯一地址 来访问一个外设。(×)
E N D
第5章 作业参考答案 一、判断题: 判断对错,对的打“√”,错的打“х” • 1.1 输入/输出设备必须经过适配器(接口)才能接到系统总线上和主机进行信息交换。 (√) • 1.2 若I/O端口与主存单元统一用主存地址编址,那么在计算机的指令系统中可以不设专门的I/O指令。 (√) • 1.3 80X86在采用独立I/O方式编址时,I/O端口地址与存储器地址一样由段基址和偏移地址两部分组成。 (×) • 1.4 通常每个外设都有一个接口寄存器与主机交换信息。因此,主机只能用一个唯一地址来访问一个外设。(×) • 1.5 DMA方式的I/O操作与程序查询方式和中断控制式相比,用硬件控制代替了那里的软件控制,且无需经CPU传数,因此数据传送速度明显提高。 (√) • 1.6 主机与外设采用查询方式传送数据时,主机与设备是串行工作的。 (√)
1.7 在三种基本I/O同步控制方式中,以DMA方式控制最好,中断驱动次之,程序查询方式最差。 (×) • 1.8 在I/O接口的各种寄存器中,状态寄存器必须具有三态输出功能。 (√) • 1.9 8086 CPU响应外设的中断请求时,要把标志寄存器的IF和TF清零。 (√) • 1.10 80X86的 PC系列机中,I/O端口采用与存储器统一的编址方式。 (×) • 1.11 数据信息、状态信息和控制信息通常都以数据形式通过数据总线同CPU进行传送。 (√) • 1.12 CPU对外设的访问实质上是对外设接口电路中相应的端口进行访问。 (√) • 1.13 基本输出接口是保持微处理器输出数据的一个锁存器。 (√)
二、单选题:将正确答案的序号填入上 。 • 2.1 从硬件的角度而言,采用硬件最少的数据传送方式是。 (D) A. DMA控制 B. 中断传送 C.查询传送 D. 无条件传送 • 2.2 查询方式输入/输出时,在I/O接口中设有状态寄存器,通过它来确定I/O设备是否准备好。输入时,准备好表示(1),输出时准备好表示(2)。 (A,B) (1)A.稳定 B.已空 C.已满 (2)A.稳定 B.已空 C.已满 • 2.3 按微机系统中与存储器的关系,I/O端口的编址方式分为。 (D) A. 线性和非线性编址 B. 集中和分散编址 C. 重叠和非重叠编址 D. 统一和独立编址
2.4 在I/O接口的各种寄存器中必须具有三态输出功能。 (C) A. 控制寄存器 B.数据缓冲寄存器 C.状态寄存器 • 2.5 I/O口与主机信息的交换采用中断方式的特点是。 (B) A. CPU与设备串行工作,传送与主程序串行工作 B. CPU与设备并行工作,传送与主程序串行工作 C. CPU与设备并行工作,传送与主程序并行工作 D. CPU与设备串行工作,传送与主程序并行工作 • 2.6 在数据传送过程中,数据由串行变为并行,或由并行变为串行,这种转换是通过接口电路中的实现的。 (B) A. 数据寄存器 B. 控制寄存器 C. 锁存器 D. 移位寄存器
2.7 主机与设备传送数据时,采用,CPU的效率最高。 (C) A. 程序查询方式 B. 中断方式 C. DMA方式 • 2.8 CPU在时响应中断。 (D) A. 取指周期结束 B. 外设提出中断申请 C. INTR为高电平 D. 一条指令结束 • 2.9 在DMA数据传送方式中,实现地址的修改与传送字节数技术的主要功能部件是。 (D) A. CPU B. 运算器 C. 存储器 D. DMAC
2.10 在DMA传送方式下,外部设备与存储器之间的数据传送通路是。 (A) A. 数据总线DB B. 专用数据通路 C. 地址总线AB D. 控制总线CB • 2.11 在DMA方式下,CPU与总线的关系是。 (C) A. CPU只能控制数据总线 B. CPU只能控制地址总线 C. 呈隔离状态 D. 呈短接状态 • 2.12 I/O接口与主机信息的交换采用DMA方式的特点是。 (C) A. CPU与设备串行工作,传送与主程序串行工作 B. CPU与设备并行工作,传送与主程序串行工作 C. CPU与设备并行工作,传送与主程序并行工作
三、简答题 • [例1] 为什么输入接口的数据缓冲寄存器必须有三态输出功能,而输出接口却不一定需要? • 答:输入接口的数据缓冲寄存器的输出端是直接连在数据总线上的,如果数据寄存器没有三态输出功能,则无论数据寄存器被选中还是未被选中,其数据都会被送上数据总线,若此时总线上真正要传送的数据与该输入缓冲器的内容不一致时,就会发生总线冲突。所以输入接口的数据缓冲寄存器必须有三态输出功能,一旦接口未被选中时,其输出端处于高阻态而与总线隔离。对于输出接口来说,是输入端与数据总线相连,而输出端是与外设相连,因此其输出端不影响总线状态。一个外设一般只与一个输出数据缓冲器相连,所以输出接口的数据缓冲器不一定需要有三态输出功能。
[例2] 查看端口03EFH的D5位,若该位为1,则等待;若该位为0,则从数据段SENDAT开始的单元顺序取一个字节,从接口03E8H输出。要求每传送一个字节查看一次接口03EFH的状态位D5位,直至发现输出的字节为0AH为止。试编写完成上述任务的程序段。 解:此题是一个用查询式控制方法实现输入/输出的典型例子,其关键是查询接口的状态,无论输入还是输出都必须在外设准备就绪的情况下进行。编制的程序段如下:
MOV DI,0 AGAIN: MOV DX, 03EFH WAIT: IN AL, DX ;读接口状态 TEST AL,00100000B ;准备就绪? JNZ WAIT ;继续读状态 MOV AL,SENDAT[DI] ;读输出数据 INC DI MOV DX,03E8H OUT DX,AL ;输出 CMP AL,0AH ;为0AH? JNZ AGAIN ;不是继续输出 HLT
三、简答题 • 3.1 什么叫I/O端口?微机中通常有哪几类I/O端口?试编写从端口3E2H 输入8位数据68H的8086程序段。 解:在接口的内部外,包含一组程序可访问的寄存器,这些寄存器可以具有相互独立的地址;也可以几个一组,共用一个地址。这样的寄存器或寄存器组称为输入/输出端口(I/O 端口)。 微机中通常有数据端口、状态端口和控制端口。 MOV DX, 3E2H MOV AL, 68H INAL, DX • 3.2 试编写向端口3E0H 输出8位数据28H的简单程序。 解: MOV DX, 3E0H MOV AL, 28H OUT DX,AL
3.3 8086CPU内有哪些寄存器可以和I/O端口打交道?若端口地址分别是20H和200H,分别写出向这两个端口写入命令字85H的程序段。 解: 8086CPU内可与I/O端口打交道的寄存器为:AL、AX和DX 。向端口20H写入命令字85H的程序段为: MOV AL,85H OUT 20H,AL 向端口200H写入命令字85H的程序段为: MOV AL,85H MOV DX,200H OUT DX,AL
清零与读操作 读状态 启动转换 • 四、分析下列查询式输入接口电路图的工作原理,编写从ADC读取10个数据,存入数据段以BUFFER为首地址的内存单元的8086程序段。
READ : MOV DI,0 ;存储地址指针初值 MOV CX,10 ;计数器初值 MOV DX, 160H IN AL, DX ;清状态使D0=0 READ1:MOV DX, 164H OUT DX, AL ;启动ADC MOV DX, 162H READ2: IN AL, DX ;查询状态 TEST AL, 1 ;同01H进行与运算 JZ READ2 ;D0=0,转换未结束,等待 MOV DX, 160H IN AL, DX ;读取数据 MOV BUFFER[DI],AL ;保存数据 INC DI LOOP READ1 RET