在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

片上多核系統與片上網絡的發展

SwM2_ChinaAET ? 來源:lq ? 2019-10-01 16:43 ? 次閱讀

1. 片上多核系統與片上網絡的發展中的

1.1 片上多核系統發展的兩條演進路線

系統級芯片也被稱為片上系統,是指在單個芯片內部實現大部分甚至完整的電子系統功能的一種芯片。這種芯片是高端電子系統的核心,隨著集成電路工藝技術的發展也逐步向中低端電子系統發展。如今,很多諸如腕表、手環之類的可穿戴設備以及智能玩具等低端嵌入式設備也都以系統級芯片為核心來開展設計。可以說片上系統已經成為集成電路,尤其是數字集成電路的主要實現形式。

由于集成電路工藝在摩爾定律的驅使下飛速發展,單位面積上的晶體管數量不斷增加。根據登納德縮放比例(晶體管面積的縮小使得其所消耗的電壓以及電流會以差不多相同的比例縮小。也就是說,如果晶體管的大小減半而時鐘頻率不變,該晶體管的功耗將會降至四分之一)。,使用新的集成電路工藝可以讓設計者可以大大地提高芯片的時鐘頻率,因為提高頻率所帶來的更多的功耗會與晶體管縮放減少的功耗抵消,芯片的性能可以依靠不斷的提升時鐘頻率來獲得提高(當然,也要配合架構設計的改進,例如利用增加的晶體管設計更多而且更為合理的高速緩存)。這樣在芯片內部集成更多的晶體管的時候,提高芯片時鐘頻率成為了一個“免費的午餐”。

而2005年前后,晶體管微縮到一定程度以后量子隧穿效應(指像電子等微觀粒子能夠穿入或穿越位勢壘的量子行為)開始慢慢介入,使得晶體管漏電現象開始嚴重。漏電現象的出現打破了原先登納德所提出的定律。單純提高時鐘頻率將造成芯片功耗難以控制。功耗增大除了更費電不環保之外,帶來的最大問題是增加的功耗會轉化為熱量。在微小的芯片面積上大量功耗密集堆積會導致溫度急劇增加。如果散熱做的不好,芯片的壽命將大大減少甚至變得不穩定。在這種情況下,提高芯片的時鐘頻率不再是免費的午餐。在沒有解決晶體管漏電的問題之前,單純的增加芯片的時鐘頻率因為隨之而來的散熱問題而變得不再現實。于是芯片研究商們開始紛紛停止高頻芯片的研發,轉而向低頻多核的架構開始研究,用更多但頻率更低的核心來替代一個高頻率的核心。這種具備多個運算核心的片上系統就是片上多核系統。

近10年來片上多核系統一直是數字集成電路領域的熱點,經過眾多研究者的不斷努力誕生了大量很有意義的研究成果。片上網絡,本質上是為了解決片上多核系統中不同的核心之間,核心與非核心(Un-Core)硬件單元之間數據傳輸問題的一種“片上通信”方案。因此要理解清楚片上系統的發展脈絡,必須要先從片上多核系統的發展入手。否則就會出現“無的放矢”和“盲人摸象”的問題。但由于片上多核系統的研究者背景和應用領域不同導致發展演進過程較為復雜而難以理解。2012年本人及所在研究小組開始切入片上網絡相關時,由于對于片上多核系統的理解不深,導致研究出現了諸多波折與困擾,導致在一年多的時間中整體研究徘徊不前。

為減少這一問題對于大家理解片上網絡的影響,作為我們系列文章的開頭,本文將首先總結片上多核系統的演進歷史與現狀。從而讓大家理解出現片上網絡這一技術背后的推動力,也可以看出片上網絡多年來一直徘徊不前的原因。

下面就開始進入我們的正題:

