隨著處理器的運算能力不斷提升,各種多核心處理器(Multi-core processor)晶片也被廣泛的獲得應用,像是在許多高階筆電、手機或平板等行動裝置,目前皆採用四核心處理器,可以加快程式執行速度,並提供多工能力,主流的伺服器處理也上看15核心。
本周一(6/23)在國際計算機架構大會(International Symposium on Computer Architecture,ISCA)上,MIT麻省理工研究人員則公開最新開發的36核心處理器技術,在處理器內部增加了資料路由機制,以大幅改善多核心處理器的執行效能。
一般處理器核心與核心之間,主要是透過單一資料匯流排(bus)來進行溝通,而當有兩個核心正在互相溝通時,就會占用資料匯流排,導致其他核心就必須延遲等,直到這兩個核心溝通完後才可接著使用,但是隨著核心數量越多時,等待問題也就越明顯,因此往往也就容易造成多核處理器執行效能不彰。
麻省理工研究團隊找了新方法來改善這個延遲問題,該校電氣工程和計算機科學教授Li-Shiuan Peh表示,研究小組透過在多核心處理器加入一個具迷你路由功能的晶片網路機制(network-on-chip),可將核心與核心之間的溝通改透過路由來進行,資料封包可重新選擇傳遞路徑,避開忙碌的核心來傳遞資料,來減少其他核心執行任務所需要的等待周期時間。
研究小組成員Bhavya Daya指出,這個晶片網路機制,可以在核心與核心之間形成一個影子網路(shadow network) ,透過影子網路能讓不同的核心間進行溝通,提升核心的使用率。而隨著核心數量越多,可供連結路徑也更多,能讓資料傳送變得更加有序,同時獲得更好的快取 資料一致性。
此外,36核心處理器晶片內的影子網路,也採用分層優先權等級,舉例來說,在一間隔時間,核心1與核心10同時皆發出請求時,核心1則擁有較高的優先權,此時,儘管處理器的路由可能先收到核心10發出請求,但仍然會等核心1的資料封包通過後才會執行核心10的請求,不過每隔一段時間晶片內的核心優先 等級就會被重新洗牌標註不同優先權,確保能作為長久使用。
另外根據研究人員的測試結果也發現,在進行模擬36核心以及64核心時,採用此晶片網路技術的處理器比起沒採用的處理器,效能分別提升了將近24.1%與12.9%。
不過Bhavya Daya也指出,目前這種高效能36核心處理器還在原型測試階段,接下來該研究小組將會進行調整並改使用在Linux系統中進行測試。未來,MIT也有意計畫將此晶片技術的開放原始碼分享出來,讓更多人共同參與開發。