現代體系結構(指令流水),中斷處理(中斷隱指令,中斷門,Do_IRQ,關中斷,Do_IRQ_Handler, 軟中斷SWI,中斷巢狀與遮蔽),語句同步處理
阿新 • • 發佈:2018-12-24
現代體系結構:
1 流水
五級流水: ( =》代表經過時鐘邊緣觸發。對於a-》b=》c:b為時鐘觸發,a為觸發前的輸入,c為觸發後的輸出。 -》代表不經過時鐘觸發器的計算/處理 ) PC=>PC+4->PC->instruction->IR=>RegCtrl->IRex=>ExCtrl->IRmem=>MemCtrl->IRwb=>WbCtrl->Reg每條命令經過5次 =》 時鐘邊緣,5個時鐘週期
2 冒險
*解決方法: 前遞(及時將Exctrl=》得到的輸出電平 輸入到IRex=》) 旁路, 預測,空泡, 指令/資料記憶體cache3 亂序 和 意外事件處理
4 中斷處理
處理流程
考慮單核單流水 一次中斷處理: 中斷隱指令=》中斷門 Intr Gate=》Do_IRQ儲存現場及其他處理(如中斷計數變化)=》 [開中斷] => Do_IRQ_Handler中斷處理 => [軟中斷SWI] => Ret_From_IRQ or Restore_All or 處理其它中斷 => IRET中斷x被cpu[由擱置態]正式處理(中斷隱指令開始執行)的時機:
1 cpu上正在進行的是中斷處理y, 而且能夠被打斷:
y處於開中斷狀態且不遮蔽x型別中斷:
開關中斷髮生在: 1 中斷隱指令會關中斷、2 Do_IRQ過程中會開/關中斷、3返回時IRET指令恢復EFLAGS會開中斷