一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)的定義

jf_78858299 ? 來(lái)源:裸機(jī)思維 ? 作者:GorgonMeducer 傻孩子 ? 2023-04-13 14:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【說(shuō)在前面的話】


作為一個(gè)以“思維”為內(nèi)容的討論,我并不懼怕話題的龐大。畢竟思維并不是什么可以速成的快餐,俗語(yǔ)說(shuō)冰凍三尺非一日之寒,著急不來(lái);另一方面,“思維”是個(gè)頗為唯心的內(nèi)容,不僅沒(méi)有定論,針對(duì)每個(gè)人的具體情況也是不同的。所以,我并不害怕談?wù)撍季S的時(shí)候“歪了樓”,或者“缺乏客觀性”——本來(lái),裝在一個(gè)皮囊里,我能談?wù)摰囊仓皇俏易约旱乃季S,供有興趣的看官們消遣一二,如果還能有所啟示或者是幫助,那就再好不過(guò)了。

模仿人的認(rèn)知過(guò)程,我也將話題分為“自上而下”(對(duì)應(yīng)Top Down Perception)和“自下而上”(對(duì)應(yīng)Bottom Up Perception)兩個(gè)方向。前者從較為宏觀(但更貼近生活和概念的本來(lái)面目)出發(fā),討論一些裸機(jī)系統(tǒng)相關(guān)的嵌入式概念和看似高大上其實(shí)很實(shí)在的說(shuō)法;后者則選擇從具體的技術(shù)或者是設(shè)備出發(fā),從小的問(wèn)題開(kāi)始,逐步引出更為復(fù)雜的問(wèn)題。

最終,在某個(gè)時(shí)刻,你會(huì)在某個(gè)層面上發(fā)現(xiàn)兩個(gè)認(rèn)知方向的重合點(diǎn),我可以保證的是,幾乎對(duì)所有人來(lái)說(shuō),這個(gè)重合點(diǎn)都是不同的。排除智商的因素,起決定性的還是讀者已經(jīng)掌握的背景知識(shí)。

為用而專(zhuān)

【正文】


作為開(kāi)篇,我們首先對(duì)"什么是嵌入式系統(tǒng)"的認(rèn)識(shí)開(kāi)始。那么什么是嵌入式系統(tǒng)呢?我首先保證,下面的定義已經(jīng)非常精簡(jiǎn),一個(gè)多余的單詞都沒(méi)有(請(qǐng)?jiān)试S我在一個(gè)完整的句子中加入空格來(lái)強(qiáng)調(diào)每一個(gè)要素):

嵌入式系統(tǒng)是面向應(yīng)用高度裁減的專(zhuān)用計(jì)算機(jī)系統(tǒng)

1、“專(zhuān)用”

首先我們需要牢記于胸的是這個(gè)“專(zhuān)”字(Dedicated),這是相對(duì)通用計(jì)算機(jī)系統(tǒng)的“通用”來(lái)說(shuō)的。PC就是通用計(jì)算機(jī)系統(tǒng);出乎很多人意料的是,智能手機(jī)也是“通用”計(jì)算機(jī)系統(tǒng)。這是因?yàn)?,通用?jì)算機(jī)系統(tǒng)擁有標(biāo)準(zhǔn)的硬件定義和操作系統(tǒng),上層軟件可以在一個(gè)統(tǒng)一的平臺(tái)(對(duì)硬件和系統(tǒng)軟件統(tǒng)一性)的一個(gè)假設(shè)上進(jìn)行開(kāi)發(fā)。這么說(shuō)也許很抽象,實(shí)際的判斷標(biāo)準(zhǔn)其實(shí)很簡(jiǎn)單,如果一個(gè)計(jì)算機(jī)系統(tǒng)的軟件可以自由的直接在同類(lèi)計(jì)算機(jī)的硬件上執(zhí)行,那么這個(gè)計(jì)算機(jī)系統(tǒng)很可能就是一個(gè)通用計(jì)算機(jī)系統(tǒng),例如,APP可以在不同的智能手機(jī)上執(zhí)行(當(dāng)然需要運(yùn)行相同的操作系統(tǒng),無(wú)論是Andriod還是iOS,具體你懂得,抬杠的同志請(qǐng)自動(dòng)取消關(guān)注)

