一种多线程处理器和处理方法技术

技术编号:8387072 阅读:221 留言:0更新日期:2013-03-07 07:45
本发明专利技术涉及一种多线程处理器和处理方法。所述处理器包括:用于多个线程使用的专用资源和共享资源;用于当执行的多个线程中任一线程的指令是空闲指令时,关闭线程专用资源的工作时钟;当多个线程的指令都是空闲指令时,关闭线程共享资源工作时钟的空闲控制模块。所述方法包括:当执行的多个线程中任一线程的指令是空闲指令时,则关闭线程专用资源的工作时钟;如果执行的多个线程的指令都是空闲指令时,则关闭多个线程共享资源的工作时钟。本发明专利技术通过执行线程空闲指令来控制线程资源的工作时钟,有效减少了线程资源的浪费,从而降低了多线程处理器的功耗。

【技术实现步骤摘要】

本专利技术涉及多线程处理器,尤其涉及。
技术介绍
处理器,特别是嵌入式处理器,越来越广泛地应用在移动通信、数字消费电子和智能控制设备等领域。在处理器架构中,处理器可以在一个时钟周期内发射并执行多条指令。然而,在单线程处理器结构中只能发掘一个线程的指令级并行度来提高处理器的吞吐率以及计算资源利用率,在不能发掘足够的指令来填满指令发射槽时就产生处理器计算资源的浪费。同时,当由于缓存扑空或者资源冲突造成处理器在接下来的时钟周期中不 能发射任何指令时,也会导致计算资源的浪费,限制了处理器处理能力的提高。多线程处理器结构则允许在一个时钟周期内发射来自多个线程的多条指令,可以有效开发利用多个线程中的并行指令。同时,当由于长延迟事件或者资源冲突导致一个线程停顿堵塞时,多线程处理器又可以发射执行另一个未阻塞线程的指令,从而有效减少计算资源的浪费。在多线程处理器结构中,处理器的功耗一般分为两种一种是来自器件的动态功耗,另一种是来自漏电的静态功耗。动态功耗包括电容充放电以及当P/N MOS管同时打开时形成的瞬间短路电流。每个器件的动态功耗和时钟频率有关,随着时钟翻转,导致节点电容充放电,以及产生瞬间短路电流。虽然在多线程处理器结构中,多个线程共享计算资源,有效提高了处理器的资源利用率。同时,为了保证多个线程可以同时运行,各个线程也需要各自专用的资源。但是,多线程的共享计算资源和各个线程的专用资源的使用都将会导致处理器的功耗被提高。
技术实现思路
本专利技术的目的是提供一种在线程处于空闲状态时,关闭线程资源工作时钟的方法,来解决多线程处理器资源浪费的问题,从而降低了多线程处理器的功耗。为实现上述目的,本专利技术提供了一种多线程处理器,包括用于多个线程的专用资源和共享资源;用于当执行的多个线程中任一线程的指令是空闲指令时,关闭线程专用资源的工作时钟,当多个线程的指令都是空闲指令时,关闭线程共享资源工作时钟的空闲控制丰吴块。本专利技术另一方面提供了一种降低多线程处理器功耗的方法,该方法步骤包括当执行的多个线程中任一线程的指令是空闲指令时,则关闭线程专用资源的工作时钟;如果执行的多个线程的指令都是空闲指令时,则关闭多个线程共享资源的工作时钟。本专利技术实施例的,能够解决多线程处理器资源浪费的问题,从而大大降低了多线程处理器的功耗。附图说明图I为本专利技术实施例空闲(Idle)控制模块资源控制示意图2为本专利技术一实施例Idle控制模块结构示意图;图3为本专利技术另一实施例Idle控制模块结构示意图;图4为本专利技术实施例降低多线程处理器功耗的方法流程图。具体实施例方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。图I为本专利技术实施例Idle控制模块资源控制示意图。如图I所示,本专利技术实施例包括Idle控制模块110、线程I专用资源120、线程2专用资源121、以及线程N专用资源129和线程共享资源130。线程的专用资源包括程序计数器PC,通用寄存器堆,中断处理单元、控制逻辑和指令池的工作时钟;线程的共享资源包括加法器、乘法器、累加器、移位寄存器,取指单元和译码单元。Idle控制模块110用于当执行的多个线程中任一线程的指令是Idle指令时,关闭该线程专用资源的工作时钟,当多个线程的指令都是Idle指令时,关闭线程共享资源的工作时钟。例如,多线程处理器所执行的线程I的指令是Idle指令,则由Idle控制模块110关闭该线程I专用资源120的工作时钟信号,当执行的多个线程的指令都是Idle指令时,Idle控制模块110关闭多个线程的共享资源130的工作时钟信号。图2为本专利技术一实施例Idle控制模块结构示意图。所图2所示,本专利技术实施例包括两个Idle子模块,即Idle子模块211和Idle子模块212 ;三个或门组成的逻辑电路,即或门221、或门222和或门223 ;三个内部时钟发生器(Internal Clock Generator, ICG),即ICG231、ICG232和ICG233。Idle子模块211通过或门221连接到ICG231, Idle子模块212通过或门222连接到ICG232,或门221与或门222的输出端连接到或门223,或门223的输出端连接到ICG233。本专利技术实施例中的逻辑电路在保持功能不变的情况下,还可以通过其它门电路来代替,例如用多个与门电路来组成逻辑电路。在一个例子中,Idle子模块211接收到第一线程为Idle指令时,通过或门221向或门223和ICG231传送低电平“O”值信号,ICG231在接收到来自Idle子模块211的“O”值信号时,则关闭第一线程专用资源的工作时钟信号。Idle子模块212用于接收第二线程为Idle指令时,通过或门222向或门223和ICG232传送低电平“O”值信号,ICG232则关闭第二线程专用资源的工作时钟信号。或门223当接收到或221和或门222的信号都是低电平“O”值信号时,则向ICG233传送低电平“O”值信号,ICG233则关闭第一线程和第二线程的共享资源工作时钟信号。在一个例子中,通过第一线程或者第二线程的中断信号为高电平“I”值时,ICG231或ICG233将重新开启线程的专用资源以及线程的共享资源的工作时钟。图3为本专利技术另一实施例Idle控制模块结构示意图。如图3所示,本专利技术实施例的Idle控制模块30包括时钟控制单元31和中断唤醒单元32。时钟控制单元31用于当多线程处理器执行线程的Idle指令时,关闭该线程的专用资源工作时钟;当多线程处理器执行的所有线程都是Idle指令时,关闭所有线程所使用的共享资源工作时钟。中断唤醒单元32用于接收线程的中断信号,线程的任何一个中断的产生都会使该线程退出空闲状态,从而重新开启该线程的的专用资源的工作时钟。当任何一个线程的中断产生时,该线程的中断就可以将处理器的线程专用资源以及共享资源的时钟信号唤醒。线程的工作时钟开启后,该线程将继续执行Idle指令后的下一条指令。图4为本专利技术实施例降低多线程处理器功耗的方法流程图。如图I所示,本专利技术实施例降低多线程处理器功耗的方法包括步骤401-405 在步骤401,依次执行多个线程的指令。具体地,多线程处理器通过取指单元接收来多个线程的指令,并执行相应的指令操作。在步骤402,当多线程处理器执行的线程指令是Idle指令时,执行步骤403,否则 返回到步骤401。多线程处理器中的任何一个线程都有可能由于具体操作的任务被挂起而进入空闲状态,产生Idle指令。在空闲状态下该线程不做任何操作,只是等待系统的重新开启信肩、O线程的Idle指令编码如表I所示。表I31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 O OOOoo1Oid1Q1000000000000000000000当多线程处理器在执行空闲状态下的线程Idle指令时,通过Idle控制模块关闭该空闲状态下的线程专用资源的工作时钟,该线程的专用资源包括线程的程序计数器PC、通用寄存器堆、中断处理单元、控制逻辑和指令池等器件。线程的专用资源在没有时钟信号时停止工作,但是对于定时器、串行口等外部设备仍保持正常的工作状态。在步骤本文档来自技高网...

【技术保护点】
一种多线程处理器,其特征在于,所述处理器包括:用于多个线程使用的专用资源和共享资源;用于当执行的多个线程中任一线程的指令是空闲指令时,关闭所述线程专用资源的工作时钟,当多个线程的指令都是空闲指令时,关闭所述线程共享资源工作时钟的空闲控制模块。

【技术特征摘要】

【专利技术属性】
技术研发人员:沈钲梁敏侯世国吉亚平李良衍王文东凌霄林晗张喆鹏任冬晨张丽伟
申请(专利权)人:苏州简约纳电子有限公司
类型:发明
国别省市:

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

1