體系結(jié)構(gòu)概念總結(jié)_第1頁
體系結(jié)構(gòu)概念總結(jié)_第2頁
體系結(jié)構(gòu)概念總結(jié)_第3頁
體系結(jié)構(gòu)概念總結(jié)_第4頁
體系結(jié)構(gòu)概念總結(jié)_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

體系結(jié)構(gòu)概念總結(jié)

體系構(gòu)造概念總結(jié)本文關(guān)鍵詞:體系構(gòu)造,概念

體系構(gòu)造概念總結(jié)本文簡介:第1章計算機系統(tǒng)構(gòu)造的根本概

念層次機構(gòu):遵照計算機語言從低級到高級的次序,把計算機系統(tǒng)按

功能劃分成多級層次構(gòu)造,每一層以一種不同的語言為特征。這些層

次依次為:微程序機器級,傳統(tǒng)機器語言機器級,匯編語言機器級,

高級語言機器級,應用語言機器級等。翻譯:先用轉(zhuǎn)換程序把高一級

機器上的程序轉(zhuǎn)換為低一級機器上等

體系構(gòu)造概念總結(jié)本文內(nèi)容:

第1章

計算機系統(tǒng)構(gòu)造的根本概念

層次機構(gòu):遵照計算機語言從低級到高級的次序,把計算機系統(tǒng)

按功能劃分成多級層次構(gòu)造,每一層以一種不同的語言為特征。這些

層次依次為:微程序機器級,傳統(tǒng)機器語言機器級,匯編語言機器級,

高級語言機器級,應用語言機器級等。

翻譯:先用轉(zhuǎn)換程序把高一級機器上的程序轉(zhuǎn)換為低一級機器上

等效的程序,然后再在這低一級機器上運行,實現(xiàn)程序的功能。

說明:對于高一級機器上的程序中的每一條語句或指令,都是轉(zhuǎn)

去執(zhí)行低一級機器上的一段等效程序。執(zhí)行完后,冉去高一級機器取

下一條語句或指令,再進展說明執(zhí)行,如此反復,直到說明執(zhí)行完整

個程序。

計算機系統(tǒng)構(gòu)造:傳統(tǒng)機器程序員所看到的計算機屬性,即概念

性構(gòu)造與功能特性。

透亮性:在計算機技術(shù)中,把這種原來存在的事物或?qū)傩?,但?/p>

某種角度看又似乎不存在的概念稱為透亮性。

計算機組成:計算機系統(tǒng)構(gòu)造的邏輯實現(xiàn),包含物理機器級中的

數(shù)據(jù)流和限制流的組成以及邏輯設計等。

計算機實現(xiàn):計算機組成的物理實現(xiàn),包括處理機、主存等部件

的物理構(gòu)造,器件的集成度和速度,模塊、插件、底板的劃分與連接,

信號傳輸,電源、冷卻及整機裝配技術(shù)等。

系統(tǒng)加速比:對系統(tǒng)中某局部進展改良時,改良后系統(tǒng)性能提高

的倍數(shù)。

Amdahl定律:當對一個系統(tǒng)中的某個部件進展改良后,所能獲得

的整個系統(tǒng)性能的提高,受限于該部件的執(zhí)行時間占總執(zhí)行時間的

白分比。

也許率事務優(yōu)先原那么的根本思想是:對于也許率事務(最常見

的事務),給予它優(yōu)先的處理權(quán)和資源運用權(quán),以獲得全局的最優(yōu)結(jié)

果。

程序的局部性原理:程序執(zhí)行時所訪問的存儲器地址不是隨機分

布的,而是相對地簇聚。包括時間局部性和空間局部性。

CPI:每條指令執(zhí)行的平均時鐘周期數(shù)。CPI二執(zhí)行程序所需的時鐘

周期數(shù)/所執(zhí)行的指令條數(shù)

CPU性能公式:CPU時間二執(zhí)行程序所需的時鐘周期數(shù)X時鐘周

期時間

CPU時間二ICXCPIX時鐘周期時間

JC為所執(zhí)行的指令條數(shù)

并行性:計算機系統(tǒng)在同一時刻或者同一時間間隔內(nèi)進展多種運

算或操作。只要在時間上相互重疊,就存在并行性。它包括同時性與

并發(fā)性兩種含義。

時間重疊:在并行性概念中引入時間因素,讓多個處理過程在時

間上相互錯開,輪番重疊地運用同一套硬件設備的各個局部,以加快

硬件周轉(zhuǎn)而贏得速度。

資源重復:在并行性概念中引入空間因素,以數(shù)量取勝。通過重

復設置硬件資源,大幅度地提高計算機系統(tǒng)的性能。

資源共享:這是一種軟件方法,它使多個任務按必須時間依次輪

番運用同一套硬件設備。

異構(gòu)型多處理機系統(tǒng):由多個不同類型、至少擔負不同功能的處

理機組成,它們遵照作'業(yè)要求的依次,利用時間重疊原理,依次對它

們的多個任務進展加工,各自完成規(guī)定的功能動作。

