【廣告】
CPU主要包括兩個部分,即控制器、運(yùn)算器,其中還包括高速緩沖存儲器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制的總線。電子計(jì)算機(jī)三大核心部件就是CPU、內(nèi)部存儲器、輸入/輸出設(shè)備。CPU的功效主要為處理指令、執(zhí)行操作、控制時(shí)間、處理數(shù)據(jù)。
注:指令集的軟硬件層次之分:硬件指令集是硬件層次上由CPU自身提供的可執(zhí)行的指令集合。軟件指令集是指語言程序庫所提供的指令,只要安裝了該語言的程序庫,指令就可以執(zhí)行。
CPU出現(xiàn)于大規(guī)模集成電路時(shí)代,處理器架構(gòu)設(shè)計(jì)的迭代更新以及集成電路工藝的不斷提升促使其不斷發(fā)展完善。從初專用于數(shù)學(xué)計(jì)算到廣泛應(yīng)用于通用計(jì)算,從4位到8位、16位、32位處理器,后到64位處理器,從各廠商互不兼容到不同指令集架構(gòu)規(guī)范的出現(xiàn),CPU 自誕生以來一直在飛速發(fā)展。
為了改善性能,CPU已經(jīng)不是單條取指-->解了碼-->執(zhí)行的路線,而是分別為這3個過程分別提供獨(dú)立的取值單元,解了碼單元以及執(zhí)行單元。這樣就形成了流水線模式。
CPU控制技術(shù)的主要形式,插入控制。CPU 對于操作控制信號的產(chǎn)生,主要是通過指令的功能來實(shí)現(xiàn)的,通過將指令發(fā)給相應(yīng)部件,達(dá)到控制這些部件的目的。實(shí)現(xiàn)一條指令功能,主要是通過計(jì)算機(jī)中的部件執(zhí)行一序列的操作來完成。較多的小控制元件是構(gòu)建集中處理模式的關(guān)鍵,目的是為了更好的完成CPU數(shù)據(jù)處理操作。
除了嵌入式系統(tǒng),多數(shù)CPU都有兩種工作模式:內(nèi)核態(tài)和用戶態(tài)。這兩種工作模式是由PSW寄存器上的一個二進(jìn)制位來控制的。內(nèi)核態(tài)的CPU,可以執(zhí)行指令集中的所有指令,并使用硬件的所有功能。
用戶態(tài)的CPU,只允許執(zhí)行指令集中的部分指令。一般而言,IO相關(guān)和把內(nèi)存保護(hù)相關(guān)的所有執(zhí)行在用戶態(tài)下都是被禁止的,此外其它一些特權(quán)指令也是被禁止的,比如用戶態(tài)下不能將PSW的模式設(shè)置控制位設(shè)置成內(nèi)核態(tài)。
控制器之所以知道數(shù)據(jù)放哪里、做什么運(yùn)算(比如是做加法還是邏輯運(yùn)算?)都是由指令告訴控制器的,每個指令對應(yīng)一個基本操作,比如加法運(yùn)算對應(yīng)一個指令。例如,將兩個MDR寄存器(保存了來自內(nèi)存的兩個數(shù)據(jù))中的值拷貝到ALU中,然后根據(jù)的操作指令執(zhí)行加法運(yùn)算,將運(yùn)算結(jié)果拷貝會一個MDR寄存器中,后寫入到內(nèi)存。