這個(gè)專(zhuān)用太重要了,如果說(shuō)嵌入式系統(tǒng)是一個(gè)宇宙的話,那么這里的“專(zhuān)用”就是那個(gè)著名的宇宙大爆炸——嵌入式系統(tǒng)一切的特點(diǎn)都源自于此。

2、“面向應(yīng)用”

光說(shuō)專(zhuān)用,似乎缺少了什么——“專(zhuān)用”總需要面向點(diǎn)什么才能體現(xiàn)“專(zhuān)用”啊。因此,很自然的,“面向應(yīng)用”的“專(zhuān)用”就成了嵌入式系統(tǒng)的根本立足點(diǎn)。那么你要問(wèn)了,難道還有不“面向應(yīng)用”的“專(zhuān)用”么?當(dāng)然有了,有面向“科研”的,面向“宣傳效應(yīng)的”,有“面向自我實(shí)現(xiàn)”的……


面向科研認(rèn)真說(shuō)來(lái)也算是面向應(yīng)用了——科研應(yīng)用嘛,但其實(shí)還是不同的,因?yàn)楹竺嫖覀儠?huì)說(shuō),嵌入式系統(tǒng)的開(kāi)發(fā)是一個(gè)工程問(wèn)題,而科研類(lèi)的開(kāi)發(fā)是一個(gè)學(xué)術(shù)問(wèn)題,前者是用成熟的技術(shù)去實(shí)現(xiàn)一個(gè)明確的已知目標(biāo),后者是用已知的技術(shù)去探索未知的領(lǐng)域或者驗(yàn)證可能的結(jié)果

面向宣傳,你懂得。沒(méi)什么卵用,但是可以給人希望和信心。

面向自我實(shí)現(xiàn),有多少人自己寫(xiě)一個(gè)操作系統(tǒng)是面向應(yīng)用的?


嵌入式系統(tǒng)是面向應(yīng)用的專(zhuān)用計(jì)算機(jī)系統(tǒng)。那么應(yīng)用又大體分兩類(lèi):軍用和民用。這么分有什么目的呢?

3、“高度裁剪”

前面我們說(shuō),專(zhuān)用是面向應(yīng)用的專(zhuān)用,目標(biāo)非常明確——實(shí)現(xiàn)某個(gè)具體的應(yīng)用;相對(duì)目標(biāo)不是那么明確的通用計(jì)算機(jī)系統(tǒng)來(lái)說(shuō),怎么做才能體現(xiàn)出“針對(duì)某個(gè)具體應(yīng)用”而凸現(xiàn)出來(lái)的“專(zhuān)用”呢?當(dāng)然是裁減——從能實(shí)現(xiàn)對(duì)應(yīng)應(yīng)用的通用計(jì)算機(jī)原形系統(tǒng)(Prototype)上進(jìn)行裁減——去掉不必要的部分,從而成為某個(gè)應(yīng)用的“專(zhuān)屬”計(jì)算機(jī)系統(tǒng)。

那么問(wèn)題來(lái)了,哪些東西可以裁減呢?如何裁減呢?這里實(shí)際上是有明確的標(biāo)準(zhǔn)的——面向應(yīng)用的具體需求進(jìn)行裁減。具體來(lái)說(shuō),雖然功能性(Functionality)、成本(Cost)、可靠性(Dependability / Reliability)、功耗(Power Consumption)、體積(Size)、性能(Performance)、安全性(Security)都是各類(lèi)嵌入式系統(tǒng)所追求的,但當(dāng)我們成本有限的時(shí)候(時(shí)間、金錢(qián)、人力資源),我們只能根據(jù)應(yīng)用的偏好來(lái)分配資源,俗話說(shuō)“好鋼用在刀刃上”就是這個(gè)道理。

容易想象,軍用在上述要素的優(yōu)先級(jí)可能是(僅供參考):

功能性 〉可靠性 〉體積 〉性能 〉安全性 〉功耗 〉成本

——想象一下不差錢(qián)的軍方會(huì)怎樣考慮一套單兵作戰(zhàn)系統(tǒng)

用在裁減的過(guò)程中則可能是另外一個(gè)樣子:

功能性 〉性能 〉體積 〉成本 〉功耗 〉可靠性 〉安全性

——想象一下國(guó)產(chǎn)智能手機(jī)(粗糧、某族、某情懷)

【小結(jié)】


