用于图形处理单元的硬件强制内容保护的制作方法

文档序号:9264723阅读:253来源:国知局
用于图形处理单元的硬件强制内容保护的制作方法
【技术领域】
[0001] 本发明设及用于图形处理的技术,且更具体来说,设及用于内容保护的技术。
【背景技术】
[0002] 现代操作系统(包含开放平台(例如,安卓或其它开放源平台)及封闭平台(例 如,微软Window泌.)通常在保护安全内容方面不受信化所述安全内容被串流传输到所 述开放平台或由所述开放平台处理。虽然现代操作系统经由用户内核模式分离而提供安 全水平,但最终内核模式的组件在封闭平台中并且尤其在开放平台中不提供强信任水平。 可容易地安装内核模式驱动程序,且恶意的内核模式驱动程序自然绕过安全边界。此类开 放平台中的内核模式硬件驱动程序用于控制可处理安全内容的硬件(例如,图形处理单元 (GPU))的操作。然而,因为此类驱动程序常常是开放源,及/或未被认为是关于受保护内 容"安全的",所W它们更易受第=方更改。此类更改可导致通过由此类驱动程序控制的硬 件串流传输或由所述硬件处理的受保护内容(例如,数字权利管理值RM)内容)存储在不 安全的存储器中且被复制。由此,常常难W控制开放平台上的安全内容。

【发明内容】

