計算機體系結構復習_第1頁
已閱讀1頁,還剩170頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京理工大學計算機學院,復習,計算機系統(tǒng)結構,北京理工大學計算機學院,復習,考試題型術語解釋選擇題填空題問答題計算題,北京理工大學計算機學院,1.1 計算機系統(tǒng)的多級層次結構 計算機系統(tǒng)=軟件+硬件/固件 可以從多個角度考察計算機系統(tǒng)的結構 一種觀點:從使用語言的角度,可以將計算機系統(tǒng)按功能劃分為多級層次結構,第1章,北京理工大學計算機學院,虛擬機概念 從不同角度所看到

2、的計算機系統(tǒng)的屬性是不同的,大部分人對計算機的認識只需要在某一個層次上。 虛擬計算機即是由軟件實現(xiàn)的機器。從學科領域來劃分第0和第1級屬于計算機組成與系統(tǒng)結構第2至第4級是系統(tǒng)軟件第5級是應用軟件,第1章,北京理工大學計算機學院,翻譯(Translation):先用轉換程序?qū)⒏咭患墮C器級上的程序整個地變換成低一級機器級上可運行的等效程序,然后再在低一級機器級上去實現(xiàn)的技術。(先翻譯后執(zhí)行)解釋(Interpret

3、ation):在低一級機器級上用它的一串語句或指令來等效高一級機器上的一條語句或指令的功能,通過對高一級機器語言程序中的每條語句或指令逐條解釋來實現(xiàn)的技術 。(邊解釋邊執(zhí)行),第1章,北京理工大學計算機學院,翻譯和解釋是語言實現(xiàn)的兩種基本技術。一般來說,解釋執(zhí)行比翻譯花的時間多,但占用存儲空間較少。 軟件和硬件實現(xiàn)在邏輯功能上等效。 計算機系統(tǒng)結構設計者的主要任務就是要確定軟硬件的分界;軟件、硬件和固件的功能分配。,

4、第1章,北京理工大學計算機學院,1.2 計算機系統(tǒng)結構、組成與實現(xiàn),我們這里所稱的計算機系統(tǒng)結構或計算機體系結構(Computer Architecture) 指的是層次結構中傳統(tǒng)機器級的系統(tǒng)結構,其界面之上的功能包括操作系統(tǒng)級、匯編語言級、高級語言級和應用語言級中所有軟件的功能。界面之下的功能包括所有硬件和固件的功能。,第1章,北京理工大學計算機學院,計算機系統(tǒng)結構的定義1. 定義一 Amdahl于1964年在推出I

5、BM360系列計算機時提出:程序員所看到的計算機系統(tǒng)的屬性,即概念性結構和功能特性。2.定義二 計算機系統(tǒng)結構是對計算機系統(tǒng)中各級界面的劃分、定義及其上下的功能分配。,第1章,北京理工大學計算機學院,透明性概念 本來存在的事物或?qū)傩裕瑥哪撤N角度看似乎不存在。計算機組成 計算機組成是指計算機系統(tǒng)結構的邏輯實現(xiàn)。包括機器級內(nèi)的數(shù)據(jù)流和控制流的組成以及邏輯設計等。計算機實現(xiàn) 計算機實

6、現(xiàn)是指計算機組成的物理實現(xiàn)。它主要著眼于器件技術和微組裝技術。,第1章,北京理工大學計算機學院,計算機系統(tǒng)結構、組成與實現(xiàn)三者關系: 1、系統(tǒng)結構要考慮組成和實現(xiàn)的發(fā)展, 不要有過多或不合理的限制; 2、組成要考慮系統(tǒng)結構和實現(xiàn), 決定于系統(tǒng)結構,受限于實現(xiàn); 3、組成與實現(xiàn)不是被動的, 折中權衡; 4、實現(xiàn)是物質(zhì)基礎。,第1章,北京理工大學計算機學院,1.3

7、 軟硬取舍與計算機系統(tǒng)的設計思路,軟硬取舍的基本原則,第一個基本原則是,在現(xiàn)有硬件和器件條件下,系統(tǒng)要有高的性能價格比。,第1章,北京理工大學計算機學院,第二個基本原則是,要考慮到準備采用和可能采用的組成技術,使它盡可能不要過多或不合理地限制各種組成、 實現(xiàn)技術的采用。第三個基本原則是,不能僅從“硬”的角度去考慮如何便于應用組成技術的成果和發(fā)揮器件技術的進展,還應從“軟”的角度把為編譯和操作系統(tǒng)的實現(xiàn),以至高級語言程序的設計提供更多

8、更好的硬件支持放在首位。,第1章,北京理工大學計算機學院,計算機系統(tǒng)設計的主要方法方法1:由上向下(Top-Down)方法2:由下向上(Bottom-Up)方法3:中間開始(Middle-Out),第1章,北京理工大學計算機學院,1.4 計算機設計的量化準則Amdahl定律 系統(tǒng)中某一部件由于采用某種更快的執(zhí)行方式后整個系統(tǒng)性能的提高與這種執(zhí)行方式的使用頻率或占總執(zhí)行時間的比例有關。 在Amdahl定律中,

