處理器運(yùn)算位數(shù)
處理器運(yùn)算位數(shù)??
??
???
??? CPU的位寬對(duì)CPU性能的影響絕不亞于主頻。位寬是指微處理器一次執(zhí)行指令的數(shù)據(jù)帶寬。處理器的尋址位寬增長(zhǎng)很快,業(yè)界已使用過4、8、16位尋址再到目前主流的32位,而64位尋址浮點(diǎn)運(yùn)算已經(jīng)逐步成為CPU的主流產(chǎn)品。
??? 受虛擬和實(shí)際內(nèi)存尺寸的限制,目前主流的32位CPU在性能執(zhí)行模式方面存在一個(gè)嚴(yán)重的缺陷:當(dāng)面臨大量的數(shù)據(jù)流時(shí),32位的寄存器(注:為了處理數(shù)據(jù),暫時(shí)儲(chǔ)存結(jié)果,或者做間接尋址等等動(dòng)作,每個(gè)處理器都具備一些內(nèi)建的內(nèi)存,這些能夠在不延遲的狀態(tài)下存取的內(nèi)存就稱為“寄存器”,每個(gè)寄存器的大小都相同)和指令集不能及時(shí)進(jìn)行相應(yīng)的處理運(yùn)算。
??? 32位CPU一次只能處理32位,也就是4個(gè)字節(jié)的數(shù)據(jù);而64位CPU一次就能處理64位即8個(gè)字節(jié)的數(shù)據(jù)。如果我們將總長(zhǎng)128位的指令分別按照16位、32位、64位為單位進(jìn)行編輯的話:舊的16位CPU(如Intel 80286 CPU)需要8個(gè)指令,32位的CPU需要4個(gè)指令,而64位CPU則只要兩個(gè)指令。顯然,在工作頻率相同的情況下,64位CPU的處理速度比16位、32位的更快。
?
位寬原理示意圖
??? 可以比較一下圖中的32位與64位CPU,64位的代碼流的數(shù)量沒有改變,其寬度隨著指令代碼的寬度而變化;而數(shù)據(jù)流的寬度則增加了一倍。雖然理論上在一個(gè)時(shí)鐘周期內(nèi)64位系統(tǒng)處理的數(shù)據(jù)量是32位系統(tǒng)的兩倍,但理論和現(xiàn)實(shí)通常都是有差距的。
要注意的是,CPU不只需要位寬夠?qū)挼募拇嫫鳎残枰銐驍?shù)量的寄存器,以確保大量數(shù)據(jù)處理。因此為了容納更多的數(shù)據(jù),寄存器和內(nèi)部數(shù)據(jù)通道也必須加倍,因此在64位CPU中的寄存器位數(shù)一般是32位CPU中的兩倍。
不過,雖然寄存器位數(shù)增加了,但正在執(zhí)行指令的指令寄存器卻都是一樣的,即數(shù)據(jù)流加倍而指令流不變。此外,增加數(shù)據(jù)位數(shù)還可以擴(kuò)大動(dòng)態(tài)范圍。在通常使用的十進(jìn)制中,只能得到最多10個(gè)整數(shù)(一位數(shù)情況下),這是因?yàn)?~9中只有10個(gè)不同的符號(hào)來表示相應(yīng)的意思,想要表示10以上的數(shù)就需要增加一位數(shù),兩位數(shù)(00-99)才可以表示100個(gè)數(shù)。
可以得出十進(jìn)制的動(dòng)態(tài)范圍的計(jì)算公式:DR=10n (n表示數(shù)字位數(shù))。在二進(jìn)制體系中,相應(yīng)的我們可以得到公式:DR=2n,那么目前使用的32位就可以達(dá)到232=4.3×109,升級(jí)到64位之后,就可以達(dá)到264=1.8×1019。動(dòng)態(tài)范圍擴(kuò)大了43億倍。
??? 提示:擴(kuò)大動(dòng)態(tài)范圍可以在一定程度上提高寄存器中數(shù)據(jù)的準(zhǔn)確性。比如,當(dāng)使用32位系統(tǒng)處理氣象模擬運(yùn)算任務(wù)時(shí),當(dāng)處理的數(shù)據(jù)超過32位所能提供的最大動(dòng)態(tài)范圍時(shí),系統(tǒng)就會(huì)出現(xiàn)諸如Overflow(超過了最大正整數(shù))或Underflow(低于最小的負(fù)整數(shù))的錯(cuò)誤提示,這樣寄存器中的數(shù)據(jù)就無法保證準(zhǔn)確。
除了運(yùn)算能力之外,與32位CPU相比,64位CPU的優(yōu)勢(shì)還體現(xiàn)在系統(tǒng)對(duì)內(nèi)存的控制上。由于地址使用的是特殊的整數(shù),而64位CPU的一個(gè)ALU(算術(shù)邏輯運(yùn)算器)和寄存器可以處理更大的整數(shù),也就是更大的地址。
傳統(tǒng)32位CPU的尋址空間最大為4GB,使得很多需要大容量?jī)?nèi)存的大規(guī)模的數(shù)據(jù)處理程序在這時(shí)都會(huì)顯得捉襟見肘,形成了運(yùn)行效率的瓶頸。而64位的處理器在理論上則可以達(dá)到1800萬個(gè)TB(1TB=1024GB),將能夠徹底解決32位計(jì)算系統(tǒng)所遇到的瓶頸現(xiàn)象。
當(dāng)然64位尋址空間也有一定的缺點(diǎn):內(nèi)存地址值隨著位數(shù)的增加而變?yōu)樵瓉淼膬杀?,這樣內(nèi)存地址將在緩存中占用更多的空間,其他有用的數(shù)據(jù)就無法載入緩存,從而引起了整體性能一定程度的下降。
?
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [處理器/DSP] Codasip發(fā)布適用于定制計(jì)算的新一代RISC-V處理器系列產(chǎn)品 2023-10-24
- [電子說] Andes旗下高性能多核矢量處理器IP的AX45MPV正式上市 2023-10-24
- [控制/MCU] 單片機(jī)的三大功能 2023-10-24
- [電子說] 思爾芯原型驗(yàn)證助力香山RISC-V處理器迭代加速 2023-10-24
- [電子說] STM32基礎(chǔ)知識(shí):中斷系統(tǒng) 2023-10-24
- [電子說] 講一講Apple Macintosh處理器過渡的故事 2023-10-24
- [電子說] GD32的中斷-外部中斷的實(shí)現(xiàn) 2023-10-24
- [汽車電子] 貿(mào)澤開售用于高級(jí)駕駛輔助系統(tǒng)和自動(dòng)泊車的 Texas Instruments TDA4x SoC處理器 2023-10-24
( 發(fā)表人:admin )