計算機組成與設計概念總結


一、計算機系統概述

1.1 在計算機發展過程中,有哪些事件可認為是具有轉折點和里程碑意義的?電子計算機的飛速發展,什么因素起着主要推動作用?

  • 具有轉折點和里程碑意義的事件:
    • ①1946年2月14日,第一台通用電子計算機ENIAC問世,標志着信息時代的開始;
    • ②1949年,第一台存儲程序計算機EDSAC,馮·諾依曼結構的第一個實現;
    • ③晶體管、集成電路、超大規模集成電路器件的使用;
    • ④摩爾定律(集成電路上可容納的晶體管數目大約每18個月會增加一倍,微處理器的性能大約每18個月會提升一倍,價格大約每18個月會下降一半)的提出。
  • 計算機發展的推動因素:軟硬件技術的發展;應用需求的推動;體系結構的變革等。

1.2 說明高級語言、匯編語言、機器語言三者的差別和聯系。

  • ①機器語言由 0、1 代碼組成,是機器能識別和執行的一種語言;
  • ②匯編語言是面向機器的語言,它由一些特殊的符號表示指令;
  • ③高級語言是面向用戶的語言,它是一種接近於數學的語言,直觀、通用、與具體機器無關。
  • 三者關系:匯編語言必須通過匯編器翻譯成機器語言才能被機器識別和執行;高級語言必須經過編譯(和匯編)后才能被機器識別和執行。

1.3 軟硬件界面、功能、等價性。

  • ①軟硬件之間的接口不是確定不變的,而是可以浮動的;
  • ②軟硬件在功能設計上是等價的:計算機系統結構中除最基本的器件和電路外,任何硬件實現的操作都可以由軟件實現,任何軟件實現的操作也可直接由硬件完成;
  • ③軟硬件在性能上是不等價的:通常,某個特定的功能由硬件實現比用軟件實現的執行速度快,成本高,靈活性低。

1.4·諾依曼計算機的特點是什么?

  • ①計算機由運算器、控制器、存儲器、輸人設備和輸出設備五大部件組成。
  • ②指令和數據均用二進制數表示。
  • ③指令和數據以同等地位存放於存儲器內,並可按地址訪問。
  • ④指令由操作碼和地址碼組成,操作碼表示指令的操作性質,地址碼指出操作數的來源。
  • ⑤指令在存儲器內按順序存放。
  • ⑥機器以運算器為中心,輸人輸出設備與存儲器間的數據傳送通過運算器完成。

1.5 討論以下問題:

  • (1) 指令和數據存放在同一存儲器的優缺點。
    • 優點:主存只有一個地址空間,編程簡單,管理容易,空間利用率高;
    • 缺點:指令與數據共享存儲器訪問總線,效率較低;
  • (2) 指令在存儲器中順序存放的優點。
    • 可以比較方便地按順序存放和按順序讀取和執行;
    • 順序執行時指令尋址可以PC自增自動完成;
    • 順序執行時,指令中不需要給出下一條指令的地址,有利於縮短指令字長度。

1.6 在存儲程序計算機中, CPU 正在執行的程序所包含的指令和數據均以二進制形式存儲於主存儲器,CPU 需要區分指令和數據嗎?為什么?CPU 如何區分?

  • 需要區分。因為CPU將指令和數據從存儲器取出后要進行不同的操作。取出指令后放到指令寄存器IR中,然后進行指令譯碼等操作。而取出數據后放到數據寄存器中,然后進行算術/邏輯等操作。
  • CPU通過不同的時間段來區分指令和數據:取指周期取出的信息流為指令,執行周期取出的信息流為數據。
  • CPU通過地址來源區分:從PC指向的存儲單元中取出的是指令,而操作數地址由指令地址碼字段提供。

1.7 高級語言程序的執行過程

