首页> 中国专利> 仿真期间存储器步移序列加速的方法和系统

仿真期间存储器步移序列加速的方法和系统

摘要

本发明的实施方式提供一种用于在由计算机执行的仿真期间加速仿真的存储器步移序列的系统、方法和程序产品。在一个实施方式中,执行仿真测试用例并且将该仿真的存储器中的一个或多个存储器位置标识为适于包括有效数据。在该仿真的存储器步移序列开始之后,确定标识的存储器位置是否处于在该仿真的存储器步移序列期间将要由仿真的硬件处理的存储器位置之后的指定数目的存储器位置内。如果标识的存储器位置处于该指定数目内,则允许该仿真硬件处理该存储器位置。如果标识的存储器位置不处于该指定数目内,则使该仿真硬件前进到后续存储器位置并且允许该仿真的硬件处理该后续存储器位置。

著录项

  • 公开/公告号CN103324515A

    专利类型发明专利

  • 公开/公告日2013-09-25

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310055854.5

  • 申请日2013-02-21

  • 分类号G06F9/455;G06F11/22;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国纽约阿芒克

  • 入库时间 2024-02-19 20:34:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-03-01

    授权

    授权

  • 2013-10-30

    实质审查的生效 IPC(主分类):G06F9/455 申请日:20130221

    实质审查的生效

  • 2013-09-25

    公开

    公开

说明书

技术领域

本发明一般性地涉及集成电路设计的计算机仿真,并且更具体地 涉及在制造之前的微处理器设计的计算机仿真和验证期间加速存储 器步移序列。

背景技术

在制造之前(“硅前”)仿真和验证微处理器设计或其他集成电 路设计的功能是用于确保制造的设计将正确地执行的重要步骤。工业 竞争和其他因素可能迫使研究人员和制造人员减少生产周期时间。但 是,由于要探究的可能的测试情况(“测试用例”)以及每个测试用 例进行仿真可能花费的时间数量巨大,因此对设计的硅前 (pre-silicon)仿真和验证可能是耗费时间的。

微处理器设计的硅前仿真和验证的一个方面涉及在微处理器的 存储器内的仿真操作,如从主存储器获取或向高速缓冲存储器写入。 在许多这些仿真中,执行一个或多个存储器步移序列(memory  walking sequence)。现代微处理器设计典型地包括用于执行存储器步 移序列的机制,在存储器步移序列中微处理器前进到目标存储器,从 而一次读取一个存储器位置,并且有可能对那些存储器位置中的每个 存储器位置处包括的条目执行一个或多个操作。例如,微处理器可以 执行经过目标高速缓冲存储器的高速缓冲存储器步移序列(如高速缓 冲存储器清除序列),其中微处理器读取目标高速缓冲存储器中的每 个高速缓冲存储器位置并且从那些高速缓冲存储器位置逐出(evict) 条目。虽然存储器步移序列可能消耗大量的处理器周期,但是现代微 处理器由于它们的时钟速率高而典型地能够快速执行存储器步移序 列。

当执行包括大型存储器(如高速缓冲存储器或主存储器)的微处 理器设计的硅前仿真时,仿真经过这些目标存储器的存储器步移序列 可能消耗大量的仿真的处理器周期。但是,执行仿真的处理器周期的 仿真的微处理器比它的硬件对应物慢得多。执行硅前仿真以测试并且 验证存储器步移序列和涉及它们的频繁使用的其他微处理器功能因 此可能花费极长的时间,有可能达到仿真不可能被执行或者必须以有 限的方式被执行的程度,二者都有在硅前阶段留下无法发现的设计问 题的风险。

用于减少仿真存储器步移序列所需要的测试时间的方法将是有 用的。

发明内容

