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

多處理器系統(tǒng)中的通信禁用的制作方法

文檔序號:6362013閱讀:168來源:國知局
專利名稱:多處理器系統(tǒng)中的通信禁用的制作方法
技術(shù)領(lǐng)域
本發(fā)明的領(lǐng)域一般涉及計算機系統(tǒng)安全性,特別是涉及軟件限定的安全系統(tǒng)。
背景技術(shù)
人的基本需求之一是安全性,即感覺有保證的需求。不幸的是,在各個時代,在世界上都存在想要傷害、例如偷盜或損害財產(chǎn)、破壞或損壞組織或政府等的實體。他們的動機從尋求個人好處到政治原因不等。隨著社會進入數(shù)字時代并且通信和信息之間的邊界進一步模糊化,安全性和達到可量化的保證級別的方法對于保持當前的生活水平變得十分關(guān)鍵。商業(yè)信息安全性要求背后的驅(qū)動力是對于在任何時間或地點與數(shù)字世界進行通信和連接的欲望。向著普遍存在的通信和計算方案演進的這種環(huán)境早期由電信部門驅(qū)動。該部門分解成消費、工業(yè)、醫(yī)療、公共安全、政府和軍事部門。軍事在常規(guī)上在技術(shù)方面引領(lǐng)該領(lǐng)域。但是,由于工業(yè)通過該新能力的實現(xiàn)接受和演進它們的操作實踐,因此,消費、工業(yè)/企業(yè)和醫(yī)療市場現(xiàn)在面臨類似的挑戰(zhàn)。因此,希望提高安全性。

發(fā)明內(nèi)容
以下提供通過多處理器結(jié)構(gòu)確保系統(tǒng)的安全的各種實施例。多處理器結(jié)構(gòu)可包括多個處理器和多個通信元件。各通信元件可以是可動態(tài)配置的,并且/或者可包括多個通信端口、存儲器和/或路由引擎以及其它的可能的元件。各處理器可包括至少一個算術(shù)邏輯單元、指令處理單元和/或多個處理器端口以及其它的可能的元件。通信元件和處理器可以以散布的方式被耦合在一起。例如,對于處理器中的每一個處理器,多個處理器端口可被配置為用于耦合多個通信元件的第一子集,并且,對于通信元件中的每一個通信元件,通信端口的第一子集可被配置為用于耦合多個處理器的子集,并且,通信端口的第二子集可被配置為用于耦合多個通信元件的第二子集。在一個實施例中,可例如在多處理器結(jié)構(gòu)或包括多處理器結(jié)構(gòu)的系統(tǒng)的引導過程中自動地接收用于多處理器結(jié)構(gòu)的配置。該配置可規(guī)定處理器和/或通信元件中的一個或更多個之間的通信路徑的禁用。例如,該配置可規(guī)定一個或更多個處理器和一個或更多個通信元件、一個或更多個處理器和一個或更多個其它的處理器和/或一個或更多個通信元件與一個或更多個其它的通信元件之間的通信路徑的禁用。作為幾個例子,該配置可規(guī)定多處理器結(jié)構(gòu)的第一部分和多處理器結(jié)構(gòu)的第二部分之間的通信的禁用,以例如在操作過程中隔離第一部分與第二部分。作為另一例子,該配置可規(guī)定多處理器結(jié)構(gòu)的第二部分對多處理器結(jié)構(gòu)的第一部分的存儲器訪問的禁用,例如,使得第二部分不能在操作過程中訪問包括于第一部分中的存儲器。作為響應(yīng),可自動地在硬件中配置多處理器結(jié)構(gòu),以禁用由該配置規(guī)定的通信路徑。因此,可以操作多處理器結(jié)構(gòu)以根據(jù)該配置執(zhí)行軟件應(yīng)用。在一個實施例中,該配置可包括設(shè)定與一個或更多個處理器和/或一個或更多個通信元件對應(yīng)以禁用由該配置規(guī)定的通信路徑的寄存器值。在一個實施例中,在配置之后,不能通過軟件恢復禁用的通信路徑。作為替代方案,或者,另外,以上討論的配置可基于加載到多處理器結(jié)構(gòu)中的軟件或代碼被加載。例如,可首先加載包括配置的認證的代碼。在一個實施例中,認證的代碼可包括可在整個操作過程中使用的多個配置或配置的修改。例如,可從認證的代碼接收第二配置,并且,可對于第二配置執(zhí)行以上討論的自動配置。