綜上所述,我們可以簡(jiǎn)單的小結(jié)一下,嵌入式系統(tǒng)是一個(gè)面向應(yīng)用高度裁減的專(zhuān)用計(jì)算機(jī)系統(tǒng)——是不是覺(jué)得都是廢話了?哈哈哈哈,說(shuō)明你理解了。下一篇,我們將更深層次的揭示隱藏在嵌入式系統(tǒng)名稱下的產(chǎn)業(yè)秘密和規(guī)律。

真正的軟硬件

【正文】


當(dāng)被人問(wèn)起“什么是嵌入式系統(tǒng)”時(shí),無(wú)需看過(guò)我的文章,有一種狡猾的說(shuō)法肯定是挑不出任何錯(cuò)誤的——套用知乎上一類(lèi)著名的問(wèn)答體,“如何快速的假裝/成為某個(gè)領(lǐng)域的專(zhuān)家”——你可以故作認(rèn)真的說(shuō):

“嵌入式系統(tǒng)首先是一個(gè)計(jì)算機(jī)系統(tǒng)”,然后大談你對(duì)軟件和硬件的看法……

為了在幾乎沒(méi)有逼格的行業(yè)中讓大家能夠有機(jī)會(huì)裝逼,下面我就教大家一種關(guān)于嵌入式系統(tǒng)軟件和硬件的特別觀點(diǎn),絕對(duì)可以讓所有的小師妹小師弟甚至是同齡人偷來(lái)“刮目相看”的眼光。當(dāng)然首先你要真的理解這種說(shuō)法。

為了引起更多人的注意,同時(shí)讓話題更有沖擊性,你應(yīng)該非??隙?、神秘、恨鐵不成鋼而又憤慨的宣布一個(gè)觀點(diǎn):

“你知道么?嵌入式系統(tǒng)中幾乎所有人關(guān)于軟件和硬件的看法都是錯(cuò)誤的……我們被教科書(shū)給坑了!”

1、傳統(tǒng)計(jì)算機(jī)系統(tǒng)中的“軟件/硬件”觀

通常,我們提到計(jì)算機(jī)硬件,腦海里立馬浮現(xiàn)的就是一臺(tái)PC主機(jī),當(dāng)然這個(gè)時(shí)候你要特別小心,因?yàn)檫@個(gè)時(shí)候你舉出的例子很可能是暴露年齡或者逼格的。比如,用臺(tái)式機(jī)舉例還是用筆記本舉例顯然暴露年齡,用Windows筆記本舉例還是Mac舉例將暴露逼格。當(dāng)我們提到軟件,腦海里浮現(xiàn)的差不多就是Windows上跑著的各類(lèi)軟件,當(dāng)然,如果你能用APP,特別是iOS的APP來(lái)舉例,顯然就是很有面子的。

是的,細(xì)心的你注意到了,傳統(tǒng)的軟硬件觀念直接來(lái)源于通用計(jì)算機(jī)。在后面的討論中我們會(huì)發(fā)現(xiàn),這種由通用計(jì)算機(jī)帶來(lái)的思維定勢(shì)是非??膳碌?。

2、嵌入式系統(tǒng)中的“軟/硬件”觀

嵌入式系統(tǒng)中的軟件和硬件并不是你想象的那么簡(jiǎn)單。這其實(shí)很好理解,你可以在大學(xué)校園里隨便攔下幾個(gè)學(xué)生,讓我們來(lái)做一個(gè)采訪,問(wèn)問(wèn)他們什么是軟件什么是硬件:

屌絲A(計(jì)算機(jī)學(xué)院):你丫有病么?硬件就是你的電腦主機(jī)咯,主板、CPU、內(nèi)存硬盤(pán)、顯卡什么的;軟件就是Windows程序咯

屌絲B(信息學(xué)院):硬件就是單片機(jī)啊,51、AVR、STM32之類(lèi)的,對(duì)了,還有開(kāi)發(fā)板也算吧?軟件嘛,就是Firmware咯(固件),過(guò)去用匯編開(kāi)發(fā),現(xiàn)在都是用C了

屌絲C(信息學(xué)院):毛線!我還可以用VHDL和Verlog寫(xiě)一個(gè)內(nèi)核呢,你說(shuō)說(shuō)VHDL和Verilog寫(xiě)出來(lái)的是不是軟件?FPGA是不是硬件?

屌絲B:呃……那咋辦?

屌絲D(計(jì)算機(jī)學(xué)院):你們別忘了,開(kāi)發(fā)板上跑的虛擬機(jī)也是硬件哦,虛擬機(jī)上用Java寫(xiě)的程序也是軟件。

