发明名称 供可变长度指令用之一指令长度解码器
摘要 一用于对指令解码器提供输出长度标示的电路,其中该标示指出指令码的一区块中指令之第一位元组及最后位元组。一指令码区块输入输入缓冲器中。耦合多个可程式逻辑阵列(PLA),以从输入缓冲器中接收预定组的位元组,且在输出处提供指令资讯。PLA的输出耦合并快速移位链电路,其依序处理来自PLA的资讯,且当发现一指令的第一位元组时提供一START标示,而当发现一指令的最后位元组时,提供一END标示。对回卷逻辑提供长度资讯,用于延展至指令码之下一输入缓冲器的长度计算。一FCC锁存器存锁源至快速进位链电路之输出长度标示,且对指令解码器提输出。如果一长度变化字首及耦合长度变化操作码皆出现于一指令中,则在快速进位链中的处理不予执行,且启动慢速移位链中的处理,慢速进位链电路一次处理输入缓冲器子集中的资讯,因此需要多于一次的重
申请公布号 TW446150 申请公布日期 2001.07.11
申请号 TW087206699 申请日期 1995.06.15
申请人 英特尔公司 发明人 陈.W.李;盖瑞.L.布朗;阿德瑞安.L.卡比尼;艾希汪尼.库玛.盖塔
分类号 G06F9/30 主分类号 G06F9/30
代理机构 代理人 陈长文 台北巿敦化北路二○一号七楼
主权项 1.一种指令长度解码器,包含:多个解码电路,其决定供起始指令码输入串的每一位元组之指令长度资讯;一主要电路,其选择性地应用长度资讯,以提供输出与指令码输入串中之位置相关之长度标示,进而辨识指令之边界;以及第二电路,回应含有修订之指令长度的指令之侦测,可选择性地应用长度资讯,以输出长度标示,用于辨识指令间的边界。2.根据申请专利范围第1项之指令长度解码器,其中该输入串指令码来自一指示高速缓冲贮存器。3.根据申请专利范围第2项之指令长度解码器,其中该第二电路在此主要电路还要大的时间循环中完成执行之动作。4.一种在执行变化长度指令之电脑中的指令长度解码器,其接收指令码输入区块,该指令码包含有多个位元组形成一或多个指令,该一或多个指令皆含有一第一位元组及一最后位元组,指令长度解码电路用于在指令长度解码器(ILD)输出中提供与指令码输入区块之位置相关之输出长度标示,输出长度标示用于辨识一或多个指令之第一位元组及最后位元组,该指令长度解码电路包含:耦合之解码电路以接收来自指令码之输入区块的预定组位元组,该指令电路在解码电路输出中提供指令资讯;且耦合之第一长度标示电路,接收来自解码电路的指令资讯,第一长度标示电路在ILD输出处提供输出与指令码输入串中之位置相关之长度标示。5.根据申请专利范围第4项之指令长度解码器,更包含:一耦合至第一长度标示电路的第一锁存器,用于暂时保存输出长度标示,且随后在ILD输出处提供输出长度标示。6.根据申请专利范围第4项之指令长度解码器,其中源自解码电路的指令资讯包含长度资讯信号,且长度资讯信号为已解码之信号,其中一次只确定一信号。7.根据申请专利范围第4项之指令长度解码器,其中指令码的输入区块为指令高速缓冲贮存器所提供。8.根据申请专利范围第4项之指令长度解码器,其中解码电路电包含多个可程式逻辑阵列(PLA),而指令码输入区块的每一位元组对应至相对应的PLA。9.根据申请专利范围第4项之指令长度解码器,其中输出长度标示包含START标示,其指示一或多个指令中每一指令的第一位元组,及END标示,其指示一或多个指令中每一指令的最后位元组。10.根据申请专利范围第9项之指令长度解码器,其中一或多个指令皆包含为字首位元组所定义的第一部份,及为非字首位元组所定义的第二部份,且START标示及END标示定义一或多个指令中每一指令之第二部份的边界。11.根据申请专利范围第9项之指令长度解码器,其中解码电路更包含:耦合之字首电路,以接收来自指令码之输入区块,以侦测长度可变字首的出现,该长度可变字首视情况改变一指令之长度,字首电路在解码电路输出处提供字首侦测资讯,指令资讯包含字首侦测资讯;及耦合之操作码解码电路,由指令码区块接收输入,可侦测长度可变操作码之出现,当与一耦合长度变化字首成对时,其视状况改变指令之长度,操作码解码电路于解码电路输出处,提供操作码侦测资讯,该指令资讯包含字首侦测资讯。12.根据申请专利范围第11项之指令长度解码器,更包含:一耦合之第二长度标示电路,从解码电路中接收指令资讯,且于ILD输出处提供输出长度标示,该第二长度标示电路用于侦测与长度可变操作码成组的长度可变字首。13.一种流线处理,包含:在处理器预先取出管道阶段之一指令高速缓冲贮存器;在处理器之预先解码流线阶段的一指令长度解码器,其中预先解码流线阶段晚于处理器之预先取出流线阶段,指令长度解码器系被用以指示指令运算码在指令缓冲器之位置;在处理器之解码流线阶段之指令解码器,其中解码流线阶段晚于处理器之预先解码流线阶段,及其中该指令解码器系被用以在后续的解码流线阶段解码后续的指令运算码在指令缓冲器中之位置;及在处理器之转动流线阶段的转动器,其中转动流线阶段早于处理器之解码流线阶段。14.一种指令长度解码电路,在一执行变化长度指令的处理器中,一指令长度解码电路,其接收指令码之输入区块,该区块含多个形成一或多个指令的位元组,该一或多个位元组皆含一第一位元组及一最后位元组,指令长度解码电路在指令长度解码器(ILD)输出处提供输出长度标示,输出长度标示指示一或多个指令之第一位元组及最后位元,该指令长度解码电路包含:耦合之解码机构,从指令码的输入区块中接收预定组的位元组,解码机构在一解码机构的输出处提供指令资讯;及耦合之第一长度标示输出机构,从解码机构中接收指令资讯,第一长度标示机构在ILD输出处提供与输入区块中之位置相关之输出长度标示。15.根据申请专利范围第14项之指令长度解码电路,更包含:一第一锁存机构,耦合至第一长度标示输出机构,以暂时保存输出长度标示,且随后在ILD输出处提供输出长度标示。16.根据申请专利范围第14项之指令长度解码电路,其中源自解码机构的指令资讯包含长度资讯信号,且长度资讯信号为已解码之信号,其中一次只确认一信号。17.根据申请专利范围第14项之指令长度解码电路,其中指令码之输入区块为指令高速缓冲贮存器所提供。18.根据申请专利范围第14项之指令长度解码电路,其中解码机构包含多个可程式逻辑阵列(PLA),其含符合相对应之PLA的指令码输入区块之每一位元组。19.根据申请专利范围第14项之指令长度解码电路,其中输出长度标示含指示一或多个指令中每一指令第一位元组的START标示,及指示一或多个指令中每一指令最后位元组的END标示。20.根据申请专利范围第19项之指令长度解码电路,其中一或多个指令皆含第一部位,其为字首位元所定义,及第二部位,其为所有非字首位元所定义,START标示及END标示定义一或多个指令中每一指令之第二部位的边界。21.根据申请专利范围第19项之指令长度解码电路,其中解码机构更包含:耦合之字首侦测机构,以从指令码之区块中接收输入値,以接收指令长度依状况变化之长度可变字首的出现,字首侦测机构在解码机构输出处,提供字首侦测资讯,指令资讯包含字首侦测资讯;及耦合之操作码侦测机构,以接收源自指令码区块之输入,用于侦测长度可变操作码的出现,该长度可变操作码当与一耦合长度可变字首成组时,其视状况改变指令之长度,操作码侦测机构,于解码机构输出处提供操作码侦测资讯,该指令资讯包含字首侦测资讯。22.根据申请专利范围第21项之指令长度解码电路,更包含:耦合之第二长度标示输出机构,以从解码机构中接收指令资讯,且在ILD输出处提供输出长度标示,该第二长度标示输出机构,用于侦测与长度可变操作码成组的长度可变字首。23.一种执行可变长度指令之处理器,每一可变长度指令之长度系藉核对一给定指令中预定数目的起始位元组而决定,该处理器包括:一输入缓冲器,可接收能形成一或多个指令之多个位元组,该一或多个指令中每一个均具有一第一位元组及一最后位元组,该输入缓冲器接收指令码之一输入区块;多个可程式逻辑阵列(PLA),用以自该输入缓冲器之多个位元组中接收一个一或多个序列位元组,作为该多个PLA中每一个PLA之一输入,该多个PLA决定该输入缓冲器中每一位元组之指令资讯;快速进位链电路,用以在一指令长度解码输出处提供输出长度标示,该输出长度标示系因应该指令资讯而于一快速位位链电路中被产生,该输出长度标示于该指令长度解码器之输出处被输出。24.根据申请专利范围第23项之处理器,其中该快速进位链电路包括多个FCC单元,每一该FCC单元从该多个PLA中之一接收该指令资讯,并产生该输出长度标示。25.根据申请专利范围第24项之处理器,更包括慢速进位链电路,其具有SCC单元以于该指令长度解码器之输出提供长度标示,其中当每一该SCC单元被处理时,来自该一或多个PLA之指令资讯系被储存于一回卷逻辑中,以用来处理一随后的指令码之输入区块。26.一种在执行变化长度指令之电脑中的指令长度解码器,其接收指令码输入区块,该指令码包含有多个位元组形成一或多个指令,该一或多个指令皆含有一第一位元组及一最后位元组,指令长度解码电路用于在指令长度解码器(ILD)输出中提供输出长度标示,输出长度标示用于辨识一或多个指令之第一位元组及最后位元组,该指令长度解码电路包含:耦合之解码电路以接收来自指令码之输入区块的预定组位元组,该指令电路在解码电路输出中提供指令资讯;第一长度标示电路,被耦合以接收来自该解码电路之该指令资讯,该第一长度标示电路于该指令长度解码器输出中提供该输出长度标示;以及第二长度标示电路,被耦合以接收来自该解码电路之该指令资讯,以回应侦测到具有修正过之指令长度之一指令,及于该指令长度解码器输出中提供输出长度标示,其中该输出长度标示包括START标示,其指示一或多个指令中每一指令之第一位元组,及END标示,其指示一或多个指令中每一个指令之最后位元组,且其中该一或多个指令皆包含为字首位元组所定义的第一部份及为非字首位元组所定义的第二部份,且该START标示及END标示定义该一或多个指令中每一指令之第二部份的边界。27.一种在执行变化长度指令之电脑中的指令长度解码器,其接收指令码输入区块,该指令码包含有多个位元组形成一或多个指令,该一或多个指令皆含有一第一位元组及一最后位元组,指令长度解码电路用于在指令长度解码器(ILD)输出中提供输出长度标示,输出长度标示用于辨识一或多个指令之第一位元组及最后位元组,该指令长度解码电路包含:耦合之解码电路以接收来自指令码之输入区块的预定组位元组,该指令电路在解码电路输出中提供指令资讯;第一长度标示电路,被耦合以接收来自该解码电路之该指令资讯,该第一长度标示电路于该指令长度解码器输出中提供该输出长度标示;以及第二长度标示电路,被耦合以接收来自该解码电路之该指令资讯,以回应侦测到具有修正过之指令长度之一指令,及于该指令长度解码器输出中提供输出长度标示,其中该输出长度标示包括START标示,其指示一或多个指令中每一指令之第一位元组,及END标示,其指示一或多个指令中每一个指令之最后位元组,且其中该解码电路包括:藉合之字首电路,以接收来自指令码之输入区块,以侦测长度可变字首的出现,该长度可变字首视情况改变一指令之长度,字首电路在解码电路输出处提供字首侦测资讯,指令资讯包含字首侦测资讯;及耦合之操作码解码电路,由指令码区块接收输入,可侦测长度可变操作码之出现,当与一耦合长度变化字首成对时,其视状况改变指令之长度,操作码解码电路于解码电路输出处,提供操作码侦测资讯。28.根据申请专利范围第27项之指令长度解码电路,更包含:一耦合之第二长度标示电路,从解码电路中接收指令资讯,且于ILD输出处提供输出长度标示,该第二长度标示电路用于侦测与长度可变操作码成组的长度可变字首。29.一种指令长度解码电路,在一执行变化长度指令的处理器中,一指令长度解码电路,其接收指令码之输入区块,该区块含多个形成一或多个指令的位元组,该一或多个位元组皆含一第一位元组及一最后位元组,指令长度解码电路在指令长度解码器(ILD)输出处提供输出长度标示,输出长度标示指示一或多个指令之第一位元组及最后位元组,该指令长度解码电路包含:耦合之解码机构,从指令码的输入区块中接收预定组的位元组,解码机构在一解码机构的输出处提供指令资讯;及耦合之第一长度标示输出机构,从解码机构中接收指令资讯,第一长度标示机械在ILD输出处提供该输出长度标示;以及第二长度标示输出机构,被耦合以接收来自该解码机构之该指令资讯,以回应侦测到具有修正过之指令长度之一指令,及于该指令长度解码器输出中提供输出长度标示以回应侦测到具有修正过之指令长度之一指令,其中该输出长度标示包含START标示,其指示一或多个指令中每一指令之第一位元组,及END标示,其指示一或多个指令中每一个指令之最后位元组;其中该一或多个指令皆包含为字首位元组所定义的第一部份及为非字首位元组所定义的第二部份,且该START标示及END标示定义该一或多个指令中每一指令之第二部份的边界。30.一种指令长度解码电路,在一执行变化长度指令的处理器中,一指令长度解码电路,其接收指令码之输入区块,该区块含多个形成一或多个指令的位元组,该一或多个位元组皆含一第一位元组及一最后位元组,指令长度解码电路在指令长度解码器(ILD)输出处提供输出长度标示,输出长度标示指示一或多个指令之第一位元组及最后位元组,该指令长度解码电路包含:耦合之解码机构,从指令码的输入区块中接收预定组的位元组,解码机构在一解码机构的输出处提供指令资讯;及耦合之第一长度标示输出机构,从解码机构中接收指令资读,第一长度标示机构在ILD输出处提供该输出长度标示;以及第二长度标示输出机构,被耦合以接收来自该解码机构之该指令资讯,以回应侦测到具有修正过之指令长度之一指令,及于该指令长度解码器输出中提供输出长度标示以回应侦测到具有修正过之指令长度之一指令,其中该输出长度标示包括START标示,其指示一或多个指令中每一指令之第一位元组,及END标示,其指示一或多个指令中每一个指令之最后位元组;且其中该解码机构更包括:耦合之字首侦测机构,以接收来自指令码之输入区块,以侦测长度可变字首的出现,该长度可变字首视情况改变一指令之长度,该字首侦测机构在解码机构输出处提供字首侦测资讯,指令资讯包含该字首侦测资讯;及耦合之操作码侦测机构,由指令码区块接收输入,可侦测长度可变操作码之出现,当与一耦合长度变化字首成对时,其视状况改变指令之长度,该操作码侦测机构于解码机构输出处,提供操作码侦测资讯。31.根据申请专利范围第30项之指令长度解码电路,更包含:一耦合之第二长度标示输出机构,从解码机构中接收指令资讯,且于ILD输出处提供输出长度标示,该第二长度标示输出机构用于侦测与长度可变操作码成组的长度可变字首。图式简单说明:第一图为微处理器系统布局的方块图,该微处理器包含一指令引出单元及一指令解码器。第二图为一指令格式的方块表示法,为INTEL架构微处理器所使用者。第三图A、第三图B为指令长度解码器(ILD)的方块图,显示快速进位串电路。第四图为PLA0之方块图;第五图进位链单元之方块图,其表示每一FCC单元及SCC单元。第六图为一流程图,示在处理FCC单元之一单元所采行之步骤。第七图为一流程图,示在处理SCC单元之一单元所采行之步骤。第八图为一流程图,示在指令长度解码器中,处理指令码之输入区块的步骤。第九图为一流程图,显示用于决定指令长度的步骤。第十图为ILD中,于处理指令码之输入区块中,由快速进位链所采取步骤之流程图。第十图为第八图的子程序。第十一图A显示16位元指令之解码步骤,其包含为运算域优先字首的函数。第十一图B显示当字首为运算域优先字首时,第十一图A之16位元指令的解码。第十一图C显示一32位元指令之解码,其含一操作码,此操作码为运算域优先字首之函数。第十一图D显示当字首为运算域优先字首时,第十一图C之32位元指令的解码。第十二图为ILD中,处理指令码之输入区块时,慢速进位链电路所采行步骤之流程图。第十二图为第八图的子程序。第十三图为一范例,显示表示指令及对应的操作码START标示及END标示,此标示之产生乃用于回应指令码的输入区块。
地址 美国