當結(jié)合以下附圖考慮優(yōu)選實施例的以下的詳細描述時,可以獲得對本發(fā)明的更好的理解,其中,圖1示出可利用本發(fā)明的實施例的示例性計算機系統(tǒng);圖2 圖6B不出多處理器系統(tǒng)的不例性實施例;圖7和圖8是示出根據(jù)一些實施例的用于禁用多處理器系統(tǒng)中的通信的方法的流程圖;圖9 圖16與用于確保多處理器系統(tǒng)的安全的特定實施例對應(yīng)。雖然可對本發(fā)明提出各種修改和替代形式,但是,作為例子在附圖中表示并且在這里詳細描述其特定的實施例。但是,應(yīng)當理解,附圖及其詳細的描述不是要將本發(fā)明限于公開的特定的形式,相反,本發(fā)明要覆蓋落在由所附的權(quán)利要求限定的本發(fā)明的精神和范圍的所有修改、等同和替代方案。
具體實施例方式作為參考加入在這里就如同全部和完整在這里闡述的一樣加入以下的專利的全部內(nèi)容作為參考:在2003年6月24 日提交的、發(fā)明名稱為“Processing System with InterspersedStall Propagating Processors and Communication Element,,的美國專利 N0.7415594,其發(fā)明人是 Michael B.Doerr、WiIIiam H.Hallidy>David A.Gibson 以及 Craig M.Chase。術(shù)語以下的在本申請中使用的術(shù)語的詞匯表:存儲器介質(zhì)——各種類型的存儲器裝置或存儲裝置中的任一種。術(shù)語“存儲器介質(zhì)”要包括:安裝介質(zhì),例如,CD-ROM、快擦寫盤104或磁帶裝置;計算機系統(tǒng)存儲器或隨機存取存儲器,諸如DRAM、DDR RAM,SRAM,EDO RAM,Rambus RAM等;或者非易失性存儲器,諸如磁介質(zhì),例如,硬盤驅(qū)動器、光學存儲裝置或ROM、EPROM、FLASH等。存儲器介質(zhì)還可包括其它類型的存儲器或者它們的組合。另外,存儲器介質(zhì)可位于其中執(zhí)行程序的第一計算機中,并且/或者可位于在諸如因特網(wǎng)的網(wǎng)絡(luò)上與第一計算機連接的第二個不同的計算機上。在后一種情況下,第二計算機可向第一計算機提供用于執(zhí)行的程序指令。術(shù)語“存儲器介質(zhì)”可包括可駐留于不同的位置中,例如駐留于在網(wǎng)絡(luò)上連接的不同的計算機中的兩個或更多個存儲器介質(zhì)。載體介質(zhì)一上述的存儲器介質(zhì)以及物理傳輸介質(zhì),諸如總線、網(wǎng)絡(luò)和/或傳輸諸如電信號或光學信號的信號的其它物理傳送介質(zhì)。可編程硬件元件一包括通過可編程或硬接線互連而連接的多個可編程功能塊的各種硬件裝置。例子包括FPGA (場可編程門陣列)、PLD (可編程邏輯器件)、FPOA (場可編程對象陣列)和CPLD (復雜PLD)??删幊坦δ軌K的范圍從細粒的(組合邏輯或查找表)到粗粒的(算術(shù)邏輯單元或處理器芯)。可編程硬件元件也可被稱為“可重新配置邏輯”。專用集成電路(ASIC)——該術(shù)語要具有其普通意思的整個寬度。術(shù)語ASIC要包括對于特定應(yīng)用定制的集成電路,而不是通用的可編程器件,但ASIC可包括作為構(gòu)建塊的可編程處理器芯。移動電話單元、MP3播放器芯片和許多其它單一功能IC是ASIC的例子。通常以諸如Verilog或VHDL的硬件描述語言描述ASIC。程序一術(shù)語“程序”要具有其普通意思的整個寬度。術(shù)語“程序”包括:1)可存儲于存儲器中并且可通過處理器被執(zhí)行的軟件程序;或2)可用于配置可編程硬件元件或ASIC的硬件配置程序。軟件程序一術(shù)語“軟件程序”要具有其普通意思的整個寬度,并且包括可存儲于存儲器介質(zhì)中并且通過處理器被執(zhí)行的任何類型的程序指令、代碼、腳本和/或數(shù)據(jù)或它們的組合。示例性軟件程序包括:以諸如C、C++、PASCAL、FORTRAN、COBOL、JAVA、匯編語言等的基于文本的編程語言書寫的程序;圖形程序(以圖形編程語言書寫的程序);匯編語言程序;被編譯成機器語言的程序;腳本;和其它類型的可執(zhí)行軟件。軟件程序可包括以一些方式交互操作的兩個或更多個軟件程序。硬件配置程序一可用于編程或配置可編程硬件元件或ASIC的程序,例如,網(wǎng)表或位文件。計算機系統(tǒng)——各種類型的計算或處理系統(tǒng)中的任一種,包括個人計算機系統(tǒng)(PC)、大型機計算機系統(tǒng)、工作站、網(wǎng)絡(luò)家電、因特網(wǎng)家電、個人數(shù)字助理(PDA)、網(wǎng)絡(luò)計算系統(tǒng)或其它裝置或裝置的組合。一般地,術(shù)語“計算機系統(tǒng)”可被廣泛地定義為包括具有執(zhí)行來自存儲器介質(zhì)的指令的至少一個處理器的任何裝置(或裝置的組合)。自動——指的是在沒有直接規(guī)定或執(zhí)行動作或操作的用戶輸入的情況下由計算機系統(tǒng)(例如,由計算機系統(tǒng)執(zhí)行的軟件)或裝置(例如,電路、可編程硬件元件,ASIC等)執(zhí)行的動作或操作。因此,術(shù)語“自動”與由用戶手動執(zhí)行或規(guī)定的操作相反,在該手動中,由用戶提供輸入以直接執(zhí)行操作??赏ㄟ^由用戶提供的輸入啟動自動過程,但是,隨后的“自動”執(zhí)行的動作不被用戶規(guī)定,即,不是用戶規(guī)定執(zhí)行的各動作的“手動”執(zhí)行。例如,通過選擇各欄并提供規(guī)定信息的輸入(例如,通過鍵入信息、選擇復選框、無線電選擇等)填寫電子表格的用戶正在手動填寫表格,盡管計算機系統(tǒng)必須響應(yīng)用戶動作更新表格??捎捎嬎銠C系統(tǒng)自動填寫表格,這里,計算機系統(tǒng)(例如,在計算機系統(tǒng)上執(zhí)行的軟件)分析表格的欄并在沒有規(guī)定欄的答案的任何用戶輸入的情況下填充表格。如上所述,用戶可調(diào)用表格的自動填寫,但是不進行表格的實際填寫(例如,用戶不手動規(guī)定欄的答案,而是自動完成它們)。本說明書提供響應(yīng)用戶采取的動作自動執(zhí)行的操作的各種例子。系統(tǒng)安全性不存在提供信息安全性的單個特征或功能。安全性是系統(tǒng)的特性,是用戶、協(xié)議、軟件和硬件的組合的特性。信息安全性的總目標是在授權(quán)的用戶之間處理和傳輸信息并防止對于該信息的未授權(quán)的訪問。
可通過解決以下的安全性目標分解和滿足信息安全性目標:1.(僅對于預期使用而言系統(tǒng)和數(shù)據(jù)的)可用性??捎眯允谴_保系統(tǒng)迅速工作并且不對授權(quán)用戶拒絕服務(wù)的要求。該目標保護不受以下方面中的任一項的有意或偶然嘗試:執(zhí)行數(shù)據(jù)的未授權(quán)刪除或者另外導致拒絕服務(wù)或數(shù)據(jù);和出于未授權(quán)的目的嘗試使用系統(tǒng)或數(shù)據(jù)??捎眯越?jīng)常是組織的最重要的安全性目標。2.(系統(tǒng)和數(shù)據(jù)的)完整性。完整性具有兩個方面:數(shù)據(jù)完整性(數(shù)據(jù)在處于存儲中時、在處理過程中或者在傳輸中不以未授權(quán)的方式被修改的特性)或系統(tǒng)完整性(系統(tǒng)在以不受未授權(quán)的操控、無損害的方式執(zhí)行期望的功能時具有的質(zhì)量)。完整性一般是可用性之后的組織的最重要的安全性目標。3.(數(shù)據(jù)和系統(tǒng)信息的)機密性。機密性是私人或機密信息不公開給未授權(quán)個人的要求。機密性適用于存儲中、處理過程中以及傳送中的數(shù)據(jù)。對于許多的組織,機密性在重要性方面通常在可用性和完整性之后。而對于一些系統(tǒng)以及對于大多數(shù)系統(tǒng)(例如,認證器)中的特定類型的數(shù)據(jù),機密性是極其重要的。4.(到個人級別的)責任性。責任性是實體的動作可唯一地追溯到該實體的要求。責任性常常是組織政策要求,并且直接支持不可抵賴性、制止(deterrence)、錯誤隔離、侵入檢測和防止和事后恢復和法律動作。5.(充分地滿足其它四個目標的)保證性。保證性是當要保護系統(tǒng)及其處理的信息時技術(shù)和操作上的安全性措施如預期的起作用的信心的基礎(chǔ)。在以下情況下通過特定的實現(xiàn)已充分地滿足其它的四個安全性目標(完整性、可用性、機密性和責任性):存在并且正確地實現(xiàn)需要的功能、存在對于(用戶或軟件的)無意錯誤的對充分的保護,并且存在足夠的對于有意的滲透或繞過的抵抗。在沒有就不能滿足其它目標的情況下,保證性是必需的。但是,保證性是統(tǒng)一體;需要的保證性的量在系統(tǒng)之間改變。這里描述的實施例涉及支持系統(tǒng)開發(fā)方法并且可滿足以上討論的目標中的一些或全部的信息安全性開發(fā)框架。這里描述的實施例包括用于創(chuàng)建安全系統(tǒng)的開發(fā)過程。實施例還包括可在信息安全性目標保證水平質(zhì)量的設(shè)計和開發(fā)中引導架構(gòu)師和/或工程師的相關(guān)聯(lián)的軟件和硬件開發(fā)工具套件。可通過限定并滿足以上討論的目標中的每一個目標中的功能要求,實現(xiàn)該目標保證水平。實現(xiàn)的保證水平允許系統(tǒng)不僅提供期望的功能,而且確保不出現(xiàn)不希望的動作。術(shù)語“開發(fā)方法學”可指的是概括引起并引導信息安全性開發(fā)過程的定義的一組規(guī)則和假定的根本原因和一組哲學假定。術(shù)語“開發(fā)過程”可指的是基于方法學的開發(fā)的生命周期。在粗的級別上,它描述如何通過設(shè)計、實現(xiàn)、驗證、部署和維護驅(qū)動用戶要求和約束。如上所述,這里描述的開發(fā)工具套件是可執(zhí)行以引導用戶或開發(fā)人員通過開發(fā)過程從而實施方法學并且可在任何可能的情況使步驟和步驟的多個部分自動化的一組的一個或更多個軟件程序。圖1—示例性計算機系統(tǒng)圖1示出實現(xiàn)本發(fā)明的實施例的示例性計算機系統(tǒng)??梢栽谥T如標準桌面計算平臺(例如,PC或Mac)、服務(wù)器、移動通信裝置、智能電話等的各種計算機系統(tǒng)中的任一個中實現(xiàn)本發(fā)明的實施例。計算機系統(tǒng)優(yōu)選包括基于Hyper 技術(shù)的處理器。在以上作為參考加入的美國專利N0.7415594中描述了 HyperX處理器。圖2和圖3——示例性多處理器系統(tǒng)圖2示出可稱為“HyperX架構(gòu)”的多處理器系統(tǒng)的示例性實施例。多處理器系統(tǒng)或結(jié)構(gòu)是包括多個處理器、(統(tǒng)一式和/或分布式)存儲器和通信(或通信網(wǎng)絡(luò))資源的并行計算平臺。示例性多處理器系統(tǒng)包括多個處理器,其中,各處理器與至少一個其它的處理器耦合,并且,在相應(yīng)的處理器之間存在多個通信機制。多處理器系統(tǒng)可包括與處理器耦合的多個存儲器。例如,存儲器可散布于處理器之中。具體而言,多處理器系統(tǒng)可包括散布于處理器中的多個通信單元,其中,各通信單元包括存儲器和路由邏輯。如這里使用的那樣,術(shù)語“耦合”意味著直接或間接連接。多處理器系統(tǒng)可以或者可以不體現(xiàn)于單個集成電路、單個印刷電路板或單個系統(tǒng)上。例如,多處理器系統(tǒng)可體現(xiàn)為多個集成電路、多個印刷電路板、多個系統(tǒng)或它們的一些組合。這種多處理器系統(tǒng)的例子是在以上參照的美國專利N0.7415594中公開的多芯HyperX架構(gòu)。在一個實施例中,HyperX架構(gòu)的中心芯構(gòu)建塊是稱為HyperSlice的可改變尺寸的基于單位單元的硬件結(jié)構(gòu)??赏ㄟ^復制該芯的單位單元以創(chuàng)建多芯并行處理系統(tǒng),從而形成硬件架構(gòu)。各HyperSlice可包括一個或更多個DMR (數(shù)據(jù)存儲器和路由器,也稱為“通信元件”)和處理元件(PE)。DMR可向處理資源提供用于快速路由服務(wù)的數(shù)據(jù)存儲器、控制邏輯、寄存器和路由器。通過將HyperSlice結(jié)合在一起從而形成芯片上存儲器網(wǎng)絡(luò),來創(chuàng)建硬件架構(gòu)。該芯片上存儲器網(wǎng)絡(luò)對于處理資源獨立并且透明地操作。它可通過支持功能或系統(tǒng)實現(xiàn)的任意網(wǎng)絡(luò)拓撲的HyperSlice之間的實時可編程和可適應(yīng)通信結(jié)構(gòu)提供按需帶寬??稍谲浖刂葡隆霸谶\行中(on-the-fly)”形成和改造HyperSlice的協(xié)調(diào)組。這種動態(tài)修改用于評價功能的硬件的量的能力允許最佳地應(yīng)用硬件資源以減輕處理瓶頸。DMR可跨芯片以及在芯片之間提供最近鄰居、區(qū)域性和全球通信。DMR可通過四個不同的傳送模式執(zhí)行這一點:存儲器到存儲器、存儲器到寄存器、寄存器到存儲器和寄存器到寄存器。每個傳送模式可在物理上使用DMR資源以根據(jù)數(shù)據(jù)的位置和軟件算法要求以不同的方式發(fā)送數(shù)據(jù)/消息??梢栽O(shè)置“快速端口 ”設(shè)施以將數(shù)據(jù)字從處理器向任何地方迅速地傳送。對于塊傳送,DMR內(nèi)的直接存儲器訪問(DMR)引擎可用于管理跨存儲器和路由結(jié)構(gòu)的數(shù)據(jù)移動。對于最近鄰居通信,使用共享的存儲器和寄存器會是最有效的數(shù)據(jù)移動方法。對于區(qū)域性和全球數(shù)據(jù)移動,使用路由結(jié)構(gòu)可以是最有效的方法。通信信道可以是動態(tài)或者靜態(tài)的??蓪τ跀?shù)據(jù)傳送設(shè)置動態(tài)路由,并且在完成傳送時切斷它,以為其它數(shù)據(jù)傳送釋放路由資源。靜態(tài)路由在整個程序執(zhí)行過程中保持在適當?shù)奈恢蒙希⑶抑饕糜诟邇?yōu)先級和關(guān)鍵的通信??稍谲浖绦蚩刂葡逻M行數(shù)據(jù)傳送和通信信道的選擇??梢源嬖诙鄠€通信信道,以支持任何發(fā)送器和接收器之間的同時數(shù)據(jù)傳送。DMR的架構(gòu)可允許在多處理器結(jié)構(gòu)中使用不同的可互換PE,以對于特定的應(yīng)用優(yōu)化系統(tǒng)。HyperX多處理器系統(tǒng)可包括PE的異質(zhì)或同質(zhì)陣列。PE可以是常規(guī)的處理器,或者,作為替代方案,PE可以不符合處理器的常規(guī)的定義。PE對于某些邏輯功能可以只是用作硬接線處理器的邏輯門的集合,其中,可編程性被用于換取更高的性能、更小的面積和/或更低的功率。圖2示出示例性HyperX系統(tǒng)的處理元件(PE)和數(shù)據(jù)存儲器路由器(DMR)的網(wǎng)絡(luò)的示圖。PE被示為框,而DMR被示為圓。DMR之間的路由信道示為虛線。實心三角形表示離網(wǎng)通信,而實線表示DMR之間的活動數(shù)據(jù)通信。計算任務(wù)由其數(shù)值標識符表示,并且被置于執(zhí)行它的PE上。被用于通信的數(shù)據(jù)變量由其名稱表示,并被置于包括它的DMR上。圖3示出包括于芯片上的示例性多處理器系統(tǒng)。如圖所示,與以上關(guān)于圖2描述的實施例類似,芯片可包括芯片外面的多個I/o路由器以及內(nèi)部多處理器結(jié)構(gòu)。如圖所示,處理器架構(gòu)可包括固有的多維度,但是,如圖2 圖4A所示,在其當前的裸片實現(xiàn)中在物理上被平坦化。處理器架構(gòu)可具有高的能量效率特性,并且還可基本上是可縮放的并且是可靠的一代表安全和可靠的意思。使得處理器架構(gòu)能夠?qū)崿F(xiàn)無先例的性能的方面包括流線型處理器、存儲器網(wǎng)絡(luò)和靈活的10。處理元件(PE)或芯可以是完全就緒的DSP/GPP,并且基于由可動態(tài)擴展執(zhí)行管線的可變寬度指令字指令組結(jié)構(gòu)保持的存儲器到存儲器(無高速緩存)結(jié)構(gòu),以保持產(chǎn)出率,同時使硬件資源的使用最大化。例如,根據(jù)一個實施例,單個指令可在單個循環(huán)中開始多于40個的常規(guī)的RISC操作。圖4、圖5、圖6A和圖6B示出多處理器架構(gòu)的HW/SW操作堆棧的另一示圖。存儲器網(wǎng)絡(luò)(DMR)可按需提供自治和瞬時的帶寬,該帶寬又可向執(zhí)行模型提供兩個特征。首先,存儲器網(wǎng)絡(luò)可使得能夠?qū)崿F(xiàn)混合存儲器編程模型。在歷史上,由于硬件和編程模型限制,編程模型限于完全分布或完全共享執(zhí)行存儲器模型。這導致硬件適應(yīng)性和可重新配置性的低效率。混合存儲器模型可實時地對于軟件運行的改變的動態(tài)和需要做出反應(yīng)。第二,通信網(wǎng)絡(luò)可在邏輯上具有拓撲獨立性,例如,實時的適應(yīng)和可重新配置。該獨立性可允許創(chuàng)建適當?shù)挠布負?,以支持算?系統(tǒng)的自然并行性,由此不將算法/系統(tǒng)約束到特定的拓撲。這些特征可使得能夠?qū)崿F(xiàn)任何系統(tǒng)的自然效率。并且,多處理器系統(tǒng)可以是固有地可縮放的、可自我同步的,并且,如果系統(tǒng)需要的話,可有效地支持自治的存儲器一致性。在一個實施例中,該系統(tǒng)可分布于在硬件和軟件中支持數(shù)以百計到數(shù)以千計的處理器的許多裸片/芯片上。在一個特定的實施例中,這里描述的軟件限定的安全系統(tǒng)(SDS2)的能力可被描述如下:存在例如密鑰管理和產(chǎn)生、加密/解密、認證、可編程引導、物理和邏輯隔離等的能力(例如,圖5所示)的工具箱。另外,存在具有支持固定功能、可配置性、可重新配置性和可編程性的特性的硬件。通過開發(fā)過程,開發(fā)人員能夠通過使用結(jié)合硬件的能力的工具箱創(chuàng)建安全系統(tǒng)的行為或者將其編程。系統(tǒng)一旦被編程,就可被配置為重新使用工具箱和硬件,該系統(tǒng)從工具箱和硬件被創(chuàng)建以便以安全的方式表現(xiàn)行為。在常規(guī)上,安全系統(tǒng)是從與執(zhí)行期望的安全行為的資源分開的資源產(chǎn)生的,并且這兩個導致以零散的方式開發(fā)安全系統(tǒng),從而導致方案的低效率?;谙到y(tǒng)視角的全盤方案,該新的能力可使得(I)能夠?qū)τ谛枰煌愋偷陌踩缘母鞣N系統(tǒng)創(chuàng)建定制的安全方案、(2)靜態(tài)和動態(tài)地兩者地優(yōu)化安全系統(tǒng)的行為和性能以及
(3)從硬件和軟件交互作用本原的限定的行為從底層設(shè)計系統(tǒng)。這導致開發(fā)可證明的安全系統(tǒng)的潛在能力。圖6A示出示例性軟件架構(gòu),而圖6B示出可受上述的工具箱影響的架構(gòu)的部分。圖7——配置多處理器系統(tǒng)圖7示出用于禁用多處理器系統(tǒng)中的通信的方法。可與以上的圖表示的計算機系統(tǒng)或裝置的任何一種以及其它的裝置結(jié)合使用圖6所示的方法。在各種實施例中,可以同時執(zhí)行、以與表示的次序不同的次序執(zhí)行或者可省略所表示的方法要素中的一些。也可根據(jù)需要執(zhí)行附加的方法要素。如圖所示,該方法可如下操作。在702中,可以例如自動接收用于多處理器系統(tǒng)或結(jié)構(gòu)的配置。如上所述,多處理器結(jié)構(gòu)可包括多個處理器和多個通信元件。各通信元件可被動態(tài)配置并且/或者可包括多個通信端口、存儲器和/或路由引擎以及其它的可能的元件。各處理器可包括至少一個算術(shù)邏輯單元、指令處理單元和/或多個處理器端口以及其它可能的元件。通信元件和處理器可以以散布的方式被耦合在一起。例如,對于處理器中的每一個處理器,多個處理器端口可被配置為用于與多個通信元件的第一子集耦合,并且,對于通信元件中的每一個通信元件,通信端口的第一子集可被配置為用于與多個處理器的子集耦合,并且,通信端口的第二子集可被配置為用于與多個通信元件的第二子集耦合。該配置可規(guī)定禁用處理器和/或通信元件中的一個或更多個之間的通信路徑。例如,該配置可規(guī)定禁用一個或更多個處理器和一個或更多個通信元件、一個或更多個處理器和一個或更多個其它的處理器和/或一個或更多個通信元件和一個或更多個其它的通信元件之間的通信路徑。作為幾個例子,該配置可規(guī)定禁用多處理器結(jié)構(gòu)的第一部分與多處理器結(jié)構(gòu)的第二部分之間的通信,以例如在操作過程中隔離第一部分與第二部分。作為另一例子,該配置可規(guī)定禁用多處理器結(jié)構(gòu)的第二部分對于多處理器結(jié)構(gòu)的第一部分的存儲器訪問,例如,使得第二部分不能在操作過程中訪問包括于第一部分中的存儲器。因此,例如,為了確保多處理器結(jié)構(gòu)的各個部分的安全,該配置可禁用多處理器結(jié)構(gòu)中的各種通信路徑。例如,該配置可允許確保多處理器結(jié)構(gòu)的一部分的安全,并對于多處理器結(jié)構(gòu)的剩余部分提供安全性功能。作另一例子,多處理器結(jié)構(gòu)的隔離或限制部分可被用于執(zhí)行需要針對多處理器結(jié)構(gòu)的其它部分(例如,在多處理器結(jié)構(gòu)的其它部分上執(zhí)行的可能具有惡意的其它軟件)的篡改確保安全的重要的功能。在一個實施例中,該配置可規(guī)定多處理器結(jié)構(gòu)的第一部分可能能夠向多處理器結(jié)構(gòu)的剩余部分提供數(shù)據(jù),但不接收數(shù)據(jù)。作為替代方案,該部分的進入數(shù)據(jù)可限于可根據(jù)安全方法(例如,在多處理器結(jié)構(gòu)的隔離部分上執(zhí)行)處理或分析的端口的某個子集。為了增加結(jié)構(gòu)和/或在結(jié)構(gòu)上執(zhí)行的軟件的安全性,該配置可根據(jù)需要在多處理器結(jié)構(gòu)中規(guī)定各種障礙中的任一種。還應(yīng)注意,該配置可規(guī)定諸如以下描述的安全性措施的其它的安全性措施。因此,該配置可規(guī)定在圖7和圖8中描述的通信路徑的禁用,但也可規(guī)定其它的安全性措施。可根據(jù)各種方式接收配置。例如,可在多處理器結(jié)構(gòu)或包括多處理器結(jié)構(gòu)的系統(tǒng)的引導過程中接收該配置。具體而言,在一個實施例中,該配置可被存儲于諸如只讀存儲器或非易失性存儲器的安全存儲器中。作為替代方案,或者,另外,可通過使用安全性措施(例如,比較圖像的散列與預期的散列以及其它各種可能)驗證和/或認證該配置(或包括該配置的圖像/存儲器)。作為替代方案,或者,另外,配置(或包括該配置的圖像/存儲器)可以以加密的形式被存儲,并且當被接收時可被解密。在另一實施例中,可從主機系統(tǒng)接收配置(例如,諸如圖1所示的計算機系統(tǒng),例如,當測試多處理器系統(tǒng)的軟件和/或操作以執(zhí)行任務(wù)時)。在一些實施例中,配置可包括用于在多處理器系統(tǒng)上執(zhí)行的軟件或者結(jié)合其一起使用。例如,配置可作為可如上面討論的那樣驗證、認證和/或解密的封裝的一部分被接收。因此,配置可規(guī)定多處理器結(jié)構(gòu)的第一部分的隔離或安全化,且驗證的軟件可被部署到該第一部分。因此,在一個實施例中,可通過該配置確保該第一部分的硬件/軟件組合的安全。作為響應(yīng),在704中,多處理器結(jié)構(gòu)可根據(jù)該配置在硬件中被自動配置,以例如禁用由該配置規(guī)定的通信路徑。因此,多處理器結(jié)構(gòu)可被配置為根據(jù)該配置執(zhí)行軟件應(yīng)用(或軟件應(yīng)用的一部分)。在一個實施例中,配置可包括設(shè)定與一個或更多個處理器和/或一個或更多個通信元件對應(yīng)的寄存器值,以禁用由該配置規(guī)定的通信路徑。在一個實施例中,在配置之后,禁用的通信路徑可能不能通過軟件被恢復。在706中,多處理器結(jié)構(gòu)可通過使用該配置操作,例如,從而執(zhí)行一個或更多個軟件應(yīng)用。例如,如果多處理器結(jié)構(gòu)的第一部分通過以上的配置相對于多處理器結(jié)構(gòu)的另一部分被確保安全或者被隔離,那么它可在整個操作中保持被確保安全或者被隔離。在一個實施例中,以上描述的方法可被執(zhí)行以確保系統(tǒng)的安全,并可“鎖定下來”或者確保安全,直到系統(tǒng)被復位(例如,重新引導或者掉電)。因此,在一個實施例中,可通過使用以上接收的配置靜態(tài)地確保系統(tǒng)的安全。注意,以下例如關(guān)于“障礙”和/或其它安全性操作的創(chuàng)建而提供關(guān)于該方法的其它的細節(jié)。圖8—動態(tài)禁用多處理器系統(tǒng)中的通信圖8示出用于動態(tài)禁用多處理器系統(tǒng)中的通信的方法??山Y(jié)合在以上的圖中表示的計算機系統(tǒng)或裝置的任何一種或其它裝置使用圖6所示的方法。具體而言,以上關(guān)于圖7的方法描述的各種細節(jié)也適用于該方法。但是,如下面討論的那樣,作為以上討論的靜態(tài)配置的替代,可以以動態(tài)的方式執(zhí)行多處理器系統(tǒng)的配置。在各種實施例中,可以同時執(zhí)行、以與所表示的次序不同的次序執(zhí)行或者可省略所表示的方法要素中的一些。也可根據(jù)需要執(zhí)行附加的方法要素。如圖所示,該方法可如下操作。在802中,可以例如自動接收用于多處理器系統(tǒng)或結(jié)構(gòu)的第一配置。與以上情況類似,第一配置可規(guī)定禁用處理器和/或通信元件中的一個或更多個之間的通信路徑,以例如向多處理器系統(tǒng)和/或在多處理器系統(tǒng)上執(zhí)行的軟件提供安全性。但是,第一配置也可規(guī)定諸如以下討論的安全性措施的其它安全性措施以及其它的可能性。如上所述,第一配置可包括用于在多處理器系統(tǒng)上執(zhí)行的軟件或者結(jié)合其一起使用。例如,第一配置可作為可如上面討論的那樣驗證的封裝的一部分被接收。因此,該配置可規(guī)定多處理器結(jié)構(gòu)的第一部分的隔離或安全化,且驗證的軟件可被部署到至少該第一部分。因此,在一個實施例中,可通過該配置確保該第一部分的硬件/軟件組合的安全??筛鶕?jù)各種方式接收第一配置。例如,可在多處理器結(jié)構(gòu)或包括多處理器結(jié)構(gòu)的系統(tǒng)的引導過程中接收第一配置。在一個實施例中,第一配置可被存儲于諸如在引導時被自動加載的只讀存儲器或非易失性存儲器的安全存儲器中。作為替代方案,或者,另外,可通過使用安全性措施(例如,比較圖像的散列與預期的散列以及其它各種可能)驗證和/或認證該配置(或包括該配置的圖像/存儲器)。作為替代方案,或者,另外,該配置(或包括該配置的圖像/存儲器)可以以加密的形式被存儲,并且當被接收時可被解密。因此,不是只被讀取,而是可通過使用各種安全性措施驗證、認證和/或解密該配置和/或軟件。與以上的704類似,在804中,多處理器結(jié)構(gòu)可根據(jù)該配置在硬件中被自動配置,以例如禁用由該配置規(guī)定的通信路徑。因此,多處理器結(jié)構(gòu)可被配置為根據(jù)該配置執(zhí)行軟件應(yīng)用(或軟件應(yīng)用的一部分)。在806中,與以上的706類似,多處理器結(jié)構(gòu)可通過使用該配置操作,例如,從而執(zhí)行一個或更多個軟件應(yīng)用。例如,如果多處理器結(jié)構(gòu)的第一部分通過以上的配置相對于多處理器結(jié)構(gòu)的另一部分被確保安全或者被隔離,那么它可在整個操作中保持被確保安全或者被隔離。在一些實施例中,在808中,例如,在多處理器結(jié)構(gòu)的操作過程中可多次地以動態(tài)的方式執(zhí)行圖7的方法(702 706)。例如,可以使用第一配置以用執(zhí)行認證的代碼的多處理器系統(tǒng)的安全部分配置系統(tǒng)。在一個實施例中,認證的代碼可包括可在整個操作中使用的多個配置或這些配置的修改。例如,可從認證的代碼接收第二配置,并且可對于第二配置執(zhí)行以上討論的自動配置。在本例子中,初始配置可確保系統(tǒng)被適當?shù)卮_保安全并且代碼被適當?shù)仳炞C。因此,源自包括其它的配置的代碼的其它的重新配置和操作可繼續(xù)在多處理器系統(tǒng)的整個操作中是安全的。換句話說,一旦被配置,在多處理器系統(tǒng)上執(zhí)行的代碼就能夠在執(zhí)行過程中動態(tài)重新配置多處理器系統(tǒng)。假定初始軟件被驗證并且是安全的,那么多處理器系統(tǒng)的操作可因此仍保持安全。用于確保多處理器系統(tǒng)的安全的示例性細節(jié)以下提供用于確保諸如以上描述的那些的多處理器系統(tǒng)的安全的示例性細節(jié)。這些細節(jié)僅作為例子被提供,并且不是要限制這里描述的實施例的范圍。以下的描述與圖9 圖15對應(yīng)。分層或分階段的開發(fā)和驗證過程可利用一套軟件和軟件可限定硬件,以創(chuàng)建可證明的安全(通過包括正常方法)信息安全性方案,例如,解決:第三方IP保護、安全引導、數(shù)字權(quán)利管理(DRM)和安全處理(紅/黑)。這里描述的實施例提供用于通過分層或分階段的開發(fā)和驗證過程創(chuàng)建可證明的安全信息安全性方案的單個框架。該過程的一部分可被用于確保軟件IP的安全并用于例如在單個裸片上執(zhí)行黑/紅處理。與以上的討論類似,本發(fā)明的實施例可在結(jié)構(gòu)中提供隔離/安全性區(qū)域的硬件實現(xiàn)的物理分離。例如,圖9示出示例性處理資源和DMR以及例如以上關(guān)于圖7和圖8描述的可被禁用的端口??稍谟布薪⒆柚箶?shù)據(jù)和控制的流動并且可提供處理器微架構(gòu)的區(qū)域/分區(qū)及其之間的隔離的隔離/安全性障礙。障礙可被用于創(chuàng)建包封與特定的過程或用戶相關(guān)聯(lián)的處理、存儲器和通信資源的安全性分區(qū)。障礙可具有一個或更多個受控訪問點。障礙可跨越多個芯片,但一般被約束于單個芯片內(nèi),以避免芯片間探測(特殊的模塊封裝可提供針對這種探測的保護)。另外,可在每個處理芯上得到用于安全性的高性能處理。這包括但不限于(I)RSA密鑰產(chǎn)生(不對稱)、(2)隨機數(shù)產(chǎn)生、(3)散列產(chǎn)生、(4)加密和解密和(5) RSA密鑰(和其它數(shù)據(jù))存儲。SDS2系統(tǒng)可引導設(shè)計人員/開發(fā)人員通過保護有價值或敏感信息(數(shù)據(jù)或軟件)在其存儲中以及從其在一個位置傳送到另一位置時不被竊取或者篡改的過程。同時,需要使得授權(quán)的用戶可迅速地并且以最少的代價量得到有價值的信息??赏ㄟ^集成有協(xié)議、應(yīng)用軟件和(硬件輔助的和軟件限定的)硬件功能的信息安全性系統(tǒng)和操作員訓練滿足這些有時沖突的要求。SDS2系統(tǒng)可通過引導開發(fā)過程在軟件的控制下向軟件可編程硬件特征提供該跨層軟件堆棧(協(xié)議、位置軟件等)開發(fā)方法,以使得能夠?qū)崿F(xiàn)安全性方案。以下的部分更詳細地描述系統(tǒng)的示例性實施例。用于信息安全性的相關(guān)聯(lián)的工具箱:為了提供信息安全處理,可能需要幾個概念。以下的段落描述用于信息安全性概念的工具箱中的一些??删幊痰奈锢砗瓦壿嫺綦x安全性障礙可通過從障礙內(nèi)控制訪問的物理或邏輯隔離/障礙來提供確保芯片的多個部分的安全并對其進行驗證的能力。這允許已被解密的代碼和數(shù)據(jù)以防止由不安全的代理的外部訪問的方式駐留于芯片上并在其上面運行。它可支持在芯片復位、上電或安全性違反時將存儲器清零,或者在這些事件中圍繞受保護的數(shù)據(jù)重新構(gòu)建相同的安全墻,由此確保受保護的代碼/數(shù)據(jù)決不留在不安全區(qū)域以被對于裝置具有非認證的編程訪問的任何人訪問。密鑰產(chǎn)生和管理密鑰產(chǎn)生和管理可包括在芯片上在系統(tǒng)水平上不能被非認證的用戶讀取或修改的易失性或非易失性存儲器中存儲解密密鑰。它可為系統(tǒng)集成器提供在生產(chǎn)時間創(chuàng)建或加載這些密鑰并且確保它們的安全的能力??梢蕴峁┓椒ǎ詫⑦@些密鑰永久地鎖定于安全存儲裝置中,而沒有任何重新編程,或者以允許它們被暫時鎖定并在以后被安全、認證的用戶修改。在這里的描述中,為了在進一步的解釋需要細節(jié)時提供參照,參照基于能夠基于硬件的物理特性或者基于硬件環(huán)振蕩器的隨機數(shù)產(chǎn)生器(RNG)產(chǎn)生適當?shù)目芍貜臀ㄒ混氐奈锢砩喜豢煽寺」δ?PUF)的一次可編程(OTP)類型存儲器或隨機數(shù)產(chǎn)生??稍谟布谢蛘咄ㄟ^軟件這二者支持隨機數(shù)產(chǎn)生。加密和解密代碼和數(shù)據(jù)兩者均可在加密的流中被加載到芯片中,并且使其在芯片上被解密以供使用。一旦被解密,即使在芯片復位之后,也可保護其不受外部訪問或修改??赏ㄟ^硬件引擎完成這一點,但是,為了保持完全的軟件定義,可使用通過可編程引導機制加載的軟件引擎。這使該實現(xiàn)保持與硬件輔助的軟件模型方法學一致。認證通過提供一些類型的公共密鑰類型信息(例如,軟件密鑰、硬件密鑰、計量生物信息等),可以使用受保護的代碼來認證用戶并允許訪問使用現(xiàn)有的編程或者在更高的安全性級別以修改它。這可以是可通過可編程引導訪問的軟件或硬件實現(xiàn)。例如,該特征可被用于實現(xiàn)數(shù)字權(quán)利管理功能??删幊桃龑?支持安全和非安全)安全引導提供可定制軟件可限定引導序列,從而以芯片(和系統(tǒng))完全受保護和被確保安全的方式引導芯片(和系統(tǒng))。一旦啟用安全引導,則對于芯片的引腳的物理訪問可能是不可能的。訪問或改變芯片上或(加載到芯片上的)系統(tǒng)中的安全的代碼或數(shù)據(jù)中的任一個可能需要認證。系統(tǒng)復位或者功率循環(huán)可導致芯片運行該模式并在允許任何用戶級訪問之前確保所有需要的代碼和數(shù)據(jù)的安全。模式可被編程為其中弓I導代碼可被永久鎖定或者被允許由認證的用戶改變。圖1lA和圖1lB提供安全引導系統(tǒng)的示例性總體框圖。從這些圖可見提供的基本安全性塊并且可以看到它們?nèi)绾芜B接到其它的芯片硬件。該設(shè)計可使用DMR中的可用的存儲器作為存儲器緩沖器,以供處理安全引導代碼中使用。通過該功能,PE還能夠在任務(wù)模式中使用DMR用于緩沖可通過所提供的硬件塊加密、解密、簽署或認證的數(shù)據(jù)。另外,可在于存儲器中設(shè)置串行總線命令序列時使用存儲器緩沖器,以通過DMR中的DMR信道向串行總線控制器發(fā)送。該過程可提高需要這些功能的算法的總效率,并且DMR使用可對于其它的關(guān)鍵的處理任務(wù)釋放PE。圖1lB示出示例性數(shù)據(jù)流動,其中還示出一些小的控制流動。更詳細地,圖1lA和圖1lB示出HyperX高級安全性框圖。注意,在圖中,存在對于描繪的OTP的幾個不同的使用。從架構(gòu)的觀點來看,根據(jù)特定的實現(xiàn)的需要,這些存儲器可以在尺寸和數(shù)量上具有不同的配置。主存儲器(程序存儲區(qū))在表示的組中是最大的。除此之外,存在較小的存儲器,一個用于用戶/安全性暫存器,而另一個用于可多次編程(MTP)仿真。它可被用于將主存儲器配置成多個可重新映射的頁,使得可以校正錯誤并且/或者可修改或替代密鑰。這可通過可編程位配置,使得某些頁可被永久鎖定,并且其它的頁可被程序控制的認證的用戶訪問。如果希望的話,這允許需要的安全性以及場可升級代碼/密鑰。注意,這些存儲器的功能和使用可基于所使用的不同的非易失性存儲器稍微改變。例如,這里使用許多工作和邏輯以用OTP仿真可多次編程性。在可多次編程非易失性技術(shù)(諸如FLASH)的情況下,該工作和邏輯可被重新引向固有可重寫存儲器的鎖定。使用IO禁用信號以在安全引導過程中保持芯片IO禁用,使得在構(gòu)建安全性墻之前不允許外部訪問,由此使得不需要引腳級別的安全性保護。一種選項是即使在引導過程的剩余部分中也保持其被斷言(10禁用)(除了一旦安全部分完成就需要在外部繼續(xù)引導的SPI引腳以外)。在OTP寄存器中支持的另一特征是一旦芯片被完全制造測試,就關(guān)斷全芯片掃描端口的能力。這在系統(tǒng)級上提供附加的安全性級別。例如,對于適當?shù)墓δ?,芯片可使用幾個模式??捎蓤D1lA和圖1lB所示的可寫入、非易失性存儲裝置(熔絲)[可配置]來控制這些模式。可以提供附加的非易失性存儲裝置以作為后備密鑰(BUK)使用。PUF可以是RNGl電路的組成部分。還可在任務(wù)模式中對于隨機數(shù)訪問它。對于任務(wù)模式還提供附加的隨機數(shù)產(chǎn)生器(RNG2)。它可與RNGl具有不同的硬件設(shè)計,以提供替代性的方法,例如,硬件環(huán)振蕩器。還可存在具有電池支持的選項(通過封裝選項提供)的小的RAM,如果該RAM易失的話。該存儲器可被用作系統(tǒng)配置/提供信息的電池支持的存儲、任選的密鑰存儲、AC位的存儲,或者甚至可包含用于小的引導操作的足夠的引導代碼(足以編程PE或這兩者)。在一個實施例中,如果檢測到篡改,那么該RAM可被歸零。安全弓I導控制部分可提供狀態(tài)機控制,以初始化安全弓I導硬件并執(zhí)行安全引導序列。它還可提供控制,以配置IP塊的操作模式并基于可配置的硬件設(shè)置啟用/禁用這些塊。篡改檢測篡改檢測輸入(與另一個多路復用或者單獨的)可發(fā)出檢測到篡改的信號。這可以在芯片內(nèi)使用,以發(fā)出如下信號,即變化是功能上希望的。基于用戶編程,它可導致存儲器的“歸零”(或存儲器被置于不定狀態(tài)),并任選地將引導模式轉(zhuǎn)換回其中不再從OTP讀取安全代碼的狀態(tài),由此使得裝置對于板上的安全代碼沒有功能。在該點上,看到安全代碼的僅有的方式可以是物理讀取可純粹通過選擇供使用的非易失性存儲器的安全本質(zhì)控制的位位置。通過程序控制基于該信號啟用或禁用其它的特征。除了該引腳以外,封裝的蓋子如果被去除的話也可提供篡改檢測信令。軟件開發(fā)過程圖10示出支持SDS2方法學和過程的示例性HyperX開發(fā)系統(tǒng)??稍趫D10所示的下層能力上構(gòu)建軟件開發(fā)過程,這里,系統(tǒng)約束擴展以識別各階段的安全性要求、所選擇的實現(xiàn)方法(SW和HW特征)、用于證明保證的常見方法、通過完全可編程和可定制安全性開發(fā)環(huán)境方案由完全仿真和測試支持的系統(tǒng)功能和性能的驗證。啟用硬件特征HyperX系統(tǒng)可包括基于軟件的方案。因而,可以以與該模型一致的方式實現(xiàn)安全性實現(xiàn)(障礙、密鑰管理、認證、解密等)并且保持其作為在HyperX平臺上運行的軟件。這可防止最多提供可能方案的較小子集的定制硬件的設(shè)計和實現(xiàn)。HyperX硬件/處理器可包括允許設(shè)計和實現(xiàn)這些軟件方案的硬件“鉤環(huán)(hook)”。因而,在一個實施例中,該設(shè)計可被視為“基于硬件輔助軟件的、可驗證的、安全性”。它可提供純硬件方案所需要的基本要素和伴隨它一起到來的、具有軟件方案的可重新配置性而沒有其固有的安全性漏洞的安全性。例子可選擇ΡΕ_0_0 (或特定的處理元件)作為安全性實現(xiàn)的開始點。在不改變設(shè)計的意圖的情況下,可基于其它的設(shè)計考慮選擇附加或不同的PE。一次可編程(OTP)類型存儲器與可通過ΡΕ_0_0和DAP (通過引導控制器)訪問的相關(guān)聯(lián)的空路由器(Null Router)寄存器總線連接以用于編程。注意,這是通向OTP存儲器的兩個可能的讀取/寫入路徑。這不意味著將該設(shè)計僅限于兩個路徑,而是對于當前的設(shè)計點僅選擇為兩個。在所有情況下,對于每個路徑,可在編程結(jié)構(gòu)內(nèi)單獨地確保它的訪問的安全。一旦被編程,OTP就可被鎖定,使得它不再可被ΡΕ_0_0或DAP寫入或讀取。該行為可通過系統(tǒng)設(shè)計人員將編程。這將其保護為安全區(qū)域,并允許在這里存儲解密密鑰(密鑰加密密鑰或KEK和加密的主機密鑰)以及安全的非加密的代碼兩者。可在每個頁的基礎(chǔ)上完成OTP的該編程和保護。頁在其安全性信息被配置之前可通過PE或引導控制器寫入和讀取。這允許它被驗證為正確。寫入可選擇的安全性位允許對于所有用戶或者僅對于非認證的用戶完全鎖定或者部分鎖定讀取/寫入訪問的控制。這與在什么頁開始引導的可編程值一起允許通過使用OTP的新頁用新代碼替代引導代碼。在該OTP的編程之前,芯片在正常操作中表現(xiàn)行為,并且從SPI (如果這些管腳被這樣配置的話)弓丨導并允許通過正常的端口實現(xiàn)并行引導模式訪問。一旦OTP被編程,那么在復位時,芯片就可使得所有的并行端口和DAP被禁用,并且安全引導控制器邏輯可從板上OTP存儲器引導芯片。該引導可完全確保區(qū)域的安全,并加載可用于通過芯片上的端口認證用戶的解密引擎。注意,在安全引導部分中不允許外部訪問。因此,引腳訪問不需要保護。一旦該部分被確保安全,就將引導轉(zhuǎn)交給標準的引導控制器邏輯,并且端口全部被啟用?,F(xiàn)在,可正常地加載非安全代碼。由于它是完全可編程的,因此,安全引導部分也可加載小的安全的解密引擎,該解密引擎然后通過ΡΕ_0_0處理引導過程的剩余部分?,F(xiàn)在,完全加密的代碼和數(shù)據(jù)可從芯片外加載并且當其被加載到芯片上時通過該引擎解密。與小的OTP相比,這允許芯片的更大的部分在安全的模式中運行??梢灾С侄鄠€安全引導圖像。這允許生產(chǎn)芯片在制造時具有加載到自身中的一些預先配置的安全性代碼,以在傳輸時增強芯片的基本安全性特征。該特征的一種可能的使用是在復位時提供存儲器“歸零”(或者置于不定狀態(tài))的功能,使得所有存儲器內(nèi)容在用戶級別(引腳)訪問被啟用之前被清零。還存在其它的可能的使用。通過芯片上的 當前的SPI端口,安全引導模式的仿真是可用的。它可被用于對于安全性算法的提出和調(diào)試模擬0ΤΡ,而不需要將OTP編程。這可允許開發(fā)環(huán)境完全通過現(xiàn)有端口測試安全系統(tǒng),然后,一旦完全開發(fā)和調(diào)試,就將OTP編程一相對于OTP模式支持不修改以在仿真模式中運行。用于將OTP編程的替代性方法是通過外部DAP。在該模式以及前面描述的ΡΕ_0_0編程訪問的方法兩者中,存儲器中的一個或更多個頁可保持不受保護并允許對于加密的密鑰數(shù)據(jù)的存儲的ΡΕ_0_0訪問。對于ΡΕ_0_0和DAP這二者,能夠單獨地選擇讀取和寫入訪問保護?;跐撛诘氖褂们闆r,按兩個分組處理和組織以下的特征。第一組主要基于對于支持靜態(tài)安全性結(jié)果的關(guān)注。換句話說,區(qū)域一旦被確保安全就可保持有效,直到出現(xiàn)芯片復位或電力循環(huán)。雖然它對于實現(xiàn)安全處理是必要的功能并且對于潛在的應(yīng)用的子集是足夠的,但是,它不是對于所有的安全性需要的完整的方案。第二區(qū)域基于支持動態(tài)安全性障礙和/或靜態(tài)和動態(tài)安全性障礙的組合并且有利于高層安全性概念。靜態(tài)安全性障礙以下的特征、工具提供用于支持靜態(tài)安全性操作需要的基線。為了澄清,提供被視為必要的說明。存儲器總線設(shè)計、啟動定序(復位…)、MTP仿真、寄存器規(guī)范(位定義)和配置位的示例性使用和數(shù)量。下表示出示例寄存器規(guī)范:表1:示例寄存器規(guī)范
權(quán)利要求
1.一種用于禁用多處理器結(jié)構(gòu)中的通信的方法,該方法包括: 接收用于所述多處理器結(jié)構(gòu)的配置,其中,所述多處理器結(jié)構(gòu)包括多個處理器和多個通信元件,其中,所述多個通信元件中的每一個通信元件包括存儲器,其中所述配置規(guī)定禁用以下中的一個或更多個之間的通信路徑: 一個或更多個處理器和一個或更多個通信元件; 一個或更多個處理器和一個或更多個其它的處理器;或 一個或更多個通信元件和一個或更多個其它的通信元件; 自動地在硬件中配置所述多處理器結(jié)構(gòu),以禁用由所述配置規(guī)定的通信路徑; 操作所述多處理器結(jié)構(gòu),以執(zhí)行軟件應(yīng)用,其中,所述多處理器結(jié)構(gòu)根據(jù)所述配置操作。
2.根據(jù)權(quán)利要求1的方法,其中,所述自動配置所述多處理器結(jié)構(gòu)包括設(shè)定與所述一個或更多個處理器和/或所述一個或更多個通信元件對應(yīng)的寄存器值,以禁用由所述配置規(guī)定的通信路徑。
3.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,在所述自動配置之后,禁用的通信路徑不能通過軟件被恢復。
4.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,所述配置規(guī)定所述多處理器結(jié)構(gòu)的第一部分與所述多處理器 結(jié)構(gòu)的第二部分之間的通信的禁用,其中,在操作過程中,所述第一部分與所述第二部分隔離。
5.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,所述配置規(guī)定所述多處理器結(jié)構(gòu)的第二部分對所述多處理器結(jié)構(gòu)的第一部分的存儲器訪問的禁用,其中,在操作過程中,所述第二部分不能訪問包括于所述第一部分中的存儲器。
6.根據(jù)權(quán)利要求1和權(quán)利要求3 5中的任一項的方法,還包括: 將認證的代碼加載到所述多處理器結(jié)構(gòu)中,其中,所述配置從所述認證的代碼被接收; 從所述認證的代碼接收第二配置;和 基于所述第二配置執(zhí)行所述自動配置。
7.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,在所述多處理器結(jié)構(gòu)的引導過程中自動執(zhí)行所述接收。
8.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,所述多個通信元件包括動態(tài)可配置通信元件,每個動態(tài)可配置通信元件包括多個通信端口、第一存儲器和路由引擎。
9.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,對于所述處理器中的每一個處理器,多個處理器端口被配置為用于與所述多個通信元件的第一子集耦合; 其中,對于所述通信元件中的每一個通信元件,通信端口的第一子集被配置為用于與所述多個處理器的子集耦合,并且,通信端口的第二子集被配置為用于與所述多個通信元件的第二子集耦合。
10.根據(jù)前面的權(quán)利要求中的任一項的方法,其中,所述多個處理器和所述多個通信元件以散布的布置被耦合在一起。
11.一種被配置為實現(xiàn)權(quán)利要求1 10中的任一項的計算機程序。
12.—種系統(tǒng),包括:多處理器系統(tǒng),其中,所述多處理器系統(tǒng)包括多個處理器和多個通信元件,其中所述多個通信元件中的每一個通信元件包括存儲器,其中,所述多處理器結(jié)構(gòu)被配置為執(zhí)行權(quán)利要求I 7中的任一項。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中,各處理器包括至少一個算術(shù)邏輯單元、指令處理單元和多個處理器端口。
14.根據(jù)權(quán)利要求12和13的系統(tǒng),其中,每個通信元件包括動態(tài)可配置通信元件,每個動態(tài)可配置通信元件包括多個通信端口、第一存儲器和路由引擎。
15.根據(jù)權(quán)利要求12 14中的任一項的系統(tǒng),其中,對于所述處理器中的每一個處理器,多個處理器端口被配置為用于與所述多個通信元件的第一子集耦合; 其中,對于所述通信元件中的每一個通信元件,通信端口的第一子集被配置為用于與所述多個處理器的子集耦合,并且,通信端口的第二子集被配置為用于與所述多個通信元件的第二子集耦合。
全文摘要
禁用多處理器結(jié)構(gòu)中的通信。多處理器結(jié)構(gòu)包括多個處理器和多個通信元件,并且,多個通信元件中的每一個通信元件包括存儲器??蓪τ诙嗵幚砥鹘Y(jié)構(gòu)接收配置,該配置規(guī)定禁用以下中的一個或更多個之間的通信路徑一個或更多個處理器和一個或更多個通信元件;一個或更多個處理器和一個或更多個其它的處理器;或一個或更多個通信元件和一個或更多個其它的通信元件。因此,可自動地在硬件中配置多處理器結(jié)構(gòu),以禁用由配置規(guī)定的通信路徑??梢圆僮鞫嗵幚砥鹘Y(jié)構(gòu),以根據(jù)配置執(zhí)行軟件應(yīng)用。
文檔編號G06F21/71GK103154925SQ201180049630
公開日2013年6月12日 申請日期2011年10月14日 優(yōu)先權(quán)日2010年10月15日
發(fā)明者M·B·多爾, C·S·多比斯, M·B·索爾卡, M·R·特羅西諾, D·A·吉布森 申請人:相干邏輯公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1