大家可能注意到了,在嵌入式系統(tǒng)中,軟件和硬件是一個(gè)不那么靠譜的定義方式——當(dāng)人們用普通話發(fā)相同的聲音說(shuō)同一個(gè)詞語(yǔ)的時(shí)候,描述的可能根本不是同一個(gè)東西。那么,嵌入式系統(tǒng)中,軟件和硬件應(yīng)該如何理解呢?

方案一 . 要么,你可以假裝從來(lái)沒(méi)有看過(guò)這篇文章,只跟你用相同系統(tǒng)的人討論問(wèn)題,或者“自己根據(jù)語(yǔ)境”自動(dòng)切換軟件和硬件的意思。

方案二 . 要么,我們重新定義一下軟件和硬件的概念,只要這個(gè)概念兼容原有的理解方式就可以了。

真有一種兼容老概念的新定義么?答案是肯定的。讓我們來(lái)首先找一找在不同層面上軟件的共同點(diǎn):大家都是用一種語(yǔ)言(Java、C、VHDL、甚至是原理圖)來(lái)描述自己大腦中的邏輯(思維)。讓我們來(lái)體會(huì)一下這個(gè)特點(diǎn),是不是這么個(gè)特點(diǎn)?因此,我們重新鄭重的定義一下軟件:

軟件:人們借助某種語(yǔ)言,“嘗試”固化下來(lái)的,自己的思維

與之相對(duì),硬件的概念可以修改為:

硬件:業(yè)已固化下來(lái)的邏輯,可以穩(wěn)定的提供確定的服務(wù)和功能

可見(jiàn), 軟件的本質(zhì)是思維,是設(shè)計(jì)人員的思維 ,因而程序設(shè)計(jì)人員最重要的是自己 根據(jù)任務(wù)的需求想通所有的邏輯,并借助一定的語(yǔ)言作為工具,把自己的思維"固化"下來(lái) 。這個(gè)思維的過(guò)程叫做"設(shè)計(jì)(Design)"、這個(gè)固化的過(guò)程叫做"編碼(Coding)"。簡(jiǎn)單的說(shuō),寫(xiě)代碼只是一個(gè)思維翻譯的過(guò)程,更重要的是首先寫(xiě)程序的人要想清楚,擁有清晰的思維,然后借助準(zhǔn)確無(wú)誤的語(yǔ)言表達(dá)能力(很遺憾,很多人語(yǔ)言表達(dá)能力非常有限——就是用C語(yǔ)言寫(xiě)不出自己想要實(shí)現(xiàn)的功能)才能寫(xiě)出正確的代碼。

思維的設(shè)計(jì)有很多輔助工具,如大家熟知的流程圖(Flow Chart)、UML圖、還有大家不太用的數(shù)據(jù)流圖(Data Flow Diagram)等等。然而,具體代碼往往并不是一個(gè)好的輔助工具。進(jìn)行思維設(shè)計(jì)的開(kāi)發(fā)人員,叫做Programmer。

將Programmer的設(shè)計(jì)文檔(各類(lèi)圖表)翻譯成具體程序代碼的人叫做Coder。

說(shuō)殘酷一點(diǎn):Programmer設(shè)計(jì),負(fù)責(zé)思考;Coder翻譯,負(fù)責(zé)干苦力。如果你不服,我也沒(méi)辦法,哈哈哈哈……

**硬件,本質(zhì)上一個(gè)固化下來(lái)的邏輯。**這個(gè)邏輯的前身當(dāng)然是思維,只不過(guò)它被固化下來(lái)了,而且可以"穩(wěn)定"可靠的提供"確定"的功能和服務(wù)。比如,F(xiàn)IFO是隊(duì)列,在某些軟件系統(tǒng)中把這種邏輯確定的模塊叫做"構(gòu)件"(Component),一種中性化的描述,并不強(qiáng)調(diào)它是軟件還是硬件。因?yàn)闃?gòu)件的本質(zhì)是一個(gè)模塊,是一個(gè)可以提供"確定"的,大家都知道的功能的模塊。它可以是硬件的,也可以是軟件的。Who care?有的系統(tǒng)還會(huì)提供硬件抽象層,進(jìn)一步模糊這類(lèi)模塊的軟硬屬性——反正你知道它是做什么的就行了,反正它很可靠,而且可以重復(fù)利用,所以你用就好了,是軟的還是硬的,無(wú)所謂,反正都是同一個(gè)API

