发明名称 产生早期指令结果之管线式微处理器、装置以及方法
摘要 一种在一管线式微处理器中产生早期指令结果的装置以及方法,此装置包括早期执行逻辑电路,其系包含一位址产生器被修改以进行指令指定的运算而非产生位址所需的算术运算,早期执行逻辑电路系对应于微处理器管线中之一位址产生阶段,由于指令到达位址阶段系早于到达对应于下管线且用于产生最终执行结果的最终执行单元,因此早期执行逻辑电路能提早产生指令结果,最终结果系用于更新微处理器的架构式暂存器档,早期执行逻辑电路系只执行微处理器指令集的一指令子集,在一实施例中,早期执行逻辑电路/位址产生器增强以经常地执行进行快速的指令,早期执行逻辑电路进行加、减、乘、除、移位以及布林运算,如果早期指令不在早期执行逻辑电路所执行的指令子集里,则早期结果是无效的。
申请公布号 TWI251776 申请公布日期 2006.03.21
申请号 TW093127693 申请日期 2004.09.14
申请人 威盛电子股份有限公司 发明人 吉拉德M 卡尔
分类号 G06F9/38 主分类号 G06F9/38
代理机构 代理人 刘正格 台北市大同区重庆北路3段88号3楼之1
主权项 1.一种可以产生早期指令结果之管线式微处理器, 该管线式微处理器具有一架构式暂存器档以及至 少用以产生指令之复数个最终结果之一最终执行 单元系包含: 一位址阶段,其系管线中较该最终执行单元所对应 之阶段早之阶段,该位址阶段系包含一早期执行单 元,用以在该最终执行单元产生指令之该些最终结 果前产生指令之复数个早期结果;以及 一早期暂存器档,其系与该早期执行单元连结并且 对应于该架构式暂存器档,该早期暂存器档系用以 贮存该些早期结果,且将该些早期结果提供给该早 期执行单元以产生复数个循序指令之早期结果,其 中该架构式暂存器档只以该最终结果而非该早期 结果作更新。 2.如申请专利范围第1项所述之管线式微处理器,其 中该早期执行单元系用以执行该微处理器指令集 之一指令子集。 3.如申请专利范围第2项所述之管线式微处理器,其 中由该早期执行单元所执行之该指令子集,系包含 复数个移位指令。 4.如申请专利范围第2项所述之管线式微处理器,其 中由该早期执行单元所执行之该指令子集,系包含 复数个移位指令以及复数个布林指令。 5.如申请专利范围第2项所述之管线式微处理器,其 中由该早期执行单元所执行之该指令子集,系包含 复数个移位指令、复数个布林指令以及复数个算 术指令。 6.如申请专利范围第1项所述之管线式微处理器,更 包含: 一滙流排,其系与该早期执行单元连结,并于一第 一时脉周期间提供由该早期执行单元所产生之一 第一指令之一第一早期结果给该早期执行单元,以 便在一第二时脉周期间产生一第二指令之一第二 早期结果,其中该第一时脉周期系紧接在该第二时 脉周期之前。 7.如申请专利范围第6项所述之管线式微处理器,该 第一指令系以一管线阶段紧接在该第二指令之前 。 8.如申请专利范围第1项所述之管线式微处理器,更 包含: 一结果写回阶段,其系对应于该管线阶段中较该最 终执行单元所对应位置后面之位置,以该最终执行 单元所产生之该些最终结果来更新该架构式暂存 器档,其中该些早期结果系只对该早期暂存器档作 更新。 9.如申请专利范围第1项所述之管线式微处理器,其 中该早期执行单元亦自该早期暂存器档中取得该 些早期结果,以作为运算元来产生复数个记忆位址 。 10.如申请专利范围第9项所述之管线式微处理器, 其中该早期执行单元系产生复数个堆叠记忆体位 置之记忆体位址以及复数个非堆叠记忆体位置之 记忆位址。 11.如申请专利范围第1项所述之管线式微处理器, 其中储存于该早期暂存器档之该早期结果可为有 效或无效。 12.如申请专利范围第1项所述之管线式微处理器, 其中该管线式微处理器系为一标量微处理器。 13.如申请专利范围第1项所述之管线式微处理器, 其中该管线式微处理器系依程式顺序派送指令。 14.如申请专利范围第1项所述之管线式微处理器, 该早期结果由包含复数个非位址结果以及复数个 堆叠指标位址之该早期执行单元所产生,且该早期 执行单元属于一单一管线阶段。 15.如申请专利范围第1项所述之管线式微处理器, 其中一电脑程式产品系包含一电脑可读取的记录 媒体并用以构成该微处理器,该电脑可读取的记录 媒体系具有复数个电脑可读取之程式码,其中该电 脑程式产品系与一计算装置搭配使用。 16.如申请专利范围第1项所述之管线式微处理器, 其中一电脑可读取的记录媒体系提供给该微处理 器,该电脑可读取的记录媒体系具有一电脑可读取 程式码。 17.一种在一管线式微处理器可以产生早期指令结 果之装置,用以改善该管线式微处理器之性能,且 该管线式微处理器系具有一架构式暂存器档,该装 置包含: 一早期执行逻辑电路,其系用以产生指令之复数个 早期结果,且产生程序系早于由至少一执行单元对 该指令所产生的复数个晚期结果,而该执行单元系 对应于管线中较该早期执行逻辑电路所对应部份 后面之位置; 一早期暂存器档,其系与该早期执行逻辑电路连结 ,该早期暂存器档系包含对应于该架构式暂存器档 之复数个暂存器以储存该些早期结果,该早期暂存 器档系具有与每一暂存器连结之一有效指示器,该 早期暂存器档系用以提供该些早期结果予该早期 执行逻辑电路作为运算元以产生后续之该些早期 结果;以及 一逻辑电路,其系接收该有效指示器,当该早期执 行逻辑电路利用贮存于该早期暂存器档其中之一 之暂存器中的一运算元来产生一位址,且该有效指 示器指示该暂存器系为无效时,该逻辑电路系暂停 此管线,并且当该早期执行逻辑电路利用贮存于该 早期暂存器档的该等暂存器之一中的一运算元来 产生一非记忆位址早期结果时,该有效指示器指示 该暂存器系为无效,该逻辑电路便不暂停此管线。 18.如申请专利范围第17项所述之装置,其中该早期 执行逻辑电路系对应于该管线式微处理器之一位 址阶段。 19.如申请专利范围第17项所述之装置,更包含: 一暂存器,其系与该逻辑电路连结,该暂存器系依 据该些早期结果累加复数个早期状态旗标,俾以依 据累加于该暂存器中之该早期状态旗标而致动提 早执行条件式指令。 20.如申请专利范围第17项所述之装置,更包含: 一结果滙流排,连结该早期执行逻辑电路之一输出 到一多工器之一第一输入,用以提供自该早期执行 逻辑电路输出之该些早期结果,该多工器具有一第 二输入,该第二输入系连结以接收来自该架构式暂 存器档之一运算元,该多工器具有一输出,以便将 至少一运算元从该第一输入及该第二输入之任一 提供至该早期执行逻辑电路,俾使在一第一时脉周 期期间,由该早期执行逻辑电路产生一第一早期结 果作为一运算元,其系在紧接于该第一时脉周期后 之一第二时脉周期期间,提供给一第二指令以产生 该第二指令之一第二早期结果。 21.如申请专利范围第17项所述之装置,其中该管线 式微处理器系为一标量微处理器。 22.一种在一管线式微处理器可以产生早期指令结 果之装置,用以产生复数个记忆体位址以及复数个 早期指令结果,该装置包含: 一位址产生器,当一指令指示记忆体位址产生时, 该位址产生器系用以产生一记忆体位址,且当该指 令指示结果产生时,该位址产生器系更用以产生一 选择式有效结果;以及 一逻辑电路,其系与该位址产生器连结,当该指令 指示记忆体位址产生,及当并非该指令之所有输入 运算元都是有效且可提供给该位址产生器时,该逻 辑电路便暂停管线,而当该指令指示结果产生,且 并非该指令之所有输入运算元皆为有效且可提供 给该位址产生器时,该逻辑电路便不暂停管线。 23.如申请专利范围第22项所述之装置,其中该位址 产生器系产生复数个堆叠记忆体位置之记忆体位 址以及复数个非堆叠记忆体位置之记忆体位址。 24.如申请专利范围第22项所述之装置,其中该位址 产生器系属于一单一管线阶段。 25.如申请专利范围第22项所述之装置,其中当该位 址产生器未用以进行该指令所指定的一种运算时, 该逻辑电路产生一指示器以指示该结果为无效。 26.如申请专利范围第22项所述之装置,其中当提供 复数个无效来源运算元给该位址产生器以产生该 结果时,该逻辑电路产生一指示器以指示该结果是 无效。 27.如申请专利范围第22项所述之装置,其中该管线 式微处理器系为一标量微处理器。 28.一种在一管线式微处理器可以产生早期指令结 果之方法,用以避免在该管线式微处理器由于指令 间的运算元相依性而产生的暂停,且该管线式微处 理器系具有一架构式暂存器档,该方法包含: 产生在管线中一位址阶段之一第一指令的一第一 结果,其中该第一结果系可能为无效的; 贮存该第一结果于该微处理器之一早期暂存器档; 藉来自该早期暂存器档之该第一结果作为一输入 运算元予一第二指令,以在位址阶段产生该第二指 令的一第二结果; 储存该第二结果于该早期暂存器档;以及 藉由该早期暂存器档之该第二结果作为一输入运 算元予一第三指令,以产生该第三指令之一记忆体 位址。 29.如申请专利范围第28项所述之方法,更包含: 累加复数个早期状态旗标以回应该第二结果。 30.如申请专利范围第29项所述之方法,更包含: 当该第二结果为无效时,设定该早期状态旗标亦为 无效。 31.如申请专利范围第29项所述之方法,更包含: 判断一条件式指令所指示之一环境是否满足该早 期状态旗标;以及 当该早期状态旗标为有效且该环境系满足该早期 状态旗标,执行由该条件式指令指示之一运算。 32.一种在一管线式微处理器可以执行产生早期指 令结果的电脑可读取指令之记录媒体,该记录媒体 包含: 一电脑可读取程式码,其系提供给具有一架构式暂 存器档以及至少一最终执行单元之该管线式微处 理器,该暂存器档系用以产生指令之复数个最终结 果,该电脑可读取程式码包含: 一第一程式码,其系提供对应于管线中较该最终执 行单元所对应阶段早之位置之一位址阶段,其包含 一早期执行单元,藉以在该最终执行单元产生指令 之该最终结果前产生指令之复数个早期结果;以及 一第二程式码,其系提供一早期暂存器档,该早期 暂存器档系与该早期执行单元连结,且对应该架构 式暂存器档,用以储存该早期结果以及提供该早期 结果给该早期执行单元以产生后续复数个指令之 早期结果,其中该架构式暂存器档只以该最终结果 而非该早期结果作更新。 图式简单说明: 图1为一显示依据本发明较佳实施例之一种管线式 微处理器的方块示意图; 图2为一显示如图1所示之依据本发明较佳实施例 之一种管线式微处理器的R阶段、A阶段以及J阶段 之详细解说的方块示意图; 图3为一显示如图1与图2所示之依据本发明较佳实 施例之一种管线式微处理器的架构式暂存器档、 早期暂存器档、架构式旗标暂存器以及早期旗标 暂存器解说的方块示意图; 图4为一显示如图2所示之依据本发明较佳实施例 之一种管线式微处理器产生早期结果以及早期旗 标的操作流程解说示意图; 图5为一显示如图2所示之依据本发明较佳实施例 之一种管线式微处理器恢复且有效化早期旗标暂 存器的操作流程解说示意图; 图6为一显示依据本发明较佳实施例之一种管线式 微处理器进行早期分支校正的操作流程解说示意 图;以及 图7为一显示依据本发明较佳实施例之一种管线式 微处理器进行晚期分支校正的操作流程解说示意 图。
地址 台北县新店市中正路535号8楼