<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 業(yè)界動(dòng)態(tài) > 在SoC器件中如何平衡嵌入式軟件的關(guān)鍵作用?

在SoC器件中如何平衡嵌入式軟件的關(guān)鍵作用?

作者: 時(shí)間:2008-04-14 來(lái)源:電子產(chǎn)品世界 收藏

  嵌入式系統開(kāi)發(fā)主要有板級、芯片級與臺式機三大領(lǐng)域。在本專(zhuān)刊中,主要探討了應用MCU、微處理器、DSP進(jìn)行板級開(kāi)發(fā)的工具。但是在美國,嵌入式開(kāi)發(fā)重點(diǎn)是芯片級的SoC(系統芯片)。

本文引用地址:http://dyxdggzs.com/article/81529.htm

  在本刊7月期108~110頁(yè)上,曾介紹了美國Monterey召開(kāi)的“2007電子高峰會(huì )議”上“SoC軟件設計討論會(huì )”。在此報道的基礎上,這里薈萃了會(huì )上的部分精彩問(wèn)答。

  多核環(huán)境vs并行化

  主持人—Gartner的John Barber:對于那些利用了并行化架構的設計,多核環(huán)境構成了一大挑戰。如果我們能克服這一挑戰,Tensilica的多核推想就可能成真?

  Tensilica—Steve Roddy:我認為關(guān)鍵在于我們整個(gè)行業(yè)嘗試并應用通用型計算的架構,還是去應用更適合于嵌入式計算的技術(shù)。我曾經(jīng)對兩種情況進(jìn)行了比較:分別將一個(gè)嵌入了Pentium內核的器件和一個(gè)嵌入式設計提交流片前進(jìn)行了對比。嵌入式設計利用了如下的優(yōu)勢,即功能度可以劃分為獨立的小系統,并在獨立的模塊中實(shí)現,從而能實(shí)現優(yōu)化的功能度。過(guò)往,這些都是硬件上的模塊,你在通用型的主控上有軟件API(應用程序接口),讓編程者訪(fǎng)問(wèn)這些硬件上存在的資源。如果你嘗試過(guò)一個(gè)20~30萬(wàn)門(mén)陣列模塊,這是一種很正常的設計風(fēng)格。正是因為這些模塊可能恰好是處理器,用處理器進(jìn)行設計將具有更高的效率,而且用處理器進(jìn)行設計將更寬容一些。你如果以處理器作為設計的基礎引擎的話(huà),則在交付流片后還可以對其進(jìn)行重新編程。你有更多的處理器,也不必改變使用的模式,并不意味著(zhù)你現在要面對另外的15個(gè)處理器,而你必須了解另外15種可編程設計。如果你給編程者所提供的是定義良好的API,以便訪(fǎng)問(wèn)內核-內核的資源。一般的編程者都可以輕松地應對這樣的編程任務(wù),只有SoC設計者需要知道某個(gè)模塊是處理器,了解并行化軟件的內核是如何運作的。 

  Wipro—Siby Abraham:我與你們的看法有一點(diǎn)不同。如今,談到工程,為了利用好多核架構,你必須擁有編譯器、編程語(yǔ)言。隨著(zhù)你進(jìn)入更高性能水平,這些工具顯得更為重要。在功能被清晰劃分的地方,我同意你們的看法。但是,我們越來(lái)越多地看到,應用中所采用的處理器數量增長(cháng)很快,而性能如何提高也將成問(wèn)題。

  Tensilica—Steve:隨著(zhù)時(shí)間的推移,軟件的工作變得愈來(lái)愈重要。那些目前業(yè)界的標準化組織正在著(zhù)手進(jìn)行標準的制定,多核組織已經(jīng)建立了一個(gè)工作組,著(zhù)手制定關(guān)于A(yíng)PI的標準,使之能根據多核的特點(diǎn)來(lái)分配workload。隨著(zhù)時(shí)間的推移,人們必須推出基礎架構,使開(kāi)發(fā)者不必去面對多核帶來(lái)的復雜性,不必讓一個(gè)半導體公司的客戶(hù)、軟件工程師,打開(kāi)說(shuō)明書(shū)去查清其芯片架構的每一個(gè)細節,我們不能強迫每個(gè)工程師去了解清楚芯片上的每一個(gè)細節。

  MIPS科技—Jack Browne:我認為,如果你考察器件的復雜性,130nm的SoC上市前成本是1300~1500萬(wàn)美元;90nm時(shí),成本是3000萬(wàn)美元。人們推出了ASSP,他們不是針對某個(gè)具體問(wèn)題進(jìn)行定制的ASIC。在今天的65nm和45nm節點(diǎn)上,人們的設計方法是大量地復用。所以80%的設計是復用的。我們需要API來(lái)推進(jìn)這些開(kāi)發(fā)工作,我們可以劃分各種東西,劃分音頻Codec(編/解碼器),此后,我可以將其放到任何一個(gè)設計中。但是,除了API,還應該有一個(gè)平臺化的架構,以便保證你的上市時(shí)間。

  為了實(shí)現這一點(diǎn),我們需要廠(chǎng)商能提供電子系統級的模型,這樣軟件人員不用去讀說(shuō)明書(shū)。只要有一張CD,上面有可執行的芯片模型,它的運行速度足夠快。所以,你能夠實(shí)現你的應用。于是,當芯片被取回來(lái)時(shí),你就有相應的軟件了。你可以解決芯片上存在的缺陷。而你可以實(shí)現相應的并行化,讓芯片上的各個(gè)部分能工作。
  
  代碼編寫(xiě)人力不足?

  問(wèn):的代碼的行數每年以46%的速度增長(cháng)。而編寫(xiě)代碼所動(dòng)用的人力,則以7.5%的年均增長(cháng)率成長(cháng)。你看,這里的障礙在于人力的缺乏?

  MIPS—Jack:人們解決這個(gè)問(wèn)題的方式同樣是復用。每一件產(chǎn)品不能從一張白紙起步—公司采取這種策略的話(huà),就會(huì )倒閉。你必須推出相互間有繼承性的產(chǎn)品線(xiàn)。一個(gè)好的例子就是802.11。它最早是以小帶寬的b開(kāi)始的,而g則成為主流,而去年圣誕節,802.11n也降低到了100美元的價(jià)位,達到了消費類(lèi)的空間。軟件也是這樣運作的。復雜性在于,你必須讓數據包能四處移動(dòng),而且讓吞吐率提高2個(gè)數量級。如果你第一個(gè)軟件行不通的話(huà),你在開(kāi)發(fā)第二款產(chǎn)品時(shí)就必須重新編寫(xiě),而這樣的公司是沒(méi)法生存的。我們這個(gè)行業(yè)對于那些策略上犯錯誤的公司是很殘酷的。

  Mentor—Bill Chown:我繼續擴展這個(gè)話(huà)題,80%的程序是復用的。但是并不是每個(gè)軟件都有那么高的復用率。隨著(zhù)軟件的不斷開(kāi)發(fā),越來(lái)越多的軟件形成了軟件包、軟件棧,從而能被方便地復用。因此,并不需要人力也增長(cháng)46%來(lái)解決這個(gè)問(wèn)題。我發(fā)現復用的一個(gè)問(wèn)題是,我的手機包含了手機廠(chǎng)商從1990年以來(lái)編寫(xiě)的所有軟件—這里面實(shí)在有些是垃圾。
  
  問(wèn):軟件46%的增長(cháng)速度與人力7.5%的增長(cháng)速度間的差距將會(huì )逐年增大,你們最終會(huì )遇到人力方面的問(wèn)題?

  Mentor—Bill:我們會(huì )發(fā)現類(lèi)似的情況曾經(jīng)發(fā)生過(guò):在硬件空間中,如今的自動(dòng)化技術(shù)已經(jīng)無(wú)法進(jìn)一步產(chǎn)生動(dòng)力了。因此,我們就必須引入新的人力,以便在硬件上能進(jìn)一步提升其層次??纯窜浖I(lǐng)域,頭號的軟件工具是什么?是VI。VI中不是全套的自動(dòng)化工具,它的自動(dòng)化是在不斷提升的,當然不一定與你提到的人力的增長(cháng)速度同步。它的發(fā)展速度當然與軟件代碼的行數的增加是一致的。在軟件空間中,自動(dòng)化是一個(gè)非常開(kāi)放的領(lǐng)域,作為我們這樣的自動(dòng)化廠(chǎng)商來(lái)說(shuō),軟件業(yè)已經(jīng)習慣了VI的價(jià)格,試圖說(shuō)服他們,自動(dòng)化的價(jià)格與VI的價(jià)格不太一樣,將是一項有趣的挑戰。

  Tensilica—Steve:正如Bill提到的那樣,也許現在復用是過(guò)多了,這會(huì )影響到用戶(hù)的體驗。
  
  協(xié)議棧已成熟?

  問(wèn):當Jack提及802.11時(shí),實(shí)際上談?wù)摰氖莾煞N不同的軟件。他所說(shuō)的是協(xié)議棧,與Paul實(shí)際談到的軟件是不一樣的。這個(gè)說(shuō)法對嗎?協(xié)議?,F在是一個(gè)比較成熟的技術(shù)了。

  MIPS—Jack:隨著(zhù)程序的行數,例如電視的操作系統軟件從100萬(wàn)行程序進(jìn)步到300~800萬(wàn)行,我再添加50萬(wàn)行,就可以形成相應的環(huán)境中間件,則我一旦編寫(xiě)完一套軟件包,就可以在其他任何地方使用。你應該看到的挑戰是——上市的時(shí)間。設計工程師們要完成足夠好的設計。我進(jìn)行的設計滿(mǎn)足了客戶(hù)的需求,而Steve所做的設計超出了用戶(hù)的需求,其設計開(kāi)銷(xiāo)也是我的2倍,而且所花的時(shí)間更長(cháng),則在市場(chǎng)上我將會(huì )取勝。我經(jīng)常遇到同行談技術(shù)上挑戰的困惑:我的設計更好,但為什么我的競爭對手能賣(mài)出去,而我卻不能?答案是:當設計足夠好的時(shí)候,客戶(hù)就愿意為任何別的東西付錢(qián)。這就是為什么以前人們?yōu)榱伺⒊绦蚩s小20%而付錢(qián)的時(shí)代早已一去不復返的原因,因為內存已經(jīng)很便宜了。我在買(mǎi)新手機時(shí),只要花20美元就可以買(mǎi)到一張1GB的內存卡。
  
  低功耗標準化

  問(wèn):軟件對于SoC的低功耗來(lái)說(shuō)已經(jīng)成為一個(gè)關(guān)鍵性的因素?,F在低功耗的標準化吸引了人們的密切關(guān)注,幾家組織已經(jīng)希望我們能在不久的將來(lái)制定出大家都同意的標準。

  MIPS—Jack:影響功耗的問(wèn)題有兩個(gè):一是漏電,為了保證晶體管的速度,現在的柵疊層只有3個(gè)分子厚。芯片上一半的功耗都可歸結為漏電?,F在有許多制造方面的信息,用于解決漏電問(wèn)題。另一方面,是多核和單核之間的差別。一個(gè)雙倍頻運行的處理器內核,其功耗將低于多個(gè)以一半的頻率運行的內核的總功耗。如果你能把任務(wù)分解為若干部分,我可以在多個(gè)內核上分配這些任務(wù),我可以關(guān)閉其中的若干個(gè)內核 。我的手機可以通過(guò)802.11網(wǎng)絡(luò )來(lái)實(shí)現,我不需要開(kāi)啟GSM無(wú)線(xiàn)部分。這些系統的定義都可以由客戶(hù)通過(guò)OEM(委托制造)來(lái)完成。你可以看到許多其他的重點(diǎn),可以是標準化,等等。我們之所以從事這些工作,其原因就是設法賺錢(qián)??蛻?hù)可不愿意付錢(qián),但他們的確需要解決方案。隨著(zhù)時(shí)間飛輪的轉動(dòng),我想,我們今天卻沒(méi)有達到我們所需要的吸引力。

  Tensilica—Steve:我認為要降低功耗,現在層的劃分太過(guò)于分明。在EDA界對共用的流程的討論,通過(guò)信息的交換,一個(gè)針對具體架構的設計實(shí)現,可以快速優(yōu)化,以便實(shí)現功耗的降低,但是在架構層次上實(shí)現,這里是實(shí)現大幅度節能的地方,無(wú)論它是像Jack所說(shuō)的那樣,可以把任務(wù)分配給多個(gè)更小的處理器,并針對特定的功能對處理器進(jìn)行任何優(yōu)化,還是我們對數據流的架構進(jìn)行設計,提供ESL層次的建模。如果你灌入總線(xiàn)的數據太多,而且影響到了速度,這也許就要在不同的模塊間實(shí)現直接連接。通過(guò)硬件和軟件方面的建模而實(shí)現更高層次上的建模,則可以實(shí)現極大的節約,并了解你的架構選擇的影響,以及它是否合適。
  
  互操作和可移植的標準化

  問(wèn):如何看待開(kāi)放標準架構的發(fā)展潮流,因為這實(shí)現了系統間的互操作性,尤其在嵌入式系統間的互操作性和可移植性方面?

  Tensilica—Steve:這的確是開(kāi)放式架構的事,這又回到了并行化的問(wèn)題?;ゲ僮餍哉嬲鹱饔玫牡胤?,趨向于我們首先要解決的部分,互操作性在實(shí)踐中突出的地方,是我們的具體應用間的通信機制,而不是這些應用間的互作用機制,完全在系統層次上。是否要實(shí)現某種程度上的互操作,不妨去看看流程流向哪里。

  MIPS—Jack:另一個(gè)推動(dòng)互操作性發(fā)展的動(dòng)力是如下的事實(shí):軟件的品質(zhì)要達到可以投產(chǎn)的程度。一旦我擁有802.11解決方案,所有的協(xié)議都已經(jīng)解決。我經(jīng)過(guò)驗證,證明其不會(huì )丟失包,或者失去對某些包的存儲。這就是我們的下一件產(chǎn)品努力的方向。我要在我的膝上機上裝上無(wú)線(xiàn)LAN,我希望我的手機裝上無(wú)線(xiàn)LAN,我希望我的照相機也裝上無(wú)線(xiàn)LAN。但是一天結束時(shí),我不用為多出來(lái)的價(jià)值而付費。所以我希望軟件能夠工作,我并不太在乎它有點(diǎn)過(guò)大。因為我面臨的挑戰,是保證推向市場(chǎng)的產(chǎn)品能像我所宣稱(chēng)的那樣工作。

  如果我有高品質(zhì)的代碼,我就可以更快地上市。那就是業(yè)界的情況,因為人們所使用的這些裝置是可以互操作的,知道它們能正常工作。在座的人有多少向自己的PC上下載過(guò)東西?當你直接下載到硬件上時(shí),會(huì )導致其他部分的崩潰。當我們不能提供相應的性能時(shí),就設法繞開(kāi)它,這就違反了規則。系統已經(jīng)變得如此復雜,以至于你必須進(jìn)行有序的設計,因此人人都必須遵守規則。
  
  軟件適配器

  問(wèn):關(guān)于軟件的復用性,Siby說(shuō)道,軟件對于性能、內存占用、功耗、效率、對駭客的抵御能力和可視化來(lái)說(shuō),應該負更多的責任,但最終則還是要依賴(lài)于硬件來(lái)實(shí)現。那么,如果你不斷改動(dòng)模塊的架構,并改變相應的硬件,那么你如何保證軟件的復用性?

  MIPS—Jack:我們必須有一個(gè)軟件適配層。也就是說(shuō),我可以改變USB端口。我在這個(gè)產(chǎn)品上沒(méi)有USB,而在其他產(chǎn)品上有5個(gè),最終使軟件并不會(huì )在意,因為它是在平臺上運行的。

  問(wèn):通過(guò)適配層能否改動(dòng)軟件的架構?

  MIPS—Jack:是的,你所希望做到的是,建立若干個(gè)出色的孤島,而我不希望過(guò)問(wèn)這些島的互操作性,我不希望過(guò)問(wèn)芯片上的多個(gè)處理器。你不用過(guò)問(wèn)芯片本身,不用過(guò)問(wèn)操作系統,不用去管編程手冊。這些島都極為出色,是供應鏈上的頂級廠(chǎng)商所開(kāi)發(fā)的。我們的最佳的產(chǎn)品將通過(guò)把這些串聯(lián)起來(lái)而形成產(chǎn)品,將其推向產(chǎn)品,而且能工作。所以,它們是獨立的,但人們必須遵循某種規則,他們必須能信任對方——這些產(chǎn)品是可用的。

  Wipro—Siby:我們必然看到軟件的復用越來(lái)越多,而且我們會(huì )看到還會(huì )推出具有鮮明特色的軟件,體現在硬件架構上。

  Tensilica—Steve:我認為達到那一點(diǎn)的途徑是找出哪里放置抽象層才具有意義。而對那一點(diǎn)進(jìn)行標準化,的確能提供互操作性。形成先進(jìn)的功能劃分,并保證其性能模塊間的互操作性,對其進(jìn)行優(yōu)化,重新設定其架構,或者任何其他的工作,使之能更好地完成其工作,而不必擔心它與系統的其他部分的互操作能力如何。因為你已經(jīng)從這件任務(wù)中解放出來(lái)。復用本身并不能實(shí)現復用。
  
  自動(dòng)代碼生成器

  問(wèn):從汽車(chē)電子應用的角度來(lái)看,自動(dòng)代碼生成器一直得到廣泛的應用。它有可能成為未來(lái)的解決方案嗎?

  MIPS—Jack:我想,汽車(chē)業(yè)追求的一點(diǎn)是駕乘的完美性。在某些汽車(chē)上,裝備了100多個(gè)處理器。而有些汽車(chē)所能用到的處理器很少,這是因為人機接口的應用很糟糕。因此客戶(hù)無(wú)法在對汽車(chē)進(jìn)行保養后,通過(guò)原先的編程來(lái)將座椅回復原位?,F在是有很多變革,但人們必須在編程語(yǔ)言的層次上開(kāi)展工作,而我們現在還找不出產(chǎn)出率比C++更高的編程語(yǔ)言。我認為那就是挑戰的一部分。

  Mentor—Bill:但我的確看到汽車(chē)工業(yè)是一個(gè)高度講求安全性、品質(zhì)的行業(yè)。新一代代碼的推出也必須滿(mǎn)足法規和標準,而且通過(guò)采用這些條文的運用來(lái)進(jìn)行修正。汽車(chē)、醫療等行業(yè)都要按規章來(lái)實(shí)行,并通過(guò)長(cháng)時(shí)間的執行來(lái)獲得專(zhuān)業(yè)水準,這樣才能承擔任務(wù)。因此這些規則將逐步轉化成標準和法規。汽車(chē)電子業(yè)推出了許多標準。而在各個(gè)模塊間實(shí)現標準化的時(shí)候,代碼生成器才能真正得到應用。但它也會(huì )限制革新。

  問(wèn):在Bosch,80%的代碼是由代碼生成器生成的。

  Mentor—Bill:我的確看到了很多這些例子。有趣的一點(diǎn)是,在20%的軟件上仍然能夠實(shí)現鮮明特色。
  
  產(chǎn)業(yè)斷層

  問(wèn):我看到了現在有這么多的架構和產(chǎn)品,人們使用了大量的IP內核、IP處理器,而從架構的角度來(lái)看,你所看到的架構隨著(zhù)應用的不同而有較大的差異。在10多年內,這會(huì )導致大兼并嗎?這個(gè)會(huì )不會(huì )導致專(zhuān)業(yè)的分化,于是會(huì )出現大的公司,而且出現一些從軟件上支持他們的、專(zhuān)業(yè)化的小公司?

  MIPS—Jack:我在參加一個(gè)EDA會(huì )議時(shí),一家小公司曾問(wèn)了同樣的問(wèn)題。半導體業(yè)和電子業(yè)是存在斷層的行業(yè),它們是由一批獨立的公司來(lái)領(lǐng)導的。但是同時(shí),為了獲得最大收益,你必須遵守一些規則。例如如果我1990年有這些軟件的話(huà),因為我用的是Nokia,但是,我買(mǎi)了個(gè)新手機后,我所得到的是一張白紙,不用再忍受20年前的程序中的那些錯誤。獨立的空間是有的。當新產(chǎn)品和新標準推出后,你會(huì )感到斷層,要考慮如何得到足夠的批量,以保證商業(yè)模式的可行性。這也就是適者生存,我們希望存在競爭的原因。(迎九根據會(huì )議錄音整理)



關(guān)鍵詞: SoC器件 嵌入式軟件

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>