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