<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è) > 嵌入式系統 > 設計應用 > XMOS重新定義晶圓

XMOS重新定義晶圓

——
作者:Tom R. Halfhill 時(shí)間:2007-11-10 來(lái)源:電子產(chǎn)品世界 收藏

  初創(chuàng )企業(yè)尋求更新半導體技術(shù)與工藝的努力從未中斷。當然,傳統器件的缺點(diǎn)眾所周知,ASIC 的開(kāi)發(fā)昂貴,費時(shí),并且風(fēng)險大;ASSP接近大眾,但是很難做到器件的差異化;FPGA大量購買(mǎi)十分昂貴,并且編程十分困難。

  XMOS Semiconductor,一家位于英國B(niǎo)ristol成立兩年的無(wú)晶圓半導體公司, 正努力推動(dòng)一種名為“軟件定義晶圓”的新技術(shù)。在這種技術(shù)中,通用嵌入處理器核的多核陣列采用硬件多線(xiàn)程在嚴格實(shí)時(shí)限制下運行控制軟件及應用軟件。同時(shí),另有單獨的線(xiàn)程驅動(dòng)芯片引腳仿真所要求I/O接口(以太網(wǎng),USB,UART, I2C 等)。這種多核集成,多線(xiàn)程確定性,和軟件定義I/O的組合使通用微處理器可執行SoC功能,但是沒(méi)有定制的加速軟件或專(zhuān)屬的I/O控制器。

  “軟件定義晶圓”的基本概念并不是新的。幾年前,Ubicom(硅谷一家小公司)推出的芯片采用確定性硬件多線(xiàn)程來(lái)進(jìn)行數據包處理和軟件定義I/O。Ubicom的MASI (Multithreaded Architecture for Software I/O)為標準晶圓產(chǎn)品帶來(lái)更多的靈活性。 XMOS希望將軟件定義這一概念在集成度與性能方面(當然,還有銷(xiāo)售業(yè)績(jì))提升到一個(gè)更高的水平。 至少一些XMOS芯片將具有多核設計, 其可在運行實(shí)時(shí)操作系統和進(jìn)行數字信號處理時(shí),在軟件中實(shí)現100Mb/s以太網(wǎng)甚至更快的I/O接口。

  這次XMOS對于其麾下的XCore微處理器架構透露甚少。直到7月,XMOS才走出了秘密開(kāi)發(fā)階段,開(kāi)始大致描述其技術(shù)。XMOS計劃在今年的更晚時(shí)候,當第一個(gè)晶圓從工廠(chǎng)到貨后,透露更多細節。最早出產(chǎn)的芯片將是是采用標準90nmCMOS工藝生產(chǎn)的多核芯片。XMOS計劃明年開(kāi)始銷(xiāo)售芯片,售價(jià)大概在1美元至10美元。這種價(jià)位,相對于A(yíng)SSP和FPGA將頗具競爭力。 此外,作為標準產(chǎn)品,他們可以使一些用戶(hù)免去開(kāi)發(fā)ASIC的需要。

  無(wú)需RTL或匯編語(yǔ)言

  XMOS技術(shù)核心是特為硬件多線(xiàn)程,軟件驅動(dòng)I/O和高級語(yǔ)言設計的32-bitCPU專(zhuān)利架構。 盡管有些XMOS工程師來(lái)自ARM及其他處理器公司,XMOS表示其CPU架構沒(méi)有模仿任何已有架構, 其產(chǎn)品架構為全新設計,并為其任務(wù)進(jìn)行了優(yōu)化,此外XMOS表示并不打算使用匯編語(yǔ)言或RTL語(yǔ)言編程。甚至設備驅動(dòng)及其他XMOS將提供的低級語(yǔ)言軟件將以C,C++及 其衍生品XMOS C(XC)編寫(xiě)。

  XC加入了時(shí)序描述,硬件I/O運算,硬件并行性,及符合ANSI C標準的其它延伸。例如, XC允許程序員規定某一運算可以一固定間隔執行,比如每隔20ms。一種新選擇語(yǔ)句與case語(yǔ)句類(lèi)似,只是無(wú)論何時(shí)當芯片自I/O接口收到特定事件時(shí),其向量將執行程序特定塊。這些及其他延伸對于硬實(shí)時(shí)確定性及可編程I/O是必要的, 這也是軟件定義晶圓的中心理念。圖1示出了XC程序的一個(gè)實(shí)例。

