用于促进对在计算系统处的软件程序中指令原子性违反行为的动态和高效管理的机构的制作方法_3

文档序号:9291646阅读:来源:国知局
冲器临时存储块直到块被转移出处理 器。
[0040] 通过使由MRR系统312记录的任何信息在硬件记录日志文件316处登记,该信息 然后可以成为共享资源304的一部分。另外,虚拟机("VM")318可以被用于促进二进制仪 表化和存储器指令控制以使得VM 318允许本来将从初始程序二进制314被执行的指令改 为被重新引导到重播系统306的程序重播机构110的重播逻辑210。在一个实施例中,重播 逻辑210通过例如捕捉加载并且仿真指令来捕捉用于写入的数据以便确保任何并发违反 行为被正确重播的方式来仿真初始执行的指令。
[0041] 图4A图示了根据一个实施例的用于促进对软件程序中的指令原子性违反行为的 动态和高效管理的方法400。方法400可以由处理逻辑执行,处理逻辑可以包括硬件(例如, 电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或它们的组合。在一 个实施例中,方法400可以由图1的程序重播机构110执行。
[0042] 方法400包括与块的最后指令有关的过程,并且开始于方框402处的挂起指令。 在方框404,做出关于块数据包的NTB是否等于零的确定。如果是,则过程继续在方框406 执行宏指令。如果否,则宏指令在方框408被分离成存储器操作组件,并且进一步,在方框 410,下一个存储器操作被执行并且存储器操作的临时状态被保存在方框处的线程局部存 储装置中。在方框412,做出关于所执行的存储器操作是否等于NTB的确定。如果否,过程 返回到方框410。如果是,则在方框414,过程继续终止块并且保存针对这个线程的下一个 块的用于参考的任何NTB信息并且停止该线程。
[0043] 图4B图示了根据一个实施例的用于促进对软件程序中的指令原子性违反行为的 动态和高效管理的方法450。方法450可以由处理逻辑执行,处理逻辑可以包括硬件(例如, 电路、专用逻辑、可编程逻辑等)、软件(诸如在处理装置上运行的指令)或它们的组合。在一 个实施例中,方法450可以由图1的程序重播机构110执行。
[0044] 方法400包括与块的第一指令有关的过程,并且开始于方框452处的挂起指令。在 方框454,做出关于挂起指令的块数据包的NTB是否等于零的确定。如果否,则在方框456 处做出关于该挂起指令是否块的最后指令的另一确定。如果该指令不是最后指令或者返回 参考方框454,如果数据包的NTB等于零,则过程在方框470继续关于该线程的在先块是否 具有等于零的NTB值的另一确定。如果是,则在方框472执行该宏指令。如果否,则过程在 方框474继续计算在先部分执行的指令的剩余存储器操作,并且线程局部存储状态被从被 执行的微指令中检索。随后,在方框476,与未完成的宏指令有关的所有剩余存储器操作被 执行。
[0045] 返回参见方框456,如果挂起指令被确定为是块的最后指令,则在方框458处,做 出关于该线程的在先块是否具有等于零的NTB值的确定。如果是,则该块的最后指令在方 框468被执行。如果否,过程在方框460继续从线程局部存储装置检索和利用任何在先存 储器操作的状态。在方框462,过程继续执行下一个存储器操作并且把存储器操作的临时 状态保存在线程局部存储装置中。在方框464,做出关于所执行的存储器操作是否等于NTB 的确定。如果否,则过程返回到方框462。如果是,则在方框466该块被终止并且任何NTB 信息被保存以便充当这个线程的下一个块的参考,同时线程被停止。
[0046] 图5图示了计算系统500的实施例。计算系统500表示一系列计算和电子装置(有 线或无线)包括例如桌面型计算系统、膝上型计算系统、蜂窝电话、个人数字助理(PDA)(包 括蜂窝使能PDA)、机顶盒、智能电话、平板等。替代的计算系统可以包括更多、更少和/或不 同的组件。
[0047] 计算系统500包括总线505(或链路、互联或用于传送信息的另一类型的通信装置 或接口)和耦合到总线505的可以处理信息的处理器510。虽然计算系统500被图示为具 有单个处理器,但是电子系统500还可以包括多个处理器和/或协作处理器,诸如一个或多 个中心处理器、图形处理器和物理处理器等。计算系统500还可以包括耦合到总线505并 且可以存储可由处理器510执行的信息和指令的随机存取存储器(RAM)或其它动态存储装 置520 (称为主存储器)。主存储器520还可以被用于在由处理器510执行指令期间存储临 时变量和其它中间信息。
[0048] 计算系统500还可以包括耦合到总线505并且可以存储用于处理器510的静态信 息和指令的只读存储器(ROM)和/或其它存储装置530。数据存储装置540可以耦合到总 线505以便存储信息和指令。数据存储装置540 (诸如磁盘或光盘和对应的驱动器)可以 耦合到计算系统500。
[0049] 计算系统500还可以经由总线505耦合到显示装置550 (诸如阴极射线管(CRT)、 液晶显示器(IXD)或有机发光二极管(OLED)阵列)用于向用户显示信息。用户输入装置560 (包括数字字母和其它键)可以耦合到总线505以便传送信息和命令选择到处理器510。另 一类型的用户输入装置560是光标控制570,诸如鼠标、跟踪球或光标方向键,用于向处理 器510传送方向信息和命令选择并且控制光标在显示器550上移动。计算系统500的摄像 机和麦克风阵列590可以耦合到总线505以便观察手势、记录音频和视频并且接收和传输 视觉和首频命令。
[0050] 计算系统500还可以包括(一个或多个)网络接口 580用于提供对网络(诸如局域 网(LAN)、广域网(WAN)、城域网(MAN)、个域网(PAN)、蓝牙、云网络、移动网络(例如第三代 (3G)等)、企业网、互联网等)的访问。(一个或多个)网络接口 580可以包括例如具有天线 585的无线网络接口,天线585可以表示一个或多个天线。(一个或多个)网络接口 580还 可以包括例如有线网络接口,用于经由网络电缆587与远程装置通信,网络电缆587例如可 以是以太网电缆、同轴电缆、光纤电缆、串行电缆、或并行电缆。
[0051] (一个或多个)网络接口 580可以提供对LAN的访问,例如通过符合IEEE 802. I Ib 和/或IEEE 802. Ilg标准,和/或无线网络接口可以提供对个域网的访问,例如通过符合 蓝牙标准。也可以支持其它无线网络接口和/或协议,包括标准的先前和随后版本。
[0052] 附加或替代经由无线LAN标准的通信,(一个或多个)网络接口 580可以使用例如 时分多址(TDM)协议、全球移动通信系统(GSM)协议、码分多址(CDM)协议和/或任何其 它类型的无线通信协议来提供无线通信。
[0053] (-个或多个)网络接口 580可以包括一个或多个通信接口(诸如调制解调器、网络 接口卡或其它公知的接口装置,诸如用于耦合到以太网、令牌环的那些)或用于提供通信链 路以支持例如LAN或WAN的目的的其它类型的物理有线或无线附件。以这个方式,计算机 系统还可以经由常规网络基础设施(包括例如企业网或互联网)耦合到多个外围装置、客户 端、控制表面、控制台、或服务器。
[0054] 要意识到的是,对于某些实施方式,比上面描述的示例更少或更多装备的系统可 以是优选的。因此,计算系统500的配置可以取决于多个因素(诸如价格约束、性能要求、 技术改进或其它情况)而从实施方式到实施方式发生变化。电子装置或计算机系统500的 示例可以包括但不限于移动装置、个人数字助理、移动计算装置、智能电话、蜂窝电话、手 机、单向寻呼机、双向寻呼机、消息发送装置、计算机、个人计算机(PC)、桌面型计算机、膝上 型计算机、笔记本计算机、手持计算机、平板计算机、服务器、服务器阵列或服务器农场、web 服务器、网络服务器、互联网服务器、工作站、微型计算机、大型计算机、超级计算机、网络设 施、web设施、分布式计算系统、多处理器系统、基于处理器的系统、消费电子装置、可编程消 费电子装置、电视、数字电视、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网 络控制器、路由器、集线器、网关、网桥、交换机、机器或它们的组合。
[0055] 各个实施例可以被实施为下列各组中的任何一个或组合:使用母版 (parentboard)互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器装置存储并且 有微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。术 语"逻辑"可以包括例如软件或硬件和/或软件和硬件的组合。
[0056] 各个实施例可以被例如提供作为计算机程序产品,其可以包括一个或多个机器可 读介质,具有存储在其上的机器可执行指令,当该指令由一个或多个机器(诸如计算机、计 算机网络或其它电子装置)执行时可以导致一个或多个机器根据本文描述的实施例执行操 作。机器可读介质可以包括但不限于软盘、光盘、⑶-ROM (紧凑盘-只读存储器)和磁光盘、 ROM、RAM、EPROM (可擦除可编程只读存储器)、EEPROM (电可擦除可编程只读存储器)、磁卡 或光学卡、闪存或适合于存储机器可执行指令的其它类型的介质/机器可读介质。
[0057] 此外,各个实施例可以作为计算机程序产品被下载,其中该程序可以通过体现在 载波或其它传播介质中和/或由载波或其它传播介质调制的一个或多个数据信号经由通 信链路(例如调制解调器和/或网络连接)从远程计算机(例如服务器)被转移到请求计算 机(例如客户端)。
[0058] 提及的"一个实施例"、"实施例"、"示例实施例"、"各个实施例"等指示这样描述的 (一个或多个)实施例可以包括特定
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1