第一款被大眾所熟知的商用化片上多核系統是著名處理器芯片提供商之一的AMD公司面向個人電腦推出的ATHLON X2雙核中央處理器Central Processing Unit (CPU),該款CPU在商業上大獲成功。此后商用化片上多核系統的研制開始進入高潮。2005 年Intel發布了64位雙核處理器Montecito[1],而IBM公司則發布了具有9個核心的Cell處理器[2]。此后的10年間,片上多核系統開始大量的被應用于各種信息基礎設備,成為高性能電子設備的核心器件。

但實際上片上多核系統的研究開始于上個世紀90年代中期,在過去的20多年中片上多核系統架構一直處于不斷發展和演進中。由于應用領域和研究人員的學術背景不同,片上多核系統的研究從一開始就有著明顯的“流派”之分。隨著研究的持續深入,片上多核系統出現了越來越多的技術分支。這不但讓廣大吃瓜群眾難以辨識,對于很多剛接觸片上多核系統研究的碩士生和低年級博士生而言,搞清楚這些技術分支的區別與聯系也并不是一件輕松的工作。

簡單來說,片上多核系統由于起源不同、應用領域不同以及研究者的學術背景不同等原因,發展出了不同的技術路線。上文提到的Intel公司發布的Montecito處理器[1]和IBM公司發布的Cell處理器[2]就代表了兩種最主要的技術路線。

Montecito處理器這一類片上多核系統源于Symmetric Multi-Processing System (SMP)系統,被稱之為Chip Multiprocessors (CMP)(國內一般翻譯為單芯片多處理器),主要用于高性能通用計算領域。Cell處理器這一類片上多核系統則由片上系統Systemon-Chip (SoC)演進而來,被稱為Multi-Processors System-on-Chip (MPSoC)。這類片上多核系統主要作為一種高端的嵌入式處理器被應用于通信、信號處理、多媒體處理等領域。為方便行文,后文中直接使用CMP和MPSoC來指代這兩類處理器。

采用CMP架構的片上多核系統通常被應用于工作站、服務器、云計算平臺等通用計算設備,所運行的主要應用通常是以科學計算、仿真模擬為代表的大數據量通用計算。這類片上多核系統大多采用數據并行的并行程序開發模式,以共享存儲器的方式來交換數據。這樣的好處在于開發難度較低、程序的通用性較好,可以借用類似于OpenMP[3]這樣已經較為成熟的并行編程模型加以開發。又由于科學計算、仿真模擬這類應用的特點通常是數據量超大,但不同處理器上所運行的核心程序往往是相同的。因此采用共享存儲的方式可以使得多個處理器核心可以很容易共享同一塊虛擬地址空間,這使得同一程序可以很方便的同時運行在不同的核心上,也可以很方便的共享同一個操作系統或管理程序。

Hydra處理器是1996年美國斯坦福大學研制集成了4個核心的處理器[4],它被認為是首款具備CMP性質的片上多核系統。

圖1 Hydra處理器架構圖,它被認為是首款具備CMP性質的片上多核系統

Hydra處理器采用了四個MIPS 處理核心,每個核心擁有私有的指令緩存(I-Cache)和數據緩存(D-Cache)。二級緩存為四個核心共享,通過核心自身的存儲控制器(Memory Controller, MC)及一組總線與二級緩存(L2 Cache)、主存儲器接口(Main Memory Interface)和輸入輸出總線接口(I/O Bus Interface)互連。由于片上的二級緩存為四個核心所共享,因此四個核心實質上在邏輯上具備單一的內存地址空間。這也使得共享同一個操作系統或管理程序成為可能。Hydra處理器為后續CMP架構片上多核系統的發展奠定了基礎,這一架構的片上多核系統在后續的演進過程中始終被Hydra處理器的初始設計所影響。

而MPSoC誕生初期的主要代表是一些集成了多個數字信號處理器(Digital Signal Processor DSP)和微處理器(Microprocessor Unit MPU)的專用芯片。這些芯片主要被應用于數字電視、多媒體播放器等信號處理設備。與追求高性能的通用計算不同,MPSoC 主要應用領域所面臨的主要問題是計算的實時性。由于計算任務的確定性更強,使得MPSoC的設計者和使用者能夠也必須要精確的劃分任務并合理的分配任務以應對各種挑戰。

