<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          在SoC器件中如何平衡嵌入式軟件的關鍵作用?

          作者: 時間:2008-04-14 來源:電子產品世界 收藏

            嵌入式系統(tǒng)開發(fā)主要有板級、芯片級與臺式機三大領域。在本???,主要探討了應用MCU、微處理器、DSP進行板級開發(fā)的工具。但是在美國,嵌入式開發(fā)重點是芯片級的SoC(系統(tǒng)芯片)。

          本文引用地址:http://www.ex-cimer.com/article/81529.htm

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

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

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

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

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

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

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

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

            問:的代碼的行數每年以46%的速度增長。而編寫代碼所動用的人力,則以7.5%的年均增長率成長。你看,這里的障礙在于人力的缺乏?

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

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

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

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

            問:當Jack提及802.11時,實際上談論的是兩種不同的軟件。他所說的是協(xié)議棧,與Paul實際談到的軟件是不一樣的。這個說法對嗎?協(xié)議?,F在是一個比較成熟的技術了。

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

            問:軟件對于SoC的低功耗來說已經成為一個關鍵性的因素。現在低功耗的標準化吸引了人們的密切關注,幾家組織已經希望我們能在不久的將來制定出大家都同意的標準。

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

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

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

            Tensilica—Steve:這的確是開放式架構的事,這又回到了并行化的問題?;ゲ僮餍哉嬲鹱饔玫牡胤剑呄蛴谖覀兪紫纫鉀Q的部分,互操作性在實踐中突出的地方,是我們的具體應用間的通信機制,而不是這些應用間的互作用機制,完全在系統(tǒng)層次上。是否要實現某種程度上的互操作,不妨去看看流程流向哪里。

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

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

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

            MIPS—Jack:我們必須有一個軟件適配層。也就是說,我可以改變USB端口。我在這個產品上沒有USB,而在其他產品上有5個,最終使軟件并不會在意,因為它是在平臺上運行的。

            問:通過適配層能否改動軟件的架構?

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

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

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

            問:從汽車電子應用的角度來看,自動代碼生成器一直得到廣泛的應用。它有可能成為未來的解決方案嗎?

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

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

            問:在Bosch,80%的代碼是由代碼生成器生成的。

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

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

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



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();