同構(gòu)型多處理機系統(tǒng):由多個同類型或至少擔負同等功能的處理

機組成,它們同時處理同一作業(yè)中能并行執(zhí)行的多個任務。

第2章

指令集構(gòu)造的分類

2.1

區(qū)分不同指令集構(gòu)造的主要因素是什么?依據(jù)這個主要因素可

將指令集構(gòu)造分為哪3類?

答:區(qū)分不同指令集構(gòu)造的主要因素是CPU中用來存儲操作數(shù)

的存儲單元。據(jù)此可將指令系統(tǒng)構(gòu)造分為堆棧構(gòu)造、累加器構(gòu)造和通

用存放器構(gòu)造。

2.2

CISC指令集構(gòu)造的計算機有什么缺點?

答:缺點:

(1)

CISC構(gòu)造的指令集中,各種指令的運用頻率相差懸殊。(2)CISC

構(gòu)造指令的困難性帶來了計算機體系構(gòu)造的困難性,這不僅增加了

研制時間和本錢,而且還簡單造成設計錯誤。(3)CISC構(gòu)造指令集的

困難性給VLSI設計增加了很大負擔,不利于單片集成。(4)CISC構(gòu)造

的指令集中,很多困難指令須要很困難的操作,因而運行速度慢。

(5)

在CISC構(gòu)造的指令集中,由于各條指令的功能不均衡性,不利于

采納先進的計算機體系構(gòu)造技術(shù)(如流水技術(shù))來提高系統(tǒng)的性能。

2.3

簡述RISC指令集構(gòu)造的設計原那么。

答⑴

選取運用頻率最高的指令,并補充一些最有用的指令;(2)每條

指令的功能應盡可能簡潔,并在一個機器周期內(nèi)完成;(3)全部指令

長度均一樣:(4)只有Load和Store操作指令才訪問存儲器,其它指

令操作均在存放器之間進展;

以簡潔有效的方式支持高級語言。

2.4RISC和CISC處理機的指令系統(tǒng)構(gòu)造在指令格式、尋址方式和

每條指令的周期數(shù)(CPU三方面有哪些區(qū)分?

比擬內(nèi)容

CISC

RISC

指令格式

變長編碼

定長編碼

尋址方式

各種都有

只有l(wèi)oad/store指令可以訪存

CPI

遠遠大于1

為1

2.5

通常有哪幾種指令格式,請簡述其適用范圍。

答:

(1)

變長編碼格式。假如系統(tǒng)構(gòu)造設計者感愛好的是程序的目標代碼

大小,而不是性能,就可以采納變長編碼格式。(2)固定長度編碼格

式。假如感愛好的是性能,而不是程序的目標代碼大小,那么可以選

擇固定長度編碼格式。

混合型編碼格式。須要兼顧降低目標代碼長度和降低譯碼困難度

時,可以采納混合型編碼格式。

第3章

流水線技術(shù)

流水線:將一個重復的時序過程,分解成為假設干個子過程,而

每一個子過程都可有效地在其專用功能段上與其它子過程同時執(zhí)行。

單功能流水線:指流水線的各段之間的連接固定不變、只能完成

一種固定功能的流水線。

多功能流水線:指各段可以進展不同的連接,以實現(xiàn)不同的功能

的流水線。

靜態(tài)流水線:指在同一時間內(nèi),多功能流水線中的各段只能按同

一種功能的連接方式工作的流水線。當流水線要切換到另一種功能時,

必需等前面的任務都流出流水線之后,才能變更連接。

動態(tài)流水線:指在同一時間內(nèi),多功能流水線中的各段可以遵照

不同的方式連接,同時執(zhí)行多種功能的流水線。它允許在某些段正在

實現(xiàn)某種運算時,另一些段卻在實現(xiàn)另一種運算。

吞吐率:在單位時間內(nèi)流水線所完成的任務數(shù)量或輸出結(jié)果的數(shù)

量。

流水線的加速比:運用依次處理方式處理一批任務所用的時間與

按流水處理方式處理同一批任務所用的時間之比。

流水線的效率:即流水線設備的利用率,它是指流水線中的設備

實際運用時間與整個運行時間的比值。

數(shù)據(jù)相關(guān):考慮兩條指令i和j,i在j的前面,假如下述條件之一

成立,那么稱指令j與指令i數(shù)據(jù)相關(guān):

(1)指令j運用指令i產(chǎn)生的結(jié)果;

(2)指令j與指令k數(shù)據(jù)相關(guān),而指令k又與指令i數(shù)據(jù)相關(guān)。

名相關(guān):假如兩條指令運用了一樣的名,但是它們之間并沒有數(shù)

據(jù)流淌,那么稱這兩條指令存在名相關(guān)。

限制相關(guān):是指由分支指令引起的相關(guān)。它須要依據(jù)分支指令的

執(zhí)行結(jié)果來確定后面該執(zhí)行哪個分支上的指令。

構(gòu)造沖突:因硬件資源滿意不了指令重疊執(zhí)行的要求而發(fā)生的沖

突。

數(shù)據(jù)沖突:當指令在流水線中重疊執(zhí)行時,因須要用到前面指令

的執(zhí)行結(jié)果而發(fā)生的沖突。

限制沖突:流水線遇到分支指令或其它會變更PC值的指令所引

起的沖突。

定向技術(shù):用來解決寫后讀沖突的。在發(fā)生寫后讀相關(guān)的狀況下,

在計算結(jié)果尚未出來之前,后面等待運用該結(jié)果的指令并不見得是

立刻就要用該結(jié)果。假如能夠?qū)⒃撚嬎憬Y(jié)果從其產(chǎn)生的地方干脆送到

