正文

初識(shí)處理器(2)

大話處理器 作者:萬木楊


 

2.2  怎樣來使用處理器——處理器的編程模型

2.2.1  軟硬不分

早期計(jì)算機(jī)出現(xiàn)時(shí),軟件的編寫都是直接面向硬件系統(tǒng)的,即使是同一計(jì)算機(jī)公司的不同計(jì)算機(jī)產(chǎn)品,它們的軟件都是不能通用的,這個(gè)時(shí)代的軟件和硬件緊密的耦合在一起,不可分離。

2.2.2  ISA橫插一刀

IBM為了讓自己的一系列計(jì)算機(jī)能使用相同的軟件,免去重復(fù)編寫軟件的痛苦,在它的System/360計(jì)算機(jī)中引入了ISA(Instruction Set Architecture,指令集體系結(jié)構(gòu))的概念,將編程所需要了解的硬件信息從硬件系統(tǒng)中抽象出來,這樣軟件人員就可以面向ISA進(jìn)行編程,開發(fā)出的軟件不經(jīng)過修改就可以應(yīng)用在其他ISA架構(gòu)的系統(tǒng)上。

ISA用來描述編程時(shí)用到的抽象機(jī)器,而非這種機(jī)器的具體實(shí)現(xiàn)。從編程人員的角度來看,ISA包括一套指令集和一些寄存器,程序員知道它們就可以編寫程序。在PC領(lǐng)域,Intel和AMD的處理器都是基于x86指令集,因此我們不用擔(dān)心換了更高性能的CPU,軟件不能用,而手機(jī)上的程序不能在電腦上用,這是因?yàn)槭謾C(jī)上的程序絕大部分是基于ARM指令集的。

2.3  處理器的分層模型

ISA的出現(xiàn),是處理器領(lǐng)域的一件大事,處理器的外部呈現(xiàn)和內(nèi)部實(shí)現(xiàn)可以分離開來。處理器被分為3個(gè)層次,如右圖所示。

ISA常被簡稱為Architecture(架構(gòu)),是處理器的一個(gè)抽象描述,ISA在處理器中的實(shí)現(xiàn),被稱為Microarchitecture(微架構(gòu)),同樣是x86的Architecture,Intel和AMD各自使用不同的Microarchitecture。

通俗的說,Architecture是處理器的外表,Microarchitecture是處理器的內(nèi)心。Architecture是設(shè)計(jì)規(guī)范,定義處理器能做什么,Microarchitecture是設(shè)計(jì)實(shí)現(xiàn),描述處理器是怎么實(shí)現(xiàn)功能的,物理實(shí)現(xiàn)是具體的實(shí)現(xiàn)過程,可以用20nm的集成電路工藝實(shí)現(xiàn)處理器,也可以用40nm的工藝實(shí)現(xiàn),可以用電子實(shí)現(xiàn)(電子計(jì)算機(jī)),也可以用量子實(shí)現(xiàn)(量子計(jì)算機(jī))。

如果用軟件開發(fā)的流程來和處理器進(jìn)行對(duì)比,那么Architecture就好比需求,Microarchitecture好比設(shè)計(jì),物理實(shí)現(xiàn)好比真正的代碼。

Microarchitecture通常也可以認(rèn)為等同于內(nèi)核(core),一個(gè)處理器除了內(nèi)核外,也還有很多其他的東西。例如:I/O(Input/Output)、電源、時(shí)鐘等,同樣一種微架構(gòu)可以出多種型號(hào)的處理器。

上面這張圖描述了一個(gè)處理器的物理結(jié)構(gòu),它包括3大部分:內(nèi)核、存儲(chǔ)器、外設(shè)與接口。

下面這張圖以商用處理器的例子描述了指令集、微架構(gòu)、處理器之間的關(guān)系:

Intel著名的奔2、奔3電腦,使用了Intel歷史上非常成功的P6微架構(gòu),奔4及一部分至強(qiáng)處理器使用了NetBurst微架構(gòu),它們都使用x86指令集。ARM公司設(shè)計(jì)的ARM Cortex-A8內(nèi)核使用ARMv7指令集,被用在了TI、三星等很多公司的處理器上。

2.4  選什么樣的處理器——適合的才是最好的

選處理器就像找老婆,沒有好壞之分,只有適合與不適合之分,適合的才是最好的。系統(tǒng)集成公司在選擇處理器時(shí),通常會(huì)考量這些因素:

2.4.1  硬件指標(biāo)——硬實(shí)力的競爭

1.性能

性能是選擇處理器第一要考慮的因素,如果性能達(dá)不到要求,其他條件再好也沒用。下面是常用的評(píng)估性能的基準(zhǔn):

時(shí)鐘基準(zhǔn)

MIPS(Millions of Instructions Per Second),MFLOPS(Millions of Floating-point Operations per Second)常常被處理器公司用于衡量處理器的性能。MIPS越高,則理論上每秒鐘可以執(zhí)行的指令數(shù)也越多,但是,每秒實(shí)際執(zhí)行的指令數(shù)是會(huì)少于理論值的,如并行性不強(qiáng)、Cache miss、通信效率、總線沖突等都會(huì)影響到實(shí)際值和理論值的差距。MIPS、MFLOPS是處理器公司最容易給出的指標(biāo),也能大致的反映處理器的性能,但不能真實(shí)的反映。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)