本發明涉及一種控制處理器的技術,且尤其涉及一種重置處理器的方法及計算機裝置。
背景技術:
1、請參照圖1,其是依據本發明的實施例繪示的計算機裝置架構圖。在圖1中,計算機裝置100可包括控制器105、系統單芯片(soc)110(其例如是基板管理控制器(bmc))、處理單元120、隨機存取內存(ram)130、靜態內存140及外圍裝置150。
2、系統單芯片110可包括內存111、主處理器112、協處理器113。在一些實施例中,控制器105例如可實現為微控制單元(mcu)、復雜可規劃邏輯組件(complex?programmablelogic?device,cpld)或是設置于系統單芯片110中的mcu,但可不限于此。
3、內存111例如是硬件只讀存儲器(hw?rom),其可記錄有可由控制器105執行的模塊/程序代碼/韌體。在一些實施例中,控制器105及內存111可基于opentitan或caliptra框架(framework)實現,但不限于此。
4、在不同的實施例中,主處理器112及協處理器113可采用不同的組件實現。舉例而言,假設所選用的處理器架構為arm架構,則主處理器112例如可實現為ca35處理器,而協處理器113例如可實現為cm4處理器,但不限于此。
5、ca35處理器可用于執行系統中最為復雜的運算,且其可透過運作于安全模式(secure?mode)或非安全模式(non-secure?mode)來支持安全功能。在一些實施例中,系統單芯片110還可包括其他的協處理器(例如i/o?mcu),但不限于此。
6、在不同的應用需求中,cm4處理器的使用方式可取決于使用者的需求,且cm4處理器的安全權限(security?permission)可高于或低于ca35處理器的安全權限(此需提前配置,且在計算機裝置100啟動后不可更改)。
7、如果cm4處理器的安全權限低于ca35處理器的安全模式,則可以將cm4處理器配置為僅用于ca35安全模式存取。否則,ca35處理器可以在非安全模式和安全模式中存取或控制cm4處理器。此外,上述i/o?mcu可經設計為用于按照需求卸除(offload)ca35處理器或cm4處理器的i/o任務,但可不限于此。。
8、在一些實施例中ram?130可實現為動態ram(dram)或其他類似者。靜態內存140可實現為nor閃存或是nand閃存,但可不限于此。
9、處理單元120例如是基于x86概念實現的主機中央處理單元(cpu),而其例如可透過協處理器113存取外圍裝置150(其例如是i3c裝置、i2c裝置等)。亦即,協處理器113可作為處理單元120及外圍裝置150之間的網橋(bridge)使用。
10、在現有的安全啟動(secure?boot)或平臺安全規格(platform?securityspecification)中,多半載明如果需重置系統單芯片110上的任何處理器(例如主處理器112及/或協處理器113),則系統單芯片110上的所有處理器應同時重置,且在各處理器運作前皆需重載對應的映像檔并對映像檔進行驗證。然而,此種做法對于某些應用缺乏靈活性。
11、舉例而言,在圖1的架構中,由于協處理器113是作為處理單元120及外圍裝置150之間的網橋使用,因此協處理器113需能獨立運作,否則在系統單芯片110上的所有處理器同時重置時,將使得處理單元120無法存取外圍裝置150,進而令處理單元120所執行的一些任務被中止。
12、然而,即便cm4處理器具有獨立運作的能力(例如獨立重置),現有技術中仍存在若干問題。
13、舉例而言,在ca35處理器啟動后,其將會定期或不定期地存取靜態內存140以進行讀取或寫入的操作。一般而言,靜態內存140一次僅允許一個處理器進行存取。此外,在靜態內存140收到寫入請求后可能會處于忙碌狀態一段時間,而在此段時間內將忽略其他的存取請求。換言之,當ca35正在存取靜態內存140時,由于(內存111的)控制器105無法在重置cm4處理器的過程中順利從靜態內存140讀取正確的cm4處理器的映像檔,因此將無法順利地重置cm4處理器。
技術實現思路
1、有鑒于此,本發明提供一種重置處理器的方法及計算機裝置,其可用于解決上述技術問題。
2、本發明實施例提供一種重置處理器的方法,適于包括一控制器、一主處理器、一協處理器及一隨機存取內存的一計算機裝置,所述方法包括:由計算機裝置的一第一組件取得對應于協處理器的一映像檔,并由第一組件將映像檔載入隨機存取內存中的一參考空間,其中隨機存取內存包括對應于協處理器的一特定空間,第一組件為主處理器及控制器的其中之一,在獲取更新映像時,協處理器也可以是第一組件;反應于判定需重置協處理器,由計算機裝置的一第二組件致能協處理器的重置信號并將存放于參考空間的映像檔載入對應于協處理器的特定空間,并由第二組件驗證存放于特定空間的映像檔,其中第二組件為控制器及主處理器的其中之一;以及反應于第二組件判定存放于特定空間的映像檔通過驗證,由第二組件基于存放于特定空間的映像檔釋放協處理器的重置信號。
3、本發明實施例提供一種計算機裝置,其包括一控制器、一主處理器、一協處理器以及一隨機存取內存。計算機裝置的一第一組件取得對應于協處理器的一映像檔,且第一組件將映像檔載入隨機存取內存中的一參考空間,其中隨機存取內存包括對應于協處理器的一特定空間,第一組件為主處理器、協處理器及控制器的其中之一。反應于判定需重置協處理器,計算機裝置的一第二組件致能協處理器的重置信號并將存放于參考空間的映像檔載入對應于協處理器的特定空間,且第二組件驗證存放于特定空間的映像檔,其中第二組件為控制器及主處理器的其中之一。反應于第二組件判定存放于特定空間的映像檔通過驗證,第二組件基于存放于特定空間的映像檔釋放協處理器的重置信號。
1.一種重置處理器的方法,適于包括控制器、主處理器、協處理器及隨機存取內存的計算機裝置,所述方法包括:
2.根據權利要求1所述的方法,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限高于所述協處理器的安全權限,且在由所述第二組件驗證所述映像檔的步驟之前,所述方法更包括:
3.根據權利要求2所述的方法,其中在由所述第二組件控制對應于所述主處理器及所述協處理器的所述多個重置信號的步驟之后,所述方法更包括:
4.根據權利要求1所述的方法,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限高于所述協處理器的安全權限,且在由所述第二組件驗證存放于所述特定空間的所述映像檔的步驟之前,所述方法更包括:
5.根據權利要求1所述的方法,其中所述第一組件為所述協處理器,所述第二組件為所述主處理器,所述主處理器的安全權限高于所述協處理器的安全權限,且在由所述第二組件驗證存放于所述特定空間的所述映像檔的步驟之前,所述方法更包括:
6.根據權利要求1所述的方法,更包括:
7.根據權利要求6所述的方法,其中所述第一組件及所述第二組件皆為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在由所述第二組件驗證存放于所述特定空間的所述映像檔的步驟之前,所述方法更包括:
8.根據權利要求6所述的方法,其中所述第一組件及所述第二組件皆為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在由所述第二組件驗證存放于所述特定空間的所述映像檔的步驟之前,所述方法更包括:
9.根據權利要求1所述的方法,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在由所述第二組件驗證所述映像檔的步驟之前,所述方法更包括:
10.根據權利要求9所述的方法,其中在由所述第二組件控制對應于所述主處理器及所述協處理器的所述多個重置信號的步驟之后,所述方法更包括:
11.根據權利要求1所述的方法,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在由所述第二組件驗證存放于所述特定空間的所述映像檔的步驟之前,所述方法更包括:
12.一種計算機裝置,其包括:
13.根據權利要求12所述的計算機裝置,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限高于所述協處理器的安全權限,且在所述第二組件驗證所述映像檔之前,所述控制器更執行:
14.根據權利要求13所述的計算機裝置,其中在所述第二組件控制對應于所述主處理器及所述協處理器的所述多個重置信號之后,所述控制器更執行:
15.根據權利要求12所述的計算機裝置,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限高于所述協處理器的安全權限,且在所述第二組件驗證存放于所述特定空間的所述映像檔之前,所述控制器更執行:
16.根據權利要求12所述的計算機裝置,其中所述第一組件為所述協處理器,所述第二組件為所述主處理器,所述主處理器的安全權限高于所述協處理器的安全權限,且在所述第二組件驗證存放于所述特定空間的所述映像檔之前,所述主處理器更執行:
17.根據權利要求12所述的計算機裝置,其中反應于判定所述計算機裝置經啟動,或是所述協處理器的重置操作經觸發,判定需重置所述協處理器。
18.根據權利要求17所述的計算機裝置,其中所述第一組件及所述第二組件皆為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在所述第二組件驗證存放于所述特定空間的所述映像檔之前,所述控制器更執行:
19.根據權利要求17所述的計算機裝置,其中所述第一組件及所述第二組件皆為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在所述第二組件驗證存放于所述特定空間的所述映像檔之前,所述控制器更執行:
20.根據權利要求12所述的計算機裝置,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在所述第二組件驗證所述映像檔之前,所述控制器更執行:
21.根據權利要求20所述的計算機裝置,其中在所述第二組件控制對應于所述主處理器及所述協處理器的所述多個重置信號之后,所述控制器更執行:
22.根據權利要求12所述的計算機裝置,其中所述第一組件為所述主處理器或所述協處理器,所述第二組件為所述控制器,所述主處理器的安全權限低于所述協處理器的安全權限,且在所述第二組件驗證存放于所述特定空間的所述映像檔之前,所述控制器更執行: