新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 封丘县| 合川市| 凌源市| 阳朔县| 宜都市| 新平| 平潭县| 田东县| 张掖市| 雷山县| 吴堡县| 舟曲县| 朔州市| 塔河县| 左权县| 新乐市| 于田县| 习水县| 仙桃市| 连云港市| 许昌县| 准格尔旗| 马公市| 克拉玛依市| 出国| 大关县| 沂水县| 娄烦县| 治县。| 秀山| 涡阳县| 镇巴县| 定兴县| 东山县| 石棉县| 图木舒克市| 吴江市| 监利县| 营山县| 邻水| 安顺市|