国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于CPU的一些性能介紹

2014-07-03 00:54:49胡健
電腦知識與技術(shù) 2014年4期

胡健

摘要:CPU(中央處理器)廣泛應(yīng)用于計算機工程領(lǐng)域。該文主要論述了CPU的性能,主要包括超長指令字處理器、超標(biāo)量、處理器體系結(jié)構(gòu)、優(yōu)于最壞情況設(shè)計,分析了其發(fā)展方向。

關(guān)鍵詞:微處理器;超長指令字;超標(biāo)量

中圖分類號:TP31 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)04-0847-03

1 概述

中央處理單元(CPU)是嵌入式系統(tǒng)的心臟,無論我們使用一個CPU或者用多個CPU組合來組成一個微處理器,指令集系統(tǒng)都能提供高效性和通用性,完成功能強大的嵌入式計算。下面主要從CPU的一些性能來進行說明。

2 CPU的并行執(zhí)行機制

在這一節(jié)中,我們來看處理器進行并行操作的幾種方法。這里將介紹超長指令字和超標(biāo)量處理、子字并行、向量處理以及線程級并行。

2.1 超長指令字處理器

超長指令字(VLIW)體系結(jié)構(gòu)起源于通用處理器,但在嵌入式系統(tǒng)中已經(jīng)得到了廣泛應(yīng)用。VLIW體系結(jié)構(gòu)提供了硬件開銷相對較低的指令級并行。

圖1展示了一個簡化的VLIW處理器來介紹這項技術(shù)的基本原理。執(zhí)行單元包括一個功能單元池,連接到一個大的寄存器堆。對于VLIW,我們可以說執(zhí)行單元讀入一個指令包—包中的每條指令可以控制機器中的一個功能單元。在一個理想的VLIW機器中,指令包中所有的指令同時被執(zhí)行。在現(xiàn)代機器中,執(zhí)行完包中所有的指令可能需要若干個周期。與超標(biāo)量處理器不同,指令執(zhí)行的順序是由代碼的結(jié)構(gòu)和指令如何組成包決定的。在當(dāng)前指令包中所有的指令執(zhí)行完之前,下一指令包中的指令不會開始執(zhí)行。

由于指令包的組織決定了指令執(zhí)行的順序,VLIW機器依靠強大的編譯器來辨認(rèn)并行性以及調(diào)度指令。編譯器保證資源約束和相應(yīng)的調(diào)度策略。作為補償,執(zhí)行單元就變得簡單一些,因為不需要做資源依賴性檢查。

2.2 超標(biāo)量

超標(biāo)量處理器在每個時鐘周期發(fā)射多于1條的指令。與VLIW處理器不同,超標(biāo)量處理器動態(tài)地進行資源沖突的檢查,來確定每一步可以發(fā)出哪些指令組合。超標(biāo)量體系結(jié)構(gòu)在桌面系統(tǒng)和服務(wù)器領(lǐng)域具有主導(dǎo)地位。在嵌入式領(lǐng)域,超標(biāo)量體系結(jié)構(gòu)不及在桌面系統(tǒng)、服務(wù)器領(lǐng)域中常用。對嵌入式系統(tǒng)來說,評價的標(biāo)準(zhǔn)更可能是每瓦特能耗所完成的操作數(shù),而不僅僅是性能。

盡管如此,還是有不少嵌入式處理器使用了超標(biāo)量指令發(fā)射,雖然其超標(biāo)量程度不及高端的服務(wù)器。嵌入式Pentium是一款按序雙發(fā)射處理器,具有兩條流水線:一條進行任意整數(shù)運算,另一條進行簡單整數(shù)運算。

2.3 SIMD與向量處理器

許多應(yīng)用展示出了數(shù)據(jù)級的并行性,使得應(yīng)用本身具有高效的計算結(jié)構(gòu)。另外,這些數(shù)據(jù)規(guī)模通常比較小。所以我們可以構(gòu)建更多的并行處理器單元來獲得更高的并行性。

