這個系列的深度報道文章統計了失敗的處理器種群。這些文章 探索了造成每一種處理器種群死亡的主要設計錯誤。每一種主要的設計錯誤也以一或兩個例子進行了闡述。前兩部分討論了支持特殊語言的高級計算機指令集架構的 發展;允許簡單機器仿效其長輩的中間ISA的使用等。除此之外,還有堆棧機、極端CISC和RISC處理器、VLIW機以及過度地迅速成長的流水線操作 等,以及本文討論的不平衡的處理器設計 錯誤3:不平衡的處理器設計 隨著處理器社群成為富有魅力的寵兒,處理器流水線似乎受到了人們不成比例的關注。然而,處理器的性能更多地取決于其執行流水線。因為就任何工程 學科來說,優良的處理器性能取決于平衡的設計。許多屬性均對處理器(或系統)的整體性能有貢獻,而這些因素當中的任何一個均能對運行實時應用程序的“完美 ”流水線的運行效率造成不良的影響,如果該流水線與其它的流水線處于不平衡狀態的話。設計工程師必須采用一種經擴展的設計決策配置以及各種新技術來產生平 衡、有成本經濟性的系統。 過去十年中,在處理器設計上 的進展包括兩個方面:1.在電路設計上的進展,它造成時鐘速率從1985~2005年期間每年以大約30%的速度提高;2.在架構上的改善—包括采用更寬 的指令集、VLIW架構以及經深思熟慮的執行,這使得微處理器發出指令的速率遠遠快于主存儲器帶寬增長的速率或者主存儲器存取延遲時間縮短的速率。因此, 微處理器對大塊或主存儲器的存取暫時變得昂貴了,這種趨勢迫使架構和系統級要做出的設計變更包括: ·對主存儲器的更寬連接(更多的引腳); ·更大和更高效率的指令以及數據高速緩沖存儲器; ·以存儲器為中心的系統架構。 這些新方法當中的每一種均帶來了各種好處并招致成本的提高。 在1997年有一篇文章把處理器的執行時間分為三個時間段,它幫助解釋處理器的設計如何可能做到較佳的平衡。這三個時間段分別是: ·處理器時間:當處理器被完全使用或部分使用并且因缺乏指令級的并行處理能力而造成部分的停止運行時; ·延遲時間:在競爭之前損失的時間—存儲器延遲時間更短(在存儲器各個層級之間提高存儲帶寬無法縮短延遲時間); ·帶寬時間:在存儲器競爭之前的時間損失加上因存儲器各層級之間的存儲帶寬不足而引起的時間損失; 許多“現代”處理器設計技 術加劇了上述所有三個執行時間段所帶來的問題。不確定的軟件和硬件預取技術—通過確保當需要時數據才實際處于高速緩沖存儲器之中—能夠改善處理器的性能, 但是,這些技術會增加對主存儲器的流量,并且,當它們預取不需要的數據、預取在被使用之前就被逐出的數據、或者預取在可被使用之前就被逐出處理器高速緩沖 存儲器的其它數據(迫使該數據被重新抓取)時,會浪費帶寬。多線程通過無論何時一個線程停止—因存儲器存取延遲時間太長或I/O操作時間太長—均切換至一 個準備就緒的線程而提高處理器的吞吐量,但是,頻繁的線程切換會搞亂高速緩沖存儲器以及TLB。因此,由多線程達到的好處可能因高速緩沖存儲器效率的降低 而部分或完全受到抵消。 失去平衡 盲目地追逐高時鐘速率也驅使處理器的設計失去平衡。隨著處理器變得越來越快,它們以更快的速率占用指令和操作碼,這對主存儲器延遲以及帶寬的要 求提出更大的壓力。最近朝著同類、具有一致的高速緩沖存儲器的多核處理器以及通用主存儲器發展的趨勢,也增加了主存儲器的延遲以及帶寬要求。試驗顯示,把 壓力放在處理器至主存儲器接口上的積極進取的設計技術,可能導致處理器停止工作并在多達50%的時間里等待存儲器。這樣的系統顯然是失去平衡的系統。 深亞微米以及納米電路的影響也驅使傳統的處理器設計失 去平衡。互連延遲—以前不重要—現在在整個門延遲上占據主導地位,因為線延遲并不會隨著特征尺寸的縮小而縮短,除非線的截面積的寬高比發生變化。正如在以 前的部分所討論的,Intel奔騰4微處理器—它達到了3.8GHz的商業時鐘速率—的設計工程師被迫把該處理器的20級執行流水線投入于適應片上的線延 遲。 因為深亞微米和納米設計規則已經允許時鐘速率上升,微處理器設計工 程師已經采取進一步降低內核工作電壓的措施以期限制功耗的增加。然而,這么做需要采用具有更低閥值電壓的晶體管以適應更低的內核工作電壓。依次下來,在 90nm及以下工藝級別,當閥值電壓被降低到一定水平時,因泄漏引起的處理器功耗大致會等于它的動態功耗。這樣的處理器即使當什么也不做時也會消耗大量的 功率。 對高速緩沖存儲器的依賴 所有這些選擇和結果就是在處理器的架構上迫使采取新的發展方向。首先,在這些新方向當中的一個方向就是需要采用更加高效率的高速緩存。在目前的 高速緩存中保存的那部分數據當中,有0.05%~33%是活躍的(在被逐出之前將被再次刷新)。那意味著處理器高速緩沖存儲器的大多數空間通常填滿了不流 動、無用的數據以及指令。經改善的高速緩沖存儲器的管理邏輯能夠把高速緩存與主存儲器之間的流量減少為原來的1/2乃至1/100,因此,對硅片是一種明 智的支出。提高高速緩存效率的一個途徑就是以比高速緩存更精細的粒度來高速緩存各個對象,從而提高高速緩存標簽的開銷但降低對帶寬的要求。 把處理器的主存儲器集成在同一顆處理器芯片上,能夠有效地把整個片上主存儲器做在高速緩存之中,從而消除存儲器的層次并充分減少存儲器的開銷。 在這個方向上進一步推進設計,就產生了把微處理器嵌入至獨立存儲器陣列的、以存儲器為中心的架構。這就是MPSOC(多處理器系統級芯片)的領域,它尋求 把整個處理負荷分布在大量小的、廉價的、以低速率運行的處理器上。因此,MPSOC很可能成為未來高性能處理器的架構。(本文譯自《微處理器報告》) 參考文獻: [1] BURGER D, GOODMAN J R, KAGI A. Limited Bandwidth to Affect Processor Design[J]. IEEE Micro, 1997(11-12), 55-62 |