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