其它指令須要它的地方,那么就可以幸免停頓。

寫后讀沖突(RAW):考慮兩條指令i和j,且i在j之前進入流水

線,指令j用到指令i的計算結(jié)果,而且在i將結(jié)果寫入存放器之前就

去讀該存放器,因而得到的是舊值。

讀后寫沖突(WAW):考慮兩條指令i和j,且i在j之前進入流水

線,指令j的目的存放器和指令i的源操作數(shù)存放器一樣,而且j在i

讀取該存放器之前就先對它進展了寫操作,導致i讀到的值是錯誤的。

寫后寫沖突(WAR):考慮兩條指令i和j,且i在j之前進入流水線,,

指令j和指令i的結(jié)果單元(存放器或存儲器單元〕一樣,而且j在i

寫入之前就先對該單元進展了寫入操作,從而導致寫入依次錯誤,這

時在結(jié)果單元中留下的是i寫入的值,而不是j寫入的。

向量處理方式:a.橫向處理方式

b.縱向處理方式c縱橫處理方式

簡述三種向量處理方式,它們對向量處理機的構(gòu)造要求有何不

同?

(1)橫向處理方式:假設向量長度為N,那么水平處理方式相當于

執(zhí)行N次循環(huán)。假設運用流水線,在每次循環(huán)中可能出現(xiàn)數(shù)據(jù)相關(guān)和

功能轉(zhuǎn)換,不適合對向量進展流水處理。

⑵縱向處理方式:將整個向量按一樣的運算處理完畢之后,再去

執(zhí)行其他運算。適合對向量進展流水處理,向量運算指令的源/目向量

都放在存儲器內(nèi),使得流水線運算部件的輸入、輸出端干脆與存儲器

相聯(lián),構(gòu)成M-M型的運算流水線。

⑶縱橫處理方式:把長度為N的向量分為假設干組,每組長度為

n,組內(nèi)按縱向方式處理,依次處理各組,組數(shù)為「N/n」,適合流水處

理??稍O長度為n的向量存放器,使每組向量運算的源/目向量都在向

量存放器中,流水線的運算部件輸入、輸出端與向量存放器相聯(lián),構(gòu)

成R-R型運算流水線。

第4章

指令級并行

超標量(superscalar):一種多指令流出技術(shù)。它在每個時鐘周期

流出的指令條數(shù)不固定,依代碼的詳細狀況而定,但有個上限。

超流水線處理機(superpipelining):在一個時鐘周期內(nèi)分時流出多

條指令。

超長指令字VLIW(Very

Long

Instruction

Word):一種多指令流出技術(shù)。VLIW處理機在每個時鐘周期流出

的指令條數(shù)是固定的,這些指令構(gòu)成一條長指令或者一個指令包,在

這個指令包中,指令之間的并行性是通過指令顯式地表示出來的c

(1).超標量構(gòu)造對程序員來說是透亮的,因為處理機能自己檢測

下一條指令能否流出,從而不須要重新排列指令來滿意指令的流出。

(2).即使是沒有經(jīng)過編譯器針對超標量構(gòu)造進展調(diào)度優(yōu)化的代碼

或是舊的編譯器生成的代碼頁可以運行,當然運行的效果不是很好。

(3).超標量處理機是通過重復設置多份硬件來提高性能的,即設

置多個取指部件,設置多個譯碼,執(zhí)行,訪存,寫結(jié)果等部件,并讓

它們同時工作。它要增加比擬多的硬件。而超流水線處理機那么不同,

它只須要增加少量硬件,是通過各局部硬件的充分重疊工作來提高

性能的。

超標量處理機采納的是空間并行性,而超流水線處理機采納的

是時間并行性。

第5章

存儲層次

性能參數(shù)(C、H、TA)公式(略);P155

全相聯(lián)映象:主存中的任一塊可以被放置到Cache中隨意一個地

方。

干脆映象:主存中的每一塊只能被放置到Cache中唯一的一個地

方。

組相聯(lián)映象:主存中的每一塊可以放置到Cache中唯一的一組中

任何一個地方(Cache分成假設干組,每組由假設干塊構(gòu)成)。

書目表:書目表所包含的項數(shù)與Cache的塊數(shù)一樣,每一項對應

于Cache中的一個塊,用于指出當前該塊中存放的信息是哪個主存塊

的。

替換算法:由于主存中的塊比Cache中的塊多,所以當要從主存

中調(diào)一個塊到Cache中時,會出現(xiàn)該塊所映象到的一組(或一個)

Cache塊已全部被占用的狀況。這時,須要被迫騰出其中的某一塊,以

接納新調(diào)入的塊。

LRU:選擇最近最少被訪問的塊作為被替換的塊。實際實現(xiàn)都是

選擇最久沒有被訪問的塊作為被替換的塊。

寫直達法:在執(zhí)行寫操作時,不僅把信息寫入Cache中相應的塊,

而且也寫入下一級存儲器中相應的塊。

寫回法:只把信息寫入Cache中相應塊,該塊只有被替換時2才

被寫回主存。

按寫安排法:寫失效時,先把所寫單元所在的塊調(diào)入Cache,然

后再進展寫入。

不按寫安排法:寫失效時,干脆寫入下一級存儲器中,而不把相

應的塊調(diào)入Cache。

命中時間:訪問Cache命中時所用的時間。

失效率:CPU訪存時,在一級存儲器中找不到所需信息的概率。

失效開銷:CPU向二級存儲器發(fā)出訪問懇求到把這個數(shù)據(jù)調(diào)入一

級存儲器所需的時間。

強制性失效:當?shù)谝淮卧L問一個塊時,該塊不在Cache中,須要

