处理器及信息处理方法

文档序号:7952568阅读:310来源:国知局
专利名称:处理器及信息处理方法
技术领域
本发明是涉及将多个任务(task)或线程(thread)进行并列处理的处理器及其信息处理方法。
背景技术
近年,在嵌入设备中,不断利用着可将多个任务或多个线程进行并列处理的被称为多任务处理器(multitask processor)或多线程处理器(multithread processor)的处理器(以下,对此进行总称且称为多处理器(multi-processor))。
在现有的转移设备中,虽然执行着根据单处理器的处理,但是伴随着转移设备的高功能化其处理变为复杂,则根据单处理器的处理变得困难。
即,在通过单处理器要实现高功能的情况下,需要在高时钟频率下使其动作伴随于此消耗电能也增加。再有,例如在移动电话中当再生动画时有电话接收的情况的处理等时,其对有必要实时(real time)响应的情况的对应变得困难。
另一方面,通过利用多处理器,则可将装置低时钟脉冲化,并由此实现低消耗电能化。进一步,由于能将多个任务等进行并列处理,则从实时响应的观点来看也是有效的。
此外,在将多任务(multitask)进行并列处理的装置中,其用于实现实时响应的技术被记录在专利文献1中。
专利文献1特开平10-228385号公报但是,在包括专利文献1所述的技术的现有技术中,其现状是没有构筑着适当控制多处理器的操作系统;特别是,没有构筑着适当对应于所谓密结合型多处理器的操作系统,该密结合型多处理器是在1个芯片上搭载多个处理器核心(processor core)而使其作为1个多处理器运行。
因此,在执行通常处理时,当发生中断处理等必须高优先度地实时响应的处理时,如果构成多处理器的每一个处理器不是处于空状态,则可发生对于高优先度处理而响应性降低的事情。这样的情况下,存在着实现实时响应变得困难的问题。
再有,为了执行已发生的高优先度处理,由于可频繁发生任务切换,并增大辅助操作(overhead),则可引起降低处理效率。

发明内容
本发明的课题是在多处理器中对优先度高的处理进行有效且高响应地处理。
为解决以上的问题,本发明是具备多个任务或线程的处理器部(例如,图2的单位处理器P0~P3)的处理器,其特征在于,包括专用处理器部(例如,图2的单位处理器P0),其对优先度高的规定处理(例如,中断处理)进行专门处理;和常用处理器部(例如,图2的单位处理器P1~P3),其执行所述优先度高的规定处理以外的处理(例如,操作处理);和高优先度处理器控制部(例如,图2的中断控制部11),其使所述优先度高的规定处理被所述专用处理器部处理。
通过这样的构成,在有必要对中断处理等优先度高的处理进行实施的情况下,能直接通过专用处理器部开始执行处理。
由此,因为并非执行任务等的切换,能迅速地开始高优先度处理,所以能将优先度高的处理在有效且高响应性下进行。
再有,本发明的特征在于所述专用处理器部,在所述优先度高的规定处理发生的情况下将有可能进行处理中的程序的废弃的处理,作为所述优先度高的规定处理的后台处理执行。
通过这样的构成,因为能使专用处理器部的运转率提高,所以可进行更有效的处理。
再有,其特征在于,在执行所述后台处理的模式和不执行该后台处理的模式之间可切换。
通过这样的构成,根据处理器的处理负荷等,能适当切换将优先度低的处理等作为后台处理的情况、和作为通常处理的情况,则可进行更有效的处理。
再有,其特征在于,所述优先度高的规定处理是中断处理。
通过这样的构成,即使在频繁发生中断处理的情况下,能将中断处理在有效且高响应性下进行。
再有,本发明提供一种具备多个对任务或线程进行处理的处理器部的处理器中的信息处理方法,其特征在于,使优先度高的规定处理在规定处理器部被专门处理,使该优先度高的规定处理以外的处理在所述规定处理器部以外的处理器部中进行。
再有,其特征在于在所述规定处理器部中,在所述优先度高的规定处理发生的情况下将有可能进行处理中的程序的废弃的处理,作为所述优先度高的规定处理的后台处理执行。
再有,其特征在于在执行所述后台处理的模式和不执行该后台处理的模式之间可切换。
再有,其特征在于,所述优先度高的规定处理是中断处理。
这样,根据本发明,在多处理器中,可以将优先度高的处理在有效且高响应性下进行。


