新聞中心

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

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

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

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

本文引用地址:http://butianyuan.cn/article/233547.htm

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

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

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

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

  T_sum=T_latency+N*T_min,pipe

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

  t_avg=T_latency/N+T_min,pipe

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

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

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

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

  并不是萬(wàn)靈藥,我們需要另外的加速方法。

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

  Pipeline is everywhere!!


上一頁(yè) 1 2 3 下一頁(yè)

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

評(píng)論


相關(guān)推薦

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

關(guān)閉