首页 > 编程语言 >读《程序是怎样跑起来的》十一、十二章有感

读《程序是怎样跑起来的》十一、十二章有感

时间:2024-02-28 23:01:01浏览次数:29  
标签:十一 控制器 有感 中断 端口 十二章 中断请求 外围设备 CPU

我在第十一章明白了硬件的控制方法。在x86系列cpu用的汇编词汇中,通过IN指令来实现I/O输入,OUT指令来实现I/O输出。用来实现计算机主机和外围设备输入输出交互的IC称为I/O控制器或简称为I/O。所有连接计算机的外围设备都会分配一个I/O地址编号。IRQ指的是用来执行硬件中断请求的信号。硬件的控制是由Windows全权负责的。Windows提供了通过应用来间接控制硬件的方法,利用操作系统提供的系统调用功能就可以实现对硬件的控制,在Windows中,系统调用成为API。各API就是应用调用的函数。这些函数的实体被存储在DLL文件中。
支撑硬件输入输出的IN指令和OUT指令。IN指令和OUT指令的语法如图所示;

IN指令通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中,OUT指令则是把CPU寄存器中存储的数据,输出到指定端口号的端口。计算机主机中,附带了用来连接显示器及键盘等外围设备的连接器,而各连接器的内部,都连接有用来交换计算机主机同外围设备之间电流特性的IC。这些IC,统称为I/O控制器。I/O是Input/Output的缩写。显示器、键盘等外围设备都有各自专用的I/O控制器。I/O控制器中有用于临时保存输入输出数据的内存,这个内存就是端口。I/O控制器内部的内存,也称为寄存器。在实现I/O控制器功能的IC中,会有多个端口。由于计算机中连接着很多外围设备,所以就会有多个I/O控制器,当然也会有多个端口。一个I/O控制器既可以控制一个外围设备,也可以控制多个外围设备。各端口之间通过端号进行区分,端号也称为I/O地址。IRQ是中断请求的意思。IRQ是用来暂停当前正在运行的程序,并跳转到其他程序运行的必要机制。该机制成为中断处理。中断处理在硬件控制重担当着重要角色。从中断处理开始到请求中断的程序运行结束之前,被中断的程序的处理是停止的。这种情况就类似于在处理文档的过程中有电话打进来,电话就相当于中断处理。实施中断请求的是连接外围设备的I/O控制器,负责实施中断处理程序的是CPU。为了进行区分,外围设备的中断请求会使用不同于I/O端口的其他编号,改编号称为中断编号。在控制面板中查看软件驱动器的属性时,IRQ处显示的数值是06,表示的就是用06号来识别软盘驱动器发出的中断请求。另一方面,操作系统及BIOS则会提供相应中断编号的中断处理程序。假如同时有多个外围设备进行中断请求的话,CPU会为难。因此,我们可以I/O控制器和CPU中间加入名为中断控制器的IC来进行缓冲。中断控制器会把从多个外围设备发出的中断请求有序地传递给CPU。CPU接收到来自中断控制器的中断请求后,会把当前正在运行主程序中断,并切换到中断处理的程序。中断处理的第一步处理,就是把CPU所有寄存器的数值保存到内存的栈中。在中断处理程序中完成外围设备的输入输出后,把栈中保存的数值还原到CPU寄存器中,然后再继续进行对主程序的处理。DMA是指在不通过CPU的情况下,外围设备直接和内存进行数据传送。磁盘等都用了这个DMA机制。通过利用DMA,大量数据就可以在短时间内转送到主内存。
我在的十二章了解到了计算机如何思考。作为计算机大脑的CPU,其本身并不具有思考功能。程序的使用目的大体划分为两类。一类是大家作为工具来使用的程序,另一个使用目的使用程序来代替执行人类的思考过程。用程序来表示人类的思考方式。用程序来表示人类的思考习惯。

标签:十一,控制器,有感,中断,端口,十二章,中断请求,外围设备,CPU
From: https://www.cnblogs.com/chaipanpan/p/18042247

