亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種cpu中緩存的用戶態(tài)分配方法和系統(tǒng)的制作方法_4

文檔序號(hào):8472906閱讀:來(lái)源:國(guó)知局
應(yīng)用程序分配的預(yù)留高速緩存的容量和起始地址。
[0158]綜上所述,為了提高應(yīng)用程序的性能,本發(fā)明通過(guò)新建的頁(yè)表將導(dǎo)出到Kernel態(tài)的CPU中的高速緩存輸出到用戶態(tài),供應(yīng)用程序使用。當(dāng)一個(gè)任務(wù)(進(jìn)程)執(zhí)行系統(tǒng)調(diào)用而陷入內(nèi)核代碼中執(zhí)行時(shí),就稱進(jìn)程處于內(nèi)核運(yùn)行態(tài)(或簡(jiǎn)稱為內(nèi)核態(tài))。此時(shí)處理器處于特權(quán)級(jí)最高的(O級(jí))內(nèi)核代碼中執(zhí)行。當(dāng)進(jìn)程處于內(nèi)核態(tài)時(shí),執(zhí)行的內(nèi)核代碼會(huì)使用當(dāng)前進(jìn)程的內(nèi)核棧。每個(gè)進(jìn)程都有自己的內(nèi)核棧。具體可以在引導(dǎo)參數(shù)中設(shè)定預(yù)留高速緩存的容量和起始地址,按照預(yù)留高速緩存的容量和起始地址在CPU的高速緩存中創(chuàng)建預(yù)留高速緩存,然后為用戶態(tài)應(yīng)用程序分配預(yù)留高速緩存,供用戶態(tài)應(yīng)用程序使用。
[0159]關(guān)于CPU訪問(wèn)內(nèi)存的幾個(gè)原則為:若CPU的高速緩存中緩存有與內(nèi)存對(duì)應(yīng)的數(shù)據(jù),則直接從高速緩存中讀取,否則,從內(nèi)存中讀?。桓咚倬彺婀芾砥饕话愀鶕?jù)最久未使用原則,將一部分高速緩存中的數(shù)據(jù)刷新到內(nèi)存中,使得一部分高速緩存空閑可用;從內(nèi)存中讀取數(shù)據(jù)到空閑可用的高速緩存中,再?gòu)母咚倬彺嬷凶x取數(shù)據(jù)。
[0160]由于CPU中的高速緩存的訪問(wèn)速率遠(yuǎn)遠(yuǎn)高于普通內(nèi)存,并且,預(yù)留高速緩存供用戶態(tài)應(yīng)用程序使用后,高速緩存管理器不再自動(dòng)刷新預(yù)留高速緩存。所以,本發(fā)明在CPU的高速緩存中創(chuàng)建一部分預(yù)留高速緩存供用戶態(tài)應(yīng)用程序使用,提高了應(yīng)用程序的性能。
[0161]實(shí)施例三
[0162]詳細(xì)介紹本發(fā)明實(shí)施例提供的一種CPU中緩存的用戶態(tài)分配系統(tǒng)。
[0163]參照?qǐng)D9,示出了本發(fā)明實(shí)施例中一種CPU中緩存的用戶態(tài)分配系統(tǒng)的結(jié)構(gòu)示意圖。
[0164]上述系統(tǒng)可以包括:參數(shù)設(shè)定模塊300,緩存創(chuàng)建模塊302,緩存分配模塊304。
[0165]下面分別詳細(xì)介紹各模塊的功能以及各模塊之間的關(guān)系。
[0166]參數(shù)設(shè)定模塊300用于在引導(dǎo)參數(shù)中設(shè)定預(yù)留高速緩存的容量和起始地址。緩存創(chuàng)建模塊302可以與參數(shù)設(shè)定模塊300相連,用于按照預(yù)留高速緩存的容量和起始地址在CPU的緩存中創(chuàng)建預(yù)留高速緩存。緩存分配模塊304可以與緩存創(chuàng)建模塊302相連,用于為用戶態(tài)應(yīng)用程序分配預(yù)留高速緩存。
[0167]綜上所述,為了提高應(yīng)用程序的性能,本發(fā)明通過(guò)新建的頁(yè)表將導(dǎo)出到Kernel態(tài)的CPU中的高速緩存輸出到用戶態(tài),供應(yīng)用程序使用。當(dāng)一個(gè)任務(wù)(進(jìn)程)執(zhí)行系統(tǒng)調(diào)用而陷入內(nèi)核代碼中執(zhí)行時(shí),就稱進(jìn)程處于內(nèi)核運(yùn)行態(tài)(或簡(jiǎn)稱為內(nèi)核態(tài))。此時(shí)處理器處于特權(quán)級(jí)最高的(O級(jí))內(nèi)核代碼中執(zhí)行。當(dāng)進(jìn)程處于內(nèi)核態(tài)時(shí),執(zhí)行的內(nèi)核代碼會(huì)使用當(dāng)前進(jìn)程的內(nèi)核棧。每個(gè)進(jìn)程都有自己的內(nèi)核棧。具體可以在引導(dǎo)參數(shù)中設(shè)定預(yù)留高速緩存的容量和起始地址,按照預(yù)留高速緩存的容量和起始地址在CPU的高速緩存中創(chuàng)建預(yù)留高速緩存,然后為用戶態(tài)應(yīng)用程序分配預(yù)留高速緩存,供用戶態(tài)應(yīng)用程序使用。
[0168]關(guān)于CPU訪問(wèn)內(nèi)存的幾個(gè)原則為:若CPU的高速緩存中緩存有與內(nèi)存對(duì)應(yīng)的數(shù)據(jù),則直接從高速緩存中讀取,否則,從內(nèi)存中讀取;高速緩存管理器一般根據(jù)最久未使用原則,將一部分高速緩存中的數(shù)據(jù)刷新到內(nèi)存中,使得一部分高速緩存空閑可用;從內(nèi)存中讀取數(shù)據(jù)到空閑可用的高速緩存中,再?gòu)母咚倬彺嬷凶x取數(shù)據(jù)。
[0169]由于CPU中的高速緩存的訪問(wèn)速率遠(yuǎn)遠(yuǎn)高于普通內(nèi)存,并且,預(yù)留高速緩存供用戶態(tài)應(yīng)用程序使用后,高速緩存管理器不再自動(dòng)刷新預(yù)留高速緩存。所以,本發(fā)明在CPU的高速緩存中創(chuàng)建一部分預(yù)留高速緩存供用戶態(tài)應(yīng)用程序使用,提高了應(yīng)用程序的性能。
[0170]實(shí)施例四
[0171]詳細(xì)介紹本發(fā)明實(shí)施例提供的一種CPU中緩存的用戶態(tài)分配系統(tǒng)。
[0172]參照?qǐng)D10,示出了本發(fā)明實(shí)施例中一種CPU中緩存的用戶態(tài)分配系統(tǒng)的結(jié)構(gòu)示意圖。
[0173]上述系統(tǒng)可以包括:參數(shù)設(shè)定模塊400,緩存創(chuàng)建模塊402,節(jié)點(diǎn)建立模塊404,緩存分配模塊406。其中,緩存創(chuàng)建模塊402可以包括:虛擬字符設(shè)備初始化模塊4021,文件操作符集合初始化模塊4022,文件操作符設(shè)置模塊4023,物理地址確定模塊4024,映射模塊4025。虛擬字符設(shè)備初始化模塊4021可以包括:編號(hào)注冊(cè)模塊40211,編號(hào)添加模塊40212。編號(hào)注冊(cè)模塊40211可以包括:編號(hào)傳遞模塊402111,編號(hào)分配模塊402112。映射模塊4025可以包括:判斷模塊40251,頁(yè)內(nèi)偏移地址獲取模塊40252,物理地址獲取模塊40253,物理頁(yè)框號(hào)獲取模塊40254,映射頁(yè)表建立模塊40255。緩存分配模塊406可以包括:文件描述符獲取模塊4061,空閑容量獲取模塊4062,容量和起始地址獲取模塊4063。
[0174]下面分別詳細(xì)介紹各模塊的功能以及各模塊之間的關(guān)系。
[0175]參數(shù)設(shè)定模塊400用于在引導(dǎo)參數(shù)中設(shè)定預(yù)留高速緩存的容量和起始地址。
[0176]緩存創(chuàng)建模塊402可以與參數(shù)設(shè)定模塊400相連,用于按照預(yù)留高速緩存的容量和起始地址在CPU的緩存中創(chuàng)建預(yù)留高速緩存。
[0177]優(yōu)選地,緩存創(chuàng)建模塊402可以包括:
[0178]虛擬字符設(shè)備初始化模塊4021用于根據(jù)預(yù)留高速緩存的容量和起始地址創(chuàng)建并初始化預(yù)留高速緩存的虛擬字符設(shè)備。
[0179]優(yōu)選地,虛擬字符設(shè)備初始化模塊4021可以包括:
[0180]編號(hào)注冊(cè)模塊40211用于通過(guò)所述引導(dǎo)參數(shù)向CPU內(nèi)核傳遞所述虛擬字符設(shè)備的設(shè)備編號(hào)進(jìn)行注冊(cè),若所述傳遞的設(shè)備編號(hào)被占用,則通過(guò)CPU內(nèi)核為所述虛擬字符設(shè)備分配另一個(gè)設(shè)備編號(hào)。
[0181]編號(hào)添加模塊40212用于向操作系統(tǒng)添加設(shè)備編號(hào),令用戶態(tài)應(yīng)用程序獲取虛擬字符設(shè)備的設(shè)備編號(hào)。
[0182]文件操作符設(shè)置模塊4023用于初始化所述虛擬字符設(shè)備的文件操作符集合,設(shè)置虛擬字符設(shè)備的文件操作符,并向操作系統(tǒng)注冊(cè)設(shè)置的文件操作符。
[0183]物理地址確定模塊4024用于根據(jù)引導(dǎo)參數(shù)中設(shè)定的預(yù)留高速緩存的容量和起始地址,在CPU的緩存中分配預(yù)留高速緩存,并確定預(yù)留高速緩存的物理地址。
[0184]映射模塊4025用于調(diào)用文件操作符建立虛擬內(nèi)存空間中的內(nèi)存地址與預(yù)留高速緩存的物理頁(yè)框號(hào)之間的映射關(guān)系。
[0185]優(yōu)選地,映射模塊4025可以包括:
[0186]頁(yè)內(nèi)偏移地址獲取模塊40252用于當(dāng)用戶態(tài)應(yīng)用程序的請(qǐng)求內(nèi)存的容量小于或等于預(yù)留高速緩存的容量時(shí),調(diào)用文件操作符獲取用戶態(tài)應(yīng)用程序的請(qǐng)求內(nèi)存的頁(yè)內(nèi)偏移地址。
[0187]物理地址獲取模塊40253用于根據(jù)頁(yè)內(nèi)偏移地址和緩存空間的物理地址得到供用戶態(tài)應(yīng)用程序使用的預(yù)留高速緩存的物理地址。
[0188]優(yōu)選地,物理地址獲取模塊40253將頁(yè)內(nèi)偏移地址和緩存空間的物理地址相加,得到供用戶態(tài)應(yīng)用程序使用的預(yù)留高速緩存的物理地址。
[0189]物理頁(yè)框號(hào)獲取模塊40254用于獲取供用戶態(tài)應(yīng)用程序使用的預(yù)留高速緩存的物理地址的物理頁(yè)框號(hào)。
[0190]優(yōu)選地,物理頁(yè)框號(hào)獲取模塊40254對(duì)供用戶態(tài)應(yīng)用程序使用的預(yù)留高速緩存的物理地址進(jìn)行頁(yè)框運(yùn)算得到物理頁(yè)框號(hào)。
[0191]映射頁(yè)表建立模塊40255用于建立虛擬內(nèi)存空間中的內(nèi)存地址與預(yù)留高速緩存的物理頁(yè)框號(hào)之間的映射頁(yè)表。
[0192]判斷模塊40251用于在頁(yè)內(nèi)偏移地址獲取模塊40252調(diào)用文件操作符獲取用戶態(tài)應(yīng)用程序的請(qǐng)求內(nèi)存的頁(yè)內(nèi)偏移地址之前,判斷請(qǐng)求內(nèi)存的容量是否大于預(yù)留高速緩存的容量。
[0193]若請(qǐng)求內(nèi)存的容量不大于預(yù)留高速緩存的容量,則頁(yè)內(nèi)偏移地址獲取模塊40252調(diào)用文件操作符獲取用戶態(tài)應(yīng)用程序的請(qǐng)求內(nèi)存的頁(yè)內(nèi)偏移地址。
[0194]錯(cuò)誤提示模塊用于若請(qǐng)求內(nèi)存的容量大于預(yù)留高速緩存的容量,則生成并顯示錯(cuò)誤提不?目息。
[0195]物理地址確定模塊4024用于在映射模塊4025調(diào)用文件操作符建立虛擬內(nèi)存空間中的內(nèi)存地址與預(yù)留高速緩存的物理頁(yè)框號(hào)之間的映射關(guān)系之前,獲取引導(dǎo)參數(shù)中設(shè)定的預(yù)留高速緩存的容量和起始地址,在CPU的二級(jí)緩存中分配預(yù)留高速緩存,并確定預(yù)留高速緩存的物理地址。
[0196]緩存分配模塊406與緩存創(chuàng)建模塊402相連,用于為用戶態(tài)應(yīng)用程序分配預(yù)留高速緩存。
[0197]優(yōu)選地,緩存分配模塊406可以包括:
[0198]文件描述符獲取模塊4061用于根據(jù)已建立的虛擬字符設(shè)備的節(jié)點(diǎn)獲取文件描述符。
[0199]其中,虛擬字符設(shè)備的節(jié)點(diǎn)用以在用戶態(tài)應(yīng)用程序打開(kāi)虛擬字符設(shè)備的節(jié)點(diǎn)后,將對(duì)虛擬字符設(shè)備的操作與虛擬字符設(shè)備的驅(qū)動(dòng)程序操作進(jìn)行連接。
[0200]空閑容量獲取模塊4062用于通過(guò)文件描述符和文件操作符獲取空閑的預(yù)留高速緩存的容量。
[0201]容量和起始地址獲取模塊4063用于若為用戶態(tài)應(yīng)用程序分配的預(yù)留高速緩存的容量小于等于空閑的預(yù)留高速緩存的容量,則通過(guò)文件描述符調(diào)用虛擬字符設(shè)備的驅(qū)動(dòng)程序操作,得到為用戶態(tài)應(yīng)用程序分配的預(yù)留高
當(dāng)前第4頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1