天天看點

計算機組成原理:中央處理器(2)

一、微程式控制器

1. 基本思想

微程式控制器采用存儲邏輯,将微操作信号按照一定規則進行資訊編碼,形成微指令。再将微指令按照時間的先後順序排列起來,構成微程式,并存入專門的存儲器(控制存儲器CM)中。機器執行指令時,一條條讀出微指令,進而産生各種操作控制信号,使各部件執行相應的操作。

2. 基本概念

● 微指令:控制部件通過控制總線向執行部件發出的控制指令。

● 微操作:執行部件收到微指令後執行的操作。

● 微指令:在機器的一個CPU周期中,一組實作一定操作功能的微指令的組合,構成一條微指令。

● 微程式:一組完成某個功能的微指令序列,構成一個微程式。

● 控制存儲器:簡稱控存,是用來存放微程式的存儲器。

● 微位址:控制存儲器的存儲單元的編号。

3. 組成部分

微程式控制器的微操作信号發生器由以下部分組成:

  1. 控制存儲器:儲存指令系統中所有指令的微程式。
  2. 微指令寄存器:儲存目前正在執行的微指令。
  3. 微位址寄存器:接受微位址形成部件送來的微位址,為在CM中讀取微指令做準備。
  4. 位址轉移邏輯:産生微程式的入口位址和後續位址,保證微指令額連續執行。
計算機組成原理:中央處理器(2)

4. 微操作分類

  1. 相容性微操作:能夠同時或在同一個CPU周期内并行執行的微操作。
  2. 相斥性微操作:不能同時或在同一個CPU周期内并行執行的微操作。

在一條微指令中,相容性微操作的微指令可以同時為1,而相斥性微操作的微指令不能同時為1。

5. 工作流程

  1. 根據PC的值,取出一條記憶體放入指令寄存器IR;
  2. 根據微程式入口位址,從控存中取出微指令放入微指令寄存器,産生微指令,完成規定操作;
  3. 繼續從控存中取出下一條微指令并執行,直到這段微程式執行完成,此時一條機器指令執行完畢;
  4. 重複以上步驟,直到程式執行完畢。

例:如圖是一個運算器的資料通路圖,設微指令字長為23位,格式如圖。試編寫指令:ADD R2,R1 -> R2 對應的微程式。

計算機組成原理:中央處理器(2)
計算機組成原理:中央處理器(2)

分析:指令的微程式流程圖如下:

計算機組成原理:中央處理器(2)

根據流程圖,我們可以得知,該微程式由兩條微指令組成,分别為:

  1. 000 000 000 000 11111 10 0000 (該直接位址不是下一微指令的直接位址,因為需要指令譯碼;P1即譯碼後擷取位址)
  2. 010 100 100 100 00000 00 0000 (指令運作完畢,傳回起點0000)

其中第一條微指令是取指微指令。對于同一台機器,取指微指令是相同的。也可以單獨拿出這條指令,設為機器的取指微程式。

6. 微指令設計目标

設計微指令結構應當追求以下目标:

  1. 有利于縮短微指令字長
  2. 有利于減小控存的容量
  3. 有利于提高微程式的執行速度
  4. 有利于對微指令的修改
  5. 有利于提高微程式設計的靈活性

7. 微指令編碼方式

  1. 直接表示法:在微指令的操作控制字段中,每一位代表一個微指令。

    優點:簡單、直覺、運作速度快; 缺點:微指令長度過長。

    計算機組成原理:中央處理器(2)
  2. 字段直接編碼法:控制字段分為若幹小字段,一組互斥的微指令放在一個字段内;字段分别編碼,每種編碼代表一個指令。

    優點:縮短微指令字長 缺點:需要譯碼,減慢執行速度。

    計算機組成原理:中央處理器(2)
  3. 混合編碼法:直接表示法和字段直接編碼法混合使用。
    計算機組成原理:中央處理器(2)

8. 微位址形成方式

微位址可以分為兩大類:微程式的入口位址和後繼微位址。

