發展
1971年發明的處理器晶片起著定義計算機的作用,從此,計算機是按照處理器晶片的發展而演變的,是晶片上的計算機,處理器晶片的ISA(Instruction Set Architecture,指令集架構)已是國外的一統天下。1987年人們提出了系統晶片(SoC)的概念,研究如何將計算機的系統設計都轉移到系統晶片設計上來,將起到換代的作用。系統晶片已有匯流排互連的MP(Multi-Processor,多處理器)系統晶片與網路互連的AP(ArrayProcessor,陣列處理器)系統晶片,但 A P 系 統 芯 片 還 沒 有 發 展 到 成 熟的階段,給我國的晶片設計提供了一 次 競 爭 的 機 會 。 因 此 , 我 們 對MPP(Massively Parallel Processing,大規模並行處理)系統晶片體系結構進行了研究。現在,又從數據流動的計算模式、並行計算的陣列晶片、套用演變的數學技術、以及矽基晶片的製造技術等4個方面的統一,研究了陣列處理器系統晶片的發展問題,提出了如何設計一種統一體系結構的陣列處理器系統晶片,簡稱APU (Array Processing for Unification architecture,統一體系結構的陣列處理器)系統晶片。
數據流動計算模式的統一
1935年的圖靈抽象機定義了控制數據流動而完成計算的計算模式,現在已形成了指令流、數據流與構令流三種控制數據流動的計算模式。現在流行的控制數據流動的計算模式主要是馮·諾依曼的指令流計算模式,有SISD、SIMD、MISD與MIMD四種體系結構的指令流計算模式。但現在的單核/多核/眾核晶片,只實現了SISD的指令流計算模式,以及MMX[SIMD],流水線[MISD],VLIW[MIMD]等低並行計算度的指令流計算模式。由於SIMD的指令流計算模式最適合圖像處理算法,SIMD體系結構的處理器與計算機早已得到了發展。數據流計算模式是採用電路設計的ASIC/ASSP晶片,或者是靜態重構的FPGA晶片實現的,而構令流計算模式是通過可重構的RCDevice (ReConfigurable Device)晶片實現的,它們的計算效率高,套用的設計門檻也高,沒有程式設計的靈活性,晶片的品種多。因此,我們研究並實現了MISD/MIMD的指令流計算模式,它不僅具有數據流/構令流計算模式的計算高效性,而且具有程式設計的靈活性,套用的設計門檻低,晶片的品種少等。計算模式的統一就是用MISD/MIMD的指令流計算模式,取代沒有程式設計靈活性的數據流/構令流計算模式,使所有計算統一成指令流計算模式。
並行計算陣列晶片的統一
從並行計算來看,有任務級並行計算、數據級並行計算、操作級並行計算與指令級並行計算的陣列晶片。現在的MPP計算機主要是按任務級並行(TLP,Task Level Parallel)完成計算的;是採用單核/多核/眾核晶片實現的。單核/多核/眾核晶片正在向TLP計算的MP系統晶片與AP系統晶片演變,TLP計算是將任務(進程/執行緒)映射到核(處理器)上完成計算的,是一種MPMD的計算。由於任務(進程/執行緒)之間存在同步與互斥問題,TLP計算的效率低、編程複雜。數據級並行(DLP,Data Level Parallel)計算是按SIMD模式完成的計算,主要是採用指令流計算模式中的SIMD體系結構實現的,已有GPU等系統晶片,以及GPU或者是CPU+GPU的MPP計算機。操作級並行(OLP,Operation Level Parallel)計算是在數據流計算模式的ASIC/ASSP/FPGA陣列晶片,與構令流計算模式的RCDevice的陣列晶片上完成並行計算的,沒有程式設計(改變)的靈活性。科學和藝術都是用來探索4維的時空關係的,APU系統晶片是採用PE(Processing Element)之間的鄰接(abutting)技術,探索4維的時空並行計算關係的,實現DLP計算與指令級並行(ILP,Instruction Level Parallel)計算的。陣列晶片的統一就是SIMD的DLP計算與MISD/MIMD的ILP計算,是採用處理元之間鄰接互連(Abutting)的APU系統晶片統一實現的。
套用演變數學技術的統一
計算科學是源於數學思維與工程思維的“數學技術”,它改變了人們的思維方式。晶片集成度按照摩爾預言速度上升的結果,在高性能計算、網路化計算與嵌入式計算的套用演變中,數學技術促進了計算機的新發展。高性能計算機主要是通過模擬幫助人類了解世界與創造世界的,有地球模擬機、藍色風暴、宇宙計算機、密碼破譯機與武器模擬機等。這些計算機的名稱就說明了它們的套用演變,都需要通過數學技術建立很複雜的數學模型,以及實驗或觀測的資料庫。模擬的核心就是建立一個與真實或者虛擬系統相關的數學模型,通過數學模型與資料庫探討對高性能計算機體系結構的影響。網路化計算的通信作用是非常成功的,從根本上改變了世界的信息基礎設施。現在,隨套用演變的數學技術,使計算機網路的作用已從通信作用,發展到資源共享的服務作用,叫做網路計算(Net-Centric Computing)/格線計算(Grid Computing)與網路存儲。在高性能並行計算與大容量存儲系統的支持下,雲計算與SaaS(Software as a Service,Storage as a Service,軟體即服務,存儲即服務)或HaaS( Hardware as a Service,硬體即服務)等數學技術使下一代數據中心將扮演“數據電廠”與“數據銀行”的服務角色。
嵌入式計算是一種計算技術與物理世界相結合的服務模式,有人叫做具體化與物理化套用,模擬了人類與物理世界互動的形式,成了有感測器(模擬人的視覺、聽覺與感覺等)與執行機構(模擬人的四肢)的計算機,並通過隨套用演變的數學技術,讓工業機器能像人一樣自主工作。雖然現在人工智慧的數學技術只使機器人有了邏輯思維能力、部分形象思維能力,基本沒有創造思維能力,但為機器人研究帶來了有創見的方法。從形狀來說,有人形機器人與非人形機器人。而美國國防部的變形機器人就是要通過隨套用演變的數學技術,使機器人具有自組裝能力,可保證機器人能成功地登上星球表面。從功能實現方法來說,有人工方法與自然的仿生方法。人工方法的機器人有手術機器人、自動駕駛機器人等。仿生方法的機器人有氣流發音的機器人、重力行走機器人、化學機器人、神經元機器人、情感機器人、模擬生物進化過程的機器人、以及分子機器人等,仿生方法使隨套用演變的數學技術的計算日益自然化。計算技術的飛速發展,也體現在程式語言的演變上,從最早的Basic到Algol,再到Fortran,以及現在的接近彙編語言的C語言。數學技術最後是通過彙編語言映射到計算機上完成計算的。彙編語言的優點是程式質量高,缺點是可讀性差,沒有兼容性,是不統一的。因此,APU系統晶片的ISA不是用助記憶符的彙編語言描述的,而是採用了一種面向數學技術也面向指令定義的映射語言描述ISA的,簡稱M語言(Mapping/MiddleLanguage)。數學技術是統一到映射語言上,以提高程式的復用性的。
矽基晶片的製造技術的統一
量子計算與生物計算還處於探索階段,現在的計算機是採用矽基晶片製造技術實現的。人們預計矽基晶片的製造技術到2016年將接近其發展極限,需要尋找新的技術突破。例如,通過擴大晶片面積是提高晶片集成度的一種新途徑,就是圓片規模集成(WSI,Wafer Scale Integration)技術。又例如,混合積體電路是一種小型化、高性能和高可靠的互連封裝手段,國內將其稱為二次集成技術。1993年美國喬治亞理工學院提出了將SoC晶片、MEMS晶片、以及無源元件二次集成在一起的SoP(SystemonPackage,系統級封裝)的概念。按摩爾定律發展的IC晶片僅占一個系統的10%的體積,而SoP則解決了系統中90%的體積。特別是2007年Intel公司率先具備了45nm矽基晶片的生產能力,使半導體產業進入了“材料推動革命”的時代。集成度高達近20億電晶體的32nm晶片接近實用。
為了解決深亞微米技術的“紅牆”問題與嵌入式套用的小型化問題,矽基晶片的TSV三維集成製造技術得到了發展。IBM、Intel與Samsung等都採用了TSV(Through-Silicon-Via,矽穿孔封裝)的三維集成技術。據IBM稱,TSV技術能使晶片數據所需要的傳輸距離縮短1000倍,連線數目增加100倍,功耗低達20%。IBM將把TSV技術套用到無線通信晶片、電源處理器、BlueGene超級計算機晶片和高頻寬記憶體中。我國2006年全國科學大會提出的“十六專項”體現了晶片設計、製造與套用的產業鏈特點。在“十六專項”的戰略任務的牽引下,有望使我國的晶片技術跟上“摩爾預言”的發展步伐。製造技術的統一就是指三維集成的TSV技術的統一,以實現嵌入式計算機小型化與解決深亞微米的RedbrickWall(紅牆)問題;也是提高我國晶片製造能力的必經之路。從設計上講,APU系統晶片的陣列體系結構,以及感測器、顯示器與存儲器等晶片都是陣列的,是正好適合於TSV技術的套用的。
分類
陣列處理器從PE互連結構的角度可以分成四種原型:
其中,方形陣列處理器看起來更加符合圖像的2維結構,但是,前人的一些研究發現,在PE數量相同的前提下,LAP的計算效率和數據吞吐率不比SAP少,而且前者具有更小的硬體開銷。