計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37_第1頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37_第2頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37_第3頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37_第4頁(yè)
計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)37_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)

■第一章基本概念

■第二章指令系統(tǒng)

■第三章存儲(chǔ)系統(tǒng)

■第四章輸入輸出系統(tǒng)

■第五章標(biāo)量處理機(jī)

■第六章向量處理機(jī)

■第七章互連網(wǎng)絡(luò)

■第八章并行處理機(jī)

■第九章多處理機(jī)

1

第八章SIMD計(jì)算機(jī)(并行處理機(jī))

■兩種并行性概念:

■同時(shí)性并行Simultaneity:兩個(gè)或兩個(gè)以上事件在同一時(shí)刻

發(fā)生。

■并發(fā)性并行Concurrency:兩個(gè)或兩個(gè)以上事件在同一時(shí)間

間隔內(nèi)發(fā)生

■二條技術(shù)途徑:

■資源重復(fù):通過(guò)重復(fù)設(shè)置多個(gè)處理部件來(lái)提高速度

■時(shí)間重疊:流水線

■資源共享:分時(shí)系統(tǒng),分布式系統(tǒng)

■并行處理機(jī)有時(shí)也稱SIMD計(jì)算機(jī)。

-它以單一控制部件控制下的多個(gè)處理單元構(gòu)成的陣列,所以

有時(shí)也稱為陣列處理機(jī)

■SIMD計(jì)算機(jī)主要使用于大量高速向量或矩陣運(yùn)算的場(chǎng)合

■本章討論并行處理機(jī)的模型、基本結(jié)構(gòu)、并行算法和具體實(shí)

2

8.1并行處理機(jī)模型

■并行處理機(jī)定義

■多個(gè)PE按照一定方式互連,在同一個(gè)CU控制下,對(duì)各自的

數(shù)據(jù)完成同一條指令規(guī)定的操作。

■從CU看,指令串行執(zhí)行,從PE看,數(shù)據(jù)并行處理

■并行處理機(jī)也稱為陣列處理機(jī)。按照佛林分類法,它屬于

SIMD計(jì)算機(jī)。

■并行處理機(jī)的應(yīng)用領(lǐng)域

■主要用于高速向量或矩陣運(yùn)算中

3

并行處理機(jī)的操作模型

HJSiegel提出的并行處理機(jī)模型

4

并行處理機(jī)的操作模型

■并行處理機(jī)的操作模型可用五元組來(lái)表示

M=(N,C,I,M,R)

■N為PE個(gè)數(shù)

■如IlliacIV有64個(gè)PE。

■C為由控制部件CU直接執(zhí)行的指令集

■包括標(biāo)量指令和程序控制指令。

■I為所有PE并行執(zhí)行的指令集

■包括算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)尋徑、屏蔽以及其它由

每個(gè)活動(dòng)的PE對(duì)它的數(shù)據(jù)所執(zhí)行的局部操作。

■M為屏蔽操作集

■每種屏蔽將PE劃分為允許操作和禁止操作兩個(gè)子集。

R是數(shù)據(jù)尋徑集

■說(shuō)明互連網(wǎng)絡(luò)中PE間通信所需要的各種設(shè)置模式。

5

MasParMP-1的操作特性

■是一臺(tái)具體的SIMD機(jī)器

■N=1024至16384。實(shí)際PE數(shù)目與機(jī)器配置有關(guān)。

■CU執(zhí)行標(biāo)量指令,譯碼后的向量指令廣播到PE陣列,并控制

PE間的通信。

■每個(gè)PE都是基于Load/store結(jié)構(gòu)的RISC處理機(jī),PE從OJ接受

指令,能執(zhí)行整數(shù)運(yùn)算和標(biāo)準(zhǔn)浮點(diǎn)運(yùn)算。

■屏蔽指令設(shè)在每個(gè)PE中,并由CU連續(xù)監(jiān)控。它能在運(yùn)行時(shí)動(dòng)

態(tài)地使每個(gè)PE處于置位或復(fù)位狀態(tài)。

■有一個(gè)X-Net網(wǎng)格網(wǎng)絡(luò)和一個(gè)全局多級(jí)交叉開關(guān)尋徑器,以實(shí)

現(xiàn)CU和PE之間、X-Net的8個(gè)近鄰之間和全局尋經(jīng)器的通信。

6

■MP-1

■每個(gè)PE裝有1位邏輯單元、4位整數(shù)ALU、64位尾數(shù)部件和

16位指數(shù)部件。

■MP-1是中粒度并行處理機(jī)。

■由于每個(gè)PE比較簡(jiǎn)單,故可將幾個(gè)PE做在一個(gè)芯片上。

■MP-1的每個(gè)芯片有32個(gè)PE,每個(gè)PE有40個(gè)32位寄存器。

■32個(gè)PE用X-Net網(wǎng)絡(luò)互相連接,這是一種對(duì)角線雙級(jí)鏈路

擴(kuò)展的4-鄰網(wǎng)。

■CM-2

■在一個(gè)芯片上將16個(gè)PE連成網(wǎng)格網(wǎng)絡(luò)

■每個(gè)16-PE網(wǎng)的芯片安置在12維超立方體的頂角上。

■16X2人12=2人16=65536PE組成了整個(gè)SIMD陣歹U。

■DAP610

■在一個(gè)芯片上實(shí)現(xiàn)了一個(gè)64-PE的網(wǎng)格網(wǎng)絡(luò)

■再由這些芯片上小網(wǎng)格互相連接組成一個(gè)大網(wǎng)格(64X64)

7

表8.13種SIMD計(jì)算機(jī)

■PE數(shù)從DAP610的4096至UMasParMP-1的16384和CM-2的

65536

■PE都帶有浮點(diǎn)加速器

■PE有細(xì)粒度和中粒度之分

■CM-2與DAP610者B是細(xì)粒度、位片式SIMD計(jì)算機(jī)。

■MP-1是中粒度SIMD機(jī)。

8

表8.13種SIMD計(jì)算機(jī)

「算系統(tǒng)語(yǔ)言、編譯器

系統(tǒng)型號(hào)SIMDvl

結(jié)構(gòu),用性能和軟件支持

1024~16384個(gè)PE,26GIPSFortran?7,MasParFortran

或每個(gè)帶(MPF)和MasPar并行應(yīng)國(guó)語(yǔ)

MasParL3Gflops;PE

16KB本地存儲(chǔ)器,X-Net網(wǎng)言;X窗口UNIX/OS,符號(hào)調(diào)

MP-1系列格加一個(gè)多級(jí)交叉開關(guān)互連試程序,可視化和動(dòng)畫制作

網(wǎng)程序

65536個(gè)PE排,成10維超立方

由VAX,Sun或Symbolics

Thinking體,每個(gè)PE],有1M位存儲(chǔ)器,360主機(jī)驅(qū)動(dòng),PARIS支持

Machines公司32個(gè)PE共享曰)U選件,峰值的Lisp編譯盛、Fortran90>

速度28G/lops和持續(xù)速度

CM-2和*

5.6GflopsC*Lisp

1K位/PE方形F網(wǎng)格互連成由主機(jī)VAX/VMS或UNIX

ActiveMemory

4096PE的細(xì)楚、位片SIMDFortran-plus或DAP上APAL

Technology1

陣列,止交4?鄰位鏈接,提供,主機(jī)的Fortran77或C;

DAP600寫標(biāo)準(zhǔn)宥關(guān)的

系列20GIPS和560Mflops峰值性Fortran90

么匕Fortran-plus

9

8.2并行處理機(jī)的基本結(jié)構(gòu)

■并行處理機(jī)有兩種典型結(jié)構(gòu)

■分布存儲(chǔ)器并行處理機(jī)

■共享存儲(chǔ)器并行處理機(jī)

■一臺(tái)并行處理機(jī)由五個(gè)部分組成

■多個(gè)處理單元PE

■多個(gè)存儲(chǔ)器模塊M

■一個(gè)控制器CU

■一個(gè)互連網(wǎng)絡(luò)ICN

■一臺(tái)輸入輸出處理機(jī)IOP

10

8.2.1分布存儲(chǔ)器并行處理機(jī)

