I/O会一直占用CPU吗?【转载】

转自:https://www.zhihu.com/question/27734728

知乎上看到的一个提问,可以参考

如下图:(图片摘自网络)


在进行I/O操作的时候,是将任务交给DMA来处理,请求发出后CPU就不管了,在DMA处理完后通过中断通知CPU处理完成了。I/O操作消耗的cpu时间很少

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: (1)I/O接口是指计算机系统中,负责主机和外部设备之间数据传输的一种硬件电路。I/O的基本功能包括输入、输出和中断处理。按数据传送方式分,I/O接口有串行接口和并行接口两种类型。 (2)串行接口和并行接口的特点如下: - 串行接口:数据是通过一根线按位依次传输的,传输速率相对较慢,但可以使用较长的传输线路。典型的串行接口包括串口和USB接口。 - 并行接口:数据是通过多根线同时传输的,传输速率相对较快,但受限于传输距离和线路数量。典型的并行接口包括并口和PCI总线。 (3)CPU进行设备的寻址时,可以通过两种方式进行: - 内存映射方式:将I/O端口映射到内存地址空间,CPU通过访问内存地址来访问I/O端口。这种方式简单易用,但需要占用大量的地址空间。 - I/O端口编址方式:将I/O端口单独编址,CPU通过向I/O端口地址发送读写命令来访问I/O端口。这种方式节省地址空间,但需要进行额外的编址操作。 I/O端口编址方式有两种: - 独立编址方式:将I/O端口单独编址,需要使用专门的I/O指令进行访问。 - 内存映射I/O方式:将I/O端口映射到内存地址空间中,可以使用与读写内存相同的指令进行访问。 (4)程序查询I/O方式是一种简单的I/O操作方式。其工作原理是程序周期性地轮询每个设备是否有数据需要传输,如果有则进行传输。这种方式简单易用,但需要程序占用大量的时间和CPU资源进行轮询,效率较低。 ### 回答2: (1) I/O接口是计算机与外部设备进行数据交换的接口。它是计算机系统的重要组成部分,用于连接CPU和各种输入输出设备。I/O的基本功能包括输入和输出。输入是指将外部设备的数据输入到计算机系统中,输出是指将计算机系统的数据输出到外部设备中。按数据传送方式分,有并行接口和串行接口两种类型。 (2) 串行接口的特点是一次传送一个bit的数据,传输速度较慢,但可以通过使用调制解调器来扩展传输距离。并行接口的特点是可以同时传送多个bit的数据,传输速度快,但传输距离较短,且不易扩展。 (3) CPU通过设备号进行设备的寻址。设备号是一个唯一标识符,用于指示特定外部设备。I/O端口的编址方式有两种:内存映射I/O和端口映射I/O。内存映射I/O方式将设备和内存地址空间中的某一地址关联起来,通过读写该地址来进行设备的读写操作;端口映射I/O方式则将设备和一个特定的端口地址关联起来,通过读写该端口地址来进行设备的读写操作。 (4) 程序查询I/O方式是一种简单的I/O控制方式,其工作原理是通过程序不断地查询外部设备的状态,然后根据设备的状态来进行相应的操作。当程序发起I/O操作时,先查询设备的状态,如果设备就绪,则进行数据传送,否则继续进行查询,直到设备就绪为止。这种方式的特点是简单易实现,但效率相对较低,占用较多的CPU时间。 ### 回答3: (1)I/O接口是计算机与外部设备之间进行数据传输的接口。I/O的基本功能包括输入(从外部设备读取数据)、输出(向外部设备发送数据)和控制(控制设备的工作状态)三个方面。按数据传送方式分为串行接口和并行接口两种类型。 (2)串行接口是一种数据传送方式,它通过单一的传输线逐位地传输数据。串行接口的特点是传输速度相对较慢,但占用的引脚少,适合用于远程传输和长距离传输。并行接口是另一种数据传送方式,它同时通过多条传输线同时传送数据的每一位。并行接口的特点是传输速度相对较快,但占用的引脚多,适合用于短距离传输和数据传输量较大的情况。 (3)CPU通过设备地址来进行设备的寻址。当CPU需要与某个设备进行通信时,它给该设备分配一个独立的地址,通过这个地址来访问设备的寄存器或者缓冲区。I/O端口的编址方式有两种:内存映射和端口映射。内存映射是将I/O设备的地址空间与内存地址空间合并,I/O设备的寄存器和缓冲区与内存单元使用相同的地址。端口映射则是为I/O设备专门分配一段地址空间,与内存地址空间分开,CPU可以使用特殊的指令读写端口地址。 (4)程序查询I/O方式是一种简单的I/O处理方式,其工作原理是通过不断轮询I/O设备的状态来判断是否有数据需要读取或写入。CPU不断地查询I/O设备的状态,当发现设备有数据需要读取或写入时,就进行相应的数据传输操作。这种方式的优点是实现简单,适用于少量设备和数据传输量较小的场景。缺点是CPU不断查询设备的状态占用大量的处理器时间,效率较低,且存在设备响应时间不一致的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值