自考《計算機系統(tǒng)結構》第6章精講

  • 發(fā)布時間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導讀:
  第六章 向量流水處理
  本章的內(nèi)容不多,我們已經(jīng)學過標量流水處理,則對流水處理有了一定的了解,向量流水就是在標量流水機基礎上發(fā)展起來的。在弄清向量和標量的區(qū)別之后,理解向量流水與標量流水的處理的區(qū)別就不難了。
  一、向量流水機的基本系統(tǒng)結構
  1.向量流水的主要特點:(識記)
  我們知道,一個

第六章 向量流水處理

本章的內(nèi)容不多,我們已經(jīng)學過標量流水處理,則對流水處理有了一定的了解,向量流水就是在標量流水機基礎上發(fā)展起來的。在弄清向量和標量的區(qū)別之后,理解向量流水與標量流水的處理的區(qū)別就不難了。

一、向量流水機的基本系統(tǒng)結構

1.向量流水的主要特點:(識記)

我們知道,一個向量中各個元素是互不相關的,對當前每個向量的操作結果不影響到其他向量元素。比如有一個數(shù)組,我們要使數(shù)組中的每一個元素Ai都乘以一個數(shù)b,那么給A1進行相乘的結果不影響A2的結果,各自獨立,這就允許向量流水流水線有較深的深度。

一條向量指令相當于一個標量循環(huán),所以可以減少指令,從而可以降低對指令訪問帶寬的要求。并且消除了由循環(huán)引起的控制相關。

若向量指令所要訪問的向量元素均相鄰,則可以在交叉存儲體中高速地依次訪問它們。這使得訪存時間縮短。

向量操作要比一串標量指令操作更快。

2.向量機的系統(tǒng)結構按向量操作對象及結果主要存放在寄存器中還是存放在存儲器中,可分為存儲器-存儲器工作方式向量機和寄存器-寄存器工作方式向量機兩大類?,F(xiàn)在的向量機大多采用寄存器-寄存器工作方式,如中國的YH向量機等。

向量機的基本系統(tǒng)結構圖,要理解。它主要由一個標量流水部件和一個向量流水部件組成,包含了向量功能部件、向量存取部件、向量寄存器或向量緩沖部件、村量寄存器、村量處理部件及向量控制器等部件。也就是說,向量機"兼容"標量處理功能。

3.向量啟動時間和啟動率(簡單應用)

前一章我們學的流水是指多條指令進行流水操作。而向量中一條向量指令就相當于一個標量循環(huán)?;镜南蛄苛魉僮骶褪窃趯σ粭l指令進行流水操作,也就是用流水的方法對向量元素進行操作。當一條向量指令開始執(zhí)行時,就開啟了一條向量流水線,從開始啟動到流水運行結束的時間就是向量指令的執(zhí)行時間。

Tvp=Tat+n×Ir 其中的Tat是流水線的啟動時間,Ir為啟動率。

二、向量操作長度控制和向量訪問步長(識記)

向量操作有兩種工作方式,一是存儲器-存儲器工作方式,另一種是寄存器-寄存器工作方式。而后一種機型的向量機中,因為寄存器的長度有一定限制。比如這個向量寄存器可以存放64個元素,但在計算時,一個向量的長度往往不會恰好是64個元素。所以在執(zhí)行過程中,如果向量的長度大于寄存器的長度時,要把待計算的向量分成幾段來計算,每次調(diào)入一段,放到寄存器中進行流水操作,完了以后再取一段。這就是分段技術。

另外,當向量機支持向量的跨步訪問,也就是可以將存儲器中間隔存放的元素取出來放到寄存器中進行流水操作,則這種向量機為支持完全的一維數(shù)據(jù)顯式訪問。因為它可以將不在相鄰位置上的元素連續(xù)地存放到寄存器中,從而可以以行、列、甚至對角線訪問向量元素。而存儲器-存儲器工作方式只能連續(xù)訪問相鄰的向量元素。

通常向量機大都采用低地址位的多體交叉存儲器。對于多體交叉存儲器的理解將在后面的章節(jié)中給出。這里簡單地說,低地址位多體交就是可使相鄰地址的元素可以在相鄰的存儲器體中讀取。