-目前的大部分并行處理機(jī)是基于分布式存儲(chǔ)器模型的系統(tǒng)。

■比較容易構(gòu)成MPP(MassivelyParallelProcessor,大規(guī)模并行

處理機(jī)),幾十萬(wàn)個(gè)PE。

■必須依靠并行算法來(lái)提高PE的利用率。應(yīng)用領(lǐng)域很有限

■CU是控制部件,執(zhí)行標(biāo)量指令,并把向量指令廣播到各個(gè)PE。

■在CU中通常有一個(gè)較大容量的存儲(chǔ)器。

■IOP是輸入輸出處理機(jī),或稱為主機(jī)。在IOP上安裝操作系統(tǒng),

它除了負(fù)擔(dān)輸入輸出工作外,還負(fù)責(zé)程序的編輯、編譯和調(diào)

試等工作。

■數(shù)據(jù)在局前存儲(chǔ)器中的分布是一個(gè)很關(guān)鍵的問(wèn)題。

■標(biāo)量指令與向量指令可以并發(fā)執(zhí)行。

11

圖8.2分布式存儲(chǔ)器的SIMD計(jì)算機(jī)

12

■包含重復(fù)設(shè)置的多個(gè)同樣的處理單元PE

■通過(guò)數(shù)據(jù)尋徑網(wǎng)絡(luò)以一定方式互相連接

■每個(gè)PE有各自的本地存儲(chǔ)器LM

■在統(tǒng)一的陣列控制部件作用下,實(shí)現(xiàn)并行操作

■程序和數(shù)據(jù)通過(guò)主機(jī)裝入控制存儲(chǔ)器

■由于通過(guò)控制部件的是單指令流,所以指令的執(zhí)行順序與

單處理機(jī)一樣,基本上是串行執(zhí)行

-指令是送到控制部件進(jìn)行譯碼

如果是標(biāo)量操作或控制操作,則將直接由與控制部件相

連的標(biāo)量處理機(jī)執(zhí)行

如果是向量操作,則將它廣播到所有PE并行地執(zhí)行。

13

■數(shù)據(jù)分布存放在所有PE的本地存儲(chǔ)器

■PE通過(guò)數(shù)據(jù)尋徑網(wǎng)絡(luò)互連

■數(shù)據(jù)尋徑網(wǎng)絡(luò)執(zhí)行PE間的通信,如移數(shù)、置換和其它尋徑

操作

■控制部件通過(guò)執(zhí)行程序來(lái)控制數(shù)據(jù)尋徑網(wǎng)絡(luò)

■PE的同步由控制部件的硬件實(shí)現(xiàn)

■所有PE在同一個(gè)周期執(zhí)行同一條指令

■可用屏蔽邏輯來(lái)決定任何一個(gè)PE在給定的指令周期執(zhí)行

或不執(zhí)行指令

14

■各種SIMD機(jī)器的主要差別在于進(jìn)行PE之間互相通信的數(shù)據(jù)尋

徑網(wǎng)絡(luò)不同。

■4-鄰連接網(wǎng)格結(jié)構(gòu)在過(guò)去是最受歡迎的一種。

■IlliacIV由64個(gè)有本地存儲(chǔ)器的PE組成、PE間通過(guò)8X8環(huán)繞連

接網(wǎng)格實(shí)現(xiàn)互連。

■GoodyearMPP和AMTDAP610也是用兩維網(wǎng)格實(shí)現(xiàn)的。

■CM-2實(shí)現(xiàn)的嵌在網(wǎng)格中的超立方體和MasParMP-1實(shí)現(xiàn)的X-

Net加多級(jí)交叉開關(guān)的尋徑器都是由網(wǎng)格演變而來(lái)的。

15

8.2.2共享存儲(chǔ)器并行處理機(jī)

■共享的多體并行存儲(chǔ)器SM通過(guò)互連網(wǎng)絡(luò)與各處理單元PE相連

■存儲(chǔ)模塊的數(shù)目等于或略大于處理單元的數(shù)目

■在存儲(chǔ)模塊之間合理分配數(shù)據(jù),通過(guò)靈活、高速的互連網(wǎng)絡(luò),

使存儲(chǔ)器與處理單元之間的數(shù)據(jù)傳送在大多數(shù)向量運(yùn)算中都

能以存儲(chǔ)器的最高頻率進(jìn)行,而最少受存儲(chǔ)沖突的影響

■共享存儲(chǔ)器并行處理機(jī)模型在處理單元數(shù)目不太大的情況下

很理想

■共手存儲(chǔ)器模型的處理單元數(shù)目一般不多,幾個(gè)至幾十個(gè)

■BurroughsScientificProcessor(BSP)采用了這種結(jié)構(gòu)。

■16個(gè)PE通過(guò)一個(gè)16X17的對(duì)準(zhǔn)互連網(wǎng)絡(luò)訪問(wèn)17個(gè)共享存

儲(chǔ)器模塊

■存儲(chǔ)器模塊數(shù)與PE數(shù)互質(zhì)可以實(shí)現(xiàn)無(wú)沖突并行訪問(wèn)存儲(chǔ)

16

圖8.3共享存儲(chǔ)器的SIMD計(jì)算機(jī)

17

不同存儲(chǔ)方案的比較

■無(wú)論采用哪種存儲(chǔ)方案,互連網(wǎng)絡(luò)的存在都是必要的。

■在共享內(nèi)存方案中,它是存儲(chǔ)器與處理單元之間的必由之

■在分布內(nèi)存方案中,即使處理單元所需數(shù)據(jù)在大多數(shù)情況

下都能由本地存儲(chǔ)器提供,但是,處理單元之間的數(shù)據(jù)傳

送仍是必不可少的。

■在圖8.2中,各處理單元PE之間可以經(jīng)過(guò)兩條途徑相互聯(lián)

■一條是直接通過(guò)數(shù)據(jù)尋徑網(wǎng)絡(luò)

另一條是數(shù)據(jù)從LM讀至陣列控制部件,然后通過(guò)公共

數(shù)據(jù)總線”廣播“到全部PE中。

■處理單元數(shù)目很多的并行處理機(jī)中,PE之間的直接數(shù)據(jù)通

路只能是很有限的,這決定了系統(tǒng)的固定結(jié)構(gòu)和專用處理

機(jī)的性質(zhì)。這種局限性需要從互連網(wǎng)絡(luò)的研究中得到解決

18

■與第六章中的向量處理機(jī)相比,它們的共同之處是都執(zhí)行向

量指令,并對(duì)向量的分量進(jìn)行算術(shù)、邏輯、數(shù)據(jù)尋徑和屏蔽

作。

-在位*SIMD計(jì)算機(jī)中的向量是二進(jìn)制向量。在字并行SIMD計(jì)

算機(jī)中向量的分量是4字節(jié)或8字節(jié)的數(shù)。

■SIMD處理機(jī)的指令都必須使用長(zhǎng)度為n的向量操作數(shù),其中n

是PE的個(gè)數(shù)。

■SIMD指令與流水線向量處理機(jī)的指令類似,不同之處是多PE

的空間并行性代替了流水線的時(shí)間并行性。

■數(shù)據(jù)尋徑指令包括置換、廣播、選播以及多種循環(huán)和移數(shù)操

作。

■在i壬何指令周期,通過(guò)屏蔽操作可以允許或禁止某些PE參加

運(yùn)算。

19

■上述SIMD結(jié)構(gòu)的所有I/O動(dòng)作都是由主機(jī)承擔(dān)的。

■在主機(jī)和陣列控制部件之間有一個(gè)專用的控制存儲(chǔ)器,它

是一個(gè)存放程序和數(shù)據(jù)的中間存儲(chǔ)器。

■在啟動(dòng)程序之前,把劃分好的數(shù)據(jù)集合分布到本地存儲(chǔ)器或

共享存儲(chǔ)器模塊。

■主機(jī)管理大容量存儲(chǔ)器或計(jì)算結(jié)果的圖形顯示。

■在控制部件的協(xié)調(diào)下,標(biāo)量處理機(jī)與PE陣列并發(fā)地運(yùn)算。

20

8.2.3并行處理機(jī)的特點(diǎn)

■并行處理機(jī)的主要特點(diǎn):

