软件如何在硬件上运行?

How Does Software Work on Hardware?

注意:请在回答之前非常了解我的问题。

简单地说,我的问题是:软件如何在硬件上运行?软件在哪里遇到硬件?什么是软件???我知道软件是一组指令,告诉计算机硬件如何工作。但是,如果我不能触摸软件..这意味着软件只是硬件的一部分。

例如,如果我有一个电子芯片..上面的软件在哪里????是电吗??

如果芯片没有电,是不是就没有软件?? 什么是软件????????????我已经写了 4 年多的程序,但我无法想象..这是一个谜..

我真的很困惑..

任何人都可以详细解释一下它是如何工作的吗?将不胜感激

软件确实存在于几个层面。其中之一是人类可以理解的,它只是人类告诉硬件该做什么的一种便捷方式。它通常也处于比计算机操作更高的抽象级别。所以你可以有类似

的东西
if x = 5 then print "hello"

这对于我们碳基生命形式来说相当容易理解,但对于计算机来说却非常困难。

为了让计算机更简单,它是 运行 通过翻译器;编译器或解释器。在不深入具体细节的情况下,它们中的任何一个都执行一组转换,将这种人类可读的形式转换为计算机理解的非常低级的指令,以执行相同的操作。这些基本上是一组数字。

当这些被复制到计算机中并 运行s 它们并且它们是正确顺序的正确数字时,它们将执行 x 和 5 之间的比较,如果它们相同,它将输出 "hello"某处。对我们来说,那条简单的线可以在计算机中转换成一个由几百或几千个数字组成的序列。

至于存储,这取决于硬件的种类。有些硬件即使在关闭时也能存储数据。以相机中的 SD 卡为例:您不希望电池 运行 没电时照片消失,因此它们是一种内存形式,即使断电也能保留。另一方面,RAM 在断电时通常会丢失数据。这就是为什么我们有磁盘驱动器将数据以磁化形式保存在旋转磁盘上 - 它们可以在整个电源循环中保存数据,以便为下一次加电做好准备。