5.1.1 外设接口的编址方式
1.外设地址与内存地址统一编址
这种编址方式又称为存贮器映射编址方式。在这种编址方式中,将外设接口地址和内部存贮器地址统一安排在内存的地址空间中。
2. 外设与内存独立编址 在这种编址方法中,内存地址空间和外设地址空间是相互独立的。
5.1.2 输入输出的基本方法
在微型计算机系统中,主要的输入输出方法有以下4种:
① 无条件传送。 ② 查询方式。 ③ 中断方式。 ④ 直接存贮器存取(DMA)方式。
1.无条件传送 在微机系统中,有一些简单的外设。当它们工作时,随时都准备好接收CPU的输出数据或它们的数据随时都是准备好的,CPU什么时候读均可以正确
无条件数据传送的另一个例子如图5.2表示。图中外设是简单的发光二极管。此外设的接口用锁存器(273)来实现。 锁存器在打入脉冲CP上升沿将输入端D的数据锁存在它的输出Q端
图5.2中,锁存器作为输出接口,其外设地址为0000H。当CPU执行如下指令时,即可将图中两个发光二极管点亮。 MOV AL,81H MOV DX,0000H OUT DX,AL 当执行OUT指令时,CP端会有负脉冲产生,这就可以将数据线上的81H锁存在输出端,从而点亮发光二极管。 2.查询方式 无条件传送对于那些慢速的或总是准备好的外设是适用的。
(1) 单一外设的查询工作 由图5.5可以看到,数据输出口和状态输入口共用一个地址00FFH。前者是只写的,而后者是只读的。现欲将48000H为首地址的顺序100单元的数据, 利用查询方式输出到此外设,其程序可简写如下: START:MOV AX,4000H MOV DS,AX MOV SI,8000H MOV CX,100
GOON:MOV DX,00FFH WAIT: IN AL,DX AND AL,01H JZ WAIT MOV AL,[SI] OUT DX,AL INC SI LOOP GOON RET
(2) 多个外设查询方式工作 从图5.6可以看出,CPU逐个外设进行查询。若发现哪个外设准备就绪,就对该外设实施数据传送。