2)程序中断传送方式 上述查询方式中,CPU要不断的查询外设 的状态,未准备好则等待,不能做别的操作, 浪费了CPU的时间。因为很多外设速度较慢 们输入/输出一个数据速度很慢,在此过程中, CPU可执行大量的指令,为了提高CPU的效率, 可采用中断方式 即由CPU启动外设工作,然后执行主程序, 当外设准备好后,向CPU发出中断请求,CPU暂 停主程序的执行,转去中断处理服务,然后返回 在何时交换数据,接口是主动的
2)程序中断传送方式 • 上述查询方式中,CPU要不断的查询外设 的状态, 未准备好则等待,不能做别的操作, 浪费了CPU的时间。因为很多外设速度较慢,它 们输 入 / 输出 一个数据速度很慢,在此过程中, CPU可执行大量的指令,为了提高CPU的效率, 可采用中断方式。 • 即由CPU启动外设工作,然后执行主程序, 当外设准备好后,向CPU发出中断请求,CPU暂 停主程序的执行,转去中断处理服务,然后返回。 在何时交换数据,接口是主动的
3)DMA方式直接存贮器存取传送方式 以上方式均需CPU参与I/O数据传送,即程序 控制(即ⅠN,OUT指令)传送。而DMA方式的基本思 想是在外设和存贮器之间开辟直接的数据交换通道。由 DMA硬件装置控制,直接由外设和内存之间传送数据, 而不通过CPU。通常用于高速外设、成批交换数据。 如PC机中磁盘(软、硬)与内存交换数据,则使 用了8237DMA控制器。 在实际的计算机系统中,以上几种数据传送方式 都使用。实际应用中,几种方式均可使用。如A/D实 验中:延迟等待(无条件传送)、查询、中断,若使用 高速A/D也可用DMA方式直接将数据送内存
3)DMA方式—— 直接存贮器存取传送方式 • 以上方式均需 CPU 参与 I /O 数据传送,即程序 控制(即IN ,OUT 指令)传送。而DMA方式的基本思 想是在外设和存贮器之间开辟直接的数据交换通道。由 DMA 硬件装置控制,直接由外设和内存之间传送数据, 而不通过CPU。通常用于高速外设、成批交换数据。 • 如PC机中磁盘(软、硬)与内存交换数据,则使 用了8237 DMA控制器。 • 在实际的计算机系统中,以上几种数据传送方式 都使用。实际应用中,几种方式均可使用。如A /D 实 验中:延迟等待(无条件传送)、查询、中断,若使用 高速A /D 也可用 DMA 方式直接将数据送内存
、CPU与外设之间的接口信息 1、地址一经译码以选定不同的端口如输入设备是否准 2、数据—8位、16位、32位数据。 备好,输出设备是 否空(是否忙)等 3、状态一输入/输出设备的状态 4、控制信息—一由CPU发出的控制信号,如启动或停 止外设工作。 注:状态、控制信息与数 地址 据是不同性质的信息,必 须分别传送。通常数据占CPU八数据 I/O 个端口,状态或控制公 用一个端口 控制
三、CPU 与外设之间的接口信息 1、地址— 经译码以选定不同的端口。 2、数据— 8位、16位、32位数据。 3、状态— 输入 / 输出设备的状态。 4、控制信息— 由CPU发出的控制信号,如启动或停 止外设工作。 如输入设备是否准 备好,输出设备是 否空(是否忙)等 注:状态、控制信息与数 据是不同性质的信息,必 须分别传送。通常数据占 一个端口,状态或控制公 用一个端口。 CPU I /O 地址 数据 状态 控制
§62输入输出指令和 输入输出地址译码 在进行输入/输出操作时,和存贮器相似,也要对 I/O进行寻址,也要完成两种选择:片选—选择IO 接口芯片,字选一选择该芯片中的某一寄存器(具 体端口)。 接口中被主机直接访问的一些寄存器常 称之为端口。一个接口常有多个端口。 如数据口,状态口,命令口。 CPU访问ⅣO端口有两种基本寻址方式,存贮器映象 方式和独立编址方式
§6.2 输入输出指令和 输入输出地址译码 在进行输入/ 输出操作时,和存贮器相似 , 也要对 I/O进行寻址,也要完成两种选择:片选—选择I/O 接口芯片,字选— 选择该芯片中的某一寄存器(具 体端口)。 CPU访问I/O端口有两种基本寻址方式,存贮器映象 方式和独立编址方式。 接口中被主机直接访问的一些寄存器常 称之为端口。一个接口常有多个端口。 如数据口,状态口,命令口
存贮器映象I/O寻址方式 I/O端口和内存单元统一编址,即把一个外设端口作 为存贮器的一个单元来对待。特点: ①I/O端口与存贮器公用同一个地址空间。如: 此时存贮器与I/O的区别 存贮器→前32K 只是所占用的地址不同 10 后32K ②CPU对IO端口的输入/输出和对存贮器读/写都是 用访问存贮器传送指令(如MOV),而无需专用输入/ 输出指令。 ⑧对I/O访问的控制信号,也是用对存贮器读/写控制 信号, 如MC6800微机,MCS51单片机就是采用存贮器映象 方式
一、存贮器映象I /O寻址方式 ① I /O端口与存贮器公用同一个地址空间。如: 此时存贮器与 I /O的区别 存贮器→ 只是所占用的地址不同。 I /O → ② CPU对I /O端口的输入 / 输出和对存贮器读/ 写都是 用访问存贮器传送指令(如MOV),而无需专用输入 / 输出指令。 ③ 对I /O访问的控制信号,也是用对存贮器读/ 写控制 信号。 如 MC6800微机,MCS—51单片机就是采用存贮器映象 方式。 前32K 后32K