計算機(jī)系統(tǒng)結(jié)構(gòu)第二版尹朝慶主編第7章數(shù)據(jù)流計算機(jī)
《計算機(jī)系統(tǒng)結(jié)構(gòu)第二版尹朝慶主編第7章數(shù)據(jù)流計算機(jī)》由會員分享,可在線閱讀,更多相關(guān)《計算機(jī)系統(tǒng)結(jié)構(gòu)第二版尹朝慶主編第7章數(shù)據(jù)流計算機(jī)(52頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1第第7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)7.1 數(shù)據(jù)流計算機(jī)的基本原理數(shù)據(jù)流計算機(jī)的基本原理 7.2 數(shù)據(jù)流程序圖和數(shù)據(jù)流語言數(shù)據(jù)流程序圖和數(shù)據(jù)流語言7.3 數(shù)據(jù)流計算機(jī)結(jié)構(gòu)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)7.4 數(shù)據(jù)流計算機(jī)的性能評價及發(fā)展趨勢數(shù)據(jù)流計算機(jī)的性能評價及發(fā)展趨勢第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)2傳統(tǒng)的馮諾依曼(Von Neumann) 型計算機(jī)采用的是指令驅(qū)動方式,即在程序計數(shù)器的集中控制下順序地執(zhí)行指令以實現(xiàn)各種功能,因此屬于控制流計算機(jī)。由于機(jī)器本質(zhì)上的串行順序處理工作機(jī)制,使其并行性的提高受到限制。為了設(shè)計高性能計算機(jī)的系統(tǒng)結(jié)構(gòu),其方法之一是突破馮諾依曼型計算機(jī)的結(jié)構(gòu),采用數(shù)據(jù)驅(qū)動
2、方式形成數(shù)據(jù)流計算機(jī),從而實現(xiàn)大規(guī)模的并行處理。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)37.1 數(shù)據(jù)流計算機(jī)的基本原理數(shù)據(jù)流計算機(jī)的基本原理7.1.1數(shù)據(jù)流計算機(jī)的驅(qū)動方式數(shù)據(jù)流計算機(jī)的驅(qū)動方式 數(shù)據(jù)流計算機(jī)是以數(shù)據(jù)驅(qū)動機(jī)制為基礎(chǔ),在數(shù)據(jù)可用性控制下并行執(zhí)行指令。所謂數(shù)據(jù)驅(qū)動的數(shù)據(jù)流方式,指的是任何指令只要它所需要的數(shù)據(jù)準(zhǔn)備就緒,這些指令就可并行地執(zhí)行。執(zhí)行的結(jié)果并不送往存儲器保存起來,以供其他指令共享,而是直接流向所有需要該結(jié)果的指令,并作為這些指令的操作數(shù),驅(qū)動這些指令的執(zhí)行。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)4數(shù)據(jù)以數(shù)據(jù)令牌方式直接在指令之間傳遞。所謂數(shù)據(jù)令牌,是一種表示某一操作
3、數(shù)或參數(shù)已準(zhǔn)備就緒的標(biāo)志。由于操作結(jié)果不改變機(jī)器狀態(tài),從而具有純函數(shù)的特點。這種機(jī)器需要有專門的機(jī)構(gòu)來檢測數(shù)據(jù)可用性,將數(shù)據(jù)令牌和缺乏數(shù)據(jù)的指令進(jìn)行匹配,同時使指令執(zhí)行的異步鏈接作用得以實現(xiàn)。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)5對于表達(dá)式a(b2)(bc)串行控制驅(qū)動方式的處理過程如圖7.1所示。操作按事先指定的指令執(zhí)行序列順序進(jìn)行,主要受PC控制。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)6圖7.2所示為并行控制驅(qū)動方式的處理過程。使用FORK語句結(jié)構(gòu)派生出并行任務(wù),使i1和i2 兩者并行執(zhí)行,然后用JOIN語句結(jié)構(gòu)對它們進(jìn)行同步。對存儲器中的數(shù)據(jù)訪問與圖7.1中相同。 第第7 7章章
4、數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)7在數(shù)據(jù)驅(qū)動方式中,操作按數(shù)據(jù)相關(guān)和資源可用性所確定的序列來進(jìn)行。當(dāng)一條指令所需的操作數(shù)(數(shù)據(jù)令牌)全部到達(dá),且有可用的計算資源時,便可進(jìn)行計算,過程如圖7.3所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)8數(shù)據(jù)流計算機(jī)還有另一種以需求驅(qū)動機(jī)制為基礎(chǔ)的歸約計算機(jī)。它的操作是由對一個操作結(jié)果的需求而啟動的。即當(dāng)一些計算需要用到一種操作的結(jié)果時,歸約機(jī)制就啟動這種操作。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)9數(shù)據(jù)驅(qū)動具有以下特性。1.異步性(Asynchrony)。2.并行性(Parallelism)。3.函數(shù)性(Functionalism)。4.局部性(Locali
5、ty)。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)107.1.2 數(shù)據(jù)流計算機(jī)的指令結(jié)構(gòu)數(shù)據(jù)流計算機(jī)的指令結(jié)構(gòu)數(shù)據(jù)流計算機(jī)的指令結(jié)構(gòu)如圖7.4所示 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)11數(shù)據(jù)流計算機(jī)不需要像傳統(tǒng)計算機(jī)那樣用程序計數(shù)器控制指令的執(zhí)行順序,也不需要通過訪問共享存儲器來實現(xiàn)指令之間的數(shù)據(jù)傳送。它通過在需要數(shù)據(jù)的指令之間傳送數(shù)據(jù)令牌來實現(xiàn)指令之間傳送數(shù)據(jù)和激活指令執(zhí)行,程序的執(zhí)行過程主要受到指令之間數(shù)據(jù)相關(guān)性的限制。另外,數(shù)據(jù)流計算機(jī)允許多個操作包和多個數(shù)據(jù)令牌同時在各個操作部件之間傳送,允許多條指令并行執(zhí)行。為此,數(shù)據(jù)流計算機(jī)需要有一套能夠并行執(zhí)行多條指令的操作部件和高效的操作包
6、與數(shù)據(jù)令牌的傳送機(jī)構(gòu)。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)127.2 數(shù)據(jù)流程序圖和數(shù)據(jù)流語言數(shù)據(jù)流程序圖和數(shù)據(jù)流語言7.2.1 數(shù)據(jù)流程序圖數(shù)據(jù)流程序圖數(shù)據(jù)流程序圖是一種用來表示數(shù)據(jù)流計算機(jī)指令級的數(shù)據(jù)流程序的有向圖,它是由多個結(jié)點和一些連接這些結(jié)點的單向弧線組成。數(shù)據(jù)流程序圖中的每個結(jié)點是一個用圓圈 、三角形或其他圖形表示的處理部件。結(jié)點內(nèi)的符號或字母表示某種操作,故稱為操作符。單向弧線表示數(shù)據(jù)令牌在結(jié)點間的流向。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)131. 數(shù)據(jù)流程序圖的操作結(jié)點(1)常數(shù)產(chǎn)生結(jié)點如圖7.5(a)所示,它沒有輸入端,只有一個輸出端,其功能是產(chǎn)生常數(shù)。結(jié)點操作激發(fā)
7、執(zhí)行后輸出攜帶指定常數(shù)的數(shù)據(jù)令牌。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)14(2)復(fù)制操作結(jié)點如圖7.5(b)所示,復(fù)制結(jié)點分為兩種,一種是數(shù)據(jù)復(fù)制結(jié)點,實現(xiàn)數(shù)據(jù)的多個復(fù)制,數(shù)據(jù)端以實箭頭表示;另一種是控制復(fù)制結(jié)點,實現(xiàn)控制量的多個復(fù)制,控制端以空心箭頭表示。復(fù)制操作結(jié)點有時也稱連接操作結(jié)點,圖7.5(c)所示分別為數(shù)據(jù)連接結(jié)點和控制連接結(jié)點以及激發(fā)執(zhí)行的結(jié)果。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)15(3)運算操作結(jié)點運算操作結(jié)點用圓圈表示,圈中有相應(yīng)的操作符。主要的運算操作包括加、減、乘、除、加1、減1、乘方、開方等算術(shù)運算以及與、或、非、異或、或非等布爾邏輯運算。激發(fā)執(zhí)行后輸出帶有相
8、應(yīng)操作結(jié)果的令牌。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)16(4)判斷操作結(jié)點如圖7.5(d)所示,判斷操作結(jié)點用一個菱形表示,它有若干個數(shù)據(jù)輸入端和一個控制輸出端。結(jié)點對輸入數(shù)據(jù)按某種關(guān)系進(jìn)行判斷和比較,如果條件滿足,將在輸出端產(chǎn)生T(Ture)的控制令牌,否則便產(chǎn)生F(False)的控制令牌。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)17(5)控制操作結(jié)點控制操作結(jié)點的激發(fā)條件需要加入布爾控制端,用來控制數(shù)據(jù)令牌的傳送時刻??刂撇僮鹘Y(jié)點有四種,如圖7.6所示。lT門結(jié)點:僅當(dāng)布爾控制端為真,且輸入端有數(shù)據(jù)令牌時才能激發(fā)執(zhí)行,執(zhí)行結(jié)果是將輸入端的數(shù)據(jù)令牌傳送到輸出端。lF門結(jié)點:僅當(dāng)布爾控
9、制端為假,且輸入端有數(shù)據(jù)令牌時才能激發(fā)執(zhí)行,執(zhí)行結(jié)果仍是將輸入端的數(shù)據(jù)令牌傳送到輸出端。l開關(guān)門控結(jié)點(SW結(jié)點):開關(guān)門控結(jié)點用一個橢圓形表示,它有一個數(shù)據(jù)輸入端和兩個數(shù)據(jù)輸出端,并受控制端控制。激發(fā)執(zhí)行的結(jié)果是根據(jù)控制端值的真假,確定T輸出端或F輸出端帶有輸入端的數(shù)據(jù)令牌。l歸并門控結(jié)點(MG結(jié)點):歸并門控結(jié)點也用一個橢圓形表示,它有兩個數(shù)據(jù)輸入端和一個數(shù)據(jù)輸出端,并受控制端控制。激發(fā)執(zhí)行的結(jié)果是根據(jù)控制端值的真假,在輸出端上產(chǎn)生來自T輸入端或F輸入端的數(shù)據(jù)令牌。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)18圖7.6 控制操作結(jié)點第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)192. 數(shù)據(jù)流程序
10、圖的活動模片表示法 活動模片表示法是數(shù)據(jù)流程序圖的另一種更接近于機(jī)器語言,也更容易理解機(jī)器的工作原理的表示方法。此方法將數(shù)據(jù)流程序圖中一個或多個操作結(jié)點與一個活動模片相對應(yīng),數(shù)據(jù)流程序可以看成是一組活動模片的集合體。每一個活動模片由4個域組成,包括一個操作碼域,兩個操作數(shù)域和一個目的域,其結(jié)構(gòu)如圖7.7所示。 活動模片實際上是結(jié)點在數(shù)據(jù)流機(jī)器內(nèi)部具體實現(xiàn)時的存儲器映像??梢詫⒒顒幽F硎镜臄?shù)據(jù)流程序圖作為數(shù)據(jù)流機(jī)的可執(zhí)行機(jī)器代碼程序,能夠由數(shù)據(jù)流機(jī)硬件直接解釋執(zhí)行。數(shù)據(jù)流機(jī)操作系統(tǒng)中的分派程序可根據(jù)活動模片數(shù)據(jù)流程圖來調(diào)度各個活動模片,分配給多個處理器并行執(zhí)行。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)
11、流計算機(jī)203. 數(shù)據(jù)流程序圖舉例例7.1用數(shù)據(jù)流程序圖和等效的活動模片表示如下功能(具有順序結(jié)構(gòu)):z(ab)(ab)解:數(shù)據(jù)流程序圖如圖7.8(a)所示 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)21z(ab)(ab) 等效的活動模片表示如圖7.8(b)所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)22 例7.2用數(shù)據(jù)流程序圖描述功能(具有條件分支結(jié)構(gòu)):當(dāng)x0時,zxy;否則 zxy。解:數(shù)據(jù)流程序圖如圖7.9(a)所示。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)23 當(dāng)x0時,zxy;否則zxy。等效的活動模片表示如圖7.9(b)所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)24 例7
12、.3用數(shù)據(jù)流程序圖描述功能(具有循環(huán)結(jié)構(gòu)):對x進(jìn)行循環(huán)累加,直至超過1000時,z等于x的累加值。解:數(shù)據(jù)流程序圖如圖7.10所示。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)25例7.4畫出求一元二次方程兩個實數(shù)根的數(shù)據(jù)流程序圖,基本的運算結(jié)點有、*、和。指出哪些基本運算操作可以并行執(zhí)行?如果每個操作結(jié)點的執(zhí)行時間均為一個時鐘周期,則整個計算過程總共需要多少個時鐘周期?解:可并行執(zhí)行的基本運算操作如圖7.11所示,其中與、與、與均可并行工作,但相互之間因為存在數(shù)據(jù)相關(guān)而不能并行。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)26 求一元二次方程根的數(shù)據(jù)流程序圖如圖7.12所示,如果每個操作結(jié)點的執(zhí)
13、行時間均為一個時鐘周期,則整個計算過程總共需要8個時鐘周期。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)277.2.2 數(shù)據(jù)流語言數(shù)據(jù)流語言數(shù)據(jù)流程序圖作為數(shù)據(jù)流機(jī)器語言,雖然直觀易懂,但編程效率低,故需要研究適合于數(shù)據(jù)流機(jī)使用的高級語言。 發(fā)展新型、適合于數(shù)據(jù)流控制機(jī)制的高級語言一直是數(shù)據(jù)流計算機(jī)研究的重要內(nèi)容。希望新的數(shù)據(jù)流語言能自然而充分地表達(dá)出計算并行性,編程方便、高效。目前這方面的研究還不成熟,沒有形成像傳統(tǒng)高級語言那樣的完整性和規(guī)范性。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)281. 數(shù)據(jù)流語言的類型(1)單賦值語言(Single Assignment Language)(2)函數(shù)
14、類語言(Functional Language)(3)命令類語言(Command Language) 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)292. 數(shù)據(jù)流語言的特點 傳統(tǒng)的程序設(shè)計語言是建立在馮諾依曼系統(tǒng)結(jié)構(gòu)上的,這種控制流語言不能充分表達(dá)程序中的并行性。數(shù)據(jù)流語言與傳統(tǒng)程序設(shè)計語言相比具有以下特點。 (1)并行性好 程序不規(guī)定語句的執(zhí)行順序,語句的執(zhí)行順序也不會影響計算的最終結(jié)果。程序的執(zhí)行過程僅受指令之間數(shù)據(jù)相關(guān)性的約束,而與指令的存儲位置無關(guān)。因此,數(shù)據(jù)流語言能夠以很自然的方式最大限度地表達(dá)程序中的并行性。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)30 (2)單賦值規(guī)則所謂單賦值規(guī)則,
15、是指在程序中每個變量只能賦值一次,即在所有語句的左邊,同一個變量名只能出現(xiàn)一次。單賦值語言沒有傳統(tǒng)計算機(jī)語言中的變量的概念,只是一種值名。單賦值規(guī)則使程序中的語句語義清楚,且程序中的并行性易于被編譯程序識別和開發(fā)。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)31 (3)不產(chǎn)生副作用 在傳統(tǒng)的程序設(shè)計語言中,允許使用全局變量或公共變量,使變量的使用范圍擴(kuò)大。任何一個過程在執(zhí)行中都可以對全局變量賦值,打破了操作結(jié)果的局部性;程序執(zhí)行時還可能出現(xiàn)對同名變量多處賦值;調(diào)用子程序時修改了調(diào)用程序中的變量等情況。這將導(dǎo)致產(chǎn)生一個程序執(zhí)行后由于改變了公共變量,從而影響其他程序的正確執(zhí)行的副作用。 在數(shù)據(jù)流語言
16、中,不使用全局變量和公共變量,嚴(yán)格控制變量的使用范圍。數(shù)據(jù)傳送采用數(shù)據(jù)令牌直接在指令之間進(jìn)行,使每一個操作產(chǎn)生的結(jié)果都具有局部性。另外,采用賦值調(diào)用而不是傳統(tǒng)語言中的引用調(diào)用,而賦值調(diào)用過程只復(fù)制變量而不修改變量。因此,在子程序中決不會修改調(diào)用程序傳送來的變量。也就是說,數(shù)據(jù)流語言的各程序模塊之間的I/O是完全隔離的,可以避免產(chǎn)生不必要的副作用。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)327.3 數(shù)據(jù)流計算機(jī)結(jié)構(gòu)數(shù)據(jù)流計算機(jī)結(jié)構(gòu) 7.3.1靜態(tài)數(shù)據(jù)流計算機(jī)靜態(tài)數(shù)據(jù)流計算機(jī)靜態(tài)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)模型如圖7.13所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)33靜態(tài)數(shù)據(jù)流計算機(jī)中的數(shù)據(jù)令牌是按反映
17、程序要求的數(shù)據(jù)流程序圖來流動的。靜態(tài)數(shù)據(jù)流計算機(jī)的主要特點是數(shù)據(jù)令牌不帶任何標(biāo)記,在數(shù)據(jù)流程序圖的任何一條弧上只允許存在一個數(shù)據(jù)令牌。 MIT靜態(tài)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)框圖如圖7.14所示。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)34圖圖7.14 MIT靜態(tài)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)框圖靜態(tài)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)框圖第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)35系統(tǒng)主要由五個部分組成:l存儲部件(MS)由若于指令單元組成。每個指令單元保存數(shù)據(jù)流程序中的一條指令,它與數(shù)據(jù)流程序圖中的結(jié)點對應(yīng)且由惟一的地址所指明。l處理部件(PS)由對數(shù)據(jù)值進(jìn)行基本運算的多個處理單元(PU)組成,可以并發(fā)執(zhí)行已被激活的指令所要求的操作。
18、l仲裁網(wǎng)絡(luò)(AN)將可執(zhí)行的操作包由存儲部件發(fā)送到處理部件,允許有多個操作包同時在多個通路上傳輸。l控制網(wǎng)絡(luò)(CN)將控制令牌由處理部件發(fā)送到存儲部件相應(yīng)的指令單元中。l分配網(wǎng)絡(luò)(DN)將處理部件產(chǎn)生的多個結(jié)果數(shù)據(jù)令牌依其各自的目的地址分別傳送至存儲部件相應(yīng)的指令單元。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)367.3.2 動態(tài)數(shù)據(jù)流計算機(jī)動態(tài)數(shù)據(jù)流計算機(jī) 動態(tài)數(shù)據(jù)流計算機(jī)中的每個數(shù)據(jù)令牌都帶有標(biāo)記,從而可以使數(shù)據(jù)流程序圖中的任一條弧上同時出現(xiàn)多個帶不同標(biāo)記的令牌。因令牌的標(biāo)記中包含能識別該令牌時間先后相應(yīng)關(guān)系的標(biāo)號,故無需像靜態(tài)數(shù)據(jù)流機(jī)中那樣依賴控制令牌來確認(rèn)指令間數(shù)據(jù)令牌的傳送。動態(tài)數(shù)據(jù)流
19、計算機(jī)的同步是由匹配部件實現(xiàn)的,它將標(biāo)記附加到數(shù)據(jù)令牌上,并對數(shù)據(jù)令牌中的標(biāo)記進(jìn)行符合比較,完成標(biāo)記的匹配工作。典型的動態(tài)數(shù)據(jù)流計算機(jī)的基本結(jié)構(gòu)如圖7.15所示。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)37圖7.15 典型的動態(tài)數(shù)據(jù)流計算機(jī)的基本結(jié)構(gòu)第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)381. 網(wǎng)絡(luò)型結(jié)構(gòu)動態(tài)數(shù)據(jù)流計算機(jī)MIT動態(tài)數(shù)據(jù)流計算機(jī)是網(wǎng)絡(luò)型的典型代表,其基本結(jié)構(gòu)如圖7.16所示。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)39 MIT動態(tài)數(shù)據(jù)流計算機(jī)由N個處理單元(PE)和一個用于實現(xiàn)PE間通信的NN的包交換開關(guān)網(wǎng)絡(luò)組成。每個PE基本上是一臺完整的處理機(jī),它包括有自己的程序/數(shù)據(jù)存儲
20、器、I結(jié)構(gòu)存儲器、標(biāo)記匹配部件、算術(shù)邏輯部件、打標(biāo)記和對標(biāo)記特征控制的部件及其他硬件。NN的包交換開關(guān)網(wǎng)絡(luò)為令牌提供從發(fā)出它的PEi到吸收它的PEj的通路。如果吸收令牌的PE就是發(fā)出此令牌的PE,則不經(jīng)開關(guān)網(wǎng)絡(luò)傳送。 MIT動態(tài)數(shù)據(jù)流機(jī)指令的一般格式如圖7.17所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)40PE的內(nèi)部結(jié)構(gòu)如圖7.18所示。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)412. 環(huán)型結(jié)構(gòu)動態(tài)數(shù)據(jù)流計算機(jī) Manchester動態(tài)數(shù)據(jù)流計算機(jī)是環(huán)形結(jié)構(gòu)的典型代表,其結(jié)構(gòu)如圖7.19所示 。它的5個功能部件形成一個環(huán)狀流水線,采用令牌包通信。這種結(jié)構(gòu)允許多個令牌以先進(jìn)先出的隊列形式
21、同時存在于數(shù)據(jù)流程序圖的一個弧上,故屬于動態(tài)數(shù)據(jù)流機(jī)。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)427.4 數(shù)據(jù)流計算機(jī)的性能評價及發(fā)展趨勢數(shù)據(jù)流計算機(jī)的性能評價及發(fā)展趨勢 7.4.1數(shù)據(jù)流計算機(jī)的優(yōu)點數(shù)據(jù)流計算機(jī)的優(yōu)點1. 高度的操作并行性 由于數(shù)據(jù)驅(qū)動方法沒有指令執(zhí)行順序的限制,從理論上講,只要有充分的硬件資源,就能獲得最大的并行性。已經(jīng)得到驗證,數(shù)據(jù)流計算機(jī)在處理許多應(yīng)用問題時的加速比隨使用處理機(jī)數(shù)目的增加而線性地增長。 數(shù)據(jù)流計算機(jī)顯示了操作的高度并行性,它不僅可用來開發(fā)程序中有規(guī)則的并行性,而且也能夠開發(fā)程序中隱含的并行性。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)432. 便于開發(fā)過程
22、和指令級的異步并行 數(shù)據(jù)流計算機(jī)的指令直接使用操作數(shù),而不是使用存放操作數(shù)的地址,因此能實現(xiàn)無副作用的純函數(shù)型程序設(shè)計方法。便于在過程級和指令級充分開發(fā)程序中的異步并行性,可以把串行計算的問題用簡單的方法展開成并行計算問題進(jìn)行并行處理。如通過同時展開一個循環(huán)程序中的多個相鄰循環(huán)體,將循環(huán)體內(nèi)和循環(huán)體間本來相關(guān)的操作數(shù)直接互相迭代而形成一條異步流水線,從而使一個循環(huán)程序內(nèi)的不同層次的循環(huán)體能夠并行執(zhí)行。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)443. 機(jī)器結(jié)構(gòu)與VLSI技術(shù)發(fā)展相適應(yīng)數(shù)據(jù)流計算機(jī)結(jié)構(gòu)的基本組成具有模塊性和均勻性,與VLSI技術(shù)相適應(yīng)。其指令存儲器、數(shù)據(jù)令牌緩沖器和可執(zhí)行指令隊列緩
23、沖器等存儲部件均可采用VLSI技術(shù)制造的存儲陣列均勻地構(gòu)成,處理部件和信息包開關(guān)網(wǎng)絡(luò)也可用模塊化的標(biāo)準(zhǔn)單元有規(guī)則地連接實現(xiàn)。VLSI技術(shù)的進(jìn)一步發(fā)展,必然為研制高性能價格比的數(shù)據(jù)流計算機(jī)提供更好的支持。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)454. 有利于提高程序設(shè)計效率 在數(shù)據(jù)流計算機(jī)中,采用函數(shù)程序設(shè)計語言。這種純函數(shù)操作取消了變量和變量賦值機(jī)制,從根本上消除了傳統(tǒng)編程語言中因大量使用全局變量和同名變量而產(chǎn)生的副作用。 函數(shù)程序設(shè)計語言的自動向量識別能力大為提高,便于對數(shù)據(jù)流的分析和處理。基于這種語言編寫的程序符合程序設(shè)計方法學(xué)的要求,良好的程序結(jié)構(gòu)不僅降低了程序編制的難度,而且為程序的
24、調(diào)試和驗證提供了很好的基礎(chǔ)。從而可以提高程序設(shè)計的生產(chǎn)能力、效率及可靠性。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)467.4.2 數(shù)據(jù)流計算機(jī)存在的主要問題數(shù)據(jù)流計算機(jī)存在的主要問題1. 系統(tǒng)開銷大 數(shù)據(jù)流計算機(jī)的指令格式與傳統(tǒng)計算機(jī)不同,它包含一個操作碼、兩個源操作數(shù)以及一個或多個后繼指令地址,某些動態(tài)數(shù)據(jù)流計算機(jī)的指令中還有許多標(biāo)記位,所以其指令長度一般較長。與傳統(tǒng)計算機(jī)相比,需要占用更多的系統(tǒng)存儲器資源來保存用這種指令編寫的程序,而用于完成其指令的存取所花費的時間更長。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)472不能有效利用傳統(tǒng)計算機(jī)的研究成果 數(shù)據(jù)流計算機(jī)獨特的解題方法使它具有與傳統(tǒng)
25、計算機(jī)完全不同的結(jié)構(gòu),令其可以擺脫傳統(tǒng)計算機(jī)系統(tǒng)結(jié)構(gòu)的束縛,但同時意味著它無法吸收利用許多經(jīng)證明在傳統(tǒng)計算機(jī)中行之有效的研究成果。 另外,數(shù)據(jù)流計算機(jī)采用的基于數(shù)據(jù)流程序圖的機(jī)器語言,使得在傳統(tǒng)計算機(jī)上長期積累的大量軟件成果無法實現(xiàn)軟件繼承。這將導(dǎo)致數(shù)據(jù)流計算機(jī)在市場上與傳統(tǒng)計算機(jī)竟?fàn)幹械牟焕?。第? 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)483數(shù)據(jù)流語言尚不完善 目前提出的數(shù)據(jù)流語言都不夠完善,仍需要進(jìn)一步改進(jìn)。例如,計算機(jī)的輸入輸出操作至今還未引入到數(shù)據(jù)流語言中來。數(shù)據(jù)流語言是以隱含的方式描述并行性,并由編譯器來開發(fā)其中的并行成分,這將對編譯器提出很高的要求。而在數(shù)據(jù)流程序中存在的大量隱含的并行
26、性,使得程序的調(diào)試變得非常困難,目前還缺少有效的解決方法。另外,對數(shù)據(jù)流計算機(jī)操作系統(tǒng)的研究也還很不成熟。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)497.4.3 數(shù)據(jù)流計算機(jī)的研究方向數(shù)據(jù)流計算機(jī)的研究方向1. 提高并行級別 把并行提高到函數(shù)一級或復(fù)合函數(shù)一級,利用數(shù)據(jù)直接驅(qū)動函數(shù)和復(fù)合函數(shù)計算,以減少操作開銷。在這種復(fù)合函數(shù)驅(qū)動方案中,數(shù)據(jù)流程序圖中用有向分支線連接復(fù)合函數(shù)結(jié)點而不是操作結(jié)點,實現(xiàn)的是復(fù)合函數(shù)級的并行。這樣就可以利用傳統(tǒng)高級語言來編寫程序,也就可以繼承長期積累的大量軟件。 第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)502. 同步與異步相結(jié)合在指令級采用同步操作,而在函數(shù)級及函數(shù)
27、以上級采用異步操作的方法作為解決數(shù)據(jù)流計算機(jī)操作開銷過大的有效途徑。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)513. 控制流與數(shù)據(jù)流相結(jié)合 在指令級仍采用傳統(tǒng)的控制流方法實現(xiàn),而把并行級別確定在函數(shù)級,重點實現(xiàn)復(fù)合函數(shù)級的并行操作。已經(jīng)有人設(shè)計出這種類型的數(shù)據(jù)流計算機(jī),它既有數(shù)據(jù)流技術(shù)的優(yōu)點,實現(xiàn)函數(shù)級并行操作,使控制簡單,操作開銷不大;又在機(jī)器中采用向量處理技術(shù),以繼承傳統(tǒng)控制流計算機(jī)中行之有效的技術(shù)成果。在軟件方面,使用傳統(tǒng)高級語言編程,實現(xiàn)軟件繼承。第第7 7章章 數(shù)據(jù)流計算機(jī)數(shù)據(jù)流計算機(jī)52 數(shù)據(jù)流計算機(jī)研究中需要進(jìn)一步解決的其他主要技術(shù)問題還包括:v 研制易于使用、易于用硬件實現(xiàn)的高級數(shù)據(jù)流語言。v 研究程序分解、分配給各個處理部件的算法。v 設(shè)計性能價格比高的信息包交換網(wǎng)絡(luò),實現(xiàn)資源沖突 的仲裁和數(shù)據(jù)令牌分配等大量通信工作。v 研制智能化的數(shù)據(jù)驅(qū)動機(jī)構(gòu),研究如何在數(shù)據(jù)流環(huán)境 中高效率地處理復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。v 研究支持?jǐn)?shù)據(jù)流運算的存儲系統(tǒng)和存儲分配方案。v 研究數(shù)據(jù)流計算機(jī)的操作系統(tǒng)。v 開發(fā)數(shù)據(jù)流語言的跟蹤調(diào)試工具。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版九年級數(shù)學(xué)下冊課件:273-位似-第2課時
- 新人教版《科學(xué)之旅》-課件
- 會計觀念的創(chuàng)新課件
- 代謝綜合征臨床評估與危險因素防治
- 產(chǎn)品質(zhì)量處理辦法
- 文明單位申報材料-powerpoint__演示文稿
- 遷安市某中學(xué)七年級數(shù)學(xué)上冊第三章整式及其加減專題練習(xí)三整式的化簡與計算課件新版北師大版
- 分時線洗盤的三種常見方式課件
- 寫出事物的特點課件
- 《百善孝為先》教學(xué)ppt課件
- 五年級數(shù)學(xué)下冊期中復(fù)習(xí)卡--------課件
- 走進(jìn)美妙的色彩世界
- 五年級數(shù)學(xué)上冊課件梯形的面積人教版2
- 計算機(jī)繪圖0113章
- Ch2 顧客價值、滿意度、關(guān)系管理