1. 處理器的scaling有兩個方向:提高頻率和降低電壓
2. 關於處理器的頻率
處理器有一個參考時鐘頻率系統(或電壓系統)。這些參考頻率在考慮到了process variation,設備老化,極端溫度和電壓調節情況下,仍然能保證處理器運行的正確性。只要處理器沒有到達其環境限制,超頻一般就不會導致額外的錯誤。這個臨界頻率,簡單記作f0. 舉例來說,如果一個邏輯門的總延時超過了1/f,那麼採用f作爲同步該邏輯門的時鐘頻率就會導致錯誤。如果一個處理器能夠使用超過f0的頻率,以及容忍由此帶來的錯誤,就稱爲timing speculation processor.
timing speculation processor的目標是,通過提高時鐘頻率來提高系統性能,同時,利用檢錯和糾錯機制來處理超頻可能導致的錯誤。
理論上,timing speculation processor的提出,爲優化性能(或功耗效率),提供了更多的機會。
3. timing speculation processor的檢錯糾錯方法
1)Stage-level
流水粒度,在每個時鐘末檢測一次。比如,利用wave-pipelining技術,分別以超頻和參考頻率各鎖存流水的輸出一次(參考頻率鎖存的結果可以確保是正確的),然後在每個時鐘末比較兩種鎖存的結果。如果不一致,就用參考鎖存器中的結果來恢復超頻鎖存器中的結果。
如何保證參考鎖存能夠跟上超頻鎖存的頻率??
2)leader-checker
在CMP中,可以利用兩個cpu核組成一對,運行同樣的代碼,一個使用參考頻率,一個使用超頻。利用參考頻率的結果來檢查和恢復超頻結果的正確性。
如何保證參考核能夠跟上超頻核?超頻核預取數據到共享緩存,可以加速參考核。
是否浪費了一個核??
4. 實驗方法
1)使用Synopsis Design compiler和Cadence Encounter實現處理器中各功能模塊。使用openSPARC提供的時序信息。使用CACTI估計模塊的尺寸。
2)使用Simics獲得benchmark的檢查點,然後將檢查點導入CMU Transplant tool進行門級仿真,從而得到各模塊的出錯率(給予profiling)。
3)使用SESC仿真器,附加Wattch,HotLeakage,和HotSpot提供功耗和溫度模型,得到微體系結構級別的性能和功耗估計。
參考文獻:
[1] Greskamp, B.; Lu Wan; Karpuzcu, U.R.; Cook, J.J.; Torrellas, J.; Deming Chen; Zilles, C.; , "Blueshift: Designing processors for timing speculation from the ground up.," High Performance Computer Architecture, 2009. HPCA 2009. IEEE 15th International Symposium on , vol., no., pp.213-224, 14-18 Feb. 2009