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ā)展。
[1] CPU發(fā)展已經(jīng)有40多年的歷史了。我們通常將其分成六個(gè)階段。 [3] (1)第一階段(1971年-1973年)。這是4位和8位低檔微處理器時(shí)代,代表產(chǎn)品是Intel 4004處理器。 [3] 1971年,Intel生產(chǎn)的4004微處理器將運(yùn)算器和控制器集成在一個(gè)芯片上,標(biāo)志著CPU的誕生; 1978年,8086處理器的出現(xiàn)奠定了X86指令集架構(gòu), 隨后8086系列處理器被廣泛應(yīng)用于個(gè)人計(jì)算機(jī)終端、高性能服務(wù)器以及云服務(wù)器中。 [1] (2)第二階段(1974年-1977年)。這是8位中高檔微處理器時(shí)代,代表產(chǎn)品是Intel 8080。此時(shí)指令系統(tǒng)已經(jīng)比較完善了。 [3] (3)第三階段(1978年-1984年)。這是16位微處理器的時(shí)代,代表產(chǎn)品是Intel 8086。相對(duì)而言已經(jīng)比較成熟了。 [3] (4)第四階段(1985年-1992年)。這是32位微處理器時(shí)代,代表產(chǎn)品是Intel 80386。已經(jīng)可以勝任多任務(wù)、多用戶的作業(yè)。 [3] 1989 年發(fā)布的80486處理器實(shí)現(xiàn)了5級(jí)標(biāo)量流水線,標(biāo)志著CPU的初步成熟,也標(biāo)志著傳統(tǒng)處理器發(fā)展階段的結(jié)束。 [1] (5)第五階段(1993年-2005年)。這是奔騰系列微處理器的時(shí)代。 [3] 1995 年11 月,Intel發(fā)布了Pentium處理器,該處理器首次采用超標(biāo)量指令流水結(jié)構(gòu),引入了指令的亂序執(zhí)行和分支預(yù)測技術(shù),大大提高了處理器的性能, 因此,超標(biāo)量指令流水線結(jié)構(gòu)一直被后續(xù)出現(xiàn)的現(xiàn)代處理器,如AMD(Advanced Micro devices)的銳龍、Intel的酷睿系列等所采用。 [1] (6)第六階段(2005年至2021年)。處理器逐漸向更多核心,更高并行度發(fā)展。典型的代表有英特爾的酷睿系列處理器和AMD的銳龍系列處理器。
為了滿足操作系統(tǒng)的上層工作需求,現(xiàn)代處理器進(jìn)一步引入了諸如并行化、多核化、虛擬化以及遠(yuǎn)程管理系統(tǒng)等功能,不斷推動(dòng)著上層信息系統(tǒng)向前發(fā)展。馮諾依曼體系結(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é)果寫回。 [1] 取指令(IF,instruction fetch),即將一條指令從主存儲(chǔ)器中取到指令寄存器的過程。程序計(jì)數(shù)器中的數(shù)值,用來指示當(dāng)前指令在主存中的位置。當(dāng) 一條指令被取出后,程序計(jì)數(shù)器(PC)中的數(shù)值將根據(jù)指令字長度自動(dòng)遞增。 [1] 指令譯碼階段(ID,instruction decode),取出指令后,指令譯碼器按照預(yù)定的指令格式,對(duì)取回的指令進(jìn)行拆分和解釋,識(shí)別區(qū)分出不同的指令類 別以及各種獲取操作數(shù)的方法?,F(xiàn)代CISC處理器會(huì)將拆分已提高并行率和效率。 [1] 執(zhí)行指令階段(EX,execute),具體實(shí)現(xiàn)指令的功能。CPU的不同部分被連接起來,以執(zhí)行所需的操作。訪存取數(shù)階段(MEM,memory),根據(jù)指令需要訪問主存、讀取操作數(shù),CPU得到操作數(shù)在主存中的地址,并從主存中讀取該操作數(shù)用于運(yùn)算。部分指令不需要訪問主存,則可以跳過該階段。 [1] 結(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)作。 [1] 在指令執(zhí)行完畢、結(jié)果數(shù)據(jù)寫回之后,若無意外事件(如結(jié)果溢出等)發(fā)生,計(jì)算機(jī)就從程序計(jì)數(shù)器中取得下一條指令地址,開始新一輪的循環(huán),下一個(gè)指令周期將順序取出下一條指令。
中央處理器(CPU),是電子計(jì)算機(jī)的主要設(shè)備之一,電腦中的核心配件。其功能主要是解釋計(jì)算機(jī)指令以及處理計(jì)算機(jī)軟件中的數(shù)據(jù)。CPU是計(jì)算機(jī)中負(fù)責(zé)讀取指令,對(duì)指令譯碼并執(zhí)行指令的核心部件。中央處理器主要包括兩個(gè)部分,即控制器、運(yùn)算器,其中還包括高速緩沖存儲(chǔ)器及實(shí)現(xiàn)它們之間聯(lián)系的數(shù)據(jù)、控制的總線。電子計(jì)算機(jī)三大核心部件就是CPU、內(nèi)部存儲(chǔ)器、輸入/輸出設(shè)備。中央處理器的功效主要為處理指令、執(zhí)行操作、控制時(shí)間、處理數(shù)據(jù)。 [2] 在計(jì)算機(jī)體系結(jié)構(gòu)中,CPU 是對(duì)計(jì)算機(jī)的所有硬件資源(如存儲(chǔ)器、輸入輸出單元) 進(jìn)行控制調(diào)配、執(zhí)行通用運(yùn)算的核心硬件單元。CPU 是計(jì)算機(jī)的運(yùn)算和控制核心。計(jì)算機(jī)系統(tǒng)中所有軟件層的操作,最終都將通過指令集映射為CPU的操作。