亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

信息處理裝置、例外控制電路的制作方法

文檔序號:6656676閱讀:462來源:國知局
專利名稱:信息處理裝置、例外控制電路的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及具備從處理器接受處理委托而執(zhí)行特定的處理的信息處理電路的信息處理裝置,特別涉及對在信息處理電路中發(fā)生的例外的控制。
背景技術(shù)
一般,在個(gè)人電腦或移動(dòng)電話設(shè)備等的信息處理裝置中,為了減輕所搭載的處理器的負(fù)荷并提高處理性能,具備執(zhí)行從處理器委托的特定的處理的信息處理電路(例如圖形加速器、協(xié)處理器等)。
并且,在信息處理電路執(zhí)行的處理中,有發(fā)生例外的情況。
所謂的例外,是指違背信息處理裝置的通常動(dòng)作的流程的特殊的狀況。例如,是指在程序的時(shí)間表上雖然在能夠處理的時(shí)刻處理器進(jìn)行了處理委托,但信息處理電路不能處理的狀況;或者在能夠進(jìn)行信息處理電路處理完的結(jié)果的讀出的時(shí)刻,雖然處理器要進(jìn)行處理結(jié)果的讀出,但在信息處理電路中處理結(jié)果沒有出來的狀況,或者在信息處理電路中發(fā)生了錯(cuò)誤的狀況等。
對于這樣的例外發(fā)生,信息處理裝置使處理器發(fā)生中斷,變更通常的處理順序,將控制轉(zhuǎn)移到預(yù)先設(shè)定的例外處理程序的開始地址,來處理該例外。
但是,在信息處理電路中發(fā)生了例外,處理器執(zhí)行例外處理程序的期間,由于通常的處理順序停止,所以從處理器的處理性能的提高的觀點(diǎn)來看,要求有在處理器側(cè)較早地檢測出在信息處理電路中發(fā)生了的例外以及從該例外的復(fù)原、迅速地進(jìn)行例外處理程序與通常處理的切換的技術(shù)。

