软件是如何控制硬件的

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:55:38
我对程序能够控制硬件进行工作很不理解,问老师也没有满意的回答。希望有高人给我解释一下。

你不理解软件为何能控制硬件,大概是因为你觉得软件是看不见摸不着的东西,如何能够控制硬件这样有形的实体吧。
其实问题很简单,软件在工作的时候也是实体,软件的实质就是电流信号,用电压的高低代表不同是信息,用这些电流信号去控制逻辑电路的通断,靠逻辑电路的通断来控制硬件的工作。
说到底软件就是起到一个开关信号的作用,开关要工作,必需保证硬件是加电的,没有接通电源的硬件是无法用软件来控制的。就好比没有插上电源的台灯,你怎么按开关都是不会亮的。
任何软件在运行前都要有一个将其转化为电流信号的实体化过程,你写在纸上的软件代码是永远也不能控制硬件的。早期电脑用人工接线输入程序,相当于用人体的力量将软件代码实体化为电信号;现在我们用的软盘、硬盘是通过磁头将程序代码转化为电信号,光盘需要通过光头将程序代码转化为电信号等等。

这个问题看似简单,其实涉及到一些很底层的内容和原理。对于一般计算机爱好者来讲,又没有办法说明白,原因就是我们从来没有考虑过电路在物理上的实现。
计算机软件说到底,不过就是一些指导电子元件工作的指令序列,那么你一定又会问电子元件为什么会按这些序列工作呢?指令序列的在电路中的实质就是一些有规律且有一定意义的电脉冲,电脉冲控制电子元件的各种状态。工作过程非常复杂。最简单最基本的就是几个逻辑门电路的实现:比如“或”电路,“与”电路等等。通过将这些逻辑门电路的组合和协同,就能实现电脑整体上的运算和处理能力。因为这是十几个数量级的基础电路的有机集合的对外的体现,如奔腾系列CPU集成了上亿个半导体元件,要想把各个元件的功能彻底认知,是非常困难的。可以把它们比作每个人的活动合在一起就构成了社会

学习《体系结构》,三两句话还真说不清楚。体系结构会告诉你软件指令怎么控制芯片,电压怎么表示0和1,存贮设备怎么保存等等。

  1. 计算机的两个主要组成部分是它内部的存储器及处理器。

  2. 内部存储器被用来存储程序和数据,处理器则是一组电路,用来实现一系列的基本运算或机器指令,如进行算术运算和逻辑运算的指令。

  3. 在大多数计算机中,有一些指令通常被称为宏指令,实际上这些指令时通过定义更低层次的指令(称为微指令)来实现的。