JP3767539B2 - 補助演算装置、中央演算装置及び情報処理装置 - Google Patents
補助演算装置、中央演算装置及び情報処理装置 Download PDFInfo
- Publication number
- JP3767539B2 JP3767539B2 JP2002290267A JP2002290267A JP3767539B2 JP 3767539 B2 JP3767539 B2 JP 3767539B2 JP 2002290267 A JP2002290267 A JP 2002290267A JP 2002290267 A JP2002290267 A JP 2002290267A JP 3767539 B2 JP3767539 B2 JP 3767539B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- write
- execution
- output
- processing unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
【発明の属する技術分野】
本発明は、命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャ中に設けられた補助演算装置(コプロセッサ:以後、CoProとも称する)、中央演算装置(以後、CPUとも称する)、更には、このような補助演算装置または中央演算装置を備えた、ハーバードアーキテクチャを採用した情報処理装置に関する。
【0002】
【従来の技術】
近年の機器制御等においては、高速で且つ高精度な制御が求められており、それに伴い、機器制御等に用いられる情報処理装置では、CPUの演算能力の向上とディジタル信号処理能力の向上とが要求されている。
【0003】
演算能力の向上のための手段としては、例えば、非特許文献1に記載の如く、CPU内で行われる一連の処理を、命令の読み出し(フェッチ:IF)、命令の解読(デコード:ID)、命令の実行(EX)、メモリへのデータの読み書き(メモリアクセス:MA)、処理結果のレジスタへの書き込み(ライトバック:WB)、のようないくつかの処理単位(ステージ)に分割し、それぞれの処理を専用に行うユニットを個別に設けて並列に処理を実行することにより高速化を図る、パイプライン化という技術が知られている。
【0004】
また、上記パイプライン動作を行うCPUとしては、データをやり取りするためのバスを、フェッチを行うためのバス(命令系バス)と、メモリアクセスを行うためのバス(データ系バス)の2本に分ける方式のもの(ハーバードアーキテクチャ)が一般的に採用されている。その理由は次の通りである。
【0005】
まず、フェッチを行うユニットとメモリアクセスを行うユニットとを個別に設けた場合、データをやり取りするためのバスが1本しかないと、バスを同時に使用することができないため、同一のステージ内でフェッチとメモリアクセスを別々のタイミングで行わなければならない。
【0006】
通常、パイプライン動作を行うCPUでは、全てのユニットの処理が終了しないと、各ユニットは次の処理を開始できないよう構成されるため、上記のようにバスが1本しかない状況では、処理速度が低下する。
これに対し、ハーバードアーキテクチャを採用した場合は、フェッチとメモリアクセスを同時に行うことができるため、処理速度の低下を防止することができる。
【0007】
また、一方、ディジタル信号処理能力向上のための手段としては、非特許文献2に記載の除算器のように、CPUに接続され、CPUから特定のレジスタへのデータの書き込みを行う等、処理実行のための指示を行うことにより、CPUに代わって特定の処理を高速に行う補助演算装置(CoPro)を設ける手法が知られている。
【0008】
【非特許文献1】
「SuperH RISC engine SH1/SH2/SH−DSPプログラミングマニュアル」,第6版,株式会社日立製作所半導体グループ電子統括営業本部,平成11年5月,p.369−371
【0009】
【非特許文献2】
「SH7604ハードウェアマニュアル」,第1版,株式会社日立製作所半導体事業部,平成6年9月,p.263−273
【0010】
【発明が解決しようとする課題】
上記に示したCPUやCoProを使用して、図9のような情報処理装置を構成することを考える。
この情報処理装置300は、中央演算装置であるCPU302、読み出し専用メモリであるROM304、CPU302に実行させるプログラム等が格納された外部メモリ306、バスコントローラ308、補助演算装置であるCoPro310、読み書き可能なメモリであるRAM312を有している。
【0011】
そして、この装置300ではハーバードアーキテクチャが採用されているため、CPU302に接続されたバスは、命令系バス(命令側アドレスバス320、命令側データバス322)とデータ系バス(データ側アドレスバス324、データ側データバス326)とに分離されている。
【0012】
上記のうちROM304、外部メモリ306、バスコントローラ308は命令系バス320,322を介してCPU302に接続されており、CoPro310、RAM312はデータ系バス324,326を介してCPU302に接続されている。
【0013】
また、CPU302からROM304、バスコントローラ308に命令側制御信号を伝送するため、これらの間には信号線330が設けられており、CPU302からCoPro310、RAM312にデータ側制御信号を伝送するため、これらの間には信号線332が設けられている。
【0014】
ここで、バスコントローラ308は、バスコントローラ308の外側に配置された外部メモリ306に対してCPU302が読み出しや書き込みを行う場合に、所定の信号線334を介して、CPU302にメモリアクセス時のステージ長を延長させるためのウエイト信号を出力するものである。
【0015】
つまり、CPU302が読み出し或いは書き込みを行う処理は通常1クロック・サイクルで完了するが、このような読み出し或いは書き込みを行うのにCPU302の1クロック・サイクルよりも長いアクセス時間が必要となる低速な外部メモリ306に対してCPU302が読み出し或いは書き込みを行う場合には、CPU302のメモリアクセス時のステージ長をウエイト信号により延長する。
【0016】
具体的には、バスコントローラ308は、命令系バス320,322に伝送されるCPU302からのアドレス、読み出し信号等をモニタし、CPU302が低速な外部メモリ306にアクセスしたことを検出した場合には、バスコントローラ308内に予め設定されているクロック・サイクル数でアクセスが行われるようにウエイト信号を出力(アクティブに)する。そして、CPU302では、信号線334を介してウエイト信号を受信している際にだけステージ長が延長される。即ち、CPU302では、ウエイト信号を受信している際にだけ、各クロック・サイクル毎に前クロック・サイクル時と同じ動作、例えば、同じ読み出し動作或いは書き込み動作等を行う状態となり(換言すれば、CPU302にて実行される1個の命令に対応した同一の動作が複数クロック・サイクルに渡って継続して実行される状態となり)、それにより、低速な外部メモリ306との間でデータのやり取りを好適に行えるようにする。
【0017】
しかしながら、従来においては、このように必要に応じてCPU302におけるステージ長が延長される場合に、延長される時期等がCoPro310では予測できないため、CPU302とCoPro310との間で好適な協調動作が行えないという問題があった。
【0018】
つまり、まず、CPU302とCoPro310は夫々独立に動作するが、例えば、CoPro310が、一連の処理中のあるタイミングで処理に使用するデータをCPU302から受け取る必要がある場合や、CoPro310がCPU302からバス権(バスを使用する権利:CPU302がバスをハイインピーダンス状態にすることでCoPro310がバスを使用できる状態となる)を譲り受け、CoPro310自らがメモリアクセスを行うような場合には、CPU302、CoPro310間でタイミング良くデータのやり取りができるよう、例えば、CoPro310のデータレジスタへの書き込み命令(データレジスタ書込信号)と、CoPro310の実行レジスタへの書き込み命令(実行レジスタ書込信号)との間には、必要な数の命令をプログラム上挿入することで、所望のクロック・サイクルの時間差が設けられる。
【0019】
しかし、ハーバードアーキテクチャを採用した情報処理装置においては、図10に示すように、例えば、5つのステージを並列的に行うパイプライン制御が行われる。従って、例えば、CoPro310に実行レジスタ書込信号が伝送される書き込み時に、外部メモリ306に対するフェッチ動作が行われてCPU302にウエイト信号が入力されると、CPU302とCoPro310との間のメモリアクセスステージの長さが延長され、CPU302、CoPro310間にプログラム上設けられていた好適なタイミングは崩されてしまう。
【0020】
この場合、CoPro310側では、ステージ長が延長されたことを検知できず、メモリアクセスステージの長さが延長されている間中、同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的に受信される。
そして、実行レジスタ書込信号に対応した書き込みを行うことはCoPro310での処理を開始するトリガとなるため、この場合、CoPro310では、例えば、以下の▲1▼、▲2▼のような問題が生じ、その結果、CPU302とCoPro310との間で好適な協調動作が行えなくなっていた。
【0021】
▲1▼ CoPro310において同一の処理が複数回に渡って繰り返され、処理時間が長くなる。つまり、CoPro310の実行レジスタへの書き込みがなされた1クロック・サイクル後にも同様の書き込みがなされ、書き込みがなされた1クロック・サイクル後に処理を開始できず、その結果、処理時間が長くなっていた。
【0022】
▲2▼ CoPro310において、例えば、積和演算のように、前回の演算結果を用いて次回の演算処理を行うような場合には、正しい演算結果が得られなくなる。具体的には、例えば、まず、図10に示すように、時刻tk1(図中の1段目の処理中のメモリアクセスステージ(MA)の終了時)において、第1回目の演算処理(実行1)用の実行レジスタへの書き込み命令(実行1用の実行レジスタ書込信号)がCoPro310側で受信されると、その書き込みに対応した演算処理(実行1)が同時刻tk1にCoPro310において実行される。また、時刻tk2(図中の2段目の処理においてメモリアクセスステージ(MA)中となっている時刻tk2)において、第1回目の演算処理の結果を用いた第2回目の演算処理(実行2)用の実行レジスタへの書き込み命令(実行2用の実行レジスタ書込信号)がCoPro310側で受信されると、その書き込みに対応した演算処理(実行2)が同時刻tk2にCoPro310において実行される。しかし、図示するように、時刻tk1とtk2の間のタイミング以降において、CPU302にウエイト信号が入力されると、第2回目の演算処理の結果を用いた第3回目の演算処理(実行3)用の実行レジスタへの書き込み命令(実行3用の実行レジスタ書込信号)が定刻である時刻tk3にCoPro310側に受信されなくなる。つまり、まず、この場合は、時刻tk2に続く時刻tk3、tk4においても、実行2用の実行レジスタ書込信号が継続してCoPro310側で受信されてしまう。そして、実行3用の正しい実行レジスタ書込信号がCoPro310側で受信されるのは、CPU302に対するウエイト信号が非入力状態となる時刻(tk3とtk4の間の時刻)よりも後の時刻tk5である。しかし、従来の場合においては、時刻tk3において受信される実行2用の実行レジスタ書込信号が実行3用の実行レジスタ書込信号としてCoPro310側で誤って受信されてしまう。そして、その結果、時刻tk3においては誤った値を用いた演算処理(実行3’)をCoPro310で実行してしまい、正しい演算結果が得られなくなっていた。
【0023】
なお、このようにCPU302が書込信号を送信して書き込み処理を行う場合と異なり、CPU302がCoPro310のレジスタから演算結果等を読み出す処理を行う場合には、上記のようなウエイト信号の入力によるステージ長の延長がなされたとしても、CoPro310は、CPU302でステージ長が延長されている際にだけ同じ値を演算結果等として出力し続けるだけであり、CPU302、CoPro310間の協調関係に問題が生じることはない。
【0024】
本発明は上記問題点を解決するためになされたものであり、その目的は、CPUやCoProを備え、ハーバードアーキテクチャを採用した情報処理装置において、CPUとCoProとの間で好適な協調動作が行えるようにすることである。
【0025】
【課題を解決するための手段及び発明の効果】
かかる目的を達成するための発明である請求項1に記載の補助演算装置は、命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャを採用した情報処理装置中の中央演算装置にバスを介して接続されている。
【0026】
この補助演算装置は、中央演算装置から読み書き可能な複数のレジスタを有しており、それらのレジスタのうち演算処理のトリガとなる実行レジスタにデータが書き込まれた際に、書き込まれた実行レジスタに対応した処理を行うよう構成されている。
【0027】
そして、この補助演算装置は、中央演算装置にて実行される1個の命令に対応して行われる、当該補助演算装置の実行レジスタへの書き込みを実行するための、同一の実行レジスタ書込信号の受信が複数クロック・サイクルに渡って継続して行われた場合に、そのうちの1回の実行レジスタ書込信号に対応した書き込み動作のみを実行する書込制限手段を備えている。
【0028】
つまり、本発明の補助演算装置においては、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的に受信された場合でも、1回分の実行レジスタ書込信号に対応した1回の書き込み動作のみが行われ、その書き込み動作に対応した1回の演算処理のみが行われる。
【0029】
従って、本発明の補助演算装置によれば、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的に受信された場合に、従来のように補助演算装置で同一の処理が複数回に渡って繰り返され、処理時間が長くなるという問題が発生することは防止される。
【0030】
また、本発明の補助演算装置によれば、例えば、積和演算のように、前回の演算結果を用いて次回の演算処理を行うような場合に、中央演算装置にて実行される1個の命令に対応して複数クロック・サイクルに渡って継続的に同一の実行レジスタ書込信号が受信されても、書込制限手段が1回分の実行レジスタ書込信号に対応した1回の書き込み動作のみを行う。よって、当該1回の書き込み動作がトリガとなる演算処理の後に、同一の実行レジスタ書込信号に対応した誤った値を次の演算処理に使用してしまい、その結果誤った演算結果が得られてしまうといった従来の問題が発生することはない。
【0031】
従って、本発明の補助演算装置によれば、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的に受信された場合においても、当該補助演算装置に接続されたハーバードアーキテクチャ中の中央演算装置との間で好適な協調動作が行えることになる。
【0032】
なお、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号を複数クロック・サイクルに渡って継続して受信した場合に、どのタイミングで受信した実行レジスタ書込信号に対応した書き込み動作を行うかについては特定のものに限定されない。例えば、請求項2に記載の如く、書込制限手段は、複数クロック・サイクルに渡って継続して受信される同一の実行レジスタ書込信号のうち、最後の1回の実行レジスタ書込信号に対応した書き込み動作のみを行うよう構成しても良く、この場合も上記と同様の効果が得られる。
【0033】
一方、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が補助演算装置にて継続的に受信される場合としては、「発明が解決しようとする課題」の項に記載したように、例えば、中央演算装置にバスコントローラ等からのウエイト信号が受信されている場合がある。
【0034】
従って、このような想定の基、書込制限手段に関しては、例えば、請求項3に記載の構成を採っても良い。
具体的には、中央演算装置にメモリアクセス時のステージ長を延長させるためのウエイト信号が入力されている状態か否かを当該補助演算装置側で判断する補助演算装置側ウエイト信号入力判断手段を有するものとして書込制限手段を構成する。
【0035】
そして、補助演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断された場合には、複数クロック・サイクルに渡って連続して入力される実行レジスタ書込信号のうち1回の実行レジスタ書込信号に対応した書き込み動作のみを実行するよう構成する。
【0036】
つまり、この場合は、当該補助演算装置に継続して受信される実行レジスタ書込信号の内容を直接検知することでその同一性を判断するのではなく、中央演算装置にウエイト信号が入力されているか否かを判断することで、当該補助演算装置に継続して入力される実行レジスタ書込信号が同一のものか否かを判断する。そして、その判断結果に基づき、連続して入力される実行レジスタ書込信号のうち1回の実行レジスタ書込信号に対応した書き込み動作のみを実行する。
【0037】
よって、請求項3に記載の態様によれば、上記請求項1の態様と同様の効果が得られる上、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が継続して入力されたか否かの判断が容易になるという効果が得られる。
【0038】
なお、補助演算装置側ウエイト信号入力判断手段による判断結果に基づいて、上記の如く1回の実行レジスタ書込信号に対応した書き込み動作のみを実行するよう構成する具体的態様としては、例えば、請求項4に記載の如く、補助演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断されているときには、入力される実行レジスタ書込信号に対応した書き込み動作を行うことを阻止する書込阻止手段と、補助演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態から非入力状態に切り替わったと判断されたときには、非入力状態に切り替わったと判断された直後に受信した実行レジスタ書込信号に対応した書き込み動作を実行する書込許容手段と、を備えたものであっても良い。
【0039】
この場合は、中央演算装置に対するウエイト信号の入力により複数クロック・サイクルに渡って継続して受信される同一の実行レジスタ書込信号のうち、最後の1回の実行レジスタ書込信号に対応した書き込み動作のみが行われる。
つまり、まず、中央演算装置に対するウエイト信号の入力により、中央演算装置にて実行される1個の命令に対応した同一の実行レジスタ書込信号が継続的に補助演算装置において受信されるのは、中央演算装置にウエイト信号が入力されている間及びその直後のタイミングである。
【0040】
よって、上記のように、ウエイト信号の入力状態にあるときには書込阻止手段により実行レジスタ書込信号に対応した書き込み動作を行うことを阻止し、ウエイト信号の入力状態から非入力状態に切り替わった時点の直後に書込許容手段により実行レジスタ書込信号に対応した書き込み動作を行うよう構成すれば、最後の1回の実行レジスタ書込信号に対応した書き込み動作のみが行われることになる。
【0041】
そして、この場合も、上記と同様、請求項1の態様と同様の効果が得られる上、中央演算装置にて実行される1個の命令に対応して同一の実行レジスタ書込信号が継続的に入力されたか否かの判断が容易になるという効果が得られる。
なお、本発明の補助演算装置は、実行レジスタへの書き込みを待っている状態である準備状態と、書き込まれた実行レジスタに対応した処理を行う状態である実行状態との間を遷移するよう構成されていても良い。
【0042】
この場合、本発明の補助演算装置は、請求項5に記載の如く、実行状態であるときに、実行レジスタ書込信号を受信し、かつ、補助演算装置側ウエイト信号入力判断手段にてウエイト信号の非入力状態であると判断された際には、当該実行状態にありながらにして、受信した実行レジスタ書込信号に対応した書き込み動作を行うと共に、該書き込み動作が行われた実行レジスタに対応した処理を行う割込実行手段を備えていても良い。
【0043】
そして、この場合においては、上述の効果に加え、実行状態にあるときに受信した実行レジスタ書込信号に対応した書き込み動作、及び該書き込み動作が行われた実行レジスタに対応した処理を迅速に行えるという効果が得られる。
つまり、まず、中央演算装置へのウエイト信号が非入力状態である場合においては、実行状態であるときに、実行レジスタ書込信号を受信すると、現在実行中の処理を中断等して準備状態に一旦遷移した上で、改めて実行状態に遷移し、その際に、当該実行レジスタ書込信号に対応した書き込み動作及び該書き込み動作が行われた実行レジスタに対応した処理を行うよう構成することが考えられる。
【0044】
一方、請求項5に記載の構成では、実行状態にあるときに実行レジスタ書込信号を受信しても、割込実行手段により、準備状態に遷移することはなく、実行状態にありながらにして、現在実行中の処理に代わり、受信した実行レジスタ書込信号に対応した書き込み動作、及び該書き込み動作が行われた実行レジスタに対応した処理が行われる。
【0045】
従って、請求項5に記載の構成によれば、準備状態に一旦遷移した上で、改めて実行状態に遷移するといった処理を間に挟まないで済む分だけ、受信した実行レジスタ書込信号に対応した処理を迅速に行えるという効果が得られる。
一方、請求項6に記載の如く中央演算装置を構成すれば、上述したような補助演算装置を仮に有していなくても、当該中央演算装置と補助演算装置との間で好適な協調動作が行えるようになる。
【0046】
具体的には、請求項6に記載の中央演算装置は、命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャを採用した情報処理装置中に設けられている。そして、この中央演算装置は、当該中央演算装置にて実行される1個の命令に対応して、データ系バスを介して当該中央演算装置に接続されたメモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合に、そのうちの1回の書込信号の出力のみを許容する出力制限手段を備えている。
【0047】
従って、請求項6に記載の中央演算装置によれば、従来のように、当該中央演算装置にて実行される1個の命令に対応して、補助演算装置内のレジスタを含むメモリにおいて複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号(実行レジスタ書込信号等)が継続して受信され、当該補助演算装置内のレジスタを含むメモリで同一の処理が複数回に渡って繰り返され、その結果、処理時間が長くなるという問題が発生することはない。
【0048】
また、請求項6に記載の中央演算装置によれば、例えば、補助演算装置内のレジスタを含むメモリにて、前回の演算結果を用いて次回の演算処理を行うような場合(積和演算の場合等)でも、当該中央演算装置にて実行される1個の命令に対応して、同一の実行レジスタ書込信号による書き込み動作が補助演算装置内のレジスタを含むメモリで複数回繰り返されることが防止されるため、正しい演算結果が得られることになる。
【0049】
即ち、請求項6に記載の中央演算装置によれば、当該中央演算装置にて実行される1個の命令に対応して、当該中央演算装置に接続されたメモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合においても、当該中央演算装置に接続されたメモリ(補助演算装置内のレジスタを含む)との間で好適な協調動作が行えることになる。
【0050】
なお、当該中央演算装置に接続されたメモリに対して、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合に、どのタイミングの書込信号の出力を許容するのかについては特定のものに限定されない。
【0051】
例えば、請求項7に記載の如く、出力制限手段は、当該中央演算装置にて実行される1個の命令に対応して、メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合に、そのうちの最初の1回の書込信号の出力のみを許容するよう構成されていても良く、この場合も上記請求項6の場合と同様の効果が得られる。
【0052】
そして、このように最初の1回の書込信号の出力のみを許容する構成の具体的態様としては、例えば、請求項8に記載の如く、出力制限手段が、当該中央演算装置にて実行される1個の命令に対応して、メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する出力指示が出される度にその回数に対応したカウント値を計数する計数手段と、該計数手段にて計数されるカウント値が初期値であるときだけ該書込信号の出力を許容する出力許可手段と、を備えたものであっても良い。
【0053】
この場合には、同一の書込信号の出力指示の回数をカウント値として計数するという簡易な手法で最初の1回の書込信号を特定でき、該最初の1回の書込信号の出力のみを好適に実行できるという効果が得られる。
一方、中央演算装置が、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合としては、「発明が解決しようとする課題」の項に記載したように、例えば、中央演算装置にバスコントローラ等からのウエイト信号が受信されている場合がある。
【0054】
従って、このような想定の基、出力制限手段に関しては、例えば、請求項9に記載の構成を採っても良い。
具体的には、当該中央演算装置にメモリアクセス時のステージ長を延長させるためのウエイト信号が入力されている状態か否かを当該中央演算装置側で判断する中央演算装置側ウエイト信号入力判断手段を有するものとして出力制限手段を構成する。
【0055】
そして、中央演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断された場合には、メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に書込信号を継続して出力する状態になっている場合に、そのうちの1回の書込信号の出力のみを許容するよう構成する。
【0056】
つまり、この場合は、例えば、当該中央演算装置から継続して出力される状態になっている書込信号の内容を直接検知することでその同一性を判断するのではなく、中央演算装置にウエイト信号が入力されているか否かを判断することで、当該中央演算装置から継続して出力される状態になっている書込信号が同一のものか否かを判断する。そして、その判断結果に基づき、連続して出力される状態になっている書込信号のうち1回の書込信号の出力のみが実行される。
【0057】
よって、請求項9に記載の態様によれば、上記請求項6の態様と同様の効果が得られる上、当該中央演算装置にて実行される1個の命令に対応して、同一の書込信号が継続して出力される状態になっているか否かの判断が容易になるという効果が得られる。
【0058】
なお、中央演算装置側ウエイト信号入力判断手段による判断結果に基づいて、上記の如く1回の書込信号の出力のみを許容するよう構成する具体的態様としては、例えば、請求項10に記載のものであっても良い。
即ち、メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に書込信号を継続して出力する出力指示が出された際に、その出力回数に対応したカウント値を計数する計数手段と、該計数手段にて計数されるカウント値が初期値であるときだけ該書込信号の出力を許容する出力許可手段と、中央演算装置側ウエイト信号入力判断手段にてウエイト信号の非入力状態であると判断された場合には、計数手段にて計数されるカウント値を初期値化するリセット手段と、を備えたものとする。
【0059】
この態様においては、まず、中央演算装置側ウエイト信号入力判断手段にてウエイト信号の非入力状態であると判断された場合には、中央演算装置にウエイト信号が入力されておらず、該中央演算装置が、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっていない場合であるとして扱う。即ち、計数手段にて計数されるカウント値がリセット手段により常に初期値化され、出力許可手段により書込信号の出力が常に許容される。
【0060】
一方、中央演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断された場合には、中央演算装置にウエイト信号が入力され、該中央演算装置が、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合であるとして扱う。即ち、計数手段にて計数されるカウント値がリセット手段により初期値化されることはなく、複数クロック・サイクルに渡って各クロック・サイクル毎に書込信号を継続して出力する出力指示が出される限り、カウント値は更新される。従って、この場合は、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に継続して出力指示が出された書込信号のうち、最初の1回の書込信号の出力のみが出力許可手段により実行される。
【0061】
よって、請求項10に記載の中央演算装置によれば、請求項9に記載の態様の場合と同様の効果が得られる上、中央演算装置にウエイト信号が入力された場合、即ち、該中央演算装置が、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合には、同一の書込信号の出力指示の回数をカウント値として計数するという簡易な手法で最初の1回の書込信号を特定でき、該最初の1回の書込信号の出力のみを好適に実行できるという効果が得られる。
【0062】
なお、出力制限手段による書込信号の出力の制限は、例えば、請求項11に記載の如く、書込信号を出力する対象のメモリが補助演算装置内のレジスタであるか否かを判断する出力先判断手段を設けて、該出力先判断手段にて書込信号の出力先が補助演算装置であると判断されたときだけ実行するようにすると良い。
【0063】
また、請求項12に記載の如く、ハーバードアーキテクチャを採用した情報処理装置を、請求項1〜5のいずれかに記載の補助演算装置、又は請求項6〜11のいずれかに記載の中央演算装置を備えたものとして構成すれば、上記各請求項の補助演算装置或いは中央演算装置による効果に対応する効果を得ることができる。
【0064】
【発明の実施の形態】
以下に、本発明の実施例を図面と共に説明する。なお、本発明は、下記実施例に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の態様を採りうることは言うまでもない。
[第1実施例]
図1は、本発明が適用された情報処理装置1の概略構成を示すブロック図である。情報処理装置1は、CPU302、ROM304、外部メモリ306、バスコントローラ308、補助演算装置であるCoPro100、RAM312を有している。
【0065】
本実施例の情報処理装置1は、図9に示した従来の情報処理装置300の場合と、CoPro100が命令系バス320,322側からのウエイト信号(本実施例では、バスコントローラ308から出力されるウエイト信号)を入力するための入力端子102を備え、該入力端子102に接続された信号線140を介してウエイト信号を入力できるよう構成されている点と、後述のように、CoPro100が、該ウエイト信号を用いて、同一の実行レジスタ書込信号を複数クロック・サイクルに渡って継続して受信した場合に、そのうちの1回の実行レジスタ書込信号に対応した書き込み動作のみを実行するよう構成された点とで異なる。
【0066】
ここで、情報処理装置1における他の構成要素である、CPU302、ROM304、外部メモリ306、バスコントローラ308、RAM312等については、図9中のものと同様の構成であるため、これらについては図9中のものと同じ符号を付し、その説明を省略する。また、ウエイト信号は、信号線140を介して、CoPro100のみならず、当然CPU302にも入力されるよう構成されている。
【0067】
図2は、CoPro100内部の概略構成を示すブロック図である。
CoPro100は、CoPro100の状態を決定し、該状態を示す値を生成・出力する回路であるデコード回路部106、及び、デコード回路部106から出力されたCoPro100の状態を示す値を格納するレジスタである状態レジスタ108を備えたシーケンサ104と、CoPro100で実行される処理の実行状態であるときに、実行状態になってからの経過時間(クロック・サイクル数)に対応するカウント値を計数するカウンタ110と、レジスタ114及び処理ユニット116を制御する信号を生成・出力し、CoPro100内で所定の処理が行われるよう制御する制御信号生成回路112と、CoPro100内で行う処理に使用するデータ及び処理結果データ等を格納するレジスタ114と、算術演算、論理演算等の処理を行う回路である処理ユニット116と、を有する。
【0068】
上記のうち、デコード回路部106は、データ側アドレスバス324を介して入力されるアドレス信号、データ側データバス326を介して入力される書込信号、信号線140を介して入力されるウエイト信号、処理内容を示すデータ(図2においては図示省略)、カウンタ110から出力されるカウント値、及び状態レジスタ108に格納された値から、CoPro100の状態を示す値を生成・出力する。
【0069】
上記の処理内容を示すデータは、レジスタ114のうちCoPro100で実行する演算処理のトリガとなる実行レジスタのアドレス番号に基づいて、デコード回路部106内で生成され、CoPro100内の命令レジスタ(図示省略)に格納される。つまり、実行する演算処理の種類毎に異なるアドレス番号の実行レジスタが割り当てられており、処理に使用される実行レジスタのアドレス番号を用いれば、CoPro100で実行する処理内容を示すデータの作成が可能となるよう構成されている。
【0070】
また、本実施例では、デコード回路部106が、処理内容を示すデータから、その処理に必要なクロック・サイクル数を求めることができるよう構成されている。そして、このように処理に必要なクロック・サイクル数(以下、必要クロック・サイクル数とも称する)が求められた後に実際に処理が開始されると、デコード回路部106では、当該処理の開始時に計数が開始されたカウンタ110のカウント値と必要クロック・サイクル数との比較等を行うことで、当該処理が終了したか否かが判断される。
【0071】
具体的には、例えば、その処理の必要クロック・サイクル数が2である場合には、その処理が開始された時点から、カウンタ110では、0(ゼロ)から1クロック・サイクル経過毎に1ずつカウント値を増加させる計数が開始され、カウント値が2に到達した時点(即ち、カウント値=規定値(この場合は、規定値=必要クロック・サイクル数)となった時点)で、当該処理が終了したと判断される。
【0072】
なお、必要クロック・サイクル数(例えば、2)をカウンタ110におけるカウント値の初期値として入力し、処理の開始時点から、該カウント値を当該初期値から1クロック・サイクル経過毎に1ずつ減少させて0(ゼロ)に到達した時点(即ち、カウント値=規定値(この場合は、規定値=0(ゼロ))となった時点)で、当該処理が終了したと判断されるようにしても良い。
【0073】
また、必要クロック・サイクル数は、上記のように命令レジスタに格納される処理内容を示すデータから求めても良いが、例えば、処理に使用される実行レジスタのアドレス番号に基づき求めるようにしても良いし、処理の実行前に、プログラムにより、データレジスタ書込信号として信号線326を介してデコード回路部106に入力されるよう構成しても良い。
【0074】
一方、状態レジスタ108は、クロック・サイクルの先頭で、毎回、デコード回路部106から出力されたCoPro100の状態を示す値を格納するよう構成されている。
また、制御信号生成回路112は、状態レジスタ108に格納された値、上記の処理内容を示すデータ、及びカウンタ110のカウント値を用いて、レジスタ114及び処理ユニット116を制御する信号を生成・出力し、CoPro100内で所定の処理が行われるよう制御を行う。
【0075】
次に、このように構成されたCoPro100がCPU302から書き込まれるデータを用いてどのように演算処理を実行するかにつき、図3のタイミングチャートを用いて説明する。なお、図3では、2つの値を用いた演算処理(除算処理等の2項演算処理)をCoPro100にて実行させる場合を示す。
【0076】
図3に示すように、時刻t1〜t2では、CoPro100のレジスタ114のうち演算処理に使用するデータを書き込むレジスタであるデータレジスタにCPU302からデータを書き込ませるための書込命令がCPU302により読み出される(図中の1段目の処理中のIFステージ)。次に、時刻t2〜t3では、CoPro100のレジスタ114のうち演算処理に使用するデータを書き込むレジスタであり、且つ、CoPro100で実行する演算処理のトリガとなるレジスタである実行レジスタにCPU302からデータを書き込ませるための書込命令がCPU302により読み出される(図中の2段目の処理中のIFステージ)。
【0077】
なお、実行レジスタのアドレス番号によりCoPro100で実行される演算処理の種類が識別されるようになっているのは上述のとおりである。従って、上記の場合と異なり、演算処理に使用するデータはデータレジスタにだけ書き込むようにし、実行レジスタへの書き込みは、処理の種類を特定すると共に当該処理のトリガ機能を果たさせるためだけに行うようにしても良い。つまり、この場合には、実行レジスタに書き込まれるデータは処理に使用されないデータとなる。
【0078】
図3の説明に戻る。次に、時刻t4〜t5では、時刻t1〜t2で読み出された命令に対応して、CoPro100のデータレジスタに対する書込信号(データレジスタ書込信号)がCPU302から出力され(図中の1段目の処理中のMAステージ)、CoPro100では、このデータレジスタ書込信号に対応した書き込みが実行される。
【0079】
続く時刻t5〜t6では、時刻t2〜t3で読み出された命令に対応して、CoPro100の実行レジスタに対する書込信号(実行レジスタ書込信号)がCPU302から出力され(図中の2段目の処理中のMAステージ)、CoPro100では、この実行レジスタ書込信号に対応した書き込みが実行される。
【0080】
このとき、CoPro100のデコード回路部106では、実行レジスタのアドレス番号の信号により、CoPro100で実行する演算処理の種類内容X(除算処理等)が判別され、該Xを示すコードが上記の処理内容を示すデータとして命令レジスタに格納される。そして、デコード回路部106では、該Xを示すコードから、該Xに対応した処理に必要なクロック・サイクル数(必要クロック・サイクル数)が求められる。また、デコード回路部106の状態が準備状態から実行状態に遷移される。
【0081】
次に、時刻t6〜t7では、デコード回路部106から出力されたCoPro100の状態を示す値に基づき、状態レジスタ108中に格納される値が準備状態を示す値から実行状態を示す値に変化される。そして、制御信号生成回路112が、状態レジスタ108に格納された実行状態を示す値、命令レジスタに格納された処理内容Xを示すコード、及びカウンタ110のカウント値を用いて、レジスタ114及び処理ユニット116を制御する信号を生成・出力する。このとき、レジスタ114から処理に使用するデータが処理ユニット116に供給され、処理ユニット116にて、Xに対応した処理が実行される(時刻t6〜t7)。カウンタ110では、処理開始時刻t6に、0(ゼロ)から1クロック・サイクル経過毎に1ずつカウント値を増加させる計数が開始される。そして、演算結果がレジスタ114に格納され、カウント値が規定値である必要クロック・サイクル数(図3の例では、規定値=必要クロック・サイクル数=1)に到達した時点で、デコード回路部106では、当該処理の終了を検知する。また、シーケンサ104(デコード回路部106及び状態レジスタ108)の状態は順次実行状態から準備状態に遷移した状態にされる。また、カウンタ110のカウント値がクリアされる。
【0082】
なお、上記においては、2つの値を用いた演算処理について図3を用いて説明したが、3つ以上の値を用いた演算処理を行う場合など、演算処理にデータが3つ以上必要である場合には、実行レジスタへの書き込みに先立つデータレジスタへの書き込み回数を図3の場合と異なり2回以上とすればよい。
【0083】
次に、図4を用いて、CPU302からの信号に対応してCoPro100のシーケンサ104がどのように状態遷移するかについて説明する。
図4は、CoPro100にウエイト信号が入力される場合、即ち、CPU302にバスコントローラ308からのウエイト信号が入力され、CPU302にて実行される1個の命令に対応して、同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続してCoPro100にて受信されるような場合、を含めた、CoPro100におけるシーケンサ104の状態遷移を表す図である。
【0084】
図4に示すように、リセット中(システム全体の初期化のために、リセット信号がアクティブにされるリセット処理150の間)の初期状態180において、リセット信号が解除されるリセット解除処理152がなされて状態遷移がスタートすると、常に準備状態182に遷移する。
【0085】
準備状態182は、データレジスタへの書き込み後等の実行レジスタへの書き込みを待っている状態である。準備状態182では、デコード回路部106へのウエイト信号が入力状態にあるか否かを判断し、該判断結果に基づき、準備状態182を維持する等の準備状態管理処理154を行う。
【0086】
具体的には、準備状態管理処理154では、a)実行レジスタ書込信号が受信されない状態であると判断した場合、或いは、b)実行レジスタ書込信号が受信されているものの、デコード回路部106へのウエイト信号が入力状態にある(アクティブである)と判断した場合には、準備状態182を維持する処理を行う。また、準備状態管理処理154では、デコード回路部106へのウエイト信号がアクティブであると判断しているときには、実行レジスタ書込信号が入力されても、それに対応した書き込み動作を行うことを阻止する処理も行う。
【0087】
一方、準備状態管理処理154にて、デコード回路部106へのウエイト信号が入力状態(アクティブな状態)から非入力状態(非アクティブな状態)に切り替わったと判断されたときには、非入力状態に切り替わったと判断された時点の直後にデコード回路部106にて受信された実行レジスタ書込信号に対応した書き込み動作を実行する書込許容処理156を行った上で、実行状態184に遷移する。
【0088】
実行状態184は、書き込みがなされた実行レジスタに対応した処理を行う状態である。実行状態184では、カウンタ110のカウント値が規定値に到達しない限り、実行状態184を維持し、書き込みがなされた実行レジスタに対応した処理を継続して行う実行状態管理処理158を行う。
【0089】
また、実行状態管理処理158では、デコード回路部106へのウエイト信号が入力状態にあるか否かを判断し、該判断結果に基づき、入力される実行レジスタ書込信号に対応した書き込み動作を行うことを阻止したり許容したりといった処理も行う。
【0090】
具体的には、まず、実行状態管理処理158では、実行状態184での処理実行中に、デコード回路部106へのウエイト信号が入力状態になったと判断している場合には、実行レジスタ書込信号が入力されても、それに対応した書き込み動作を行うことを阻止する処理を行う。
【0091】
また、実行状態管理処理158では、実行レジスタ書込信号を受信し、かつ、デコード回路部106へのウエイト信号が非入力状態であると判断している場合(ウエイト信号が入力状態から非入力状態に切り替わったと判断した直後に実行レジスタ書込信号を受信した場合を含む)には、実行状態184にありながらにして、カウンタ110のカウント値をクリアし、受信した実行レジスタ書込信号に対応した書き込み動作を行うと共に、該書き込み動作が行われた実行レジスタに対応した処理を行う。つまり、現在行っている処理を中断等して、新たに受信された実行レジスタ書込信号に対応した処理が実行されることになる。
【0092】
一方、実行状態184では、カウンタ110のカウント値が規定値に到達し、かつ、デコード回路部106へのウエイト信号が非入力状態であると判断した場合に、カウンタ110のカウント値をクリアすると共に、準備状態182へ遷移する準備状態遷移処理160も実行される。そして、準備状態182に遷移した後は、再び実行レジスタへの書き込みを待つことになり、以後、準備状態182と実行状態184との間の遷移が上記と同様に繰り返される。
【0093】
以上、説明したように、CoPro100では、デコード回路部106へのウエイト信号が入力状態にあるか否かを判断し、該判断結果に基づき、入力される実行レジスタ書込信号に対応した書き込み動作を阻止したり、許容したりといった処理を行う(準備状態管理処理154、実行状態管理処理158)。
【0094】
具体的には、準備状態管理処理154、実行状態管理処理158では、デコード回路部106へのウエイト信号がアクティブであると判断しているときに、実行レジスタ書込信号が入力されても、それに対応した書き込み動作を行うことを阻止する。また、これらの処理では、デコード回路部106へのウエイト信号が非アクティブな状態に切り替わったと判断したときに、非アクティブな状態に切り替わったと判断された時点の直後にデコード回路部106にて受信された実行レジスタ書込信号に対応した書き込み動作を実行する。
【0095】
従って、本実施例では、CPU302に対するウエイト信号の入力により、複数クロック・サイクルに渡って同一の実行レジスタ書込信号がCoPro100(デコード回路部106)にて継続的に受信された場合には、最後の1回の実行レジスタ書込信号に対応した書き込み動作のみが行われる。
【0096】
つまり、まず、CPU302に対するウエイト信号の入力により同一の実行レジスタ書込信号がCoPro100において受信されるのは、CPU302にウエイト信号が入力されている間及びその直後のタイミングである。
よって、本実施例のように、ウエイト信号の入力状態にあるときには、実行レジスタ書込信号に対応した書き込み動作を行うことを阻止し、ウエイト信号の入力状態から非入力状態に切り替わった時点の直後には、実行レジスタ書込信号に対応した書き込み動作を行えば、最後の1回の実行レジスタ書込信号に対応した書き込み動作のみが行われることになる。
【0097】
従って、本実施例によれば、ウエイト信号の入力により、CPU302にて実行される1個の命令に対応した同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的にCoPro100にて受信された場合に、従来のようにCoPro310で同一の処理が複数回に渡って繰り返され、処理時間が長くなるという問題が発生することは防止される。つまり、CoPro100の実行レジスタへの書き込みがなされた1クロック・サイクル後に、CoPro100において、該実行レジスタに対応した処理を確実に開始させることができ、効率良く当該処理を行うことが可能となる。
【0098】
また、本実施例によれば、例えば、積和演算のように、前回の演算結果を用いて次回の演算処理を行うような場合に、ウエイト信号の入力により、CPU302にて実行される1個の命令に対応して、複数クロック・サイクルに渡って継続的に同一の実行レジスタ書込信号がCoPro100にて受信されても、CoPro100では、最後の1回分の実行レジスタ書込信号に対応した1回の書き込み動作のみを行う。
【0099】
よって、当該1回の書き込み動作がトリガとなる演算処理の後に、同一の実行レジスタ書込信号に対応した誤った値を次の演算処理に使用してしまい、その結果誤った演算結果が得られてしまうといった従来の問題が発生することはない。このことを図5を用いて具体的に説明する。図5は、図10の場合と同様、実行1用の実行レジスタ書き込み命令に対応した第1回目の演算処理の後に、該第1回目の演算処理の結果を用いた第2回目の演算処理、該第2回目の演算処理の結果を用いた第3回目の演算処理を順番に行う一連の処理の最中に、CPU302にウエイト信号が入力された場合に、本実施例の構成を採用しているときにはどのような処理が行われるかを示すタイミングチャートである。
【0100】
図5に示された処理においては、図10の場合と同様のタイミングでウエイト信号がCPU302に入力され、このことがデコード回路部106においても検知される。
従って、時刻tk2、tk3と2回のクロック・サイクルに渡って連続して同じ実行2用の実行レジスタ書込信号がCoPro310側で受信されても、デコード回路部106へのウエイト信号がアクティブであると判断されている限り、それに対応した書き込み動作を行うことは阻止される(実行状態管理処理158等)。
【0101】
そして、図5中のi)に示されるように、このように書き込みが阻止されることに対応して、時刻tk2〜tk4の間は、CoPro100における演算処理の実行がCPU302の状態に同期して一時的に停止される。
次に、本実施例の構成では、CPU302に対するウエイト信号が非入力状態になったと判断された時刻(tk3とtk4の間の時刻)の直後である時刻tk4にデコード回路部106にて受信された最後の実行2用の実行レジスタ書込信号に対応した書き込み動作が実行される(実行状態管理処理158等)。従って、図5中のi)に示すように、CPU302にウエイト信号が入力されない状態となることに同期して、時刻tk4においては、CoPro100で実行2用の実行レジスタ書込信号に対応した演算処理が実行される。
【0102】
そして、続く時刻tk5においては、実行2の演算処理の結果を用いた実行3の演算処理用の実行レジスタ書込信号が好適に受信され、同時刻tk5において、該実行レジスタ書込信号に対応した実行3の書き込み動作及び演算処理が実行される(図5中のi)参照)。
【0103】
よって、本実施例によれば、従来のように、実行2の演算処理の後に、実行2用の実行レジスタ書込信号が実行3用の実行レジスタ書込信号として誤ってCoProにおいて受信され、該誤った実行レジスタ書込信号に対応した誤った値を用いた演算処理が実行され、正しい演算結果が得られなくなるといった問題が発生することはない。
【0104】
すなわち、本実施例によれば、CPU302にて実行される1個の命令に対応した同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的にCoPro100にて受信された場合においても、CoPro100とCPU302との間で好適な協調動作が行えることになる。
【0105】
また、上述のように、本実施例では、CoPro100において、CPU302にウエイト信号が入力されているか否かを判断し、入力されていると判断した場合には、CoPro100(デコード回路部106)に継続して入力される実行レジスタ書込信号が同一のものであるとして、そのうちの最後の1回の実行レジスタ書込信号に対応した書き込み動作のみを許容する。
【0106】
従って、本実施例では、CoPro100に継続して受信される実行レジスタ書込信号の内容を直接検知することでその同一性を判断するのではなく、CPU302にウエイト信号が入力されているか否かを判断することで、CoPro100に継続して入力される実行レジスタ書込信号が同一のものか否かを判断するよう構成されている分だけ、CPU302にて実行される1個の命令に対応した同一の実行レジスタ書込信号が継続して入力されたか否かの判断が容易にされる。
【0107】
なお、本実施例の態様と異なり、CoPro100に継続して受信される実行レジスタ書込信号の内容(例えば、実行レジスタのアドレス番号等)を直接検知することで、その同一性を判断するよう構成してもよいのは勿論である。また、同一であると判断した場合に、複数クロック・サイクルに渡って継続して受信した複数の実行レジスタ書込信号のうち、最後のもの以外の他の1回の実行レジスタ書込信号に対応した書き込み動作のみを実行するよう構成しても良い。
【0108】
また、一方、本実施例では、CoPro100において、実行状態184であるときに、実行レジスタ書込信号を受信し、かつ、デコード回路部106へのウエイト信号が非入力状態であると判断している場合には、実行状態184にありながらにして、受信した実行レジスタ書込信号に対応した書き込み動作を行うと共に、該書き込み動作が行われた実行レジスタに対応した処理を行う(実行状態管理処理158)。
【0109】
従って、このように実行レジスタ書込信号を受信した場合に、例えば、準備状態182に一旦遷移した上で、改めて実行状態184に遷移し、その際に当該受信した実行レジスタ書込信号に対応した書き込み動作及び処理を行うよう構成する場合等に比べ、実行状態184にありながらにして、現在実行中の処理を中断等して、受信した実行レジスタ書込信号に対応した書き込み動作及び処理を行える分だけ、受信した実行レジスタ書込信号に対応した処理(緊急を要する割り込み処理等)を迅速に行えるという効果が得られる。
【0110】
なお、本実施例では、準備状態管理処理154及び実行状態管理処理158において、デコード回路部106へのウエイト信号が入力状態にあるか否かを判断する構成が、補助演算装置側ウエイト信号入力判断手段に相当する。また、同処理154及び158において、デコード回路部106へのウエイト信号がアクティブであると判断されているときに、実行レジスタ書込信号が入力されても、それに対応した書き込み動作を行うことを阻止する構成が、書込阻止手段に相当し、デコード回路部106へのウエイト信号が非アクティブな状態に切り替わったと判断されたときに、非アクティブな状態に切り替わったと判断された直後にデコード回路部106にて受信された実行レジスタ書込信号に対応した書き込み動作を実行する構成が、書込許容手段に相当する。また、実行状態管理処理158において、実行状態184であるときに、実行レジスタ書込信号を受信し、かつ、デコード回路部106へのウエイト信号が非入力状態であると判断されている場合には、実行状態184にありながらにして、受信した実行レジスタ書込信号に対応した書き込み動作を行うと共に、該書き込み動作が行われた実行レジスタに対応した処理を行う構成が、割込実行手段に相当する。
[第2実施例]
図6は、本発明が適用された情報処理装置1’の概略構成を示すブロック図である。情報処理装置1’は、中央演算装置であるCPU200、ROM304、外部メモリ306、バスコントローラ308、CoPro310、RAM312を有している。
【0111】
本実施例の情報処理装置1’は、図9に示した従来の情報処理装置300の場合と、以下に説明するようにCPU200の構成が異なる点でのみ異なる。
従って、情報処理装置1’における他の構成要素である、ROM304、外部メモリ306、バスコントローラ308、CoPro310、RAM312等については、図9中のものと同様の構成であるため、これらについては図9中のものと同じ符号を付し、その説明を省略する。
【0112】
図7は、CPU200内部の概略構成を示すブロック図である。
CPU200は、ステージ制御回路202と、デコードユニット204と、カウンタ206と、命令コードレジスタ208と、制御信号生成回路210と、ロードストアユニット212と、を有する。
【0113】
上記のうち、ステージ制御回路202は、命令系バス320,322側(本実施例では、バスコントローラ308)から入力されるウエイト信号に合わせて、CPU200で実行される処理のステージ長が変わるよう、CPU200内の各要素204〜212を制御する。デコードユニット204は、命令側データバス322から取り込まれたデータを解読し、CPU200にてどのような処理を行うかを示す命令コードを生成する。カウンタ206は、後述のように、デコードユニット204で生成された命令コードの内容が、CPU200にて実行される1個の命令に対応して、CoPro310に対して同一の書込信号を継続的に出力する同一の出力指示である度に、その回数に対応したカウント値を計数する。命令コードレジスタ208は、デコードユニット204で生成された命令コードを保持するためのレジスタである。制御信号生成回路210は、命令コードレジスタ208に保持された命令コードを用いてロードストアユニット212に対する制御信号を生成・出力する。そして、ロードストアユニット212は、命令系バス320,322側及びデータ系バス324,326側双方に対するメモリアクセスに必要な信号を生成し、出力する。
【0114】
次に、このように構成されたCPU200中の制御部(メモリアクセスを制御する部分:例えば、デコードユニット204、ロードストアユニット212等からなる部分)において実行される制御処理につき、図8のフローチャートを用いて説明する。なお、制御処理は、命令系バス320、322を介してプログラムデータを取り込み、該データから命令コードを生成する度に、該命令コードに基づいて、繰返し実行される。
【0115】
制御処理が開始されると、まず、S110(Sはステップを表す)にて、命令コードによって示されたメモリアクセスの対象がCoPro310であるか否かを判断する。
S110にて、メモリアクセスの対象がCoPro310であると判断された場合(S110:CoPro)には、S120に移行し、CoPro310へのアクセスの種類がCoPro310内のレジスタに対する書き込みであるのか、或いは読み出しであるのかを判断する。
【0116】
そして、S120にて、CoPro310へのアクセスの種類がCoPro310内のレジスタに対する書き込みであると判断された場合(S120:書き込み)には、S130に移行する。
S130では、現在、CPU200(ステージ制御回路202)にウエイト信号が入力状態にある(アクティブである)か否かを判断する。そして、S130にて、ウエイト信号が非アクティブであると判断された場合(S130:NO)には、S140に移行して、カウンタ206のカウント値の初期化(例えば、0(ゼロ)等の初期値への初期化)が行われ、続くS150に移行する。一方、S130にて、ウエイト信号がアクティブであると判断された場合(S130:YES)には、上記のようなカウント値の初期化を行うことなく、S150に移行する。
【0117】
S150では、カウンタ206のカウント値が、現在、初期値であるか否かを判断する。そして、該カウント値が初期値であると判断された場合(S150:初期値)には、S160に移行して、デコードユニット204で生成された命令コードに対応した、CoPro310のレジスタに対する書込信号(データレジスタ書込信号、又は実行レジスタ書込信号)をCoPro310に対して出力し、S170に移行する。一方、S150にて、カウンタ206のカウント値が、現在、初期値でないと判断された場合(S150:初期値以外)には、上記のような書込信号の出力を行うことなく、S170に移行する。
【0118】
そして、S170では、カウンタ206のカウンタ値をインクリメント(例えば、1だけインクリメント)し、当該制御処理を一旦終了する。
一方、S110にて、メモリアクセスの対象がCoPro310以外のメモリ(例えば、本実施例では、ROM304、外部メモリ306、RAM312等)であると判断された場合(S110:CoPro以外)には、S180に移行する。
【0119】
S180では、該対象となったメモリに対するアクセスの種類が、該メモリ内のレジスタに対する書き込みであるのか、或いは読み出しであるのかを判断する。
そして、S180にて、該メモリへのアクセスの種類が該メモリ内のレジスタに対する書き込みであると判断された場合(S180:書き込み)には、S200に移行する。S200では、デコードユニット204で生成された命令コードに対応した、該メモリのレジスタに対する書込信号を該メモリに対して出力する。続くS210では、カウンタ206のカウント値を初期値化が行われ、当該制御処理を一旦終了する。
【0120】
また、S180にて、該メモリへのアクセスの種類が該メモリ内のレジスタに対する読み出しであると判断された場合(S180:読み出し)、及び、S120にて、CoPro310へのアクセスの種類がCoPro310内のレジスタに対する読み出しであると判断された場合(S120:読み出し)には、S190に移行する。
【0121】
S190では、これらの読み出しの対象となったメモリのレジスタに対する読出信号を出力する。そして、続くS210で、カウンタ206のカウント値の初期値化を行った上で、当該制御処理を一旦終了する。
このように実行される制御処理においては、メモリアクセスの対象がCoPro310以外である場合(S110:CoPro以外)や、メモリアクセスの対象がCoPro310であってもアクセスの種類が読み出しである場合(S120:読み出し)には、カウンタ206のカウント値が初期値化される(S210)。また、メモリアクセスの対象がCoPro310であり(S110:CoPro)、アクセスの種類が書き込みの場合(S120:書き込み)であっても、CPU200へのウエイト信号が非アクティブである判断されている限り(S130:NO)、カウンタ206のカウント値は初期値化される(S140)。
【0122】
一方、このようにカウンタ206のカウント値が初期値化されて一旦終了した制御処理の次回のフローの際に、メモリアクセスの対象がCoPro310、アクセスの種類が書き込みと判断され(S110:CoPro,S120:書き込み)、かつ、CPU200へのウエイト信号がアクティブであると判断された場合(S130:YES)には、カウンタ206のカウント値の初期値化は実行されない。
【0123】
但し、この場合であっても、前回の制御処理でカウンタ206のカウント値が初期値化されているため(S210,S140)、今回のフローでは、S150でカウンタ206のカウント値が初期値であると判断される(S150:初期値)。従って、CoPro310のレジスタに対する書込信号がCoPro310に対して出力されることになる(S160)。
【0124】
しかし、このフローのS170では、カウンタ206のカウント値がインクリメントされる。そのため、更に次回のフローにおいて、メモリアクセスの対象がCoPro310、アクセスの種類が書き込みと判断され(S110:CoPro,S120:書き込み)、かつ、CPU200へのウエイト信号がアクティブであると判断された場合(S130:YES)には、S150で、カウンタ206のカウント値が初期値以外と判断される(S150:初期値以外)。そして、その結果、CoPro310のレジスタに対する書込信号がCoPro310に対して出力されないことになる。
【0125】
つまり、本実施例の制御処理では、メモリアクセスの内容がCoPro310のレジスタに対する書き込みである場合には、CPU200へのウエイト信号が入力状態にあるか否かを判断し(S130)、入力状態であると判断した場合には、CPU200にて実行される1個の命令(命令コード)に対応して、CoPro310に対して、複数クロック・サイクルに渡って同一の書込信号を継続して出力する状態になっているとして処理する。
【0126】
具体的には、カウンタ206のカウント値が初期値であるときだけ、CoPro310のレジスタに対する書込信号の出力を許容し(S150:初期値→S160)、該カウント値が初期値でない次回以降の制御処理では該書込信号を出力させないようにする(S150:初期値以外→S170)。
【0127】
そして、その結果、CPU200にて実行される1個の命令に対応して、CoPro200に対して、複数クロック・サイクルに渡って同一の書込信号を継続して出力する状態になっている場合、即ち、ウエイト信号が入力されたステージ制御回路202による制御によって、デコードユニット204にて生成される命令コード1つに対応して、ロードストアユニット212から複数クロック・サイクルに渡って同一の書込信号を継続して出力する状態になっている場合に、そのうちの最初の1回の書込信号の出力のみが許容されることになる。
【0128】
従って、本実施例によれば、従来のように、CPUに対するウエイト信号の入力により、CPUにて実行される1個の命令に対応して、CoPro310において複数クロック・サイクルに渡って同一の書込信号(データレジスタ書込信号、実行レジスタ書込信号)が継続して受信され、CoPro310で同一の処理が複数回に渡って繰り返され、その結果、処理時間が長くなるという問題が発生することはない。つまり、CoPro310の実行レジスタへの書き込みがなされた1クロック・サイクル後に、CoPro310において、該実行レジスタに対応した処理を確実に開始させることができ、効率良く当該処理を行うことが可能となる。
【0129】
また、本実施例によれば、CoPro310にて、前回の演算結果を用いて次回の演算処理を行うような場合(積和演算の場合等)でも、CPU200にて実行される1個の命令に対応して、同一の実行レジスタ書込信号による書き込み動作がCoPro310で複数回繰り返されることが防止されるため、正しい演算結果が得られることになる。
【0130】
このことを図5を用いて具体的に説明する。図5に示された処理においては、CPU200に対するウエイト信号の入力により、時刻tk2、tk3、tk4の3回のクロック・サイクルに渡って連続して、同じ実行2用の実行レジスタ書込信号がCoPro310に出力される状態になる。
【0131】
この場合、本実施例では、時刻tk1〜tk2、tk2〜tk3、tk3〜tk4の3回のタイミングに渡って実行される制御処理中のS130において、ウエイト信号がアクティブであると判断される。
そして、3回のクロック・サイクルに渡って出力される状態になる実行2用の実行レジスタ書込信号のうち、出力が許容されるのは、カウンタ206のカウント値が初期値のタイミングである時刻tk2に出力されるもののみとなる。
【0132】
従って、図5中のii)に示されるように、実行2用の実行レジスタ書込信号に対応したCoPro310での書き込み及び演算処理は、CPU200からの該書込信号の出力に同期して、時刻tk2に実行される。また、時刻tk3、tk4においては、CPU200からの該書込信号の出力が阻止されていることに対応して、時刻tk3〜tk5の間は、CoPro310における演算処理の実行がCPU200の状態に同期して一時的に停止される。
【0133】
次に、本実施例の構成では、時刻tk4〜tk5のタイミングで実行される制御処理中のS130においては、時刻tk4〜tk5でCPU200へのウエイト信号がアクティブである部分がないことから、ウエイト信号が非アクティブである判断される(図5参照)。よって、カウンタ206のカウント値は初期値化され(S140)、時刻tk5においては、実行2の演算処理の結果を用いた実行3の演算処理用の実行レジスタ書込信号がCoPro310に対して好適に出力される(S160)。そして、その結果、該出力に対応した書き込み及び演算処理が同時刻tk5にCoPro310において実行される(図5中のii)参照)。
【0134】
よって、本実施例によれば、従来のように、実行2の演算処理の後に、実行2用の実行レジスタ書込信号が実行3用の実行レジスタ書込信号として誤ってCoProにおいて受信され、該誤った実行レジスタ書込信号に対応した誤った値を用いた演算処理が実行され、正しい演算結果が得られなくなるといった問題が発生することはない。
【0135】
すなわち、本実施例によれば、CPU200にて実行される1個の命令に対応した同一の実行レジスタ書込信号が複数クロック・サイクルに渡って継続的にCPU200からCoPro310に出力される状態になった場合においても、CPU200とCoPro310との間で好適な協調動作が行えることになる。
【0136】
また、上述のように、本実施例では、CPU200において、ウエイト信号がアクティブになっているか否かを判断し(S130)、アクティブになっていると判断した場合(S130:YES)には、CoPro310に対して、複数クロック・サイクルに渡って同一の書込信号を継続して出力する状態になっているとして、そのうちの最初の1回の書込信号の出力のみを許容する。
【0137】
つまり、本実施例では、CPU200から継続して出力される状態になっている書込信号の内容を直接検知することでその同一性を判断するのではなく、CPU200にウエイト信号が入力されているか否かを判断することで、CPU200から継続して出力される状態になっている書込信号が同一のものか否かを判断する。よって、本実施例では、このように構成されている分だけ、CPU200にて実行される1個の命令に対応して、同一の書込信号が継続して出力される状態になっているか否かの判断が容易にされる。
【0138】
なお、本実施例の態様と異なり、CPU200から継続して出力される状態になっている書込信号の内容を直接検知することで、その同一性を判断するよう構成してもよいのは勿論である。また、同一であると判断した場合に、複数クロック・サイクルに渡って継続して出力される状態になっている複数の書込信号のうち、最初のもの以外の他の1回の書込信号の出力のみを許容するよう構成しても良い。
【0139】
また、本実施例では、カウンタ206が、計数手段に相当する。また、S110の処理が、出力先判断手段に相当し、S130の処理が、中央演算装置側ウエイト信号入力判断手段に相当し、S140の処理が、リセット手段に相当し、S150の処理が、出力許可手段に相当する。
【図面の簡単な説明】
【図1】 実施例の情報処理装置の概略構成を示すブロック図である。
【図2】 図1の情報処理装置におけるCoProの内部構成を示すブロック図である。
【図3】 実施例の情報処理装置におけるCoProとCPUの動作タイミングの例を示すタイミングチャートである。
【図4】 実施例のCoProの状態遷移図である。
【図5】 実施例の情報処理装置による効果を説明するためのタイミングチャートである。
【図6】 別実施例の情報処理装置の概略構成を示すブロック図である。
【図7】 別実施例の情報処理装置におけるCPUの内部構成を示すブロック図である。
【図8】 別実施例のCPUにおいて実行される制御処理を示すフローチャートである。
【図9】 従来の情報処理装置の概略構成を示すブロック図である。
【図10】 従来の情報処理装置の問題点を説明するためのタイミングチャートである。
【符号の説明】
1,1’…情報処理装置、100…CoPro、102…入力端子、104…シーケンサ、106…デコード回路部、108…状態レジスタ、110…カウンタ、112…制御信号生成回路、114…レジスタ、116…処理ユニット、140…信号線、154…準備状態管理処理、156…書込許容処理、158…実行状態管理処理、160…準備状態遷移処理、182…準備状態、184…実行状態、200…CPU、202…ステージ制御回路、204…デコードユニット、206…カウンタ、208…命令コードレジスタ、210…制御信号生成回路、212…ロードストアユニット、304…ROM、306…外部メモリ、308…バスコントローラ、312…RAM
Claims (12)
- 命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャを採用した情報処理装置中の中央演算装置に前記バスを介して接続され、該中央演算装置から読み書き可能な複数のレジスタを有し、それらのレジスタのうち、書き込みを行うことにより、当該補助演算装置内で所望の演算動作が開始されるよう構成された特定のレジスタ(以下、「実行レジスタ」と記載する)にデータが書き込まれた際に、書き込まれた実行レジスタに対応した処理を行う補助演算装置であって、
前記中央演算装置にて実行される1個の命令に対応して行われる、当該補助演算装置の実行レジスタへの書き込みを実行するための、同一の実行レジスタ書込信号の受信が複数クロック・サイクルに渡って継続して行われた場合に、そのうちの1回の実行レジスタ書込信号に対応した書き込み動作のみを実行する書込制限手段を備えたことを特徴とする補助演算装置。 - 前記書込制限手段は、
前記同一の実行レジスタ書込信号を複数クロック・サイクルに渡って継続して受信した場合に、そのうちの最後の1回の実行レジスタ書込信号に対応した書き込み動作のみを実行することを特徴とする請求項1に記載の補助演算装置。 - 前記書込制限手段は、
前記中央演算装置にメモリアクセス時のステージ長を延長させるためのウエイト信号が入力されている状態か否かを当該補助演算装置側で判断する補助演算装置側ウエイト信号入力判断手段を備え、
該補助演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断された場合には、複数クロック・サイクルに渡って連続して入力される実行レジスタ書込信号のうち1回の実行レジスタ書込信号に対応した書き込み動作のみを実行するよう構成されたことを特徴とする請求項1に記載の補助演算装置。 - 前記書込制限手段は、
前記補助演算装置側ウエイト信号入力判断手段にて前記ウエイト信号の入力状態であると判断されているときには、入力される前記実行レジスタ書込信号に対応した書き込み動作を行うことを阻止する書込阻止手段と、
前記補助演算装置側ウエイト信号入力判断手段にて前記ウエイト信号の入力状態から非入力状態に切り替わったと判断されたときには、非入力状態に切り替わったと判断された直後に受信した前記実行レジスタ書込信号に対応した書き込み動作を実行する書込許容手段と、
を備えたことを特徴とする請求項3に記載の補助演算装置。 - 実行レジスタへの書き込みを待っている状態である準備状態と、書き込まれた実行レジスタに対応した処理を行う状態である実行状態との間を遷移するよう構成されており、
前記実行状態であるときに、前記実行レジスタ書込信号を受信し、かつ、前記補助演算装置側ウエイト信号入力判断手段にて前記ウエイト信号の非入力状態であると判断された際には、当該実行状態にありながらにして、前記受信した実行レジスタ書込信号に対応した書き込み動作を行うと共に、該書き込み動作が行われた実行レジスタに対応した処理を行う割込実行手段を備えたことを特徴とする請求項3又は4に記載の補助演算装置。 - 命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャを採用した情報処理装置中に設けられた中央演算装置であって、
当該中央演算装置にて実行される1個の命令に対応して、前記データ系バスを介して当該中央演算装置に接続されたメモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合に、そのうちの1回の書込信号の出力のみを許容する出力制限手段を備えたことを特徴とする中央演算装置。 - 前記出力制限手段は、
当該中央演算装置にて実行される1個の命令に対応して、前記メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する状態になっている場合に、そのうちの最初の1回の書込信号の出力のみを許容することを特徴とする請求項6に記載の中央演算装置。 - 前記出力制限手段は、
当該中央演算装置にて実行される1個の命令に対応して、前記メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を継続して出力する出力指示が出される度にその回数に対応したカウント値を計数する計数手段と、
該計数手段にて計数されるカウント値が初期値であるときだけ該書込信号の出力を許容する出力許可手段と、
を備えたことを特徴とする請求項6に記載の中央演算装置。 - 前記出力制限手段は、
当該中央演算装置にメモリアクセス時のステージ長を延長させるためのウエイト信号が入力されている状態か否かを当該中央演算装置側で判断する中央演算装置側ウエイト信号入力判断手段を備え、
該中央演算装置側ウエイト信号入力判断手段にてウエイト信号の入力状態であると判断された場合には、前記メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に書込信号を継続して出力する状態になっている場合に、そのうちの1回の書込信号の出力のみを許容するよう構成したことを特徴とする請求項6に記載の中央演算装置。 - 前記出力制限手段は、
前記メモリに対して、複数クロック・サイクルに渡って各クロック・サイクル毎に書込信号を継続して出力する出力指示が出された際に、その出力回数に対応したカウント値を計数する計数手段と、
該計数手段にて計数されるカウント値が初期値であるときだけ該書込信号の出力を許容する出力許可手段と、
前記中央演算装置側ウエイト信号入力判断手段にて前記ウエイト信号の非入力状態であると判断された場合には、前記計数手段にて計数されるカウント値を初期値化するリセット手段と、
を備えたことを特徴とする請求項9に記載の中央演算装置。 - 書込信号を出力する対象のメモリが補助演算装置内のレジスタであるか否かを判断する出力先判断手段を備え、
前記出力先判断手段にて書込信号の出力先が補助演算装置であると判断されたときだけ、前記出力制限手段により、当該中央演算装置にて実行される1個の命令に対応して、複数クロック・サイクルに渡って各クロック・サイクル毎に同一の書込信号を出力する状態になっている場合に、そのうちの1回の書込信号の出力のみを許容することを特徴とする請求項6〜10のいずれかに記載の中央演算装置。 - 命令系バスとデータ系バスとを個別に持つハーバードアーキテクチャを採用した情報処理装置であって、
請求項1〜5のいずれかに記載の補助演算装置、又は請求項6〜11のいずれかに記載の中央演算装置を備えたことを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002290267A JP3767539B2 (ja) | 2002-10-02 | 2002-10-02 | 補助演算装置、中央演算装置及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002290267A JP3767539B2 (ja) | 2002-10-02 | 2002-10-02 | 補助演算装置、中央演算装置及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004126948A JP2004126948A (ja) | 2004-04-22 |
JP3767539B2 true JP3767539B2 (ja) | 2006-04-19 |
Family
ID=32282207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002290267A Expired - Fee Related JP3767539B2 (ja) | 2002-10-02 | 2002-10-02 | 補助演算装置、中央演算装置及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3767539B2 (ja) |
-
2002
- 2002-10-02 JP JP2002290267A patent/JP3767539B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004126948A (ja) | 2004-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4759273B2 (ja) | データ処理装置及び共用資源へのアクセス制御方法 | |
KR101002911B1 (ko) | 멀티스레디드 프로세서에서 고속 크로스-스레드 인터럽트를위한 방법 및 장치 | |
JP3714598B2 (ja) | マルチスレッド式プロセッサでのスレッド優先順位の変更 | |
KR20010030587A (ko) | 데이터 처리장치 | |
KR20120036301A (ko) | 프로그램가능 예외 처리 지연 | |
JPH11219302A (ja) | デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置 | |
EP1324190A2 (en) | Data processing system having a read-modify-write unit | |
CA2056715A1 (en) | Overlapped serialization | |
JP2017527902A5 (ja) | ||
GB2516864A (en) | Increased instruction issue rate and latency reduction for out-of-order processing by instruction chaining and collision avoidance | |
JP3797570B2 (ja) | セマフォ命令用のセマフォ・バッファを用いた装置と方法 | |
JP3749233B2 (ja) | パイプラインでの命令実行方法及び装置 | |
JP2000330788A (ja) | コンピュータシステム | |
JP3304444B2 (ja) | ベクトル処理装置 | |
US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
US7725694B2 (en) | Processor, microcomputer and method for controlling program of microcomputer | |
US8019973B2 (en) | Information processing apparatus and method of controlling register | |
US20140331025A1 (en) | Reconfigurable processor and operation method thereof | |
JP3767539B2 (ja) | 補助演算装置、中央演算装置及び情報処理装置 | |
US6721878B1 (en) | Low-latency interrupt handling during memory access delay periods in microprocessors | |
US20030037227A1 (en) | Processor enabling exception handling to be set by program | |
JP2009157808A (ja) | データ処理装置及びデータ処理装置におけるバスアクセス制御方法 | |
US20080222336A1 (en) | Data processing system | |
JP3199035B2 (ja) | プロセッサ及びその実行制御方法 | |
KR20150081148A (ko) | 프로세서 및 프로세서 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051209 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060123 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |