RISC/B CAMU (CAche/Memory management Unit)是一個為32位元RISC型處理機所設計 的隱藏與虛擬記憶體管理之架構,它提供大小各為4G位元組的監督與使用者虛擬位址 空間,以便能有效的支援一個需求分頁虛擬記憶體管理。在此一架構中,我們設計了 一個採用256 個集且每個集有兩道資料項(two-way set associative) 的TLB (Trans lation Lookaside Buffer),並利用此一裝置將虛擬位址轉換為實際位址。為了提高 效率,在每個TLB 記錄中都有一個7 位元的工作元編號(Process identifier pid)欄 位,使得本文轉換(context switch)盡量能在不須做TLB 更新之下快速進行。同時伴 隨著每個虛擬位址尚有功能碼及保護碼,系統軟體可同時利用這些碼來辨識記憶體存 取的類型及特權階層,以達到記憶體保護之功能。 另外為了進一步提高整體的擊中率(hit rate)以及加速一些高使用率軟體的存取,所 以額外地建立一10個分頁的項目,稱為輔助轉換緩衝器(Aided Translation Buffer- ATB)。在我們的設計中,TLB 的項目可在系統軟體控制下進行存取,以提供檢核測試 的能力。但是當在TLB 中無法找到轉換所需資料時(TLB Miss),則利用自動位址轉換 單元(Automatic Translation Unit -ATU) 到記憶體搜尋所需的分頁,以達到快速存 取記憶體的目的。 通常指令及資料位址在存取隱藏式記憶體及主記憶體之前,就必須被轉換成實際位址 ,但由於導管式作業的限制,所以我們採取直接對應(direct mapping)以及分離式指 令與資料記憶體的架構,以提高隱藏式記憶體存取速度。在記憶體更新策略上,主要 是依據記憶體管理單元的系統狀態位元(system status tag) 所解碼出的控制訊號, 以便判別是否將資料寫入主記憶體,或是此一資料可否存入隱藏式記憶體,利用此一 簡單的控制可彈性地運用不同型態記憶體更新策略,達到理想的效能。此外並提供匯 流排監督(bus sncoping)功能以達到資料一致性的目的。 為了使隱藏式記憶體效能達到最好,審慎的考慮隱藏式記憶體的大小及其線容量(lin e size) 是不可或缺的步驟。首先我們使用一個RISC/B DTMC(Discrete Time Markov Chain) 模型來研究隱藏式記憶體大小與記憶存取時間之關係,並評估各種隱藏式記 憶體大小與系統所需相應的週期時間長度。其次我們討論線容量在不同的記憶體延遲 及匯流排的傳輸率之環境下對隱藏式記憶體漏失處理時間的影響並作為選擇最佳線容 量的依據。經由我們的結果分析,最後發現4K位元組的大小及16位元組的線容量最適 合我們的需要。 在CAMU的模擬與驗證上,首先在微架構階層我們是以RISC/B研究小組自行設計的模擬 器LOGICAL 來進行邏輯行為及時序之模擬測試,以找出設計上有關邏輯方面的錯誤。 並且進行電路的設計,此一電路再到Valid 公司出品的SCALD 模擬系統上做電路模擬 ,以確定電路之正確性。
|