對現代能夠進行多重發送的超純量處理器而言,指令提取單元是讓高效力的執行單元能夠保持全速運作的關鍵之一。用以評價指令提取單元的數據不只有發送指令的速率還有投機執行的準度。也就是說一個好的指令提取單元要能在合理的時脈時間內,從正確的執行路徑上擷取大量的指令。在同步多線程架構的處理器上狀況會有些許的不同,因為在處理器中同時有多個活動中的程序。若是能得知每個線程未來的投機執行狀況,前端的指令提取單元可以偏好具有高度可預測性執行路徑的執行緒,以避免誤入錯誤執行路徑時額外產生的資源及電力浪費。在本論文中,我們將焦點擺在改善同步多線程處理器的前端執行單元。我們提出了一個輔助性的結構稱作Sequential Trace Table (STT) ,來提供對各個執行緒投機執行狀況的預先觀察。並利用這些投機執行狀況的資訊以輔助排定提取優先權的策略。For modern wide-issue superscalar processors, high performance instruction fetch unit is the key component to keep the powerful execution engine operating in full speed. The performance measurement to evaluate a front-end mechanism includes both the instruction delivery rate and
speculation accuracy. That means a good front-end engine should be able to fetch and dispatch massive instructions on the right execution path, in a reasonable clock cycle time. Things may be a little different in Simultaneous Multithreading (SMT) architecture because there are multiple active contexts inside the CPU. If we can extract some information about future speculation conditions of each thread, the front-end fetch engine can then prefer threads with highly predictable execution path to avoid resource or energy waste on mis-speculative routes. In this paper, we focus on improving the frontend engine of SMT processor. We present a supplementary structure called Sequential Trace Table (STT) to provide a look-ahead into the future speculating conditions of each thread, and use the information to help improving fetch prioritizing policies.