具有用于增进流水线使用效率的优化线程调度器的多线程微处理器制造技术

技术编号:2833607 阅读:303 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种同时执行多个线程的多线程处理器。该处理器包括执行流水线和线程调度器,该线程调度器派送多个线程的指令至执行流水线。该执行流水线侦测由一个所派送的指令导致的停顿事件,并清空执行流水线,以继续执行其它线程的指令。该执行流水线通知调度器哪一个线程导致停顿事件,该调度器停止派送该线程的指令,直到停顿条件终止为止。在一个实施例中,执行流水线只清空包括导致该事件的指令的线程。在一个实施例中,如果该线程是唯一的可执行线程,则执行流水线停顿而不是清空。在一个实施例中,该处理器包括滑动缓冲器,将被清空的指令返回到该滑动缓冲器,从而不需要清空指令提取流水线,只需要清空执行流水线。

【技术实现步骤摘要】
【国外来华专利技术】具有用于增进流水线使用效率的优化线程调度器的多线程微处理器与本专利技术互相参照的相关申请案[OOOl]本申请案和下列同时申请的待审美国专利申请案有关,将这些申请案整体引入用于所有目的。序号 (案号)申请曰期标题(MIPS.0199-00-US)多线程微处理器中的二分化线程调度 器(MIPS,0200兽US)多线程微处理器中的漏水桶线程调度 器(MIPS扁1-01-US)包含具有根据指令停顿可能性预测的 线程调度器的多线程微处理器(MIPS.0202-00-US)多线程微处理器中的指令/滑动缓冲 器
本专利技术关于一种多线程处理器的技术范畴,特别是执行多 线程时的指令发出调度。技术背景微处理器的设计者使用了许多技巧来增加微处理器的性 能。大多数微处理器在固定频率的时钟信号下操作。微处理器中的各个电路在每一时钟周期执行各自的功能。根据汉尼斯与帕特森(请参 阅计算机结构 一种定量描述,第三版),微处理器的性能根据执行 ---个程序或多个程序所需的时间来衡量。在此观点下,微处理器的性 能取决于其时钟频率、执行一个程序所需的平均时钟周期数目(或是 每一个时钟周期所执行的平均指令数目)、以及本文档来自技高网...

【技术保护点】
一种多线程处理器,被配置为同时执行多个线程,包括:执行流水线,用于执行所述多个线程的指令,被配置为:响应于发到所述执行流水线的一个指令侦测到停顿事件,其中所述执行流水线在没有错误地执行停顿线程的情况下不能继续执行所述指令,其 中所述停顿线程包括所述指令,其中所述停顿线程为所述多个线程之一;指示所述停顿线程及所述停顿事件;以及响应于侦测到所述停顿事件,清空所述执行流水线,从而使所述执行流水线能够在所述清空后继续执行指令;以及线程调度器,耦接 至所述执行流水线,被配置为响应于所述执行流水线指示出所述停顿线程,发出除了所述停...

