前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】软考中级-软件设计师 007-计算机系统知识(输入输出技术)

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

原创
作者头像
愚公搬代码
发布2024-01-19 22:21:42
2050
发布2024-01-19 22:21:42
举报
文章被收录于专栏:愚公系列-考试考证

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,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能够响应并及时处理中断事件。

🚀二、题目


我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🚀前言
  • 🚀一、输入输出技术
    • 🔎1.直接程序控制
      • 🔎2.程序中断方式
        • 🔎3.DMA
          • 🔎4.输入/输出处理机(IPO)
          • 🚀二、题目
          相关产品与服务
          数据保险箱
          数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档