入口位址是根據機器指令的操作生成的:

第一條微指令的位址可以由專門的硬體電路生成,也可以外部向微位址寄存器輸入;該第一條微指令就是取指微程式的入口位址。當取指微程式取出機器指令後,機器指令的操作碼字段就會指出各個微程式的入口位址。

是以,對于微位址的形成方式,應重點關注後繼微位址。

  1. 計數器法

    順序執行微程式時,後繼微位址由目前的微位址加上一個增量産生(類似于程式計數器PC)。在非順序執行時,由微指令的順序控制字段産生轉移位址。

    優點:順序控制字段較短,微位址産生機構簡單; 缺點:不能實作兩路以上的并行微程式轉移。

    計算機組成原理:中央處理器(2)
  2. 斷定法

    後繼微位址由微程式設計者指定,或是根據測試結果直接決定後繼微位址的全部或部分值。

    優點:靈活性好,速度快; 缺點:微位址産生機構複雜。

    計算機組成原理:中央處理器(2)

9. 微指令格式

  1. 水準型微指令

    一次能定義并執行多個并行操作的微指令格式。上面例題中使用的就是水準型微指令。

  2. 垂直型微指令

    微指令中設有微操作碼字段,采用微操作碼編譯法,由微操作碼規定微指令的功能。相當于機器指令操作碼的使用方法。

    垂直型微指令不要求并行執行的能力,通常一條微指令隻有1~2個微指令,執行1~2個微操作。

對于同一條機器指令,需要發出的微指令實際上是固定不變的。水準型微指令犧牲了微指令長度,換來了微指令數目的簡化;而垂直型微指令恰好相反。

兩者的比較:

  1. 水準型微指令的并行能力、靈活性更強;
  2. 水準型微指令執行一條機器指令所需要的微指令數目更少,執行速度更快;
  3. 水準型微指令用較短的微程式結構換取較長的微指令結構;
  4. 水準型微指令與機器指令相差較大。

二、硬布線控制器

1. 設計思想

硬布線控制器是采用組合邏輯的思想,把微操作信号發生器看作一個産生專門固定時序控制信号的邏輯電路。

該邏輯電路是按數字邏輯電路的設計原則設計出的由門電路和觸發器構成的複雜樹形網絡,故稱為硬布線控制器。

2. 基本結構

硬布線控制器邏輯網絡的輸入信号共有三類:

● 指令操作碼譯碼器的輸出I

● 執行部件的回報信号B

● 時序部件的時序信号,又分為節拍電位信号M和節拍脈沖信号T

其輸出信号就是微操作控制信号C。

由數字電路可以歸納,該邏輯網絡的輸出方程為:C = f(I, B, M, T)

3. 設計步驟

  1. 繪制指令的指令周期流程圖:以資料通路圖為基礎,分析所有指令的指令周期流程圖。
  2. 列出微操作時間表:把指令流程圖中的微操作序列合理地安排在各個機器周期的節拍和脈沖中,保證不發生沖突。
  3. 微操作邏輯綜合:把同一微操作用邏輯關系式綜合起來,并加以簡化。
  4. 畫出邏輯電路圖。

例:一個資料通路圖如下,試設計實作以下指令的硬布線控制器。

計算機組成原理:中央處理器(2)
計算機組成原理:中央處理器(2)

分析:

第一步,畫出指令周期流程圖。

計算機組成原理:中央處理器(2)

第二步,列出時間表

計算機組成原理:中央處理器(2)

第三步,根據時間表,得出微操作邏輯表達式。

例如:對于PCout,其在且僅在T0時有效,可以得到PCout = T0;

對于MARin,在T0時一定有效,且在非JZ指令的T3上有效。可以得到MARin = T0 + T3 · !JZ。

最後可得各個微操作控制信号的邏輯表達式如圖:

計算機組成原理:中央處理器(2)

第四步,畫出邏輯電路圖。(太多了,略)

繼續閱讀