系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux硬件處理和軟件處理

Linux系統(tǒng)硬件處理和軟件處理的區(qū)別

時(shí)間:2015-09-15 13:44:30 作者:zhijie 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20150915/57729.html 手機(jī)查看 評(píng)論

  Linux系統(tǒng)中的各種運(yùn)算和處理可以分成兩大類,一種是硬件處理,還有一種是軟件處理,硬件處理和軟件處理的原理是類似的。但是肯定也是有所區(qū)別的。本文就來(lái)介紹一下Linux系統(tǒng)硬件處理和軟件處理的區(qū)別。

Linux系統(tǒng)硬件處理和軟件處理的區(qū)別

  我們來(lái)看看各種計(jì)算機(jī)算法,它們?cè)谧鍪裁,以及是怎樣做的。很顯然,總結(jié)一句話就是:合理安排先做什么,再做什么的一個(gè)動(dòng)作序列。這些序列是發(fā)生在一維時(shí)間的流逝里面的,雖然目前有很多的并行算法,讓人看起來(lái)好像時(shí)間變成了一個(gè)平面,但是只要這些算法是CPU實(shí)施的,當(dāng)它們不能在分解的時(shí)候,算法還是在先做什么,再做什么之間不斷做決策。二分查找,快速排序,這些不都是典范嗎?仔細(xì)分析一下冒泡排序,先做什么,再做什么,然后做什么。。。最后得到了結(jié)果。一個(gè)動(dòng)作直接就是問(wèn)題的一部分。這完全符合我們?nèi)祟惖乃季S,因?yàn)槲覀冊(cè)谧鋈魏问碌臅r(shí)候,都是在不斷決策先做什么,后做什么。這就是數(shù)學(xué)上的統(tǒng)籌學(xué)。

  硬件實(shí)現(xiàn)的高效等價(jià)方案以另一種完全不同的方式工作,它更加類似我們?nèi)祟惖拇竽X內(nèi)部的神經(jīng)網(wǎng)絡(luò)的工作原理。由于對(duì)這個(gè)大腦工作原理的解釋超出了我的能力范圍,即便我真的懂,也不能指望在一篇周末將要結(jié)束的短文中闡釋清楚,所以我還是直接說(shuō)硬件吧。

  硬件工作時(shí)更像是勢(shì)能的自發(fā)釋放,這種釋放的效果是事先確定的,完全自動(dòng)進(jìn)行。舉一個(gè)例子,洪水泛濫的時(shí)候,水流沿著溝壑沖刷大地,造成的效果取決于哪里高,哪里低,并且由于這種高高低低的不同,還會(huì)出現(xiàn)一些組合效果,比如一流分成兩流,在一個(gè)低洼處再次合并,這就會(huì)加倍水流的沖擊力,從而越過(guò)更高的地方。你可以將這看成萬(wàn)眾一心的萬(wàn)馬奔騰。在一個(gè)大型的灌溉系統(tǒng)中,事先接好管道,挖好溝渠,然后在水源處放水,一切都是自動(dòng)完成的,完全無(wú)人值守。如果按照CPU的方式,必須事先準(zhǔn)備好一些序列-注意不是挖好溝渠,然后依次執(zhí)行這些序列,比如先澆灌A區(qū),然后再澆灌B區(qū),由于D區(qū)離B區(qū)更近,因此接下來(lái)澆灌D區(qū)而不是C區(qū)。。。當(dāng)然在更低的層次,比如具體的澆灌過(guò)程,事情是按照硬件的方式執(zhí)行的。

  雖然CPU總是順序地執(zhí)行一個(gè)序列的每一條指令,但是在CPU內(nèi)部,執(zhí)行每一條具體指令的方式卻是一個(gè)勢(shì)能釋放的過(guò)程,CPU設(shè)計(jì)者早就設(shè)計(jì)好了幾個(gè)通用的指令電路,所謂的RISC就是指CPU內(nèi)部的電路僅僅實(shí)現(xiàn)了非常簡(jiǎn)單非;镜膸讉(gè)指令,然后靠外部的不同組合形成不同的程序,完成不同的事情。這就是程序設(shè)計(jì)的本質(zhì)。對(duì)于諸如DxR Pro++固化這樣的事情,事實(shí)上并不能按照程序設(shè)計(jì)的一般思路來(lái)進(jìn)行,因?yàn)樗峭耆喾吹囊粋(gè)過(guò)程,我要設(shè)計(jì)的是一個(gè)萬(wàn)馬奔騰的勢(shì)能釋放的方案,我要做的是挖溝填壑,開(kāi)山辟土,而不是思考一個(gè)如何在既有的康莊大道上到達(dá)目的地的方案。

  硬件是死的,程序是活的。一旦溝壑確定,勢(shì)能釋放的效果就完全確定了,因此這塊電路就不能再做它用,但是程序卻是可以隨意更改的,因?yàn)镃PU內(nèi)部雖然也是遍布溝壑,也是死的,但是它們數(shù)量比較多,而且每一種達(dá)到的效果非常有限,可以通過(guò)不同的將它們組合的方式形成不同的效果。這種局面涉及到了一個(gè)很重要的話題,那就是成本!

  挖溝填壑的成本非常之高,必須確定這種溝壑的勢(shì)能釋放效果是長(zhǎng)期可用且有效的,否則就浪費(fèi)了。而軟件卻是可以用非常低的成本重組序列的,如今程序員不是已經(jīng)快成為廉價(jià)勞動(dòng)力了么?然而軟件的性能和硬件直接布線的性能是沒(méi)法比的,這也是一種代償博弈,犧牲了性能,帶來(lái)了靈活性。如今的程序員幾乎都是在CPU所框住的框架內(nèi)尋求最佳的算法,因?yàn)橹苯佑糜布季來(lái)實(shí)現(xiàn)功能并不是他們可以決策的,因?yàn)檫@涉及到成本問(wèn)題,也就是錢的問(wèn)題,必須在程序員雇傭成本和投資成本之間做一個(gè)完美的權(quán)衡。

  其實(shí)早就形成了一種所謂的“可編程硬件”,即內(nèi)部的溝壑可以填平,然后重新挖溝,也就是硬件可以重新布線。這種東西的成本介于純布線硬件和軟件之間。

  以上就是Linux系統(tǒng)硬件處理和軟件處理的區(qū)別了,不管是硬件處理還是軟件處理,二者都有其優(yōu)勢(shì),所以應(yīng)該配合使用。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