




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章計算機體系結構的基本概念1.計算機系統結構的經典定義程序員所看到的計算機屬性,即概念性結構與功能特性。2.透明性在計算機技術中,把這種本來存在的事物或屬性,但從某種角度看又好像不存在的概念稱為透明性。3.系列機由同一廠家生產的具有相同系統結構、但具有不同組成和實現的一系列不同型號的計算機。4.常見的計算機系統結構分類法有兩種:Flynn分類法、馮氏分類法Flynn分類法把計算機系統的結構分為4類:單指令流單數據流(SISD)單指令流多數據流(SIMD)多指令流單數據流(MISD)多指令流多數據流(MIMD)5. 改進后程序的總執行時間系統加速比為改進前與改進后總執行時間之比6. CPI(
2、Cycles Per Instruction):每條指令執行的平均時鐘周期數 CPI = 執行程序所需的時鐘周期數IC7. 存儲程序原理的基本點:指令驅動8. 馮諾依曼結構的主要特點1.以運算器為中心。2.在存儲器中,指令和數據同等對待。 指令和數據一樣可以進行運算,即由指令組成的程序是可以修改的。3.存儲器是按地址訪問、按順序線性編址的一維結構,每個單元的位數是固定的。4.指令的執行是順序的5.指令由操作碼和地址碼組成。6.指令和數據均以二進制編碼表示,采用二進制運算。9.軟件的可移植性一個軟件可以不經修改或者只需少量修改就可以由一臺計算機移植到另一臺計算機上正確地運行。差別只是執行時間的不
3、同。我們稱這兩臺計算機是軟件兼容的。實現可移植性的常用方法:采用系列機、模擬與仿真、統一高級語言 。軟件兼容:向上(下)兼容:按某檔機器編制的程序,不加修改就能運行于比它高(低)檔的機器。向前(后)兼容:按某個時期投入市場的某種型號機器編制的程序,不加修改地就能運行于在它之前(后)投入市場的機器。向后兼容是系列機的根本特征。兼容機:由不同公司廠家生產的具有相同系統結構的計算機 。10.并行性:計算機系統在同一時刻或者同一時間間隔內進行多種運算或操作。同時性:兩個或兩個以上的事件在同一時刻發生。并發性:兩個或兩個以上的事件在同一時間間隔內發生。 從處理數據的角度來看,并行性等級從低到高可分為:1
4、.字串位串:每次只對一個字的一位進行處理。 最基本的串行處理方式,不存在并行性。2字串位并:同時對一個字的全部位進行處理,不同字之間是串行的。 開始出現并行性。3.字并位串:同時對許多字的同一位(稱為位片)進行處理。 具有較高的并行性。4.全并行:同時對許多字的全部位或部分位進行處理。 最高一級的并行。從執行程序的角度來看,并行性等級從低到高可分為:1.指令內部并行:單條指令中各微操作之間的并行。2.指令級并行:并行執行兩條或兩條以上的指令。3.線程級并行:并行執行兩個或兩個以上的線程。 通常是以一個進程內派生的多個線程為調度單位。4.任務級或過程級并行:并行執行兩個或兩個以上的過程或任務(程
5、序段) 以子程序或進程為調度單元。5.作業或程序級并行:并行執行兩個或兩個以上的作業或程序。 提高并行性的技術途徑:1.時間重疊 引入時間因素,讓多個處理過程在時間上相互錯開,輪流重疊地使用同一套硬件設備的各個部分,以加快硬件周轉而贏得速度。2.資源重復 引入空間因素,以數量取勝。通過重復設置硬件資源,大幅度地提高計算機系統的性能。3.資源共享 這是一種軟件方法,它使多個任務按一定時間順序輪流使用同一套硬件設備。 第二章 計算機指令集結構1. CPU中用來存儲操作數的存儲單元的主要類型:堆棧、累加器、通用寄存器組2. 通用寄存器型指令集結構進一步細分為3種類型寄存器-寄存器型(RR型)寄存器-
6、存儲器型(RM型)存儲器-存儲器型(MM型)3.指令集結構的設計主要考慮3個因素:速度、成本、靈活性對指令集的基本要求:完整性、規整性、高效率、兼容性 4.設計RISC機器遵循的原則 1.指令條數少而簡單。只選取使用頻度很高的指令,在此基礎上補充一些最有用的指令。2.采用簡單而又統一的指令格式,并減少尋址方式;指令字長都為32位或64位。3.指令的執行在單個機器周期內完成。(采用流水線機制)4.只有load和store指令才能訪問存儲器,其他指令的操作都是在寄存器之間進行。 (即采用load-store結構)5.大多數指令都采用硬連邏輯來實現。6.強調優化編譯器的作用,為高級語言程序生成優化的
7、代碼。7.充分利用流水技術來提高性能。5.指令由兩部分組成:操作碼、地址碼指令集的3種編碼格式:變長編碼格式、定長編碼格式、混合型編碼格式第三章 流水線技術1.流水線技術:把一個重復的過程分解為若干個子過程,每個子過程由專門的功能部件來實現。把多個處理過程在時間上錯開,依次通過各功能段,這樣,每個子過程就可以與其他的子過程并行進行。流水線中的每個子過程及其功能部件稱為流水線的級或段,段與段相互連接形成流水線。流水線的段數稱為流水線的深度。通過時間:第一個任務從進入流水線到流出結果所需的時間。排空時間:最后一個任務從進入流水線到流出結果所需的時間。2.分類1.單功能流水線與多功能流水線單功能流水
8、線:只能完成一種固定功能的流水線。多功能流水線:流水線的各段可以進行不同的連接,以實現不同的功能。2.靜態流水線與動態流水線靜態流水線:在同一時間內,多功能流水線中的各段只能按同一種功能的連接方式工作。動態流水線:在同一時間內,多功能流水線中的各段可以按照不同的方式連接,同時執行多種功能。3.部件級、處理機級及處理機間流水線部件級流水線(運算操作流水線):把處理機的算術邏輯運算部件分段,使得各種類型的運算操作能夠按流水方式進行。處理機級流水線(指令流水線):把指令的解釋執行過程按照流水方式處理。把一條指令的執行過程分解為若干個子過程,每個子過程在獨立的功能部件中執行。處理機間流水線(宏流水線)
9、:它是由兩個或者兩個以上的處理機串行連接起來,對同一數據流進行處理,每個處理機完成整個任務中的一部分。4.線性流水線與非線性流水線線性流水線:流水線的各段串行連接,沒有反饋回路。數據通過流水線中的各段時,每一個段最多只流過一次。非線性流水線:流水線中除了有串行的連接外,還有反饋回路。5.順序流水線與亂序流水線順序流水線:流水線輸出端任務流出的順序與輸入端任務流入的順序完全相同。每一個任務在流水線的各段中是一個跟著一個順序流動的。亂序流水線:流水線輸出端任務流出的順序與輸入端任務流入的順序可以不同,允許后進入流水線的任務先完成(從輸出端流出)。6.標量處理機與向量流水處理機 標量處理機:處理機不
10、具有向量數據表示和向量指令,僅對標量數據進行流水處理。向量流水處理機:具有向量數據表示和向量指令的處理機。3.吞吐率:在單位時間內流水線所完成的任務數量或輸出結果的數量。解決流水線瓶頸問題的常用方法:細分瓶頸段、重復設置瓶頸段。加速比:完成同樣一批任務,不使用流水線所用的時間與使用流水線所用的時間之比。效率:流水線中的設備實際使用時間與整個運行時間的比值,即流水線設備的利用率。當流水線各段時間相等時,流水線的效率與吞吐率成正比。 Tk=(k+n-1) t E=TPt t=T通過/m (m表示段數)流水線的效率是流水線的實際加速比S與它的最大加速比k的比值。 從時空圖上看,效率就是n個任務占用的
11、時空面積和k個段總的時空面積之比。4.一條指令的執行過程分為以下5個周期:1.取指令周期(IF)IR MemPC 。PC值加4。(假設每條指令占4個字節)2.指令譯碼/讀寄存器周期(ID)譯碼。用IR中的寄存器編號去訪問通用寄存器組,讀出所需的操作數。3.執行/有效地址計算周期(EX)不同指令所進行的操作不同:存儲器訪問指令:ALU把所指定的寄存器的內容與偏移量相加,形成用于訪存的有效地址。寄存器寄存器ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中讀取的數據進行運算。寄存器立即數ALU指令:ALU按照操作碼指定的操作對從通用寄存器組中讀取的第一操作數和立即數進行運算。分支指令:ALU
12、把偏移量與PC值相加,形成轉移目標的地址。同時,對在前一個周期讀出的操作數進行判斷,確定分支是否成功。4存儲器訪問分支完成周期(MEM)該周期處理的指令只有load、store和分支指令。其他類型的指令在此周期不做任何操作。load和store指令load指令:用上一個周期計算出的有效地址從存儲器中讀出相應的數據。store指令:把指定的數據寫入這個有效地址所指出的存儲器單元。分支指令 分支“成功”,就把轉移目標地址送入PC。 分支指令執行完成。5.寫回周期(WB) ALU運算指令和load指令在這個周期把結果數據寫入通用寄存器組。 ALU運算指令:結果數據來自ALU。 load指令:結果數據
13、來自存儲器系統。5.相關:兩條指令之間存在某種依賴關系。相關有3種類型:數據相關(也稱真數據相關)、名相關、控制相關數據相關具有傳遞性,反映了數據的流動關系如果兩條指令使用相同的名,但是它們之間并沒有數據流動,則稱這兩條指令存在名相關。反相關:如果指令j寫的名與指令i讀的名相同,則稱指令i和j發生了反相關。 指令j寫的名指令i讀的名輸出相關:如果指令j和指令i寫相同的名,則稱指令i和j發生了輸出相關。 指令j寫的名指令i寫的名換名技術:通過改變指令中操作數的名來消除名相關。前提:寄存器足夠。控制相關是指由分支指令引起的相關。流水線沖突是指對于具體的流水線來說,由于相關的存在,使得指令流中的下一
14、條指令不能在指定的時鐘周期執行。6.流水線沖突有3種類型:結構沖突:因硬件資源滿足不了指令重疊執行的要求而發生的沖突。數據沖突:當指令在流水線中重疊執行時,因需要用到前面指令的執行結果而發生的沖突。控制沖突:流水線遇到分支指令和其他會改變PC值的指令所引起的沖突。數據沖突有:寫后讀沖突(RAW) 在 i 寫入之前,j 先去讀。 j 讀出的內容是錯誤的。對應于數據相關寫后寫沖突(WAW) 在 i 寫入之前,j 先寫。最后寫入的結果是 i 的。錯誤!對應于輸出相關讀后寫沖突(WAR) 在 i 讀之前,j 先寫。i 讀出的內容是錯誤的!由反相關引起。定向技術:在某條指令產生計算結果之前,其他指令并不
15、真正立即需要該計算結果,如果能夠將該計算結果從其產生的地方直接送到其他指令需要它的地方,那么就可以避免停頓。流水線互鎖機制,插入“暫停”。 作用:檢測發現數據沖突,并使流水線停頓,直至沖突消失。 依靠編譯器解決數據沖突 讓編譯器重新組織指令順序來消除沖突,這種技術稱為指令調度或流水線調度。控制沖突 處理分支指令最簡單的方法:“凍結”或者“排空”流水線 。由分支指令引起的延遲稱為分支延遲。減少分支延遲的方法:預測分支失敗 允許分支指令后的指令繼續在流水線中流動,就好象什么都沒發生似的。若確定分支失敗,將分支指令看作是一條普通指令,流水線正常流動。若確定分支成功,流水線就把在分支指令之后取出的所有
16、指令轉化為空操作,并按分支目地重新取指令執行。要保證:分支結果出來之前不會改變處理機的狀態,以便一旦猜錯時,處理機能夠回退到原先的狀態。預測分支成功 假設分支轉移成功,并從分支目標地址處取指令執行。起作用的前題:先知道分支目標地址,后知道分支是否成功。前述5段流水線中,這種方法沒有任何好處。延遲分支主要思想: 從邏輯上“延長”分支指令的執行時間。把延遲分支看成是由原來的分支指令和若干個延遲槽構成,不管分支是否成功,都要按順序執行延遲槽中的指令。 分支延遲指令的調度任務:在延遲槽中放入有用的指令。由編譯器完成。能否帶來好處取決于編譯器能否把有用的指令調度到延遲槽中。三種調度方法: 從前調度、從目
17、標處調度、從失敗處調度MIPS若檢測到RAW沖突,流水線互鎖機制必須在流水線中插入停頓,并使當前正處于IF段和ID段的指令不再前進。分支指令的條件測試和分支目標地址計算在EX段完成,對PC的修改在MEM段完成。向量處理機在流水線處理機中,設置向量數據表示和相應的向量指令,稱為向量處理機。不具有向量數據表示和相應的向量指令的流水線處理機,稱為標量處理機。處理方式:1.橫向(水平)處理方式向量計算是按行的方式從左到右橫向地進行。組成循環程序進行處理。i數據相關:N次 功能切換:2N次不適合于向量處理機的并行處理。2.縱向 (垂直)處理方式向量計算是按列的方式從上到下縱向地進行。兩條向量指令之間:數
18、據相關:1次 功能切換:1次對處理機結構的要求:存儲器存儲器結構3.縱橫 (分組)處理方式又稱為分組處理方式。把向量分成若干組,組內按縱向方式處理,依次處理各組。對處理機結構的要求:寄存器寄存器結構提高向量處理機性能的方法:設置多個功能部件,使它們并行工作。采用鏈接技術,加快一串向量指令的執行。采用循環開采技術,加快循環的處理。采用多處理機系統,進一步提高性能。鏈接技術鏈接特征:具有先寫后讀相關的兩條指令,在不出現功能部件沖突和源向量沖突的情況下,可以把功能部件鏈接起來進行流水處理,以達到加快執行的目的。鏈接特性的實質:把流水線定向的思想引入到向量執行過程的結果。第4章 指令級并行這種指令之間
19、存在的潛在并行性稱為指令級并行。1.流水線處理機的實際CPI理想流水線的CPI加上各類停頓的時鐘周期數: CPI流水線 = CPI理想 + 停頓結構沖突 + 停頓數據沖突 + 停頓控制沖突理想CPI是衡量流水線最高性能的一個指標。2.基本程序塊:一段除了入口和出口以外不包含其他分支的線性代碼段。3.循環級并行:使一個循環中的不同循環體并行執行。4.程序順序:由源程序確定的在完全串行方式下指令的執行順序。保持異常行為是指:無論怎么改變指令的執行順序,都不能改變程序中異常的發生情況。數據流:指數據值從其產生者指令到其消費者指令的實際流動。靜態調度依靠編譯器對代碼進行靜態調度,以減少相關和沖突。它不
20、是在程序執行的過程中、而是在編譯期間進行代碼調度和優化。通過把相關的指令拉開距離來減少可能產生的停頓。動態調度在程序的執行過程中,依靠專門硬件對代碼進行調度,減少數據相關導致的停頓不精確異常:當執行指令i導致發生異常時,處理機的現場(狀態)與嚴格按程序順序執行時指令i的現場不同。精確異常:如果發生異常時,處理機的現場跟嚴格按程序順序執行時指令i的現場相同。記分牌算法和Tomasulo算法是兩種比較典型的動態調度算法。Tomasulo算法基本思想 1.核心思想記錄和檢測指令相關,操作數一旦就緒就立即執行,把發生RAW沖突的可能性減少到最小;通過寄存器換名來消除WAR沖突和WAW沖突。更多地依賴于
21、硬件寄存器換名可以消除WAR沖突和WAW沖突。寄存器換名是通過保留站和流出邏輯來共同完成的。Tomasulo算法具有以下兩個特點:沖突檢測和指令執行控制是分布的。每個功能部件的保留站中的信息決定了什么時候指令可以在該功能部件開始執行。計算結果通過CDB直接從產生它的保留站傳送到所有需要它的功能部件,而不用經過寄存器。每個保留站有以下幾個字段:Op:要對源操作數進行的操作。Qj,Qk:將產生源操作數的保留站號。等于0表示操作數已經就緒且在Vj或Vk中,或者不需要操作數。Vj,Vk:源操作數的值。對于每一個操作數來說,V或Q字段只有一個有效。對于load來說,Vk字段用于保存偏移量。Busy:為“yes”表示本保留站或緩沖單元“忙”。A:僅load和store緩沖器有該字段。開始是存放指令中的立即數字段,地址計算后存放有效地址。動態分支
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業自動化與智能制造案例分享
- 工業自動化與智能安全系統
- 工業電機控制系統的優化與升級
- 工作中的跨部門溝通與合作能力建設
- 工業設計的前沿探索與實踐
- 工作效率提升與時間管理方法論分享
- 工作場所的心理健康建設
- 工作效率工具使用及技巧分享
- 工作流程優化與管理改善方法
- 工程師培訓課程中的數據統計知識
- 2025年重慶市九年級中考語文試題卷及答案解析
- 公安院校公安學科專業招生政治考察表
- 2024年內蒙古錫林郭勒職業學院招聘真題
- 民航招飛駕駛測試題及答案
- 北京稅務籌劃課件
- 內燃機技術協議書
- 機械原理課程設計塊狀物品推送機的機構綜合與設計
- 應力波理論復習資料
- 民辦非企業單位清算報告
- 《工程勘察設計收費管理規定》計價格200210號文
- 機電安裝工程—備本工程的試驗、檢測儀器設備表
評論
0/150
提交評論