-
公开(公告)号:CN101473303B
公开(公告)日:2012-08-22
申请号:CN200780023140.9
申请日:2007-06-19
Applicant: 国际商业机器公司
Inventor: 加文·巴勒克拉夫 , 云洁文 , 阿卜杜勒·拉曼·胡麦达
CPC classification number: G06F9/45516 , G06F2209/481
Abstract: 一种目标计算系统(10),其配置以实施程序代码转换,从主题计算架构(1)可执行的主题码(17)转换为该目标计算系统(10)可执行的目标码(21),并接着执行该目标码(21)。在实施例中,该目标计算系统实施动态二元翻译。而且,该目标计算系统处理连结至本机码期间的异常。此处,本机码连结执行本机码(28)部分(例如本机库函数)取代翻译该主题码(17)部分(例如主题库函数)为该目标码(21)。当于该本机码(28)部分执行期间发生异常时,该目标计算系统(10)存储代表执行该本机码(28)部分的目前时点的目标状态(T′),并制造代表主题计算架构中执行的仿真时点的主题状态(S′)。该异常系参考该主题状态(S′)而经由主题异常处理器单元(170、170′)予以处理,使得在使用该特定主题状态(S′)而从该异常恢复执行时,该存储的目标状态(T′)复原以恢复本机码(28)部分的该区段中的执行。在实施例中,该主题状态(S′)经由恢复单元(192)而链接到该存储的目标状态(T′)。
-
公开(公告)号:CN101542441B
公开(公告)日:2012-03-07
申请号:CN200780043496.9
申请日:2007-11-20
Applicant: 国际商业机器公司
IPC: G06F9/50
CPC classification number: G06F9/526 , G06F12/0284 , G06F12/1036 , G06F12/109
Abstract: 描述了一种在多处理器计算机系统(100)中保护存储器一致性的方法和设备,具体涉及诸如动态二进制翻译的程序代码变换。示例性多处理器计算系统(10)设置有存储器(18)和多个处理器(13a,13b)以及控制器单元/翻译器单元(19),被设置为将主题代码(17)变换为可在多个处理器(13a,13b)上执行的至少第一和第二目标代码部分(21a,21b)。控制器单元/翻译单元(19)包括:地址空间分配单元(196),其提供多个虚拟地址空间区域(181),并且引导目标代码部分(21a,21b)使其由此访问存储器(18);共享存储器检测单元(197),其检测访问可由两个目标代码部分(21a,21b)访问的共享存储器区域(182),和识别访问共享存储器区域(182)的第一目标代码部分(21a)中的至少一个指令组(211);以及存储器保护单元(198),其选择性地与所识别的指令组(211)对共享存储器区域(182)的访问相关地应用存储器一致性保护。在一个示例性实施例中,至少第一代码部分(21a)是在第一存储器一致性模型下执行的。检测明确或隐含的存储器(182),并且包含访问共享存储器区域(182)的指令的第一代码部分(21a)中的块(211)服从存储器一致性保护,以便当访问检测的共享存储器区域(182)时在第二存储器一致性模型下执行。
-
公开(公告)号:CN1802632B
公开(公告)日:2010-04-14
申请号:CN200480015940.2
申请日:2004-04-22
Applicant: 国际商业机器公司
IPC: G06F9/45
CPC classification number: G06F9/45516 , G06F9/30065 , G06F9/3836
Abstract: 翻译器装置具有解释和翻译功能性的程序代码(17),其中在确定源程序代码(17)的解释更有利的那些情况下,解释源程序代码(17)而不是翻译。翻译器(19)应用解释算法来确定源程序代码(17)的基本块是否应当被解释或翻译。从用于源程序代码(17)的整个指令集初始地选择由解释器支持的特定源指令。1)如果确定基本块内的所有指令在由解释器功能性支持的指令的子集内,以及2)如果基本块的执行计数低于一个翻译阈值,将解释基本块。如果不满足这两个条件的任何一个,则由翻译器(19)翻译基本块。
-
公开(公告)号:CN101164041B
公开(公告)日:2012-08-01
申请号:CN200680013311.5
申请日:2006-04-07
Applicant: 国际商业机器公司
Inventor: 加文·巴勒克拉夫 , 万奇曼 , 阿贝杜尔·R·胡梅达
CPC classification number: G06F9/3861 , G06F9/30174 , G06F9/45504
Abstract: 本发明公开了用于在程序代码转换过程中准确地处理异常的方法和设备。准确的异常处理依赖于准确的主体状态,包括精确的程序计数器和主体处理器的寄存器值。主体代码(17)被转换成可由目标处理器(13)执行的目标代码(21)。生成的目标代码(17)包括与易发生错误的主体代码指令(174)关联的对等目标指令(214)。此外,每一个对等目标代码指令(214)都与恢复信息(195)关联。当发生异常(例如,错误)时,检索恢复信息(195),并将其用于恢复准确的主体状态,具体来说,通过考虑优化以生成共同的目标常见的情况的目标代码(21)。然后,使用准确的主体状态来准确地处理异常。
-
-
-