首页 > 其他分享 >硬件控制方法

硬件控制方法

时间:2024-02-27 19:24:00浏览次数:25  
标签:控制 控制器 中断 端口 硬件 外围设备 方法 CPU 端口号

利用操作系统提供的系统调用功能就可以实现对硬件的控制。在 Windows 中,系统调用称为 API。
IN 指令通过指定端口号的端口输入数据,并将其存储在 CPU 内部的寄存器中。OUT 指令则是把 CPU 寄存器中存储的数据,输出到指定端口号的端口。计算机主机中,附带了用来连接显示器及键盘等外围设备的连接器。而各连接器的内部,都连接有用来交换计算机主机同外围设备之间电流特性的 IC。这些 IC,统称为 I/O 控制器。由于电压不同,数字信号及模拟信号的电流特性也不同,计算机主机和外围设备是无法直接连接的。I/O 是 Input/Output 的缩写。显示器、键盘等外围设备都有各自专用的 I/O 控制器。I/O 控制器中有用于临时保存输入输出数据的内存。这个内存就是端口。端口(port)的字面意思是“港口”。由于端口就像是在计算机主机和外围设备之间进行货物(数据)装卸的港口,所以因此得名。I/O 控制器内部的内存,也称为寄存器。虽然都是寄存器,但它和 CPU 内部的寄存器在功能上是不同的。CPU 内部的寄存器是用来进行数据运算处理的,而 I/O 寄存器则主要是用来临时存储数据的。在实现 I/O 控制器功能的 IC 中,会有多个端口。由于计算机中连接着很多外围设备,所以就会有多个 I/O 控制器,当然也会有多个端口。一个 I/O 控制器既可以控制一个外围设备,也可以控制多个外围设备。各端口之间通过端口号进行区分。端口号也称为 I/O 地址。IN 指令和 OUT 指令在端口号指定的端口和 CPU 之间进行数据的输入输出。这和通过内存地址来进行主内存的读写是一样的道理。
IRQ(Interrupt Request)是中断请求的意思。IRQ 是用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制。该机制称为中断处理。中断处理在硬件控制中担当着重要角色。因为如果没有中断处理,就有可能出现处理无法顺畅进行的情况。从中断处理开始到请求中断的程序(中断处理程序)运行结束之前,被中断的程序(主程序)的处理是停止的。这种情况就类似于在处理文档的过程中有电话打进来,电话就相当于中断处理。假如没有中断功能的话,就必须等到文档处理完毕才可以接听电话。这样就太不方便了。由此可见,中断处理有着很大的价值。就像接听完电话后返回到原来的文档作业一样,中断处理程序运行结束后,处理也会返回到主程序中继续。实施中断请求的是连接外围设备的 I/O 控制器,负责实施中断处理程序的是 CPU。为了进行区分,外围设备的中断请求会使用不同于 I/O 端口的其他编号,该编号称为中断编号。在控制面板中查看软盘驱动器的属性时,IRQ 处显示的数值 06,表示的就是用 06 号来识别软盘驱动器发出的中断请求。另一方面,操作系统及 BIOS[5] 则会提供响应中断编号的中断处理程序。假如同时有多个外围设备进行中断请求的话,CPU 也会为难。为此,我们可以在 I/O 控制器和 CPU 中间加入名为中断控制器的 IC 来进行缓冲。中断控制器会把从多个外围设备发出的中断请求有序地传递给 CPU。
由于外围设备有很多个,因此就有必要按照顺序来调查。按照顺序调查多个外围设备的状态称为轮询。对几乎不产生中断的系统来说,轮询是比较合适的处理。
DMA 是指在不通过 CPU 的情况下,外围设备直接和主内存进行数据传送。磁盘等都用到了这个 DMA 机制。通过利用 DMA,大量数据就可以在短时间内转送到主内存。I/O 端口号、IRQ、DMA 通道可以说是识别外围设备的 3 点组合。不过,IRQ 和 DMA 通道并不是所有的外围设备都必须具备的。计算机主机通过软件控制硬件时所需要的信息的最低限,是外围设备的 I/O 端口号。IRQ 只对需要中断处理的外围设备来说是必需的,DMA 通道则只对需要 DMA 机制的外围设备来说是必需的。假如多个外围设备都设定成同样的端口号、IRQ 及 DMA 通道的话,计算机就无法正常工作了。这种情况下,就会出现“设备冲突”的提示。
如果用一句话来简单地概括显示器显示文字及图形的机制,那就是显示器中显示的信息一直存储在某内存中。该内存称为 VRAM(Video RAM)。在程序中,只要往 VRAM 中写入数据,该数据就会在显示器中显示出来。实现该功能的程序,是由操作系统或 BIOS 提供,并借助中断来进行处理的。在现在的计算机中,显卡等专用硬件中一般都配置有与主内存相独立的 VRAM 和 GPU(Graphics Processing Unit,图形处理器,也称为图形芯片)。

