發表于:2011-02-25 00:00:00來(lái)源:網界網人(rén)氣:2897
美國(guó)國(guó)家科(kē)學基金會的一份研究報告認爲,如(rú)今的多核處理(lǐ)器需要更好的方式來(lái)編程。馬裡(lǐ)蘭大(dà)學的一位研究人(rén)員(yuán)在1月份出版的美國(guó)計(jì)算機(jī)協會的旗艦級通訊刊物上稱,爲了有效使用多核處理(lǐ)器,IT業需要徹底反思它已使用了50多年(nián)的基本計(jì)算機(jī)體(tǐ)系結構。
馬裡(lǐ)蘭大(dà)學高級計(jì)算機(jī)研究所教授Uzi Vishkin在論文中稱:"近期從(cóng)單處理(lǐ)器計(jì)算機(jī)系統向多處理(lǐ)器平行系統的大(dà)規模遷移,要求對建立新系統并爲之編程的計(jì)算機(jī)科(kē)學的許多方面進行徹底改造。"
Vishkin甚至提供了一份新體(tǐ)系結構抽象圖,他(tā)稱之爲ICE(即時并行執行),他(tā)利用美國(guó)國(guó)家科(kē)學基金會提供的資金開發出了ICE。
我們今天所使用的基本計(jì)算機(jī)體(tǐ)系結構是基于二十世紀四十年(nián)代數據學John von Neumann提出的概念的。在他(tā)的體(tǐ)系結構中,數據和程序存儲于計(jì)算機(jī)内存并被饋送給計(jì)算機(jī)的CPU。程序通過使用程序計(jì)數器執行,這就(jiù)爲CPU提供了 内存當中下一個将執行的指令的地址。
這種方法允許進行Vishkin所稱的串行計(jì)算,在這種設計(jì)當中,"在串行程序裡(lǐ)可(kě)供執行的任何單個指令可(kě)以立即執行。"
但(dàn)是,它卻是受限制的,因爲它一次隻允許執行單個指令。Vishkin稱,在多核處理(lǐ)器和擁有大(dà)量可(kě)用内存的時代,不再需要這種限制了。取而代之的是,多個指令通常可(kě)以更快(kuài)地平行執行--所有指令都(dōu)同時執行且隻需一個步驟。
Vishkin的替代方法不同于von Neumann體(tǐ)系結構,它允許在任何指定的時間執行無數個指令,這樣可(kě)以極大(dà)地簡化程序員(yuán)的工(gōng)作(zuò)。他(tā)說(shuō),有了ICE,"你(nǐ)可(kě)想象任何數量的指令,隻要某 個指令的輸入不是另一個指令的輸出。"程序員(yuán)不再需要擔心有多少處理(lǐ)器可(kě)供該項任務使用。
Vishkin表示,這種體(tǐ)系結構要求改變硬件(jiàn)設計(jì)。至于操作(zuò)方式,芯片可(kě)能需要在處理(lǐ)器和内存之間建立高帶寬、低延遲的網絡。硬件(jiàn)需要一個單處理(lǐ)器核來(lái)控制其他(tā)所有核。如(rú)果代碼是串行的,它可(kě)以在那個核上執行。如(rú)果有其他(tā)指令,中央處理(lǐ)器可(kě)以向其他(tā)核發送其他(tā)指令。
Vishkin擁有這項技術(shù)的6項專利,研究小組也建立了可(kě)以在ICE抽象體(tǐ)系結構上運行的原型硬件(jiàn)。