当前位置: 首页 > 专利查询>辉达公司专利>正文

加强转移预测的中央处理器架构制造技术

技术编号:2845695 阅读:233 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种加强转移预测的中央处理器架构,其是于一中央处理器内部至少设置有二个以上的流水线,且各流水线各自设置有复数个级,对于一支线中预测执行的指令失败时,可藉由另一支线来执行正确的指令,故可有效降低执行指令的次数,且于多级的流水线中具有更佳的降低执行指令的次数的效果。

【技术实现步骤摘要】

本专利技术涉及一种加强转移预测的中央处理器架构,尤其涉及一种于一中央处理器内部至少设置有二个以上的流水线,且各流水线各自设置有复数个级,对于一支线中预测执行的指令失败时,可藉由另一支线来执行正确的指令,故可有效降低执行指令的次数,且于多级的流水线中具有更佳的降低执行指令的次数的效果。
技术介绍
集成电路设计(IC Design)的产业,其是代表我国于智能财产权中的重大贡献,该产业皆属于专利技术专利的设计,且具备相当高度的创作,若无顶尖的精英份子从事研究即无法顺利发展,而为开发中或未开发国家所无法轻易跨入的领域,因此集成电路设计对于我国电子产业的竞争力而言,具有举足轻重的地位。于计算机用的中央处理器(CPU)的领域中,流水线(Pipeline)于高速的中央处理器中属于主要的架构,因为在一个周期(Cycle)内不可能完成中央处理器必须执行的指令是不可能的,因此一个被执行的指令必须要被分成多级处理,且每一级皆可利用一周期来执行,因此一个高速的中央处理器必须有多级处理方能获得较佳的效率。但于中央处理器设置流水线时会产生”转移预测(The Branch Prediction)”的问题,假设有一程序的设定如下如果预测状态为A,则一执行程序为B,而另一执行程序为C。中央处理器若欲执行程序B与C,必须要等待状态A有执行出一个结果,但是已具流水线的中央处理器不能只为了得到状态A的结果,然后就将程序B、C塞入多级流水线中,其正确的做法应该为已具流水线的中央处理器必预测A的结果,以及读取程序B、C的指令其中之一者进入流水线中,否则具有多级流水线的中央处理器将处于等待状态A的闲置状态,如果中央处理器所预测状态A与所读取程序B的指令皆为正确的,那么所中央处理器即可迅速获得正确结果,但是如果中央处理器所预测的状态A为错误的,那么中央处理器将会丢失其结果及停止B程序,再使C程序进行流水线且执行它,因此浪费许多处理时间,该已知中央处理器的架构虽然为是高速的,但是亦无法提高其运算效能,此即为本专利技术欲改进的目标。
技术实现思路
基于解决以上所述已知技术的缺点,本专利技术为一种加强转移预测的中央处理器架构,本专利技术的主要目的为于一中央处理器内部至少设置有二个以上的流水线,且各流水线各自设置有复数个级,对于一支线中预测执行的指令失败时,可藉由另一支线来执行正确的指令,故可有效降低执行指令的次数,且于多级的流水线中具有更佳的降低执行指令的次数的效果。本专利技术的另一目的在于上述二个以上流水线所设置的相同功能级可依设计需求做成一合并架构,用以降低中央处理器的价格及其设计的复杂性。本专利技术采用以下技术方案来实现,按本专利技术一种加强转移预测的中央处理器架构执行指令的方法,该加强转移预测的中央处理器架构包括内存(1),内存控制器(2)及所连接的中央处理器(3),中央处理器内部包括有一高速缓冲区(31),至少两个流水线AB,及四个级,其中A流水线包括A读取(32)及A解码(33)二个级;B流水线包括B读取(34)及B解码(35),而二流水线共同使用的级包括有执行(36)及回写(37),该方法的特征在于若转移预测结果是正确的,而平时中央处理器利用A流水线来执行执令,则在第0周期中,A读取执行读取”CMPR1,R2”动作,而B读取不执行该读取动作在第1周期中A解码执行”CMPR1”解码动作,同时执行读取”JB process_A动作,而B解码不执行解码读取动作;在第2周期中执行“CMPR1,R2”动作,同时A读取执行读取”MOVR3,R1”和解码“JB process_A”动作;在第3周期中,该“CMPR1,R2”执行回写动作,该“JB process_A”“执行”执行动作,A解码执行“MOVR3,R1”解码动作而不执行读取动作,B解码不执行解码动作,但执行“MOVR3,R2”读取动作;在第四周期中,’JB process_A”执行回写动作,“MOVR3,R2”“执行”执行动作,而B解码执行“MOVR3,R2”解码动作。不执行读取动作,而A读取不执行解码读取动作;在第5周期中,“MOVR3,R2”执行回写动作,而不“执行”执行动作,A解码,B解码不执行解码动作,A读取,B读取不执行读取动作。该方法的特征还在于若“转移预测”结果是错误的,则在第0周期中A读取执行“CMPR1,R2”读取动作,而B读取不执行读取动作;在第1周期中,A解码执行“CMPR1,R2”解码动作,同时执行读取“JBprocess_A”动作,而B解码,B解码不执行上述动作;在第2周期中,“CMPR1,R2”“执行”执行动作,同时A读取执行“CMPR3,R1”读取动作,A解码执行“JB process_A”解码动作,而B解码,B读取不执行上述动作;在第3周期中,“CMPR1,R2”“执行”回写动作,同时执行“JB process_A”执行动作,A解码执行“MOVR3,R1”解码动作,B解码不“执行”执行“MOVR3,R1”解码动作,A读取不执行读取动作,B读取执行“MOVR3,R2”读取动作;在第4周期中,“JB process_A”执行回写动作,B解码执行“MOVR3,R2”解码动作,A解码不执行“MOVR3,R2”动作。A读取和B读不执行读取动作;在第5周期中,仅执行“MOVR3,R2”执行动作;在第6周期中,仅执行“MOVR3,R2”回写动作。以下结合附图说明及专利技术详细说明进一步对本专利技术做更深入的说明。附图说明图1为本专利技术装设多流水线的中央处理器架构的功能方块图;图2为单一流水线架构来执行若干指令的第一流程图表;图3为单一流水线架构来执行若干指令的第二流程图表; 图4为利用图1架构来执行若干指令的第一流程图表;图5为利用图1架构来执行若干指令的第二流程图表。附图标号说明1内存;2内存控制器;3中央处理器;31高速缓存区;32-A读取;33-A解码;34-B读取;35-B解码;36执行;37回写。具体实施例方式兹配合下列的附图说明本专利技术的详细结构,及其连结关系,以利做一一了解。请参阅图1所示,为本专利技术装设多流水线的中央处理器架构的功能方块图,其中包括一内存1及一内存控制器2及所连接的中央处理器3,中央处理器3内部包括有一高速缓存区(Cache)31及二个流水线(Pipeline)及四个级(Stage),其中A流水线(Pipeline A)包括有A读取32及A解码33的二个级;B流水线(Pipeline B)包括有B读取34及B解码35的二个级,而二流水线的共同使用级包括有执行36及回写37,当然针对不同的中央处理器的设计,可以有设置更多的流水线及级。请参阅图2所示,为单一流水线架构来执行若干指令的第一流程图表,假设中央处理器正在执行下列指令(1)CMP R1,R2(比较R1与R2的数值)(2)JB process A(若R1大于R2,则执行跳至流程A)(3)MOV R3,R2(将R2的数值搬移R3)流程A(4)MOV R3,R1(将R1的数值搬移R3)如果装置一流水线的中央处理器与单一流水线执行有关指令与转移预测是R1数值大于R2,且真实的情况亦为R1数值大于R2,此时执行结果就如图表所示其中每一个指令皆必须经过四个级,其分别依序为读取(Fetch)、解码(Decode)、执行(Execute本文档来自技高网
...

【技术保护点】
一种加强转移预测的中央处理器架构,其中,是于一中央处理器内部至少设置有二个以上的流水线,且各流水线各自设置有复数个级,对于一支线中预测执行的指令失败时,可藉由另一支线来执行正确的指令,故可有效降低执行指令的次数,且于多级的流水线中具有更佳的降低执行指令的次数的效果。

【技术特征摘要】
1.一种加强转移预测的中央处理器架构,其中,是于一中央处理器内部至少设置有二个以上的流水线,且各流水线各自设置有复数个级,对于一支线中预测执行的指令失败时,可藉由另一支线来执行正确的指令,故可有效降低执行指令的次数,且于...

【专利技术属性】
技术研发人员:郭建成
申请(专利权)人:辉达公司
类型:发明
国别省市:US[美国]

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

1