圖2所示的Viper處理器[5],即為最早的一批MPSoC之一。

圖2 Viper處理器架構示意圖,它是早期MPSoC的代表之一

從圖2中可以看出,整個芯片可以被劃分為兩個相對獨立的子系統。分別以MIPS(PR3940)CPU和TriMedia(TM32)CPU為核心。圖左側為以MIPS(PR3940)CPU為核心的子系統,這部分子系統的架構類似于一個通用的嵌入式SoC芯片,集成了如UART、IEEE 1394協議控制器之類的接口模塊。圖右側為以TriMedia(TM32)CPU為核心,在這一子系統中集成了如MPEG-2視頻解碼器、視頻輸入處理器等多媒體處理單元,實質上構成了一個專用的多媒體處理器。因此可以很清楚的判斷Viper處理器中以MIPS(PR3940)CPU為核心的子系統主要負責通用處理器控制和數據傳輸方面的功能,而以MIPS(PR3940)CPU為核心的子系統則主要負責多媒體信號處理。兩個子系統相對獨立,通過Fast C-Bridge、MIPS C-Bridge以及C-Bridge三個總線橋相互連接。

Viper處理器的架構很清晰的體現了MPSoC的一些典型特點:按任務需求劃分為若干獨立的子系統,每個子系統完成一個專門的功能,子系統之間相對獨立等。這種架構設計方法充分體現了嵌入式系統的特性,因而被后來的研究者所繼承和發揚。

RAW[6]是一代具有劃時代意義的片上多核系統。雖然它被發表于1997年,但它卻奠定了今后20年采用片上網絡互聯的CMP的基本架構。

圖3 首次采用Tile結構和網絡化互聯的CMP架構芯片:RAW

RAW是由美國麻省理工學院于1997年提出并流片驗證(從這里也可以看出美國在于高端系統芯片領域的積累深厚,回想我們1997年的芯片設計水平也才剛剛進入到能把EDA工具流程用起來,開始做ASIC的水平。龍芯等一大批處理器芯片設計都要等到2000以后)。

RAW微處理器架構采用了一種被稱為Tile(國內有國內文獻有直譯為瓦片,為避免歧義本文中均使用英文原文指代)的模塊劃分方式。這種劃分方法把CPU、私有Cache(L1 Cache)、共享Cache(L2 Cache)的一個Bank(一直不知道這個該怎么翻譯……)、網絡接口(Network Interface NI)等硬件資源構建為一個獨立的Tile。在不同的Tile在芯片規劃的平面內按一定的規律整齊排列,Tile和Tile之間通過NoC加以互聯。這種采用Tile來劃分和組織片上多核系統的方式優勢在于每個核心比較規整,有利于芯片后端設計并具備較好的可擴展性。此后雖然有一些其它形式的核心劃分與組織方式的論文發表,但基于Tile的劃分與組織方式始終被絕對部分研究者(灌水者)所繼承。

接下來看一看比較近的一點的CMP架構的片上多核系統,32核心SPARC M7處理器[7]。發布于2015年的ISSCC上。

圖4 32核心SPARC M7處理器邏輯結構圖

該款處理器共有32個核心,每4個核心構成一個組(文章中稱其為SCC),總共8個組。每個組內部共享L2 Cache,但其它組不能訪問。L3 Cache為全局共享Cache,可以被所有的所有核心訪問。L3 Cache同樣被劃分為8個獨立的bank,和對應的每個組一起組成了一個完整的Tile。

為了更有效的互聯各個不同的Tile,研究者為SPARC M7處理器設計了三套不同的片上網絡。分別是采用環網(Ring)結構的請求網絡(Request Network),采用廣播(Broadcasting)結構的響應網絡(Responses Network)以及采用網格(Mesh)結構的數據網絡(Data Network)。不同的片上網絡分別傳送不同的控制信息和數據,從而使得訪問Cache的效率能最大限度的提高。