發(fā)明內(nèi)容
所以,本發(fā)明的目的是提供一種與以往相比能夠更迅速地進(jìn)行例外處理程序與通常處理的切換的信息處理裝置、例外控制電路以及例外控制方法。
為了達(dá)到上述目的,有關(guān)本發(fā)明的信息處理裝置具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、對該處理器通知中斷請求的中斷控制器、以及例外控制部,其特征在于,上述信息處理電路與上述例外控制部通過專用線連接;上述信息處理電路具有經(jīng)由上述專用線將表示自身電路的當(dāng)前的狀態(tài)的狀態(tài)信息通知給上述例外控制部的通知部;上述例外控制部基于根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息、和被通知的狀態(tài)信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷。
有關(guān)本發(fā)明的例外控制電路,被組裝在具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、以及對該處理器通知中斷請求的中斷控制器的信息處理裝置中,其特征在于,該例外控制電路與上述信息處理電路通過專用線連接;具備第1寄存器,從上述信息處理電路經(jīng)由專用線受理表示該信息處理電路的當(dāng)前的狀態(tài)的狀態(tài)信息并加以存儲(chǔ);第2寄存器,存儲(chǔ)根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息;根據(jù)存儲(chǔ)在上述第1寄存器中的狀態(tài)信息、和存儲(chǔ)在上述第2寄存器中的設(shè)定信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷的機(jī)構(gòu)。
此外,有關(guān)本發(fā)明的例外控制方法,在具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、和對該處理器通知中斷請求的中斷控制器的信息處理裝置中使用,其特征在于,基于根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息、和從上述信息處理電路通知的表示該信息處理電路的當(dāng)前的狀態(tài)的狀態(tài)信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷。
發(fā)明的效果在上述結(jié)構(gòu)的信息處理裝置中,將表示信息處理電路的當(dāng)前的狀態(tài)的狀態(tài)信息經(jīng)由專用線通知給例外控制部,例外控制部根據(jù)被通知的狀態(tài)信息和設(shè)定信息進(jìn)行是否使中斷控制器產(chǎn)生中斷的判斷,所以與以往相比能夠更迅速地進(jìn)行例外處理程序與通常處理的切換,能夠減少通常處理的停滯。
此外,一般信息處理電路的動(dòng)作頻率比處理器的動(dòng)作頻率慢,所以如果使用上述結(jié)構(gòu)的信息處理裝置,則因信息處理電路的例外發(fā)生而帶來的處理器的通常處理的停滯的減少效果較大。
對于組裝有上述結(jié)構(gòu)的例外控制電路的信息處理裝置以及上述例外控制方法也能夠得到同樣的效果。
這里,也可以是,上述例外控制部在上述處理器執(zhí)行用來對上述信息處理電路進(jìn)行處理委托的命令及用來讀出該處理的結(jié)果的命令中的任一個(gè)時(shí),在要執(zhí)行該命令的周期內(nèi)進(jìn)行上述判斷。
根據(jù)該結(jié)構(gòu),與有關(guān)上述信息處理電路的命令的執(zhí)行一起,在其執(zhí)行周期內(nèi),進(jìn)行是否產(chǎn)生轉(zhuǎn)移到預(yù)定的例外處理程序的中斷的判斷,所以與以往相比能夠更迅速地進(jìn)行例外處理程序與通常處理的切換,能夠減少通常處理的停滯。
此外,也可以是,上述狀態(tài)信息表示上述信息處理電路正在執(zhí)行處理的忙碌狀態(tài)及沒有執(zhí)行處理的閑置狀態(tài)中的任一個(gè)狀態(tài);上述設(shè)定信息是表示進(jìn)行是否使上述中斷控制器通知第1種中斷請求的判斷的設(shè)定的第1信息、以及表示進(jìn)行是否使上述中斷控制器通知第2種中斷請求的判斷的設(shè)定的第2信息中的任一個(gè),上述第1種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第1例外處理程序,上述第2種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第2例外處理程序;上述第2例外處理程序是用來復(fù)原為上述處理器執(zhí)行的通常的處理順序的處理;上述例外控制部,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示忙碌狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第1種中斷請求的判斷,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示閑置狀態(tài)的信息的情況下,進(jìn)行不使上述中斷控制器通知第1種中斷請求的判斷;在上述設(shè)定信息是第2信息、且上述狀態(tài)信息從表示忙碌狀態(tài)的信息變化為表示閑置狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第2種中斷請求的判斷;也可以是,上述狀態(tài)信息是表示上述信息處理電路正在執(zhí)行處理的忙碌狀態(tài)、沒有執(zhí)行處理的閑置狀態(tài)、以及發(fā)生了錯(cuò)誤的錯(cuò)誤狀態(tài)中的任一個(gè)狀態(tài)的信息;上述設(shè)定信息是表示進(jìn)行是否使上述中斷控制器通知第1種中斷請求的判斷的設(shè)定的第1信息、以及表示進(jìn)行是否使上述中斷控制器通知第2種中斷請求的判斷的設(shè)定的第2信息中的任一個(gè),上述第1種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第1例外處理程序,上述第2種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第2例外處理程序;上述第2例外處理程序是用來復(fù)原為上述處理器執(zhí)行的通常的處理順序的處理;上述例外控制部,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示忙碌狀態(tài)或錯(cuò)誤狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第1種中斷請求的判斷,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示閑置狀態(tài)的信息的情況下,進(jìn)行不使上述中斷控制器通知第1種中斷請求的判斷;在上述設(shè)定信息是第2信息、且上述狀態(tài)信息從表示忙碌狀態(tài)或錯(cuò)誤狀態(tài)的信息變化為表示閑置狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第2種中斷請求的判斷。
根據(jù)該結(jié)構(gòu),通過從上述處理器設(shè)定的設(shè)定信息決定處理器轉(zhuǎn)移的例外處理程序,根據(jù)從信息處理電路通知的狀態(tài)信息(忙碌狀態(tài)、錯(cuò)誤狀態(tài)、閑置狀態(tài)),能夠迅速地進(jìn)行例外處理程序與通常處理的切換,能夠減少通常處理的停滯。
此外,也可以是,上述處理器與上述例外控制部形成在相同的芯片上,上述信息處理電路形成在其他芯片上。
上述處理器及上述例外控制部優(yōu)選地形成在相同的芯片上,另一方面,即使上述信息處理電路形成在從形成有上述處理器及上述例外控制部的芯片分離獨(dú)立的芯片上,信息處理裝置與以往相比也能夠更迅速地進(jìn)行例外處理程序與通常處理的切換,能夠減少通常處理的停滯。
此外,也可以是,上述信息處理裝置具備多個(gè)上述信息處理電路;上述多個(gè)信息處理電路與上述例外控制部分別通過專用線連接;上述例外控制部基于根據(jù)來自上述處理器的指示而分別設(shè)定的各信息處理電路用的設(shè)定信息、和從各信息處理電路通知的狀態(tài)信息,進(jìn)行上述判斷。
信息處理裝置可以具備多個(gè)信息處理電路,即使在有多個(gè)的情況下,也根據(jù)經(jīng)由將各信息處理電路與例外控制部連接的各個(gè)專用線通知的狀態(tài)信息和設(shè)定信息,進(jìn)行是否使中斷控制器產(chǎn)生中斷的判斷,所以與以往相比能夠更迅速地進(jìn)行例外處理程序與通常處理的切換,能夠減少通常處理的停滯。
此外,也可以是,上述信息處理電路是執(zhí)行例行程序處理的加速器。
由于限定了在信息處理電路中產(chǎn)生的例外,所以能夠?qū)⒈仨殰?zhǔn)備的例外處理程序的記述簡潔化,有容易安裝的效果。