當(dāng)我們想凸顯一個(gè)模塊的邏輯、確定性和穩(wěn)定性,而又不能或者不需要或者不關(guān)心它的軟硬屬性的時(shí)候,我們就干脆叫他構(gòu)件(Component)。

重新定義軟件和硬件的概念,不是一個(gè)文字游戲,而是一個(gè)行業(yè)內(nèi)在心底里約定俗成已經(jīng)默默在做的事情,只是,今天被明確的點(diǎn)破了而已。雖然你覺(jué)得被刷了三觀(也許你沒(méi)有),但仔細(xì)想想,其實(shí)的確和過(guò)去的認(rèn)識(shí)沒(méi)有本質(zhì)上的區(qū)別?

不是么?其實(shí)你早就懂對(duì)么?哈哈哈哈——我沒(méi)有重新發(fā)明軟件或者硬件,我只是誠(chéng)實(shí)的搬運(yùn)工。

重力和沉淀

【正文】

嵌入式(Embedded),聽(tīng)起來(lái)也許是一個(gè)很有點(diǎn)科技感的名詞,加之最近大熱的所謂物聯(lián)網(wǎng)IoT)、智能硬件,似乎從事嵌入式開(kāi)發(fā)很有點(diǎn)逼格的感覺(jué)——沒(méi)錯(cuò),在上世紀(jì)70年代,大洋彼岸的很多Freaks們也是這么想的,他們中的很多人已經(jīng)印刷在各類(lèi)書(shū)籍的封面上了。

不幸的是,嵌入式只是一門(mén)技術(shù),而不是什么科學(xué)。嵌入式系統(tǒng)開(kāi)發(fā)只是一個(gè)工程問(wèn)題,而不是什么讓人側(cè)目的科學(xué)探索問(wèn)題——除了針對(duì)越來(lái)越小的半導(dǎo)體工藝問(wèn)題的研究。認(rèn)清這個(gè)現(xiàn)實(shí)吧!趁我揭露另外一個(gè)事實(shí)之前,還來(lái)得及。

也許你還記得,嵌入式系統(tǒng)是專(zhuān)用計(jì)算機(jī)系統(tǒng),是面向特定的應(yīng)用需求而進(jìn)行高度裁減的專(zhuān)用計(jì)算機(jī)系統(tǒng)。成本、體積、性能和可靠性對(duì)嵌入式系統(tǒng)來(lái)說(shuō)都是敏感的?一個(gè)計(jì)算機(jī)系統(tǒng)如何才能在成本、體積、性能和可靠性上同時(shí)取得進(jìn)步呢?

Bingo!你答對(duì)了,摩爾定律。換句話說(shuō)——嵌入式系統(tǒng)使用的都是“成熟”的技術(shù)、都是“量產(chǎn)”的、“成本敏感”的——或者說(shuō)過(guò)時(shí)的技術(shù)。如果你對(duì)這個(gè)結(jié)論有疑惑,請(qǐng)按照相反的順序去理解這兩段文字。

——“思維不是不可說(shuō),是不必多說(shuō),懂就是懂?!?/p>

現(xiàn)在的計(jì)算機(jī)技術(shù)差不多領(lǐng)先嵌入式技術(shù)大約20年,現(xiàn)在嵌入式系統(tǒng)無(wú)論在資源上、理論上還是方法論上,都與上世紀(jì)80年代的計(jì)算機(jī)前沿技術(shù)相當(dāng)。舉一個(gè)簡(jiǎn)單的例子,現(xiàn)在的Processor完成了從匯編開(kāi)發(fā)到C語(yǔ)言開(kāi)發(fā)的過(guò)渡,正在普及面向?qū)ο箝_(kāi)發(fā)的概念——這是資源所決定的。而這一過(guò)程,正是上世紀(jì)80年代計(jì)算機(jī)工程師們所面對(duì)的環(huán)境。只不過(guò)這里的對(duì)應(yīng)關(guān)系稍微有點(diǎn)不同:32位微控制器(Cortex-M為代表)對(duì)應(yīng)當(dāng)年的個(gè)人電腦,而32/64位的應(yīng)用處理器(Cortex-A為代表)則對(duì)應(yīng)當(dāng)年的服務(wù)器。其它再無(wú)不同。

