【技术实现步骤摘要】
【国外来华专利技术】多线程微处理器中的二分化线程调度器与本专利技术互相参照的相关申请案[OOOl]本申请案和下列同时申请的待审美国专利申请案有关,将这些申请案整体引入用于所有H的。序号 (案号)申请日期标题(MIPS.0200-00-US)多线程微处理器中的漏水桶线程 调度器(MIPS.0201画00-US)具有用于增进流水线使用效率的 优化线程调度器的多线程微处理 器(MIPS.0201-01-US)包含具有根据指令停顿可能性预 测的线程调度器的多线程微处理 器(MIPS.0202-00-US)多线程微处理器中的指令/滑动缓 冲器
本专利技术关于一种多线程处理器的技术范畴,特别是执行多 线程时的指令发出调度。技术背景微处理器的设计者使用了许多技巧来增加微处理器的性 能。大多数微处理器在固定频率的时钟信号下操作。微处理器中的各20个电路在每一时钟周期执行各自的功能。根据汉尼斯与帕特森(请参 阅计算机结构 一种定量描述,第三版),微处理器的性能根据执行 一个程序或多个程序所需的时间来衡量。在此观点下,微处理器的性 能取决于其时钟频率、执行一个程序所需的平均时钟周期数目(或是 每--个时钟周期所执行的平均指令数目)、以及一个程序或多个程序 中所执行的指令数目。半导体科学家以及工程师,主要是通过减少晶 体管大小,其导致更快的切换时间,不断地使微处理器能够在更快的 时钟频率下运行。能够执行的指令数目很大程度上由程序中欲执行的 任务所限制,但是也会被微处理器的指令集结构所影响。可通过结构 或组织机制的改变以大幅度提高性能,即改善每一时钟周期所能执行 的指令数,特别是利用平行处理机制 ...
【技术保护点】
一种二分化调度器,用于在配置为可同时执行多个线程的多线程处理器中派送指令,所述调度器包括: 第一调度器逻辑,配置为发出所述多个线程的指令到所述处理器的至少一个执行单元; 第二调度器逻辑,用于实施所述多个线程的调度策略;以及 接口,将所述第二调度器逻辑耦接至所述第一调度器逻辑和所述至少一个执行单元,所述接口包括: 第一信号,供所述第一调度器逻辑用来从所述第二调度器逻辑接收所述多个线程的每一个的优先级,其中所述第一调度器逻辑根据所述优先级发出所述指令到所述至少一个执行单元;以及 第二信号,供所述第二调度器逻辑用来接收所述多个线程的每一个的指令执行信息,其中所述第二调度器逻辑根据所述指令执行信息更新所述优先级。
【技术特征摘要】
【国外来华专利技术】US 2005-2-4 11/051,9971.一种二分化调度器,用于在配置为可同时执行多个线程的多线程处理器中派送指令,所述调度器包括第一调度器逻辑,配置为发出所述多个线程的指令到所述处理器的至少一个执行单元;第二调度器逻辑,用于实施所述多个线程的调度策略;以及接口,将所述第二调度器逻辑耦接至所述第一调度器逻辑和所述至少一个执行单元,所述接口包括第一信号,供所述第一调度器逻辑用来从所述第二调度器逻辑接收所述多个线程的每一个的优先级,其中所述第一调度器逻辑根据所述优先级发出所述指令到所述至少一个执行单元;以及第二信号,供所述第二调度器逻辑用来接收所述多个线程的每一个的指令执行信息,其中所述第二调度器逻辑根据所述指令执行信息更新所述优先级。2. 如权利要求l所述的调度器,其中所述第一调度器逻辑在每一 时钟周期根据所述优先级选择所述多个线程中的哪-—个来发出所述 指令到所述至少一个执行单元。3. 如权利要求2所述的调度器,其中所述第一调度器逻辑在每一 时钟周期根据所述优先级选择所述多个线程中的一个来发出所述指 令到所述至少一个执行单元。4. 如权利要求2所述的调度器,其中所述第一调度器逻辑在每一 时钟周期根据所述优先级选择所述多个线程中的一个以上线程来发 出所述指令到所述至少一个执行单元。5. 如权利要求1所述的调度器,其中所述接口还包括 第三信号,供所述第二调度器逻辑用来从所述第一调度器逻辑接 收所述多个线程的每一个的状态信息,其中所述第二调度器逻辑根据 所述状态信息更新所述优先级。6.如权利要求5所述的调度器,其中所述状态信息包含关于所述 第--调度器逻辑是否被阻止发出所述多个线程的每一个的指令的指7. 如权利要求1所述的调度器,其中所述多个线程的每一个的优 先级包含多个预定优先级中的一个。8. 如权利要求1所述的调度器,其中所述指令执行信息包含由所 述至少一个执行单元提供的、关于所述多个线程中哪一个的指令被承诺执行的指示。9. 如权利要求1所述的调度器,其中所述指令执行信息包含由所 述至少一个执行单元提供的、关于所述多个线程中哪一个的指令被执 行完毕的指示。10. 如权利要求1所述的调度器,其中所述指令执行信息包含由 所述第一调度器逻辑提供的、关于所述多个线程中哪一-个的指令被发 出的指示。11. 如权利要求1所述的调度器,其中所述第一调度器逻辑是不可 被使用者修改的。12. 如权利要求1所述的调度器,其中所述第二调度器逻辑是可 被使用者修改的。13. 如权利要求1所述的调度器,其中所述多个线程的每一个包 括一个指令流。14. 如权利要求13所述的调度器,其中所述处理器还包括 一组储存元件,与所述多个线程的每--个相关,用于描述所述指令流的执行状态。15. 如权利要求14所述的调度器,其屮所述一组储存元件中的每 一个包括程序计数器。16. 如权利要求15所述的调度器,其中所述一组储存元件中的每 一个还包括通用寄存器组。17. 如权利要求1所述的调度器,其中所述处理器包括处理器内 核,其中所述处理器内核包括所述第一调度器逻辑并且不包括所述第 二调度器逻辑。18. 如权利要求17所述的调度器,其中所述处理器内核是可合成的。19. 如权利要求17所述的调度器,其中所述处理器内核是可为多 个使用者重复使用的。20. 如权利要求17所述的调度器,其中所述第一调度器逻辑被配 置为选取所述多个线程中的至少一个线程来发出指令,所述处理器已 经为该至少一个线程提取出可发出的指令,并且该至少一个线程具有 由所述优先级指定的最髙优先级。21. 如权利要求20所述的调度器,其中如果所述多个线程中的多 于一个线程具有所述已提取的可发出指令和所述最高优先级,则所述 第--调度器逻辑被配置为按照轮循方式选择所述多个线程中的所述 多于一个线程中的一个线程。22. 如权利要求20所述的调度器,还包括用亍检査所述多个线程的所述已提取的可发出指令的寄存器依 赖性的逻辑,其中如果所述多个线程中的多于一个线程具有所述最高 优先级,则所述第--调度器逻辑被配置为根据所述寄存器依赖性选取 所述多个线程中的所述多于一个线程中的一个线程。23. 如权利要求22所述的调度器,其中如果所述多个线程中的多 于一个线程具有所述已提取的可发出指令、所述最高优先级和相同的 所述寄存器依赖性,则所述第一调度器逻辑被配置为按照轮循方式选 取所述多个线程中的所述多于一个线程中的一个线程。24. 如权利要求1所述的调度器,其中所述接口还包括 第三信号,供所述第二调度器逻辑用来针对所述多个线程的每一个向所述第一调度器逻辑通知是否阻止发出该线程的指令。25. 如权利要求1所述的调度器,其中所述接口还包括 时钟信号,其从所述第一调度器逻辑至所述第二调度器逻辑。26. 如权利要求1所述的调度器,其中由一种计算机程序产品实 现所述调度器,该计算机程序产品包括计算机可用介质,该计算机可 用介质具有计算机可读程序代码,其中所述计算机程序产品与计算设 备一起使用。27. 如权利要求1所述的调度器,其中由传输介质中所包含的包 括计算机可读程序代码的计算机数据信号提供了所述调度器。28. —种多线程处理器,包括 线程调度策略逻辑,配置为实施一种策略,该策略用于调度由所 述处理器同时执行的多个线程的指令派送;处理器内核,耦接至所述线程调度策略逻辑,包括 至少一个执行流水线,用于执行指令以及 指令派送器,耦接来根据从所述线程调度策略逻辑所接收的 所述策略,将所述多个线程的指令派送到所述执行流水线;接口 ,用于耦接所述线程调度策略逻辑和所述处理器内核,包括: 优先级指示器,用于所述线程调度策略逻辑向所述指令派送 器传送所述多个线程的每-'个的派送优先级,以实施所述策略以及 执行指示器,用于所述至少一个执行流水线向所述线程调度 策略逻辑传送针对所述多个线程中每一个的指示信息,以指示是否所 述至少一个执行流水线已承诺执行该线程的指令。29. 如权利要求28所述的处理器,其中所述线程调度策略逻辑物 理上位于所述处理器内核外部。30. 如权利要求28所述的处理器,其中所述线程调度策略逻辑是 可由使用者修改的,而所述微处理器内核是不可由使用者修改的。31. 如权利要求28所述的处理器,其中所述指令派送器被配置为 选取所述多个线程中的至少一个线程来发出指令,所述处理器为该至 少一个线程已经提取了可发出的指令,且该至少一个线程具有由所述 优先级指定的最髙优先级。32. 如权利要求31所述的处理器,如果所述多个线程中的多于一 个线程具有所述已提取的可发出指令和所述最髙优先级,则所述指令 派送器被配置为按照轮循方式选择所述多个线程中的所述多于一个 线程中的一个线程。33. 如权利要求31所述的处理器,还包括用于检査所述多个线程的所述已提取的可发出指令的寄存器依 赖性的逻辑,其中如果所述多个线程中的多于一个线程具有所述最高 优先级,则所述指令派送器被配置为根据所述寄存器依赖性选取所述 多个线程中的所述多于一个线程中的一个线程。34. 如权利要求33所述的处理器,其中如果所述多个线程中的多 于--个线程具有所述已提取的可发出指令、所述最高优先级和相同的 所述寄存器依赖性,则所述指令派送器被配置为按照轮循方式选取所 述多个线程中的所述多丁-个线程屮的个线程。35. 如权利要求28所述的处理器,其中由一种计算机程序产品实 现所述处理器,该计算机程序产品包括计算机可用介质,该计算机可 用介质具有计算机可读程序代码,其中所述计算机程序产品与计算设 备-起使用。36. 如权利要求28所述的处理器,其中由传输介质中所包含的包 括计算机可读程序代码的计算机数据信号提供了所述处理器。37. —种线程调度策略管理器,用于在可同时执行多个线程的多 线程处理器中执行线程调度策略,所述策略管理器包括输入,用于在每一处理器时钟周期,接收关于所述多个线程的每 —个的指令是否被执行的指示输出,用于在每一处理器时钟周期,传送所述多个线程的每一个 的指令派送优先级;耦接至所述输入的逻辑,用于根据所述输入产生所述输出,以实 施所述线程调度策略。38. 如权利要求37所述的策略管理器,其中关于指令是否被执行 的所述指示指出所述指令是否被派送以用于执行。39. 如权利要求37所述的策略管理器,其中关于指令是否被执行 的所述指示指出所述指令是否被承诺执行。40. 如权利要求37所述的策略管理器,其中关于指令是否被执行 的所述指示指出所述指令是否被执行完毕。41. 如权利要求37所述的策略管理器,其中所述多个线程中每一 个的优先级包括多个预定优先级中的一个。42. 如权利要求37所述的策略管理器,还包括第二输出,用于在每一处理器时钟周期传送关于针对所述多个线 程中的每一个是否阻止发出指令的指示。43. 如权利要求37所述的策略管理器,还包括第二输入,用于在每一处理器时钟周期接收所述多个线程中每--个的状态,所述状态指示所述线程是否目前被阻止从其发出指令;其中所述逻辑进一步被配置为根据所述第--和第二输入产生所 述输出,以实施所述线程调度策略。44. 如权利要求37所述的策略管理器,其中所述多个线程中每一 个的优先级包括多个预定优先级中的一个。45. 如权利要求37所述的策略管理器,其中由一种计算机程序产 品实现所述策略管理器,该计算机程序产品包括计算机可用介质,该 计算机可用介质具有计算机可读程序代码,其中所述计算机程序产品 与计算设备一起使用。46. 如权利要求37所述的策略管理器,其中由传输介质中所包含 的包括计算机可读程序代码的计算机数据信号提供了所述策略管理 器。47. —种多线程处理器内核,被配置为可同时执行多个线程,所 述多个线程中的每一个包括一个指令流,所述处理器内核包括接口 ,用于将所述处理器内核耦接到所述处理器内核外部的线程 调度策略逻辑,所述接口包括第一信号,供所述线程调度策略逻辑用来向所述处理器内核 传送所述多个线程的每一个的优先级;以及第二信号,供所述线程调度策略逻辑用来从所述处理器内核 接收所述多个线程中每一个的关于这些线程的指令执行的信息,以供 所述线程调度策略逻辑用来更新所述优先级调度器,其接收所述第一信号,并根据所述第.'信号所提供的所 述优先级,从所述多个线程中的至少一个线程选取至少一个指令,以 发出用来执行。48. 如权利要求47所述的处理器内核,其中所述调度器被配置为 在处理器内核的每一时钟周期选取所述至少一个指令。49. 如权利要求47所述的处理器内核,其中所述信息包含关于所 述处理器内核已承诺执行所述多个线程中的一个特定线程的指令的 指示。50. 如权利要求49所述的处理器内核,其中如果所述指令保证不 会被从所述处理器清空的话,则所述处理器内核已承诺执行所述指 令。51. 如权利要求49所述的处理器内核,其中如果所述指令保证会 被所述处理器执行完毕的话,则所述处理器内核己承诺执行所述指 令。52. 如权利要求47所述的处理器内核,其中所述信息指示所述处 理器内核已执行完毕所述多个线程中的一个特定线程的指令。53. 如权利要求47所述的处理器内核,其中所述信息指示所述处 理器内核己发出所述多个线程中的一个特定线程的指令来用于执行。54. 如权利要求47所述的处理器内核,其中所述接口还包括 第三信号,供所述线程调度策略逻辑用来从所述处理器内核接收状态信息,该状态信息指定所述多个线程中每一个的状态,以供所述 线程调度策略逻辑用来更新所述优先级。55. 如权利要求47所述的处理器内核,其中所述状态信息包含关 于所述多个线程中的每一个是否被阻止而使所述调度器不能从该线 程发出指令供执行的指示。56. 如权利要求47所述的处理器内核,其中所述接口还包括 第三信号,供所述线程调度策略逻辑用来针对所述多个线程中的每一个向所述调度器通知是否阻止发出该线程的指令。57. 如权利要求47所述的处理器内核,其中所述调度器被配置为 从所述多个线程中的所述至少一个线程选取所述至少一个指令,以尽 量保持所述处理器内核的执行流水线充满指令,从而使所述执行流水 线效率髙。58. 如权利要求47所述的处理器内核,其中所述调度器被配置为 选取所述多个线程中的所述至少一个线程,所述处理器己经为该至少 一个线程提取了可发出的指令,并且该至少一个线程具有由所述优先 级指定的最高优先级。59. 如权利要求58所述的处理器内核,其中如...
【专利技术属性】
技术研发人员:达伦M琼斯,莱恩C肯特,凯文D契瑟尔,汤姆士A彼德森,
申请(专利权)人:美普思科技有限公司,
类型:发明
国别省市:US[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。