图1是表示本发明涉及的移动电话1的功能构成的框图。
图2是表示CPU10的内部构成的框图。
图3是表示接通移动电话1的电源时的动作图。
图4是表示后台处理模式中的动作的流程图。
图5是对比较本发明和现有的技术中的中断处理时的动作进行说明的图。
图6是表示成为本发明的适用对象的多处理器的构成例的图。
图中1-移动电话,10-CPU,11-中断控制部,12-存储控制部,20-快速ROM,30-存储器,40-缓冲器,50-无线部,60-IrDA部,70-Audio部,80-计时器,90-USBI/F部,100-键操作部,110-LCD,120-照相机部,P0~P3-单位处理器,101-获取部,102-解码部,103-ALU,104-寄存器,105-程序控制部。
具体实施例方式
以下,参照附图对本发明涉及的处理器的实施方式进行说明。
本发明涉及的处理器,是将任务或线程等的程序在其执行单位下并列地进行处理的处理器;在本发明涉及的处理器内,具有实质上多个具备着执行任务等的处理器(以下,称为〖单位处理器〗)的硬件(hardware)构成。
因此,通过在多个单位处理器当中,对执行高优先度处理(中断处理等)的单位处理器进行固定确定,可确保对于高优先度处理的高响应性。
再有,在执行高优先度处理的单位处理器中,在没有执行高优先度处理的情况下,在其执行中即使发生高优先度处理也能对处理中的程序(即,通过该程序处理中的数据)可废弃的优先度低的处理进行后台处理。
由此,可防止执行高优先度处理的单位处理器的运转率降低。
这样,本发明涉及的处理器,可将优先度高的处理在有效且高响应性下进行。
首先,说明其构成。
在此,举出将本发明涉及的处理器嵌入到移动电话时的例子,对假定作为高优先度处理的中断处理的情况进行说明。此外,在以下的说明中,将线程等程序的执行单位总称为〖任务〗。
图1,是表示本发明涉及的移动电话1的功能构成的框图。
在图1中,其构成为,包括移动电话1、和CPU(Central ProcessingUnit)10、和快速ROM20、和存储器30、和缓冲器40、和无线部50、和IrDA(Infrared Data Association)部60、和Audio部70、和计时器(timer)80、和USB(Universal Serial Bus)接口部90、和键(Key)操作部100、和LCD(Liquid Crystal Display)110、和照相机部120;而且,CPU10、快速ROM20、存储器30及缓冲器40,被数据传输总线(bus)连接。再有,无线部50、IrDA部60、Audio部70、计时器(timer)80、USBI/F部90、键(Key)操作部100、LCD110、和照相机部120,和CPU10直接连接。
CPU10,由于是一边将多个任务并列处理又一边控制移动电话1整体,因此根据由键操作部100输入的各种指示信号,执行对存储在快速ROM30中的操作系统(Operating SystemOS)程序或各种应用程序进行读出,或是根据由无线部50、Audio部70或照相机部120等的周边芯片输入的中断信号,执行中断处理。
例如,CPU10,对由OS所生成的任务、和由操作所生成的任务执行并列处理;进一步,在由周边芯片输入有中断信号时、通过执行中断处理程序,起动与中断信号相对应的操作。此外,根据操作的处理,因为被执行作为由OS的任务调度程序(scheduler)所管理的任务,所以能读出OS的服务调用(service call);另一方面,中断处理,因为是不由任务调度程序(scheduler)所管理的处理,所以不能读出OS的服务调用。
再有,CPU10,将各种处理结果收容在快速ROM20和存储器30中。
在此,对CPU10的内部构成进行说明。
图2,是表示CPU10的内部构成的框图。
在图2中,CPU10,其构成为,包括多个单位处理器P0~P3、和中断控制部11、和存储控制部12。
单位处理器P0~P3分别是并列且可处理任务的处理器;在单位处理器P0~P3之中、本实施方式下、使单位处理器P0称为执行中断处理的专用处理器。因此,在周边芯片中发生了中断信号时,中断信号被输入到单位处理器P0中。
再有,因为作为单位处理器P0~P3的内部构成采用其为一样,所以作为代表,对单位处理器P0的内部构成进行说明。
单位处理器P0,其构成为,进一步包括获取部101、解码部102、ALU(Arithmetic and Logical Unit)103、寄存器104、程序控制部105。
获取部101,由后述的程序控制部105的程序计数器(Program Counter)显示的存储地址(Memory Address)读出命令编码,并输出到解码部102。
解码部102,对由获取部所输入的命令编码进行解码,并将解码结果(命令内容及源寄存器(source register)、目的寄存器(destination register)的地址等)输出到ALU103。
ALU103,根据解码部102所输入的解码结果,进行规定的运算,并将运算结果写入到寄存器104;或是将分支命令等的运算结果的分支(branch)处的地址输出到程序控制部105。
寄存器104,是对通过载入命令从存储器30所读出的数据、或ALU103的运算结果的数据进行存储的寄存器群。
程序控制部105,对单位处理器P0整体进行控制;其构成为,包括状态寄存器(status registerPSR),其存储单位处理器P0的状态(status)(例如,可否中断的状态,表示被执行的处理可否进行后台处理的状态,单位处理器P0中的发生溢出的状态等);和程序计数器(program counter),其存储单位处理器P0下一个必须执行的命令被收容的存储地址。因此,程序控制部105,在单位处理器P0执行中断处理之间,将状态寄存器(statusregister)的值变更为表示禁止中断处理的值,或是在执行分支命令时,将程序计数器(program counter)的值变更为分支处的地址。
中断控制部11,在由无线部50等的周边芯片输入有中断信号时,在将中断信号进行调停之后,还将规定的中断信号输出到单位处理器P0。
存储控制部12,装备在CPU10和存储器30之间,在执行从CPU10相对于存储器30的数据(data)的读出及写入的情况下,控制存储器30并执行数据的输入输出。
再有,在本实施方式中,如所述那样,中断处理被单位处理器P0处理;其他的单位处理器,主要是处理操作所生成的任务。
具体而言,单位处理器P0执行移动电话1在电源接通时的BOOT处理、OS的初始化处理、和服务调用(service call)相对应的OS的处理、基于中断处理程序(handler)的处理、相对于中断处理的后台处理(例如,对快速ROM20的写入处理或不要求实时性的处理(存储器的无用单元收集(garbage collection)、电池残留量显示、硬件的监控处理等))。其中,BOOT处理及OS的初始化处理仅在起动时执行,并非和中断处理同时发生;后台处理,是在中断处理已发生的情况下可容许对处理中的数据被废弃程度的优先度低的处理。再有,和服务调用相对应的OS的处理,是在后台处理中,对应于被适当读出的服务调用而被执行的。另外,如所述那样,在中断处理(非任务处理)中,不能读出OS的服务调用。
再有,单位处理器P1~P3,对操作所生成的任务、依照由OS的任务调度程序(scheduler)所决定的顺序来执行;在该处理中,适当读出OS的服务调用。
返回到图1,快速ROM20存储在移动电话中执行的操作系统程序、及各种应用程序。
存储器30,由所谓的DRAM(Dynamic Random Access Memory)、SRAM(Satic Random Access Memory)或SDRAM(Synchronous DRAM)半导体存储器构成,在CPU10执行处理时形成工作区域的同时,存储该处理结果。
缓冲器40,是对来自外部的输入到移动电话1中的数据或在移动电话1中所发生的数据一时地进行保持的缓冲器。
无线部50,是执行移动电话和移动电话系统的基地局之间的无线通信的部分。例如,无线部50,在接收到来自基地局表示对移动电话1的接收信号的信号时,对CPU10输出中断信号、并通知接收信号的接收。再有,无线部50,在输入有来自CPU10的指示发射的信号时,对基地局传送表示发射要求的信号。
IrDA部60,是执行基于IrDA的通信的接口;在接收到来自外部基于IrDA的无线信号时,对CPU10输出中断信号、并通知接收IrDA信号。
Audio部70,是对在移动电话中所输入输出的声音信号进行处理的部分;执行所谓的通话中利用扩音器和扬声器的声音的输入输出、或音乐等的再生。
计时器80,将移动电话1的时钟脉冲信号作为基准而计量时间,例如,每1ms等、每一个规定时间上对CPU10输出中断信号。
USBI/F部90,是用于执行根据USB的通信的接口;在连接着USB电缆时或接收到来自USB电缆信号时,对CPU10输出中断信号。
键操作部100,具备用于对移动电话1执行输入指示的各种键;在按下该键时,对CPU10输出中断信号。
LCD110,是遵循被CPU10输入的文字或图像等的描绘命令,显示规定图面的显示装置。
照相机部120,具备CCD(Charge Coupled Device)或CMOS(Complementary Metal Oxide Semiconductor)传感器等的摄像元件;在已摄像图像时,对CPU10输出中断信号。
接着,对其动作进行说明。
图3,是表示移动电话1接通电源时的动作图。
在图3中,如果接通移动电话1的电源,则在单位处理器P0中,执行着BOOT处理(各硬件的初始化、程序的载入及起动、OS的初始化处理)(步骤1)。此外,图中的实线部分表示各单位处理器位于执行处理状态、而点线部分表示未执行处理的状态。
因此,单位处理器P0,将单位处理器P1~P3起动,并执行指示着执行操作(例如动画图像的再生处理等)的任务(步骤2)。
此后,单位处理器P0成为理想状态,单位处理器P1~P3成为执行操作任务的状态。
在此,在移动电话1中发生中断(例如电话接收接收信号等)(步骤S3)。
若这样,CPU10的中断控制部11将中断信号输入到单位处理器P0(步骤S4)。再有,这时在从多个周边芯片输入有中断信号时,中断控制部11在将它们调停之后,还将最优先度高的高中断信号输出到单位处理器P0。
接收到中断信号的单位处理器P0,直接执行中断处理程序,并开始中断处理(步骤S5)。
由此,并非执行任务切换,而能将中断处理在有效的高响应性下进行。
再有,在发生中断处理时还执行后台处理的情况下,单位处理器P0,暂时向HALT状态转移,然后仅执行中断处理。
这时,废弃与后台处理相关的处理中的数据。
接着,对后台处理相关的动作进行说明。
后台处理,可通过CPU10转移到后台处理模式来执行;作为后台处理模式相关的服务调用(service call),预备有开始后台处理的“bak_sta()”、停止后台处理的“bak_stp()”、相对于后台处理、通知命令的“bak_cmd()”。
后台处理,通过单位处理器P1~P3读出服务调用“bak_sta()”而开始执行。
再有,在读出“bak_sta()”之后,在单位处理器P0中OS的计时器中断的起动时刻(每1ms等)下后台处理模式的开始指示被认出;其后,将最初发生的中断处理作为触发,实际上转移到后台处理模式。
图4,是表示后台处理模式中的动作的流程图。
如果转移到后台处理模式,则单位处理器P0,通过由定时询问(polling)、获取由“bak_cmd()”所通知的命令,执行需后台处理的事件的监视(步骤S101),并且判断是否有需后台处理的事件(步骤S102)。
在步骤S102中,在已经判断具有需后台处理的事件时,单位处理器P0,获取由“bak_cmd()”所通知的命令(步骤S103)。由此,执行后台处理。
因此,单位处理器P0,再次转移到“bak_sta()”的调用处的指针(pointer)上(步骤S104),返回步骤S101。
再有,在步骤S102中,在已经判断没有需后台处理的事件时,单位处理器P0,转移到步骤S104。
因此,从读出了“bak_sta()”的单位处理器P1~P3中,如果读出有“bak_stp()”,则单位处理器P0,在暂时向HALT状态转移后,结束后台处理。然后,单位处理器P0,不执行后台处理,成为仅执行中断处理的状态。
这样,通过在程序中读出“bak_sta()”及“bak_stp()”,可适当切换对后台处理执行的模式和不执行的模式。
如所述,在本实施方式涉及的移动电话1中,在其CPU10中,执行中断处理的单位处理器被固定设置为单位处理器P0。
因此,在发生中断处理时,能直接通过单位处理器P0开始执行中断处理。
由此,因为不执行任务切换,而能迅速地开始执行中断处理所以能将中断处理在有效且高响应性下执行。
例如,如图5(a)所示,在现有的技术中,采用其进程为在任务的处理中发生有中断时,在避开任务处理的上下文以后执行中断处理;并在结束中断处理之后,使任务处理的上下文恢复而且继续任务处理。
另一方面,在本发明中,如图5(b)所示,在发生中断处理后,能直接转移到执行中断处理,不需执行上下文的回避·恢复等,可在有效、高响应性下进行处理。
再有,本发明虽然可适用于所谓的多线程处理器(multithreadprocessor)或多任务处理器(multitask processor)的各种安装方式的处理器,但则特别有效于例如在一个芯片上安装着多个处理器核心(core)、并将处理器的构成要素的至少一部分设置在这些多个处理器核心共用的方式的多处理器上(所谓密结合型的多任务(multitask)处理器)。
图6是表示成为本发明的适用对象的多处理器的构成例的图。
图6所述的多处理器,是在存储控制部及ALU上共用多个处理器核心的方式,在每一个处理器核心上具备有程序计数器及状态寄存器等的控制用寄存器的同时,还另外具备有用于控制多处理器整体的程序控制部及控制用寄存器。再有,如图6所示,也可以具备由各处理器核心共用的上下文高速缓冲存储器(context cache)等。
在这样构成多处理器的情况下,各处理器核心实现本实施方式中的单位处理器的功能。
权利要求
1.一种处理器,具备多个对任务或线程进行处理的处理器部,其特征在于,包括专用处理器部,其对优先度高的规定处理进行专门处理;通用处理器部,其执行所述优先度高的规定处理以外的处理;以及高优先度处理控制部,其使所述优先度高的规定处理在所述专用处理器部中被处理。
2.根据权利要求1所述的处理器,其特征在于,所述专用处理器部,在所述优先度高的规定处理发生的情况下将有可能进行处理中的程序的废弃的处理,作为所述优先度高的规定处理的后台处理执行。
3.根据权利要求2所述的处理器,其特征在于,在执行所述后台处理的模式和不执行该后台处理的模式之间可切换。
4.根据权利要求1~3中任一项所述的处理器,其特征在于,所述优先度高的规定处理是中断处理。
5.一种具备多个对任务或线程进行处理的处理器部的处理器中的信息处理方法,其特征在于,使优先度高的规定处理在规定处理器部被专门处理,使该优先度高的规定处理以外的处理在所述规定处理器部以外的处理器部中进行。
6.根据权利要求5所述的信息处理方法,其特征在于,在所述规定处理器部中,在所述优先度高的规定处理发生的情况下将有可能进行处理中的程序的废弃的处理,作为所述优先度高的规定处理的后台处理执行。
7.根据权利要求6所述的信息处理方法,其特征在于,在执行所述后台处理的模式和不执行该后台处理的模式之间可切换。
8.根据权利要求5~7中任一项所述的信息处理方法,其特征在于,所述优先度高的规定处理是中断处理。
全文摘要
在移动电话(1)中,执行中断处理的单位处理器被固定设置为单位处理器(P0)。因此,在发生中断处理时,能直接通过单位处理器(P0),开始执行中断处理。由此,不执行任务切换就能迅速地开始执行中断处理,所以能将中断处理在有效且高响应性下进行。进而,在多处理器中,将优先度高的处理在有效且高响应性下进行处理。
文档编号H04Q7/32GK1811718SQ20061000699
公开日2006年8月2日 申请日期2006年1月25日 优先权日2005年1月28日
发明者田村明彦, 田中克哉 申请人:精工爱普生株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1