1.8 計算機系統結構、計算機組成、計算機實現

  • ①系統結構:研究軟件與硬件的功能分配以及確定軟件與硬件的交界面。
  • ②組成:研究硬件系統各組成部分的內容構造和相互聯系,實現機器指令級的各種功能特性。
  • ③實現:對計算機的物理實現。研究各部件間的物理結構,機器制造技術與工藝等。
  • 三者關系舉例:針對乘法。
    • (指令系統層)指令系統中是否設置乘法指令由系統結構設計者確定;
    • (操作邏輯層)用高速乘法器還是加法器和移位器實現乘法由組成設計者確定;
    • (具體執行層)器件的類型、數量及組裝技術由實現者確定。
  • 一種系統結構可以有多種組成,一種組成可以有多種物理實現。如 Intel 與 AMD 同屬 X86 體系結構,但實現技術未必相同。

1.9 軟件兼容

  • 向上(下)兼容:為某檔機器編制的程序,不加修改就能運行在比其高(低)檔的機器上。
  • 向前(后)兼容:為某個時期投入市場的某種型號機器所編制的程序,不加修改就能運行在其之前(后)投入市場的機器。
  • 系列機:同一廠家生產的具有相同體系結構,但具有不同組成和實現的不同型號的機器。
  • 兼容機:不同廠家生產的具有相同體系結構的計算機。

1.10 機器字長、指令字長、存儲字長

  • 機器字長:CPU一次最多能處理的二進制位數。
  • 指令字長:一條機器指令包含的二進制位數。
  • 存儲字長:一個存儲單元可存放的二進制位數。

二、指令系統

2.1 CISCRISC

CISC RISC
指令系統龐大,二八定律、指令功能復雜 優先選取高頻簡單指令,避免復雜指令
指令變長、指令格式和尋址方式多樣 指令長度固定、指令格式和尋址方式種類少
所有指令都可訪問內存 只有Load/Store指令可訪問內存
寄存器少 寄存器多
大多數指令需多個機器周期才能完成 流水線結構,大多數指令在一個機器周期內完成
控制單元設計通常采用微程序控制技術 控制單元設計以硬布線控制邏輯為主
難以采用編譯優化技術 采用編譯優化技術

2.2 編址方式及其分類

  • (1)計算機系統中需要編址的設備:通用寄存器、主存儲器、輸入輸出設備
    ①三個地址空間:通用Reg、主存、IO分別獨立編址
    ②兩個地址空間:通用Reg獨立編址,主存、IO統一編址(低端主存,高端IO)
    ③一個地址空間:最低——通用Reg、最高——IO、中間——主存
    ④無地址空間:堆棧機(無需編址)

  • (2)字節編址與字編址

    • ①字編址的機器結構簡單,操作簡便。數據較短時操作很不方便,尤其在非數值應用領域,
    • ②字節編址既能夠支持字節操作,也能夠支持字操作,靈活性好,存儲器空間利用率高。
    • 字節編址引入的新問題:
      • A.字節編址順序問題(小端——低字節,低地址 大端——高字節,低地址)
      • B.不同字長數據存放的邊界問題:當邊界對齊時,訪問單字、半字、字節都可在一個存儲周期內完成,讀寫數據控制邏輯簡單,可能造成空間浪費;當邊界不對齊時,雙字、單字、半字都可能跨兩個字單元存放,訪問時可能需要兩個存儲周期,讀寫控制邏輯復雜,但不浪費存儲空間。

2.3 尋址方式

三、存儲器

3.1 解釋存儲元、存儲單元、存儲體概念及它們之間的關系。

  • 存儲元是存儲一位二進制信息的物理元件,是存儲器中最小的存儲單位,又叫存儲基元或位單元,不能單獨存取;
  • 存儲單元由若干存儲元組成,是存儲器讀寫的基本單位,並且具有特定存儲地址;
  • 存儲體也被稱為存儲矩陣或存儲陣列,是存儲單元的集合。

