【正文】
當前的處理器結(jié)構(gòu)設(shè)計上,我們對更加復(fù)雜化、創(chuàng)新化的設(shè)計理念也只僅僅能使未來理想中,多核處理器芯片的性能只能達到有限提高的,這需要我們?nèi)パ芯肯鄳?yīng)的更多、更高水平的核間通信技術(shù)。 文中對上述三種通信架構(gòu)進行了性能的折衷,提出了一種新型的多核處理器內(nèi)部核間通信總線 —CMC 總線。這樣核本身需要偵聽邏輯,處理器的邏輯資源就增大。數(shù)據(jù)采用報文形式交換,將消息劃分成固定長度的報文,每個報文的前幾個字節(jié)包含路由和控制信息。核的 L1 Cache 之間、核的 L1 Cache 與 L2 Cache、主存與片內(nèi)以及 I/O 設(shè)備與片內(nèi)的通信都是通過共享總線實現(xiàn)。 低功耗 :調(diào)節(jié)電壓 /頻率、負載優(yōu)化分布等,可有效降低 CMP 功耗。 請看下表 :我們將同構(gòu)與異構(gòu)多核處理器作一下見簡要性能比較,從表中,我 沈陽理工大學學士學位論文 7 們很容易看出同構(gòu)和異構(gòu)多核處理器的 4 個方面:即: 主要應(yīng)用; 主要結(jié)構(gòu); 數(shù)據(jù)存儲; 核間互連。 第二,多核核間通信技術(shù)逐步發(fā)展,多核處理器核間的通信標準統(tǒng)一規(guī)范后,各個內(nèi)核之間相互協(xié)作和通信實現(xiàn)高效的通信機制,而與傳統(tǒng)的單核處理器結(jié)構(gòu)相比,多核處理器在克服線程延遲影響方面更具有優(yōu)勢。 我們先談一下多核處理器可能存在一些問題。 4) 對大型功能需求處理能力低 隨著當前對大型數(shù)據(jù)庫、政府、企業(yè)、軍事、通信要求高性能處理能力芯片,單核處理器已經(jīng)表現(xiàn)得不能為力,而且已經(jīng)顯現(xiàn)了巨大的缺陷,達不到理想的使用效果。下面我們分析一下,單核處理器的局限性主要表現(xiàn)的幾個方面: 1) 主頻低 CPU 廠商正在努力把主頻提高到 4GHZ 甚至更高,其實已經(jīng)到了工藝加工極限,實現(xiàn)起來 是不可能達到的。從軟件的設(shè)計角度來說,雙核/多核也改變了一些就有的思路。很多媒體紛紛及時播報關(guān)于多核技術(shù)的發(fā)展狀況。 CMP 通過在多個 CPU 核上分配工作負荷,并且依靠到內(nèi)存和輸入輸出 (I/O)的高速片上互聯(lián)和高帶寬管道對系統(tǒng)性能進行提升。 CMC 總線兩個核共用一個存儲器,該總線特點是用了一根 OC 門的握手線,實現(xiàn)兩個核的握手協(xié)議,簡單的硬件邏輯,并為軟件提供必要的控制接口,可實現(xiàn)多核處理器核間的高效通信。但是實現(xiàn)交叉開關(guān)需占用更多的片上面積。 關(guān)鍵字 :多核處理器;核間通信; CMC 總線 沈陽理工大學學士學位論文 II Abstract Along with the advance of human society, as well as the rapid development of puter hardware, the emergence of multicore processors is the trend of The Times! In the process of the development of information industry, singlecore processor has exposed many limitations, multicore processor has brought great changes to people, bring more productivity advantage and superior performance. With the needs of the development of the current market economy, people of processor speed, the business puting market value, application prospect, power consumption and so on performance requires further improvement. Multicore processor bines the development trend of the future, multicore processors will bee the mainstream of the next generation of servers and personal operation platform, therefore, of multicore processors related technology research has very important significance. The CMC ( CoreMemoryCore) bus provides an efficient solution for the inter core munication in the multicore processor or manycore processor. The singlecore processor has been replaced by the multicore processor with its advantages. There are many key technologies in the architecture of multicore processor to be solved, including the inter core munication. This article discusses some advantages and disadvantages of current intercore munication technologies in the multicore processor, so we design the CMC bus. Key words:multicore processor。隨著當前市場經(jīng)濟發(fā)展的需要 ,人們對處理器速度、商業(yè)計算市場價值、應(yīng)用前景、功耗等等性能方面要求更進一步的提高。討論了目前多核處理器中使用的核間通訊技術(shù),分析了優(yōu)缺點,在此基礎(chǔ)上提出了 CMC 總線。 NoC 結(jié)構(gòu)使得未來多核處理器的各個核可以通過更靈活的方式交換數(shù)據(jù),從而避免了集中的互連設(shè)計帶來的系統(tǒng)性能瓶頸。 沈陽理工大學學士學位論文 3 2 多核處理器介紹 多核技術(shù)介紹 多核技術(shù)的定義 在當代由于社會的進步,社會需求的不斷加大,面對市場規(guī)模的不斷提高,業(yè)務(wù)需求的不斷提高,高性能的計算機成為了一種必不可少的數(shù)據(jù)處理工具。在這種情況之下, CPU 的制造商必須要用新的方式來提高計算機的運算能力,于是就有 IBM、 Sun 公司利用計算機理論的并行計算設(shè)計出了多核CPU 。1993 年,德國曼海姆大學漢斯、埃里克等人發(fā)起創(chuàng)建了全球超級計算機 TOP500 排名榜,從很大程度上促進了多核技術(shù)的發(fā)展 …… 多核技術(shù)使得計算機領(lǐng)域從 “山重水復(fù)疑無路,柳暗花明又一村。在 20xx 年的多核應(yīng)用暨 Intel服務(wù)器平臺大會上,英特爾數(shù)字企業(yè)集團副總裁兼服務(wù)器平臺事業(yè)部總經(jīng)理 Kirk Skaugem 先生表示: “英特爾實際上是全世界最大的軟件工具的公司,我們不僅是一個硬件公司,要想優(yōu)化你們的多核,不優(yōu)化就不能實現(xiàn)所有的性能,如果大家上我們的網(wǎng)站可以看到,我們的未來不僅僅停留于四核,未來會變成幾十個核,甚至更多,所以我們在軟件方面會進一步優(yōu)化。 2) 雙核處理器性價比極高 沈陽理工大學學士學位論文 5 在單核處理器系統(tǒng)中,單一線程中已經(jīng)不太可能提高更多的并行性。而我們普通消費者在多核處理器的批量生產(chǎn)后,便也會得到比以前傳統(tǒng)的單核處理器,得到更高的性能,更快的運算,更安全的性能,逐步提高人們生活質(zhì)量,提高人們工作效率。多核處理器的有點主要是:處理器 可以很簡單的認為容易獲得非常高的主頻,而且與此同時縮短的設(shè)計、驗證、制作加工的時間。而多核處理器芯片在這方面就進行了優(yōu)化,在功耗方面性能表現(xiàn)卓越。當時,采用異構(gòu)處理架構(gòu)一般意味著采用兩個或者更多個芯片,這樣我們可以很容易的看出先用不同的結(jié)構(gòu)的處理器體現(xiàn)的性能是不一樣的。下面例舉出多核多線程處理器芯片面臨著的九大關(guān)鍵技術(shù): ? 核結(jié)構(gòu)研究:同構(gòu)還是異構(gòu) ? 程序執(zhí)行模型 ? Cache 設(shè)計:多級 Cache 設(shè)計與一致性問題 ? 總線設(shè)計 ? 操作系統(tǒng)設(shè)計:任務(wù)調(diào)度、中斷處理、同步互斥 ? 低功耗設(shè)計 ? 存儲器墻 ? 可靠性及安全性設(shè)計 ? 核間通信技術(shù) 核間通信技術(shù) 多核處理器是指一個芯片內(nèi)含有兩個或者兩個以上的 “執(zhí)行內(nèi)核 ”。 Crossbar Switch 被不同核的 L1 Cache 交替使用從而達到訪問共享 L2 Cache 的目的。 共享總線與交叉開關(guān)兩種結(jié)構(gòu)都易于設(shè)計實現(xiàn),軟件開銷較小。 NoC 結(jié)構(gòu)使得未來多核處理器的各個核可以通過更靈活的方式交換數(shù)據(jù),從而避免了集中的互連設(shè)計帶來的系統(tǒng)性能瓶頸。當多個 CPU 核心同時要求訪 沈陽理工大學學士學位論文 11 問 內(nèi)存 或多個 CPU 核心內(nèi)私有 Cache 同時出現(xiàn) Cache 不命中事件時, BIU 對這多個訪問請求的仲裁機制以及對外存儲訪問的轉(zhuǎn)換機制的效率決定了 CMP 系統(tǒng)的整體性能。因此我們說:當前,未來處理器發(fā)展的重要趨勢:單芯片多核處理器。我們知道,在硬件和軟件業(yè)上的發(fā)展,其實是相輔相成的,誰也離不開誰,軟件業(yè)的發(fā)展跟不上, 造成了單芯片多核處理器的技術(shù)性能瓶頸,這一點是單芯片多核處理器未來性能優(yōu)勢能否立足、發(fā)展和進步最嚴峻的挑戰(zhàn),當前,可能很多人還沒有想到,幾乎沒有真正能支持單芯片多核處理器的系統(tǒng)軟件,單芯片多核處理器在執(zhí)行程序指令時,勢必將會受軟件高度控制。剛開始形成的 C語言,受到那些想建立更快、更有效代碼的程序員的歡迎。 C++模板則是近幾年來對此語言的一種擴展,模板是根據(jù)類型 參數(shù)來產(chǎn)生函數(shù)和類的機制,有時也稱模板為 “參數(shù)化的類型 ”。例如,一個算法定義為獲取一個字符串,計算字符串中的字符個數(shù),并作為結(jié)果返回的過程。從編寫程序的難易程度和程序的性能綜合考慮, C++是最佳的選擇。 C++語言代碼以類的形式組成,使得應(yīng)用程序的 開發(fā)變得十分容易。 ( 2) C++程序(源代碼)保存為文件時,建議使用默認擴展名 .cpp。上程序中的 main()函數(shù)中只有一條語句,即: cout”This is my first C++ program.”endl。在 C++集成環(huán)境中,往往可以通過 Build 命令一次完成這兩個步驟。下面對Visual C++開發(fā)環(huán)境的使用作簡要介紹。 Visual C++采用工程組織和維護應(yīng)用程序。 沈陽理工大學學士學位論文 18 圖 Visual C++ 向?qū)? Visual C++提供的 Win32 Console Application 工程向?qū)в脕砩煽刂婆_應(yīng)用程序,適合 C++程序設(shè)計的初學者編寫簡單應(yīng)用程序。單擊 “OK”后, Visual C++將新建一空白 C++程序編輯窗口,如圖 所示。 基于 CMC 總線的多核處理器結(jié)構(gòu)設(shè)計 CMC( core memory core)總線的結(jié)構(gòu)是由掛在同一個總線上的多個核 ( core) 和緩存( memory) 組成。長總線工作在主從模式,從核不能主動要求總線控制權(quán)。 假設(shè) Core1 與 Core2 通過短總線通信時, Core4 對 Core1 發(fā)送數(shù)據(jù), Core4 通過握手邏輯獲得了 bus14 的控制權(quán), Core4 把數(shù)據(jù)寫入緩存 M14,寫完畢后 Core4 釋放 bus14, Core1 的當前工作不受任何影響。操作系統(tǒng)給每個核的 X0 賦唯一的核握手碼,每個核的握手碼與鄰核的握手碼必須不具有移位相同性。各自的 X1 移出值在握手線上相與,移位完成后核 2 得到各自的 Y1 寄存器值。 CMC 總線硬件設(shè)計 圖 以兩個核之間互相通信為實例,描述了實現(xiàn)整個 CMC 總線所需的接口信號。無論是讀還是寫操作,都直至 dc 為 0 結(jié)束此次傳送。 沈陽理工大學學士學位論文 28 5 多核系統(tǒng)的 CMC 功能模塊 VB 實現(xiàn)握手功能函數(shù) 創(chuàng)建窗體 創(chuàng)建程序窗體如圖 所示,兩個窗體 Form Form2,每個窗體有兩個顯示窗口Command Command2,和一個水平滾動條,范圍從 0 到 1,一個定時器,間隔 100m秒。 表 程序運行結(jié)果 Form 1 Form 1 Form 2 Form 2 申請狀態(tài) 左顯示 右顯示 左顯示 右顯示 核 1 請求占用 1 1 1 15 核 1 占用,核 2 請求占用 1 1 1 15 核 核 2 放棄占用 15 15 15 15 核 2 申請占用 2 15 2 2 核 2 占用,核 1 請求占用 2 15 2 2 總結(jié):當一個核申請并成功時, 另