[发明专利]计算机处理器的模拟无效
申请号: | 98808090.7 | 申请日: | 1998-06-12 |
公开(公告)号: | CN1266513A | 公开(公告)日: | 2000-09-13 |
发明(设计)人: | S·斯科拜 | 申请(专利权)人: | 艾利森电话股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 王勇,李亚非 |
地址: | 瑞典斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算机 处理器 模拟 | ||
本发明涉及在为所模拟计算机系统的处理器准备的程序指令的模拟计算机系统处理器上的模拟或仿真。
计算机系统有处理器,处理器识别和执行编码指令例如软件,以执行操作并由此获得所需的结果和/或输出。编码指令如果要由任何特定处理器执行,则必须被解释或可用其它方式还原为属于该处理器特有的预定指令集的指令符号。
不同类型的处理器会(通常确实)具有不同的指令集。不过,经常要将为某第一种类型处理器(本文称之为目标处理器)准备或编写的指令在某第二种类型的处理器(本文称之为宿主处理器)上执行。就是说,有些情形可能要求将按目标处理器的指令集编码的指令在宿主处理器上执行—尽管宿主处理器使用与目标处理器的不同的指令集。例如,在例如为了测试为目标处理器编写的软件而有必要或需要让宿主处理器模拟或仿真目标处理器时,就会发生这种情形。
当宿主处理器用于模拟某目标处理器时,宿主处理器将为目标处理器编写的软件(即目标指令)存储在存储器中。宿主处理器执行模拟程序,模拟程序包括一个翻译过程和一个所翻译的指令的执行过程。就翻译过程来说,模拟程序解码每个目标指令,以确定其类型(例如“加寄存器”指令、“移动”指令,等等)。对于翻译过程,宿主处理器能在存储器中的其它地方访问翻译代码。翻译代码是按宿主处理器的指令集编写的。对于每个类型的目标指令,翻译代码包括一系列使宿主处理器能生成仿真代码的宿主指令(按照宿主指令集)。仿真代码使宿主处理器能执行等同于目标指令所要求的操作。
在诸如以上总结的模拟/仿真情形中,已知要使用一个跳转表。实质上,跳转表在生成对应于目标指令的仿真代码的翻译代码中含有指向宿主指令系列的指针。就是说,当仿真程序解码目标指令以确定其类型时,对于该特定目标指令类型,跳转表有一个指向按宿主指令集生成仿真代码的特定翻译代码的指针。跳转表的描述例如可见MacGregor=s国际专利申请PCT/GB87/00202-软件仿真装置(Arrangement for Software Emu1ation)。
跳转表会插入延迟和提高存储器要求。相应地,现有技术中描述了如何避免跳转表。例如参看Davidian=s国际专利申请PCT/US94/03911-解码宿主计算机的客人指令的方法(Methods forDecoding Guest Instructions for A Host Computer),该专利在直接访问仿真程序中的指令的基础上解码客人指令。
模拟和仿真在建模诸如电信工业中所采用的那些复杂处理系统时特别重要。这种处理系统一般有一个执行代码程序块的指令处理器。代码程序块存储在称为程序存储器的存储器中。指令处理器还必须能处理信号。本文中所用的“信号”是指从一个代码程序块向另一个代码程序块发送的消息。信号包含信号首部和信号体。信号首部包括发送程序块和接收程序块的标识符,以及信号编号或类型。信号体包括接收程序块在执行该信号时所要使用的数据。
如果要将上面段落中所述的处理系统看成宿主处理器上仿真用的目标处理器,就需要有一种高效的方法来翻译代码程序块和信号。此外,要是该目标处理器采用的是非统一指令长度的指令集,则向跳转表位置配置目标指令就会有问题。
因此,所需要的、即本发明的目的是,一种高效、紧凑并能处理信号和非统一长度的目标指令的仿真/模拟系统。
一种指令仿真系统将目标指令翻译成供宿主处理器执行的仿真指令。一个跳转表有指针项,指针项用于针对目标指令的每个不同类型,为生成宿主处理器可执行的仿真指令而在翻译指令存储器中定位翻译指令集。
在一个实施例中,跳转表中的每个指针项都有一个不大于最短目标指令长度的长度项,由此使跳转表能处理非统一指令长度的目标指令。
在另一个实施例中,目标指令包含目标指令程序块,包括信号处理目标指令,跳转表增加了一个跳转表影子存储器。跳转表影子存储器有多个跳转表影子表,每个跳转表影子表与具有信号处理目标指令的多个程序块之一配对。每个跳转表影子表有一份跳转表项的副本—跳转表项与跳转表项表所配对的包括信号处理目标指令的程序块所关联。在编译指定的目标指令程序块时,宿主处理器编译一部分跳转表,这部分跳转表对应于指定的程序块和由指定程序块所生成信号调用的任何其它程序块的跳转表影子表。
在另一个实施例中,跳转表存储器被划分成分段,与目标指令存储器中存储的各程序块对应。跳转表存储器中选定的分段按照某个近期使用标准被解压缩,未选定的分段被压缩。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于艾利森电话股份有限公司,未经艾利森电话股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/98808090.7/2.html,转载请声明来源钻瓜专利网。