多核系統(tǒng)中NoC通訊架構(gòu)的關(guān)鍵技術(shù)
摘要 多核處理器已經(jīng)成為處理器的主流,并發(fā)展成為各種通信與媒體應(yīng)用的主流處理平臺。通訊結(jié)構(gòu)是多核系統(tǒng)中的核心技術(shù)之一,核間通信的效率是影響多核處理器性能的重要指標(biāo)。目前有3種主要的通訊架構(gòu):總線系統(tǒng)結(jié)構(gòu)、交叉開關(guān)網(wǎng)絡(luò)和片上網(wǎng)絡(luò)??偩€結(jié)構(gòu)設(shè)計相對方便、硬件消耗較少、成本較低;交叉開關(guān)是適合用于構(gòu)建大容量系統(tǒng)的交換網(wǎng)絡(luò)結(jié)構(gòu);而片上網(wǎng)絡(luò)是更高層次、更大規(guī)模的片上網(wǎng)絡(luò)系統(tǒng),目前可以解決多核體系結(jié)構(gòu)問題,是多核系統(tǒng)最有前途的解決方案之一。文中在分析了NoC結(jié)構(gòu)的基本原理、系統(tǒng)結(jié)構(gòu)和功能的同時,也提供了部分單元的設(shè)計實現(xiàn)。
關(guān)鍵詞 多核處理器;核間通信;總線結(jié)構(gòu);交叉開關(guān);片上網(wǎng)絡(luò)
在處理器的發(fā)展中,提高處理器主頻的實現(xiàn)愈加困難,市場上難以看到芯片主頻率高于4 CHz的傳統(tǒng)單處理器。以Intel、AMD公司為代表,依靠不斷提高處理器頻率提升系統(tǒng)性能的時代即將成為過去。究其原因有3點:首先僅依靠提升主頻難以大幅度提升CPU的性能,從而減緩了消費者對高頻CPU的熱衷;其次當(dāng)CPU主頻達(dá)到2 GHz以上時,處理器功耗也達(dá)到了近100 W,這是目前風(fēng)冷散熱技術(shù)的極限;第三,在嵌入式產(chǎn)品領(lǐng)域,傳統(tǒng)的單核處理器結(jié)構(gòu),不能滿足呈幾何級數(shù)增長的計算規(guī)模的需求。單核模式下,利用局部性能提升整體性能的發(fā)展越來越慢,而基于多核的線程級并行技術(shù)卻為性能提高提供了動力,為達(dá)到更高的處理效能,多核處理器體系結(jié)構(gòu)應(yīng)運而生。
多核處理器是一個芯片內(nèi)含有兩個或兩個以上的“執(zhí)行內(nèi)核”。多核處理器在進(jìn)行體系結(jié)構(gòu)的技術(shù)研究時,比單核處理器,要面臨更多的挑戰(zhàn),諸如核間通訊、存儲器體系、低功耗、軟硬件協(xié)調(diào)等。如何實現(xiàn)多核內(nèi)核之間相互協(xié)作和通信,確保提高處理速度、提高芯片處理器性能,是核間通訊結(jié)構(gòu)研究的主要內(nèi)容。在多核通訊方式中,目前除繼續(xù)沿用單核SoC中的總線結(jié)構(gòu),如AMBA,CoreConnect,Wishbone,OCP,C*BUS等,主要有交叉開關(guān)(Crossbar Switch)、片上網(wǎng)絡(luò)(NoC,Network on-Chip)等結(jié)構(gòu)。其中NoC結(jié)構(gòu)是更高層次、更大規(guī)模的片上網(wǎng)絡(luò)系統(tǒng),目前可以解決多核體系結(jié)構(gòu)問題,是多核系統(tǒng)有效的解決方案之一。
1 NoC解決的問題及其優(yōu)點
隨著工藝的進(jìn)步,產(chǎn)品的性能、面積、功耗以及上市時間的限制,使設(shè)計開發(fā)的要求越來越高。深亞微米設(shè)計帶來的問題,使得設(shè)計中保證時序收斂更加困難。NoC(Network on-Chip)的出現(xiàn)為深亞微米的SoC帶來了持續(xù)發(fā)展的動力。NoC是更高層次、更大規(guī)模的片上系統(tǒng),是片上的網(wǎng)絡(luò)系統(tǒng)。NoC技術(shù)的核心思想是將計算機(jī)網(wǎng)絡(luò)技術(shù)移植到芯片設(shè)計中,解決多CPU的體系結(jié)構(gòu)問題。由于網(wǎng)絡(luò)結(jié)構(gòu)本質(zhì)就是多CPU系統(tǒng),因此基于網(wǎng)絡(luò)的體系結(jié)構(gòu)是多CPU系統(tǒng)最有前途的解決方案之一。片上網(wǎng)絡(luò)繼承了分布式系統(tǒng)與計算機(jī)網(wǎng)絡(luò)的概念,互連結(jié)構(gòu)具有各通信模塊之間并行通信,數(shù)據(jù)的通信帶寬高,擴(kuò)展性好,吞吐量大,并可以在一定程度上改善深/超深亞微米條件下信號傳輸線延遲等優(yōu)點,有人稱NoC會成為下一代多核的主流互連結(jié)構(gòu)。
1.1 NoC解決的問題
NoC解決的問題主要體現(xiàn)在通訊模塊的可重用性和通訊性能的可預(yù)測性上。
(1)增加通訊模塊的可重用性。一般SoC概念中,可重用性是IP模塊的復(fù)用?;谀K的設(shè)計方法,能夠增強(qiáng)設(shè)計的可重用性,進(jìn)而減小制造工藝同設(shè)計能力之間的差距。可重用技術(shù)的優(yōu)越性在于以基于模塊的設(shè)計,搭建整個系統(tǒng),減少單獨開發(fā)每個部件的設(shè)計時間,同時減少人為設(shè)計的出錯可能,因此降低了系統(tǒng)的設(shè)計和驗證時間。但是當(dāng)制造工藝發(fā)展到0.13μm以下后,模塊間的互連延遲成為限制系統(tǒng)整體性能的瓶頸,僅靠IP模塊的復(fù)用已遠(yuǎn)不能滿足整體性能的需求,片上網(wǎng)絡(luò)結(jié)構(gòu)正是利用通信部件的可重用技術(shù),將不同資源單元之間的路由連接通過規(guī)則的通信部件進(jìn)行連接,為深亞微米技術(shù)帶來的問題提供解決方案。
(2)加強(qiáng)通訊性能的可預(yù)測性。片上網(wǎng)絡(luò)因其規(guī)則的物理布局和通信網(wǎng)絡(luò)結(jié)構(gòu),通信性能變得可預(yù)測。從物理性能的角度分析,片上網(wǎng)絡(luò)結(jié)構(gòu)決定了其版圖物理性能的可預(yù)測性。除時鐘、電源布線外,交換單元間的互連長度以及帶寬都是同定不變的,而設(shè)計的不確定性和不規(guī)則性都限制在資源單元內(nèi)部,對于其他資源單元沒有造成影響;從設(shè)計和驗證時間角度分析,片上網(wǎng)絡(luò)基于模塊的可重用性使得設(shè)計和驗證的時間都可預(yù)測,由于片上網(wǎng)絡(luò)結(jié)構(gòu)的規(guī)則性,將任務(wù)分配等設(shè)計問題劃分到了資源單元內(nèi)部,進(jìn)而將整體應(yīng)用劃分為獨立任務(wù)。這樣使得片上網(wǎng)絡(luò)系統(tǒng)的設(shè)計在較大程度上獨立于具體的實現(xiàn)階段,更好地進(jìn)行模塊化沒計,增加了通訊性能的可預(yù)測性。
1.2 NoC的優(yōu)點
NoC設(shè)計采用全局異步局部同步的方式解決了整個芯片全局同步面臨的問題,有較好的可重用性和可擴(kuò)展性,平均通信帶寬較高。在NoC中,處理核與網(wǎng)絡(luò)的通訊是通過簡單的握手協(xié)議來完成的,因此網(wǎng)絡(luò)與各處理器的電氣參數(shù)、時鐘信號都可以相對獨立處理,容易控制。此外網(wǎng)絡(luò)與處理器間也可以使用異步通訊,這就不需要系統(tǒng)時鐘的全局同步,避免了龐大時鐘樹所帶來的時鐘和面積問題,而局部時鐘線的大量采用可以大幅降低系統(tǒng)功耗。
NoC的各同步單元在遵守通信協(xié)議的前提下協(xié)同工作,如有NoC系統(tǒng)有擴(kuò)展的需要,只需增加一個系統(tǒng)中已經(jīng)存在的通信開關(guān)的副本,同時設(shè)計一個通信接口,把擴(kuò)展的功能單元集成到NoC的網(wǎng)絡(luò)拓?fù)渲芯涂赏瓿?。NoC有可復(fù)用可擴(kuò)展的通信機(jī)制,同時改用全局異步局部同(Glo bal Asynohronized Local Synchronized,GALS)方式工作,沒有全局的控制信號的干預(yù),所以NoC的可擴(kuò)展性好。
衡量NoC性能的主要指標(biāo)就是通信帶寬。NoC采用全局異步局部同步的通信方式,雖然得到了一些好處,但缺點也明顯,例如實時通信帶寬不能達(dá)理想高度。但從整個NoC的平均通信帶寬上看,全局的平均通信帶寬比基于總線方式的平均通信帶寬高??傊S著工藝集成度的逐漸提高,NoC在解決全局時鐘同步問題、深亞微米效應(yīng)、擴(kuò)展性和設(shè)計與生產(chǎn)之間的鴻溝上都優(yōu)于傳統(tǒng)設(shè)計方法。
2 NoC的拓?fù)浣Y(jié)構(gòu)
拓?fù)浣Y(jié)構(gòu)關(guān)心的是節(jié)點的布局和互連。NoC拓?fù)浣Y(jié)構(gòu)的選擇對系統(tǒng)性能和芯片面積有明顯的影響。NoC可根據(jù)應(yīng)用的需要采用不同的拓?fù)浣Y(jié)構(gòu),可分為規(guī)則結(jié)構(gòu)、非規(guī)則結(jié)構(gòu)等。相對于規(guī)則拓?fù)浣Y(jié)構(gòu),不規(guī)則拓?fù)浣Y(jié)構(gòu)可以提高性能、降低功耗、減小面積,但同時產(chǎn)生版圖設(shè)計、不均勻的線長等設(shè)計問題。拓?fù)浣Y(jié)構(gòu)的衡量標(biāo)準(zhǔn)通常是以理論上影響路由成本和性能為基礎(chǔ),除了要考慮普通網(wǎng)絡(luò)中所關(guān)心的節(jié)點數(shù)量、邊的數(shù)量、網(wǎng)絡(luò)維度、網(wǎng)絡(luò)直徑、平均距離、對分寬度之外,還要考慮通信模式的嵌入屬性,例如消息吞吐量、傳輸延遲、功耗、芯片而積等。
圖1是簡單的NoC拓?fù)浣Y(jié)構(gòu),拓?fù)浣Y(jié)構(gòu)體現(xiàn)NoC中通訊節(jié)點在芯片中的分布和連接。由于系統(tǒng)需求、節(jié)點模塊的尺寸和位置不同,需要不同類型的拓?fù)浣Y(jié)構(gòu),有很多種可供選擇的拓?fù)浣Y(jié)構(gòu)。良好的拓?fù)浣Y(jié)構(gòu)必須考慮以下因素:路由節(jié)點與處理器節(jié)點或者路由節(jié)點之間的通信帶有明顯的局部性特征;NoC中資源節(jié)點的物理尺寸與通訊節(jié)點的物理尺寸相互影響;NoC使用物理連線作為通信信道,因此節(jié)點之間的連接不能太復(fù)雜,且要具有易擴(kuò)展性。
評論