微处理器以及相关指令执行方法技术

技术编号:6354658 阅读:216 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种微处理器,包括多个执行单元,用以接收多个指令以及上述指令中的指令操作数并用以执行上述指令。一指令调度器发送上述指令至上述执行单元并且选择上述指令操作数的来源。上述执行单元的其中至少一者检测出上述指令的其中一者的上述操作数中的一操作数为一非正规操作数、相应于检测出上述非正规操作数,产生一指示,上述指示表示上述指令需要被重新执行;并且相应于检测出上述非正规操作数,提供上述非正规操作数至上述指令调度器。上述指令调度器相应于上述指示,将上述非正规操作数正规化,并且当上述指令被重新执行时,提供上述已正规化操作数至上述执行单元。

【技术实现步骤摘要】

本专利技术是有关于微处理器中的浮点数(floating point number)计算领域,特别是有关于具有非正规数(denormal mimber)的浮点数计算。
技术介绍
在一微处理器中所表示的浮点数本文中,非零有限数值或操作数(operand)分 为两个类别正规化数值(normalized number)(或正规数(normal number))以及非正规 化数值(denormalized number)(或非正规数(denormal number))。举例来说,更详细的 相关讨论请共同参照由英特尔(Intel)公司所发表的文献“IA-32 Architecture Software Developer,sManual, Volume 1 Basic Architecture, 2002, Order Number 245470-008,, 中的段落4.8.2.1以及4.8.3.2中的内容,此处仅摘要列举其结果。一正规数、或正规 化数或以正规化的形式所编码的数值具有一个有效位数(significand)以及一个指数部分 (exponent),其中有效位数为数字1与2之间的一个实数(亦即,一整数字元接着组成一 小数(fraction)的数个位),指数部分则指定数值中二进小数点的位置。当一个浮点数非 常趋近于0时,由于指数的范围不足够大来补偿将二进小数点往右移以消除前置零,使 得前述正规化数值格式无法再使用于表示此数值。当指数(偏差)为0时,较小的数仅 可通过令整数字元(以及或许其它前置位)的有效位数为0来表示。在这个范围之内的 数值便称为非正规数、或非正规化数或非正规化形式的数值。前置零与非正规化数的使 用可允许表示较小的数。然而,这样的非正规化将造成精度的损失(前置零将减少小数 部分的有效位数)。一般而言,一微处理器中的浮点数单元用以执行以正规化形式表示的操作数的 计算。因此,当一个指令指定一非正规操作数(denormal operand)时,微处理器将此非正 规操作数转换为一正规操作数,以便执行此指令所指定的计算。这个程序将会浪费一相 对大量的时间及/或要求一非固定数量的执行时间来增加指令执行延迟(latency),其将 引发讨论于下的问题。
技术实现思路
本专利技术实施例提供一种微处理器。微处理器包含多个执行单元,用以接收多个 指令以及上述指令中的指令操作数并用以执行上述指令。微处理器也包含一指令调度 器,用以发送上述指令至上述执行单元并且选择上述指令操作数的来源。上述执行单元 的其中至少一者用以检测出上述指令的其中一者的上述操作数中的一操作数为一非正 规操作数、相应于检测出上述非正规操作数,产生一指示,上述指示表示上述指令需要 被重新执行;并且相应于检测出上述非正规操作数,提供上述非正规操作数至上述指令 调度器。上述指令调度器用以相应于上述指示,将上述非正规操作数正规化,并且当 上述指令被重新执行时,提供上述已正规化操作数至上述执行单元。本专利技术另一实施例提供一种指令处理方法,用以于一微处理器中处理一指定一非正规操作数的一指令,其中上述微处理器包含一执行单元以及一指令调度器。方法包 括检测出上述指令的上述操作数为一非正规操作数,其中上述检测步骤是由上述执行单 元所执行。方法也包括相应于上述检测出上述非正规操作数,产生一指示,上述指示表 示上述指令需要被重新执行,其中上述产生上述指示的步骤是由上述执行单元所执行。 方法也包括相应于上述检测出上述非正规操作数,提供上述非正规操作数至上述指令调 度器,其中上述提供上述非正规操作数的步骤是由上述执行单元所执行。方法也包括相 应于上述指示,将上述非正规操作数正规化,其中上述将上述非正规操作数正规化的步 骤是由上述指令调度器所执行。方法也包括于上述提供上述非正规操作数之后,重新执 行上述指令。方法也包括相应于上述重新执行上述指令,提供上述已正规化操作数至上 述执行单元。本专利技术又一实施例提供一种微处理器。微处理器包括一微码单元以及多个执行 单元。上述执行单元用以接收多个指令以及上述指令中的指令操作数并用以执行上述指 令。上述执行单元的其中至少一者用以检测出上述指令的其中一者的上述操作数中的 一操作数为一非正规操作数;以及相应于检测出上述非正规操作数,产生一指示,上述 指示表示上述指令需要被重新执行。上述微处理器用以相应于上述指示,调用(invoke) 上述微码单元用以将上述非正规操作数正规化。上述微处理器用以当上述指令被重新执 行时,提供上述已正规化操作数至上述执行单元。为使本专利技术的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳 实施例,并配合所附图式,作详细说明如下。附图说明图1显示一依据本专利技术实施例的一微处理器的方块图。图2显示图1的微处理器的操作流程图。100 微处理器;102 指令高速缓存;104 指令转译器;106 暂存器别名表;108 保留立占;112 执行单元;114 重排序缓冲器;116 调度器;118 结构暂存器集;122 多工器;132 信号;136 结果总线;138 旗标;142 操作数缓冲器;144 正规器;146 标记缓冲器;148 项目;152 信号;154 标jE ;202、204、206、208、212、214、216 执行步骤。 具体实施例方式请参见图1,显示一依据本专利技术实施例的 一微处理器100的方块图。微处理器100包含一个指令高速缓存(cache) 102,其可从系统存储器中快取程 序指令。一指令转译器(translator) 104从指令高速缓存102中接收程序指令并且将接收 到的指令转译为微指令(microinstoiction)。一暂存器别名表(register alias table,以下简 称RAT) 106依照程序顺序从指令转译器104中接收微指令。RAT 106于一重排序缓冲 器(reorder buffer,以下简称ROB) 114中为每一个微指令配置一项目(entry) 148、产生这 些微指令的相依性信息并且依照程序顺序发送这些微指令及其相依性信息至保留站108 中。R0B114中每一项目148保持与此指令相关的信息,包含一旗标138,其表示此指令 是否需要被重新执行(replay),因为此指令指定一非正规操作数,其细节将于下讨论。前述微指令被发送至执行单元112来执行。于一实施例中,每个执行单元112具 有其对应的保留站108,用以保持将发送至执行单元112的指令。执行单元112在结果总 线136上提供其执行结果至ROB 114。当一执行单元112 (即一浮点运算单元112)检测 出其已接收到用以执行的一指令具有一或多个非正规操作数并且浮点运算单元112无法 在一非正规操作数上执行所需的操作时,浮点运算单元112将输出一个指定ROB 114中 配置给该指令的项目148的标记(tag) 154。其中,标记154为进入ROB 114的项目148 的一个索引。此外,浮点运算单元112也发出一信号132至ROB 114,以致使ROB 114 来设定在与该指令相关的项目148中的旗标138。当一个指令变成微处理器100中最旧 的指令且旗标138表示其需要被重新执行时,ROB 1本文档来自技高网
...

【技术保护点】
一种微处理器,包括:多个执行单元,用以接收多个指令以及上述指令中的指令操作数并用以执行上述指令;以及一指令调度器,用以发送上述指令至上述执行单元并且用以选择上述指令操作数的来源;其中上述执行单元的其中至少一者用以:检测出上述指令的其中一者的上述操作数中的一操作数为一非正规操作数;相应于检测出上述非正规操作数,产生一指示,上述指示表示上述指令需要被重新执行;以及相应于检测出上述非正规操作数,提供上述非正规操作数至上述指令调度器;其中上述指令调度器用以:相应于上述指示,将上述非正规操作数正规化;以及当上述指令被重新执行时,提供上述已正规化操作数至上述执行单元。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:G葛兰亨利吉拉德M卡尔罗德尼E虎克泰瑞派克斯提摩西A伊里亚德
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1