圖1 UART傳輸功能

  XC并沒(méi)有像近來(lái)其他C變種(如System C)那樣走的那么遠。它仍是一種主要寫(xiě)軟件的語(yǔ)言,而非描述硬件(除了I/O接口)。 程序員可以使用標準C或C++來(lái)寫(xiě)不要求嚴格時(shí)序的軟件。實(shí)際上,如圖2所示,按照程序的作用,一個(gè)典型的項目將具有以C, C++及XC所寫(xiě)的模塊。XMOS將提供新的軟件開(kāi)發(fā)工具, 其在基于單Eclipse的集成開(kāi)發(fā)環(huán)境中可以處理所有的程序。

圖2

  在源代碼中,程序員明確將線(xiàn)程指定給各種硬件I/O及軟件任務(wù)。其效果為這些指定操作手工將Xcore處理資源進(jìn)行了分割。處理器保證每個(gè)線(xiàn)程的最低水平性能,這些線(xiàn)程在空閑時(shí)不消耗電力。在周期精確軟件模擬器的幫助下,程序員可以在設計時(shí)決定特定I/O或軟件任務(wù)是否達到了預期的性能。如果某一任務(wù)未能達到性能指標,程序員可為其指派附加的線(xiàn)程。如果即便是調動(dòng)其所有線(xiàn)程后, 當前使用的Xcore芯片仍無(wú)法完成所需性能,開(kāi)發(fā)人員可選擇更高性能的Xcore芯片,該芯片擁有更多的處理器核或可運行于更高的頻率。

  XMOS正在開(kāi)發(fā)軟件庫,其可幫助開(kāi)發(fā)員實(shí)現常用的I/O接口及執行普通軟件任務(wù)。XMOS也正在嘗試對XCore輸出現有的軟件庫。在依賴(lài)嚴格時(shí)序的架構上保留可用高級語(yǔ)言的編程能力是XMOS技術(shù)重要的一部份。我們將拭目以待XMOS開(kāi)發(fā)工具及程序庫如何有效實(shí)現這一目標。

  硬件多線(xiàn)程至關(guān)重要

  為保證硬實(shí)時(shí)性能,XCore處理器采用硬件多線(xiàn)程,而不是傳統的操作系統實(shí)現的多線(xiàn)程。實(shí)質(zhì)上,硬件多線(xiàn)程是處理器級別的確定性時(shí)間片段。處理器可以對各種任務(wù)傾注特定量的執行時(shí)間。

  每個(gè)XCore處理器可以同時(shí)執行八個(gè)線(xiàn)程并且在每個(gè)時(shí)鐘周期切換線(xiàn)程上下文。盡管XMOS還沒(méi)有發(fā)布XCore架構細節,但其他處理器通過(guò)為每個(gè)線(xiàn)程維持重復寄存器文件來(lái)實(shí)現硬件多線(xiàn)程。該處理器并非在上下文切換中保存并儲存寄存器文件內容,而僅僅是改變指向合適注冊文件的指針。對于從一個(gè)線(xiàn)程切換至另一線(xiàn)程并沒(méi)有存儲和回復的動(dòng)作。XCore幾乎肯定會(huì )采用這個(gè)技術(shù)。

  線(xiàn)程以循環(huán)方式執行,處理器為每個(gè)線(xiàn)程分配相等的時(shí)間。如果同時(shí)運行八個(gè)線(xiàn)程,每個(gè)線(xiàn)程得到12.5%的處理器執行時(shí)間。如果同時(shí)運行四個(gè)線(xiàn)程,每個(gè)線(xiàn)程得到25%的處理器執行時(shí)間,以此類(lèi)推。注意在本文中,一個(gè)“線(xiàn)程”不一定必須是多線(xiàn)程程序中的子進(jìn)程, 可以是單線(xiàn)程進(jìn)程。例如,一個(gè)線(xiàn)程可以是一個(gè)器件的驅動(dòng),它可以驅動(dòng)一個(gè) I/O引腳以定義UART。另外一個(gè)線(xiàn)程可能是控制程序,如實(shí)時(shí)操作系統。另外的線(xiàn)程可以是單線(xiàn)程應用程序。還有另外的線(xiàn)程可以是多線(xiàn)程應用程序中的一個(gè)子進(jìn)程。

  有些進(jìn)程對性能的要求可能比單個(gè)線(xiàn)程所能提供的要高。在這種情況下,程序員可能在兩個(gè)線(xiàn)程中分割任務(wù)。如一個(gè)線(xiàn)程可能用于處理低級I/O操作,而另一個(gè)線(xiàn)程則處理接口協(xié)議和緩沖。所有線(xiàn)程均以嚴格的循環(huán)方式執行。有些多線(xiàn)程處理器,如新出現的MIPS32 74K具有可編程的線(xiàn)程優(yōu)先政策,它可以不同的方式實(shí)現硬件多線(xiàn)程。兩種方法都是可行的。XMOS方法更簡(jiǎn)單并與Ubicom模型更相似。

  簡(jiǎn)單是重要的, 因為XCore程序員必須在設計時(shí)依靠XMOS軟件開(kāi)發(fā)工具的幫助,靜態(tài)地將線(xiàn)程分配給特定任務(wù)。借助XCore處理器,性能的基本單位為一個(gè)線(xiàn)程,而不是一個(gè)時(shí)鐘周期。因此,理解每個(gè)線(xiàn)程可實(shí)現的性能對于程序員和開(kāi)發(fā)工具來(lái)說(shuō)是關(guān)鍵的。

  但是,在軟件的控制下,在運行時(shí)動(dòng)態(tài)重指定線(xiàn)程及重新平衡工作量是可能的。這種能力使一切成為可能。例如,如果一個(gè)應用在一段時(shí)間不需要使用特定的I/O接口, 其可將相關(guān)線(xiàn)程轉向其他任務(wù)。僅僅通過(guò)交換設備驅動(dòng)即可將I2C接口演化為UART。XMOS芯片將匹配端口和1,4,8,16位寬的寄存器,從而減少或免除低級掩碼的需要。

  在XMOS測試其第一個(gè)晶圓前,XMOS不愿發(fā)布性能細節。但是他們表示初始XCore的性能足夠在軟件中實(shí)現100Mb/s以太接口或更高速的USB2.0接口(480Mb/s)。對于DSP應用,16-tap有限脈沖響應(FIR)濾波器每秒將可以處理七百萬(wàn)采樣。

  多處理器使性能倍增

  有些應用可能要求比單個(gè)XCore處理器所提供性能要高,因此該技術(shù)的另一個(gè)重要方面是對多核芯片及多芯片系統的支持。XMOS被稱(chēng)為Xlink的專(zhuān)利連接可以允許多XCore處理器之間通訊。XLink網(wǎng)絡(luò )可以協(xié)調一個(gè)核上多線(xiàn)程,多核上的多線(xiàn)程,或不同芯片的多線(xiàn)程。

  XMOS計劃今年秋天發(fā)布更多關(guān)于XLink的細節。如圖3所示,XLink為一交叉總線(xiàn),將兩個(gè)或多個(gè)處理器以緊密的關(guān)系連接起來(lái)。編譯的目標代碼與位置無(wú)關(guān),所以開(kāi)發(fā)員無(wú)須知道特定的線(xiàn)程將在哪個(gè)核上運行-軟件能夠在運行時(shí)間分配線(xiàn)程。但是, 如果程序員愿意,他們可以事先將特定的線(xiàn)程指派給特定的核。