[0003] 一般来说,本发明描述用于图形处理单元(GPU)的硬件强制内容保护的技术。为 了控制硬件平台上的安全内容,可由例如GPU但硬件控制对安全存储器的存取。
[0004] 在本发明的一个实例中,一种用于图形处理的设备包括图形处理单元(GPU),其经 配置W根据不安全模式及安全模式中的一者而存取第一存储器单元,所述GPU包括存储器 存取控制器,所述存储器存取控制器经配置W在所述GPU处于所述不安全模式中时允许所 述GPU仅从所述第一存储器单元的不安全部分读取数据,且经配置W在所述GPU处于所述 安全模式中时允许所述GPU仅将数据写入到所述第一存储器单元的安全部分。
[0005] 在本发明的另一实例中,一种图形处理的方法包括使用图形处理单元(GPU)根据 不安全模式及安全模式中的一者而存取第一存储器单元,其中存取包括在所述GPU处于所 述不安全模式中时允许所述GPU仅从所述第一存储器单元的不安全部分读取数据,及在所 述GPU处于所述安全模式中时允许所述GPU仅将数据写入到所述第一存储器单元的安全部 分。
[0006] 在本发明的另一实例中,一种经配置W用于图形处理的设备包括用于使用图形处 理单元(GPU)根据不安全模式及安全模式中的一者而存取第一存储器单元的装置,其中所 述用于存取的装置包括用于在所述GPU处于所述不安全模式中时允许所述GPU仅从所述第 一存储器单元的不安全部分读取数据的装置,及用于在所述GPU处于所述安全模式中时允 许所述GPU仅将数据写入到所述第一存储器单元的安全部分的装置。
[0007] 一或多个实例的细节陈述于附图及W下描述中。其它特征、目标和优点将从所述 描述和图式W及权利要求书而显而易见。
【附图说明】
[000引图1是展示经配置W使用本发明的技术的实例计算装置的框图。
[0009] 图2是说明图1的系统存储器的实例物理页的概念图。
[0010] 图3是展示经配置W使用本发明的技术的实例处理单元的框图。
[0011] 图4是展示本发明的硬件强制内容保护技术的实例结构的框图。
[0012] 图5是展示本发明的硬件强制内容保护技术的另一实例结构的框图。
[0013] 图6是展示根据本发明的一个实例的高速缓冲存储器清除技术的框图。
[0014] 图7是展示根据本发明的另一实例的高速缓冲存储器清除技术的框图。
[0015] 图8是说明根据本发明的一个实例的方法的流程图。
【具体实施方式】
[0016] 本发明设及用于图形处理的技术,且更具体来说,设及用于图形处理单元(GPU) 的硬件强制内容保护的技术。
[0017] 现代操作系统(包含开放平台(例如,安卓或其它开放源平台)及封闭平台(例 如,微软Window泌)通常在保护安全内容方面不受信任,所述安全内容被串流传输到所 述开放平台或由所述开放平台处理。虽然现代操作系统经由用户内核模式分离而提供安 全水平,但最终内核模式的组件在封闭平台中并且尤其在开放平台中不提供强信任水平。 可容易地安装内核模式驱动程序,且恶意的内核模式驱动程序自然绕过安全边界。此类开 放平台中的内核模式硬件驱动程序用于控制可处理安全内容的硬件(例如,图形处理单元 (GPU))的操作。然而,因为此类驱动程序常常是开放源,及/或未被认为是关于受保护内 容"安全的",所W它们更易受第=方更改。此类更改可导致通过由此类驱动程序控制的硬 件串流传输或由所述硬件处理的受保护内容(例如,数字权利管理值RM)内容)存储在不 安全的存储器中且被复制。由此,常常难W控制开放平台上的安全内容。为解决此问题,本 发明提出一种方法及设备,借此通过硬件自身(例如,通过GPU)控制对安全存储器的存取。
[0018] 不是直接通过驱动程序代码控制硬件对安全或不安全存储器的存取,在一个实例 中,本发明提出使用图形驱动程序(例如,开放源不安全驱动程序)W仅将GPU置于安全模 式或不安全模式中。一旦置于安全模式中,可读取安全存储器的GPU组件受约束W仅作出 到安全存储器区中的写入。此防止不受信任的驱动程序使用GPU将存储器内容从安全存储 器区复制到不安全存储器区。
[0019] 在此安全模式中,GPU可读取安全(例如,副本受保护(CP))内容W及不安全内容 (例如,存储在不安全存储器中的内容)。在不安全模式中,GPU拒绝对安全存储器的所有 存取。W此方式,即使更改不安全驱动程序W将GPU置于不安全模式中,将防止GPU自身从 安全存储器读取任何数据。由此,防止对安全存储器中的安全内容的存取。
[0020] 在本发明的一个实例中,一种用于图形处理的设备包括图形处理单元(GPU),其经 配置W根据不安全模式及安全模式中的一者而存取第一存储器单元,所述GPU包括存储器 存取控制器,所述存储器存取控制器经配置W在所述GPU处于所述不安全模式中时允许所 述GPU仅从所述第一存储器单元的不安全部分读取数据,且经配置W在所述GPU处于所述 安全模式中时允许所述GPU仅将数据写入到所述第一存储器单元的安全部分。
[0021] 图1是说明可用于实施本发明的用于GPU的硬件强制内容保护的技术的实例计算 装置2的框图。计算装置2可包括(例如)个人计算机、桌上型计算机、膝上型计算机、平 板计算机、计算机工作站、视频游戏平台或控制台、移动电话(例如,蜂窝式或卫星电话、陆 线电话、因特网电话、所谓的智能电话)、手持式装置(例如,便携式视频游戏装置或个人数 字助理(PDA)、个人音乐播放器、视频播放器)、显示装置、电视、电视机顶盒、服务器、中间 网络装置、主机计算机、任何移动装置或处理及/或显示图形数据的任何其它类型的装置。
[0022] 如图1的实例中所说明,计算装置2可包含用户输入接口 4、中央处理单元 (CPU) 6、一或多个存储器控制器8、系统存储器10、图形处理单元(GPU) 12、图形存储器14、 显示接口 16、显示器18W及总线20及22。应注意,在一些实例中,图形存储器14可与 GPU12 "在巧片上"。在一些情况下,图1中展示的所有硬件元件可在(例如)系统巧片 (SoC)设计中的巧片上。用户输入接口 4、CPU6、存储器控制器8、GPU12及显示接口 16可 使用总线20彼此通信。存储器控制器8及系统存储器10也可使用总线22彼此通信。总 线20、22可为多种总线结构中的任一者,例如第S代总线(例如,HyperTranspcxrt总线或 InfiniBand总线)、第二代总线(例如,高级图形端口总线、外围组件互连(PCI)高速总线, 或高级eXentisible接口(AXI)总线)或另一类型的总线或装置互连件。应注意,图1中 展示的不同组件之间的总线及通信接口的特定配置仅是示范性的,且具有相同或不同组件 的计算装置及/或其它图形处理系统的其它配置可用于实施本发明的技术。
[0023] CPU6可包括控制计算装置2的操作的通用或专用处理器。用户可提供对计算装 置2的输入W致使CPU6执行一或多个软件应用。在CPU6上执行的软件应用可包含(例 如)操作系统、字处理器应用、电子邮件应用、总分析表应用、媒体播放器应用、视频游戏应 用、图形用户接口应用或另一程序。另外,CPU6可执行用于控制GPU12的操作的GPU驱动 程序7。用户可经由一或多个输入装置(未图示)(例如,键盘、鼠标、麦克风、触摸垫、触摸 屏或经由用户输入接口 4禪合到计算装置2的另一输入装置)将输入提供到计算装置2。
[0024] 在CPU6上执行的软件应用可包含指令CPU6W致使向显示器18再现图形数据 的一或多个图形再现指令。在一些实例中,所述软件指令可符合图形应用编程接口(API), 例如开放图形库(OpcnGL")API、开放图形库嵌入系统的pen化E巧API、开放计算语言 (0pcnCL")API、Direct3DAPI、X3DAPI、RenderManAPI、WebGLAPI或任何其它公共或专 有标准图形API。为了处理图形再现指令,CPU6可将一或多个图形再现命令发布到GPU 12 (例如,通过GPU驱动程序7)W致使GPU12执行对图形数据的一些或所有再现。在一 些实例中,将再现的图形数据可包含例如点、线、立角形、四边形、立角形带等图形基元的列 表。
[0025] 存储器控制器8促进数据进出系统存储器10的传递。举例来说,存储器控制器8 可接收存储器读取及写入命令,且服务关于存储器系统10的此类命令W便为计算装置2中 的组件提供存储器服务。存储器控制器8经由存储器总线22通信地禪合到系统存储器10。 虽然在图1中将存储器控制器8说明为与CPU6及系统存储器10两者分开的处理模块,但 在其它实例中,存储器控制器8的一些或全部功能性可实施在CPU6、GPU12及系统存储器 10中的一者或任一者
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1