三、向量存儲方法(領會)

向量機對向量的各種運算可以采用不同的加式方式,一種是橫向加工,一種是縱向(垂直)加工,還有就是縱橫向加工(分組加工),這是分段技術在向量加工方式上的實現(xiàn)。如CRAY-1以及小巨型機基本都采用分組加工的方式。

四、增強向量處理性能的方法

這一節(jié)是比較重要的,主要講了四種增強向量處理性能的方法。其中兩種方法已在所有向量機中采用:一是采用多功能部件,并行工作;二是加快一串相關向量指令的操作速度,即鏈接技術。應該掌握。

1、多功能部件的并行操作

在向量機中,為了加快向量操作,采用多個獨立的功能部件,并使它們并行工作。這些部件都是獨立的,只要符合一定條件,它們就可以并行工作:(1)不存在向量寄存器使用沖突;(2)不存在功能部件使用沖突。

向量寄存器使用沖突就是指多條并行工作的向量指令中的源向量或結果向量使用相同的向量寄存器。

功能部件沖突是指多條向量指令都要使用同一個功能部件,如兩條向量指令都是加法運算時,浮點加的功能部件就無法同時滿足,而發(fā)生沖突。

2、鏈接技術

利用向量指令間存在的先寫后讀的數(shù)據(jù)相關性來加快向量指令序列執(zhí)行速度的技術稱為鏈接技術。它就是標量流水中的定向傳送方法在向量寄存器中的應用。

使用這個技術的條件就是兩條指令間存在先寫后讀的數(shù)據(jù)相關性。也就是前一條指令的結果正好為后一條指令的數(shù)據(jù)源。這時,可以在上一條指令將結果傳送到結果寄存器的同時就直接傳給下一指令的功能部件作為操作數(shù)進行操作,這就節(jié)省了等待時間。要實現(xiàn)鏈接除了上面的條件外,還有時間上的要求,就是當前一指令的第一個結果分量送入結果寄存器的那一個時鐘周期方可鏈接,若錯過這一拍,就無法鏈接。還有,如果一條向量指令的源操作數(shù)是前面兩條并行操作指令的結果數(shù)時,只有這兩條指令產(chǎn)生結果的時間必須相等才可進行鏈接。也就是說,鏈接操作得絲絲入扣,一拍不差,早也不行,晚也不行,多也不行,少也不行。

我們應該能夠判斷一串指令是否可以并行或鏈接,并能計算其執(zhí)行時間。

3. 條件執(zhí)行語句和稀疏矩陣的加速處理方法(識記)

前者采用一個屏蔽向量來控制某些向量元素參加運算。后者則通過指標向量來指明非零元素并通過指標向量的散射-聚合操作來支持稀疏矩陣的運算。

4.向量歸約操作的加速方法,這種方法就是將標量循環(huán)的一部件加以向量化,并采用遞歸折疊的方法來加快向量歸約操作。

五、向量處理性能的評估參數(shù)和方法(簡單應用)

在向量機中,執(zhí)行一個向量長度為n的指令所需的時間為:

Tvp=(s+l+n-1)Tc 其中s為建立流水線所需時間周期數(shù),l為完成每對向量元素操作所需的子操作數(shù),即流水功能部件中的級數(shù)。

每對向量元素的平均執(zhí)行時間為:~tvp=Tvp/n

在評估向量流水機性能時,除了執(zhí)行時間外,向量長度是一個很重要的評估參數(shù)。常用的評價參數(shù)有三個:

R∞ :向量長度為無窮大時向量流水的漸近性能,常在評價峰值性能時使用,單位用MFLOPS.

n1/2:為達到一半R∞值時的需的向量長度。

nv:它表示向量流水方式工作速度優(yōu)于標量串行方式工作時所需的向量長度臨界值。

六、向量化編譯技術(識記)

采用向量化編譯程序將程序中存在的可并行的循環(huán)體語句用相應向量指令來表示。向量化編譯器也有優(yōu)化問題,通常采用:通用優(yōu)化技術、向量寄存器優(yōu)化技術、流水線并行化技術以及標量循環(huán)語句向量化技術。

相關閱讀