slide imageslide image

CPU架構是CPU廠商給屬於同一系列的CPU產品定的一個規範,主要目的是為了區分不同類型CPU的重要標示。目前市面上的CPU分類主要分有兩大陣營,一個是intel、AMD為首的複雜指令集CPU,另一個是以ARM為首的精簡指令集CPU。兩個不同品牌的CPU,其產品的架構也不相同,例如,Intel、AMD的CPU是X86架構的,ARM公司是ARM架構。

 

CPU

中央處理單元(CPU)主要由運算器、控制器、寄存器三部分組成,從字面意思看運算器就是起著運算的作用,控制器就是負責發出CPU每條指令所需要的信息,寄存器就是保存運算或者指令的一些臨時文件,這樣可以保證更高的速度。

從CPU發明到現在,有非常多種架構,從我們熟悉的X86、ARM,到不太熟悉的MIPS、IA64,它們之間的差距都非常大。但是如果從最基本的邏輯角度來分類的話,它們可以被分為兩大類,即所謂的「複雜指令集」與「精簡指令集」系統,也就是經常看到的「CISC」與「RISC」
 
slide image
 

ARM架構

ARM架構,過去稱作進階精簡指令集機器(英語:Advanced RISC Machine,更早稱作艾康精簡指令集機器,Acorn RISC Machine),是一個精簡指令集(RISC)處理器架構家族,其廣泛地使用在許多嵌入式系統設計。由於節能的特點,其在其他領域上也有很多作為。ARM處理器非常適用於行動通訊領域,符合其主要設計目標為低成本、高效能、低耗電的特性。另一方面,超級電腦消耗大量電能,ARM同樣被視作更高效的選擇。安謀控股(ARM Holdings)開發此架構並授權其他公司使用,以供他們實現ARM的某一個架構,開發自主的系統單晶片和系統模組(system-on-module,SoC)。

ARM架構版本從ARMv3到ARMv7支援32位元空間和32位元算數運算,大部分架構的指令為定長32位元(Thumb指令集支援變長的指令集,提供對32位元和16位元指令集的支援),而2011年發布的ARMv8-A架構添加了對64位元空間和64位元算術運算的支援,同時也更新了32位元定長指令集。
至2009年為止,ARM架構處理器佔市面上所有32位元嵌入式RISC處理器90%的比例[5],使它成為占全世界最多數的32位元架構之一。ARM處理器可以在很多消費性電子產品上看到,從可攜式裝置(PDA、行動電話、多媒體播放器、掌上型電玩和計算機)到電腦週邊設備(硬碟、桌上型路由器),甚至在飛彈的彈載電腦等軍用設施中都有他的存在。在此還有一些基於ARM設計的衍伸產品,重要產品還包括Marvell的XScale架構和德州儀器的OMAP系列。

從1995年開始,《ARM體系結構參考手冊》是ARM文件的主要來源,提供了關於ARM處理器架構和指令集,區分介面,所有的ARM處理器的支援(如指令語意)的實現細節可能會有所不同。該體系結構隨著時間的演變,並與Cortex系列的核心開始,存在三個「組態」的定義如下:
"應用"組態: Cortex-A 系列
"嵌入式"組態: Cortex-R 系列
"微處理器"組態: ARM Cortex-M 系列。
每個組態允許有其子集的架構。例如,用於ARMv6-M組態(所使用的Cortex M0 / M0+/ M1)的一個子集ARMv7-M架構(支援較少的指令)。

ARM公司本身並不靠自有的設計來製造或販售CPU,而是將處理器架構授權給有興趣的廠家。ARM提供了多樣的授權條款,包括售價與散播性等項目。對於授權方來說,ARM提供了ARM核心的整合硬體敘述,包含完整的軟體開發工具(編譯器、debugger、SDK),以及針對內含ARM CPU矽晶片的銷售權。對於無晶圓廠的授權方來說,其希望能將ARM核心整合到他們自行研發的晶片設計中,通常就僅針對取得一份生產就緒的智財核心技術(IP Core)認證。對這些客戶來說,ARM會釋出所選的ARM核心的閘極電路圖,連同抽象類比模型和測試程式,以協助設計整合和驗證。需求更多的客戶,包括整合元件製造商(IDM)和晶圓廠家,就選擇可合成的RTL(暫存器傳輸級,如Verilog)形式來取得處理器的智財權(IP)。藉著可整合的RTL,客戶就有能力能進行架構上的最佳化與加強。這個方式能讓設計者完成額外的設計目標(如高震盪頻率、低能量耗損、指令集延伸等)而不會受限於無法更動的電路圖。雖然ARM並不授予授權方再次販售ARM架構本身,但授權方可以任意地販售製品(如晶片元件、評估板、完整系統等)。商用晶圓廠是特殊例子,因為他們不僅授予能販售包含ARM核心的矽晶成品,對其它客戶來講,他們通常也保留重製ARM核心的權利。
就像大多數IP販售方,ARM依照使用價值來決定IP的售價。在架構上而言,更低效能的ARM核心比更高效能的核心擁有較低的授權費。以矽晶片實作而言,一顆可整合的核心要比一顆硬體巨集(黑箱)核心要來得貴。更複雜的價位元問題來講,持有ARM授權的商用晶圓廠(例如韓國三星和日本富士通)可以提供更低的授權價格給他們的晶圓廠客戶。透過晶圓廠自有的設計技術,客戶可以更低或是免費的ARM預付授權費來取得ARM核心。相較於不具備自有設計技術的專門半導體晶圓廠(如台積電和聯電),富士通/三星對每片晶圓多收取了兩至三倍的費用。對中少量的應用而言,具備設計部門的晶圓廠提供較低的整體價格(透過授權費用的補助)。對於量產而言,由於長期的成本縮減可藉由更低的晶圓價格,減少ARM的NRE成本,使得專門的晶圓廠也成了一個更好的選擇。
 


 

 

