新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 從4004到core i7:處理器的進(jìn)化史(3)-4-第一次加速

從4004到core i7:處理器的進(jìn)化史(3)-4-第一次加速

作者: 時間:2014-02-19 來源:摘自《果殼小組》網(wǎng) 收藏

  現(xiàn)在加入流水線。為了將每個環(huán)節(jié)分割開來,我們需要在環(huán)節(jié)之間加入以隔離相鄰的環(huán)節(jié),獲得獨(dú)立的輸入、輸出。不妨假設(shè)在相鄰環(huán)節(jié)之間插入只一個。其具有自己的時間約束t_c,q(從輸入到輸出的傳輸延時)和t_su(建立時間,這常常和具體的電路結(jié)構(gòu)有關(guān))。為了保證正確性,需要有:

本文引用地址:http://2s4d.com/article/233547.htm

  由于我們將整個電路分割成了很多個很小的部分,因此max(t_pd)一般要遠(yuǎn)遠(yuǎn)小于t_pd,logic,也就是說,我們可以大大提升時鐘頻率,這與前面的敘述是一致的。

  然而上面的t_c,q和t_su卻給我們提了一個醒:

  主頻的提升并非沒有代價,它實(shí)際上是以一條指令完整執(zhí)行的時間(latency)的延長(它現(xiàn)在需要通過很多級寄存器了)來換取吞吐量(throughput,即單位時間內(nèi)流經(jīng)某一級的指令數(shù)量)的提升。

  在指令流連續(xù)時,一切都很美好;但是一旦指令流中斷(最典型的當(dāng)然是branch),引入的額外開銷就顯著地體現(xiàn)出來了。這里我再自己寫一個公式:

  T_sum=T_latency+N*T_min,pipe

  其中T_sum是執(zhí)行一段很長很長的指令流的總用時(第一條IF到最后一條WB),N是指令數(shù)。這樣,我們得到了一種衡量性能的方法:

  t_avg=T_latency/N+T_min,pipe

  不難想象,當(dāng)N很小時,很長的pipleline帶來的巨大的latency將會讓平均指令執(zhí)行時間t_avg變得很難看。

  事實(shí)上還有一個限制主頻瘋狂提升的因素。記得嗎,那就是我前面說過的功耗!

  正因?yàn)橐陨系膬蓚€因素,intel雖然曾經(jīng)將netburst的流水線做到了28級,頻率提高到3.8GHz,甚至差一點(diǎn)就發(fā)布了4GHz的Pentium 4,卻最終冷靜了下來,不再通過越來越深的不顧一切地提升時鐘頻率了。

  作為參照,core架構(gòu)的流水線僅14級。

  并不是萬靈藥,我們需要另外的加速方法。

  說完了pipeline,你應(yīng)該就能看懂這張386的圖了:

  Pipeline is everywhere!!


上一頁 1 2 3 下一頁

關(guān)鍵詞: POWER 處理器 CPU 寄存器 pipeline

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