为什么软件能够转化为硬件,硬件能转化为软件?实现这种转化的媒...
硬件和软件的逻辑等价性,任何操作可以由软件来实现,也可由硬件来实现;任何指令的执行可以由硬件来完成,同样也可以由软件来完成。
将程序固定在ROM中组成的部件称为固件。
固件是一种具有软件特性的硬件,它具有硬件的快速性特点,又有软件的灵活性特点。
这是软件和硬件相互转化的典型事例。
《计算机组成原理》
为什么硬件可以转化为软件,软件可以转化为硬件,转化媒介是什么? ...
第一硬件不可以转化为软件,软件也不可以转化为硬件第二软件是建立在硬件基础上的,也就是说硬件是基础设施和地基一样,没有硬件就不用谈软件第三,硬件是你所有可以摸的到的东西,软件是你摸不到的第四,硬件只能识别的是高和低电平也就是1,0.这也是软件和硬件交互所在第五,软件是通过控制信号产生,然后一步步影响到硬件,第六,软件和硬件不可以单独存在,必然是一起出现的,
为什么软件能够转化为硬件,硬件能转化为软件?实现这种转化的媒介...
软件是一个抽象的概念,就好比人的思想,人学到的知识,你说的硬件肯定不是键盘鼠标显示器等硬件,而是音频视频解码,控制手机天线,电源管理等集成电路芯片吧!这类硬件和软件在本质上是一样的,硬件通过设计好内部电路实现人所需要的解决问题算法,而软件通过程序员写代码,代码最终还是翻译成了二进制数字,其实就是硬件里电路的通断所表示的两种状态,所以硬件和软件可以互相转化,因为本质是一样的嘛,存在形式不同而已!我认为它们的转换媒介就是算法,程序员写好了代码既可以把它转换成二进制让硬件工程师去设计成硬件,也可以储存在储存器,要使用它的时候,cpu就会把它调进ram然后又是进行电路运算了……
软件到底是怎样控制硬件的
首先,硬件是由各种“门”组成,“门”是个术语,不懂没关系,可以把一个“门”看成是一个多米诺骨牌,它被推倒后能把下一张骨牌推倒。
看过多米诺骨牌视频的都知道,骨牌的巧妙摆放再配合各种机关的话,在推倒后是可以实现许多种功能的,比如演奏音乐,控制灯光甚至开动汽车啦等等。
假设在一个大房间里,已经摆放了这样一堆堆的多米诺骨牌,每一堆骨牌被推倒后,都能实现出特定的功能,但人是不能进来这个房间的,这些骨牌只能靠房间里的一个机械手来推倒。
然后,在房间外面,摆放着有限的几块骨牌,人可以按照不同的排列组合推倒这些骨牌,然后房间里面就会有个机械手按照人的想法来推倒不同的骨牌,实现各种功能。
但是,有时候,人想实现的功能太复杂了,光靠控制机械手推倒骨牌的话,要推倒成千上万块骨牌,太累,那么一种思路是:在房间里事先摆放更多,更复杂的骨牌,这叫增加硬件,但这样很不灵活,只能解决部分问题。
另一种思路是:人每次都临时控制机械手在房间里摆放新的骨牌,然后这些骨牌被推倒后,就可以一次性触发更多的骨牌被推倒。
但实际上房间里并没有新的骨牌,房间里已经摆放了一大堆专用的骨牌,然后机械手只是重新修改了这些骨牌摆放的位置而已。
这个房间,就是一台电脑,那些已经摆放好的骨牌,就是硬件,按照你的意愿推倒一张骨牌,造成连锁反应,实现你想要的功能,叫做控制,通过机械手重新摆放的骨牌,就是软件。
那一堆控制机械手的多米诺骨牌,就是你的鼠标键盘。
控制原理解析:程序本身就是高低电平的组合;它通过在CPU上执行来模拟各种决策过程;同时,计算机就是一堆开关;那么,通过指令向某些地址写出数据(访问特定地址是通过各种寻址机制/指令完成的,归根结底也可以说是通过开关切换,改变了电路拓扑),就等于开启/关闭了对应地址上的某个开关;这个开关可以是类似CPU内部那样的一组三极管,也可以是通向另外一个继电器的信号线——这个信号就促使继电器闭合,于是电机导通。
就好象人开汽车一样,神经发出的微不足道的电脉冲经过肌肉放大,影响了涉及数百甚至数千马力的能量洪流的发动机/变速箱的运转,然后汽车就开走了。
计算机也一样:它通过向控制特定地址上的开关输出0/1(高低电平),就可以通过事先准备的物理设施驱动诸如航模电机、舵机等等机构,这就完成了航模控制。
完整的控制回路甚至可以是:航模上的传感器采集飞行姿态、地形、位置等等数据(最终转换成高低电平构成的信号)----信号通过某些端口送到CPU-----CPU执行程序,程序读取传感器发来的信号,决定下一步的行动-----经过程序的智能判断后,通过控制特定地址上的开关(前面提过,向这个地址发一组高低电平构成的数据就行了),驱动诸如航模电机、舵机等等机构,完成航模控制。
软件是如何控制硬件的
1. 计算机的两个主要组成部分是它内部的存储器及处理器。
2. 内部存储器被用来存储程序和数据,处理器则是一组电路,用来实现一系列的基本运算或机器指令,如进行算术运算和逻辑运算的指令。
3. 在大多数计算机中,有一些指令通常被称为宏指令,实际上这些指令时通过定义更低层次的指令(称为微指令)来实现的。
4. 因为微指令从来不在软件中显示,因此无法详尽的表达它的概念。
软件为什么可以控制硬件?是由于什么物理或化学变化引起的?
虽然我不清楚你问这些出于什么,但我还是决定写一些东西:从全局的概念上准确的回答你的问题,真的很困难。
因为涉及的概念和过程描述实在太抽象了。
说实在的,“软件控制硬件”这句话挺有歧义的,就目前自己使用计算机的程度,从一般计算机构造来看,想要从根源上区分存储和计算实在是件困难的事。
你可以把计算机看成计算和存储可以分离,因为硬盘就像计算机的存储单元,CPU是计算单元,所以计算机的记忆可以外部化。
然而,类比到人类的时候,大脑却是记忆和存储合二为一的。
细化CPU完成功能的过程,它也是有寄存的。
你说如何严格区分计算机的计算和存储呢?况且还有根内存在。
以上表达的意思希望你能明白,从分子运动就可以看出来,物质同化和性质紊乱便是自然界的规律,如同人类社会不同民族的融合一样。
从软件的概念上说,和提纯金属是相同的。
人为的逆转自然界的规律为己所用。
物理和化学变化,是提纯了的自然规律,比如电容,它的放电和充电,这个过程受限于电量和电容表面积,那么注定了它有固定的时间间隔,利用这些特性,可以用来计数,在多长时间后放电。
二极管,说白了就是不同介质电阻的零界变化,形成二极管的定向电流和传递电势的性质。
电容,电阻,二极管加起来:在何时朝什么方向传递多少电流电压(这只是很简单很笼统的说),于是,神奇的作用效果便呈现出来了。
化学方面大多涉及制造工艺,在这就不说了。
那么计算机的电路板和上面的元件通电后的作用和软件控制硬件后的作用难道不是相同的么,只是效果更加单纯。
计算机的输入设备,比如键盘和鼠标,手指的操作,在幕上输出以上的文字。
不就是一连串的简单电路通电后的表现么,比起某几个电器元件的化学和物理变化,只是更加复杂,或者说表现效果更加符合人的意愿。
你所说的软件硬件间的相互作用,说白了还是硬件和硬件间的相互作用,为什么不采用过多的化学变化,因为这有个控制量的问题,化学变化过程的能量变化难以控制,且无论如何无法质量守恒(如果你相信中学教材就惨了)。
硬件方面的存储可以举两个简单的例子,你的U盘,如何存储?是在半导体存储介质上“固化”电路,通电后,输出电路的“通路”和“不通路”两种状态,逻辑上就是数据的二进制化。
而硬盘,和磁带的存储原理是相同的,通过控制磁头的电流大小,控制磁头的磁场强度,然后干预磁盘碟片上的“磁性物质”的密度或排布规律。
至此,软件作为一般人的抽象概念,把我们引入误区了,有一点希望你能从心底来认同,这不是技术上的问题,而是关于事物的认知。
我们知道软件和硬件的相互作用是如何发生的意义不是很大,关键是我们知道怎么利用好这种相互作用就够了。
软件以什么形式存在,软件为什么能支配硬件?
软件中的命令(这些命令是最初编程设计的)最终都要转化为计算机可以识别的机器语言,就是我们通常听说的0101010101,这种长串的机器代码在硬件中反映成电脉冲或电信号,在超大规模的集成电路中执行逻辑操作或运算(具体的,那就是电路知识了,最基本的原理都非常非常简单,简单的让你吃惊,即通路,断路),最终形成的现在运算速度惊人的计算机. 要理解的很清楚的话那就要求掌握多门学科的基础知识了.你不理解软件为何能控制硬件,大概是因为你觉得软件是看不见摸不着的东西,如何能够控制硬件这样有形的实体吧。
其实问题很简单,软件在工作的时候也是实体,软件的实质就是电流信号,用电压的高低代表不同是信息,用这些电流信号去控制逻辑电路的通断,靠逻辑电路的通断来控制硬件的工作。
说到底软件就是起到一个开关信号的作用,开关要工作,必需保证硬件是加电的,没有接通电源的硬件是无法用软件来控制的。
就好比没有插上电源的台灯,你怎么按开关都是不会亮的。
任何软件在运行前都要有一个将其转化为电流信号的实体化过程,你写在纸上的软件代码是永远也不能控制硬件的。
早期电脑用人工接线输入程序,相当于用人体的力量将软件代码实体化为电信号;现在我们用的软盘、硬盘是通过磁头将程序代码转化为电信号,光盘需要通过光头将程序代码转化为电信号等等。
这个问题看似简单,其实涉及到一些很底层的内容和原理。
对于一般计算机爱好者来讲,又没有办法说明白,原因就是我们从来没有考虑过电路在物理上的实现。
计算机软件说到底,不过就是一些指导电子元件工作的指令序列,那么你一定又会问电子元件为什么会按这些序列工作呢?指令序列的在电路中的实质就是一些有规律且有一定意义的电脉冲,电脉冲控制电子元件的各种状态。
工作过程非常复杂。
最简单最基本的就是几个逻辑门电路的实现:比如“或”电路,“与”电路等等。
通过将这些逻辑门电路的组合和协同,就能实现电脑整体上的运算和处理能力。
因为这是十几个数量级的基础电路的有机集合的对外的体现,如奔腾系列CPU集成了上亿个半导体元件,要想把各个元件的功能彻底认知,是非常困难的。
可以把它们比作每个人的活动合在一起就构成了社会有单位,有抽象 正如抽象的生活用电网络,可以将一个用电器作为抽象单位,也可以将一个家庭作为抽象单位,一个抽象单位连接入网络,具体的接入方式,抽象单位完全本身实现,理想情况下每一功能模块即抽闲单位,都有接口,成为网络的一部分,向新的部分提供接口,理想情况下家庭电路有接口模块,可以任意扩展;每一但单元都有进出,任意个连接组合,总的单位也有进 和 出软件可以发送命令 让cpu的某一引脚 发出高低信号 从而控制硬件我对程序的思考我也曾遇到过这样的问题,困惑了好长时间。
每每到网上看, 都说的不是我想要的问题,或者说是组成原理书上有讲呀什么的。
现在我明白了, 是按自己的想法明白 ,希望像我困惑过的正在困惑的能在这里得到答案,对你有所帮助软件如何控制硬件呢??(以下仅是我个人理解, 不保证正确, 如果错的希望能得到您的指点。
。
先谢谢)大家都知道。
没有软件的硬件就是一堆废铁或“砂子”。
您也知道cpu中有个叫做译码器的东东吧,您也知道我们写的程序要经过编译呀, 汇编呀,连接呀。
最后生成可以被硬件执行的二进制。
可是问题来了,硬件能认识个啥二进制。
这里也许是你不懂的地方。
其实解释的关键也就在这里了。
高低电压。
脉冲的有无控制硬件您能够接受吧,而我们写的程序(软件)其实都是以高低电压,脉冲的有无存储在磁盘上。
或者以有无反射的形式存在光盘上。
所谓的机器可直接执行的代码, 也就是二进制,译码器能理解。
他能理解。
cpu就能理解。
cpu按照硬件设置和硬件特性,选择switch(也就是让哪一条导线是通路),以达到控制硬件。
(能理解吗, 如果你还有什么疑问留言吧, 针对性解决可能会好点,)实际上计算机把相当复杂的问题最终都会转化成加法(ALU)来实现,(太神奇了,我还理解不了。
但我知 道,呵呵,这样有助于理解。
软件是如何控制硬件的软件在工作的时候也是实体,软件的实质就是电流信号,用电压的高低代表不同是信息,用这些电流信号去控制逻辑电路的通断,靠逻辑电路的通断来控制硬件的工作。
说到底软件就是起到一个开关信号的作用,开关要工作,必需保证硬件是加电的,没有接通电源的硬件是无法用软件来控制的。
就好比没有插上电源的台灯,你怎么按开关都是不会亮的。
任何软件在运行前都要有一个将其转化为电流信号的实体化过程,你写在纸上的软件代码是永远也不能控制硬件的。
早期电脑用人工接线输入程序,相当于用人体的力量将软件代码实体化为电信号;现在我们用的软盘、硬盘是通过磁头将程序代码转化为电信号,光盘需要通过光头将程序代码转化为电信号等等。
这个问题看似简单,其实涉及到一些很底层的内容和原理。
对于一般计算机爱好者来讲,又没有办法说明白,原因就是我们从来没有考虑过电路在物理上的实现。
计算机软件说到底,不过就是一些指...
别人说学硬件的人在学软件很难真的吗?
我也是从硬件转到软件的啊,不过我的硬件一定没你好啦!我大学还没毕业呢!不过我现在正在学软件,java等等,以前也学过c什么的,我是专门去的一个培训班,我们这是华东地区最大的软件园,目前我学的还不错啊,难肯定是一定的,不过要看自己的造化啦,有什么问题可以Hi 我啊
学硬件还是学软件?
你学过那些你能保证,你都会了吗,我想很难。
应该学什么,其实不难,你觉得你自己以后喜欢做什么类型的工作,就稍微的向那个方向侧重一点,但没必要另外的就不学了,计算机的各种知识,都是有着联系的,也许你看着学这个,好像对于做那个事情用不到,但你要想想,如果你不学这个,另外的知识你就理解不了了,所以说,按自己的兴趣,重点学一个方向。
像你现在,如果你对软件感兴趣的话,你可以侧重的去学这一方面。
硬件也去学学,如果你想走的更高的话,因为就算你做软件,要涉及到底层的东西,还要要跟硬件多多少少打点交道。
自己想想吧
如何正确使用电脑硬件和软件?
我们生活的时代,已经是一个不折不扣的电脑时代,电脑对我们的帮助很大,在日常生活中你是不是只是用它来工作、学习,而忽略了对它的保养呢?你是不是也有本文的一些不良用机习惯呢? 1、键盘操作时用力过大 这个恐怕是大家所共有的通病了,在打字和玩游戏时,由于过度兴奋,击键的力度明显过大,这样很容易造成键盘按键的失灵。
长此以往,键盘就容易被损坏。
解决办法:注意养成良好的使用键盘的习惯,善待您的键盘。
2、光盘总是放在光驱里 很多人总是习惯把光盘放在光驱里,特别是CD光盘,其实这样会影响电脑光驱的使用寿命。
光盘放在光驱里,光驱会每过一段时间,就会进行检测。
如果光驱长时间处于工作状态,其内部可以产生高温。
热量不仅会影响部件的稳定性,同时也会加速机械部件的磨损和激光头的老化。
解决方法:尽量把光碟上的内容转到硬盘上来使用。
3、刚关机又马上重新启动 在平时的使用电脑过程中,经常有人刚一关机就伸出手来开机;更有许多电脑爱好者,总是动作灵敏,关机后十秒钟处理完故障就重新开机,殊不知这样对计算机危害有多大。
解决办法:关机后请等待一分钟以上再重新开机,或者就在主机没有断开电源的时候按下机箱上的热启动键进行重启。
4、在电脑屏幕上“指点江山” 平时在办公室里,总是能看见有人在电脑屏幕上用手指头指指点点,使得屏幕上出现了许多难看的手印。
其实无论是纯平显示器或者是液晶显示器都是不能用手去触摸的,更不能用指甲在显示器上划道道。
用手触摸显示器的屏幕,会由于发生剧烈的静电放电现象而损害显示器,同时还会因为手上的油脂破坏显示器表面的涂层。
解决方法:在你的显示器上贴一个禁止手模的标志,时常提醒那些喜欢“指点”屏幕的人;要想在你的屏幕上“指点江山”,就请用鼠标代劳吧。
再提醒一下大家,显示器在清洁养护时一定要拔掉电源线和信号线,以保证安全。
擦拭外壳时,最好不要用会滴水的湿布。
对屏幕的清洁要特别小心,千万不要用有机溶剂(如酒精、丙酮等),尽量避免使用化学清洁机,否则造成显示器表面的镀膜破损脱落是无法弥补的损失。
擦拭时一定要用软布(如眼睛布、镜头纸也可以)沿同方向轻轻擦拭。
5、在系统运行中进行非正常重启 在系统正运行时,由于系统停止响应或者假死机而进行非正常重启(包括按主机箱上的重启键、电源键和Ctrl+Alt+Del),可能会造成系统文件的丢失、存盘错误以及设置丢失等。
本来windows是提供了磁盘扫描工具,可以纠正部分出错的文件,但是因为扫描需要一段比较长的时间,很多人都会中断他的工作,经常出现这样的情况,还有可能使得硬盘上的数据的出错几率和次数大大增加,从而使得整个系统崩溃。
解决方法:尽量使用比较稳定的操作系统,建议CPU频率在750MHz和内存在256M以上的用户使用WINXP的系统,其他的可以考虑WIN2000,还有就是最好把硬盘转化为NTFS的格式,它比FAT32的格式要更加安全,不容易出错。
当然最好的办法是找出死机的原因,杜绝此类现象的发生。
6、不扫描和整理硬盘 经常会看到很多人的硬盘里充满了大量的错误和碎片,其实那些东西不但会使得你的系统出错的几率加大,还有可能影响你的电脑运行速度。
其实很好理解这样的坏处,就好象在房间里到处扔东西,有些东西就交叉堆叠在一起了,当然找起东西来效率就很低,有些东西甚至已经被损坏了。
解决方法:平时记得给电脑的硬盘打扫卫生,每过一段时间就应该清理一下硬盘,并且进行整理。
如果是添加删除程序比较频繁的用户,应当一个月整理一次,普通的用户可以三个月整理一次。
但是,也不要经常性的运行磁盘整理程序去整理硬盘,那样也会减少硬盘的使用寿命。
7、不使用卸载功能,而是直接删除程序 大部分软件在安装时会在注册表和SYSTEM文件夹下面添加注册信息和文件,如果不通过软件本身的卸载程序来卸载的话,注册表和SYSTEM文件夹里面的信息和文件将永远残留在里面。
它们的存在将会使得你的系统变得很庞大,效率越来越低下,超过你的忍耐限度,你就不得不重装你的系统了。
解决办法:删除程序时,应当到控制面板中的删除添加程序去执行,或者在开始菜单栏中找到程序的目录里的卸载快捷方式,通过它来删除或卸载程序。
8、加载或者安装太多同样功能的软件 同样功能的软件势必会行使相同功能的职责,从而引起争端。
因此,相同功能的软件应当有所取舍,应当选择最适合自己使用习惯的软件。
特别防病毒软件应当选择一个就可以了,而不是同时安装和加载很多个,加载太多会产生消耗系统资源和引起软件冲突的弊端,在发现病毒时,还有可能出现因为“争杀”病毒而引起系统崩溃的麻烦,甚至杀毒软件会造成杀毒软件互相“打架”的局面。
解决方法:尽可能“从一而终”,不要太花心,选择一个适合自己使用习惯的软件,其他的可以卸载掉;正确对待防病毒软件,应当选择一个病毒库更新速度快的防病毒软件,并及时将自己的病毒库更新到最新的版本,而不是安装多个防病毒软件。
人无完人,知错就改就是好同志。
我们要注意改正平时的一些不良的...