zoukankan      html  css  js  c++  java
  • 《程序是怎样跑起来的》读书笔记——第十一章 硬件控制方法

    1 应用和硬件无关?

    在用 C 语言等高级编程语言开发的 Windows 应用中,大家很少能 接触到直接控制硬件的指令。这是因为硬件的控制是由 Windows 全权负责的。

    不过,Windows 提供了通过应用来间接控制硬件的方法。 利用操作系统提供的 系统调用功能就可以实现对硬件的控制。

    2 支撑硬件输入输出的 IN 指令和 OUT 指令

    Window 控制硬件时借助的是输入输出指令。其中具有代表性的 两个输入输出指令就是 IN 和 OUT。这些指令也是汇编语言的助 记符。

    IN指令通过指定端口号的 端口输入数据,并将其存储在 CPU 内部的寄存器中。 OUT指令则是把CPU 寄存器中存储的数据,输出到指定端口号的端口。

    计算机主机中, 附带了用来连接显示器及键盘等外围设备的连接器。而各连接器的内 部,都连接有用来交换计算机主机同外围设备之间电流特性的 IC。这 些IC,统称为 I/O 控制

    I/O 是 Input/Output 的缩写。显示器、键盘等外围设备都有各自专 用的 I/O 控制器。I/O 控制器中有用于临时保存输入输出数据的内存。 这个内存就是 端口在实现 I/O 控制器功能的 IC 中,会有多个端口。由于计算机中连 接着很多外围设备,所以就会有多个 I/O 控制器,当然也会有多个端口。一个 I/O 控制器既可以控制一个外围设备,也可以控制多个外围 设备。各端口之间通过 端口号进行区分。端口号也称为I/O 地址

    3 外围设备的中断请求

    IRQ 是用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制。该机制称为 中断处理


    为了进行区分,外围设备的中断请求会使用不同于 I/O 端口的其他编号,该编号称为 中断编号

    假如同时有多个外围设备进行中断请求的话,CPU 也会为难。为 此,我们可以在 I/O 控制器和 CPU 中间加入名为 中断控制器 的 IC 来进 行缓冲。


    4 DMA 可以实现短时间内传送大量数据

    在了解 I/O 输入输出及中断处理的同时,还希望大家记住另外一个机 制,这就是DMA(Direct Memory Access)。 DMA 是指在不通过 CPU 的 情况下,外围设备直接和主内存进行数据传送。磁盘等都用到了这个 DMA 机制。通过利用 DMA,大量数据就可以在短时间内转送到主内存。

    5 文字及图片的显示机制

    显示器中显示的信息 一直存储在某内存中。该内存称为 VRAM(Video RAM)。在现在的计算机中, 显 等专用硬件中一般都配置有与主内存相 独立的VRAM和 GPU(Graphics Processing Unit,图形处理器,也称 为图形芯片)。这

  • 相关阅读:
    JQuery中的id选择器含有特殊字符时,不能选中dom元素
    解决Mac下MySQL登录问题
    Mac 安装mysql
    禁止chrome浏览器自动填充表单的解决方案
    Eclipse 编译错误 Access restriction: The type 'JPEGCodec' is not API (restriction on required library 'C:Program FilesJavajre7lib t.jar')
    羊皮纸月亮计划
    ActionSupport.getText()方法
    linux入门经验之谈
    tomcat设置默认启动项
    网页设置下载apk
  • 原文地址:https://www.cnblogs.com/cmi-sh-love/p/cheng-xu-sddhi-zen-yang-pao-qi-lai-de-du-shu-bi-jidi.html
Copyright © 2011-2022 走看看