本发明的实施方式提供一种用于在由计算机执行的仿真期间加 速仿真的存储器步移序列的系统、方法和程序产品。在一个实施方式 中,该方法包括执行仿真测试用例,在该仿真测试用例中测试被限于 仿真的存储器的一些部分。该方法还包括在该仿真测试用例的执行期 间,将该仿真的存储器中的一个或多个存储器位置标识为适于 (eligible)包括有效数据。该方法还包括在仿真的存储器步移序列开 始之后,确定标识的存储器位置是否处于将要由仿真的硬件处理的存 储器位置之后的指定数目的存储器位置内,其中在仿真的存储器步移 序列中该仿真的硬件顺序地处理该仿真的存储器中的存储器位置。该 方法还包括响应于标识的存储器位置处于将要由该仿真的硬件处理 的存储器位置之后的指定数目的存储器位置内,允许该仿真的硬件处 理该存储器位置。该方法还包括响应于标识的存储器位置不处于将要 由该仿真的硬件处理的存储器位置之后的指定数目的存储器位置内, 使该仿真的硬件前进到该仿真的存储器中的后续存储器位置,该后续 存储器位置是标识的存储器位置之前的指定数目的存储器位置,并且 允许该仿真的硬件处理该后续存储器位置。

在另一个实施方式中,该方法包括执行仿真测试用例,在该仿真 测试用例中测试被限于仿真的存储器的一些部分。该方法还包括在该 仿真测试用例的执行期间,将该仿真的存储器中的一个或多个存储器 位置标识为适于包括有效数据。该方法还包括在仿真的存储器步移序 列开始之后,确定将要由仿真的硬件处理的存储器位置是否是标识的 存储器位置,其中在仿真的存储器步移序列中该仿真的硬件顺序地处 理该仿真的存储器中的存储器位置。该方法还包括响应于将要由该仿 真的硬件处理的存储器位置是标识的存储器位置,允许该仿真的硬件 处理该存储器位置。该方法还包括响应于将要由该仿真的硬件处理的 存储器位置不是标识的存储器位置,使该仿真的硬件前进到标识的存 储器位置,并且允许该仿真的硬件处理该标识的存储器位置。

附图说明

图1是根据本发明的一个实施方式的仿真系统的功能框图。

图2是示出了根据本发明的一个实施方式的测试用例的框图,其 中在该测试用例中已知目标高速缓冲存储器的哪些部分在仿真过程 期间有可能包括有效数据。

图3是示出了根据本发明的一个实施方式的加速的存储器步移序 列的框图。

图4是示出了根据本发明的一个实施方式的加速的存储器步移序 列的操作步骤的流程图。

图5是示出了根据本发明的另一个实施方式的加速的存储器步移 序列的操作步骤的流程图。

图6是根据本发明的一个实施方式的图1的计算系统的内部和外 部的硬件和软件组件的框图。

具体实施方式

简而言之,在仿真环境中执行微处理器设计的硅前仿真和验证的 背景中实施本发明的优选实施方式,其中微处理器设计拥有大型目标 高速缓冲存储器和硬件机制以执行经过该目标高速缓冲存储器的高 速缓冲存储器步移序列。描述了如下测试用例,在该测试用例的仿真 期间,知道该目标高速缓冲存储器的哪些部分有可能包括有效数据。

在测试用例的仿真期间执行的常规高速缓冲存储器步移序列将 顺序地前进到该目标高速缓冲存储器,其中仿真的微处理器处理每个 高速缓冲存储器位置以确定是否对该高速缓冲存储器位置处包括的 条目执行操作并且随后对该条目执行任意合适的操作。相反,在本发 明的优选实施方式中,通过跳过该目标高速缓冲存储器的、基于正被 仿真的测试用例而已知是空的部分来加速该高速缓冲存储器步移序 列。因为仿真的微处理器仅处理该目标高速缓冲存储器中已知有可能 包括有效数据的高速缓冲存储器位置,而不是该目标高速缓冲存储器 中的全部高速缓冲存储器位置,所以可以减少完成该高速缓冲存储器 步移序列所必要的仿真时间。

在本说明书中使用的术语“高速缓冲存储器”一般性地是指包括 但不限于仿真的静态随机访问存储器(如L1、L2和L3高速缓冲存 储器)的仿真的微处理器高速缓冲存储器。虽然参照高速缓冲存储器 和高速缓冲存储器步移序列来描述本发明的示例性实施方式,但是其 他实施方式也可以加速经过其他类型的目标存储器(例如用于执行经 过仿真的双列直插式存储器模块的存储器步移序列的仿真的存储器 控制器)的存储器步移序列。

现在将参考附图来详细描述本发明的实施方式。