從下一級存儲器中調(diào)入Cache,這就是強制性失效。

容量失效:假如程序在執(zhí)行時,所須要的塊不能全部調(diào)入Cache

中,那么當某些塊被替換后又重新被訪問,就會產(chǎn)生失效,這種失效

就稱作容量失效。

沖突失效:在組相聯(lián)或干脆映象Cache中,假設太多的塊映象到

同一組(塊)中,那么會出現(xiàn)該組中某個塊被別的塊替換(即使別的

組或塊有空閑位置),然后又被重新訪問的狀況。

2:ICache經(jīng)歷規(guī)那么:大小為N的干脆映象Cache的失效率約

等于大小為N

/2的兩路組相聯(lián)Cache的實效率

相聯(lián)度:在組相聯(lián)中,每組Cache中的塊數(shù)。

TLB:一個專用高速存儲器,用于存放近期經(jīng)常運用的頁表項,其

內(nèi)容是頁表局部內(nèi)容的一個副本。

5.2

簡述“Cache-主存”層次與“主存一輔存”層次的區(qū)分。

答:

存儲層次

比擬工程

“Cache一主存”層次

“主存一輔存”層次

目的

為了彌補主存速度的缺乏

為了彌補主存容量的缺乏

存儲管理的實現(xiàn)

全部由專用硬件實現(xiàn)

主要由軟件實現(xiàn)

訪問速度的比值

(第一級比其次級)

兒比一

幾萬比一

典型的塊(頁)大小

幾十個字節(jié)

幾百到幾千個字節(jié)

CPU對其次級的訪問方式

可干脆訪問

均通過第一級

小命中時CPU是否切換

不切換

切換到其它進程

5.3

地址映象方法有哪兒種?它們各有什么優(yōu)缺點?

答:⑴

全相聯(lián)映象。實現(xiàn)查找的機制困難,代價高,速度慢。Cache空

間的利用率較高,塊沖突概率較低,因而Cache的失效率也低。(2)

干脆映象。實現(xiàn)查找的機制簡潔,速度快。Cache空間的利用率較低,

塊沖突概率較高,因而Cache的失效率也高。(3)組相聯(lián)映象。組相

聯(lián)是干脆映象和全相聯(lián)的一種折衷。

5.4

降低Cache失效率有哪幾種方法?簡述其根本思想。

答:常用的降低Cache失效率的方法有下面幾種:

增加Cache塊大小。增加塊大小利用了程序的空間局部性。

增加Cache的容量。

提高相聯(lián)度,降低沖突失效。

偽相聯(lián)Cache,降低沖突失效。當對偽相聯(lián)Cache進展訪問時,首

先是按與干脆映象一樣的方式進展訪問。假如命中,那么從相應的塊

中取出所訪問的數(shù)據(jù),送給CPU,訪問完畢。假如不命中,就將索引

字段的最高位取反,然后遵照新索引去找尋“偽相聯(lián)組”中的對應塊。

假如這一塊的標識匹配,那么稱發(fā)生了“偽命中”。否那么,就訪問下

一級存儲器。

硬件預取技術(shù)。在處理器提出訪問懇求前預取指令和數(shù)據(jù)。

由編譯器限制的預取,硬件預取的替代方法,在編譯時參加預取

的指令,在數(shù)據(jù)被用到之前發(fā)出預取懇求。

編譯器優(yōu)化,通過對軟件的優(yōu)化來降低失效率。

“犧牲"Cache。在Cache和其下一級存儲器的數(shù)據(jù)通路之間增

設一個全相聯(lián)的小Cache,存放因沖突而被替換出去的那些塊。每當

發(fā)生不命中時,在訪問下一級存儲器之前,先檢查“犧牲”Cache中

是否含有所需的塊。假如有,就將該塊與Cache中某個塊做交換,把

所需的塊從“犧牲"Cache

