TWI514191B - 以安全屬性限制cpu異動的方法、設備及系統 - Google Patents

以安全屬性限制cpu異動的方法、設備及系統 Download PDF

Info

Publication number
TWI514191B
TWI514191B TW103107236A TW103107236A TWI514191B TW I514191 B TWI514191 B TW I514191B TW 103107236 A TW103107236 A TW 103107236A TW 103107236 A TW103107236 A TW 103107236A TW I514191 B TWI514191 B TW I514191B
Authority
TW
Taiwan
Prior art keywords
transaction
input
initiator
security attribute
execution mode
Prior art date
Application number
TW103107236A
Other languages
English (en)
Other versions
TW201506673A (zh
Inventor
Manoj R Sastry
Ioannis T Schoinas
Daniel M Cermak
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201506673A publication Critical patent/TW201506673A/zh
Application granted granted Critical
Publication of TWI514191B publication Critical patent/TWI514191B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)

Description

以安全屬性限制CPU異動的方法、設備及系統
本揭示與計算系統有關,且更特定(但非排它)地說,與根據以所產生用於異動的安全屬性來限制源自於中央處理元件及處理器核心的異動有關。
100‧‧‧處理器
101‧‧‧核心
102‧‧‧核心
101a、b‧‧‧架構狀態暫存器
102a、b‧‧‧架構狀態暫存器
120‧‧‧指令-轉譯緩衝器
121‧‧‧指令-轉譯緩衝器
125‧‧‧解碼模組
126‧‧‧解碼模組
130‧‧‧分配器與更名器方塊
131‧‧‧分配器與更名器方塊
135‧‧‧重排序/止用單元
136‧‧‧重排序/止用單元
140‧‧‧排程器與執行單元
141‧‧‧排程器與執行單元
150‧‧‧較低階資料快取及資料轉譯緩衝器
151‧‧‧較低階資料快取及資料轉譯緩衝器
110‧‧‧晶片上介面
105‧‧‧點對點鏈結
160‧‧‧電源控制
180‧‧‧圖形處理器
175‧‧‧記憶體
176‧‧‧應用程式碼
177‧‧‧轉譯器碼
200‧‧‧系統晶片
202‧‧‧處理器核心
204‧‧‧區域快取記憶體
206‧‧‧記憶體組構
208‧‧‧加速器
210‧‧‧記憶體
212‧‧‧核心介面
214‧‧‧記憶體介面
216‧‧‧面南介面
218‧‧‧動態隨機存取記憶體
220‧‧‧IO組構
222‧‧‧裝置
224‧‧‧裝置
226‧‧‧記憶體
228‧‧‧記憶體
230‧‧‧靜態隨機存取記憶體
232、234、236、238、240、242、244、246、248、250、 252‧‧‧通訊路徑
400‧‧‧政策暫存器
402‧‧‧政策暫存器
404‧‧‧政策暫存器
406‧‧‧政策暫存器
500‧‧‧交換組構
502‧‧‧橋接器
504‧‧‧裝置
506‧‧‧記憶體
508‧‧‧映射器
600‧‧‧32位元讀取政策暫存器
602‧‧‧32位元寫入政策暫存器
700‧‧‧32位元控制政策暫存器
256‧‧‧政策暫存器
900‧‧‧系統架構
901‧‧‧中央處理單元
902‧‧‧處理器核心
904‧‧‧最後階快取與一致性方塊
908‧‧‧系統代理
910‧‧‧一致性/記憶體組構
912‧‧‧電源管理方塊
914‧‧‧I/O介面
916‧‧‧記憶體控制器
918‧‧‧晶片外的系統記憶體
920‧‧‧動態隨機存取記憶體
922‧‧‧模式暫存器
924‧‧‧取用控制政策邏輯
926‧‧‧政策暫存器
928‧‧‧內部互連介面
929‧‧‧圖形引擎
930‧‧‧主I/O交換組構
932‧‧‧晶片上的I/O交換組構
934‧‧‧晶片上的I/O交換組構
936‧‧‧晶片外的I/O交換組構
938‧‧‧橋接器
940‧‧‧橋接器
942‧‧‧邊帶傳訊方塊
944‧‧‧邊帶通道
946‧‧‧晶片上的I/O交換組構
948‧‧‧晶片上的I/O交換組構
950‧‧‧記憶體
952‧‧‧記憶體
954‧‧‧晶片外的I/O交換組構
956‧‧‧晶片外的I/O交換組構
958‧‧‧晶片外的I/O交換組構
960‧‧‧晶片外的I/O交換組構
962‧‧‧晶片外的記憶體
964‧‧‧晶片外的記憶體
966‧‧‧快閃記憶體控制器
968‧‧‧快閃記憶體
970‧‧‧基本輸入輸出系統
972‧‧‧作業系統
1100‧‧‧SAI產生單元
1102‧‧‧安全條位元
1106‧‧‧IOSF組構
1108‧‧‧IOSF2OCP橋接器
1110‧‧‧映像
1112‧‧‧OCP組構
1116‧‧‧OCP裝置封裝器
1118‧‧‧邊帶訊息
1200‧‧‧系統晶片
1206‧‧‧核心
1207‧‧‧核心
1208‧‧‧快取控制
1209‧‧‧匯流排介面單元
1210‧‧‧L2快取
1210‧‧‧互連
1215‧‧‧圖形處理單元
1220‧‧‧視訊編碼解碼器
1225‧‧‧視訊介面
1230‧‧‧用戶識別模組
1235‧‧‧啟動唯讀記憶體
1240‧‧‧SDRAM控制器
1245‧‧‧快閃控制器
1250‧‧‧周邊控制器
1255‧‧‧電源控制
1260‧‧‧動態隨機存取記憶體
1265‧‧‧快閃記憶體
1270‧‧‧藍牙模組
1275‧‧‧3G數據機
1280‧‧‧全球定位系統
1285‧‧‧WiFi
1300‧‧‧系統
1310‧‧‧處理器
1315‧‧‧系統記憶體
1320‧‧‧大量儲存器
1322‧‧‧快閃裝置
1324‧‧‧顯示器
1325‧‧‧觸控螢幕
1330‧‧‧觸控板
1335‧‧‧內嵌式控制器
1336‧‧‧鍵盤
1337‧‧‧風扇
1338‧‧‧可信賴平台模組
1339‧‧‧熱感測器
1340‧‧‧感測器集線器
1341‧‧‧加速儀
1342‧‧‧周圍光線感測器
1343‧‧‧羅盤
1344‧‧‧陀螺儀
1345‧‧‧近場通訊單元
1346‧‧‧熱感測器
1350‧‧‧WLAN單元
1352‧‧‧藍牙單元
1354‧‧‧攝相機模組
1355‧‧‧電致變色層
1356‧‧‧WWAN單元
1357‧‧‧用戶識別模組
1360‧‧‧數位信號處理器
1362‧‧‧編碼解碼器與放大器
1363‧‧‧喇叭
1364‧‧‧耳機插孔
1365‧‧‧麥克風
圖1說明包括有多核心處理器之計算系統之方塊圖的實施例。
圖2係系統概示圖,說明例示性系統晶片架構及與由系統中之裝置所啟始之異動相關聯的對應通訊路徑。
圖3a與3b分別顯示用於以源為基礎、以目標為基礎、及以組構為基礎之SAI施行設計之粗質與細質主體啟始器到目標物件的映射。
圖4顯示按照本發明一實施例之使用政策暫存器之安全取用機制的概視圖。
圖5顯示圖2之SoC,進一步包括實施專屬協定的匯流排及用於在專屬協定與SoC組構所使用之協定之間安全 屬性映射的映射器。
圖6顯示按照本發明一實施例之讀取與寫入政策暫存器的例示組。
圖7顯示按照本發明一實施例之例示性控制政策暫存器。
圖8顯示按照本發明一實施例之使用圖2之SoC之例示性異動與相關聯之安全取用施行機制設施。
圖9係可實施本文所揭示之實施例之態樣的例示性系統架構方塊概示圖。
圖10係說明按照一實施例,以指示啟始器之現有執行模式之指標實行更新模式暫存器之操作的流程圖。
圖11a係按照一實施例,以結合架構與資料流之圖式說明另一模式暫存器更新處理。
圖11b係按照一實施例,以結合架構與資料流之圖式說明MMIO寫入異動。
圖12說明計算系統晶片的實施例。
圖13說明計算系統之方塊圖的實施例。
【發明內容及實施方式】
在以下的描述中,為了提供對本發明徹底的瞭解,將陳述很多特定的細節,諸如特定類型之處理器與系統組構、特定的硬體結構、特定的架構與微架構細節、特定的暫存器組構、特定的指令類型、特定的系統組件、特定的尺寸/高度、特定的處理器管線級及操作等的例子。不 過,熟悉此方面之技術人士將可理解,實施本發明並不一定需要使用這些特定的細節。在其它例中,為了避免不必要地模糊本發明,習知的組件或方法,諸如特定及替代的處理器架構、用於描述演算法之特定的邏輯電路/碼、特定的韌體碼、特定的互連操作、特定的邏輯組構、特定的製造技術及材料、特定的編譯程式實施、特定的演算法碼表式、特定的降壓與閘通技術/邏輯、及電腦系統之其它特定的操作細節都未詳細描述。
隨著計算系統的進步,其內的組件變得愈來愈複雜。結果是,各組件間耦接與通訊之互連架構的複雜度也提高,以確保符合組件最佳操作的頻寬需求。此外,不同的市場區隔要求不同態樣的互連架構,以適合市場的需要。例如,伺服器需要較高的效能,而行動生態系統有時為了節省電力可以犧牲整體效能。
從歷史上來看,電腦系統架構使用分立的組件,諸如中央處理單元(CPU)、記憶體控制器或集線器、輸入/輸出(I/O)集線器等,這些經由外部匯流排及/或其它類型的外部互連而被連接。近年來,電腦架構從分立的組件轉向到系統晶片(System on a Chip;SoC)的方法,在SoC之下,各式各樣的系統組件被集積到單片基板上的單個晶粒或多個晶粒上,其中,包含邏輯/電路區塊(通常以組件名稱稱之,如功能區塊、及/或智財權(IP)區塊)之各式各樣的組件經由內部互連結構互連,諸如匯流排、串列式互連、及交換組構(也簡稱為組構)。
為對本文所揭示之發明之實施例的實施與態樣更為瞭解,以下討論的計算系統以使用多核心處理器為首選。但須瞭解,此計算系統僅是說明可在SoC或類似架構(諸如多晶片模組)中實施計算系統的各種態樣。
參閱圖1,圖中描繪包括有多核心處理器之計算系統之實施例的方塊圖。處理器100包括任何處理器或處理裝置,諸如微處理器、內嵌式處理器、數位信號處理器(DSP)、網路處理器、手持式處理器、應用軟體處理器、共處理器、SoC、或用於執行碼的其它裝置。在一實施例中,處理器100包括至少兩個核心-核心101與核心102,其可包括非對稱核心或對稱式核心(說明的實施例)。不過,處理器100可包括任何數量之對稱或非對稱的處理元件。
在一實施例中,處理元件意指支援軟體執行緒的硬體或邏輯。硬體處理元件的例子包括:執行緒單元、執行緒槽、執行緒、處理單元、上下文、上下文單元、邏輯處理器、硬體執行緒、核心、及/或有能力保持處理器之狀態的任何其它單元,諸如執行狀態或架構狀態。換言之,在一實施例中,處理元件意指有能力獨立與碼相關聯的任何硬體,諸如軟體執行緒、作業系統、應用軟體、或其它碼。實體處理器(或處理器插槽)典型上稱為積體電路,其有可能包括任何數量的其它處理元件,諸如核心或硬體執行緒。
核心通常意指位於積體電路上有能力保持獨立架構狀 態的邏輯,其中,每一個獨立保持的架構狀態與至少某些專用的執行資源相關。相對於核心,硬體執行緒典型上意指位於積體電路上有能力保持獨立架構狀態的任何邏輯,其中,獨立保持的架構狀態對於執行資源共享取用。可看出,當某些資源被共享而其它資源專用於架構狀態時,硬體執行緒與核心兩名詞之間的界線重疊。然而通常從作業系統來看核心與硬體執行緒,該兩者為個別的邏輯處理器,而作業系統能夠在每一個邏輯處理器上分別地排程作業。
如圖1中所說明的實體處理器100包括兩個核心-核心101與102。在此,核心101與102可考慮成對稱的核心,即核心具有相同的組構、功能單元、及/或邏輯。在另一實施例中,核心101包括亂序處理器核心,而核心102包括循序處理器核心。不過核心101與102可個別地選擇自任何類型的核心,諸如原生核心、軟體管理核心、適於執行原生指令集架構(Instruction Set Architecture;ISA)的核心、適於執行轉譯之指令集架構的核心(ISA)、合作設計的核心、或其它的已知核心。在異質核心環境(即非對稱核心)中,可利用諸如二進制轉譯等某種形式的轉譯,在一或兩核心上進行碼的排程或執行。此外,還要在下文進一步的討論中描述說明於核心101中之各功能單元進一步的細節,至於核心102中的單元,則按所描繪之實施例中類似的方式操作。
如所描繪,核心101包括兩個硬體執行緒101a與 101b,也可稱其為硬體執行緒槽101a與101b。因此,在一實施例中,諸如作業系統等的軟體實體將處理器100潛在地看成四個分開的處理器,即,四個邏輯處理器,或是有能力同時執行四個軟體執行緒的處理元件。如前文所暗示,第一執行緒與架構狀態暫存器101a相關,第二執行緒與架構狀態暫存器101b相關,第三執行緒可與架構狀態暫存器102a相關,及第四執行緒可與架構狀態暫存器102b相關。在此,如前文之描述,每一個架構狀態暫存器(101a、101b、102a、及102b)可稱為處理元件、執行緒槽、或執行緒單元。如圖示說明,架構狀態暫存器101a在架構狀態暫存器101b中被複製,因此,有能力為邏輯處理器101a與邏輯處理器101b儲存用於各自的架構狀態/上下文。在核心101中,也可複製用於執行緒101a與101b之其它較小的資源,諸如分配器與更名器方塊130中的指令指示器及更名邏輯等。某些資源,諸如重排序/止用單元135中的重排序緩衝器、ILTB 120、載入/儲存緩衝器、及佇列,可透過分割而分享。其它資源,諸如通用內部暫存器、分頁表基址暫存器、低階資料快取與資料TLB 115、執行單元140、及部分亂序單元135有可能被完全共享。
處理器100通常包括其它的資源,這些資源可被完全地共享、透過分割而共享、或被/供處理元件所專用。在圖1中,以處理器之說明性的邏輯單元/資源來說明純例示性的處理器實施例。須注意,處理器可包括或省略任何 這些功能單元,也可包括未描繪的任何其它已知的功能單元、邏輯、或韌體。如圖示說明,核心101包括一簡化、具代表性的亂序(OOO)處理器核心。但在不同的實施例中可使用循序處理器。OOO核心包括分支目標緩衝器120,用以預測即將要被執行/取得的分支,以及指令-轉譯緩衝器(I-TLB)120,用以儲存用於指令的位址轉譯登錄。
核心101進一步包括解碼模組125,耦接至提取單元120用以解碼被提取的元件。在一實施例中,提取邏輯包括個別的定序器,分別與執行緒槽101a、101b相關聯。通常,核心101與第一ISA相關聯,其定義/指定可在處理器100上執行的指令。通常,屬於第一ISA之一部分的機器碼指令包括有稱為運算碼的一部分指令,用來參考/指定要被施行的指令或操作。解碼邏輯125所包括的電路從它們的運算碼來識別這些指令,並將經解碼的指令傳遞到管線內按第一ISA的定義進行處理。例如,如以下更詳細的討論,在一實施例中,解碼器125包括被設計成或被調適成用以識別特定指令的邏輯,諸如異動指令。由於解碼器125之識別,架構或核心101採取特定、預先定義的動作,用以施行與適當指令相關聯的工作。須注意的重點是,本文所描述的任何工作、方塊、操作、及方法係回應單個或多個指令而施行;其中某些可能為新指令或舊指令。須注意,在一實施例中,解碼器126識別相同的ISA(或它的子集)。或者,在異質核心的環境中,解碼器 126識別第二ISA(為第一ISA的子集或不同的ISA)。
在一例中,分配器與更名器方塊130包括用以保留資源的分配器,諸如用以儲存指令處理結果的暫存器檔案。不過,執行緒101a與101b有亂序執行的潛在能力,在此,分配器與更名器方塊130也保留其它資源,諸如用以追蹤指令結果的重排序緩衝器。單元130也可包括暫存器更名器,用以將程式/指令參考暫存器更名為處理器100內部的其它暫存器。重排序/止用單元135包括的組件諸如上述的重排序緩衝器、載入緩衝器、及儲存緩衝器,用以支援亂序執行及亂序執行之指令稍後的循序止用。
在一實施例中,排程器與執行單元方塊140包括用以在執行單元上排程指令/操作的排程器單元。例如,浮點指令被排程在具有可用浮點執行單元之執行單元的埠上。與執行單元相關聯的暫存器檔也包括用來儲存資訊指令處理結果。例示性的執行單元包括浮點執行單元、整數執行單元、跳躍執行單元、載入執行單元、儲存執行單元、及其它習知的執行單元。
較低階資料快取記憶體及資料轉譯緩衝器(D-TLB)150被耦接至執行單元140。資料快取記憶體係用來儲存最近使用過/對其操作過的元件,諸如資料運算元,其有可能保持在記憶體一致性狀態。D-TLB係用來儲存最近的虛擬/線性到實體位址轉譯。如特定的例子,處理器可包括分頁表結構,用以將實體記憶體分割成複數個虛擬頁。
在此,核心101與102共享對於較高階或更外層 (further-out)快取記憶體的取用,諸如與晶片上介面110相關聯的第二階快取記憶體。須注意,較高階或更外層意指快取記憶體的層級增加或距執行單元更遠。在一實施例中,較高階快取記憶體係最後一階的資料快取記憶體-處理器100上之記憶體階層中之最後的快取記憶體-諸如第二或第三階資料快取記憶體。不過,較高階快取記憶體並不限於此,其可包括指令快取記憶體或與其相關聯。以軌跡型快取記憶體-指令類型的快取記憶體-替代可耦接於解碼器125之後,用於儲存最近被解碼的軌跡。在此,指令有可能意指巨集指令(即由解碼器所識別的一般指令),其可解碼成若干個微指令(微操作)。
在所描繪的組構中,處理器100也包括晶片上介面模組110。從歷史角度,記憶體控制器(在下文中將更詳細描述)包括在計算系統內之處理器100的外部。在此情況之下,晶片上介面110係用來與處理器100外部的裝置通訊,諸如系統記憶體175、晶片組(通常包括用來連接到記憶體175的記憶體控制器集線器,及用來連接到周邊裝置的I/O控制器集線器)、記憶體控制器集線器、北橋、或其它積體電路。及在此情況之下,匯流排105可包括任何已知的互連,諸如多接點匯流排、點對點互連、串列互連、平行匯流排、一致性(例如,快取一致性)匯流排、分層式協定架構、差動匯流排、及GTL匯流排。
記憶體175可專用於處理器100,或供系統中的其它裝置共用。記憶體175類型的一般例子包括DRAM、 SRAM、非揮發性記憶體(NV記憶體),及其它已知的儲存裝置。須注意,裝置180可包括耦接至記憶體控制器集線器的圖形加速器、處理器或卡;耦接至I/O控制集線器的資料儲存器;無線收發器;快閃裝置;音頻控制器;網路控制器;或其它已知裝置。
不過,近年來,當愈來愈多的邏輯與裝置被整合在單一晶粒上時,諸如以SoC實施,這些裝置每一個都可併入處理器100。例如,在一實施例中,記憶體控制器集線器與處理器100在同一封裝及/或晶粒上。在此,部分核心(核心上的部分)110包括一或多個控制器用於與其它裝置介接,諸如記憶體175或圖形裝置180。包括有用來與這些裝置介接之互連與控制器的組態通常稱為核心上(on-core)(或非核心組態)。例如,在一實施例中,晶片上介面110包括用於晶片上通訊的環狀互連,及用於晶片外通訊的高速串列點對點鏈結105。或者,藉由具有網型組態的一或多個交換組構可便於晶片上的通訊。還有,在SoC的環境中,甚至多個裝置,諸如網路介面、共處理器、記憶體175、圖形處理器180、或任何其它已知的電腦裝置/介面,都可整合在單一晶粒或積體電路上,以提供具有高功能性及低耗電的小形狀因數。
在一實施例中,處理器100有能力執行編譯器、最佳化、及/或轉譯器碼177,用來編譯、轉譯、及/或最佳化應用程式碼176,以支援本文所描述的設備及方法,或與它們介接。編譯器通常包括程式或一組程式,用以將源文 字/碼轉譯成目標文字/碼。通常,編譯器係以多階段多路徑完成程式/應用程式碼之編譯,以將高階程式語言碼轉換成低階機器或組合語言碼。然而,簡單的編譯仍使用單路徑的編譯器。編譯器可利用任何已知的編譯技術及施行任何已知的編譯器操作,諸如詞法分析、預處理、剖析、語意分析、碼產生、碼轉換、及碼最佳化。
較大的編譯器通常包括多個階段,但這些階段往往是包括在兩個一般的階段中:(1)前端,即,通常在此發生語法處理、語意處理、及某些轉換/最佳化,及(2)後端,即,通常在此發生分析、轉換、最佳化、及碼產生。某些編譯器提及中間,其說明編譯器之前端與後端之間的輪廓糢糊。結果是,所提到之編譯器的插入、關聯、產生、或其它操作,在前述的任何階段或路徑以及編譯器之任何其它已知的階段或路徑中都可發生。如說明例,編譯器在編譯的一或多個階段中有可能插入操作、呼叫、功能等,諸如在編譯前端階段中之呼叫/操作的插入,並接著在轉換階段期間將該等呼叫/操作轉換成低階碼。須注意,在動態編譯期間,編譯器碼或動態最佳化碼可插入這類操作/呼叫,以及在運行時間期間將碼最佳化用於執行。如特定的說明例,在運行時間期間,二進制碼(已編譯的碼)可被動態地最佳化。在此,程式碼可包括動態最佳化碼、二進制碼、或它們的組合。
轉譯器(諸如二進制轉譯器)與編譯器類似,靜態或動態地將碼轉譯以最佳化及/或轉譯碼。因此,提到碼的 執行、應用程式碼、程式碼、或其它軟體環境可指:(1)編譯器程式之執行,最佳化碼最佳化器,或轉譯器動態或靜態地編譯程式碼、保持軟體結構、施行其它操作、將碼最佳化、或轉譯碼;(2)包括有操作/呼叫之主程式碼的執行,諸如已被最佳化/編譯過的應用程式碼;(3)與主程式碼相關聯之其它程式碼(諸如程式庫)的執行,以保持軟體結構、用以施行與操作相關的其它軟體、或用以將碼最佳化;或(4)它們的組合。
在SoC式的平台中,處理器核心、加速器及裝置取用彼此的資源用以處理工作負載,包括可信賴程度不同的多個工作負載可能同時執行。此外,CPU異動,諸如微碼與系統管理模式(System Management Mode;SMM)需要取用到SoC中的關鍵資產,諸如安全記憶體區、系統代理、IP代理等中的組態控制。關鍵資產的例子包括供SMM專用的記憶體隔離區(Isolated Region of Memory;IMR)、由微碼所組態之電源管理控制器中的組態暫存器等。基於此考慮,需要適當的控制來保護橫跨SoC分布的敏感資產。否則,供應商與顧客的隱密會被破解。威脅的例子之一是在電腦系統上運行的惡意軟體竄改受保護的記憶體區暫存器並暴露秘密。
進一步的趨勢暗示這些加速器會從固定的功能演進到以最新之演算法更新的可程式引擎。雖然有利,但動態的軟體環境會引進新的脆弱性。此外,記憶體被分散到整個SoC以符合低潛時的要求。此增加用來儲存敏感資產並需 要被限制取用的儲存庫數目。這些因素給了需要在包含多個核心與分散式記憶體之SoC中施行取用限制的動機。
圖2中顯示對應於例示性系統晶片200的抽象架構,說明處理器核心、加速器、及裝置的例示組。SoC 200包括一或多個處理器核心202(為簡化僅顯示一個或所示出者),每一個核心包括區域快取記憶體204耦接至記憶體組構206。SoC 200也包括一或多個加速器208耦接至記憶體210,其依次經由核心介面212耦接至記憶體組構206。記憶體組構206也包括記憶體介面214與面南介面(south-facing interface)216。記憶體介面214促進與動態隨機存取記憶體(DRAM)218的通訊。面南介面216提供記憶體組構與IO組構220之間的互連。IO組構220支援與各式IO裝置的輸入/輸出通訊,這些裝置以裝置222與224來說明,每一個皆耦接至各自的記憶體226與228。IO組構220也提供靜態隨機存取記憶體(SRAM)230與其餘系統組件之間的介接。
在SoC 200的操作期間,各不同系統組件可取用其它組件/裝置所握有或提供的SoC資產。例如,處理器202可取用每一個DRAM 218、加速器208、記憶體210、裝置224、記憶體228、SRAM 230,如各自的通訊路徑裝置232、234、236、238、240、及242所描繪。同樣地,各不同的IO裝置可取用其它的資產,諸如裝置與記憶體資源,如所繪示的通訊路徑244、246、248、250、及252。
處理器核心、加速器、及裝置彼此互動以處理SoC 200所處置的工作負荷。在某種程度上,因藉由取用記憶體與儲存器資源及/或與核心、加速器、及裝置相關聯之暫存器,以及諸如DRAM 218、SRAM 230等公用的記憶體資源而使互動容易。啟始這些系統資源取用請求的組件在本文中稱為“啟始器”。
如於圖2之架構中所見,某些啟始器,諸如處理器核心202與加速器208,包含建構於SoC 200內的內部組件,而其它啟始器,諸如IO裝置222與224,視它們的特定功能而定,可在SoC的內部或外部。軟體與韌體實體也在SoC外部,其可透過SoC中的內部或外部啟始器試圖取用內部或外部資源。結果是,可信賴程度不同的工作負載可能同時執行。
SoC 200包括資料與硬體資產,諸如組態暫存器、範圍暫存器等,其要被保護不被未經授權的取用。在習用的方法之下,對此資料及硬體資產之取用的控制,係由SoC之特定的設計師以隨意且片斷的方式為每一個SoC處理。此方法無法在SoC組構及介面中提供全盤的支援,以明確地決定啟始器的特權。
SoC架構近年來的進步已引入了記憶體與IO組構,其支援橫跨內部(例如,經由記憶體組構206)與外部(例如,經由IO組構220)記憶體資源的一致性。在某種程度上,透過記憶體取用與一致性框架此變得容易。在某些實施例中,此框架被用來定義一致的取用控制架構,其可橫跨SoC架構實施,以一致的方式支援對於資源的安 全取用。在一實施例中,記憶體組構206與IO組構220使用Intel®快速路徑互連(QuickPath Interconnect;QPI)框架。一般來說,記憶體組構與IO組構每一個都包含互連與對應的控制邏輯,以便於連接到互連之裝置與資源之間的異動。
取用控制模型與架構
在一實施例中,實施以屬性為基礎的取用控制模型以確保僅允許獲授權的啟始器取用安全的資產。在該模型之下,主體或啟始器取用物件或目標。主體與物件的性質被擷取,分別做為主體屬性與物件屬性。
SoC平台中有多個點可施行取用控制政策。這些施行的點位在包括來源(即主體或啟始器)、目標、及/或組構。政策可以是粗質(coarse-grained)或細質(fine-grained)的,視取用的類型及其它參數而定,分別說明於圖3a與3b。
對於以源為基礎的取用控制,取用控制在主體或啟始器處施行。在此情況,取用政策定義可被啟始器取用的所有目標,如源S0 與物件O0 、O1 、及On 之間的一對多關係所示。此外,啟始器需要支援對目標位址的解碼,此將增加啟始器邏輯的複雜度。在以目標為基礎的取用控制中,取用政策施行於末端。以目標為基礎的取用政策考慮可取用該目標的所有啟始器,如圖3a中以目標為基礎之取用控制設計的源S0 及物件S0 、S1 、及Sn 與目標物件O0 之間 多對一的關係所示。由於異動已完成了對目標的位址解碼,因此,位址的解碼不是議題。在SoC中通常使用此方法。最後,以組構為基礎的取用控制係與啟始器及目標都無關,且政策是在組構中施行,典型上是在入口或出口組構介面處。其提供用於政策施行的中央點,且因此較易於管理。對於目標的位址解碼係在組構中完成。該取用控制政策定義可取用耦接至組構之目標的所有啟始器,如圖3a中所描繪之以組構為基礎的取用控制設計中,源與目標物件之間多對多的關係所示。
在圖3b所說明的較細質之取用控制設計之下,用於以源與組構為基礎之設計的每一個源S,被描繪成具有多個屬性,諸如啟始器的識別符及啟始器的操作模式。同樣地,對於以目標為基礎的細質設計,特定的目標物件可具有多個取用控制屬性。
如前文之討論,定義名詞“啟始器之安全屬性(Security Attributes of Initiator;SAI)”以表示用於做出取用決定之主體或啟始器之不可變的特性。在一實施例中,這些屬性係由硬體實體所產生,且伴隨由對應之主體或啟始器所啟始的每一個異動。SAI不像源ID,其不會在橋接器處受到轉換;其持續存在直到施行政策的點。使用政策暫存器來定義用於對資產讀取與寫入取用的政策,及用於限制可組態或更新這些政策的實體。在一實施例中,取用控制架構係由以下的建構方塊所組成:SAI、SAI產生器、SAI映射器、讀取政策暫存器、寫入政策暫存器、 及控制政策暫存器。此外,在一實施例中,也使用封裝器(wrapper)來為外部的埠施行SAI,以確保它們的取用被適當地特性化。
SAI
在一實施例中,安全屬性係被指定給主體/啟始器,並用來決定啟始器的取用權(即,讀取、寫入、不取用等)。啟始器的這些安全屬性或“SAI”代表用來做取用決定之啟始器之不可變的特性。在一實施例中,這些安全屬性係由SoC硬體所產生,且伴隨每一個異動。SAI與某些習用之安全方法中所用的源ID不同,SAI係不可變的,意指其一直持續到政策施行點,且在橋接器或介面處不被轉換。
在一實施例中,為每一取用類型定義政策暫存器-至少用於實施讀取與寫入的取用政策。通常,SAI和政策暫存器一起使用有兩個選項:1)使用SAI索引到讀取/寫入政策暫存器內部,且政策暫存器的值指示取用被允許或被拒絕;或者,2)進入的SAI與預期的SAI相比較,且只有當兩個SAI匹配時,取用才被允許。如果情況是只有一個或少數幾個啟始器,選項2更為合適。視特定的SoC取用需求而定,也可結合選項1與選項2一起實施。
在一實施例中,定義控制政策暫存器,其識別屬於以可信賴計算為基礎(Trusted Computing Base)的可信賴實體,保護可組態讀取與寫入政策(即,讀取與寫入政策 暫存器中的值)之資產。控制政策暫存器係自參考,意指它的內容被用來對於取用其本身施行取用控制。
圖4顯示以SAI為基礎之安全設計的例示性實施概要。在此例之下,所顯示的主體啟始器S0 、S1 、...Sn 取用目標物件O0 、O1 、...On 。經由記憶體組構讀取與寫入政策暫存器400與402便於取用耦接至記憶體組構206(即,以組構為基礎的取用)之物件的取用控制。同樣地,經由讀取與寫入政策暫存器404與406便於取用諸如IO裝置之外部目標(即,以目標為基礎的取用)的取用控制。
在圖4的例中,主體S0 意欲對耦接於記憶體組構206之目標物件O0 (未顯示)實施讀取取用。每一個主體啟始器S0 ,S1 ,...Sn 被指定一組安全屬性SA,當經由相關之政策暫存器施行SAI安全設計時,其定義每一個啟始器的取用權。產生適用於主體之安全屬性SA組的資訊,連同由主體所啟始的每一個取用訊息被向前發送,如以下更詳細之描述。政策暫存器儲存安全屬性資料用於安全地控制對於對應之物件的取用。如果啟始器主體的安全屬性與取用物件的安全屬性匹配,則該異動被允許繼續。反之,如果啟始器主體不具有適當的安全屬性(例如經由與它的取用訊息一起向前發送的SA資訊識別出),則該異動將被拒絕,連同對應的訊息被送返啟始器主體。
啟始器的安全屬性或SAI代表啟始器(及主體)之不可變的特性,其被檢視以決定對於SoC平台中之目標的取 用。在一實施例中,這些特性包括角色、裝置模式、與系統模式。裝置模式係動態的,並且擷取裝置的現有內部模式。例如,該模式可以是安全模式或普通模式。系統模式係動態的,並且指示由處理器核心所驅動的模式。在一實施例中,處理器核心係以Intel 32或64位元架構為基礎的IA核心(工業界所習知的IA)。例如,系統模式可以在系統管理模式(System Management Mode;SMM)或安全模式等中。此外,對於多執行緒啟始器,用於指示現有執行緒的上下文屬性被定義;這些屬性將伴隨SAI。
SAI產生器
SAI係由SoC硬體所產生的編碼,且是由一功能所產生,該功能的輸入參數可包括角色、裝置模式、系統模式、及其它選用的參數。SAI之解譯係針對每一個SoC,且是由SoC的設計者定義。如例示的實施,將SAI編碼中的特定位元設定成“1”,可指示由處理器核心取用。如果該位元被設定成“0”,則SAI中的其它位元映像可用於編碼裝置取用。例如,100...1b代表IA核心取用,及001...0b代表裝置取用。當然,此僅為例示,至於SAI編碼的位元數量與格式,可由設計者來設定。
SAI映射器
在某些SoC中的I/O裝置被連接到非供應商(即,不是SoC的供應商)或舊有供應商組構。例如,某些SoC 可能結合了開放式核心協定(Open Core Protocol;OCP)、先進微控制器匯流排架構(Advanced Microcontroller Bus Architecture;AMBA)、IOSF、或其它專屬的匯流排協定。SAI映射器負責將伴隨由SoC供應商之標準組構中之代理所產生之異動的安全屬性或SAI,映射到可在SoC特定裝置域(例如OCP域)中解譯的安全屬性。同樣地,對於由非供應商組構中之裝置所產生的上行異動,由該裝置所產生的安全屬性也必須映射到可在記憶體/一致性及IOSF域中解譯的SAI。典型上,這些映射器是可在橋接器中實施,其將一種組構協定映射到另一組構協定。在某些實施例中,這些映射器在硬體中安全地映射,且無法被操縱。
圖5顯示SAI映射器的例示性實施。在此例中,供應商、非供應商或舊有供應商匯流排或與IO組構220不同的交換組構500,諸如OCP、AMBA、IOSF等,經由橋接器502被耦接至IO組構220。一或多個裝置504連同記憶體506被耦接至匯流排500,其中,按照匯流排502所實施的協定取用這些裝置。其間,用以取用連接到SoC 200中之記憶體組構206及IO組構220之資產與資源的異動係實施不同的協定。為便於連接到匯流排500與SoC 200之各裝置之間的異動,橋接器502使用SAI映射器508在兩協定之間映射SAI資料。
讀取與寫入政策暫存器
讀取與寫入政策暫存器包含讀取與寫入許可,其是由SoC的設計者為每一個啟始器所定義。伴隨著異動的SAI作為對於政策暫存器的索引。例如,在一實施例中,32位元的讀取與寫入政策暫存器被定義在記憶體組構中。圖6中顯示對應的讀取與寫入政策暫存器600與602對,其中,1指示取用被允許,而0指示取用被拒絕。一般而言,SAI寬度為n位元。n的值各代間都不同,及/或各產品之間也不同。在一實施例中,編碼空間為2^(n-1),在此,n個位元其中一個係用來區別核心與裝置的編碼。使用32位元的暫存器僅是例示性,至於實際的編碼則通常為產品所特有。指定給啟始器的SAI係具彈性的,且視特定的產品而定。例如,可以是每個啟始器一個SAI,或每個啟始器有多個SAI,或多個啟始器群組到一個SAI。
控制政策暫存器
控制政策暫存器的內容定義被允許組態讀取與寫入政策暫存器的可信賴實體。控制政策暫存器係自參考暫存器;指定於控制政策暫存器中的SAI被允許修改讀取與寫入暫存器政策,及覆寫控制政策暫存器的內容。藉由允許單一個可信賴實體組態控制政策暫存器,言下之意是所有其它代理對政策暫存器的存取都被鎖住。SAI在控制政策暫存器中所指定的實體,可選擇來擴充可以組態政策暫存器的代理組,使數量超過開機/重置時載入的初始值,或者,可信賴的實體可將0寫入控制政策暫存器,因此將其 鎖住直到下一次的系統重置/開機。此提供了SoC設計者彈性,用以實施政策暫存器的鎖定直到下一次的重置,或允許在運行時間期間藉由可信賴的實體來更新政策。圖7顯示例示性的32位元控制政策暫存器700。
圖8描繪安全地施行裝置取用記憶體的例子。在此例之下,裝置222啟始取用DRAM 218的異動(例如,讀取或寫入)。在I/O橋接器252處,經由橋接器硬體產生適當的SAI;這些SAI將連同異動訊息跨過介面向前發送,一直到達適用的安全施行實體,在此例中為記憶體組構206中的政策暫存器256。在政策暫存器256處,將按照異動的類型(例如,讀取或寫入)比對適用的政策暫存器來檢查及評估該SAI。
本文所揭示的SAI安全取用施行設計提供很多超越現有方法的優點。其定義一致的取用控制建構方塊,諸如SAI產生器、SAI映射器、政策暫存器等,橫跨各種SoC設計可一體適用。其以一致的方法應用於SoC組構。這些優點係藉由使永久性的屬性(SAI)與每一個異動相關而實現。藉由在異動訊息的現有格式中向前發送SAI資料,支援增加取用安全措施,可在現有的互連框架(諸如QPI)中達成。SoC可使用SAI資訊來對所有以SoC資產為目標之啟始器所產生的異動施行取用控制,諸如對於記憶體、非核心暫存器、I/O裝置等的取用。當處理器以特定模式運行時,SAI可被用來允許對記憶體區域到特定I/O裝置的互斥取用,或對SoC資產的互斥取用。取用控 制架構係一強而有力的新典範,其允許在一致且模組化的框架中評估所有取用控制決定。藉由攜帶SAI資訊不變地跨越互連,由於橫過會緩衝異動之所有微架構結構可立刻獲得啟始器安全角色,因此,吾人可簡化取用控制判定的設計、除錯、及驗證。
圖9說明按照一實施例的系統架構900被組態成實施及以SAI為基礎的取用安全設計。在系統900中,以白色背景描繪的組件係集積在SoC上,而以淡灰背景表示的那些則是晶片外部的組件,與SoC上適用的介面耦接通訊。
SoC組件包含CPU 901,其包括複數個處理器核心902-0-902-N,經由一致性介面耦接到系統代理908中的最後階快取(last level cache;LLC)與一致性方塊904,在一實施例中,該一致性介面為晶粒內部互連(intra-die interconnect;IDI)介面。所描繪的每一個核心902包括有區域快取記憶體,典型上可包含第一階快取記憶體(L1快取)或第一與第二階(L1/L2快取)快取記憶體的組合。LLC與一致性方塊904包括分散式最後階快取(LLC),其在說明的實施例中被組態成複數片LLC切片,每一切片邏輯地配置給各自的核心902。LLC與一致性方塊904中的邏輯配合其它系統邏輯(未顯示)被組態成易於源自於核心902-0-902-N之記憶體異動的記憶體一致性。在一實施例中,每一個核心902-0-902-N代表一個邏輯核心,並且,CPU包括一或多個實體核心,每一個實體核心具有一或多個邏輯核心。例如,在Intel’s®的超執 行緒(Hyper-Threading;HT)技術之下,每一個實體核心支援兩個邏輯核心之實施。
系統代理908進一步包括一致性/記憶體組構910、電源管理方塊912、I/O介面914、及記憶體控制器916。一致性/記憶體組構910包含支援一致性記憶體異動與非一致性記憶體異動的記憶體組構,且描繪成與記憶體控制器916介接,其被組態成易於取用晶片外的系統記憶體918,其包含經由多個DRAM通道而被取用的DRAM 920。在一實施例中,一致性/記憶體組構910使用Intel® QPI互連結構與協定。在另一實施例中,一致性/記憶體組構910使用Intel® Keizer技術互連(Keizer Technology Interconnect;KTI)互連結構與協定。一致性/記憶體組構910被進一步描繪成邏輯地包括模式暫存器922、取用控制政策邏輯924、及政策暫存器926。如本文所使用的“邏輯地包括”意指對應的組件與方塊中所描繪的操作相關,但在實際的實施中,可實施成獨立的方塊。在一實施例中,一致性/記憶體組構910經由內部互連介面928耦接至I/O介面914。
系統架構910也包括圖形引擎929,其被描繪成耦接至系統代理908。在一實施例中,圖形引擎929係被連接到IDI介面或一或多個處理器核心902-0-902-N的另一互連(未顯示),以直接取用圖形引擎929。
I/O介面914被組態成作為系統代理908與I/O子系統之間的橋接器操作,被描繪成朝向圖9之包括I/O互連 階層的下半部,I/O互連階層中包括多個I/O交換組構。在I/O互連階層的頂部係主I/O交換組構930,其經由主介面連接到I/O介面914。I/O互連階層中的其它I/O交換組構包括晶片上的I/O交換組構932與934,以及晶片外的I/O交換組構936。通常,I/O交換組構930、932、934、及936可使用各種互連結構及相關的協定來實施,包括但不限於IOSF、OCP、AMBA、或其它現有或未來的交換組構。在例中有兩個實施不同協定的I/O交換組構,實施橋接器介接於不同的協定之間,如橋接器938、940之描繪。此外,使用不同時脈頻率耦接通訊的各I/O交換組構可包括具有適當跨時脈域電路的介面,以便於兩組構之間的通訊。
系統架構900也包括邊帶傳訊方塊942,其經由主介面耦接至I/O介面914及/或主I/O交換組構930。邊帶傳訊方塊942經由邊帶通道944耦接至取用控制政策邏輯,其也被稱為傳訊通道。一般來說,使用邊帶及/或傳訊通道以便於組態操作,而不是用於傳送與資料異動有關的資料酬載。
圖9進一步描繪耦接至說明於I/O互連階層中各不同層級之I/O交換組構的各式I/O裝置及相關之記憶體,包括分別耦接至記憶體950及952之晶片上的I/O裝置946及948,以及晶片外的I/O裝置954、956、958、及960,與晶片外的記憶體962、964。此外,I/O裝置包含耦接至主I/O交換組構930的快閃記憶體控制器966,且被組態 成便於取用其中儲存有包含BIOS 970之系統韌體的快閃記憶體968。在一實施例中,快閃記憶體968也用來儲存作業系統972。作業系統可選擇儲存在分離的儲存裝置上,諸如碟片機或固態硬碟(均未顯示)上。
如前文之討論,SAI可在各不同的主體啟始器處產生,且SAI政策施行邏輯可在系統中的各不同組件處實施。參考圖9之左上角所描繪的圖例,以標示為“SAI”的卵形來描繪被組態成用來產生SAI的組件,而以標示為“SAI”的盒形來描繪SAI政策施行邏輯的位置。此外,受保護的資產以用交叉線繪成陰影的盒形來描繪,如圖例中所示。須瞭解,系統架構900中所描繪的SAI、SAI政策施行邏輯、及受保護之資產僅是例示性,且這些在實際的SoC中很有可能是以不同的組態實施。
如圖9中之說明,SAI政策施行係經由位在端點且在各不同組構且在介面內的SAI政策施行邏輯方塊來實施。如前文之討論,SAI政策施行也可在主體啟始器(未顯示)處實施。通常,用於組構的SAI施行邏輯可以在組構之入口介面或出口介面處實施,及/或在組構內或與組構邏輯地相關聯的邏輯方塊中實施。視I/O裝置的類型而定,SAI施行邏輯可在I/O裝置(或它的介面或相關的代理)內實施,或可使用封裝器(wrapper),如前文及以下參考圖10a與10b之更詳細的討論。受保護的資產通常包括以硬體為基礎的資產,諸如暫存器,或與I/O裝置或其它系統組件相關聯之記憶體內部分受保護的記憶體,如 系統記憶體918內受保護的記憶體972所繪示。
以安全屬性限制CPU異動
從歷史角度,中央處理單元包括單核心,且在多晶片系統架構中是以獨立的組件來實施。如前文之討論,近來愈來愈多的系統設計典型上實施包括有複數個處理器核心的處理器或SoC架構。由於前述的歷史情境,在本文中將源自於處理器核心的異動稱為CPU異動,或稱為處理器核心異動。
如前文之討論,CPU與它們的處理器核心被用來執行指令以實施相關聯的操作。最常用的指令類型係對應於模組與應用程式的機器碼,其被編譯以支援CPU/處理器核心的指令架構。這些模組與應用程式包括作業系統核心、由作業系統主控的應用程式,以及裝置驅動器。
基於安全理由,現代化的CPU與處理器核心被組態成便於指令在不同的特權層級執行。最低特權層級用於應用程式碼之執行,其最不可信賴,且是惡意碼最常見的來源。最可信賴碼係處理器微碼,其是以硬體為基礎,且無法被應用軟體取用。其它的可信賴碼包括當在系統管理模式(SMM)中時被執行的系統管理碼;當在SMM中時,此碼僅允許位在可被取用的某些預定位置。
如前文之討論,當啟始器是CPU或處理器核心時,SAI可包括用於識別系統模式的屬性。為了防止惡意實體產生指示啟始器係以安全模式運行之處理器核心的SAI, 依據一實施例,對於源自於CPU/處理器核心的異動實施多層級的安全設計。
多層級的安全設計使用兩個階段-執行模式組態階段及在該執行模式中進行異動的階段。參考圖10的流程圖1000,按照一實施例,執行模式組態階段按如下實施。
處理開始於方塊1002,其中,處理器核心產生受限制的核心異動,以核心的現有模式來組態系統代理中的模式暫存器。在系統代理中,實行該受限制之異動的檢查,並將結果連同邏輯處理器識別符(logical processor identifier;LPID)、用以指示其是由核心所產生的安全條位元(secure strap bit)、及模式暫存器的現有值(其包含指示對應執行模式的指標)饋入到安全屬性產生單元,如方塊1004中之描繪。此導致n位元安全屬性之產生,其包括指示其為微碼取用的位元編碼。
在方塊1006,受限制的核心異動連同安全屬性被發送至IO組構。系統代理在SoC主介面上發送受限制的異動如同一般的I/O讀/寫異動。在平行操作期間,安全屬性位元在IO組構的主要主介面上發送。在方塊1008中,要求受限制的核心異動結合於邊帶訊息匯流排,並產生邊帶訊息。在對模式暫存器之取用被准許之前,取用控制政策暫存器先驗證伴隨於邊帶訊息的安全屬性,如方塊1010中之描繪。在此情況,在准許寫入模式暫存器之前,先驗證指示異動啟始器之執行模式的安全屬性對應於微碼執行模式。接著,將模式暫存器更新成核心的現有模 式。
模式暫存器一旦被核心的現有模式更新,核心所產生的任何異動將伴隨以那些安全屬性。這些安全屬性係不可變的,不被修改地伴隨著異動橫過SoC組構與互連。在目標處,這些屬性被政策施行邏輯檢查,以決定是允許或拒絕對資產的取用。結果是,當取用諸如DRAM、SRAM、組態暫存器、MMIO、熔絲等系統資源時,由CPU所啟始的異動當以某可信賴的執行模式操作時,諸如CPU微碼異動或SMM異動,可用特殊的特權處理。
圖11a與11b描繪按照一實施例之MMIO寫入異動之前的模式暫存器更新處理的進一步細節,每一圖描繪結合了架構與資料流的圖解。一般來說,圖11a與11b中的系統組件說明對應於圖9之系統架構900所選用之組件的例示性實施。圖9、11a與11b中除了共用參考編號(且因此組態類似)的組件之外,圖11a與11b中所說明的組件還包括SAI產生單元1100、IOSF組構1106、包括映像1110的IOSF2OCP橋接器1108、OCP組構1112、OCP裝置1114、以及OCP裝置封裝器1116。在圖11a與11b的每一圖中,毗鄰於被圈起之數字的盒形描繪對應的操作及/或異動資料的現有狀態。
模式暫存器更新處理開始於以可信賴執行模式操作的處理器核心902,並產生包含對模式暫存器922微碼寫入的異動,用以在模式暫存器內設定識別該核心係以微碼模式操作的指標。微碼寫入異動包含特許的異動,在一實施 例中,其係由具有高於預定臨界或在預先定義之位址範圍內之I/O位址而被識別為特許的異動。接下來,在記憶體組構910中,實行特許的I/O檢查,且結果連同核心902的邏輯處理器ID、安全條位元1102被饋入到SAI產生單元1100,用以指示其是否由處理器核心所產生,以及模式暫存器的現有值。因此,SAI被編碼成函數,SAI=Fn(isPriviledgedIO,LPID,IsSecure,Mode Register Value)
回應這些輸入,SAI產生單元1100中的邏輯輸出n位元的SAI。
包括有SAI的微碼寫入異動經由適用的互連與介面(未顯示)被向前發送到I/O介面914。I/O介面在IOSF主要介面上將微碼I/O異動傳送到IOSF組構1106作為一般的I/O讀/寫異動。同時,SAI位元被當成命令屬性在IOSF主要主介面上發送到邊帶發訊方塊942。在一實施例中,邊帶發訊方塊要求位在一或多個預先定義之位址範圍中的異動作為微碼IO異動結合於邊帶訊息匯流排,一旦異動被要求,邊帶發訊方塊942產生邊帶訊息1118被發送到模式暫存器922。在准許對模式暫存器922取用之前,伴隨有邊帶訊息1118的SAI先被取用控制政策方塊924中的SAI政策檢查邏輯驗證。在此情況中,SAI被寫入政策暫存器檢查,以驗證其為微碼異動。SAI一旦被核實,模式暫存器922被處理器核心902的現有執行模式更新(即,在本例中更新到微碼模式)。
一旦模式暫存器中的現有執行模式指標被改變,源自於處理器核心902的後續異動,都將包括被編碼成指示處理器執行模式係由指標(例如,微碼)所識別之模式的SAI,直到模式暫存器中之與改變到不同執行模式有關的執行模式指標被更新。藉由使用此多層級的安全設計(即,要求模式暫存器首先被單獨更新且與後續異動分開),防止惡意代理藉由簡單地冒充處理器核心取用受保護的資產。
圖11b說明當CPU以SMM操作時,接續於MMIO異動之後的操作與資料流。該處理開始於處理器核心902在操作1處產生MMIO異動。如前,在操作2處,根據傳遞給SAI產生功能的參數值-Fn(isPrivilegedIO,LPID,IsSecure,模式暫存器值)產生n位元的SAI。MMIO異動(現包括SAI)經由適用的互連與介面向前發送到I/O介面914。如操作3之描繪,接著,I/O介面將MMIO異動連同它的SAI當成一般的I/O異動在IOSF組構1108的IOSF主要主介面上發送。在MMIO以OCP裝置(例如,在本例中為OCP裝置1114)為目標的情況中,IOSF2OCP橋接器1108要求異動。SAI被當成命令屬性在主要主介面上被發送。SAI被IOSF2OCP橋接器1108中的映像1110映射到OCP安全屬性,其可被OCP組構1112與耦接於其的OCP裝置解譯,如操作4處之描繪。在一實施例中,OCP安全屬性遵循與SAI相同的限制。在操作5處,OCP裝置封裝器1116根據OCP安全屬性決定是否應 該同意取用。在一實施例中,OCP裝置封裝器1116包含讀/寫政策暫存器,其被組態成檢查伴隨MMIO異動的OCP安全屬性,並根據它的政策來拒絕或准許對OCP裝置1114之取用。
除了使來自以可信賴執行模式操作之CPU啟始器便於取用受保護之資產之外,還可支援來為支援以多種可信賴執行模式操作的CPU實施不同層級的信賴。例如,假設CPU支援以下的執行模式:
T0(信賴層級0,例如,微碼)
T1(信賴層級1)
T2(信賴層級2,例如,啟動BIOS)
T3(信賴層級3,例如,SMM)
...
U0(非信賴層級0)
U1(非信賴層級1)
...
在此及類似的組態之下,SAI產生單元邏輯與SAI政策施行邏輯可被組態成根據不同的信賴層級施行取用政策。例如,某些受保護的資產僅可被來自以微碼模式執行的啟始器取用,而其它受保護之資產則可被來自以SMM模式或較高層級之可信賴執行模式的啟始器使用。
在某些實施例中,CPU執行模式可被巢套。例如,BIOS碼在其開始啟動系統之後可立刻取得系統管理中斷(System Management Interrupt;SMI),而SMM處置器 可包括微碼常式與SoC中的資源與資產互動。依據不同之選項,模式暫存器一旦被更新到反映可信賴的執行模式,則模式暫存器可以也可以不用隨著可信賴執行模式層級的每次改變而更新。不過,在一實施例中,可信賴與不信賴執行模式之間無論何時改變,模式暫存器中的執行模式指標都將被更新。
本文所揭示的SAI安全取用施行設計提供很多優於現有方法的優點。其定義一致的取用控制建構方塊,諸如SAI產生器、SAI映射器、政策暫存器等,這些可一致性地用於SoC設計。其可以一致的方式應用於SoC組構。這些優點可藉由使不變的屬性SAI與每次的異動相關聯而實現。藉由在異動訊息之現有的格式內向前發送SAI資料,支援在現有的互連框架(諸如QPI)內附加取用安全措施可被實現。SoC可使用SAI資訊對所有以SoC之資產為目標之啟始器所產生的異動來施行取用控制,這些資產諸如記憶體、非核心暫存器、I/O裝置等。當處理器以特定的模式運行時,可使用SAI來允許對於記憶體區域到特定I/O裝置的互斥取用,或對SoC之資產的互斥取用。取用控制架構是強而有力的新典範,其允許在一致且模組化的框架中評估所有取用控制決定。藉由攜帶SAI資訊不變地跨越互連,由於橫過緩衝異動的所有微架構結構可立刻獲得啟始器安全角色,因此,吾人等可簡化取用控制判定的設計、除錯、及驗證。
當異動是由可信賴模式啟始時,藉由在CPU外部一 點產生用於CPU內所啟始之異動的SAI,配合指示執行模式的指標,排除了以惡意軟體為基礎的實體冒充可信賴的啟始器。此外,當實施多層級安全異動設計時,另一安全層被加入,該設計先使用分開的異動用於在模式暫存器中設定執行模式指標,隨後才是以受保護之資產為目標的異動。
接下來轉向圖12,圖中描繪按照本發明之系統晶片(SOC)設計的實施例。如特定的說明例,SOC 1200係包括在使用者設備(UE)中。在一實施例中,UE意指終端使用者用來通訊的任何裝置,諸如手持式電話、智慧型手機、平板電腦、超薄筆電、具寬頻配接器的筆電,或其它任何類似的通訊裝置。通常,UE連接到基地台或節點,其本質上可能對應於GSM網路中的行動基地台(mobile station;MS)。
在此,SOC 1200包括兩個核心-1206與1207。與前文的討論類似,核心1206與1207可依照指令集架構,諸如Intel® Architecture CoreTM 式處理器、AMD公司的處理器、MIPS式處理器、或ARM式處理器設計、或它們的客制化處理器,以及它們的授權者或採用者。核心1206與1207可耦接至快取控制1208,其與匯流排介面單元1209及L2快取1210相關聯,以與系統1200的其它部分通訊。互連1210包括晶片上互連,諸如IOSF、AMBA、或以上所討論的其它互連,其有可能實施本發明所描述的一或多個態樣。
互連1210提供與其它組件通訊的通道,諸如用以與SIM卡介接的用戶識別模組(Subscriber Identity Module;SIM)1230、用以保存供核心1206與1207執行以初始化及啟動SOC 1200之啟動碼的啟動rom 1235、用以與外部記憶體(例如,DRAM 1260)介接的SDRAM控制器1240、用以與非揮發性記憶體(例如,快閃記憶體1265)介接的快閃控制器1245、用以與周邊介接的周邊控制器1250(例如,串列周邊介面)、用以顯示與接收輸入(例如觸控賦能輸入)的視訊編碼解碼器1220與視訊介面1225、用以實行與圖形相關之計算的GPU1215等。任何這些介面都可結合本文所描述的發明態樣。
此外,系統圖示說明了用於通訊的周邊,諸如,藍牙模組1270、3G數據機1275、GPS 1280、及WiFi 1285。如上所述,UE包括用於通訊的無線電。因此,這些周邊通訊模組並非全都需要。不過,在UE中,要包括某種形式的無線電用於外部通訊。
須注意,以上所描述的設備、方法、及系統可在如前所述的任何電子裝置或系統內實施。如特定之說明,以下的圖提供利用本文所描述之發明的例示性系統。關於以下更詳細描述的系統,將揭示、描述一些不同的互連,並重溫以上的討論。且很容易明瞭,以上先進的描述可應用於任何互連、組構、或架構。
現參考圖13,圖中說明存在於按照本發明實施例之電腦系統中之組件的方塊圖。如圖13所示,系統1300包 括組件的任何組合。這些組件可實施為適合在電腦系統中之IC、部分的IC、分立的電子裝置、或其它模組、邏輯、硬體、軟體、韌體、或它們的組合,或實施為以其它方式結合在電腦系統機箱內的組件。亦須注意,圖13的方塊圖意欲顯示電腦系統之很多組件的高階視圖。不過,亦須瞭解,圖中所顯示的某些組件可以省略,可存在另外的組件,且所顯示的組件在其它實施中會出現不同的配置。因此,以上所描述的本發明,可實施於以下所說明或描述的一或多個互連的任何部分。
如圖13所見,在一實施例中,處理器1310包括微處理器、多核心處理器、多執行緒處理器、超低電壓處理器、內嵌式處理器、或其它已知的處理元件。在所說明的實施中,處理器1310作為主處理單元,及用於與系統1300之很多不同組件通訊的中央集線器。如一例,處理器1310實施為晶片系統(SoC)。如一特定的說明例,處理器1310包括以Intel® Architecture CoreTM 為基礎的處理器,諸如,i3、i5、i7,或其它可從加州聖克拉拉市Intel公司獲得的這類處理器。不過,須瞭解,其它的低功率處理器,諸如可從加州森尼韋爾的AMD公司獲得的處理器、加州森尼韋爾的MIPS Technologies,Inc.所設計之以MIPS為基礎的處理器、授權自ARM Holdings,Ltd.以ARM為基礎的設計、或它們的客制化處理器,或它們的授權者或採用者,都可用來取代而存在於其它實施例中,諸如蘋果A5/A6處理器、Qualcomm Snapdragon處理器、 或TI OMAP處理器。須注意,這些處理器的很多客制化型式被修改或改變;不過,這些處理器可支援或辨識實行處理器授權者所制定之已定義演算法的特定指令集。在此,雖然微架構的實施會改變,但處理器的架構功能通常都一致。以下將進一步討論關於處理器1310在一實施中之架構與操作的某些細節,以提供說明性的例子。
在一實施例中,處理器1310與系統記憶體1315通訊。如說明例,在一實施例中,其可經由多個記憶體裝置來實施,以提供指定量的系統記憶體。例如,記憶體可按照電子裝置聯合工程委員會(Joint Electron Devices Engineering Council;JEDEC)低功率雙資料率(low power double data rate;LPDDR)式設計,諸如按照JEDEC JESD 209-2E(2009年4月發行)之現行LPDDR2標準,或下一代LPDDR標準,稱為LPDDR3或LPDDR4,其將提供LPDDR2之延伸以增加頻寬。在各種實施中,各個記憶體裝置可以有不同的封裝類型,諸如單晶粒封裝(SDP)、雙晶粒封裝(DDP)或四晶粒封裝(Q17P)。在某些實施例中,這些裝置係直接焊在主機板上,以提供低輪廓方案,然而,在其它實施例中,該等裝置可被組態成一或多個記憶體模組,其藉由特定的連接器依次耦接於主機板。當然,其它的記憶體實施也是可行,諸如其它類型的記憶體模組,例如,不同型式的雙排記憶體模組(DIMM),包括但不限於微DIMM、MiniDIMM。在特定的說明實施例中,記憶體的大小在 2GB至16GB之間,且可被組態成DDR3LM封裝或LPDDR2或LPDDR3記憶體,其經由球柵陣列(ball grid array;BGA)焊在主機板上。
為提供諸如資料、應用軟體、一或多個作業系統等資訊的持久儲存,大量儲存器1320也可耦接於處理器1310。在各不同的實施例中,為能做到較薄較輕的系統設計並增進系統的回應性,此大量儲存器可經由SSD來實施。不過,在其它實施例中,大量儲存器可主要是使用具有以較小量之SSD儲存器做為SSD快取的硬式磁碟機(HDD)來實施,使得在降壓事件期間,上下文狀態與其它這類資訊能夠非揮發性儲存,以便系統活動的重新啟始能夠快速開機。亦如圖13所示,快閃裝置1322可耦接至處理器1310,例如,經由串列周邊介面(SPI)。此快閃裝置可提供系統軟體的非揮發性儲存,包括基本輸入/輸出軟體(BIOS)以及系統的其它韌體。
在各不同的實施例中,系統的大量儲存器可單獨藉由SSD或具有SSD快取的硬碟、光學或其它碟片機來實施。在某些實施例中,大量儲存器實施為SSD或連同快速儲存技術(restore;RST)快取模組的HDD。在各種實施中,HDD提供320GB-4TB之間及以上的儲存容量,而RST快取是以具有24GB-256GB之容量的SDD來實施。須注意,此SSD快取可選擇被組態成單階快取(SLC)或多階快取(MLC),以提供適當的回應水準。在唯SSD的選項中,模組可容納於各種不同的位置,諸如mSATA 或NGFF插槽。例如,SSD的容量範圍從120GB至1TB。
在系統1300中可存在有不同的輸入/輸出(IO)裝置。特別顯示於圖13之實施例中的是顯示器1324,其可以是高解析LCD或LED面板,被配置在機殼的上蓋部內。此顯示面板也可提供觸控螢幕1325,例如,配接於顯示面板的外部,如此,經由使用者與此觸控螢幕的互動,使用者輸入可提供給系統以致能所想要的操作,例如,關於資訊之顯示、資訊之取用等等。在一實施例中,顯示器1324可經由顯示互連而耦接至處理器1310,該顯示互連可用高性能圖形互連來實施。觸控螢幕1325可經由另一互連耦接至處理器1310,其在實施例中可以是I2 C互連。如圖13中進一步所示,除了觸控螢幕1325外,藉由觸摸的使用者輸入也可以經由觸控板1330而存在,其可配置在機殼內,且也可耦接至與觸控螢幕1325相同的I2 C互連。
顯示面板可以多模式操作。在第一模式中,顯示面板可配置成透明狀態,其中,顯示面板對可見光透明。在不同的實施例中,除了圍繞於周邊的邊框之外,大部分的顯示面板都可顯示。當系統是以筆電模式操作,且顯示面板是以透明狀態操作時,使用者可觀看呈現於顯示面板上之資訊,同時也可看到顯示器後方的物件。此外,位於顯示器後方的使用者也可看到顯示在顯示面板上的資訊。或者,顯示面板的操作狀態可以是不透明狀態,其中,可見 光無法穿透顯示面板。
當底板的底面靠在一表面上或由使用者手持時,系統被折攏成平板模式,以使得顯示面板之後顯示表面來到使其面向外朝向使用者的停靠位置。在平板模式的操作中,後顯示表面實行顯示器與使用者介面之角色,例如此表面可具有觸控螢幕的功能,且可實行習用觸控螢幕裝置的其它已知功能,諸如平板裝置。為此目的,顯示面板可包括透明度調整層,其配置在觸控螢幕層與前顯示表面之間,在某些實施例中,透明度調整層可以是電致變色層(electrochromic layer;EC)、LCD層、或EC與LCD層的組合。
在各不同的實施例中,顯示器可以是不同的尺寸,例如,11.6吋或13.3吋的螢幕,且可具有16:9的長寬比,及至少300尼特的亮度。此外,顯示器可具有全高清的解析度(至少1920x1080p),與內嵌式顯示埠(embedded display port;eDP)相容,且是面板自我更新的低功率面板。
關於觸控螢幕的能力,系統可提供顯示器多點觸控面板,亦即多點觸控能力,且有至少5指的能力。且在某些實施例中,顯示器可有10指的能力。在一實施例中,觸控螢幕係容納於耐損抗刮的玻璃內,並有低摩擦鍍膜(例如,Gorilla GlassTM 或Gorilla Glass 2TM )以減少“手指灼傷”及避免“手指跳略”。為提供增進強的觸控經驗與回應,在某些實施例中,觸控面板具有多點觸控功能,諸 如,在捏拉縮放(pinch zoom)期間,每個靜態視圖少於2個圖框(30Hz),及在200毫秒內(手指到指標器的延遲)每圖框(30Hz)小於1公分的單點觸控功能性。在某些實施例中,顯示器支援具有最小螢幕邊框之邊緣到邊緣的玻璃,亦即與面板表面齊平,且當使用多點觸控時有限的IO干擾。
對於感知計算與其它目的,各種感測器可存在於系統內,且可以不同的方式耦接於處理器1310。某些慣性與環境感測器可透過感測器集線器1340耦接到處理器1310,例如,經由I2 C互連。在圖13所示的實施例中,這些感測器包括加速儀1341、周圍光線感測器(ambient light sensor;ALS)1342、羅盤1343及陀螺儀1344。其它的環境感測器可包括一或多個熱感測器1346,其在某些實施例中經由系統管理匯流排(system management bus;SMBus)匯流排耦接至處理器1310。
使用存在於平台中之各式慣性與環境感測器,可實現很多不同的使用情況。這些使用情況使得能夠做到先進的計算操作,包括感知計算,也允許增進關於電力管理/電池壽命、安全、及系統回應。
例如,關於電力管理/電池壽命的議題,至少部分根據來自四周光線感測器的資訊,平台所在位置之四周光線條件可被決定,並據此控制顯示強度。因此,在某些光線條件中,可減少操作顯示器的電力消耗。
關於安全操作,根據從感測器所得到的情境資訊,諸 如位置資訊,其可決定是否允許使用者取用某些安全文件。例如,使用者可能被准許在工作場所或家的位置取用這類文件。不過,當平台位於公共場所時,使用者被禁止取用這些文件。在一實施例中,此項決定係根據例如經由GPS感測器或由攝像機辨識地標所決定的位置資訊。其它的安全操作可包括提供在近距離內之裝置彼此配對,例如,本文所描述的可攜式平台與使用者的桌上型電腦、行動電話等。在某些實施例中,當這些裝置被配對時,經由近場通訊可實現某些共用。不過,當裝置超過某一範圍時,此共用可能失效。此外,當在公共場所時,當本文所描述的平台與智慧型手機配對時被組態成當裝置彼此移動超過預定的距離時會觸發警報。反之,當這些配對的裝置在安全處所時,例如,工作場所或家的位置,這些裝置可超出此預定的限制而不觸發此警報。
使用感測器資訊可增強響應度。例如,即使平台在低電力狀態,該等感測器仍能夠以較低的頻率運行。因此,平台之位置的任何改變可被決定,例如,如藉由慣性感測器、GPS感測器等所決定。如果沒有此等改變被暫存,則發生與先前的無線集線器較快速的連接,諸如Wi-FiTM 取用點或類似的無線致能器,因為在此情況不需要掃瞄可用的無線網路資源。因此,當從低電力狀態醒來時,可獲得較大的響應位準。
須瞭解,如本文之描述,在很多其它使用情況可使用經由平台內的整合式感測器所得到的感測器資訊,且以上 的例子僅是為說明之目的。使用本文所描述的系統,感知的計算系統可允許額外替代的輸入方式,包括姿勢辨識,使系統能夠感測使用者的操作與意圖。
在某些實施例中可有一或多個紅外線或其它的熱感測元件,或任何其它用於感測使用者出現或移動的其它元件。這些感測元件可包括多個不同的元件一起工作、按順序工作,或兩者併行。例如,感測元件包括提供初始感測的元件,諸如光線或聲音投射,接著是用於姿勢檢測的感測,例如,藉由超音波飛時測距相機或圖案光相機來檢測。
亦是在某些實施例中,系統包括光產生器,用以產生照明光線。在某些實施例中,此光線提供關於虛擬邊界的視覺提示,亦即,在空間中的假想或虛擬位置,使用者通過或穿入虛擬邊界或平面被解譯成意欲與計算系統接觸。在某些實施例中,當計算系統關於使用者而轉變到不同的狀態時,照明光線可改變顏色。照明光線可用來為使用者提供空間中之虛擬邊界的視覺提示,且可供系統使用以決定電腦關於使用者之狀態的轉變,包括決定使用者何時想與電腦接觸。
在某些實施例中,電腦感測使用者的位置與操作,將使用者之手通過虛擬邊界之移動,解譯成指示使用者意欲與電腦接觸的姿勢。在某些實施例中,當使用者穿過虛擬線或平面時,光產生器所產生的光會改變,藉以提供視覺反饋給使用者,提醒使用者已進入用於提供姿勢的區域, 用以提供輸入給電腦。
顯示器畫面可提供計算系統關於使用者之狀態轉變的視覺指示。在某些實施例中,提供第一狀態的第一畫面,其中,藉由系統感測使用者之出現,諸如透過一或多個感測元件之使用。
在某些實施例中,系統採取動作以感測使用者的身份,諸如藉由臉部辨識。在此,轉變到第二狀態可提供的第二畫面,其中,計算系統已辨識了使用者的身份,在此,此第二畫面提供使用者已轉變到新狀態的視覺反饋給使用者。在第三狀態中可能發生轉變到第三畫面,其中,使用者已確認該使用者的辨識。
在某些實施例中,計算系統可使用轉變機制來為使用者決定虛擬邊界的位置,其中,虛擬邊界的位置可隨著使用者與環境改變。計算系統可產生光,諸如照明光線,用以指示與系統接觸的虛擬邊界。在某些實施例中,計算系統可在等待狀態,並產生第一顏色的光。計算系統可檢測已到達的使用者是否經過虛擬邊界,諸如藉由使用感測元件感測使用者的出現與移動。
在某些實施例中,如果使用者已被檢測為已穿越虛擬邊界(諸如使用者的手比虛擬邊界線更靠近計算系統),則該計算系統可轉變到用以接收來自使用者之姿勢輸入的狀態,在此,用以指示此轉變的機制可包括用以指示虛擬邊界的光改變到第二顏色。
在某些實施例中,計算系統可接著決定是否檢測到姿 勢移動。如果檢測到姿勢移動,則計算系統可繼續姿勢辨識處理,在此可包括使用來自姿勢資料庫的資料,其可存在於計算裝置內的記憶體中,或由計算裝置以其它方式取用。
如果使用者的姿勢被辨識,則計算系統可實施回應該輸入的功能,且如果使用者在虛擬邊界內,則返回以接收另外的姿勢。在某些實施例中,如果姿勢未被辨識,則計算系統可轉變到錯誤狀態,在此,用以指示錯誤狀態的機制可包括指示虛擬邊界的光線變成第三顏色,且如果使用者在用於與計算系統接觸的虛擬邊界之內,則系統返回接收另外的姿勢。
如前文所提及,在其它實施例中,系統可組態成可變換平板系統,其可用於至少兩種不同的模式,平板模式與筆電模式。可變換的系統可具有兩片面板,亦即,顯示面板與底面板,使得在平板模式中,兩片面板以一片堆疊在另一片上的方式配置。在平板模式中,顯示面板面朝外,並提供如習用平板中之觸控螢幕的功能。在筆電模式中,兩面板可配置成翻蓋式構形。
在不同的實施例中,加速計可以是資料率至少50Hz的3軸加速計。也可包括陀螺儀,其可以是3軸陀螺儀。此外,可存在電子羅盤/磁力計。此外,可提供一或多個近接感測器(例如,用於上蓋打開以感測人何時靠近(或否)系統並調整電力/效能以延長電池壽命)。關於某些OS的感測器融合能力,包括加速計、陀螺儀、及羅盤可 提供增強的特徵。此外,經由具有即時時脈(real-time clock;RTC)的感測器集線器,當系統的其餘部分都在低電力狀態中時用以接收感測器輸入,可實現從感測器喚醒的機制。
在某些實施例中,內部的頂蓋/顯示器開啟開關或感測器用以指示頂蓋何時關閉/打開,且可用來將系統置入連接待命或從連網待機(Connected Standby)狀態中自動喚醒。其它的系統感測器可包括ACPI感測器,用於內部處理器、記憶體、及表面溫度監視,用以致能根據感測的參數而改變處理器與系統操作的狀態。
在一實施例中,作業系統可以是Microsoft® Windows® 8作業系統,其實施連網待機(在本文中也稱為Win8 CS)。經由本文所描述的平台,Windows 8連網待機或其它具有類似狀態的作業系統可提供極低超空載電力使應用軟體能夠保持連網,例如以極低的電力消耗連接到以雲為基礎的位置。平台可支援3種電力狀態,即,螢幕開(正常);連網待機(為原設的“關”狀態);以及關機(零瓦的電力消耗)。因此,在連網待機狀態中,即使螢幕被關閉,平台係邏輯地開(在最低的電力位準)。在這樣的平台中,可做到電力管理對於應用軟體為透明,並保持固定的連接性,部分是由於卸載技術使得最低功率的組件能夠實施操作。
亦見於圖13,各種周邊裝置可經由低接腳數(low pin count;LPC)互連耦接至處理器1310。在所示的實 施例中,各不同的組件可透過內嵌式控制器1335耦接。此等組件可包括鍵盤1336(例如,經由PS2介面耦接)、風扇1337、及熱感測器1339。在某些實施例中,觸控板1330也可經由PS2介面耦接至內嵌式控制器1335。此外,諸如按照2003年10月2日之信賴運算組織(TCG)TPM規範1.2版之可信賴平台模組(TPM)1338的安全處理器,也可經由此LPC互連耦接至處理器1310。不過,須瞭解,本發明的範圍並不限於此方面,且可在另一受保護的位置進行安全處理與安全資訊的儲存,諸如安全共處理器中的靜態隨機存取記憶體(SRAM),或諸如加密的資料二進制大型物件,其僅當受安全指定位址空間(secure enclave;SE)處理器模式保護時才被解密。
在特定的實施中,周邊埠可包括高清晰度媒體介面(high definition media interface;HDMI)連接器(其可具有不同的形狀因數,諸如全尺寸、迷你、微型);一或多個USB埠,諸如按照通用序列匯流排修訂版本3.0規範(2008年11月)的全尺寸外接埠,具有至少一個埠當系統在連網待機狀態且由牆上AC電源供電時可對USB裝置(諸如智慧型手機)充電。此外,可提供一或多個ThunderboltTM 埠。其它的埠包括可外部取用的讀卡機,諸如全尺寸的SD-XC讀卡機及/或用於WWAN的SIM讀卡機(例如,8接腳讀卡機)。至於聲頻,可存在具有立體聲與微麥克風能力的3.5mm插孔(例如,結合功能) 並支援插孔偵測(例如,在僅支援耳機的上蓋中使用麥克風,或共纜線的耳機與麥克風)。在某些實施例中,此插孔可以在立體耳機與立體麥克風輸入之間切換。此外,也可提供電力插孔用於耦接到AC磚塊。
系統1300有各種方式與外部裝置通訊,其中包括無線方式。圖13所示的實施例中存在有各種不同的無線模組,每一個皆對應於按特定無線通訊協定所組態的無線電。一種方式用於短程無線通訊,諸如經由近場通訊(near field communication;NFC)單元1345的近場方式,在一實施例中,可經由SMBus與處理器1310通訊。須注意,經由此NFC單元1345,彼此貼近的裝置可通訊。例如,使用者可致使系統1300與另一(例如)可攜式裝置通訊,諸如使用者的智慧型手機,經由將兩裝置彼此靠近而配接在一起,並致能資訊的傳輸,諸如識別資訊支付資訊,資料諸如影像資料等。無線電力傳輸也可使用NFC系統來實施。
使用本文所描述的NFC單元,使用者可將兩裝置邊對邊對撞並且將裝置併排放置,藉由善用一或多個此等裝置之線圈間的耦合以用於近場耦合功能(諸如近場通訊與無線電力傳輸(wireless power transfer;WPT))。更明確地說,實施例提供裝置具策略之形狀及擺放的鐵磁物質,以提供線圈更佳的耦合。每一個線圈具有與其相關的電感,其可被選擇以與系統的電阻、電容、及其它特徵結合,以致能用於系統之共用的共振頻率。
如於圖13中進一步所見,額外的無線單元可包括其它的短程無線引擎,包括有WLAN單元1350及藍牙單元1352。按照給定之電機及電子工程師協會(Institute of Electrical and Electronics Engineers;IEEE)802.11標準可實現使用WLAN單元1350、Wi-FiTM 通訊,而經由藍牙單元1352,可發生經由藍牙協定的短程通訊。這些單元可經由例如USB鏈結或通用不同步接收器發射器(universal asynchronous receiver transmitter;UART)鏈結與處理器1310通訊。或者,這些單元可經由按照周邊組件互連快捷(Peripheral Component Interconnect ExpressTM ;PCIeTM )協定的互連與處理器1310耦接,例如,按照基本規範版本3.0(2007年1月17日公布)的PCI ExpressTM 規範,或其它這類協定,諸如串列資料輸入/輸出(serial data input/output;SDIO)標準。當然,這些周邊裝置可被組態成一或多個插接卡,藉由適合於主機板的NGFF連接器做實際的實體連接。
此外,例如按照細胞式或其它無線廣域協定的無線廣域通訊可經由WWAN單元1356而存在,其依次可耦接至用戶識別模組(SIM)1357。此外,為致能接收及使用位置資訊,也可存在GPS模組1355。須注意,在圖13所示的實施例中,WWAN單元1356與整合式的擷取裝置,諸如攝相機模組1354,可經由既有的USB協定,例如USB 2.0或3.0鏈結、或UART或I2 C協定。再次,這些單元之實際的實體連接則可經由NGFF插接卡配接到組態於主 機板上的NGFF連接器。
在特定的實施例中,無線功能可模組化地提供,例如,以支援Windows 8 CS的WiFiTM 802.11ac解決方案(例如,可反向相容於IEEE 802.11abgn的插接卡)提供。此卡可被組態到內部插槽(例如,經由NGFF配接器)。附加模組可提供藍牙能力(例如,可反向相容的藍牙4.0)以及Intel®無線顯示功能。除了經由獨立的裝置或多功能裝置提供NFC支援之外,且例如可置於機殼之右前部分以易於取用。還有的附加模組可以是WWAN裝置,其可提供對於3G/4G/LTE及GPS的支援。此模組可在內部(例如,NGFF)插槽內實施。整合式天線支援可提供給WiFiTM 、藍牙、WWAN、NFC、及GPS,使能夠從WiFiTM 到WWAN無線電的無接縫的傳送,按照無線十億位元規範(2010年7月)之無線十億位元(WiGig),反之亦然。
如上所述,整合式攝像機可結合於上蓋內。如一例,此攝像機可以是高解析攝像機,例如,具有至少2.0百萬像素(MP)且可延伸到6.0MP及以上的解析度。
為提供音頻輸入與輸出,可經由數位信號處理器(DSP)1360實施音頻處理器,其可經由高解析音頻(high definition audio;HDA)鏈結耦接到處理器1310。同樣地,DSP 1360可與整合式編碼解碼器(CODEC)與放大器1362通訊,放大器依次耦接至可在機殼內實施的輸出喇叭1363。同樣地,放大器可與CODEC 1362耦接 以接收來自麥克風1365的音頻輸入,其在實施例中可經由雙陣列麥克風來實施(諸如數位式麥克風陣列),用以提供高品質音頻輸入,以致能系統內各項操作的語音啟動控制。亦須注意,音頻輸出也可從放大器/CODEC 1362提供至耳機插孔1364。雖然圖13的實施例中是以這些特定的組件來顯示,但須瞭解,本發明的範圍並不限於此方面。
在特定的實施例中,數位音頻編碼解碼器與放大器能驅動立體耳機插孔、立體麥克風插孔、內部麥克風陣列與立體喇叭。在不同的實施中,編碼解碼器可整合在音頻DSP內,或經由HD音頻路徑耦接到周邊控制器集線器(peripheral controller hub;PCH)。在某些實施例中,除了整合式立體喇叭之外,還可提供一或多個低音頻喇叭,以及可支援DTS音頻的喇叭方案。
在某些實施例中,處理器1310可由外部的電壓穩壓器(voltage regulator;VR)及被整合在處理器晶粒之內部,稱為全整合式電壓穩壓器(fully integrated voltage regulators;FIVRs)的多個內部電壓穩壓器供電。在處理器中使用多個FIVR使得能夠將組件群組到各個獨立的電源面,以致於FIVR僅穩壓與供應電力給群組中的那些組件。在電源管理期間,當處理器被置於某低電力狀態時,一FIVR的特定電力面的電力被降低或關閉,而另一FIVR的另一電力面則保持活性或全力供電。
在一實施例中,在某些深度睡眠狀態期間,維持電源 面(sustain power plane)可對用於數個I/O信號的I/O接腳供電,諸如處理器與PCH之間的介面,與外部VR的介面及與EC 1335的介面。此維持電源面也對晶粒上,於睡眠狀態期間支援儲存處理器環境的板上SRAM或其它快取記憶體的電壓穩壓器供電。維持電源面也用來對處理器的喚醒邏輯供電,其監視及處理各種喚醒源的信號。
在電源管理期間,當處理器進入深度睡眠狀態時,雖然其它電源面的電力下降或閉閉,但維持電源面保持供電以支援以上所言及的組件。不過,當不需要這些組件時,此會導致不必要的電力消耗或消散。為此目的,實施例可提供連網待機睡眠狀態,使用專用的電源面來保持處理器環境。在一實施例中,連網待機睡眠狀態有利於處理器使用PCH中的資源醒來,而PCH本身存在於處理器的封裝內。在一實施例中,連網待機睡眠狀態有利於將處理器架構功能維持在PCH中,直到處理器醒來,此使得能夠關閉所有不需要的處理器組件,包括關閉所有時脈,而先前這些組件於深度睡眠狀態期間仍被供電。在一實施例中,PCH包含時間戳記計數器(time stamp counter;TSC),且在連網待機狀態期間,連網待機邏輯用來控制系統。此用於維持電源面的整合式電壓穩壓器也位於PCH上。
在實施例中,在連網待機狀態期間,積體的電壓穩壓器的功能可做為專用的電源面,其保持電力開啟以支援專用的快取記憶體,當處理器進入深度睡眠狀態與連網待機狀態時,處理器環境儲存於快取記憶體中,諸如關鍵的狀 態變數。此關鍵狀態可包括與架構、微架構、除錯狀態相關聯的狀態變數,及/或與處理器相關聯之類似的狀態變數。
在連網待機狀態期間,來自EC1335的喚醒源信號可傳送至PCH而非處理器,以便PCH可取代處理器來管理喚醒處理。此外,TSC保持在PCH中以便於維持處理器架構功能。雖然圖13之實施例中顯示這些特定的組件,但須瞭解,本發明之範圍並不限於此方面。
處理器中的電力控制可導致更加節省電力。例如,在各核心之間電力可動態地配置,各個核心可改變頻率/電壓,且可提供多個深度低電力狀態,以使電力消耗能夠極低。此外,可提供核心或獨立之核心部分的動態控制,當組件未被使用時,藉由將其斷電以減少電力消耗。
某些實施可提供指定的電源管理IC(power management IC;PMIC)用以提供平台電源。使用此解決方案,當在特定的待機狀態,諸如Win8的連網待機狀態,系統可在很長的期間(例如,16小時)所見的電池衰退極低(例如,小於5%)。在Win8的閒置狀態,可實現例如超過9小時的電池壽命(例如,在150尼特)。關於視訊播放,可實現長的電池壽命,例如,至少6小時的全高清視訊播放。在一實施的平台中,對於使用SSD的Win8 CS,具有例如35瓦小時(Whr)的能量容量,及(例如)對於使用具有RST快取組態之HDD的Win8 CS,具有例如40-44Whr的能量容量。
以熱設計功率(thermal design power;TDP)設計點高達大約25瓦的可組態CPU TDP,可提供支援15瓦之標稱CPU TDP的特定實施。由於上述的熱特徵,平台可包括最小的排氣孔。此外,該平台支援架座(其中不會有熱空氣吹向使用者)。視機殼的材料而定,可實現不同的最高溫度點。在塑膠機殼(至少具有塑膠的上蓋或基座部分)的實施中,最高的工作溫度可以是攝氏52度。對於金屬機殼之實施,最高的工作溫度可以是攝氏46度。
在不同的實施中,諸如TPM之安全模組可整合到處理器內,或可以是分立的裝置,諸如TPM2.0裝置。整合式的安全模組也稱為平台可信賴技術(Platform Trust Technology;PTT),以其可使BIOS/韌體能夠顯露某些用於某些安全特徵的硬體特徵,這些特徵包括安全指令、安全啟動、Intel®防盜取技術(Anti-Theft Technology)、Intel®身份保護技術(Identity Protection Technology)、Intel®可信賴執行技術(Trusted Execution Technology;TXT)、以及Intel®的可管理性引擎技術(Manageability Engine Technology),連同安全使用者介面,諸如安全鍵盤與顯示器。
相較於現有系統,本文所描述的實施例提供數項優點與差異。分散式一致性與記憶體組構架構便於透過使用平行管線而同時取用快取代理與非快取IO代理,包括藉由支援快取與非快取代理兩者對快取線的共享取用,同時保持記憶體一致性與施行正確的定序。使用平行管線比使用 單管線的習用架構易於獲得更大的記憶體產出量。藉由提供快取與非快取代理兩者對記憶體資源的取用共享,該架構所提供的改進,優於對於快取與非快取代理使用各自分開操作的獨立管線且不提供取用共享之現有方法。藉由將位址匹配硬體與定序硬體去耦,使該架構能達高性能,對於I/O請求的分散式衝突檢查,同時保持正確的定序行為。藉由使用上述方法將多個虛擬通道映射到較少的衝突種類,該架構減少通常與典型系統相關聯之用於每一個虛擬通道之專用資源所帶來的面積佔空,同時達成所需的服務品質(QoS)。
以下的例子有關於進一步的實施例。在實施例中,一方法包括由電腦系統中包含處理器核心或CPU的啟始器啟始異動,該電腦系統包括有記憶體組構及包含至少一個I/O組構的I/O互連階層,該異動請求取用與該異動之目標相關聯之受保護的資產,其是經由記憶體組構或I/O組構被取用,根據啟始器之識別符配合識別啟始器係正操作在可信賴執行模式中的指標,在啟始器之外部產生不可變的安全屬性,其中,該指標係儲存該啟始器之外部,向目標發送該異動與不可變的安全屬性,如果啟始器正執行於一或多個可信賴執行模式中,則對該受保護的資產實施取用政策,在該取用政策之下,由啟始器所啟始之異動被准許取用該受保護的資產,以及,透過使用該不可變的安全屬性來施行取用政策。在實施例中,該方法進一步包括於啟始器正操作於可信賴執行模式的同時,將位在啟始器外 部用以指示啟始器之現有執行模式的現有模式指標設定為可信賴執行模式。在實施例中,由啟始器啟始的異動包含第二異動,且該方法進一步包含在第二異動之前,由啟始器啟始第一異動,其包括識別該異動的指標係用於以啟始器之現有執行模式來更新啟始器外部的模式暫存器,產生對應於第一異動之不可變的安全屬性,將安全屬性向前發送給該模式暫存器,以及,以指示啟始器之現有執行模式的指標來更新模式暫存器。在實施例中,該方法進一步包括如果不可變的安全屬性指示允許取用模式暫存器,則透過使用准許取用模式暫存器之不可變的安全屬性施行取用政策。
在方法的實施例中,不可變之安全屬性的產生係進一步根據由啟始器所產生的安全指標。在實施例中,不可變之安全屬性的產生,係進一步根據該異動係預定類型之I/O異動之決定。在實施例中,可信賴執行模式係微碼執行模式。在實施例中,該目標包含系統記憶體,其經由記憶體控制器被操作地耦接至記憶體組構,且取用政策係在記憶體控制器處施行。
在實施例中,啟始器包含耦接至系統代理的處理器核心,且其中安全屬性係藉由系統代理中的嵌式邏輯所產生。在實施例中,安全屬性係藉由記憶體組構中的嵌式邏輯所產生。
按照進一步的實施例,設備係以用於實施前述方法操作的機構所組態而成。在實施例中,設備包括複數個處理 器核心;至少一個處理器核心被組態成以多個執行模式執行,該多個執行模式包括至少一個可信賴執行模式及至少一個不可信賴執行模式,記憶體組構,與每一個處理器核心操作地耦接,I/O互連階層包含複數個I/O組構,該I/O互連階層包含複數個I/O組構,包括佔據該階層之頂層並經由I/O介面操作性耦接至記憶體組構的主I/O組構,複數個I/O裝置,每一個耦接至I/O組構,安全屬性產生單元,位在每一個處理器核心之外部,被組態成以在複數個輸入所接收之輸入資料為函數,來產生用於異動之不可變的安全屬性,以及複數個取用政策施行區塊,每一個區塊被組態成根據為異動所產生的安全屬性而施行取用政策,在該取用政策之下,允許異動取用與該取用政策施行區塊相關之受保護的資產。當該設備在包括有經由記憶體控制器操作地耦接至該記憶體組構之系統記憶體的電腦系統中操作時,該設備被組態成由啟始器啟始異動,該啟始器包含有正以可信賴執行模式執行的處理器核心,該異動包含取用與目標相關之受保護之資產的請求,而該目標包含其中之一的系統記憶體或其中之一的I/O裝置,根據啟始器之識別符並配合識別啟始器正以可信賴執行模式操作的指標,經由安全屬性產生單元來產生不可變的安全屬性,向目標發送異動與不可變的安全屬性,經由與受保護之資產相關的取用政策施行區塊及透過使用不可變的安全屬性,施行用於受保護之資產的取用政策。
在該設備的實施例中,輸入到安全屬性產生單元之複 數個輸入包括指示該異動係安全的輸入,亦即該輸入與異動係分開傳送。在實施例中,安全屬性產生單元的複數個輸入包括識別該異動為特許之I/O異動的指標。在實施例中,複數個處理器核心耦接至系統代理,且安全屬性產生單元包含嵌在系統代理中的邏輯。
在實施例中,該設備進一步包括耦接至安全屬性產生單元之輸入的模式暫存器,其中,模式暫存器被組態成儲存識別處理器核心之執行模式的指標。在實施例中,該設備進一步包括邊帶通道,執行模式指標經由邊帶通道轉移到模式暫存器。在實施例中,其中,由啟始器啟始的異動包含第二異動,且其中,當設備在電腦系統中操作時,該設備進一步被組態成在第二異動之前啟始第一異動,其包括識別該異動的指標係用於以啟始器的現有執行模式來更新模式暫存器,在安全屬性產生單元處產生對應於第一異動的安全屬性,將安全屬性向前發送給模式暫存器,以指示啟始器之現有執行模式的指標來更新模式暫存器。在實施例中,該設備進一步包括取用政策施行邏輯,被組態成根據包括在用於發送訊息給模式暫存器之安全屬性內的指標,准許或拒絕對模式暫存器之取用。
按照另外的實施例,SOC包括具有複數個處理器核心的CPU及被CPU操作地耦接的系統代理,該系統代理包括有安全屬性產生單元,被組態成產生用於由CPU所啟始之異動之不可變的安全屬性,該安全屬性用以識別用於每一個異動之CPU的執行模式,I/O互連階層包含複數個 I/O組構,包括佔據階層之頂層並耦接至系統代理的主I/O組構,複數個I/O裝置,每一個皆耦接至I/O組構,至少其中一個該I/O裝置與一或多個且受保護的資產相關,以及複數個取用政策施行區塊,每一個皆被組態成施行用於與I/O裝置相關之一或多個受保護之資產的取用政策,在該取用政策之下,根據所產生用於該異動的安全屬性,允許或拒絕具有包含該I/O裝置之目標的異動對與I/O裝置相關之受保護之資產的取用。SoC在電腦系統中操作的期間,如果CPU正以非信賴執行模式操作,則不允許源自於CPU的異動取用受保護的資產。
在SoC的實施例中,系統代理另包括模式暫存器,識別CPU之執行模式的指標儲存於其中,且其中,安全屬性產生單元被耦接至模式暫存器,並使用執行模式指標做為輸入,用來產生用於異動的安全屬性。在實施例中,SoC被組態成實施多層級安全設計,用以取用受保護的資產,在多層級安全設計之下,以由正以可信賴執行模式操作之CPU所啟始的第一異動來更新模式暫存器中的執行模式指標,用以指示CPU正以可信賴執行模式操作,及由正以可信賴執行模式中操作之CPU啟始的第二異動用以取用受保護的資產。在實施例中,I/O互連階層包含使用第一協定的第一I/O組構,具有第二協定之第二I/O組構經由具有被組態成在第一協定與第二協定之間映射安全屬性之映射器的橋接器耦接至第一I/O組構。
按照另一實施例,提供用於實施前述方法、設備、與 SoC態樣的系統。在實施例中,系統包括SoC,該SoC具有包括複數個處理器核心的中央處理單元(CPU),被每一個處理器核心操作地耦接的系統代理,系統代理包括耦接至記憶體控制器的記憶體組構,及安全屬性產生單元,被組態成產生用於由CPU所啟始之異動的不可變安全屬性,包含複數個I/O組構的I/O互連階層,每一個I/O組構耦接至至少一個其它的I/O組構,I/O階層包括佔據該階層之頂層並耦接至系統代理的主I/O組構,複數個I/O裝置,每一個皆耦接至I/O組構,包括快閃記憶體控制器,以及複數個取用政策施行區塊,每一個被組態成對與I/O裝置相關之一或多個受保護的資產施行取用政策,在該取用政策之下,具有包含I/O裝置之目標的異動根據所產生用於該異動的安全屬性,來允許或拒絕對該I/O裝置中受保護之資產的取用。系統進一步包括系統記憶體,操作地耦接至記憶體控制器,以及快閃記憶體,操作地耦接至快閃記憶體控制器,快閃記憶體內儲存具有包含基本輸入輸出系統(BIOS)的第一複數個指令及包含作業系統的第二複數個指令。當系統操作時,SoC被組態成啟始來自包含有正以可信賴模式執行之處理器核心之啟始器的異動,該異動包含取用與目標I/O裝置相關聯之受保護之資產的請求,根據啟始器之識別符配合識別該啟始器係正以可信賴執行模式操作之指標,經由安全屬性產生單元來產生不可變的安全屬性,朝向目標I/O裝置發送異動及該不可變的安全屬性,以及,經由與目標I/O裝置相關的取用 政策施行區塊及透過使用該不可變的安全屬性,施行用於受保護之資產的取用政策。
在一實施例中,系統代理進一步包括耦接至安全屬性產生單元之輸入的模式暫存器,其中,模式暫存器被組態成儲存識別處理器核心之執行模式的指標。在實施例中,由啟始器啟始的異動包含第二異動,且其中,當系統操作時,SoC被組態成在第二異動之前啟始第一異動,其包括的指標用於識別該異動係以啟始器的現有執行模式來更新模式暫存器,在安全屬性產生單元產生對應於第一異動之不可變的安全屬性,將不可變的安全屬性向前發送至模式暫存器,以及,以指示啟始器之現有執行模式的指標更新模式暫存器。
雖然已關於有限的幾個實施例描述了本發明,但熟悉此方面之技術人士將理解,從其可有很多的修改與衍生。所附的申請專利範圍意欲涵蓋落於本發明之真正精神與範圍內的所有此類修改與衍生。
一項設計要經歷各不同的階段,從創意到模擬到製造。以資料表述設計可用若干方法來表示設計。首先,如用於模擬,硬體可使用硬體描述語言或其它的功能描述語言來表述。此外,具有邏輯及/或電晶體閘之電路層級的模型,可在設計過程的某些階段產生。此外,大多數的設計,在某些階段,到達以資料表述各裝置在硬體模型中之配置的層級。在使用習知的半導體製造技術的情況中,代表硬體模型的資料可以是詳細說明各不同特徵存在或不存 在於用來製造積體電路之各不同光罩層上的資料。在設計的任何表示法中,資料可儲存在任何形式的非暫時性機器可讀取媒體中。
本文所使用的模組或組件意指硬體、軟體、及/或韌體的任何組合。例如,模組或組件包括硬體,諸如微控制器,與用來儲存適合微控制器執行之碼的非暫時性媒體結合。因此,在一實施例中提及的模組或組件,意指特別被組態成辨識及/或執行保存在非暫時性媒體中之碼的硬體。此外,在另一實施例中,使用模組或組件意指包括有碼的非暫時性媒體,其特別適合由微控制器來執行,用以實施預定的操作。仍是在另一實施例中,名詞模組(在本例中)可推論為意指微控制器與非暫時性媒體的組合。通常分開說明的模組及/或組件邊界經常變化,且可能重疊。例如,第一與第二模組可共用硬體、軟體、韌體、或它們的組合,然而有可能保有某些獨立的硬體、軟體、或韌體。在一實施例中,所使用的名詞“邏輯”包括硬體,諸如電晶體、暫存器、或其它硬體,諸如可程式邏輯裝置。
在一實施例中,使用片語“操作性地耦接”意指組件、邏輯、及/或模組彼此直接(例如,經由實體信號路徑)或間接(例如,經由介於其間的一或多個組件、介面、控制器等)耦接。此外,在某些實施例中,當設備或系統操作時,組件、邏輯、及/或模組可操作性地耦接。例如,交換組構被組態成將交換組構之各不同入口介面處所接收的信號交換地耦接至交換組構之被選擇到的出口介面,因 此,以通訊方式選擇性地耦接被耦接到此等入口與出口介面的組件。
在一實施例中使用片語“用以”或“被組態成”意指設置、放置在一起、製造、提供販售、導入及/或設計一設備、硬體、邏輯、或元件以實施所指定或決定的工作。在本例中,其本身不操作的設備或元件,如果被設計、耦接、及/或互連以實施該指定的工作仍“被組態成”實施指定的工作。如純粹用於說明的例子,邏輯閘於操作期間可提供0或1。但“被組態成”提供致能信號給時脈的邏輯閘,並非包括可提供1或0之每一個可能的邏輯閘。代之以該邏輯閘係以某種方式被耦接,於操作期間輸出1或0以致能時脈的邏輯閘。須再次注意,使用名詞“被組態成”並不需要操作,但代之以專注於設備、硬體、及/或元件之潛態,在此,在潛態中,設備、硬體、及/或元件被設計成當設備、硬體、及/或元件於操作時實施的特定工作。
此外,在一實施例中,使用片語“具有能力/有能力做”及或“可操作來”,意指某些設備、邏輯、硬體、及/或元件係按使該設備、邏輯、硬體、及/或元件能夠按指定之方式使用的方式來設計。如前文所提示,在一實施例中,使用用以、有能力來、或可操作來等詞,意指設備、邏輯、硬體、及/或元件的潛態,其中,該設備、邏輯、硬體、及/或元件不操作,但係按使設備能夠以指定方式使用的方式設計。
在本文中所使用的“值”,包括數字、狀態、邏輯狀態、或二進制邏輯狀態之任何已知的表示法。通常,使用邏輯位準、邏輯值、或也稱為1與0的邏輯值簡單代表二進制邏輯狀態。例如,1意指高邏輯位準及0意指低邏輯位準。在一實施例中,儲存格,諸如電晶體或快閃記憶體格,有能力保存單個邏輯值或多個邏輯值。不過,電腦系統中也使用其它的值表示法。例如,十進位數字十也可表示成二進制值的1010及十六進位的字母A。因此,值包括能夠被保存在電腦系統中之任何的資訊表示法。
此外,狀態可由值或部分的值來表示。例如,第一個值,諸如邏輯1,可代表原設或初始狀態,而第二個值,諸如邏輯0,可代表非原設狀態。此外,在一實施例中,名詞重置與設定分別意指原設與更新值或狀態。例如,原設值可能包括高邏輯值,即,重置,而更新的值可能包括低邏輯值,即,設定。須注意,可使用值的任何組合來代表任何數量的狀態。
以上所陳述之方法、硬體、軟體、韌體、或碼的實施例,可經由儲存在機器可存取、機器可讀取、電腦可存取、或電腦可讀取媒體上,可被處理元件執行的指令或碼來實施。非暫時性機器可存取/讀取媒體包括以機器可讀取之形式提供(即,儲存及/或傳送)資訊的任何機制,諸如電腦或電子系統。例如,非暫時性機器可存取媒體包括隨機存取記憶體(RAM),諸如靜態RAM(SRAM)或動態RAM(DRAM);ROM;磁性或光學儲存媒體;快 閃記憶體裝置;電儲存裝置;光儲存裝置;聲儲存裝置;用於保存接收自暫時性(被傳播的)信號(例如,載波、紅外線信號、數位信號)之資訊的其它儲存裝置形式;等,其有別於可從其接收資訊的非暫時性媒體。
用來程式邏輯以實施本發明之實施例的指令可儲存在系統的記憶體中,諸如DRAM、快取記憶體、快閃記憶體、或其它的儲存器。此外,指令可經由網路或藉由其它的電腦可讀取媒體分配。因此,機器可讀取媒體可包括以機器(例如,電腦)可讀取之形式來儲存或傳送資訊的任何機制,但不限於軟式磁碟、光學碟片、光碟、唯讀記憶體(CD-ROM)、及磁光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可程式唯讀記憶體(EPROM)、電氣可抹除可程式唯讀記憶體(EEPROM)、磁性或光學卡、快閃記憶體、或實體機器可讀取儲存器。因此,電腦可讀取媒體包括適合以機器(例如,電腦)可讀取之形式來儲存或傳送電子指令或資訊之任何類型的實體機器可讀取媒體。
本說明書從頭到尾所參考之“一實施例”或“實施例”意指所描述與實施例有關之特定的特徵、結構、或特性包括在本發明的至少一實施例中。因此,在本說明書從頭到尾各處出現的片語“一實施例”或“實施例”並不必然全部參考相同的實施例。此外,在一或多個實施例中特定的特徵、結構、或特性可按任何適合之方式結合。
在前文的說明書中,已參考特定的例示性實施例做了 詳細描述。不過,很明顯,可對其做各種的修改與改變,不會偏離如所附申請專利範圍中所陳述之本發明更寬廣的精神與範圍。因此,說明書與圖式可視為說明之意而非限制之意。此外,前文所使用的實施例與其它例示性語言並不必然意指相同的實施例或相同的例子,及可能相同的實施例,而是可能意指不同且各別的實施例。

