摘要:也許這兩者的競爭結(jié)果不是互相取代而是互相合作,例如在全局范圍采用片上網(wǎng)絡(luò)而局部采用總線方式,來達到性能與復(fù)雜性的平衡。5總線設(shè)計傳統(tǒng)微處理器中,Cache不命中或訪存事件都會對CPU的執(zhí)行效率產(chǎn)生負面影響,而總線接口單元(BIU)的工作效率會決定此影響的程度。當多個CPU核心同時要求訪問內(nèi)存或多個CPU核心內(nèi)私有Cache
也許這兩者的競爭結(jié)果不是互相取代而是互相合作,例如在全局范圍采用片上網(wǎng)絡(luò)而局部采用總線方式,來達到性能與復(fù)雜性的平衡。
5 總線設(shè)計
傳統(tǒng)微處理器中,Cache不命中或訪存事件都會對CPU的執(zhí)行效率產(chǎn)生負面影響,而總線接口單元(BIU)的工作效率會決定此影響的程度。當多個CPU核心同時要求訪問內(nèi)存或多個CPU核心內(nèi)私有Cache同時出現(xiàn)Cache不命中事件時,BIU對這多個訪問請求的仲裁機制以及對外存儲訪問的轉(zhuǎn)換機制的效率決定了CMP系統(tǒng)的整體性能。因此尋找高效的多端口總線接口單元(BIU)結(jié)構(gòu),將多核心對主存的單字訪問轉(zhuǎn)為更為高效的猝發(fā)(burst)訪問; 同時尋找對CMP處理器整體效率最佳的一次Burst訪問字的數(shù)量模型以及高效多端口BIU訪問的仲裁機制將是CMP處理器研究的重要內(nèi)容。
6 操作系統(tǒng)設(shè)計: 任務(wù)調(diào)度、中斷處理、同步互斥
對于多核CPU,優(yōu)化操作系統(tǒng)任務(wù)調(diào)度算法是保證效率的關(guān)鍵。一般任務(wù)調(diào)度算法有全局隊列調(diào)度和局部隊列調(diào)度。前者是指操作系統(tǒng)維護一個全局的任務(wù)等待隊列,當系統(tǒng)中有一個CPU核心空閑時,操作系統(tǒng)就從全局任務(wù)等待隊列中選取就緒任務(wù)開始在此核心上執(zhí)行。這種方法的優(yōu)點是CPU核心利用率較高。后者是指操作系統(tǒng)為每個CPU內(nèi)核維護一個局部的任務(wù)等待隊列,當系統(tǒng)中有一個CPU內(nèi)核空閑時,便從該核心的任務(wù)等待隊列中選取恰當?shù)娜蝿?wù)執(zhí)行,這種方法的優(yōu)點是任務(wù)基本上無需在多個CPU核心間切換,有利于提高CPU核心局部Cache命中率。目前多數(shù)多核CPU操作系統(tǒng)采用的是基于全局隊列的任務(wù)調(diào)度算法。
多核的中斷處理和單核有很大不同。多核的各處理器之間需要通過中斷方式進行通信,所以多個處理器之間的本地中斷控制器和負責仲裁各核之間中斷分配的全局中斷控制器也需要封裝在芯片內(nèi)部。
另外,多核CPU是一個多任務(wù)系統(tǒng)。由于不同任務(wù)會競爭共享資源,因此需要系統(tǒng)提供同步與互斥機制。而傳統(tǒng)的用于單核的解決機制并不能滿足多核,需要利用硬件提供的“讀-修改-寫”的原子操作或其他同步互斥機制來保證。
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取