9、加速比與兩個因素有關:,第1章,北京理工大學計算機學院,改進后整個任務的執(zhí)行時間為:其中T0為改進前的整個任務的執(zhí)行時間。改進后整個系統(tǒng)的加速比為:其中(1-Fe)表示不可改進部分。,第1章,北京理工大學計算機學院,CPU性能公式程序執(zhí)行的CPU時間為 :,,第1章,北京理工大學計算機學院,系統(tǒng)結構的評價標準1. 時鐘頻率(主頻):用于同類處理機之間。2. 指令執(zhí)行速度 一種很經(jīng)典的表示方法 MIPS (Mil

10、lion Instructions Per Second), KIPS, GIPS, TIPS,第1章,北京理工大學計算機學院,3. 等效指令速度:吉普森(Gibson)法,第1章,北京理工大學計算機學院,1.5 對系統(tǒng)結構的影響因素軟件可移植性的定義 軟件不用修改或只需少量加工就能由一臺機器搬到另一臺機器上運行,即同一軟件可以應用于不同的環(huán)境。 實現(xiàn)軟件可移植性的幾種技術 技術一:統(tǒng)一高級語言

11、 技術二:采用系列機思想 技術三:模擬與仿真,第1章,北京理工大學計算機學院,1.采用統(tǒng)一的高級語言方法方法:采用同一種不依賴于任何具體機器的高級語言編寫系統(tǒng)軟件和應用軟件。,第1章,北京理工大學計算機學院,2.采用系列機方法 系列機定義:同一廠家生產(chǎn)的具有相同的系統(tǒng)結構,不同組成和實現(xiàn)的一系列計算機系統(tǒng)。實現(xiàn)方法: 在系統(tǒng)結構基本不變的基礎上,根據(jù)不同性能的要求和當時的器件發(fā)展情況,設計出各

12、種性能、價格不同的計算機系統(tǒng)。一種系統(tǒng)結構可以有多種組成,一種組成可以有多種物理實現(xiàn)。,第1章,北京理工大學計算機學院,軟件兼容性設計方法 原因:軟件相對于硬件的成本越來越貴,已積累了大量成熟的系統(tǒng)軟件和應用軟件。兼容種類 向后兼容 在某一時間生產(chǎn)的機器上運行的目標軟件能夠直接運行于更晚生產(chǎn)的機器上。 向前兼容 向上兼容 在低檔機器上運行的目標軟件能夠直接運行于高檔機器上。 向下兼容,第1章,北京理工大

13、學計算機學院,其中向后兼容最重要,必須做到,向上兼容盡量做到,向前兼容和向下兼容,可以不考慮。兼容機定義: 不同廠家生產(chǎn)的具有相同的系統(tǒng)結構的計算機系統(tǒng)。,北京理工大學計算機學院,3.采用模擬與仿真方法定義: 在一臺現(xiàn)有的計算機上實現(xiàn)另一臺計算機的指令系統(tǒng)。 全部用軟件實現(xiàn)的叫模擬。 用硬件、固件或軟件、硬件、固件混合實現(xiàn)的叫仿真。,第1章,北京理工大學計算機學院,第1章,模擬的實現(xiàn)方法:

14、 在A計算機上通過解釋方法實現(xiàn)B計算機的指令系統(tǒng),即B機器的每一條指令用一段A機器的程序進行解釋執(zhí)行。A機器稱為宿主機,B機器稱為虛擬機。仿真的實現(xiàn)方法: 直接用A機器的一段微程序解釋執(zhí)行B機器的每條指令。A機器稱為宿主機,B機稱為目標機。 仿真——微程序——控存中 模擬—— 機器語言——主存中,北京理工大學計算機學院,軟件移植方法區(qū)別: A 統(tǒng)一高級語言 解決結構相同或完全不同的各種機器上的軟件移植,

15、是重要方向。 問題:語言標準化很重要,短期很難,只能相對統(tǒng)一。B 系列機 普遍采用,只解決同一系列結構內(nèi)的軟件兼容。 問題:兼容的約束阻礙系統(tǒng)結構取得突破進展。,第1章,北京理工大學計算機學院,C 模擬靈活性較大,可實現(xiàn)不同系統(tǒng)間的軟件移植。問題:結構差別大時,效率和速度急劇下降。D 仿真 速度損失小,可實現(xiàn)不同系統(tǒng)間的軟件移植。 問題:靈活性較小,只能在結構差別不大的機器間采用。需結合模擬。,第1章,

16、北京理工大學計算機學院,1.6 系統(tǒng)結構中的并行性及計算機系統(tǒng)的分類,并行性概念,并行性包含同時性和并發(fā)性二重含義。 同時性——兩個或多個事件在同一時刻發(fā)生。 并發(fā)性——兩個或多個事件在同一時間間隔內(nèi)發(fā)生。,第1章,北京理工大學計算機學院,并行性開發(fā)的途徑 時間重疊資源重復資源共享,第1章,北京理工大學計算機學院,并行處理計算機的結構,并行處理計算機是強調(diào)并行處理的系統(tǒng),除了分布處理系統(tǒng)外,按其基本結構特征