相关文章

  • 《程序是怎样跑起来的》第十二章“让计算机“思考””
    读完本书的最后一章“让计算机“思考””,让我对程序有了更深入的了解,程序与我们的生活密不可分。程序的使用目的大体可以划分为两类。一类是大家作为工具来使用的程序。另外一个使用目的是用程序来代替执行人类的思考过程。用程序来表示人类的思考方式,用程序来表示人类的思考习惯......
  • 程序是怎样跑起来的第十一章观后感
    Window控制硬件时借助的是输人输出指令。其中具有代表性的两个输入输出指令就是IN和OUT。IN指令通过指定端口号的端口输入数据,并将其存储在CPU内部的寄存器中。OUT指令则是把CPU寄存器中存储的数据,输出到指定端口号的端口。计算机主机中,附带了用来连接显示器及键盘等外围设备的连......
  • 第十一章读后感
    第十一章主要介绍了硬件控制方法。通过阅读这一章节,我对计算机硬件的控制方式有了新的了解。书中详细介绍了计算机硬件的组成和工作原理。计算机由中央处理器(CPU)、内存、输入输出设备等组成,它们通过总线相互连接并共同完成计算任务。书中解释了CPU的结构、内存的存储原理以及输入......
  • 程序是怎样跑起来的第十章、十一章读后感
    第十章,了解到他为我们讲述了通过汇编语言来解析程序结构的方法。首先,我们知道了汇编语言与本地代码是一一对应的,把汇编语言转换为本地代码,就好像数学中三角函数中的度数和值一样。我感觉十章好像前面的汇总,在前面我们也看到函数的调用机制,在这函数的名称是函数的内存地址。这章也......
  • 《程序是怎样跑起来的 》 日矢泽久雄 第十二章
    我对硬件和软件之间的区别有了更清晰的认识。作者详细介绍了主要的硬件部件如CPU、控制器、运算器、输入设备和输出设备等,并讲解了它们各自的功能和工作方式。这使我明白,虽然计算机看起来只是一个黑盒子,但其内部的复杂性远远超过了我们的想象。我对输入指令和输出指令有了更深入......
  • 第十二章 如何让计算机“学习”
    当我们谈论计算机“学习”时,我们实际上是指机器学习,这是一种让计算机从数据中学习并自主改进其性能的技术。在阅读《程序是怎样跑起来的》的第十二章后,我对这一领域有了更深入的了解,也对计算机如何学习产生了更多的思考。以下是我对本章的总结:1.什么是机器学习机器学习指的是让......
  • 《程序是怎样跑起来的》第十一章读后感
    硬件性能设计控制。主要采取双重电路、双重读出和回波校验等方法。双重电路可执行双重计算并比较两个计算结果;双重读出即以两个阅读器分别阅读卡片、磁带,或随机存取媒体上的记录,并比较两个阅读操作的结果;回波校验即将数据送回原输出装置与其原始数据相比较,以校验接收装置所收到的......
  • 《程序是怎样跑起来的》第十二章读后感
    要让计算机能够思考,需要使用深度学习技术。深度学习是一种模拟人类神经网络的机器学习技术,通过训练大量的数据,让计算机能够自动地学习和理解输入的数据,并从中提取有用的特征和模式。深度学习技术可以应用于语音识别、图像识别、自然语言处理等领域,让计算机能够自动地识别和理解人......
  • yolo7检测学习Bubbliiiing的视频有感——(2)FileNotFoundError: [Errno 2] No such file
    这个问题作为老程序员是不应该犯的,因为只是相对路径和绝对路径的问题按照步骤将对应的数据集放入目录后,运行voc_annotation.py想要生成两个txt文件,结果发现报错FileNotFoundError:[Errno2]Nosuchfileordirectory其实就是classes_path和VOCdevkit_path的路径不对,像我自己......
  • 《程序是怎样跑起来的 》 日矢泽久雄 第十一章
    在这一章节中,作者日矢泽久雄通过例子和解释,向我展示了程序的应用和功能。他以猜拳游戏为例,解释了计算机如何根据输入的程序执行特定的任务。这一章节让我更加深入地理解了计算机的本质——它只是一个工具,虽然它不会像人类那样有自主的想法,但它的确可以模拟人类的行为。当我们把程......