图1是根据本发明的一个实施方式的仿真系统100的功能框图。 仿真系统100包括计算系统110。计算系统110包括仿真环境112、 步移序列控制程序114以及测试用例地址查找程序116,它们一起使 得用户能够执行集成电路设计的硅前验证和仿真并且加速在根据本 发明的实施方式的那些仿真期间执行的仿真的存储器步移序列。仿真 环境112是软件仿真环境,其包括例如用于辅助用户执行集成电路设 计的硅前仿真和验证的一套仿真和验证工具。仿真环境112允许用户 加载集成电路设计的仿真模型并且在各种测试用例中仿真那些设计 的操作。例如,使用仿真环境112,用户可以加载具有大型高速缓冲 存储器和主存储器的微处理器设计的仿真模型,可以仿真微处理器如 何获取主存储器条目并且将那些条目写入高速缓冲存储器,并且还可 以仿真微处理器如何执行高速缓冲存储器步移序列。可以使用例如商 业可用的工具(如可从加利福利亚圣何塞的Cadence设计系统公司获 得的仿真软件包)来实现仿真环境112。通常,仿真环境112可以是 使得用户能够根据本发明的实施方式建模集成电路设计和组件并且 仿真测试用例的任意软件或软件组合。

步移序列控制程序114是被仿真环境112调用的软件模块。步移 序列控制程序114接收关于仿真环境112内正在执行的存储器步移序 列的信息,并且进行操作以跳过目标存储器的、基于正被仿真的测试 用例而已知是空的部分,如参照图4和图5更详细地说明的。可以例 如以用于仿真环境112的定制模块或插件的形式来实现步移序列控制 程序。

测试用例地址查找程序116是由步移序列控制程序114调用的软 件模块。在存储器步移序列期间,测试用例地址查找程序116标识目 标存储器的、基于正被仿真的测试用例而已知有可能包括有效数据的 部分,如参照图4和图5更详细地说明的。可以例如以用于仿真环境 112的定制模块或插件的形式来实现测试用例地址查找程序116。

计算系统110还包括内部组件800和外部组件900,并且可以是 例如膝上计算机、台式计算机、专用计算机服务器或本领域已知的任 意其他计算机系统。通常,计算系统110可以是如参照图6进一步详 述的任意可编程的电子设备或者这种设备的组合。在特定实施方式 中,计算系统110表示当通过网络(如局域网、广域网或这两个网络 的组合)被访问时利用集群计算机和组件作为单个无缝资源池的计算 机系统。该实现可以优选用于数据中心以及用于云计算应用。

图2是示出了根据本发明的一个实施方式的测试用例的仿真的框 图,其中在该测试用例中已知目标高速缓冲存储器的哪些部分在仿真 过程期间有可能包括有效数据。在该实施方式中,目标高速缓冲存储 器204是仿真的高速缓冲存储器,根据n路组相关联高速缓冲存储器 映射方案将该仿真的高速缓冲存储器映射到仿真的主存储器,n路组 相关联高速缓冲存储器映射方案是可在许多现代微处理器设计中获 得的高速缓冲存储器映射方案。在n路组相关联高速缓冲存储器映射 方案中,目标高速缓冲存储器204被分割成多个高速缓冲存储器组, 每个高速缓冲存储器组包括可以在其中存储主存储器条目的n路或n 个高速缓冲存储器位置。仿真的主存储器中的每个存储器地址被映射 到具体的高速缓冲存储器组,从而如果仿真的微处理器访问具体的主 存储器地址,则该主存储器位置处包括的条目仅可以被存储在仿真的 高速缓冲存储器中其被映射到的高速缓冲存储器组内的n个高速缓冲 存储器位置处。

在优选实施方式中,测试用例地址表202用于存储已被选择用于 进行测试的仿真的主存储器的存储器地址的相对小的子集。高速缓冲 存储器组206a到206d是测试用例地址表202中的至少一个选择的主 存储器地址被映射到(由箭头显示)的高速缓冲存储器组。应该注意 到,图2是目标高速缓冲存储器204和测试用例地址表202的简化示 图。如由省略号所指示的,与所描绘的相比,目标高速缓冲存储器204 可以包括更多高速缓冲存储器组,并且测试用例地址表202可以包括 更多主存储器地址。