3.2 簡述 DRAM 刷新方式及特點。

  • DRAM存儲元中的電容會因為電荷泄露而引起所存信息衰減,因此必須定期對電容補充電荷,該充電操作被稱為刷新操作。DRAM存儲器所能維持信息的最長時間稱為最大刷新間隔,一般為2ms 8ms等。一次刷新操作所需時間相當於一次讀操作的時間,稱為刷新周期。
    常用的刷新方式:
  • 集中式刷新 :將全部存儲單元的刷新操作集中在一段時間內進行。正常工作期間DRAM可達全效率,但刷新期間CPU不能訪存,會形成訪存"死時間"。
  • 分散式刷新 :將刷新操作分散到每個存取周期內完成,即每個存取周期的前半段用於讀寫,后半段用於刷新。消除了訪存死時間,但使CPU訪存周期延長一倍。此外,還存在多余的刷新操作。
  • 異步式刷新 :將所有行的刷新操作平均分配在最大時間間隔內,使得在一個最大刷新間隔內,每一行僅被刷新一次。既克服了死時間,又沒有多余的刷新操作,DRAM工作效率達到最高,是一種理想的刷新方式,得到廣泛應用。但這種方式控制較復雜,需要較多的存儲器外圍電路支持(刷新地址計數器、刷新定時器、訪存仲裁邏輯等)。如果將DRAM的刷新安排在CPU對指令的譯碼階段,該階段CPU不訪存,因此不會增長存取周期,也不會有死時間。

3.3 說明存取周期和存取時間的區別。什么是存儲器帶寬?若存儲器的數據總線寬度為 32 位,存取周期為 200ns ,則存儲器的帶寬是多少?主存容量、最大尋址空間、CPU 交換數據的單位各由哪些因素決定?

  • 存取時間:完成一次存取操作的時間
  • 存取周期:連續兩次存儲器操作所需的最小時間間隔
  • 存取周期 = 存取時間 + 恢復時間
  • 存儲器的帶寬指單位時間內存儲器存取的信息量。
  • 存儲器帶寬 = 1/200ns × 32位 = 160M 位/秒 = 20MB/S = 5M 字/秒
  • 主存容量由軟件(操作系統)和CPU共同決定;最大尋址空間主要由CPU地址總線位數和存儲字長決定;CPU交換數據的單位主要由數據總線位數與機器字長決定。

3.4 在 DRAM 存儲器中為何將地址分為行地址和列地址?采用這種雙向地址后,需要增加哪些器件?給 DRAM 存儲器的性能帶來哪些方面的影響?

  • 由於DRAM芯片集成度高,所以容量一般比較大,導致了地址引腳數的大幅度增加,這對芯片的集成又帶來了困難。
  • 為此,DRAM芯片通常將地址分為行地址和列地址兩部分,行地址和列地址分時使用同一組地址引腳,這樣可以將地址引腳的數量減少為原來的一半。
  • 地址引腳采用多路分時復用技術后,芯片內部需要增加行地址鎖存器,列地址鎖存器。
  • 由於地址分兩次輸入並緩存,會延長DRAM的存取時間。

四、存儲系統

4.1 存儲系統層次結構的意義?這種結構給計算機系統帶來哪些新的問題?

  • (1)計算機對存儲器的基本要求是速度快、容量大、價格低。為解決三者之間的矛盾,通常把不同存儲容量、不同存取速度、不同位價格的存儲器按一定的結構組織起來,形成一個多層次的存儲系統。
  • (2)多層次存儲結構提高了存儲器的性能,但由於數據由原來存放在單一存儲器中,變為下層存儲器中某些數據的副本保存在上層存儲器中,因此帶來了以下問題:
    • ①地址映射問題:哪些數據的副本需要保存在上層,保存在上層的什么位置;
    • ②數據一致性問題:如何保證不同層次存儲器中同一數據的一致;
    • ③地址變換問題:CPU給出的主存單元地址如何轉化為不同層次存儲器中的地址;
    • ④替換策略問題:當某層數據存滿,且仍有新數據要裝入時,應將哪些數據替換出去。

4.2 在存儲系統的層次結構中,設計高速緩沖存儲器和虛擬存儲器的目的各是什么?對這兩個存儲層次的管理有何異同點?

  • (1)設計Cache的目的是為了提高存儲器的訪問速度。Cache層次使得CPU在對存儲器進行訪問時,速度可以接近Cache的速度,容量可以達到主存的容量。
  • (2)設計虛存的目的是為了提高存儲器的容量。虛擬存儲技術使得用戶在使用存儲器時,感覺可用容量接近於輔存的容量,而訪問速度上接近於主存。
  • Cache-主存的管理主要由硬件實現,對於系統程序員和應用程序員都是透明的;
  • 虛擬存儲器由軟硬件結合實現,由操作系統管理,僅對應用程序員透明。

