适用于微处理器的装置及方法制造方法及图纸

技术编号:4006935 阅读:154 留言:0更新日期:2012-04-11 18:40
一种适用于微处理器的装置和方法,其中该装置用以自微处理器的一指令字节串流中提取指令,该微处理器的指令集架构具可变长度指令,该装置包含:一解码逻辑单元,用以解码该指令字节串流的每一指令字节以产生相应的一操作码字节指示符及一结束字节指示符;针对每一指令字节接收相应的一分支发生指示符;针对每一指令字节产生相应的一不良预测指示符;及对于一指令的每一其余字节,将相应的该不良预测指示符设为逻辑真值;及一控制逻辑单元,用以从该指令字节串流中提取指令,并传送该提取的指令以供该微处理器作后续的处理,其中该控制逻辑单元放弃传送具有逻辑为真的该结束字节指示符和逻辑为真的该不良预测指示符的指令。

【技术实现步骤摘要】

本专利技术是有关微处理器领域,特别是关于从一种具有可变长度指令的指令集架构 的微处理器的指令字节串流中取得指令。
技术介绍
微处理器包含一或多个执行单元,用以进行实际的指令执行。超纯量 (superscalar)微处理器可于每一时钟周期内发出多个指令至各个执行单元,因而得以增 进总处理能力或增进每一时钟周期内的平均指令。然而,微处理器管线上端的指令提取及 解码功能必须以有效率的速度来提供一指令串流给执行单元,藉以有效地使用执行单元及 增进总处理能力。x86架构由于其指令长度并非固定,因此使得此工作更加困难,在此架构 下,其每一指令的长度是变动的,此将于以下详述。因此,x86微处理器必须包含很多的逻 辑电路以处理进来的指令字节串流,以决定指令的开始及结束位置。因此,必须增进x86微 处理器解析指令字节串流以得到各个指令的处理速率。
技术实现思路
根据本专利技术特征之一,本专利技术提供一种适用于微处理器的装置,用以自微处理器 的一指令字节串流中提取指令,该微处理器的指令集架构具可变长度指令。该装置包含一 解码逻辑单元及一控制逻辑单元。该解码逻辑单元用以解码该指令字节串流的每一指令 字节以产生相应的一操作码字节指示符及一结束字节指示符;针对每一指令字节接收相应 的一分支发生指示符,其中,当一分支预测器预测该指令字节为一分支指令的操作码字节 时,则该分支发生指示符为逻辑真值;针对每一指令字节产生相应的一不良预测指示符,其 中,当相应的该分支发生指示符为逻辑真值且相应的该操作码字节指示符为逻辑假值,则 相应的该不良预测指示符为逻辑真值;及对于一指令的每一其余字节,将相应的该不良预 测指示符设为逻辑真值,该指令的操作码字节具有逻辑为真的该不良预测指示符。该控制 逻辑单元用以从该指令字节串流中提取指令,并传送该提取的指令以供该微处理器作后续 的处理,其中该控制逻辑单元放弃传送具有逻辑为真的该结束字节指示符和逻辑为真的该 不良预测指示符的指令。根据本专利技术特征之一,本专利技术提供一种适用于微处理器的方法,用以自微处理器 的一指令字节串流中提取指令,该微处理器的指令集架构具可变长度指令。该方法包含解 码该指令字节串流的每一指令字节以产生相应的一操作码字节指示符及一结束字节指示 符;针对每一指令字节接收一相应的一分支发生指示符,其中,当一分支预测器预测该指令 字节为一分支指令的操作码字节时,则该分支发生指示符为逻辑真值;针对每一指令字节 产生相应的一不良预测指示符,其中,当相应的该分支发生指示符为逻辑真值且相应的该 操作码指示符为逻辑假值,则相应的该不良预测指示符为逻辑真值;对于一指令的每一其 余字节,将相应的该不良预测指示符设为逻辑真值,该指令的操作码字节具有逻辑为真的 该不良预测指示符;从该指令字节串流中提取指令,并传送该提取的指令以供该微处理器作后续的处理;及放弃传送具有逻辑为真的该结束字节指示符和逻辑为真的该不良预测指 示符的指令。附图说明图1显示本专利技术实施例的微处理器的方块图。图2显示图1的指令格式器的L级的方块图。图3显示图2的累积前置消息238。图4显示图1的微处理器的操作。图5显示图1的指令格式器的部分L级和M级方块图。图6显示图5所示的微处理器元件的操作流程图,用以自指令字节串流中取出指 令(在一实施例中最多可取出三指令),其不会产生时间延迟且与指令中的前置字节数目无关。图7显示图1的指令格式器的一部分的方块图。图8a和图8b显示图7的部分指令格式器的操作流程图。图9显示图5的多工队列的详细方块图。图10显示图1的指令格式器的部分M级的方块图。图11显示图5的M级控制逻辑单元的方块图。图12显示图1的指令格式器的部分M级的操作流程图。图13显示图5的多工队列于连续两个时钟周期的内容,以例示M级的操作。图14显示图5的多工队列于连续两个时钟周期的内容,以例示M级的操作。图15显示图14中指令格式器于一时钟周期内,将含有最多四十个指令字节的三 个指令取得并传送出去。图16显示图1的BTAC作了不良预测因而造成微处理器的分支错误,亦即,图1的 分支发生指示为逻辑真值但非为指令的操作码。图17显示涟波逻辑单元输出的组成信号。图18显示图1的微处理器的操作流程图。图19显示图2的长度解码器的详细方块图。图20显示十六个长度解码器的配置。图21显示图20的长度解码器的操作流程图。100微处理器102指令高速缓存104x86指令字节队列106指令格式器108格式化指令队列112指令转译器114转译指令队列116暂存器别名表118保留站122执行单元124引退单元126提取单元128分支目标地址高速缓存132指令字节134指令字节136x86指令串流142目前提取地址144加法器146 预测目标地址148执行目标地址152 下一个连续提取地址154分支发生指示202 长度解码器204涟波逻辑单元208 控制逻辑单元212长度解码器的输出214 涟波逻辑单元的输出218操作数及地址尺寸222 指令长度224解码任一前置指示符226 解码LMP指示符 228受LMP影响指示符 229 前置消息232开始位234 结束位 236有效位238 累积前置消息 252预设操作数及地址尺寸302 OS 304AS306 REX 出现 308REX. W312 REX. R 314REX. X316 REX. B 318REP322 REPNE 324LOCK326 片段超出出现 328编码段超出332 任一前置出现 402-414步骤502 多工队列 504Il多工器506 12多工器 50813多工器512 M级控制逻辑单元 514控制信号516 控制信号 518控制信号524 第一指令Il 526第二指令12528第三指令13534,536,538 有效指示符602-608 步骤 702XIBQ控制逻辑单元802-824 步骤 1002累积前置阵列1004 指令字节阵列 1102减法器1104 部分 LEN 1106剩余 LEm1108 字节位置ENDl 1112字节位置ENDO1114 多工器 1116加法器1118 暂存器 1122指令长度LEm1201-1222 步骤 1702不良 BTAC 位1802-1816 步骤 1902可编程逻辑阵列(PLA)1904 加法器 1906多工器1912 eaLen 值 1914控制信号1916 immLen 值 1918eaLen 值2102-2116 步骤具体实施例方式图1显示本专利技术实施例的微处理器100的方块图。微处理器100包含由多级或多个功能单元所组成的管线(pipeline),其包含四级指令高速缓存(four-stage instruction cache) 102、x86指令字节队列(x86 instructionbyte queue,XIBQ) 104、指令 格式器(instruction formatter) 106 (其包含三级L、M及F)、格式化指令队列(formatted instruction queue) 108、才旨令转 i華器(instruction translator) 112、转 i華才旨令队歹Ij (translatedinstruction que本文档来自技高网...

【技术保护点】
一种适用于微处理器的装置,用以自微处理器的一指令字节串流中提取指令,该微处理器的指令集架构具可变长度指令,该装置包含:一解码逻辑单元,用以:解码该指令字节串流的每一指令字节以产生相应的一操作码字节指示符及一结束字节指示符;针对每一指令字节接收相应的一分支发生指示符,其中,当一分支预测器预测该指令字节为一分支指令的操作码字节时,则该分支发生指示符为逻辑真值;针对每一指令字节产生相应的一不良预测指示符,其中,当相应的该分支发生指示符为逻辑真值且相应的该操作码字节指示符为逻辑假值,则相应的该不良预测指示符为逻辑真值;及对于一指令的每一其余字节,将相应的该不良预测指示符设为逻辑真值,该指令的操作码字节具有逻辑为真的该不良预测指示符;及一控制逻辑单元,用以从该指令字节串流中提取指令,并传送该提取的指令以供该微处理器作后续的处理,其中该控制逻辑单元放弃传送具有逻辑为真的该结束字节指示符和逻辑为真的该不良预测指示符的指令。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:汤玛斯C麦当劳
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

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

1