綜上所述: 嵌入式是一門(mén)技術(shù),而不是科學(xué),它的本質(zhì)決定了它必然要使用成熟或者說(shuō)過(guò)時(shí)的技術(shù) 。 成本是影響一門(mén)技術(shù)是否可以在嵌入式系統(tǒng)中應(yīng)用的決定性因素 ——好東西現(xiàn)在很多都有,只不過(guò)太貴,不是做不出來(lái)。

在你那“一腔投入嵌入式系統(tǒng)開(kāi)發(fā)的熱血”被澆滅之前,有一個(gè)好消息要告訴你:因?yàn)榍度胧较到y(tǒng)只是一門(mén)技術(shù)——和木匠活差不多—— 只要你肯花時(shí)間,你一定能成為高手 ,或者說(shuō)成為熟練的工匠——?jiǎng)e介意大師這個(gè)偽概念,相信我,只要你開(kāi)源了足夠的代碼,幫助了足夠多的人,大家都會(huì)尊你為大師——其實(shí)只有你自己知道,這幫人只不過(guò)是太懶,知識(shí)都在他們懶得翻開(kāi)的書(shū)本上,你只不過(guò)堅(jiān)持看完了,然后順手把自己的筆跡貼在了網(wǎng)上。

感謝你有耐心讀到這里,這說(shuō)明你除了興趣,對(duì)這門(mén)技術(shù)還有可貴的堅(jiān)持,為了獎(jiǎng)勵(lì)這一點(diǎn),我會(huì)介紹一個(gè)模型,通過(guò)它,你有能力掌握洞悉嵌入式行業(yè)發(fā)展規(guī)律的方法——我通常也總是把好東西留給真正熱愛(ài)嵌入式技術(shù)的朋友。

沉淀模型

不知道有多少人還記得小學(xué)自然課上研究泥土成分的那個(gè)實(shí)驗(yàn):取一塊泥土,放入燒杯中,放入適量的水,用玻棒充分?jǐn)嚢柚翍覞嵋?。將燒杯靜置一小時(shí)后觀察會(huì)發(fā)現(xiàn):1)燒杯中的液體重新變清;2)泥土樣本會(huì)出現(xiàn)分層,質(zhì)量相似且較大的顆粒沉淀在底層,從底向上,沉淀層中的顆粒質(zhì)量和體積都越來(lái)越小。——這就是沉淀模型。

在你吼出“ 什么gui ”之前,讓我們來(lái)講一個(gè)故事,一個(gè)暴露年齡的故事。在MP3格式和算法剛剛公布的時(shí)候,市場(chǎng)被索尼的磁帶隨身聽(tīng)和CD播放機(jī)所統(tǒng)治,兩者分別占據(jù)了高端市場(chǎng)和低端市場(chǎng)。在Flash存儲(chǔ)器非常昂貴的背景下,MP3文件的高音質(zhì)小尺寸的特性簡(jiǎn)直就是市場(chǎng)的明日之星——消費(fèi)者迫不及待的想買(mǎi)到一個(gè)體積只有普通隨身體幾分之一,不用重復(fù)購(gòu)買(mǎi)碟片或者磁帶的次世代播放器——想想都很美是么?巨大的市場(chǎng)需求,推動(dòng)廠商開(kāi)發(fā)出第一代MP3播放器,這個(gè)時(shí)候,還沒(méi)有所謂的硬件解碼,MP3軟件解碼的運(yùn)算需求使得工程師不得不選擇一塊價(jià)格昂貴的處理器,這使得MP3播放器的成本達(dá)到了歷史的最高點(diǎn),但是,WHO CARE?!消費(fèi)者對(duì)這種小巧輕便的高科技產(chǎn)品的熱情,決不亞于現(xiàn)在的iPhone——Oh,別忘記了,One thousand sounds in your poket,就是Apple推廣iPod的經(jīng)典廣告。

高額的利潤(rùn)吸引更多的玩家進(jìn)入這個(gè)藍(lán)海市場(chǎng),工程師們漸漸發(fā)現(xiàn),既然MP3解碼算法既然這么流行,我們就做成模塊吧?賣(mài)給別的開(kāi)發(fā)者?漸漸的,連開(kāi)源的MP3解碼模塊也出現(xiàn)了——感謝開(kāi)源,越來(lái)越多的廠商有能力制作和發(fā)布自己的MP3播放器——如同華強(qiáng)北的功能手機(jī),銷(xiāo)售一臺(tái)MP3播放器的利潤(rùn)越來(lái)越低。在這一過(guò)程中,MP3解碼從單純的播放器應(yīng)用中被第一次提取出來(lái)——從應(yīng)用層沉淀到軟件服務(wù)層,成為一個(gè)模塊——這是發(fā)生在這一嵌入式系統(tǒng)應(yīng)用中的第一次沉淀。

