挑戰408 組成原理(24) 硬佈線控制器

2021-09-12 02:46:50 字數 2705 閱讀 2602

控制單元(cu)是提供完成計算機指令全部操作的微操作指令序列部件.用下圖來描述其外部特性:

輸入訊號

時鐘

上述的所有操作都具有下面的兩點特點:

因此,為了讓cu按一定的順序,一定節拍發出各種控制訊號,cu必須受到時鐘的控制。也就是說,每乙個時鐘脈衝傳送乙個或者一組的操作命令 。

指令暫存器(ir)

現行指令的操作碼,決定了不同指令在執行週期所需要完成的不同操作,因此,指令的操作碼字段就是cu的輸入訊號。,並且與時鐘配合,產生不同的控制訊號。

標誌

為什麼標誌也是cu的輸入訊號呢?這是因為cu有時候要依賴cpu當前所處的狀態(比如alu操作產生的結果)來產生控制訊號,因此,標誌也是cu的輸入訊號。

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

比如:中斷請求,dam請求。

送到系統匯流排的訊號(輸出訊號)

比如:命令i/o或者主存進行讀寫,對中斷的響應等等

cpu內部的控制訊號(輸出訊號)

主要用於cpu內部暫存器之間的傳送,以及控制alu實現不同的操作。

常見的操作控制器

操作控制器一般分為兩種:硬佈線控制器,微程式控制器

硬佈線控制器的微操作

為了便於討論,假設cpu內有4個暫存器,mar與位址匯流排相連,存放欲訪問的儲存單元位址。mdr與資料匯流排相連,存放欲寫入儲存器資訊或者近期從儲存器中讀出的資訊。pc存放現行指令的位址,且有計數功能,ir存放現行指令。

1. 取址週期

pc ->mar//將現行指令的位址,送到mar

1->r //向主存傳送讀指令,進行讀操作

m(mar) ->mdr //通過位址匯流排,將mar所指的主存單元,通過資料匯流排,送到mdr

mdr ->ir //將mdr的內容送到ir

op(ir)->cu //j將指令的操作碼部分,送到cu進行解碼操作

2. 間址週期

一旦取值週期結束,cpu便檢查ir中的內容,以確定是否有間址操作,如果有,那麼mdr的形式位址(記為ad(mdr)),送到mar中,然後通過位址匯流排,此時cu向儲存器中發出讀命令,以獲取有效位址,並將讀到的資料存入mdr。微操作如下:

ad(ir) ->mar //將指令的形式位址送到mar

1-->r //cu發出讀命令

m(mar)->mdr //將mar指向的主存單元內容,也就是有效位址,通過資料匯流排送到mdr中

mdr->ad(ir)//將ea送到暫存器的位址字段

3.執行週期不同指令的執行週期大不相同,這裡主要分析非訪存類跟訪存類以及轉移類指令。

3.1 非訪存類(即在執行週期內不訪存)指令

意義微操作

cla清除acc指令

0->acc

comacc取反指令

!acc ->acc

shr算術右移一位

l(acc)->r(acc), acc。->acc。(符號位不變)

csl迴圈左移一位

r(acc)->l(acc), acc。->accn

stp停止機器執行

0->g(g為執行標記觸發器,1執行,0停機)

3.2 訪存類

這一模擬較多,用markdown畫的**不好看,那麼我就拍一張

4. 中斷週期

在執行週期結束時刻,cpu要查詢是否有請求中斷事件發生,如有,則進入中斷週期。在中斷週期,由中斷隱指令自動完成斷點保護,尋找中斷服務程式入口位址以及硬體關中斷操作,假設程式的斷點存到了主存的0單元處,採用硬體向量法尋找入口位址,則微操作如下:

0->mar //將位址『0』,送入mar中

1->w //c發出寫指令

pc ->mdr //將pc的內容(即程式的斷點 )。送到mdr

mdr->m(mar) //將mdr的內容,寫入到mar所指示的主存單元(即0)中

0->eint //中斷觸發器清0

如果程式斷點存入的是棧中,那麼進棧的操作為,先修改棧指標,再訪問資料,也就是上面的第一步改為:

(sp)-1 ->sp

sp ->mar

挑戰408 組成原理(3) 原碼,補碼,反碼

計算機中的資料分為數值資料和非數值型資料 如聲音,影象等等 我們接下來主要談的是數值型資料。在現實的生活中,數值資料主要分為實數和整數兩大類,在計算機中,整數用定點數表示,實數用浮點數表示,而所有帶符號的整形都用補碼表示。目前通用計算機中浮點數大多數採用ieee754標準,其中尾數採用定點原碼表示,...

挑戰408 組成原理(17) 指令格式

好久沒更新了,放元旦本來打算跨個年,可惜外面太冷。還是我在家裡寫寫文章吧。由開始的時候我們知道,計算機能解題,是由於機器本身存在一種語言,它既能理解人的意圖,又能被機器本身識別。機器語言,是由一條條語句構成的,每一條語句又能準確的表達某種語義 比如某種運算元,參與操作的數,或者其他的資訊在何處 而計...

挑戰408 組成原理(16) 儲存器刷題(1)

半導體隨機儲存器 sram dram 主存擴容 並行儲存器 cache及其替換演算法 補充知識點 sram和dram在與cpu的連線上有什麼不同?答 在實際中,dram晶元採用的是位址復用技術,至於什麼是位址復用技術,自行查閱資料。做題只需要知道一點,那就是其位址線變為原來所需要的一半。片選的時候用...