技術(shù)領(lǐng)域
本發(fā)明構(gòu)思涉及一種半導(dǎo)體裝置。
背景技術(shù):
為了向移動(dòng)應(yīng)用提供安全執(zhí)行環(huán)境,移動(dòng)應(yīng)用可被這樣配置:在不使用額外的安全硬件芯片的情況下,一個(gè)CPU(中央處理器)被提供安全區(qū)域(或安全域)和的正常區(qū)域(或正常領(lǐng)域)。這里,可在正常領(lǐng)域中對(duì)一般的應(yīng)用進(jìn)行操作,并且可在安全領(lǐng)域中對(duì)要求安全性的應(yīng)用進(jìn)行安全地操作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明構(gòu)思的至少一些方面提供一種可有效地獲取用于安全數(shù)據(jù)的安全緩沖器的半導(dǎo)體裝置。
然而,本發(fā)明構(gòu)思的方面不限于在此闡述的方面。通過參考下面給出的本發(fā)明構(gòu)思的詳細(xì)描述,本發(fā)明構(gòu)思的上述和其他方面對(duì)與本發(fā)明構(gòu)思所屬的領(lǐng)域中的普通技術(shù)人員而言將變得更加清楚。
根據(jù)本發(fā)明構(gòu)思的至少一些示例性實(shí)施例,提供一種半導(dǎo)體裝置,包括:處理器,被配置為使用存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)來執(zhí)行操作;存儲(chǔ)器保護(hù)器,被配置為將存儲(chǔ)器劃分為第一窗口區(qū)域和第二窗口區(qū)域,第一窗口區(qū)域包括第一大小的第一片元頁(yè),第二窗口區(qū)域包括第二大小的第二片元頁(yè),第二大小小于第一大小,并且如果來自處理器的請(qǐng)求不是安全讀取和安全寫入中的至少一個(gè),則防止第一片元頁(yè)和第二片元頁(yè)被處理器訪問。
示例實(shí)施例的存儲(chǔ)器保護(hù)器被配置為:基于第一頁(yè)表防止第一片元頁(yè)和第二片元頁(yè)被處理器訪問,第一頁(yè)表包括存儲(chǔ)器地址信息,存儲(chǔ)器地址信息對(duì)應(yīng)于第一窗口區(qū)域和第二窗口區(qū)域中的至少一個(gè)窗口區(qū)域。
示例實(shí)施例的處理器被配置為:通過安全地址訪問安全區(qū)域并且通過非安全地址訪問非安全區(qū)域,并且半導(dǎo)體裝置還包括:內(nèi)容防火墻控制器,被配置為防止處理器(i)將安全內(nèi)容數(shù)據(jù)寫入非安全區(qū)域中或(ii)讀取存儲(chǔ)在非安全區(qū)域中的系統(tǒng)數(shù)據(jù)。內(nèi)容防火墻控制器還被配置為:從存儲(chǔ)器管理控制器接收用于訪問存儲(chǔ)器的物理地址,存儲(chǔ)器管理控制器連接到處理器。
根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例,提供一種半導(dǎo)體裝置,包括:存儲(chǔ)器,包括第一窗口區(qū)域、第二窗口區(qū)域和安全緩沖器區(qū)域,存儲(chǔ)器被配置為保留用于安全內(nèi)容數(shù)據(jù)的安全緩沖器區(qū)域;存儲(chǔ)器控制器,被配置為:在第一窗口區(qū)域中搜索第一大小的第一片元頁(yè),將第一片元頁(yè)分配給安全緩沖器區(qū)域,并且在第二窗口區(qū)域中搜索第二大小的第二片元頁(yè),第二大小小于第一大小,并且將第二片元頁(yè)分配給安全緩沖器區(qū)域;存儲(chǔ)器保護(hù)器,被配置為:向存儲(chǔ)器提供關(guān)于第一窗口區(qū)域和第二窗口區(qū)域的信息,并且如果來自處理器的請(qǐng)求不是安全讀取和安全寫入中的至少一個(gè),則防止第一片元頁(yè)和第二片元頁(yè)被訪問。
根據(jù)示例性實(shí)施例的存儲(chǔ)器保護(hù)器被配置為:基于第一頁(yè)表向存儲(chǔ)器控制器提供關(guān)于第一窗口區(qū)域和第二窗口區(qū)域的信息,其中,第一頁(yè)表包括存儲(chǔ)器地址信息,所述存儲(chǔ)器地址信息對(duì)應(yīng)于第一窗口區(qū)域和第二窗口區(qū)域中的至少一個(gè)窗口區(qū)域。第一頁(yè)表還包括關(guān)于所述存儲(chǔ)器地址信息的安全屬性信息和與所述存儲(chǔ)器地址信息對(duì)應(yīng)的窗口識(shí)別標(biāo)志信息。
根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例,提供一種半導(dǎo)體裝置,包括:第一處理器;第二處理器,第一處理器和第二處理器被配置為基于存儲(chǔ)在存儲(chǔ)器中的數(shù)據(jù)來執(zhí)行操作;內(nèi)容防火墻控制器,被配置為確定從第一處理器的存儲(chǔ)器管理控制器接收的第一物理地址是安全地址還是非安全地址;存儲(chǔ)器保護(hù)器,被配置為從內(nèi)容防火墻控制器和第二處理器的存儲(chǔ)器管理控制器中的至少一個(gè)接收第二物理地址,將存儲(chǔ)器劃分為第一窗口區(qū)域和第二窗口區(qū)域,其中,第一窗口區(qū)域包括第一大小的第一片元頁(yè),第二窗口區(qū)域包括第二大小的第二片元頁(yè),第二大小小于第一大小,并且如果來自第一處理器和第二處理器的用于訪問的請(qǐng)求不是安全讀取和安全寫入中的至少一個(gè),則防止第一片元頁(yè)和第二片元頁(yè)被第一處理器和第二處理器訪問。
根據(jù)一個(gè)示例實(shí)施例,半導(dǎo)體還包括第三處理器,其中,存儲(chǔ)器保護(hù)器被配置為從被連接到第三處理器的外部存儲(chǔ)器管理控制器接收第二物理地址,以訪問存儲(chǔ)器。存儲(chǔ)器保護(hù)器被配置為:將存儲(chǔ)器劃分為第三窗口區(qū)域,第三窗口區(qū)域包括第三大小的第三片元頁(yè),并且如果用于訪問的請(qǐng)求不是安全讀取和安全寫入中的至少一個(gè),則防止第三片元頁(yè)被第一處理器和第二處理器訪問。
根據(jù)一個(gè)示例性實(shí)施例,半導(dǎo)體裝置的存儲(chǔ)器控制器包括存儲(chǔ)器保護(hù)器和存儲(chǔ)器控制器。存儲(chǔ)器保護(hù)器被配置為將存儲(chǔ)器劃分為窗口區(qū)域并且生成與窗口區(qū)域相關(guān)聯(lián)的信息。存儲(chǔ)器控制器被配置為:接收生成的與窗口區(qū)域相關(guān)聯(lián)的信息,并且基于從存儲(chǔ)器保護(hù)器接收的關(guān)于窗口區(qū)域的信息將安全緩沖器區(qū)域分配給存儲(chǔ)器。存儲(chǔ)器控制器還被配置為:從處理器接收用于訪問存儲(chǔ)器的指令;搜所第一片元頁(yè),第一片元頁(yè)在第一窗口區(qū)域中;將第一片元頁(yè)分配給安全緩沖器區(qū)域;搜索第二片元頁(yè),第二片元頁(yè)在第二窗口區(qū)域中,第二大小小于第一大?。徊⑶覍⒌诙?yè)分配給安全緩沖器區(qū)域。
附圖說明
通過參照附圖對(duì)非限制性的示例實(shí)施例進(jìn)行詳細(xì)地描述,本發(fā)明構(gòu)思的以上及其他方面和特征將變得更清楚,在所述附圖中,貫穿在不同的示圖,相同的參考標(biāo)記表示相同的部件。附圖不必須按比例,而是將重點(diǎn)放在說明本發(fā)明構(gòu)思的原理上。在附圖中:
圖1是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的示意圖;
圖2是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的操作的示意圖;
圖3是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖;
圖4是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖;
圖5是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器結(jié)構(gòu)的示意圖;
圖6和圖7是均示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器分配處理的示意圖;
圖8和圖9A是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的由存儲(chǔ)器保護(hù)器使用的頁(yè)表的示意圖;
圖9B是示出在圖9A中示出的頁(yè)表的另一示例實(shí)施例的示意圖;
圖9C是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖;
圖9D是示出在圖9C中示出的操作中使用的頁(yè)表的示意圖;
圖10是示出根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器分配處理的示意圖;
圖11是示出根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的由存儲(chǔ)器保護(hù)器使用的頁(yè)表的示意圖;
圖12是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的由內(nèi)容防火墻控制器和存儲(chǔ)器管理控制器使用的頁(yè)表的示意圖;
圖13至圖15示出根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的可應(yīng)用半導(dǎo)體裝置的半導(dǎo)體系統(tǒng)的非限制性的示例實(shí)施例。
具體實(shí)施方式
以下,將參照附圖詳細(xì)描述示例實(shí)施例。然而,本發(fā)明構(gòu)思可以以各種不同形式來實(shí)現(xiàn),并且不應(yīng)該被解釋為僅限于示出的示例實(shí)施例。相反,提供這些示例實(shí)施例作為示例,使得本公開將是徹底的和完整的,并且將向本領(lǐng)域技術(shù)人員充分地傳達(dá)本發(fā)明構(gòu)思的構(gòu)思。因此,針對(duì)本發(fā)明構(gòu)思的一些示例實(shí)施例,沒有描述已知的處理、元件和技術(shù)。除非另外指明,否則貫穿附圖和書面描述,相同的參考標(biāo)號(hào)表示相同的元件,因此將不再重復(fù)描述。在附圖中,為了清楚,可夸大層和區(qū)域的尺寸和相對(duì)尺寸。
雖然發(fā)明構(gòu)思允許可能受到各種修改和替代形式的影響,但是在附圖中通過示例的方式示出其特定的非限制性的示例實(shí)施例,并且在此將進(jìn)行詳細(xì)地描述。然而,應(yīng)當(dāng)理解,不意圖將發(fā)明構(gòu)思限制為公開的具體形式,而是相反地,發(fā)明構(gòu)思將覆蓋所有落入本發(fā)明構(gòu)思的精神和范圍內(nèi)的修改、等同物和替代。
將理解,雖然術(shù)語(yǔ)“第一”、“第二”、“第三”等在此可用于描述各種元件、組件、區(qū)域、層和/或部分,但是這些元件、組件、區(qū)域、層和/或部分不應(yīng)該被這些術(shù)語(yǔ)限制。這些術(shù)語(yǔ)僅是用于將一個(gè)元件、組件、區(qū)域、層或部分與另一元件、組件、區(qū)域、層或部分進(jìn)行區(qū)分。因此,在不脫離本發(fā)明構(gòu)思的教導(dǎo)的情況下,下面討論的第一元件、組件、區(qū)域、層或部分可被稱為第二元件、組件、區(qū)域、層或部分。
為了易于描述,這里可使用空間相對(duì)術(shù)語(yǔ)(諸如“在…之下”、“在…下面”、“下面的”、“在…下方”、“在…上面”、“上面的”等),來描述附圖中示出的一個(gè)元件或特征與另一元件或特征(或者其他多個(gè)元件或特征)的關(guān)系。將理解,空間相對(duì)術(shù)語(yǔ)意圖包含附圖中描述的方向以及裝置在使用或操作中的不同方向。例如,如果附圖中的裝置被翻轉(zhuǎn),則描述為“在”其它元件或特征“下面”或“之下”或“下方”的元件將隨后被定位為“在”所述其它元件或特征“上面”。因此,示例術(shù)語(yǔ)“在…下面”和“在…下方”可包括“在……上面”和“在……下面”兩個(gè)方位??梢粤硗舛ㄎ?旋轉(zhuǎn)90度或在其它方位)所述裝置,并且對(duì)在此使用的空間相對(duì)描述符做出相應(yīng)地解釋。另外,還將理解的是,當(dāng)層被稱作“在”兩個(gè)層“之間”時(shí),該層可以僅是這兩個(gè)層之間的唯一的層,或者也可以存在一個(gè)或更多個(gè)中間層。
在此使用的術(shù)語(yǔ)僅用于描述具體的示例實(shí)施例的目的,而不意圖限制本發(fā)明構(gòu)思。除非上下文另外清楚地指出,否則如在此所使用的,單數(shù)形式也意圖包括復(fù)數(shù)形式。還將理解的,當(dāng)在本說明書中使用術(shù)語(yǔ)“包括”和/或“包含”時(shí),表明存在敘述的特征、整體、步驟、操作、元件和/或組件,但是不排除存在或添加一個(gè)或多個(gè)其它特征、整體、步驟、操作、元件、組件和/或它們的組。如在此使用的,術(shù)語(yǔ)“和/或”包括一個(gè)或多個(gè)相關(guān)所列項(xiàng)中的任意以及所有組合。另外,術(shù)語(yǔ)“示例性”意在指示例或圖示。
將理解的是,當(dāng)元件或?qū)颖环Q為“在”另一元件或?qū)印吧稀?,“連接到”、“結(jié)合到”或者“鄰近于”另一元件或?qū)訒r(shí),該元件或?qū)涌芍苯拥卦谒隽硪辉驅(qū)由?,直接地連接到、結(jié)合到或者鄰近于另一元件或?qū)樱蛘呖纱嬖谥虚g元件或?qū)?。相反,?dāng)元件被稱為“直接”在另一元件或?qū)印吧稀?,“直接連接到”、“直接結(jié)合到”或“緊鄰于”另一元件或?qū)訒r(shí),不存在中間元件或中間層。
除非另有定義,否則在此使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ))具有與本發(fā)明構(gòu)思所屬領(lǐng)域的普通技術(shù)人員通常理解的含義相同的含義。還將理解的,除非在此明確定義,否則術(shù)語(yǔ)(諸如在通用字典中定義的術(shù)語(yǔ))應(yīng)該被解釋為具有與相關(guān)領(lǐng)域和/或本說明書的上下文中它們的含義一致的含義,并且將不以理想化或過于形式化的含義進(jìn)行解釋。
以下,將參照附圖對(duì)本發(fā)明構(gòu)思的示例實(shí)施例進(jìn)行描述。
圖1是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的示意圖。
參照?qǐng)D1,根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置可包括:第一處理器100、第二處理器102、第三處理器104、存儲(chǔ)器管理控制器(MMC)200、內(nèi)容防火墻控制器(CFC)300、存儲(chǔ)器保護(hù)器(MP)400、存儲(chǔ)器控制器(MC)410以及存儲(chǔ)器420。這些組件可通過連接線500(例如,總線)接收并傳輸數(shù)據(jù)。
第一處理器100、第二處理器102、第三處理器104、存儲(chǔ)器管理控制器200、內(nèi)容防火墻控制器300、存儲(chǔ)器保護(hù)器400和存儲(chǔ)器控制器410使用硬件組件、執(zhí)行軟件組件的處理器或其組合來實(shí)現(xiàn)。在本發(fā)明構(gòu)思的示例性實(shí)施例中描述的一個(gè)或多個(gè)算法的執(zhí)行、上述的硬件組件或執(zhí)行軟件組件的處理器產(chǎn)生專用處理器。在本發(fā)明構(gòu)思的示例性實(shí)施例中呈現(xiàn)的算法構(gòu)成足夠的結(jié)構(gòu),所述足夠的結(jié)構(gòu)可包括:包括(但不限于)在執(zhí)行時(shí)產(chǎn)生專用處理器或計(jì)算機(jī)的數(shù)學(xué)公式、流程圖、計(jì)算機(jī)代碼和/或步驟。
一個(gè)或多個(gè)上述處理器是被配置為通過執(zhí)行算術(shù)操作、邏輯操作和輸入/輸出操作來執(zhí)行程序代碼的計(jì)算機(jī)處理裝置。一旦程序代碼被加載到一個(gè)或多個(gè)處理器中,則可對(duì)一個(gè)或多個(gè)處理器進(jìn)行編程來執(zhí)行程序代碼,因而將一個(gè)或多個(gè)處理器變換為專用處理器或計(jì)算機(jī)??蛇x地,或者除了上面討論的處理器之外,硬件裝置可包括一個(gè)或多個(gè)中央處理器(CPU)、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、片上系統(tǒng)(SoC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)等。在至少一些情況下,一般可將一個(gè)或多個(gè)CPU、SoC、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)和現(xiàn)場(chǎng)可編程門陣列(FPGA)稱為處理電路和/或微處理器。
第一處理器100、第二處理器102和第三處理器104可使用存儲(chǔ)在存儲(chǔ)器420中的數(shù)據(jù)來執(zhí)行操作。第一處理器100、第二處理器102和第三處理器104可向存儲(chǔ)器控制器410提供用于將數(shù)據(jù)寫入到存儲(chǔ)器420中的指令和用于讀取存儲(chǔ)在存儲(chǔ)器420中的數(shù)據(jù)的指令。這里,數(shù)據(jù)可以是包括多媒體數(shù)據(jù)的內(nèi)容數(shù)據(jù),但本發(fā)明構(gòu)思的范圍不限于此。數(shù)據(jù)可以是包括操作系統(tǒng)代碼的系統(tǒng)數(shù)據(jù)。
在本發(fā)明構(gòu)思的一些示例性實(shí)施例中,第一處理器100、第二處理器102和第三處理器104可包括中央處理器(CPU)、圖形處理器(GPU)和多媒體知識(shí)產(chǎn)權(quán)(MIP)等,但本發(fā)明構(gòu)思的范圍不限于此。
同時(shí),稍后將參照?qǐng)D2和圖3對(duì)存儲(chǔ)器管理控制器200和內(nèi)容防火墻控制器300進(jìn)行描述。
存儲(chǔ)器保護(hù)器400防止存儲(chǔ)器的一部分被第一處理器100、第二處理器102和第三處理器104進(jìn)行外部非安全訪問。具體地說,存儲(chǔ)器保護(hù)器400將存儲(chǔ)器420的區(qū)域劃分為多個(gè)窗口區(qū)域,并且防止多個(gè)窗口區(qū)域被第一處理器100、第二處理器102和第三處理器104非安全訪問。
應(yīng)注意,一個(gè)窗口區(qū)域可包括存儲(chǔ)安全數(shù)據(jù)的安全存儲(chǔ)區(qū)域和存儲(chǔ)非安全數(shù)據(jù)的非安全存儲(chǔ)區(qū)域二者。這里,可通過安全地址來訪問安全存儲(chǔ)區(qū)域,并且可通過非安全地址來訪問非安全存儲(chǔ)區(qū)域??赏ㄟ^存儲(chǔ)器保護(hù)器400將關(guān)于地址是安全地址還是非安全地址的信息,作為特定的數(shù)據(jù)結(jié)構(gòu)(例如,頁(yè)表)進(jìn)行管理。包括在一個(gè)窗口區(qū)域中的非安全存儲(chǔ)區(qū)域可以是將被分配到稍后將進(jìn)行描述的安全緩沖器的候選區(qū)域。
存儲(chǔ)器保護(hù)器400向存儲(chǔ)器控制器410提供關(guān)于多個(gè)窗口區(qū)域的信息。
存儲(chǔ)器控制器410可處理第一處理器100、第二處理器102和第三處理器104訪問存儲(chǔ)器420的請(qǐng)求,并且還可基于關(guān)于多個(gè)窗口區(qū)域的信息將安全緩沖器區(qū)域分配給存儲(chǔ)器420,所述信息已經(jīng)從存儲(chǔ)器保護(hù)器400被提供。
安全緩沖器區(qū)域表示用于存儲(chǔ)安全數(shù)據(jù)(例如安全內(nèi)容數(shù)據(jù)(諸如,數(shù)字版權(quán)管理(DRM)數(shù)據(jù)))的的安全存儲(chǔ)區(qū)域。換言之,由DRM保護(hù)的安全數(shù)據(jù)必須存儲(chǔ)在避免被第一處理器100、第二處理器102和第三處理器104非安全訪問的存儲(chǔ)區(qū)域中。
例如,當(dāng)存儲(chǔ)器控制器410從第一處理器100、第二處理器102和第三處理器104接收1024MB的安全數(shù)據(jù)的寫入請(qǐng)求時(shí),存儲(chǔ)器控制器410必須保證足夠的存儲(chǔ)器來成功地寫入1024MB的安全數(shù)據(jù)。為了便于解釋,假設(shè)由第一處理器100、第二處理器102和第三處理器104請(qǐng)求的安全數(shù)據(jù)是DRM視頻數(shù)據(jù)。在這種情況下,當(dāng)預(yù)期不確定第一處理器100、第二處理器102和第三處理器104是否請(qǐng)求的安全數(shù)據(jù)而將1024MB的安全存儲(chǔ)區(qū)域預(yù)先保留在存儲(chǔ)器420中時(shí),安全存儲(chǔ)區(qū)域不能被用于其他任何目的,因而浪費(fèi)了存儲(chǔ)器資源。
同時(shí),應(yīng)該為由第一處理器100、第二處理器102和第三處理器104請(qǐng)求的DRM視頻數(shù)據(jù)保留的存儲(chǔ)器的容量可能是很重要的。然而,即使當(dāng)存儲(chǔ)器420中的可用存儲(chǔ)器具有足夠的大小來存儲(chǔ)DRM視頻數(shù)據(jù),具體地說,如果可用存儲(chǔ)器被劃分為大量的小型片元(例如,小于64KB)并且被分布在移動(dòng)應(yīng)用執(zhí)行環(huán)境中時(shí),用于DRM視頻數(shù)據(jù)的足夠量的存儲(chǔ)器的收集也可能是困難的。
存儲(chǔ)器控制器410通過基于關(guān)于多個(gè)窗口區(qū)域的信息將安全緩沖器區(qū)分配給存儲(chǔ)器420來克服這樣的問題,所述信息已經(jīng)從存儲(chǔ)器保護(hù)器400被提供,稍后將描述其詳細(xì)的內(nèi)容。
存儲(chǔ)器420可包括上面提到的多個(gè)窗口區(qū)域,并且可包括為了寫入安全內(nèi)容數(shù)據(jù)而保留的安全緩沖器區(qū)域。在本發(fā)明構(gòu)思的一些示例性實(shí)施例中,存儲(chǔ)器420可包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),但存儲(chǔ)器的類型不限于此。
圖2是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的操作的示意圖。
參照?qǐng)D2,第一處理器100可以是多媒體IP。多媒體IP的示例可至少包括(但不限于)存儲(chǔ)器流控制器(MFC)、定標(biāo)器和DeCON。從第一處理器100創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求被傳輸?shù)酱鎯?chǔ)器管理控制器200。
從第一處理器100創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求使用虛擬地址。存儲(chǔ)器管理控制器200將包括在請(qǐng)求中的虛擬地址轉(zhuǎn)換為物理地址,并將包括物理地址的請(qǐng)求傳輸?shù)酱鎯?chǔ)器保護(hù)器400。
與此同時(shí),存儲(chǔ)器管理控制器200檢查從第一處理器100創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求是否為針對(duì)安全地址的請(qǐng)求,并且僅當(dāng)請(qǐng)求對(duì)應(yīng)于安全讀取和安全寫入中的一個(gè)時(shí)才將該請(qǐng)求傳輸?shù)酱鎯?chǔ)器保護(hù)器400。
例如,當(dāng)?shù)谝惶幚砥?00的請(qǐng)求是用于在非安全存儲(chǔ)區(qū)域中寫入安全內(nèi)容數(shù)據(jù)的請(qǐng)求或用于讀取存儲(chǔ)在非安全存儲(chǔ)區(qū)域中的系統(tǒng)數(shù)據(jù)(例如,操作系統(tǒng)代碼)時(shí),存儲(chǔ)器管理控制器200可在不處理這樣的請(qǐng)求的情況下,將錯(cuò)誤消息傳輸?shù)降谝惶幚砥?00。以這種方式,可通過具有安全意識(shí)(secure-aware)的存儲(chǔ)器管理控制器200來處理來自不具有安全意識(shí)的第一處理器100的請(qǐng)求。
針對(duì)此操作,存儲(chǔ)器管理控制器200可管理并且保持包括存儲(chǔ)器420的地址信息和關(guān)于地址的安全屬性信息的數(shù)據(jù)結(jié)構(gòu)(例如,頁(yè)表)。在本發(fā)明構(gòu)思的一些示例性實(shí)施例中,安全屬性信息可包括安全讀取標(biāo)志、安全寫入標(biāo)志、非安全讀取標(biāo)志和非安全寫入標(biāo)志。
以下,存儲(chǔ)器控制器410可處理第一處理器100的請(qǐng)求,并且如稍后所描述,還可基于關(guān)于從存儲(chǔ)器保護(hù)器400提供的多個(gè)窗口區(qū)域的信息將安全緩沖器區(qū)域分配給存儲(chǔ)器420。
圖3是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖。
參照?qǐng)D3,第二處理器102可以是圖形處理器(GPU)。在這種情況下,第二處理器102,即GPU,可包括GPU核102a和存儲(chǔ)器管理控制器102b,這里,假設(shè)包括在第二處理器102中的存儲(chǔ)器管理控制器102b不具有安全意識(shí)。
從GPU核102a創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求被傳輸?shù)酱鎯?chǔ)器管理控制器102b,并且包括在該請(qǐng)求中的虛擬地址被存儲(chǔ)器管理控制器102b轉(zhuǎn)換為物理地址。存儲(chǔ)器管理控制器102b可將包括物理地址的請(qǐng)求傳輸?shù)絻?nèi)容防火墻控制器300。
內(nèi)容防火墻控制器300檢查從第二處理器102創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求是否為針對(duì)安全地址的請(qǐng)求,并且僅當(dāng)該請(qǐng)求對(duì)應(yīng)于安全讀取和安全寫入中的一個(gè)時(shí)才將請(qǐng)求傳輸?shù)酱鎯?chǔ)器保護(hù)器400。
例如,當(dāng)?shù)诙幚砥?02的請(qǐng)求是用于在非安全存儲(chǔ)區(qū)域中寫入安全內(nèi)容數(shù)據(jù)的請(qǐng)求或用于讀取存儲(chǔ)在非安全存儲(chǔ)區(qū)域中的系統(tǒng)數(shù)據(jù)(例如,操作系統(tǒng)代碼)時(shí),內(nèi)容防火墻控制器300可在不處理這樣的請(qǐng)求的情況下,將錯(cuò)誤消息傳輸?shù)降诙幚砥?02。以這種方式,可通過具有安全意識(shí)的內(nèi)容防火墻控制器300來處理來自不具有安全意識(shí)第二處理器102的請(qǐng)求。
針對(duì)此操作,內(nèi)容防火墻控制器300可管理并且保持包括存儲(chǔ)器420的地址信息和關(guān)于地址的安全屬性信息的數(shù)據(jù)結(jié)構(gòu),例如,頁(yè)表。在本發(fā)明構(gòu)思的一些示例實(shí)施例中,安全屬性信息可至少包括安全讀取標(biāo)記、安全寫入標(biāo)志、非安全讀取標(biāo)志和非安全寫入標(biāo)志。
之后,存儲(chǔ)器控制器410可處理第二處理器102的請(qǐng)求,并且如稍后描述,還可基于關(guān)于從存儲(chǔ)器保護(hù)器400提供的多個(gè)窗口區(qū)域的信息將安全緩沖器區(qū)域分配給存儲(chǔ)器420。
圖4是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖。
參照?qǐng)D4,第三處理器104可以是CPU。在這種情況下,第三處理器104,即CPU,可包括CPU核104a和存儲(chǔ)器管理控制器104b,這里,假設(shè)包括在第三處理器104中的存儲(chǔ)器管理控制器104b具有安全意識(shí)。
從CPU核104a創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求被傳輸?shù)酱鎯?chǔ)器管理控制器104b,并且包括在該請(qǐng)求中的虛擬地址被存儲(chǔ)器管理控制器104b轉(zhuǎn)換為物理地址。存儲(chǔ)器管理控制器104b可將包括物理地址的請(qǐng)求傳輸?shù)酱鎯?chǔ)器保護(hù)器400。
在一個(gè)示例實(shí)施例中,由于包括在第三處理器104中的存儲(chǔ)器管理控制器104b檢查從CPU核104a預(yù)先創(chuàng)建的存儲(chǔ)器訪問請(qǐng)求是否為針對(duì)安全地址的請(qǐng)求,因此不需要額外的組件。
之后,存儲(chǔ)器控制器410可處理第三處理器104的請(qǐng)求,并且如稍后所描述,還可基于關(guān)于從存儲(chǔ)器保護(hù)器400提供的多個(gè)窗口區(qū)域的信息將安全緩沖器區(qū)域分配給存儲(chǔ)器420。
圖5是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器結(jié)構(gòu)的示意圖。
參照?qǐng)D5,存儲(chǔ)器420可包括多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620。
如上所述,窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620中的每一個(gè)窗口區(qū)域可包括分別通過安全地址和非安全地址訪問的安全存儲(chǔ)區(qū)域和非安全存儲(chǔ)區(qū)域二者。此外,窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620中的每一個(gè)窗口區(qū)域可包括:被分配給特定處理器并且已經(jīng)在使用中的不可用存儲(chǔ)區(qū)域,以及根據(jù)需要可被使用的可用存儲(chǔ)區(qū)域。具體地說,在本發(fā)明構(gòu)思的一些示例實(shí)施例中,可用存儲(chǔ)區(qū)域可包括在不可用存儲(chǔ)區(qū)域之間保留的片元頁(yè)。
例如,窗口區(qū)域600和窗口區(qū)域620中的每一個(gè)窗口區(qū)域可包括頻繁地發(fā)生針對(duì)相對(duì)小型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配的存儲(chǔ)區(qū)域。當(dāng)在存儲(chǔ)區(qū)域中頻繁地發(fā)生針對(duì)相對(duì)小型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配時(shí),可增大相應(yīng)存儲(chǔ)區(qū)域的片元率。因此,存在于窗口區(qū)域600和窗口區(qū)域620中的每一個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可作為大量的小型片元頁(yè)而存在。例如,存在于窗口區(qū)域600和窗口區(qū)域620中的每一個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可包括大量的具有小于64KB的大小的片元頁(yè)。
另一方面,窗口區(qū)域610可包括不頻繁地發(fā)生針對(duì)相對(duì)大型的數(shù)據(jù)(例如,多媒體數(shù)據(jù))的存儲(chǔ)器分配和解除分配的存儲(chǔ)區(qū)域。當(dāng)在存儲(chǔ)區(qū)域中不頻繁地發(fā)生針對(duì)相對(duì)大型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配時(shí),可減小相應(yīng)的存儲(chǔ)區(qū)域的片元率。因此,存在于窗口區(qū)域610中的可用存儲(chǔ)區(qū)域可作為少量的大型片元頁(yè)而存在。例如,存在于窗口區(qū)域610中的可用存儲(chǔ)區(qū)域可包括少量的具有大于64KB的大小的片元頁(yè)。
圖6和圖7是均示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器分配處理的示意圖。
參照?qǐng)D6,具有大于64KB的大小的可用存儲(chǔ)區(qū)域主要存在于上面參照?qǐng)D5描述的窗口區(qū)域610中。在這種情況下,存儲(chǔ)器保護(hù)器400可防止具有64KB的大小的片元頁(yè)612、片元頁(yè)614和片元頁(yè)618被第一處理器100、第二處理器102和第三處理器104非安全訪問。
例如,存儲(chǔ)器保護(hù)器400可將具有64KB的大小的片元頁(yè)612、片元頁(yè)614和片元頁(yè)618分配為用于存儲(chǔ)安全內(nèi)容數(shù)據(jù)的安全緩沖器700。在這種情況下,相對(duì)大型的可用存儲(chǔ)區(qū)域被分配給安全緩沖器700,從而以相對(duì)小的操作開銷來獲得安全緩沖器700需要的容量。
然而,由于存儲(chǔ)器保護(hù)器400搜索窗口區(qū)域610中的可用存儲(chǔ)區(qū)域的僅為64KB的大小的片元頁(yè),因此即使當(dāng)窗口區(qū)域610包括大量的具有4KB的大小的片元頁(yè)616時(shí),也僅具有64KB的大小的片元頁(yè)612、片元頁(yè)614和片元頁(yè)618被分配給安全緩沖器700。如果具有64KB的大小的片元頁(yè)不充足,則為了獲得安全緩沖器700,可發(fā)生延遲或失敗。
參照?qǐng)D7,具有小于4KB的大小的可用存儲(chǔ)區(qū)域主要存在于上面參照?qǐng)D5描述的窗口區(qū)域600中。在這種情況下,存儲(chǔ)器保護(hù)器400可防止具有4KB的大小的片元頁(yè)602、片元頁(yè)604、片元頁(yè)606和片元頁(yè)608被第一處理器100、第二處理器102和第三處理器104非安全訪問。
例如,存儲(chǔ)器保護(hù)器400可將具有4KB的大小的片元頁(yè)602、片元頁(yè)604、片元頁(yè)606和片元頁(yè)608分配為用于存儲(chǔ)安全內(nèi)容數(shù)據(jù)的安全緩沖器700。因此,即使從具有高片元率的存儲(chǔ)區(qū)域也能獲得安全緩沖器700需要的容量。
如在圖6和圖7中示出,相對(duì)小型的片元頁(yè)的收集和相對(duì)大型的片元頁(yè)的收集各自均具有優(yōu)點(diǎn)和缺點(diǎn)。換言之,相對(duì)大型的片元頁(yè)的收集的優(yōu)點(diǎn)在于能以相對(duì)小的開銷快速獲得高容量,而缺點(diǎn)在于不能利用相對(duì)小型的片元頁(yè)。同時(shí),相對(duì)小型的片元頁(yè)的收集的優(yōu)點(diǎn)在于能充分利用存儲(chǔ)器資源,而缺點(diǎn)在于頻繁地產(chǎn)生開銷。
因此,在本發(fā)明構(gòu)思的各種示例性實(shí)施例中,存儲(chǔ)器420包括多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620。與在多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620中的窗口區(qū)域600和窗口區(qū)域620對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)小型的片元頁(yè),而與多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620中的窗口區(qū)域610對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)大型的片元頁(yè),從而有效地獲得用于安全內(nèi)容數(shù)據(jù)的安全緩沖器700。
圖8和圖9A是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的由存儲(chǔ)器保護(hù)器400使用的頁(yè)表的示意圖。
參照?qǐng)D8,存儲(chǔ)器保護(hù)器400可使用包括與多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620對(duì)應(yīng)的存儲(chǔ)器地址信息的頁(yè)表800。
頁(yè)表800可包括存儲(chǔ)器420的存儲(chǔ)器地址810,關(guān)于地址的安全屬性信息820、安全屬性信息830、安全屬性信息840和安全屬性信息850,以及與地址對(duì)應(yīng)的窗口識(shí)別標(biāo)志信息860。
在本發(fā)明構(gòu)思的一些示例實(shí)施例中,安全屬性信息820、安全屬性信息830、安全屬性信息840和安全屬性信息850可包括非安全讀取(NSR)標(biāo)志820、非安全寫入(NSW)標(biāo)志830、安全讀取(SR)標(biāo)志840和安全寫入(SW)標(biāo)志850,窗口識(shí)別標(biāo)志信息860可包括窗口識(shí)別標(biāo)志(W)860。例如,表示在設(shè)置非安全讀取標(biāo)志820和非安全寫入標(biāo)志830的存儲(chǔ)器地址中,非安全訪問是可能的,并且表示在設(shè)置安全讀取標(biāo)志840和安全寫入標(biāo)志850的存儲(chǔ)器地址中,僅安全訪問是可能的。
同時(shí),參照?qǐng)D9A,在頁(yè)表870中,使用窗口識(shí)別標(biāo)志信息860來劃分窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620。
例如,當(dāng)窗口識(shí)別標(biāo)志信息860的值是‘0’時(shí),可搜索與存儲(chǔ)器地址810對(duì)應(yīng)的存儲(chǔ)區(qū)域作為第一大小(例如,4KB)的片元頁(yè)。與此不同,當(dāng)窗口識(shí)別標(biāo)志信息860的值是‘1’時(shí),可搜索與存儲(chǔ)器地址810對(duì)應(yīng)的存儲(chǔ)區(qū)域作為第二大小(例如,64KB)的片元頁(yè)。
例如,由于存儲(chǔ)區(qū)域中的與“0x0100_0000”至“0x07FF_FFFF”的存儲(chǔ)器地址810對(duì)應(yīng)的窗口識(shí)別標(biāo)志信息860的值為‘0’,因此該存儲(chǔ)區(qū)域可表示可提供第一大小(例如,4KB)的片元頁(yè)的窗口區(qū)域600。此外,由于存儲(chǔ)區(qū)域中的與“0x3000_0000”至“0x4FFF_FFFF”的存儲(chǔ)器地址810對(duì)應(yīng)的窗口識(shí)別標(biāo)志信息860的值為‘1’,因此該存儲(chǔ)區(qū)域可表示可提供第二大小(例如,64KB)的片元頁(yè)的窗口區(qū)域610。此外,由于存儲(chǔ)區(qū)域中的與“0x5100_0000”至“0x57FF_FFFF”的存儲(chǔ)器地址810對(duì)應(yīng)的窗口識(shí)別標(biāo)志信息860的值為‘0’,因此該存儲(chǔ)區(qū)域可表示可提供第一大小(例如,4KB)的片元頁(yè)的窗口區(qū)域620。
如上所述,存儲(chǔ)器420包括多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620。在多個(gè)窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620中,與窗口區(qū)域600和窗口區(qū)域620對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)小型的片元頁(yè),與窗口區(qū)域610對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)大型的片元頁(yè),從而有效地獲得用于安全內(nèi)容數(shù)據(jù)的安全緩沖器700。
圖9B是示出在圖9A中示出的頁(yè)表的另一示例實(shí)施例的示意圖。
參照?qǐng)D9B,使用窗口識(shí)別標(biāo)志信息860來劃分窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620的頁(yè)表872可不同于參照?qǐng)D9A描述的頁(yè)表870。
在圖9A的頁(yè)表870的情況下,針對(duì)每個(gè)存儲(chǔ)器地址810來存儲(chǔ)窗口識(shí)別標(biāo)志860。例如,“0x0100_0000”至“0x07FF_FFFF”的存儲(chǔ)器地址810具有均具有‘0’值的窗口識(shí)別標(biāo)志860,而“0x3000_0000”至“0x4FFF_FFFF”的存儲(chǔ)器地址810具有均具有‘1’值的窗口識(shí)別標(biāo)志860。當(dāng)頁(yè)表870以這種方式被配置時(shí),因?yàn)閚(這里,n是1或者更大的整數(shù))個(gè)存儲(chǔ)器地址中的每個(gè)存儲(chǔ)器地址包括n個(gè)窗口識(shí)別標(biāo)志860,所以頁(yè)表870的大小變得非常大。
與此不同,在示例實(shí)施例的頁(yè)表872中,不針對(duì)每個(gè)存儲(chǔ)器地址810來存儲(chǔ)窗口識(shí)別標(biāo)志860,僅向每個(gè)窗口區(qū)域分配一個(gè)窗口識(shí)別標(biāo)志860。具體地說,頁(yè)表872可包括起始地址(S_ADDR)、結(jié)束地址(E_ADDR)和窗口識(shí)別標(biāo)志(W)列。
例如,起始地址是“0x0100_0000”并且結(jié)束地址是“0x07FF_FFFF”的窗口區(qū)域600存儲(chǔ)具有‘0’值的窗口識(shí)別標(biāo)志,以允許與地址范圍對(duì)應(yīng)的窗口提供第一大小(例如,4KB)的片元頁(yè)。此外,起始地址是“0x3000_0000”并且結(jié)束地址是“0x4FFF_FFFF”的窗口區(qū)域610存儲(chǔ)具有‘1’值的窗口識(shí)別標(biāo)志,以允許與地址范圍對(duì)應(yīng)的窗口提供第二大小(例如,64KB)的片元頁(yè)。
由于以這種方式配置的頁(yè)表872針對(duì)由窗口區(qū)域600、窗口區(qū)域610和窗口區(qū)域620指示的每個(gè)區(qū)域僅包括單個(gè)窗口識(shí)別標(biāo)志860,因此頁(yè)表872的大小可以變得非常小。
圖9C是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的半導(dǎo)體裝置的另一操作的示意圖,圖9D是示出在圖9C中示出的操作中使用的頁(yè)表的示意圖。
參照?qǐng)D9C,存儲(chǔ)器420可包括多個(gè)窗口區(qū)域660、窗口區(qū)域662、窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668。
例如,窗口區(qū)域660和窗口區(qū)域662中的每一個(gè)窗口區(qū)域可包括頻繁地發(fā)生針對(duì)相對(duì)小型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配的存儲(chǔ)區(qū)域。當(dāng)在存儲(chǔ)區(qū)域中頻繁地發(fā)生針對(duì)相對(duì)小型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配時(shí),可增大相應(yīng)的存儲(chǔ)區(qū)域的片元率。因此,存在于窗口區(qū)域660和窗口區(qū)域662中的每一個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可作為大量的小型片元頁(yè)存在。例如,存在于窗口區(qū)域660和窗口區(qū)域662中的每一個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可包括大量的具有小于64KB的大小的片元頁(yè)。
另一方面,窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668中的每一個(gè)窗口區(qū)域可包括不頻繁地發(fā)生針對(duì)相對(duì)大型的數(shù)據(jù)(例如,多媒體數(shù)據(jù))的存儲(chǔ)器分配和解除分配的存儲(chǔ)區(qū)域。當(dāng)在存儲(chǔ)區(qū)域中不頻繁地發(fā)生針對(duì)相對(duì)大型的數(shù)據(jù)的存儲(chǔ)器分配和解除分配時(shí),可減小相應(yīng)的存儲(chǔ)區(qū)域的片元率。因此,存在于窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668中的每個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可作為少量的大型片元頁(yè)存在。例如,存在于窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668中的每個(gè)窗口區(qū)域中的可用存儲(chǔ)區(qū)域可包括少量的具有大于64KB的大小的片元頁(yè)。
考慮到存儲(chǔ)器420的這樣的特性,可以以第一大小(例如,4KB)的片元頁(yè)單位來搜索與窗口區(qū)域660對(duì)應(yīng)的存儲(chǔ)區(qū)域,可以以第二大小(例如,64KB)的片元頁(yè)單位來搜索與窗口區(qū)域662對(duì)應(yīng)的存儲(chǔ)區(qū)域,可以以第三大小(例如,256KB)的片元頁(yè)單位來搜索與窗口區(qū)域664對(duì)應(yīng)的存儲(chǔ)區(qū)域,可以以第四大小(例如,1MB)的片元頁(yè)單位來搜索與窗口區(qū)域666對(duì)應(yīng)的存儲(chǔ)區(qū)域,并且可以以第五大小(例如,2MB)的片元頁(yè)單位來搜索與窗口區(qū)域668對(duì)應(yīng)的存儲(chǔ)區(qū)域。
同時(shí),為了劃分提供幾個(gè)大小的片元頁(yè)的多個(gè)窗口區(qū)域,可通過多位來表示窗口識(shí)別標(biāo)志860。例如,在一個(gè)示例實(shí)施例中,由于必須劃分總共五個(gè)窗口區(qū)域,因此可通過三位來表示窗口識(shí)別標(biāo)志860,使得可劃分至少六個(gè)值。例如,與窗口區(qū)域660、窗口區(qū)域662、窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668對(duì)應(yīng)的窗口識(shí)別標(biāo)志860可分別通過“001”、“010”、“011”、“100”、“101”來指示。
參照?qǐng)D9D,基于上述內(nèi)容使用窗口識(shí)別標(biāo)志信息劃分窗口區(qū)域660、窗口區(qū)域662、窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668的頁(yè)表874可包括起始地址(S_ADDR)、結(jié)束地址(E_ADDR)和窗口識(shí)別標(biāo)志(W)列。
例如,起始地址是“$C”并且結(jié)束地址是“$D”的窗口區(qū)域662存儲(chǔ)具有‘010’值的窗口識(shí)別標(biāo)志,以允許與地址范圍對(duì)應(yīng)的窗口提供第二大小(例如,64KB)的片元頁(yè)。此外,起始地址是“$I”并且結(jié)束地址是“$J”的窗口區(qū)域668存儲(chǔ)具有‘101’值的窗口識(shí)別標(biāo)志,以允許與地址范圍對(duì)應(yīng)的窗口提供第五大小(例如,2MB)的片元頁(yè)。
由于以這種方式配置的頁(yè)表874針對(duì)由窗口區(qū)域660、窗口區(qū)域662、窗口區(qū)域664、窗口區(qū)域666和窗口區(qū)域668指示的每個(gè)區(qū)域僅包括單個(gè)窗口識(shí)別標(biāo)志860,因此頁(yè)表874的大小可以變得非常小。
圖10是示出根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的半導(dǎo)體裝置的存儲(chǔ)器分配處理的示意圖。
參照?qǐng)D10,存儲(chǔ)器420可包括窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域650。
該示例實(shí)施例與上述示例性實(shí)施例的不同在于,能將片段頁(yè)動(dòng)態(tài)地分配給安全緩沖器700。如上所述,當(dāng)預(yù)期不確定是否由第一處理器100、第二處理器102和第三處理器104請(qǐng)求的安全數(shù)據(jù)而將安全存儲(chǔ)區(qū)域預(yù)先保留在存儲(chǔ)器420中時(shí),該安全存儲(chǔ)區(qū)域不能被用于其他任何目的,直到第一處理器100、第二處理器102和第三處理器104的請(qǐng)求確實(shí)存在為止,因而浪費(fèi)了存儲(chǔ)器資源。
因此,在一個(gè)示例性實(shí)施例中,存儲(chǔ)器保護(hù)器400可在存儲(chǔ)器420中劃分窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域650,但是可在考慮安全緩沖器700需要的存儲(chǔ)器容量的情況下來動(dòng)態(tài)分配片元頁(yè)。
例如,當(dāng)在第一次為了獲得安全緩沖器700而需要1024KB的存儲(chǔ)器容量時(shí),存儲(chǔ)器保護(hù)器400可僅從存儲(chǔ)器420中的窗口區(qū)域630來收集可用存儲(chǔ)器,并將收集的可用存儲(chǔ)器分配給安全緩沖器700。之后,當(dāng)在第二次需要額外的128KB的存儲(chǔ)器容量時(shí),存儲(chǔ)器保護(hù)器400可從存儲(chǔ)器420中的窗口區(qū)域640和窗口區(qū)域650收集可用存儲(chǔ)器,并將收集的可用存儲(chǔ)器額外地分配給安全緩沖器700。
當(dāng)然,即使在一個(gè)示例性實(shí)施例中,如上述示例實(shí)施例,也可設(shè)置窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域650,使得可提供彼此大小不同的片元頁(yè)。例如,可以以第二大小(例如,64KB)的片元頁(yè)單位來搜索窗口區(qū)域630,并且可以以第一大小(例如,4KB)的片元頁(yè)單位搜索窗口區(qū)域640和窗口區(qū)域650中的每個(gè)窗口區(qū)域。
如上所述,存儲(chǔ)器420包括多個(gè)窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域640。與多個(gè)窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域650中的窗口區(qū)域640和窗口區(qū)域650對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)小型的片元頁(yè),與多個(gè)窗口區(qū)域630、窗口區(qū)域640和窗口區(qū)域650中的窗口區(qū)域630對(duì)應(yīng)的存儲(chǔ)區(qū)域提供相對(duì)大型的片元頁(yè),并且,如果需要,則將可用存儲(chǔ)器動(dòng)態(tài)地提供給安全緩沖器700,從而有效地獲得用于安全內(nèi)容數(shù)據(jù)的安全緩沖器700。
圖11是示出根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的由存儲(chǔ)保護(hù)器使用的頁(yè)表的示意圖。
參照?qǐng)D11,與圖8的示例實(shí)施例不同,根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的存儲(chǔ)器保護(hù)器400的頁(yè)表900可包括存儲(chǔ)器420的地址信息910、關(guān)于地址的安全屬性信息920和對(duì)應(yīng)于地址的窗口識(shí)別標(biāo)志信息930。
頁(yè)表900僅包括作為安全屬性信息920的非安全訪問(NSA)標(biāo)志,來代替非安全讀取(NSR)標(biāo)志、非安全寫入(NSW)標(biāo)志、安全讀取(SR)標(biāo)志和安全寫入(SW)標(biāo)志,因而在允許非安全存儲(chǔ)區(qū)域與安全存儲(chǔ)區(qū)域之間的訪問的同時(shí),減小頁(yè)表900的大小。
圖12是示出根據(jù)本發(fā)明構(gòu)思的示例實(shí)施例的由內(nèi)容防火墻控制器和存儲(chǔ)器管理控制器使用的頁(yè)表的示意圖。
參照?qǐng)D12,與圖2和圖3的示例實(shí)施例不同,根據(jù)本發(fā)明構(gòu)思的另一示例實(shí)施例的在內(nèi)容防火墻控制器300和存儲(chǔ)器管理控制器200的頁(yè)表1000中包括的安全屬性信息僅包括安全讀取標(biāo)志和安全寫入標(biāo)志。
頁(yè)表1000僅包括作為安全屬性信息920的安全讀取標(biāo)志和安全寫入標(biāo)志,來代替非安全讀取(NSR)標(biāo)志、非安全寫入(NSW)標(biāo)志、安全讀取(SR)標(biāo)志和安全寫入(SW)標(biāo)志。在這種情況下,即使僅通過安全讀取標(biāo)志和安全寫入標(biāo)志也能管理來自第一處理器100的不具有安全意識(shí)的請(qǐng)求,也使得這些請(qǐng)求變?yōu)榫哂邪踩庾R(shí)。如此,在頁(yè)表1000中僅保持安全讀取標(biāo)志和安全寫入操作,從而減小頁(yè)表1000的大小。
圖13至圖15示出根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的可應(yīng)用半導(dǎo)體裝置的半導(dǎo)體系統(tǒng)的非限制性的示例實(shí)施例。
圖13示出平板PC 1200,圖14示出筆記本計(jì)算機(jī)1300,圖15示出智能電話1400。如上面討論的,根據(jù)本發(fā)明構(gòu)思的一些示例性實(shí)施例的半導(dǎo)體裝置可被用于(包括但不限于)平板PC 1200、筆記本計(jì)算機(jī)1300和/或智能電話1400。此外,對(duì)本領(lǐng)域技術(shù)人員來說顯而易見的是,如上面討論的,根據(jù)本發(fā)明構(gòu)思的一些示例實(shí)施例的半導(dǎo)體裝置也可被應(yīng)用于在此未示出的其它集成電路裝置。換言之,目前為止已經(jīng)描述了根據(jù)呈現(xiàn)的非限制性示例實(shí)施例的半導(dǎo)體系統(tǒng)的示例包括平板PC 1200、筆記本計(jì)算機(jī)1300和智能電話1400。然而,其示例不限于此。在本發(fā)明構(gòu)思的一些示例實(shí)施例中,可將半導(dǎo)體系統(tǒng)實(shí)現(xiàn)為包括(但不限于)計(jì)算機(jī)、超移動(dòng)PC、工作站、上網(wǎng)本、個(gè)人數(shù)字助理(PDA)、便攜式計(jì)算機(jī)、無(wú)線電話、移動(dòng)電話、電子書、便攜式多媒體播放器(PMP)、便攜式游戲機(jī)、導(dǎo)航設(shè)備、黑盒、數(shù)碼相機(jī)、三維電視、數(shù)碼錄音機(jī)、數(shù)字圖像記錄儀、數(shù)字圖片播放器、數(shù)字錄像機(jī)或數(shù)字視頻播放器。
將理解,雖然為了示出的目的已經(jīng)公開了本發(fā)明構(gòu)思的示例實(shí)施例,但是本領(lǐng)域技術(shù)人員將理解,在不脫離權(quán)利要求中公開的發(fā)明構(gòu)思的范圍和精神的情況下,各種修改、增加以及替換是可能的。