計算機組成原理——部分速成總結存檔


這篇用來存檔 基本並不能幫助大家速成 只是博主復習時用來鞏固時用的(假裝大家都看不見)

教材:《計算機組成原理》唐朔飛版

內容:第四章到第八章不完全總結

 

chapter 4

存儲器

存儲器的層次結構:緩存-主存 提高速度 主存地址 實地址 物理地址

                             主存-輔存 提高容量 虛擬存儲器 虛地址 邏輯地址

 

2^地址線 * 數據線 =存儲容量

半導體存儲器芯片的譯碼驅動方式:線選法 重合法

動態RAM刷新:

  1. 1.       集中刷新

在規定的一個刷新周期內,對全部存儲單元集中一段時間逐行進行刷新,此刻必須停止讀、寫操作。存在“死時間

  1. 2.       分散刷新

對每行存儲單元的刷新分散到每個存儲周期內完成,不存在讀寫操作死時間,但存取周期長了,整個系統速度降低了

  1. 3.       異步刷新

是兩種方式的結合 既可縮短死時間,又充分利用最大刷新間隔為2ms的特點。

 

 

 

 

海明碼:2^k >=n+k+1

              K=3                     1 3 5 7   2 3 6 7   4 5 6 7

              K=4                      3 5 7 9 11      3 6 7 10 11     5 6 7       9 10 11

 

Cache-主存地址映射

直接映射:有固定的映射關系,某一主存塊只能固定映射到某一緩存塊

              優點:實現簡單,只要利用主存地址的某些位直接判斷,即可確定所需字塊是否在緩存中

              缺點:不夠靈活。

全相聯映射:某一主存塊可以映射到任一緩存塊

              優點:方式靈活 命中率更高 縮小了塊沖突率

              缺點:邏輯電路甚多 成本較高

組相聯映射:是直接映射和全相聯映射的一中折中。某一主存塊能映射到某一緩存組中的任一塊

              性能及復雜度介於直接映射和全相聯映射之間。

 

 

 

chapter 5

I/O設備與主機信息傳送的控制方式

程序查詢方式:CPU啟動I/O設備后便不斷查詢I/O設備是否已做好准備。啟動I/O設備,CPU便不斷查詢I/O設備的狀態,若查得I/O設備未准備就緒,就繼續查詢;若查得I/O設備准備就緒,就將數據從I/O接口送至CPU,再由CPU送至主存,一個字一個字地傳送,直至全部結束,CPU回到原現行程序。

特點:

  1. 只要一啟動I/O設備,CPU便不斷查詢I/O設備的准備情況,從而終止了原程序的進行,反復查詢過程進入“原地踏步
  2. CPU和I/O設備串行工作,CPU效率低

 

 

程序中斷方式:啟動I/O設備后,不查詢設備是否已准備就緒,繼續執行自身程序,當I/O設備准備就緒並向CPU發出中斷請求后才給予響應。處理完中斷后返回原程序斷點處,繼續執行原程序

特點:

  1. 不必不斷查詢I/O設備准備情況,沒有“踏步”現象
  2. 中斷了現行程序
  3. CPU執行程序和I/O設備准備同時進行,CPU和I/O並行工作(部分)。
  4. 相比程序查詢方式提高了CPU利用率

(硬件需增加相應電路,軟件必須編制中斷服務程序)

過程:

  1. 中斷請求、中斷判優、中斷響應、中斷服務(保護現場、中斷服務、恢復現場、中斷返回)、中斷返回
  2. (宏觀上CPU與I/O並行工作,微觀上CPU中斷現行程序為I/O服務)
  3. INTR中斷請求觸發器           MASR中斷屏蔽觸發器 

D設備准備就緒           EINT允許中斷觸發器(開中斷、關中斷)

 

DMA方式:主存與I/O設備之間有一條數據通路,無需調用中斷服務程序,若CPU和DMA同時訪存,總是把總線占有權給DMA,DMA竊取或挪用一個存取周期。

特點:

  1. 主存與I/O設備之間有一條數據通路
  2. 不中斷現行程序,省去了保護現場和恢復現場
  3. 周期挪用/周期竊取
  4. CPU和I/O並行工作
  5. 相比程序查詢方式和程序中斷方式更提高了CPU利用率

 

