CN101256502B - 模拟多处理器系统的系统和方法 - Google Patents

模拟多处理器系统的系统和方法 Download PDF

Info

Publication number
CN101256502B
CN101256502B CN2007100843229A CN200710084322A CN101256502B CN 101256502 B CN101256502 B CN 101256502B CN 2007100843229 A CN2007100843229 A CN 2007100843229A CN 200710084322 A CN200710084322 A CN 200710084322A CN 101256502 B CN101256502 B CN 101256502B
Authority
CN
China
Prior art keywords
instruction
memory
memory access
execution
simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2007100843229A
Other languages
English (en)
Other versions
CN101256502A (zh
Inventor
王鲲
王华勇
杨诚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2007100843229A priority Critical patent/CN101256502B/zh
Priority to US12/038,589 priority patent/US8457943B2/en
Publication of CN101256502A publication Critical patent/CN101256502A/zh
Application granted granted Critical
Publication of CN101256502B publication Critical patent/CN101256502B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Abstract

公开了一种模拟多处理器系统的系统和方法。该模拟系统中,功能模块器包括获得指令的存储器访问记录的访问记录提取模块,并行周期精确模拟器的每个并行模拟单元包括提供标识导致访问存储器层次结构的指令的信息的存储器访问控制模块,同步控制系统具有识别装置,用于根据功能模拟器模拟多处理器系统对可执行程序的执行时由提取模块提供的指令的存储器访问记录,识别需要同步存储器访问的指令的集合;和同步装置,用于根据所述信息确定并行模拟单元对一个集合中指令的执行,使得指令的存储器访问按照该指令的全局模拟时间所对应的顺序来执行,访问控制模块在同步完成前挂起相应存储器访问的执行,响应同步装置的控制恢复被挂起的存储器访问的执行。

Description

模拟多处理器系统的系统和方法 
技术领域
本发明涉及多处理器系统的模拟,尤其涉及用于模拟多处理器系统的模拟系统和方法。 
背景技术
周期精确模拟器(cycle-accurate simulator)是评估多处理器系统的候选设计的重要工具。随着处理器数目的增加,传统的顺序模拟技术暴露出速度极慢的缺点。具有更高速度的并行模拟技术是对顺序模拟技术的自然扩展。然而并行模拟技术的问题在于,由于各并行分支以各自的进度执行模拟,需要保证以全局一致的顺序来进行存储器访问,即使得各自的存储器访问与全局进度(全局时间)同步。例如,假设使用包含主处理器a、b的并行模拟系统对两个处理器A、B的行为进行模拟,其中处理器A被模拟为通过主处理器a来写入存储器单元c,而处理器B被模拟为通过主处理器b来读取存储器单元c。于是必须以全局一致的顺序来同步这些存储器访问,否则会导致错误的结果。解决该问题的传统方式包括: 
1)逐周期同步(per-cycle synchronization)(参见David A.Penry,Daniel Fay,DavidHodgdon,Ryan Wells,Graham Schelle,David I.August和Daniel A.Connors的"Exploiting Parallelism and Structureto Accelerate the Simulation of Chip Multi-processors",Proceedingsof the Twelfth International Symposium on High-PerformanceComputer Architecture(HPCA),February 2006)。在这种技术中,在每个周期开始时同步所有被模拟的处理器。由于周期是最小时间单位,因此能够保证正确性。然而由于模拟粒度过细,导致模拟开销极高,大大降低了整个模拟的速度。
2)栅障同步(barrier synchronization)(参见M.Chidister和A.George的"ParallelSimulation of Chipmultiprocessorarchitectures",ACM Transactions on Modeling and ComputerSimulation,12(3):176-200,July 2002)。在这种技术中,每t个时间单位对所有被模拟的处理器进行同步,这t个时间单位的总和必须小于存储器访问时延,以保证正确性。然而由于存储器访问时延通常是周期级的,因此同步开销仍然较高。 
3)基于存储器访问的同步(参见M.Chidister和A.George的"Parallel Simulation of Chipmultiprocessor architectures",ACMTransactions on Modeling and Computer Simulation,12(3):176-200,July 2002)。在这种技术中,每当遇到存储器访问时对所有被模拟的处理器进行同步。然而统计数据表明,所有指令中只有30%到40%的指令是存储器访问指令。因此同步的时间开销仍然较高。 
图2示出了常规周期精确模拟器的一般功能结构。如图2所示,周期精确模拟器20通常包括取指模块21、译码模块22、提交模块23、功能单元24、回写模块25、确认模块26、存储器管理单元(MMU:Memory Management Unit)27和存储器层次结构28。例如,周期精确模拟器20中所示的模块和单元可通过硬件及/或软件来实现。可通过分时或并行体系结构来并行模拟多处理器系统。常规周期精确模拟器的实例可从美国Michigan州Ann Arbor的SimpleScalar LLC公司(http://www.simplescalar.com/)获得(Sim-Outorder工具包)。 
与周期精确模拟器相比,功能模拟器由于考虑的微观体系结构细节较少而速度较快,并且仍然能够达到相同的存储器访问效果。图1示出了常规功能模拟器的一般功能结构。如图1所示,功能模拟器10通常包括取指模块11、译码模块12、执行模块13、确认模块14、存储器管理单元(MMU)15和存储器层次结构16。例如功能模拟器20中所示的模块和单元可通过硬件及/或软件来实现。可通过分时或并行体系结构来并行模拟多处理器系统。常规功能模拟器的实例可从美国Michigan州Ann Arbor的SimpleScalar LLC公司(http://www.simplescalar.com/)获得(Sim-Fast工具包)。 
发明内容
鉴于上述情况,本发明的目的是提供一种用于模拟多处理器系统的模拟系统和方法,以提高周期精确模拟器的执行速度。 
本发明基于这样的认识,即多数来自不同被模拟的处理器的存储器访问是不发生冲突的,因此对所有存储器访问进行同步的保守策略会浪费大量处理时间。如果能够识别出可能发生冲突的存储器访问并且只对这些存储器访问执行同步,则会大大降低同步开销。由于功能模拟器能够更加快速地执行并且能够进行相同的存储器访问,因此可先通过功能模拟器的执行来识别出可能发生冲突的存储器访问。 
本发明提供了一种用于模拟多处理器系统的模拟系统,包括功能模拟器和并行周期精确模拟器,所述功能模块器还包括访问记录提取模块,用于获得指令的存储器访问记录,所述并行周期精确模拟器的每个并行模拟单元还包括存储器访问控制模块,用于提供标识导致访问存储器层次结构的指令的信息,并且所述模拟系统还包括同步控制系统,该同步控制系统包括:识别装置,用于根据所述功能模拟器在模拟所述多处理器系统对一可执行程序的执行时由所述访问记录提取模块提供的指令的存储器访问记录,识别出需要同步其存储器访问的指令的集合;和同步装置,用于根据所述存储器访问控制模块提供的所述信息确定所述并行模拟单元对一个所述集合中指令的执行,使得所述指令的存储器访问按照该指令的全局模拟时间所对应的顺序来执行,其中所述存储器访问控制模块在所述同步完成之前挂起相应存储器访问的执行,并且响应所述同步装置的控制而恢复被挂起的存储器访问的执行。 
本发明还提供了一种在用于模拟多处理器系统的模拟系统中进行存储器访问同步控制的方法,所述模拟系统包括功能模拟器和周期精确模拟器,该方法包括步骤:通过所述功能模拟器模拟所述多处理器系统对一可执行程序的执行,其中获得指令的存储器访问记录;根 据所述指令的存储器访问记录,识别出需要同步其存储器访问的指令的集合;和通过所述并行周期精确模拟器模拟所述多处理器系统对该可执行程序的执行,其中由所述并行周期精确模拟器的每个并行模拟单元提供标识导致访问存储器层次结构的指令的信息,根据所述信息确定所述并行模拟单元对一个所述集合中指令的执行,使得所述指令的存储器访问按照该指令的全局模拟时间所对应的顺序来执行,并且其中所述并行模拟单元在所述同步完成之前挂起相应存储器访问的执行,并且按照所述顺序恢复被挂起的存储器访问的执行。 
本发明还提供一种包含执行上述方法的计算机程序的计算机程序产品。 
根据本发明,由于能够通过功能模拟器的模拟来确定可能发生冲突的存储器访问,因此在之后的周期精确模拟器的模拟中避免对所有存储器访问的同步,因此大大降低了同步开销,提高了模拟速度。 
附图说明
被说明书引用并且构成说明书组成部分的附图图解了本发明的实施例,并且和前面的概括说明、下面针对实施例的详细描述一起被用来说明本发明的原理,其中: 
图1是表示现有技术的功能模拟器的一般功能结构的模块图; 
图2是表示出有技术的周期精确模拟器的一般功能结构的模块图; 
图3是例示基于本发明实施例的模拟系统的一般功能结构的模块图; 
图4是例示基于本发明实施例的模拟方法的一般过程的流程图; 
图5是更详细地例示出图4的步骤S5中存储器访问同步的控制过程的流程图。 
具体实施方式
下面将结合具体实施方式来说明本发明的技术方案。在下面的描述中,给出了某些具体细节以便提供对本发明实施例的充分理解。不过,本领域技术人员可知,没有这些细节也能实现本发明。在其他情况下,没有详细表示或描述与计算机、处理器等等有关的公知结构,以避免不必要地干扰对本发明实施例的描述。 
应该理解,以下实施例中完成预定处理的部分可通过硬件及/或软件实现。例如,利用一个或多个处理模块上所执行的软件及/或固件可执行的特定的处理。通常,用于执行处理的系统可包含更多常规处理模块及存储器。处理模块可以是单一处理设备或多个处理设备。这样的处理设备可以是微处理器、微控制器、数字处理器、微型计算机、中央处理单元的部分、状态机、逻辑电路及/或操作信号的任何设备。存储器可以是单一存储器器件或多个存储器器件。这样的存储器器件可以是只读存储器、随机访问存储器、软盘存储器、磁带存储器、可擦除存储器、系统存储器的部分,及/或以数字格式存储操作指令的任何设备。注意到,当处理模块实现一个或多个其功能成为状态机或逻辑电路时,以相应操作指令方式存储的存储器被嵌入在包括该状态机及/或其他逻辑电路的电路内。例如,这样的系统可以是具有可编译存储器单元以利于存储器的实现的电路设计工具。 
除非内容需要,否则在后面的说明书和权利要求书中,词语"包括"及其类似表述被解释成开放性的"包含"的意思,即"包括,但不限于"。 
图3是示出基于本发明实施例的模拟系统的一般功能结构的模块图。如图3所示,模拟系统50包括功能模拟器10′、周期精确模拟器20′和基于线索的同步控制系统40。 
图4是示出基于本发明实施例的模拟方法的一般过程的流程图。 
如图3所示,功能模拟器10′包括取指模块11、译码模块12、执行模块13、确认模块14、MMU15′和存储器层次结构16。取指模块11用于取得要执行的指令并且将指令提供给译码模块12。译码模块12理解所获取的指令的语义并且传送给执行模块13。执行模块13用于根据其语义来执行所译码的指令,并且经由MMU15′来回写所修改 的存储器单元的新值,或经由确认模块14来回写所修改的寄存器的新值。确认模块14用于回写所修改的寄存器的新值,并且更新程序计数器以便使取指模块11取得下一指令。MMU15′用于将目标虚拟存储器空间映射到目标物理存储器空间,并且对于所有存储器相关指令均是必要的。存储器层次结构16用于模拟目标系统的存储器层次结构,例如专用一级高速缓存和共享二级高速缓存,并且将目标物理空间映射到本模拟器的主存储器空间。 
与现有技术的功能模拟器相比,本发明实施例中的功能模拟器包括获得指令的存储器访问记录的访问记录提取模块。在下面讨论的例子中,该模块设置在MMU15′中。当执行模块13执行一条指令的语义时,如果其语义包括访问存储器层次结构16,则通过MMU15′进行存储器访问。响应于此,与MMU15′相关联的访问记录提取模块提取有关该指令的信息,即存储器访问记录,包括执行该指令的CPU的标识、该指令的标识和所访问的存储器位置的地址。根据功能模拟器的实现所基于的硬软件体系结构和操作系统类型,可采用各种方式来实现上述访问记录提取模块的功能。例如在采用WINDOWS操作系统的情况下,可利用钩子(hook)机制来截取MMU15′进行存储器访问的事件,进而获取存储器访问记录的信息。该模块也可设置在MMU15′之外。 
如图4所示,本发明的方法首先在步骤S1,通过用功能模拟器10′模拟程序的执行,由访问记录提取模块获得存储器访问记录。 
如图3所示,基于线索的同步控制系统40包括线索产生器41、线索数据库42和同步装置43。同步控制系统40可基于计算机来实现。 
如图4所示,当功能模拟器10′对可执行程序的模拟执行完毕时,接着在步骤S2,同步控制系统40的线索产生器41获得由功能模拟器10′提取的存储器访问记录。可通过直接通信或中间存储来实现同步控制系统40与功能模拟器10′之间存储器访问记录的传送。接着在步骤S3,线索产生器41对所累积的存储器访问记录进行分析,其中针对存储器访问记录中出现的每个被访问存储器单元的地址,在所累积的存 储器访问记录中寻找不同处理器对相同存储器单元地址的访问所涉及的指令的集合。即针对该地址,确定所累积的存储器访问记录是否表明有不同的处理器访问到该地址指示的存储器单元。如果有,则找出包含所述不同处理器和该地址的所有存储器访问记录,这些存储器访问记录中标识的指令便构成这样的一个集合。求出这样的集合的方法可能有各种变型。接着,在步骤S4,线索产生器41将所寻找出的这样的集合存储在线索数据库42中。 
如图3所示,周期精确模拟器20′包括若干并行模拟单元20-1至20-n。每个并行模拟单元模拟一个处理器,其工作流程类似于一个串行周期精确模拟器。每个并行模拟单元都维护自己当前的模拟时间。 
每个并行模拟单元包括取指模块21、译码模块22、提交模块23、功能单元24、回写模块25、确认模块26、MMU27′和存储器层次结构28。取指模块21用于取得要执行的指令并且将指令提供给译码模块22。译码模块22理解所获取的指令的语义并且传送给提交模块23。提交模块23用于为指令分配临时寄存器,即重命名寄存器,并且将寄存器分配给相应功能单元24。功能单元24用于根据其语义来执行待执行的指令,并且经由MMU27′来回写所修改的存储器单元的新值,或经由回写模块25和确认模块26来回写所修改的寄存器的新值。回写模块25用于回写所修改的临时寄存器,即重命名的寄存器的新值。确认模块26用于回写被指令修改的所修改寄存器的新值,并且更新程序计数器以便使取指模块21取得下一指令。MMU27′用于将目标虚拟存储器空间映射到目标物理存储器空间,并且对于所有存储器相关指令均是必要的。存储器层次结构28用于模拟目标系统的存储器层次结构,例如专用一级高速缓存和共享二级高速缓存,并且将目标物理空间映射到本模拟单元的主存储器空间。与功能模拟器中的执行模块相比,周期精确模拟器的并行模拟单元中的提交模块、功能单元和回写模块可被认为是更加复杂的流水线30。 
如图4所示,在步骤S4之后,在步骤S5,由周期精确模拟器20′的各并行模拟单元执行上述可执行程序。
图5是更详细地示出图4的步骤S5中存储器访问同步的控制过程的流程图。 
与现有技术的并行周期精确模拟器相比,本发明实施例的周期精确模拟器20′的并行模拟单元可包括存储器访问控制模块。在下面讨论的例子中,该模块实现在MMU27′中。 
如图5所示,在步骤S10,同步装置43从MMU27′(即存储器访问控制模块)获得用于标识导致访问存储器层次结构28的指令的信息。当功能单元24执行一条指令的语义时,如果其语义包括访问存储器层次结构28,则通过MMU27′进行存储器访问。响应于此,由与MMU27′相关联的存储器访问控制模块从MMU27′提供有关该指令的信息,即该指令的标识。根据周期精确模拟器的实现所基于的硬软件体系结构和操作系统类型,可采用各种方式来收集和提供指令的标识信息。例如在采用WINDOWS操作系统的情况下,可利用钩子(hook)机制来截取MMU27′进行存储器访问的事件,进而获取该存储器访问所基于的指令的标识信息。该存储器访问控制模块也可实现在MMU27′之外。 
可选地,上述MMU15′和MMU27′提供的标识指令的信息可以基于可执行程序映像的指令地址。 
需要注意,在MMU27′实际执行存储器访问之前向同步装置43提供指令标识信息,此时存储器访问控制模块使得MMU27′的实际存储器访问被挂起,直至同步装置43在步骤S11完成同步处理。 
在步骤S11,当同步装置43收到来自一个并行模拟单元的MMU的指令标识信息时,将其与线索数据库42中存储的各集合中的指令标识信息相比较,如果与一个集合中的指令标识信息匹配,则识别出该MMU的要执行的存储器访问需要同步,并对该存储器访问执行同步控制。 
同步装置43负责维护并行周期精确模拟器的全局模拟时间。全局模拟时间等于所有并行模拟单元模拟时间的最小值。同步装置43可以通过检查所有并行模拟单元的当前模拟时间并比较出最小值来获 得全局模拟时间。 
作为一个例子,当同步装置43收到来自一个并行模拟单元的MMU的指令标识信息并确定相应指令的执行需要同步时,同步装置43会首先阻塞当前处理器的MMU模拟工作,等待该处理器的虚拟时间等于全局虚拟时间,然后通知继续其MMU模拟工作。在本并行模拟系统中,MMU的模拟工作流程与串行模拟器中MMU完全一致。同步装置因而起到调整MMU模拟动作的发生时间的作用,但不会改变MMU内部工作机制。 
举例说明,假设一个并行模拟器有3个并行模拟单元:处理器P0、P1和P2。P0的模拟时间为100秒,P1的模拟时间为101秒,P2的模拟时间为102秒,则此时的全局模拟时间为100秒。假设此时P0,P1和P2执行的指令均在线索数据库中被标记为需要同步,则其执行均被同步装置43挂起。此时同步装置43确定P1和P2必须等待,因为它们的模拟时间大于全局模拟时间,而P0可以开始它的MMU仿真动作,因为它的模拟时间等于全局模拟时间。假设P0完成MMU仿真动作后时间为103秒,而此时全局模拟时间增长为101秒,于是同步装置43确定P1也可以开始它的MMU仿真动作,而P2仍然需要等待。再假设P1完成MMU仿真动作后时间为104秒,而此时全局模拟时间变为102秒,于是同步装置43确定P2也可以开始其MMU仿真动作。 
作为一种可选方式,当并行模拟单元的MMU执行一条指令时,存储器访问控制模块首先查询线索数据库,看这条指令是否需要同步。如果不需要同步,则可以直接执行相应的MMU模拟操作,否则,存储器访问控制模块使得该并行模拟单元的MMU自行阻塞该指令的执行,并且等到它的模拟时间等于全局模拟时间时才能继续相应的操作。这种方式即所谓的自治方式。在这种情况下,同步装置只需要维护全局模拟时间,或者可以省略同步装置,而由MMU的存储器访问控制模块自行获得全局模拟时间(例如以所有MMU的当前模拟时间的最小值为全局模拟时间)。
虽然前面将存储集合的设备描述为线索数据库,然而也可以采用本领域所知的其它手段来存储,并且该存储功能可以独立存在,也可以集成在功能模拟器或周期精确模拟器中。类似地,线索产生器也可集成在功能模拟器内,同步装置可集成在周期精确模拟器内。 
更进一步地,虽然前面的实施例中将功能模拟器,周期精确模拟器和同步控制系统描述为分立的部分,然而本领域技术人员明白,在具体的实现中,能够将其任意地组合。虽然前面的实施例中将并行模拟单元描述为分立的部分,然而在具体实现中,可以采用集中式或分布式的并行计算技术来实施。另外,前面实施例中各单元之间的通信可采用诸如总线、网络、共享存储器、DMA、中断、消息、管道、事件、专用连接等等的有线或无线方式的通信技术。 
虽然在实施例中将集合的识别准则确定为不同处理器对相同存储器地址的访问,然而可根据具体实施来设计其它的识别准则。优选地,所识别的集合应包括至少导致写访问的至少一个指令。 
以上所揭示的内容是将被考虑为说明性的,而不是限制性的,并且附加的权利要求意欲涵盖所有属于本发明的真实精神及范围的这类修改、改进及其他实施例。因此,以法律所允许的最大程度,本发明的范围将由以下权利要求及其等同的最广泛可容许的解释来确定,并且不应由上述具体实施方式约束或限制。

Claims (14)

1.一种用于模拟多处理器系统的模拟系统,包括功能模拟器和并行周期精确模拟器,其特征在于,
所述功能模拟器还包括访问记录提取模块,用于获得指令的存储器访问记录,
所述并行周期精确模拟器的每个并行模拟单元还包括存储器访问控制模块,用于提供标识导致访问存储器层次结构的指令的信息,并且
所述模拟系统还包括同步控制系统,该同步控制系统包括:
识别装置,用于根据所述功能模拟器在模拟所述多处理器系统对一可执行程序的执行时由所述访问记录提取模块提供的指令的存储器访问记录,识别出需要同步其存储器访问的指令的集合;和
同步装置,用于根据所述存储器访问控制模块提供的所述信息确定所述并行模拟单元对一个所述集合中指令的执行,使得所述指令的存储器访问按照该指令的全局模拟时间所对应的顺序来执行,
其中所述存储器访问控制模块在所述同步完成之前挂起相应存储器访问的执行,并且响应所述同步装置的控制而恢复被挂起的存储器访问的执行。
2.根据权利要求1的用于模拟多处理器系统的模拟系统,其特征在于所述访问记录提取模块与所述功能模拟器的存储器管理单元相关联。
3.根据权利要求1的用于模拟多处理器系统的模拟系统,其特征在于所述指令的存储器访问记录包括标识所述指令、执行所述指令的处理器和所述指令所涉及的被访问存储器位置的信息。
4.根据权利要求3的用于模拟多处理器系统的模拟系统,其特征在于所述识别装置被进一步构造成将所述集合识别为不同处理器执行的访问相同存储器位置的指令的集合。
5.根据权利要求4的用于模拟多处理器系统的模拟系统,其特征在于所述指令的存储器访问记录还包括用于标识存储器访问的读写类型的信息,并且所述识别装置被进一步构造成将所述集合识别为包括至少导致写访问的至少一个指令的集合。
6.根据权利要求1的用于模拟多处理器系统的模拟系统,其特征在于所述同步控制系统还包括存储装置,用于存储所述集合。
7.根据权利要求1的用于模拟多处理器系统的模拟系统,其特征在于所述存储器访问控制模块与其所属的并行模拟单元的存储器管理单元相关联。
8.一种在用于模拟多处理器系统的模拟系统中进行存储器访问同步控制的方法,所述模拟系统包括功能模拟器和周期精确模拟器,其特征在于包括步骤:
通过所述功能模拟器模拟所述多处理器系统对一可执行程序的执行,其中获得指令的存储器访问记录;
根据所述指令的存储器访问记录,识别出需要同步其存储器访问的指令的集合;和
通过所述并行周期精确模拟器模拟所述多处理器系统对该可执行程序的执行,其中由所述并行周期精确模拟器的每个并行模拟单元提供标识导致访问存储器层次结构的指令的信息,根据所述信息确定所述并行模拟单元对一个所述集合中指令的执行,使得所述指令的存储器访问按照该指令的全局模拟时间所对应的顺序来执行,并且
其中所述并行模拟单元在所述同步完成之前挂起相应存储器访问的执行,并且按照所述顺序恢复被挂起的存储器访问的执行。
9.根据权利要求8的进行存储器访问同步控制的方法,其特征在于所述获得步骤由所述功能模拟器的存储器管理单元来执行。
10.根据权利要求8的进行存储器访问同步控制的方法,其特征在于所述指令的存储器访问记录包括标识所述指令、执行所述指令的处理器和所述指令所涉及的被访问存储器位置的信息。
11.根据权利要求10的进行存储器访问同步控制的方法,其特征在于所述识别步骤还包括将所述集合识别为不同处理器执行的访问相同存储器位置的指令的集合。
12.根据权利要求11的进行存储器访问同步控制的方法,其特征在于所述指令的存储器访问记录还包括用于标识存储器访问的读写类型的信息,并且所述识别步骤还包括成将所述集合识别为包括至少导致写访问的至少一个指令的集合。
13.根据权利要求8的进行存储器访问同步控制的方法,其特征在于还包括存储所述集合的步骤。
14.根据权利要求8的进行存储器访问同步控制的方法,其特征在于所述提供标识导致访问存储器层次结构的指令的信息的步骤由所述并行模拟单元的存储器管理单元执行。
CN2007100843229A 2007-02-27 2007-02-27 模拟多处理器系统的系统和方法 Expired - Fee Related CN101256502B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2007100843229A CN101256502B (zh) 2007-02-27 2007-02-27 模拟多处理器系统的系统和方法
US12/038,589 US8457943B2 (en) 2007-02-27 2008-02-27 System and method for simulating a multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100843229A CN101256502B (zh) 2007-02-27 2007-02-27 模拟多处理器系统的系统和方法

Publications (2)

Publication Number Publication Date
CN101256502A CN101256502A (zh) 2008-09-03
CN101256502B true CN101256502B (zh) 2011-02-09

Family

ID=39716910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100843229A Expired - Fee Related CN101256502B (zh) 2007-02-27 2007-02-27 模拟多处理器系统的系统和方法

Country Status (2)

Country Link
US (1) US8457943B2 (zh)
CN (1) CN101256502B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9384063B2 (en) * 2009-06-18 2016-07-05 Microsoft Technology Licensing, Llc Eliding synchronization in a concurrent data structure
WO2011046089A1 (ja) * 2009-10-16 2011-04-21 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション方法、システム及びプログラム
CN101777007B (zh) * 2010-01-28 2013-04-10 中国科学技术大学苏州研究院 片上多核处理器的并行功能仿真系统及其方法
CN102467406B (zh) * 2010-11-09 2014-04-16 无锡江南计算技术研究所 多处理器结构的模拟方法及模拟器
US9317630B2 (en) 2012-12-07 2016-04-19 International Business Machines Corporation Memory frame architecture for instruction fetches in simulation
US9336341B2 (en) 2012-12-07 2016-05-10 International Business Machines Corporation Memory frame proxy architecture for synchronization and check handling in a simulator
CN103218250B (zh) * 2013-03-29 2016-01-13 北京控制工程研究所 一种处理器模拟方法
JP6394341B2 (ja) * 2014-07-23 2018-09-26 富士通株式会社 計算装置、計算方法、および計算プログラム
CN104866374B (zh) * 2015-05-22 2018-07-06 北京华如科技股份有限公司 基于多任务的离散事件并行仿真及时间同步方法
JP6958038B2 (ja) * 2017-07-06 2021-11-02 富士通株式会社 シミュレーションプログラム、方法、及び装置
CN107589960B (zh) * 2017-08-30 2020-07-24 北京轩宇信息技术有限公司 一种基于寄存器访问冲突检测的dsp指令模拟方法
CN109033514B (zh) * 2018-06-15 2023-04-28 上海电气电站设备有限公司 一种平面管束流体弹性失稳评定方法
CN113821076B (zh) * 2021-10-11 2023-10-27 上海航天计算机技术研究所 基于虚拟时钟的虚拟仿真系统及同步方法
CN115037631B (zh) * 2022-05-13 2023-08-22 北京中科晶上科技股份有限公司 基于集群的网络仿真方法、装置和网络仿真系统
CN116108782B (zh) * 2023-04-14 2023-07-25 此芯科技(上海)有限公司 一种mcu外设控制寄存器行为模拟方法与相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052524A (en) * 1998-05-14 2000-04-18 Software Development Systems, Inc. System and method for simulation of integrated hardware and software components
CN1645338A (zh) * 2005-02-25 2005-07-27 清华大学 单芯片多处理器结构模拟系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230313B1 (en) * 1998-12-23 2001-05-08 Cray Inc. Parallelism performance analysis based on execution trace information
US6466898B1 (en) * 1999-01-12 2002-10-15 Terence Chan Multithreaded, mixed hardware description languages logic simulation on engineering workstations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052524A (en) * 1998-05-14 2000-04-18 Software Development Systems, Inc. System and method for simulation of integrated hardware and software components
CN1645338A (zh) * 2005-02-25 2005-07-27 清华大学 单芯片多处理器结构模拟系统

Also Published As

Publication number Publication date
CN101256502A (zh) 2008-09-03
US20080208558A1 (en) 2008-08-28
US8457943B2 (en) 2013-06-04

Similar Documents

Publication Publication Date Title
CN101256502B (zh) 模拟多处理器系统的系统和方法
US8549468B2 (en) Method, system and computer readable storage device for generating software transaction-level modeling (TLM) model
Schumacher et al. parSC: Synchronous parallel SystemC simulation on multi-core host architectures
US6539500B1 (en) System and method for tracing
US7836435B2 (en) Checking for memory access collisions in a multi-processor architecture
CN104123171B (zh) 基于numa架构的虚拟机迁移方法及系统
US7779393B1 (en) System and method for efficient verification of memory consistency model compliance
US20130024646A1 (en) Method and Simulator for Simulating Multiprocessor Architecture Remote Memory Access
CN102087609B (zh) 多处理器平台下的动态二进制翻译方法
CN102681937A (zh) 一种缓存一致性协议正确性验证方法
US9875108B2 (en) Shared memory interleavings for instruction atomicity violations
CN105408859A (zh) 用于指令调度的方法和系统
CN102693188A (zh) 用于在可控运行时环境中进行基于硬件的动态逸出检测的方法和装置
CN105446841A (zh) 缓存一致性测试方法
CN102073480B (zh) 基于时分复用实现多核处理器内核模拟的方法
CN102609254A (zh) 获取对象级访存行为的方法及装置
US20170193055A1 (en) Method and apparatus for data mining from core traces
CN101458655B (zh) 内存管理方法、系统及内存控制装置
CN102184290A (zh) 一种嵌入式微处理器的周期精确和位精确系统级模型
Lai et al. Fast profiling framework and race detection for heterogeneous system
Posadas et al. M3-SCoPE: performance modeling of multi-processor embedded systems for fast design space exploration
CN109656868A (zh) 一种cpu与gpu之间的内存数据转移方法
CN102253884A (zh) 模拟单板软件运行环境的方法及装置
CN102591669B (zh) 模块化计算机固件及其实现方法
US20050209839A1 (en) Data processing apparatus simulation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20171128

Address after: Grand Cayman, Cayman Islands

Patentee after: GLOBALFOUNDRIES INC.

Address before: American New York

Patentee before: Core USA second LLC

Effective date of registration: 20171128

Address after: American New York

Patentee after: Core USA second LLC

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110209

Termination date: 20190227

CF01 Termination of patent right due to non-payment of annual fee