Claims (30)

  1. 一種方法,包含:由啟始器啟始異動,該啟始器包含在計算裝置中的處理元件,該處理元件包括有記憶體組構及包含至少一個輸入/輸出(I/O)組構之輸入/輸出互連階層,該異動請求對與該異動目標相關聯之受保護資產的取得;根據該啟始器之識別符配合識別該啟始器係正操作在可信賴執行模式中的指標,在該啟始器之外部,來產生不可變的安全屬性,其中,該指標係儲存在該啟始器之外部;向該目標發送該異動與該不可變的安全屬性;如果該啟始器正執行於一或多個可信賴執行模式中,則對該受保護的資產實施取用政策,由啟始器所啟始之異動之對該受保護之資產的取用在該取用政策之下被准許;以及經由使用該不可變的安全屬性來施行該取用政策。
  2. 如申請專利範圍第1項之方法,進一步包含:於該啟始器正操作於可信賴執行模式的同時,將在該啟始器外部指示該啟始器之現有執行模式的現有模式指標設定為可信賴執行模式。
  3. 如申請專利範圍第2項之方法,其中,由該啟始器啟始的該異動包含第二異動,該方法進一步包含:在該第二異動之前,由該啟始器啟始第一異動,其包括識別該異動的指標係用於以該啟始器之現有執行模式來 更新該啟始器外部的模式暫存器;產生對應於該第一異動之不可變的安全屬性;以該安全屬性發送給該模式暫存器;以及以指示該啟始器之該現有執行模式之指標來更新該模式暫存器。
  4. 如申請專利範圍第3項之方法,進一步包含經由使用該不可變的安全屬性執行取用政策准許,如果該不可變的安全屬性指示允許取用該模式暫存器,則取用該模式暫存器。
  5. 如申請專利範圍第1項之方法,其中,該不可變之安全屬性的產生係進一步根據由該啟始器所產生的安全指標。
  6. 如申請專利範圍第1項之方法,其中,該不可變之安全屬性的產生係進一步根據該異動係預定類型之輸入/輸出異動之決定。
  7. 如申請專利範圍第1項之方法,其中,該可信賴執行模式係微碼執行模式。
  8. 如申請專利範圍第1項之方法,其中,該目標包含系統記憶體,其經由記憶體控制器被操作地耦接至該記憶體組構,且該取用政策係在該記憶體控制器處被執行。
  9. 如申請專利範圍第1項之方法,其中,該啟始器包含耦接至系統代理的處理器核心,且其中該安全屬性係藉由該系統代理中的嵌式邏輯所產生。
  10. 如申請專利範圍第1項之方法,其中,該安全屬 性係藉由該記憶體組構中的嵌式邏輯所產生。
  11. 一種設備,包含:複數個處理器核心,至少一個處理器核心被組態成以多個執行模式執行,該多個執行模式包括至少一個可信賴執行模式及至少一個不可信賴執行模式;記憶體組構,與每一個該處理器核心操作地耦接;輸入/輸出(I/O)互連階層;安全屬性產生單元,在每一個該處理器核心之外部,被組態以產生用於異動之不可變的安全屬性成為在複數個輸入接收之輸入資料的函數;以及複數個取用政策施行區塊,每一個區塊被組態成根據產生用於該異動的安全屬性而施行取用政策,在該取用政策之下,允許異動取用與該取用政策施行區塊相關之受保護的資產,其中,當該設備在包括有經由記憶體控制器操作地耦接至該記憶體組構之系統記憶體的電腦系統中操作時,該設備被組態成,由啟始器啟始異動,該啟始器包含有以可信賴執行模式執行的處理器核心,該異動包含請求取用與目標相關之受保護之資產的請求,該目標包含其中之一的系統記憶體或其中之一的該輸入/輸出裝置;根據該啟始器之識別符配合識別該啟始器正以可信賴執行模式操作的指標,經由該安全屬性產生單元來產生不可變的安全屬性;以及 向該目標發送該異動與該不可變的安全屬性。
  12. 如申請專利範圍第11項之設備,其中,輸入到該安全屬性產生單元之該複數個輸入包括指示該異動係安全的輸入,該輸入係與該異動分開傳送。
  13. 如申請專利範圍第11項之設備,其中,該安全屬性產生單元之該複數個輸入包括識別該異動為特許之輸入/輸出異動的指標。
  14. 如申請專利範圍第11項之設備,進一步包含耦接至該安全屬性產生單元之輸入的模式暫存器,其中,該模式暫存器被組態成儲存識別該處理器核心之執行模式的指標。
  15. 如申請專利範圍第14項之設備,進一步包含邊帶通道,執行模式指標經由該邊帶通道轉移到該模式暫存器。
  16. 如申請專利範圍第15項之設備,其中,由該啟始器啟始的該異動包含第二異動,且其中,當該設備在該電腦系統中操作時,該設備進一步被組態成,在該第二異動之前啟始第一異動,其包括識別該異動的指標係用於以該啟始器之現有執行模式來更新該模式暫存器;在該安全屬性產生單元處產生對應於該第一異動的安全屬性;將該安全屬性發送給該模式暫存器;以及以指示該啟始器之該現有執行模式之指標來更新該模 式暫存器。
  17. 如申請專利範圍第14項之設備,進一步包含取用政策施行邏輯,被組態成根據用於被送至模式暫存器的訊息的包括在安全屬性內之指標,准許或拒絕對該模式暫存器之取用。
  18. 如申請專利範圍第11項之設備,其中,該複數個處理器核心被耦接至系統代理,且該安全屬性產生單元包含內嵌在該系統代理內的邏輯。
  19. 一種系統晶片(System on a Chip;SoC),包含:複數個處理器核心;系統代理,該複數個處理器核心被操作地耦接至該系統代理,該系統代理包括安全屬性產生單元,被組態成產生用於由該複數個處理器核心至少其中一個特定核心啟始之異動之不可變的安全屬性,該安全屬性用以識別用於每一個異動之該特定核心的執行模式;輸入/輸出(I/O)互連階層包含複數個輸入/輸出組構;複數個輸入/輸出裝置,每一個皆耦接至該複數個輸入/輸出組構之輸入/輸出組構,至少一個該輸入/輸出裝置與一或多個且受保護的資產相關;複數個取用政策施行區塊,每一個皆被組態成施行用於與輸入/輸出裝置相關之一或多個受保護之資產的取用政策,在該取用政策之下,根據所產生用於該異動的安全 屬性,允許或拒絕具有包含該輸入/輸出裝置之目標的異動對與該輸入/輸出裝置相關之受保護之資產的取用,其中,在電腦系統中的該系統晶片(SoC)操作期間,如果該特定核心正以非信賴執行模式操作,則不允許源自於該特定核心的異動取用受保護的資產。
  20. 如申請專利範圍第19項之系統晶片(SoC),其中,該系統代理進一步包括模式暫存器,識別該特定核心之執行模式的指標儲存於其中,且其中,該安全屬性產生單元被耦接至該模式暫存器,並使用該執行模式指標做為用來為異動產生安全屬性的輸入。
  21. 如申請專利範圍第20項之系統晶片(SoC),其中,該系統晶片(SoC)被組態成實施取用受保護之資產的多層級安全設計,在該多層級安全設計之下,以啟始自正以可信賴執行模式操作之該特定核心的第一異動來更新該模式暫存器中的執行模式指標,以指示該特定核心正以可信賴執行模式操作,及以啟始自正以可信賴執行模式操作之該特定核心的第二異動用來取用受保護的資產。
  22. 如申請專利範圍第19項之系統晶片(SoC),其中,該輸入/輸出互連階層包含使用第一協定的第一輸入/輸出組構,具有第二協定之第二輸入/輸出組構經由具有被組態成在該第一協定與該第二協定映射安全屬性之映射器的橋接器耦接至該第一輸入/輸出組構。
  23. 一種系統,包含:系統晶片(SoC),包括, 中央處理元件(CPU),包括複數個處理器核心;系統代理,每一個該處理器核心操作地耦接至該系統代理,該系統代理包括耦接至記憶體控制器的記憶體組構,及被組態成產生用於由該中央處理單元所啟始之異動的不可變之安全屬性的安全屬性產生單元;輸入/輸出(I/O)互連階層,包含複數個輸入/輸出組構,每一個耦接至至少一個其它的輸入/輸出組構,該輸入/輸出階層包括佔據該階層之頂層並耦接至該系統代理的主輸入/輸出組構;複數個輸入/輸出裝置,每一個耦接至輸入/輸出組構,包括快閃記憶體控制器;以及複數個取用政策施行區塊,每一個被組態成對與輸入/輸出裝置相關的一或多個受保護的資產施行取用政策,在該取用政策之下,具有包含該輸入/輸出裝置之目標的異動根據所產生用於該異動的安全屬性,來允許或拒絕對該輸入/輸出裝置中受保護之資產的取用;系統記憶體,操作地耦接至該記憶體控制器;以及快閃記憶體,操作地耦接至該快閃記憶體控制器,該快閃記憶體內儲存具有包含基本輸入輸出系統(BIOS)的第一複數個指令及包含作業系統的第二複數個指令;其中,當該系統操作時,該系統晶片(SoC)被組態成,由包含有以可信賴模式執行之處理器核心之啟始器啟始的異動,該異動包含取用與目標輸入/輸出裝置相關之 受保護之資產的請求;根據該啟始器之識別符配合識別該啟始器係正以可信賴執行模式操作之指標,經由該安全屬性產生單元來產生不可變的安全屬性;朝向該目標輸入/輸出裝置發送該異動及該不可變的安全屬性;以及經由與該目標輸入/輸出裝置相關的取用政策施行區塊及透過使用該不可變的安全屬性,施行用於該受保護之資產的該取用政策。
  24. 如申請專利範圍第23項之系統,其中,該系統代理進一步包含耦接至安全屬性產生單元之輸入的模式暫存器,其中,該模式暫存器被組態成儲存識別該處理器核心之執行模式的指標。
  25. 如申請專利範圍第24項之系統,其中,由該啟始器啟始的該異動包含第二異動,且其中,當該系統操作時,該系統晶片(SoC)被組態成,在該第二異動之前啟始第一異動,其包括識別該異動的指標係以用於該啟始器的現有執行模式來更新該模式暫存器;在該安全屬性產生單元產生對應於該第一異動之不可變的安全屬性;將該不可變的安全屬性發送至該模式暫存器;以及以指示該啟始器之該現有執行模式的指標更新該模式暫存器。
  26. 一種設備,包含:處理元件,用以產生異動;以及代理,耦接至該處理元件,該代理包括安全產生邏輯,其中,該安全產生邏輯係用來回應該代理接收該異動,根據對應於該處理元件的識別符及將與該處理元件相關的執行模式,來產生將與該異動相關的安全屬性。
  27. 如申請專利範圍第26項之設備,其中,該設備進一步包含耦接至該代理的輸入/輸出組構,及耦接至該輸入/輸出組構的輸入/輸出裝置。
  28. 如申請專利範圍第26項之設備,其中,該處理元件係用來產生後續伴隨有該安全屬性的異動,且其中,該設備進一步包含政策施行邏輯,用來根據伴隨該後續異動之該安全資產,來決定是否准許取用安全的資產。
  29. 如申請專利範圍第26項之設備,其中,該處理元件產生異動包含該處理元件執行並置碼,用以組態在該代理中之模式暫存器,且其中,該輸入/輸出組構包括控制政策邏輯,用來在該異動可以取用該模式暫存器之前,先驗證該安全屬性。
  30. 如申請專利範圍第26項之設備,其中,該處理元件產生異動包含該處理元件執行並置碼,用以組態在該代理中之模式暫存器,且其中,該輸入/輸出組構包括控制政策邏輯,用來在該異動可以取用該模式暫存器之前,先驗證該安全屬性。
