新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 從4004到core i7:處理器的進化史(3)-4-第一次加速

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

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

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

        本文引用地址:http://www.104case.com/article/233547.htm

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

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

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

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

          T_sum=T_latency+N*T_min,pipe

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

          t_avg=T_latency/N+T_min,pipe

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

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

          正因為以上的兩個因素,intel雖然曾經將netburst的流水線做到了28級,頻率提高到3.8GHz,甚至差一點就發布了4GHz的Pentium 4,卻最終冷靜了下來,不再通過越來越深的不顧一切地提升時鐘頻率了。

          作為參照,core架構的流水線僅14級。

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

          說完了pipeline,你應該就能看懂這張386的圖了:

          Pipeline is everywhere!!


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 岳普湖县| 海口市| 陆丰市| 大渡口区| 满城县| 黎城县| 长宁区| 项城市| 江油市| 商河县| 登封市| 莱州市| 浪卡子县| 田东县| 青岛市| 镇沅| 德州市| 岢岚县| 武隆县| 遂昌县| 固原市| 青冈县| 海原县| 泰州市| 朔州市| 修水县| 疏勒县| 和龙市| 宜州市| 亚东县| 锦州市| 全南县| 普格县| 四川省| 马龙县| 毕节市| 新津县| 武义县| 高淳县| 都兰县| 林芝县|