【廣告】
在計(jì)算機(jī)體系結(jié)構(gòu)中,CPU 是對計(jì)算機(jī)的所有硬件資源(如存儲器、輸入輸出單元) 進(jìn)行控制調(diào)配、執(zhí)行通用運(yùn)算的核心硬件單元。CPU 是計(jì)算機(jī)的運(yùn)算和控制核心。計(jì)算機(jī)系統(tǒng)中所有軟件層的操作,終都將通過指令集映射為CPU的操作。
由于CPU訪問內(nèi)存以得到指令或數(shù)據(jù)的時間要比執(zhí)行指令花費(fèi)的時間長很多,因此在CPU內(nèi)部提供了一些用來保存關(guān)鍵變量、臨時數(shù)據(jù)等信息的通用寄存器。所以,CPU需要提供 一些特定的指令,使得可以從內(nèi)存中讀取數(shù)據(jù)存入寄存器以及可以將寄存器數(shù)據(jù)存入內(nèi)存。
CPU有強(qiáng)大的算術(shù)運(yùn)算單 元,可以在很少的時鐘周期內(nèi)完成算術(shù)計(jì)算。同時,有很大的緩存可以保存很多數(shù)據(jù)在里面。此外,還有復(fù)雜的邏輯控制單元,當(dāng)程序有多個分支的時候, 通過提供分支預(yù)測的能力來降低延了時。GPU是基于大的吞吐量設(shè)計(jì),有很多的算術(shù)運(yùn)算單元和很少的緩存。同時GPU支持大量的線程同時運(yùn)行,如果他們需要訪問同一個數(shù)據(jù),緩存會合并這些訪問,自然會帶來延了時的問題。盡管有延了時,但是因?yàn)槠渌阈g(shù)運(yùn)算單元的數(shù)量龐大,因此能夠達(dá)到一個非常大的吞吐量的效果。
CPU控制技術(shù)的主要形式,時間控制。將時間定時應(yīng)用于各種操作中,就是所謂的時間控制。在執(zhí)行某一指令時,應(yīng)當(dāng)在規(guī)定的時間內(nèi)完成,CPU的指令是從高速緩沖存儲器或存儲器中取出,之后再進(jìn)行指令譯碼操作,主要是在指令寄存器中實(shí)施,在這個過程中,需要注意嚴(yán)格控制程序時間。
更優(yōu)化的CPU架構(gòu)是superscalar架構(gòu)(超標(biāo)量架構(gòu))。這種架構(gòu)將取指、解了碼、執(zhí)行單元分開,有大量的執(zhí)行單元,然后每個取指 解了碼的部分都以并行的方式運(yùn)行。比如有2個取指 解了碼的并行工作線路,每個工作線路都將解了碼后的指令放入一個緩存緩沖區(qū)等待執(zhí)行單元去取出執(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í)行指令集中的所有指令,并使用硬件的所有功能。