DMA與主存交換數據的三種方法(優缺點?):

  1. 停止CPU訪問主存
  2. 周期挪用
  3. DMA與CPU交替訪問

 

DMA的數據傳送過程:

預處理 數據傳送 后處理

 

DMA接口類型:

選擇型 多路型

 

DMA與程序中斷方式比較:

 

 

chapter 6

無符號數和有符號數,定點表示和浮點表示

X=0時,[+0]原=0,0000      [-0]原=1,0000  [+0][-0]

              [+0]補=0,0000      [-0]補=0,0000  [+0][-0]

              [+0]反=0,0000      [-0]反=1,1111  [+0][-0]

              [+0]移=1,0000      [-0]移=1,0000  [+0][-0]

補碼或移碼唯一

原碼小數點(小數)或逗號(整數)前永遠是符號位

[y]補求[-y]補連同符號位,每位取反,末位加一

移碼:補碼符號位取反

 

IEEE754: 短實數 符號位1 階碼8 位數23 總位數32

 

 

定點運算

有符號數的移位:算術移位              無符號數的移位:邏輯移位

現代計算機使用補碼加減法

補碼加減法(符號位也做運算,由於模2,溢出丟掉即可):

[A]補+[B]補=[A+B]補          [A-B]補= [A]補+[-B]補  (記得溢出判斷)

補碼:參與加減的兩個數符號相同但與結果符號不同,則溢出

變形補碼:結果的符號位不用則溢出,高位為真正的符號

原碼一位乘:邏輯移位、移位次數判斷結束、n次加法和n次移位

原碼兩位乘:算術移位、移位次數判斷結束、n/2+1次加法和n/2次移位(n為偶)

補碼乘法(booth算法,被乘數和乘數符號均任意的情況):

原碼乘符號位單獨處理,補碼乘符號位自然形成

 

chapter 7

指令的一般格式

操作碼:長度固定(集中放在指令字的一個字段內,用於指令字較長的情況)、

長度不固定(分散在指令字的不同字段中,增加譯碼和分析的難度)、

擴展操作碼(位數隨地址數減少而增加)

擴展操作碼:

 

 

 

 

地址碼(通常是形式地址而不是有效地址):兩個源操作數、結果、下一條指令

四地址:四次訪存、A1(OP)A2 →A3

三地址:四次訪存、A1(OP)A2 →A3、PC代替A4

二地址:四次訪存(若結果存於ACC則三次訪存)、A1(OP)A2 →A1、結果存於A1

一地址:兩次訪存、ACC(OP)A1→ACC、ACC代替原A1

零地址:無地址碼

 

指令字長:取決於操作碼長度、操作數地址的長度、操作數地址的個數

指令字長固定:指令字長=存儲字長

指令字長可變:按字節的倍數變化

 

尋址方式

尋址方式:確定本條指令地址的數據地址、確定下一條將要執行的指令地址,包括指令尋址數據尋址

指令尋址:順序尋址、跳躍尋址

數據尋址:

  1. 立即尋址:形式地址A內放操作數(立即數)、指令執行階段不訪存、A的位數限制了立即數的范圍
  2. 直接尋址:形式地址內放有效地址、執行階段只訪存一次、操作數的地址不易修改(必須修改A)
  3. 隱含尋址:操作數的地址隱含在操作碼中(例如MUL被乘數在AX或AL中)、指令字中少了一個地    址字段所以可以縮短指令字長
  4. 間接尋址:有效地址由形式地址間接提供、指令執行階段訪存兩次以上、指令執行時間變長、擴大尋址范圍、便於編制程序
  5. 寄存器尋址:有效地址即為寄存器編號、執行階段不訪存 只訪問寄存器 執行速度快、寄存器個數有限 可縮短指令字長
  6. 寄存器間接尋址:有效地址在寄存器中 操作數在存儲器中 執行階段訪存、便於編制循環程序
  7. 基址尋址
    •   采用專用的寄存器做基址寄存器(隱式):擴大尋址范圍、便於程序搬家、BR內容由操作系統或管理程序確定、程序執行過程中BR中內容不變,A的內容可變
    •   采用通用的寄存器做基址寄存器(顯式):用戶指定哪個寄存器做基址寄存器、基址寄存器的內容由操作系統決定、在程序執行過程中R0內容不變,形式地址A可變
  8. 變址尋址:IX為變址寄存器(通用寄存器也可以作為變址寄存器)、可擴大尋址范圍、IX內容由用戶給定、程序執行過程中IX內容可變、形式地址A不變、便於處理數組問題
  9. 相對尋址:A是相對於當前指令的位移量(可正可負,補碼)、A的位數決定操作數的尋址范圍、程序浮動、廣泛用於轉移指令     

     

     

     

     

  10. 堆棧尋址

     

     

     