TW103107236A 2013-03-14 2014-03-04 以安全屬性限制cpu異動的方法、設備及系統 TWI514191B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/828,676 US8959576B2 (en) 2013-03-14 2013-03-14 Method, apparatus, system for qualifying CPU transactions with security attributes

Publications (2)

Publication Number Publication Date
TW201506673A TW201506673A (zh) 2015-02-16
TWI514191B true TWI514191B (zh) 2015-12-21

Family

ID=51534944

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103107236A TWI514191B (zh) 2013-03-14 2014-03-04 以安全屬性限制cpu異動的方法、設備及系統

Country Status (6)

Country Link
US (1) US8959576B2 (zh)
EP (1) EP2972785B1 (zh)
KR (1) KR101702287B1 (zh)
CN (1) CN104981815B (zh)
TW (1) TWI514191B (zh)
WO (1) WO2014158744A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150058524A1 (en) * 2012-01-04 2015-02-26 Kenneth C. Creta Bimodal functionality between coherent link and memory expansion
US9229895B2 (en) * 2012-09-13 2016-01-05 Intel Corporation Multi-core integrated circuit configurable to provide multiple logical domains
US9526285B2 (en) 2012-12-18 2016-12-27 Intel Corporation Flexible computing fabric
US9465938B2 (en) * 2014-09-22 2016-10-11 Qualcomm Incorporated Integrated circuit and method for detection of malicious code in a first level instruction cache
US9996487B2 (en) * 2015-06-26 2018-06-12 Intel Corporation Coherent fabric interconnect for use in multiple topologies
US9733689B2 (en) * 2015-06-27 2017-08-15 Intel Corporation Hardware apparatuses and methods to perform transactional power management
DE112015006944B4 (de) 2015-09-25 2023-03-23 Intel Corporation Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
US10664179B2 (en) * 2015-09-25 2020-05-26 Intel Corporation Processors, methods and systems to allow secure communications between protected container memory and input/output devices
US9690495B2 (en) 2015-11-03 2017-06-27 International Business Machines Corporation Emulating memory mapped I/O for coherent accelerators in error state
US10025741B2 (en) * 2016-01-13 2018-07-17 Samsung Electronics Co., Ltd. System-on-chip, mobile terminal, and method for operating the system-on-chip
US9984009B2 (en) * 2016-01-28 2018-05-29 Silicon Laboratories Inc. Dynamic containerized system memory protection for low-energy MCUs
CN105786571A (zh) * 2016-02-29 2016-07-20 珠海市魅族科技有限公司 一种移动终端的控制方法及移动终端
US10572687B2 (en) * 2016-04-18 2020-02-25 America as represented by the Secretary of the Army Computer security framework and hardware level computer security in an operating system friendly microprocessor architecture
US10318440B2 (en) * 2016-09-23 2019-06-11 Intel Corporation Mapping security policy group registers
US10956325B2 (en) * 2016-12-12 2021-03-23 Intel Corporation Instruction and logic for flushing memory ranges in a distributed shared memory system
US10416991B2 (en) 2016-12-14 2019-09-17 Microsoft Technology Licensing, Llc Secure IoT device update
US10402273B2 (en) 2016-12-14 2019-09-03 Microsoft Technology Licensing, Llc IoT device update failure recovery
US10715526B2 (en) 2016-12-14 2020-07-14 Microsoft Technology Licensing, Llc Multiple cores with hierarchy of trust
WO2018132477A1 (en) * 2017-01-10 2018-07-19 Renesas Electronics America Inc. A security architecture and method
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
EP3407559A1 (en) * 2017-05-26 2018-11-28 Authentic Vision GmbH System and method to manage privileges based on the authentication of an uncloneable security device
US10747908B2 (en) 2017-06-02 2020-08-18 Apple Inc. Secure circuit control to disable circuitry
US11176280B2 (en) 2017-06-02 2021-11-16 Apple Inc. Secure circuit control to disable circuitry
US10331578B2 (en) * 2017-06-09 2019-06-25 Intel Corporation Fine-grained access host controller for managed flash memory
US20190004978A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Security role identifier pools allocation
US11100023B2 (en) * 2017-09-28 2021-08-24 Intel Corporation System, apparatus and method for tunneling validated security information
US10482258B2 (en) * 2017-09-29 2019-11-19 Nxp Usa, Inc. Method for securing runtime execution flow
US20190042473A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Technologies for enabling slow speed controllers to use hw crypto engine for i/o protection
US11132207B2 (en) 2017-12-29 2021-09-28 Lattice Semiconductor Corporation Fast boot systems and methods for programmable logic devices
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
US11281595B2 (en) * 2018-05-28 2022-03-22 Intel Corporation Integration of disparate system architectures using configurable isolated memory regions and trust domain conversion bridge
GB201810662D0 (en) * 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810659D0 (en) * 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
TWI696920B (zh) * 2018-10-22 2020-06-21 大陸商明緯(廣州)電子有限公司 無線式參數設定系統
CN114041133A (zh) * 2019-06-21 2022-02-11 华为技术有限公司 一种集成芯片及数据处理方法
US11343090B2 (en) 2019-06-27 2022-05-24 Intel Corporation Device ID for memory protection
CN112528345A (zh) 2019-09-18 2021-03-19 华为技术有限公司 通信方法、装置、计算机可读存储介质和芯片
US20230044219A1 (en) * 2019-10-29 2023-02-09 Silicon Mobility Sas A secure hardware programmable architecture
TWI727509B (zh) * 2019-11-20 2021-05-11 瑞昱半導體股份有限公司 具有省電模式且能夠在省電模式盡量省電的通訊裝置
GB2596103B (en) 2020-06-17 2022-06-15 Graphcore Ltd Dual level management
GB2596102B (en) 2020-06-17 2022-06-29 Graphcore Ltd Processing device comprising control bus
US11409681B2 (en) 2020-09-04 2022-08-09 Paypal, Inc. Computer system communication via sideband processor
CN115312110A (zh) * 2021-05-08 2022-11-08 瑞昱半导体股份有限公司 芯片验证系统及其验证方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599902A (zh) * 2001-12-05 2005-03-23 先进微装置公司 控制装置对内存的访问以提供增强的内存访问安全的系统与方法
US20090222816A1 (en) * 2008-02-29 2009-09-03 Arm Limited Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty
TW200949687A (en) * 2008-05-24 2009-12-01 Via Tech Inc Termination of secure execution mode in a microprocessor providing for execution of secure code
US20110202740A1 (en) * 2010-02-17 2011-08-18 Arm Limited Storing secure page table data in secure and non-secure regions of memory

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657727B2 (en) 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
GB0407384D0 (en) * 2004-03-31 2004-05-05 Ignios Ltd Resource management in a multicore processor
US8732789B2 (en) * 2006-05-30 2014-05-20 Iyuko Services L.L.C. Portable security policy and environment
US8677141B2 (en) * 2007-11-23 2014-03-18 Microsoft Corporation Enhanced security and performance of web applications
WO2012026877A1 (en) * 2010-08-23 2012-03-01 Empire Technology Development Llc Context switching
US8789170B2 (en) * 2010-09-24 2014-07-22 Intel Corporation Method for enforcing resource access control in computer systems
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9171163B2 (en) * 2013-03-15 2015-10-27 Intel Corporation Mutually assured data sharing between distrusting parties in a network environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599902A (zh) * 2001-12-05 2005-03-23 先进微装置公司 控制装置对内存的访问以提供增强的内存访问安全的系统与方法
US20090222816A1 (en) * 2008-02-29 2009-09-03 Arm Limited Data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuirty
TW200949687A (en) * 2008-05-24 2009-12-01 Via Tech Inc Termination of secure execution mode in a microprocessor providing for execution of secure code
US20110202740A1 (en) * 2010-02-17 2011-08-18 Arm Limited Storing secure page table data in secure and non-secure regions of memory

