7.2简述CPU与外围设备交换信息的过程。
外围设备通过系统总线连接相应的控制电路,实现CPU与外围设备连接起来实现信息交换输入过程: CPU把地址值放在地址总线上,选择某设备,CPU等候输入设备的数据成为有效,CPU从数据总线读入数据,并放入寄存器
输出过程:CPU把地址值放在数据总线上,选择设备,CPU把数据放在数据总线上,输出设备认为数据有效,从而把数据取走
7.4某输入设备可随时为CPU提供8位数字输入数据。
请使用74LS244芯片(口地址为300H)作为接口电路,设计该设备与8086CPU(最小模式)的连接图。
A0~A9为CPU地址总线,XA0~XA7为I/O接口地址。
当地址为3XXH时有效。
7.5某8位数字输出设备在其BUSY信号为低(不忙)时可接收计算机发来的数据。
如果将该设备连接到8086CPU(最大模式)的系统总线上,请采用74LS373芯片(口地址为60H)作为接口电路,设计其连接图。
7.6某8位输入设备的接口电路中,数据口地址为200H,状态口地址为201H,状态口中第
6位为1表示数据已准备好。
试编写程序从该输入设备获得100个字节。
MOV CX, 100
LOP: MOV DX, 201H
NEXT: IN AL, DX
TEST AL, 01000000B
JZ NEXT
DEC DX
IN AL, DX
MOV [SI], AL
INC SI
LOOP LOP
MOV AH, 4CH
INT 21H
7.9附图7.2为一个LED接口,写出使8个LED灯自右至左依次发光2秒的程序。
MOV CX,8
MOV AL,0FEH
LOP: OUT 20H,AL
MOV BX,0FFFFH
NEXT: DEC BX
LOOP NEXT
SHL AL
INC AL
JMP LOP
HLT
7.10简述DMA方式数据传送的工作过程。
①外设向DMAC发出DMA传送请求信号(DREQ)
②DMAC向CPU发出总线请求保持信号HOLD,申请占用总线
③CPU向DMAC发出总线响应信号HLDA,同时使CPU三总线处于高阻态,放弃总线控制权
④DMAC获得总线控制权,并向外设发出DMA响应信号DACK,进入DMA工作方式
⑤DMAC送出地址/
⑥DMAC自动修改地址和字节计数器,判断是否需要重复传送。
规定的数据传送完后,DMAC 就撤销HOLD信号。
CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期开始重新控制总线,继续执行原来的程序。