4.3 CPU 和 Cache 之間, Cache 和主存之間,主存和輔存之間數據交換的單位分別是什么?
CPU-Cache——字 Cache-主存——塊/行 主存-輔存——頁

4.4 將數據 Cache 和指令 Cache 分開有什么好處?

  • ①可支持超前控制和流水線控制,有利於這類控制方式下指令預取操作的完成;
  • ②指令Cache可用ROM實現,以提高指令存取的可靠性;
  • ③數據Cache對不同數據類型的支持更為靈活,既可支持整數(例32位),也可支持浮點數據(如64位

4.5 對於一個有多個盤面構成的磁盤存儲器,當需要存儲的文件長度超過一個磁道的容量時,應該將超出部分記錄在同一個盤面的不同磁道,還是不同盤面的同一個磁道?

  • 如果文件長度超過一個磁道的容量,應將它記錄在同一個柱面上(即不同盤面的同一個磁道),因為這樣不需要重新尋道,有利於提高數據讀寫速度。

五、總線與 IO

集中式總線仲裁機制:

  • 鏈式查詢方式: 通過一條判優鏈路對所有主模塊逐個查詢,距離總線控制器最近的設備優先級最高。各主模塊通過BR信號線向總線控制器發起總線請求。當總線控制器逐個查詢找到第一個有請求的主模塊后,通過BG信號線響應該模塊,該模塊在獲得總線后,置BS信號線為忙,獨占總線與各從模塊進行數據傳輸。傳輸完成后,主模塊釋放總線。控制線少、結構簡單、電路故障敏感、優先級固定、靈活性差。
  • 計數器定時查詢方式: 總線控制器設置一個計數器,開始查詢時,啟動計數器。將計數值作為模塊地址發往各個主模塊。各請求主模塊識別地址獲得總線,置BS信號為忙使計數器停止。控制線增加、各模塊優先級可變,靈活性好。
  • 獨立請求方式: 每個主模塊專設BRi和BGi,各自獨立向總線控制器發出請求,總線控制器內設排隊電路,判優后通過BGi向優先級最高的請求模塊發出允許信號。控制線多、硬件開銷大、響應速度快。

5.1 總線的一次信息傳送過程大致分哪幾個階段?若采用同步通信方式,請畫出 CPU 通過總線從主存讀數據過程中各類信號的時序關系圖。

  • 總線的一次信息傳送過程大致分為申請分配、尋址、數據傳送、結束四個階段,其中申請分配階段是在進入總線周期之前完成的。
  • 同步通信時CPU通過總線從主存讀數據的時序關系圖如下(以1個總線周期包含4個時鍾為例):

5.2 異步通信方式和同步通信方式的實質性區別是什么?對於采用異步通信方式的總線來說,發送者和接收者按照各自的速度處理數據傳送,那么它們之間是否需要進行時間上的協調?為什么?

  • 異步通信和同步通信的實質性區別在於是否采用統一的時鍾進行控制。對於采用異步通信方式的總線來說,發送者和接收者按照各自的速度處理數據傳送,它們之間需要進行時間上的協調,采用應答方式取得聯系,否則無法配合完成操作。

5.3 何謂 半同步通信 ?它是如何實現通信雙方在時間上的協調的?

  • 半同步通信是一種同步和異步結合的通信方式。它以同步通信為基礎,既能像同步通信那樣由統一時鍾控制,又能像異步通信那樣允許傳輸時間不一致,因此既保留了同步通信控制簡單的優點,又具有異步通信的靈活性,效率介於兩者之間。
  • 半同步通信在正常總線周期通信雙方的時間協調方式與同步通信相同。但對於少數特慢的設備,增加一條'等待'狀態信號線(/WAIT)來控制是否進入等待狀態,並根據需要插入若干個'等待'時鍾,以使正常總線周期得到延長。通過監測"等待" 信號的有無,決定進入或者退出等待時鍾,實現通信雙方在時間上的協調。

5.4 為什么要設立 總線仲裁 機構?集中式總線控制常用哪幾種方法?對總線請求的響應速度哪一種最快?需要的控制線數哪一種最少?哪一種對電路故障最敏感?哪一種可方便地改變響應順序?

  • 某一時間總線只能被一個主模塊使用,當有多個主模塊試圖同時使用總線時,需要總線仲裁機構對這些主模塊的總線請求信號進行仲裁,依據一定優先級判定哪個模塊可以使用總線。
  • 常見的集中式仲裁機制分為鏈式查詢、計數器定時查詢和獨立請求三種方式。
    • 獨立請求方式響應速度最快;
    • 鏈式查詢方式控制線最少;鏈式查詢方式對電路故障最敏感;
    • 計數器定時查詢方式可方便改變響應順序。

5.5 IO 接口

  • IO 接口的功能:速度匹配、數據格式轉換、電氣轉換、操作控制、狀態查詢、尋址。
  • IO 端口:IO 接口中能被 CPU 直接訪問的寄存器。控制、狀態、數據。
  • 波特率: 單位時間內傳送的二進制位數(信息 總量 ),單位為波特(Band)。
  • 比特率: 單位時間內傳送的 有效 二進制數據位數,單位為位/秒(b/s)。

5.6 簡述 IO 數據傳送控制方式

  • 程序查詢方式: 其特點是主機與I/O串行工作,CPU啟動I/O后,時刻查詢I/O是否准備好,若設備准備就緒,CPU便轉入處理I/O與主機間傳送信息的程序;若設備未做好准備,則CPU反復查詢,"踏步"等待直到I/O准備就緒為止。可見這種方式CPU效率很低。
  • 程序中斷方式: 其特點是主機與I/O並行工作。CPU啟動I/O后,不必時刻查詢I/O是否准備好,而是繼續執行程序,當I/O准備就緒時,向CPU發中斷請求信號,CPU在適當時候響應I/O中斷請求,暫停現行程序為I/O服務。這種方式消除了"踏步"現象,提高了CPU效率。
  • 直接存儲器訪問方式( DMA ): 其特點是主機與I/O並行工作,主存和I/O之間有一條直接數據通路。CPU啟動I/O后,不必查詢I/O是否准備好,當I/O就緒后,發出DMA請求,此時CPU不參與I/O和主存間的信息交換,只是把外部總線(地址線、數據線以及有關的控制線)的使用權暫時賦予DMA,仍然可以完成自身內部的操作,故不必中斷現行程序,只需暫停一個存取周期訪存(即周期挪用),CPU的效率高。

5.7 異步串行通信中,為什么要在數據格式中設置" 起始位"和"停止位"?

  • 異步串行通信時,對於像字符或字節這樣的數據組織,是 首尾相接按位傳送 的。如果不加特殊標記,無法區分相鄰的位屬於前一個數據單位還是后一個數據單位。因此采用在幀格式中設置"起始位"和"停止位"的方法,對一幀數據的"頭"和"尾"進行標記 ,以實現 幀同步

5.8 什么叫"踏步等待"?"踏步等待"對** CPU 的工作效率有何影響?畫出采用程序查詢方式進行單個數據的 I/O 交換時 CPU **執行現行程序的流程圖。

  • 采用程序查詢方式進行I/O交換時,CPU需要不停地查詢I/O設備的狀態,這段時間CPU不能做任何其他事情,只能等待I/O就緒,稱"踏步等待"。"踏步等待"使CPU的工作效率下降,此時CPU與I/O只能串行工作。
  • 程序查詢進行單個數據I/O交換時CPU現行程序流程圖:
    現行程序→啟動I/O設備→查詢I/O狀態→准備就緒?→交換一個數據→現行程序
                    ↑←←←←←↓

5.9 回答下列有關程序中斷的問題:
( 1 )在什么條件下, I/O 設備可以向 CPU 提出中斷請求?
( 2 )在什么條件和什么時間, CPU 可以響應 I/O 的中斷請求?
( 3 )說明中斷向量地址和入口地址的區別和聯系。
( 4 )對於向量中斷,為什么 I/O 模塊把向量放在數據線上,而不是放在地址線上?

  • (1)當 I/O接口中的設備工作完成狀態為1(S=1),且該中斷源未被屏蔽(MASK=0)時,接口置中斷請求觸發器狀態為1(INTR=1)向CPU請求中斷。
  • (2)當CPU允許中斷(EINT=1),且至少有一個中斷請求被查到,則CPU在一條指令執行完時,響應中斷。
  • (3)中斷向量編碼器輸出的是中斷向量地址,該地址指向具體的中斷服務程序的入口地址。即中斷向量地址是中斷服務程序入口地址的指示器。
  • (4)地址線是單向的,CPU只能發送,不能讀取,所以向量只能放在數據線上。

5.10 DMA 傳送方式主要由哪幾個階段實現?各個階段分別由何種技術支持?大體完成一些什么工作?

  • DMA傳送方式主要由預處理、傳送、后處理三個階段實現。
    • 預處理階段由程序控制方式支持,主要完成CPU向DMA控制器發送交換初始參數的工作。
    • 傳送階段主要由周期竊取技術支持,完成I/O與主存間的數據傳送。
    • 后處理階段由程序中斷方式支持,主要完成傳送的結束處理工作(數據校驗、出錯判斷、關I/O等)。

5.11 試從下面 7 個方面比較程序查詢、程序中斷和 DMA 三種方式的綜合性能。

程序查詢 程序中斷 DMA
數據傳送主要依賴軟件/硬件 軟件 軟件 硬件
傳送數據的基本單位 字或字節 字或字節 數據塊
並行性 CPU與I/O設備串行工作 CPU與I/O設備並行工作,現行程序與I/O傳送串行進行 CPU與I/O設備並行工作,現行程序與I/O傳送並行進行
主動性 CPU主動查詢I/O設備狀態 CPU被動接受I/O中斷請求 CPU被動接受DMA請求
傳輸速度 最慢 最快
經濟性 最經濟 較經濟 成本最高
應用對象 中、低速實時處理 中、低速設備的I/O交換 高速設備的I/O交換

注意:程序中斷方式雖然CPU運行效率比程序查詢高,但傳輸速度卻比程序查詢慢。

六、數據表示及運算

6.1 行波進位和先行進位是什么?區別特點 四位先行進位表達式

  • 行波進位加法器 ,即串行進位的並行加法器,是最簡單的並行加法器n位行波進位加法器。可由n個全加器通過進位輸入輸出端首尾相連組成,其鏈式的串行進位結構也叫作"串行進位鏈"。 \(C_{i+1} = G_i + P_iC_i\)
  • 先行進位加法器 ,是一種並行進位的並行加法器。打破進位間依賴關系,直接由並行輸入的加數產生進位信號,並行得到各位的進位。各級的進位彼此是獨立產生,將各級間的進位級聯傳播給去掉了,這樣就可以減小進位產生的延時。四位先行進位表達式:(串行公式一級一級帶入展開)




七、中央處理單元

7.1 請分析 CPU 內部采用分散互連結構和單總線以及多總線結構的優缺點。

  • 分散互連結構 是在需要進行數據傳輸的部件間設置專用通路。該結構的優勢是部件間不存在傳輸通路的競爭問題,所以指令執行速度快。
  • 單總線結構 是將各部件都連接在單一的總線上。其優勢是CPU結構緊湊,但由於部件間爭用總線造成指令執行速度慢。
  • 雙總線結構 是在單總線結構的基礎上增加了一條總線,使得ALU的兩個輸入可以分別來自兩條線總線。雙總線結構相對於單總線結構來說,通過增加一條總線來分擔數據傳輸流量,使得指令執行速度得以提高。
  • 三總線結構 是在雙總線結構的基礎上再增加一條總線,使得ALU的兩個輸入可以分別來自兩條線總線,且ALU的輸出連接到第三條總線上。總之,多總線結構通過增加硬件開銷,換取指令執行速度。

7.2 CPU 結構及其分類

  • 單周期 CPU : 指令周期 = 時鍾周期 = 最復雜指令執行時間。( CPI=1 )指令必須一條一條地執行,前一條指令的結果未被提交,則后一條指令不能啟動。且由於所有指令的執行時間都以最復雜指令的執行時間為基准,導致簡單指令的執行時間被延長,違反了加速經常性事件的設計原則。
  • 多周期 CPU : 指令周期 > 時鍾周期 = 主存讀寫周期。( CPI>1 )將每條指令的執行划分為多個時間間隔大致相等的階段,每個階段的微操作序列被安排在一個時鍾周期內完成。通常,一個時鍾周期內最多可完成一次訪存或一次寄存器訪問或一個ALU操作。允許不同指令包含不同的時鍾周期數,且功能單元可在一條指令執行過程中多次被使用(部件共享)。
  • 流水 CPU : 將一條指令的執行過程分為若干階段,每個階段由不同的部件加工處理,同一時間內,有多條指令在重疊執行。時鍾周期以最慢部件的操作時間來設定。

7.3 流水線冒險與解決

  • 結構冒險: 指令間競爭硬件資源引起。采用部件冗余解決,即增加硬件資源以滿足指令使用。
  • 數據冒險: 數據的引用先於數據產生引起。采用后推法,在相關指令間插入空指令,引起流水線停頓以保證程序的正確性;或采用數據旁路法,使用內部數據緩存直接提供給后續指令所需的數據,而不需要等待該數據被寫回后才去使用。
  • 控制冒險: 由分支指令引起。采用后推法或延遲槽技術緩解,或采用分支預測改進。

八、控制器

8.1 什么是指令周期、機器周期和時鍾周期?三者有何關系?能不能說機器的主頻越快,機器的速度就越快?為什么?

  • CPU取出並執行一條指令所需的全部時間叫指令周期,通常一條指令周期操作包含取指令、指令譯碼、取操作數、執行、存放結果等步驟;
  • 機器周期是在同步控制的機器中,執行指令周期中一步相對完整的操作(指令步)所需時間,通常安排機器周期長度=主存周期;
  • 時鍾周期是指計算機主時鍾的周期時間,它是計算機運行時最基本的時序單位,對應完成一個微操作所需時間,通常時鍾周期=計算機主頻的倒數。
  • 不能說機器的主頻越快,機器的速度就越快。因為機器的速度不僅與主頻有關,還與數據通路結構、時序分配方案、ALU運算能力、指令功能強弱等多種因素有關,要看綜合效果

8.2 請分別分析用硬布線和門陣列兩種組合邏輯控制單元設計技術設計控制器的特點。

  • 這兩種技術采用的設計方法一樣,均為組合邏輯設計技術,但實現方法不一樣。
    • 硬布線控制單元基於傳統的邏輯門電路組合邏輯設計方法來構建控制單元
    • 門陣列控制器則采用集成度更高、性能更好的門陣列芯片,利用硬件描述語言等工具編程完成邏輯設計、通過燒制實現門陣列芯片內部的電路制作。

8.3 微指令操作控制字段有哪些常用的微命令編碼方式?各有何特點?假設某機有 80 條指令,平均每條指令由 6 條微指令編制的微程序實現,其中有一條取指微指令是所有指令公用的。已知微指令長度為 32 位,則控制存儲器容量至少需要多大?

  • 微指令操作控制字段常用的微命令編碼方式有3種:直接編碼法、字段直接編碼法、混合編碼法。
    • 直接編碼法中每個微命令直接用1位0、1編碼表示,產生微命令的速度最快,但在微命令個數較多時會導致微指令過長難以實現。僅適用於控制較簡單的場合。
    • 字段直接編碼法按互斥-相容關系對微命令分組的方式組織微命令。組內微命令是互斥的,一條微指令中,每組只能發一個微命令。不同小組微命令是相容的,可同時發。這種方法既照顧了微指令譯碼速度,又可有效地壓縮微指令長度,是一種非常實用的編碼方式。
    • 混合表示法是直接控制法和字段直接編碼法的結合。
  • 控制存儲器最小容量=(80×5+1)×32 = 401×32位


免責聲明!

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



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