指令周期-中斷周期


一、指令周期的基本概念

  CPU每取出並執行一條指令所需的全部時間叫指令周期,也即CPU完成一條指令的時間叫指令周期,如下圖所示。圖中的取指階段完成取指令和分析指令的操作,又叫取指周期;執行階段完成執行指令的操作,又叫執行周期。在大多數情況下, CPU就是按取指-執行-再取指-再執行……的順序自動工作的。

  由於各種指令操作功能不同,因此各種指令的指令周期是不相同的。例如無條件轉移指令JMP X, 在執行階段不需訪問主存,而且操作簡單,完全可以在取指階段的后期將轉移地址X送至PC, 以達到轉移的目的。這樣, JMP X指令的指令周期就是取指周期。又如一地址格式的加法指令ADD X,在執行階段首先要從X所指示的存儲單元中取出操作數,然后和ACC的內容相加,結果存於ACC,故這種指令的指令周期在取指和執行階段各訪問一次存儲器,其指令周期就包括兩個存取周期。再如乘法指令,其執行階段所要完成的操作比加法指令多得多,故它的執行周期超過了加法指令,如下圖所示。

  此外,當遇到間接尋址的指令時,由於指令字中只給出操作數有效地址的地址,因此,為了取出操作數,需先訪問一次存儲器,取出有效地址,然后再訪問存儲器,取出操作數。這樣,間接尋址的指令周期就包括取指周期、間址周期和執行周期三個階段,其中間址周期用於取操作數的有效地址,因此間址周期介於取指周期和執行周期之間,如下圖所示。

  由第五章可知,當CPU采用中斷方式實現主機與I/O交換信息時,CPU在每條指令執行階段結束前, 都要發中斷查詢信號,以檢測是否有某個I/O提出中斷請求。如果有請求,CPU則要進入中斷響應階段,又稱中斷周期。在這階段, CPU必須將程序斷點保存到存儲器中。這樣,一個完整的指令周期應包括取指、間址、執行和中斷4個子周期,如下圖所示。由於間址周期和中斷周期不一定包含在每個指令周期內,故圖中用菱形框判斷。

  總之,上述4個周期都有CPU訪存操作, 只是訪存的目的不同。取指周期是為了取指令,間址周期是為了取有效地址,執行周期是為了取操作數(當指令為訪存指令時),中斷周期是為了保存程序斷點。這4個周期又可叫CPU的工作周期,為了區別它們,在CPU內可設置4個標志觸發器,如下圖所示。

  圖中的FE、IND,EX和INT分別對應取指、間址、執行和中斷4個周期,並以“1”狀態表示有效;它們分別由1→FE、1→IND、1→EX和1→INT4個信號控制。

 

http://media4.open.com.cn/L603/fushi/0903/jisuanjzcyl/web/lesson/char8/j2.htm


免責聲明!

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



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