用于在计算系统处的软件程序中便于动态和高效地管理转换缓冲器预取的机制的制作方法_4

文档序号:9620869阅读:来源:国知局
7] 图5示出了计算系统500的实施例。计算系统500表示计算和电子设备(有线 或无线)的范畴,设备包括,例如桌面计算系统、笔记本计算系统、蜂窝电话、包括蜂窝启用 PDA的个人数字助理(PDA)、机顶盒、智能电话、平板计算机等。可替换的计算系统可包括更 多、更少和/或不同的组件。
[0058] 计算系统500包括总线505 (或链接、互联、或另一种类型的通信设备或通信信息 的接口)和耦合到总线505上可处理信息的处理器510。虽然示出了计算设备500具有单 个处理器,但是电子系统500可包括多个处理器和/或协处理器,如一个或多个中央处理 器、图形处理器和物理处理器等。计算系统500可进一步包括随机访问存储器(RAM)或其 他动态存储装置520 (被称为主存),其耦合到总线505并且可存储信息和由处理器510执 行的指令。主存520也可在由处理器510执行指令期间被用于存储临时变量或其它中间信 息。
[0059] 计算系统500也可包括耦合到总线505可存储静态信息和用于处理器510的指 令的只读存储器(ROM)和/或其它存储设备530。数据存储设备540可耦合到总线505以 存储信息和指令。数据存储设备540,如磁盘或光盘和对应的驱动器,可以耦合到计算系统 500 〇
[0060] 计算系统500也可经由总线505耦合到显示设备550,如阴极射线管(CRT)、液晶 显示器(IXD)或有机发光二极管(0LED)阵列,以显示信息给用户。用户输入设备560,包括 含有字母数字的或其他键,可被耦合到总线505以通信信息和命令选择给处理器510。另一 种类型的用户输入设备560是光标控制570,如鼠标、轨迹球、或光标方向键,以通信方向信 息和命令选择给控制器510和控制在显示器550上的光标移动。计算系统500的摄像机和 麦克风阵列590可被耦合到总线505上以观察动作、记录视频和音频以及接收和传送视觉 和声音命令。
[0061] 计算系统500可进一步包括网络接口 580以提供对网络的访问,网络如局域网 (LAN)、广域网(WAN)、城域网(MAN)、个人区域网络(PAN)、蓝牙、云网络、移动网络(如第三 代(3G)等)、内联网、因特网等。网络接口 580可包括,例如具有天线585的无线网络接口, 天线585可表示一个或多个天线。网络接口 580也可包括,例如与远程设备经由网络电缆 587通信的有线网络接口,网络电缆587可以是,例如以太网电缆、同轴电缆、光纤电缆、串 行电缆或并行电缆。
[0062] 网络接口 580可例如通过遵守IEEE 802. lib和/或802. llg标准提供对于LAN 的访问和/或无线网络接口可例如通过遵守蓝牙标准提供对个人局域网络的访问。也可支 持其它无线网络接口和/或协议,包括先前的和后来的标准的版本。
[0063] 除了或代替经由无线LAN标准的通信,网络接口 580可利用如时分多址(TDMA)协 议、全球移动通信系统(GSM)协议、码分多址(CDMA)协议和/或其它类型的无线通信协议 提供无线通信。
[0064] 网络接口 580可包括一个或多个通信接口,如调制解调器、网络接口卡或其它周 知的接口设备,如用于耦合到以太网、令牌环网或其它类型的物理有线或无线附件,其目的 在于提供通信链接以支持例如LAN和WAN的(设备)。在这种方式中,计算系统也可经由传 统网络架构被耦合到数个外部设备、客户端、控制面、控制台或服务器,传统网络架构包括 例如内联网或因特网。
[0065] 可以认识到的是比上面描述的示例更少或更多配置的系统对特定实现可以是优 选的。因此计算系统500的配置可依赖于许多因素从实现到实现变化,因素如价格约束、 性能要求、技术改进或其它环境条件。电子设备或计算系统500的示例可包括而不限于移 动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手持机、单向传呼机、双向寻呼 机、消息设备、计算机、个人计算就(PC)、台式计算机、膝上计算机、笔记本计算机、手持计算 机、平板计算机、服务器、服务器阵列或服务器场、网页服务器、网络服务器、因特网服务器、 工作站、迷你计算机、大型计算机、超级计算机、网络设备、网页设备、分布式计算系统、多处 理器系统、基于处理器的系统、消费电子、可编程消费电子、电视、数字电视、机顶盒、无线访 问点、基站、用户服务站、移动用户中心、无线网络控制器、路由器、集线器、网关、桥接器、交 换机、机器或它们的组合。
[0066] 实施例可被实现为以下任何或其组合:使用母板互联的一个或多个微芯片或集成 电路、硬连线逻辑、由存储设备存储和由微处理器执行的软件、固件、专用集成电路(ASIC) 和/或现场可编程门阵列(FPGA)。术语"逻辑"可包括,以举例的方式,软件或硬件和/或 软件和硬件的组合。
[0067] 实施例可被提供为例如计算机程序产品,计算机程序产品可包括具有在其上存储 机器可执行指令的一个或多个机器可读介质,当机器可执行指令由一个或个多个机器,如 计算机、计算机网络和其它电子设备执行时,其可致使一个或多个机器执行根据本文描述 的实施例的操作。机器可读介质可包括但并不限于:软盘、光盘、CD-ROM(压缩盘-只读存 储器)、磁光盘、ROM、RAM、EPROM(可擦除可编程只读存储器)、EEPR0M(电可擦除可编程只 读存储器)、磁的或光的卡、闪存或其它类型的适于存储机器可执行指令的介质/机器可读 介质。
[0068] 此外,实施例可像计算程序产品一样被下载,其中程序可经由通信链接(如调制 解调器和/或网络连接)以一种或多种以载波或其它传播媒介体实现和/或调制的数据信 号的方式从远程计算机(如服务器)被传送到请求的计算机(如客户端)。
[0069] 对" 一种实施例"、"实施例、"示例实施例"、"各种实施例"等的参考指示所描述的 这些实施例可包括特定的特征、结构或特性,但是并不是每一种实施例都必须包括这些特 定的特征、结构或特性。而且,一些实施例可具有对其它实施例而言的一些、所有、没有的特 征。
[0070] 在接下来的描述和权利要求中,可使用术语"耦合"以及它的衍生词。"耦合"被用 于指示两个或多个元件协同操作或彼此交互,但是它们在它们之间可能有物理或电子元件 介入,也可能没有。
[0071] 如在权利要求中使用的这样,除非另有规定,序数形容词"第一"、"第二"、"第三" 等用于描述通常元件,仅仅指示类似元件的不同实例将被参考,并不意图必须以给定时间、 空间、等级或在任何其的他方式的顺序应用所描述的元件。
[0072] 接下来的句子和/或示例关于进一步的实施例或示例。在这些示例中的细节可被 用于一个或多个实施例中的任何地方。不同实施例或示例中的各个特征可以与包括的一些 特征和不包括的其它特征广泛组合以适用于各种不同应用。一些实施例关于一种方法,包 括:在计算设备处将代码块转换为代码转换块,其中所述代码转换块被提交用于执行;在 运行时跟踪代码转换块的动态系统行为;以及基于所跟踪的动态系统行为的分析推测转换 旁路缓冲器(TLB)预取。
[0073] 实施例或示例包括任何以上的方法,进一步包括:分析所述代码转换块的该动态 系统行为,其中在静态分析和动态概括期间该分析为TLB访问提供模式,其中动态概括包 括该动态系统行为运行时跟踪。
[0074] 实施例或示例包括任何以上的方法,进一步包括基于该动态系统行为的该分析将 所述代码转换块重转换成代码重转换块。
[0075] 实施例或示例包括任何以上的方法,进一步包括为执行而提交所述代码转换块, 其中该执行逻辑进一步为执行而提交所述代码重转换块。
[0076] 实施例或示例包括任何以上的方法,进一步包括基于该动态系统行为的该分析将 指令与所述代码重转换块关联以控制该TLB预取。
[0077] 实施例或示例包括任何以上的方法,其中所述指令包括基于该动态系统行为的分 析启用或禁用该TLB预取的第一指令,其中当确定TLB预取没有益处时禁用该TLB预取或 当确定其有益处时启用该TLB预取。
[0078] 实施例或示例包括任何以上的方法,其中所述指令进一步包括:在硬件预取器中 设置参数的第二指令,其中该硬件预取器包括基于跨步的预取器;以及便于对于虚拟页码 的TLB预取请求的生成的第三指令,为该虚拟页码执行该TLB预取,其中具有该虚拟页码的 该TLB预取请求被置于预取请求队列中,其中该预取请求队列包括先进先出队列。
[0079] 实施例或示例包括任何以上的方法,其中该计算系统包括台式计算机、服务器计 算机、机顶盒、包括智能电话、个人数字助理PDA、平板计算机、电子阅读器和膝上计算机中 的一个或多个的移动计算机中的一个或多个。
[0080] 另一实施例或示例包括执行上述的任一方法的任何装置。
[0081] 在另一实施例或示例中,一种装置包括用于执行上述的任一方法的装置。
[0082] 仍在另一实施例或示例中,至少一种机器可读存储介质包括多个指令,其响应于 在计算设备上被执行,致使该计算设备执行根据上述的任一的方法的方法。
[0083] 还在另一实施例或示例中,至少一种非易失性或有形的机器可读存储介质包括多 个指令,其响应于在计算设备上被执行,致使该计算设备执行根据上述的任一的方法的方 法。
[0084] 还在另一实施例或示例中,布置计算设备以用于执行根据上述的任一方法的方 法。
[0085] -些实施例属于一种装置包括:在计算设备处将代码块转换为代码转换块的转换 逻辑,其中所述代码转换块被提交以用于执行;以及在运行时跟踪所述代码转换块的动态 系统行为的推测逻辑,其中该推测逻辑进一步基于所跟踪的动态系统行为的该分析推测转 换旁路缓冲器(TLB)预取。
[0086] 实施例或示例包括任一以上的装置,其中该推测逻辑进一步分析所述代码转换块 的动态系统行为,其中在静态分析和动态概括期间,该分析为TLB访问提供模式,其中动态 概括包括所述动态系统行为的运行时跟踪。
[0087] 实施例或示例包括任一以上的装置,其中该转换逻辑进一步基于该动态系统行为 的该分析将所述代码转换块重转换成代码重转换块。
[0088] 实施例或示例包括任一以上的
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1