[发明专利]管理具有隔离组件的现场可编程门阵列的使用有效
申请号: | 201310248192.3 | 申请日: | 2013-06-20 |
公开(公告)号: | CN103488958A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | B·A·拉马恰;E·B·南丁格尔;P·巴勒姆 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F21/74 | 分类号: | G06F21/74;G06F21/62 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 杨洁 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 管理 具有 隔离 组件 现场 可编程 门阵列 使用 | ||
技术领域
本发明涉及管理具有隔离组件的现场可编程门阵列的使用。
背景技术
在大多数通用计算机内,操作系统是管理对计算机内资源的访问的主要软件。主要资源是执行被设计成在计算机上运行的应用程序的中央处理单元(CPU)、主存储器和存储。在一些计算机体系结构中,可出现附加的处理单元(诸如处理器中的多个核)和/或附加的处理器(称为协作处理器)。这样的协作处理器的示例包括图形处理单元(GPU)和数字信号处理器(DSP)。操作系统也管理多个进程对这些资源的访问。
现场可编程门阵列(FPGA)是一种通常被用在专用计算设备中的逻辑器件。FPGA通常被用于执行此门阵列尤其适用于的特定的、专用的功能。
FPGA通常位于外围设备或其它专用硬件(诸如连接到诸如PCI总线的系统总线并通过该系统总线被访问的印刷电路板)中。
一般而言,这样的器件被编程一次并被使用多次。因为这些器件是可编程的,相比于其它专用逻辑器件,它们具有能被在现场更新的优势。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
一个或多个现场可编程门阵列(FPGA)能在通用计算系统中用作共享可编程协作处理器资源。FPGA能被编程来执行功能,这些功能进而能与一个或多个进程相关联。在多个进程的情况下,FPGA能被共享,并且进程能在访问FPGA的时间间隙期间被分配到FPGA的至少一个部分。用硬件描述语言所写的用于编程FPGA的程序被用作硬件库。操作系统对以下进行管理:将FPGA资源分配到进程、根据要由进程使用FPGA来执行的功能来编程该FPGA、以及对这些进程对FPGA的使用进行调度。
如果FPGA被用作通用计算平台的组件,那么其可能容易受到不安全代码的攻击和执行。例如,对数据传输和存储器的检查可能暴露与安全操作相关的密钥、算法和其它信息。为了提升安全性,FPGA的各个组件被隔离来保护FPGA以及FPGA和计算机系统的其它组件之间传输的数据。
例如,由FPGA写入到存储器的数据被加密,并在从存储器中读回时在FPGA中被解密。在FPGA和诸如CPU或GPU等其它组件之间传输的数据(无论是直接地或通过存储器的)可使用为通信组件所知的密钥(无论是使用共享秘密密钥还是公共/私有密钥对)来被类似地加密。被传输的数据还可由FPGA或其它组件来数字地签名以提供认证。用于编程FPGA的代码可由作者来加密并签名、以被加密的状态加载到FPGA中并接着在用该代码编程FPGA之前由FPGA自己来解密和认证。
在以下描述中,对附图进行了参考,附图构成了实施方式的一部分且在其中作为示例示出了本发明技术的具体示例实现。可以理解,可以使用其它实施例并且可以做出结构上的改变而不背离本发明的范围。
附图说明
图1是对其操作系统能被实现的具有FPGA资源的示例计算系统的框图。
图2是FPGA功能单元的说明性示例的示意图。
图3是使用具有FPGA资源的计算机系统上的硬件和软件库的应用的示例体系结构的示意图。
图4是示出随着时间的对FPGA使用的图。
图5是具有支持隔离组件的现场可编程门阵列的计算系统的框图。
图6是现场可编程门阵列的更详细的框图。
图7是描述安全地编程FPGA的流程图。
具体实施方式
以下部分提供了对示例计算环境的简要的、一般的描述,在该示例计算环境中能实现用于管理对FPGA资源的使用的操作系统。该系统可以用众多通用或专用计算设备来实现。适合的公知计算设备的示例包括但不限于:个人计算机、服务器计算机、手持式或膝上型设备(例如,媒体播放器、笔记本计算机、蜂窝电话、个人数据助理、语音记录器)、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、包括以上系统或设备的任一个的分布式计算环境等等。
图1仅仅示出示例计算环境,并不旨在对适合的计算环境的使用范围或功能提出任何限制。
参考图1,示例计算环境包括计算设备100。在一个基本配置中,计算设备100包括至少一个处理单元102(诸如通用计算机的典型中央处理单元(CPU))和存储器104。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310248192.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:业务服务方法、网络分析装置和计费系统
- 下一篇:一种解码方法及装置