安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 DMA 请求 HOLD DMA 存储器 外部设 DMA 备 响应 控制器 HLDA 2021/22
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 6 存 储 器 外 部 设 备 C P U DMA 请求 DMA 响应 HOLD HLDA DMA 控 制 器
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 8.2程序直接控制IO方式 8.2.1I/O接口基本结构及编址方式 关于O“接口”与“端口 IO接口与CPU之间传送的信息有数据、状态和控制信号等3大 类。每个接口内部都包含有一启教量的寄存鞶(一般包括数 据寄存器、状态寄存器和控制寄存器),用来存放三种不同 信息。为了区分不同的寄存器(REG),需要给每个REG分 配一个地址号,这就类似于给內存单元编址一样。 O接口内部可寻址的REG又称为端口。按接受和传送的信息有 分为数据端口(双向,输入缓冲,输出锁存),状态端口 般只读),控制端口(一般只写)。CPU对外设工作方 式的控制和信息的交换最终部归结为CPU通过 IN/OUT指令 对各个可寻址端口的读写操作
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 7 8.2 程序直接控制I/O方式 • 关于I/O“接口”与“端口” I/O接口与CPU之间传送的信息有数据、状态和控制信号等3大 类。每个接口内部都包含有一定数量的寄存器(一般包括数 据寄存器、状态寄存器和控制寄存器),用来存放三种不同 信息。为了区分不同的寄存器(REG),需要给每个REG分 配一个地址号,这就类似于给内存单元编址一样。 I/O接口内部可寻址的REG又称为端口。按接受和传送的信息有 分为数据端口(双向,输入缓冲,输出锁存),状态端口 (一般只读),控制端口(一般只写)。CPU对外设工作方 式的控制和信息的交换最终都归结为CPU通过IN/OUT指令 对各个可寻址端口的读写操作。 8.2.1 I/O接口基本结构及编址方式
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 J/o接口编址方式 (1)统一编址:存储器(内存)与/o端口的編址占 用同一个地址空间。特点是所有对内存操作的指令 对o端口同样有效,指令丰富,但会损失一部分 的内存空间。 (2)独立编址:内存与o端口对应不同的地址空间。 对o端口有专门的令。缺点是对/Q端口操作的 指令不及统一编址时丰富(例如,8086/8088中对 J/o端口就只有最基本的输入输出指令),但能最 大程度地满足存储空间的寻址范围。 2021/22
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 8 (1)统一编址:存储器(内存)与I/O端口的编址占 用同一个地址空间。特点是所有对内存操作的指令 对I/O端口同样有效,指令丰富,但会损失一部分 的内存空间。 (2)独立编址:内存与I/O端口对应不同的地址空间。 对I/O端口有专门的指令。缺点是对I/O端口操作的 指令不及统一编址时丰富(例如,8086/8088中对 I/O端口就只有最基本的输入输出指令),但能最 大程度地满足存储空间的寻址范围。 I/O接口编址方式
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 内存空间 内存空间 FFFFFH FFFFFH O空间 供O接 口使用 FFFH 00000H 00000H 0000H (a)存储器映射方式示意图 (b)IO映射方式示意图 图图)映射方式和存储器映射方式的示意图 2021/22
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 9 (a)存储器映射方式示意图 (b)I/O 映射方式示意图 图 6-1 I/O 映射方式和存储器映射方式的示意图 I/O 空间 0000H FFFFH 00000H 内存空间 FFFFFH 1M 00000H 供 I/O 接 口使用 内存空间 FFFFFH 图
安徽理工太骨计算机科学与技术系李兆 《汇编语言》第8章 I/Oo端口地址 I/o端口是cPU与输入输出设备的交换数据的场所,通过o端 口,处理机可以接受从输入设备输入的信息;也可向输出设备 发送信息。在计算机系统中,为了区分各类不同的o端口, 就用不同的数字给它们进行编号,这种对o端口的编号就称 为o端口地址。按照毎次可交换一个字节数据的端口称为字 节端口,每次可交换一个字数据的端口称为字端口。 在nte公司的cPU家族中,Wo端口的地址空间可达64K,即 可有65536个字节端口,或32768个字端口。这些地址不是内 存单元地址的一部分,不能普通的访问内存指令来读取其信息, 而要用专门的o指令才能访问它们。虽然cPU提供了很大的 Jo地址空间,但目前大多数微机所用的端口地址都在0-3FFH 范围之内,其所用的O地址空间只占整个O地址空间的很小 部分。表8.1列举了几个重要的o端口地址。 2021/22
安徽理工大学 计算机科学与技术系 李敬兆 《汇编语言》第8章 2021/2/2 10 I/O端口地址 I/O端口是CPU与输入输出设备的交换数据的场所,通过I/O端 口,处理机可以接受从输入设备输入的信息;也可向输出设备 发送信息。在计算机系统中,为了区分各类不同的I/O端口, 就用不同的数字给它们进行编号,这种对I/O端口的编号就称 为I/O端口地址。按照每次可交换一个字节数据的端口称为字 节端口,每次可交换一个字数据的端口称为字端口。 在Intel公司的CPU家族中,I/O端口的地址空间可达64K,即 可有65536个字节端口,或32768个字端口。这些地址不是内 存单元地址的一部分,不能普通的访问内存指令来读取其信息, 而要用专门的I/O指令才能访问它们。虽然CPU提供了很大的 I/O地址空间,但目前大多数微机所用的端口地址都在0~3FFH 范围之内,其所用的I/O地址空间只占整个I/O地址空间的很小 部分。表8.1列举了几个重要的I/O端口地址