?
前面我們講到了處理器的各個(gè)時(shí)代,從 8 位到 64 位經(jīng)過了長(zhǎng)期的研發(fā)及比拼,成就了英特爾、AMD、微軟等國(guó)際大佬,那么從本節(jié)開始我們開啟處理器構(gòu)架的章節(jié)。
每當(dāng)人們談到處理器的時(shí)候,總是從性能談起,隨著話題的深入,通常會(huì)提到著名的摩爾定律,對(duì)于這個(gè)定律,到目前為止,依舊被公認(rèn)為是金科玉律。
What?
摩爾定律,聽起來應(yīng)該是一個(gè)叫“摩爾”的人提出來的理論。摩爾,這個(gè)名字聽起有些耳熟,對(duì)吧?沒錯(cuò),這個(gè)摩爾就是戈登·摩爾,英特爾公司創(chuàng)始人之一,現(xiàn)在想起來了吧?
1965 年戈登·摩爾在《電子學(xué)》雜志(Electronics Magazine)第 114 頁(yè)發(fā)表了影響科技業(yè)至今的摩爾定律:
1、集成電路芯片上所集成的電路的數(shù)目,每隔 18 個(gè)月就翻一番。
2、微處理器的性能每隔 18 個(gè)月提高一倍,而價(jià)格下降二分之一。
3、用一個(gè)美元所能買到的電腦性能,每隔 18 個(gè)月翻兩番。
與摩爾定律齊名的,還有著名的英特爾鐘擺策略:在奇數(shù)年,英特爾將會(huì)推出新的工藝;而在偶數(shù)年,英特爾則會(huì)推出新的架構(gòu)。
這個(gè)策略,來源于鐘擺理論,什么是鐘擺理論?看下面的圖。
一個(gè)鐘擺,一會(huì)兒朝左,一會(huì)兒朝右,周而復(fù)始,來回?cái)[動(dòng),但是鐘擺總是圍繞著一個(gè)中心值在一定范圍內(nèi)作有規(guī)律的擺動(dòng),所以被冠名為鐘擺理論。
英特爾鐘擺策略 Tick-Tock(工藝年 - 構(gòu)架年)是英特爾的芯片技術(shù)發(fā)展的戰(zhàn)略模式。
Tick-Tock 就是時(shí)鐘的“嘀嗒”的意思,一個(gè)嘀嗒代表著一秒。而在 Intel 的處理器發(fā)展戰(zhàn)略上,每一個(gè)嘀嗒代表著 2 年一次的工藝制造的進(jìn)步。每個(gè) Tick-Tock 中的“Tick”,代表著工藝的提升、晶體管變小,并在此基礎(chǔ)上增強(qiáng)原有的微架構(gòu);而 Tick-Tock 中的“Tock”,則在維持相同工藝的前提下,進(jìn)行微架構(gòu)的革新。
這樣在制造工藝和核心架構(gòu)的兩條提升道路上,總是交替進(jìn)行,一方面避免了同時(shí)革新可能帶來的失敗風(fēng)險(xiǎn),同時(shí)持續(xù)的發(fā)展也可以降低研發(fā)的周期,并可以對(duì)市場(chǎng)造成持續(xù)的刺激,并最終提升產(chǎn)品的競(jìng)爭(zhēng)力。
所以,Tick 指每隔兩年的奇數(shù)年推出更小、更先進(jìn)工藝的處理器;Tock 指每隔兩年的偶數(shù)年推出新架構(gòu)的處理器。
舉個(gè)例子,05 年說 Tick,英特爾更新從 90 納米走向 65 納米;06 年是 tock,用英特爾推出酷睿架構(gòu),07 年走向 45 納米。值得注意的是,首先它不會(huì)在一年內(nèi)兩個(gè)技術(shù)同時(shí)出現(xiàn)。每一年都可以在上個(gè)技術(shù)上再提升一個(gè)規(guī)模。
鐘擺策略發(fā)展趨勢(shì)一般是今年架構(gòu)、明年工藝,是讓大家循序漸進(jìn),而且實(shí)行鐘擺策略也是帶著整個(gè)行業(yè)按著這個(gè)鐘擺形成一種共同的結(jié)構(gòu)往前走。
理論普及完畢,現(xiàn)在看一下什么是架構(gòu)?
?
CPU 架構(gòu)是 CPU 廠商給屬于同一系列的 CPU 產(chǎn)品定的一個(gè)規(guī)范,主要目的是為了區(qū)分不同類型 CPU 的重要標(biāo)示。
目前市面上的 CPU 指令集分類主要分有兩大陣營(yíng):一個(gè)是 intel、AMD 為首的復(fù)雜指令集 CPU,另一個(gè)是以 IBM、ARM 為首的精簡(jiǎn)指令集 CPU。
兩個(gè)不同品牌的 CPU,其產(chǎn)品的架構(gòu)也不相同,例如,Intel、AMD 的 CPU 是 x86 架構(gòu)的,而 IBM 公司的 CPU 是 PowerPC 架構(gòu),ARM 公司是 ARM 架構(gòu)。
2.1? X86 架構(gòu)的發(fā)展
x86 這三個(gè)字母到底代表什么?
x86 是一個(gè) Intel 通用計(jì)算機(jī)系列的標(biāo)準(zhǔn)編號(hào)縮寫,也標(biāo)識(shí)一套通用的計(jì)算機(jī)指令集合。
x86 指的是特定微處理器執(zhí)行的一些計(jì)算機(jī)語(yǔ)言指令集,定義了芯片的基本使用規(guī)則,例如:
今天的 X64、IA-64 等。關(guān)于名稱的來歷,要從上個(gè)世紀(jì) 70 年代說起。
1、x86 架構(gòu)的發(fā)展歷程
穿越歷史,回到 1978 年 6 月 8 日,Intel 發(fā)布了新款 16 位微處理器 --8086,也同時(shí)開創(chuàng)了一個(gè)新時(shí)代:x86 架構(gòu)誕生了。Intel 8086 的內(nèi)部結(jié)構(gòu),如下圖所示。
Intel 8086 處理器內(nèi)部結(jié)構(gòu)
事實(shí)上,8086 處理器發(fā)布之初并沒有獲得太多關(guān)注,開始也沒有被大范圍采用,但它在 PC 業(yè)界的地位怎么形容都不為過,這就是因?yàn)樗鼛砹?x86。它不僅成就了 Intel 如日中天的地位,也成為了一種業(yè)界標(biāo)準(zhǔn),即使是在當(dāng)今強(qiáng)大的多核心處理器上也能看到 x86 的身影。
現(xiàn)在,想必大家已經(jīng)明白了:
X 與處理器沒有任何關(guān)系,它是一個(gè)對(duì)所有*86 系統(tǒng)的簡(jiǎn)單的通配符定義,例如:i386、586、奔騰(pentium)。
由于早期 Intel 的 CPU 編號(hào)都是如 8086、80286 來編號(hào),由于這整個(gè)系列的 CPU 都是指令兼容的,所以都用 X86 來標(biāo)識(shí)所使用的指令集合。如今的奔騰、P2、P4、賽揚(yáng)系列都是支持 X86 指令系統(tǒng)的,所以都屬于 X86 家族。
在 40 多年的發(fā)展史中,x86 家族不斷壯大,從桌面轉(zhuǎn)戰(zhàn)筆記本、服務(wù)器、超級(jí)計(jì)算機(jī)、編寫設(shè)備,期間還挫敗或者限制了很多競(jìng)爭(zhēng)對(duì)手的發(fā)展,讓不少處理器廠商及其架構(gòu)技術(shù)成為歷史名字,即使有些封閉發(fā)展的也難以為繼,比如蘋果就已經(jīng)放棄 PowerPC 了。
在這里,我們不得不聊一聊一個(gè)故事:x86-64 和 EM64T 的斗爭(zhēng)。
?
2003 年,AMD 推出了業(yè)界首款 64 位處理器 Athlon 64,也帶來了 x86-64,即 x86 指令集的 64 位擴(kuò)展超集,具備向下兼容的特點(diǎn)。當(dāng)時(shí) Intel 也在推行 64 位技術(shù),但其 IA-64 架構(gòu)并不兼容 x86,只是用在服務(wù)器處理器 Itanium 上。為了和 AMD 展開競(jìng)爭(zhēng),Intel 也在 2004 年推出了自己的 64 位版 x86,也就是 EM64T。
對(duì)此,AMD 和 Intel 互相指責(zé)對(duì)方,但無論如何至少推廣了 64 位技術(shù)的發(fā)展和普及,也讓 x86 技術(shù)得以繼續(xù)發(fā)揚(yáng)光大。
關(guān)于這場(chǎng)“斗爭(zhēng)”,一位權(quán)威人士是這樣評(píng)價(jià)的:
“這證明,x86 指令集的彈性完全可以拿來對(duì)付 Intel,所以即使 Intel 統(tǒng)治了整個(gè)市場(chǎng),其他公司依然可以改變 x86 的發(fā)展方向。”
那么這位權(quán)威人士是何人?David A.Patterson,下面就是這位的照片。
David A.Patterson,加州大學(xué)伯克利分校計(jì)算機(jī)科學(xué)系教授
除此之外,他還有其他的頭銜:美國(guó)國(guó)家工程研究院院士,IEEE 和 ACM 會(huì)士,曾因成功的啟發(fā)式教育方法被 IEEE 授予 James H.Mulligan,Jr. 教育獎(jiǎng)?wù)?。他因?yàn)閷?duì) RISC 技術(shù)的貢獻(xiàn)而榮獲 1995 年 IEEE 技術(shù)成就獎(jiǎng),而在 RAID 技術(shù)方面的成就為他贏得了 1999 年 IEEE Reynold Johnson 信息存儲(chǔ)獎(jiǎng)。2000 年他和 John L.Hennessy 分享了 John von Neumann 獎(jiǎng)。
面對(duì)如此閃亮的“光環(huán)”,有沒有被閃到?別急,還有更耀眼的:
David Patterson 是 RISC 最初提倡者之一。他創(chuàng)造了 RISC 一詞,定義了 RISC 的含義,是 Sun 公司 SPARC 處理器的主要顧問。他提出了 RAID(廉價(jià)磁盤冗余陣列),帶來了為大量數(shù)據(jù)服務(wù)器提供磁盤存儲(chǔ)的工業(yè)的革命,并且又提出了 NOW(工作站網(wǎng)絡(luò))的概念。
所以,David Patterson 是計(jì)算機(jī)界的超級(jí)大牛,RSIC、RAID、Cluster 等業(yè)界重要技術(shù)的發(fā)明者。從 06 年開始,他在 Berkeley 的并行計(jì)算實(shí)驗(yàn)室領(lǐng)導(dǎo)了一個(gè)為期 5 年的研究項(xiàng)目,主要由 Intel and Microsoft 資助。
名副其實(shí)的“權(quán)威人士”!“大神”亮相完畢,后面我們分析一下 X86 的指令集。
與非網(wǎng)原創(chuàng)內(nèi)容,謝絕轉(zhuǎn)載!
系列匯總:
之二:處理器的春秋戰(zhàn)國(guó)時(shí)代:8 位處理器的恩怨與紛爭(zhēng)(上)
之三:處理器的春秋戰(zhàn)國(guó)時(shí)代:8 位處理器的恩怨與紛爭(zhēng)(下)
之四:處理器的三國(guó)時(shí)代:蘋果攪動(dòng) MCU 江湖
之五:處理器的三國(guó)時(shí)代:DR 公司盛氣凌人,IBM 轉(zhuǎn)身成就微軟