片上網絡成為CMP架構的片上多核系統內部互聯的主流方式之后,片上緩存的組織方式也相應的發生了改變。在使用總線或交換結構的時代,CPU訪問不同Cache Bank的時間是基本保持一致的。但在使用片上網絡作為內部互聯以后,CPU訪問不同的Cache Bank的時間已經不可能保持一致了。因此一種被稱為非均勻高速緩存體系結構(Non-uniform Cache Architecture, NUCA)的概念被提出。NUCA是基于片上網絡的CMP片上多核系統所必然要面臨的問題,但對NUMA的研究也推動了基于片上網絡的CMP片上多核系統向前持續演進。改進NUMA條件下CMP架構片上多核系統的訪存效率,也成為提升CMP架構片上多核系統性能的主要途徑。由于這部分內容涉及到較多存儲體系結構方面的研究,在計算機系統結構的研究中屬于另外一個領域。超出了本文甚至本系列文章所討論的范圍,因而在此不再進一步展開討論。

當然,也不是所有的CMP架構的片上多核系統從此就走上了依靠NoC互聯的道路。當核心數量不多的時候確實沒有必要考慮使用NoC。例如AMD的Zen就是沒有依靠NoC而采用了一種叫Core Complex (CCX)的方式互聯[8]。

圖5 采用CCX互聯的Zen,依然具備CMP架構的基本特征

從圖5可以看出,Zen雖然核心比較少,但仍然是典型的CMP架構。

談了很久的CMP,我們回頭再來看一看MPSoC。相比于CMP的規整、對稱的架構,MPSoC是由若干個獨立的子系統構成的。圖6是Intel在今年ISSCC上發布的面向機器人的Robot SoC[9]。

圖6 面向機器人的Robot SoC,典型的MPSoC架構

圖6中有若干個子系統。左邊第一個是以X86處理器為核心的實時子系統,主要負責對外接口通信與控制,所以和SPI、I2C等外設接口劃分到一起了。Tensilica DSP則是負責信號處理運算的一個子系統。有一個Always on子系統是常開的,主要負責音頻方面的處理,應該是用于芯片的喚醒。還有路徑規劃硬件加速器、運動控制硬件加速器等一系列加速器以及由X86處理器配合CNN加速的應用子系統,用于實現人工智能算法

圖7是Robot SoC[9]所實現的算法,可以看出是由多個獨立任務構成的。這種形式的應用比較容易被劃分為若干個獨立子系統來實現。這也是MPSoC主要應用領域里的各種算法 的基本特征。

圖7 Robot SoC所需要實現的算法

如果芯片內部的子系統較多,關系復雜,當然也可以依靠NoC來互聯。比如剛剛被收購的sonics公司就給了這么一個例子[10]。

圖8 Sonics公司給出的高性能片上網絡在SoC中的應用

可以看出,在MPSoC中有多個獨立的子系統時,使用片上網絡是一種必要的片上通信方式。

最后,我們稍作總結:

1.片上多核系統是現在系統級集成電路的主要實現形式;

2.片上多核系統分為CMP和MPSoC兩種架構;

3.CMP主要用于通用計算,大多采用數據并行的并行程序開發模式,以共享存儲器的方式來交換數據,通常以對稱的Tile形式來組織芯片硬件結構;

4.MPSoC主要用于嵌入式設備,大多是由多個相對獨立的子系統構成,一般“按需設計”,結構極不對稱。

本次先談到這里,下回來談一下不同片上多核系統的互聯需求。也講一下片上多核系統的發展如何引導片上網絡的發展的。

參考文獻:

[1] C. Mcnairy, R. Bhatia. Montecito: A Dual-Core, Dual-Thread Itanium Processor[J]. IEEE Micro, 2005, 25(2):10–20

