處理器是如何工作的?什么是處理器緩存?
如今,很多系統(tǒng)都以處理器為核心而建造的。因?yàn)?,處理器賦予了機(jī)器計(jì)算、處理信息等能力。為增進(jìn)大家對(duì)處理器的認(rèn)識(shí),本文將對(duì)處理器的工作原理以及處理器緩存予以介紹。如果你對(duì)處理器具有興趣,不妨繼續(xù)往下閱讀哦。
一、處理器工作原理
馮諾依曼體系結(jié)構(gòu)是現(xiàn)代計(jì)算機(jī)的基礎(chǔ)。在該體系結(jié)構(gòu)下,程序和數(shù)據(jù)統(tǒng)一存儲(chǔ),指令和數(shù)據(jù)需要從同一存儲(chǔ)空間存取,經(jīng)由同一總線傳輸,無法重疊執(zhí)行。根據(jù)馮諾依曼體系,CPU的工作分為以下 5 個(gè)階段:取指令階段、指令譯碼階段、執(zhí)行指令階段、訪存取數(shù)和結(jié)果寫回。
取指令(IF,instruction fetch),即將一條指令從主存儲(chǔ)器中取到指令寄存器的過程。程序計(jì)數(shù)器中的數(shù)值,用來指示當(dāng)前指令在主存中的位置。當(dāng) 一條指令被取出后,PC中的數(shù)值將根據(jù)指令字長(zhǎng)度自動(dòng)遞增。
指令譯碼階段(ID,instruction decode),取出指令后,指令譯碼器按照預(yù)定的指令格式,對(duì)取回的指令進(jìn)行拆分和解釋,識(shí)別區(qū)分出不同的指令類 別以及各種獲取操作數(shù)的方法。現(xiàn)代CISC處理器會(huì)將拆分已提高并行率和效率。
執(zhí)行指令階段(EX,execute),具體實(shí)現(xiàn)指令的功能。CPU的不同部分被連接起來,以執(zhí)行所需的操作。
訪存取數(shù)階段(MEM,memory),根據(jù)指令需要訪問主存、讀取操作數(shù),CPU得到操作數(shù)在主存中的地址,并從主存中讀取該操作數(shù)用于運(yùn)算。部分指令不需要訪問主存,則可以跳過該階段。
結(jié)果寫回階段(WB,write back),作為最后一個(gè)階段,結(jié)果寫回階段把執(zhí)行指令階段的運(yùn)行結(jié)果數(shù)據(jù)“寫回”到某種存儲(chǔ)形式。結(jié)果數(shù)據(jù)一般會(huì)被寫到CPU的內(nèi)部寄存器中,以便被后續(xù)的指令快速地存取;許多指令還會(huì)改變程序狀態(tài)字寄存器中標(biāo)志位的狀態(tài),這些標(biāo)志位標(biāo)識(shí)著不同的操作結(jié)果,可被用來影響程序的動(dòng)作。
在指令執(zhí)行完畢、結(jié)果數(shù)據(jù)寫回之后,若無意外事件(如結(jié)果溢出等)發(fā)生,計(jì)算機(jī)就從程序計(jì)數(shù)器中取得下一條指令地址,開始新一輪的循環(huán),下一個(gè)指令周期將順序取出下一條指令。
二、處理器緩存
所謂處理器緩存,通常指的是二級(jí)高速緩存,或外部高速緩存。即高速緩沖存儲(chǔ)器,是位于CPU和主存儲(chǔ)器DRAM(Dynamic RAM)之間的規(guī)模較小的但速度很高的存儲(chǔ)器,通常由SRAM(靜態(tài)隨機(jī)存儲(chǔ)器)組成。用來存放那些被CPU頻繁使用的數(shù)據(jù),以便使CPU不必依賴于速度較慢的DRAM(動(dòng)態(tài)隨機(jī)存儲(chǔ)器)。L2高速緩存一直都屬于速度極快而價(jià)格也相當(dāng)昂貴的一類內(nèi)存,稱為SRAM(靜態(tài)RAM),SRAM(Static RAM)是靜態(tài)存儲(chǔ)器的英文縮寫。由于SRAM采用了與制作CPU相同的半導(dǎo)體工藝,因此與動(dòng)態(tài)存儲(chǔ)器DRAM比較,SRAM的存取速度快,但體積較大,價(jià)格很高。
處理器緩存的基本思想是用少量的SRAM作為CPU與DRAM存儲(chǔ)系統(tǒng)之間的緩沖區(qū),即Cache系統(tǒng)。80486以及更高檔微處理器的一個(gè)顯著特點(diǎn)是處理器芯片內(nèi)集成了SRAM作為Cache,由于這些Cache裝在芯片內(nèi),因此稱為片內(nèi)Cache。486芯片內(nèi)Cache的容量通常為8K。高檔芯片如Pentium為16KB,Power PC可達(dá)32KB。Pentium微處理器進(jìn)一步改進(jìn)片內(nèi)Cache,采用數(shù)據(jù)和雙通道Cache技術(shù),相對(duì)而言,片內(nèi)Cache的容量不大,但是非常靈活、方便,極大地提高了微處理器的性能。片內(nèi)Cache也稱為一級(jí)Cache。
由于486,586等高檔處理器的時(shí)鐘頻率很高,一旦出現(xiàn)一級(jí)Cache未命中的情況,性能將明顯惡化。在這種情況下采用的辦法是在處理器芯片之外再加Cache,稱為二級(jí)Cache。二級(jí)Cache實(shí)際上是CPU和主存之間的真正緩沖。由于系統(tǒng)板上的響應(yīng)時(shí)間遠(yuǎn)低于CPU的速度,如果沒有二級(jí)Cache就不可能達(dá)到486,586等高檔處理器的理想速度。二級(jí)Cache的容量通常應(yīng)比一級(jí)Cache大一個(gè)數(shù)量級(jí)以上。在系統(tǒng)設(shè)置中,常要求用戶確定二級(jí)Cache是否安裝及尺寸大小等。二級(jí)Cache的大小一般為128KB、256KB或512KB。在486以上檔次的微機(jī)中,普遍采用256KB或512KB同步Cache。所謂同步是指Cache和CPU采用了相同的時(shí)鐘周期,以相同的速度同步工作。相對(duì)于異步Cache,性能可提高30%以上。
目前,PC及其服務(wù)器系統(tǒng)的發(fā)展趨勢(shì)之一是CPU主頻越做越高,系統(tǒng)架構(gòu)越做越先進(jìn),而主存DRAM的結(jié)構(gòu)和存取時(shí)間改進(jìn)較慢。因此,緩存(Cache)技術(shù)愈顯重要,在PC系統(tǒng)中Cache越做越大。廣大用戶已把Cache做為評(píng)價(jià)和選購(gòu)PC系統(tǒng)的一個(gè)重要指標(biāo)。
以上便是此次小編帶來的“處理器”相關(guān)內(nèi)容,通過本文,希望大家對(duì)處理器的工作原理以及處理器緩存具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!