本公開涉及芯片領(lǐng)域,尤其涉及一種內(nèi)存保護(hù)的方法、裝置、設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、risc-v架構(gòu)是一種基于精簡(jiǎn)指令集計(jì)算機(jī)(reduced?instruction?setcomputer,risc)原則的開源指令集架構(gòu)。其中,物理內(nèi)存保護(hù)(physical?memoryprotection,pmp)是risc-v架構(gòu)提供的一種物理內(nèi)存保護(hù)機(jī)制。通過應(yīng)用pmp機(jī)制,risc-v芯片可以在不同的特權(quán)模式下對(duì)內(nèi)存訪問進(jìn)行控制和限制,從而實(shí)現(xiàn)對(duì)物理內(nèi)存的保護(hù)。
2、但是,由于pmp配置的數(shù)量有限,從而導(dǎo)致物理內(nèi)存保護(hù)的數(shù)量有限。因此,pmp機(jī)制對(duì)物理內(nèi)存的保護(hù)效率并不高。并且每次配置pmp都要通過起始地址和長(zhǎng)度權(quán)限來進(jìn)行控制,導(dǎo)致pmp配置的靈活性不高。
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例提供一種內(nèi)存保護(hù)的方法、裝置、設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品,能夠提高pmp機(jī)制對(duì)物理內(nèi)存的保護(hù)效率,并且提高pmp配置的靈活性。
2、第一方面,本公開實(shí)施例提供一種內(nèi)存保護(hù)的方法,方法包括:
3、獲取芯片中地址掩碼寄存器的地址掩碼,以及地址寄存器的地址;
4、將所述地址掩碼與所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址;
5、將第一配置寄存器的多個(gè)控制區(qū)域分別對(duì)應(yīng)的地址匹配長(zhǎng)度與所述內(nèi)存的基地址進(jìn)行匹配得到多個(gè)目標(biāo)地址;
6、根據(jù)所述第一配置寄存器的控制區(qū)域?qū)?yīng)的控制權(quán)限,對(duì)所述多個(gè)目標(biāo)地址進(jìn)行權(quán)限控制。
7、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,所述將所述地址掩碼和所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址,包括:
8、將所述地址掩碼和所述地址進(jìn)行按位與運(yùn)算,得到所述內(nèi)存的基地址。
9、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,所述第一配置寄存器的多個(gè)控制區(qū)域包括目標(biāo)權(quán)限區(qū)域、新增權(quán)限區(qū)域和預(yù)留區(qū)域,所述目標(biāo)權(quán)限區(qū)域的權(quán)限包括讀權(quán)限、寫權(quán)限、執(zhí)行權(quán)限和地址匹配長(zhǎng)度;所述新增權(quán)限區(qū)域的權(quán)限包括調(diào)試權(quán)限和緩存權(quán)限;所述預(yù)留區(qū)域的權(quán)限基于接收到的權(quán)限配置指令配置。
10、在一個(gè)可以實(shí)現(xiàn)的實(shí)施方式中,所述芯片還包括第二配置寄存器,所述第二配置寄存器包括多個(gè)控制區(qū)域,多個(gè)控制區(qū)域的權(quán)限包括鎖定權(quán)限;所述方法還包括:
11、根據(jù)所述第二配置寄存器的控制區(qū)域?qū)?yīng)的鎖定權(quán)限,對(duì)所述多個(gè)目標(biāo)地址進(jìn)行控制。
12、第二方面,本公開實(shí)施例提供了一種內(nèi)存保護(hù)的裝置,裝置包括:
13、獲取模塊,所述獲取模塊用于獲取芯片中地址掩碼寄存器的地址掩碼,以及地址寄存器的地址;
14、運(yùn)算模塊,所述運(yùn)算模塊用于將所述地址掩碼與所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址;
15、匹配模塊,所述匹配模塊用于將第一配置寄存器的多個(gè)控制區(qū)域分別對(duì)應(yīng)的地址匹配長(zhǎng)度與所述內(nèi)存的基地址進(jìn)行匹配得到多個(gè)目標(biāo)地址;
16、控制模塊,所述控制模塊用于根據(jù)所述第一配置寄存器的控制區(qū)域?qū)?yīng)的控制權(quán)限,對(duì)所述多個(gè)目標(biāo)地址進(jìn)行權(quán)限控制。
17、第三方面,本公開實(shí)施例提供了一種內(nèi)存保護(hù)的設(shè)備,設(shè)備包括處理器,以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;處理器讀取并執(zhí)行計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如第一方面的任意一項(xiàng)的內(nèi)存保護(hù)的方法。
18、第四方面,本公開實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序指令,計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面的任意一項(xiàng)的內(nèi)存保護(hù)的方法。
19、第五方面,本公開實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理其執(zhí)行時(shí)實(shí)現(xiàn)如第一方面的任意一項(xiàng)的內(nèi)存保護(hù)的方法。
20、本公開實(shí)施例提供的內(nèi)存保護(hù)的方法、裝置、設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品,獲取芯片中地址掩碼寄存器的地址掩碼,以及地址寄存器的地址。再將所述地址掩碼與所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址。再將第一配置寄存器的多個(gè)控制區(qū)域分別對(duì)應(yīng)的地址匹配長(zhǎng)度與所述內(nèi)存的基地址進(jìn)行匹配得到多個(gè)目標(biāo)地址,使得保護(hù)的地址更多。再根據(jù)所述第一配置寄存器的控制區(qū)域?qū)?yīng)的控制權(quán)限,對(duì)所述多個(gè)目標(biāo)地址進(jìn)行權(quán)限控制。提高了pmp機(jī)制對(duì)物理內(nèi)存的保護(hù)效率,并且提高了pmp配置的靈活性。
1.一種內(nèi)存保護(hù)的方法,其特征在于,應(yīng)用于芯片,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述地址掩碼和所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一配置寄存器的多個(gè)控制區(qū)域包括目標(biāo)權(quán)限區(qū)域、新增權(quán)限區(qū)域和預(yù)留區(qū)域,所述目標(biāo)權(quán)限區(qū)域的權(quán)限包括讀權(quán)限、寫權(quán)限、執(zhí)行權(quán)限和地址匹配長(zhǎng)度;所述新增權(quán)限區(qū)域的權(quán)限包括調(diào)試權(quán)限和緩存權(quán)限;所述預(yù)留區(qū)域的權(quán)限基于接收到的權(quán)限配置指令配置。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述芯片還包括第二配置寄存器,所述第二配置寄存器包括多個(gè)控制區(qū)域,多個(gè)控制區(qū)域的權(quán)限包括鎖定權(quán)限;所述方法還包括:
5.一種內(nèi)存保護(hù)的裝置,其特征在于,所述裝置包括:
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述運(yùn)算模塊采用如下方式將所述地址掩碼和所述地址進(jìn)行位運(yùn)算,得到內(nèi)存的基地址:
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述第一配置寄存器的多個(gè)控制區(qū)域包括目標(biāo)權(quán)限區(qū)域、新增權(quán)限區(qū)域和預(yù)留區(qū)域,所述目標(biāo)權(quán)限區(qū)域的權(quán)限包括讀權(quán)限、寫權(quán)限、執(zhí)行權(quán)限和地址匹配長(zhǎng)度;所述新增權(quán)限區(qū)域的權(quán)限包括調(diào)試權(quán)限和緩存權(quán)限;所述預(yù)留區(qū)域的權(quán)限基于接收到的權(quán)限配置指令配置。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述芯片還包括第二配置寄存器,所述第二配置寄存器包括多個(gè)控制區(qū)域,多個(gè)控制區(qū)域的權(quán)限包括鎖定權(quán)限,所述裝置還包括:
9.一種內(nèi)存保護(hù)的設(shè)備,其特征在于,所述設(shè)備包括:處理器,以及存儲(chǔ)有計(jì)算機(jī)程序指令的存儲(chǔ)器;所述處理器讀取并執(zhí)行所述計(jì)算機(jī)程序指令,以實(shí)現(xiàn)如權(quán)利要求1-4任意一項(xiàng)所述的內(nèi)存保護(hù)的方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序指令,所述計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-4任意一項(xiàng)所述的內(nèi)存保護(hù)的方法。
11.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理其執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-4任意一項(xiàng)所述的內(nèi)存保護(hù)的方法。