[发明专利]适用于微处理器的装置及方法有效
申请号: | 201010185625.1 | 申请日: | 2010-05-19 |
公开(公告)号: | CN101853151A | 公开(公告)日: | 2010-10-06 |
发明(设计)人: | 汤玛斯·C·麦当劳;约翰·L·唐肯 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 钱大勇 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 适用于 微处理器 装置 方法 | ||
技术领域
本发明是有关微处理器领域,特别是关于从一种具有可变长度指令的指令集架构的微处理器的指令字节串流中取得指令。
背景技术
微处理器包含一或多个执行单元,用以进行实际的指令执行。超纯量(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的长度解码器的详细方块图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010185625.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:存储装置
- 下一篇:减少装置功率消耗的方法及具有嵌入式存储器模块的装置