17、,可以分成流水線計算機、陣列處理機、多處理機系統(tǒng)和數(shù)據(jù)流計算機等 4 種不同的結構。,北京理工大學計算機學院,如果多臺計算機通過通道或通信線路實現(xiàn)互連,共享某些如磁帶、磁盤等外設,則稱為松散耦合系統(tǒng)。 如果多臺計算機之間通過總線或高速開關互連,共享主存,則稱為緊密耦合系統(tǒng)。,第1章,北京理工大學計算機學院,佛林(Flynn)分類法 按照指令流和數(shù)據(jù)流的多倍性特征對計算機系統(tǒng)進行分類。 指令流:機器執(zhí)行的指

18、令序列。 數(shù)據(jù)流:由指令流調(diào)用的數(shù)據(jù)序列,包括輸入數(shù)據(jù)和中間結果。 多倍性:在系統(tǒng)性能瓶頸部件上同時處于同一執(zhí)行階段的指令或數(shù)據(jù)的最大可能個數(shù)。,第1章,北京理工大學計算機學院,四種類型單指令流單數(shù)據(jù)流SISD (Single Instruction Single Datastream); 單指令流多數(shù)據(jù)流SIMD (Single Instruction Multiple Datastream); 多指令流單

19、數(shù)據(jù)流MISD (Multiple Instruction Single Datastream); 多指令流多數(shù)據(jù)流MIMD (Multiple Instruction Multiple Datastream),第1章,北京理工大學計算機學院,2.1 數(shù)據(jù)表示 數(shù)據(jù)類型包括數(shù)據(jù)表示和數(shù)據(jù)結構。 數(shù)據(jù)表示的定義:數(shù)據(jù)表示是指計算機硬件能夠直接識別,可以被指令系統(tǒng)直接調(diào)用的那些數(shù)據(jù)類型。

20、,第2章,北京理工大學計算機學院,自定義數(shù)據(jù)表示 1、帶標志符的數(shù)據(jù)表示法,第2章,2、數(shù)據(jù)描述符表示法數(shù)據(jù)描述符與標志符的區(qū)別: 標志符與數(shù)據(jù)合存于一個存儲單元中,用于描述單個數(shù)據(jù)的類型和屬性(作用于一個數(shù)據(jù));而描述符則和數(shù)據(jù)分開存放,主要用于描述成塊數(shù)據(jù)的特征(作用于一組數(shù)據(jù))。,北京理工大學計算機學院,最高三位為101時表示數(shù)據(jù)描述符,最高三位為000時表示數(shù)據(jù)。,第3章,北京理工大學計算機學院,2.2 尋址方

21、式尋址方式:尋找操作數(shù)及數(shù)據(jù)存放單元的方法。主要內(nèi)容:尋址方式的設計思想和設計方法。方法:分析各種尋址技術的優(yōu)缺點,如何選擇和確定尋址技術。,第2章,北京理工大學計算機學院,定位方式 程序需要定位的主要原因:程序的獨立性;程序的模塊化設計;數(shù)據(jù)結構在程序運行過程中,其大小往往是變化的;有些程序本身很大,大于分配給它的主存物理空間。,第2章,北京理工大學計算機學院,直接定位方式:在程序裝入主存儲器之前,程序中的指令和

22、數(shù)據(jù)的主存物理地址就已經(jīng)確定了的稱為直接定位方式。靜態(tài)定位:在程序裝入主存儲器的過程中隨即進行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為靜態(tài)定位方式。動態(tài)定位:在程序執(zhí)行過程中,當訪問到相應的指令或數(shù)據(jù)時才進行地址變換,確定指令和數(shù)據(jù)的主存物理地址的稱為動態(tài)定位方式。,第2章,北京理工大學計算機學院,2.3 指令系統(tǒng)的設計和優(yōu)化 主要目標:節(jié)省程序的存儲空間指令格式盡量規(guī)整,便于譯碼研究內(nèi)容:操作碼的優(yōu)化表示;地址碼的優(yōu)

23、化表示,第2章,北京理工大學計算機學院,操作碼的優(yōu)化表示 操作碼的三種編碼方法: 固定長度,Huffman編碼、擴展編碼,第2章,北京理工大學計算機學院,Huffman編碼法 操作碼的最短平均長度(理想情況),又稱信息源熵,可通過下式計算: 其中:Pi表示第i種操作碼在程序中出現(xiàn)的概率。信息冗余量:,第2章,北京理工大學計算機學院,Huffman編碼的具體碼值不惟一,但平均碼長肯定是惟一的。 Hu

24、ffman操作碼的主要缺點: 操作碼長度很不規(guī)整,硬件譯碼困難。 與地址碼共同組成固定長的指令比較困難。,第2章,北京理工大學計算機學院,擴展編碼法 由固定長操作碼與Huffman編碼法相結合形成的一種編碼方式,操作碼長度被限定使用有限的幾種碼長,仍體現(xiàn)高概率指令用短碼,低概率指令用長碼的思想,使操作碼的平均碼長雖大于Huffman編碼,但小于等長編碼,是一種實際可用的優(yōu)化編碼方法。,第2章,北京理工大學計算機學院,2.

