【愚公系列】软考中级-软件设计师 007-计算机系统知识(输入输出技术)

举报
愚公搬代码 发表于 2024/01/26 21:22:37 2024/01/26
【摘要】 🏆 作者简介,愚公搬代码🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。🏆《博客内容》:.NET、Java、...

🏆 作者简介,愚公搬代码
🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,51CTO博客专家等。
🏆《近期荣誉》:2023年华为云十佳博主,2022年CSDN博客之星TOP2,2022年华为云十佳博主等。
🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
🏆🎉欢迎 👍点赞✍评论⭐收藏


🚀前言

在计算机系统中,输入输出技术是指计算机与外部设备之间进行数据传输的方法和技术。

  1. 串行通信:
    串行通信是一种逐位传送数据的通信方式。数据通过单根传输线逐位传输,可以实现较长距离的数据传输,但传输速度相对较慢。

  2. 并行通信:
    并行通信是指同时传输多位数据的通信方式。在并行通信中,数据通过多根传输线并行传输,可以实现较快的数据传输速度,但受到距离限制。

  3. 中断机制:
    中断是指计算机系统在执行过程中,由硬件或软件发出的某种信号,用于打断正在执行的程序,转而执行相应的中断处理程序。通过中断机制,可以实现计算机系统对外部设备的实时响应。

  4. DMA(Direct Memory Access)直接内存存取:
    DMA是指计算机系统中,外设可以直接和主存进行数据传输,而无需通过CPU的干预。通过DMA技术,可以实现高速数据传输,减轻CPU的负担。

  5. 输入输出端口:
    计算机系统中,通过输入输出端口与外部设备进行数据交换。输入输出端口一般由特定的I/O指令控制,可以实现对外部设备的读取和写入操作。

  6. 缓冲技术:
    计算机系统中,为了提高数据传输的效率,常常使用缓冲技术。通过在内存中设置缓冲区,可以临时存储输入输出数据,实现输入输出设备与CPU之间的异步操作。

  7. 设备控制器:
    设备控制器是连接计算机系统与外部设备的主要组件,负责控制外部设备的工作。设备控制器通过与计算机系统的总线进行数据交换,实现计算机与外部设备之间的数据传输和控制。

  8. 存储器映射:
    存储器映射是指将输入输出设备的寄存器或控制器映射到计算机系统的内存空间中。通过存储器映射,可以通过读写内存的方式来访问和操作外部设备,简化输入输出操作的编程方式。

🚀一、输入输出技术

🔎1.直接程序控制

直接程序控制是一种输入输出技术,它通过编程方式控制计算机系统的输入输出设备。

在直接程序控制中,输入输出设备的操作是由计算机系统的程序直接控制的。这意味着程序可以直接发送命令给输入输出设备,以完成特定的操作,如读取数据、写入数据、打印文档等。

直接程序控制使用特定的指令和编程接口来与输入输出设备进行通信。这些指令和接口允许程序读取和写入设备的寄存器、缓冲区和状态信息,以便进行设备的控制和数据传输。

分为无条件传送和程序查询方式:

  • 直接程序控制中的无条件传送指的是程序执行时,无需进行条件判断,直接跳转到指定的程序段进行执行的方式。无条件传送通常使用无条件跳转指令(如JMP指令)来实现。
  • 程序查询方式是指程序执行时,根据特定的条件判断结果来选择跳转到不同的程序段进行执行的方式。查询方式通常使用条件跳转指令(如JZ、JNZ等)来实现。条件跳转指令会根据特定的条件判断结果改变程序执行的流程。例如,如果判断结果为真,则跳转到指定的程序段执行;如果判断结果为假,则继续顺序执行下一条指令。

直接程序控制的缺点:

  • 降低了CPU 的效率
  • 对外部的突发事件无法做出实时响应

🔎2.程序中断方式

程序中断是指在执行程序的过程中,当需要进行输入输出操作时,会发生中断,将控制权转移到相应的I/O处理程序上,等待I/O操作完成后再将控制权还给原程序。

程序中断方式的基本流程如下:

  1. 程序执行到需要进行输入输出操作的指令时,比如读取用户输入、写入文件等。
  2. CPU发出一个中断请求信号,将控制权转移到中断处理程序。
  3. 中断处理程序会保存当前程序的状态,将CPU的控制权转移到I/O处理程序。
  4. I/O处理程序会执行相应的输入输出操作,比如从设备中读取数据、向设备中写入数据。
  5. 当I/O操作完成后,中断处理程序会将数据传递给原程序或将数据写入内存中的指定位置。
  6. 中断处理程序将控制权还给原程序,原程序继续执行。

程序中断方式的优点是可以使得CPU在进行输入输出操作时不会浪费太多时间,而是可以继续执行其他程序。缺点是中断处理程序需要占用一定的CPU资源,可能会导致一定的性能损失。

🔎3.DMA

DMA(Direct Memory Access,直接内存访问)是一种计算机输入输出(I/O)技术,用于实现高速数据传输。它允许外部设备(如硬盘、网卡等)直接访问计算机的主内存,而不需要经过CPU的介入,从而提高数据传输的速度和效率。

DMA的工作原理是在CPU和外部设备之间设置一个特殊的DMA控制器,它负责管理数据的传输和存储。当外部设备需要读取或写入大量数据时,它会发送一个DMA请求给DMA控制器,请求将数据传输到或从主内存中。DMA控制器会占用CPU的总线,直接和内存进行数据传输,而不需要CPU的介入。一旦数据传输完成,DMA控制器会发送一个中断信号给CPU,通知数据传输的完成。

使用DMA的好处是它可以减少CPU的负担,提高系统的性能。由于数据传输是直接在内存和外设之间进行的,不需要CPU的介入,所以CPU可以在数据传输的同时继续执行其他任务。这对于需要大量数据传输的应用程序特别有用,如高清视频播放、大规模数据处理等。

🔎4.输入/输出处理机(IPO)

输入/输出处理机(IPO)是计算机系统中的一个重要组成部分,用于处理与外部设备之间的数据输入和输出。

IPO的主要功能是管理计算机系统与外部设备之间的数据传输。它负责接收外部设备发送的数据,并将其传递给中央处理单元(CPU)进行处理。同时,IPO也负责将CPU处理好的数据发送给外部设备进行输出。

IPO可以与各种外部设备进行数据交互,例如键盘、鼠标、显示器、打印机等。它通过与这些设备的接口进行连接,并通过这些接口来控制设备的操作。

除了数据传输功能外,IPO还具备数据缓冲和中断处理的能力。它可以将接收到的数据存储在缓冲区中,以便等待CPU处理。当外部设备发送中断请求时,IPO能够响应并及时处理中断事件。

🚀二、题目

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


🚀感谢:给读者的一封信

亲爱的读者,

我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。

如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。

我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。

如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。

在这里插入图片描述

再次感谢您的阅读和支持!

最诚挚的问候, “愚公搬代码”

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。