發布日期:2022-04-20 點擊率:63
硬件技術在硬件技術方面主要從處理機、存儲器和流水線三個方面來實現并行。1.處理機:主要的處理機系列包括CISC、RISC、超標量、VL1W、超流水線、向量以及符號處理機。傳統的處理機屬于復雜指令系統計算(CISC)結構。指令系統大,指令格式可變,通用寄存器個數較少,基本上使用合一的指令與數據高速緩存,時鐘頻率較低,CPI較高,大多數利用ROM 實現微碼控制CPU,而當今的精簡指令系統計算(RISC)處理機指令格式簡單規范,面向寄存器堆,采用重疊寄存器窗口技術,具有多級Cache,多種流水線結構,強調編譯優化技術,時鐘頻率快,CPI低,大多數用硬連線控制CPU。
CISC或RISC標量處理機都可以采用超標量或向量結構來改善性能。標量處理機在每個周期內只發射一條指令并要求周期只完成從流水線來的一條指令。而在超標量處理機中,使用了多指令流水線,每個周期要發射多條指令并產生多個結果。由于希望程序中有許多的指令級并行性,因此超標量處理機更要依靠優化編譯器去開發并行性。VL1W 結構是將水平微碼和超標量處理這兩種普遍采用的概念結合起來產生的。典型的超長指令字VL1W 機器指令字長度有數百位。在VLlW 處理機中,多個功能部件是并發工作的,所有的功能部件共享使用公用大型寄存器堆,由功能部件同時執行的各種操作是用VL1W 指令來同步的,每條指令可指定多個操作。VL1W 指令譯碼比超標量指令容易,但在開發不同數量的并行性時總是需要不同的指令系統。VL1W 主要是開發標量操作之間的并行性,它的成功與否很大程度取決于代碼壓縮的效率,其結構和任何傳統的通用處理機完全不兼容。即使同一結構的不同實現也不大可能做到彼此二進制兼容。VL1W 的主要優點在于它的硬件結構和指令系統簡單,在科學應用領域可以發揮良好作用,但在一般應用場合可能并不很好用。向量處理機對數組執行向量指令,每條指令都包含一串重復的操作。它是專門設計用來完成向量運算的協處理機,通常用于多流水線超級計算機中。向量處理機可以利用循環級展開所得的并行性,它可以附屬于任何標量處理機。專用的向量流水線可以在循環控制中消除某些軟件開銷,它的效果與優化編譯器將順序代碼向量化的性能很有關系。從理論上說,向量機可以具有和超標量處理機同樣的性能,因此可以說向量機的并行性與超標量機相同。符號處理機是為AI應用而研制的,已用于定理證明、模式識別、專家系統、知識工程、文本檢索、科學以及機器智能等許多應用領域。在這些應用中,數據和知識表達式、原語操作、算法特性、存儲器、I/0和通信以及專用的結構特性與數值計算是不一樣的,符號處理機也稱為邏輯程序設計語言處理機、表處理語言處理機或符號變換器。
符號處理并不和數值數據打交道,它處理的是邏輯程序、符號表、對象、劇本、黑板、產生式系統、語義網絡、框架以及人工神經網絡等問題。這些操作需要專門的指令系統,通常不使用浮點操作。2.存儲器:存儲設備按容量和存取時間從低到高可分為寄存器、高速緩存、主存儲器、磁盤設備和磁帶機五個層次。較低層存儲設備與較高層的相比,存取速度較快、容量較小,每字節成本較高、帶寬較寬、傳輸單位較小。存放在存儲器層次結構中的信息滿足三個重要特性:包含性、一致性和局部性。所謂包含性,指的是一個信息字的復制品可以在比它高的所有層中找到,而如果在高層中丟失了一個信息,則在比它低的所有層中此信息也將丟失。CPU 和高速緩存之間的信息傳送是按字進行的,高速緩存和主存儲器間用塊作為數據傳送的基本單位,主存和磁盤之間又是以頁面為基本單位來傳送信息的,而在磁盤和磁帶機之間的數據傳送則是按文件級處理的。所謂一致性要求的是同一個信息項與后繼存儲器層次上的副本是一致的。也就是說,如果在高速緩存中的一個字被修改過,那么在所有更高層上該字的副本也必須立即或最后加以修改。為了盡量減少存儲器層次結構的有效存取時間,通常把頻繁使用的信息放在較低層次。
維護存儲器層次結構一致性一般有兩種策略,一種是寫直達策略,也就是如果,則立即在所有高層存儲器中進行同樣的修改;另一種是寫回策略,也就是在較低層中對信息進行修改后并不立即在高層存儲器中進行相應的修改,而是等到該信息將被替換或將從低層中消失時才在所有高層存儲器中進行同樣的修改。甚至可以將寫直達和寫回策略的優點結合起來,形成寫一次協議來維護存儲器的一致性。存儲器的層次結構是在一種程序行為——訪問的局部性基礎上開發出來的。主要有時間局部性、空間局部性和順序局部性。時間局部性指的是最近的訪問項很可能在不久的將來再次被訪問。
它往往會引起對最近使用區域的集中訪問。空間局部性表示一種趨勢,指的是一個進程訪問的各項其地址彼此很近。順序局部性指的是在典型程序中,除非是轉移指令,一般指令都是順序執行的。在多處理機系統中一般使用共享存儲器。對共享存儲器的組織一般采用低位交叉、高位交叉、高低位交叉三種方法。低位交叉又稱并發存取,它是把相鄰的地址放在相鄰的存儲器模塊中,在訪問時不容易產生沖突,并行性較好,但可靠性容錯能力和擴展性均較差。高位交叉又稱允許同時存取,它是把相鄰地址分配到同一個存儲器模塊中,可靠性、容錯能力和擴展性均較強,但訪問時易產生沖突,帶寬較窄,并行性較差。高低位交叉存取又稱C—s存取,它是結合了高位交叉和低位交叉兩種方法的優點,既解決了沖突問題,又能有效地提高容錯能力和并行性,最適合于向量處理機結構。
3.流水線:流水線技術主要有指令流水線技術和運算流水線技術兩種。指令流水線技術主要目的是要提高計算機的運行效率和吞吐率。它主要通過設置預取指令緩沖區、設置多功能部件、進行內部數據定向、采取適當的指令調度策略來實現。指令調度的策略主要有靜態和動態兩種,靜態詞度是基于軟件的,主要由編譯器完成,動態詞度是基于硬件的,主要是通過硬件技術進行。運算流水線主要有單功能流水線和多功能流水線兩種。其中多功能流水線又可分為靜態流水線和動態流水線。靜態流水線技術只用來實現確定的功能,而動態流水線可以在不同時間重新組合,實現不同的功能,它除流線連接外,還允許前饋和反饋連接,因此也稱為非線性流水線。這些前饋和反饋連接使得進入流水線的相繼事件的詞度變得很不簡單。由于這些連接,流水線不一定從最后一段輸出。根據不同的數據流動模式,人們可以用同一條流水線求得不同功能的值
下一篇: PLC、DCS、FCS三大控
上一篇: 并行處理機的發展