25、4 指令系統(tǒng)的發(fā)展和改進 進一步增強原有指令的功能以及設置更為復雜的新指令取代原先由軟件子程序完成的功能,實現(xiàn)軟件功能的硬化。復雜指令系統(tǒng)計算機,簡稱CISC。 通過減少指令種類和簡化指令功能來降低硬件設計的復雜度,提高指令的執(zhí)行速度。精簡指令系統(tǒng)計算機,簡稱RISC。,第2章,北京理工大學計算機學院,指令系統(tǒng)的優(yōu)化設計 有兩個截然相反的方向:復雜指令系統(tǒng)計算機CISC(Complex Instr

26、uction Set Computer) 增強指令功能,設置功能復雜的指令 面向目標代碼、高級語言和操作系統(tǒng) 用一條指令代替一串指令2. 精簡指令系統(tǒng)計算機RISC(Reduced Instruction Set Computer) 只保留功能簡單的指令 功能較復雜的指令用子程序來實現(xiàn),第2章,北京理工大學計算機學院,CISC指令系統(tǒng)存在的問題: (1)指令系統(tǒng)龐大。 (2

27、)指令執(zhí)行速度低。 (3)編譯程序本身太長、太復雜。 (4)各種指令使用頻度都不會太高,且差別很大。 20%與80%律,第2章,北京理工大學計算機學院,RISC的定義與特點卡內(nèi)基梅隆大學(Carnegie Mellon)論述RISC的特點:1、大多數(shù)指令在單周期內(nèi)完成2、LOAD/STORE結構3、硬布線控制邏輯4、減少指令和尋址方式的種類5、固定的指令格式6、注重編譯優(yōu)化技術,第2章,北京理

28、工大學計算機學院,90年代初,IEEE的Michael Slater對RISC定義的描述:1、RISC為使流水線高效率執(zhí)行,應具有:簡單而統(tǒng)一格式的指令譯碼大部分指令可以單周期執(zhí)行完成僅Load和Store指令可以訪問存儲器簡單的尋址方式采用延遲轉移技術采用LOAD延遲技術2、RISC為使優(yōu)化編譯器便于生成優(yōu)化代碼,應具有:三地址指令格式、較多的寄存器、對稱的指令格式。,第2章,北京理工大學計算機學院,RIS

29、C的關鍵技術1、延時轉移技術定義:為了使指令流水線不斷流,在轉移指令之后插入一條不相關的有效的指令,而轉移指令被延遲執(zhí)行,這種技術稱為延遲轉移技術。 采用指令延遲轉移技術時,指令序列的調(diào)整由編譯器自動進行。,第2章,北京理工大學計算機學院,2、指令取消技術 采用指令延時技術,在許多情況下找不到可以用來調(diào)整的指令,故有些RISC采用指令取消技術,分為三種情況:(1) 向后轉移(循環(huán)程序)(2) 向前轉移(if-th

30、en)(3) 隱含轉移技術,第2章,北京理工大學計算機學院,3、重疊寄存器窗口技術(Overlapping Register Window)原因:RISC中,子程序比CISC中多, 因傳送參數(shù)而訪問存儲器的信息量很大。 重疊寄存器窗口技術由美國加洲大學伯克利分校的F .Baskett提出。實現(xiàn)方法: 設置一個數(shù)量比較大的寄存器堆,并把它劃分成很多個窗口。在每個過程使用的幾個窗口中有一個窗口是與前一個過程共用,還有個

31、窗口是與下一個過程共用。,第2章,北京理工大學計算機學院,4、指令流調(diào)整技術 目標:通過變量重新命名消除數(shù)據(jù)相關,提高流水線執(zhí)行效率。5、以硬件為主固件為輔 固件的主要缺點是:執(zhí)行速度低。 主要優(yōu)點是:便于實現(xiàn)復雜指令,便于修改指令系統(tǒng)。 以硬聯(lián)邏輯為主來實現(xiàn)指令系統(tǒng)。 對于復雜指令,也使用微程序技術實現(xiàn)。,第2章,北京理工大學計算機學院,3.1 輸入輸出系統(tǒng)概述 輸入輸出系統(tǒng)的特點 輸

32、入輸出系統(tǒng)涉及到機、光、電、磁、聲、自動控制等多種學科。 用戶無需了解輸入輸出系統(tǒng)和輸入輸出設備的具體細節(jié)就能使用輸入輸出設備。 處理機的外部世界包括:本地和遠程用戶、系統(tǒng)操作員、操作控制臺、輸入輸出設備、輔助存儲器、其它處理機、各種通信設備和虛擬現(xiàn)實系統(tǒng)等。,第3章,北京理工大學計算機學院,1、異步性2、實時性3、與設備無關性,第3章,北京理工大學計算機學院,輸入輸出系統(tǒng)的發(fā)展經(jīng)歷了 3 個階段,

33、對應于 3 種方式,即程序控制輸入輸出(包括全軟的、程序查詢狀態(tài)驅(qū)動的、中斷驅(qū)動的幾種)、直接存儲器訪問(DMA)和I/O處理機方式。這 3 種方式可以分別用在不同的計算機系統(tǒng)上,也可以用在同一個計算機系統(tǒng)上作為相互補充。,第3章,北京理工大學計算機學院,3.2 磁盤陣列 RAID是Redundent Array of Inexpensive Disks的縮寫,直譯為“廉價冗余磁盤陣列”,也簡稱為“磁盤陣列”。后來RAID中