模塊的出現(xiàn)進(jìn)一步降低了產(chǎn)品開(kāi)發(fā)的難度和成本,但同時(shí)也引入了更多的競(jìng)爭(zhēng)對(duì)手壓低了利潤(rùn)。工程師們開(kāi)始面臨從市場(chǎng)傳導(dǎo)而來(lái)的成本壓力,大家不得不動(dòng)腦子。很明顯的,用于軟件解碼的處理器太貴了。實(shí)際上,除了解碼,其它應(yīng)用并不需要這么強(qiáng)大的運(yùn)算能力。于是,工程師們思考設(shè)計(jì)專(zhuān)門(mén)針對(duì)MP3解碼的硬件DSP芯片來(lái)取代原有的通用處理器,顯然的,邏輯確定,功能簡(jiǎn)單的MP3解碼芯片相對(duì)"通用"的處理器,更容易進(jìn)行裁減并最終降低成本。

——這是”專(zhuān)用”相對(duì)“通用”的最大優(yōu)勢(shì),因?yàn)橛捎谀康牟淮_定的“通用“,必須保留大量的邏輯用于確保一定的靈活性,以應(yīng)對(duì)各類(lèi)不同應(yīng)用的需求,因此很難對(duì)其進(jìn)行有效的裁減——想想當(dāng)你預(yù)算有限時(shí),買(mǎi)手機(jī)或者電腦的時(shí)候是如何糾結(jié)的吧。而“專(zhuān)用”則目的明確,不需要的都可以大刀闊斧的砍掉,最終結(jié)果的輕巧簡(jiǎn)潔可想而知。便宜是自然的。

用硬件解碼芯片配合一個(gè)低廉的處理器取代原本昂貴的器件是嵌入式系統(tǒng)設(shè)計(jì)中降低成本的常見(jiàn)手法。這也是MP3播放器這一嵌入式系統(tǒng)應(yīng)用中第二次沉淀。值得注意的是,這次沉淀并不是整個(gè)軟件模塊都沉淀到硬件中,而僅僅是MP3解碼所要用到的DSP算法被提取出來(lái)做成硬件加速器——這是在不增加硬件成本的邊界條件下,盡可能提供通用性的典型實(shí)例——因?yàn)檫@些固化了DSP算法的芯片還有可能被別的嵌入式應(yīng)用所使用。

總結(jié)


嵌入式系統(tǒng)中只有專(zhuān)用,以及嚴(yán)格規(guī)定了邊界的通用——即在不增加成本或不增加過(guò)多成本的前提下,盡可能的實(shí)現(xiàn)通用。

對(duì)工程師來(lái)說(shuō),沒(méi)有資源限制的通用不算本事,在有限資源范圍內(nèi)實(shí)現(xiàn)盡可能多的通用才是一項(xiàng)挑戰(zhàn)!


這就是沉淀模型,在應(yīng)用需求和成本的雙重壓力下,可重復(fù)利用或者可用更低廉成本實(shí)現(xiàn)的邏輯會(huì)被單獨(dú)提取出來(lái),沉淀到合適的系統(tǒng)層次中,以便用更便宜的方式加以實(shí)現(xiàn),而在總體功能上保持不變或者改善 。