在优选实施方式中,在测试用例的仿真期间,指示仿真的微处理 器访问测试用例地址表202中包括的仿真的主存储器,从而可以将那 些主存储器位置处的条目存储在目标高速缓冲存储器204中它们对应 的映射的高速缓冲存储器组内的n个高速缓冲存储器位置处并且从其 中逐出。取决于具体测试用例的目标,用户可以选择存储在测试用例 地址表202中的主存储器地址,允许仿真随机地选择它们或者使用一 些其他选择方法。例如,该示例性测试用例的目标可以是测试当高速 缓冲存储器组中的全部高速缓冲存储器位置都被有效数据占用并且 必须选择用于逐出的牺牲条目时微处理器设计的高速缓冲存储器逻 辑如何行动。在该测试用例中,用户可能希望选择已知被映射到相同 的高速缓冲存储器组的主存储器地址(例如,如图2中所示),从而 该在仿真期间高速缓冲存储器组更快速地被有效数据占用并且可以 观察高速缓冲存储器逻辑的行为。

不管主存储器地址选择方法如何,因为在该示例性实施方式中仿 真的微处理器使用n路组相关联高速缓冲存储器方案,所以当在仿真 期间仿真的微处理器访问那些主存储器地址时,仅目标高速缓冲存储 器204中被映射到测试用例地址表202中的至少一个选择的主存储器 地址的那些高速缓冲存储器组才有可能包括有效数据。因此,在仿真 测试用例的过程期间,将仅存在相对少量的已知n个高速缓冲存储器 位置有可能包括有效数据的高速缓冲存储器组(高速缓冲存储器 206),而已知目标高速缓冲存储器204中的大多数高速缓冲存储器 组是空的。

本发明的其他实施方式涉及在涉及其他类型的目标存储器的测 试用例的仿真期间加速存储器步移序列。通常,目标高速缓冲存储器 204可以是任意仿真的目标存储器;高速缓冲存储器组206可以是该 存储器的如下任意部分,其中测试被限于该部分,使得在测试用例的 仿真期间已知那些部分内的存储器位置有可能包括有效数据;并且测 试用例地址表202可以存储对应于或者此外标识已知有可能包括有效 数据的存储器位置的任意存储器地址。

图3是示出了根据本发明的一个实施方式的加速的存储器步移序 列的框图。在所示实施方式中,在测试用例的仿真期间执行加速的高 速缓冲存储器步移序列,其中在该测试用例中基于测试用例地址表 202中包括的仿真的主存储器地址而已知目标高速缓冲存储器304的 有可能包括有效数据的高速缓冲存储器组(高速缓冲存储器组306a 到306d),例如参照图2中的优选实施方式所讨论的测试用例。

在存储器步移序列期间,用于执行存储器步移序列的硬件通常利 用存储器步移逻辑302。存储器步移逻辑302维护包括 NextLocationPointer(下一个位置指针)指令的寄存器, NextLocationPointer指令指定目标存储器中将要由该硬件处理的存储 器位置。在存储器位置的处理完成之后,将NextLocationPointer增加 到下一个后续存储器位置以用于该存储器位置的处理,并且针对存储 器中的全部存储器位置重复该过程。在图3中所描绘的示例性加速的 高速缓冲存储器步移序列中,由步移序列控制程序114控制存储器步 移逻辑302,从而跳过目标高速缓冲存储器304的空的高速缓冲存储 器组,并且仿真的微处理器仅处理高速缓冲存储器组306内的高速缓 冲存储器位置。更具体地,基于存储在测试用例地址表202中的所选 择的仿真的主存储器地址,由步移序列控制程序114控制存储器步移 逻辑302,从而仿真的微处理器处理至少一个选择的主存储器地址被 映射到的高速缓冲存储器组(高速缓冲存储器组306)内的高速缓冲 存储器位置,同时跳过高速缓冲存储器组内未被映射到所选择的仿真 的主存储器地址的高速缓冲存储器位置。

图4是示出了用于本发明的一个优选实施方式的操作步骤的流程 图,其中通过跳过目标高速缓冲存储器的空的高速缓冲存储器组内的 全部高速缓冲存储器位置来加速仿真的高速缓冲存储器步移序列。利 用n路组相关联高速缓冲存储器映射方案,将模型在拥有大型目标高 速缓冲存储器304的微处理器设计的仿真环境112内加载到主存储器 和硬件机制以执行经过该目标高速缓冲存储器的高速缓冲存储器步 移序列。在该示例性实施方式中,在仿真环境112内仿真测试用例, 其中在该仿真测试用例中基于测试用例地址表202中包括并且被仿真 的微处理器访问的选择的主存储器地址而已知目标高速缓冲存储器 304中的哪些高速缓冲存储器组有可能包括有效数据。