一項關(guān)于小操作數(shù)寬度的技術(shù)叫做子字并行化(SIMD)。處理器中的ALU可以工作于正常模式,也可以分割為若干較小的ALU。一個ALU可以很容易通過將進位鏈斷開進行分割,使位和位之間可以獨立運算。每個子字可以對獨立的數(shù)據(jù)進行操作;操作通過同樣的操作碼控制。由于同樣的指令作用于若干數(shù)據(jù),這項技術(shù)通常被認(rèn)為是SIMD的一種。

另一種用于數(shù)據(jù)并行的技術(shù)是向量處理。向量處理已經(jīng)在科學(xué)計算領(lǐng)域應(yīng)用了幾十年,使用特殊設(shè)計的指令在向量上高效地完成求點積之類的運算。向量處理并不要求小數(shù)據(jù)值,但是小的數(shù)據(jù)類型構(gòu)成的向量可以在可用的硬件上并行完成更多的操作,特別是在使用子字并行方法管理數(shù)據(jù)路徑資源的情況下。

2.4 線程級并行

處理器也可以開發(fā)線程級或者任務(wù)級的并行,線程級的并行更容易發(fā)現(xiàn),特別是在嵌入式系統(tǒng)中。相比指令級的并行,線程的行為更容易預(yù)測。

多線程體系結(jié)構(gòu)必須為每個線程提供獨立的寄存器。但是由于線程之間的切換是程式化的,控制多線程的方法相對比較直接。硬件多線程技術(shù)交替從每個單獨線程取指令。在每個周期,從一個線程取足夠多的指令,從而能夠在沒有互鎖的情況下讓流水線充滿。在下一個周期,就從另一個線程取指令。同時多線程(SMT)技術(shù)在每個周期都為多個線程取指令,而不是在線程之間交替。

3 性能可變處理器體系結(jié)構(gòu)

因為許多嵌入式系統(tǒng)都需要符合實時性的時間限制,因此嵌入式系統(tǒng)里所使用的單個組件的一個可以預(yù)見的執(zhí)行時間就成為它的重要評價指標(biāo)。但是,傳統(tǒng)的計算機體系結(jié)構(gòu)設(shè)計更為關(guān)注系統(tǒng)的平均性能,而不是最壞情況的性能。從而導(dǎo)致處理器的平均性能往往很快,而最壞情況很難界定。這往往就會導(dǎo)致硬件設(shè)計(過大的高級緩存,過快的處理器)和軟件設(shè)計(簡化代碼,限制某些指令的使用)趨于保守。隨著能耗以及可靠性問題變得越來越重要,一些新技術(shù)不斷地發(fā)展,而這種發(fā)展也使得處理器的行為變得及其復(fù)雜。盡管在嵌入式處理器中引入這些技巧會使系統(tǒng)設(shè)計變得更加難以分析,但這些技巧還是慢慢地滲入到了嵌入式處理器的設(shè)計。本節(jié)介紹兩種重要的技術(shù)發(fā)展:電壓和頻率的動態(tài)調(diào)整以及“優(yōu)于最壞情況”設(shè)計。

3.1 電壓和頻率的動態(tài)調(diào)整

電壓和頻率的動態(tài)調(diào)整(DVFS)是一種很流行的CPU能耗控制技術(shù),它利用了CMOS數(shù)字電路可操作范圍大的特點。CMOS不同于其他數(shù)字電路,它可以在一個很大的電壓伏值范圍內(nèi)工作。除此之外,CMOS電路在低電壓時具有更高的效率。

CMOS門電路的延遲基本是電源提供的電壓的線性函數(shù)。通過門電路的能耗正比于兩端操作電壓的平方

CMOS的速率電壓積(不計泄漏的部分)同樣也是E∝C(V*V)。因此,通過降低電源提供的電壓,我們可以使能耗以(V*V)的速率下降,而性能僅僅以V的速率下降。

圖2給出了一種DVFS結(jié)構(gòu),時鐘和電源由一組可以提供一定范圍的值的電路來給出;這些電路主要是在離散點進行操作,而不是針對一組連續(xù)值的。時鐘發(fā)生器和電壓發(fā)生器都由一個控制器來控制,這個控制器決定了什麼時候時鐘頻率和電壓將會發(fā)生變化以及變化多少。

結(jié)構(gòu)

