【技术实现步骤摘要】
【国外来华专利技术】
本专利技术通常涉及计算机和计算机系统领域。更具体地讲,本专利技术涉及一 种被改编以支持寄存器窗口架构的计算机系统以及一种改编计算机系统以使 其支持寄存器窗口架构的方法。
技术介绍
中央处理单元(CPU)或处理器处于所有现代计算系统的心脏。处理器执行计算机程序的指令,从而使计算机能够执行有用的工作。不仅在诸如个人计算机、膝上型电脑和PDA的专用计算机器中,在现代生活中的所有形式 的数字装置中都普遍存在CPU。现代微处理器出现在从汽车到洗衣机到儿童 玩具的每一件物品中。产生这样的问题可由一种类型的处理器执行的程序代码经常不能由任 何其它类型的处理器执行。首先,每一种类型的处理器具有其自身的独特指硬件特点。因此,程序代码转换领域已经发展为将为一种类型的处理器撰写 的程序代码自动转换为可由另 一种类型的处理器执行的代码,或者针对同一 类型的处理器将旧的、效率低的一段代码优化为更新更快的版本。即,在嵌 入式和非嵌入式CPU中,有主导ISA(针对主导ISA,大部分软件已经存在), 这些主导ISA可以进行性能加速或者被翻译给体现出更好的成本/ 性能效益的其它处理器。还发现主导CPU架构,这些主导CPU架构被实时 地锁定于其ISA并且在性能或者市场占有方面无法发展。这一问题涉及所有 级别的电子产业,从独立袖珍式装置直到具有几十或几百个强大的计算机的 大规模网络。作为程序代码转换这一领域的背景信息,名称为Program Code Conversion的WO2000/22521号PCT公布、名称为Method and Apparatus for Performing Int ...
【技术保护点】
一种计算系统,该计算系统被改编以支持寄存器窗口架构,以便使用可由基于寄存器窗口的对象计算架构的对象处理器执行的对象代码,在该基于寄存器窗口的对象计算架构中,寄存器窗口被定位为使从窗口化的寄存器文件中选择的对象处理器的对象寄存器的子集显露,所述对象代码包括基于窗口的指令和基于寄存器的指令,基于窗口的指令影响寄存器窗口,基于寄存器的指令包含对寄存器窗口中的对象寄存器的引用,该计算系统包括: 解码器单元,被布置为将对象代码解码,以从基于窗口的指令中获得寄存器窗口移动信息并从基 于寄存器的指令中获得一个或多个窗口化的对象寄存器引用; 具有堆栈数据结构的存储器,该堆栈数据结构被布置为存储多个条目; 编码器单元,被布置为从解码器单元所解码的对象代码产生目标代码;和 目标处理器,被布置为执行该目标代码, 以设置与存储器中的堆栈数据结构的头有关的堆栈指针,参考寄存器窗口移动信息调节该堆栈指针,参考该堆栈指针与关于各个窗口化的对象寄存器引用确定的位移的组合来访问堆栈数据结构中的条目。
【技术特征摘要】
【国外来华专利技术】GB 2006-10-2 0619380.9;US 2006-10-24 60/853,9241、一种计算系统,该计算系统被改编以支持寄存器窗口架构,以便使用可由基于寄存器窗口的对象计算架构的对象处理器执行的对象代码,在该基于寄存器窗口的对象计算架构中,寄存器窗口被定位为使从窗口化的寄存器文件中选择的对象处理器的对象寄存器的子集显露,所述对象代码包括基于窗口的指令和基于寄存器的指令,基于窗口的指令影响寄存器窗口,基于寄存器的指令包含对寄存器窗口中的对象寄存器的引用,该计算系统包括解码器单元,被布置为将对象代码解码,以从基于窗口的指令中获得寄存器窗口移动信息并从基于寄存器的指令中获得一个或多个窗口化的对象寄存器引用;具有堆栈数据结构的存储器,该堆栈数据结构被布置为存储多个条目;编码器单元,被布置为从解码器单元所解码的对象代码产生目标代码;和目标处理器,被布置为执行该目标代码,以设置与存储器中的堆栈数据结构的头有关的堆栈指针,参考寄存器窗口移动信息调节该堆栈指针,参考该堆栈指针与关于各个窗口化的对象寄存器引用确定的位移的组合来访问堆栈数据结构中的条目。2、 根据权利要求1所述的计算系统,其中,解码器单元被布置为识别对 象代码中导致寄存器窗口的至少SAVE和RESTORE类型移动的一个或多个 基于窗口的指令,并从其获得至少SAVE和RESTORE类型寄存器窗口移动 信息。3、 根据权利要求2所述的计算系统,其中,目标处理器被布置为响应于 每一条所述SAVE和RESTORE类型寄存器窗口移动信息调节堆栈指针。4、 根据权利要求3所述的计算系统,其中,目标处理器被布置为响应于 每一条所述SAVE和RESTORE类型寄存器窗口移动信息,将堆栈指针调节 预定的偏移。5、 根据权利要求4所述的计算系统,其中,目标处理器被布置为响应于 每一条所述SAVE类型寄存器窗口移动信息,使堆栈指针增加预定的偏移, 响应于每一条所述RESTORE类型寄存器窗口移动信息,使堆栈指针减小预 定的偏移;或者响应于每一条所述SAVE类型寄存器窗口移动信息,使堆栈指针减小预定的偏移,响应于每一条所述RESTORE类型寄存器窗口移动信 息,使堆栈指针增加预定的偏移。6、 根据权利要求5所述的计算系统,其中,所述预定的偏移与可寻址的 一组窗口化的对象寄存器引用的大小对应。7、 根据权利要求6所述的计算系统,其中,目标处理器被布置为关于各 个窗口化的对象寄存器引用在可寻址的一组窗口化的对象寄存器引用中的位 置,为每一窗口化的对象寄存器引用确定所述位移。8、 根据权利要求1所述的计算系统,其中,编码器单元被布置为发布至 少一个目标代码指令,所述目标代码指令使目标处理器通过结合调节的堆栈 指针和确定的位移来访问从堆栈数据结构中选择的条目。9、 根据权利要求1所述的计算系统,其中,目标处理器被布置为根据寄 存器窗口移动信息来确定帧偏移以便将堆栈指针调节预定数量的条目,并且 根据确定的帧偏移和确定的位移来调节堆栈指针以访问从堆栈数据结构中选 择的条目。10、 根据权利要求1所述的计算系统,其中,解码器单元被布置为根据 对象代码中的基于窗口的指令将对象代码划分为多个块,寄存器窗口移动信 息是从所述基于窗口的指令获得的。11、 根据权利要求1所述的计算系统,其中,所述对象代码包括执行调 用被调用者部分的功能的至少一个调用者部分,并且编码器单元被布置为产 生将被调用者部分内联入调用者部分中的单个目标代码块。12、 根据权利要求11所述的计算系统,其中,编码器单元被布置为产生 由目标处理器执行的目标代码指令,以便i) 根据在对象代码的调用者部分中识别出的窗口化的对象寄存器引用, 参考从窗口化的对象寄存器引用获得的位移以及堆栈指针来访问从堆栈数据 结构中选4奪的条目;ii) 根据从对象代码的调用者部分获得的寄存器窗口移动信息,增加与堆 栈数据结构的预定数量的条目相等的帧偏移;iii.)根据在对象代码的被调用者部分中识别出的窗口化的对象寄存器引 用,参考从窗口化的对象寄存器引用获得的位移以及根据帧偏移调节的堆栈 指针来访问从堆栈数据结构选择的条目;iv )根据从对象代码的被调用者部分获得的寄存器窗口移动信息减'J、帧偏移。13、 根据权利要求1所述的计算系统,其中所述存储器还包括仿真的部分,该仿真的部分被布置为对用于对象代码 的执行的执行堆栈进行仿真;解码器单元被布置为将对象代码解码以识别至少SAVE和SAVE类型寄 存器窗口移动信息;识别出的寄存器窗口移动更新计数器,所述更新包括针对每一 SAVE类型移 动使计数器增加并且针对每一 RESTORE类型移动使计数器减小,计数器藉 此计算帧的数量,每一所述帧包含存储在堆栈数据结构上的预定数量的条目;解码器单元被布置为识别对象代码中的SPILL类型指令,该SPILL类型 指令将需要从对象代码中的基于寄存器的指令获得的窗口化的对象寄存器引 用中所保存的数据值的溢出;编码器单元被布置为产生由目标处理器执行的目标代码,以便将数据值从堆栈数据结构中的条目复制到存储器中的仿真的执行堆栈上所分配的相应 条目,其中,所述条目位于由计数器确定的数量的帧中;编码器单元被布置为产生由目标处理器执行的目标代码,以便将计数器重设为默认值,该默认值指示在堆栈数据结构中不存在有效的条目的帧;编码器单元被布置为产生由目标处理器执行的目标代码,以便对存储器中的仿真的执行堆栈中的条目中所存储的数据值进行寻址。14、 根据权利要求13所述的计算系统,其中解码器单元还被布置为识别对象代码中的FILL类型指令,该FILL类型指令需要存储器中的仿真的执行堆栈中的条目中所存储的数据值的载入;编码器单元被布置为产生由目标处理器执行的目标代码,以便相对于默认值测试计数器,并且i) 当计数器的测试显示堆栈数据结构中存在一个或多个有效的条目的帧 时,根据识别出的FILL指令更新计数器,ii) 当计数器的测试显示堆栈数据结构上不存在较早的有效的条目的帧 时,将数据值从存储器中的仿真的执行堆栈的条目的帧复制到存储器中的堆 栈数据结构,作为堆栈数据结构中的当前的条目的帧。15、...
【专利技术属性】
技术研发人员:亚历山大巴拉克劳布朗,
申请(专利权)人:特兰斯蒂有限公司,
类型:发明
国别省市:GB[英国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。