在步骤402中,步移序列控制程序114在测试用例的仿真期间检 测仿真的高速缓冲存储器步移序列的开始。步移序列控制程序114从 仿真环境112接收由NextLocationPointer(“指针位置”)指定的高 速缓冲存储器位置。步移序列控制程序114调用测试用例地址查找程 序116。

在步骤404中,测试用例地址查找程序116从测试用例地址表202 获取针对具体的测试用例选择的仿真的主存储器地址。在步骤406中, 测试用例地址查找程序116标识高速缓冲存储器组内每个选择的主存 储器地址被映射到的该高速缓冲存储器位置(“有可能有效的高速缓 冲存储器位置”)。测试用例地址查找程序116将该数据传递到步移 序列控制程序114。

在步骤408中,步移序列控制程序114确定将要由仿真的微处理 器处理的高速缓冲存储器位置是否是有可能有效的高速缓冲存储器 位置。为了如此操作,步移序列控制程序114将该有可能有效的高速 缓冲存储器位置与该指针位置进行比较,并且确定是否有可能有效的 高速缓冲存储器位置中的一个位置与该指针位置匹配。

如果指针位置不与一个有可能有效的高速缓冲存储器位置匹配, 则在步骤410中,步移序列控制程序114将NextLocationPointer设置 到该指针位置之后的下一个有可能有效的高速缓冲存储器位置。在步 骤412中,步移序列控制程序114允许仿真的微处理器处理新的指针 位置并且随后将NextLocationPointer增加到下一个后续高速缓冲存储 器位置。

如果在步骤408中指针位置与一个有可能有效的位置匹配,则步 移序列控制程序114不修改NextLocationPointer。随后在步骤412中, 步移序列控制程序114允许仿真的微处理器处理当前指针位置并且随 后将NextLocationPointer增加到下一个后续高速缓冲存储器位置。

在步骤414中,步移序列控制程序114确定仿真的微处理器是否 已经处理目标高速缓冲存储器304中的有可能有效的全部高速缓冲存 储器位置。例如,步移序列控制程序114可以确定是否存在任意位于 步骤412中处理的有可能有效的高速缓冲存储器位置之后的有可能有 效的高速缓冲存储器位置。如果步移序列控制程序114确定仿真的微 处理器没有处理有可能有效的全部高速缓冲存储器位置,则操作步骤 回到步骤408处进行重复。如果步移序列控制程序114确定仿真微处 理器已经处理了有可能有效的全部高速缓冲存储器位置,则在步骤 416中步移序列控制程序114将NextLocationPointer设置到目标高速 缓冲存储器304中的最后一个高速缓冲存储器位置,并且该实施方式 的操作步骤结束。

图5是示出了用于本发明的一个实施方式的操作步骤的流程图, 其中与跳过空的高速缓冲存储器组内的全部高速缓冲存储器位置相 反,通过跳过目标高速缓冲存储器的空的高速缓冲存储器组内的一些 高速缓冲存储器位置来加速仿真的高速缓冲存储器步移序列。该实施 方式基于与参照图4所讨论的相同的测试用例,并且可以在用户希望 加速仿真的高速缓冲存储器步移序列而且希望测试仿真的微处理器 如何处理已知不包括有效数据的高速缓冲存储器位置时使用。例如, 用户可能希望在高速缓冲存储器步移序列期间测试仿真的微处理器 是否正确地从处理不包括有效数据的高速缓冲存储器位置转换到处 理包括有效数据的高速缓冲存储器位置。操作步骤502、504和506 分别与图4的操作步骤402、404和406等效,因此,对于这些操作 步骤的说明请参考图4的讨论。