圖1是表示信息處理裝置1的結(jié)構(gòu)的圖。
圖2是為了說明信息處理裝置1的中斷控制而使用的流程圖。
圖3是信息處理裝置1執(zhí)行的程序的一例。
圖4是表示圖3所示的程序的具體的流程的一例的圖。
圖5是表示作為變形例的信息處理裝置1A的結(jié)構(gòu)的圖。
標(biāo)號說明1A信息處理裝置2命令存儲(chǔ)器3處理器4例外控制部5中斷控制器6(第1)加速器7、9狀態(tài)通知部8第n加速器20地址總線21數(shù)據(jù)總線22請求總線23busy/idle信號線24error信號線具體實(shí)施方式
下面使用附圖對本發(fā)明的一實(shí)施方式進(jìn)行說明。
<結(jié)構(gòu)>
圖1是表示信息處理裝置1的結(jié)構(gòu)的圖。
信息處理裝置1具備命令存儲(chǔ)器2、處理器3、例外控制部4、中斷控制器5、加速器6。
在信息處理裝置1中,通過處理器3執(zhí)行被存儲(chǔ)在命令存儲(chǔ)器2中的程序,處理器3對加速器6進(jìn)行處理的委托。
處理器3與加速器6經(jīng)由地址總線20、數(shù)據(jù)總線21、請求總線22連接,請求總線22經(jīng)由例外控制部4。
例外控制部4與加速器6經(jīng)由作為傳送狀態(tài)信息的專用線的busy/idle信號線23和error信號線24而連接。
處理器3與例外控制部4被形成在相同的芯片上,加速器6被形成在其他芯片上。此外,處理器3及例外控制部4以相同的時(shí)鐘周期動(dòng)作。
處理器3在其內(nèi)部具有作為通用寄存器的reg0、reg1、reg2、reg3、程序計(jì)數(shù)器(program counter,以下稱作“pc”)、和例外程序計(jì)數(shù)器(exception program counter,以下稱作“epc”)。
pc是存儲(chǔ)有保存著當(dāng)前執(zhí)行的命令的地點(diǎn)(番地)的寄存器,epc是存儲(chǔ)有保存著轉(zhuǎn)移到例外處理程序之前所執(zhí)行的命令的地點(diǎn)的寄存器。
例外控制部4在其內(nèi)部具有作為寄存器的reg、intreg。
加速器6在其內(nèi)部具有作為寄存器的extreg、和將表示加速器6的當(dāng)前的狀態(tài)的狀態(tài)信息通知給例外控制部4的狀態(tài)通知部7。
命令存儲(chǔ)器2存儲(chǔ)有由多個(gè)命令構(gòu)成的程序,是一般的存儲(chǔ)器。
處理器3是從命令存儲(chǔ)器2讀出(取得)命令并解讀(解碼)、執(zhí)行的一般的處理器。
如果處理器3解讀出的命令是表示在加速器6的extreg中寫入表示處理委托的命令的write命令或?qū)懭氲絜xtreg中的加速器6的處理結(jié)果讀出的read命令(以下將有關(guān)加速器6的命令簡單稱作“加速器命令”),則對加速器6經(jīng)由地址總線20發(fā)送寫入目標(biāo)或讀出目標(biāo)的地址,經(jīng)由數(shù)據(jù)總線21發(fā)送操作數(shù)等的數(shù)據(jù),經(jīng)由請求總線22發(fā)送命令。
另外,在處理器3執(zhí)行的程序中預(yù)先記述為不能連續(xù)發(fā)出相同的加速器命令,并且記述為設(shè)定例外向量地址(例外ベクタアドレス)。
所謂的例外向量地址,是例外處理程序的開始地址。
處理器3如果從中斷控制器5接受到指定預(yù)定的例外向量地址的中斷請求,則從通常的處理順序分支,讀出、解讀并執(zhí)行所指定的例外向量地址所表示的地點(diǎn)的命令。
加速器6是MPEG(Motion Picture Expert Group)的圖像編碼加速器,具有通過從處理器3將表示處理委托的命令寫入到extreg中來執(zhí)行圖像編碼處理的功能。
加速器6假設(shè)會(huì)發(fā)生比特流的溢出或固有的錯(cuò)誤等的例外,但只要不發(fā)生這樣的例外,就在處理器3及例外控制部4的時(shí)鐘周期的1周期的期間中實(shí)行所委托的處理,將執(zhí)行的結(jié)果寫入到extreg中。
狀態(tài)通知部7具有經(jīng)由busy/idle信號線23和error信號線24將狀態(tài)信息通知給例外控制部4的功能。
具體而言,在加速器6為處理的執(zhí)行中的情況下,通過busy/idle信號線23發(fā)送busy信號,在沒有進(jìn)行處理的情況下通過busy/idle信號線23發(fā)送idle信號,在發(fā)生了錯(cuò)誤的情況下通過error信號線24發(fā)送error信號。
另外,在發(fā)生了錯(cuò)誤的情況下不發(fā)送busy信號及idle信號。
從狀態(tài)通知部7通知的狀態(tài)信息被寫入、改寫更新到例外控制部4的reg中。
具體而言,如果被通知了busy信號,則將表示“busy”的值寫入到reg中,如果被通知了idle信號,則將表示“idle”的值寫入到reg中,如果被通知了error信號,則將表示“error”的值寫入到reg中。
例外控制部4具有根據(jù)寫入到intreg中的設(shè)定信息和寫入到reg中的狀態(tài)信息,進(jìn)行是否使中斷控制器5通知“BUSY”中斷請求、或“READY”中斷請求的任一個(gè)的判斷的功能。
“BUSY”中斷是在加速器6中發(fā)生的例外復(fù)原之前的期間、在處理器3中從通常的處理順序分支而啟動(dòng)例外處理程序的中斷,“READY”中斷是啟動(dòng)進(jìn)行用來使處理器3回到通常的處理順序的處理的例外處理程序(以下為了區(qū)別而稱作“復(fù)原用例外處理程序”)的中斷。
例外控制部4的intreg根據(jù)處理器3從命令存儲(chǔ)器2讀出并執(zhí)行的命令,被寫入表示“BUSY”或“READY”的任一個(gè)的設(shè)定信息。
“BUSY”表示進(jìn)行是否使中斷控制器5通知“BUSY”中斷請求的判斷的設(shè)定,“READY”表示進(jìn)行是否使中斷控制器5通知“READY”中斷請求的判斷的設(shè)定。
如果處理器3執(zhí)行加速器命令,則該命令經(jīng)由請求總線22被傳遞給例外控制部4,在寫入到intreg中的設(shè)定信息是“BUSY”、寫入到reg中的狀態(tài)信息是“busy”或“error”的情況下,例外控制部4進(jìn)行將產(chǎn)生“BUSY”中斷的指示通知給中斷控制器5的判斷。
相反,在寫入到intreg中的設(shè)定信息是“BUSY”、寫入到reg中的狀態(tài)信息是“idle”的情況下,進(jìn)行不將上述指示通知給中斷控制器5的判斷。
此外,例外控制部4在寫入到intreg中的設(shè)定信息是“READY”、寫入到reg中的狀態(tài)信息從“busy”或“error”變化為“idle”的情況下,進(jìn)行將產(chǎn)生“READY”中斷的指示通知給中斷控制器5的判斷。
中斷控制器5具有根據(jù)從例外控制部4通知的中斷發(fā)生指示、使處理器3產(chǎn)生“BUSY”中斷請求或“READY”中斷請求的任一個(gè)的功能。
<動(dòng)作>
接著,對信息處理裝置1的動(dòng)作進(jìn)行說明。
圖2是為了說明信息處理裝置1的中斷控制而使用的流程圖。
首先,從處理器3的動(dòng)作開始說明。
處理器3從命令存儲(chǔ)器2讀出命令并解讀(步驟S1),執(zhí)行其解讀后的命令(步驟S2)。
處理器3如果從中斷控制器5接受到“BUSY”中斷請求(步驟S3是),則根據(jù)被指定的例外向量地址啟動(dòng)例外處理程序(步驟S4)。如果沒有接受到“BUSY”中斷請求(步驟S3否),則進(jìn)行通常處理的命令的讀出及解讀。
處理器3如果在例外處理程序的執(zhí)行中接受到“READY”中斷請求(步驟S5是),則根據(jù)被指定的例外向量地址啟動(dòng)復(fù)原用例外處理程序(步驟S6)。如果沒有接受到“READY”中斷請求(步驟S5否),則繼續(xù)例外處理程序的執(zhí)行。
接著,對例外控制部4及中斷控制器5的動(dòng)作進(jìn)行說明。
如果處理器3解讀的命令是加速器命令(步驟S11是),則經(jīng)由請求總線22被傳遞給例外控制部4,例外控制部4確認(rèn)intreg的設(shè)定信息和reg的狀態(tài)信息。
結(jié)果,如果設(shè)定信息是“BUSY”、狀態(tài)信息是“busy”或“error”(步驟S12是),則例外控制部4不將加速器命令傳遞給加速器6,進(jìn)行使中斷控制器5通知“BUSY”中斷請求的判斷。
中斷控制器5根據(jù)上述判斷,對處理器3通知“BUSY”中斷請求(步驟S13)。
然后,如果例外控制部4根據(jù)狀態(tài)通知部7的通知而檢測到reg的狀態(tài)信息從“busy”改寫為“idle”而變化的情況(步驟S14是),則例外控制部4進(jìn)行使中斷控制器5通知“READY”中斷請求的判斷。
中斷控制器5根據(jù)上述判斷,對處理器3通知“READY”中斷請求(步驟S15)。
最后對加速器6的動(dòng)作進(jìn)行說明。
加速器6總是將自身的當(dāng)前狀態(tài)經(jīng)由busy/idle信號線23及error信號線24通知給例外控制部4(步驟S21)。
這里,說明信息處理裝置1的具體的動(dòng)作。
圖3是表示信息處理裝置1執(zhí)行的程序的一例,圖4是表示圖3所示的程序的具體的流程的一例的圖。
在圖4所示的周期1中,處理器3如果解讀圖3所示的程序行號1的write BUSY、intreg;,則處理器3在intreg中寫入“BUSY”。
在周期2中,處理器3如果解讀程序行號2的write CMD0,extreg;,則由于該命令是加速器命令,所以被經(jīng)由請求總線22被傳遞給例外控制部4,例外控制部4確認(rèn)寫入到intreg中的設(shè)定信息及寫入到reg中的狀態(tài)信息。此時(shí),由于設(shè)定信息是“BUSY”、狀態(tài)信息是“idle”,所以原樣執(zhí)行。
狀態(tài)信息根據(jù)來自狀態(tài)通知部7的通知而被寫入前1個(gè)周期中的加速器6的狀態(tài)。
在周期3中,由于處理器3解讀的命令是nop(no operation)即表示什么都不做的命令,所以處理器3什么都不做。
另一方面,在周期3中,加速器6由于執(zhí)行了寫入到extreg中的CMD0,所以是“busy”狀態(tài)。
在周期4中,由于處理器3解讀的命令是nop,所以處理器3什么都不做。
另一方面,在周期4中,加速器6由于發(fā)生了比特流的溢出,所以是“busy”狀態(tài)。
如上所述,加速器6基本上在1個(gè)周期中執(zhí)行處理,將結(jié)果寫入到extreg中,直接回到“idle”狀態(tài),但如果發(fā)生了比特流的溢出,則“busy”狀態(tài)跨越幾個(gè)周期而持續(xù)。
在周期5中,如果處理器3解讀程序行號5的read extreg,reg0;,則由于該命令是加速器命令,所以經(jīng)由請求總線22被傳遞給例外控制部4,例外控制部4確認(rèn)寫入到intreg中的設(shè)定信息及寫入到reg中的狀態(tài)信息。
此時(shí),由于設(shè)定信息是“BUSY”、狀態(tài)信息是“busy”,所以例外控制部4進(jìn)行不將加速器命令傳遞給加速器6、而使中斷控制器5通知“BUSY”中斷請求的判斷。
根據(jù)上述判斷,中斷控制器5對處理器3通知指定表示程序行號“的命令保存地址的例外向量地址的“BUSY”中斷請求。
處理器3接受到該請求,在周期6中,解讀并執(zhí)行程序行號11的read epc,reg2;。即,處理器3將epc的值(程序行號5的命令保存地點(diǎn))讀出到reg2。
接著,處理器3在周期7中解讀并執(zhí)行程序行號12的store reg2,mem;。即,處理器3將reg2的值保存到mem(表示命令存儲(chǔ)器2)中。
接著,處理器3在周期8中解讀并執(zhí)行程序行號13的writeREADY,intreg;。即,處理器3將“READY”寫入到intreg中。
接著,處理器3在周期9~11中,反復(fù)執(zhí)行程序行號14的gotoLoop;。
在周期11中,例外控制部4根據(jù)來自狀態(tài)信息通知部7的通知,檢測到reg的狀態(tài)信息從“busy”改寫為“idle”而變化的情況,使中斷控制器5通知“READY”中斷請求。
根據(jù)來自例外控制部4的指示,中斷控制器5對處理器3通知指定表示程序行號15的命令保存地址的例外向量地址的“READY”中斷請求。
處理器3接受到該請求,在周期12中解讀并執(zhí)行程序行號15的write BUSY,intreg;。即,處理器3將“BUSY”寫入到intreg中。
接著,處理器3在周期13中解讀并執(zhí)行程序行號16的load mem,reg3;。即,處理器3將保存在mem中的epc的值(程序行號5的命令保存地點(diǎn))裝載到reg3中。
接著,處理器3在周期14中解讀并執(zhí)行程序行號17的returnreg3;。即,處理器3將pc返回給裝載于reg3中的值表示的命令保存地點(diǎn)。
在周期15中,處理器3解讀程序行號5的read extreg,reg0;。由于該命令是加速器命令,所以經(jīng)由請求總線22被傳遞給例外控制部4。例外控制部4確認(rèn)寫入到intreg中的設(shè)定信息及寫入到reg中的狀態(tài)信息。
此時(shí),由于設(shè)定信息是“BUSY”、狀態(tài)信息是“idle”,所以原樣執(zhí)行。
在周期16中,處理器3如果解讀程序行號6的write CMD1,exreg;,則由于該命令是加速器命令,所以經(jīng)由請求總線22被傳遞給例外控制部4。例外控制部4確認(rèn)寫入到intreg中的設(shè)定信息及寫入到reg中的狀態(tài)信息。
此時(shí),由于設(shè)定信息是“BUSY”、狀態(tài)信息是“idle”,所以原樣執(zhí)行。
在周期17、18中,由于處理器3解讀的命令是nop,所以處理器3什么也不做。
另一方面,在周期19中,加速器6由于正執(zhí)行寫入到extreg中的CMD0,所以是“busy”狀態(tài)。并且,在周期18中,加速器6發(fā)生固有的錯(cuò)誤,是“error”狀態(tài)。
在周期19中,處理器3如果解讀程序行號9的read extreg,reg1;,則由于該命令是加速器命令,所以經(jīng)由請求總線22被傳遞給例外控制部4。并且,例外控制部4確認(rèn)寫入到inntreg中的設(shè)定信息及寫入到reg中的狀態(tài)信息。
此時(shí),由于狀態(tài)信息是“error”、設(shè)定信息是“BUSY”,所以例外控制部4不對加速器6傳遞加速器命令,而使中斷控制器5通知“BUSY”中斷請求。
根據(jù)來自例外控制部4的指示,中斷控制器5對處理器3通知指定表示程序行號11的命令保存地址的例外向量地址的“BUSY”中斷請求。
處理器3接受該請求,在加速器6中解讀并執(zhí)行程序行號11的read epc,reg2;。
以上對信息處理裝置1的具體的動(dòng)作進(jìn)行了說明,但在上述結(jié)構(gòu)的信息處理裝置1中,總是經(jīng)由專用線將加速器6的狀態(tài)通知給例外控制部4,例外控制部4根據(jù)被通知的狀態(tài)信息和設(shè)定信息進(jìn)行是否使中斷控制器產(chǎn)生中斷的判斷,所以與以往相比能夠更迅速地進(jìn)行例外處理程序和通常處理的切換,能夠減少通常處理的停滯。
<變形例>
上述的信息處理裝置1只有1個(gè)加速器,但也可以具備多個(gè)。
圖5是表示具備n個(gè)(n>2)加速器的信息處理裝置1A的結(jié)構(gòu)的圖。
與信息處理裝置1的不同點(diǎn)是所具備的加速器為多個(gè)這一點(diǎn)、和例外控制部4A具備多個(gè)存儲(chǔ)與其對應(yīng)的狀態(tài)信息及設(shè)定信息的寄存器這一點(diǎn)。
第1加速器6與第n加速器8分別執(zhí)行的處理不同,能夠發(fā)生的例外也不同。
第1加速器6是MPEG的圖像編碼加速器,具有通過從處理器3將表示處理委托的命令寫入到extreg中而執(zhí)行圖像編碼處理的功能,假設(shè)會(huì)發(fā)生比特流的溢出或固有的錯(cuò)誤等的例外。
第n加速器8是MPEG的圖像解碼加速器,具有通過從處理器3將表示處理委托的命令寫入到extreg中而執(zhí)行圖像解碼處理的功能,假設(shè)會(huì)發(fā)生比特流的下溢或固有的錯(cuò)誤等的例外。
此外,雖然沒有圖示,但第n-1加速器不發(fā)生固有的例外而僅發(fā)生地址未安裝例外。
例外控制部4A根據(jù)分別對應(yīng)于上述多個(gè)加速器而寫入到aintregn中的設(shè)定信息和寫入到aregn中的狀態(tài)信息,進(jìn)行是否使中斷控制器5通知“BUSY”中斷請求、或者“READY”中斷請求的任一個(gè)的判斷。
<補(bǔ)充>
另外,本發(fā)明當(dāng)然并不限于上述的實(shí)施方式。以下所示的內(nèi)容也包含在本發(fā)明中。
(1)在上述的實(shí)施方式中,以處理器與加速器以相同的時(shí)鐘周期動(dòng)作而進(jìn)行了說明,但動(dòng)作頻率也可以不相同。一般加速器的動(dòng)作頻率比處理器慢。
(2)在上述的實(shí)施方式中,處理器3與例外控制部4形成在相同的芯片上,加速器6形成在另外的芯片上,但也可以將處理器3、例外控制部4和加速器6形成在1個(gè)LSI(Large Scale Integration)芯片上。此外,如果因半導(dǎo)體技術(shù)的進(jìn)步、或者派生的其他技術(shù)而出現(xiàn)替換當(dāng)前的半導(dǎo)體技術(shù)的集成電路化的技術(shù),則也可以形成在利用該技術(shù)進(jìn)行集成化的芯片上。
(3)在上述的實(shí)施方式中,例外控制部4作為與處理器3另外的電路進(jìn)行了說明,但也可以是包含在處理器3中的一功能部。
(4)加速器6也可以通過能夠?qū)⒁獔?zhí)行的例行程序處理編程的邏輯元件來實(shí)現(xiàn)。
工業(yè)實(shí)用性本發(fā)明對于具備硬件加速器等、從處理器接受處理委托而進(jìn)行特定的處理的信息處理電路的信息處理裝置,例如便攜電話機(jī)、數(shù)字電視機(jī)、錄音機(jī)、個(gè)人電腦等是有實(shí)用性的。
權(quán)利要求
1.一種信息處理裝置,具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、對該處理器通知中斷請求的中斷控制器、以及例外控制部,其特征在于,上述信息處理電路與上述例外控制部通過專用線連接;上述信息處理電路具有經(jīng)由上述專用線將表示自身電路的當(dāng)前的狀態(tài)的狀態(tài)信息通知給上述例外控制部的通知部;上述例外控制部基于根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息、和被通知的狀態(tài)信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷。
2.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述例外控制部,在上述處理器執(zhí)行用來對上述信息處理電路進(jìn)行處理委托的命令及用來讀出該處理的結(jié)果的命令中的任一個(gè)時(shí),在要執(zhí)行該命令的周期內(nèi)進(jìn)行上述判斷。
3.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述狀態(tài)信息表示上述信息處理電路正在執(zhí)行處理的忙碌狀態(tài)及沒有執(zhí)行處理的閑置狀態(tài)中的任一個(gè)狀態(tài);上述設(shè)定信息是表示進(jìn)行是否使上述中斷控制器通知第1種中斷請求的判斷的設(shè)定的第1信息、以及表示進(jìn)行是否使上述中斷控制器通知第2種中斷請求的判斷的設(shè)定的第2信息中的任一個(gè),上述第1種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第1例外處理程序,上述第2種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第2例外處理程序;上述第2例外處理程序是用來復(fù)原為上述處理器執(zhí)行的通常的處理順序的處理;上述例外控制部,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示忙碌狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第1種中斷請求的判斷,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示閑置狀態(tài)的信息的情況下,進(jìn)行不使上述中斷控制器通知第1種中斷請求的判斷;在上述設(shè)定信息是第2信息、且上述狀態(tài)信息從表示忙碌狀態(tài)的信息變化為表示閑置狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第2種中斷請求的判斷。
4.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述狀態(tài)信息是表示上述信息處理電路正在執(zhí)行處理的忙碌狀態(tài)、沒有執(zhí)行處理的閑置狀態(tài)、以及發(fā)生了錯(cuò)誤的錯(cuò)誤狀態(tài)中的任一個(gè)狀態(tài)的信息;上述設(shè)定信息是表示進(jìn)行是否使上述中斷控制器通知第1種中斷請求的判斷的設(shè)定的第1信息、以及表示進(jìn)行是否使上述中斷控制器通知第2種中斷請求的判斷的設(shè)定的第2信息中的任一個(gè),上述第1種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第1例外處理程序,上述第2種中斷請求使處理器的執(zhí)行對象轉(zhuǎn)移到第2例外處理程序;上述第2例外處理程序是用來復(fù)原為上述處理器執(zhí)行的通常的處理順序的處理;上述例外控制部,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示忙碌狀態(tài)或錯(cuò)誤狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第1種中斷請求的判斷,在上述設(shè)定信息是第1信息、且上述狀態(tài)信息是表示閑置狀態(tài)的信息的情況下,進(jìn)行不使上述中斷控制器通知第1種中斷請求的判斷;在上述設(shè)定信息是第2信息、且上述狀態(tài)信息從表示忙碌狀態(tài)或錯(cuò)誤狀態(tài)的信息變化為表示閑置狀態(tài)的信息的情況下,進(jìn)行使上述中斷控制器通知第2種中斷請求的判斷。
5.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述處理器與上述例外控制部被形成在相同的芯片上,上述信息處理電路被形成在其他芯片上。
6.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述信息處理裝置具備多個(gè)上述信息處理電路;上述多個(gè)信息處理電路與上述例外控制部分別通過專用線連接;上述例外控制部基于根據(jù)來自上述處理器的指示而分別設(shè)定的各信息處理電路用的設(shè)定信息、和從各信息處理電路通知的狀態(tài)信息,進(jìn)行上述判斷。
7.如權(quán)利要求1所述的信息處理裝置,其特征在于,上述信息處理電路是執(zhí)行例行程序處理的加速器。
8.一種例外控制電路,被組裝在具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、以及對該處理器通知中斷請求的中斷控制器的信息處理裝置中,其特征在于,該例外控制電路與上述信息處理電路通過專用線連接;具備第1寄存器,從上述信息處理電路經(jīng)由專用線受理表示該信息處理電路的當(dāng)前的狀態(tài)的狀態(tài)信息并加以存儲(chǔ);第2寄存器,存儲(chǔ)根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息;根據(jù)存儲(chǔ)在上述第1寄存器中的狀態(tài)信息、和存儲(chǔ)在上述第2寄存器中的設(shè)定信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷的機(jī)構(gòu)。
9.一種例外控制方法,在具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、和對該處理器通知中斷請求的中斷控制器的信息處理裝置中使用,其特征在于,基于根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息、和從上述信息處理電路通知的表示該信息處理電路的當(dāng)前的狀態(tài)的狀態(tài)信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷。
全文摘要
本發(fā)明的目的是提供一種與以往相比能夠更迅速地進(jìn)行例外處理程序與通常處理的切換的信息處理裝置。該信息處理裝置是具備處理器、從該處理器接受處理委托而執(zhí)行特定的處理的信息處理電路、對該處理器通知中斷請求的中斷控制器、和例外控制部的信息處理裝置,其特征在于,上述信息處理電路與上述例外控制部通過專用線連接;上述信息處理電路具有經(jīng)由上述專用線將表示自身電路的當(dāng)前的狀態(tài)的狀態(tài)信息通知給上述例外控制部的通知部;上述例外控制部基于根據(jù)來自上述處理器的指示而設(shè)定的設(shè)定信息、和被通知的狀態(tài)信息,進(jìn)行是否使上述中斷控制器通知使處理器的執(zhí)行對象轉(zhuǎn)移到對應(yīng)的例外處理程序的中斷請求的判斷。
文檔編號G06F13/24GK101023410SQ20058002873
公開日2007年8月22日 申請日期2005年8月19日 優(yōu)先權(quán)日2004年8月27日
發(fā)明者西田英志, 古田岳志, 田中哲也, 木村浩三, 清原督三 申請人:松下電器產(chǎn)業(yè)株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1