控制單元的功能

2021-09-01 15:33:13 字數 2858 閱讀 4784

控制單元

控制單元具有發出各種微操作命令(即控制訊號)序列的功能。

概括地說,計算機的功能就是執行程式。在執行程式的過程中,控制單元要發出各種微操作命令,而且不同的指令對應不同的命令。進一步分析發現,完成不同指令的過程中,有些操作是相同或相似的,如取指令、取運算元位址(當間接定址時)以及進入中斷週期由中斷隱指令完成的一系列操作。為更清晰起見,下面按指令週期的4

個階段進一步分析其對應的微操作命令。

1.

取指週期

假設cpu內有4

個暫存器,

mar與位址匯流排相連,存放欲訪問的儲存單元位址;

mdr與資料匯流排相連,存放欲寫入儲存器的資訊或最近從儲存器中讀出的資訊;

pc存放現行指令位址,有計數功能;

ir存放現行指令。取指令的過程可歸納為以下幾個操作:

(1)現行指令位址送到儲存器位址暫存器。

(2)向主存傳送讀命令,啟動主存作讀操作。

(3)將mar

(通過位址匯流排)所指主存單元中的內容(指令)經資料匯流排讀至

mdr內。

(4)將mdr

的內容送至ir

(5)指令的操作碼送到cu

解碼。

(6)2.

間址週期

間址週期完成取運算元有效位址的任務,具體操作如下:

(1)將指令的位址碼部分(形式位址)送至儲存器址暫存器。

(2)向主存傳送讀命令,啟動主存作讀操作。

(3)將mar

(通過位址匯流排)所指的主存單元中的內容(有效位址)經資料匯流排讀至

mdr內。

(4)將有效位址送至指令暫存器的位址字段。此操作在有些機器中可以省略。

3.

執行週期

不同指令執行週期的微操作是不同的,分為非訪存指令、訪存指令和轉移類指令的微操作。

4.

中斷週期

在執行週期結束時刻,cpu

要查詢是否有請求中斷的事件發生,如果有則進入中斷週期。在中斷週期,由中斷隱指令自動完成保護斷點、尋找中斷服務程式入口位址以及硬體關中斷的操作。

控制單元的功能

控制單元的外特性

1.

輸入訊號

(1)時鐘為了使控制單元按一定的先後順序、一定的節奏發出各個控制訊號,控制單元必須受時鐘控制,即每乙個時鐘脈衝使控制單元傳送乙個操作命令,或傳送一組需要同時執行的操作命令。

(2)指令暫存器

現行指令的操作碼決定了不同指令在執行週期所需完成的不同操作,故指令的操作碼欄位是控制單元的輸入訊號,它與時鐘配合可產生不同的控制訊號。

(3)標誌

控制單元有時需依賴cpu

當前所處的狀態(如

alu操作的結果)產生控制訊號,如

ban指令,控制單元根據上條指令的結果是否為負而產生不同的控制訊號。因此「標誌」也是控制單元的輸入訊號。

(4)來自系統匯流排(控制匯流排)的控制訊號

例如,中斷請求、dma

請求。

2.

輸出訊號

(1)cpu內的控制訊號

主要用於cpu

內的暫存器之間的傳送和控制

alu實現不同的操作。

(2)關至系統匯流排(控制匯流排)的訊號

例如,命令主存或i/o讀/

寫、中斷響應等。

多級時序系統

1.

機器週期

機器週期可看做是所有指令執行過程的乙個基準時間,機器週期取決於指令的功能及器件的速度。確定機器週期時,通常要分析機器指令的執行步驟及每一步驟所需的時間。因為只以完成複雜指令功能所需的時間(最長時間)作為基準,才能保證所有指令在此時間內完成全部操作,這對簡單指令來說,顯然是一種浪費。進一步分析發現,機器內的各種操作大致可歸屬為對cpu

內部的操作和對主存的操作兩大類,由於

cpu內部的操作速度較快,

cpu訪存的操作時間較長,因此通常以訪問一次儲存器的時間定為基準時間較為合理,這個基準時間就是機器週期。又由於不論執行什麼指令,都需要訪問儲存器取出指令,因此在儲存字長等於指令字長的前提下,取指週期也可看做機器週期。

2.時鐘週期(節拍、狀態)

在乙個機器週期裡可完成若干個微操作,每個微操作都需要一定的時間,可用時鐘訊號來控制產生每乙個微操作命令。時鐘就好比計算機的心臟,只要接通電源,計算機內就會產生時鐘訊號。

3.多級時序系統

乙個指令週期包含若干個機器週期,乙個機器週期又包含若干個時鐘週期(節拍),每個指令週期內的機器週期數可以不等,每個機器週期內的節拍數也可以不等。機器週期、節拍(狀態)組成了多級時序系統。

一般來說,cpu

的主頻越快,機器的執行速度也越快。在機器週期所含時鐘週期數相同的前提下,兩機平均指令執行速度之比等於兩機主頻之比。

實際上機器的速度不僅與主頻有關,還與機器週期中所含的時鐘週期數以及指令週期中所含的機器週期數有關。同要的主頻的機器,由於機器週期所含時鐘週期數不同,執行速度也不同。機器週期所含時鐘週期數少的機器,速度更快。

控制方式

控制單元控制一條指令執行的過程實質上是依次執行乙個確定的微操作序列的過程。由於不同指令所對應的微運算元及其複雜程式不同,因此每條指令和每個微操作所需的執行時間也不同。通常將如何形成控制不同微操作序列所採用的時序控制方式稱為cu

的控制方式。常見的控制方式有同步控制、非同步控制、聯合控制和人工控制四種。

汽車控制單元VCU

在之前的技術分享中,感測器都是安裝在汽車外或車內的。而這次要介紹的是汽車生來就具備的感測器訊號,即從汽車控制單元 vehicle control unit,簡稱vcu 中獲取的訊號。vcu的另外乙個名字是 行車電腦 它通過can匯流排與汽車的發動機 變速器 油門踏板 制動踏板 車身控制器等各種電子裝...

如何控制單元測試的粒度?

john nolan在 how deep are your unit tests?中問道 u0026 xd n u0026 xd n tdd需要花時間寫測試,而我們一般多少會寫一些 而第乙個測試是測試我的建構函式有沒有把這個類的變數都設定對了,這會不會太過分了?那麼,我們寫單元測試的這個單元的粒度到...

VBA 複製單元格批註

只複製單元格的批註該怎麼操作呢?如下 public sub 複製單元格批註 dim range1 as range dim range2 as range 清除g列 columns g g clear set range1 range a1 b4 指定要複製的單元格區域 set range2 ran...