數據驅動計算及其應用
發布時間:2008/8/18 0:00:00 訪問次數:492
計算機體系結構可以分為控制流計算機和數據流計算機。控制流計算機又稱為馮o諾依曼計算機,其程序的運算執行順序是預先設置好的,按照編程者的控制(程序指針)逐條執行。
現在實際應用的計算機都使用控制流機制,而數據流計算機運算的執行順序取決于數據間的互相依賴關系和操作數的有效性,指令間沒有固定的順序,不需預先設定,更符合人們的思維習慣。
數據流計算機又可以分為兩類:數據驅動和需求驅動。數據驅動計算機運算執行的順序由輸入數據的有效性決定,需求驅動計算機運算執行的順序依賴于數據的需求。目前絕大多數數據流計算機都采用數據驅動計算技術。
數據驅動是一種不同于傳統馮o諾依曼結構的先進計算結構,可以簡單方便地挖掘出運算的時間并行性和空間并行性,不需要程序指針和進程調度機制。使用這種非傳統的計算結構將有助于提高系統的安全性和處理能力。
分別用馮o諾依曼計算模型和數據驅動計算模型實現下式的運算:
r=\frac{ab-cd}{ac+bd}
在數據驅動概念中,運算單元(如加減乘除等運算)稱為節點,連接節點之間的通道稱為弧。從圖1可以看出,傳統的馮o諾依曼計算結構使用程序指針控制程序的順序執行;而數據驅動計算結構的計算順序只由數據的依賴關系決定,只要數據到達就可以進行計算,有效地挖掘了程序的時間并行性和空間并行性,非常適合于并行處理。
數據流計算的運算順序不是預先確定的,而是在程序運行時動態確定,采用運行時的數據依賴性作為運算順序的判定機制。所以,數據流計算機沒有程序指針,而是直接編譯和運行數據流圖。編譯器產生一組操作數;每個操作的結果有一個或多個目的地;只要操作數有效,操作將會被安排盡快進行。
數據驅動處理器ddmp
數據驅動處理器是基于數據驅動計算模型設計的、內部包含多個處理單元、使用超長自定時流水線和異步電路結構的并行處理器,具有超強的計算能力和極低的功耗。
ddmp內部結構
ddmp是sharp公司開發的一款數據驅動處理器,內部結構如圖2所示,包含10個并行處理單元npe#0~npe#9,這些處理單元通過一個高速路由器連接起來,每個處理單元內部具有40~60級異步流水線,該流水線全部采用自定時時鐘機制,該芯片是一個真正的多處理器系統。
ddmp是一款可以商用的處理器,采用0.25μm工藝,性能為8600mops,供電電壓為2.5v。在ddmp芯片中,10個基本數據驅動處理單元以線性結構排列,組成多處理單元系統,基本處理單元通過數據包交換網絡互連。
ddmp中一個處理單元nano pe的基本結構圖中,數據首先從處理器的輸入端口進入處理器,接著發往合并模塊(m)。到達匹配存儲器(mm)后被暫時儲存起來,直到另外一個操作數到達。如果匹配(另一個操作數到達),這兩部分會結合成一個操作數據包(包括操作碼、目的地、顏色標志和一對操作數),被分發到適當的功能處理單元(fp)或者算數邏輯單元(alu)進行運算。指定的操作完成后,產生一個操作結果并送往緩沖存儲器(cps)。最后,分發單元(d)按目的地將操作結果分發到相應的處理器或輸出,并將舊目的地址換成新目的地址。
ddmp一個處理單元的內部各個模塊(例如mm、fp和cps)都采用自定時時鐘機制,進行獨立工作。在數據處理過程中,不需要任何控制,只需進行數據匹配即可。需強調的是在上述實現中,主要功能(例如mm、fp和cps)完成的任務是相互獨立的。所以,在這樣的處理器中,不需要使用集中控制機制來實現運算的協調,不需要定時器來保證運算的順序,唯一需要的是各功能模塊中適當的匹配數據速率。
ddmp的特點
首先,ddmp數據驅動處理器內部具有10個并行的處理單元,具有強大的處理能力,適合圖像處理、網絡協議處理等復雜的應用。
其次,ddmp采用異步電路實現,功耗極低。現在大部分處理器都使用同步電路實現,同步系統擁有同一個時鐘驅動,在電路運行過程中,即使是暫時不工作的部分也會隨著時鐘的翻轉一起消耗能量。而數據驅動處理器使用異步電路實現,沒有統一的時鐘,其中的超長流水線使用自定時機制,即保證了高性能,又降低了功耗。
另外,ddmp為非馮o諾依曼結構的處理器,其實現原理與目前廣泛使用的馮·諾依曼結構完全不同,使用專用的指令集、具有獨特的專用開發環境和圖形化編程語言。其開發方法和過程與傳統的計算機有本質的區別。因此,使用傳統技術的黑客很難對數據驅動計算系統進行有效攻擊,從而提高了系統的安全性。
開發環境
軟件開發環境
對于數據驅動計算來說,使用圖形化的編程語言更直觀、自然,能夠充分體現出運算中的并行性和數據依賴性。ddmp處理器的程序設計就使用專用的圖形化編程語言,用來編制各種算法的數據流圖。軟件開發界面如圖3所示,不僅能夠進行數據流圖的編制,還可以進行程
計算機體系結構可以分為控制流計算機和數據流計算機。控制流計算機又稱為馮o諾依曼計算機,其程序的運算執行順序是預先設置好的,按照編程者的控制(程序指針)逐條執行。
現在實際應用的計算機都使用控制流機制,而數據流計算機運算的執行順序取決于數據間的互相依賴關系和操作數的有效性,指令間沒有固定的順序,不需預先設定,更符合人們的思維習慣。
數據流計算機又可以分為兩類:數據驅動和需求驅動。數據驅動計算機運算執行的順序由輸入數據的有效性決定,需求驅動計算機運算執行的順序依賴于數據的需求。目前絕大多數數據流計算機都采用數據驅動計算技術。
數據驅動是一種不同于傳統馮o諾依曼結構的先進計算結構,可以簡單方便地挖掘出運算的時間并行性和空間并行性,不需要程序指針和進程調度機制。使用這種非傳統的計算結構將有助于提高系統的安全性和處理能力。
分別用馮o諾依曼計算模型和數據驅動計算模型實現下式的運算:
r=\frac{ab-cd}{ac+bd}
在數據驅動概念中,運算單元(如加減乘除等運算)稱為節點,連接節點之間的通道稱為弧。從圖1可以看出,傳統的馮o諾依曼計算結構使用程序指針控制程序的順序執行;而數據驅動計算結構的計算順序只由數據的依賴關系決定,只要數據到達就可以進行計算,有效地挖掘了程序的時間并行性和空間并行性,非常適合于并行處理。
數據流計算的運算順序不是預先確定的,而是在程序運行時動態確定,采用運行時的數據依賴性作為運算順序的判定機制。所以,數據流計算機沒有程序指針,而是直接編譯和運行數據流圖。編譯器產生一組操作數;每個操作的結果有一個或多個目的地;只要操作數有效,操作將會被安排盡快進行。
數據驅動處理器ddmp
數據驅動處理器是基于數據驅動計算模型設計的、內部包含多個處理單元、使用超長自定時流水線和異步電路結構的并行處理器,具有超強的計算能力和極低的功耗。
ddmp內部結構
ddmp是sharp公司開發的一款數據驅動處理器,內部結構如圖2所示,包含10個并行處理單元npe#0~npe#9,這些處理單元通過一個高速路由器連接起來,每個處理單元內部具有40~60級異步流水線,該流水線全部采用自定時時鐘機制,該芯片是一個真正的多處理器系統。
ddmp是一款可以商用的處理器,采用0.25μm工藝,性能為8600mops,供電電壓為2.5v。在ddmp芯片中,10個基本數據驅動處理單元以線性結構排列,組成多處理單元系統,基本處理單元通過數據包交換網絡互連。
ddmp中一個處理單元nano pe的基本結構圖中,數據首先從處理器的輸入端口進入處理器,接著發往合并模塊(m)。到達匹配存儲器(mm)后被暫時儲存起來,直到另外一個操作數到達。如果匹配(另一個操作數到達),這兩部分會結合成一個操作數據包(包括操作碼、目的地、顏色標志和一對操作數),被分發到適當的功能處理單元(fp)或者算數邏輯單元(alu)進行運算。指定的操作完成后,產生一個操作結果并送往緩沖存儲器(cps)。最后,分發單元(d)按目的地將操作結果分發到相應的處理器或輸出,并將舊目的地址換成新目的地址。
ddmp一個處理單元的內部各個模塊(例如mm、fp和cps)都采用自定時時鐘機制,進行獨立工作。在數據處理過程中,不需要任何控制,只需進行數據匹配即可。需強調的是在上述實現中,主要功能(例如mm、fp和cps)完成的任務是相互獨立的。所以,在這樣的處理器中,不需要使用集中控制機制來實現運算的協調,不需要定時器來保證運算的順序,唯一需要的是各功能模塊中適當的匹配數據速率。
ddmp的特點
首先,ddmp數據驅動處理器內部具有10個并行的處理單元,具有強大的處理能力,適合圖像處理、網絡協議處理等復雜的應用。
其次,ddmp采用異步電路實現,功耗極低。現在大部分處理器都使用同步電路實現,同步系統擁有同一個時鐘驅動,在電路運行過程中,即使是暫時不工作的部分也會隨著時鐘的翻轉一起消耗能量。而數據驅動處理器使用異步電路實現,沒有統一的時鐘,其中的超長流水線使用自定時機制,即保證了高性能,又降低了功耗。
另外,ddmp為非馮o諾依曼結構的處理器,其實現原理與目前廣泛使用的馮·諾依曼結構完全不同,使用專用的指令集、具有獨特的專用開發環境和圖形化編程語言。其開發方法和過程與傳統的計算機有本質的區別。因此,使用傳統技術的黑客很難對數據驅動計算系統進行有效攻擊,從而提高了系統的安全性。
開發環境
軟件開發環境
對于數據驅動計算來說,使用圖形化的編程語言更直觀、自然,能夠充分體現出運算中的并行性和數據依賴性。ddmp處理器的程序設計就使用專用的圖形化編程語言,用來編制各種算法的數據流圖。軟件開發界面如圖3所示,不僅能夠進行數據流圖的編制,還可以進行程