34、的字母I被改作為Independent,RAID就成了“獨立冗余磁盤陣列”。,第3章,北京理工大學計算機學院,第3章,,北京理工大學計算機學院,3.3 總 線 設 計 總線的類型 就允許信息傳送的方向來說,總線可以有單向傳輸和雙向傳輸兩種。雙向傳輸又有半雙向和全雙向的不同。 總線按其用法可以分成專用的和非專用的。,第3章,北京理工大學計算機學院,總線的控制方式 集中式控制 分布式總線控制

35、優(yōu)先次序裁決(1)鏈式查詢方式(2)計數(shù)器定時查詢方式(3)獨立請求方式,第3章,北京理工大學計算機學院,總線的通信技術 同步通信異步通信“數(shù)據(jù)寬度”指的是I/O設備取得I/O總線使用權后所傳送數(shù)據(jù)的總量。 數(shù)據(jù)通路寬度指的是數(shù)據(jù)傳送的物理寬度,即一個時鐘周期所傳送的信息量,它直接取決于數(shù)據(jù)總線的線數(shù)。,第3章,北京理工大學計算機學院,3.4 通道處理機 通道種類 通道分為三種類型:字節(jié)多路通道

36、、選擇通道和數(shù)組多路通道。1、字節(jié)多路通道 為多臺低速或中速的外圍設備服務。 字節(jié)多路通道包含有多個子通道,每個子通道連接一個設備控制器。,第3章,北京理工大學計算機學院,2、選擇通道 選擇通道為高速外圍設備服務。 每個選擇通道只有一個以成組方式工作的子通道,逐個為多臺高速外圍設備服務。,第3章,北京理工大學計算機學院,3、數(shù)組多路通道 數(shù)組多路通道:把字節(jié)多路通道和選擇通道的

37、特性結合起來。 每次為一臺高速設備傳送一個數(shù)據(jù)塊,并輪流為多臺外圍設備服務。 數(shù)組多路通道可以被看作是以成組方式工作的高速多路通道。 從磁盤存儲器讀出一個文件的的過程分為三步:定位、找扇區(qū)、讀出數(shù)據(jù)。,第3章,北京理工大學計算機學院,通道流量分析 通道流量:單位時間內(nèi)能夠傳送的最大數(shù)據(jù)量。又稱為通道吞吐率,通道數(shù)據(jù)傳輸率等。 通道最大流量:通道在滿負荷工作狀態(tài)下的流量

38、。,第3章,北京理工大學計算機學院,三種通道的最大流量計算公式如下:,第3章,北京理工大學計算機學院,通道流量與連接在這個通道上的所有設備的數(shù)據(jù)傳輸率的關系如下: 為了保證通道能夠正常工作,不丟失數(shù)據(jù),各種通道實際流量應該不大于通道最大流量,即滿足下列不等式關系: fBYTE?fMAX·BYTE, fSELETE ? fMAX·SELETE,    fBLOCK ? f

39、MAX·BLOCK,第3章,北京理工大學計算機學院,4.1 存儲體系的概念和并行存儲系統(tǒng)存儲器的主要性能:速度、容量、價格 速度用存儲器的訪問周期、讀出時間、頻帶寬度等表示。 容量用字節(jié)B、千字節(jié)KB、兆字節(jié)MB和千兆字節(jié)GB等單位表示。 價格用單位容量的價格表示,如$/bit。存儲系統(tǒng)的關鍵是如何組織好速度、容量和價格均不相同的存儲器,使這個存儲器的速度接近速度最快的那個存儲器,存儲容量與容量最大的那個存儲

40、器相等,單位容量的價格接近最便宜的那個存儲器。,第4章,北京理工大學計算機學院,1、并行訪問存儲器方法:把m字w位的存儲器改變成為m/n字n×w位的存儲器。邏輯實現(xiàn):把地址碼分成兩個部分,一部分作為存儲器的地址,另一部分負責選擇數(shù)據(jù)。主要缺點:訪問沖突大(1) 取指令沖突(2) 讀操作數(shù)沖突(3) 寫數(shù)據(jù)沖突(4) 讀寫沖突,第4章,北京理工大學計算機學院,2、高位交叉訪問存儲器主要目的:擴大存儲器容量實現(xiàn)

41、方法:用地址碼的高位區(qū)分存儲體號3、低位交叉訪問存儲器主要目的:提高存儲器訪問速度實現(xiàn)方法:用地址碼的低位區(qū)分存儲體號,第4章,北京理工大學計算機學院,存儲系統(tǒng)(存儲體系、存儲層次)的定義兩個或兩個以上速度、容量和價格各不相同的存儲器用硬件、軟件、或軟件與硬件相結合的方法連接起來成為一個存儲系統(tǒng)。這個系統(tǒng)對應用程序員透明,并且,從應用程序員看,它是一個存儲器,這個存儲器的速度接近速度最快的那個存儲器,存儲容量與容量最大的那個存