标签:控制,控制器,中断,端口,硬件,外围设备,方法,CPU,端口号
From: https://www.cnblogs.com/duyan123/p/18037621

相关文章

  • 《系统科学方法概论》——第五章 自组织系统方法
    一、自组织系统理论的历史发展1、19世纪中期热力学的主要成就及理论意义(一)19世纪中期热力学的主要成就:由于机械化大生产的推动,19世纪中期,热力学和分子物理学发展起来了。当时的主要成就是发现了热力学第一定律和第二定律。(1)热力学第一定律。一个系统由始态变化到终态时,其内能的......
  • 使用原生 cookieStore 方法,让 Cookie 操作更简单
    前言对于前端来讲,我们在操作cookie时往往都是基于document.cookie,但它有一个缺点就是操作复杂,它并没有像localStorage那样提供一些get或set等方法供我们使用。对与cookie的操作一切都是基于字符串来进行的。为了让cookie的操作更简便,Chrome87率先引入了cookieStore方法。docume......
  • 系统科学方法概论第二章观后感
    在阅读《系统科学方法概论》第二章后,我对系统科学方法有了更深入的理解。这一章介绍了系统的概念、特征和分类,以及系统分析方法的基本步骤。我认识到系统不仅仅是各个部分的简单组合,而是一个相互作用、相互影响的整体。系统的特征包括整体性、层次性、相关性和动态性等,这些特征决......
  • 《系统科学方法概论》第四章读后感
    第四章主要讲的是控制方法,其中,控制论主要,由古代自动机的思想和实践开始发展到至今的四大分支理论体系。接着就开始介绍什么是控制和控制系统,控制就是在一定的环境中,一个系统通过一定的方式驾驭或支配另一个系统,做合目的运动的行为以及过程,而控制系统的构成,主要包括五个,失控系统,受......
  • 系统科学方法概论 第一章
    在阅读《系统科学方法概论》的第一章后,我对系统科学方法有了全新的认识。系统科学方法是一种研究复杂系统、寻求解决复杂问题的方法论。它强调从整体和关系的角度去理解和解决问题,这与我们通常的思维方式有很大的不同。首先,我了解到系统科学方法的核心是整体性原则。整体性原则认......
  • 产品/组织持续改进方法论
    一、持续改进应是永恒的追求质量改进是质量管理的一部分,它致力于增强满足质量要求的能力。持续改进是每一个组织永恒的追求。管理者应不断地主动寻求对组织过程的有效改进,而不是等出现了问题才去寻找改进的机会。改进的范围可以从渐进的、日常的持续改进到战略突破性改进,组织应......
  • npm安装插件,安装好时,进度条卡住解决方法
     宋田田已于2023-09-0418:19:28修改阅读量1.6k收藏24点赞数13文章标签:vuenpm版权一、遇到问题在使用npm安装插件或依赖包的时候,安装好时,进度条卡住,等待2分钟后,进度条才消失1.以npm安装vue2为例安装好时,进度条卡住文件其实已经创建好了等待2分钟后,进度条才消失2......
  • 系统科学方法概论》第3章读后感
    又到了每天分享时间,下面分享《系统科学方法概论》第3章读后感。信息科学主要是在通信实践基础上发展起来的。随着通信技术的迅速发展,从20世纪20年代起,人们就逐步对通信实践人当中遇到的问题展开了深入的理论研究。其中,申农信息论的创立较为有名。申农信息论是在一系列科研成果的基......
  • 【教程】iOS上获取崩溃日志的N+1种方法
     引言在移动应用开发过程中,经常会遇到应用程序崩溃的情况。为了更好地排查和解决这些崩溃问题,获取崩溃日志是至关重要的。本文将介绍多种在iOS设备上获取崩溃日志的方法,帮助开发者快速定位问题并进行修复。摘要本文介绍了在iOS设备上获取崩溃日志的多种方法,包括从系统设置中......
  • Anaconda添加pycocotools安装方法【新】
    ERROR:Failedbuildingwheelforpycocotools解决办法第一种方法:在终端中直接输入:pipinstallgit+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI这个方法是在目前网上最常见的解决方法,但是试过几次都没有成功(不过网上很多人用这个方法都成功了,可......