<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當前位置: 首頁 > 人物訪談

      多CPU系統(tǒng)級芯片設計的CPU內(nèi)核選擇

      發(fā)布日期:2022-07-15 點擊率:43

      ay: block;">

      在系統(tǒng)級芯片(SoC)設計中采用多個CPU已經(jīng)成為一種越來越常用的設計方法。為多CPU應用而設計的處理器內(nèi)核應具備幾個重要特性,例如較高的性能密度、有效的處理器內(nèi)部通信能力、支持調試,以及可靈活實現(xiàn)和可配置性。本文將針對這些與多CPU設計相關的內(nèi)核性能進行討論。

      由于業(yè)界對SoC器件的可編程性要求越來越高,所以采用多CPU進行SoC設計變得更加普遍。對許多應用來說,單CPU很難滿足人們對設備性能飛速提高的要求。而在復雜的實時系統(tǒng)中,采用多CPU通常會使性能分配更加容易做到,因此響應時間也更容易達到要求。同時,外圍器件或專用加速器中的專用CPU也能夠分擔主CPU中那些比較低級的功能,從而使主CPU能夠專注于高級功能的實現(xiàn)。

      多CPU設計非常適用于今天的嵌入式系統(tǒng),這主要有三個方面的原因。首先,嵌入式應用的功能通常可以靈活地進行分離,因此很容易將其功能映射到多個CPU中。有時,將嵌入式系統(tǒng)的功能分割映射到多個單獨的CPU中甚至比映射到一個CPU中更容易。其次,許多嵌入式應用都具備明顯的并行性,因而可以用一系列并行CPU來開發(fā)。例如,網(wǎng)絡處理器(NPU)設計工程師已經(jīng)利用這個特性開發(fā)路由功能。最后一點,隨著當今和微米工藝技術的出現(xiàn),已經(jīng)可以以較低的成本實現(xiàn)用多CPU方法構造SoC系統(tǒng)。多CPU系統(tǒng)級芯片設計的CPU內(nèi)核選擇 - 1

      目前,多CPU設計在很多重要市場中都有應用,例如網(wǎng)絡路由器,大多數(shù)新一代NPU都是基于多CPU設計。除了這些標準的NPU以外,核心ASSP也開始采用多處理器構建更加優(yōu)化的針對特定應用的路由解決方案。對于很多應用來說,特定目標應用的ASSP比標準NPU效率高。一個ASSP可以集成合適的物理接口,根據(jù)目標應用確定存儲器大小,并可以為處理器提供最佳配置。

      諸如DSLAM和基站或高性能網(wǎng)絡存儲設備等的相關應用中,在采用這種多處理器的“分而治之”的方法來構建高性能可編程解決方案時,都實現(xiàn)了較好的工作性能。而且,為了節(jié)約成本并降低功耗,甚至終端用戶設備都開始采用多CPU來獲取最佳性能密度。例如,在設計機頂盒、住宅網(wǎng)關,甚至智能移動設備時也可采用多CPU方法。需要說明的是,這里的多CPU并不是單用一個RISC處理器和一個DSP,而是采用多個RSIC處理器和多個DSP。

      如何獲得優(yōu)秀的CPU內(nèi)核

      一個適用于多CPU設計的處理器內(nèi)核,必須具備以下幾個重要的特性:

      首先最重要的是它必須能夠提供較高的性能密度。多CPU設計的目的就在于在每平方毫米內(nèi),或在單位功耗內(nèi)獲得盡可能高的總性能。因此,理想的效果是在最小的空間內(nèi)或最低的功耗內(nèi)得到最佳的MIPS性能。

      其次,它必須能夠在處理器內(nèi)實現(xiàn)有效通信。因為盡管許多多CPU設計都是軟件相關的,但在設計過程中仍然十分需要進行處理器內(nèi)的通信。如果處理器內(nèi)核不提供一種支持處理器內(nèi)的通信機制,那么這種內(nèi)部通信的功能就必須由SoC設計工程師來開發(fā)。這不僅非常耗時,而且也從其它方面增加了設計的復雜性。而如果在處理器內(nèi)核處提供對內(nèi)部通信的支持將簡化SoC設計工程師的工作,從而也縮短開發(fā)周期。

      通常,多CPU設計在調試時比較困難,因為這些處理器內(nèi)核既相互獨立又相互影響,而且在調試多CPU SoC時,設計工程師必須看到各處理器之間相互影響的情況。這就要求在CPU內(nèi)置一種功能,使多CPU能夠同時進行調試,并且充分地相互作用。否則,多CPU SoC的調試工作將十分艱難,甚至根本不可能對所有CPU進行全面調試。同時,調試工具必須支持這些CPU,這樣,設計工程師才能利用CPU內(nèi)嵌的調試功能進行調試。

      此外,在判斷一個處理器內(nèi)核是否適用于多CPU設計時,還需考慮配置和實現(xiàn)該CPU內(nèi)核時的靈活度。在進行一個多CPU設計時,應盡量將產(chǎn)品尺寸和功耗降至最低,同時必須盡力提高其性能。設計工程師只有采用高度可配置和高度可綜合的CPU,才能設計出尺寸、功耗和頻率都滿足特定應用要求的SoC產(chǎn)品。而對于一個固化的或不可配置的CPU內(nèi)核,則不可能構造出滿足各種要求的產(chǎn)品。

      基于這些思想,MIPS Technologies公司最近研制出一款專門針對多CPU設計的CPU內(nèi)核--MIPS32 M4K。該內(nèi)核可達到很高的性能,而且尺寸和功耗都很低。同時,該內(nèi)核還具備可綜合性,并內(nèi)帶一個快速響應的存儲器系統(tǒng)。

      處理器間通信多CPU系統(tǒng)級芯片設計的CPU內(nèi)核選擇 - 2

      在多CPU設計中,處理器之間必須能夠相互通信,以便控制對共享資源的訪問。但在如今構建的很多多CPU設計中,存儲器相關性都是通過純軟件方式管理的,因此不能利用常規(guī)的高速緩存相關機制通信。

      M4K中,通過外部執(zhí)行MIPS結構中的負載鏈接(Load Linked,LL)指令和條件存儲(SC)指令來支持多CPU旗語(semaphore),并以此使得系統(tǒng)能夠對各CPU保持必要的監(jiān)控。同時,為實現(xiàn)對系統(tǒng)的最大控制和靈活性,SYNC指令動作也被移出到信號接口。通過執(zhí)行該指令,可以為系統(tǒng)提供一個內(nèi)存排序器(memory barrier),以保證分類指令語義正確。

      如圖1所示,當系統(tǒng)執(zhí)行一個典型的旗語訪問代碼序列時,使用LL和SC指令就可以無需對系統(tǒng)傳輸一個鎖定信息而直接執(zhí)行自動的Read-Modify-Write序列。

      例如,在一個測試-設置旋轉鎖(spin-lock)中,執(zhí)行LL指令時會在信號接口上產(chǎn)生一個讀操作,這個信號接口在系統(tǒng)中標記為LL。然后,系統(tǒng)會在該地址設置一個監(jiān)測器,監(jiān)測該接口所在地址的狀態(tài)。此時,如果另一個處理器向這個被監(jiān)測的地址進行寫操作,那么監(jiān)測器的pass/fail標志位將被清零。而系統(tǒng)執(zhí)行SC指令時,系統(tǒng)邏輯會根據(jù)監(jiān)測器的狀態(tài)有條件地執(zhí)行存儲操作,即有條件地向存儲器中寫入數(shù)據(jù)。接著,系統(tǒng)會將監(jiān)測器的Pass/fail標志位返回給處理器,然后將工作交給處理器中的軟件去執(zhí)行。 該軟件執(zhí)行的操作起初通常會失敗,但它會不斷重復執(zhí)行,直到成功為止。類似地,SYNC指令的語義解釋也被轉移到CPU外執(zhí)行,這樣系統(tǒng)才能保證內(nèi)存排序器正確操作。

      如圖2中范例所示,SYNC位于連接到共享緩沖的最后一個存儲器和釋放控制信號的存儲器之間。在執(zhí)行SYNC指令時,CPU向系統(tǒng)邏輯發(fā)送信號,表示它已經(jīng)準備接收同步響應。一旦系統(tǒng)確保工作次序正常,就向CPU返回一個信號,接著,負載和存儲內(nèi)容才得以釋放。如果系統(tǒng)是一個簡單系統(tǒng),那么必須按部就班地等待所有重要的轉換完成;但如果系統(tǒng)比較復雜,就能夠保持其序列中的次序,并以更快的速度進行響應。但在這兩種情況下,CPU軟件和硬件的運行機制都是相同的。

      M4K上的處理器內(nèi)部通信機制得到業(yè)界的標準開發(fā)工的全面支持。設計工程師如果用M4K內(nèi)核進行多CPU設計,那么他們就可以利用M4K的這些特性在不同的處理器內(nèi)核間方便快捷地進行通信,從而縮短設計時間并降低風險。

      多CPU系統(tǒng)的應用多CPU系統(tǒng)級芯片設計的CPU內(nèi)核選擇 - 3

      系統(tǒng)有了多個CPU內(nèi)核后,能做些什么呢?以圖3的NAS設計為例,其主處理器為一個MIPS64 20Kc內(nèi)核,使用了多處理器核后,網(wǎng)絡存儲系統(tǒng)就可以將許多特定功能從主處理器中轉移出來。例如將一個CPU放在網(wǎng)絡接口處,將一些較高級的功能,如濾波、L2或L3協(xié)議響應以及分段和重裝等轉移到本地的外圍器件中去完成,從而將主處理器解放出來去執(zhí)行一些更高級的協(xié)議和管理功能。

      與此類似,在一個加速器內(nèi)使用一個或多個M4K處理器內(nèi)核,可以將一些特殊的高性能的功能從主處理器中分離出來,而同時并不影響標準可再編程器件的優(yōu)勢。

      多CPU系統(tǒng)設計的另一個常見的例子是線路卡,這類線路卡可用于網(wǎng)絡路由器和DSLAM中,也可以用于無線基站。在這些情況下使用并行CPU子系統(tǒng)(有時也叫微引擎)能令高度并行的應用(如L2層處理、數(shù)據(jù)包分類、濾波或標志管理)實現(xiàn)極好的總體性能。此時,主處理器主要用于異常處理。該方法在實現(xiàn)時有多種不同的形式,不但可以采用并行處理,還可以采用處理器管線或并行處理器管線來實現(xiàn)。

      多CPU設計能夠提供可擴展、可編程的特性,非常適用于將許多網(wǎng)絡和嵌入式系統(tǒng)設計中的功能分離出主處理器,因而這種方法在芯片設計中逐漸得到很多應用。當然,就如今的大多數(shù)SoC設計而言,多CPU設計并非毫無問題,但我們通過采用MIPS32 M4K這類優(yōu)化的CPU內(nèi)核,可以在相當大的程度上減少這些問題。

      作者:David Courtright


      產(chǎn)品策劃部主任


      MIPS Technologies公司

      下一篇: 用低成本FPGA替代ASIC

      上一篇: 使用無線通信模塊構建

      主站蜘蛛池模板: 天天爽天天狠久久久综合麻豆 | 久久婷婷五月综合色丁香| 亚洲综合在线成人一区| 色欲久久久久久综合网精品| 色婷婷久久综合中文久久蜜桃| 综合久久一区二区三区 | 色综合天天综合高清网国产| 97久久国产综合精品女不卡| 亚洲综合伊人制服丝袜美腿| 久久午夜综合久久| 色婷婷五月综合欧美图片| 久久一日本道色综合久久m| 色婷婷色综合激情国产日韩| 久久婷婷五月综合国产尤物app| 一本久到久久亚洲综合| 69国产成人综合久久精品91 | 天天在线天天综合网色| 久久九色综合九色99伊人| 人人狠狠综合久久亚洲| 色综合热无码热国产| 亚洲av综合日韩| 欧美日韩综合一区二区三区| 99久久国产综合精品麻豆| 色婷婷色综合激情国产日韩 | 五月丁香六月综合缴清无码| 色婷婷久久综合中文网站| 亚洲色偷偷综合亚洲AV伊人蜜桃| 色综合AV综合无码综合网站| 亚洲国产综合无码一区| 狠狠色狠狠色综合伊人| 九九久久99综合一区二区| 国产精品无码久久综合| 久久久久AV综合网成人| 97se色综合一区二区二区| 亚洲精品欧美综合四区| 一本久道久久综合| 综合网日日天干夜夜久久| 亚洲综合伊人制服丝袜美腿| 色综合久久一本首久久| 狠狠色丁香婷婷综合精品视频| 偷自拍视频区综合视频区|