所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

硬件是怎么让软件工作的?

发布时间:2020-04-15 16:21:33

资讯分类:硬件  软件  绚丽  一堆  硬件  软件  指令
硬件是怎么让软件工作的?

如果将题目换成:“软件怎样让硬件工作”可能更合适,站在人的视角可能被认为是软件在做事情,实质是它在驱动硬件工作,软件输人的是人的行为,输出硬件可以接收的机器指令,硬件接收到指令后,将其转换为电信号,继而应用到具体的实体上,达到控制硬件的行为,核心就是人通过软件控制硬件的行为,满足人的需求。

我们可以进行深入讨论,软件是通过高级语言来表达人的行为,如java,python,.net等等,这些高级语言不会直接操纵硬件,它只是人要做的事情,编译器将高级语言转换为汇编或机器语言,通过二进制的方式生成CPU可以识别的机器指令,这就进入到硬件可以识别的范围了,硬件通过指令实现各种与非门或集成电路中二极管的通断,应用在各种家电或电子产品上。

总之,如果用一场战役来诠释的话,软件相当于是一个作战计划,而硬件就是根据这个计划部署的各种军事装备以及实打实的战争现场。软件指导和操纵硬件按照既定方案执行。

硬件是怎么让软件工作的?

在悟空问答上的348个问题,只写接地气的科技内容,欢迎关注。


复杂的讲不来,说点通俗的。先来问一下,你觉得你是怎么让你控制你的身体运动的呢?


比如说你的手触摸到碗,被烫了一下,然后你立即将手缩了回来。从这个流程来看,是不是得先有一个外界的输入,也就是触摸的碗是很热的;然后皮肤将这个“热”翻译成感觉信号传递给大脑?大脑再做出相匹配的反应,然后输出给手部的肌肉;肌肉接收到这个信号,做出相对应的反应,把你的手缩回来。那么我们其实说硬件就是手、大脑这些东西对吧?那么软件是什么呢?是不是其实就是这一系列神经传递的东西啊?

实际上,从结果来看,是硬件控制硬件做出的反应,就像你伸手摸碗,最后缩回手臂,便面上改变的只是你的硬件状态;而所谓的软件,只不过是你身体内部神经之间的传递,你是摸不见看不着,但是却真真实实感觉它们好像存在一样。其实手机电脑也是一样的。

我们用户就是碗,键盘和鼠标就是人手,处理器+闪存就是大脑,存储着预先设置好的各种指令供大脑调配,屏幕、音响、摄像头、喇叭这些东西就是最终要做出反应的硬件。都知道处理器计算速度越快,电脑运行起来就越快,这就像是脑子聪明的人和脑子笨的人同时做100道乘法,脑子聪明的人肯定能更快算完(不就是从记忆中匹配出相对应的乘法口诀表)。电脑处理器也是一样,同时涌入1W条需要处理的指令,每条需要匹配到相对应的指令最终输出给预定的硬件,运算差的处理器需要的时间就越长,用户感觉电脑运行起来比较慢。


电脑的输入,是键盘和鼠标,每一个按键,都代表着一个特殊的信号,你敲打键盘,内部的逻辑是给到一个相应的信号,这个信号属于高级语言,计算机并不能直接读懂,因此中间就需要编译器转化为硬件能够读懂的汇编语言,也就是硬件的指令,这种指令其实已经被提前设置好(所谓的下载软件是下载什么东西呢?其实就是这样的一套预先设置好的指令集),也就是输入什么指令,计算机就会从数据库中匹配相应的指令输出(这就是为什么大脑给你传递的信息是松手,你绝对不会握紧,因为这种指令是提前设定好的,松手的指令是松手,握紧的指令是握紧)。


所以说,我们平时所看见的所谓显示屏上显示的“系统”和“软件”,其实本身只是硬件的不同形态而已,就像你此时看见这篇问答的时候,你看见的黑色字体,不过是屏幕像素点调整到了不同亮度组合而成的罢了,哪儿有什么所谓的软件。软件只不过是源源不断在计算机内部传递的电信号,告诉硬件应该以什么样的方式来展现给用户,屏幕的几百万个像素点该怎么亮,喇叭应该怎么震动而已。一切的一切,都只是硬件的不同形态。

硬件是怎么让软件工作的?

硬件给软件一个运行环境

硬件是怎么让软件工作的?

