硬件和软件是一个完整的计算机系统互相依存的两大部分,它们的关系主要体现在以下几个方面。
⑴ 硬件和软件互相依存
硬件是软件赖以工作的物质基础,软件的正常工作是硬件发挥作用的唯一途径。计算机系统必须要配备完善的软件系统才能正常工作,且充分发挥其硬件的各种功能。
⑵ 硬件和软件无严格界线
随着计算机技术的发展,在许多情况下,计算机的某些功能既可以由硬件实现,也可以由软件来实现。因此,硬件与软件在一定意义上说没有绝对严格的界面。
⑶ 硬件和软件协同发展
计算机软件随硬件技术的迅速发展而发展,而软件的不断发展与完善又促进硬件的更新,两者密切地交织发展,缺一不可。
简单来说软件就是0和1的指令集合,是控制硬件的开关,数字电路就是无数的开关。数字系统有很多种很复杂,但是都是由不同的逻辑门构成的,0和1代表高低电平,改变0和1的组合,就改变了开关(通或断)状态,逻辑发生改变,结果自然就发生改变。建议学习数电。
在计算机上你所看到的都是经过伪装(编码——译码)的,实际上就是0和1,例如:
int a; int b;sum=a+b; 这里显示的a在计算机硬件里是0101,b是1011,sum是0110,+是0000,int是1010,最终显示的结果假设是A,实际上是1111,只是经过了“翻译”显示成人类的语言“A”。输入的int也是“翻译”成人类语言,否则就会是输入上述语句,屏幕显示1010 0101 1010 1011 0110 0101 0000 1011你能看懂就出鬼了。
实际上做了什么呢?就是把a的值(2进制电讯号)放在寄存器A中,b的值放在寄存器B中,通过加法器实行加法运算(因为它叫计算机,就是用来进行运算的)。然后在将值存在寄存器C中。最后再从C中读出结果,显示在屏幕上。
数字计算机就是用01代表高低电平,表现在硬件上就是通断。010101虽然是代码,但是在机器内部就是电平,是可以运算的电平。参加运算的是电!0和1 只是方便记忆人为规定的。就像代数里X,Y。你要乐意010101=XYXYXY,其实是一个意思。
软件通过硬件实现功能,硬件受控于软件,在一个系统中两者缺一不可。具体的你说的软件控制硬件过程:软件编程人员编写的程序通过汇编编译器翻译成硬件可以读懂的语言(二进制代码),然后硬件根据这个二进制文件执行相应的操作。硬件是不会控制软件的,只能是软件去监控硬件的状态,然后再做出反应。看似是硬件控制软件,实则是软件监控硬件。
类似你的大脑指挥你的手去拿东西一样
你可以把软件视为不存在的精神,由精神发出指令控制硬件,也就是你的手去拿东西。
我只能说,这个东西我可以理解,但是解释起来还真不知道说什么话。
其实我也有个事有问题,用软件控制硬件是怎么被发现的。。。。是怎么把光信号,电信号拿来使用的。
人通过 高级语言、汇编语言、ASCII码 来控制计算机的每一个动作指令。
从原理上来讲,就是要将我们能够控制的数字或字母, 利用高级语言、汇编语言、ASCII码转换为计算机能够理解运算的 指令 2进制数和16进制数。
因此,通俗的讲 软件的作用是 能够使人 控制计算机硬件的一种语言转换机制!