发明名称 具有由于运算元相依性而减少之暂停的方法及资料处理器
摘要
申请公布号 TWI343543 申请公布日期 2011.06.11
申请号 TW093116095 申请日期 2004.06.04
申请人 高级微装置公司 发明人 可默 史帝夫 查尔斯
分类号 G06F9/38 主分类号 G06F9/38
代理机构 代理人 洪武雄 台北市中正区博爱路35号9楼;陈昭诚 台北市中正区博爱路35号9楼
主权项 一种用于具有管线化执行单元的资料处理器之方法,该方法包括下列步骤:决定第一指令是否系指令类别中之一者,该指令类别包括:储存在运算元暂存器中的第一运算元与具有为0的值的第二运算元之间的加法指令,其中,该加法指令的结果将储存在目的地暂存器内;以及储存在该运算元暂存器中的该第一运算元与具有为1的值的第三运算元之间的乘法指令,其中,该乘法指令的结果将储存在该目的地暂存器内;在该第一指令的执行完成之前,接收要参照该目的地暂存器之第二指令;以及回应于该第一指令系该指令的类别中之一者的决定,使用该运算元暂存器取代该目的地暂存器而执行该第二指令。如申请专利范围第1项之方法,进一步包括下列步骤:使该运算元暂存器与在该执行步骤之前即与该目的地暂存器先前相关联的该第二指令之运算元暂存器识别码相关联。如申请专利范围第2项之方法,其中,该相关联步骤包括下列步骤:将该目的地暂存器的暂存器识别码储存在改向暂存器的相符栏位中;以及将该运算元暂存器的暂存器识别码储存在该改向暂存器的替换栏位中。如申请专利范围第3项之方法,其中,该执行步骤包括下列步骤:将该第二指令的运算元暂存器识别码与该相符栏位的内容比较,以便提供相符信号;回应该相符栏位的内容,将该替换栏位的内容替换该运算元暂存器之该运算元暂存器识别码,以便提供新的暂存器识别码;以及使用该新的暂存器识别码来执行该第二指令。一种用于具有管线化执行单元的资料处理器之方法,该方法包括下列步骤:决定第一指令是否系指令类别中之一者,该指令类别包括:储存在运算元暂存器中的第一运算元与具有为0的值的第二运算元之间的加法指令,其中,该加法指令的结果将储存在目的地暂存器内;以及储存在该运算元暂存器中的该第一运算元与具有为1的值的第三运算元之间的乘法指令,其中,该乘法指令的结果将储存在该目的地暂存器内;如果该第一指令是该指令类别中之一者,则将与该目的地暂存器相关联的目的地暂存器识别码储存在改向暂存器的相符栏位中,将与该运算元暂存器相关联的运算元暂存器识别码储存在该改向暂存器的替换栏位中,并将有效位元储存在该改向暂存器的有效栏位中;在该第一指令的执行完成之前,接收第二指令;当该有效位元是处于预定的逻辑状态时,将该第二指令的第一运算元暂存器识别码与该相符栏位的内容比较;以及如果该第一运算元暂存器识别码与该相符栏位的内容相符,则在不使该管线化执行单元中之该第二指令停顿的情形下,使用由该替换栏位指示的暂存器之内容来执行该第二指令。如申请专利范围第5项之方法,进一步包括下列步骤:如果该第一指令是该指令类别中之一者,则进一步将该第一指令的正负号位元储存在该改向暂存器的正负号栏位中;以及回应该改向暂存器的该正负号位元,而选择性地改变该第二指令的执行结果之正负号位元。如申请专利范围第5项之方法,进一步包括下列步骤:当该有效位元是处于该预定的逻辑状态时,将该第二指令的第二运算元暂存器识别码与该相符栏位的内容比较;以及如果该第一运算元暂存器识别码或该第二运算元暂存器识别码与该相符栏位的内容相符,则在不使该管线化执行单元中之该第二指令停顿的情形下,使用由该替换栏位指示的该暂存器之内容来执行该第二指令。如申请专利范围第5项之方法,其中,该决定步骤进一步包括下列步骤:侦测该第三运算元的分数栏位具有为0的值;以及侦测该第三运算元的指数栏位具有最大值。如申请专利范围第5项之方法,其中,该执行步骤包括下列步骤:如果该第二指令的该第一运算元暂存器识别码与其中包含该第一指令的复数个先前指令中之任何一指令的目的地暂存器识别码相符,则侦测正常的管线相依性;以及如果该第二指令的该第一运算元暂存器识别码与该相符栏位的内容相符,则藉由不理会该正常的管线相依性,而以不停顿之方式执行该执行步骤。一种资料处理器,包括:发出逻辑电路,该发出逻辑电路具有输出,用以循序提供第一及第二指令,每一指令具有至少运算码、第一运算元的第一运算元暂存器识别码、以及目的地暂存器的目的地暂存器识别码;暂存器档,该暂存器档具有包含读取位址输入及读取资料输出之读取埠、以及写入埠;管线化执行单元,该管线化执行单元具有耦合到该发出逻辑电路的该输出之第一输入、耦合到该暂存器档的该读取资料输出之第二输入、以及耦合到该暂存器档的该写入埠之输出;以及改向逻辑电路(redirect logic circuit),该改向逻辑电路具有耦合到该发出逻辑电路的该输出之第一输入、耦合到该暂存器档的该读取资料输出之第二输入、以及耦合到该暂存器档的该读取位址输入之输出,该输出系用来将该第一指令的该第一运算元暂存器识别码来选择性替换该第二指令的该第一运算元暂存器识别码,其中,如果该改向逻辑电路决定由于该第一指令的执行结果而使该第一指令的该目的地暂存器将存有该第一指令的该第一运算元暂存器之内容,则该改向逻辑电路以该第一指令的该第一运算元暂存器识别码替换该第二指令的该第一运算元暂存器识别码,且其中,该改向逻辑电路进一步包括:具有输出端的改向侦测逻辑电路;耦合到该发出逻辑电路的该输出且与该管线化执行单元的阶段相关联之第一改向暂存器,该第一改向暂存器至少具有耦合到该改向侦测逻辑电路的该输出端之有效栏位、用来接收该目的地暂存器识别码之相符栏位、以及用来接收在该第一运算元暂存器识别码及第二运算元暂存器识别码中所选择的一识别码之替换栏位;第一比较器,该第一比较器具有用来接收该第二指令的该第一运算元暂存器识别码之第一输入端、耦合到该第一改向暂存器的该相符栏位之第二输入端、耦合到该第一改向暂存器的该有效栏位之控制输入端、以及输出端;以及第一多工器,该第一多工器具有用来接收该第一运算元暂存器识别码之第一输入端、耦合到该第一改向暂存器的该替换栏位之第二输入端、耦合到该第一比较器的该输出端之控制输入端、以及用来将新的暂存器识别码提供给该第二指令的该第一运算元之输出端。如申请专利范围第10项之资料处理器,其中,该改向逻辑电路进一步包括:第二改向暂存器,该第二改向暂存器具有被耦合到该第一改向暂存器的输出端之输入端,且具有有效栏位、相符栏位、以及耦合到于该第一改向暂存器中之对应的栏位之替换栏位;以及第二比较器,该第二比较器具有用来接收该第二指令的该第一运算元暂存器识别码之第一输入端、耦合到该第二改向暂存器的该相符栏位之第二输入端、耦合到该第二改向暂存器的该有效栏位之控制输入端、以及输出端;其中,该第一多工器进一步具有耦合到该第二改向暂存器的该替换栏位之第三输入端、以及耦合到该第二比较器的该输出端之第二控制输入端,其中,在该第一及第二比较器的该等输出端上之信号有相依性时,该第一多工器将该第二指令的该第一运算元之该新的暂存器识别码提供给该输出端。如申请专利范围第10项之资料处理器,其中,该改向逻辑电路进一步包括:第三比较器,该第三比较器具有用来接收该第二指令的该第二运算元暂存器识别码之第一输入端、耦合到该第一改向暂存器的该相符栏位之第二输入端、耦合到该第一改向暂存器的该有效栏位之控制输入端、以及输出端;以及第二多工器,该第二多工器具有用来接收该第二运算元暂存器识别码之第一输入端、耦合到该第一改向暂存器的该替换栏位之第二输入端、耦合到该第三比较器的该输出端之控制输入端、以及用来将新的暂存器识别码提供给该第二指令的第二运算元之输出端。如申请专利范围第12项之资料处理器,其中,该改向逻辑电路进一步包括:第二改向暂存器,该第二改向暂存器具有耦合到该第一改向暂存器的该输出端之输入端,且具有有效栏位、相符栏位、以及耦合到在该第一改向暂存器中之对应的栏位之替换栏位;以及第四比较器,该第四比较器具有用来接收该第二指令的该第二运算元暂存器识别码之第一输入端、耦合到该第二改向暂存器的该相符栏位之第二输入端、耦合到该第二改向暂存器的该有效栏位之控制输入端、以及输出端;其中,该第二多工器进一步具有耦合到该第二改向暂存器的该替换栏位之第三输入端、以及耦合到该第四比较器的该输出端之第二控制输入端,其中,在该第三及第四比较器的该等输出端上之信号有相依性时,该第二多工器将该第二指令的该第二运算元之该新的暂存器识别码提供给该输出端。如申请专利范围第10项之资料处理器,其中,该管线化执行单元的第二输入系经由旁通电路而耦合到该暂存器档的该读取资料输出,该管线化执行单元的该输出系经由该旁通电路而耦合到该暂存器档的该写入埠,且该改向逻辑电路的该第二输入系经由该旁通电路而耦合到该暂存器档的该读取资料输出。如申请专利范围第10项之资料处理器,其中,该指令进一步包含第二运算元的第二运算元暂存器识别码。
地址 美国