Also Published As

Publication number Publication date
WO2014158744A1 (en) 2014-10-02
KR101702287B1 (ko) 2017-02-22
EP2972785A4 (en) 2016-11-02
CN104981815A (zh) 2015-10-14
US20140282819A1 (en) 2014-09-18
TW201506673A (zh) 2015-02-16
EP2972785B1 (en) 2019-10-16
CN104981815B (zh) 2018-10-26
KR20150107834A (ko) 2015-09-23
EP2972785A1 (en) 2016-01-20
US8959576B2 (en) 2015-02-17

Similar Documents

Publication Publication Date Title
TWI514191B (zh) 以安全屬性限制cpu異動的方法、設備及系統
TWI524184B (zh) 用於在分散式記憶體組織架構中處理位址衝突之方法、設備及系統
US10268815B2 (en) Authentication of a multiple protocol connection
US9268948B2 (en) Secure access enforcement proxy
US9953001B2 (en) Method, apparatus, and system for plugin mechanism of computer extension bus
TWI569146B (zh) 用於高效能互連中之嵌入式串流路徑的方法、設備及系統
CN109074341B (zh) 减少引脚计数接口
CN115543905A (zh) 针对pcie进行sris模式选择的系统、方法和装置
CN110121703B (zh) 用于向量通信的系统和方法
US20150186311A1 (en) Smart direct memory access
US20210389371A1 (en) Debug data communication system for multiple chips
US20210318980A1 (en) Peer-to-peer link sharing for upstream communications from xpus to a host processor
TWI736559B (zh) 用以針對實體層裝置的組件傳輸資料之控制器
US20220116322A1 (en) Interconnect network for multi-tile system on chips
CN109643577B (zh) 用于存储器训练的电参数的多维优化
US20220113967A1 (en) Accelerator fabric for discrete graphics
US20170351430A1 (en) Method, apparatus, and system for cache coherency using a coarse directory
US11126554B2 (en) Prefetching write permissions into address translation cache
US20220121594A1 (en) Soc architecture to reduce memory bandwidth bottlenecks and facilitate power management

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees