Architecture 软件如何在硬件上工作?

Architecture 软件如何在硬件上工作?,architecture,Architecture,注:请在回答之前充分理解我的问题 简单地说,我的问题是:软件如何在硬件上工作?软件和硬件在哪里相遇?什么是软件???我知道软件是告诉计算机硬件如何工作的一组指令。但是,如果我不能触摸软件。。这意味着软件只是硬件的一部分 例如,如果我有一个电子芯片。。上面的软件在哪里????是电吗 如果芯片没有电,这是否意味着它没有软件?? 什么是软件????????????????我写程序已经4年多了,但我无法想象。。这是一个谜 我真的很困惑 有人能详细解释一下这是怎么回事吗?谢天谢地,软件确实存在于几个层次。

注:请在回答之前充分理解我的问题

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

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

如果芯片没有电,这是否意味着它没有软件?? 什么是软件????????????????我写程序已经4年多了,但我无法想象。。这是一个谜

我真的很困惑


有人能详细解释一下这是怎么回事吗?谢天谢地,软件确实存在于几个层次。其中之一是人类可以理解的,它只是人类告诉硬件该做什么的一种便捷方式。它通常也处于比计算机操作更高的抽象级别。所以你可以吃点类似的东西

if x = 5 then print "hello"
这对我们碳基生物来说相当容易理解,但对计算机来说却非常困难

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

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


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

您已经回答了自己的问题。我知道软件是告诉计算机硬件如何工作的一组指令。你的想法发生在你的大脑中,但这并不意味着它们不存在。这是怎么回事:你可以从机器本身改变数据软件,但你不能那样改变硬件。您需要一些外部机制来更改硬件。从这个意义上讲,ROM是硬件,硬盘上的数据是软件。非常感谢你们宝贵的回答。实际上,我说的是一个非常低的层次。因此,即使是编译器/解释器。。这是一个软件。此外,内核/操作系统是一种软件。所以软件如何与硬件结合??这是魔术吗?老实说,我不相信软件。。除非你说这是硬件的一部分。