調(diào)入Cacheo

5.5

簡述減小Cache失效開銷的幾種方法。

答:讓讀失效優(yōu)先于寫、寫緩沖合并、懇求字處理技術(shù)、非堵塞

Cache或非鎖定Cache技術(shù)、采納二級Cache。

個人總結(jié),僅供參考。

篇2:現(xiàn)代微處理器體系構(gòu)造課堂筆記

現(xiàn)代微處理器體系構(gòu)造課堂筆記本文關(guān)鍵詞:微處理器,體系

構(gòu)造,課堂,筆記

現(xiàn)代微處理器體系構(gòu)造課堂筆記本文簡介:系統(tǒng)構(gòu)造筆記第一

章緒論1、背景介紹,市場改變及緣由及趨勢2、計算機體系構(gòu)造根

本概念計算機體系構(gòu)造的定義

ComputerArchitecture=lnstructionSetArchitecture+MachineOrganization

+Hardware指令級構(gòu)造(InstructionSetArc

現(xiàn)代微處理器體系構(gòu)造課堂筆記本文內(nèi)容:

系統(tǒng)構(gòu)造筆記

第一章

緒論

1、背景介紹,市場改變及緣由及趨勢

2、計算機體系構(gòu)造根本概念

計算機體系構(gòu)造的定義

Computer

Architecture

Instruction

Set

Architecture

+

Machine

Organization

+

Hardware

指令級構(gòu)造(Instruction

Set

Architecture)

探究軟、硬件功能安排以及機器級界面確實定,既由機器語言程

序設計者或編譯程序設計者所看到的機器物理系統(tǒng)的抽象或定義。但

它不包括機器內(nèi)部的數(shù)據(jù)流和限制流、邏輯設計和器件設計等。

計算機組織(Computer

Organization)

ISA的邏輯實現(xiàn),包括機器級內(nèi)的數(shù)據(jù)流和限制流的組成以及邏

輯設計等。它著眼于機器內(nèi)各事務的排序方式與限制機構(gòu)、各部件的

功能以及各部件間的聯(lián)系。

計算機實現(xiàn)(Computer

ImplementationJ

是指計算機組成的物理實現(xiàn),包括處理機、主存等部件的物理構(gòu)

造,器件的集成度和速度,器件、模塊、插件、底板的劃分與連接,專

用器件的設計,微組裝技術(shù),信號傳輸,電源、冷卻及整機裝配技術(shù)

等。它著眼于器件技術(shù)和微組裝技術(shù),其中,器件技術(shù)在實現(xiàn)技術(shù)中

起著主導作用。

計算機體系構(gòu)造=ISA

+

Organization

+

Hardware

3、定量分析技術(shù)根底

1、計算機系統(tǒng)評價

當客戶拿到一組機器時,他們確定想知道哪特性能最好,哪個價

格最低,哪特性價比最高?而我們設計者那么須要最大限度的提高

性能,使性價比到達最高,因此我們必需要就根本的評價標準和方法。

常用性能評價指標:執(zhí)行時間(CPU

Time)、峰值速度(Peak

PerformanceR負載(load)

開銷(overheadh利用率(utilization

ratioR飽和性能(saturate

performance)、

帶寬(bandwidth)、延遲(latency)>吞吐率(throughout)>加

速比(speedup)、

Amdahl定律(amdahi

law)>效率(efficiency)>基準測試(benchmark)

響應時間(response

time)等等

2、性能度量

性能定義為每秒完成的任務數(shù)-bigger

is

better

假如我們更關(guān)懷響應時間(response

time)

X性能是Y的n倍是指

3、性能設計與評測的根本原那么

并行性

也許率事務優(yōu)先原那么

全部指令都須要取指令操作,只有局部指令訪問數(shù)據(jù)

優(yōu)化指令訪問操作比優(yōu)化數(shù)據(jù)訪問操作優(yōu)先

程序局部性原理:時間局部性、空間局部性

4、AmdahTs

定律

Speedup(with

E)

1/((1-F)+F/S))

F指fraction(小局部)S指小局部的加速比

CPU

time

CPI

IC

T

CPU

time=

Seconds

Instructions

x

Cycles

x

Seconds

Program

Program

Instruction

Cycle

執(zhí)行時間是計算機系統(tǒng)度量的最實際,最牢靠的方式

其次章

指令集構(gòu)造設計

對于一種指令集構(gòu)造,我們必需要知道指令格式或編碼方式,操

作數(shù)和操作結(jié)果存放的位置,數(shù)據(jù)類型和大小,尋址方式,支持哪些

操作,下一條指令的地址(jumps,conditions,branches)

1、指令集構(gòu)造分類

累加器型、堆棧型、通用存放器型、存儲器■存儲器型

通用存放器型占主導地位,因為存放器比存儲器快,對編譯器而

言,存放器更簡單運用

通用存放器的分類:

優(yōu)點

缺點

Register-Register

指令格式簡潔,并且長度固定,是一種簡潔的代碼生成模型,各

種指令的執(zhí)行時鐘周期數(shù)相近。

指令條數(shù)相對較多,目標代碼大。

Register-Memory

干脆對存儲器操作數(shù)進展訪問,簡單對指令進展編碼,且其目標

代碼較小。

指令中的操作數(shù)類型不同。指令的操倫數(shù)可以存儲在不同類型的

存儲器單元,所以每條指令的執(zhí)行時鐘周期數(shù)也不盡一樣。

Memory-Memory

編碼方式嚴密,不用為保存臨時變量而奢侈存放器空間。

指令字長多種多樣。每條指令的執(zhí)行時鐘周期數(shù)也大不一樣,對

存儲器的頻繁訪問將導致存儲器訪問瓶頸問題。

2、尋址方式

如何說明存儲器地址?如何說明尋址方式?

目前幾乎全部的機器的存儲器都是按字節(jié)編址的,當讀取一個

32位字時,假如每次一個字節(jié),四次完成,每次一個字,一次就可以

了,問題來了:

如何將字節(jié)地址映射到字地址(尾端問題)

一個字是否可以存放在任何字節(jié)邊界上(對齊問題)

對齊問題:對一個s字節(jié)的對象訪問,地址為A,假如A

mod

s

=0

那么它就是邊界對齊的。

邊界對齊的緣由是存儲器本身讀寫的要求,存儲器本身讀寫通

常就是邊界對齊的,對于不是邊界對齊的對象的訪問可能要導致存

儲器的兩次訪問,然后再拼接出所須要的數(shù)。(或發(fā)生異樣)

重要的尋址方式:

偏移尋址方式,馬上數(shù)尋址方式,存放器間址方式

SPEC測試說明,運用頻度到達

75%-101%

還有其他許多尋址方式,這里就不說明了

3、操作數(shù)的類型、表示和大小

操作數(shù)類型是面對應用,面對軟件系統(tǒng)所處理的各種數(shù)據(jù)構(gòu)造

整型、浮點型、字符、字符串、向量類型等

類型由操作碼確定或數(shù)據(jù)附加硬件說明的標記,一般采納由操

作碼確定

操作數(shù)的表示:硬件構(gòu)造能夠識別,指令系統(tǒng)可以干脆調(diào)用的構(gòu)

整型:原碼、反碼、補碼

浮點:IEEE

754標準

十進制:BCD碼,二進制十進制表示

單字、雙字的數(shù)據(jù)訪問具有較高的頻率

4、指令集功能設計

需考慮的因素:速度、價格和敏捷性。根本要求:指令系統(tǒng)的完

整性、規(guī)整性、高效率和兼容性

完整性設計:具備根本指令種類

兼容性:系列機

高效率:指令執(zhí)行速度快、運用頻度高

規(guī)整性:讓全部運算部件都能對稱、勻稱的在全部數(shù)據(jù)存儲單元

之間進展操作。對全部數(shù)據(jù)存儲單元都能同等對待,無論是操作數(shù)或

運算結(jié)果都可以無約束地存放到隨意數(shù)據(jù)存儲單元中

正交性:數(shù)據(jù)類型獨立于尋址方式,尋址方式獨立于所要完成的

操作

1、

CISC計算機指令集構(gòu)造的功能設計

目標:增加指令功能,削減指令的指令條數(shù),以提高系統(tǒng)性能

面對目標程序的優(yōu)化,面對高級語言和編譯器的優(yōu)化

對大量的目標程序機器執(zhí)行狀況進展統(tǒng)計分析,找出訪用頻度

高,執(zhí)行時間長的指令或指令串

對于那些運用頻度高的指令,用硬件加快其執(zhí)行,對于那些運用

頻度高的指令串,用一條新的指令來代替它

2、

RISC計算機指令構(gòu)造的功能設計

通過簡化指令系統(tǒng),用最高效的方法實現(xiàn)最常用的指令

充分發(fā)揮流水線的效率,削減CPI

硬件方面:硬布線限制邏輯,削減指令和尋址方式的種類,運用

固定格式,采納Load/Store,指令執(zhí)行過程中設置多級流水線。

軟件方面:非常強調(diào)優(yōu)化編譯的作用

5、指令格式

指令格式選擇策略

假如代碼長度最重要,那么運用變長指令格式

假如性能至關(guān)重要,運用固定長度指令

有些嵌入式CPU附加可選模式,由每一應用自己選擇性能還是

代碼量

有些機器運用邊執(zhí)行邊解壓的方式

假如每條指令存在多個存儲器操作數(shù),或有多種尋址方式,每一

操作數(shù)都要說明其尋址方式

6、

編譯技術(shù)與計算機體系構(gòu)造

編譯優(yōu)化-4個層次

高層優(yōu)化:一般在源碼上進展,同時把輸出傳遞給以后的優(yōu)化掃

描步驟

局部優(yōu)化:僅在一系列代碼片斷之內(nèi)(根本塊)將代碼優(yōu)化

全局優(yōu)化:將局部優(yōu)化擴展為跨越分支,并且引入一組針對優(yōu)化

循環(huán)的轉(zhuǎn)換

與機器相關(guān)的優(yōu)化:充分利用特定的系統(tǒng)構(gòu)造

第三章

流水線技術(shù)

1、流水線技術(shù)

流水線技術(shù)要點

流水線技術(shù)并不能提高單個任務的執(zhí)行效率,它可以提高整個

系統(tǒng)的吞吐率

流水線中的瓶頸一一最慢的那一段

多個任務同時執(zhí)行,但運用不同的資源

其潛在的加速比=流水線的級數(shù)

流水段所需時間不均衡將降低加速比

流水線存在裝入時間和排空時間,使得加速比降低

由于存在相關(guān)問題,會導致流水線停頓

流水線止常工作的根本條件

增加存放器文件保存當前段傳送到下一段的數(shù)據(jù)和限制信息

存儲器帶寬是非流水的5倍

指令流水線通過指令重疊減小

CPI

充分利用數(shù)據(jù)通路

當前指令執(zhí)行時,啟動下一條指令

其性能受限于花費時間最長的段:解決方法:

串聯(lián):將最慢段進一步劃分

并聯(lián):增加部件

檢測和消退相關(guān)

如何有利于流水線技術(shù)的應用

全部的指令都等長

只有很少的指令格式

只用Load/Store來進展存儲器訪問

TP:吞吐率

S加速比

E效率.設備利用效率

2、流水線的相關(guān)

采納流水線技術(shù)勢必會帶來流水線相關(guān)問題,雖然我們運用等

待策略總是可以解決相關(guān),但是,流水線限制必需能檢測相關(guān),否那

么由軟件設計來幸免

構(gòu)造相關(guān)

同一時間兩種方式運用同一資源

(停頓等待)

數(shù)據(jù)相關(guān)

在數(shù)據(jù)未打算好之前,就須要運用數(shù)據(jù)當前指令的執(zhí)行須要上

一條指令的結(jié)果(RAW,WAW,WAR

硬件方法:采納定向技術(shù),軟件方法:指變更指令依次,插入緩

沖槽,指令集調(diào)度)

RAW(寫后讀)由于實際的數(shù)據(jù)交換需求而引起的

WAR(讀后寫)由于重復運用存放器名“門”引起的

DLX

5

段根本流水線不會有此類相關(guān)因為,全部的指令都是5段,并且

讀操作總是在第2段,而寫操作在第5段。

WAW(寫后寫〕也是由于重復運用存放器“門”引起的

在DLX

5段根本流水線中,也不會發(fā)生。因為全部指令都是5段,并且

寫操作都在第5段,在后面的困難的流水線中我們將會看到

WAR

和WAW

相關(guān)。

限制相關(guān)

由于限制類指令引起的,試圖在條件未評估之前,就做確定

分支須要解決兩個問題:分支目標地址(轉(zhuǎn)移勝利意謂著PC值

不是

PC+4),轉(zhuǎn)移條件是否有效,這兩點在DLX中都在流水線的靠后

段中確定

譯碼在ID段后,轉(zhuǎn)移地址必需在ID段后才知道,此時取進來的

指令可能是錯誤的指令

解決限制相關(guān)的靜態(tài)方法:

1、Stall:直到分支方向確定

2、預料分支失敗:干脆執(zhí)行后繼指令,假如分支實際狀況為分

支勝利,那么撤銷流水線中的指令對流水線狀態(tài)的更新

DLX分支指令平均47%為分支失敗

由于PC+4已經(jīng)計算出來,因此可以用它來取下一條指令

3、預料分支勝利:平均53%

DLX

分支為分支勝利,但分支目標地址在ID段才能計算出目標地址

4、延遲轉(zhuǎn)移:選擇指令來填充延遲槽

3、異樣

準確中斷

非準確中斷

異樣發(fā)生在指令中,并且要求復原執(zhí)行,要求二二,流水線必需平

安地

shut

down

PC必需保存,假如重新起先的是一條分支指令,它須要重新執(zhí)

引起異樣的指令前面的指令都已執(zhí)行完,故障后的指令可以重

新從故障點后執(zhí)行

志向狀況,引起故障的指令沒有變更機器的狀態(tài)

要正確的處理這類異樣懇求,必需保證故障指令不產(chǎn)生副作用

準確中斷對整數(shù)流水線而言,不是太難實現(xiàn)

第四章

指令級并行

本章探究的是削減停頓(stalls)數(shù)的方法和技術(shù)

流水線提高的是指令帶寬(吞吐率),而不是單條指令的執(zhí)行速

相關(guān)限制了流水線性能的發(fā)揮

構(gòu)造相關(guān):須要更多的硬件資源

數(shù)據(jù)相關(guān):須要定向,編譯器調(diào)度

限制相關(guān):盡早檢測條件,計算目標地址,延遲轉(zhuǎn)移,預料

增加流水線的級數(shù)會增加相關(guān)產(chǎn)生的可能性

異樣,浮點運算使得流水線限制更加困難

編譯器可降低數(shù)據(jù)相關(guān)和限制相關(guān)的開銷

Load

延遲槽

Branch

延遲槽

Branch預料

1、指令級并行的概念

計算機系統(tǒng)的并行性,從執(zhí)行程序的角度,分為:

指令內(nèi)部并行:指令內(nèi)部的微操作

指令級并行:并行執(zhí)行兩條或多條指令

任務級或過程級并行:并行執(zhí)行兩個或多個過程或任務

作業(yè)或程序級并行:在多個作業(yè)或程序間并行

從處理數(shù)據(jù)的角度,并行性等級分為:

字串位串

字串位并

字并位串

全并行

提高并行的三種途徑

時間重疊

資源重復

資源共享

ILP:

無關(guān)的指令重疊執(zhí)行

流水線的平均CPI

Pipeline

CPI

Ideal

Pipeline

CPI

+

Struct

Stalls

+

RAW

Stalls

WAR

Stalls

+

WAW

Stalls

+

Control

Stalls

2、硬件方案:

指令級并行

為什么要運用硬件調(diào)度方案?

在編譯時無法確定的相關(guān),可以通過硬件調(diào)度來優(yōu)化

編譯器簡潔

代碼在不同組織構(gòu)造的機器上,同樣可以有效的運行

根本思想:

允許

stall后的指令接著向前流淌

DIVDF0,F2,F4

ADDDF10,F0,F8

SUBDF12,F8,F14

允許亂序執(zhí)行(out-of-order

execution)

=>

out-of-order

completion

硬件方案之一:

記分牌

記分牌限制的四階段

1、Issue一指令譯碼,檢測構(gòu)造相關(guān)

假如當前指令所運用的功能部件空閑,并且沒有其他活動的指

令運用一樣的目的存放器(WAW),記分牌放射該指令到功能部件,并

更新記分牌內(nèi)部數(shù)據(jù),假如有構(gòu)造相關(guān)或WAW相關(guān),那么該指令的

放射暫停,并且也不放射后繼指令,直到相關(guān)解除.

2、Read

operands—沒有數(shù)據(jù)相關(guān)時,讀操作數(shù)

假如從前已放射的正在運行的指令不對當前指令的源操作數(shù)存

放器進展寫操作,或者一個正在工作的功能部件已經(jīng)完成了對該存

放器的寫操作,那么該操作數(shù)有效.

操作數(shù)有效時,記分牌限制功能部件讀操作數(shù),打算執(zhí)行。

記分牌在這一步動態(tài)地解決了RAW相關(guān),指令可能會亂序執(zhí)行。

3^Execution—取到操作數(shù)后執(zhí)行

(EX)

接收到操作數(shù)后,功能部件起先執(zhí)行.

當計算出結(jié)果后,它通知記分牌,可以完畢該條指令的執(zhí)行.

4^Write

result—finish

execution

(WB)

一旦記分牌得到功能部件執(zhí)行完畢的信息后,記分牌檢測WAR

相關(guān),假如沒有WAR相關(guān),就寫結(jié)果,假如有WAR

相關(guān),那么暫停該條指令。

Example:

DIVDF0,F2,F4

ADDDF10,F0,F8

SUBDF8,F8,F14

CDC

6600

scoreboard

將暫停SUBD直到ADDD讀取操作數(shù)后,才進入WR段處理。

記分牌的主要思想是:允許stall后的指令接著進展處理

可以out-of-order

execution

=>

out-of-order

completion

ID

段檢測構(gòu)造相關(guān)和WAW相關(guān)

6600

scoreboard的缺陷:

沒有定向數(shù)據(jù)通路

指令窗口較小,僅局限于根本塊內(nèi)的調(diào)度

功能部件數(shù)較少,簡單產(chǎn)生構(gòu)造相關(guān),特殊是其Load

store操作也是用IU部件完成的

構(gòu)造沖突時不能放射

WAR相關(guān)是通過等待解決的

WAW相關(guān)時,不會進入IS階段

動態(tài)調(diào)度方案之二:Tomasulo

Algorithm

Tomasulo

算法的三階段:性能受限于Common

Data

Bus

1、Issue—從FP操作隊列中取指令

假如RS空閑(no

structural

hazard),那么限制放射指令和操作數(shù)

(renames

registers).

消退WAR,WAW相關(guān)

2、Execution-operate

on

operands

(EX)

當兩操作數(shù)就緒后,就可以執(zhí)行

假如沒有打算好,那么監(jiān)測Common

Data

Bus

以獲得結(jié)果。通過推遲指令執(zhí)行幸免RAW相關(guān)

3、Write

result—finish

execution

(WB)

將結(jié)果通過Common

Data

Bus傳給全部等待該結(jié)果的部件;

表示RS可用

Tomasulo

Scoreboard

流水化的功能部件

多個功能部件

(6

load,3

store,3

+,2

x/+)

(1

Ioad/store,l

指令窗口大小:

14

instructions

5

instructions

有構(gòu)造沖突時不放射

一樣

WAR:

用存放器重命名幸免

stall

來幸免

WAW:用存放器重命名幸免

停頓放射

從FU播送結(jié)果

寫存放器方式

Control:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論