TWI540446B - 用於實施安全視訊輸出路徑的硬體輔助虛擬化 - Google Patents
用於實施安全視訊輸出路徑的硬體輔助虛擬化 Download PDFInfo
- Publication number
- TWI540446B TWI540446B TW104104761A TW104104761A TWI540446B TW I540446 B TWI540446 B TW I540446B TW 104104761 A TW104104761 A TW 104104761A TW 104104761 A TW104104761 A TW 104104761A TW I540446 B TWI540446 B TW I540446B
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual machine
- memory
- identifier
- transaction
- access
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/032—Protect output to user by software means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Advance Control (AREA)
Description
本發明之揭示係大致有關電腦系統,且尤係有關將硬體輔助虛擬化用於實施電腦系統的安全視訊輸出路徑之系統及方法。
數位權利管理(Digital Rights Management;簡稱DRM)之實施係取決於底層硬體平台之安全及內容保護能力。硬體平台的內容保護能力可包括用於建立一安全信賴鍊的安全啟動(secure boot)、對密碼金鑰(cryptographic key)的保護、對硬體平台內儲存之解密圖框的保護、以及解碼內容輸出保護。
100‧‧‧處理系統
111‧‧‧處理核心
115‧‧‧共享互連
228‧‧‧內部暫存器
118、228‧‧‧記憶體控制器
121‧‧‧數位內容解碼器
131‧‧‧虛擬機
131A‧‧‧安全虛擬機
131B‧‧‧不安全虛擬機
135‧‧‧共享記憶體區
138‧‧‧安全記憶體區
142‧‧‧串流埠
205‧‧‧虛擬機管理程式
288‧‧‧周邊裝置
207‧‧‧匯流排主控器
220‧‧‧控制器
224‧‧‧記憶體防火牆
226‧‧‧周邊裝置防火牆
110、200、1610‧‧‧處理器
110‧‧‧處理器匯流排
108、462‧‧‧執行單元
112‧‧‧圖形加速器
116‧‧‧記憶體控制器中心
118、120‧‧‧記憶體
130‧‧‧輸入/輸出控制器中心
126‧‧‧無線收發器
128‧‧‧快閃記憶體基本輸入/輸出系統
134‧‧‧網路控制器
136‧‧‧音訊控制器
138‧‧‧序列擴充埠
140‧‧‧輸入/輸出控制器
106‧‧‧暫存器檔案
109‧‧‧緊縮指令集
124‧‧‧快取記憶體控制邏輯
129‧‧‧指令
123‧‧‧資料
118‧‧‧記憶體路徑
122‧‧‧中心介面匯流排
114‧‧‧加速圖形埠互連
124‧‧‧資料儲存裝置
201‧‧‧前端
226‧‧‧指令預取器
228‧‧‧指令解碼器
230‧‧‧追蹤快取記憶體
234‧‧‧微操作佇列
232‧‧‧微碼唯讀記憶體
203‧‧‧亂序執行引擎
202‧‧‧快速排程器
204‧‧‧緩慢/一般浮點排程器
208‧‧‧整數暫存器檔案
210‧‧‧浮點暫存器檔案
211‧‧‧執行方塊
212、214‧‧‧位址產生單元
216、218‧‧‧快速算術邏輯單元
220‧‧‧緩慢算術邏輯單元
222‧‧‧浮點算術邏輯單元
224‧‧‧浮點移動單元
400‧‧‧處理器管線
402‧‧‧提取級
404‧‧‧長度解碼級
406‧‧‧解碼級
408‧‧‧分配級
410‧‧‧重命名級
412‧‧‧排程級
414‧‧‧暫存器讀取/記憶體讀取級
416‧‧‧執行級
418‧‧‧寫回/記憶體寫入級
422‧‧‧異常處置級
424‧‧‧指令退役級
430‧‧‧前端單元
450‧‧‧執行引擎單元
470‧‧‧記憶體單元
432‧‧‧分支預測單元
434‧‧‧指令快取記憶體單元
436‧‧‧轉譯後備緩衝區
438‧‧‧指令提取單元
440‧‧‧解碼單元
476‧‧‧第2階快取記憶體單元
452‧‧‧重命名/分配器單元
454‧‧‧指令退役單元
456‧‧‧排程器單元
458‧‧‧實體暫存器檔案單元
460‧‧‧執行叢集
464‧‧‧記憶體存取單元
472‧‧‧資料轉譯後備緩衝區單元
474‧‧‧資料快取記憶體單元
700‧‧‧多處理器系統
750‧‧‧點對點互連
770‧‧‧第一處理器
780‧‧‧第二處理器
772、782‧‧‧整合式記憶體控制器單元
776、778、786、788、794、798‧‧‧點對點介面電路
732、734‧‧‧記憶體
752、754‧‧‧點對點介面
790‧‧‧晶片組
738‧‧‧高效能圖形電路
739‧‧‧高效能圖形介面
796‧‧‧介面
716‧‧‧第一匯流排
714‧‧‧輸入/輸出裝置
718‧‧‧匯流排橋接器
720‧‧‧第二匯流排
722‧‧‧鍵盤及/或滑鼠
727‧‧‧通訊裝置
728‧‧‧儲存單元
730‧‧‧指令/程式碼及資料
724‧‧‧音訊輸入/輸出
910‧‧‧應用處理器
902‧‧‧互連單元
902A-N、1706、1707‧‧‧核心
906‧‧‧共享快取記憶體單元
910‧‧‧系統代理單元
916‧‧‧匯流排控制器單元
914‧‧‧整合式記憶體控制器單元
920‧‧‧媒體處理器
924‧‧‧影像處理器
926‧‧‧音訊處理器
928‧‧‧視訊處理器
930‧‧‧靜態機存取記憶體單元
932‧‧‧直接記憶體存取單元
940‧‧‧顯示單元
1615‧‧‧系統記憶體
1620‧‧‧大量儲存裝置
1622‧‧‧快閃記憶體裝置
1624‧‧‧顯示器
1625‧‧‧觸控式螢幕
1630‧‧‧觸控板
1640‧‧‧感測器中心
1641‧‧‧加速度計
1642‧‧‧環境光感測器
1643‧‧‧羅盤
1644‧‧‧陀螺儀
1639、1646‧‧‧熱感測器
1635‧‧‧嵌入式控制器
1636‧‧‧鍵盤
1637‧‧‧風扇
1638‧‧‧可信賴平台模組
1645‧‧‧近場通訊單元
1650‧‧‧無線區域網路單元
1652‧‧‧藍牙單元
1656‧‧‧無線廣域網路單元
1657、1730‧‧‧用戶身分模組
1655、1785‧‧‧全球衛星定位系統模組
1660‧‧‧數位信號處理器
1662‧‧‧整合式編碼器/解碼器及放大器
1663‧‧‧喇叭
1665‧‧‧麥克風
1700‧‧‧系統單晶片
1708‧‧‧快取記憶體控制
1709‧‧‧匯流排介面單元
1710‧‧‧第2階快取記憶體
1710‧‧‧互連
1735‧‧‧啟動唯讀記憶體
1740‧‧‧同步動態機存取記憶體控制器
1760‧‧‧動態隨機存取記憶體
1745‧‧‧快閃記憶體控制器
1765‧‧‧快閃記憶體
1750‧‧‧周邊裝置控制
1720‧‧‧視訊編碼解碼器
1725‧‧‧視訊介面
1715‧‧‧圖形處理單元
1770‧‧‧藍牙模組
1775‧‧‧3G數據機
1785‧‧‧WiFi模組
已以舉例但非限制之方式說明了本發明之揭示,且參照前文中之實施方式並配合各圖式將可更完整地了解本發明之揭示,在該等圖式中:
第1圖根據本發明的一或多個觀點而示出一例示處理系統之一高階組件圖;第2圖根據本發明揭示的一或多個觀點而以示意圖示出以硬體輔助虛擬化促進一或多個虛擬機的執行且隔離該等虛擬機及各種其他代理單元連對共享硬體資源的存取之一實施例;第3圖根據本發明揭示的一或多個觀點而示出將硬體輔助虛擬化用於實施受保護視訊輸出路徑的一例示方法之一流程圖;第4圖根據本發明揭示的一或多個觀點而示出一例示電腦系統之一高階組件圖;第5圖根據本發明揭示的一或多個觀點而示出一處理器之一方塊圖;第6a-6b圖根據本發明揭示的一或多個觀點而以示意圖示出一處理器微型架構之元件;第7圖根據本發明揭示的一或多個觀點而示出一例示電腦系統之一方塊圖;第8圖根據本發明揭示的一或多個觀點而示出一例示系統單晶片(SoC)之一方塊圖;第9圖根據本發明揭示的一或多個觀點而示出一例示電腦系統之一方塊圖;以及第10圖根據本發明揭示的一或多個觀點而示出一例示系統單晶片(SoC)之一方塊圖。
本發明說明了用於實施基於虛擬機的保護視訊路徑之處理系統及相關方法。本發明所述之不同的系統及方法可被用於各種數位權利管理(DRM)實施例。
此處之DRM將意指用於控制、執行、檢視、複製、列印、及改變數位內容項目(例如,視訊內容、音訊內容、及多媒體內容等的數位內容項目)的以硬體及軟體執行之方法。各種開放及/或專屬標準界定了與某些數位內容保護機制之基於硬體之實施方式相關聯的DRM安全等級(security level)。
硬體平台的數位內容保護能力可包括用於建立一信賴鍊的安全啟動、對用於將數位內容加密/解密之密碼金鑰的保護、對硬體平台內儲存之解密內容部分(例如,圖框)的保護、以及對解碼內容輸出的保護。實施對一共享硬體平台內儲存之解密內容部分的保護以及對該硬體平台輸出之解碼內容輸出的保護時,要求各代理單元對共享硬體資源(例如,處理器、記憶體、及/或周邊裝置)之隔離存取。本發明之揭示將一種基於硬體輔助虛擬化之代理單元隔離機制用於實施與數位權利管理(DRM)相關聯的數位內容保護功能。
可藉由提供硬體輔助虛擬化,而將一硬體平台配置成執行一或多個虛擬機。該硬體平台可包含經由一共享互連而在通訊上被耦合到一記憶體控制器及各種周邊裝置之一處理器。根據本發明揭示的一或多個觀點,該硬體平台可
被配置成將一唯一的識別符(VMID)指定給每一虛擬機,作為該虛擬機的啟動序列之一部分。可藉由將各別的虛擬機識別符包含在所有的共享互連存取交易中,而將該硬體平台進一步配置成鑑別存取該共享互連的所有交易。該共享互連、該記憶體控制器、及該等周邊裝置可被配置成根據該處理器提供的虛擬機識別符而鑑別所有的存取。
在一例子中,該硬體平台可執行一第一(安全)虛擬機及一第二(不安全)虛擬機。該不安全虛擬機可被編程成:經由一網路介面或自一檔案系統輸入一加密數位內容項目(例如,一視訊內容項目),且將該加密數位內容項目儲存在可被該第一虛擬機存取之一共享記憶體區。該安全虛擬機可被編程成:自該共享記憶體區擷取該加密數位內容項目的一或多個部分(例如,圖框);將被擷取的內容部分解密;以及將該解密內容部分儲存在被編程成只可被該安全虛擬機存取的一安全記憶體區。該安全虛擬機然後可使一視訊解碼器將該等解密內容部分解碼,然後將該等解密內容部分經由一受保護串流埠傳輸到一顯示控制器。本說明書下文鐘將以舉例方式,但非以限制方式,更詳細地說明上文中提及的方法及系統之各種觀點。
在下文之說明中,述及了諸如特定類型的處理器及系統組態、特定的硬體結構、特定的架構及微型架構細節、特定的暫存器組態、特定的指令類型、特定的系統組件、特定的測量/高度、特定的處理器管線階段及操作之例子等的許多特定細節,以便提供對本發明揭示的徹底了解。
然而,熟悉此項技術者應可了解:無須將這些特定的細節用於實施本發明揭示的該等方法。在其他的情形中,並未詳述諸如特定的及替代的處理器架構、用於所述演算法之特定的邏輯電路/程式碼、特定的韌體碼、特定的互連操作、特定的邏輯組態、特定的製造技術及材料、特定的編譯器實施例、以程式碼表示之演算法的特定表達式、特定的功率下降(power down)及閘控技術/邏輯、以及電腦系統的其他特定操作細節等的習知的組件及方法,以避免非必要地模糊了本發明之揭示。
雖然將參照一處理器而說明下文中之例子,但是其他的實施例可適用於其他類型的積體電路及邏輯裝置。可將本發明所述的例子之類似技術及揭示應用於可受益於較高的管線通量(pipeline throughput)及較佳的效能之其他類型的電路或半導體裝置。本發明所述的例子之揭示可適用於執行資料調處之任何處理器或機器。然而,本發明之揭示不限於執行512位元、256位元、128位元、64位元、32位元、或16位元資料操作之處理器或機器,且可適用於執行資料調處或管理之任何處理器或機器。
不應以限制之方式詮釋用於解說本發明揭示之例子及附圖,這是因為不同的例子及附圖之用意只是提供本發明所述的實施例之例子,其用意不是提供本發明所述的實施例的所有可能實施方式之詳盡清單。雖然下文的例子將在執行單元及邏輯電路之情境中說明指令處理及分發,但是可經由被儲存在機器可讀取的有形媒體之資料或指令而完
成本發明所述的不同的系統及方法之其他實施例,而該機器可讀取的有形媒體被一機器執行時,將使該機器執行與本發明所述的至少一實施例一致之功能。在某些實施例中,以機器可執行的指令實施與本發明所述的實施例相關聯之功能。該等指令可被用於使被以該等指令編程之一般用途或特殊用途處理器執行本發明所述的該等方法。可以可包括機器或電腦可讀取的媒體之電腦程式產品或軟體之形式提供本發明所述的實施例,而該機器或電腦可讀取的媒體中有可被用於將電腦(或其他電子裝置)編程成執行根據本發明所述的實施例的一或多個操作之被儲存的指令。或者,可以含有用於執行本發明所述的系統及方法之操作之固定功能邏輯之特定硬體組件或以被編程的電腦組件及固定功能硬體組件之組合執行該等操作。
被用於將邏輯編程成執行本發明所述的方法之指令可被儲存在系統中之諸如動態隨機存取記憶體(DRAM)、快取記憶體、快閃記憶體、或其他儲存裝置等的記憶體中。此外,可經由網路或經由其他電腦可讀取的媒體而分發該等指令。因此,機器可讀取的媒體可包括用於儲存或傳輸機器(例如,電腦)可讀取的形式的資訊之任何機構,但不限於軟碟、光碟、唯讀光碟(Compact Disc Read-Only Memory;簡稱CD-ROM)、磁光碟、唯讀記憶體(Read Only Memory;簡稱ROM)、隨機存取記憶體(Random Access Memory;簡稱RAM)、可抹除可程式唯讀記憶體(Erasable Programmable Read-Only Memory;簡
稱EPROM)、電氣可抹除可程式唯讀記憶體(Electrically Erasable Programmable Read-Only Memory;簡稱EEPROM)、磁卡或光學卡、快閃記憶體、或被用於經由網際網路且經由電信號、光信號、聲音信號、或其他形式的傳播信號(例如,載波、紅外線信號、及數位信號等的信號)而傳輸資訊之機器可讀取的有形媒體。因此,電腦可讀取的媒體包括適於儲存或傳輸機器(例如,電腦)可讀取的形式的電子指令或資訊之任何類型的機器可讀取的有形媒體。
本說明書之"處理器"將意指一種能夠執行指令編碼算術、邏輯、或輸入/輸出(I/O)操作之裝置。在一例子中,處理器可遵循范紐曼架構模型(Von Neumann architectural model),且可包含一算術邏輯單元(Arithmetic Logic Unit;簡稱ALU)、一控制單元、及複數個暫存器。在一進一步之觀點中,一處理器可包含一或多個處理核心,且因而可以是通常能夠處理單一指令管線之一單核心處理器、或可同時處理多個指令管線之一多核心處理器。在另一觀點中,一處理器可被實施為單一積體電路、兩個或更多個積體電路,或者可以是由一多晶片模組(multi-chip module)(例如,其中一些個別的微處理器晶粒被包含在單一積體電路封裝中,且因而共享一單一插座)構成之一組件。
現在請參閱第1圖,圖中示出根據本發明的一或多個觀點的一例示處理系統100之一方塊圖。如第1圖所示,
處理系統100可包含經由一共享互連115而耦合到一記憶體控制器118以及包括(諸如由一視訊解碼器提供之)一數位內容解碼器121及一顯示控制器125的各種周邊裝置之一或多個處理核心111。在某些實施例中,處理系統100亦可包含第1圖中未示出之各種其他組件。
如將於本說明書下文中參照第2圖而詳細說明的,處理系統100可被設計成藉由實施硬體輔助虛擬化而執行一或多個虛擬機131,且隔離該等虛擬機及各種其他代理單元對共享硬體資源(例如,處理器、記憶體、及/或周邊裝置)的存取。
根據本發明揭示的一或多個觀點,處理核心111可被配置成將該硬體平台執行的一或多個虛擬機131之識別符儲存在一或多個內部暫存器228。處理核心111可被進一步配置成藉由將各別的虛擬機識別符包含在存取共享互連115的所有交易而鑑別所有此種交易。共享互連115可被配置成根據處理核心111提供的該虛擬機識別符而鑑別對被耦合到共享互連115的記憶體控制器118及各種周邊裝置之所有存取。
在一例子中,該共享硬體平台可執行(第1圖的該例子中由VMID=1識別之)一第一(安全)虛擬機131A及(第1圖的該例子中由VMID=2識別之)一第二(不安全)虛擬機131B。
不安全虛擬機131B可被編程成經由經由一網路介面或自一檔案系統輸入一數位內容項目(例如,一視訊內容
項目)之一或多個加密圖框(例如,圖框)。在一例子中,包含處理系統100的電腦系統可自一線上視訊串流服務擷取用於即時串流之該加密數位內容項目。
回應接收到一數位內容項目的一或多個加密內容部分處理系統100可被配置成將該等加密內容部分儲存在一共享記憶體區135。安全及不安全虛擬機以及各種其他代理單元可在不損及該數位內容項目的安全之情形下存取該共享記憶體區135,這是因為加密內容部分被以加密形式儲存在該共享記憶體。
處理系統100可(諸如回應接收到一使用者介面命令而)啟動被接收的數位內容項目之播放。處理系統100可將共享互連115配置成只容許該安全虛擬機存取數位內容解碼器121。
安全虛擬機131A可被編程成(諸如回應自不安全虛擬機131B接收到一信號而)自共享記憶體區135擷取該加密數位內容項目之一或多個內容部分。安全虛擬機131A可被進一步編程成:將該等被擷取的內容部分解密,且將解密內容部分儲存在被編程成只能被該第一(安全)虛擬機存取的一安全記憶體區138。安全虛擬機131A然後可使數位內容解碼器121將該等解密內容部分解碼。安全虛擬機131A可將該等解碼內容部分經由一專用串流埠142而傳輸到一顯示控制器125。該專用串流埠142可受到硬體保護,而不會重定向到一記憶體或另一代理單元,即時串流通過串流埠142而流到顯示控制器125。
處理系統100可回應該播放的完成而釋放數位內容解碼器121,使數位內容解碼器121可被安全及不安全虛擬機以及其他代理單元存取。
第2圖以示意圖示出以硬體輔助虛擬化促進一或多個虛擬機的執行且隔離該等虛擬機及各種其他代理單元經由一共享互連對共享硬體資源(例如,處理器、記憶體、及/或周邊裝置)的存取之一實施例。
處理系統100可實施一硬體輔助虛擬化機制,使處理核心的指令集可被延伸而包含用於啟動及退出虛擬機之指令。被稱為虛擬機管理程式(也被稱為超管理器(hypervisor))205之一軟體模組可被用於產生及管理一或多個虛擬機131。虛擬機管理程式205可對每一虛擬機提供一客作業系統(guest operating system),且管理該等客作業系統的執行。虛擬機131可藉由共享處理系統100之硬體資源,而執行各種應用軟體。
由處理核心111執行的將進出各別處理核心的資料及指令移到共享互連115且然後移到周邊裝置288或記憶體118之操作被稱為處理核心交易。可由一匯流排系統提供共享互連115,且不同的硬體組件(例如,處理核心111、匯流排主控器207、周邊裝置288、及/或記憶體118)經由該匯流排系統而相互通訊。該通訊之內容可包括被導向記憶體118及周邊裝置288之CPU交易。處理核心啟動之交易可包括與將針對虛擬機而被執行的指令相關聯之指令及資料。互連115除了提供連接這些硬體組件
的一共享通訊結構之外,亦可包括用於控制該共享通訊鏈路上的流量之一控制器220。例如,控制器220可回應接收到被導向記憶體118之一交易而剖析該交易,以便識別該記憶體的位址範圍,且經由記憶體控制器228而寫入或讀取該位址範圍上之內容。此外,各處理核心亦可經由周邊裝置控制器(圖中未示出)而將交易傳輸到周邊裝置288。
用於控制虛擬機131的執行之虛擬機管理程式205可將一唯一的識別符(VMID)指定給每一虛擬機131,作為該虛擬機的啟動序列之一部分。每一匯流排主控器207(例如,一直接記憶體存取(Direct Memory Access;簡稱DMA)控制器)可以目前擁有該各別匯流排主控器的虛擬機之識別符228標記其交易。虛擬機管理程式205可具有對共享互連115之(諸如與VMID=0相關聯的)通用(例如,超級使用者(super user))許可。
在某些實施例中,可以各別虛擬機131之識別符標記並未存取L1/L2快取記憶體的處理核心111啟動之每一交易。可以特權虛擬機(privileged virtual machine)之識別符(VMID=0)標記存取快取記憶體的處理器啟動之交易,這是因為可以硬體輔助虛擬化機制(例如,延伸分頁表(Extended Page Table;簡稱EPT))實施與存取快取記憶體的交易有關之存取控制。
在某些實施例中,記憶體118可被分割為複數個區。共享互連115可實施一記憶體防火牆224,用以根據用於
標記該記憶體存取交易之一虛擬機識別符而過濾對記憶體範圍的存取。在一例子中,共享互連115可維護其中包含記憶體位址範圍至虛擬機識別符的複數個映射之一些記憶體防火牆規則。只有在以根據該等映射中之一映射而授權存取被要求的記憶體範圍的一虛擬機識別符標記一記憶體存取交易時,由共享互連115實施之記憶體防火牆才可容許該交易繼續進行。由該共享互連實施之該記憶體防火牆可被配置成:在一虛擬機並未被容許存取一記憶體範圍時,中斷該虛擬機啟動的對該記憶體範圍的存取交易之嘗試。
在某些實施例中,共享互連115可進一步實施一周邊裝置防火牆226,用以根據用於標記該周邊裝置存取交易之一虛擬機識別符而過濾對周邊裝置288的存取。在一例子中,共享互連115可維護其中包含周邊裝置識別符至虛擬機識別符的複數個映射之一些周邊裝置防火牆規則。只有在以根據該等映射中之一映射而授權存取被要求的周邊裝置的一虛擬機識別符標記一周邊裝置存取交易時,由共享互連115實施之周邊裝置防火牆226才可容許該交易繼續進行。由該共享互連實施之該周邊裝置防火牆可被配置成:在一虛擬機並未被容許存取一周邊裝置時,中斷該虛擬機啟動的對該周邊裝置的存取交易之嘗試。
在某些實施例中,可以一可信賴的實體編程以該共享互連實施之該記憶體及/或周邊裝置防火牆規則。在一例子中,與VMID=0(最高特權等級)相關聯的該虛擬機管
理程式可以包含每一虛擬機的容許位址範圍及/或周邊裝置識別符之防火牆規則配置共享互連115。
在替代實施例中,可以該虛擬機管理程式實施該記憶體及/或周邊裝置防火牆。該虛擬機管理程式可儲存每一虛擬機之容許位址範圍及/或周邊裝置識別符,且可被配置成:在一虛擬機並未被容許存取一記憶體範圍或一周邊裝置時,中斷該虛擬機啟動的對該記憶體範圍或該周邊裝置的存取交易之嘗試,而實施一記憶體防火牆及/或一周邊裝置防火牆。在此種情況中,處理核心可能不必然將該等虛擬機識別符傳送到該共享互連,這是因為可由該虛擬機管理程式在該處理核心本身內過濾記憶體存取及/或周邊裝置存取交易。
在替代實施例中,可由一虛擬機嘗試存取的目標周邊裝置實施交易過濾防火牆,或者如果該周邊裝置利用一專用周邊裝置匯流排而被連接到共享互連115,則在該專用周邊裝置匯流排中實施交易過濾防火牆。
第3圖示出根據本發明揭示的一或多個觀點而實施基於虛擬機的受保護視訊路徑的一例示方法之一流程圖。可以一電腦系統執行方法300,該電腦系統可包含硬體(例如,電路、專用邏輯、及/或可程式邏輯、軟體(例如,用於執行硬體模擬的可在電腦系統上執行之指令)、或以上兩者之組合。可由用於執行該方法的電腦系統之一或多個實體處理器執行方法300及/或每一其函式、常式、次常式、或操作。可平行地執行或按照可能不同於前文所述
的順序之一順序執行方法300的兩個或更多個函式、常式、次常式、或操作。在某些實施例中,可由單一處理線程(processing thread)執行方法300。在替代實施例中,可由兩個或更多個處理線程執行方法300,其中每一線程執行該方法的一或多個個別函式、常式、次常式、或操作。在一例子中,可使執行方法300的該等處理線程同步(例如,使用旗號(semaphore)、臨界區段(critical section)、及/或其他線程同步機制)。在替代實施例中,可以相互不同步之方式執行用於執行方法300之該等處理線程。在第3圖所示之一例子中,可由本說明書下文中所述且於第5-11圖所示之電腦系統執行方法300。
請參閱第3圖,在方塊310中,該處理系統可啟動一安全虛擬機及一不安全虛擬機。該虛擬機管理程式可將一唯一的識別符(VMID)指定給每一虛擬機,作為該虛擬機的啟動序列之一部分。
在方塊320中,該不安全虛擬機可經由一網路介面或自一檔案系統接收一數位內容項目(例如,一視訊內容項目)之一或多個加密部分(例如,圖框)。在一例子中,包含用於執行該方法的處理系統之電腦系統可自一線上視訊串流服務擷取用於即時串流之該加密數位內容項目。
在方塊330中,該不安全虛擬機可將該等加密內容部分儲存在一共享記憶體區。安全及不安全虛擬機以及各種其他代理單元可在不損及該數位內容項目的安全之情形下存取該共享記憶體區,這是因為該數位內容項目被以加密
形式儲存在該共享記憶體。
在方塊340中,該處理系統可(諸如回應接收到一使用者介面命令而)開始播放該被接收的加密數位內容項目。該處理系統可將其共享互連配置成只容許該安全虛擬機存取數位內容解碼器。該處理系統可將該共享互連進一步配置成只容許該安全虛擬機存取一安全記憶體區。
在方塊350中,該安全虛擬機可(諸如回應自該不安全虛擬機接收到一信號而)自該共享記憶體區擷取該加密數位內容項目的一或多個內容部分,將該等被擷取的內容部分解密,且將該等解密內容部分儲存在該安全記憶體區。在某些實施例中,該處理系統可將該安全虛擬機識別符提供給(諸如由該共享互連實施之)該記憶體防火牆,而鑑別該安全虛擬機啟動之安全記憶體存取交易。
在方塊360中,該安全虛擬機可使該數位內容解碼器將該等解密內容部分解碼。在某些實施例中,該處理系統可將該安全虛擬機識別符提供給(諸如由該共享互連實施之)該周邊裝置防火牆,而鑑別該安全虛擬機啟動之解碼器存取交易。
在方塊370中,該安全虛擬機可將該等解密內容部分經由一專用串流埠而傳輸到一輸入/輸出(Input/Output;簡稱I/O)控制器(例如,一顯示控制器)。該專用串流埠可受到硬體保護,而不會重定向到一記憶體或另一代理單元,即時串流通過該串流埠而流到該I/O控制器。
在方塊380中,該處理系統可回應完成了該播放而釋
放該數位內容解碼器,使該數位內容解碼器可被安全及不安全虛擬機以及其他代理單元存取。回應本說明書前文中參照方塊380所述的完成了操作,該方法可終止。
本發明所述的該等系統及方法將硬體輔助虛擬化用於實施一安全視訊輸出路徑。雖然本說明書之說明係參照一顯示控制器,但是亦可配合其他功能圖形單元而使用本發明所述的該等系統及方法。雖然本說明書之說明係參照一單一受保護顯示會話(protected display session),但是本發明所述的該等系統及方法亦可根據顯示引擎支援的同時疊加(concurrent overlay)之數目而被用於支援多個同時受保護的會話。
雖然本發明參照諸如處理器等的特定積體電路而說明各系統及方法,但是其他實施例亦可適用於其他類型的積體電路及邏輯裝置。本發明所述的系統及方法之技術及揭示可適用於亦可受益於較佳的能量效率(energy efficiency)及節約能源之其他類型的電路或半導體裝置。例如,所揭示的該等實施例不限於任何特定類型的電腦系統,且亦可被用於諸如手持裝置、系統單晶片(System on Chip;簡稱SoC)、及嵌入式應用等的其他裝置。手持裝置的某些例子包括細胞式電話、網際網路通訊協定裝置、數位相機、個人數位助理(Personal Digital Assistant;簡稱PDA)、及手持個人電腦(PC)。嵌入式應用可包括微控制器、數位信號處理器(Digital Signal Processor;簡稱DSP)、網路電腦(NetPC)、機上盒、
網路集線器、廣域網路(Wide Area Network;簡稱WAN)交換器、或可執行下文中揭示的功能及操作之任何其他系統。此外,本發明所述的系統及方法不限於實體計算裝置,而是亦可有關於以軟體執行之方法。本發明所述的系統及方法實現之省電可獨立於或互補於諸如進階組態及平台介面(Advanced Configuration and Platform Interface;簡稱ACPI)標準等的基於作業系統(Operating System;簡稱OS)之機制。
可以各種架構、設計、及組態之電腦系統實施本發明前文所述的方法及系統,或者膝上型電腦、桌上型電腦、手持個人電腦(PC)、個人數位助理、工程工作站、伺服器、網路裝置、網路集線器、交換器、嵌入式處理器、數位信號處理器(DSP)、圖形裝置、視訊遊戲裝置、機上盒、微控制器、細胞式電話、可攜式媒體播放器、手持裝置、以及各種其他電子裝置也適於實施本發明所述的方法。一般而言,能夠加入本發明揭示的處理器及/或其他執行邏輯之多種系統或電子裝置通常適於實施本發明所述之系統及方法。
第4圖示出根據本發明揭示的一或多個觀點的一電腦系統的一例子之一高階組件圖。一電腦系統100可包含採用一些執行單元之一處理器110,該等執行單元包含邏輯,該邏輯根據本發明所述的實施例而執行用於處理資料之演算法。系統100代表基於Intel Corporation(位於Santa Clara,California)供應的PENTIUM IIITM、PENTIUM
4TM、XeonTM、Itanium、XScaleTM、及/或StrongARMTM微處理器之處理系統,但是亦可使用其他系統(包括具有其他微處理器之個人電腦、工程工作站、及機上盒等的系統)。在一實施例中,樣本系統100執行Microsoft Corporation(位於Redmond,Washington)供應的WINDOWSTM作業系統的一版本,但是亦可使用其他作業系統(例如,UNIX及Linux)、嵌入式軟體、及/或圖形使用者介面。因此,本發明所述的實施例不限於硬體電路及軟體的任何特定組合。
在一例子中,處理器110包含用於實施將執行至少一指令的一演算法之一或多個執行單元108。可在一單一處理器桌上型電腦或伺服器系統之情境下說明一實施例,但是替代實施例可被包含在一多處理器系統中。系統100是一"中心"系統架構之一例子。電腦系統100包含用於處理資料信號之一處理器110。作為一例子之處理器110包括複雜指令集電腦(Complex Instruction Set Computer;簡稱CISC)微處理器、精簡指令集計算(Reduced Instruction Set Computing;簡稱RISC)微處理器、極長指令集(Very Long Instruction Word;簡稱VLIW)微處理器、執行指令集的組合之處理器、或諸如數位信號處理器等的任何其他處理器裝置。處理器110被耦合到一處理器匯流排110,該處理器匯流排在處理器110與系統100的其他組件之間傳輸資料信號。系統100的各元件(例如,圖形加速器112、記憶體控制器中心116、記憶體
120、I/O控制器中心130、無線收發器126、快閃記憶體BIOS 128、網路控制器134、音訊控制器136、序列擴充埠138、及I/O控制器140等的元件)執行熟悉此項技術者習知的該等元件之傳統功能。
在一實施例中,處理器110包含一第1階(L1)內部快取記憶體。處理器110可根據架構而具有單一的內部快取記憶體或多階的內部快取記憶體。其他實施例根據特定實施例及需求而包含內部及外部快取記憶體之一組合。暫存器檔案106被用於將不同類型的資料儲存在包括整數暫存器、浮點暫存器、向量暫存器、分組暫存器(banked register)、影子暫存器(shadow register)、檢查點暫存器(checkpoint register)、狀態暫存器、及指令指標暫存器(instruction pointer register)之各種暫存器。
包含用於執行整數及浮點運算的邏輯之執行單元108也被設置在處理器110中。在一實施例中,處理器110包含用於儲存微碼之一微碼(ucode)ROM,該微碼ROM被執行時,將執行用於某些微指令或處理複雜情況之演算法。此處,微碼可能是可更新的,以便處理處理器110之邏輯錯誤/修正。在一實施例中,執行單元108包含用於處理一緊縮指令集109之邏輯。藉由將緊縮指令集109包含在一般用途處理器110的指令集中,且設有用於執行該等指令之相關聯的電路,可使用一般用途處理器110中之緊縮資料(packed data)執行許多多媒體應用程式使用之操作。因此,藉由將一處理器的資料匯流排之完整寬度用
於對緊縮資料執行操作,而更有效率地加速且執行許多多媒體應用程式。此種方式可能無須為了執行一或多個操作而以一次一個資料單元之方式經由該處理器的資料匯流排傳輸較小的資料單位。執行單元108之替代實施例亦可被用於微控制器、嵌入式處理器、圖形裝置、DSP、及其他類型的邏輯電路。在某些實施例中,處理器110可進一步包含一快取記憶體控制邏輯124,且將於本說明書下文中更詳細地說明快取記憶體控制邏輯124之功能。
系統100包含一記憶體120。記憶體120包括包括動態隨機存取記憶體(Dynamic Random Access Memory;簡稱DRAM)裝置、靜態機存取記憶體(Static Random Access Memory;簡稱SRAM)裝置、快閃記憶體裝置、或其他記憶體裝置。記憶體120儲存將被處理器110執行的且以資料信號表示之指令129及/或資料123。在某些實施例中,如將於本說明書下文中更詳細說明的,指令129可包括將快取記憶體控制邏輯124用於管理共享快取記憶體之指令。
一系統邏輯晶片116被耦合到處理器匯流排110及記憶體120。在本實施例中之該系統邏輯晶片116是一記憶體控制器中心(Memory Controller Hub;簡稱MCH)。處理器110可經由一處理器匯流排110而與MCH 116通訊。MCH 116將用於指令及資料儲存以及圖形命令、資料及紋理儲存之一高頻寬記憶體路徑118提供給記憶體120。MCH 116導引處理器110、記憶體120、與系統100
中之其他組件間之資料信號,且橋接處理器匯流排110、記憶體120與系統I/O 122間之資料信號。在某些實施例中,系統邏輯晶片116可提供用於耦合到一圖形控制器112之一圖形埠。MCH 116經由一記憶體介面118而被耦合到記憶體120。圖形卡112經由一加速圖形埠(Accelerated Graphics Port;簡稱AGP)互連114而被耦合到MCH 116。
系統100使用一專屬中心介面匯流排122將MCH 116耦合到I/O控制器中心(I/O controller Hub;簡稱ICH)130。ICH 130經由一區域I/O匯流排將直接連接提供給某些I/O裝置。該區域I/O匯流排是用於將周邊裝置連接到記憶體120、晶片組、及處理器110之一高速I/O匯流排。一些例子是音訊控制器、韌體中心(快閃記憶體BIOS)128、無線收發器126、資料儲存裝置124、包含使用者輸入及鍵盤介面之傳統I/O控制器、諸如通用序列匯流排(Universal Serial Bus;簡稱USB)等的序列擴充埠、及網路控制器134。資料儲存裝置124可包含一硬碟機、一軟碟機、一唯讀光碟(CD-ROM)裝置、一快閃記憶體裝置、或其他大量儲存裝置。
在另一系統實施例中,可配合系統單晶片而使用根據一實施例之指令。系統單晶片之一實施例包含一處理器及一記憶體。用於此種系統之記憶體是一快閃記憶體。可將該快閃記憶體設置在與該處理器及其他系統組件相同的晶粒中。此外,以可將諸如記憶體控制器或圖形控制器等的
其他邏輯方塊設置在一系統單晶片中。
第5圖是包括用於執行根據本發明揭示的一或多個觀點的指令的邏輯電路之一處理器200之微型架構之一方塊圖。在某些實施例中,可執行根據一實施例之指令,而對具有位元組、字、雙字(doubleword)、四倍字(quadword)等的大小以及諸如單精度(single precision)及雙倍精度(double precision)整數及浮點資料類型等的資料類型之資料單元執行運算。在一實施例中,循序前端201是處理器200的一部分,用以提取將要被執行的指令,且準備這些指令,以供稍後在處理器管線中使用。前端201可包含數個單元。在一實施例中,指令預取器226自記憶體提取指令,且將這些指令饋入一指令解碼器228,該指令解碼器228然後將該等指令解碼或解譯。例如,在一實施例中,該解碼器將被接收之指令解碼為一或多個機器可執行的被稱為"微指令"("microinstruction")或"微操作"("micro-operation")(也被稱為uops)之操作。在其他實施例中,該解碼器將該指令剖析為被該微型架構用於執行根據一實施例的操作之一運算碼(opcode)以及對應的資料及控制欄位。在一實施例中,追蹤快取記憶體230取得被解碼之微操作,且在微操作佇列234中將該等微操作組合為程式順序的序列或追蹤,以供執行。當追蹤快取記憶體230碰到複雜的指令時,微碼ROM 232提供完成該操作所需的微操作。
某些指令被轉換為單一微操作,而其他的指令需要數
個微操作才能完成完整的操作。在一實施例中,如果需要四個以上的微操作才能完成一指令,則解碼器228存取微碼ROM 232,以便執行該指令。在一實施例中,可將一指令解碼為少數目的微操作,以供在指令解碼器228中處理。在另一實施例中,如果需要某一數目的微操作才能完成一操作,則可將指令儲存在微碼ROM 232內。追蹤快取記憶體230參考一入口點(entry point)可程式邏輯陣列(Programmable Logic Array;簡稱PLA),以便決定用於自微碼ROM 232讀取完成根據一實施例的一或多個指令所需的微碼序列之一正確的微指令指標。在微碼ROM 232完成了用於一指令的定序微操作之後,該機器的前端201恢復自追蹤快取記憶體230提取微操作。
該等指令在亂序執行引擎203中被準備,以供執行。該亂序執行邏輯具有一些緩衝區,用以使指令流平順且重新排序,以便在指令流在往下進入管線且被排程以供執行時將效能最佳化。分配器邏輯分配每一微操作被執行時所需的機器緩衝區及資源。暫存器重命名(register aliasing)邏輯將各邏輯暫存器映射到暫存器檔案中之各條目。該分配器也在包括記憶體排程器、快速排程器202、緩慢/一般浮點排程器204、及簡單浮點排程器206的該等指令排程器之前將條目分配給兩個微操作佇列(其中一佇列用於記憶體操作,且另一佇列用於非記憶體操作)的一微操作佇列中之每一微操作。該等微操作排程器202、204、206根據微操作的相依輸入暫存器運算元
(operand)來源之備妥狀態及該微操作完成其操作所需的執行資源之可用性而決定該微操作何時已準備好可執行。一實施例之快速排程器202可在主時脈週期之每一半時脈週期上排程,而其他排程器可在每一主處理器時脈週期排程一次。該等排程器仲裁各分派埠(dispatch port),而將各微操作排程以供執行。
實體暫存器檔案208、210被設置在該等排程器202、204、206與執行方塊211中之執行單元212、214、216、218、220、222、224之間。整數及浮點運算分別有各別的暫存器檔案208、210。一實施例之每一暫存器檔案208、210也包含一旁通網路,該旁通網路可將尚未被寫到暫存器檔案的剛剛完成之結果旁通或轉送到新的相依微操作。該整數暫存器檔案208及該浮點暫存器檔案210也能夠相互傳送資料。在一實施例中,整數暫存器檔案208被分成兩個獨立的暫存器檔案,其中一暫存器檔案被用於低階32位元的資料,且第二暫存器檔案被用於高階32位元的資料。一實施例之浮點暫存器檔案210有128位元寬度的條目,這是因為浮點指令通常有寬度為64至128位元的運算元。
執行方塊211包含用於實際執行指令之執行單元212、214、216、218、220、222、224。該部分包含用於儲存微指令需要執行的整數及浮點資料運算元值之暫存器檔案208、210。一實施例之處理器200包含一些執行單元:位址產生單元(Address Generation Unit;簡稱AGU)
212、AGU 214、快速ALU 216、快速ALU 218、緩慢ALU 220、浮點ALU 222、浮點移動單元224。在一實施例中,浮點執行方塊222、224執行浮點MMX、SIMD、及SSE運算。一實施例之浮點ALU 222包含用於執行除法、平方根、及餘數微操作之一64位元除以64位元的除法器。在本發明所述的系統及方法中,可以浮點硬體處理涉及浮點值之指令。在一實施例中,ALU運算進入高速ALU執行單元216、218。一實施例之快速ALU 216、218可在半個時脈週期的有效等待時間中執行快速操作。在一實施例中,最複雜的整數操作進入緩慢ALU 220,這是因為緩慢ALU 220包含用於諸如乘法器、移位、旗標邏輯、及分支處理等的長等待時間類型的操作之整數執行硬體。由AGU 212、214執行記憶體載入/儲存操作。在一實施例中,係在對64位元資料運算元執行整數操作之情境下說明整數ALU 216、218、220。在替代實施例中,ALU 216、218、220可被實施成支援其中包括16、32、128、256位元等的各種資料位元。同樣地,浮點單元222、224可被實施成支援有各種寬度的位元之一範圍的運算元。在一實施例中,浮點單元222、224可配合單一指令多重資料(SIMD)及多媒體指令而對128位元寬度的緊縮資料運算元執行操作。
在一實施例中,微操作排程器202、204、206在上層載入完成執行之前分派相依的操作。當在處理器200中以預測方式排程及執行微操作時,處理器200也包含用於處
理記憶體未命中的邏輯。如果一資料載入未命中資料快取記憶體,則管線中可能有離開排程器時具有暫時錯誤的資料之執行中的(in flight)相依操作。一重新執行機制追蹤且重新執行使用錯誤資料的指令。必須重新執行相依的操作,且容許獨立的操作完成。一處理器實施例之該等排程器及重新執行機制也被設計成抓取用於文字串比較操作的指令序列。
術語"暫存器"可意指被用來作為識別運算元的指令部分之處理器本機儲存位置。換言之,暫存器可以是可自處理器外部(自程式設計師的觀點而論)使用的那些儲存位置。然而,一實施例之暫存器不應限於意指特定類型的電路。一實施例之暫存器而是能夠儲存且提供資料,且能夠執行本發明所述的功能。可使用諸如專用實體暫存器、利用暫存器重命名之動態分配實體暫存器、專用及動態分配實體暫存器之組合等的任何數目之不同的技術而以一處理器內之電路實施本發明所述的暫存器。在一實施例中,整數暫存器儲存三十二位元的整數資料。一實施例之一暫存器檔案也包含用於緊縮資料之八個多媒體SIMD暫存器。在下文的說明中,暫存器被理解為被設計成存放緊縮資料之諸如微處理器中之能夠實施Intel Corporation(位於Santa Clara,California,USA)的MMXTM技術的64位元寬度的MMX暫存器(在某些例子中也被稱為"mm"暫存器)等的資料暫存器。可利用伴隨SIMD及SSE指令之緊縮資料單元操作可具有整數及浮點形式的這些MMX暫存器。
同樣地,與SSE2、SSE3、SSE4、或更往後的SSE(被統稱為"SSEx")技術有關的128寬度之XMM暫存器亦可被用於存放此類緊縮資料運算元。在一實施例中,於儲存緊縮資料及整數資料時,該等暫存器無須區分這兩種資料類型。在一實施例中,整數及浮點資料被存放在相同的暫存器檔案或不同的暫存器檔案中。此外,在一實施例中,浮點及整數資料可被儲存在不同的暫存器或相同的暫存器中。
第6a-6b圖根據本發明揭示的一或多個觀點而以示意圖示出一處理器微型架構之元件。在第6a圖中,一處理器管線400包含一提取級402、一長度解碼級404、一解碼級406、一分配級408、一重命名級410、一排程(也被稱為分派或派發)級412、一暫存器讀取/記憶體讀取級414、一執行級416、一寫回/記憶體寫入級418、一異常處置級422、以及一指令退役級424。
在第6b圖中,箭頭表示兩個或更多個單元之間的耦合,且箭頭的方方向指示那些單元間之資料流的方向。第6b圖示出處理器核心111包含被耦合到一執行引擎單元450之一前端單元430,且前端單元430及執行引擎單元450都被耦合到一記憶體單元470。
核心111可以是一精簡指令集計算(RISC)核心、一複雜指令集計算(CISC)核心、一極長指令集(VLIW)核心、或一混合或替代核心類型。作為另一選項,核心111可以是諸如網路或通訊核心、壓縮引擎、或圖形核心
等的特殊用途核心。
前端單元430包含被耦合到一指令快取記憶體單元434之一分支預測單元432,該指令快取記憶體單元434被耦合到一指令轉譯後備緩衝區(Translation Lookaside Buffer;簡稱TLB)436,該TLB 436被耦合到一指令提取單元438,該指令提取單元438被耦合到一解碼單元440。該解碼單元或解碼器可將指令解碼,且產生一或多個微操作、微碼入口點、微指令、其他指令、或自原始指令解碼的或以其他方式反映原始指令的或自原始指令導出的其他控制信號,作為一輸出。可使用不同的機制實施該解碼器。適用的機制之例子包括但不限於查詢表、硬體實施例、可程式邏輯陣列(PLA)、及微碼唯讀記憶體(ROM)等的機制。指令快取記憶體單元434被進一步耦合到記憶體單元470中之一第2階(L2)快取記憶體單元476。解碼單元440被耦合到執行引擎單元450中之一重命名/分配器單元452。
執行引擎單元450包含被耦合到一指令退役單元454及一組的一或多個排程器單元456之重命名/分配器單元452。該一或多個排程器單元456代表其中包括保留站(reservation station)及中央指令視窗(central instruction window)等的任何數目之不同的排程器。該一或多個排程器單元456被耦合到一或多個實體暫存器檔案單元458。該一或多個實體暫存器檔案單元458中之每一實體暫存器檔案單元代表一或多個實體暫存器檔案,該等實體暫存器
檔案中之不同的實體暫存器檔案儲存諸如純量整數、純量浮點、緊縮整數、緊縮浮點、向量整數、向量浮點、或狀態(例如,係為將要被執行的下一指令的位址之指令指標)等的一或多個不同的資料類型。該一或多個實體暫存器檔案單元458被指令退役單元454重疊,而示出可實施暫存器重命名及亂序執行的各種方式(例如,使用一或多個重排序緩衝區(reorder buffer)以及一或多個指令退役暫存器檔案;使用一或多個未來檔案(future file)、一或多個歷史緩衝區(history buffer)、以及一或多個指令退役暫存器檔案;使用一暫存器對照表(register map)以及一集區(pool)的暫存器等的方式)。一般而言,可自該處理器的外部或自程式設計師的觀點看到該等架構暫存器(architecture register)。該等暫存器不限於任何特定類型的電路。只要各種不同類型的暫存器能夠儲存且提供本發明所述的資料,則這些類型的暫存器都是適用的。適用的暫存器之例子包括但不限於專用實體暫存器、利用暫存器重命名之動態分配實體暫存器、專用及動態分配實體暫存器之組合等的暫存器。該指令退役單元454及該一或多個實體暫存器檔案單元458被耦合到一或多個執行叢集460。該一或多個執行叢集460包含一組的一或多個執行單元462及一組的一或多個記憶體存取單元464。該等執行單元462可執行各種操作(例如,移位、加法、減法、乘法),且可對各種類型的資料(例如,純量浮點、緊縮整數、緊縮浮點、向量整數、向量浮點)執行操作。
雖然某些實施例可包含專用於一些特定功能或一些特定組的功能之一些執行單元,但是其他實施例可以包含全都被用來執行所有功能的一個執行單元或多個執行單元。所示之排程器單元456、實體暫存器檔案單元458、及執行叢集460可能是複數個,這是因為某些實施例為某些類型的資料/操作創建個別的管線(例如,分別有其自己的排程器單元、實體暫存器檔案單元、及/或執行叢集之一純量整數管線、一純量浮點/緊縮整數/緊縮浮點/向量整數/向量浮點管線、及/或一記憶體存取管線;且在一個別的記憶體存取管線之情形中,實施該管線的執行叢集具有記憶體存取單元464之某些實施例)。我們亦應可了解:當使用個別的管線時,這些管線中之一或多個管線可以是亂序派發/執行,且其餘的管線可以是循序執行。
該組記憶體存取單元464被耦合到記憶體單元470,記憶體單元470包含被耦合到一資料快取記憶體單元474之一資料TLB單元472,且資料快取記憶體單元474被耦合到一第2階(L2)快取記憶體單元476。在一實施例中,該等記憶體存取單元464可包含分別被耦合到記憶體單元470中之資料TLB單元472的一載入單元、一儲存位址單元、及一儲存資料單元。L2快取記憶體單元476被耦合到一或多個其他階的快取記憶體,且最後被耦合到一主記憶體。
舉例而言,該例示暫存器重命名亂序派發/執行核心架構可以下列方式實施管線400:指令提取單元438執行
提取及長度解碼級402及404;解碼單元440執行解碼級406;重命名/分配器單元452執行分配級408及重命名級410;排程器單元456執行排程級412;實體暫存器檔案單元458及記憶體單元470執行暫存器讀取/記憶體讀取級414,執行叢集460執行該執行級416;記憶體單元470及實體暫存器檔案單元458執行寫回/記憶體寫入級418;各單元可能涉及異常處置級422;以及指令退役單元454及實體暫存器檔案單元458執行指令退役級424。
核心111可支援一或多種指令集(例如:x86指令集(且具有在較新版本中被加入的某些延伸);MIPS Technologies(位於Sunnyvale,CA)的MIPS指令集;ARM Holdings(位於Sunnyvale,CA)的ARM指令集(且具有諸如NEON等的額外的延伸)。
在某些實施例中,該核心可支援多線程執行(multithreading)(執行兩個或更多個平行組的操作或線程),且可以其中包括時間切割(time sliced)多線程執行、同時多線程執行(當一單一實體核心將一邏輯核心提供給該等線程的每一線程時,該實體核心是同時多線程執行)、或以上兩者的一組合(例如,諸如在Intel®超線程技術(Hyperthreading technology)技術中之時間切割式提取及解碼以及後續的同時多線程執行)之各種方式進行多線程執行。
雖然是在亂序執行的情境中說明暫存器重命名,但是我們應可了解:可將暫存器重命名用於循序架構。雖然該
處理器的所示實施例也包含個別的指令及資料快取記憶體單元434/474以及一共享的L2快取記憶體單元476,但是替代實施例可具有用於指令及資料之諸如一第1階(L1)內部快取記憶體等的一單一內部快取記憶體、或多階的內部快取記憶體。在某些實施例中,該系統可包含一內部快取記憶體及在核心及/或處理器外部的一外部快取記憶體之一組合。在替代實施例中,所有該等快取記憶體都可以是在核心及/或處理器的外部。
在某些實施例中,處理核心111可被設計為亂序(Out-Of-Order;簡稱OOO)核心,以便藉由在可取得指令的運算元時立即執行該等指令,而不是按照程式順序執行該等指令,因而改善效能。然而,可觀的功率消耗的增加可能抵消效能的好處。當多個執行線程可供作業系統排程時,採用多個循序核心而不採用較大的OOO核心將可在不損及整體效能的情形下改善該處理器的耗能態勢。因此,為了改善處理器的效能及耗能的可調能力,該處理器被設計成根據效能需求及可供作業系統排程的線程數目而支援可變數目的核心。
第7圖示出根據本發明揭示的一或多個觀點的一例示電腦系統之一方塊圖。如第7圖所示,多處理器系統700是是一點對點互連系統,且包含經由一點對點互連750而被耦合之一第一處理器770及一第二處理器780。處理器770及780中之每一處理器可以是如本說明書前文中更詳細說明的能夠實施基於虛擬機的受保護視訊路徑的處理系
統100的某一版本。雖然圖中只示出兩個處理器770、780,但是我們應可了解本發明揭示之範圍不限於此。在其他實施例中,該例示電腦系統中可設有一或多個額外的處理器。
處理器770及780被示出分別包含整合式記憶體控制器單元772及782。處理器770也包含點對點(Point-to-Point;簡稱P-P)介面776及778作為其匯流排控制器單元的一部分;同樣地,第二處理器780包含P-P介面786及788。處理器770、780可使用P-P介面電路778、788而經由點對點介面750交換資訊。如第7圖所示,IMC772及782將該等處理器耦合到各別的記憶體,亦即,耦合到可以是在本地被連接到該等各別的處理器的主記憶體的一部分之一記憶體732及一記憶體734。
處理器770、780可分別使用點對點介面電路776、794、786、798而經由個別的P-P介面752、754與一晶片組790交換資訊。晶片組790亦可經由一高效能圖形介面739而與一高效能圖形電路738交換資訊。
一共享快取記憶體(圖中未示出)可被包含在任一處理器中,或是在兩個處理器之外,但是仍然經由一P-P互連而與該等處理器連接,因而處理器被置於一低功率模式時,可將任一或兩個處理器的本地快取記憶體資訊儲存在該共享快取記憶體。
晶片組790可經由一介面796而被耦合到一第一匯流排716。在一實施例中,第一匯流排716可以是一周邊組
件互連(Peripheral Component Interconnect;簡稱PCI)匯流排、或諸如一周邊組件高速互連(PCI Express)匯流排或另一第三代I/O互連匯流排等的一匯流排,但是本發明揭示之範圍不限於此。
如第7圖所示,各種I/O裝置714以及一匯流排橋接器718可被耦合到第一匯流排716,該匯流排橋接器718將第一匯流排716耦合到一第二匯流排720。在一實施例中,第二匯流排720可以是一低接腳數(Low Pin Count;簡稱LPC)匯流排。在一實施例中,其中包括諸如一鍵盤及/或滑鼠722、一些通訊裝置727、諸如磁碟機或可包含指令/程式碼及資料730之其他大量儲存裝置等的儲存單元728之各種裝置可被耦合到第二匯流排720。此外,一音訊I/O 724可被耦合到第二匯流排720。
第8圖示出根據本發明揭示的一或多個觀點的一例示系統單晶片(SoC)之一方塊圖。如本說明書前文中更詳細說明的,可以能夠實施基於虛擬機之受保護視訊路徑的處理系統100的某一版本提供應用處理器910。如第8圖以示意圖示出的,一或多個互連單元902可被耦合到:一應用處理器910,該應用處理器910包含一組的一或多個核心902A-N及一或多個共享快取記憶體單元906;一系統代理單元910;一或多個匯流排控制器單元916;一整合式記憶體控制器單元914;一組或一或多個媒體處理器920,該等媒體處理器920可包括整合式圖形邏輯908、用於提供靜態及/或視訊攝影機功能之一影像處理器
924、用於提供硬體音訊加速之一音訊處理器926、及用於提供視訊編碼/解碼加速之一視訊處理器928;一靜態機存取記憶體(Static Random Access Memory;簡稱SRAM)單元930;一直接記憶體存取(Direct Memory Access;簡稱DMA)單元932;以及用於耦合到一或多個外部顯示器之一顯示單元940。
第9圖示出根據本發明揭示的一或多個觀點的一例示電腦系統之一方塊圖。如本說明書前文中更詳細說明的,可以能夠實施基於虛擬機之受保護視訊路徑的處理系統100的某一版本提供處理器1610。
第9圖以示意圖示出之系統1600可包括適用於電腦系統且被實施為積體電路(IC)、IC的一部分、分立電子裝置、其他模組、邏輯、硬體、軟體、韌體、或以上各項的一組合的一些組件之任何組合,或可包括被實施為被以其他方式包含在該電腦系統的機殼內的一些組件之任何組合。第9圖之該方塊圖意圖示出該電腦系統的許多組件之一高階圖式。然而,我們應可了解:可能省略所示的該等組件中之某些組件,可能設有一些額外的組件,且可能以其他的實施方式發生所示該等組件之不同的配置。
可以一微處理器、多核心處理器、多線程執行處理器、超低電壓(ultra low voltage)處理器、嵌入式處理器、或其他已知之處理元件提供處理器1610。在該所示實施例中,處理器1610被用來作為一主處理單元及中樞,用以與系統1600的各種組件中之許多組件通訊。舉
例而言,系統1600可被實施為一系統單晶片(SoC)。作為一特定例子,處理器1610包括由Intel Corporation(位於Santa Clara,California,USA)供應的諸如i3、i5、i7、或另一此類處理器等的基於Intel® Architecture CoreTM之處理器。
處理器1610可與一系統記憶體1615通訊。在各實施例中,個別的記憶體裝置可以是諸如單晶粒封裝(Single Die Package;簡稱SDP)、雙晶粒封裝(Dual Die Package;簡稱DDP)、或四晶粒封裝(Quad Die Package;簡稱QDP)等的不同的封裝類型。在某些實施例中,這些裝置可被直接銲接到一主機板上,以便提供較低輪廓的解決方案,而在其他實施例中,該等裝置可被配置為一或多個記憶體模組,且該一或多個記憶體模組又被一特定連接器耦合到該主機板。其他的記憶體實施例也是可能的,例如,不同種類的雙行記憶體模組(Dual Inline Memory Module;簡稱DIMM)(其中包括但不限於microDIMM、MiniDIMM)等的其他類型的記憶體模組。在一例子中,該記憶體的大小可在2GB(GB:十億位元組)與16GB之間,且可被配置為經由一錫球柵格陣列(Ball Grid Array;簡稱BGA)而被焊接到一主機板上之一DDR3LM封裝或一LPDDR2或LPDDR3記憶體。
為了提供資料、應用程式、及一或多個作業系統等的資訊之持續儲存,一大量儲存裝置1620亦可被耦合到處理器1610。在某些實施例中,為了能夠作出較薄且較輕
的系統設計,且為了要改善統反應,可經由一固態硬碟(SSD)而實施大量儲存裝置1620。在其他實施例中,主要可以具有被用來作為SSD快取儲存器的較小容量的SSD儲存器之一硬碟機(Hard Disk Drive;簡稱HDD)提供該大量儲存裝置,其中該SSD快取儲存器能夠在電源切斷事件期間非揮發地儲存環境狀態及其他此類資訊,因而可在系統活動重新啟動時執行快速的開機。
亦如第9圖所示,一快閃記憶體裝置1622可經由諸如一序列周邊介面(Serial Peripheral Interface;簡稱SPI)而被耦合到處理器1610。快閃記憶體裝置1622可提供其中包括基本輸入/輸出系統(Basic Input/Output System;簡稱BIOS)及該系統的其他韌體的系統軟體之非揮發儲存。
在各實施例中,可單獨以一SSD提供該系統之大量儲存,或以具有一SSD快取儲存器的磁碟機、光碟機、或以其他媒體驅動機之方式提供該系統之大量儲存。在某些實施例中,可以一SSD或連同一還原(DST)快取模組的一硬碟機之方式提供大量儲存。該SSD快取儲存器可被配置為一單階快取記憶體(Single Level Cache;簡稱SLC)或多階快取記憶體(Multi-Level Cache;簡稱MLC)選項,以便提供適當層級的反應性。
系統1600內可設有其中包括諸如一顯示器1624之各種輸入/輸出(I/O)裝置,其中可以被配置在機殼的上蓋部分內之一高畫質液晶顯示器(LCD)或發光二極體
(LED)面板提供該顯示器1624。該顯示面板亦可提供自外部適配到該顯示面板之上的一觸控式螢幕1625,因而可經由與該觸控式螢幕間之使用者互動而將使用者輸入提供給該系統,以便能啟動諸如與資訊的顯示及資訊的存取等的行動有關之所需操作。在某些實施例中,顯示器1624可經由可被實施為一高效能圖形互連之一顯示器互連而被耦合到處理器1610。觸控式螢幕1625可經由在一實施例中可以是一I2C互連之另一互連而被耦合到處理器1610。除了觸控式螢幕1625之外,亦可經由可被被配置在該機殼內且亦可被耦合到與觸控式螢幕1625相同的I2C互連之一觸控板1630而利用觸控執行使用者輸入。
各種感測器可被設置在該系統內,且可被以不同的方式耦合到處理器1610。某些內部感測器或環境感測器可諸如經由一I2C互連而利用一感測器中心1640耦合到處理器1610。這些感測器可包括一加速度計1641、一環境光感測器(Ambient Light Sensor;簡稱ALS)1642、一羅盤1643、及一陀螺儀1644。其他的環境感測器可包括一或多個熱感測器1646,而在某些實施例中,該一或多個熱感測器1646經由一系統管理匯流排(System Management Bus;簡稱SMBus)而耦合到處理器1610。在某些實施例中,可設有一或多個紅外線感測元件或其他熱感測元件、或用於感測使用者的存在或移動之任何其他的元件。
各周邊裝置可經由一低接腳數(LPC)互連而耦合到
處理器1610。在某些實施例中,可經由一嵌入式控制器1635而耦合各組件。這些組件可包括一鍵盤1636(例如,經由一PS2介面而被耦合)、一風扇1637、及一熱感測器1639。在某些實施例中,觸控板1630亦可經由一PS2介面而耦合到嵌入式控制器1635。此外,諸如根據可信賴運算集團(Trusted Computing Group;簡稱TCG)於2003年10月2日發佈的TPM Specification Version 1.2之一可信賴平台模組(Trusted Platform Module;簡稱TPM)1638等的一安全處理器亦可經由該LPC互連而耦合到處理器1610。
在某些實施例中,周邊埠可包括:一高畫質多媒體介面(High Definition Multimedia Interface;簡稱HDMI)連接器(該HDMI連接器可具有諸如全尺寸、小型、或微型等的不同的形狀因數(form factor);諸如根據Universal Serial Bus Revision 3.0 Specification(November 2008)之全尺寸外部埠等的一或多個USB埠,其中當該系統處於連接待機狀態(Connected Standby state)且插入插入交流電源時,至少一USB可供電而對USB裝置(例如,智慧型手機)充電。此外,可提供一或多個ThunderboltTM埠。其他的埠可包括諸如一全尺寸SD-XC讀卡機或用於無線廣域網路(WWAN)之一用戶身分模組(SIM)讀卡機等的可自外部存取的讀卡機(例如,一8接腳讀卡機)。對於音訊而言,可設有具有立體聲及麥克風功能(例如,組合功能)之3.5毫米插口,且支援接插口偵測
(例如,識別只支援使用上蓋中之麥克風的耳機、或具有耳機纜線上之麥克風的耳機)。在某些實施例中,該插口可在立體聲耳機與立體聲麥克風輸入之間切換工作。此外,可提供一電源插口,用以耦合到一交流電源。
系統1600可以其中包括無線方式的各種方式與外部裝置通訊。在第9圖所示之實施例中,設有各種無線模組,每一無線模組可對應於針對一特定無線通訊協定而被配置之一無線電。用於諸如近場等的短距離中之無線通訊之一種方式可以是經由一近場通訊(Near Field Communication;簡稱NFC)單元1645,該NFC單元1645於一實施例中可經由一SMBus而與處理器1610通訊。
額外的無線單元可包含其中包括一WLAN(無線區域網路)單元1650及一藍牙單元1652之其他的短距離無線引擎。使用WLAN單元1650時,可實現根據一特定電機及電子工程師協會(Institute of Electrical and Electronic Engineers;簡稱IEEE)802.11標準之Wi-FiTM通訊,而經由藍牙單元1652時,可進行經由一藍牙協定之短距離通訊。這些單元可經由諸如一USB鏈路或一通用非同步收發器(Universal Asynchronous Receiver Transmitter;簡稱UART)鏈路而與處理器1610通訊。或者,這些單元可根據諸如根據PCI ExpressTM Specification Base Specification version 3.0(於2007年1月17日發佈)之一快速週邊組件互連(Peripheral Component Interconnect
ExpressTM;簡稱PCIeTM)協定或諸如一序列資料輸入/輸出(Serial Data Input/Output;簡稱SDIO)標準等的另一此類協定而經由一互連耦合到處理器1610。當然,可被配置在一或多個附加卡上的這些周邊裝置間之實際實體連接可經由適應於一主機板之NGFF連接器。
此外,可經由一無線廣域網路(WWAN)單元1656而進行根據諸如一細胞式或其他無線廣域通訊協定之無線廣域通訊,其中該WWAN單元1656又可耦合到一用戶身分模組(Subscriber Identity Module;簡稱SIM)1657。此外,為了能夠接收且使用位置資訊,亦可設有一全球衛星定位系統(GPS)模組1655。
為了提供音訊輸入及輸出,可經由一數位信號處理器(DSP)1660而實施一音訊處理器,該DSP 1660可經由一高傳真音效(High Definition Audio;簡稱HDA)鏈路而耦合到處理器1610。同樣地,DSP 1660可與一整合式編碼器/解碼器(Coder/Decoder;簡稱CODEC)及放大器1662通訊,而該整合式CODEC及放大器1662又可耦合到可在機殼內實施之輸出喇叭1663。同樣地,放大器及CODEC 1662可被耦合成自一麥克風1665接收音訊輸入。
第10圖示出根據本發明揭示的一或多個觀點的一例示系統單晶片(SoC)之一方塊圖。作為一特定例子,SOC 1700可被包含在用戶設備(User Equipment;簡稱UE)中。在一實施例中,UE意指諸如手持電話、智慧型
手機、平板電腦、超薄筆記型電腦、具有寬頻配接器之筆記型電腦、或任何其他類似通訊裝置等的將被用戶用於通訊之任何裝置。一UE通常連接到一基地台或一節點,而該節點可能在本質上對應於GSM網路中之一行動台(Mobile Station;簡稱MS)。
如第10圖之示意圖所示,SOC 1700可包含兩個核心。核心1706及1707可被耦合到與匯流排介面單元1709及L2快取記憶體1710相關聯之快取記憶體控制1708,以便與系統1700的其他部分通訊。互連1710可包括諸如一IOSF、AMBA、或其他互連等的一晶片內建(on-chip)互連。
介面1710可將通訊通道提供給其他組件,這些其他組件包括諸如:用於作為一SIM卡的介面之一用戶身分模組(SIM)1730、用於存放將被核心1706及1707執行而初始化且啟動SOC 1700的啟動碼之一啟動ROM 1735、用於作為外部記憶體(例如,DRAM 1760)的介面之一SDRAM(同步動態機存取記憶體)控制器1740、用於作為非揮發性記憶體(例如,快閃記憶體1765)的介面之一快閃記憶體控制器1745、用於作為周邊裝置的介面之一周邊裝置控制1750(例如,序列周邊裝置介面)、用於顯示及接收輸入(例如,以觸控啟動之輸入)之視訊編碼解碼器1720及視訊介面1725、以及用於執行與圖形相關的計算之圖形處理單元(GPU)1715等的組件。此外,該系統可包含諸如一藍牙模組1770、3G數據
機1775、全球衛星定位系統(GPS)1785、及WiFi模組1785等的用於通訊之周邊裝置。
其他的電腦系統設計及組態亦可適於實施本發明所述的該等系統及方法。下列的例子例示了根據本發明揭示的一或多個觀點之各實施例。
例子1是一種處理系統,包含:一記憶體;一共享互連;以及經由該共享互連而在通訊上被耦合到該記憶體之一處理核心,該處理核心執行下列操作:初始化一第一虛擬機及一第二虛擬機;回應接收到該第一虛擬機啟動的存取一記憶體緩衝區之一記憶體存取交易,而以該第一虛擬機之一識別符標記該記憶體存取交易;以及回應接收到該第二虛擬機啟動的存取一數位內容解碼器之一周邊裝置存取交易,而以該第二虛擬機之一識別符標記該周邊裝置交易。
例子2是例子1之處理系統,其中初始化該第一虛擬機之該操作包含將該第一虛擬機之該識別符儲存在一第一內部暫存器。
例子3是例子1-2中之任一例子之處理系統,其中初始化該第二虛擬機之該操作包含將該第二虛擬機之該識別符儲存在一第二內部暫存器。
例子4是例子1-3中之任一例子之處理系統,其中該共享互連實施一記憶體防火牆,該記憶體防火牆容許被下列二識別符中之一識別符鑑別的一代理單元存取該記憶體緩衝區:該第一虛擬機之該識別符、或該第二虛擬機之該
識別符。
例子5是例子1-4中之任一例子之處理系統,其中該共享互連實施一周邊裝置防火牆,該周邊裝置防火牆容許被該第二虛擬機的該識別符鑑別之一代理單元存取該數位內容解碼器。
例子6是例子1-5中之任一例子之處理系統,其中該第一虛擬機被編程成:自一檔案系統或一網路中之任一者接收加密內容部分;以及將該等加密內容部分儲存在該記憶體緩衝區。
例子7是例子1-6中之任一例子之處理系統,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
例子8是例子7之處理系統,其中該I/O控制器包含一顯示控制器。
例子9是例子7-8中之任一例子之處理系統,其中該數位內容項目包含一視訊內容項目。
例子10是一種系統單晶片(SoC),包含用於執行複數個虛擬機之一處理核心、以及被耦合到該處理核心之一互連,該互連執行下列操作:自該處理核心接收一第一交易,該第一交易係與一第一虛擬機之一識別符相關聯;使用該第一虛擬機之該識別符決定該第一交易是否被容許存
取被耦合到該互連之一記憶體;自該處理核心接收一第二交易,該第二交易係與一第二虛擬機之一識別符相關聯;以及使用該第二虛擬機之該識別符決定該第二交易是否被容許存取被耦合到該互連之一數位內容解碼器。
例子11是例子10之SoC,其中該處理核心進一步執行下列操作:以該第一虛擬機之該識別符標記該第一交易。
例子12是例子10-11中之任一例子之SoC,其中該處理核心進一步執行下列操作:以該第一虛擬機之該識別符標記該第二交易。
例子13是例子10-12中之任一例子之SoC,其中該處理核心進一步執行與一存取等級特權相關聯的一虛擬機管理程式,該存取等級特權容許該虛擬機管理程式將該互連配置成容許或不容許下列兩者中之至少一者:根據記憶體位址範圍之記憶體存取交易、或根據周邊裝置識別符之周邊裝置存取交易。
例子14是例子10-13中之任一例子之SoC,其中該第一虛擬機被編程成:自一檔案系統或一網路中之一者接收加密內容部分;以及將該等加密內容部分儲存在一記憶體緩衝區。
例子15是例子10-14中之任一例子之SoC,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解
碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
例子16是一種方法,該方法包含下列操作:由一處理核心初始化被一第一虛擬機識別符識別之一第一虛擬機;回應接收到該第一虛擬機啟動的存取一記憶體緩衝區之一記憶體存取交易,而以該第一虛擬機之一識別符標記該記憶體存取交易;以及回應接收到該第一虛擬機啟動之一數位解碼器存取交易,而以該第一虛擬機之該識別符標記該數位解碼器存取交易。
例子17是例子16之方法,其中初始化該第一虛擬機之該操作包含將該第一虛擬機之該識別符儲存在一專用內部暫存器。
例子18是例子16-17中之任一例子之方法,進一步包含下列操作:初始化被一第一虛擬機識別符識別之一第二虛擬機;以及回應接收到該第二虛擬機啟動的存取該記憶體緩衝區之一記憶體存取交易,而以該第二虛擬機之一識別符標記該記憶體存取交易。
例子19是例子16-18中之任一例子之方法,其中該第一虛擬機被編程成:自一檔案系統或一網路中之任一者接收加密內容部分;以及將該等加密內容部分儲存在該記憶體緩衝區。
例子20是例子16-19中之任一例子之方法,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位
內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
例子21是一種設備,包含:一記憶體;以及被耦合到該記憶體之一處理系統,該處理系統執行例子16-20中之任一例子之方法。
例子22是一種包含可執行指令之電腦可讀取的非暫態儲存媒體,該等可執行指令被一處理系統執行時,使該處理系統執行一些操作,該等操作包含:初始化被一第一虛擬機識別符識別之一第一虛擬機;回應接收到該第一虛擬機啟動的存取一記憶體緩衝區之一記憶體存取交易,而以該第一虛擬機之一識別符標記該記憶體存取交易;以及回應接收到該第一虛擬機啟動之一數位解碼器存取交易,而以該第一虛擬機之該識別符標記該數位解碼器存取交易。
例子23是例子22之電腦可讀取的非暫態儲存媒體,其中初始化該第一虛擬機之該操作包含將該第一虛擬機之該識別符儲存在一專用內部暫存器。
例子24是例子22-23中之任一例子之電腦可讀取的非暫態儲存媒體,進一步包含使該處理系統執行下列操作之可執行指令:初始化被一第一虛擬機識別符識別之一第二虛擬機;以及回應接收到該第二虛擬機啟動的存取該記憶體緩衝區之一記憶體存取交易,而以該第二虛擬機之一識別符標記該記憶體存取交易。
例子25是例子22-24中之任一例子之電腦可讀取的非暫態儲存媒體,進一步包含使該第一虛擬機執行下列操作之可執行指令:自一檔案系統或一網路中之任一者接收加密內容部分;以及將該等加密內容部分儲存在該記憶體緩衝區。
例子26是例子22-25中之任一例子之電腦可讀取的非暫態儲存媒體,進一步包含使該第二虛擬機執行下列操作之可執行指令:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
係以對電腦記憶體內的資料位元執行的運算之演算法及符號表示法之方式呈現該實施方式之某些部分。這些演算法說明及表示法是熟悉資料處理技術者將其工作之內涵最有效地傳遞給其他熟悉此項技術者時使用的方式。作為本說明書中使用的術語,且在一般被使用時,演算法被認為是一系列有條理並可得到所需結果之操作。該等操作是需要對物理量作物理操作的操作。雖非必然,但是這些物理量之形式通常為可被儲存、傳送、結合、比較、及以他種方式操作之電信號或磁性信號。將這些信號稱為位元、數值、元素、符號、字元、項、或數字等的術語時,已證明經常是較便利的,主要也是為了普遍使用之故。
然而,我們當謹記於心,所有這些術語及其他類似的
術語都與適當的物理量相關聯,而且只是適用於這些物理量的便利性標記而已。除非有其他特別的陳述,而可自前文的說明中明顯地看出,否則我們應可了解:在整個說明鐘,利用諸如"加密"、"解密"、"儲存"、"提供"、"導出"、"得到"、"接收"、"鑑別"、"刪除"、"執行"、"要求"、或"通訊"等的術語之討論皆係論及計算系統或類似的電子計算裝置之動作及程序,且此種計算系統係將該計算系統的暫存器及記憶體內表現為物理量(例如,電子量)之資料操作且變換成該計算系統的記憶體、暫存器、或者其他此種資訊儲存裝置、傳送裝置、或顯示裝置內同樣表現為物理量之其他資料。
詞語"例子"或"例示的"在本說明書中被用來意指"被用來作為例子、實例、或例示"。在本說明書中被描述為"例子"或"例示的"之任何觀點或設計不必然被詮釋為勝過或優於其他的觀點或設計。使用詞語"例子"或"例示的"時,比較意圖以一種具體的方式呈現觀念。在本申請案的用法中,術語"或"將意指包含性的"或",而不是互斥性的"或"。亦即,除非另有指定或可自上下文明瞭,否則"X包括A或B"將意指自然包含性排列中之任何排列。亦即,如果X包括A;X包括B;或X包括A及B,則在不同的前述例子中之任何例子下,都滿足"X包括A或B"。此外,除非另有指定或自上下文清楚地導向單數形式,否則在本說明書及最後的申請專利範圍中使用的冠詞"一"("a"及"an")通常應被詮釋為意指"一或多個"。此外,在整份說
明書中使用術語"一實施例"或"一個實施例"或"一實施方式"或"一個實施方式"時,並不意圖意指相同的實施例或實施方式,除非被描述為意指相同的實施例或實施方式。此外,本說明書中使用的術語"第一"、"第二"、"第三"、及"第四"等的序數形容詞意指用於區分不同的元件之標記,且可能不必然有根據其數字標號的順序意義。
本發明所述的實施例也可有關一種用於執行本發明的操作之設備。可為了所需之目的而特別建構該設備,或者該設備可包含一般用途電腦,且可以該電腦中儲存之一電腦程式選擇性地啟動或重新配置該電腦。該電腦程式可被儲存在諸如但不限於其中包括軟碟、光碟、唯讀光碟(CD-ROM)、及磁光碟之任何類型的儲存碟、唯讀記憶體(Read Only Memory;簡稱ROM)、隨機存取記憶體(Random Access Memory;簡稱RAM)、可抹除可程式唯讀記憶體(EPROM)、電氣可抹除可程式唯讀記憶體(EEPROM)、磁卡或光學卡、快閃記憶體、或適於儲存電子指令之任何類型的媒體等的一非暫態電腦可讀取的儲存媒體。術語"電腦可讀取的儲存媒體"應被理解為包括用於儲存一或多組指令之單一媒體或多個媒體(例如,一集中式或分散式資料庫及/或相關聯的快取記憶體及伺服器)。術語"電腦可讀取的媒體"也應被理解為包括能夠儲存、編碼、或載送可供機器執行的一組指令之任何媒體,該組指令可使該機器執行本發明實施例的該等方法中之任何一或多種方法。術語"電腦可讀取的儲存媒體"因而應被
理解為包括但不限於固態記憶體、光學媒體、及能夠儲存可供機器執行的一組指令之任何媒體,該組指令可使該機器執行本發明實施例的該等方法中之任何一或多種方法。
本說明書中呈現的演算法及顯示器並非固有地與任何特定電腦或其他設備有關。可根據本發明之揭示而利用程式使用各種一般用途系統,或者可建構用於執行所需方法操作之更專門的設備也證明是便利的。自前文之說明可得知各種此類系統之必要結構。此外,並非參照任何特定程式設計語言而說明本發明之實施例。我們應可了解:各種程式設計語言可被用於實施本發明所述的實施例之揭示。
前文之說明述及了諸如特定系統、組件、及方法之例子等的許多特定細節,以便提供對數個實施例的徹底了解。然而,熟悉此項技術者應可了解:可在沒有這些特定細節的情形下實施至少某些實施例。在其他的情形中,並未詳述習知的組件或方法,或以簡單的方塊圖格式呈現習知的組件或方法,以便不會非必必要地模糊了本發明之實施例。因此,前文所述之該等特定細節只是例示的。特定實施例的這些例示細節可能有所不同,且仍然被視為在本發明實施例的範圍內。
我們應可了解:前文的說明之用意是例示性的且非限制性的。熟悉此項技術者在閱讀且了解前文的說明之後,將可易於得知許多其他實施例。因此,應參照最後的申請專利範圍以及這些申請專利範圍應享有的等效物之完整範圍而決定本發明實施例之範圍。
100‧‧‧處理系統
111‧‧‧處理核心
115‧‧‧共享互連
118‧‧‧記憶體
121‧‧‧數位內容解碼器
125‧‧‧顯示控制器
131A‧‧‧安全虛擬機
131B‧‧‧不安全虛擬機
135‧‧‧共享記憶體區
138‧‧‧安全記憶體區
142‧‧‧串流埠
Claims (20)
- 一種處理系統,包含:一記憶體;一共享互連;以及經由該共享互連而在通訊上被耦合到該記憶體之一處理核心,該處理核心執行下列操作:初始化一第一虛擬機及一第二虛擬機;回應接收該第一虛擬機啟動的存取一記憶體緩衝區之一記憶體存取交易,而以該第一虛擬機之一識別符標記該記憶體存取交易;以及回應接收該第二虛擬機啟動的存取一數位內容解碼器之一周邊裝置存取交易,而以該第二虛擬機之一識別符標記該周邊裝置交易。
- 如申請專利範圍第1項之處理系統,其中初始化該第一虛擬機之該操作包含將該第一虛擬機之該識別符儲存在一第一內部暫存器。
- 如申請專利範圍第1項之處理系統,其中初始化該第二虛擬機之該操作包含將該第二虛擬機之該識別符儲存在一第二內部暫存器。
- 如申請專利範圍第1項之處理系統,其中該共享互連實施一記憶體防火牆,該記憶體防火牆容許被下列之一者鑑別的一代理單元存取該記憶體緩衝區:該第一虛擬機之該識別符、或該第二虛擬機之該識別符。
- 如申請專利範圍第1項之處理系統,其中該共享互連實施一周邊裝置防火牆,該周邊裝置防火牆容許被該第二虛擬機的該識別符鑑別之一代理單元存取該數位內容解碼器。
- 如申請專利範圍第1項之處理系統,其中該第一虛擬機被編程成:自一檔案系統或一網路中之任一者接收加密內容部分;以及將該等加密內容部分儲存在該記憶體緩衝區。
- 如申請專利範圍第1項之處理系統,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
- 如申請專利範圍第7項之處理系統,其中該I/O控制器包含一顯示控制器。
- 如申請專利範圍第7項之處理系統,其中該數位內容項目包含一視訊內容項目。
- 一種系統單晶片(SoC),包含:用於執行複數個虛擬機之一處理核心;以及被耦合到該處理核心之一互連,該互連執行下列操作: 自該處理核心接收一第一交易,該第一交易係與一第一虛擬機之一識別符相關聯;使用該第一虛擬機之該識別符決定該第一交易是否被容許存取被耦合到該互連之一記憶體;自該處理核心接收一第二交易,該第二交易係與一第二虛擬機之一識別符相關聯;以及使用該第二虛擬機之該識別符決定該第二交易是否被容許存取被耦合到該互連之一數位內容解碼器。
- 如申請專利範圍第10項之SoC,其中該處理核心進一步執行下列操作:以該第一虛擬機之該識別符標記該第一交易。
- 如申請專利範圍第10項之SoC,其中該處理核心進一步執行下列操作:以該第一虛擬機之該識別符標記該第二交易。
- 如申請專利範圍第10項之SoC,其中該處理核心進一步執行與一存取等級特權相關聯的一虛擬機管理程式,該存取等級特權容許該虛擬機管理程式將該互連配置成容許或不容許下列兩者中之至少一者:根據記憶體位址範圍之記憶體存取交易、或根據周邊裝置識別符之周邊裝置存取交易。
- 如申請專利範圍第10項之SoC,其中該第一虛擬機被編程成:自一檔案系統或一網路中之一者接收加密內容部分;以及 將該等加密內容部分儲存在一記憶體緩衝區。
- 如申請專利範圍第10項之SoC,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
- 一種方法,包含下列操作:由一處理核心初始化被一第一虛擬機識別符識別之一第一虛擬機;回應接收該第一虛擬機啟動的存取一記憶體緩衝區之一記憶體存取交易,而以該第一虛擬機之一識別符標記該記憶體存取交易;以及回應接收該第一虛擬機啟動之一數位解碼器存取交易,而以該第一虛擬機之該識別符標記該數位解碼器存取交易。
- 如申請專利範圍第16項之方法,其中初始化該第一虛擬機之該操作包含將該第一虛擬機之該識別符儲存在一專用內部暫存器。
- 如申請專利範圍第16項之方法,進一步包含下列操作:初始化被一第一虛擬機識別符識別之一第二虛擬機; 以及回應接收該第二虛擬機啟動的存取該記憶體緩衝區之一記憶體存取交易,而以該第二虛擬機之一識別符標記該記憶體存取交易。
- 如申請專利範圍第16項之方法,其中該第一虛擬機被編程成:自一檔案系統或一網路中之任一者接收加密內容部分;以及將該等加密內容部分儲存在該記憶體緩衝區。
- 如申請專利範圍第16項之方法,其中該第二虛擬機被編程成:將一數位內容項目之一或多個加密內容部分解密,而產生一或多個解密內容部分;使該數位內容解碼器將該等加密內容部分解碼,而產生一或多個解碼內容部分;以及將該等解碼內容部分項目傳輸到一輸入/輸出(I/O)控制器。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/227,178 US9785576B2 (en) | 2014-03-27 | 2014-03-27 | Hardware-assisted virtualization for implementing secure video output path |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201543230A TW201543230A (zh) | 2015-11-16 |
| TWI540446B true TWI540446B (zh) | 2016-07-01 |
Family
ID=54190580
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104104761A TWI540446B (zh) | 2014-03-27 | 2015-02-12 | 用於實施安全視訊輸出路徑的硬體輔助虛擬化 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9785576B2 (zh) |
| CN (1) | CN105184113B (zh) |
| TW (1) | TWI540446B (zh) |
Families Citing this family (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104040510B (zh) * | 2011-12-21 | 2017-05-17 | 英特尔公司 | 具备安全的直接存储器访问的计算设备及相应方法 |
| US9251090B1 (en) * | 2014-06-03 | 2016-02-02 | Amazon Technologies, Inc. | Hypervisor assisted virtual memory obfuscation |
| FR3030827B1 (fr) | 2014-12-19 | 2017-01-27 | Stmicroelectronics (Grenoble 2) Sas | Procede et dispositif de traitement securise de donnees cryptees |
| US10838882B2 (en) * | 2015-04-07 | 2020-11-17 | Vanco International, Llc | HDMI extender with bidirectional power over twisted pair |
| US10055155B2 (en) * | 2016-05-27 | 2018-08-21 | Wind River Systems, Inc. | Secure system on chip |
| US9965375B2 (en) * | 2016-06-28 | 2018-05-08 | Intel Corporation | Virtualizing precise event based sampling |
| US10114768B2 (en) * | 2016-08-29 | 2018-10-30 | Intel Corporation | Enhance memory access permission based on per-page current privilege level |
| US10318162B2 (en) * | 2016-09-28 | 2019-06-11 | Amazon Technologies, Inc. | Peripheral device providing virtualized non-volatile storage |
| KR102511451B1 (ko) * | 2016-11-09 | 2023-03-17 | 삼성전자주식회사 | 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템 |
| US10528746B2 (en) * | 2016-12-27 | 2020-01-07 | Intel Corporation | System, apparatus and method for trusted channel creation using execute-only code |
| US10241947B2 (en) * | 2017-02-03 | 2019-03-26 | Intel Corporation | Hardware-based virtual machine communication |
| DE102017103554B3 (de) * | 2017-02-21 | 2018-05-09 | Phoenix Contact Gmbh & Co. Kg | Frontadapter zum Verbinden mit einer Steuerungseinrichtung und Automatisierungssystem |
| US20180276321A1 (en) * | 2017-03-24 | 2018-09-27 | The Boeing Company | Method and apparatus for testing design of satellite wiring harness and signal processing units |
| US10908998B2 (en) | 2017-08-08 | 2021-02-02 | Toshiba Memory Corporation | Managing function level reset in an IO virtualization-enabled storage device |
| US11249779B2 (en) * | 2017-09-01 | 2022-02-15 | Intel Corporation | Accelerator interconnect assignments for virtual environments |
| US11687654B2 (en) * | 2017-09-15 | 2023-06-27 | Intel Corporation | Providing isolation in virtualized systems using trust domains |
| WO2019148482A1 (en) * | 2018-02-05 | 2019-08-08 | Cisco Technology, Inc. | Configurable storage server with multiple sockets |
| US11115383B2 (en) * | 2018-05-24 | 2021-09-07 | Texas Instruments Incorporated | System on chip firewall memory architecture |
| CN112740180B (zh) * | 2018-08-03 | 2024-06-25 | 辉达公司 | 适用于人工智能辅助的汽车应用的虚拟机存储器的安全访问 |
| US10698853B1 (en) * | 2019-01-03 | 2020-06-30 | SambaNova Systems, Inc. | Virtualization of a reconfigurable data processor |
| US10929167B2 (en) * | 2019-01-09 | 2021-02-23 | Microsoft Technology Licensing, Llc | Low-latency events across a virtual machine boundary |
| US10936506B2 (en) * | 2019-02-22 | 2021-03-02 | Chengdu Haiguang Integrated Circuit Design Co., Ltd. | Method for tagging control information associated with a physical address, processing system and device |
| WO2021056379A1 (en) * | 2019-09-27 | 2021-04-01 | Intel Corporation | Using secure enclaves and dynamic measurements |
| US11599376B1 (en) * | 2020-02-20 | 2023-03-07 | Amazon Technologies, Inc. | Deep learning architecture for edge computing system |
| US12253960B2 (en) * | 2020-07-28 | 2025-03-18 | Mediatek Inc. | Method and system for improving the efficiency of protecting a multi-content process |
Family Cites Families (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7797699B2 (en) * | 2004-09-23 | 2010-09-14 | Intel Corporation | Method and apparatus for scheduling virtual machine access to shared resources |
| US8090919B2 (en) * | 2007-12-31 | 2012-01-03 | Intel Corporation | System and method for high performance secure access to a trusted platform module on a hardware virtualization platform |
| US20080215894A1 (en) * | 2005-07-05 | 2008-09-04 | Koninklijke Philips Electronics, N.V. | Method, System and Devices For Digital Content Protection |
| US8234631B2 (en) * | 2007-08-14 | 2012-07-31 | Dynatrace Software Gmbh | Method and system for tracing individual transactions at the granularity level of method calls throughout distributed heterogeneous applications without source code modifications |
| US7877760B2 (en) | 2006-09-29 | 2011-01-25 | Microsoft Corporation | Distributed hardware state management in virtual machines |
| KR101425621B1 (ko) * | 2008-01-15 | 2014-07-31 | 삼성전자주식회사 | 컨텐츠를 안전하게 공유하는 방법 및 시스템 |
| US20110156879A1 (en) * | 2009-06-26 | 2011-06-30 | Yosuke Matsushita | Communication device |
| US8719547B2 (en) | 2009-09-18 | 2014-05-06 | Intel Corporation | Providing hardware support for shared virtual memory between local and remote physical memory |
| JPWO2011065007A1 (ja) * | 2009-11-30 | 2013-04-11 | パナソニック株式会社 | 携帯型通信装置、通信方法、集積回路、プログラム |
| US8627456B2 (en) * | 2009-12-14 | 2014-01-07 | Citrix Systems, Inc. | Methods and systems for preventing access to display graphics generated by a trusted virtual machine |
| US8887227B2 (en) * | 2010-03-23 | 2014-11-11 | Citrix Systems, Inc. | Network policy implementation for a multi-virtual machine appliance within a virtualization environtment |
| CN102971706B (zh) * | 2010-05-10 | 2016-08-10 | 思杰系统有限公司 | 将信息从安全虚拟机重定向到不安全虚拟机 |
| US8463980B2 (en) * | 2010-09-30 | 2013-06-11 | Microsoft Corporation | Shared memory between child and parent partitions |
| TW201217969A (en) | 2010-10-22 | 2012-05-01 | Nat Chip Implementation Ct Nat Applied Res Lab | Virtualized peripheral hardware platform system |
| US8655945B2 (en) * | 2010-11-16 | 2014-02-18 | International Business Machines Corporation | Centralized rendering of collaborative content |
| WO2013101248A1 (en) | 2011-12-31 | 2013-07-04 | Intel Corporation | Hardware protection of virtual machine monitor runtime integrity watcher |
| TWI594186B (zh) | 2012-05-16 | 2017-08-01 | 緯創資通股份有限公司 | 虛擬頻道之管理方法、擷取數位內容之方法及具有虛擬頻道之網路多媒體重現系統 |
| US9122780B2 (en) * | 2012-06-20 | 2015-09-01 | Intel Corporation | Monitoring resource usage by a virtual machine |
| US20140164718A1 (en) * | 2012-12-07 | 2014-06-12 | Open Kernel Labs, Inc. | Methods and apparatus for sharing memory between multiple processes of a virtual machine |
-
2014
- 2014-03-27 US US14/227,178 patent/US9785576B2/en not_active Expired - Fee Related
-
2015
- 2015-02-12 TW TW104104761A patent/TWI540446B/zh not_active IP Right Cessation
- 2015-03-02 CN CN201510093606.9A patent/CN105184113B/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US9785576B2 (en) | 2017-10-10 |
| US20150278119A1 (en) | 2015-10-01 |
| TW201543230A (zh) | 2015-11-16 |
| CN105184113B (zh) | 2018-11-09 |
| CN105184113A (zh) | 2015-12-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI540446B (zh) | 用於實施安全視訊輸出路徑的硬體輔助虛擬化 | |
| EP2889800B1 (en) | Using authenticated manifests to enable external certification of multi-processor platforms | |
| TWI578221B (zh) | 確認虛擬位址轉譯 | |
| US9852301B2 (en) | Creating secure channels between a protected execution environment and fixed-function endpoints | |
| US9501668B2 (en) | Secure video ouput path | |
| CN105264513B (zh) | 用于过程返回地址验证的系统和方法 | |
| US9858140B2 (en) | Memory corruption detection | |
| JP5802290B2 (ja) | セキュアエンクレーブページキャッシュのための進歩したページング能力を提供するための命令および論理 | |
| CN108351779B (zh) | 用于安全指令执行流水线的指令和逻辑 | |
| US9417879B2 (en) | Systems and methods for managing reconfigurable processor cores | |
| US9705892B2 (en) | Trusted time service for offline mode | |
| CN107209722A (zh) | 用于在安全飞地页面高速缓存中使安全飞地的进程分叉和建立子飞地的指令和逻辑 | |
| US20160328335A1 (en) | Tree-less integrity and replay memory protection for trusted execution environment | |
| CN108027864B (zh) | 经双仿射映射的s-盒硬件加速器 | |
| US9959939B2 (en) | Granular cache repair | |
| US10534935B2 (en) | Migration of trusted security attributes to a security engine co-processor |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |