一、要求掌握的知識要點
(1) 計算機系統分類。
·指令流:機器執行的指令系列。
·數據流:由指令流調用的數據序列。
·Flynn分類法:單指令流單數據流,指令流多數據流,單指令流多數據流,多指令流單數據流。
·馮式分類法:用最大并行度來對計算機體系結構進行分類。
(2) 計算機系統結構與計算機組成的區別,計算機并行的發展。
計算機組成指計算機系統的邏輯結構,包括機器內部數據流和控制流的組成以及邏輯設計等;計算機實現是指計算機組成的物理實現。
(3) 存儲器系統的層次結構。存儲器系統由分布在計算機各個不同部件中的多種存儲設備組成。主存儲器由一片或多片存儲芯片配以控制電路組成。輔助存儲器包括磁表面存儲器、光存儲器。高速緩沖存儲器(Cache存儲器)用于提高CPU數據輸入/輸出速度,突破CPU與存儲器間的數據傳輸帶寬限制。在存儲系統體系中,Cache是訪問速度最快的層次。
二、知識點概述
(一)計算機體系結構的發展
1.計算機系統結構概述
計算機系統結構又稱為計算機體系結構,就是計算機的屬性及功能特征,即計算機的外特性。盡管不同的使用者所了解的計算機的屬性有所不同,就通用計算機系統來說,計算機系統結構的屬性應包括如下一些方面:
·硬件所能處理的數據類型。
·所能支持的尋址方式。
·CPU的內部寄存器。
·CPU的指令系統。
·主存的組織與主存的管理。
·中斷系統的功能。
·輸入/輸出設備及連接接口。
·計算機體系結構分類。
1) Flynn分類法
1966年Flynn提出了如下定義。
指令流(Instruction Stream):機器執行的指令序列。
數據流(Data Stream):由指令流調用的數據序列,包括輸入數據和中間結果。
多倍性(Multiplicity):在系統最受限制的元件上同時處于同一執行階段的指令或數據的最大可能個數。
按指令流和數據流的不同組織方式,把計算機體系結構分為如下四類:單指令流單數據流(SISD),單指令流多數據流(SIMD),多指令流單數據流(MISD),多指令流多數據流(MIMD)。
2) 馮式分類法
1972年馮澤云提出用最大并行度來對計算機體系結構進行分類。所謂最大并行度Pm是指計算機系統在單位時間內能夠處理的最大的二進制位數。設每一個時鐘周期△ti內能處理的二進制位數為Pi,則T個時鐘周期內平均并行度為Pa= (∑Pi)/T(其中i為1,2,…,T)。平均并行度取決于系統的運行程度,與應用程序無關,所以,系統在周期T內的平均利用率為μ = Pa/Pm = (∑Pi)/(T * Pm)。
圖1-4所示為用最大并行度對計算機體系結構進行的分類。用平面直角坐標系中的一點表示一個計算機系統,橫坐標表示字寬(N位),即在一個字中同時處理的二進制位數;縱坐標表示位片寬度(M位),即在一個位片中能同時處理的字數,則最大并行度Pm = N * M。由此得出四種不同的計算機結構:
① 字串行、位串行(簡稱WSBS)。其中N=1,M=1。
② 字并行、位串行(簡稱WPBS)。其中N=1,M>1。
③ 字串行、位并行(簡稱WSBP)。其中N>1,M=1。
④ 字并行、位并行(簡稱WPBP)。其中N>1,M>1。
圖1-4 馮式分類法
2.計算機系統結構與計算機組成的區別
計算機系統結構所解決的問題是計算機系統總體上、功能上需要解決的問題,而計算機組成要解決的是邏輯上如何具體實現的問題。
比如說,指令系統的確定屬于計算機系統結構,而指令的具體實現則屬于計算機組成。指令系統中要不要設置乘、除法指令是計算機系統結構要解決的問題,而一旦決定設置,具體用什么方法來實現乘、除法指令就屬于計算機組成應解決的問題。
主存容量及編址方式的確定屬于計算機系統結構,而具體構成主存則屬于計算機組成。
可以想像。對于具有同樣系統結構的計算機,但具體按此系統結構構成的計算機在實現方法、性能及價格上會有很大差別。
3.系統結構中并行性的發展
1) 并行性
并行性包括兩個方面:同時性和并發性。同時性是指兩個或兩個以上的事件在同一時刻發生,并發性是指兩個或兩個以上的事件在同一時間間隔內連續發生。
充分利用并行性實現計算機的并行處理,可以提高計算機的處理速度。
2) 并行處理
從計算機信息處理的步驟和階段的角度,并行處理可分為:
·存儲器操作并行。
·處理器操作步驟并行(流水線處理機)。
·處理器操作并行(陣列處理機)。
·指令、任務、作業并行(多處理機、分布處理系統、計算機網絡)。
3) 并行性的發展
從20世紀80年代開始,計算機系統結構有了很大發展,相繼出現了精減指令集計算機(RISC)、指令級上并行的超標量處理機、超級流水線處理機、超長指令計算機、多微處理機系統、數據流計算機等。20世紀90年代以來,最主要的發展是大規模并行處理(MPP),其中多處理機系統和多計算機系統是研究開發的熱點。
(二) 存儲系統
1.存儲器的層次結構
存儲體系結構包括不同層次上的存儲器,通過適當的硬件、軟件有機地組合在一起形成計算機的存儲體系結構。現在大多數人都將高性能計算機的存儲體系結構描述成如圖1-5所示的三層存儲器層次結構。
圖1-5 存儲器層次結構示意圖
三級存儲結構是高速緩存(Cache)、主存儲器(MM)和輔助存儲器(外存儲器)。也有人將存儲器層次分為四層,是將CPU內部的寄存器也看作是存儲器的一個層次。
有一些簡單的計算機沒有高速緩存(Cache),則這樣的計算機的存儲體系就剩下主存和輔存兩個層次。
2.存儲器的分類
(1) 按存儲器所處的位置,可分為內存和外存。
內存也稱為主存,設在主機內或主機板上,用來存放機器當前運行所需要的程序和數據,以便向CPU提供信息。相對于外存,其特點是容量小,速度快。
外存也稱為輔存,如磁盤、磁帶、光盤等,用來存放當前不參加運行的大量信息,在需要時,可把需要的信息調入內存。相對于內存,外存的容量大,速度慢。
(2) 按構成存儲器的材料,可分為磁存儲器、半導體存儲器和光存儲器。
(3) 按工作方式,可分為讀寫存儲器和只讀存儲器。
(4) 按訪問方式,可分為按地址訪問的存儲器和按內容訪問的存儲器。
(5) 按尋址方式,可分為隨機存儲器、順序存儲器和直接存儲器。
3.相聯存儲器
相聯存儲器是一種按內容訪問的存儲器。其工作原理就是把數據或數據的某一部分作為關鍵字,將該關鍵字與存儲器中的每一單元進行比較,找出存儲器中所有與關鍵字相同的數據字。相聯存儲器的結構如圖1-6所示,各部件的功能如表1-2所示。
圖1-6 相聯存儲器的結構框圖
表l-2 相聯存儲器部件功能
相聯存儲器可用在高速緩沖存儲器中;在虛擬存儲器中用來作段表、頁表或快表存儲器;用在數據庫和知識庫中。
4.高速緩存(Cache)
高速緩存(Cache)用來存放當前最活躍的程序和數據。作為主存局部域的副本,其特點是:容量一般在幾KB到幾MB之間;速度一般比主存快5到10倍,由快速半導體存儲器構成;其內容是主存局部域的副本,對程序員來說是透明的。
1) 高速緩存的組成
高速緩存的組成如圖1-7所示。由圖1-7可以看到,cache由兩個部分組成:控制部分和Cache存儲器部分。
Cache存儲器部分用來存放主存的部分拷貝(副本)信息。控制部分的功能是:判斷CPU要訪問的信息是否在Cache存儲器中,若在即為命中,若不在則沒有命中。命中時直接對Cache存儲器尋址;未命中時,要按照替換原則,決定主存的一塊信息放到Cache存儲器的哪一塊里面。
2) 高速緩存中的地址映像方法
圖1-7高速緩存的構成框圖
在CPU工作時,送出的是主存的地址,而應從Cache存儲器中讀寫信息。這就需要將主存地址轉換成Cache存儲器的地址,這種地址的轉換叫做地址映像。Cache的地址映像有三種方法。
(1) 直接映像。是指主存的塊與Cache中塊的對應關系是固定的。在這種映像方式下,由于主存中的塊只能存放在Cache存儲器的相同塊號中,因此,只要主存地址中的主存區號與Cache中的主存區號相同,則表明訪問Cache命中。一旦命中,以主存地址中的區內塊號立即可得到要訪問的Cache存儲器中的塊。
直接映像的優點是地址變換很簡單,只要主存地址中的主存區號找到了,則主存地址中后面的區內塊號和塊內地址立刻就找到了該塊及塊內的存儲單元。其缺點是靈活性差。例如,不同區號中塊號相同的塊無法同時調入Cache存儲器,即使Cache存儲器中有空著的塊也只能空著。
(2) 全相聯映像。同樣,主存與Cache存儲器均分成容量相同的塊。這種映像方式允許主存的任一塊可以調入Cache存儲器的任何一個塊的空間中。在地址變換時,利用主存地址高位表示的主存塊號與Cache中的主存塊號進行比較,若相同即為命中。這時根據塊號所對應的塊就知道要訪問的是哪一塊。Cache存儲器的塊找到后,塊內地址就是主存的低位地址。這便可以讀寫Cache塊中的內容。在變換時當找到主存塊號命中時,還必須知道主存的這一塊存到了Cache的哪一塊里面。
全相聯映像的主要優點是主存的塊調入Cache的位置不受限制,十分靈活。其主要缺點是無法從主存塊號中直接獲得Cache的塊號,變換比較復雜,速度比較慢。
(3) 組相聯映像。這種方式是前面兩種方式的折衷。具體做法是將Cache中的塊再分成組。例如,假定Cache有16塊,再將每兩塊分為1組,則Cache就分為8組。主存同樣分區,每區16塊,再將每兩塊分為1組,則每區就分為8組。
組相聯映像就是規定組采用直接映像方式而塊采用全相聯映像方式。也就是說,主存任何區的0組只能存到Cache的0組中,1組只能存1組,依次類推。組內的塊則采用全相聯映像方式,即一組內的塊可以任意存放。也就是說,主存一組中的任一塊可以存入Cache相應組中的任一塊中。
在這種方式下,通過直接映像方式來決定組號,在一組內再用全相聯映像方式來決定Cache中的塊號。由主存地址高位決定主存區號與Cache中區號比較可決定是否命中。主存后面的地址即為組號,但組塊號要根據全相聯映像方式由記錄決定。
3) 替換算法
替換算法的目標就是使Cache獲得最高的命中率。常用算法如下。
(1) 隨機替換算法。就是用隨機數發生器產生一個要替換的塊號,將該塊替換出去。
(2) 先進先出算法。就是將最先進入Cache的信息塊替換出去。此法簡單但并不能說最先進入的就不經常使用。
(3) 近期最少使用算法。這種方法是將近期最少使用的Cache中的信息塊替換出去。該算法較先進先出算法要好一些。但此法也不能保證過去不常用將來也不常用。
(4) 優化替換算法。使用這種方法時必須先執行一次程序,統計Cache的替換情況。有了這樣的先驗信息,在第二次執行該程序時便可以用最有效的方式來替換,以達到最優的目的。
4) 高速緩存的性能分析
若H為Cache的命中率,tc為Cache的存取時間,tm為主存的訪問時間,則Cache存儲器的等效訪問時間ta為:
ta = Htc + (1-H)tm
使用Cache存儲器比不使用Cache存儲器時CPU訪問存儲器的速度提高的倍數r可用下式求得:
5.虛擬存儲器
虛擬存儲器是由主存、輔存、存儲管理單元及操作系統中存儲管理軟件組成的存儲系統。在程序員使用該存儲系統時,可以使用的內存空間遠遠大于主存的物理空間。但實際上并不存在那么大的主存,故稱其為虛擬存儲器。虛擬存儲器分為頁式虛擬存儲器、段式虛擬存儲器和段頁式虛擬存儲器。
從以上的描述可以看到,虛擬存儲器將大容量的外存也納入存儲器的管理范圍。但在具體執行程序時需判斷程序是否在內存中,若不在(可認為未命中),則需從輔存中調入。這種思路與前面描述的Cache中的替換一樣。因此,虛擬存儲器中的替換算法與前面所述的一樣,此處不再說明。
6.外存儲器
外存儲器用來存放暫時不用的程序和數據,并且以文件的形式存儲。CPU不能直接訪問外存中的程序和數據,只有將其以文件為單位調入主存方可訪問。外存儲器由磁表面存儲器(如磁盤、磁帶)及光盤存儲器構成。
7.磁盤陣列技術
磁盤陣列是由多臺磁盤存儲器組成的一個快速、大容量、高可靠的外存子系統。現在常見的稱為廉價冗余磁盤陣列(RAID)。目前,RAID分為6級(如表1-3所示)。
表1-3 廉價冗余磁盤陣列
除此之外,目前還有RAID6、RAID7、RAIDl0等,它們均是對前者的改進,此處不再說明。
(三) CISC/RISC
1.指令系統的發展
CISC的含義是復雜指令集計算機。眾所周知,早期的計算機指令系統比較簡單,通常只有十幾到幾十條指令。隨著計算機的發展,指令系統也隨之發展,不僅指令條數增加,而且指令的功能也有了許多增加。其目的是利用增加指令功能和復雜程度縮小匯編語言與高級語言的差距。另外,為了使新老型號的系列CPU的指令系統向上兼容,就需要在新的CPU中既要保持老的指令系統,又要增加新的指令。例如,80X86系列CPU每更新一次,必然增加一些指令。
由于上述原因使得CPU的指令系統越來越龐大,越來越復雜。這就是復雜指令集計算機(CISC)。由于指令系統的復雜性,使CPU硬件也變得十分復雜,同時也限制了CPU的運行速度,因此,復雜指令集計算機(CISC)在性能上的提高遇到了很大的困難。
2.精簡指令集計算機(RISC)
人們對典型的CISC執行程序中指令使用頻度進行統計發現,指令系統中只有大約20%的指令被經常使用,其使用頻度達80%,而且這些指令都是一些加、傳送、轉移等最簡單的指令。也就是說,大多數的復雜指令只有20%的使用概率。
若只保留20%最簡單的指令,使指令盡可能簡單,就可以設計一種硬件結構十分簡單、執行速度很高的CPU。這就是精簡指令集計算機(RISC)。
3.RISC的特點
RISC簡化了CPU的控制器,同時提高了處理速度,其特點如下:
(1) 指令種類少。一般只有十幾到幾十條簡單的指令。
(2) 指令長度固定,指令格式少。這可使指令譯碼更加簡單。
(3) 尋址方式少。適合于組合邏輯控制器,便于提高速度。
(4) 設置最少的訪內指令。訪問內存比較花時間,盡量少用。
(5) 在CPU內部設置大量的寄存器,使大多數操作在速度很快的CPU內部進行。
(6) 非常適合流水線操作。由于指令簡單,并行執行就更易實現。
(四) 輸入/輸出技術
1.微型計算機中最常用的內存與接口的編址方式
盡管在微型計算機中存在著許多種內存與接口地址的編址方法,但最常見到的是下面描述的兩種。理解了這兩種編址方法,再遇到其他的編址方法也就不難理解了。
1) 內存與接口地址獨立的編址方法
這種編址方法也有人稱為內存與接口地址隔離的編址方法。在這種編址方法中,微型機內的內存地址和接口地址是完全獨立的兩個地址空間,它們是完全獨立的并且是相互隔離的。
在使用中,這種編址方式地址很清楚,內存就用于存放程序和數據而接口就用于尋址外設。所使用的指令也完全不同,用于接口的指令只用于接口讀寫,其余的指令全都是用于內存的。因此,在編程序或讀程序中很易使用和辨認。
這種編址方法的缺點就是用于接口的指令太少、功能太弱。
2) 內存與接口地址統一的編址方法
這種編址方法也有人稱為內存與接口地址混合的編址方法。在這種編址方法中,內存地址和接口地址統一在一個公共的地址空間里。也就是說內存和接口共用這些地址。在這些地址空間里拿出某一些地址分配給接口使用而剩下的就可以歸內存所用。也就是說,地址空間里的每一個地址都可以分配給接口也可以分配給內存使用。但是,分配給內存只能用于內存,接口絕不允許使用。同樣,分配給接口的地址內存也絕不能再用。
這種編址方法的優點是原則上用于內存的指令全都可以用于接口。這就大大增強了對接口的操作功能。而且在指令上也不再區分內存或接口指令,也就是說兩者用的指令全都是一樣的。
該編址方法的缺點就在于整個地址空間被分成兩部分,其中一部分分配給接口使用,剩余的為內存所用,這經常會導致內存地址不連續。再就是用于內存的指令和用于接口的指令是完全一樣的,讀程序時需要根據參數定義表仔細加以辨認。
2.直接程序控制
在完成外設數據的輸入/輸出中,整個輸入/輸出過程都是在CPU執行程序的控制下完成的。
1) 無條件傳送
在此情況下,外設總是準備好的,它可以無條件隨時接收CPU發來的輸出數據,也能夠無條件隨時向CPU提供需要輸入的數據。
2) 程序查詢方式
在這種方式下,利用查詢方式進行輸入/輸出,就是通過CPU通過執行程序查詢外設的狀態,判斷外設是否準備好接收數據或準備好向CPU輸入數據。根據這種狀態,CPU有針對性的為外設的輸入/輸出服務。
3.中斷方式
由程序控制I/O的方法其主要缺點在于CPU必須等待I/O系統完成數據傳輸任務,在此期間CPU需定期查詢I/O系統的狀態,以確認傳輸是否完成,因此整個系統的性能嚴重下降。為克服該缺陷,把中斷機制引入到I/O傳輸過程中。CPU利用中斷方式完成數據的輸入/輸出:當I/0系統與外設交換數據時,CPU無需等待,當I/O系統完成了數據傳輸后以中斷方式通知CPU,因而提高了系統效率。
在系統中具有多個中斷源的情況下,常用的處理方法有多中斷信號線法(Multiple Interrupt Lines)、中斷軟件查詢法(Software Poll)、雛菊鏈法(Daisy Chain)、總線仲裁法和中斷向量表法。
4.直接存儲器存取(DMA)方式
在計算機與外設交換數據的過程中,無論是無條件傳送,利用查詢方式傳送還是利用中斷方式傳送,都需要由CPU通過執行程序來實現。這就限制了數據的傳送速度。
直接內存存取(Direct Memory Access,DMA)是指數據在內存與I/O設備間的直接成塊傳送,即在內存與I/O設備間傳送一個數據塊的過程中,不需要CPU的任何干涉,只需要CPU在過程開始啟動(即向設備發出“傳送一塊數據”的命令)與過程結束(CPU通過輪詢或中斷得知過程是否結束和下次操作是否準備就緒)時的處理,實際操作由DMA硬件直接執行完成,即在DMA傳送過程中無需CPU干預,整個系統總線完全交給了DMAC,由它控制系統總線完成數據傳送。
5.輸入/輸出處理機(I0P)
上面所描述的輸入/輸出方式適合于外設不多、速度不很高的小型或微型機中,實現起來不是很復雜。在大型計算機中,外設很多,要求計算機的速度很高,采用程序傳送、查詢、中斷或DMA均會因輸入/輸出而造成過大的開銷,影響計算機的整體性能,為此,提出采用輸入/輸出處理機。
1) 輸入/輸出處理機的功能
輸入/輸出處理機是一個專用處理機,接在主計算機上,對主機的輸入/輸出操作由它來完成。它根據主機的I/0命令,完成對外設數據的輸入/輸出。輸入/輸出由IOP來完成,主機的工作效率必然提高。
2) 輸入/輸出處理機的數據傳送方式
輸入/輸出處理機的數據傳送方式有如下三種:字節多路方式、選擇傳送方式和數組多路方式。
(五) 流水線操作
1.指令流水線
指令流水線的概念就是將一條指令分解成一連串執行的子過程,在CPU中變一條指令的串行執行子過程為若干條指令的子過程在CPU中重疊執行,這就是指令流水線的思路。如果能做到每條指令均分解為m個子過程,且每個子過程的執行時間都一樣,則利用指令流水線可將一條指令的執行時間由原來的T縮短為T/m。
1) 流水的基本概念
流水線技術是將一個重復的時序分解成若干個子過程,而每一個子過程都可有效地在其專用功能段上與其他子過程同時執行。流水線技術應用于計算機系統結構的各個方面,在此我們以指令的執行過程為例介紹流水線技術。
2) 流水技術的特點
(1) 流水線可分成若干個相互聯系的子過程。
(2) 實現子過程的功能所需時間盡可能相等。
(3) 形成流水處理需要一段準備時間。
(4) 指令流發生不能順序執行時,會使流水過程中斷,再形成流水過程則需要時間。
3) 流水結構的分類
(1) 按完成的功能分類。
·單功能流水線:只完成一種固定功能的流水線。如只能實現浮點加。
·多功能流水線:同一流水線上可有多種連接方式來實現多種功能。如ASC運算器中的8個可并行工作的功能塊,可按不同的連接方式實現浮點加、減或定點乘法運算。
(2) 按同一時間內各段之間的連接方式分類。
·靜態流水線:任一時間流水線上的所有功能塊只能按同一種運算的連接方式工作。如ASC運算器中的8個可并行工作的功能塊,或都按浮點加、減運算連接,或都按定點乘法運算連接。
·動態流水線:同一時間流水線上的所有功能塊可按不同的運算連接方式工作。
(3) 按數據表示分類。
·標量流水處理機:只能對標量數據進行流水處理。
·向量流水處理機:它具有陽量指令,可對向量的各元素進行流水處理。
2.流水線處理機的主要指標
1) 吞吐率
吞吐率是指單位時間里流水線處理機流出的結果數。對指令而言,就是單位時間里執行的指令數。如果流水線的子過程所用時間不一樣長,則吞吐率p應為最長子過程的倒數,即
2) 建立時間
流水線開始工作,需經過一定時間才能達到最大吞吐率,這就是建立時間。若m個子過程所用時間一樣,均為△t0,則建立時間T0 = m△t0。
(六) 總線結構
l. 總線的定義與分類
廣義地講,任何連接兩個以上電子元器件的導線都可以稱為總線。總線通常分為如下四類。
(1) 芯片內總線。用于在集成電路芯片內部各部分的連接。
(2) 元件級總線。用于一塊電路板內各元器件的連接。
(3) 內總線,又稱系統總線。用于構成計算機各組成部分(CPU、內存、接口等等)的連接。
(4) 外總線,又稱通信總線。用于計算機與外設或計算機與計算機的連接或通信。
2.內總線
內總線有專用內總線和標準內總線。內總線的性能直接影響到計算機的性能。自計算機發明,尤其是微型機誕生以來,內總線的標準已超過百條。常見的內總線標準如下。
(1) ISA總線。ISA是工業標準總線。它向上兼容更早的PC總線,在PC總線62個插座信號的基礎上,再擴充另一個36個信號的插座構成ISA總線。ISA總線主要包據24個地址線,16條數據線,控制總線(內存讀寫、接口讀寫、中斷請求、中斷響應、DMA請求、DMA響應等等),±5 V、±12 V電源線及地線等。
(2) EISA總線。該總線是在ISA總線的基礎上發展起來的32位總線。該總線定義了32位地址線,32位數據線,以及其他控制信號線、電源線、地線等共196個接點,傳輸速率達33 MB/s。該總線利用總線插座與ISA總線相兼容,插板插在上層為ISA總線信號,將插板安裝到下層便是EISA總線。
(3) PCI總線。PCI總線是目前微型機上廣泛采用的內總線。PCI總線有適于32位機的124個信號的標準和適于64位機的188個信號的標準。PCI總線的傳輸速率至少為133 MB/s,64位PCI總線的傳輸速率為266 MB/s,具有很高的傳輸速率。PCI總線的工作與處理器的工作是相互獨立的,也就是說PCI總線時鐘與處理器時鐘是獨立的、非同步的。PCI總線上的設備是即插即用的。
3.外總線
外總線的標準有七八十種之多,此處僅介紹下面幾種。
(1)RS一232C。RS一232C是一條串行外總線,其主要特點是:所需傳輸線比較少,最少只需三條線(一條發、一條收、一條地線)即可實現全雙工通信;傳送距離遠,用電平傳送為15米,用電流環傳送可達千米;有多種可供選擇的傳送速率;采用非歸零碼負邏輯工作,電平≤一3 V為邏輯1,而電平≥ + 3 V為邏輯0;具有較好的抗干擾性。
(2) SCSI總線。小型計算機系統接口(SCSI)是一條并行外總線,廣泛用于連接軟、硬磁盤、光盤、掃描儀等。該接口總線早期是8位的,后來發展到16位。傳輸速率由SCSI一1的5 MB/s到16位的Ultra2 SCSI的80 MB/s,目前的傳輸速率已高達320 MB/s。該總線上最多可接63種外設,傳送距離可達20米(差分傳送)。
(3) USB。通用串行總線USB當前風頭正勁,近幾年得到十分廣泛的應用。USB有四條信號線組,其中兩條用于傳送數據,另外兩條傳送+5 V容量為500 mA的電源。可以經過集線器HUB進行樹狀連接,最多可達五層。該總線上可接127個設備。USB 1.0有兩種傳送速率:低速為1.5 Mb/s,高速為12 Mb/s。USB 2. 0的傳送速率為480 Mb/s。USB總線最大的優點還在于它支持即插即用并支持熱插拔。
(4) IEEE一1394。這是另一條串行外總線,近幾年同樣得到十分廣泛的應用。IEEE一1394有六條信號線組,其中兩條用于傳送數據,兩條傳送控制信號,另外兩條傳送8到40 V容量為1500 mA的電源。資料上介紹,IEEE一1394總線上可接63個設備。IEEE一1394的傳送速率從400 Mb/s、800 Mb/s、1600 Mb/s直到3.2 Gb/s。這種總線最大的優點也在于它支持即插即用并支持熱插拔。
(七) 多處理機與并行處理
1.陣列處理機
1) 陣列處理機的概念
在前面已經提到有關并行處理的概念。這里專門介紹陣列處理機。陣列處理機又稱并行處理機,它將重復設置的多個處理單元(PU)按一定方式連成陣列,在單個控制部件(CU)控制下,對分配給自己的數據進行并行處理來完成一條指令所規定的操作。這是一種單指令流多數據流計算機,通過資源重復實現并行性,其概念示意圖如圖1-8所示。
圖1-8 SIMD計算機
2) SIMD計算機的互聯網絡
SIMD計算機的互聯網絡的設計目標:結構簡單、靈活;處理單元間信息傳送的步數盡可能少。
(1) 立方體單級互聯網絡。對于具有N個結點的立方體單級互聯網絡,共有n = log2N種互聯函數,即
Cubei(Pn-1…Pi…P1P0) =
式中,Pi為用二進制編號的第i位,且0≤n≤n一1。也就是說,每一個處理單元只能與其二進制編號的某一位取反編號的處理單元相連接。
(2) PM2I單級互聯網絡。這就是“加減2i”單級互聯網絡,能實現與j號處理單元相連接的處理單元號為j±2i,其互聯函數為
PM2+i(j) = j + 2i mod N
PM2-i(j) = j一2i mod N
(3) 混洗交換單級互聯網絡。這種互聯方式的互聯函數為
Shuffle(Pn-1Pn-2…P1P0) = Pn-2…P1P0Pn-1
可見,將處理單元的二進制編號循環左移一位便是要連接的處理單元的二進制編號。
2.多處理機
多處理機系統是由多臺處理機組成的系統,每臺處理機有屬于自己的控制部,可以執行獨立的程序,共享一個主存儲器和所有的外部設備。它是多指令流多數據流計算機。在多處理機系統中,機間的互聯技術決定著多處理機的性能。多處理機之間的互聯,要滿足高頻帶、低成本、連接方式的多樣性以及在不規則通信情況下連接的無沖突性。
1) 多處理機按其構成的分類
(1) 異構型(非對稱型)多處理機系統。由多個不同類型或可完成不同功能的處理機組成,按照作業要求的順序,利用時間重疊技術,依次對它們的多個任務進行處理,各自完成規定的功能操作。
(2) 同構型(對稱型)多處理機系統。由多個同類型或可完成同等功能的處理機組成,同時處理同一作業中能并行執行的多個任務。
(3) 分布式處理系統。若干臺具有獨立功能的處理機相互聯接起來,在操作系統的控制下統一協調地工作,是最少依賴集中的程序、數據或硬件的系統。
2) 多處理機系統的結構
按照機間的互聯方式,有如下四種多處理機結構。
(1) 總線結構。總線結構是一種最簡單的結構形式,它把處理機與I/O之間的通信方式引入到處理機之間。總線結構中有單總線結構、多總線結構、分級式總線、環式總線等多種。
(2) 交叉開關結構。交叉開關結構是設置一組縱橫開關陣列,把橫向的處理機P及I/O通道與縱向的存儲器M連接起來。
(3) 多端口存儲器結構。在多端口存儲器結構中,將多個多端口存儲器的對應端口連在一起,每一個端口負責一個處理機P及I/0通道的訪問存儲器的要求。
(4) 開關樞紐式結構。在開關樞紐式結構中,有多個輸入端和多個輸出端,在它們之間切換,使輸入端有選擇地與輸出端相連。因為有多個輸入端,所以存在互聯要求上的沖突。為此加入一個具有分解沖突的部件,稱為仲裁單元。仲裁單元與在一個輸入端和多個輸出端間進行轉換的開關單元一起構成一個基本的開關樞紐。任何互聯網絡都是由一個或多個開關樞紐組成的。
3) 多處理機系統的特點
結構靈活,程序并行,并行任務派生,進程同步。
3.并行處理機
并行處理機與采用流水結構的單機系統都是單指令流多數據流計算機,但它們也有區別,并行處理機采用資源重復技術,而采用流水結構的單機系統則采用時間重疊技術。
并行處理機有兩種典型結構:具有分布存儲器的并行處理機結構和具有共享存儲器的并行處理機結構。這兩種結構的共同特點是在整個系統中設置多個處理單元,各個處理單元按照一定的連接方式交換信息,在統一的控制部件作用下,各自對分配來的數據并行地完成同一條指令所規定的操作。
三、重點與難點分析
(1) 掌握I/O的工作方式以及特點(程序中斷方式、DMA方式、設備接口)。
(2) 了解多處理機系統的分類、結構及特點。
(3) 并行性的概念與并行的層次。
并行性是指在同一時刻或者同一時間間隔內完成兩種或兩種以上性質相同或不同的工作,只要時間上相互重疊,就都蘊含了并行性。
并行處理是信息處理的一種有效形式,它著重發掘解題過程中的并行事件,使并行性的層次提高,系統性能更上一層。并行性有著不同的層次,而且從不同的角度來看,其層次結構也不一樣。
① 程序執行的并行性層次(從低到高)如下:
·指令內部并行:一條指令內各個微操作之間的并行。
·指令間并行:多條指令的并行執行,需要解決指令間存在的相互關聯問題。
·任務或進程間并行:關鍵在于如何解決任務分解。
·作業或程序間并行:關鍵在于設計并行算法,把有限的軟、硬件資源有效地分配給正在用于求解一個大題目的多個程序。
② 數據處理的并行性層次(從低到高)如下:
·位串字串:一次只對一個字的一位進行處理(無并行性)。
·位并字串:一次對一個字的全部位進行處理。
·位串字并:一次對許多字的同一位(位片)進行處理。
·位并字并(全并行):對許多字的全部或部分位進行處理。
③ 操作并行性層次如下:
·存儲器操作并行:可以在一個存儲周期內訪問多個存儲單元。
·處理器操作步驟并行:指令的取值、譯碼、取操作數、執行等操作;向上重疊流水式的執行,也包括各種運算的操作步驟的重疊執行。
·處理器操作并行:設置大量的處理單元,在同一控制器控制下按同一條指令的要求對多個數據組同時操作。
并行性的措施:時間重疊,資源重疊,資源共享。
(4) 并行處理機的基本原理。并行處理機又稱為陣列處理機,它是在單一控制部件控制下的由多個處理單元構成的陣列。并行處理機使用按地址訪問的隨機存儲器(RAM),以SIMD方式工作,主要用于大量高速向量或矩陣運算等領域。