專利名稱:存儲(chǔ)器保護(hù)單元和用于控制對(duì)存儲(chǔ)設(shè)備的訪問(wèn)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)器保護(hù)單元以及一種保護(hù)存儲(chǔ)設(shè)備免受未授權(quán)訪問(wèn)和在具有多個(gè)處理設(shè)備的多處理系統(tǒng)中管理對(duì)存儲(chǔ)區(qū)的訪問(wèn)的方法。通常,本發(fā)明適用于各種存儲(chǔ)設(shè)備以保護(hù)存儲(chǔ)器。
背景技術(shù):
使用中存在不同類型的設(shè)備和存儲(chǔ)器管理以保護(hù)存儲(chǔ)器。專利US 2008/0155188 公開(kāi)了這樣的存儲(chǔ)器保護(hù)單元。
發(fā)明內(nèi)容
根據(jù)獨(dú)立權(quán)利要求的存儲(chǔ)器保護(hù)單元和方法具有如下優(yōu)點(diǎn)通過(guò)使用兩個(gè)訪問(wèn)控制單元,可以實(shí)現(xiàn)非常安全的并且同時(shí)非常靈活的存儲(chǔ)器保護(hù)。所述訪問(wèn)控制單元之一保護(hù)存儲(chǔ)器以防不希望的被不同程序設(shè)備訪問(wèn)。其他訪問(wèn)控制單元保護(hù)存儲(chǔ)器以防對(duì)由一個(gè)處理設(shè)備執(zhí)行的不同程序或任務(wù)的不希望的訪問(wèn)。另外的優(yōu)點(diǎn)通過(guò)從屬權(quán)利要求的特征實(shí)現(xiàn)。通過(guò)使用硬件單元,減少了允許不希望訪問(wèn)的軟件錯(cuò)誤的可能性。該硬件單元保護(hù)存儲(chǔ)設(shè)備免受軟件錯(cuò)誤。所述軟件錯(cuò)誤不能生成對(duì)存儲(chǔ)設(shè)備的非法訪問(wèn)。另外,所述硬件單元確保第二訪問(wèn)控制單元的編程不能由相關(guān)聯(lián)的處理設(shè)備進(jìn)行 (happen)。第二訪問(wèn)控制單元可由并不是相關(guān)聯(lián)的處理設(shè)備的任何其他處理設(shè)備來(lái)編程。 這防止相關(guān)聯(lián)的處理設(shè)備在第二訪問(wèn)控制單元上對(duì)錯(cuò)誤的地址進(jìn)行編程。所述硬件單元可以具有鎖定寄存器,該鎖定寄存器進(jìn)一步控制第二訪問(wèn)控制單元的后續(xù)編程。任何對(duì)于另外編程的企圖生成錯(cuò)誤信號(hào)。因此,所述存儲(chǔ)器保護(hù)單元被更多地保護(hù)免受非法編程。所述存儲(chǔ)器保護(hù)單元可以被實(shí)現(xiàn)來(lái)使得所述存儲(chǔ)器保護(hù)單元需要復(fù)位信號(hào)以對(duì)第二訪問(wèn)控制單元進(jìn)行編程,并且可以在復(fù)位之后和/或在復(fù)位之后的僅僅某特定時(shí)間周期內(nèi)僅被編程一次。所述第二訪問(wèn)控制單元在正常操作期間是不可編程的。因此,所述存儲(chǔ)器保護(hù)單元得到更多保護(hù)。因?yàn)榇鎯?chǔ)器保護(hù)單元受到保護(hù),所以所述存儲(chǔ)器保護(hù)單元提供對(duì)存儲(chǔ)設(shè)備的更多保護(hù)。檢查第二訪問(wèn)控制單元的正確編程的一個(gè)非常有效的方法是每個(gè)處理設(shè)備都周期性地檢查所有第二訪問(wèn)控制單元的所存儲(chǔ)的訪問(wèn)權(quán)限并且與存儲(chǔ)區(qū)的期望的訪問(wèn)權(quán)限進(jìn)行比較。如果該檢查失敗,則生成錯(cuò)誤信號(hào)。因此,該方法防止了多個(gè)處理設(shè)備訪問(wèn)它們不被允許訪問(wèn)的存儲(chǔ)區(qū)。該方法要求非常少的資源。如果第二訪問(wèn)控制單元被編程,則再次應(yīng)用該方法。因此,每次該方法都確保了第二訪問(wèn)控制單元的訪問(wèn)權(quán)限的正確內(nèi)容。第二訪問(wèn)控制單元可以由安全核編程,并且第二訪問(wèn)控制單元的編程可以由安全核本身來(lái)檢查。因此,安全核控制整個(gè)系統(tǒng)。對(duì)安全核進(jìn)行保護(hù)以防隨機(jī)硬件錯(cuò)誤以及軟件錯(cuò)誤,這進(jìn)一步地使得系統(tǒng)非常安全。由安全核可以實(shí)現(xiàn)高度的保護(hù)。
圖1圖示了多處理器系統(tǒng)中的根據(jù)本發(fā)明的實(shí)施例的存儲(chǔ)器保護(hù)單元的功能框圖。圖2示出了具有用于對(duì)存儲(chǔ)器保護(hù)單元進(jìn)行編程的安全核的多處理器系統(tǒng)。圖3和圖4示出了處理設(shè)備11、12、13可以如何出于對(duì)第二訪問(wèn)控制單元32進(jìn)行編程或者讀第二訪問(wèn)控制單元32的編程的目的而訪問(wèn)存儲(chǔ)器保護(hù)單元14、15、16。圖5示出了在處理設(shè)備11、12、13、總線系統(tǒng)200與存儲(chǔ)設(shè)備17之間的可替換的連接。
具體實(shí)施例方式圖1示出了包括多個(gè)處理設(shè)備11、12、13的框圖。第一處理設(shè)備11經(jīng)由通信線路 101被連接到第一存儲(chǔ)器保護(hù)單元14。第二處理設(shè)備12經(jīng)由通信線路102被連接到第二存儲(chǔ)器保護(hù)單元15。第三處理設(shè)備13經(jīng)由通信線路103被連接到第三存儲(chǔ)器保護(hù)單元16。 存儲(chǔ)器保護(hù)單元14、存儲(chǔ)器保護(hù)單元15和存儲(chǔ)器保護(hù)單元16經(jīng)由系統(tǒng)總線200被連接到存儲(chǔ)設(shè)備17。系統(tǒng)總線可以是總線系統(tǒng)、交叉開(kāi)關(guān)、互連或者任何其他芯片內(nèi)部通信系統(tǒng)。 存儲(chǔ)器保護(hù)單元14、15、16各具有第一訪問(wèn)控制單元31、第二訪問(wèn)控制單元32和硬件單元 33。硬件單元33經(jīng)由內(nèi)部復(fù)位信號(hào)35被連接到第二訪問(wèn)控制單元32。硬件單元33具有連接到復(fù)位線路300的外部引腳34。盡管第一訪問(wèn)控制單元31、第二訪問(wèn)控制單元32和硬件單元33在14、15、16之內(nèi)都具有相對(duì)應(yīng)的功能,這些第一訪問(wèn)控制單元31、第二訪問(wèn)控制單元32和硬件單元33并不是“等同的”。在一種實(shí)現(xiàn)方案中,存儲(chǔ)器保護(hù)單元還可以被視為處理設(shè)備的部分或者被視為通信系統(tǒng)的部分。處理設(shè)備11被關(guān)聯(lián)到存儲(chǔ)器保護(hù)單元14,使得處理設(shè)備11可以僅僅通過(guò)存儲(chǔ)器保護(hù)單元14來(lái)訪問(wèn)存儲(chǔ)設(shè)備17。類似地,處理設(shè)備12和13被關(guān)聯(lián)到存儲(chǔ)器保護(hù)單元15 和16,使得這些處理設(shè)備可以分別僅僅通過(guò)存儲(chǔ)器保護(hù)單元15和16來(lái)訪問(wèn)存儲(chǔ)設(shè)備17。 訪問(wèn)意味著處理設(shè)備11、12、13給出用于使得能夠?qū)Υ鎯?chǔ)設(shè)備17進(jìn)行讀或?qū)懙牡刂贰L幚碓O(shè)備11、12、13是能夠執(zhí)行程序的處理器或者是能夠向存儲(chǔ)設(shè)備17發(fā)出讀或?qū)懨畹目刂破?。處理器例如可以是中央處理單?CPU)、外圍處理器或者協(xié)處理器。控制器可以諸如是直接存儲(chǔ)器訪問(wèn)(DMA)控制器或者CAN控制器。存儲(chǔ)設(shè)備17是存儲(chǔ)單元的集合以暫時(shí)或持久地存儲(chǔ)可以通過(guò)地址來(lái)訪問(wèn)的數(shù)據(jù)或程序。所有存儲(chǔ)器或部分存儲(chǔ)器可以被處理設(shè)備11、12和13來(lái)訪問(wèn)。例如,存儲(chǔ)設(shè)備17 可以是RAM、R0M、FLASH或者非易失性RAM等或者外圍部件的存儲(chǔ)接口或者這樣的存儲(chǔ)設(shè)備的組合。由18、19表示的程序是由處理設(shè)備11、12或13執(zhí)行的任何大小的可執(zhí)行指令序列??纱嬖谟商幚碓O(shè)備執(zhí)行的許多不同的這樣的程序,并且它們可能需要對(duì)存儲(chǔ)設(shè)備17的訪問(wèn)。這些程序可能利用整個(gè)存儲(chǔ)設(shè)備17或者部分存儲(chǔ)設(shè)備17?,F(xiàn)在將可交換地參照術(shù)語(yǔ)“程序”或“任務(wù)”。存儲(chǔ)設(shè)備17對(duì)于處理設(shè)備11、12、13作為僅僅“讀”選項(xiàng)或者在“讀”和“寫(xiě)”選項(xiàng)的情況下是可用的。存儲(chǔ)設(shè)備17的部分可專用于僅僅可被某些處理設(shè)備或某些程序訪問(wèn)。如在圖1中所示,存儲(chǔ)區(qū)21、22、23專用于不同的處理設(shè)備11、12、13。存儲(chǔ)區(qū)21示出了由存儲(chǔ)區(qū)210、211給出的子結(jié)構(gòu),其中這些存儲(chǔ)區(qū)210、211動(dòng)態(tài)地根據(jù)哪個(gè)任務(wù)18、19被處理設(shè)備11執(zhí)行而被分配。為由該處理設(shè)備執(zhí)行的特定程序所預(yù)留的存儲(chǔ)區(qū)可以不被允許由另一處理設(shè)備寫(xiě)或者甚至讀訪問(wèn),并且反之亦然。圖1示出了存儲(chǔ)區(qū)21,該存儲(chǔ)區(qū)21意圖僅可由被處理設(shè)備11所執(zhí)行的程序訪問(wèn)。另外,存儲(chǔ)區(qū)23僅可由被處理設(shè)備12執(zhí)行的程序訪問(wèn)。存儲(chǔ)區(qū)22僅可被處理設(shè)備12訪問(wèn)。根據(jù)哪個(gè)程序18、19被處理設(shè)備11執(zhí)行,第一訪問(wèn)控制單元31準(zhǔn)予對(duì)不同的子存儲(chǔ)區(qū)210、211的訪問(wèn)。這通過(guò)對(duì)第一訪問(wèn)控制單元31動(dòng)態(tài)地重編程來(lái)實(shí)現(xiàn)。為簡(jiǎn)單起見(jiàn),以下段落中的描述關(guān)于處理設(shè)備11和存儲(chǔ)器保護(hù)單元14來(lái)解釋。除非另行說(shuō)明,類似的過(guò)程同樣也適用于其他處理設(shè)備12、13和存儲(chǔ)器保護(hù)單元15、16。存儲(chǔ)器保護(hù)單元14、15、16的第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32具有檢查處理設(shè)備11、12、13的訪問(wèn)命令的模式(讀、寫(xiě)、控制)和地址的功能。為此目的,對(duì)可容許的地址的限制被存儲(chǔ)在第一和第二訪問(wèn)控制單元31、32中。由相關(guān)聯(lián)的處理設(shè)備11、12、 13對(duì)存儲(chǔ)設(shè)備17的任何讀或?qū)懺L問(wèn)通過(guò)存儲(chǔ)器保護(hù)單元14、15、16來(lái)完成。如果第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32批準(zhǔn)針對(duì)所請(qǐng)求的地址對(duì)相關(guān)聯(lián)的處理設(shè)備11的訪問(wèn),則批準(zhǔn)該訪問(wèn)。如果第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32中的任何一個(gè)拒絕該訪問(wèn),則該訪問(wèn)受到拒絕。相對(duì)應(yīng)的存儲(chǔ)器保護(hù)單元14的第一訪問(wèn)控制單元31可由相關(guān)聯(lián)的處理設(shè)備11 來(lái)編程。動(dòng)態(tài)地針對(duì)每個(gè)任務(wù)18、19對(duì)第一訪問(wèn)控制單元31進(jìn)行編程。第一訪問(wèn)控制單元31的編程不應(yīng)是運(yùn)行任務(wù)本身的部分。因此,該編程僅被在相關(guān)聯(lián)的設(shè)備11中運(yùn)行的程序的特定部分允許。優(yōu)選地,應(yīng)僅通過(guò)操作系統(tǒng)對(duì)第一訪問(wèn)控制單元31進(jìn)行編程。存儲(chǔ)區(qū)210被允許僅被任務(wù)18訪問(wèn),而存儲(chǔ)區(qū)211僅針對(duì)任務(wù)19是可訪問(wèn)的,并且這由操作系統(tǒng)進(jìn)行編程。這樣,任務(wù)18、19因此可以僅具有對(duì)許可的存儲(chǔ)區(qū)210、211的訪問(wèn)。因此,第一訪問(wèn)控制單元31提供免受在該處理設(shè)備11上的非故意的程序錯(cuò)誤的存儲(chǔ)器保護(hù)。操作系統(tǒng)是控制程序的執(zhí)行和控制諸如存儲(chǔ)器、CPU時(shí)間、輸入和輸出設(shè)備的資源分配和使用的軟件。第二訪問(wèn)控制單元32提供對(duì)于被限定的存儲(chǔ)區(qū)的存儲(chǔ)器保護(hù)。由相關(guān)聯(lián)的處理設(shè)備11、12、13對(duì)存儲(chǔ)設(shè)備17的任何讀或?qū)懺L問(wèn)必須被第二訪問(wèn)控制單元32準(zhǔn)予。為此目的,關(guān)于可容許的地址的指令被存儲(chǔ)在第二訪問(wèn)控制單元32中。對(duì)第二訪問(wèn)控制單元32 進(jìn)行編程,以針對(duì)不同的處理設(shè)備11、12、13分配存儲(chǔ)區(qū)。對(duì)第二訪問(wèn)控制單元32進(jìn)行編程的不同方法在下面的實(shí)例中被描述。第一實(shí)例允許由相關(guān)聯(lián)的處理設(shè)備對(duì)第二訪問(wèn)控制單元32進(jìn)行編程。但是第二訪問(wèn)控制單元32的編程可由并不是相關(guān)聯(lián)的處理設(shè)備的其他處理設(shè)備來(lái)讀。在第一步驟中,在初始化之后,每個(gè)存儲(chǔ)器保護(hù)單元14、15、16的第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32由相關(guān)聯(lián)的處理設(shè)備11、12、13來(lái)編程。在第二訪問(wèn)控制單元32的編程之后,該編程由并不是相關(guān)聯(lián)的處理設(shè)備的至少一個(gè)其他的處理設(shè)備來(lái)讀。作為實(shí)例,處理設(shè)備11可以對(duì)存儲(chǔ)器保護(hù)單元14的第二訪問(wèn)控制單元32進(jìn)行編程。第二訪問(wèn)控制單元的編程由并不是相關(guān)聯(lián)的處理設(shè)備的12或13來(lái)讀并且與第二訪問(wèn)控制單元32的期望的編程進(jìn)行比較。如果該比較失敗,則將在系統(tǒng)中用信號(hào)通知錯(cuò)誤并且將觸發(fā)適當(dāng)?shù)姆磻?yīng)。如上,可以確保的是第二訪問(wèn)控制單元32的編程可被視為靜態(tài)的。對(duì)所有相關(guān)聯(lián)的處理設(shè)備的存儲(chǔ)器保護(hù)單元的第二訪問(wèn)控制單元32進(jìn)行編程的另一實(shí)例恰好由一個(gè)處理設(shè)備執(zhí)行,并且然后由另一處理設(shè)備檢查編程的正確性。作為實(shí)例,在圖1中,存儲(chǔ)器保護(hù)單元15和16的第二訪問(wèn)控制單元32可由處理設(shè)備11來(lái)編程, 并且該編程的檢查由編程設(shè)備12來(lái)完成。存儲(chǔ)器保護(hù)單元14的第二訪問(wèn)控制單元32可由處理設(shè)備12來(lái)編程,并且該編程的檢查由編程設(shè)備13來(lái)完成。對(duì)第二訪問(wèn)控制單元32進(jìn)行編程和檢查的替換方法是處理設(shè)備11可以對(duì)存儲(chǔ)器保護(hù)單元15的第二訪問(wèn)控制單元32進(jìn)行編程,并且檢查可以由處理設(shè)備13來(lái)完成。處理設(shè)備12可以對(duì)存儲(chǔ)器保護(hù)單元16的第二訪問(wèn)控制單元32進(jìn)行編程,并且檢查可以由處理設(shè)備11來(lái)完成。類似地,處理設(shè)備13可以對(duì)存儲(chǔ)器保護(hù)單元14的第二訪問(wèn)控制單元32 進(jìn)行編程,并且檢查可以由處理設(shè)備12來(lái)完成。用于檢查第二訪問(wèn)控制單元32的所存儲(chǔ)的編程的正確性的替換方法是可以從所有處理設(shè)備來(lái)讀第二訪問(wèn)控制單元32。處理設(shè)備通過(guò)讀所有存儲(chǔ)器保護(hù)單元的第二訪問(wèn)控制單元32的所存儲(chǔ)的編程來(lái)周期性地檢查所有第二訪問(wèn)控制單元32的正確編程。通過(guò)這種方法,確定存儲(chǔ)區(qū)21、22、23中的哪個(gè)部分可由哪個(gè)處理設(shè)備訪問(wèn)。然后該信息與存儲(chǔ)區(qū)21、22、23分配到處理設(shè)備的期望分配相比較。如果該檢查失敗,則可以例如給預(yù)限定的處理設(shè)備生成錯(cuò)誤信號(hào),以對(duì)第二訪問(wèn)控制單元32重編程。例如,存儲(chǔ)區(qū)22應(yīng)僅可由處理設(shè)備12訪問(wèn)。如果存儲(chǔ)器保護(hù)單元14和16的第二訪問(wèn)控制單元32已經(jīng)被編程來(lái)給予處理設(shè)備11和13針對(duì)存儲(chǔ)區(qū)22的訪問(wèn),則處理設(shè)備12可以生成錯(cuò)誤信號(hào)給處理設(shè)備11 和13,以對(duì)存儲(chǔ)器保護(hù)單元14和16的第二訪問(wèn)控制單元32重編程。可替換地,錯(cuò)誤信號(hào)也可以引起像關(guān)機(jī)或者復(fù)位那樣的系統(tǒng)廣泛反應(yīng)(wide reaction)。如上面解釋的那樣,由哪個(gè)處理設(shè)備對(duì)第二訪問(wèn)控制單元32進(jìn)行編程和檢查可以在初始化期間被配置。在如圖1中所示的多處理系統(tǒng)中,一些處理設(shè)備可以是在其上不能執(zhí)行程序的諸如DMA控制器或者CAN控制器的控制器。在這樣的系統(tǒng)中,系統(tǒng)的至少兩個(gè)處理設(shè)備(例如 11、12)必須是在其上可以執(zhí)行程序的諸如中央處理單元、協(xié)處理器、外圍控制器或者其他單元的處理器,而其他處理設(shè)備可以是像在其上沒(méi)有程序執(zhí)行的總線主控器那樣的處理設(shè)備、諸如DMA控制器或者CAN控制器,例如13。在這種情況下,處理設(shè)備11、12將負(fù)責(zé)對(duì)與處理設(shè)備13相關(guān)聯(lián)的存儲(chǔ)器保護(hù)單元16的第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32 進(jìn)行編程和檢查編程的正確性。圖2示出了具有安全核500的系統(tǒng)。安全核500是鎖步模式下的處理設(shè)備501和 502的操作對(duì)??商鎿Q地,安全核可以被實(shí)現(xiàn)為由監(jiān)控CPU所監(jiān)督的CPU。第一處理設(shè)備 501和第二處理設(shè)備502被連接到比較器503。處理設(shè)備501、處理設(shè)備502和比較器503 形成稱為安全核500的邏輯核。安全核500和存儲(chǔ)器保護(hù)單元504經(jīng)由通信線路104彼此連接。存儲(chǔ)器保護(hù)單元504經(jīng)由系統(tǒng)總線200被連接到存儲(chǔ)設(shè)備17。在圖2中示出的其他元件和連接、像存儲(chǔ)設(shè)備17、處理設(shè)備12、13、存儲(chǔ)器保護(hù)單元15、16、通信線路102、103、復(fù)位線路300和系統(tǒng)總線200是與圖1中所描述的設(shè)備相同的設(shè)備并且執(zhí)行與圖1中所描述的功能相同的功能。比較器503監(jiān)控兩個(gè)處理設(shè)備501、502的輸出并且在不一致的情況下標(biāo)記出錯(cuò)誤。
鎖步是一種用于實(shí)現(xiàn)微處理器系統(tǒng)中的高故障檢測(cè)能力的技術(shù)。這通過(guò)將相同的第二處理設(shè)備502添加到監(jiān)控和驗(yàn)證第一處理設(shè)備501的操作的系統(tǒng)來(lái)完成。兩個(gè)處理設(shè)備501、502在系統(tǒng)起動(dòng)期間被初始化到相同狀態(tài),并且這兩個(gè)處理設(shè)備501、502接收相同的輸入,因此在正常操作期間,這兩個(gè)處理設(shè)備501、502的狀態(tài)每個(gè)時(shí)鐘(from clock to clock)都是相同的。這兩個(gè)處理設(shè)備501、502被稱為以鎖步方式操作。鎖步技術(shù)假定處理設(shè)備501和502中的任何一個(gè)中的錯(cuò)誤將引起兩個(gè)處理設(shè)備501、502的狀態(tài)之間的差別, 該差別將可能被顯現(xiàn)為輸出中的差別,因此該鎖步系統(tǒng)監(jiān)控這兩個(gè)處理器的輸出并且在不一致的情況下標(biāo)記出錯(cuò)誤??梢栽谔幚碓O(shè)備501與處理設(shè)備502之間提供時(shí)間或時(shí)鐘延遲。這兩個(gè)處理設(shè)備501、502因此在時(shí)間上有小延遲、例如1. 5或2個(gè)周期差的情況下處理相同的程序。因此,如果發(fā)生隨機(jī)錯(cuò)誤,則這兩個(gè)處理設(shè)備501、502并不在相同的周期執(zhí)行相同的錯(cuò)誤,而是偏移以延遲地執(zhí)行相同的錯(cuò)誤。因此,該時(shí)間延遲是檢測(cè)并且因此消除在兩個(gè)處理設(shè)備 501,502上執(zhí)行程序時(shí)的隨機(jī)錯(cuò)誤的方法。輸入和輸出數(shù)據(jù)的延遲允許安全核500減少可能在處理設(shè)備中出現(xiàn)的一些故障。存儲(chǔ)器保護(hù)單元504的第二訪問(wèn)控制單元32可以是可選的單元,因?yàn)檫壿嫼艘呀?jīng)是安全核,并且因此可以不需要存儲(chǔ)器保護(hù)單元504的第二訪問(wèn)控制單元32。如果存在完整的存儲(chǔ)器保護(hù)單元,則存儲(chǔ)器保護(hù)單元504的第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元 32由安全核500本身來(lái)編程。在安全核500的初始化期間對(duì)存儲(chǔ)器保護(hù)單元504的第二訪問(wèn)控制單元32進(jìn)行編程。在針對(duì)由安全核500執(zhí)行的每個(gè)任務(wù)的操作期間動(dòng)態(tài)地對(duì)存儲(chǔ)器保護(hù)單元504的第一訪問(wèn)控制單元31進(jìn)行編程。存儲(chǔ)器保護(hù)單元15和16的第二訪問(wèn)控制單元32由安全核500來(lái)編程。優(yōu)選地, 這也在初始化期間完成。所要求的可容許的地址被適當(dāng)?shù)鼐幊?。正確的編程可以通過(guò)可以由安全核500本身執(zhí)行的簡(jiǎn)單的讀測(cè)試來(lái)確保。具有安全核的優(yōu)點(diǎn)是該安全核允許控制整個(gè)系統(tǒng),因?yàn)樵摪踩?00的故障檢測(cè)的能力如此高。下面的圖3、4和5描述了處理設(shè)備11、12、13出于對(duì)不同的第二訪問(wèn)控制單元32 進(jìn)行編程或者讀第二訪問(wèn)控制單元32的編程的目的可以如何訪問(wèn)存儲(chǔ)器保護(hù)單元14、15、 16。圖3示出了在圖1和2中曾描述過(guò)的三個(gè)處理設(shè)備11、12、13和三個(gè)存儲(chǔ)器保護(hù)單元14、15、16。存儲(chǔ)器保護(hù)單元14用通信線路101被連接到相關(guān)聯(lián)的處理設(shè)備11。存儲(chǔ)器保護(hù)單元15用通信線路102被連接到相關(guān)聯(lián)的處理設(shè)備12。存儲(chǔ)器保護(hù)單元16用通信線路103被連接到相關(guān)聯(lián)的處理設(shè)備13。出于簡(jiǎn)單的原因,沒(méi)有示出存儲(chǔ)器保護(hù)單元14、 15、16、總線系統(tǒng)200和存儲(chǔ)設(shè)備17的內(nèi)部結(jié)構(gòu)。另外,存儲(chǔ)器保護(hù)單元14用另外的通信線路1200被連接到處理設(shè)備12。存儲(chǔ)器保護(hù)單元15用另外的通信線路1300被連接到處理設(shè)備13。存儲(chǔ)器保護(hù)單元16用另外的通信線路1100被連接到處理設(shè)備11。利用該布局,處理設(shè)備11、12、13與存儲(chǔ)器保護(hù)單元14、15、16之間的通信僅在這些通信線路上是可能的。存儲(chǔ)器保護(hù)單元14可以與相關(guān)聯(lián)的處理設(shè)備11和另外的處理設(shè)備12進(jìn)行通信。存儲(chǔ)器保護(hù)單元15可以與相關(guān)聯(lián)的處理設(shè)備12和另外的處理設(shè)備13進(jìn)行通信。存儲(chǔ)器保護(hù)單元16可以與相關(guān)聯(lián)的處理設(shè)備13和另外的處理設(shè)備11進(jìn)行通信。如果相關(guān)聯(lián)的處理設(shè)備11、12、13可以對(duì)相關(guān)聯(lián)的存儲(chǔ)器保護(hù)單元14、15、16進(jìn)行編程并且該編程可以由任何其他的處理設(shè)備來(lái)控制,則可以使用這樣的固定線連接。當(dāng)然,靈活性是低的,因?yàn)椴坏貌唤⑼ㄐ啪€路并且不能容易地改變?cè)撏ㄐ啪€路。在圖4中示出了具有更多靈活性的另一系統(tǒng)。圖4示出了在圖1和2中曾描述過(guò)的三個(gè)處理設(shè)備11、12、13和三個(gè)存儲(chǔ)器保護(hù)單元14、15、16。存儲(chǔ)器保護(hù)單元14用通信線路101被連接到相關(guān)聯(lián)的處理設(shè)備11。存儲(chǔ)器保護(hù)單元15用通信線路102被連接到相關(guān)聯(lián)的處理設(shè)備12。存儲(chǔ)器保護(hù)單元16用通信線路103被連接到相關(guān)聯(lián)的處理設(shè)備13。出于簡(jiǎn)單的原因,沒(méi)有示出存儲(chǔ)器保護(hù)單元14、15、16、總線系統(tǒng)200和存儲(chǔ)設(shè)備17的內(nèi)部結(jié)構(gòu)。另外,所有處理設(shè)備11、12、13和所有存儲(chǔ)器保護(hù)單元14、15、16連接到另外的總線系統(tǒng)600。該另外的總線系統(tǒng)600獨(dú)立于如在圖1和2中描述的總線系統(tǒng)200。該另外的總線系統(tǒng)600允許每個(gè)處理設(shè)備11、12、13與每個(gè)存儲(chǔ)器保護(hù)單元14、15、16之間的通信。該布局可用于由處理設(shè)備11、12、13對(duì)存儲(chǔ)器保護(hù)單元14、15、16進(jìn)行編程的方法中的任何一個(gè)。該另外的總線系統(tǒng)600可以允許任何處理設(shè)備11、12、13對(duì)任何存儲(chǔ)器保護(hù)單元14、 15、16進(jìn)行編程。該另外的總線系統(tǒng)600允許任何處理設(shè)備11、12、13讀任何存儲(chǔ)器保護(hù)單元14、15、16的編程,并且因此允許控制和檢查第二訪問(wèn)控制單元32的編程的正確性。圖 4的系統(tǒng)除了正常的總線系統(tǒng)200之外還需要單獨(dú)的另外的總線系統(tǒng)600。因此,該系統(tǒng)與圖1和2中示出的系統(tǒng)相比涉及額外的投入。在處理設(shè)備14、15和16之間建立通信的另一方法是使用總線系統(tǒng)200。這樣做的優(yōu)點(diǎn)是不需要另外的總線線路。缺點(diǎn)是總線系統(tǒng)200上的總線負(fù)荷增加并且處理設(shè)備 11、12、13需要適當(dāng)?shù)能浖?lái)處理經(jīng)由總線系統(tǒng)200的另外的通信。但是,該類型的通信是非常靈活的并且不需要另外的投入。在圖1和2中,處理設(shè)備11、12、13與總線系統(tǒng)200沒(méi)有直接連接,而是僅僅經(jīng)由存儲(chǔ)器保護(hù)單元14、15、16被連接到總線系統(tǒng)200。圖5示出了處理設(shè)備11、12、13與總線系統(tǒng)200之間的可替換的連接,該連接仍涉及存儲(chǔ)器保護(hù)單元以準(zhǔn)予或拒絕對(duì)總線系統(tǒng)200 或存儲(chǔ)設(shè)備17的訪問(wèn)。處理設(shè)備11經(jīng)由地址總線801和數(shù)據(jù)總線804被連接到總線系統(tǒng)200。存儲(chǔ)器保護(hù)單元14用地址總線801被連接到相關(guān)聯(lián)的處理設(shè)備11并且還用使能線路700被連接到相關(guān)聯(lián)的處理設(shè)備11。處理設(shè)備12經(jīng)由地址總線802和數(shù)據(jù)總線805被連接到總線系統(tǒng)200。存儲(chǔ)器保護(hù)單元15用地址總線802被連接到相關(guān)聯(lián)的處理設(shè)備12并且還用使能線路701被連接到相關(guān)聯(lián)的處理設(shè)備12。處理設(shè)備13經(jīng)由地址總線803和數(shù)據(jù)總線806 被連接到總線系統(tǒng)200。存儲(chǔ)器保護(hù)單元15用地址總線803被連接到相關(guān)聯(lián)的處理設(shè)備 13并且還用使能線路702被連接到相關(guān)聯(lián)的處理設(shè)備13。存儲(chǔ)器保護(hù)單元14用控制線路 810被連接到總線系統(tǒng)200。存儲(chǔ)器保護(hù)單元15用控制線路811被連接到總線系統(tǒng)200。 存儲(chǔ)器保護(hù)單元16用控制線路812被連接到總線系統(tǒng)200。控制線路810、811和812用于控制對(duì)總線系統(tǒng)200或存儲(chǔ)設(shè)備17的訪問(wèn)。存儲(chǔ)器保護(hù)單元14、15、16在這些控制線路 810,811和812上將諸如讀使能、寫(xiě)使能、存儲(chǔ)器選擇信號(hào)或者輸入/輸出信號(hào)的控制信號(hào)發(fā)送給總線系統(tǒng)200或者發(fā)送給存儲(chǔ)設(shè)備17。出于簡(jiǎn)單的原因,沒(méi)有示出存儲(chǔ)器保護(hù)單元 14、15、16的內(nèi)部結(jié)構(gòu)。處理設(shè)備11、12、13可以發(fā)出用于讀或?qū)懘鎯?chǔ)設(shè)備17或者訪問(wèn)總線系統(tǒng)200的命令。處理設(shè)備11、12、13在地址總線801、802、803上放置訪問(wèn)地址并且通過(guò)在使能線路 700,701,702上傳送諸如讀使能或?qū)懯鼓苄盘?hào)的控制信號(hào)來(lái)放置訪問(wèn)地址。存儲(chǔ)器保護(hù)單元14、15、16觀察地址總線801、802、803上的訪問(wèn)地址連同使能線路700、701、702上的讀使能或?qū)懯鼓苄盘?hào)。存儲(chǔ)器保護(hù)單元14、15和16將訪問(wèn)地址與存儲(chǔ)在每個(gè)存儲(chǔ)器保護(hù)單元的第一訪問(wèn)控制單元31和第二訪問(wèn)控制單元32中的地址進(jìn)行比較。如果這些地址是有效地址,則存儲(chǔ)器保護(hù)單元14、15、16通過(guò)在控制線路810、811和812上傳送控制信號(hào)而對(duì)相關(guān)聯(lián)的處理設(shè)備11、12、13準(zhǔn)予訪問(wèn),以訪問(wèn)總線系統(tǒng)200或者存儲(chǔ)設(shè)備17。該控制信號(hào)可以是總線系統(tǒng)200上的或者到存儲(chǔ)設(shè)備17的讀使能或?qū)懯鼓苄盘?hào)。如果這些地址不是有效地址,則存儲(chǔ)器保護(hù)單元14、15、16通過(guò)使控制線路810、811、812無(wú)效來(lái)拒絕給予對(duì)相關(guān)聯(lián)的處理設(shè)備11、12、13的訪問(wèn)。準(zhǔn)予或拒絕相關(guān)聯(lián)的處理設(shè)備11、12、13對(duì)總線系統(tǒng) 200或者對(duì)存儲(chǔ)設(shè)備17的訪問(wèn)通過(guò)控制線路810、811、812來(lái)控制。因此,存儲(chǔ)器保護(hù)單元 14、15、16觀察地址總線801、802、803上的訪問(wèn)地址并且控制對(duì)總線系統(tǒng)200或者存儲(chǔ)設(shè)備 17的訪問(wèn)。一旦在復(fù)位之后,存儲(chǔ)器保護(hù)單元14、15、16、504的第二訪問(wèn)控制單元32就被編程。因此,如在圖1至圖5中所示的存儲(chǔ)器保護(hù)單元14、15、16包括用于第二訪問(wèn)控制單元 32的編程的硬件單元33。該硬件單元33具有需要特定輸入并且允許第二訪問(wèn)控制單元32 的編程的硬件元件。硬件單元33具有通過(guò)外部引腳34被連接到復(fù)位線路300的復(fù)位檢測(cè)。第二訪問(wèn)控制單元32的編程通過(guò)硬件單元33與復(fù)位信號(hào)耦合。該復(fù)位信號(hào)被給予外部引腳34。 復(fù)位檢測(cè)檢測(cè)到復(fù)位信號(hào),該復(fù)位信號(hào)然后被用于內(nèi)部復(fù)位信號(hào)35以使能第二訪問(wèn)控制單元32的編程。在復(fù)位之后,第二訪問(wèn)控制單元32準(zhǔn)備好編程。復(fù)位檢測(cè)可以生成到安全核500或者到預(yù)限定的處理設(shè)備11、12、13的中斷,以對(duì)第二訪問(wèn)控制單元32進(jìn)行編程。 可替換地,復(fù)位檢測(cè)可以簡(jiǎn)單地使能編程,并且在編程之后禁用對(duì)第二訪問(wèn)控制單元32的訪問(wèn)。第二訪問(wèn)控制單元32然后如剛才所描述的那樣由安全核500或者由預(yù)限定的處理設(shè)備11、12、13來(lái)編程。與復(fù)位檢測(cè)和硬件單元33結(jié)合地存在用于對(duì)第二訪問(wèn)控制單元32 進(jìn)行編程的不同可能性。1.第一可能性是將復(fù)位檢測(cè)與一次編程相組合。硬件單元33可以具有確保第二訪問(wèn)控制單元32在復(fù)位之后恰好被編程一次的寄存器。在第二訪問(wèn)控制單元32被編程之后,對(duì)第二訪問(wèn)控制單元32的后續(xù)寫(xiě)訪問(wèn)觸發(fā)錯(cuò)誤。2.第二可能性是將復(fù)位檢測(cè)與鎖定寄存器相組合。硬件單元33可以具有鎖定寄存器,該鎖定寄存器確保只有當(dāng)該鎖定寄存器被以某一形式訪問(wèn)時(shí),第二訪問(wèn)控制單元 32才可以被編程。在初始化期間或者在復(fù)位之后允許對(duì)鎖定寄存器的訪問(wèn)。硬件單元33 的鎖定寄存器允許使能或禁用第二訪問(wèn)控制單元32的編程。3.第三可能性是將復(fù)位檢測(cè)與定時(shí)器相組合。硬件單元33可以具有定時(shí)器控制寄存器,該定時(shí)器控制寄存器確保第二訪問(wèn)控制單元32可以在復(fù)位之后的預(yù)限定的時(shí)間之內(nèi)被寫(xiě)。在第二訪問(wèn)控制單元32被編程之后,對(duì)第二訪問(wèn)控制單元32的后續(xù)寫(xiě)訪問(wèn)觸發(fā)??梢詫?duì)定時(shí)器控制寄存器進(jìn)行編程,以保持預(yù)限定的時(shí)間。
權(quán)利要求
1.一種供具有多個(gè)處理設(shè)備的系統(tǒng)使用的存儲(chǔ)器保護(hù)單元(14、15、16),其包括至少一個(gè)第一訪問(wèn)控制單元(31)和至少一個(gè)第二訪問(wèn)控制單元(32),第一和第二訪問(wèn)控制單元被編程,用于控制所述存儲(chǔ)器保護(hù)單元(14、15、16)所關(guān)聯(lián)到的相關(guān)聯(lián)的處理設(shè)備(11、 12、13)對(duì)存儲(chǔ)設(shè)備(17)的訪問(wèn),其中,如果第一訪問(wèn)控制單元(31)和第二訪問(wèn)控制單元 (32)批準(zhǔn)所述相關(guān)聯(lián)的處理設(shè)備(11、12、13)對(duì)存儲(chǔ)設(shè)備(17)的訪問(wèn),則該訪問(wèn)被批準(zhǔn),而如果第一訪問(wèn)控制單元(31)或第二訪問(wèn)控制單元(32)拒絕該訪問(wèn),則該訪問(wèn)被拒絕;第一訪問(wèn)控制單元(31)能由所述相關(guān)聯(lián)的處理設(shè)備(11、12、13)單獨(dú)編程;并且第二訪問(wèn)控制單元(32)的編程能由并不是所述相關(guān)聯(lián)的處理設(shè)備的另外的處理設(shè)備來(lái)讀。
2.根據(jù)權(quán)利要求1所述的存儲(chǔ)器保護(hù)單元(14、15、16),其特征在于硬件單元(33),以確保第二訪問(wèn)控制單元(32)的編程不能由所述相關(guān)聯(lián)的處理設(shè)備(11、12、13)單獨(dú)進(jìn)行。
3.根據(jù)權(quán)利要求2所述的存儲(chǔ)器保護(hù)單元(14、15、16),其中,所述硬件單元(33)具有外部引腳(34),以接收復(fù)位信號(hào),其中在復(fù)位之后,所述硬件單元(33)允許對(duì)第二訪問(wèn)控制單元(32)編程一次。
4.根據(jù)權(quán)利要求2所述的存儲(chǔ)器保護(hù)單元(14、15、16),其中,所述硬件單元(33)具有鎖定寄存器,以使能或禁用第二訪問(wèn)控制單元(32)的重編程。
5.根據(jù)權(quán)利要求4所述的存儲(chǔ)器保護(hù)單元(14、15、16),其中,僅在復(fù)位之后允許對(duì)鎖定寄存器的訪問(wèn)。
6.根據(jù)權(quán)利要求2所述的存儲(chǔ)器保護(hù)單元(14、15、16),其中,所述硬件單元(33)具有定時(shí)器,以允許在第二訪問(wèn)控制單元(32)的復(fù)位之后的預(yù)限定的時(shí)間之內(nèi)對(duì)第二訪問(wèn)控制單元(32 )進(jìn)行編程,并且后來(lái)的編程通過(guò)硬件單元(33 )發(fā)起錯(cuò)誤信號(hào)。
7.一種操作包括多個(gè)處理設(shè)備(11、12、13)和相關(guān)聯(lián)的存儲(chǔ)器保護(hù)單元(14、15、16)的處理系統(tǒng)的方法,其具有以下步驟-對(duì)所述存儲(chǔ)器保護(hù)單元(14、15、16)的第一訪問(wèn)控制單元(31)進(jìn)行編程,其中每個(gè)處理設(shè)備(11、12、13)都對(duì)所述處理設(shè)備(11、12、13)所關(guān)聯(lián)到的所述存儲(chǔ)器保護(hù)單元(14、 15,16)的第一訪問(wèn)控制單元(31)進(jìn)行編程;-對(duì)關(guān)聯(lián)到所述處理設(shè)備(11、12、13)的所述存儲(chǔ)器保護(hù)單元(14、15、16)的第二訪問(wèn)控制單元(32)進(jìn)行編程,其中第二訪問(wèn)控制單元(32)的編程包括由并不是相關(guān)聯(lián)的處理設(shè)備的處理設(shè)備檢查所述編程;-如果關(guān)聯(lián)到處理設(shè)備(11、12、13)的所述存儲(chǔ)器保護(hù)單元(14、15、16)的第一訪問(wèn)控制單元(31)和第二訪問(wèn)控制單元(32)批準(zhǔn)所述處理設(shè)備(11、12、13)對(duì)存儲(chǔ)器(17)的訪問(wèn),則該訪問(wèn)被批準(zhǔn),而如果第一訪問(wèn)控制單元(31)或第二訪問(wèn)控制單元(32)拒絕該訪問(wèn),則該訪問(wèn)被拒絕。
8.根據(jù)權(quán)利要求6所述的方法,其中,第二訪問(wèn)控制單元(32)的編程需要到多個(gè)編程設(shè)備的復(fù)位信號(hào),并且第二訪問(wèn)控制單元(32)能由并不是所述存儲(chǔ)器保護(hù)單元的相關(guān)聯(lián)的處理設(shè)備的處理設(shè)備重編程一次。
9.根據(jù)權(quán)利要求6所述的方法,其中,對(duì)第二訪問(wèn)控制單元(32)的正確編程的檢查周期性地完成,如果檢查失敗,則生成錯(cuò)誤信號(hào)。
10.根據(jù)權(quán)利要求6所述的方法,其中,如果第二訪問(wèn)控制單元(32)被重編程,則完成對(duì)第二訪問(wèn)控制單元(32)的正確編程的檢查。
11.根據(jù)權(quán)利要求6所述的方法,能夠由安全核(500)完成第二訪問(wèn)控制單元(32)的編程和對(duì)程序正確性的檢查。
全文摘要
本發(fā)明涉及存儲(chǔ)器保護(hù)單元和用于控制對(duì)存儲(chǔ)設(shè)備的訪問(wèn)的方法。存儲(chǔ)器保護(hù)單元包括被編程用于控制對(duì)存儲(chǔ)設(shè)備的訪問(wèn)的至少一個(gè)第一訪問(wèn)控制單元和至少一個(gè)第二訪問(wèn)控制單元。另外涉及一種操作包括多個(gè)處理設(shè)備和關(guān)聯(lián)到所述多個(gè)處理設(shè)備的多個(gè)存儲(chǔ)器保護(hù)單元的處理系統(tǒng)的方法。如果第一訪問(wèn)控制單元和第二訪問(wèn)控制單元批準(zhǔn)處理設(shè)備對(duì)存儲(chǔ)器的訪問(wèn),則該訪問(wèn)被批準(zhǔn),而如果第一訪問(wèn)控制單元或第二訪問(wèn)控制單元拒絕該訪問(wèn),則該訪問(wèn)被拒絕。第一訪問(wèn)控制單元能由相關(guān)聯(lián)的處理設(shè)備單獨(dú)編程,并且第二訪問(wèn)控制單元的編程能由要用在具有多個(gè)編程設(shè)備的系統(tǒng)中的并不是相關(guān)聯(lián)的處理設(shè)備的另外的處理設(shè)備來(lái)讀。
文檔編號(hào)G06F12/14GK102486755SQ20111039509
公開(kāi)日2012年6月6日 申請(qǐng)日期2011年12月2日 優(yōu)先權(quán)日2010年12月3日
發(fā)明者B.米勒, C.格鮑爾, C.羅薩, D.托斯, M.埃伯特, M.費(fèi)爾希 申請(qǐng)人:羅伯特·博世有限公司