■速度快,而且潛力大

■模塊性好,生產(chǎn)和維護(hù)方便

■可靠性高,容易實(shí)現(xiàn)容錯(cuò)和重構(gòu)

■效率低(與流水線處理機(jī)、向量處理機(jī)等比較)。

■通常作為專用計(jì)算機(jī),因此,在很大程度上依賴于并行

算法。

■它依靠的是資源重復(fù),而不是時(shí)間重疊,它的每個(gè)處理

單元要擔(dān)負(fù)多種處理功能,其效率要低一些。

■另一方面,它依靠增加PE個(gè)數(shù),與流水線處理機(jī)主要依

靠縮短時(shí)鐘周期相比,其提高速度的潛力要大得多。

■依賴于互連網(wǎng)絡(luò)和并行算法。

■互連網(wǎng)絡(luò)決定了PE之間的連接模式,也決定了并行處理

機(jī)能夠適應(yīng)的算法。

■需要有一臺(tái)高性能的標(biāo)量處理機(jī)。

■如果一臺(tái)機(jī)器的向量處理速度極高,但標(biāo)量處理速度只

是每秒一百萬(wàn)次,那么對(duì)于標(biāo)量運(yùn)算占10%的題目來(lái)說(shuō),

總的有效速度就不過(guò)是每秒一千萬(wàn)次。

高速數(shù)值計(jì)算

■SIMD計(jì)算機(jī)與流水線向量處理機(jī)一樣,特別適于高速數(shù)值計(jì)

■它是以諸如有限差分、矩陣、信號(hào)處理、線性規(guī)劃等一系列

計(jì)算問(wèn)題為背景而發(fā)展起來(lái)的

■這些問(wèn)題的共同特點(diǎn)是能夠通過(guò)各種途徑歸結(jié)為數(shù)組和向量

處理。

■與按多指令流多數(shù)據(jù)流方式工作的多處理機(jī)相比,SIMD計(jì)算

機(jī)具有較固定的結(jié)構(gòu),它直接與一定的算法相聯(lián)系,其效率

取決于計(jì)算程序向量化的程度。

■在這個(gè)前提下,通過(guò)改進(jìn)系統(tǒng)結(jié)構(gòu)和制定并行算法,使可

能適應(yīng)的計(jì)算問(wèn)題類型盡量廣一些、多一些。這就是說(shuō),

應(yīng)該把系統(tǒng)結(jié)構(gòu)的研究和算法的研究結(jié)合起來(lái)。

22

利用大量處理單元對(duì)向量各個(gè)分量同時(shí)進(jìn)行運(yùn)算

■SIMD計(jì)算機(jī)利用大量處理單元對(duì)向量所包含的各個(gè)分量同時(shí)

進(jìn)行運(yùn)算,這正是它獲得很高處理速度的主要原因

■與同樣擅長(zhǎng)于向量處理的流水線向量處理機(jī)相比,SIMD計(jì)算

機(jī)依靠的并行措施是資源重復(fù),而不是時(shí)間重疊

■而且它的每個(gè)處理單元要擔(dān)負(fù)多種處理功能,相當(dāng)于流水線

向量處理機(jī)的多功能流水線部件(如在TIASC機(jī)中),其效率比

多個(gè)單功能流水線部件(如在CRAY-1機(jī)中)要低一些

■所以,只有在硬件價(jià)格大幅度下降,加上系統(tǒng)結(jié)構(gòu)的不斷

改進(jìn),SIMD計(jì)算機(jī)才具有較好的性能價(jià)格比

■但是,要論提高運(yùn)算速度,SIMD計(jì)算機(jī)主要依靠增多處理

單元的個(gè)數(shù),與流水線處理機(jī)主要依靠縮短時(shí)鐘周期相比,

其提高速度的潛力要大得多

■如果有很好的互連網(wǎng)絡(luò)相配合,則多處理單元的功能和靈

活性將會(huì)更強(qiáng)一些

■如時(shí)鐘周期為160ns、包含16個(gè)處理單元的BSPSIMD計(jì)算

機(jī)取得的運(yùn)算速度,能夠與時(shí)鐘周期為12.5ns、包含12條

單功能流水線的CRAY-1流水線向量處理機(jī)相當(dāng),這就是一

個(gè)很好的例證23

SIMD計(jì)算機(jī)的互連網(wǎng)絡(luò)

■SIMD計(jì)算機(jī)機(jī)與流水線向量處理機(jī)的另一區(qū)別是它的互連網(wǎng)

絡(luò)

■這是由多處理單元這一特點(diǎn)所決定的

■目前的SIMD計(jì)算機(jī)采用的互連網(wǎng)絡(luò)還比較簡(jiǎn)單,但它是SIMD

計(jì)算機(jī)最有特色的一個(gè)組成部分

■它規(guī)定了處理單元的連接模式,決定了SIMD計(jì)算機(jī)能適應(yīng)的

算法類別,對(duì)整個(gè)系統(tǒng)的各項(xiàng)性能指標(biāo)產(chǎn)生了重要的影響

■成為SIMD計(jì)算機(jī)結(jié)構(gòu)的研究重點(diǎn),同時(shí)也是多處理機(jī)的重要

組成部分

24

實(shí)際有效速度的其他決定因素

■對(duì)于以向量處理為主的SIMD計(jì)算機(jī)而言,除向量運(yùn)算速度以

外,整個(gè)系統(tǒng)的實(shí)際有效速度還在很大程度上決定于另外兩

個(gè)因素:

■一是標(biāo)量運(yùn)算速度;

■二是編譯過(guò)程的開銷。

■即使是向量運(yùn)算,向量長(zhǎng)度的影響也是不可忽視的

■流水線的向量處理機(jī)處理短向量時(shí),流水線建立和排空時(shí)間

的比例加大

■而在SIMD計(jì)算機(jī)中,短向量對(duì)速度的影響雖較小,但也降低

了處理效率

■如果某一臺(tái)機(jī)器的向量處理速度極高,甚至是不受限制的,

但標(biāo)量處理速度只是每秒一百萬(wàn)次浮點(diǎn)運(yùn)算,那么對(duì)于標(biāo)

量運(yùn)算占10%的題目來(lái)說(shuō),總的有效速度就不過(guò)是每秒一

千萬(wàn)次浮點(diǎn)運(yùn)算

■提高SIMD4,算機(jī)處理標(biāo)量和短向量的能力是很重要的

■至于編譯時(shí)間,它既與系統(tǒng)結(jié)構(gòu),又與機(jī)器語(yǔ)言的水平高低

有密切的關(guān)系;特別是如果要提高SIMD計(jì)算機(jī)的通用性,則

建立一個(gè)具有向量化功能的高級(jí)語(yǔ)言編譯程序是十分必要的25

SIMD計(jì)算機(jī)基本上是一臺(tái)向量處理專用計(jì)算機(jī)

■SIMD計(jì)算機(jī)還有一個(gè)重要特點(diǎn),它基本上是一臺(tái)向量處理專

用計(jì)算機(jī)。

■盡管它有一個(gè)功能很強(qiáng)的控制部件實(shí)際上起著標(biāo)量處理機(jī)

的作用,但仍然必須和一臺(tái)高性能單處理機(jī)配合工作,使

后者擔(dān)負(fù)系統(tǒng)的全部管理功能。

■它們根據(jù)功能專用化的原則組成一個(gè)異構(gòu)型多計(jì)算機(jī)系

統(tǒng),向量處理部件是系統(tǒng)的主體,而高性能單處理機(jī)可

視為它的前端機(jī),用來(lái)分擔(dān)部分功能,以便充分發(fā)揮主

體的向量處理效率。

■流水線向量處理機(jī)則有一些不同:

■有些向量處理機(jī)接到主機(jī)上是為了執(zhí)行主機(jī)的一些有關(guān)操

作或子程序,以此分擔(dān)主機(jī)的部分功能,從而提高主機(jī)的

有效運(yùn)算速度。

■在這樣的系統(tǒng)吊,它們只起著后端處理機(jī)的作用,還不能

被認(rèn)為是系統(tǒng)的主體。

■在流水線向量處理機(jī)中,CDCSTAR100、和CRAY-1等巨型

