張登杰
摘 要:隨著計(jì)算機(jī)技術(shù)、半導(dǎo)體材料制造和納米工藝的不斷發(fā)展,計(jì)算機(jī)處理器已經(jīng)成為各領(lǐng)域計(jì)算機(jī)應(yīng)用不可或缺的重要部件,被稱為“計(jì)算機(jī)的大腦”。處理器是計(jì)算機(jī)完成計(jì)算能力和協(xié)調(diào)控制各部件運(yùn)作的核心,但是隨著計(jì)算機(jī)所需處理數(shù)據(jù)量的大幅增加,原有的單核處理器已經(jīng)顯現(xiàn)出很大的局限性,擁有多個(gè)核心的多核處理器應(yīng)運(yùn)而生,同時(shí)多核處理器也成為了計(jì)算機(jī)領(lǐng)域研究的重點(diǎn)。本文從計(jì)算機(jī)處理器的概況講起,著重分析了多核處理器的各項(xiàng)技術(shù),并對計(jì)算機(jī)多核化的未來發(fā)展進(jìn)行了展望。
關(guān)鍵詞:CPU;處理器;多核
中圖分類號:TP309 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-2064(2018)21-0009-02
1 計(jì)算機(jī)處理器
1.1 計(jì)算機(jī)處理器概況
在電子信息科技高度發(fā)達(dá)的現(xiàn)代化社會中,計(jì)算機(jī)作為一種高級計(jì)算工具已經(jīng)應(yīng)用到人類生產(chǎn)生活中的各個(gè)領(lǐng)域,其被稱為二十世紀(jì)最偉大的發(fā)明之一。和人類擁有聰明的大腦一樣,計(jì)算機(jī)也有自己的處理核心——中央處理器。計(jì)算機(jī)的工作過程就是計(jì)算機(jī)執(zhí)行程序的過程。程序是一個(gè)指令序列,這個(gè)序列明確告訴計(jì)算機(jī)應(yīng)該執(zhí)行什么操作,在什么地方能夠找到用來操作的數(shù)據(jù)。計(jì)算機(jī)中央處理器(Central Processing Unit,CPU)是自動(dòng)取出計(jì)算機(jī)指令并計(jì)算執(zhí)行的部件,是計(jì)算機(jī)運(yùn)算和控制的核心。早期的CPU通常是為大型、特定的應(yīng)用而定制的。目前,這種為特定應(yīng)用而設(shè)計(jì)定制CPU的昂貴方法,很大程度上已經(jīng)讓位于開發(fā)可大規(guī)模生產(chǎn)的通用處理器。這種標(biāo)準(zhǔn)化趨勢,大致始于分立晶體管大型計(jì)算機(jī)和小型計(jì)算機(jī)年代,并且隨著集成電路的普及而大大加速。集成電路可以把日益復(fù)雜的CPU設(shè)計(jì)制造在很小的空間里。現(xiàn)代微處理器已經(jīng)隨處可見,從汽車到手機(jī),甚至兒童玩具都離不開各種規(guī)格的中央處理器。
1.2 CPU的結(jié)構(gòu)和功能
為了實(shí)現(xiàn)完成的運(yùn)算功能,計(jì)算機(jī)處理區(qū)由控制單元、運(yùn)算單元和存儲單元構(gòu)成??刂茊卧K是中央處理器的運(yùn)行指揮調(diào)度中心,由各種寄存器和控制器組成,主要起到預(yù)編譯和多進(jìn)程(線程)調(diào)度;運(yùn)算單元是CPU的計(jì)算核心,其可以進(jìn)行算數(shù)運(yùn)算(加、減、乘、除、取余等)和邏輯運(yùn)算(和、或、異或、大于小于等),在進(jìn)行具體計(jì)算任務(wù)時(shí),需要受到控制器的調(diào)控,以確保其高效工作,各種運(yùn)算互不干擾;存儲單元由CPU的寄存器和緩存組成,CPU在進(jìn)行各種運(yùn)算的過程中必不可少地需要暫時(shí)存儲一些數(shù)據(jù),而存儲單元?jiǎng)t提供了快速存取的功能。其結(jié)構(gòu)和工作原理可由圖1簡單說明。
結(jié)合CPU的結(jié)構(gòu)和工作原理,可知其在計(jì)算機(jī)運(yùn)行中主要有以下功能:
1.2.1 程序控制
程序控制就是控制指令的執(zhí)行順序。程序是指令的有序集合,這些指令的相互順序不能任意顛倒,必須嚴(yán)格按程序規(guī)定的順序執(zhí)行。保證計(jì)算機(jī)按一定順序執(zhí)行程序是CPU的首要任務(wù)。
1.2.2 操作控制
操作控制就是控制指令進(jìn)行操作。一條指令的功能往往由若干個(gè)操作信號的組合來實(shí)現(xiàn)。因此,CPU管理并產(chǎn)生每條指令的操作信號,把各種操作信號送往相應(yīng)的部件,從而控制這些部件按指令的要求進(jìn)行操作。
1.2.3 時(shí)間控制
時(shí)間控制就是對各種操作實(shí)施定時(shí)控制。在計(jì)算機(jī)中,各種指令的操作信號和一條指令的整個(gè)執(zhí)行過程都受到嚴(yán)格定時(shí)。只有這樣,計(jì)算機(jī)才能有條不紊地工作。
1.2.4 數(shù)據(jù)加工
數(shù)據(jù)加工就是對數(shù)據(jù)進(jìn)行算術(shù)、邏輯運(yùn)算。完成數(shù)據(jù)的加工處理,是CPU的根本任務(wù)。
2 計(jì)算機(jī)處理器多核化技術(shù)
2.1 單核處理器的局限性
多核處理器由單核處理器發(fā)展而來,在21世紀(jì)之前,幾乎所有的計(jì)算機(jī)處理器都由單核處理器壟斷,一是因?yàn)楫?dāng)時(shí)的數(shù)據(jù)量和運(yùn)算任務(wù)比較簡單,單核的性能已經(jīng)足以應(yīng)對各種運(yùn)算,二是多核技術(shù)還不成熟,不成熟的多核處理器往往會導(dǎo)致運(yùn)算混亂,從而導(dǎo)致系統(tǒng)錯(cuò)誤,性能不升反降,多核處理器在當(dāng)時(shí)大多只是芯片廠商的噱頭。在多核CPU應(yīng)用之前,大多數(shù)芯片廠家只能通過提高單核處理器的主頻來提高處理器的性能,然而,隨著計(jì)算機(jī)移動(dòng)化運(yùn)行的趨勢不斷加深,芯片越來越朝著小型化方向發(fā)展,這導(dǎo)致了處理器上電路的集成度達(dá)到上限,單一提高頻率的方法已經(jīng)沒有了進(jìn)步的余地。另外,隨著電子信息領(lǐng)域的信息處理量成倍增長,單核處理器已經(jīng)很難應(yīng)對同時(shí)處理多個(gè)大型復(fù)雜程序的情況。同時(shí),單核處理器還存在處理帶寬受限、信號集成度不足、信號延遲較大和線程不同步等缺陷。隨著計(jì)算需求的增多和復(fù)雜化,單核處理器的這些弊病已經(jīng)不再適應(yīng)計(jì)算機(jī)整體發(fā)展的需要。
2.2 多核處理器
將多個(gè)處理器封裝在一塊芯片上就構(gòu)成了多核處理器(CMP,Chip of Multi-processor)。多核處理器最早在1996年被提出,美國計(jì)算機(jī)科學(xué)家首次提出多核這一架構(gòu)和實(shí)現(xiàn)方式,由于這一思想太多超前,所以沒有受到足夠的重視。在21世紀(jì)初,美國公司IBM基于這一理論開發(fā)出世界上第一款多核處理器,代號POWER4,開啟了多核處理器的新紀(jì)元。2000年之后,全球芯片廠商都開始研究和制造多核處理器,這其中最著名的包括Intel和AMD公司。由于其優(yōu)秀的性能和低廉的價(jià)格,多核處理器也逐漸取代單核處理器應(yīng)用到個(gè)人電腦、工業(yè)計(jì)算機(jī)和各種嵌入式移動(dòng)設(shè)備中。
在多核處理器研究領(lǐng)域中,目前主要有兩大分支。除了單芯片多核處理器(CMP)之外,還有比較通用的同步多線程處理器(SMT)技術(shù)。CMP技術(shù)將一塊芯片作為載體,同時(shí)將多個(gè)單核處理器搭建在其中,對單個(gè)程序或多個(gè)程序分布式處理,從而提高計(jì)算速度;而SMT則是將一個(gè)程序的多個(gè)線程并行在一個(gè)核心上運(yùn)行。不論是哪種模式,處理器的各個(gè)核心都是通過控制器外存儲器中的高級緩存進(jìn)行通信交流,以便達(dá)到完美的配合。
2.3 多核處理器關(guān)鍵技術(shù)
2.3.1 核心結(jié)構(gòu)
根據(jù)多核處理器中多個(gè)微處理器是否相同,多核處理器可以分為同構(gòu)多核處理器和異構(gòu)多核處理器,前者的多個(gè)核心相同,處理架構(gòu)和性能相同,同時(shí)其多個(gè)處理器之間的地位平等,屬于同級關(guān)系。而后者則是層級不同,在若干核心間存在主核。多核處理器是對單核處理器的繼承和發(fā)揚(yáng),所以單核的性能和核心間通信直接影響到多核處理器性能的發(fā)揮,并且多核的加速比也受到單核串行部分性能的影響。
2.3.2 軟件執(zhí)行模式
處理器核心數(shù)只是多核處理器的硬件基礎(chǔ),一個(gè)好的處理器必須設(shè)計(jì)出完備的片上軟件系統(tǒng),“好馬配好鞍”,只有良好軟件系統(tǒng)才能使處理器發(fā)揮出最大的性能。同時(shí),系統(tǒng)軟件提供了多核處理器與軟件開發(fā)人員之間的接口,便于開發(fā)人員基于多核處理器開發(fā)各種功能。
2.3.3 緩存層次
和單核處理器類似,為了快速地存儲各種數(shù)據(jù),多核處理器同樣也對緩存有著極高的要求。為此,多核處理器開辟了多層緩存的結(jié)構(gòu),目前主流的多核處理器大多采用三層緩存的結(jié)構(gòu):L1緩存、L2緩存和L3緩存。L1緩存充當(dāng)內(nèi)存和CPU之間溝通的橋梁,但是由于芯片的大小限制,L1緩存一般很小。L2緩存是為了協(xié)調(diào)內(nèi)存和一級緩存之間的數(shù)據(jù)關(guān)系,其速度比一級緩存大得多。L3緩存則是為了增加L2緩存中數(shù)據(jù)讀取的命中率而增加的部分,其速度最快,其容量同時(shí)也是衡量多核處理器性能的關(guān)鍵指標(biāo)。
2.3.4 操作系統(tǒng)
操作系統(tǒng)是電腦的底層軟件程序,其功能主要是對計(jì)算機(jī)所需計(jì)算任務(wù)進(jìn)行流程規(guī)劃、調(diào)度、中斷。單核處理器由于進(jìn)程的限制,對于操作系統(tǒng)中斷的要求不是很高,但是多核處理器的多重運(yùn)行機(jī)制則與單核處理器截然不同,同時(shí)對于同步與互斥問題也需要考慮。
2.3.5 低功耗
多核處理器核心的增加必然會帶來功耗和熱量的成倍增加,一方面,功耗過大會導(dǎo)致移動(dòng)設(shè)備的工作時(shí)間降低,另外,熱量過多也會導(dǎo)致運(yùn)算能力下降,這都會影響用戶體驗(yàn),解決這些問題,這需要半導(dǎo)體工藝不斷進(jìn)步。
3 結(jié)語
處理器是計(jì)算機(jī)的核心,進(jìn)入到21世紀(jì)這個(gè)信息大爆炸的年代,計(jì)算機(jī)需要處理的信息量呈指數(shù)增加,原有的單核處理器逐漸被多核處理器所取代。多核處理器的性能具有無線的想象力,在今后,其核心數(shù)還會繼續(xù)增加,在2020年,桌面級處理器的核心數(shù)將達(dá)到24或32核心,計(jì)算機(jī)能力將會比現(xiàn)在提升一個(gè)數(shù)量級。然而,多核處理器的進(jìn)步也需要計(jì)算機(jī)操作系統(tǒng)、軟件、制程工藝、計(jì)算機(jī)其它硬件設(shè)備的配合,這個(gè)龐大的體系化任務(wù)還有待繼續(xù)研究。
參考文獻(xiàn)
[1]邱曉杰,安虹,陳俊仕,等.功耗受限情況下多核處理器能效優(yōu)化方案[J].計(jì)算機(jī)工程,2017,43(4):39-45.
[2]郭建軍,戴葵,王志英.一種多核處理器存儲層次性能評估模型[J].計(jì)算機(jī)研究與發(fā)展,2016,46(z1).
[3]劉亞秋,陳雨佳,景維鵬,等.基于多核處理器的低能耗任務(wù)調(diào)度優(yōu)化算法[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2017,39(1):48-54.
[4]彭曉明,郭浩然,龐建民.多核處理器——技術(shù)、趨勢和挑戰(zhàn)[J].計(jì)算機(jī)科學(xué),2012,39(s3):320-326.