北卡州立大學(xué)和英特爾公司的研究人員提出了一個(gè)方案去解決現(xiàn)代處理器的一個(gè)最具持久性的難題:處理器多個(gè)核心之間的通信。他們的方法是一組被稱為 Queue Management Device 或QMD的專門(mén)邏輯回路。在模擬中,處理器整合QMD后其片上網(wǎng)絡(luò)核心對(duì)核心的通信速度最低提升了一倍,某些情況下提升更多。
更令人稱奇的是,隨著核心數(shù)量的增加,速度提升將更為顯著。多核處理器面臨的一個(gè)問(wèn)題是多個(gè)核心有時(shí)候需要同時(shí)在相同的數(shù)據(jù)上工作,它們使用鎖保護(hù)軟件隊(duì)列防止一個(gè)核心覆寫(xiě)了另一個(gè)核心需要的信息,這種方法性能開(kāi)銷很大,核心越多惡化更嚴(yán)重。
電機(jī)和計(jì)算機(jī)工程教授Yan Solihin和他的學(xué)生 Yipeng Wang的方法是將軟件隊(duì)列變成硬件,將三步軟件隊(duì)列操作變成三個(gè)簡(jiǎn)單的指令:從隊(duì)列中加入數(shù)據(jù),從隊(duì)列中減去數(shù)據(jù),將數(shù)據(jù)放到需要的地方。