在该实施方式的步骤508中,步移序列控制程序114确定是否目 标高速缓冲存储器304的一个有可能有效的高速缓冲存储器位置或者 末尾处于将要被仿真的微处理器处理的高速缓冲存储器位置之后的 指定数目的高速缓冲存储器位置内。为了如此操作,步移序列控制程 序114将有可能有效的高速缓冲存储器位置与指针位置进行比较,并 且确定是否目标高速缓冲存储器304中的一个有可能有效的高速缓冲 存储器位置或者最后一个高速缓冲存储器位置处于该指针位置之后 的指定数目的高速缓冲存储器位置内。可以由用户预配置该指定数 目。

如果目标高速缓冲存储器304中的一个有可能有效的高速缓冲存 储器位置或者最后一个高速缓冲存储器位置处于该指针位置之后的 指定数目的高速缓冲存储器位置内,则步移序列控制程序114不修改 NextLocationPointer。然后在步骤510中,步移序列控制程序114允 许仿真的微处理器处理当前指针位置并且随后将NextLocationPointer 增加到下一个后续存储器位置。

如果目标高速缓冲存储器304中的一个有可能有效的高速缓冲存 储器位置或者最后一个高速缓冲存储器位置不处于该指针位置之后 的指定数目的高速缓冲存储器位置内,则在步骤512中,步移序列控 制程序114确定是否已经由仿真的微处理器处理了有可能有效的全部 高速缓冲存储器位置。例如,步移序列控制程序114可以确定是否存 在任意位于该指针位置之后的有可能有效的高速缓冲存储器位置。

如果步移序列控制程序114确定已经由仿真的微处理器处理了有 可能有效的全部高速缓冲存储器位置,则在步骤514中,步移序列控 制程序114将NextLocationPointer设置到这样一个高速缓冲存储器位 置中,该高速缓冲存储器位置是目标高速缓冲存储器304中的最后一 个高速缓冲存储器位置之前的指定数目的高速缓冲存储器位置。如在 该步骤中使用的指定数目可以等于在步骤508中使用的指定数目。随 后在步骤510中,步移序列控制程序114允许仿真的微处理器处理新 的指针位置,并且随后将NextLocationPointer增加到下一个后续存储 器位置。

如果在步骤512中步移序列控制程序114确定尚未由仿真的微处 理器处理有可能有效的全部高速缓冲存储器位置,则在步骤516中, 步移序列控制程序114将NextLocationPointer设置到这样一个高速缓 冲存储器位置,该高速缓冲存储器位置是在该指针位置之后下一个有 可能有效的高速缓冲存储器位置之前的指定数目的高速缓冲存储器 位置。如在该步骤中使用的指定数目可以等于步骤508中使用的指定 数目。随后在步骤510中,步移序列控制程序114允许仿真的微处理 器处理新的指针位置,并且随后将NextLocationPointer增加到下一个 后续高速缓冲存储器位置。

在步骤518中,步移序列控制程序114确定仿真的高速缓冲存储 器步移序列是否已经到达目标高速缓冲存储器304的末尾。例如,步 移序列控制程序114可以确定在步骤510中由仿真的微处理器最近处 理的高速缓冲存储器位置是否是目标高速缓冲存储器304中的最后一 个高速缓冲存储器位置。如果步移序列控制程序114确定仿真的高速 缓冲存储器步移序列尚未到达目标高速缓冲存储器304的末尾,则该 实施方式的操作步骤回到步骤508处进行重复。如果步移序列控制程 序114确定仿真的高速缓冲存储器步移序列已经到达目标高速缓冲存 储器304的末尾,则该实施方式的操作步骤结束。

图4的操作步骤402到416和图5的操作步骤502到516示出本 发明的两个或更多实施方式。应该理解,可以在不脱离本发明的精神 和预期范围的前提下,修改每个步骤的内容以及操作的次序。此外, 图4和图5示出单个存储器步移序列的加速并且已经参照单个存储器 步移序列的加速进行了说明。应该理解,在测试用例的仿真期间可以 开始多个存储器步移序列,并且可以根据本发明的实施方式加速每个 存储器步移序列。

图6显示了根据本发明的一个例示性实施方式的计算系统110的 内部组件800和外部组件900的框图。应该认识到,图6仅提供一个 实现的例示,并且不暗示对于可以在其中实现不同实施方式的环境的 任意限制。可以基于设计和实现要求对于所描绘的环境进行许多修 改。