[2] J. Kahle. The cell processor architecture[C]. 38th annual IEEE/ACM International Symposium on Microarchitecture, Washington, DC, 2005, 49–56

[3] Dagum L, Menon R. OpenMP: an industry standard API for shared-memory programming[J]. IEEE computational science and engineering, 1998, 5(1): 46-55.

[4]K. Olukotun, B. A. Nayfeh, L. Hammond, et al. The case for a single-chip multiprocessor[C]. Seventh international conference on Architectural support for programming languages and operating systems, New York, 1996, 2–11

[5]S. Dutta, R. Jensen, A. Rieckmann. Viper: A multiprocessor SOC for advanced set-top box and digital TV systems[J]. IEEE Design Test of Computers, 2001, 18(5):21–31

[6]J. Babb, M. Frank, V. Lee, et al. The RAW benchmark suite: computation structures for general purpose computing[C]. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, Vancouver, 1997, 134 – 143

[7] Oracle, Redwood Shores, CA:A 20nm 32-Core 64MB L3 Cache SPARC M7 Processor 2015 IEEE International Solid-State Circuits Conference

[8] Singh, Teja, et al. "3.2 Zen: A next-generation high-performance× 86 core." 2017 IEEE International Solid-State Circuits Conference (ISSCC). IEEE, 2017.

[9] Honkote, Vinayak, et al. "2.4 A Distributed Autonomous and Collaborative Multi-Robot System Featuring a Low-Power Robot SoC in 22nm CMOS for Integrated Battery-Powered Minibots." 2019 IEEE International Solid-State Circuits Conference-(ISSCC). IEEE, 2019.

[10]NoC | The Traffic Cop

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 集成電路
    +關注

    關注

    5388

    文章

    11556

    瀏覽量

    361976
  • 多核系統
    +關注

    關注

    0

    文章

    11

    瀏覽量

    7508
  • 處理器芯片
    +關注

    關注

    0

    文章

    117

    瀏覽量

    19782

