處理器市場(chǎng)最終會(huì)被統(tǒng)一嗎?
· ARM 32位架構(gòu)現(xiàn)在是淘汰8位架構(gòu)的最強(qiáng)大候選人。
· 由于32位處理器依賴于更小的工藝結(jié)點(diǎn),因此增加了獲得相同價(jià)格與能效的機(jī)會(huì)。
· 每種處理器大小與類型都能最好地服務(wù)于一個(gè)特定的問題領(lǐng)域,確定了獲得最佳目標(biāo)設(shè)備與軟件的開銷。
· 創(chuàng)新可以來自任何方式—甚至可能包括為提高速度而減小尺度。
· 單一開發(fā)方案可能會(huì)限制那些可能發(fā)現(xiàn)并解決新機(jī)會(huì)的類型。
某個(gè)處理器會(huì)一統(tǒng)天下嗎?這種想法是否是一個(gè)好主意?
嵌入式計(jì)算的生態(tài)系統(tǒng)非常類似于《指環(huán)王》中的中土大陸,只不過其中沒有精靈、矮人、霍比特人和人類自身, 而是棲息著所有類型的處理架構(gòu)。各種微處理器、數(shù)字信號(hào)處理器以及微控制器的優(yōu)化組合,滿足了設(shè)計(jì)人員龐大的設(shè)計(jì)需求。
我的這一類比源于最近讀的一些文章和在線討論。總體上,它們都問著兩個(gè)問題:是否8位處理器正在消亡?ARM是否在贏得處理器大戰(zhàn)?這兩個(gè)問題潛意識(shí)都在期望著一種統(tǒng)一的架構(gòu)。這些文章和討論都認(rèn)為,ARM架構(gòu)將成為較小位寬微控制器棺材上的最后一根釘子,甚至可能在一些應(yīng)用中擠占其它32位微處理器的空間。在這個(gè)快速變幻的生態(tài)系統(tǒng)中,ARM架構(gòu)確實(shí)可以一統(tǒng)天下嗎?
這種類比只是對(duì)這些問題及相關(guān)討論中普遍蘊(yùn)含的統(tǒng)一架構(gòu)主題的一種描述,而不意味著對(duì)所討論處理器架構(gòu)或支持這些架構(gòu)的生態(tài)系統(tǒng)公司的一種斷言。但至少對(duì)我來說,這種類比提供了一個(gè)可見且?guī)缀跤|手可及的圖像,從中可以看出,不久以后的某天,單一處理器架構(gòu)可能最終宣告8位和16位架構(gòu)的死亡,并可能搶奪傳統(tǒng)上歸屬于32位和更大微處理器的應(yīng)用。
這種處理架構(gòu)的一統(tǒng)天下是可能的嗎?這是我們想要的結(jié)果嗎?
讓我們開始如下的演練:約定就成本、工作負(fù)荷能力及功耗等方面而言, 某款3 2 位處理器已經(jīng)獲得或超越了用于某特定工作負(fù)荷的某款8位處理器的性能。在這里用“約定”這個(gè)措辭,并非要避免數(shù)據(jù)表爭(zhēng)議,而是為了強(qiáng)調(diào)任何處理器對(duì)其它處理器的替代都是基于個(gè)例完成的,是以顯式工作負(fù)荷(預(yù)期或已經(jīng)實(shí)現(xiàn))為背景,在顯式替代者之間做的區(qū)分。當(dāng)替代者超過現(xiàn)有實(shí)現(xiàn)者時(shí),就存在著一個(gè)向替代者遷移的機(jī)會(huì)。
然而,在工作負(fù)荷以及可用處理選擇生命周期內(nèi)將某個(gè)工作負(fù)荷遷移到一款替代器件上,并不等同于將它遷移到一個(gè)特定的替代器件上,因?yàn)楝F(xiàn)有處理器的寬度或架構(gòu)實(shí)現(xiàn)都會(huì)被逐步廢棄。
舉個(gè)例子,考慮長期以來有關(guān)FPGA的類似爭(zhēng)議,即所謂FPGA會(huì)把DSP逼上絕路。過去已經(jīng)反復(fù)多次證明了,F(xiàn)PGA可以任意完成廣泛的信號(hào)處理工作,比專用DSP更快也更高效。但對(duì)確定的工作負(fù)荷,如果某種處理器包含了用于特定工作負(fù)荷實(shí)現(xiàn)的最優(yōu)執(zhí)行單元類型與數(shù)量,則FPGA將不再具備性能與效率的優(yōu)勢(shì)。
事實(shí)上,當(dāng)前信號(hào)處理工作的真實(shí)情況是這樣的:最初,某個(gè)待開發(fā)的工作負(fù)荷是在一個(gè)高性能微處理器或DSP上,以仿真和原型方式用軟件實(shí)現(xiàn)。隨著工作負(fù)荷實(shí)現(xiàn)的變動(dòng)與不確定性趨于穩(wěn)定,開發(fā)人員會(huì)將其遷移到一個(gè)FPGA,做性能、價(jià)格與功耗的優(yōu)化。一旦設(shè)計(jì)人員使工作負(fù)荷適應(yīng)了很多大批量設(shè)計(jì),半導(dǎo)體公司就可能決定生產(chǎn)一種專用處理器或協(xié)處理器,其中包含了用于特定工作負(fù)荷的微處理器或DSP;而這個(gè)開發(fā)工作也將決定工作負(fù)荷的另一次遷移,這次是將軟件實(shí)現(xiàn)遷移到上述器件上。這些遷移沒有一條是造成微處理器、FPGA 或DSP趨于過時(shí)的原因。
最有效點(diǎn)
實(shí)現(xiàn)這些不同的處理(微處理器、DSP和FPGA)的真實(shí)體驗(yàn)是,其中的“最佳選擇”要取決于目標(biāo)處理的類型,因此在相同設(shè)計(jì)中,它們通常是平等的。同樣地,“8 位何時(shí)死亡”這個(gè)問題也是指不同環(huán)境嗎?
借助于各種處理的最有效點(diǎn)的分布圖(圖1)有助于給出這些遷移事件可能出現(xiàn)差異的方式與原因。圖中將每種處理器的架構(gòu)映像到一個(gè)二維空間,將一個(gè)設(shè)計(jì)的處理復(fù)雜性表示為計(jì)算或工作強(qiáng)度與一個(gè)系統(tǒng)必須管理的環(huán)境量的函數(shù)。
工作強(qiáng)度表示在橫軸,可以表示在一個(gè)單位時(shí)間或能量內(nèi),系統(tǒng)需要的處理性能峰值、總量或持續(xù)量。處于分布范圍最左端的工作負(fù)荷優(yōu)化到了一個(gè)有限的能量預(yù)算,而最右端的則優(yōu)化為有限的完成時(shí)間預(yù)算。
豎軸表示一個(gè)系統(tǒng)必須管理的環(huán)境量,可以是系統(tǒng)內(nèi)部狀態(tài)、系統(tǒng)輸入輸出數(shù)量(無論結(jié)構(gòu)上是分級(jí)還是匯聚),甚至可以是系統(tǒng)必須支持的可能狀態(tài)或條件控制流水平。
對(duì)兩種復(fù)雜性的量度使得主要處理器架構(gòu)能夠映射到它們最適于工作的區(qū)域內(nèi)。盡管這一范圍為每種類型處理架構(gòu)選擇都給出了特定區(qū)域,但各個(gè)區(qū)域的邊界之間通常有明顯的重疊,圖1中各區(qū)之間的重疊未明確標(biāo)示出,是為了不使本已繁復(fù)的圖像顯得更凌亂。在每個(gè)確定的區(qū)域內(nèi),落在該區(qū)內(nèi)的處理方法都有相同的架構(gòu)特性,不同于其它區(qū)域中的器件(見附文:“架構(gòu)的差異”)。
與已確定的最有效點(diǎn)區(qū)不同的是,不同處理器的位寬并非互斥到專門的處理器架構(gòu)上(圖2)。但顯然,4位和8位處理器僅落在微控制器區(qū)(FPGA中用作微控制器的8位軟核是技術(shù)例外),特別是32位微控制器,它被認(rèn)為篡奪了8位微控制器的地位,因此也強(qiáng)化了8位處理器正趨死亡問題的正確性。
4位處理器位于最有效點(diǎn)分布的左下方(圖2),它們被顯式包含的原因是,各家公司都仍在批量制造4位處理器,盡管缺乏供應(yīng)商與用戶的公開營銷。事實(shí)上,各公司對(duì)4位市場(chǎng)的參與都遮遮掩掩,主要是出于競(jìng)爭(zhēng)原因。但我通過與業(yè)內(nèi)人士的深入交流,梳理出了一些不為人知的有用內(nèi)幕。
這些公司并不向公共開發(fā)人員社區(qū)售賣自己的4位處理器,這不同于8位、16位和32位處理器通常的市場(chǎng)營銷方式。與那些提供技術(shù)前沿處理器(在分布圖的最右邊)的公司一樣,4位處理器提供商也會(huì)主動(dòng)地尋找并辨識(shí)那些能最好地利用自己處理器的設(shè)計(jì)人員,而忽視其他人。一家4位處理器提供商會(huì)去接近一位潛在的開發(fā)人員,研究特定的實(shí)現(xiàn)細(xì)節(jié),證明其4位器件可以為該開發(fā)人員的設(shè)計(jì)與最終產(chǎn)品提供差異化特點(diǎn)。
4位處理器只為特定的大批量產(chǎn)品而生產(chǎn)。有些(甚至所有)4位處理器僅以ROM器件方式提供。為適應(yīng)驗(yàn)證掩膜套件的高強(qiáng)度人工勞動(dòng),這類器件供應(yīng)商限制只供給那些會(huì)有超大批量的客戶。
此外,4位處理器僅以匯編語言編程。軟件開發(fā)工具的費(fèi)用在1萬美元區(qū)間,而那些告知我這些信息的公司說,供應(yīng)商會(huì)向其客戶出租開發(fā)工具,而不是出售工具。
4 位處理器的最有效點(diǎn)是單電池應(yīng)用,其典型壽命為10年,器件也許只在1%的時(shí)間內(nèi)工作,而其它99%的時(shí)間都是處于待機(jī)模式。4位處理器一個(gè)有意思的差異化因素是它們可以在0.6V下工作,這樣就擁有了較8位處理器的功耗優(yōu)勢(shì)。另外,4位處理器自1990年以來就已經(jīng)能支持能量采集設(shè)計(jì),而8位、16位和32位處理器供應(yīng)商在近幾年才剛剛開始提供開發(fā)與演示套件。
努力獲得正確的尺寸
我們正看到32位微控制器的價(jià)格與能耗都達(dá)到了與8位微控制器相同的水平,甚至已在這些參數(shù)上超越后者,這是可能的嗎?
先看價(jià)格。32位器件的生產(chǎn)采用了最新的工藝尺度,而8位器件仍使用較大工藝結(jié)點(diǎn),在基本被棄用的工廠里制造。雖然32位核心的總線要寬四倍,但當(dāng)兩個(gè)工藝結(jié)之間的距離增加時(shí),每個(gè)CPU所消耗的相對(duì)硅片面積卻幾乎相同。另外,在較大器件中,核心本身占用硅片份額表現(xiàn)出減少趨勢(shì),內(nèi)存與外設(shè)會(huì)占據(jù)主要的硅片面積。事實(shí)上,32位微控制器在多年前就突破了1美元屏障,而最小的器件甚至突破了50美分的價(jià)格點(diǎn),達(dá)到了與8位微控制器相當(dāng)?shù)膬r(jià)格區(qū)間。
不過,有些成本是32位微控制器必須負(fù)擔(dān),而8位器件可以避免的。我們提到過生產(chǎn)設(shè)施的折舊。此外,由于我們假設(shè)的32位器件是一款A(yù)RM微控制器,其價(jià)格還必須包含使用ARM IP(知識(shí)產(chǎn)權(quán))的授權(quán)費(fèi)用,這進(jìn)一步削減了相對(duì)邊際。
還有個(gè)事實(shí)也有相同效果,那就是32位器件要有更集中的支持,因此使用32位IP使半導(dǎo)體公司通過與其它公司共享開發(fā)資源,以均衡某些支持成本。8位器件的支持成本較低,因?yàn)槟繕?biāo)應(yīng)用無論在范圍和規(guī)模上都很簡單,工作在“低”時(shí)鐘速率,并且除供應(yīng)商以外,還有極具專業(yè)和合作性的開發(fā)者/用戶社區(qū)支持。簡言之,當(dāng)一款32位器件因價(jià)格均等而展現(xiàn)出真實(shí)威脅時(shí),可能有多個(gè)領(lǐng)域讓8位供應(yīng)商仍躊躇在價(jià)格與制造上。
當(dāng)32 位處理器達(dá)到或超過8 位微控制器的功耗性能時(shí),情況會(huì)怎樣?此時(shí),32位器件會(huì)采用一種雙重打擊法去挑戰(zhàn)8位器件:代碼密度,以及完成一次喚醒/睡眠循環(huán)的時(shí)間。
恩智浦半導(dǎo)體公司微控制器業(yè)務(wù)架構(gòu)與系統(tǒng)高級(jí)總監(jiān)Rob Cosaro表示,該公司的基準(zhǔn)測(cè)量研究表明,當(dāng)在一只Cortex-M0級(jí)處理器上運(yùn)行一個(gè)8051 上的相同算法時(shí),代碼密度下降了50%。但如果基準(zhǔn)測(cè)試不能反映出設(shè)計(jì)實(shí)際使用的代碼,那就只是個(gè)花招而已。例如,EEMBC(嵌入微處理器基準(zhǔn)聯(lián)盟)的Coremark中包含了用于測(cè)試8位、16位和32位CPU的函數(shù),但你不會(huì)考慮在一只8位器件上運(yùn)行像雙鏈接表和矩陣運(yùn)算這類函數(shù)。
當(dāng)一只8 位處理器的使用超出了其理想?yún)^(qū)域時(shí), 32 位甚至16 位處理器就有了提供更好代碼密度的機(jī)會(huì),例如運(yùn)行數(shù)據(jù)大于8位(因?yàn)樾枰啻螖?shù)據(jù)訪問才能操作一個(gè)數(shù)據(jù));工作數(shù)據(jù)集超過了16KB~64KB地址空間;工作在高時(shí)鐘速率(高于20MHz~50 MHz ),甚至要支持繁重的網(wǎng)絡(luò)通信棧。在這些情況下,應(yīng)用可能無法與8位處理器相配合,因?yàn)閹啄陙?,與維護(hù)有關(guān)的功能增長已經(jīng)逐漸進(jìn)入了系統(tǒng)。
在能量敏感的嵌入式設(shè)計(jì)中,微控制器大部分時(shí)間處于小功率的睡眠模式, 定期喚醒來完成其任務(wù)。與代碼密度情況類似,如果8位微控制器做的任務(wù)失配,32位微控制器就能夠以足夠快的速度做喚醒并完成任務(wù),然后返回睡眠狀態(tài),而消耗的能量少于8位器件。
8位微控制器較可能替代它的32位處理器有一個(gè)關(guān)鍵性優(yōu)點(diǎn),這就是8位器件能夠以一個(gè)高的成本效率和能效水平完成工作,而這方面32位要替代8位器件還有幾年時(shí)間。小型處理器細(xì)分市場(chǎng)的興奮點(diǎn)定位在最小處理器,把成本與能耗推到了可能的極限。我們所稱的小功率是一個(gè)不斷在變化的目標(biāo)。在支持那些小型任務(wù)方面,較小數(shù)據(jù)寬度將總是明顯領(lǐng)先于較寬的數(shù)據(jù)寬度。
在相同價(jià)格和功耗性能的8位和32位器件之間做選擇時(shí),還有一個(gè)數(shù)據(jù)表上沒有,卻有一定影響的因素:行業(yè)專業(yè)知識(shí)。雖然做8位器件編程可能要熟練掌握匯編甚至C語言,但一名開發(fā)人員最重要的還是行業(yè)知識(shí)。
想想為什么COBOL程序仍有需求,盡管大多數(shù)人把COBOL看作一種已被淘汰的編程語言。這種語言很直觀,易于理解。對(duì)專業(yè)COBOL程序員的假設(shè)(也是他們的價(jià)值所在)是他們了解COBOL程序要解決的商務(wù)問題。
同樣,8位微控制器所面對(duì)的問題不同于32位器件,并且32位系統(tǒng)開發(fā)人員面臨的行業(yè)領(lǐng)域也不同于8位開發(fā)人員。例如,一個(gè)正確的8位應(yīng)用不存在難以處理的存儲(chǔ)器限制,因?yàn)閼?yīng)用能完全理解并填滿架構(gòu)的自然極限。32位應(yīng)用可以處理多得多的不確定性,可以通過動(dòng)態(tài)存儲(chǔ)方式利用和管理更大的存儲(chǔ)空間,而8位開發(fā)人員根本不用考慮這種方式。
數(shù)據(jù)的大小應(yīng)反映出處理器的自然位數(shù),對(duì)一款并未設(shè)計(jì)浮點(diǎn)運(yùn)算的器件,不應(yīng)用于密集地處理大量浮點(diǎn)運(yùn)算。8位處理器最適合用于簡單或約束性任務(wù)。采用操作系統(tǒng)和中間件的系統(tǒng)是為了提高開發(fā)人員效率,因?yàn)橄到y(tǒng)太復(fù)雜,不能從頭開發(fā),而從頭建立一個(gè)簡單的日程表則相對(duì)簡單直接。
最終,每種類型的處理器架構(gòu)都需要設(shè)計(jì)者在建立系統(tǒng)時(shí)采用一種不同的思考過程。只要存在著盡可能獲得更低能耗預(yù)算的新開發(fā)需求,只要處理供應(yīng)商還會(huì)積極地提供這些小寬度器件的設(shè)計(jì)支持,8位器件就有市場(chǎng),哪怕是臨時(shí)性的。如果我們不把低功耗、小數(shù)據(jù)寬度處理器與較大的32位處理器等同起來,事件就會(huì)容易得多,因?yàn)樗鼈兘鉀Q的是不同問題。
附文:架構(gòu)的差異
圖1通過計(jì)算負(fù)荷與環(huán)境量的關(guān)系反映了處理器最有效點(diǎn)的特性。工作負(fù)荷可以是峰值大小、總量,或在給定時(shí)間或能量情況下, 系統(tǒng)需要維持的處理性能數(shù)量。環(huán)境量可以表示內(nèi)部系統(tǒng)狀態(tài)、系統(tǒng)輸入輸出數(shù),或系統(tǒng)必須支持的可能環(huán)境量。
各種確定的處理器類型都會(huì)以不同進(jìn)度隨時(shí)代演進(jìn),每種類型都會(huì)對(duì)一個(gè)或多個(gè)性能度量做出折中權(quán)衡以獲得最大的一個(gè)或多個(gè)性能指標(biāo)。
微控制器是專用處理器,它以犧牲靈活性和工作負(fù)荷處理量為代價(jià),提供了成本與能效上的優(yōu)勢(shì)。它們提供成本優(yōu)勢(shì)的方法是在一個(gè)封裝內(nèi)集成存儲(chǔ)器與外設(shè)。
它們提供能效優(yōu)勢(shì)的部分方法是面向那些以較低時(shí)鐘速率運(yùn)行的工作負(fù)荷,另外也是由于它們僅用電路實(shí)現(xiàn)的最小集合來完成控制處理工作。如果一個(gè)設(shè)計(jì)需要有靈活性,如更多或更少存儲(chǔ)器、不同外設(shè)集,或更高的時(shí)鐘速率,則設(shè)計(jì)者必須換用一種不同的處理器。有些微控制器通過放棄緩存或流水線的方法,提供了確定性的運(yùn)算與操作。微控制器通常面向那些有頻繁和優(yōu)先級(jí)環(huán)境切換的系統(tǒng)控制工作負(fù)荷。
DSP也以工作負(fù)荷靈活性為代價(jià),專注于獲得最佳成本與能效。它們犧牲了處理環(huán)境轉(zhuǎn)換的效率,以最大限度獲得連續(xù)計(jì)算和可重復(fù)計(jì)算的性能。它們并不集成很多外設(shè),因?yàn)樗鼈兊慕Y(jié)構(gòu)本身就不適合用于處理環(huán)境切換,而這是很多外設(shè)的可能要求。最常用的集成外設(shè)是ADC,DSP用它獲取一個(gè)真實(shí)世界數(shù)據(jù)流,供自己做處理。
DSP采用多總線和多存儲(chǔ)器結(jié)構(gòu),這樣它們就可以完成同步存儲(chǔ)器操作,支持連續(xù)的單周期乘法/累加操作。
它們采用了專用寄存器,以盡量減少存儲(chǔ)器訪問時(shí)間,能夠?qū)崿F(xiàn)零開銷循環(huán)。DSP用于那些有連續(xù)數(shù)據(jù)流的系統(tǒng),用于完成連續(xù)的信號(hào)處理,通常結(jié)合使用硬件加速器或FPGA,以分擔(dān)繁重的密集計(jì)算負(fù)荷。
DSC(數(shù)字信號(hào)控制)專注于優(yōu)化成本和能效上的方法是將DSP功能與微控制器結(jié)合在一只處理器中,能夠勝任同時(shí)處理環(huán)境切換與信號(hào)處理的工作。這些器件提供較DSP更好的工作負(fù)荷靈活性,同時(shí)針對(duì)連續(xù)數(shù)據(jù)流,仍然保持了高效完成重復(fù)性工作負(fù)荷的能力。
FPGA提供了一種高度靈活的可編程硬件平臺(tái),可以充分利用任意寬度的信號(hào)處理算法,并用做硬件加速塊。FPGA能很好地完成信號(hào)處理工作,此時(shí)它有較少的決策狀態(tài),以及大量的數(shù)據(jù)點(diǎn)處理工作。
協(xié)處理器類別依賴于硬件,加快工作負(fù)荷的處理速度, 減少能耗。協(xié)處理器通常不是單獨(dú)使用,而是與其它處理器相連接,或共同集成到一個(gè)封裝內(nèi)(如與DSP或微處理器)。
微處理器采用通用架構(gòu),能夠完成相當(dāng)大范圍的處理工作,極具工作負(fù)荷的靈活性。它們處理環(huán)境切換時(shí)不如微控制器那么快或那么確定,同時(shí)做循環(huán)處理時(shí)也不如DSP快速和有效率。但當(dāng)要處理那些未知內(nèi)容時(shí),例如一個(gè)支持用戶加載應(yīng)用的系統(tǒng),微處理器就是最理想選擇。
微處理器通常能支持大量的存儲(chǔ)地址空間,采用大規(guī)模的片上緩存,以補(bǔ)償訪問片外存儲(chǔ)器所帶來的時(shí)間損失。當(dāng)成本與能效的重要性低于短時(shí)間開發(fā)周期時(shí),它們很適合于做“臨時(shí)應(yīng)急”的原型,或概念驗(yàn)證研究。
微處理器
ARM處理器在移動(dòng)設(shè)備中的爆炸性發(fā)展,使一些人產(chǎn)生了疑問:是否在其它市場(chǎng)中,ARM也會(huì)替代其它微處理器架構(gòu)。不過,現(xiàn)有的微處理器架構(gòu)也擁有類似于8位微控制器的秘密武器,這就是行業(yè)知識(shí),它深深地埋藏在當(dāng)前架構(gòu)以及生態(tài)系統(tǒng)之中。
想想某個(gè)微處理器架構(gòu)的特殊變型,其特性已經(jīng)過開發(fā)、測(cè)試和微調(diào),因此該變型特別適用于目標(biāo)應(yīng)用的特定需求。再考慮為既定市場(chǎng)服務(wù)的軟件實(shí)體,一個(gè)強(qiáng)大的既有微處理器架構(gòu)非常類似于8位微控制器,它周圍是一個(gè)強(qiáng)大而成熟的生態(tài)系統(tǒng),包括開發(fā)人員、工具、操作系統(tǒng)以及中間件,這是現(xiàn)有處理器應(yīng)對(duì)挑戰(zhàn)者的緩沖器。
有關(guān)當(dāng)前處理器優(yōu)勢(shì)有一個(gè)特殊例子,就是哪款微處理器架構(gòu)將最終贏得平板電腦世界。ARM架構(gòu)現(xiàn)在擁有顯然的優(yōu)勢(shì),因?yàn)楹芏嗥桨逶O(shè)計(jì)將其當(dāng)作一部大型智能手機(jī), 而ARM架構(gòu)在智能手機(jī)市場(chǎng)有著多年的軟硬件支持史,擁有很多相關(guān)設(shè)計(jì)知識(shí)。如果平板電腦繼續(xù)保持智能手機(jī)模式,則ARM架構(gòu)就是最佳定位。不過現(xiàn)在也有基于其它微處理器的平板產(chǎn)品,它們對(duì)平板的定義是有差異的。例如,如果微軟可以重新調(diào)整平板電腦市場(chǎng),充分利用自己Windows OS的生態(tài)系統(tǒng),則今天的平板市場(chǎng)就可能完全是不同面貌了。
據(jù)一些估計(jì),過去數(shù)十年來,供應(yīng)商提出了超過200種處理器架構(gòu)。其中大多數(shù)已經(jīng)銷聲匿跡,或被其它架構(gòu)吸收?,F(xiàn)在只有10 個(gè)左右架構(gòu)仍在為開發(fā)人員提供工具和方法,以創(chuàng)建出今天包含處理器與開發(fā)工具復(fù)雜生態(tài)系統(tǒng)的應(yīng)用,并且有行業(yè)針對(duì)性的工程與軟件支持。如果再從這些里面精選幾個(gè),開發(fā)人員市場(chǎng)是否能得到更好的服務(wù)呢?
處理器市場(chǎng)這種巨大混沌的狀態(tài)說明,要找到服務(wù)該市場(chǎng)的正確方式是多么的復(fù)雜和困難。不確定性并非源于過去,今天的技術(shù)相當(dāng)大一部分也存在著不確定性。這種不確定性的一種表示就是關(guān)于8位是否死亡的無盡問題。
我最近剛知道,有些公司正在悄悄地探索能明顯提高原生處理性能的方式,即在某些DSP應(yīng)用中減少數(shù)據(jù)的大小。一部分挑戰(zhàn)是要做出可接受的權(quán)衡,一方面是短字長所帶來的問題,另一方面是較低功耗下組合較高性能的好處。今天有些DSP支持在較大執(zhí)行引擎內(nèi)的8 × 8 MAC(乘法累加)。簡言之,我們的未來會(huì)有8位DSP嗎?你永遠(yuǎn)不知道下一個(gè)好想法來自哪里。如果你可選的處理器架構(gòu)不多,產(chǎn)生瘋狂思想的機(jī)會(huì)也就不多,例如冒出來一個(gè)8位DSP。
很多評(píng)論家爭(zhēng)辯說,如果我們的架構(gòu)選擇少,軟件代碼會(huì)更容易維護(hù),因?yàn)橛懈嫶蟮拈_發(fā)人員群體來獲取、使用和維護(hù)它。那么,一個(gè)統(tǒng)一架構(gòu)會(huì)改進(jìn)現(xiàn)有行業(yè)知識(shí)的可轉(zhuǎn)移性嗎?更重要的是,能有利于新行業(yè)知識(shí)的發(fā)展嗎?
據(jù)我所觀察的大型半導(dǎo)體公司的所作所為,我很懷疑,有限的架構(gòu)選擇會(huì)導(dǎo)致更慢的創(chuàng)新,因?yàn)樵陂_發(fā)支持生態(tài)系統(tǒng)中,有足夠多的資源來解決最大批量應(yīng)用的工程化問題。這可能對(duì)發(fā)現(xiàn)新興應(yīng)用的努力造成負(fù)面影響,這種努力可能代替現(xiàn)有的大批量應(yīng)用。
正如中土地球的不同競(jìng)爭(zhēng)一樣,每個(gè)現(xiàn)有處理器架構(gòu)都包含著自己獨(dú)特的行業(yè)文化或開發(fā)生態(tài)系統(tǒng),使之在完成某些任務(wù)方面優(yōu)于其它替代品。大多數(shù)設(shè)計(jì)已經(jīng)采用了多處理器,而廣泛的處理器選擇使開發(fā)人員能夠在自己的設(shè)計(jì)中挑選并使用同類最佳器件與軟件。單一架構(gòu)成功地一統(tǒng)天下,也許會(huì)是提升開發(fā)人員生產(chǎn)力的關(guān)鍵,但也可能成為一種桎梏,過分強(qiáng)求一致性, 卻限制了創(chuàng)新的方向與機(jī)會(huì)。