具有内部组件800和外部组件900的计算系统110表示能够执行 机器可读程序指令的任意电子设备。可以由计算系统110表示的计算 系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计 算机系统、瘦客户端、胖客户端、膝上设备、多处理器系统、基于微 处理器的系统、网络PC、迷你计算机系统和包括任意以上系统或设 备的分布式云计算环境。

内部组件800包括在一个或多个总线826、一个或多个操作系统 828以及一个或多个计算机可读的有形存储设备830上的一个或多个 处理器820、一个或多个计算机可读RAM822以及一个或多个计算机 可读ROM824。计算系统110中的一个或多个操作系统828、仿真环 境112以及程序114和116被存储在对应的计算机可读的有形存储设 备830上以便被一个或多个对应的处理器820经由一个或多个对应的 RAM822(其典型地包括高速缓冲存储器)执行。在图6中所示的实 施方式中,每个计算机可读的有形存储设备830是内部硬盘驱动器的 磁盘存储设备。可替换地,每个计算机可读的有形存储设备830是半 导体存储设备,如ROM824、EPROM、闪存或可以存储计算机程序 和数字信息的任意其他计算机可读的有形存储设备。

内部组件800还包括R/W驱动器或接口832以从一个或多个便携 式计算机可读的有形存储设备936(如CD-ROM、DVD、存储棒、磁 带、磁盘、光盘或半导体存储设备)进行读取并且向其写入。计算系 统110中的仿真环境112以及程序114和116可以被存储在一个或多 个对应的便携式计算机可读的有形存储设备936上,经由对应的R/W 驱动器或接口832被读取并且被加载到对应的有形存储设备830中。

内部组件800还包括网络适配器或接口836,如TCP/IP适配器卡、 无线wi-fi接口卡、3G或4G无线接口卡或其他有线的或无线的通信 链路。计算系统110中的仿真环境112以及程序114和116可以经由 网络(例如因特网、局域网或其他广域网)和对应的网络适配器或接 口836从外部计算机被下载到计算系统110。将计算系统110中的仿 真环境112以及程序114和116从网络适配器或接口836加载到有形 存储设备830中。网络可以包括铜线、光纤、无线传输、路由器、防 火墙、交换机、网关计算机和/或边缘服务器。

外部组件900可以包括计算机显示监视器920、键盘930和计算 机鼠标934。外部组件900还可以包括触摸屏、虚拟键盘、触摸板、 定点设备和其他人机接口设备。内部组件800包括设备驱动器840以 接驳到计算机显示监视器920、键盘930和计算机鼠标934。设备驱 动器840、R/W驱动器或接口832和网络适配器或接口836包括硬件 和(存储在有形存储设备830和/或ROM824中的)软件。

已经参照根据本发明的实施方式的方法、装置(系统)和计算机 程序产品的框图和/或流程图说明描述了本发明的方面。应该理解,可 以由计算机指令实现流程图说明和/或框图的每个框以及流程图说明 和/或框图中的框的组合。可以向通用计算机、专用计算机或其他可编 程数据处理装置的处理器提供这些计算机指令以产生机器,从而经由 该计算机或其他可编程数据处理装置的处理器执行的指令创建用于 实现流程图和/或框图的框中指定的功能/动作的装置。

可以用一个或多个编程语言的任意组合编写前述程序,其中该编 程语言包括低级、高级、面向对象或非面向对象语言,如Java、 Smalltalk、C和C++等等。程序代码可以整个地在用户的计算机上执 行或者作为独立的软件包部分地在用户的计算机上执行,部分地在用 户的计算机上执行并且部分地在远程计算机上执行,或者整个地在远 程计算机或服务器上执行。在后一种情况中,可以经过任意类型的网 络包括局域网(LAN)或广域网(WAN),将远程计算机连接到用 户的计算机,或者可以与外部计算机进行连接(例如经过使用因特网 服务提供商的因特网)。可替换地,可以整体地或部分地由计算机电 路和其他硬件(未显示)实现前述程序的功能。

为了说明和描述的目的已经给出了本发明的各种实施方式的前 文描述。其不意图是穷举的或将本发明限于所公开的精确形式。本发 明的许多修改和变形是可行的。对于本领域的熟练技术人员显而易见 的这种修改和变形意图被包括在由所附权利要求定义的本发明的范 围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号