標籤: 暫無標籤

指令周期是執行一條指令所需要的時間,一般由若干個機器周期組成。通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。

1 指令周期 -簡介

  計算機所以能自動地工作,是因為CPU能從存放程序的內存里取出一條指令並執行這條指令;緊接著又是取指令,執行指令,如此周而復始,構成了一個封閉的循環。除非遇到停機指令,否則這個循環將一直繼續下去。
  指令周期 CPU從內存取出一條指令並執行這條指令的時間總和。
  CPU周期 又稱機器周期,CPU訪問一次內存所花的時間較長,因此用從內存讀取一條指令字的最短時間來定義。
  時鐘周期 通常稱為節拍脈衝或T周期。一個CPU周期包含若干個時鐘周期。

2 指令周期 -類別

非訪內指令的指令周期

  CLA是一條非訪內指令,它需要兩個CPU 周期,其中取指令階段需要一個CPU周期,執行指令階段需要一個CPU周期。
  1、取指令階段
  (1)程序計數器PC的內容20(八進位)被裝入地址寄存器AR;
  (2)程序計數器內容加1,變成21,為取下一條指令做好準備;
  (3)地址寄存器的內容被放到地址匯流排上;
  (4)所選存儲器單元20的內容經過數據匯流排,傳送到數據緩衝寄存器DR;
  (5)緩衝寄存器的內容傳送到指令寄存器IR;
  (6)指令寄存器中的操作碼被解碼或測試;
  (7)CPU識別出是指令CLA,至此,取指令階段即告結束。
  2、執行指令階段
  (1)操作控制器送一控制信號給算術邏輯運算單元ALU;
  (2)ALU響應該控制信號,將累加寄存器AC的內容全部清零,從而執行了CLA指令。取數指令的指令周期

  1.送操作數地址
  第二個CPU周期主要完成送操作數地址。在此階段,CPU的動作只有一個,那就是把指令寄存器中的地址碼部分(30)裝入地址寄存器,其中30為內存中存放操作數的地址。 
  2.兩操作數相加
  第三個CPU周期主要完成取操作數並執行加法操作中。在此階段,CPU完成如下動作:
  (1)把地址寄存器中的操作數的地址發送到地址匯流排上。
  (2)由存儲器單元30中讀出操作數,並經過數據匯流排傳送到緩衝寄存器。
  (3)執行加操作:由數據緩衝寄存器來的操作數可送往ALU 的一個輸入端,已等候在累加器內的另 一個操作數(因為CLA指令執行結束后累加器內容為零)送往ALU的另一輸入端,於是ALU將兩數相加,產生運算結果為0+6=6。這個結果放回累加器,替換了累加器中原先的數0 。 存數指令的指令周期

  STA指令的指令周期由三個CPU周期組成。 
  1.送操作數地址
  在執行階段的第一個CPU周期中,CPU完成的動作是把指令寄存器中地址碼部分的形式地址40裝到地址寄存器。其中數字40是操作數地址。
  2.存儲和數
  執行階段的第二個CPU周期中,累加寄存器的內容傳送到緩衝寄存器,然後再存入到所選定的存儲單元(40)中。CPU完成如下動作:
  (1)累加器的內容被傳送到數據緩衝寄存器DR;
  (2)把地址寄存器的內容發送到地址匯流排上,即為將要存入的數據6的內存單元號;
  (3)把緩衝寄存器的內容發送到數據匯流排上;
  (4)數據匯流排上的數寫入到所選中的存儲器單元中,即將數6寫入到存儲器40號單元中。注意 在這個操作之後,累加器中仍然保留和數6,而存儲器40號單元中原先的內容被衝掉 。 空操作指令和轉移指令的指令周期

  第四條指令即「NOP」指令,這是一條空操作指令。其中第一個CPU周期中取指令,CPU把23號單元的「NOP」指令取出放到指令寄存器,第二個CPU周期中執行該指令。因解碼器譯出是「NOP」指令,第二個CPU周期中操作控制器不發出任何控制信號。NOP指令可用來調機之用。
  1.第一個CPU周期(取指令階段)
  CPU把24號單元的「JMP 21」指令取出放至指令寄存器,同時程序計數器內容加1,變為25,從而取下一條指令做好準備。
  2.第二個CPU周期(執行階段)
  CPU把指令寄存器中地址碼部分21送到程序計數器,從而用新內容21代替PC原先的內容25。這樣,下一條指令將不從25單元讀出,而是從內存21單元開始讀出並執行,從而改變了程序原先的執行順序。
  注意 執行「JMP 21」指令時,我們此處所給的四條指令組成的程序進入了死循環,除非人為停機,否則這個程序將無休止地運行下去,因而內存單元40中的和數將一直不斷地發生變化。當然,我們此處所舉的轉移地址21是隨意的,僅僅用來說明轉移指令能夠改變程序的執行順序而已。

3 指令周期 -特點

  指令不同,所需的機器周期數也不同。對於一些簡單的的單位元組指令,在取指令周期中,指令取出到指令寄存器后,立即解碼執行,不再需要其它的機器周期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。
  從指令的執行速度看,單位元組和雙位元組指令一般為單機器周期和雙機器周期,三位元組指令都是雙機器周期,只有乘、除指令佔用4個機器周期。
  因此在進行編程時,在完成相同工作的情況下,選用佔用機器周期少的命令會提高程序的執行速率,尤其是在編寫大型程序程序的時候,其效果更加明顯。
上一篇[戰略管理諮詢]    下一篇 [企業購併]

相關評論

同義詞:暫無同義詞