VC33的流水線操作透析
2017-06-16 來自: 上海拓野物流設備有限公司 瀏覽次數:1318
VC33有兩個特點:流水線操作、并發I/O和CPU操作。
流水線操作是體現VC33高性能的主要特征。任何一條指令都要經過取指令、譯碼、讀操作數、執行等4個過程,對同一條指令不能同時進行上述4個過程的操作,但可以對不同的指令同時進行這4種操作,即每一個CPU周期中,有4條指令分別處于取指令、譯碼、讀操作數和執行階段。這種作業方式就稱為流水線操作。流水線作業不僅提高了運算和處理速度,同時也減少了總線擁擠的現象,提高了CPU的吞吐量。
VC33流水線結構的四個主要單元和他們的功能如下:
(1)取指令單元(F):從寄存器中取指令字并更新程序計數器(PC)。
(2)譯碼單元(D):譯碼指令字并產生地址。而且,在間接尋址中譯碼單元控制ARn寄存器的修改,當發生棧操作時(PUSH/POP)修改棧指針。
(3)讀操作數單元(R):從存儲器或寄存器中讀操作數。
(4)執行單元(E):從存儲器或寄存器中讀出操作數后,執行相應的操作,并向目的地址寫結果。
上面這個圖說明了流水線的結構,其中X、Y、W、Z代表具體的指令。我們從圖中可以看出,在第m個周期,這四個階段完全處于并行狀態,即完全重疊在一起,從而進入了正常的流水線作業過程。
流水線操作中,DMA可能也要工作,這時,優先級順序由高到低為:執行、讀操作數、譯碼、取指令、DMA。盡管DMA控制器的優先級最低,但可以通過合適的數據結構使DMA與CPU的沖突最少甚至消除,這時因為DMA有它自己的數據和地址線。
我們可以看到,流水線操作真正工作是在第m個周期,即完全重疊。但是如果遇到了跳轉和資源競爭等特殊情況,那么流水線操作就有可能不能完全處于重疊,這種沖突往往導致一個或幾個CPU周期中沒有任何一條指令處于被執行的狀態。