計(jì)算機(jī)本身被認(rèn)為是完整的通用計(jì)算機(jī)系統(tǒng)

■AP120B、IBM3838等專用浮點(diǎn)數(shù)組處理機(jī)都是這樣的后端

處理機(jī)。26

8.3并行處理機(jī)實(shí)例

■IlliacIV是最先采用SIMD結(jié)構(gòu)的并行機(jī)

■采用陣列結(jié)構(gòu)分布存儲(chǔ)器

■一個(gè)方向是用位片PE制造的并行機(jī)

■如GoodyearMPP、AMT/DAP610和TMC/CM-2。

■CM-5是以SIMD模式運(yùn)行的同步MIMD計(jì)算機(jī)。

■另一方向是用字寬運(yùn)算PE的中粒度SIMD計(jì)算機(jī)。

■BSP是16臺(tái)處理機(jī)和17個(gè)存儲(chǔ)模塊同步工作的共享存儲(chǔ)

SIMD計(jì)算機(jī)

■GF-11是由IBMWatson實(shí)驗(yàn)室研制、作科學(xué)模擬研究

■MasParMP-1是中粒度SIMD計(jì)算機(jī)

27

并行處理機(jī)的另兩個(gè)發(fā)展方向

■保留陣列結(jié)構(gòu),但每個(gè)處理單元的規(guī)模減小,如lbit。

■去掉陣列結(jié)構(gòu)和分布存儲(chǔ)器。

■Burroughs公司的BSP是典型代表。去掉陣列結(jié)構(gòu)和分布存

儲(chǔ)器

DAP610

1987

GoodyearMPP

CM2CM5

19901991

<MasParMP-1

1991

IBMGF-11

1991

<28

8.3.1IlliacIV并行處理機(jī)

■1963年,美國(guó)西屋電器公司提出“Slotnick,TheSOLOMON

Computer,SimultaneousOperationlinkedOrdinalModular

Network"

■1966年美國(guó)國(guó)防遠(yuǎn)景研究規(guī)劃局ARPR與伊利諾依大學(xué)簽定合

■原計(jì)劃:256個(gè)PE,每個(gè)PE每240ns處理一個(gè)64位的浮點(diǎn)數(shù),

每個(gè)局部存儲(chǔ)器PEM為2KX64位,總的運(yùn)算速度為1GFLOPS

■美國(guó)Burroughs公司和伊利諾依大學(xué)于1972年共同設(shè)計(jì)和生產(chǎn),

1975年實(shí)際投入運(yùn)行。用了4倍的經(jīng)費(fèi),只達(dá)到1/20的速度。

只實(shí)現(xiàn)了8x8=64個(gè)PE,只達(dá)到50MFLOPS

-IlliacIV系統(tǒng)的影響非常大。

■它是并行處理機(jī)的典型代表,也是分布存儲(chǔ)器并行處理機(jī)

的典型代表

■IlliacIV系統(tǒng)由三大部分組成。

■IlliacIV處理機(jī)陣列,陣列控制器,一臺(tái)標(biāo)準(zhǔn)的Burroughs

B6700計(jì)算機(jī)

29

IlliacIV系統(tǒng)組成

-IlliacIV系統(tǒng)由三大部分組成,是由3種類型處理機(jī)聯(lián)合組成

的多機(jī)系統(tǒng)

■IlliacIV處理機(jī)陣歹U(processingelementarray):

■8x8,包括PE、PEM和互連網(wǎng)絡(luò)

■陣列控制器CU(arraycontrolunit):

■它既是處理單元陣列的控制部分,又可以視為一臺(tái)相對(duì)

獨(dú)立的小型標(biāo)量處理機(jī)

■一臺(tái)標(biāo)準(zhǔn)的BurroughsB6700計(jì)算機(jī):

■輸入輸出處理機(jī)和操作系統(tǒng)管理功能

30

圖8.5III

31

APPA

圖8.5IlliacIV系統(tǒng)總框圖網(wǎng)接口

1、IlliacIV陣列

.IlliacIV處理陣歹U由8x8=64個(gè)PU組成。每個(gè)PU由處理部件PE

和它的局部存儲(chǔ)器PEM組成

■每一個(gè)P4只和它的東、西、南、北四個(gè)近鄰直接連接{PUj+i

mod64,PUHmod64,PUi+8mod64,PUj_8mod64}

■南北方向上同一列的PU連成一個(gè)環(huán),東西方向上構(gòu)成一個(gè)

閉合螺線

■采用鹵合螺線最短距離不超過(guò)7步。而普通網(wǎng)格最短距離不

超過(guò)8步

■對(duì)于nxn個(gè)單元組成的陣列,任意兩個(gè)單元之間的最短距

離不超過(guò)n-1步

■例如:從PU。到PU36的距離:采用普通網(wǎng)格必須8步

PU0->PU1TPU2-PU3tPU4TPU12fPU20tPU28TPU36

或PUo->PU8-PUi6fPU24->PU32fPU33-PU34fPU35->PU36

或……(等于8步的很多,大于8步的更多)

■如果采用閉合螺旋線,只需要7步

.PU0->PU63^PU62^PU61^PU60^PU52^PU44->PU36

33

圖8.6IlliacIV處理部件的連接

PU5〉6oPU537/PUo63,

―—>23456—>

PU63VPU1PU7

PUo<—>10111213

oPUSPU9PU15

1617181920212223

2425262728293031

3233343536373839

4041424344454647

4.84.9505152535455

596061

56PU57

PU0PU1PU7

PEM來(lái)CDB(CU來(lái))

東西南北

圖8.7IlliacIV處理

單元原理框圖

35

MT.H

數(shù)組處理的運(yùn)算部分

■處理單元可以對(duì)64位、32位和8位操作數(shù)進(jìn)行多種算術(shù)和邏

輯操作,也包括48位、24位或8位定點(diǎn)運(yùn)算,

■這相當(dāng)于將64個(gè)處理單元的硬件當(dāng)作64個(gè)64位、128個(gè)32位

或512個(gè)8位的處理單元發(fā)揮作用。

■并行加法的速度為每秒10人10次8位定點(diǎn)加法,或每秒

150x10人6次64位浮點(diǎn)加法。

36

■處理單元的原理框圖如圖8.7所示。它有6個(gè)可編程序寄存器

RGA、RGB、RGR、RGS、RGX和RGM,以及加/乘算術(shù)單元

AU、邏輯單元LU、移位單元SU和地址加法器ADA等

■RGA是累加寄存器,存放第一操作數(shù)和操作結(jié)果

■RGB是操作數(shù)寄存器,存放加、減、乘、除等二元操作的第

2操作數(shù)

■RGR是被乘數(shù)寄存器兼互連寄存器,經(jīng)過(guò)東、西、南、北4

個(gè)互連路徑之一完成處理單元之間的數(shù)據(jù)直接交往

■RGS是通用寄存器,可被程序用來(lái)暫存中間結(jié)果

這4個(gè)寄存器者B是64位

■操作數(shù)策自以下4個(gè)方面:PU本身的寄存器;陣列存儲(chǔ)器;

CU的公共數(shù)據(jù)總線;PE的4個(gè)近鄰

■16位的RGX是變址寄存器,它利用地址加法器ADA修改指令

地址,并將形成的有效地址經(jīng)過(guò)存儲(chǔ)器地址寄存器MAR輸往

存儲(chǔ)器邏輯部件MLU

37

■最后是8位的模式寄存器RGM,它的E和El位是“活動(dòng)”標(biāo)志位,

F和F1位保存運(yùn)算結(jié)果出錯(cuò)(上溢、下溢)標(biāo)志,G、H、I、J位

保存測(cè)試結(jié)果。RGM經(jīng)常處于CU的監(jiān)督之下,一旦出錯(cuò),就

發(fā)出CU陷阱中斷。

■模式寄存器的活動(dòng)標(biāo)志位E和E1用來(lái)控制RGA、RGS和陣列

存儲(chǔ)器的工作,E還控制RGX。

■當(dāng)PE以32位字長(zhǎng)運(yùn)算時(shí),E和E1是互相獨(dú)立的?;顒?dòng)標(biāo)志位

