发明名称 供执行不同指令集之方法以使一处理器以未见于各种作业系统技术、提升良好之程式实施及未见于现有之软体惯例
摘要 一种用于执行不同指令集的方法,其使得处理器可执行不同的资料型式运算,该方法为不同之作业系统中不可见者,此方法可提升良好的程式实例,且为现存软体惯例中不可见者。依据本发明之一特征,资料处理装置执行第一指令型式之指令集,而可至少逻辑性地在软体上显示如一单一逻辑暂存器档。当资料处理装置正执行第一指令集时,显示单一逻辑暂存器档之操作如同一平坦(flat)之暂存器档。此外,资料处理装置使用逻辑暂存器档执行第二指令型式的第一指令。然而,当资料处理装置正执行第一指令时,显示逻辑暂存器档之操作如同一堆叠(stack)参考暂存器档。而且,有时候在开始第一指令集执行及完成第一指令之执行之间,资料处理装置改变在标签组中所有标签成为非空状态,该标签组对应单一逻辑暂存器档。该标签辨识在逻辑暂存器档中的暂存器为空或非空状态。
申请公布号 TW345649 申请公布日期 1998.11.21
申请号 TW086103614 申请日期 1997.03.21
申请人 英特尔公司 发明人 小鹫英一;卡洛杜隆;安德鲁F.葛利;米丽德米托;亚历山大D.派莱;班尼.艾坦;赖瑞M.曼尼米尔
分类号 G06F9/06 主分类号 G06F9/06
代理机构 代理人 陈长文 台北巿敦化北路二○一号七楼
主权项 1.一种在资料处理装置中执行指令的方法,该方法包含下列步骤:执行第一指令型式的指令集,至少逻辑性地在软体上显示如一逻辑暂存器档,其中该逻辑暂存器档系运作如同一执行该第一指令型式的平坦(flat)暂存器档;执行第二指令型式的第一指令,至少在软体上显示如一逻辑暂存器档,其中当执行该第一指令时,该逻辑暂存器档运作如一堆叠(stack)的参考暂存器档;及有时候在开始执行该第一指令型式之步骤来完成执行该第二指令型式之第一指令之间,在一组对应该单一逻辑暂存器档的标签中改变所有的标签成为非空状态,且其中该标签组辨识在该单一逻辑暂存器档中的暂存器为空或非空状态。2.根据申请专利范围第1项之方法,其中在该标签组中执行改变所有标签的步骤,以回应该第一指令集的执行。3.根据申请专利范围第1项之方法,其中在该标签组中执行改变所有标签的步骤,以回应该在第一指令集中意图执行第一指令的操作。4.根据申请专利范围第1项之方法,其中在执行该第一指令集及执行该第二指令型式之第一指令的步骤之间在该标签组中执行改变所有标签的步骤。5.根据申请专利范围第1项之方法,其中在该标签组中执行改变所有标签的步骤,以回应在第一指令集中意图执行第一指令的操作。6.根据申请专利范围第1项之方法,更包含下列步骤:有时候在开始执行第一指令型式之步骤及完成执行该第二指令型式之第一指令之间改变一堆叠指示的顶部成为一初始値,其中该堆叠指示的顶部辨识在该单一逻辑暂存器档中的一暂存器作为现在堆叠暂存器的顶部。7.根据申请专利范围第1项之方法,更包含下列步骤:有时候在开始执行第一指令型式之步骤及完成执行该第二指令型式之第一指令之间,于执行该第一指令集的步骤期间,在写入之该单一逻辑暂存器档中的各暂存器之符号及指数(exponent)栏位中,写入一数値,该数値即不是一数字,也非一无限数。8.根据申请专利范围第1项之方法,其中在该标签组中之各标签对应该单一逻辑暂存器档中一不同的暂存器,且辨识该对应的暂存器为空或非空状态。9.根据申请专利范围第1项之方法,其中执行该第一指令型式之第一指令的步骤更包含下列步骤:将包含在该单一逻辑暂存器档中的资料复制于一记忆体中。10.根据申请专利范围第1项之方法,其中在该标签组中执行改变所有标签的步骤以回应在该第一指令集中执行各指令的步骤。11.根据申请专利范围第1项之方法,其中执行第一指令集的步骤更包含执行包封运算的步骤。12.根据申请专利范围第1项之方法,其中执行第一指令集的步骤更包含执行包封整数运算的步骤。13.根据中请专利范围第1项之方法,其中执行第一指令集的步骤更包含执行包封浮点运算的步骤。14.根据申请专利范围第1项之方法,其中该第二指令型式为可执行浮点运算的指令。15.根据申请专利范围第1项之方法,其中该第二指令型式为可执行纯量运算的指令。16.根据申请专利范围第1项之方法,其中该第二指令型式为可执行包封运算的指令。17.一种在一资料处理装置中执行指令的方法,该方法包含下列步骤:执行一包封资料指令集及一浮点指令集,至少逻辑性地在软体上显示为一单一逻辑暂存器档,化名该逻辑暂存器档中至少一部份,其中在该浮点指令集执行之前执行该包封资料指令集;以及有时候在意图执行第一包封资料指令集及完成该浮点指令集中第一指令之间在对应该单一逻辑暂存器档之标签组中改变所有的标签,且其中该标签组辨识在该逻辑暂存器档中的暂存器为空或非空状态。18.根据申请专利范围第17项之方法,其中该执行之步骤包含下列步骤:在该单一逻辑暂存器档上执行该包封资料指令集作为一固定暂存器档;以及在该单一逻辑暂存器档上执行该浮点指令集作为一堆叠参考暂存器档。19.根据申请专利范围第17项之方法,其中该执行的步骤包含下列步骤:执行该包封资料指令集以执行包封之整数运算;及执行该浮点指令集以执行纯量浮点运算。20.根据申请专利范围第17项之方法,其中执行的步骤包含下列步骤:执行该包封资料指令集以执行包封之浮点运算;及执行浮点指令集以执行纯量浮点运算。21.一种当执行纯量及包封资料指令时在一资料处理装置中用于配置部份文脉切换的方法,包含下列步骤:接收属于第一规程(routine)的指令,该第一规程为该纯量或包封资料指令中之一项;当一用于执行纯量及包封资料指令的单一逻辑暂存器档由于部份文脉切换的关系而不可用时,决定何者至少可逻辑性地在软体上显示;以及如果该单一逻辑暂存器档不可用,则执行下例步骤:中断该第一规程的执行;以及执行第二规程以将该单一逻辑暂存器档的内容复制入一记忆体中;否则,执行该单一逻辑暂存器档上的指令。22.根据申请专利范围第21项之方法,更包含下列步骤:决定一纯量模拟指示是否为一模拟状态;如果该纯量模拟指示系在模拟状态中,则执行下列步骤:中断该第一规程之执行;如果该指令为该纯量指令中的一指令,则执行该第二规程;以及否则,该指令为该包封资料指令中的一指令,且执行第三规程,而非第二规程。23.根据申请专利范围第21项之方法,其中执行该指令的步骤更包含下列步骤:如果该指令为该包封资料指令中的一指令,则执行下列步骤:决定该指令是否使得一包封资料写入该单一逻辑暂存器档中;如果该指令使得该包封资料项写入该单一逻辑暂存器档中,则执行下列步骤:在该单一逻辑暂存器档之暂存器的底数(mantissa)栏位中写入包封资料项;及在该暂存器的符号栏位及指数栏位中写入一不为数字或无限制的一数値。24.根据申请专利范围第21项之方法,其中执行该指令的步骤更包含下列步骤:如果该指令为该包封资料指令的迁移指令时,则改变标签组中的各标签使成为空状态,其中在该标签组中的各标签对应单一逻辑暂存器档中不同的暂存器,且辨识该对应暂存器是否为空或非空状态;如果该指令不为该迁移指令,而是该包封资料指令中的一指令时,且改变该标签组使成非空状态。25.根据申请专利范围第21项之方法,其中执行该指令的步骤更包含下列步骤:如果该指令为该纯量指令中的一指令,则执行下列步骤:如果该包封资料指令中的一迁移包封之执行比纯量包封中的包封较近或比该包封资料指令中其他指令还近则改变标签组成为非空状态,其中在该标签中的各标签对应该单一逻辑暂存器档中不同的暂存器,且辨识该对应暂存器为空或非空状态;以及如果该包封资料指令中之一指令的执行比该纯量指令中一指令的执行还近或比该迁移指令还要接近则改变该标签组成为空状态。26.根据申请专利范围第21项之方法,其中执行该指令的步骤包含下列步骤:如果该指令为该包封资料指令中之一指令,且如果该纯量指令中之一指令的执行比该包封资料指令中一指令的执行还近,则改变一标签组使成为非空状态,其中在该标签组中的各标签对应该单一逻辑暂存器档中不同的暂存器,且辨识该对应的暂存器为空或非空状态;以及如果该指令该包封资料指令中的迁移指令,则改变该标签组使成为一空步骤。27.根据申请专利范围第21项之方法,其中执行该指令的步骤包含下列步骤:如果该指令为该包封资料指令中的一指令,则改变堆叠指示的顶部使成为一初始値。28.根据申请专利范围第21项之方法,其中执行该指令的步骤包含下列步骤:如果该指令为该纯量指令中之一指令,且如果该包封资料指令中之一指令的执行比该纯量指令中之一指令还要近,则改变堆叠指示的顶部使成为一初始値。29.根据申请专利范围第21项之方法,其中执行该指令的步骤包含下列步骤:如果该指令为该包封资料整数之一指令,且如果该纯量指令中之一指令比执行比该包封资料指令中一指令还要近,则改变该堆叠指示的停止区为初始値。30.根据申请专利范围第21项之方法,其中该纯量指令用于执行纯量浮点运算,且该包封资料指令集资料指令用于执行包封资料指令集整数运算。31.根据申请专利范围第21项之方法,其中该纯量指令用于执行纯量浮点运算,且该包封资料指令用于执行包封浮点运算。32.一种在一资料处理装置中执行纯量及包封资料指令的方法包含下列步骤:接收一为包封资料指令为或纯量指令的指令;决定一指令指示纯量指令之执行可加以模拟及/或当一用于执行纯量及包封资料指令之单一逻辑暂存器档由于部份文脉切换为不可用时何者至少逻辑性显示予软体;如果该指令为纯量指令,且如果该单一逻辑暂存器档不可用或纯量指令的执行可模拟的话,则执行第一规程;以及否则,该指令为包封资料指令,且如果该单一逻辑暂存器档不可用,则执行该第一规程,但如果纯量指令的执行可模拟的话,则执行第二规程,而非第一规程。33.根据申请专利范围第32项之方法,其中该纯量指令用于执行纯量浮点运算,且该包封资料指令用于执行包封整数运算。34.根据申请专利范围第32项之方法,其中该纯量运算用于执行纯量浮点运算,且该包封资料指令用于执行包封浮点运算。35.一种在一资料处理装置中,用于执行包封资料指令之方法包含下列步骤:接收一包封资料指令,该指令对应包封资料项写入,而至少逻辑性地显示予软体作为一逻辑暂存器档中的暂存器,该逻辑暂存器档已用于节省浮点资料;将该包封资料项写入该逻辑暂存器中的底数栏位;以及在该逻辑包封的符号及指数栏中写入一不为一数或无限数的数値。图式简单说明:第一图显示一组图表,其说明一使用Pentium处理器的模范电脑系统;第二图是一流程图说明Pentium处理器执行指令;第三图A是功能图说明封包资料状态及浮点状态之分别根据此一发明之实施例;第三图B及第三图C举例说明关于逻辑浮点暂存器之自然浮点与封包资料暂存器之对映;第三图D说明包括封包资料及浮点指令集之执行流程;第四图A之流程图说明一执行浮点及封包资料指令集之方法就,某种意义而言,此方法能与现行软体共存,非不同作业系统技术所能见,且根据本发明之实施例方法能提升更有效率之程式技术;第四图B是一流程图说明第四图A未提及的其它方法;第五图显示一组图根据本发明之一实施例说明一模范电脑系统。第六图A是一组图根据本发明之一实施例,说明一在浮点状态使用二种自然暂存档之封包资料暂存状态之装置;第六图B是一组图根据本发明之一实施例说明有关于第六图A之一部份浮点堆叠参考档之扩展表现;第七图A是一流程图说明一方法,与本发明之一实施例一致,在一套化名的浮点暂存器之中执行封包资料指令集,就某种意义而言此方法与现行软体共存,非不同作业系统技术所能见,且此方法能提升良好之程式练习,且或许可用第六图A之硬体排列练习;第七图B是一流程图说明部份第七图A所提到之另一方法;第七图C是一流程图说明部份第七图A及第七图B未提及之方法;第八图是一流程图根据本发明之一实施例说明一自第七图C执行第734步骤之方法;第九图是一流程图根据本发明之一实施例说明一自第七图B执行第728步骤之方法;第十图是一组图根据本发明之一实施例,透过一在浮点状态使用一单一暂存档化名封包资料状态之装置说明一资料流程;第十一图A举例一部份的方法,根据其它发明的实施例,用来执行封包资料且浮点指令集在一单一化名暂存档就某些方面来说是且现存之软体相容,那是不同的作业系统技术所无法见的,此技术提供良好的程式练习,且可能藉由第十图硬体之安排而练习;第十一图B是一流程图举例说明部份第十一图A所提及之另一方法;第十一图C是一流程图举例说明部份第十一图A及第十一图B来提及之另一方法;第十二图A举例说明浮点储存格式根据发明的实施例,本发明参考到第十图所述;第十二图B举例说明封包资料储存格式,系根据本发明的实施例参考第十图所述;第十二图C举例说明整数资料储存格式,根据本发明的实施例,参考第十图所述根据本发明的实施例;第十三图举例一方法从第十一图B执行步骤1138,当参考图第十二图A,第十二图B且第十二图C执行被叙述的储存格式;第十四图举例说明了一流程图方法作为清除标签依据本发明之实施例;第十五图A说明包括封包资料且浮点指令集之执行流程说明时间的分隔介于那个被化名的分开的实质暂存档之中可能被更新;以及第十五图B说明另外一包含封包资料且浮点指令集的执行流程说明时间的分隔介于那个分开的实质暂存档中可能被更新。
地址 美国