发明名称 保持分离伫列功能单元之间的状态一致性之方法及装置
摘要 本发明提供一种用于具有二个未对准之功能单元管线的微处理器之装置及方法,可将第二管线的指令伫列暂存器置于第一管线的中间阶段,而非置于丢弃指令的阶段之后。对于伫列中的每个指令,此装置可维持其状态与其在第一管线之相对状态间的一致性。此状态包括指令的年龄及一有效位元。此年龄指出指令系位于第一管线的哪个阶段。此装置包括逻辑,以依据第一管线是否停顿、来自第一管线的有效位元以及伫列是否向下移位,来更新年龄及有效位元。微处理器则依据指令年龄及有效位元,以来自第二功能单元的指令执行结果,选择性地更新其使用者可见状态。
申请公布号 TWI235331 申请公布日期 2005.07.01
申请号 TW092129613 申请日期 2003.10.23
申请人 智慧第一公司 发明人 艾尔玛 汤姆
分类号 G06F9/38 主分类号 G06F9/38
代理机构 代理人 何文渊 台北市信义区松德路171号2楼
主权项 1.一种微处理器中的指令伫列暂存器,包括:复数个第一储存元件,每个第一储存元件储存一个由一第一功能单元所执行的指令,该指令亦储存于一第二功能单元之复数个管线阶段的其中一个;复数个第二储存元件,耦接至该些第一储存元件,每个第二储存元件储存该些第一储存元件之对应的一个中所存的该指令之一年龄,该年龄用以指出该指令系储存于该第二功能单元之复数个管线阶段的哪一个之中;以及复数个第三储存元件,耦接至该些第一储存元件,每个第三储存元件储存该些第一储存元件之该对应的一个中所存的该指令之一有效位元,该有效位元用以指出该指令是否有效。2.如申请专利范围第1项之指令伫列暂存器,其中该第一功能单元使用该年龄及该有效位元,以判断是否要以该指令的结果更新该微处理器之一使用者可见状态。3.如申请专利范围第2项之指令伫列暂存器,其中该使用者可见状态包含于该微处理器之一暂存器档案中。4.如申请专利范围第1项之指令伫列暂存器,其中该指令伫列暂存器从该第二功能单元之该些管线阶段中的一预定阶段接收该指令,其中在该指令被存入该预定阶段之后,使该指令无效化的一条件可能会发生。5.如申请专利范围第4项之指令伫列暂存器,其中该无效化条件包括该微处理器中之一异常(exception)。6.如申请专利范围第4项之指令伫列暂存器,其中该无效化条件包括该微处理器所做的一分支指令结果错误预测。7.如申请专利范围第4项之指令伫列暂存器,其中该无效化条件包括在该第一及第二功能单元之一或多个功能单元中的一管线运作停顿。8.如申请专利范围第1项之指令伫列暂存器,其中在该第二功能单元之该些管线阶段中的一指令丢弃阶段之前,该指令伫列暂存器从该第二功能单元之该些管线阶段中的一阶段接收该指令。9.如申请专利范围第1项之指令伫列暂存器,其中在该指令被存入该指令伫列暂存器之后,该微处理器可能使该指令无效化。10.如申请专利范围第1项之指令伫列暂存器,其中该第二功能单元包括一整数单元。11.如申请专利范围第1项之指令伫列暂存器,其中该第一功能单元包括一个用以执行多媒体指令的单元。12.如申请专利范围第1项之指令伫列暂存器,其中该第一功能单元包括一个用以执行浮点指令的单元。13.如申请专利范围第1项之指令伫列暂存器,其中该第一功能单元包括一个用以执行SSE指令的单元。14.如申请专利范围第1项之指令伫列暂存器,更包括:一控制逻辑,耦接至该些第二及第三储存元件,用以更新该年龄及该有效位元。15.如申请专利范围第14项之指令伫列暂存器,更包括:一输入端,耦接至该控制逻辑,用以从该第二功能单元接收一讯号,该讯号指出该第二功能单元是否停顿或正使该指令沿该些管线阶段移动,其中该控制逻辑会回应该讯号,而更新该年龄及该有效位元。16.如申请专利范围第15项之指令伫列暂存器,其中若该第二功能单元正使该指令沿该些管线阶段移动,则该控制逻辑增加该年龄。17.如申请专利范围第14项之指令伫列暂存器,更包括:复数个输入端,耦接至该控制逻辑,每个输入端系用以从该第二功能单元接收一讯号,该讯号指出亦存于该第二功能单元之该些管线阶段的该一个中之该指令是否有效,其中该控制逻辑会依据该讯号,更新该有效位元。18.如申请专利范围第14项之指令伫列暂存器,其中该控制逻辑会依据该指令伫列暂存器是否正将该指令从该些第一储存元件中的一个移至该些第一储存元件中的另一个,而更新该年龄及该有效位元。19.如申请专利范围第14项之指令伫列暂存器,其中若该指令正被载入该指令伫列暂存器,则该控制逻辑将该年龄更新为一初始年龄値。20.如申请专利范围第14项之指令伫列暂存器,更包括:一输入端,耦接至该控制逻辑,用以从该第二功能单元接收一讯号,该讯号指出当该指令被存入该第二功能单元之该些管线阶段中一预定管线阶段时,一无效化条件是否已发生,其中当该指令被存入该预定管线阶段时,若该无效化条件发生,则该控制逻辑将该有效位元更新为一无效値。21.如申请专利范围第20项之指令伫列暂存器,其中该预定管线阶段包括该第二功能单元中之一最后阶段,在该最后阶段中该无效化条件可能会发生。22.如申请专利范围第1项之指令伫列暂存器,其中该微处理器依据该年龄及该有效位元,判断是否要以该指令的结果更新该微处理器之一使用者可见状态。23.一种在一微处理器中用以维持二个指令管线间之指令状态一致性的装置,该二个指令管线系由于一指令伫列暂存器将其分离而非同步地运作,该指令伫列暂存器具有N个项目,用以储存N个指令,该装置具有对应于该N个指令伫列暂存器项目之N个逻辑元件,每个逻辑元件包括:一年龄暂存器,用以储存该N个指令其中一个的一年龄,该年龄系从一年龄讯号接收,并指出该指令还储存于该二个管线之一第一管线中的哪一阶段;一有效暂存器,用以储存该N个指令其中一个的一有效位元以及一多工器,依据该年龄讯号选取复数个有效位元讯号中的一个,以提供至该有效暂存器,该些有效位元讯号系指出该第一管线之对应复数个阶段中所储存的指令是否有效。24.如申请专利范围第23项之装置,其中该N个逻辑元件耦接在一起形成一伫列,以对应于该指令伫列暂存器的该N个项目。25.如申请专利范围第24项之装置,其中该N个逻辑元件耦接在一起形成一伫列,以使得该N个逻辑元件其中一个的该年龄暂存器之一输出,系耦接至该N个逻辑元件的下一个之一输入。26.如申请专利范围第24项之装置,其中该N个逻辑元件耦接在一起形成一伫列,以使得该N个逻辑元件其中一个的该有效暂存器之一输出,系耦接至该N个逻辑元件的下一个之一输入。27.如申请专利范围第24项之装置,其中该N个逻辑元件之一底部逻辑元件系耦接至该二个管线之一第二管线的一预定阶段,以将该年龄及该有效位元提供至该预定阶段。28.如申请专利范围第27项之装置,其中该第二管线依据该年龄及该有效位元,选择性地以该指令之结果更新该微处理器之一暂存器档案。29.如申请专利范围第27项之装置,每一该N个逻辑元件更包括:一第二多工器,耦接至该N个逻辑元件的前一个之一输出,用以依据该指令伫列暂存器是否移位,选择性地保持该年龄及该有效位元,或从该N个逻辑元件的该前一个中,接收该年龄及该有效位元。30.如申请专利范围第23项之装置,每一该N个逻辑元件更包括:一更新逻辑,耦接至该年龄暂存器,用以依据该第一管线是否产生停顿,而更新该年龄。31.如申请专利范围第30项之装置,其中该更新逻辑亦依据该年龄讯号,而更新该年龄。32.如申请专利范围第23项之装置,其中该多工器亦接收选择性地从该有效暂存器之一输出所耦接的一有效输入。33.如申请专利范围第23项之装置,每一该N个逻辑元件更包括:一无效化逻辑,耦接至该有效暂存器,用以回应于一异常讯号,而将该指令无效化,该异常讯号系表示当该指令储存于该第一管线之一预定阶段中时,发生一将该指令无效化的异常。34.一种具有多数个功能单元并且使用管线运算之微处理器,包括:一第一指令管线,包括复数个阶段,用以储存指令;一第二指令管线,耦接至该第一指令管线,用以从该第一指令管线接收该些指令之一第一部份,并加以执行;一指令伫列暂存器,用以储存该第一部份指令之一第二部份,直到该第二指令管线准备好执行该第二部份;以及一控制逻辑,耦接至该指令伫列暂存器,用以储存该第二部份的每个指令之一目前状态及一有效位元,该目前状态指出,该第二部份之该指令系储存于该些第一指令管线阶段中的哪个阶段。35.如申请专利范围第34项之微处理器,其中该指令伫列暂存器及该第二指令管线的运作,与该第一指令管线的运作系为非同步。36.如申请专利范围第34项之微处理器,更包括:一多工器,耦接至该指令伫列暂存器及该第二指令管线,用以选择性地绕过该第二指令管线中之该指令伫列暂存器。37.如申请专利范围第36项之微处理器,其中若该指令伫列暂存器为空,则该多工器会绕过该指令伫列暂存器。38.如申请专利范围第37项之微处理器,其中若该第二指令管线产生停顿,则该多工器不会绕过该指令伫列暂存器。39.如申请专利范围第34项之微处理器,更包括:一资料快取记忆体,耦接至该第一指令管线,用以提供该些指令所指定的资料;以及一资料伫列,耦接至该资料快取记忆体,用以储存该第二部份指令所指定的资料。40.如申请专利范围第34项之微处理器,其中该目前状态亦指出该指令是否已从该些第一指令管线阶段丢弃。41.一种维持一微处理器中功能单元间之指令状态一致性的方法,该微处理器的阶段系由于一伫列的存在而未对准,该方法包括:将一指令储存于一第一功能单元之一管线阶段中;将该指令之一第一有效位元储存于该管线阶段中;将该指令储存于一第二功能单元之一伫列,直到该第二功能单元准备好执行该指令;将该指令之一第二有效位元储存于该伫列中;将该指令之一年龄储存于该伫列中,其中该年龄指出该指令系储存于该第一功能单元的哪个管线阶段;接收一讯号,其系显示该第一功能单元管线是否产生停顿;以及依据该第一有效位元及该讯号的接收,更新该年龄及第二有效位元。42.如申请专利范围第41项之方法,其中该更新动作包括若该讯号显示该第一功能单元管线未产生停顿,则递增该年龄。43.如申请专利范围第41项之方法,其中该更新动作包括若该讯号显示该第一功能单元管线产生停顿,则保持该年龄。44.如申请专利范围第41项之方法,其中该更新动作包括以该第一有效位元更新该第二有效位元。45.如申请专利范围第41项之方法,更包括:接收一讯号,其系表示是否已产生一个使该指令无效的条件;以及若该讯号表示已产生使该指令无效的该条件,则将一値存于该第二有效位元,以显示该指令为无效。46.如申请专利范围第41项之方法,其中该第一功能单元之该管线阶段系位于该第一功能单元中一丢弃指令的阶段之前。47.如申请专利范围第41项之方法,更包括:依据该第二有效位元及该年龄,判断是否要更新该微处理器之一使用者可见状态。48.如申请专利范围第41项之方法,其中该年龄亦指出该指令是否已从该第一功能单元丢弃。49.一种用于一微处理器中之指令伫列暂存器,包括:复数个第一储存元件,每个第一元件储存一指令,由一第一功能单元执行,该指令亦储存于一第二功能单元之复数个管线阶段其中之一;以及复数个第二储存元件,耦接至该些第一储存元件,每一该些第二储存元件系用以储存该些第一储存元件其中一对应者所存之该指令的一年龄,该年龄指出该第二功能单元之该些管线阶段其中之一,其中所指定之该第二功能单元管线阶段系储存该指令之一目前状态。50.如申请专利范围第49项之指令伫列暂存器,其中该目前状态系指出该指令是否有效。图式简单说明:图1系显示一习知技术的微处理器,其在整数管线末端具有一功能单元伫列。图2系本发明之微处理器的方块图。图3系本发明控制图2之MXU指令伫列暂存器的逻辑之方块图。图4系本发明图3之逻辑产生下个状态値的真値表。图5系本发明图2之微处理器的运作图例。
地址 美国