的設(shè)立使對(duì)64個(gè)處理單元中的每一個(gè)處理單元都可以進(jìn)行

單獨(dú)控制。只有那些處于活動(dòng)狀態(tài)的處理單元才執(zhí)行單指

令流熱宗的共同操作

■RGM處于程岸員的控射之下,可根據(jù)其它幾個(gè)寄存器的內(nèi)

容置為“活動(dòng)”或“不活動(dòng)“狀態(tài)。

■例如,有一種指令就能在RGR的內(nèi)容大于RGA的內(nèi)容時(shí)置

該處理單元為“不活動(dòng)”狀態(tài)。模式寄存器在陣列處理機(jī)中

是必不可少的,它對(duì)增強(qiáng)陣列處理機(jī)的功能和結(jié)構(gòu)靈活

性發(fā)揮著很大的作用。

38

■處理單元存儲(chǔ)器PEM分屬每一個(gè)處理單元,各有2048X64位

的存儲(chǔ)容量和不大于350ns的取數(shù)時(shí)間

■64個(gè)PEM聯(lián)合組成陣列存儲(chǔ)器,存放數(shù)據(jù)和指令

■整個(gè)陣列存儲(chǔ)器可以接受控制器的訪問(wèn),讀出8個(gè)字的信息塊

到它的緩沖器中,也可經(jīng)過(guò)1024位的總線與I/O開關(guān)相連;但

是每一個(gè)處理單元只能訪問(wèn)自己的存儲(chǔ)器

■分布在各個(gè)處理單元存儲(chǔ)器中的公共數(shù)據(jù),只能在讀至控制

器后,再經(jīng)公共數(shù)據(jù)總線廣播到64個(gè)處理單元中來(lái)

■這不但節(jié)省了存儲(chǔ)空間,而且允許公共數(shù)據(jù)的存取與其它操

作在時(shí)間上重疊

■這樣,陣列存儲(chǔ)器就如同一個(gè)二維訪問(wèn)存儲(chǔ)器

■把64個(gè)PEM看成列,把每一個(gè)PEM本身看成行

■CU對(duì)它是按列訪問(wèn),PE對(duì)它是按行訪問(wèn)

39

■陣列存儲(chǔ)器的另一個(gè)特點(diǎn)是它的雙重變址機(jī)構(gòu):

■控制器實(shí)現(xiàn)所有處理單元的公共變址,

■每一個(gè)處理單元內(nèi)部還可以單獨(dú)變址。

■最終的操作數(shù)有效地址對(duì)PEi來(lái)說(shuō)由下式?jīng)Q定:

■5=a+(b)+(c)

■式中,a是指令地址;

■(b)是CU中央變址寄存器內(nèi)容

■(c)是局部變址寄存器內(nèi)容

■這種安排增加了各處理單元存儲(chǔ)器之間數(shù)據(jù)分配的靈活性,

這對(duì)于分別處理矩陣的行和列以及其它維數(shù)結(jié)構(gòu)是很有效的

■PE和PEM之間經(jīng)過(guò)存儲(chǔ)器邏輯部件MLU相連,它包含存儲(chǔ)器

信息寄存器和有關(guān)控制邏輯線路,實(shí)現(xiàn)PEM分別和PE、CU以

及I/O之間的信息傳送

40

2、陣列控制器

■陣列控制器CU實(shí)際上是一臺(tái)小型控制計(jì)算機(jī)

■對(duì)陣列處理單元實(shí)行控制和完成標(biāo)量操作

■標(biāo)量操作與各PE的數(shù)組操作可以重疊執(zhí)行

■控制器的功能有五個(gè)方面

■(1)對(duì)指令進(jìn)行譯碼,并執(zhí)行標(biāo)量指令

■(2)向各處理單元發(fā)出執(zhí)行數(shù)組操作指令所需的控制信號(hào)

■(3)產(chǎn)生和向所有處理單元廣播公共的地址

■(4)產(chǎn)生和向所有處理單元廣播公共的數(shù)據(jù)

■(5)接收和處理PE、I/O操作及B6700產(chǎn)生的陷阱中斷信號(hào)

41

4條信息通路

■(1)CU總線

■處理單元存儲(chǔ)器PEM經(jīng)過(guò)CU總線把指令和數(shù)據(jù)送往陣列控

制器,以8個(gè)64位字為一信息塊

■指令是指分布存放在陣列存儲(chǔ)器中用戶程序的指令

■數(shù)據(jù)可以是處理所需的公共數(shù)據(jù),先將它們送到CU,再利

用CU的廣播功能送到各處理單元

■(2)公共數(shù)據(jù)總線CDB(CommonDataBus)

?64位總線,用作向64個(gè)處理單元同時(shí)廣播公共數(shù)據(jù)的通路

■例如,作為公共乘數(shù)的常數(shù)就不必在64個(gè)PEM中重復(fù)存放,

可以由CU的某一個(gè)寄存器送往各處理單元

■指令的操作數(shù)和地址部分也要經(jīng)過(guò)CDB送來(lái)

42

4條信息通路

■(3)模式位線(modebitline)

■每一個(gè)單元都可以經(jīng)過(guò)模式位線把它的模式寄存器(mode

register)狀態(tài)送到CU,送來(lái)的信息中也包括該處理單元的“

活動(dòng)”狀態(tài)位

■只有那些處于“活動(dòng)”狀態(tài)的處理單元才執(zhí)行單指令流所規(guī)定

的公共操作

■從64個(gè)處理單元送往CU的模式位在CU的累加寄存器中拼成

一個(gè)模式字

■以在CU內(nèi)部執(zhí)行一定的測(cè)試指令,對(duì)這模式字進(jìn)行測(cè)試

■并根據(jù)測(cè)試結(jié)果控制要求的程序轉(zhuǎn)移動(dòng)作

■(4)指令控制線

■處理單元微操作控制信號(hào)和處理單元存儲(chǔ)器地址、讀/寫控

制信號(hào)都經(jīng)過(guò)約200根指令控制線由CU送到陣列處理單元

PE和存儲(chǔ)器邏輯部件MLU

43

2、輸入輸出系統(tǒng)

■IlliacIV的輸入輸出系統(tǒng)由

■磁盤文件系統(tǒng)DFS、

?I/O分系統(tǒng)

■和一臺(tái)B6700處理機(jī)組成

?I/O分系統(tǒng)又由三個(gè)部分組成

■輸入輸出開關(guān)IOS、

■控制描述字控制器CDC

-和輸入輸出緩沖存儲(chǔ)器BIOM

44

磁盤文件系統(tǒng)DFS

■兩套大容量并行讀寫磁盤系統(tǒng)及其相應(yīng)的控制器

■每套有13臺(tái)磁盤機(jī),總?cè)萘繛?0人9位(=lGb)

■每臺(tái)磁盤機(jī)有128道,每道一個(gè)磁頭,并行讀寫,數(shù)據(jù)寬度為

256位

?最大傳輸率為502x10人6位/秒(二502Mb/s)

■平均等待時(shí)間為19.6ms

■兩個(gè)通道同時(shí)發(fā)送或接收數(shù)據(jù)時(shí),數(shù)據(jù)寬度為512位,最大傳

輸率可達(dá)10人9位/秒(=lGb/s)

45

I/O分系統(tǒng)

■包括三部分

■輸入/輸出開關(guān)IOS

■控制描述字控制器CDC

-輸入/輸出緩沖存儲(chǔ)器BIOM

■IOS的功能有二

■一是作為名副其實(shí)的開關(guān),用以把DFS或可能連上的實(shí)時(shí)裝

置轉(zhuǎn)接到陣列存儲(chǔ)器,進(jìn)行大批數(shù)據(jù)的I/O傳送

■二是作為DFS和PEM之間的緩沖,以平衡兩邊不同的數(shù)據(jù)寬

46

I/O分系統(tǒng)

■CDC的功能是對(duì)陣列控制器的I/O請(qǐng)求進(jìn)行管理

■這時(shí),CDC將使B6700管理計(jì)算機(jī)中斷,由它設(shè)法響應(yīng)I/O

請(qǐng)求,并通過(guò)CDC給CU送回相應(yīng)的響應(yīng)代碼,在CU中設(shè)置