DVFS控制器必須在一定的限制下進行控制,以優(yōu)化設(shè)計的標(biāo)準(zhǔn)。這些限制與時鐘速率以及電壓值有關(guān):不僅僅是它們的最大值和最小值,這也包括時鐘頻率以及電壓值以多大速率進行變化。這種設(shè)計的標(biāo)準(zhǔn)即可以通過給出一個能量的預(yù)計來最大化性能,也可以通過給出一個性能的限定來最小化性能。

我們可以通過硬件實現(xiàn)控制算法的編碼,但通常至少會把一部分控制算法用軟件來實現(xiàn)寄存器可以用來設(shè)置某幾個參數(shù)的值。但更一般的處理方法是用軟件實現(xiàn)整個控制算法。

3.2 “優(yōu)于最壞情況”設(shè)計

數(shù)字系統(tǒng)通常設(shè)計為由時鐘所控制的同步系統(tǒng)。設(shè)計者經(jīng)過認(rèn)真的分析來設(shè)計時鐘周期,以使得每個值可以準(zhǔn)確地存儲到它應(yīng)該存儲的寄存器,并且往往通過增加時鐘周期來涵蓋最壞情況的延遲。實際上,在許多電路中,最壞情況的延遲相對少見,因此大多數(shù)情況下,電路邏輯就會有某段時間被白白置為閑置。

“優(yōu)于最壞情況” 設(shè)計是一種替代設(shè)計方法,在這種方法中電路邏輯檢測并恢復(fù)錯誤,它可以使電路在大部分時間里都可以以較高的速度運行?!皟?yōu)于最壞情況”設(shè)計結(jié)構(gòu)的一個具體實現(xiàn)是Razor結(jié)構(gòu)。

Razor使用了一個特殊的寄存器來對錯誤進行度量和評估,系統(tǒng)寄存器保存著閥值,并且采用高于最壞情況的時鐘頻率來計時。另外還有一個寄存器單獨計時,它的時鐘節(jié)拍比系統(tǒng)寄存器的時鐘節(jié)拍稍晚幾拍。如果這兩個寄存器中所存儲的值不同,這時就出現(xiàn)了一個錯誤。這個錯誤有可能是由于節(jié)拍控制出現(xiàn)問題造成的,通過一個異或門可以檢測到這個錯誤,并用后出現(xiàn)的值來替換系統(tǒng)寄存器中的值

Razor微體系結(jié)構(gòu)并沒有使錯誤操作在同一階段計算,而是在隨后的步驟里再進行錯誤處理操作。這就避免了由于系統(tǒng)問題而導(dǎo)致的不確定次數(shù)的重計算而造成流水線的阻塞。

4 總結(jié)

CPU是嵌入式計算的核心。CPU可根據(jù)用途來選擇,也可以根據(jù)手邊的任務(wù)需要定制。各種系統(tǒng)結(jié)構(gòu)技術(shù)可已用來優(yōu)化CPU的性能、功耗和成本;這些技術(shù)還可以通過很多方式綜合使用。還可以用很多分析和優(yōu)化技術(shù)來定制處理器,以達到一定的性能要求。

參考文獻:

[1] 蔣本珊.電子計算機組成原理(修訂版)[M].北京:北京理工大學(xué)出版社,1999.

[2] 王愛英.計算機組成與結(jié)構(gòu)[M].2版.北京:清華大學(xué)出版社,1995.

[3] 余永廉,鐘文耀.電路學(xué)入門與進階(下),第19章[M].全華圖書公司出版,1995.

周宁县| 大宁县| 东源县| 聂荣县| 嵊州市| 台湾省| 永州市| 沙雅县| 和龙市| 岗巴县| 墨江| 平潭县| 襄城县| 色达县| 班玛县| 阿拉善右旗| 亚东县| 资兴市| 萍乡市| 汪清县| 石景山区| 西乡县| 汝南县| 柏乡县| 津市市| 康保县| 遂溪县| 于田县| 分宜县| 南郑县| 金山区| 江门市| 大荔县| 晋城| 望江县| 泰宁县| 尤溪县| 上饶市| 嫩江县| 高平市| 康定县|