學士論文摘要
題目: RISC/B指令導管式作業之改進
指導教授: 徐弘洋老師 (逢甲大學)

RISC/B 為逢甲大學資訊科學研究所發展之RISC系統,其設計是依據ECL 元件之時間參數而訂定。在設計中將指令導管(Instruction pipeline)作業分為三個階段(Stages): 階段一為指令擷取(Instruction fetch)及指令解碼(Instruction decode),與來源暫存器(Source register) 解碼;階段二為來源暫存器讀取, 立即資料(Immediate data)產生,條件碼(Condition code)判斷,以及進行運算;階段三則將運算結果寫入目地暫存器(Destination register),並設定條件碼。在此架構中,由於條件碼設定是在階段三中執行,無法即時提供次一道指令之擷取使用,故破壞了導管式作業之架構。

RISC II 提出延遲分枝(Delay branch)的作法,利用在該類指令後加入NOP (No Operation) 指令來解決此一問題,但此一方法將使一程式會多出約6%之NOP 指令。RISC/B則利用指令中之一SCC bit 來指示次一指令是否要延遲一個週期,取代在程式中填入NOP 指令。並利用最佳化器(Optimizer) 將無資料相關(Data dependence)之指令移來,取代此NOP 指令。此法可減少程式之長度,但最佳化之程度仍影響著延遲週期之多寡。

本文依據RISC/B第一期原型機製作之各項元件時間參數,對其指令導管作業做一修改,可使得條件設定足能即時提供次一指令使用,不須作延遲分枝。如此不但提高了執行速度,而且可降低編譯器及最佳化器之複雜度。
回主畫面