好必要的控制狀態(tài)字。

■然后,CDC促使B6700啟動(dòng)PEM的加載過(guò)程,由DFS向PEM

送入程序和數(shù)據(jù)。

■在PEM加載完畢后,又由CDC向CU傳送控制信號(hào),使它開

始執(zhí)行IlliacIV的程序

■BIOM它處在DFS和B6700之間,是為了取得二者之間傳送頻

帶的匹配

■它把B6700的48位字變換為IlliacIV的64位字,同時(shí)以兩個(gè)

字共128位的數(shù)據(jù)寬度輸送給DFS。

■實(shí)際上,BIOM用4個(gè)PE存儲(chǔ)器做成,總?cè)萘繛?192x64位

>原來(lái)B6700存儲(chǔ)器經(jīng)CPU輸送數(shù)據(jù)的頻帶是80x10人6位/秒,

而DFS輸送數(shù)據(jù)的頻帶是500x10人6位/秒,二者之間相比超

過(guò)6倍之多

■必須設(shè)立BIOM作為B6700和DFS之間的緩沖

B6700

-B6700管理計(jì)算機(jī)的基本組成部分

■單中央處理器(另一CPU可選)

■32K字內(nèi)存(可擴(kuò)充至512K字)

■經(jīng)過(guò)多路開關(guān)控制的一大批外圍設(shè)備

?一臺(tái)容量為10人12位(=lTb)的激光外存儲(chǔ)器

■ARPA網(wǎng)絡(luò)接口

■B6700的作用是管理全部系統(tǒng)資源

■完成用戶程序的編譯或匯編

■為IlliacIV進(jìn)行作業(yè)調(diào)度、存儲(chǔ)分配、產(chǎn)生入/出控制描述

字送至CDC、處理中斷

■提供操作系統(tǒng)所具備的其它服務(wù)等

48

8.3.2BSP計(jì)算機(jī)

■BSP計(jì)算機(jī)由美國(guó)寶來(lái)公司和伊利諾依大學(xué)于1979年制造

■是共享存儲(chǔ)器結(jié)構(gòu)的SIMD計(jì)算機(jī)的典型代表。

■BSP不是一臺(tái)獨(dú)立運(yùn)行的計(jì)算機(jī),是附屬于系統(tǒng)管理機(jī)的一臺(tái)

后端處理機(jī)。

■BSP承擔(dān)算術(shù)運(yùn)算,系統(tǒng)管理機(jī)提供分時(shí)服務(wù)、數(shù)據(jù)和程序文

件編輯、與遠(yuǎn)程作業(yè)站終端、網(wǎng)絡(luò)的數(shù)據(jù)通信、BSP程序的向

量化編譯和連接、數(shù)據(jù)長(zhǎng)期存儲(chǔ)以及數(shù)據(jù)庫(kù)管理等功能

■BSP由控制處理機(jī)、并行處理機(jī)、文件存儲(chǔ)器、并行存儲(chǔ)器模

塊以及對(duì)準(zhǔn)網(wǎng)絡(luò)等組成

49

圖8.9BSP的功能結(jié)構(gòu)與流水線處理

并行處理器

(50MFL0PS)

BSP

弁行世

現(xiàn)幫控制

控制睢林量過(guò)

滬能元理機(jī)

控制存儲(chǔ)卷

(256K字)

并行存儲(chǔ)

器模塊

系統(tǒng)管理機(jī)(5-8兆字工件存儲(chǔ)耦系統(tǒng)

外贏¥B7700/B7800(FM)

與終端

50

圖8.9BSP的功能結(jié)構(gòu)與流水線處理

51

1.并行處理機(jī)

-并行處理機(jī)以160ns的時(shí)鐘周期進(jìn)行向量計(jì)算

■所有16個(gè)算術(shù)單元AE對(duì)不同的數(shù)據(jù)組(從并行處理機(jī)控制器

廣播來(lái))進(jìn)行同一種指令操作

■大部分的算術(shù)運(yùn)算能在2個(gè)時(shí)鐘周期(320ns)內(nèi)完成

■BSP的執(zhí)行速度最高可達(dá)50MFLOPS

■進(jìn)行向量運(yùn)算的數(shù)據(jù)存在17個(gè)并行存儲(chǔ)器模塊中,每個(gè)模

塊的容量可達(dá)512K字,周期時(shí)間為160ns

■數(shù)據(jù)在存儲(chǔ)器模塊和AE間以每秒100M字的速率進(jìn)行傳輸

?17個(gè)存儲(chǔ)器模塊的組織形成一個(gè)無(wú)沖突訪問(wèn)存儲(chǔ)器,它容

許對(duì)任意長(zhǎng)度以及跳距不是17倍數(shù)的向量實(shí)現(xiàn)無(wú)沖突存取

■16個(gè)AE是以SIMD方式在單一微序列控制下同步工作的

■在每個(gè)AE中,只有最原始的操作才采用硬連線方式

■控制字的寬度為100位。除實(shí)現(xiàn)浮點(diǎn)操作以外,AE還有較強(qiáng)

的非數(shù)值處理能力

52

■PE性能提高,數(shù)量降低

■浮點(diǎn)加、減和乘都能在兩個(gè)時(shí)鐘周期內(nèi)完成

■采用兩個(gè)時(shí)鐘周期可使存儲(chǔ)器頻寬與AE進(jìn)行三元操作時(shí)的

頻寬相平衡

■浮點(diǎn)除要用1200ns,是用Newton-Raphson迭代算法產(chǎn)生

倒數(shù)來(lái)實(shí)現(xiàn)的

■每個(gè)AE中設(shè)有只讀存儲(chǔ)器,以給出除法和平方根迭代的第

一次近似值

■浮點(diǎn)字長(zhǎng)為48位,尾數(shù)為36位有效值,階碼為10位,以2為

底。數(shù)的精度可達(dá)到十進(jìn)制11位

■AE在關(guān)鍵部位設(shè)置了雙字長(zhǎng)累加器和雙字長(zhǎng)寄存器,使雙

精度運(yùn)算直接用硬件實(shí)現(xiàn)

■AE還可用軟件方法來(lái)實(shí)現(xiàn)三倍精度的算術(shù)運(yùn)算

■可以估算得出來(lái),在BSP中用Fortran來(lái)表達(dá)的很大范圍的計(jì)

算問(wèn)題中,其速度可達(dá)20到40MFLOPS

53

2.控制處理機(jī)

■控制處理機(jī)除了用以控制并行處理機(jī)以外,它還提供了與系

統(tǒng)管理機(jī)相連的接口

-標(biāo)量處理機(jī)則處理存儲(chǔ)在控制存儲(chǔ)器中的全部操作系統(tǒng)和用

戶程序的指令。它以12MHz的時(shí)鐘頻率執(zhí)行用戶程序的串行

或標(biāo)量部分,最高速度可達(dá)1.5MFL0PS

■全部的向量指令以及某些成組的標(biāo)量指令被送給并行處理機(jī)

控制器。在經(jīng)過(guò)合格性檢查之后,控制器將它們轉(zhuǎn)換為微序

列,去控制16個(gè)AE操作

■雙極型控制存儲(chǔ)器的容量為256K字,周期時(shí)間為160ns,每

個(gè)字長(zhǎng)48位另加8位奇偶校驗(yàn)位,提供單錯(cuò)校正雙錯(cuò)檢測(cè)

(SECDED)的能力

■控制維護(hù)單元是系統(tǒng)管理機(jī)與控制處理機(jī)其余部分之間的接

口,用來(lái)進(jìn)行初始化、監(jiān)控命令通信和維護(hù)

54

3.文件存儲(chǔ)器

■文件存儲(chǔ)器是一個(gè)半導(dǎo)體輔助存儲(chǔ)器

■BSP的計(jì)算任務(wù)文件從系統(tǒng)管理機(jī)加載到它上面。然后對(duì)這

些任務(wù)進(jìn)行排隊(duì),由控制處理機(jī)加以執(zhí)行

■BSP程序執(zhí)行過(guò)程中所產(chǎn)生的暫存文件和輸出文件,在將它

們送給系統(tǒng)管理機(jī)輸出給用戶之前存在文件存儲(chǔ)器中

■文件存儲(chǔ)器的數(shù)據(jù)傳輸率較高,大大地緩解了I/O受限問(wèn)題

■文件存儲(chǔ)器是BSP直接控制下唯一的外圍設(shè)備,而其它的外圍

設(shè)備則都由系統(tǒng)管理機(jī)來(lái)控制

55

4.對(duì)準(zhǔn)網(wǎng)絡(luò)

■對(duì)準(zhǔn)網(wǎng)絡(luò)包含

■完全交叉開關(guān)

-以及用來(lái)實(shí)現(xiàn)數(shù)據(jù)從一個(gè)源廣播至幾個(gè)目的地以及當(dāng)幾個(gè)

源尋找一個(gè)目的地時(shí)能分解沖突的硬件

■需要在算術(shù)單元陣列和存儲(chǔ)器模塊間具備通用的互連特性

■存儲(chǔ)器模塊和對(duì)準(zhǔn)網(wǎng)絡(luò)的組合功能提供了并行存儲(chǔ)器的無(wú)沖

突訪問(wèn)能力

■算術(shù)單元也利用輸出對(duì)準(zhǔn)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)一些諸如數(shù)據(jù)壓縮和擴(kuò)

