從4004到core i7:處理器的進(jìn)化史(3)-4-第一次加速
前面有位童鞋表示對POWER很感興趣,在這里現(xiàn)在不講,只貼一張7的die photo,上面已經(jīng)透露了很多有用的信息了~
本文引用地址:http://2s4d.com/article/233547.htm 45nm
1,200,000 transistors
8 core-32 thread
32MB L3$
32 slot max
呼~終于忙得差不多鳥~
在這個帖子中,我們會看到處理器設(shè)計(jì)中的第一次重大飛躍:流水線(pipeline)
為了理解什么是流水線,我們先來看一看一條汽車裝配線上的情況:
假設(shè)一輛汽車從無到有需要以下4個步驟:
焊接車身
底盤與車身結(jié)合
裝入發(fā)動機(jī)
裝上輪子
我們再假設(shè)發(fā)動機(jī)、車身的鋼板、輪子等等零件都是事先準(zhǔn)備好的,它們的存儲量是充足的。
假設(shè)我們有一臺機(jī)床,上面有各種機(jī)械手,那么我們會怎么造汽車呢?
焊接車身-》底盤與車身結(jié)合-》裝入發(fā)動機(jī)-》裝上輪子
假設(shè)上面每一個環(huán)節(jié)需要1分鐘,那么我們的生產(chǎn)速度是0.25輛/分鐘。
當(dāng)然我們不會這么做,因?yàn)楦L卦缇吞嫖覀兿牒昧烁咝У慕鉀Q方案:
準(zhǔn)備4臺機(jī)床,每臺機(jī)床都僅僅具備一個環(huán)節(jié)的工具即可。每臺車在完成一個環(huán)節(jié)的組裝后就立即流向下一個環(huán)節(jié)。
這樣我們可以保證4臺機(jī)床每一臺都不會空閑,并且得到了相當(dāng)可觀的生產(chǎn)速度提升:1輛/分鐘。
我們終于有了第一個加速算法:
將整體工作分成N個環(huán)節(jié)。當(dāng)這N個環(huán)節(jié)互相獨(dú)立的時候,最多可以獲得N倍的性能提升。
對于CPU來說,這就相當(dāng)于主頻提升了N 倍!
你可能時常聽到所謂的超流水線,就是環(huán)節(jié)特別多的流水線。
現(xiàn)在你可能可以理解這些流水線被設(shè)計(jì)出來的初衷了:把任務(wù)分割的越細(xì)(流水線越深),主頻理論上來說就越高。當(dāng)然,我們會在后面看到,過深過細(xì)的流水線反而會損害性能。比如說,intel的netburst。
但是,當(dāng)這N個環(huán)節(jié)互相之間產(chǎn)生相互依賴的時候該怎么辦呢?
看看以下的偽代碼:
...
mov reg1,0
nop(= no operation)
...
nop
mov reg1,1
mov reg2,reg1
nop
nop
...
再回憶一下我們前面說過的指令執(zhí)行的環(huán)節(jié):
IF->ID->OC->EX->WB
評論