要让计算机动起来,需要硬件与软件的共同工作。有人说,硬件是计算机的躯体,看得见摸得着;而软件是计算机的灵魂,是信息的处理系统。软件是计算机的灵魂,因为没有软件,硬件是“死”的,什么也干不了。软件的主要作用是使计算机容易操作,能用更丰富的手段处理和表达信息。

有两个小朋友想下象棋。两手空空当然下不成。首先,必须有一副棋子和棋盘。然而,有了棋子和棋盘就能下棋了吗?不,还必须有一套完整的下棋的规则,如“马走日,象走田”等等。如果没有规则,让棋子在棋盘上乱走一通,那还叫什么象棋呢?

棋子和棋盘是物质。它们被制作出来,摆在那里,看得见,摸得着。用木头棋子或塑料棋子轻轻敲击桌面,会发出清脆的声音。可以说棋子和棋盘是“硬碰硬”的东西。我们不妨称它们为“硬件”。

而下棋规划呢?它看不见,摸不着,是人们脑子里想出来的东西。它体现了人们的某种智慧(虽然有的规则也被印在纸上,但重要的不是那张纸,而是纸上文字表示所表达的内容)。如果我们把棋子棋盘称为“硬件”,那么相对来说,下棋规则就叫“软件”了。

要想下棋,离了硬件才行,离了软件也不行。

还有一个小朋友想弹钢琴。当然,必须有一架钢琴,最好是一架功能齐全、音色优美、闪闪发光的好钢琴。可是,光有钢琴还不行。还必须有一些优美动听的曲子。音乐家们发挥自己的艺术才能,创造出许多好曲子,并把它们用五线谱记录下来,供人们演奏。有钢琴,又有了乐谱,现在可以演奏了。

钢琴是物质基础,我们称它为硬件;乐曲是人们的创作,我们称之为软件。光有乐谱没有钢琴,你就听不到琴声,光有钢琴没有乐谱,你听到的也只是一片杂乱的噪音。

通过上面两个例子,读者可能对什么是硬件,什么是软件有一个大致的了解。下面我们再举几个例子:

如果录放机是硬件,那么磁带上录的那些歌曲就是软件;

如果电视机是硬件,那么电视台播出的节目就是软件;

如果算盘是硬件,那么珠算只诀就是软件;

如果电子游戏机是硬件,那么游戏卡上存储的游戏规则就是软件;

如果人本身算是硬件的话,那么什么是软件呢?对,人的头脑中积累的知识与智慧就是软件;

在软件的帮助下,个人电脑越来越容易使用。早期的计算机,真是不折不扣的机器,操作者不得不记忆很多古怪的操作命令。现在的计算机就很有“人情味”了,视窗操作系统精美实用,还有很多很好的文字和图表处理软件,让我们的写作、数据分析得心应手。

电子计算机的软件与硬件是一对形影不离的孪生兄弟,离了谁也无法工作。如果两台计算机的硬件完全相同,使用了不同的软件,它们表现出的能力就不同。正如对同一台录音机,使用高质量的原版磁带和使用劣质的盗版磁带,收听效果会完全不同。反过来,如果硬件不同,那么它们容纳软件的能力也不同。就好像使用一台黑白电视机,无论如何也不能收看彩色电视节目一样。因此,要使电于计算机发挥更强的能力,一方面要提高硬件的功能,另一方面要不断开发新的软件。

使用电子计算机,当然最好是自己会编程序。但对于经常使用计算机进行同一种工作的人来说,每次都编程序,那工作量就太大了。例如气象台每天用电子计算机预报天气。每编一次程序,十天半个月都不一定能够完成,那就别预报天气了。好在有现成的天气预报软件,每天只要输入当天观测的数据,就可进行预报了。

另外,对某些不是专门从事计算机工作的人来说,他们关心的不是如何编程序,而是如何应用现成的程序。例如,作家并不需要了解汉字如何变成数字,数字又如何变成汉字,只要教会他如何在键盘上敲出汉字就可以了。由于以上的原因,就出现了很多专门编制程序的人。他们编好各种各样的程序,供人们使用。对某些特殊的需要,还可以聘请他们编制特殊的程序。这类工作一般称为软件开发。当你在街上忽然看到一块“软件开发公司”的招牌时,该不会再感到奇怪了吧?

留言与评论(共有 0 条评论)
   
验证码:
Top