【技术特征摘要】
【国外来华专利技术】US 2005-2-4 11/051,9791.一种多线程处理器,被配置为同时执行多个线程,包括执行流水线,用于执行所述多个线程的指令,被配置为响应于发到所述执行流水线的一个指令侦测到停顿事件,其中所述执行流水线在没有错误地执行停顿线程的情况下不能继续执行所述指令,其中所述停顿线程包括所述指令,其中所述停顿线程为所述多个线程之一;指示所述停顿线程及所述停顿事件;以及响应于侦测到所述停顿事件,清空所述执行流水线,从而使所述执行流水线能够在所述清空后继续执行指令;以及线程调度器,耦接至所述执行流水线,被配置为响应于所述执行流水线指示出所述停顿线程,发出除了所述停顿线程以外的所述多个线程的指令至所述执行流水线。2. 如权利要求1所述的处理器,其中所述执行流水线被配置为在 清空所述执行流水线后,只继续执行除了所述停顿线程以外的所述多 个线程的指令。3. 如权利要求1所述的处理器,其中所述线程调度器还被配置为, 判定所述停顿事件已经终止,并且响应于所述停顿事件终止,重新发 出所述停顿线程的指令至所述执行流水线。4. 如权利要求3所述的处理器,其中所述线程调度器包括 多个储存元件,每一个储存元件储存所述多个线程中相应一个的状态,其中所述线程调度器被配置为响应于所述停顿事件而储存第一 预定值在所述储存元件中以及响应于所述停顿事件终止而储存第二 预定值在所述储存元件中,其中所述线程调度器被配置为只发送所述 多个线程中其相应储存元件具有所述第二预定值的线程的指令到所 述执行流水线。5. 如权利要求1所述的处理器,其屮所述淸^执行流水线包括只从所述执行流水线清空所述停顿线程。6. 如权利要求1所述的处理器,还包括指示器,耦接至所述执行流水线,用于指示所述停顿线程是否为 所述处理器的所述多个线程中唯一的可执行线程;其中所述执行流水线被配置为如果所述指示器指示所述停顿线 程为唯一的可执行线程,则进行停顿而不是清空。7. 如权利要求6所述的处理器,其中所述执行流水线被配置为在 所述停顿事件终止后,不再停顿且继续执行所述指令。8. 如权利要求6所述的处理器,其中所述执行流水线被配置为如 果所述指示器随后指示所述停顿线程不再是唯-'的可执行线程,则随 后清空所述执行流水线,从而使所述执行流水线能够在所述清空后继 续执行指令。9. 如权利要求6所述的处理器,其中如果所述停顿线程是所述多 个线程中的一个活动线程且目前没有被阻止发出指令的话,则所述停 顿线程是所述处理器的所述多个线程中唯一的可执行线程。10. 如权利要求1所述的处理器,其中所述指令指定一个操作数, 用在所述指令所指定的一个操作中,其中所述停顿事件包括所述指 令到达所述执行流水线中需要所述操作数来进行所述操作的阶段,而 所述操作数无法得到。11.如权利要求10所述的处理器,还包括高速缓存,耦接至所述执行流水线,用于高速缓冲来自系统内存 的数据,其中所述操作数无法得到是因为所述操作数从所述高速缓存 中丢失。12. 如权利要求IO所述的处理器,其中所述操作数无法得到是因 为所述操作数是先前指令的不可得到的结果。13. 如权利要求12所述的处理器,其中所述先前指令包括算术指令。14. 如权利要求13所述的处理器,其中所述算术指令包括除法指令。15. 如权利要求1所述的处理器,其中所述停顿事件包括所述 指令在'个未完成指令之后,该未完成指令正在访问所述处理器的同 步储存地址空间。16. 如权利要求1所述的处理器,其中所述停顿事件包括所述指令在执行危险障碍指令之后。17. 如权利要求1所述的处理器,其中所述停顿事件包括所述指令需要所述执行流水线中无法得到的硬件资源。18. 如权利要求17所述的处理器,其中所述无法得到的硬件资源包括其它指令正在使用的除法器电路。19.如权利要求17所述的处理器,其中所述无法得到的硬件资源 包括加载队列槽,其中所述处理器的所有加载队列槽正在被其它指令 使用,其中所述加载队列槽包括用于储存正在进行的高速缓存重填数 据的缓冲器。20.如权利要求17所述的处理器,还包括 高速缓存,耦接至所述执行流水线,用于高速缓冲来自系统内存 的指令,其中所述指令是进行所述高速缓存低级管理的指令,其中所 述停顿事件包括所述指令在其它指令仍正在进行所述高速缓存低级 管理时到达所述执行流水线。21. 如权利要求I所述的处理器,其中所述多线程处理器包括单 一执行流水线。22. 如权利要求1所述的处理器,其中所述多线程处理器包括多 个执行流水线。23. 如权利要求1所述的处理器,还包括指令提取流水线,用于提取指令,供所述线程调度器派送到所述 执行流水线;至少一个滑动缓冲器,耦接在所述指令提取流水线与所述执行流 水线之间,配置为在所述多个线程的所述指令被派送至所述执行流水 线后储存所述指令;其中只有所述执行流水线响应于所述停顿事件而被清空,而所述 指令提取流水线不会响应于所述停顿事件而被清空,其中所述线程调 度器被配置为随后从所述至少-一个滑动缓冲器中,重新发出响应于所 述停顿事件而从所述执行流水线被清空的指令。24. 如权利要求1所述的处理器,其中由一种计算机程序产品实 现所述处理器,所述计算机程序产品包括计算机可用介质,所述计算 机可用介质具有计算机可读程序代码,其中所述计算机程序产品与计 算设备一起使用。25. 如权利要求1所述的处理器,其中由传输介质中所包含的包 括计算机可读程序代码的计算机数据信号提供了所述调度器。26. —种在具有执行流水线和线程调度器的多线程处理器中用于 增加所述执行流水线的使用效率的方法,所述线程调度器用于调度在 所述处理器上同时执行的多个线程的指令派送,所述方法包括-响应于派送到所述执行流水线的一个指令而侦测到停顿事件;响应于所述侦测到停顿事件而指示所述停顿事件和停顿线程,其 中所述停顿线程包括所述指令,其中所述停顿线程为所述多个线程之 一,其中所述执行流水线在没有错误地执行所述停顿线程的情况下不 能继续执行所述指令;响应于所述侦测而清空所述执行流水线;响应于所述清空而继续执行指令;以及响应于所述执行流水线指示出所述停顿线程,而派送除了所述停 顿线程以外的所述多个线程的指令宁;所述执行流水线。27. 如权利要求26所述的方法,其中所述继续执行指令包括只继 续执行除了所述停顿线程以外的所述多个线程的指令。28. 如权利要求26所述的方法,还包括 判定所述停顿事件己经终止;以及响应于判定所述停顿事件已经终止,重新派送所述停顿线程的指 令至所述执行流水线。29. 如权利要求26所述的方法,其中所述清空所述执行流水线包 括只从所述执行流水线清空所述停顿线程。30. 如权利要求26所述的方法,还包括判定所述停顿线程是否为所述处理器的所述多个线程中唯一的 可执行线程;如果所述停顿线程为唯一的可执行线程的话,则停顿所述执行流 水线而不是清空。31. 如权利要求30所述的方法,还包括 在所述停顿期间判定所述停顿事件已经终止;响应于所述判定所述停顿事件已经终止,不再停顿所述执行流水 线且继续执行所述指令。32. 如权利要求30所述的方法,还包括在所述停顿期间判定所述停顿线程不再是唯一的可执行线程; 响应于在所述停顿期间判定所述停顿线程不再是唯一的nj执行线程,清空所述执行流水线,从而所述执行流水线能够在所述清空后继续执行指令。33. 如权利要求26所述的方法,其中所述指令指定一个操作数, 用在由所述指令所指定的操作中,其中所述侦测所述停顿事件包括 侦测到所述指令到达所述执行流水线中需要所述操作数来进行所述 操作的阶段,而所述操作数无法得到。34. 如权利要求33所述的方法,其中所述处理器还包括高速缓存, 用于高速缓冲来自系统内...

【专利技术属性】
技术研发人员:达伦M琼斯莱恩C肯特麦克G詹森圣杰密斯辛
申请(专利权)人:美普思科技有限公司
类型:发明
国别省市:US[美国]

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

1