CN100451950C - 信息处理装置、例外控制电路 - Google Patents

信息处理装置、例外控制电路 Download PDF

Info

Publication number
CN100451950C
CN100451950C CNB2005800287320A CN200580028732A CN100451950C CN 100451950 C CN100451950 C CN 100451950C CN B2005800287320 A CNB2005800287320 A CN B2005800287320A CN 200580028732 A CN200580028732 A CN 200580028732A CN 100451950 C CN100451950 C CN 100451950C
Authority
CN
China
Prior art keywords
mentioned
information
processor
interrupt request
exception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005800287320A
Other languages
English (en)
Other versions
CN101023410A (zh
Inventor
西田英志
古田岳志
田中哲也
木村浩三
清原督三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Godo Kaisha IP Bridge 1
Original Assignee
松下电器产业株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 松下电器产业株式会社 filed Critical 松下电器产业株式会社
Publication of CN101023410A publication Critical patent/CN101023410A/zh
Application granted granted Critical
Publication of CN100451950C publication Critical patent/CN100451950C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明的目的是提供一种与以往相比能够更迅速地进行例外处理程序与通常处理的切换的信息处理装置。该信息处理装置是具备处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、对该处理器通知中断请求的中断控制器、和例外控制部的信息处理装置,其特征在于,上述信息处理电路与上述例外控制部通过专用线连接;上述信息处理电路具有经由上述专用线将表示自身电路的当前的状态的状态信息通知给上述例外控制部的通知部;上述例外控制部基于根据来自上述处理器的指示而设定的设定信息、和被通知的状态信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断。

Description

信息处理装置、例外控制电路
技术领域
本发明涉及具备从处理器接受处理委托而执行特定的处理的信息处理电路的信息处理装置,特别涉及对在信息处理电路中发生的例外的控制。
背景技术
一般,在个人电脑或移动电话设备等的信息处理装置中,为了减轻所搭载的处理器的负荷并提高处理性能,具备执行从处理器委托的特定的处理的信息处理电路(例如图形加速器、协处理器等)。
并且,在信息处理电路执行的处理中,有发生例外的情况。
所谓的例外,是指违背信息处理装置的通常动作的流程的特殊的状况。例如,是指在程序的时间表上虽然在能够处理的时刻处理器进行了处理委托,但信息处理电路不能处理的状况;或者在能够进行信息处理电路处理完的结果的读出的时刻,虽然处理器要进行处理结果的读出,但在信息处理电路中处理结果没有出来的状况,或者在信息处理电路中发生了错误的状况等。
对于这样的例外发生,信息处理装置使处理器发生中断,变更通常的处理顺序,将控制转移到预先设定的例外处理程序的开始地址,来处理该例外。
但是,在信息处理电路中发生了例外,处理器执行例外处理程序的期间,由于通常的处理顺序停止,所以从处理器的处理性能的提高的观点来看,要求有在处理器侧较早地检测出在信息处理电路中发生了的例外以及从该例外的复原、迅速地进行例外处理程序与通常处理的切换的技术。
发明内容
所以,本发明的目的是提供一种与以往相比能够更迅速地进行例外处理程序与通常处理的切换的信息处理装置、例外控制电路以及例外控制方法。
为了达到上述目的,有关本发明的信息处理装置具备:处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、对该处理器通知中断请求的中断控制器、以及例外控制部,其特征在于,上述信息处理电路与上述例外控制部通过专用线连接;上述信息处理电路具有经由上述专用线将表示自身电路的当前的状态的状态信息通知给上述例外控制部的通知部;上述例外控制部基于根据来自上述处理器的指示而设定的设定信息、和被通知的状态信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断。
有关本发明的例外控制电路,被组装在具备处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、以及对该处理器通知中断请求的中断控制器的信息处理装置中,其特征在于,该例外控制电路与上述信息处理电路通过专用线连接;具备:第1寄存器,从上述信息处理电路经由专用线受理表示该信息处理电路的当前的状态的状态信息并加以存储;第2寄存器,存储根据来自上述处理器的指示而设定的设定信息;根据存储在上述第1寄存器中的状态信息、和存储在上述第2寄存器中的设定信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断的模块。
此外,有关本发明的例外控制方法,在具备处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、和对该处理器通知中断请求的中断控制器的信息处理装置中使用,其特征在于,基于根据来自上述处理器的指示而设定的设定信息、和从上述信息处理电路通知的表示该信息处理电路的当前的状态的状态信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断。
发明的效果:在上述结构的信息处理装置中,将表示信息处理电路的当前的状态的状态信息经由专用线通知给例外控制部,例外控制部根据被通知的状态信息和设定信息进行是否使中断控制器产生中断的判断,所以与以往相比能够更迅速地进行例外处理程序与通常处理的切换,能够减少通常处理的停滞。
此外,一般信息处理电路的动作频率比处理器的动作频率慢,所以如果使用上述结构的信息处理装置,则因信息处理电路的例外发生而带来的处理器的通常处理的停滞的减少效果较大。
对于组装有上述结构的例外控制电路的信息处理装置以及上述例外控制方法也能够得到同样的效果。
这里,也可以是,上述例外控制部在上述处理器执行用来对上述信息处理电路进行处理委托的命令及用来读出该处理的结果的命令中的任一个时,在要执行该命令的周期内进行上述判断。
根据该结构,与有关上述信息处理电路的命令的执行一起,在其执行周期内,进行是否产生转移到预定的例外处理程序的中断的判断,所以与以往相比能够更迅速地进行例外处理程序与通常处理的切换,能够减少通常处理的停滞。
此外,也可以是,上述状态信息表示上述信息处理电路正在执行处理的忙碌状态及没有执行处理的闲置状态中的任一个状态;上述设定信息是表示进行是否使上述中断控制器通知第1种中断请求的判断的设定的第1信息、以及表示进行是否使上述中断控制器通知第2种中断请求的判断的设定的第2信息中的任一个,上述第1种中断请求使处理器的执行对象转移到第1例外处理程序,上述第2种中断请求使处理器的执行对象转移到第2例外处理程序;上述第2例外处理程序是用来复原为上述处理器执行的通常的处理顺序的处理;上述例外控制部,在上述设定信息是第1信息、且上述状态信息是表示忙碌状态的信息的情况下,进行使上述中断控制器通知第1种中断请求的判断,在上述设定信息是第1信息、且上述状态信息是表示闲置状态的信息的情况下,进行不使上述中断控制器通知第1种中断请求的判断;在上述设定信息是第2信息、且上述状态信息从表示忙碌状态的信息变化为表示闲置状态的信息的情况下,进行使上述中断控制器通知第2种中断请求的判断;也可以是,上述状态信息是表示上述信息处理电路正在执行处理的忙碌状态、没有执行处理的闲置状态、以及发生了错误的错误状态中的任一个状态的信息;上述设定信息是表示进行是否使上述中断控制器通知第1种中断请求的判断的设定的第1信息、以及表示进行是否使上述中断控制器通知第2种中断请求的判断的设定的第2信息中的任一个,上述第1种中断请求使处理器的执行对象转移到第1例外处理程序,上述第2种中断请求使处理器的执行对象转移到第2例外处理程序;上述第2例外处理程序是用来复原为上述处理器执行的通常的处理顺序的处理;上述例外控制部,在上述设定信息是第1信息、且上述状态信息是表示忙碌状态或错误状态的信息的情况下,进行使上述中断控制器通知第1种中断请求的判断,在上述设定信息是第1信息、且上述状态信息是表示闲置状态的信息的情况下,进行不使上述中断控制器通知第1种中断请求的判断;在上述设定信息是第2信息、且上述状态信息从表示忙碌状态或错误状态的信息变化为表示闲置状态的信息的情况下,进行使上述中断控制器通知第2种中断请求的判断。
根据该结构,通过从上述处理器设定的设定信息决定处理器转移的例外处理程序,根据从信息处理电路通知的状态信息(忙碌状态、错误状态、闲置状态),能够迅速地进行例外处理程序与通常处理的切换,能够减少通常处理的停滞。
此外,也可以是,上述处理器与上述例外控制部形成在相同的芯片上,上述信息处理电路形成在其他芯片上。
上述处理器及上述例外控制部优选地形成在相同的芯片上,另一方面,即使上述信息处理电路形成在从形成有上述处理器及上述例外控制部的芯片分离独立的芯片上,信息处理装置与以往相比也能够更迅速地进行例外处理程序与通常处理的切换,能够减少通常处理的停滞。
此外,也可以是,上述信息处理装置具备多个上述信息处理电路;上述多个信息处理电路与上述例外控制部分别通过专用线连接;上述例外控制部基于根据来自上述处理器的指示而分别设定的各信息处理电路用的设定信息、和从各信息处理电路通知的状态信息,进行上述判断。
信息处理装置可以具备多个信息处理电路,即使在有多个的情况下,也根据经由将各信息处理电路与例外控制部连接的各个专用线通知的状态信息和设定信息,进行是否使中断控制器产生中断的判断,所以与以往相比能够更迅速地进行例外处理程序与通常处理的切换,能够减少通常处理的停滞。
此外,也可以是,上述信息处理电路是执行例行程序处理的加速器。
由于限定了在信息处理电路中产生的例外,所以能够将必须准备的例外处理程序的记述简洁化,有容易安装的效果。
附图说明
图1是表示信息处理装置1的结构的图。
图2是为了说明信息处理装置1的中断控制而使用的流程图。
图3是信息处理装置1执行的程序的一例。
图4是表示图3所示的程序的具体的流程的一例的图。
图5是表示作为变形例的信息处理装置1A的结构的图。
标号说明
1A信息处理装置
2命令存储器
3处理器
4例外控制部
5中断控制器
6(第1)加速器
7、9状态通知部
8第n加速器
20地址总线
21数据总线
22请求总线
23busy/idle信号线
24error信号线
具体实施方式
下面使用附图对本发明的一实施方式进行说明。
<结构>
图1是表示信息处理装置1的结构的图。
信息处理装置1具备:命令存储器2、处理器3、例外控制部4、中断控制器5、加速器6。
在信息处理装置1中,通过处理器3执行被存储在命令存储器2中的程序,处理器3对加速器6进行处理的委托。
处理器3与加速器6经由地址总线20、数据总线21、请求总线22连接,请求总线22经由例外控制部4。
例外控制部4与加速器6经由作为传送状态信息的专用线的busy/idle信号线23和error信号线24而连接。
处理器3与例外控制部4被形成在相同的芯片上,加速器6被形成在其他芯片上。此外,处理器3及例外控制部4以相同的时钟周期动作。
处理器3在其内部具有作为通用寄存器的reg0、reg1、reg2、reg3、程序计数器(program counter,以下称作“pc”)、和例外程序计数器(exception program counter,以下称作“epc”)。
pc是存储有保存着当前执行的命令的地点(番地)的寄存器,epc是存储有保存着转移到例外处理程序之前所执行的命令的地点的寄存器。
例外控制部4在其内部具有作为寄存器的reg、intreg。
加速器6在其内部具有作为寄存器的extreg、和将表示加速器6的当前的状态的状态信息通知给例外控制部4的状态通知部7。
命令存储器2存储有由多个命令构成的程序,是一般的存储器。
处理器3是从命令存储器2读出(取得)命令并解读(解码)、执行的一般的处理器。
如果处理器3解读出的命令是表示在加速器6的extreg中写入表示处理委托的命令的write命令或将写入到extreg中的加速器6的处理结果读出的read命令(以下将有关加速器6的命令简单称作“加速器命令”),则对加速器6经由地址总线20发送写入目标或读出目标的地址,经由数据总线21发送操作数等的数据,经由请求总线22发送命令。
另外,在处理器3执行的程序中预先记述为不能连续发出相同的加速器命令,并且记述为设定例外向量地址(例外ベクタアドレス)。
所谓的例外向量地址,是例外处理程序的开始地址。
处理器3如果从中断控制器5接受到指定预定的例外向量地址的中断请求,则从通常的处理顺序分支,读出、解读并执行所指定的例外向量地址所表示的地点的命令。
加速器6是MPEG(Motion Picture Expert Group)的图像编码加速器,具有通过从处理器3将表示处理委托的命令写入到extreg中来执行图像编码处理的功能。
加速器6假设会发生比特流的溢出或固有的错误等的例外,但只要不发生这样的例外,就在处理器3及例外控制部4的时钟周期的1周期的期间中实行所委托的处理,将执行的结果写入到extreg中。
状态通知部7具有经由busy/idle信号线23和error信号线24将状态信息通知给例外控制部4的功能。
具体而言,在加速器6为处理的执行中的情况下,通过busy/idle信号线23发送busy信号,在没有进行处理的情况下通过busy/idle信号线23发送idle信号,在发生了错误的情况下通过error信号线24发送error信号。
另外,在发生了错误的情况下不发送busy信号及idle信号。
从状态通知部7通知的状态信息被写入、改写更新到例外控制部4的reg中。
具体而言,如果被通知了busy信号,则将表示“busy”的值写入到reg中,如果被通知了idle信号,则将表示“idle”的值写入到reg中,如果被通知了error信号,则将表示“error”的值写入到reg中。
例外控制部4具有根据写入到intreg中的设定信息和写入到reg中的状态信息,进行是否使中断控制器5通知“BUSY”中断请求、或“READY”中断请求的任一个的判断的功能。
“BUSY”中断是在加速器6中发生的例外复原之前的期间、在处理器3中从通常的处理顺序分支而启动例外处理程序的中断,“READY”中断是启动进行用来使处理器3回到通常的处理顺序的处理的例外处理程序(以下为了区别而称作“复原用例外处理程序”)的中断。
例外控制部4的intreg根据处理器3从命令存储器2读出并执行的命令,被写入表示“BUSY”或“READY”的任一个的设定信息。
“BUSY”表示进行是否使中断控制器5通知“BUSY”中断请求的判断的设定,“READY”表示进行是否使中断控制器5通知“READY”中断请求的判断的设定。
如果处理器3执行加速器命令,则该命令经由请求总线22被传递给例外控制部4,在写入到intreg中的设定信息是“BUSY”、写入到reg中的状态信息是“busy”或“error”的情况下,例外控制部4进行将产生“BUSY”中断的指示通知给中断控制器5的判断。
相反,在写入到intreg中的设定信息是“BUSY”、写入到reg中的状态信息是“idle”的情况下,进行不将上述指示通知给中断控制器5的判断。
此外,例外控制部4在写入到intreg中的设定信息是“READY”、写入到reg中的状态信息从“busy”或“error”变化为“idle”的情况下,进行将产生“READY”中断的指示通知给中断控制器5的判断。
中断控制器5具有根据从例外控制部4通知的中断发生指示、使处理器3产生“BUSY”中断请求或“READY”中断请求的任一个的功能。
<动作>
接着,对信息处理装置1的动作进行说明。
图2是为了说明信息处理装置1的中断控制而使用的流程图。
首先,从处理器3的动作开始说明。
处理器3从命令存储器2读出命令并解读(步骤S1),执行其解读后的命令(步骤S2)。
处理器3如果从中断控制器5接受到“BUSY”中断请求(步骤S3:是),则根据被指定的例外向量地址启动例外处理程序(步骤S4)。如果没有接受到“BUSY”中断请求(步骤S3:否),则进行通常处理的命令的读出及解读。
处理器3如果在例外处理程序的执行中接受到“READY”中断请求(步骤S5:是),则根据被指定的例外向量地址启动复原用例外处理程序(步骤S6)。如果没有接受到“READY”中断请求(步骤S5:否),则继续例外处理程序的执行。
接着,对例外控制部4及中断控制器5的动作进行说明。
如果处理器3解读的命令是加速器命令(步骤S11:是),则经由请求总线22被传递给例外控制部4,例外控制部4确认intreg的设定信息和reg的状态信息。
结果,如果设定信息是“BUSY”、状态信息是“busy”或“error”(步骤S12:是),则例外控制部4不将加速器命令传递给加速器6,进行使中断控制器5通知“BUSY”中断请求的判断。
中断控制器5根据上述判断,对处理器3通知“BUSY”中断请求(步骤S13)。
然后,如果例外控制部4根据状态通知部7的通知而检测到reg的状态信息从“busy”改写为“idle”而变化的情况(步骤S14:是),则例外控制部4进行使中断控制器5通知“READY”中断请求的判断。
中断控制器5根据上述判断,对处理器3通知“READY”中断请求(步骤S15)。
最后对加速器6的动作进行说明。
加速器6总是将自身的当前状态经由busy/idle信号线23及error信号线24通知给例外控制部4(步骤S21)。
这里,说明信息处理装置1的具体的动作。
图3是表示信息处理装置1执行的程序的一例,图4是表示图3所示的程序的具体的流程的一例的图。
在图4所示的周期1中,处理器3如果解读图3所示的程序行号1的write BUSY、intreg;,则处理器3在intreg中写入“BUSY”。
在周期2中,处理器3如果解读程序行号2的write CMD0,extreg;,则由于该命令是加速器命令,所以被经由请求总线22被传递给例外控制部4,例外控制部4确认写入到intreg中的设定信息及写入到reg中的状态信息。此时,由于设定信息是“BUSY”、状态信息是“idle”,所以原样执行。
状态信息根据来自状态通知部7的通知而被写入前1个周期中的加速器6的状态。
在周期3中,由于处理器3解读的命令是nop(no operation)即表示什么都不做的命令,所以处理器3什么都不做。
另一方面,在周期3中,加速器6由于执行了写入到extreg中的CMD0,所以是“busy”状态。
在周期4中,由于处理器3解读的命令是nop,所以处理器3什么都不做。
另一方面,在周期4中,加速器6由于发生了比特流的溢出,所以是“busy”状态。
如上所述,加速器6基本上在1个周期中执行处理,将结果写入到extreg中,直接回到“idle”状态,但如果发生了比特流的溢出,则“busy”状态跨越几个周期而持续。
在周期5中,如果处理器3解读程序行号5的read extreg,reg0;,则由于该命令是加速器命令,所以经由请求总线22被传递给例外控制部4,例外控制部4确认写入到intreg中的设定信息及写入到reg中的状态信息。
此时,由于设定信息是“BUSY”、状态信息是“busy”,所以例外控制部4进行不将加速器命令传递给加速器6、而使中断控制器5通知“BUSY”中断请求的判断。
根据上述判断,中断控制器5对处理器3通知指定表示程序行号11的命令保存地址的例外向量地址的“BUSY”中断请求。
处理器3接受到该请求,在周期6中,解读并执行程序行号11的read epc,reg2;。即,处理器3将epc的值(程序行号5的命令保存地点)读出到reg2。
接着,处理器3在周期7中解读并执行程序行号12的store reg2,mem;。即,处理器3将reg2的值保存到mem(表示命令存储器2)中。
接着,处理器3在周期8中解读并执行程序行号13的writeREADY,intreg;。即,处理器3将“READY”写入到intreg中。
接着,处理器3在周期9~11中,反复执行程序行号14的gotoLoop;。
在周期11中,例外控制部4根据来自状态信息通知部7的通知,检测到reg的状态信息从“busy”改写为“idle”而变化的情况,使中断控制器5通知“READY”中断请求。
根据来自例外控制部4的指示,中断控制器5对处理器3通知指定表示程序行号15的命令保存地址的例外向量地址的“READY”中断请求。
处理器3接受到该请求,在周期12中解读并执行程序行号15的write BUSY,intreg;。即,处理器3将“BUSY”写入到intreg中。
接着,处理器3在周期13中解读并执行程序行号16的load mem,reg3;。即,处理器3将保存在mem中的epc的值(程序行号5的命令保存地点)装载到reg3中。
接着,处理器3在周期14中解读并执行程序行号17的returnreg3;。即,处理器3将pc返回给装载于reg3中的值表示的命令保存地点。
在周期15中,处理器3解读程序行号5的read extreg,reg0;。由于该命令是加速器命令,所以经由请求总线22被传递给例外控制部4。例外控制部4确认写入到intreg中的设定信息及写入到reg中的状态信息。
此时,由于设定信息是“BUSY”、状态信息是“idle”,所以原样执行。
在周期16中,处理器3如果解读程序行号6的write CMD1,exreg;,则由于该命令是加速器命令,所以经由请求总线22被传递给例外控制部4。例外控制部4确认写入到intreg中的设定信息及写入到reg中的状态信息。
此时,由于设定信息是“BUSY”、状态信息是“idle”,所以原样执行。
在周期17、18中,由于处理器3解读的命令是nop,所以处理器3什么也不做。
另一方面,在周期19中,加速器6由于正执行写入到extreg中的CMD0,所以是“busy”状态。并且,在周期18中,加速器6发生固有的错误,是“error”状态。
在周期19中,处理器3如果解读程序行号9的read extreg,reg1;,则由于该命令是加速器命令,所以经由请求总线22被传递给例外控制部4。并且,例外控制部4确认写入到inntreg中的设定信息及写入到reg中的状态信息。
此时,由于状态信息是“error”、设定信息是“BUSY”,所以例外控制部4不对加速器6传递加速器命令,而使中断控制器5通知“BUSY”中断请求。
根据来自例外控制部4的指示,中断控制器5对处理器3通知指定表示程序行号11的命令保存地址的例外向量地址的“BUSY”中断请求。
处理器3接受该请求,在加速器6中解读并执行程序行号11的read epc,reg2;。
以上对信息处理装置1的具体的动作进行了说明,但在上述结构的信息处理装置1中,总是经由专用线将加速器6的状态通知给例外控制部4,例外控制部4根据被通知的状态信息和设定信息进行是否使中断控制器产生中断的判断,所以与以往相比能够更迅速地进行例外处理程序和通常处理的切换,能够减少通常处理的停滞。
<变形例>
上述的信息处理装置1只有1个加速器,但也可以具备多个。
图5是表示具备n个(n>2)加速器的信息处理装置1A的结构的图。
与信息处理装置1的不同点是所具备的加速器为多个这一点、和例外控制部4A具备多个存储与其对应的状态信息及设定信息的寄存器这一点。
第1加速器6与第n加速器8分别执行的处理不同,能够发生的例外也不同。
第1加速器6是MPEG的图像编码加速器,具有通过从处理器3将表示处理委托的命令写入到extreg中而执行图像编码处理的功能,假设会发生比特流的溢出或固有的错误等的例外。
第n加速器8是MPEG的图像解码加速器,具有通过从处理器3将表示处理委托的命令写入到extreg中而执行图像解码处理的功能,假设会发生比特流的下溢或固有的错误等的例外。
此外,虽然没有图示,但第n-1加速器不发生固有的例外而仅发生地址未安装例外。
例外控制部4A根据分别对应于上述多个加速器而写入到aintregn中的设定信息和写入到aregn中的状态信息,进行是否使中断控制器5通知“BUSY”中断请求、或者“READY”中断请求的任一个的判断。
<补充>
另外,本发明当然并不限于上述的实施方式。以下所示的内容也包含在本发明中。
(1)在上述的实施方式中,以处理器与加速器以相同的时钟周期动作而进行了说明,但动作频率也可以不相同。一般加速器的动作频率比处理器慢。
(2)在上述的实施方式中,处理器3与例外控制部4形成在相同的芯片上,加速器6形成在另外的芯片上,但也可以将处理器3、例外控制部4和加速器6形成在1个LSI(Large Scale Integration)芯片上。此外,如果因半导体技术的进步、或者派生的其他技术而出现替换当前的半导体技术的集成电路化的技术,则也可以形成在利用该技术进行集成化的芯片上。
(3)在上述的实施方式中,例外控制部4作为与处理器3另外的电路进行了说明,但也可以是包含在处理器3中的一功能部。
(4)加速器6也可以通过能够将要执行的例行程序处理编程的逻辑元件来实现。
工业实用性
本发明对于具备硬件加速器等、从处理器接受处理委托而进行特定的处理的信息处理电路的信息处理装置,例如便携电话机、数字电视机、录音机、个人电脑等是有实用性的。

Claims (9)

1、一种信息处理装置,具备:处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、对该处理器通知中断请求的中断控制器、以及例外控制部,其特征在于,
上述信息处理电路与上述例外控制部通过专用线连接;
上述信息处理电路具有经由上述专用线将表示自身电路的当前的状态的状态信息通知给上述例外控制部的通知部;
上述例外控制部基于根据来自上述处理器的指示而设定的设定信息、和被通知的状态信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断。
2、如权利要求1所述的信息处理装置,其特征在于,上述例外控制部,在上述处理器执行用来对上述信息处理电路进行处理委托的命令及用来读出该处理的结果的命令中的任一个时,在要执行该命令的周期内进行上述判断。
3、如权利要求1所述的信息处理装置,其特征在于,
上述状态信息表示上述信息处理电路正在执行处理的忙碌状态及没有执行处理的闲置状态中的任一个状态;
上述设定信息是表示进行是否使上述中断控制器通知第1种中断请求的判断的设定的第1信息、以及表示进行是否使上述中断控制器通知第2种中断请求的判断的设定的第2信息中的任一个,上述第1种中断请求使处理器的执行对象转移到第1例外处理程序,上述第2种中断请求使处理器的执行对象转移到第2例外处理程序;
上述第2例外处理程序是用来复原为上述处理器执行的通常的处理顺序的处理;
上述例外控制部,
在上述设定信息是第1信息、且上述状态信息是表示忙碌状态的信息的情况下,进行使上述中断控制器通知第1种中断请求的判断,在上述设定信息是第1信息、且上述状态信息是表示闲置状态的信息的情况下,进行不使上述中断控制器通知第1种中断请求的判断;
在上述设定信息是第2信息、且上述状态信息从表示忙碌状态的信息变化为表示闲置状态的信息的情况下,进行使上述中断控制器通知第2种中断请求的判断。
4、如权利要求1所述的信息处理装置,其特征在于,
上述状态信息是表示上述信息处理电路正在执行处理的忙碌状态、没有执行处理的闲置状态、以及发生了错误的错误状态中的任一个状态的信息;
上述设定信息是表示进行是否使上述中断控制器通知第1种中断请求的判断的设定的第1信息、以及表示进行是否使上述中断控制器通知第2种中断请求的判断的设定的第2信息中的任一个,上述第1种中断请求使处理器的执行对象转移到第1例外处理程序,上述第2种中断请求使处理器的执行对象转移到第2例外处理程序;
上述第2例外处理程序是用来复原为上述处理器执行的通常的处理顺序的处理;
上述例外控制部,
在上述设定信息是第1信息、且上述状态信息是表示忙碌状态或错误状态的信息的情况下,进行使上述中断控制器通知第1种中断请求的判断,在上述设定信息是第1信息、且上述状态信息是表示闲置状态的信息的情况下,进行不使上述中断控制器通知第1种中断请求的判断;
在上述设定信息是第2信息、且上述状态信息从表示忙碌状态或错误状态的信息变化为表示闲置状态的信息的情况下,进行使上述中断控制器通知第2种中断请求的判断。
5、如权利要求1所述的信息处理装置,其特征在于,上述处理器与上述例外控制部被形成在相同的芯片上,上述信息处理电路被形成在其他芯片上。
6、如权利要求1所述的信息处理装置,其特征在于,
上述信息处理装置具备多个上述信息处理电路;
上述多个信息处理电路与上述例外控制部分别通过专用线连接;
上述例外控制部基于根据来自上述处理器的指示而分别设定的各信息处理电路用的设定信息、和从各信息处理电路通知的状态信息,进行上述判断。
7、如权利要求1所述的信息处理装置,其特征在于,上述信息处理电路是执行例行程序处理的加速器。
8、一种例外控制电路,被组装在具备处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、以及对该处理器通知中断请求的中断控制器的信息处理装置中,其特征在于,
该例外控制电路与上述信息处理电路通过专用线连接;
具备:
第1寄存器,从上述信息处理电路经由专用线受理表示该信息处理电路的当前的状态的状态信息并加以存储;
第2寄存器,存储根据来自上述处理器的指示而设定的设定信息;
根据存储在上述第1寄存器中的状态信息、和存储在上述第2寄存器中的设定信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断的模块。
9、一种例外控制方法,在具备处理器、从该处理器接受处理委托而执行特定的处理的信息处理电路、和对该处理器通知中断请求的中断控制器的信息处理装置中使用,其特征在于,
基于根据来自上述处理器的指示而设定的设定信息、和从上述信息处理电路通知的表示该信息处理电路的当前的状态的状态信息,进行是否使上述中断控制器通知使处理器的执行对象转移到对应的例外处理程序的中断请求的判断。
CNB2005800287320A 2004-08-27 2005-08-19 信息处理装置、例外控制电路 Active CN100451950C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP248040/2004 2004-08-27
JP2004248040 2004-08-27

Publications (2)

Publication Number Publication Date
CN101023410A CN101023410A (zh) 2007-08-22
CN100451950C true CN100451950C (zh) 2009-01-14

Family

ID=35967414

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800287320A Active CN100451950C (zh) 2004-08-27 2005-08-19 信息处理装置、例外控制电路

Country Status (4)

Country Link
US (2) US7934082B2 (zh)
JP (2) JP4564011B2 (zh)
CN (1) CN100451950C (zh)
WO (1) WO2006022202A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451950C (zh) * 2004-08-27 2009-01-14 松下电器产业株式会社 信息处理装置、例外控制电路
JP2008130056A (ja) * 2006-11-27 2008-06-05 Renesas Technology Corp 半導体回路
US7865675B2 (en) * 2007-12-06 2011-01-04 Arm Limited Controlling cleaning of data values within a hardware accelerator
GB2471138B (en) * 2009-06-19 2014-08-13 Advanced Risc Mach Ltd Handling integer and floating point registers during a context switch
US8972642B2 (en) * 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
US11204766B2 (en) * 2019-08-30 2021-12-21 Intel Corporation Proactive Di/Dt voltage droop mitigation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890010A (en) * 1994-02-07 1999-03-30 Fujitsu Limited Data processing apparatus with a coprocessor which asynchronously executes commands stored in a coprocessor command storage section
US5987556A (en) * 1997-06-10 1999-11-16 Hitachi, Ltd. Data processing device having accelerator for digital signal processing
US20020056034A1 (en) * 1999-10-01 2002-05-09 Margaret Gearty Mechanism and method for pipeline control in a processor
CN1109966C (zh) * 1995-01-24 2003-05-28 国际商业机器公司 用于在并行处理中处理推测性指令例外的方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5632037A (en) * 1992-03-27 1997-05-20 Cyrix Corporation Microprocessor having power management circuitry with coprocessor support
JPH07129414A (ja) * 1993-11-08 1995-05-19 Fujitsu Ltd データ処理装置
JPH07262023A (ja) * 1994-03-23 1995-10-13 Fujitsu Ltd 割込制御方式
US5784291A (en) * 1994-12-22 1998-07-21 Texas Instruments, Incorporated CPU, memory controller, bus bridge integrated circuits, layout structures, system and methods
US6373493B1 (en) * 1995-05-01 2002-04-16 Apple Computer, Inc. Hardware graphics accelerator having access to multiple types of memory including cached memory
US6061711A (en) * 1996-08-19 2000-05-09 Samsung Electronics, Inc. Efficient context saving and restoring in a multi-tasking computing system environment
US7016998B2 (en) * 2000-11-27 2006-03-21 Silicon Graphics, Inc. System and method for generating sequences and global interrupts in a cluster of nodes
US6907521B2 (en) * 2001-09-28 2005-06-14 Intel Corporation Enabling video BIOS and display drivers to leverage system BIOS platform abstract
US7673304B2 (en) * 2003-02-18 2010-03-02 Microsoft Corporation Multithreaded kernel for graphics processing unit
CN100451950C (zh) * 2004-08-27 2009-01-14 松下电器产业株式会社 信息处理装置、例外控制电路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5890010A (en) * 1994-02-07 1999-03-30 Fujitsu Limited Data processing apparatus with a coprocessor which asynchronously executes commands stored in a coprocessor command storage section
CN1109966C (zh) * 1995-01-24 2003-05-28 国际商业机器公司 用于在并行处理中处理推测性指令例外的方法和装置
US5987556A (en) * 1997-06-10 1999-11-16 Hitachi, Ltd. Data processing device having accelerator for digital signal processing
US20020056034A1 (en) * 1999-10-01 2002-05-09 Margaret Gearty Mechanism and method for pipeline control in a processor

Also Published As

Publication number Publication date
JP2010102732A (ja) 2010-05-06
US20090049219A1 (en) 2009-02-19
US20110173361A1 (en) 2011-07-14
US8082429B2 (en) 2011-12-20
US7934082B2 (en) 2011-04-26
WO2006022202A1 (ja) 2006-03-02
JPWO2006022202A1 (ja) 2008-05-08
JP4564011B2 (ja) 2010-10-20
JP4569934B2 (ja) 2010-10-27
CN101023410A (zh) 2007-08-22

Similar Documents

Publication Publication Date Title
EP1582980B1 (en) Context switching method, device, program, recording medium, and central processing unit
CN100451950C (zh) 信息处理装置、例外控制电路
JP2010044578A (ja) マルチコアプロセッサ
US5689714A (en) Method and apparatus for providing low power control of peripheral devices using the register file of a microprocessor
JP2000187600A (ja) ウオッチドッグタイマ方式
CN104636289A (zh) 半导体装置
US8332596B2 (en) Multiple error management in a multiprocessor computer system
EP1652079A2 (en) Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
US7191313B2 (en) Microprocessor
JP4114946B2 (ja) データ処理装置
US6920513B2 (en) Bus management techniques
US5561818A (en) Microprocessor and data processing system for data transfer using a register file
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
US20200285472A1 (en) Context-Switching Method and Apparatus
JP2002278753A (ja) データ処理システム
JPS6225334A (ja) 命令処理方式
CN113687784A (zh) 一种双控切换存储的方法、装置及电子设备
JP3128791B2 (ja) Faコントローラ
JPS6352240A (ja) デ−タ処理装置
CN103294619A (zh) 输出输入控制装置与其控制方法
US20040230319A1 (en) Microcontroller device for complex processing procedures and corresponding interrupt management process
JP2000122882A (ja) マルチスレッドプロセッサおよびデバッグ装置
JP2000155674A (ja) プログラム入替装置及びその入替方法
JP2005078484A (ja) 命令フェッチ装置および方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: INTELLECTUAL PROPERTY BRIDGE NO. 1 CO., LTD.

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20150527

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150527

Address after: Tokyo, Japan

Patentee after: GODO KAISHA IP BRIDGE 1

Address before: Osaka Japan

Patentee before: Matsushita Electric Industrial Co., Ltd.