42、儲器相等,單位容量的價格接近最便宜的那個存儲器。,第4章,北京理工大學計算機學院,主存-輔存層次 又稱虛擬存儲系統(tǒng),由主存儲器和磁盤存儲器構成。 主要目的:擴大存儲器容量,彌補主存容量的不足。 在主存和輔存之間,增加輔助的軟硬件,讓它們構成一個整體。從CPU看,速度接近主存的速度,容量是虛擬的地址空間,每位價格是接近于輔存的價格。由于虛擬存儲系統(tǒng)需要通過操作系統(tǒng)來調(diào)度,因此對系統(tǒng)程序員是不透明的,

43、但對應用程序員是透明的。,第4章,北京理工大學計算機學院,Cache-主存層次: 又稱Cache存儲系統(tǒng),由Cache和主存儲器構成。 主要目的:提高存儲器速度,彌補主存速度的不足。 在Cache和主存之間,增加輔助硬件,讓它們構成一個整體。從CPU看,速度接近Cache的速度,容量是主存的容量,每位價格接近于主存的價格。由于Cache存儲系統(tǒng)全部用硬件來調(diào)度,因此它對系統(tǒng)程序員和應用程序員都是透

44、明的。,第4章,北京理工大學計算機學院,程序局部性原理局部性分為時間上的局部性和空間上的局部性。時間上的局部性是指最近訪問的代碼是不久將被訪問的代碼,這是由程序循環(huán)造成的??臻g上的局部性是指那些地址上相鄰近的代碼可能會被一起訪問,這主要是由于指令通常是順序執(zhí)行的,以及數(shù)據(jù)一般是以向量、陣列等形式簇聚地存儲所致。 所以,程序在執(zhí)行時所用到的指令和數(shù)據(jù)的地址分布不會是隨機的,而是相對簇聚的。,第4章,北京理工大學計算機學

45、院,存儲系統(tǒng)的單位容量平均價格計算公式:S2>>S1時, C≈C2, 但S2與S1不能相差太大,M1(S1, C1 , T1),M2(S2, C2 , T2),,第4章,北京理工大學計算機學院,存儲系統(tǒng)的速度表示方法:訪問周期、存取周期、存儲周期、存取時間、讀出時間等。命中率定義:在M1存儲器中訪問到的概率。N1: M1的訪問次數(shù)N2: M2的訪問次數(shù)訪問周期與命中率的關系:同時啟動時:T=H

46、T1+(1-H)T2不同時啟動時:T=T1+(1-H)T2當命中率H→1時,T→T1,第4章,北京理工大學計算機學院,存儲系統(tǒng)的訪問效率: 存儲系統(tǒng)的訪問效率主要與命中率和兩級存儲器的速度之比有關。,第4章,北京理工大學計算機學院,采用預取技術提高命中率方法:不命中時,把M2存儲器中相鄰幾個單元組成的一個數(shù)據(jù)塊都取出來送入M1存儲器中。計算公式:,其中:H’是采用預取技術后的命中率;H是原來的命中率;n為數(shù)據(jù)塊

47、大小與數(shù)據(jù)重復使用次數(shù)的乘積。,第4章,北京理工大學計算機學院,提高存儲系統(tǒng)速度的途徑: 一是提高命中率H。 二是兩個存儲器的速度不要相差太大。 三加快內(nèi)部地址映像及變換,第4章,北京理工大學計算機學院,4.2 虛擬存儲器虛擬存儲器工作原理 虛擬存儲器由主存儲器和聯(lián)機工作的外存儲器(磁盤存儲器)共同組成的。 把主存儲器和虛擬存儲器都劃分成固定大小

48、的頁,主存儲器的頁稱為實頁,虛擬存儲器中的頁稱為虛頁。,第4章,北京理工大學計算機學院,用戶號U,虛頁號P,頁內(nèi)偏移D,多用戶虛擬地址Av的組成,實頁號p,頁內(nèi)偏移d,主存地址A的組成,一個主存地址A由兩部分組成,實頁號p和頁內(nèi)偏移d。 一個虛地址Av由三部分組成,用戶號U、虛頁號P和頁內(nèi)偏移D。,第4章,北京理工大學計算機學院,內(nèi)部地址變換:多用戶虛擬地址Av變換成主存實地址A。多用戶虛擬地址中的頁內(nèi)偏移

49、D直接作為主存實地址中的頁內(nèi)偏移d。主存實頁號p與它的頁內(nèi)偏移d直接拼接起來就得到主存實地址A。外部地址變換: 首先查外頁表得到磁盤存儲器實地址。 把磁盤存儲器實地址和主存儲器實頁號送入輸入輸出處理機。 把要訪問數(shù)據(jù)所在的一整頁都從磁盤存儲器調(diào)入到主存儲器。,第4章,北京理工大學計算機學院,地址的映像與變換 三種地址空間:虛擬地址空間,主存儲器地址空間,輔存地址空間 地址映像:把虛擬地址空

50、間映像到主存地址空間 地址變換:在程序運行時,把虛地址變換成主存實地址 因地址映像和變換方法不同,有三種虛擬存儲器:頁式虛擬存儲器、段式虛擬存儲器、段頁式虛擬存儲器。,第4章,北京理工大學計算機學院,加快內(nèi)部地址變換的方法造成虛擬存儲器速度降低的主要原因:(1) 要訪問主存儲器須先查段表或頁表(2) 可能需要多級頁表頁表級數(shù)的計算公式:其中:Np為頁面的大小Nv為虛擬存儲空間大小Nd為一個頁表存儲字的大

