【廣告】
CPU控制技術的主要形式,時間控制。將時間定時應用于各種操作中,就是所謂的時間控制。在執(zhí)行某一指令時,應當在規(guī)定的時間內完成,CPU的指令是從高速緩沖存儲器或存儲器中取出,之后再進行指令譯碼操作,主要是在指令寄存器中實施,在這個過程中,需要注意嚴格控制程序時間。
更優(yōu)化的CPU架構是superscalar架構(超標量架構)。這種架構將取指、解了碼、執(zhí)行單元分開,有大量的執(zhí)行單元,然后每個取指 解了碼的部分都以并行的方式運行。比如有2個取指 解了碼的并行工作線路,每個工作線路都將解了碼后的指令放入一個緩存緩沖區(qū)等待執(zhí)行單元去取出執(zhí)行。
用戶態(tài)的CPU,只允許執(zhí)行指令集中的部分指令。一般而言,IO相關和把內存保護相關的所有執(zhí)行在用戶態(tài)下都是被禁止的,此外其它一些特權指令也是被禁止的,比如用戶態(tài)下不能將PSW的模式設置控制位設置成內核態(tài)。
控制器之所以知道數據放哪里、做什么運算(比如是做加法還是邏輯運算?)都是由指令告訴控制器的,每個指令對應一個基本操作,比如加法運算對應一個指令。例如,將兩個MDR寄存器(保存了來自內存的兩個數據)中的值拷貝到ALU中,然后根據的操作指令執(zhí)行加法運算,將運算結果拷貝會一個MDR寄存器中,后寫入到內存。
用戶態(tài)CPU想要執(zhí)行特權操作,需要發(fā)起系統(tǒng)調用來請求內核幫忙完成對應的操作。其實是在發(fā)起系統(tǒng)調用后,CPU會執(zhí)行trap指令陷入(trap)到內核。當特權操作完成后,需要執(zhí)行一個指令讓CPU返回到用戶態(tài)。除了系統(tǒng)調用會陷入內核,更多的是硬件會引起trap行為陷入內核,使得CPU控制權可以回到操作系統(tǒng),以便操作系統(tǒng)去決定如何處理硬件異常。