標題: 在直接平行指令集運算架構中處理失速週期
Handling Stall Cycles in EPIC Architecture
作者: 顏先駿
Hsien-Chun Yen
鍾崇斌
Chung-Ping Chung
資訊科學與工程研究所
關鍵字: 直接平行指令集運算;失速;相依性控制;EPIC;stall;dependency control
公開日期: 2003
摘要:   由於處理器效能不斷的提升,與記憶體、週邊裝置間的速度差距也愈來愈大。有一些指令,會因為快取記憶體失誤 (cache miss) 或執行延遲等原因,造成該指令的執行時間,會依照執行當時的運算子、狀態等而有所不同。這些指令在編譯時期無法預測執行時間,做出最佳的靜態排程 (static scheduling)。而執行時期發生失速 (stall) 的情況,會直接影響整個系統的效能。於是,我們需要一個好的動態執行機制。   在這篇論文中,我們針對直接平行指令集運算 (EPIC) 架構,提出一個方法來處理失速的問題。我們在每一道指令 (instruction) 前面,額外增加硬體動態執行機制所需要的提示,並且在程式可能發生無法預測執行時間的指令和其相關指令上標記該提示,使得處理器得以直接利用標記的資訊,不需外加複雜的硬體來做煩冗的相依性檢查,即可打破指令群 (instruction group) 的執行順序限制,正確執行程式,並且達成動態執行的效果。將失速的週期與不同的失速週期重疊,或把被阻擋而未完成的指令與其他指令一起執行,即可隱藏失速所造成的影響,進而增進處理器的效能。
There are many types of stalls. Some instructions have unpredictable execution latencies because of stall occurred. It is impossible at compile time to identify all possible sources of stalls and their durations. Also, it is impossible to give an optimized instruction scheduling at compiler time. When executing a program, stalls may occur and break down the performance. So, a good dynamic scheduling execution mechanism is necessary. In this thesis, we introduce an approach for an EPIC architecture to become an out-of-order execution architecture. Instead of additional complex hardware, we attach several bits to each instruction to show hardware how to execute program dynamically without hazard detection and instruction scheduling circuit. Stall cycles can overlap with other stall cycles and the blocked instructions can be executed with non-blocked instructions. When the stall cycles are hidden, the total execution time can be reduced and archive performance improvement.
URI: http://140.113.39.130/cdrfb3/record/nctu/#GT009117617
http://hdl.handle.net/11536/50580
Appears in Collections:Thesis


Files in This Item:

  1. 761701.pdf