新聞中心

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

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

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

          前面有位童鞋表示對很感興趣,在這里現在不講,只貼一張7的die photo,上面已經透露了很多有用的信息了~

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

          45nm
          1,200,000 transistors
          8 core-32 thread
          32MB L3$
          32 slot max

          呼~終于忙得差不多鳥~

          在這個帖子中,我們會看到設計中的第一次重大飛躍:流水線()

          為了理解什么是流水線,我們先來看一看一條汽車裝配線上的情況:

          假設一輛汽車從無到有需要以下4個步驟:

          焊接車身
          底盤與車身結合
          裝入發動機
          裝上輪子

          我們再假設發動機、車身的鋼板、輪子等等零件都是事先準備好的,它們的存儲量是充足的。

          假設我們有一臺機床,上面有各種機械手,那么我們會怎么造汽車呢?

          焊接車身-》底盤與車身結合-》裝入發動機-》裝上輪子

          假設上面每一個環節需要1分鐘,那么我們的生產速度是0.25輛/分鐘。

          當然我們不會這么做,因為福特早就替我們想好了更高效的解決方案:

          準備4臺機床,每臺機床都僅僅具備一個環節的工具即可。每臺車在完成一個環節的組裝后就立即流向下一個環節。

          這樣我們可以保證4臺機床每一臺都不會空閑,并且得到了相當可觀的生產速度提升:1輛/分鐘。

          我們終于有了第一個加速算法:

          將整體工作分成N個環節。當這N個環節互相獨立的時候,最多可以獲得N倍的性能提升。

          對于來說,這就相當于主頻提升了N 倍!

          你可能時常聽到所謂的超流水線,就是環節特別多的流水線。

          現在你可能可以理解這些流水線被設計出來的初衷了:把任務分割的越細(流水線越深),主頻理論上來說就越高。當然,我們會在后面看到,過深過細的流水線反而會損害性能。比如說,intel的netburst。

          但是,當這N個環節互相之間產生相互依賴的時候該怎么辦呢?

          看看以下的偽代碼:

          ...
          mov reg1,0
          nop(= no operation)
          ...
          nop
          mov reg1,1
          mov reg2,reg1
          nop
          nop
          ...

          再回憶一下我們前面說過的指令執行的環節:

          IF->ID->OC->EX->WB


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴隆县| 嵩明县| 惠来县| 左云县| 咸丰县| 磐石市| 黎平县| 阿巴嘎旗| 怀仁县| 钦州市| 宁蒗| 巩留县| 宁夏| 东乡县| 开江县| 册亨县| 曲水县| 沙坪坝区| 苍梧县| 石台县| 岢岚县| 咸阳市| 普兰县| 宁陵县| 巴彦县| 平定县| 昌宁县| 广丰县| 甘肃省| 上高县| 永胜县| 金湖县| 汨罗市| 佛学| 濮阳市| 叙永县| 渭源县| 抚宁县| 福清市| 茶陵县| 广元市|