保护共享的互连以用于虚拟机的制作方法_5

文档序号:9238146阅读:来源:国知局
N 中的某些可以是有序的,而其他的是无序的。作为另一个示例,核1002A-N中的两个或更多 可以能够执行相同的指令集,而其他的可以能够只执行该指令集的子集或不同的指令集。
[0094] 应用处理器1020可以是诸如位于加利福尼亚州圣克拉拉市的英特尔公司所提供 的Core?i3、i5、i7、2Duo以及Quad、Xeon?、Itanium?、Atom?、或Quark?之类的通用处理 器。另选地,应用处理器1020可以来自另一公司,诸如ARMHoldings?,Ltd,MIPS?,等等。 应用处理器1020可以是专用的处理器,诸如例如网络或通信处理器、压缩引擎、图形处理 器、协处理器、嵌入式处理器等等。应用处理器1020可以在一个或多个芯片上实现。应用处 理器1020可以是一个或多个衬底的一部分和/或可以使用若干种处理技术(诸如,例如, BiCMOS、CMOS,或NM0S)中的任何一种在一个或多个衬底上实现。
[0095] 图11是根据本发明的芯片上系统(SoC)设计的实施例的框图。作为特定说明性 示例,SoC1100被包括在用户设备(UE)中。在一个实施例中,UE是指被最终用户用来进行 通信的任何设备,诸如手持式电话、智能电话、平板电脑、超薄型的笔记本、带有宽带适配器 的笔记本或任何其他类似的通信设备。UE常常连接到基站或节点,该基站或节点潜在地本 质上对应于GSM网络中的移动站(MS)。
[0096] 这里,SOC1100包括2个核--1106和1107。核1106和1107可以符合指令集架 构,诸如基于丨ntel?Architecture Core?的处理器、Advanced Micro Devices,Inc. (AMD) 处理器、基于MIPS的处理器、基于ARM或其顾客的处理器设计,以及它们的被许可方或采用 者。核1106和1107耦合到与总线接口单元1108和L2缓存1109相关联的缓存控件1110, 以与系统1100的其他部分进行通信。互连1110包括芯片内互连,诸如I〇SF、AMBA,或上文 所讨论的其他互连,它们潜在地实现所描述的公开的一个或多个方面。
[0097] 互连1110提供到其他组件的通信信道,其他组件诸如与SM卡连接的用户标识模 块(SIM) 1130、保存供核1106和1107执行以初始化和引导SoC1100的引导代码的引导ROM 1135、与外部存储器(例如,DRAM1160)连接的SDRAM控制器1140、与非易失性存储器(例 如,闪存1165)连接的闪存控制器1145、与外围设备连接的外围控制器1150 (例如,串行外 围接口)、显示和接收输入(允许触摸的输入)的视频编解码器1120和视频接口 1125、用 于执行图形相关的计算的GPU1115等等。这些接口中的任何一种可以包括此处所描述的 本发明的各方面。另外,系统1100示出了用于通信的外围设备,诸如蓝牙模块1170、3G调 制解调器 1175、GPS1180 以及Wi-Fi1185。
[0098] 图12示出了计算机系统1200的示例形式的机器的示意图,在该计算机系统1200 内,可以执行用于使机器执行此处所讨论的方法中的任何一个或多个的一组指令。在替换 实施例中,机器可以连接(例如,联网)到LAN、内联网、外部网或因特网中的其他机器。机 器可以在客户机-服务器网络环境中作为服务器或客户机设备,或在对等(或分布式)网 络环境中作为对等机器来操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人 数字助理(PDA)、蜂窝电话、web设备、服务器、网络路由器、交换机或桥接器,或执行指定要 由该机器所采取的动作的一组指令(连续的或以别的方式)的任何机器。进一步地,尽管 只示出了单个机器,但是,术语"机器"也应该被视为包括分别地或联合地执行一组(或多 组)指令以执行此处所讨论的方法中的任何一个或多个的机器的任何集合。
[0099] 计算机系统1200包括处理设备1202、主存储器1204 (例如,只读存储器(ROM)、闪 存、动态随机存取存储器〇)RAM)(诸如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等等)、静 态存储器1206 (例如,闪存、静态随机存取存储器(SRAM),等等),以及数据存储设备1218, 它们通过总线1230相互进行通信。
[0100] 处理设备1202表示诸如微处理器、中央处理单元等等之类的一个或多个通用处 理设备。更具体而言,处理设备可以是复杂指令集计算(CISC)微处理器、精简指令集计算 机(RISC)微处理器、超长指令字(VLIW)微处理器、或实现其他指令集的处理器、或实现指 令集的组合的处理器。处理设备1202还可以是一个或多个专用的处理设备,诸如专用集成 电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。在一个 实施例中,处理设备1202可以包括一个或多个处理核。处理设备1202被配置成执行用于 执行此处所讨论的操作和步骤的处理逻辑1226。
[0101] 计算机系统1200还可以包括以通信方式耦合到网络1220的网络接口设备1208。 计算机系统1200还可以包括视频显示单元1210 (例如,液晶显示器(IXD)或阴极射线管 (CRT))、字母数字输入设备1212 (例如,键盘)、光标控制设备1214 (例如,鼠标)、以及信号 生成设备1216 (例如,扬声器)。此外,计算机系统1200还可以包括图形处理单元1222、视 频处理单元1228以及音频处理单元1232。
[0102] 数据存储设备1218可包括在其上面存储了实现此处所描述的功能的任何一个或 多个方法(诸如实现如上文所描述的用于存储器歧义消除的存储地址预测)的软件1226 的机器可访问的存储介质1224。软件1226还可以在由计算机系统1200执行过程中完全地 或至少部分地作为指令1226驻留在主存储器1204内和/或作为处理逻辑驻留在处理设备 1202内;主存储器1204和处理设备1202还构成机器可访问的存储介质。
[0103] 机器可读的存储介质1224也可以被用来存储实现存储地址预测的指令1226和/ 或包含调用上面的应用的方法的软件库。尽管机器可访问的存储介质1128在一示例实施 例中被示为单个介质,但是术语"机器可访问的存储介质"应该被视为包括存储一个或多个 指令集的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和 服务器)。术语"机器可访问的存储介质"还应该被视为包括能够存储、编码或携带由机器执 行的一组指令并且使机器执行本发明的方法中的任何一个或多个的任何介质。术语"机器 可访问的存储介质"应该相应地被视为包括但不局限于固态存储器以及光学和磁性介质。
[0104] 下列示例涉及进一步的实施例。示例1是处理设备,该处理设备可包括互连和耦 合到互连的执行多个虚拟机的处理核,每一虚拟机都通过相应的标识符来标识,并通过第 一虚拟机的标识符来标记由第一虚拟机启动的访问互连的第一事务。
[0105] 在示例2中,如权利要求1所述的主题可以可任选地规定,互连包括存储器防火 墙,用于响应于接收到第一事务,使用第一虚拟机的标识符来验证第一事务。
[0106] 在示例3中,示例1和2中的任一示例的主题可以可任选地还包括耦合到互连的 总线主控器,其中,所述处理核给所述总线主控器指派所述第二虚拟机的标识符,所述总线 主控器为该第二虚拟机执行访问所述互连的第二事务,其中所述总线主控器利用所述第二 标识符来标记所述第二事务。
[0107] 在示例4中,示例3的主题可以可任选地规定,互连耦合到存储器,其中存储器防 火墙进一步执行下列各项中的至少一项:响应于从所述处理核接收到所述第一事务,相对 于所述存储器的第一地址范围和所述第一虚拟机的所述标识符,验证所述第一事务,或,响 应于从所述总线主控器接收到所述第二事务,相对于所述存储器的第二地址范围和所述第 二虚拟机的所述标识符,验证所述第二事务。
[0108] 在示例5中,示例4的主题可以可任选地规定,互连耦合到外围设备,互连包括外 围设备防火墙以执行下列各项中的至少一项:响应于从所述处理核接收到所述第一事务, 使用所述第一虚拟机的所述标识符,验证所述第一事务,或,响应于从所述总线主控器接收 到所述第二事务,使用所述第二虚拟机的所述标识符,验证所述第二事务。
[0109] 在示例6中,示例5的主题可以可任选地规定,处理核进一步执行管理多个虚拟机 的虚拟机管理器,其特征在于,虚拟机管理器与允许访问互连和总线主控器的访问权限相 关联。
[0110] 在示例7中,示例6的主题可以可任选地规定,处理核将执行所述虚拟机管理器以 设置所述存储器防火墙的规则表或所述外围设备防火墙的规则表中的至少一项。
[0111] 在示例8中,示例6的主题可以可任选地规定,处理核执行虚拟机管理器以创建第 一虚拟机,并提供随后的事务的虚拟机上下文,直到第一虚拟机退出。
[0112] 在示例9中,示例1的主题可以可任选地规定,第一虚拟机的标识符存储在处理核 的内部寄存器中。
[0113] 示例10是芯片上系统(SoC),该SoC可包括执行多个虚拟机的处理核,以及耦合到 处理核的互连,互连包括防火墙,以:从所述处理核接收第一事务,所述第一事务与第一虚 拟机的标识符相关联,以及,使用所述第一虚拟机的所述标识符,确定所述第一事务是否被 允许访问耦合到所述互连的存储器或耦合到所述互连的外围设备中的一个。
[0114] 在示例11中,示例10的主题可以可任选地规定,处理核进一步利用第一虚拟机的 第一标识符来标记第一事务。
[0115] 在示例12中,示例10的主题可以可任选地规定,确定还包括,使用所述第一虚拟 机的所述标识符,考虑到所述防火墙的一个或多个规则,验证所述第一事务。
[0116] 在示例13中,示例10的主题还可以包括耦合到互连的总线主控器,其中,给所述 总线主控器指派第二虚拟机的标识符,所述总线主控器为该第二虚拟机执行第二事务以访 问所述互连,以及,其中所述总线主控器利用所述第二虚拟机的所述标识符来标记所述第 二事务。
[0117] 在示例14中,示例10到23中的任何一个的主题可以可任选地规定,防火墙进一 步执行下列各项中的至少一项:响应于接收到所述第一事务,相对于所述存储器的第一地 址范围和所述第一虚拟机的所述标识符,来验证所述第一事务,或,响应于从所述总线主控 器接收到所述第二事务,相对于所述存储器的第二地址范围和所述第二虚拟机的所述标识 符,来验证所述第二事务。
[0118] 在示例15中,示例10的主题可以可任选地规定,处理核进一步执行管理多个虚拟 机的虚拟机管理器,以及,其特征在于,虚拟机管理器与允许访问互连和总线主控器的访问 权限相关联。
[0119] 在示例16中,示例10和15的主题可以可任选地规定,处理核执行虚拟机管理器 以设置防火墙。
[0120] 在示例17中,示例16的主题可以可任选地规定,第一虚拟机的创建提供随后的事 务的虚拟机上下文,直到第一虚拟机退出。
[0121] 在示例18中,示例10和15中的任何一个的主题可以可任选地规定,第一虚拟机 的标识符存储在处理核的内部寄存器中。
[0122] 示例19是一种方法,包括:启动虚拟机管理器,启动虚拟机,由所述虚拟机管理 器,向所述虚拟机指派标识符,以及,通过标识符来标记虚拟机的第一事务。
[0123] 在示例20中,示例19的主题还可以包括向互连传输包括标识符的事务。
[0124] 在示例21中,示例19和20中的任何一个的主题还可以包括向总线主控器指派标 识符,其中,总线主控器代表虚拟机,将第二事务传输到互连。
[0125] 在示例22中,示例10到20中的任何一个的主题可以可任选地规定,互连包括存 储器防火墙,以,响应于接收到第一事务,使用标识符,验证第一事务。
[0126] 示例23是在其上存储了程序代码的机器可读的非瞬时的介质,程序代码在被执 行时执行操作,操作包括启动虚拟机管理器,启动虚拟机,由所述虚拟机管理器向所述虚拟 机指定标识符,以及,通过标识符来标记虚拟机的第一事务。
[0127] 在示例24中,示例23的主题可以可任选地规定,操作还包括向互连传输包括标识 符的事务。
[0128] 示例25是包括互连和耦合到互连的用于执行多个虚拟机的装置的处理系统,每 一虚拟机都通过相应的标识符来标识,以及,通过所述第一虚拟机的标识符,标记由第一虚 拟机启动的访问所述互连的第一事务。
[0129] 在示例26中,示例25的主题可以可任选地规定,互连包括存储器防火墙,以,响应 于接收到第一事务,使用第一虚拟机的标识符,验证第一事务。
[0130] 尽管是参考数量有限的
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1