如果你真的理解了沉淀模型,你會(huì)發(fā)現(xiàn),沉淀的過(guò)程并不一定是單向的(從上到下:應(yīng)用層到系統(tǒng)層、軟件模塊沉淀為硬件邏輯)。很容易理解,在運(yùn)算能力普遍較強(qiáng)的今天,一個(gè)有能力作MP3軟件解碼的MCU幾乎是白菜價(jià)——換句話說(shuō),由于性能的普遍提升,MP3軟件解碼幾乎是白送的,用軟件解碼比用硬件MP3芯片解碼更為便宜,因此,MP3播放器這一嵌入式應(yīng)用完成了最后一次沉淀,MP3解碼從硬件重新回到了軟件的懷抱?!绻阏娴亩耍筒粫?huì)糾結(jié)沉淀模型的方向性問(wèn)題了——因?yàn)槟忝靼?,物理世界中,沉淀的?qū)動(dòng)力是重力,而嵌入式世界中,沉淀的方向由成本決定。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3683

    瀏覽量

    131398
  • 計(jì)算機(jī)系統(tǒng)

    關(guān)注

    0

    文章

    290

    瀏覽量

    24653
  • 面向
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    16561
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    嵌入式系統(tǒng)定義

    嵌入式系統(tǒng)定義嵌入式系統(tǒng)是計(jì)算機(jī)技術(shù),通信技術(shù),半導(dǎo)體技術(shù),微電子技術(shù),語(yǔ)音圖象數(shù)據(jù)傳輸技術(shù),甚至傳感器等先進(jìn)技術(shù)和具體應(yīng)用對(duì)象相結(jié)合后的
    發(fā)表于 08-12 14:39

    嵌入式系統(tǒng)定義

    1、嵌入式系統(tǒng)定義(1)定義:以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)
    發(fā)表于 07-29 07:59

    IEEE對(duì)嵌入式系統(tǒng)定義是什么?

    概念介紹嵌入式系統(tǒng)是什么?嵌入式定義是什么?IEEE對(duì)嵌入式系統(tǒng)
    發(fā)表于 10-27 08:27

    關(guān)于嵌入式系統(tǒng)定義與發(fā)展歷史

    嵌入式系統(tǒng)定義與發(fā)展歷史嵌入式系統(tǒng)誕生于微型機(jī)時(shí)代,經(jīng)歷了漫長(zhǎng)的獨(dú)立發(fā)展的單片機(jī)道路。下面是小編整理的關(guān)于
    發(fā)表于 10-27 06:50

    嵌入式系統(tǒng)定義

    【IT168技術(shù)】對(duì)目前國(guó)內(nèi)流行的嵌入式系統(tǒng)定義提出質(zhì)疑,認(rèn)為嵌入式系統(tǒng)不是“專(zhuān)用計(jì)算機(jī)系統(tǒng)”,
    發(fā)表于 10-27 07:40

    嵌入式系統(tǒng)定義

    嵌入式定義:國(guó)內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)
    發(fā)表于 10-27 06:59

    對(duì)嵌入式系統(tǒng)定義

    1、什么是嵌入式IEEE(Institute of Electrical and Electronics Engineers,美國(guó)電氣和電子工程師協(xié)會(huì))對(duì)嵌入式系統(tǒng)定義:“用于控制、
    發(fā)表于 12-21 06:38

    嵌入式系統(tǒng)定義及特點(diǎn)是什么

    目錄嵌入式系統(tǒng)定義及特點(diǎn)1.嵌入式系統(tǒng)定義2.嵌入式
    發(fā)表于 12-22 08:20

    嵌入式系統(tǒng)定義和組成是什么

    1.1 嵌入式系統(tǒng)定義和組成1.1.1 嵌入式系統(tǒng)定義以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬
    發(fā)表于 12-22 08:32

    嵌入式系統(tǒng)定義ARM的4種含義

    概述重點(diǎn):嵌入式系統(tǒng)定義ARM 的4種含義
    發(fā)表于 12-22 06:29

    嵌入式系統(tǒng)定義與體系結(jié)構(gòu)

    第二節(jié) 嵌入式系統(tǒng)定義與體系結(jié)構(gòu)- 三種定義IEEE定義:用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置一般
    發(fā)表于 12-22 06:42

    嵌入式系統(tǒng)定義和組成

    目錄1嵌入式系統(tǒng)定義和組成1.1嵌入式系統(tǒng)定義:1.2
    發(fā)表于 12-22 07:39

    嵌入式系統(tǒng)定義和特點(diǎn)

    一、嵌入式系統(tǒng)概述:1.1 嵌入式系統(tǒng)定義和特點(diǎn):1.1.1 嵌入式
    發(fā)表于 12-22 06:24

    嵌入式系統(tǒng)定義與發(fā)展歷史

    嵌入式系統(tǒng)定義與發(fā)展歷史
    發(fā)表于 10-25 11:27 ?4次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>定義</b>與發(fā)展歷史

    嵌入式系統(tǒng)定義

    嵌入式系統(tǒng)定義(嵌入式開(kāi)發(fā)培訓(xùn)方案)-嵌入式系統(tǒng)定義
    發(fā)表于 07-30 14:27 ?12次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>定義</b>