專利名稱:一種高速緩存的映射方法
技術領域:
本發(fā)明涉及一種計算機系統(tǒng)中高速緩存的映射方法,具體涉及的是 一種固定部分高速緩存的內容的映射方法。
背景技術:
在現(xiàn)代計算機技術中,中央處理器CPU—般不再直接讀寫外部數(shù)
據(jù),而是通過高速緩存作為交換媒介來完成外部讀寫操作,這樣可以
大幅提高讀寫速度。高速緩存Cache作為一種交換媒介,具有如下特 點第一、速度快,CPU對其讀寫速度可以達到對普通外部存儲設備的 幾倍甚至幾十倍;第二、價格高,其單位存貯容量的價格遠高于各種 外部存儲設備;第三,容量小,由于受到系統(tǒng)的經(jīng)濟成本及現(xiàn)有技術 水平的限制,在一般的計算機系統(tǒng)中,高速緩存的容量遠小于系統(tǒng)的 外部存儲器。通常,當CPU需要從外存讀寫數(shù)據(jù)時,首先檢查該數(shù)據(jù) 是否在高速緩存中,若檢查結果指示該數(shù)據(jù)在高速緩存中,則CPU直 接讀寫緩存中的數(shù)據(jù);若該數(shù)據(jù)不在高速緩存中, 一般會選擇以下兩 種方法完成讀寫操作其一,CPU直接讀寫外部存儲器,這樣做并不改 變外存和高速緩存的映射關系;其二,將待讀寫外部存儲器中的內容 映射到緩存中,同時,由于緩存容量有限,還須將緩存中的部分其他 數(shù)據(jù)寫入到內存,這種方法會改變外存和高速緩存的映射關系。
為了提高系統(tǒng)的工作效率,需要將較為常用的外存映射到高速緩存 上,現(xiàn)有技術中的映射方法主要有兩種第一、全部自動控制,由系 統(tǒng)自己決定要映射的內容,該方法的優(yōu)點是適應性強,不需要人工控 制,但也導致程序員無法對于系統(tǒng)進行干預,在某些特殊場合無法使 系統(tǒng)達到最大效率;第二、手工指定映射地址,這種辦法可以實現(xiàn)程序對映射的精確控制,但是由于需要使用絕對地址,故使程序的編寫 變得非常繁雜。因此,現(xiàn)有技術中的高速緩存的映射方法屬于全自動 和手動兩種極端的方式,均存在一定的局限性。
發(fā)明內容
針對現(xiàn)有技術中的上述問題,本發(fā)明提出了一種介于全自動和手動之 間的高速緩存映射方法。
根據(jù)本發(fā)明,提供了一種高速緩存的映射方法,該方法包括下述步驟: 根據(jù)程序要求,將部分高速緩存劃分為固定緩存,用于映射程序執(zhí)行中連 續(xù)需要的數(shù)據(jù);在程序中設置標志,作為啟用固定緩存的指示;設置固定 緩存的內容,對固定緩存的內容進行讀寫;以及,CPU發(fā)出特定的清空指 令,釋放上述固定緩存的內容。
優(yōu)選地,上述設置固定緩存的內容操作包括下述步驟運行到上述 的啟用標志時,解析下條指令所需的數(shù)據(jù)的位置;當固定緩存中無下 條指令所需數(shù)據(jù)時,將外存中的數(shù)據(jù)映射到固定緩存;執(zhí)行當前指令, 從固定緩存中讀取所述的下條指令所需數(shù)據(jù)。
優(yōu)選地,當所述下條指令所需數(shù)據(jù)存在于普通緩存時,將普通緩存 中的數(shù)據(jù)寫入到外存,并清空此普通緩存相應位置。
優(yōu)選地,上述設置固定緩存的內容操作包括下述步驟運行到上述 啟用標志時,解析下條指令所需的數(shù)據(jù)的位置;若下條指令為終止命 令或所述固定緩存已滿時,則正常運行其他程序。
優(yōu)選地,上述啟用固定緩存的標志設置在運行運算量大、耗時長的 代碼前。
優(yōu)選地,上述高速緩存的劃分在程序運行時進行。
由于本發(fā)明對高速緩存進行了劃分,引入了固定緩存,當運行運算量 大、耗時長的代碼時啟用固定緩存,其內容可以相對穩(wěn)定,減少了CPU對 外存的訪問次數(shù),提高了系統(tǒng)效率。
下文將參照附圖對本發(fā)明的具體實施方案進行更詳細的舉例說明, 其中-
圖l是本發(fā)明的系統(tǒng)結構圖2是本發(fā)明的設置固定緩存的流程圖。
具體實施例方式
圖1是本發(fā)明的系統(tǒng)結構圖。如圖所示,與普通系統(tǒng)不同的是,本 發(fā)明所涉系統(tǒng)中的高速緩存分為兩個部分 一部分為固定緩存,其內 容相對而言是固定的,除非CPU發(fā)出特定的清空指令,否則該部分高 速緩存的內容不會發(fā)生變化,不能被替代;另一部分為普通緩存,其 內容相對而言是頻繁變化的。固定緩存和普通緩存的大小可以在程序 運行時,根據(jù)待執(zhí)行程序的情況動態(tài)進行劃分。
一般情況下,當程序員判定即將運行的程序是一個運算量大、耗時 長的代碼時,可以綜合考慮高速緩存的容量、該代碼的尺寸等情況啟 動本發(fā)明的方法,即將高速緩存進行劃分,開辟出固定緩存,將待執(zhí) 行的代碼中常用的數(shù)據(jù)映射到該區(qū)域,以減少CPU對外存的訪問次數(shù), 縮小程序的運行時間,提高處理速度。待這段代碼運行完畢后,CPU發(fā) 出特定指令,全部或部分清空固定緩存中的數(shù)據(jù),釋放相應的固定緩 存。
圖2是本發(fā)明的設置固定緩存的流程圖。本實施例中設置了一個寄 存器作為標志,指示系統(tǒng)啟用固定緩存,并完成填充固定緩存內容的 操作。如圖所示,當系統(tǒng)運行到程序設置的該標志時,依次完成如下 步驟-
1、 解析下條指令,確定所需數(shù)據(jù)位置;
2、 判斷指令是否為結束標志,如是,則結束此過程,正常運行其他 程序;
3、 判斷固定內容緩沖是否已滿,如是,則結束此過程,正常運行其 他程序;4、 判斷下條指令所需數(shù)據(jù)是否在普通緩存中,如否,跳轉至步驟6;
5、 將普通緩存中的數(shù)據(jù)寫入到外存,并清空此位置上的普通緩存;
6、 判斷所需數(shù)據(jù)是否在固定緩存中,如否,跳轉至步驟8;
7、 將外存中的數(shù)據(jù)映射至固定緩存;
8、 執(zhí)行當前指令,下條指令所需數(shù)據(jù)從固定緩存中讀出,并跳轉至 步驟1。
其中,本實施例中步驟5的目的在于釋放普通緩存的空間以及保
證數(shù)據(jù)的同步,屬于本發(fā)明的進一步完善步驟。
應當說明的是,以上描述旨在說明本發(fā)明的具體實施方案,不能 理解為對本發(fā)明的限制,本發(fā)明所要求保護的范圍僅由權利要求書進
行限制。
權利要求
1、一種高速緩存的映射方法,其特征在于,所述方法包括下述步驟根據(jù)程序要求,將部分高速緩存劃分為固定緩存,用于映射程序執(zhí)行中連續(xù)需要的數(shù)據(jù);在程序中設置標志,作為啟用所述固定緩存的指示;設置所述固定緩存的內容,對所述固定緩存的內容進行讀寫;以及,CPU發(fā)出特定的清空指令,釋放所述固定緩存的內容。
2、 根據(jù)權利要求l所述的高速緩存的映射方法,其特征在于, 所述設置固定緩存的內容操作包括下述步驟運行到所述的啟用標志時,解析下條指令所需的數(shù)據(jù)的位置; 當所述固定緩存中無所述下條指令所需數(shù)據(jù)時,將外存中的數(shù)據(jù)映 射到所述固定緩存;執(zhí)行當前指令,從固定緩存中讀取所述的下條指令所需數(shù)據(jù)。
3、 根據(jù)權利要求2所述的高速緩存的映射方法,其特征在于,當所述下條指令所需數(shù)據(jù)存在于普通緩存時,將普通緩存中的數(shù)據(jù)寫 入到外存,并清空此普通緩存相應位置。
4、 根據(jù)權利要求1所述的高速緩存的映射方法,其特征在于, 所述設置固定緩存的內容操作包括下述步驟運行到所述的啟用標志時,解析下條指令所需的數(shù)據(jù)的位置; 當所述下條指令為終止命令或所述固定緩存已滿時,則正常運行其 他程序。
5、 根據(jù)權利要求1所述的高速緩存的映射方法,其特征在于, 所述啟用固定緩存的標志設置在運行運算量大、耗時長的代碼前。
6、 根據(jù)權利要求1所述的高速緩存的映射方法,其特征在于, 所述高速緩存的劃分在程序運行時進行。
全文摘要
本發(fā)明披露了一種高速緩存的映射方法,該方法包括下述步驟根據(jù)程序要求,將部分高速緩存劃分為固定緩存,用于映射程序執(zhí)行中連續(xù)需要的數(shù)據(jù);在程序中設置標志,作為啟用固定緩存的指示;設置固定緩存的內容,對固定緩存的內容進行讀寫;以及,CPU發(fā)出特定的清空指令,釋放固定緩存的內容。由于本發(fā)明對高速緩存進行了劃分,引入了固定緩存,當運行運算量大、耗時長的代碼時啟用固定緩存,其內容可以相對穩(wěn)定,減少了CPU對外存的訪問次數(shù),提高了系統(tǒng)效率。
文檔編號G06F12/08GK101551783SQ200910077259
公開日2009年10月7日 申請日期2009年1月21日 優(yōu)先權日2009年1月21日
發(fā)明者巖 史 申請人:北京海爾集成電路設計有限公司