发明名称 堆叠运算元于暂存器中之储存
摘要 一种资料处理设备(102)包括一处理器核心(104)其具有一暂存器库(106)。该暂存器库(106)包括一组暂存器其被用来储存堆叠运算元。来自于一第二指令组之指定堆叠运算元的指令被一指令转码(108)转码为一第一指令组(或与该等指令相对应的控制讯号)其指定堆叠运算元。这些被转码的指令然后被该处理器核心(104)执行。该指令转码器(108)具有多个图映阶段用来控制那些暂存器对应该堆叠中的那些堆叠运算元。图映阶段间的改变系依据被添加至该组暂存器或从该组暂存器被移出的堆叠运算元被实施的。
申请公布号 TWI236616 申请公布日期 2005.07.21
申请号 TW090123665 申请日期 2001.09.25
申请人 ARM股份有限公司 发明人 爱德华寇斯倪维尔;安得鲁克里斯朶夫罗斯
分类号 G06F9/00 主分类号 G06F9/00
代理机构 代理人 蔡坤财 台北市中山区松江路148号12楼
主权项 1.一种资料处理设备,该设备至少包含:(i)一处理器核心,其具有一包含了多个暂存器的暂存器库且其可被操作用以根据被一第一指令组的指令所指定之存放在该等暂存器内的暂存器运算元来执行操作;及(ii)一可操作的指令转码器,用来将一第二指令组转码为对应于该第一指令组的指令之转码器输出讯号,该第二指令组的指令指出将依据存放在一堆叠内的堆叠运算元而被执行的操作;其中(iii)该指令转码器可橾作的用以在该暂存器库内定出一组暂存器来存放来自于该堆叠的一部分的堆叠运算元;(iv)该指令转码器具有多个图映状态,其中该组暂存器内的不同暂存器存放来自于该堆叠部分内的不同部分的堆叠运算元;及(v)该指令转码器是可操作的用以依据添加或移除存放在该组暂存器内的堆叠运算元的操作而改变于该等图映状态间,其中该指令转码器使用多个指令型板(template)将来自于第二指令组的指令转码为来自于第一指令组的指令,及一来自于第二指令组之包括一或多个堆叠运算元的指令具有一包含一或多个来自于第一指令组的指令之指令型板,其中该等暂存器运算元依据该指令转码器之一目前采用的图映状态被图映至该等堆叠运算元。2.如申请专利范围第1项所述之设备,其中该等转码器输出讯号包括形成该第一指令组的一指令的讯号。3.如申请专利范围第1或2项所述之设备,其中该等转码器输出讯号包括控制该处理器核心的操作之控制讯号及对该第一指令组的指令解码时所产生的匹配控制讯号。4.如申请专利范围第1项所述之设备,其中该等转码器输出讯号包括控制该处理器核心的操作之控制讯号及指定未被在解码该第一指令组的指令时产生的控制讯号所指定的参数。5.如前述申请专利范围第1项所述之设备,其中该指令转码器提供图映状态使得堆叠运算元被添加至该组暂存器或从该组暂存器中被移出而无需将堆叠运算元移动于该组暂存器内的暂存器之间。6.如前述申请专利范围第1项所述之设备,其中该组暂存器是可操作的用以存放来自于该堆叠的一上部的堆叠运算元,其包括来自于该堆叠内的一最上面一个置置的最上面一个堆叠运算元。7.如前述申请专利范围第1项所述之设备,其中该堆叠更包含多个可定址的记忆体位置其可存放堆叠运算元。8.如申请专利范围第7项所述之设备,其中该等堆叠运算元可从该组暂存器溢流出来到该等可定址的记忆体位置中。9.如申请专利范围第7或8项所述之设备,其中存放在该等可定址的记忆体位置中之堆叠运算元在使用之前即被载入该组暂存器内。10.如前述申请专利范围第1项所述之设备,其中该指令转码器包含一或多个以下所列者:(i)硬体转码逻辑;(ii)控制一电脑设备之指令转码程式码;(iii)控制一电脑设备之指令编译(compile)程式码;及(iv)硬体编译逻辑。11.如前述申请专利范围第1项所述之设备,其中该指令转码器包括一第一组状态位元,其显示存放在该组暂存器内的堆叠运算元的数目。12.如前述申请专利范围第6项所述之设备,其中该指令转码器包括一第二组状态位元,其显示该组暂存器中的那一个暂存器存放该最上面一个堆叠暂存器。13.如前述申请专利范围第1项所述之设备,其中该第二指令组为Java Virtual Machine指令组。14.一种使用一处理器核心的资料处理方法,该处理器核心具有一包含了多个暂存器的暂存器库且其可被操作用以根据被一第一指令组的指令所指定之存放在该等暂存器内的暂存器运算元来执行操作,该方法包含的步骤为:(i)将一第二指令组转码为对应于该第一指令组的指令之转码器输出讯号,该第二指令组的指令指出将依据存放在一堆叠内的堆叠运算元而被执行的操作;(ii)在该暂存器库内定出一组暂存器来存放来自于该堆叠的一部分的堆叠运算元;(iii)采用该等图状态中的一种,其中该组暂存器内的不同暂存器存放来自于该堆叠部分内的不同部分的堆叠运算元,其中来自包含一或多堆叠运算元的该第二指令组之一指令具有一指令型板,其包含一或多来自该第一指令组之指令,其中该等暂存器运算元依据该指令转码器之一目前采用的图映状态被图映至该等堆叠运算元;及(iv)依据添加或移除存放在该组暂存器内的堆叠运算元的操作而改变于该等多数图映状态间。15.一种内含电脑可执行指令之电脑可读取之纪录媒体,其系用于控制一电脑以实施一种使用一处理器核心的资料处理方法,该处理器核心具有一包含了多个暂存器的暂存器库且其可被操作用以根据被一第一指令组的指令所指定之存放在该等暂存器内的暂存器运算元来执行操作,该方法包含的步骤为:(i)将一第二指令组转码为对应于该第一指令组的指令之转码器输出讯号,该第二指令组的指令指出将依据存放在一堆叠内的堆叠运算元而被执行的操作;(ii)在该暂存器库内定出一组暂存器来存放来自于该堆叠的一部分的堆叠运算元;(iii)采用该等图状态中的一种,其中该组暂存器内的不同暂存器存放来自于该堆叠部分内的不同部分的堆叠运算元,其中来自包含一或多堆叠运算元的该第二指令组之一指令具有一指令型板,其包含一或多来自该第一指令组之指令,其中该等暂存器运算元依据该指令转码器之一目前采用的图映状态被图映至该等堆叠运算元;及(iv)依据添加或移除存放在该组暂存器内的堆叠运算元的操作而改变于该等多数图映状态间。图式简单说明:第1及2图示意地显示举例性的指令管线架构;第3图更详细地显示一撷取阶段架构;第4图示意地显示在撷取阶段中从被缓冲的指令字组读取不定长度非本族指令;第5图示意地显示用来执行处理器核心本族指令及需要转码的指令的资料处理系统;第6图示意地显示举例性指令及阶段的一序列,堆叠运算元储存所用的暂存器的内容,图映阶段及需要转码的指令与本族指令之间的关系;第7图示意地显示一非本族指令的执行而成为一序列本族指令;第8图为一流程图,其显示该指令转码器是如何以保留被转码的指令的间断的方式来运作的;第9图示意地显示藉由使用硬体及软体技术将Java位元组码转码为ARM作业码;第10图示意地显示介于一硬体基础的转码器,一软体基础的间断器及软体基础的排程器之间的控制流路;第11及12图显示使用一以计时器基础的方式来控制排程作业的另一种方法;及第13图为一讯号图其显示第12图的电路的讯号控制作业。
地址 英国