圖3

  片上互連接與芯片之間的互聯(lián)要求不同。為滿(mǎn)足多芯片系統片上連接的微小距離及板級間距離的要求,Xlink在不同物理接口運行單一邏輯協(xié)議。XMOS開(kāi)發(fā)工具需要網(wǎng)絡(luò )延遲的知識來(lái)智能分配線(xiàn)程。這些開(kāi)發(fā)工具將可能依賴(lài)設計軟件模擬來(lái)估計多芯片或多系統網(wǎng)絡(luò )中Xlink延遲。

  芯片不是全部

  盡管XMOS現在還未透露其專(zhuān)利CPU架構,但這些細節并不那么重要。如果XMOS能實(shí)現其承諾,客戶(hù)將無(wú)須關(guān)注那些細節,因為XCore設計為可在線(xiàn)程級別進(jìn)行高級語(yǔ)言編程。當然,了解XMOS如何利用這個(gè)難得的機會(huì )來(lái)創(chuàng )造為多核芯片上硬件多線(xiàn)程優(yōu)化的CPU架構是十分有趣的。但是,考慮到軟件定義晶圓并不是新概念,關(guān)鍵問(wèn)題是XMOS是否可以創(chuàng )造一個(gè)有用,價(jià)格適中,且足以支持處理器核,內連接,及軟件開(kāi)發(fā)工具的芯片。

  XC是一個(gè)障礙。程序員不希望廠(chǎng)商制定化的軟件模式向C語(yǔ)言擴展,特別是當這些擴展將他們的軟件與一個(gè)初創(chuàng )企業(yè)開(kāi)發(fā)的專(zhuān)利CPU架構綁定時(shí)。XMOS認識到了這個(gè)障礙,并且在XC中編寫(xiě)低級設備系統庫和I/O接口,這樣開(kāi)發(fā)員可以采用標準、可移植的C或C++來(lái)寫(xiě)大多數的應用軟件。另外,XMOS希望為XCore輸入一些廣泛應用的軟件庫。XMOS說(shuō)他們創(chuàng )造XC擴展僅僅是因為沒(méi)有業(yè)界標準的開(kāi)放的可替代品—一個(gè)常見(jiàn)的抱怨。

  XMOS的另外一個(gè)障礙是軟件開(kāi)發(fā)工具。XMOS對于工具許愿很多。如果線(xiàn)程配置不是那么簡(jiǎn)單,隨著(zhù)集成水平的上升,麻煩將迅速失去控制。XMOS已經(jīng)在討論“核陣列”—暗示初始的多核芯片將發(fā)展為很多核或大量并行XCore設計。對于顧客,軟件開(kāi)發(fā)工具的質(zhì)量很快便變得比硬件的能力更為重要。

  幸運的是, 軟件定義晶圓的基本概念根本上是可靠的。實(shí)質(zhì)上,計算的演化主要是一個(gè)將更多的功能從硬件轉移到軟件上的過(guò)程。隨著(zhù)處理器成長(cháng)地更為強大,曾要求專(zhuān)屬硬件(芯片上或外)的I/O功能可以由軟件得心應手地操作。專(zhuān)屬硬件在高流量應用中仍十分有效, 但是很多終端用戶(hù)產(chǎn)品從來(lái)沒(méi)達到那樣的流量。激烈的競爭是一個(gè)因素—在一個(gè)產(chǎn)品將其昂貴的ASIC費用回收前,大量的模仿者就常常出現了。另外一個(gè)因素是快速的市場(chǎng)更新-許多消費電子產(chǎn)品的貨架時(shí)間是以月來(lái)計算的,而不是年。業(yè)界標準也在持續進(jìn)步。一個(gè)可編程的,在設計時(shí)甚至是運行時(shí)可變換其I/O接口的芯片可延遲過(guò)早過(guò)時(shí)。

  因此,XMOS的前景取決于公司執行其戰略各方面的好壞。設計一個(gè)多線(xiàn)程的處理器幾乎是最容易的部分。XMOS成敗將體現在其多核集成,軟件開(kāi)發(fā)工具,擴展C語(yǔ)言,及系統軟件上。(本文摘自美國《微處理器報告》,馬志強譯)



評論


相關(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>