51、小,第4章,北京理工大學計算機學院,頁面替換算法的使用場合:(1) 虛擬存儲器中,主存頁面的替換,一般用軟件實現(xiàn)(2) Cache塊替換一般用硬件實現(xiàn)(3) 虛擬存儲器的快慢表中,快表存儲字的替換,用硬件實現(xiàn)(4) 虛擬存儲器中,用戶基地址寄存器的替換,用硬件實現(xiàn)(5) 在有些虛擬存儲器中目錄表的替換,第4章,北京理工大學計算機學院,1、頁面替換算法(1) 隨機算法(RAND Random algorithm):

52、 算法簡單,容易實現(xiàn);沒有利用歷史信息,沒有反映程序的局部性,命中率低。(2) 先進先出算法 (FIFO First-In First-Out algorithm): 比較容易實現(xiàn),利用了歷史信息,沒有反映程序的局部性。最先調(diào)入主存的頁面,很可能也是經(jīng)常要使用的頁面。,第4章,北京理工大學計算機學院,(3) 近期最少使用算法 (LFU Least Frequently Used algorithm):既充分利用了歷

53、史信息,又反映了程序的局部性,實現(xiàn)起來非常困難。(4) 最久沒有使用算法 (LRU Least Recently Used algorithm): 把LFU算法中的“多”與“少”簡化成“有”與“無”,實現(xiàn)起來比較容易。,第4章,北京理工大學計算機學院,(5) 最優(yōu)替換算法 (OPT OPTimal replacemant algorithm): 是一種理想化的算法。用來作為評價其它頁面替換算法好壞的標準。 在虛

54、擬存儲器中,實際上有可能采用只有FIFO和LRU兩種算法。,第4章,北京理工大學計算機學院,1、目錄表 基本思想:用一個小容量高速存儲器存放頁表。2、快慢表 快表TLB(Translation Lookaside Buffer):小容量(幾~幾十個字),高速硬件實現(xiàn),采用相聯(lián)方式訪問。 慢表:當快表中查不到時,從存放在主存儲器中的慢表中查找按地址訪問,用軟件實現(xiàn)。 快

55、表與慢表也構成了一個兩級存儲系統(tǒng)。,第4章,北京理工大學計算機學院,3、散列函數(shù) 目的:把相聯(lián)訪問變成按地址訪問,從而加大快表容量。 采用散列變換實現(xiàn)快表按地址訪問避免散列沖突:采用相等比較器地址變換過程:相等比較與訪問存儲器同時進行。,第4章,北京理工大學計算機學院,4.3 高速緩沖存儲器 (Cache ) 地址映像: 把存放在主存中的程序按照某種規(guī)則裝入到Cache中,并建立主存地址與Cache地址之

56、間的對應關系。地址變換: 當程序已經(jīng)裝入到Cache之后,在實際運行過程中,把主存地址變換成Cache地址。在選取地址映像方法要考慮的主要因素: 地址變換的硬件容易實現(xiàn);地址變換的速度要快;主存空間利用率要高;發(fā)生塊沖突的概率要小。,第4章,北京理工大學計算機學院,1、全相聯(lián)映像及其變換 映像規(guī)則:主存中的任意一塊都可以映像到Cache中的任意一塊。 如果Cache的塊數(shù)為Cb,主存的塊數(shù)

57、為Mb,映像關系共有:Cb×Mb種。 用硬件實現(xiàn)非常復雜。 在虛擬存儲器中,全部用軟件實現(xiàn)。,第4章,北京理工大學計算機學院,2、直接映像及其變換 映像規(guī)則:主存中一塊只能映像到Cache的一個特定的塊中。 計算公式:b=B mod Cb,其中:b為Cache的塊號,B是主存的塊號,Cb是Cache的塊數(shù)。 整個Cache地址與主存地址的低位部分完全相同

58、。,第4章,北京理工大學計算機學院,3、組相聯(lián)映像及其變換 組相聯(lián)映像實際上是全相聯(lián)映像和直接映像的折衷方案,所以其優(yōu)點和缺點介于全相聯(lián)和直接映像方式的優(yōu)缺點之間。映像規(guī)則(位選擇映像算法):主存和Cache按同樣大小劃分成塊;Cache劃分成大小相同的組,主存按照Cache組容量分區(qū)。主存每個分區(qū)中的塊容量與Cache的組容量相等。 主存塊到Cache組之間采用直接映像方式。在對應的組內(nèi)部采用全相聯(lián)映像方式,組內(nèi)隨便

59、放。,第4章,2013.04,北京理工大學計算機學院,Cache替換算法及其實現(xiàn)Cache替換算法使用的時間: 發(fā)生塊失效,且可以裝入新調(diào)入塊的幾個Cache塊都已經(jīng)被裝滿時。 直接映像方式實際上不需要替換算法。 全相聯(lián)映像方式的替換算法最復雜。,第4章,北京理工大學計算機學院,Cache的一致性問題本節(jié)討論的內(nèi)容僅限于單處理機、單存儲器。造成Cache與主存的不一致的原因:(1) 由于CPU寫Cache,沒有