展操作以及快速傅里葉變換算法等專用功能

56

■在BSP中,存儲(chǔ)器-存儲(chǔ)器型的浮點(diǎn)運(yùn)算是流水進(jìn)行的。

■BSP的流水線組織由5個(gè)功能級(jí)組成

?16個(gè)操作數(shù)先從存儲(chǔ)器模塊中取出,通過(guò)輸入對(duì)準(zhǔn)網(wǎng)絡(luò)送

給AE進(jìn)行處理,再將結(jié)果經(jīng)輸出對(duì)準(zhǔn)網(wǎng)絡(luò)送給存儲(chǔ)器模塊

存儲(chǔ)起來(lái)

■這幾級(jí)的操作都是重疊進(jìn)行的

-在物理上輸入對(duì)準(zhǔn)和輸出對(duì)準(zhǔn)都是在一個(gè)實(shí)際對(duì)準(zhǔn)網(wǎng)絡(luò)中

進(jìn)行的。這里的劃分只是對(duì)流水級(jí)的功能劃分而已

■除了在16個(gè)AE中顯示出的空間并行性以及讀取、對(duì)準(zhǔn)和存

儲(chǔ)的流水線操作外,AE中的向量運(yùn)算還可以同標(biāo)量處理機(jī)

中的標(biāo)量處理重疊起來(lái)

■使得BSP系統(tǒng)既適合于處理長(zhǎng)向量和短向量,也能夠處理單

獨(dú)的標(biāo)量

■因此,BSP系統(tǒng)的功能很強(qiáng)也很靈活

57

5.質(zhì)數(shù)存儲(chǔ)系統(tǒng)

-BSP并行存儲(chǔ)器由17個(gè)周期時(shí)間為160ns的存儲(chǔ)模塊組成

■每個(gè)周期存取16個(gè)字,因此每個(gè)字的最大有效存儲(chǔ)周期時(shí)

間為10ns

■與算術(shù)單元完成浮點(diǎn)加和乘的速率很好地平衡

■每次運(yùn)算需要兩個(gè)變量,算術(shù)單元中設(shè)有中間寄存器其

運(yùn)算速度為320ns/16次=20ns/次

■程序和標(biāo)量都存放在控制存儲(chǔ)器中,只有數(shù)組存取(包括I/O)

才用到并行存儲(chǔ)器

■對(duì)于三元向量來(lái)說(shuō),在兩次算術(shù)運(yùn)算中需要用到3個(gè)變量,

產(chǎn)生一個(gè)結(jié)果,共訪問(wèn)存儲(chǔ)器4次,所以在并行存儲(chǔ)器和浮

點(diǎn)運(yùn)算之間的頻帶保持完全平衡

■對(duì)于長(zhǎng)向量,由于中間結(jié)果都存在寄存器中,每次運(yùn)算只

需要1個(gè)操作數(shù)

■因此并行存儲(chǔ)器有足夠的頻寬留給輸入和輸出信息用

58

-BSP并行存儲(chǔ)器的主要革新是采用了17個(gè)存儲(chǔ)模塊

■在這之前的巨型機(jī)中,普遍都用多個(gè)并行存儲(chǔ)器模塊,但

這樣的存儲(chǔ)系統(tǒng)因訪問(wèn)沖突而使頻帶嚴(yán)重變窄

■若用16個(gè)存儲(chǔ)模塊存儲(chǔ)16X16數(shù)組,各行跨模塊存儲(chǔ),一

列放在一個(gè)模塊中,則列的存取只能順序進(jìn)行

■BSP的一個(gè)獨(dú)特的性能就是它的存儲(chǔ)系統(tǒng)可以無(wú)沖突訪問(wèn),在

每個(gè)存儲(chǔ)周期內(nèi)送給每個(gè)PE一個(gè)有用的操作數(shù)

■存儲(chǔ)器中向量元素的間距不一定為1。因而DO循環(huán)可以有

非單位增量,或者程序可以訪問(wèn)矩陣的行、列和對(duì)角線而

無(wú)需付出額外的代價(jià)

-巨型機(jī)的設(shè)計(jì)者或?qū)κ褂么鎯?chǔ)器作嚴(yán)格的訪問(wèn)限制,或采用

昂貴的快速存儲(chǔ)器件,用很寬的存儲(chǔ)器頻帶來(lái)獲得一定程度

無(wú)沖突訪問(wèn)的功能

59

■在BSP中保證無(wú)沖突訪問(wèn)的硬件技術(shù)包括:

■質(zhì)數(shù)個(gè)存儲(chǔ)器端口

-存儲(chǔ)器端口和AE間的完全交叉開關(guān)

■及特殊的存儲(chǔ)器地址生成機(jī)構(gòu),為具體的地址模式計(jì)算出

合適的地址

■這里的地址模式是指正統(tǒng)的串行計(jì)算機(jī)所用的那一種模

■并行存儲(chǔ)器采用這種模式能與當(dāng)前程序設(shè)計(jì)語(yǔ)言的所有

結(jié)構(gòu)完全兼容。特別是Fortran的EQUIVALENCE、

COMMON以及數(shù)組參數(shù)傳送都可以用常規(guī)計(jì)算機(jī)上一樣

的方法來(lái)實(shí)現(xiàn)

■假如數(shù)組元素的地址相隔是存儲(chǔ)器模塊數(shù)的整數(shù)倍時(shí),則沖

突一定會(huì)發(fā)生

■這種情況下,所有要訪問(wèn)的值都處于同一個(gè)存儲(chǔ)器模塊中

■對(duì)BSP來(lái)說(shuō),即應(yīng)該避免跳距為17、34、51等的情況

■實(shí)際上,51確是有問(wèn)題的跳距。因?yàn)檫@正好是列長(zhǎng)度為

50的數(shù)組的正向?qū)蔷€元素存儲(chǔ)地址的跳距

■如果在BSP中發(fā)生沖突,其運(yùn)算仍可正確進(jìn)行,但速度下降到

正常速度的1/16

■系統(tǒng)記錄沖突以及它們對(duì)總的運(yùn)行時(shí)間影響的情況,以便

在這種影響太大時(shí)使程序員采取一定的改進(jìn)措施

-BSP可對(duì)下列4類操作進(jìn)行并行計(jì)算

■(1)16個(gè)算術(shù)單元實(shí)現(xiàn)并行運(yùn)算

■(2)存儲(chǔ)器的讀取和存儲(chǔ)以及存儲(chǔ)器和算術(shù)單元間的數(shù)據(jù)傳

■(3)在并行處理機(jī)控制器中的變址值、向量長(zhǎng)度和循環(huán)控制

計(jì)算

■(4)線性向量操作描述字在標(biāo)量處理機(jī)中的生成

61

8.3.3CM-2計(jì)算機(jī)

■ConnectionMachine的CM-2是一臺(tái)細(xì)粒度并行的SIMD計(jì)算機(jī)

■它由數(shù)千個(gè)位片PE組成

