正文

初識處理器(2)

大話處理器 作者:萬木楊


 

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

2.2.1  軟硬不分

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

2.2.2  ISA橫插一刀

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

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

2.3  處理器的分層模型

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

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

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

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

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

上面這張圖描述了一個處理器的物理結構,它包括3大部分:內核、存儲器、外設與接口。

下面這張圖以商用處理器的例子描述了指令集、微架構、處理器之間的關系:

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

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

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

2.4.1  硬件指標——硬實力的競爭

1.性能

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

時鐘基準

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


上一章目錄下一章

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