60、立即寫主存。(2) 由于IO處理機或IO設備寫主存。,第4章,北京理工大學計算機學院,Cache的更新算法:(1) 寫直達法(寫通過法), Write-through CPU在執(zhí)行寫操作時,把數(shù)據(jù)同時寫入Cache和主存。(2) 寫回法 (抵觸修改法)Write-BackCPU數(shù)據(jù)只寫入Cache,不寫入主存,僅當替換時,才把修改過的Cache塊寫回到主存。,第4章,北京理工大學計算機學院,寫Cache的兩種方法:(1)

61、 不按寫分配法:在寫Cache不命中時,只把所要寫的字寫入主存。(2) 按寫分配法:在寫Cache不命中時,還把一個塊從主存讀入Cache。 目前,在寫回法中采用按寫分配法,在寫直達法中采用不按寫分配法。,第4章,北京理工大學計算機學院,Cache的預取算法預取算法有如下幾種:(1) 按需取:在出現(xiàn)Cache不命中時,把一個塊取到Cache中來。(2) 恒預取:無論Cache是否命中,都把下一塊取到Cache中。(3)

62、 不命中預?。寒擟ache不命中,把本塊和下一塊取到Cache中。主要考慮因素: 命中率的提高; Cache與主存之間通信量的增加。,第4章,北京理工大學計算機學院,5.1 重疊方式指令的重疊執(zhí)行方式1、順序執(zhí)行方式 執(zhí)行n條指令所用的時間為: 如果每段時間都為t,則執(zhí)行n條指令所用的時間為: T=3nt,第5章,北京理工大學計算機學院,主要優(yōu)點: 控制簡單,節(jié)省設備。主要缺點: 執(zhí)

63、行指令的速度慢,功能部件的利用率很低。2、一次重疊執(zhí)行方式 一種最簡單的流水線方式。 如果兩個過程的時間相等,則執(zhí)行n條指令的時間為:T=(1+2n)t,第5章,北京理工大學計算機學院,取指k,分析k,執(zhí)行k,取指k+1,分析k+1,執(zhí)行k+1,取指k+2,分析k+2,執(zhí),主要優(yōu)點:指令的執(zhí)行時間縮短。功能部件的利用率明顯提高。主要缺點:需要增加一些硬件。控制過程稍復雜。,第5章,北京理工大學計算機學

64、院,3、二次重疊執(zhí)行方式 如果三過程的時間相等,執(zhí)行n條指令的時間為:T=(2+n)t 理想情況下同時有三條指令在執(zhí)行。 處理機的結構要作比較大的改變,必須采用先行控制方式。,取指k+2,分析k+2,執(zhí)行k+2,取指k+1,分析k+1,執(zhí)行k+1,取指k,分析k,執(zhí)行k,第5章,北京理工大學計算機學院,先行控制方式的原理1、采用二次重疊執(zhí)行方式,必須解決兩個問題: (1) 有獨立的取指令部件、

65、指令分析部件 和指令執(zhí)行部件。 獨立的控制器:存儲控制器、指令控制器、運算控制器。 (2) 要解決訪問主存儲器的沖突問題 取指令、分析指令、執(zhí)行指令都可能要訪問存儲器。,第5章,北京理工大學計算機學院,2、解決訪存沖突的方法:(1) 采用低位交叉存取方式: 這種方法不能根本解決沖突問題。 取指令、讀操作數(shù)、寫結果。(2) 兩個獨立的存

66、儲器:獨立的指令存儲器和數(shù)據(jù)存儲器。 如果再規(guī)定,執(zhí)行指令所需要的操作數(shù)和執(zhí)行結果只寫到通用寄存器,那么,取指令、分析指令和執(zhí)行指令就可以同時進行。 在許多高性能處理機中,有獨立的指令Cache和數(shù)據(jù)Cache。這種結構被稱為哈佛結構。,第5章,北京理工大學計算機學院,(3) 采用先行控制技術 先行控制技術的關鍵是緩沖技術和預處理技術。

67、 緩沖技術是在工作速度不固定的兩個功能部件之間設置緩沖棧,用以平滑它們的工作。 在采用了緩沖技術和預處理技術之后,運算器能夠?qū)P挠跀?shù)據(jù)的運算,從而大幅度提高程序的執(zhí)行速度。,第5章,北京理工大學計算機學院,第5章,相關處理方法:推后讀設置相關專用通路,北京理工大學計算機學院,第5章,5.2 流水方式空間并行性: 設置多個獨立的操作部件。 多操作部件處理機。 超標量處理機。時間并行性: 采用流水

68、線技術。 不增加或只增加少量硬件就能使運算速度提高幾倍。 流水線處理機。 超流水線處理機。,北京理工大學計算機學院,流水線工作原理簡單流水線 流水線的每一個階段稱為流水步、流水步驟、流水段、流水線階段、流水功能段、功能段、流水級、流水節(jié)拍等。,分析器分析k+1,流水鎖存器,執(zhí)行部件執(zhí)行k,流水鎖存器,,,,,,,,,,,輸入,輸出,?t1,,,,,?t2,第5章,北京理工大學計算機學院,

溫馨提示

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

評論

0/150

提交評論