■它的峰值處理速度超過(guò)lOGflops

■所有程序從前端開始執(zhí)行,當(dāng)需要并行數(shù)據(jù)操作時(shí),發(fā)送微

指令到后端處理陣列

■定序器(sequencer)分解這些微指令并且把它們廣播給陣列

中的所有數(shù)據(jù)處理器(dataprocessor)

■前端機(jī)和處理陣列之間有3條交換數(shù)據(jù)計(jì)算結(jié)果的通路

■廣播總線(broadcasting)

■全局組合總線(globalcombining)

■標(biāo)量存儲(chǔ)器總砥(scagrmemorybus)

■廣播是通過(guò)廣播總線把數(shù)據(jù)或指令同時(shí)傳送到所有數(shù)據(jù)處

理器

■前端機(jī)通過(guò)全局組合總線對(duì)來(lái)自各處理器的數(shù)據(jù)進(jìn)行求和、

最大值、邏輯或等運(yùn)算

■前端機(jī)每次通過(guò)標(biāo)量總線從與數(shù)據(jù)處理器相連的存儲(chǔ)器讀

取32位數(shù)據(jù)、或者每次將32位數(shù)據(jù)寫入與數(shù)據(jù)處理器相連

的存儲(chǔ)器

■VAX和Symbolics機(jī)都可以用作前端機(jī)和主機(jī)62

圖8.11CM-2的系統(tǒng)結(jié)構(gòu)

來(lái)/去前端計(jì)算機(jī)

I/O總線卜??偩€幀緩沖區(qū)輸出

63

1.處理陣列

■CM-2是一臺(tái)數(shù)據(jù)并行計(jì)算的后端機(jī)

■處理陣列包含4K到64K個(gè)位片數(shù)據(jù)處理器(或PE),所有數(shù)據(jù)處

理器都由定序器控制

■定序器對(duì)來(lái)自前端機(jī)的微指令進(jìn)行譯碼,然后把毫微指令

廣播到陣列中各個(gè)處理器

■所有處理器可以同時(shí)訪問(wèn)它們的存儲(chǔ)器,它們以鎖步方式執(zhí)

行廣播來(lái)的指令

■處理器之間通過(guò)尋徑、NEWS網(wǎng)格(NEWSgird)或掃描機(jī)構(gòu)

(scanningmechanism)相互交換數(shù)據(jù)

■這些網(wǎng)絡(luò)也與I/O接口相連

■稱為數(shù)據(jù)穹(datavault)的大容量存儲(chǔ)器子系統(tǒng)與I/O相連

■數(shù)據(jù)穹是基于磁盤的海量存儲(chǔ)系統(tǒng),用來(lái)存放程序文件和

大數(shù)據(jù)庫(kù)。它可存儲(chǔ)多達(dá)60G字節(jié)的數(shù)據(jù)

64

■CM-2每個(gè)處理器結(jié)點(diǎn)包括32個(gè)位片數(shù)據(jù)處理器、一個(gè)可選的

浮點(diǎn)加速器和處理器之間通信的接口

■每個(gè)數(shù)據(jù)處理器用3個(gè)輸入和2個(gè)輸出的位片ALU、有關(guān)鎖存

器和存儲(chǔ)器接口實(shí)現(xiàn)

■ALU可以執(zhí)行位串全加操作和布爾邏輯操作

■每個(gè)結(jié)點(diǎn)有一對(duì)處理器芯片,它們共享一組存儲(chǔ)器芯片

■每個(gè)處理芯片有16個(gè)處理器

■稱為Pairs的并行指令系統(tǒng)包括許多毫微指令

■用于存儲(chǔ)器的裝入和存儲(chǔ)、算術(shù)和邏輯運(yùn)算、尋徑器控制、

NEWS網(wǎng)格控制、超立方體接口控制、浮點(diǎn)運(yùn)算、I/O和診

斷操作

■每個(gè)處理器芯片的存儲(chǔ)器數(shù)據(jù)路徑寬度是22位(16位數(shù)和6位

ECC)

■18位存儲(chǔ)器地址允許32個(gè)處理器共享2人18=256K個(gè)存儲(chǔ)器

字(512K字節(jié)數(shù)據(jù))

■浮點(diǎn)芯片一次執(zhí)行32位的操作。中間計(jì)算結(jié)果可以存入存

儲(chǔ)器供后續(xù)運(yùn)算使用。

■整數(shù)算術(shù)運(yùn)算直接由處理器以位串方式執(zhí)行

65

兩個(gè)處理器芯片、一組存儲(chǔ)器和浮點(diǎn)芯片組成的CM-2處理結(jié)點(diǎn)

全局總線指令總線

去其他11個(gè)芯片去其他11個(gè)芯片

IIIIIIIIII

IIIIIIIIIIIIIIIIIIIIII

□□□□

□□□□

NEWS,NEWS,

尋徑器,尋徑器,□□□□

題:方體接口超立方體接口□□□□

ECC

地址/浮點(diǎn)執(zhí)行

存信器18/浮點(diǎn)和存儲(chǔ)器接口

(單或雙精度)

66

2.尋徑器、NEWS網(wǎng)格和掃描機(jī)構(gòu)

-(1)尋徑器每個(gè)處理器芯片包含一個(gè)用于處理器之間數(shù)據(jù)尋

徑的專門硬件

■所有處理器芯片上的尋徑器結(jié)點(diǎn)用線連在一起形成一個(gè)布

爾n-立方體。

■在CM-2最大配置時(shí),所有處理器芯片上共有4096個(gè)尋徑器

結(jié)點(diǎn),連成一個(gè)12維的超立方體。

■每個(gè)尋徑器結(jié)點(diǎn)與12個(gè)其它尋徑器結(jié)點(diǎn)相連接,其中包括

它的對(duì)?偶結(jié)點(diǎn)內(nèi)

■屬于同一喜謂上的16個(gè)處理器在發(fā)送消息給12-立方體另一

頂點(diǎn)上的任一處理器時(shí)具有相同的能力

■下面說(shuō)明這種消息傳遞的概念

67

-12-立方體的每個(gè)頂點(diǎn)上的處理器編號(hào)為。到15

■4096個(gè)頂點(diǎn)的超立方體的尋徑器編號(hào)為0到4095

■第7號(hào)尋徑器結(jié)點(diǎn)上的第5號(hào)處理器在整個(gè)系統(tǒng)中的編號(hào)為

16x7+5=117要發(fā)送一個(gè)消息給處理器361。處理器361位于

第22號(hào)結(jié)點(diǎn)的第9號(hào)處理器(16x22+9=361)

■尋徑器結(jié)點(diǎn)7=(000000000111)2

■尋徑器結(jié)點(diǎn)22=(000000010110)2

■這兩個(gè)二進(jìn)制編號(hào)在維0和維4不同

■這一消息一定通過(guò)維。和維4到達(dá)它的目的結(jié)點(diǎn)

■如果不存在爭(zhēng)用超立方體連線現(xiàn)象,那么消息從尋徑器結(jié)點(diǎn)7

開始

■首先沿維0方向傳到尋徑器結(jié)點(diǎn)6=(00000000110)2

■然后再沿維4方向傳到尋徑器結(jié)點(diǎn)22

■如果尋徑器點(diǎn)7號(hào)的另一消息正在使用維0方向的連線,那么

為了避免發(fā)生通道沖突

■消息傳送的路徑可以改變?yōu)橄妊鼐S4方向傳到尋徑器結(jié)點(diǎn)

23=(000000010111)2,

■然后再沿維。方向到達(dá)最終的目的結(jié)點(diǎn)68

(2)NEWS網(wǎng)格

■每個(gè)處理器芯片中的16個(gè)物理處理器可以排列成8x2,1x16,

4x4,4x2x2或2x2x2x2等形式的網(wǎng)格

■規(guī)定每個(gè)物理處理器有64個(gè)虛擬處理器??梢韵胂筮@64個(gè)虛

擬處理器在芯片中排列成8x8網(wǎng)格

■NEWS網(wǎng)格是建立在各種不同配置網(wǎng)格的每個(gè)處理器都有東、

南、西、北4個(gè)鄰居這一事實(shí)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論