原文標題:【博文連載】詳說片上網絡之一:片上多核系統與片上網絡的發展

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AM5K2E0x多核ARM KeyStone II系統(SoC)數據表

    電子發燒友網站提供《AM5K2E0x多核ARM KeyStone II系統(SoC)數據表.pdf》資料免費下載
    發表于 08-08 13:00 ?0次下載
    AM5K2E0x<b class='flag-5'>多核</b>ARM KeyStone II<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>(SoC)數據表

    66AK2L06多核DSP+ARM KeyStone II系統(SoC)數據表

    電子發燒友網站提供《66AK2L06多核DSP+ARM KeyStone II系統(SoC)數據表.pdf》資料免費下載
    發表于 08-07 11:24 ?0次下載
    66AK2L06<b class='flag-5'>多核</b>DSP+ARM KeyStone II<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>(SoC)數據表

    66AK2Hxx多核DSP+ARM? KeyStone II系統(SoC)數據表

    電子發燒友網站提供《66AK2Hxx多核DSP+ARM? KeyStone II系統(SoC)數據表.pdf》資料免費下載
    發表于 08-07 09:34 ?0次下載
    66AK2Hxx<b class='flag-5'>多核</b>DSP+ARM? KeyStone II<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>(SoC)數據表

    66AK2E0x多核DSP+ARM KeyStone II系統(SoC)數據表

    電子發燒友網站提供《66AK2E0x多核DSP+ARM KeyStone II系統(SoC)數據表.pdf》資料免費下載
    發表于 08-07 09:13 ?0次下載
    66AK2E0x<b class='flag-5'>多核</b>DSP+ARM KeyStone II<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>(SoC)數據表

    TMS320C6670多核定點和浮點系統數據表

    電子發燒友網站提供《TMS320C6670多核定點和浮點系統數據表.pdf》資料免費下載
    發表于 08-01 11:06 ?0次下載
    TMS320C6670<b class='flag-5'>多核</b>定點和浮點<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>數據表

    系統代表芯片嗎

    系統并不直接等同于芯片。系統(SoC)是一種集成電路(IC)的設計方案,它將多個功能模塊
    的頭像 發表于 03-28 15:07 ?703次閱讀

    什么是系統soc?系統soc主要包括什么?

    系統(SoC,System on Chip)是一種將計算機系統的許多元素組合到單個芯片中的集成電路。它不僅僅是一個微控制器,而是包含完整的系統
    的頭像 發表于 03-28 15:06 ?1394次閱讀

    系統和集成電路的關系

    系統(SoC)和集成電路(IC)之間有著緊密的關系。
    的頭像 發表于 03-28 15:05 ?692次閱讀

    無線系統也叫什么?無線系統的應用場景有哪些?

    無線系統也被稱為無線單片機。這種系統是為了適應無線通信和無線網絡節點的要求而設計的,具有較小的體積、極低的功耗和更低的價格。無線
    的頭像 發表于 03-28 14:54 ?470次閱讀

    系統與單片機的區別

    系統(SoC)與單片機在多個方面存在明顯的區別。
    的頭像 發表于 03-28 14:39 ?1510次閱讀

    系統主要包括哪些

    系統(SoC)是一個高度集成化的產品,其內部主要包括以下幾個關鍵組成部分。
    的頭像 發表于 03-28 14:30 ?757次閱讀

    系統的封裝結構

    系統(SoC)的封裝結構是一種復雜而精細的設計,它涉及到多個組件和技術的集成。
    的頭像 發表于 03-28 14:28 ?459次閱讀

    系統的組成

    系統,也被稱為SoC(System on a Chip),是一種集成度極高的芯片產品。它將原本分散于多個芯片的處理器、存儲器、接口、控制器等組件集成到一個單獨的芯片
    的頭像 發表于 03-28 14:26 ?487次閱讀

    什么是系統SoC?

    在幾十年前,系統(SOC)這個術語還只是一個流行詞。如今,它是繼續推動電子領域發展的一項重要技術。SoC的增加是集成和嵌入式計算日益增長的主流趨勢的一部分,這使得計算設備變得更小、
    的頭像 發表于 03-19 08:26 ?760次閱讀
    什么是<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>系統</b>SoC?

    上網絡初探:基礎概念與入門指南

    之前的芯片設計比較簡單,往往只需要總線就可以實現基本功能,但是隨著芯片復雜度的提升,對總線的競爭變得越來越顯著,會使得總線很快飽和,為了解決這總問題,仲裁器,分離事務傳輸等方法引入了總線系統,例如axi協議,metrix等。
    的頭像 發表于 03-07 11:40 ?842次閱讀
    主站蜘蛛池模板: 青楼社区51在线视频视频| 日本三级最新中文字幕电影| 欧美成人午夜影院| 国产免费一级高清淫曰本片| 香港三级理论在线观看网站| 日本污视频| 丁香花五月婷婷| 美女黄页黄频| 色www视频永久免费软件| 1v1高h肉爽文bl| 中文字幕123| 2021国产精品久久| 天天干天天草天天| www.四虎| 国产一级特黄特色aa毛片| 你懂的在线视频观看| 色噜噜狠狠色综合久| 亚州黄色网址| 一级特黄aa大片免费| 免费视频亚洲| 性国产精品| 一区卡二区卡三区卡视频| 男人j进人女人j 的视频| 高h 男男| 在线五月婷婷| 国产成人乱码一区二区三区| 伊人久久大香线蕉综合亚洲| 色婷婷亚洲| 黄色免费网站在线| 成人久久伊人精品伊人| 午夜干b| 天天操你| jk黑色丝袜美腿老师啪啪| 2022天天干| 日本不卡视频一区二区| 欧美视频免费一区二区三区| 日韩欧美亚洲一区| 亚洲啊v| 六月综合| 天天操天天玩| 91av成人|