slide image

 

x86架構

x86泛指一系列基於Intel 8086且向下相容的中央處理器指令集架構。最早的8086處理器於1978年由Intel推出,為16位元微處理器。
直到1985年32位元的80386的開發,這個架構都維持是16位元。接著一系列的處理器表示了32位元架構的細微改進,推出了數種的擴充,直到2003年AMD對於這個架構發展了64位元的擴充,並命名為AMD64。後來英特爾也推出了與之相容的處理器,並命名為Intel 64。兩者一般被統稱為x86-64或x64,開創了x86的64位元時代。

該系列較早期的處理器名稱是以數字來表示80x86。由於以「86」作為結尾,包括Intel 8086、80186、80286、80386以及80486,因此其架構被稱為「x86」。由於數字並不能作為註冊商標,因此Intel及其競爭者均在新一代處理器使用可註冊的名稱,如Pentium,來描述x86架構下的處理器產品。現時英特爾將其稱為IA-32,全名為「Intel Architecture, 32-bit」,一般情形下指代32位元的架構。
x86架構是重要地可變指令長度的CISC(複雜指令集電腦,Complex Instruction Set Computer)。字組(word, 4位元組)長度的記憶體存取允許不對齊記憶體位址,字組是以低位位元組在前的順序儲存在記憶體中。向後相容性及Intel量產製程經常領先業界一直都是在x86架構的發展背後一股驅動力量(設計的需要決定了這項因素而常常導致批評,尤其是來自對手處理器的擁護者和理論界,他們對於一個被廣泛認為是落後設計的架構的持續成功感到不解)。但在較新的微架構中,x86處理器會把x86指令轉換為更像RISC的微指令再予執行,從而獲得可與RISC比擬的超純量效能,而仍然保持向前相容。x86架構的處理器一共有四種執行模式,分別是真實模式,保護模式,系統管理模式以及虛擬V86模式。
 
slide image

CISC vs RISC

處理器的指令集可簡單分為2種,CISC(complex instruction set computer)以及RISC(reduced instruction set computer)。一開始的處理器都是CISC架構,隨著時間演進,有越來越多的指令集加入。由於當時編譯器的技術並不純熟,程式都會直接以機器碼或是組合語言寫成,為了減少程式設計師的設計時間,逐漸開發出單一指令,複雜操作的程式碼,設計師只需寫下簡單的指令,再交由CPU去執行。但是後來有人發現,整個指令集中,只有約20%的指令常常會被使用到,約佔整個程式的80%;剩餘80%的指令,只佔整個程式的20%。於是1979年美國加州大學柏克萊分校的David Patterson教授提出了RISC的想法,主張硬體應該專心加速常用的指令,較為複雜的指令則利用常用的指令去組合。

 

RISC的優點列舉如下:

 

指令長度固定,方便CPU解碼,簡化解碼器設計。

盡量在CPU的暫存器(最快的記憶體元件)裡操作,避免額外的讀取與載入時間。

由於指令長度固定,更能受益於執行線路管線化(pipeline)後所帶來的效能提升。

處理器簡化,電晶體數量少,易於提升運作時脈。比起同時脈的CISC處理器,耗電量較低。

RISC的缺點列舉如下:

 

複雜指令需要由許多的小指令去完成,程式變得比較大,記憶體也占用比較多,這在硬碟昂貴,常常使用磁帶儲存的時代來說,是個大缺點。

程式變長,代表著讀取工作變得繁重,需要更多的時間將指令從記憶體載入至處理器內。

這裡也提供一個小小的概念,CISC是在RISC出現之後才出現的相對名詞,並不是從一開始就有CISCRISC2種處理器架構。

 

 

arrow
arrow
    創作者介紹
    創作者 SwayChat 的頭像
    SwayChat

    SwayChat 吃喝玩樂 生活體驗

    SwayChat 發表在 痞客邦 留言(1) 人氣()