全國計算機等級考試四級復習綱要七[2]

字號:

①單指令流、單數(shù)據(jù)流(SISD)計算機
     ②單指令流、多數(shù)據(jù)流(SIMD)計算機
     ③多指令流、單數(shù)據(jù)流(MISD)計算機
     ④多指令流、多數(shù)據(jù)流(MIMD)計算機
     (2)馮澤云分類法1972年美籍華人馮澤云(Tse-yun Feng)教授提出按并行度(degree of parallelism)對各種計算機系統(tǒng)進行結構分類的方法。他把計算機系統(tǒng)分成四類:①字串行、位串行(WSBS)計算機②字并行、位串行(WPBS)計算機③字串行、位并行(WSBP)計算機④字并行、位并行(WPBP)計算機
     (3)Handler分類法1977年德國的漢德勒(Wolfgang Handler)提出一個基于硬件并行程度的計算并行度的方法。他把計算機的硬件結構分為三個層次:處理機級、每個處理機中的算邏單元級、每個算邏單元中的邏輯門電路級。分別計算機這三級中可以并行或流水處理的程序,即可算出某系統(tǒng)的并行度。
     (4)Kuck分類法1978年美國的庫克(David J.Kuck)提出與Flynn分類法類似的方法,只是他用了指令流和執(zhí)行流(execution stream)及其多重性來描述計算機系統(tǒng)控制結構的特征。他把系統(tǒng)結構分為四類:
     ①單指令流、單執(zhí)行流(SISE)
     ②單指令流、多執(zhí)行流(SIME)
     ③多指令流、單執(zhí)行流(MISE)
     ④多指令流、多執(zhí)行流(MIME),它們是典型的多處理機系統(tǒng)。一種好的分類法能幫助我們深入地理解體系結構的特點,使人們能更好掌握計算機的工作原理以及發(fā)展趨勢。但很難說已經(jīng)有令人滿意的分類法被學術界一致認可。來源:www.examda.com
     二、指令系統(tǒng)
     (一) 指令集體系結構的分類
     1.分類的依據(jù)
     從體系結構的觀點對指令集進行分類,可以根據(jù)下述五種尺度:(1)操作數(shù)在CPU中的存儲方式,即操作數(shù)從主存中取來后要把它保存在什么地方。
     (2)顯式操作數(shù)的數(shù)量,即在條典型的指令中有多少個顯式命名的操作數(shù)。
     (3)操作數(shù)的位置,即任一個ALU指令的操作數(shù)能否放在主存中,或者必須把某些操作甚至全部操作數(shù)都放在CPU的內(nèi)部存儲器中?如果某操作數(shù)要放在主存中,那么它是如何定位的?
     (4)指令的操作,即在指令集中提供哪些操作?
     (5)操作數(shù)的類型與大小,即每個操作數(shù)是什么類型、尺寸大小,以及怎樣對它規(guī)定。
     2.按暫存機制分類
     根據(jù)在CPU內(nèi)部存儲操作數(shù)的區(qū)別,可以把指令集體系分為三類。這三類分別為:堆棧(stack)、累加器(accumulator)和寄存器集(a set of registers)。
     3.通用寄存器機的分類
     通用寄存器機(general-purpose register machines)簡稱GPR機。GPR的關鍵性優(yōu)點起因于編譯程序能有效地使用寄存器,無論是計算機表達式的值,還是從全局的角度使用寄存器來保存變量的值。在表達式求解時,寄存器比堆棧或者累加器能提供更加靈活的次序。更重要的是寄存器能用來保存變量。當變量分配給寄存器時,訪存流量(memory traffic)就會減少,程序運行就會加速,而且代碼密度也會得到改善。可以用指令集的兩個主要特征來區(qū)分GPR體系結構。這兩個特征都是關于ALU指令即典型的算術邏輯指令中操作數(shù)的本質。第一個是ALU指令有兩個或三個操作數(shù)。在三操作數(shù)格式中,指令包括兩個源操作數(shù)物一個目的操作數(shù)。在二操作數(shù)格式中,有一個操作數(shù)既是源操作數(shù)又是目的操作數(shù)。第二個是ALU指令中有幾個操作數(shù)是存儲器地址,對典型的ALU指令,這個數(shù)可能在1與3之間。(二) 指令格式及其優(yōu)化
     1.指令格式的設計考慮對于指令格式(instruction format)的設計有一些優(yōu)先考慮的原則:
     (1)關于指令的長度,短指令要比長指令更節(jié)約些。盡管存儲器的價格越來越便宜,但設計者還是不愿意浪費它們。
     (2)還要考慮是否有足夠的空間表示所有期望的操作。來源:www.examda.com
     (3)在GPR結構中,無論是哪種寄存器與存儲器類型,提高存取指令的速度都是應該考慮的一個重要原則。存儲器的存取速度越高,就能給處理機提供更多的指令進行處理。在一定的存取速率下,如果平均指令長度較短,那么存儲器就能供應更多的指令。
     (4)機器字長(word length)應該是字符長度(character length)的整數(shù)倍。否則,在存儲字符時就會造成浪費,而且也會造成尋址困難。
     (5)尋址字段長度的選擇。假設存儲空間是2 19 位,如果存取單位的大小不同,則地址長度也不相同。
     2.指令格式化
     指令格式的優(yōu)化既包括指令碼的優(yōu)化,也包括操作數(shù)的優(yōu)化。所謂指令格式的優(yōu)化就是從整個指令系統(tǒng)的利用率角度出發(fā),盡量設法減少指令中的冗余信息量,以便用最少的位數(shù)提供足夠的操作信息和地址信息。
     3.哈夫曼編碼
     哈夫曼編碼的基本概念是:對發(fā)生概率高的事件用短碼表示,對發(fā)生概率低的事件用長碼表示,這樣做的結果可以使平均編碼長度明顯壓縮,使之很接近理論編碼長度。要對指令碼進行優(yōu)化表示,就必須知道每條指令在程度中出現(xiàn)的概率,即指令的使用頻度,一般都是通過對大量已有的典型程序進行統(tǒng)計而求得。獲得使用頻度后,即可根據(jù)這些數(shù)據(jù)構造一個哈夫曼樹。具體算法是:把各指令按使用頻度從小到大排序;從中取出最小與次最小的兩個指令作為葉結點構成二叉樹,其根為兩結點頻度之和,并把比值插入到頻度序列中;遞歸地使用此法繼續(xù)構造二叉樹,直到全部指令都作為葉結點使用完為止。有了哈夫曼樹(它是一個二叉樹),即可用它進行編碼。具體做法是:從根結點開始,把樹的左子樹線段標為1,右子樹線段標為0,直至葉結點。然后從每個指令所在的葉結點位置開始,沿最短路徑到達各個葉結點并依次寫下沿線的0、1序列。就得到該指令的哈夫曼編碼。(三) 指令集的復雜化