RISC的特點

 

 

chapter 8

CPU的結構(ALU、CU、寄存器、中斷系統)

CPU功能指令控制(控制程序的順序執行)、操作控制(產生完成每條指令所需的控制命令)時間控制(對各種操作加以時間上的控制)、數據加工(對數據進行算術運算和邏輯運算)、處理中斷

CPU的寄存器

  1. 用戶可見寄存器(通用寄存器、數據寄存器、地址寄存器、條件碼寄存器)
  2. 控制和狀態寄存器(控制:PC→MAR→M→MDR→IR,PC可見 狀態:狀態寄存器放條件碼  PSW寄存器放程序狀態字)

CU控制單元:產生全部指令的微操作命令部件(兩種方法:組合邏輯設計方法(硬連線邏輯)、微程序設計方法(存儲邏輯))

指令周期

指令周期=取指周期(取指、分析)+間址周期+執行周期(執行)+中斷周期

指令流水

 

 

為什么要用指令流水?提高細粒度並行性,開發系統的並行性,提高機器速度——小圓想的,錯了不挨打

指令的二級流水:如果指令的執行階段不訪問主存,就可以利用這段時間取下一條指令,使得取下一條指令的操作和執行當前指令的操作同時進行,這就是兩條指令的重疊

指令預取:由指令部件取出一條指令,並將它暫存起來,如果執行部件空閑,就將暫存的指令傳給執行部件執行。與此同時,指令部件又可取出下一條指令並暫存起來。

 

如果取值和執行階段時間上完全重疊,指令周期減半,速度提高一倍。影響效率加倍的因素

  1. 指令執行時間一般大於取指時間。
  2. 當遇到條件轉移指令時,下一條指令是不可知的。(用猜測法解決)

 

影響流水線性能的因素?(看書上的例子)

  1. 結構相關:不同指令爭用同一功能部件產生的,也稱資源相關

    解決?

    a)       后推法:流水線在完成前一條指令對數據的存儲器訪問時,暫停(一個時鍾周期)取后一條指令的操作

    b)      指令存儲器和數據存儲器分開,以免取指令和取操作數同時進行時互相沖突

    c)       指令預取技術,適用於訪存周期短的情況

  1. 數據相關:各條指令因重疊操作,可能改變對數據的讀寫訪問順序

    解決?

    a)       后推法:遇到數據相關時,就停頓后繼指令的運行,直至前面指令的結果已經生成

    b)      定向技術(旁路技術、相關專用通路技術):不必等某條指令的執行結果送回到寄存器后,再從寄存器中取出該結果,作為下一條指令的源操作數,而是直接將執行結果送到其他指令所需要的地方放。

  1. 控制相關:由轉移指令引起

    解決?(了解

    盡早判別法,轉移預測法,加快和提前生成條件碼,提高猜准率

 

數據相關分類

 

 

流水線性能指標:吞吐率、加速比、效率

 

流水線中的多發技術:

1.  超標量技術:每個時鍾周期內同時並發多條獨立指令,即以並行操作方式將兩條或兩條以上指令編譯並執行

要求配置多個功能部件,要求通過編譯優化技術把可並行的指令搭配起來,硬件不能調整指令執行順序

2.       超流水技術:將一些流水線寄存器插入到流水線段中,好比將流水線再分段。使得一個時鍾周期內一個功能部件使用多次

硬件不能調整指令的執行順序,靠編譯程序解決優化問題

3.       超長指令字技術:由編譯程序在編譯時挖掘出指令間潛在的並行性后,把多條能並行操作的指令組合成具有多個操作碼字段的超長指令

采用多個處理部件。對優化編譯器的要求高,對Cache容量要求大。

 

中斷系統

 

 

 

中斷系統
[Zhōngduàn xìtǒng]
Interrupt System
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM