開磊
(安徽新華學院國際教育學院,安徽 合肥 230088)
基于基板下進行集成所得的多個單核CPU就是多核CPU,在最初發展階段,北橋負責對PD雙核進行任務的分配管控,二級緩存爭搶是核心間極易出現的問題,經過發展之后,酷睿對任務分配系統進行了集成,結合操作系統就可以運行。兩大核心能夠對兩份任務進行同時性的處理,明顯提升了速度,及時出現單個核心死機的狀況,U依然能夠操作其他任務,例如:關閉軟件及關機等。
在開展多核處理器設計任務的過程中,應先對程序執行模型進行選取。多核處理器最提供極高性能時所對應的代價主要取決于程序執行模型適用程度,其中在系統實現者、編譯器設計者二者交互的載體就是程序執行模型[1]。對于編譯器設計者來說,主要任務就是參考特定程序執行模型,針對高級語言程序,進行目標機器語言程序的轉換;而學習通實現者負責的是,具體目標機器中程序執行模型能夠得到高效實現。若目標機器屬于多核體系結構,那么需要解決下述問題:程序執行模型對應用需求的最大滿足程度是多少?使用者對程序執行模型的接收程度是多少?多核體系可以對關鍵程序執行模型進行支撐嗎?多核體系結構的最佳程序執行模型是什么?
針對CMP而言,主存、處理器二者之間存在的關鍵沖突問題就是速度的差異,所以需要進行有效的緩解,這就應用到多級Cache。當下CMP主要有三種不同的類型,分別是共享主存、共享二級Cache及共享一級Cache。一般情況下,共享二級Cache的CMP結構在CMP有著較為廣泛的應用,就是各處理器核心具備獨立自主權的一級Cache,同時處理器核心共享二級Cache。系統的運行性能及效率在很大程度上都是由Cache自身的體系結構設計所決定的。然而基于CMP結構下,還要注意到這些問題:共享Cache及獨有Cache到底哪一種才是最優化的?應基于芯片上建立多級Cache嗎?還有可以建立幾級Cache嗎?這些因素均對芯片尺寸、功耗、布局、性能和運行效率等方面產生較大影響,所以針對上述問題,還應進行深入的研究及分析[2]。除此之外,多級Cache又引發一致性問題。借助何種Cache一致性模型和機制都將對CMP整體性能產生重要影響。在傳統多處理器系統結構中廣泛采用的Cache一致性模型有: 順序一致性模型、弱一致性模型、釋放一致性模型等。與之相關的Cache一致性機制主要有總線的偵聽協議和基于目錄的目錄協議。目前的CMP系統大多采用基于總線的偵聽協議。
基于多核處理器下,不同CPU核心執行程序間應開展數據同戶、數據共享操作,這樣就要求硬件設施應允許進行核間通信。CMP處理器實現高性能的關鍵就是高效率化通信機制,當下兩大片上高效通信機制應用較為廣泛,分別為片上互連結構、總線共享下Cache結構??偩€共享Cache結構為各CPU下具備共享二級及三級Cache,能夠對應用率較高的數據進行存儲,借助總線的連接核心作用來實現高效通信。結構簡便、通信速率高是核間通信技術的優勢所在,同時也存在總線結構擴展性不強的弊端。各CPU核心涵蓋Cache、獨立處理單元,共同構成了在片上互連結構,不同CPU核心借助片上網絡或是交叉開關不同的途徑,能夠進行連接。不同CPU核心借助消息能夠進行有效通信。
基于原有的微處理器內,不良影響CPU的執行效率就是訪存事件、Cache不命中事件,但是具體的影響性取決于總線接口單元運行效率。在多個CPU核心同時間內對內存、多個CPU核心下發生Cache不命中事件進行訪問處理的情況下,CMP系統性能由BIU對于不同對外存儲訪問的轉換機制、仲裁機制的訪問請求效率[3]。所以,要對多端口總線接口單元結構進行優化的選取,針對多核心訪問主存單字的過程轉變成高效猝發訪問,也可以針對CMP處理器效率,對高效多端口BIU訪問的仲裁機制、最佳猝發訪問字數量模型進行探尋,從而解決多核處理器的核心探究問題。
要確保多核CPU達到高效率,必須要對操作系統任務調度算法進行優化。通常任務調度算法具備局部、全局隊列調度兩大算法類型,其中應用最為廣泛和頻繁的就是全局隊列算法。局部隊列調度指的是在操作系統內,針對各CPU內核維護的獨立局部任務等待隊列,但是系統內含獨立CPU內核空閑的情況下,可以基于核心任務等待對哦內,對任務執行進行優化選擇,該方式具有明顯優勢,不用借助多個CPU核心進行任務轉換,使CPU核心局部Cache命中率顯著提升;而全局隊列調度主要為操作系統維護獨立全局任務等待隊列,如果系統內空閑單個CPU核心,基于全局任務等待隊列內,操作系統能夠進行選擇就緒任務,并基于該核心來執行任務,該方式能夠使CPU核心利用效率顯著改善。
同單核中斷處理存在較大差異,多核中斷處理要求借助中斷方式來實現多核內不同處理器的有效通信,因此不同的處理器的全局中斷控制器(能夠仲裁、分配各核中斷)、本地中斷控制器均應在芯片內進行裝封。
除此之外,從本質上看,多核CPU也屬于多任務系統。因為任務的差異會存在共享資源競爭激烈的狀況,所以系統應供應互斥機制、同步機制。多核無法運用原有單核解決機制,更應借助硬件設施來制定同步互斥機制,也可以供應“讀-修改-寫”的原子操作。