JP3754765B2 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
JP3754765B2
JP3754765B2 JP22013496A JP22013496A JP3754765B2 JP 3754765 B2 JP3754765 B2 JP 3754765B2 JP 22013496 A JP22013496 A JP 22013496A JP 22013496 A JP22013496 A JP 22013496A JP 3754765 B2 JP3754765 B2 JP 3754765B2
Authority
JP
Japan
Prior art keywords
hang
circuit
access request
detection
access
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
Application number
JP22013496A
Other languages
Japanese (ja)
Other versions
JPH1063543A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22013496A priority Critical patent/JP3754765B2/en
Publication of JPH1063543A publication Critical patent/JPH1063543A/en
Application granted granted Critical
Publication of JP3754765B2 publication Critical patent/JP3754765B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

【0001】
(目次)
発明の属する技術分野
従来の技術(図5〜図8)
発明が解決しようとする課題
課題を解決するための手段(図1)
発明の実施の形態(図2〜図4)
発明の効果
【0002】
【発明の属する技術分野】
本発明は、主記憶に対する複数のアクセスポイント(アクセス要求源;例えばベクトル処理部やスカラ処理部)を有するデータ処理装置に関し、特に、ハングアップ発生時の処理の改善をはかり主記憶に対するアクセス要求を効率良く処理できるようにしたデータ処理装置に関する。
【0003】
【従来の技術】
一般的なデータ処理装置においては、主記憶に対するアクセスポイント(アクセス要求源)となるポート間に優先順位が予め決められているため、高い優先順位をもつポートに対してアクセス要求があった場合は、必ずそのポートのアクセス要求が優先して処理される。従って、高い優先順位をもつポートのアクセス要求が連続して発生した場合、他の優先順位の低いポートのアクセス要求は、高い要求順位をもつポートのアクセス要求が途切れるまで長期間に亘ってポートに保持されるということが起こる。
【0004】
図5は一般的なデータ処理装置の構成例を示すブロック図で、この図5に示すデータ処理装置は、アクセス要求源としてベクトル処理部11およびスカラ処理部12を有するとともに、プライオリティ決定回路3,アクセス処理部4および主記憶6を有して構成されている。
ベクトル処理部11は、ポート21〜24を介してプライオリティ決定回路3に、主記憶6に対するアクセス要求を出力する一方、スカラ処理部12は、ポート25を介してプライオリティ決定回路3に、主記憶6に対するアクセス要求を出力するようになっている。なお、ポート21〜25間の優先順位は、スカラ処理部12に接続されたポート25がベクトル処理部11に接続されたポート21〜24よりも優先されるように設定されている。
【0005】
また、主記憶6は、バンク0〜31の32バンクにインタリーブされており、図5に示す横方向の4バンクを1組としてアクセス処理部4から主記憶6に対する8本のアクセスバス51〜58を張ることにより、主記憶6の8バンクに対して同時にアクセスできる構成になっている。
プライオリティ決定回路3は、各ポート21〜25のアクセス要求の内容,ポート21〜25間の優先順位,ポート21〜25間のアクセスバス51〜58の競合,主記憶6のバンク毎のビジー状況等に基づいて、アクセス処理すべきアクセス要求(どのポートからのアクセス要求を処理すべきか)を決定するものである。
【0006】
ここで、ポート21〜25間のアクセスバス51〜58の競合とは、各ポート21〜25からのアクセス要求が使用するアクセスバス51〜58の競合のことであり、競合があった場合には、ポート間優先順位の高いポートのアクセス要求が、プライオリティ決定回路3により選択され、アクセス処理部4で優先的に処理される。また、主記憶6のビジー状況はインタリーブされたバンク毎に監視されており、あるバンクに対してアクセスがあるとバンクが一定期間だけビジーとなり、そのバンクに対する他のアクセス要求を処理することは禁止される。
【0007】
ベクトル処理部11またはスカラ処理部12から発信されるアクセス要求としては、以下のようなブロックアクセス,シングルアクセス,ランダムアクセスがある。また、ベクトル処理部11からのアクセス要求は1バンクへのアクセスを1単位とし、一連のアクセスとして常に1以上の単位(例えば256単位)が連続して発信される。
【0008】
▲1▼ブロックアクセス(読出/書込):ベクトル処理部11またはスカラ処理部12から、それぞれ対応する1つのポート21〜24または25へ発信され、主記憶6の縦1列8バンク(例えばバンク0〜7)に対して同時に読出または書込を行なう。従って、1回のブロックアクセスで8本のアクセスバス51〜58を同時に使用するので、8本のアクセスバス51〜58のうち1本でもビジーであったり他のバスと競合していて8本同時に使用できない場合には、ブロックアクセスを実行することはできない。このブロックアクセスによるアクセス要求は、ベクトル処理部11からはプライオリティ決定回路3のポート21〜24のうちの一つ(例えばポート21)に、スカラ処理部12からはポート25に発信される。ベクトル処理部11からの一連のアクセスは、アクセス処理部4により8単位同時に処理されることになる。
【0009】
▲2▼シングルアクセス(読出/書込):ベクトル処理部11またはスカラ処理部12から発信される。主記憶6の任意の1バンクに対して読出または書込を行なう。1回のシングルアクセスでは、8本のアクセスバス51〜58のうちの1本のみが使用される。このシングルアクセスによるアクセス要求も、ベクトル処理部11からはプライオリティ決定回路3のポート21〜24のうちの一つ(例えばポート21)に、スカラ処理部12からはポート25に発信される。
【0010】
▲3▼ランダムアクセス(読出/書込):ベクトル処理部11からのみ発信される。プライオリティ決定回路3のポート21〜24に対してシングルアクセスが同時に発信される。1回のランダムアクセスで、最大4バンクに対して同時に書込または読出が行なわれ、8本のアクセスバス51〜58のうち最大で4本が使用される。このランダムアクセスは、一連の連続しない主記憶領域へのアクセスであって、最初はポート21〜24に対し同時にアクセス要求があり、以後、空いたポートに次々とアクセス要求が発信されることになる。そして、プライオリティ決定回路3は、ポート21→ポート22→ポート23→ポート24→ポート21→…の順序を保ちながらアクセス要求を処理してゆく。つまり、そのポート間の競合やビジー等で発信できないアクセス要求がある場合は、前述した順序を保証するためにそのアクセス要求よりも後方に位置するポートへのアクセス要求の発信は禁止される。
【0011】
上述のようなデータ処理装置において、例えば、優先順位の高いポート25に発信されるアクセス要求が同一バンクに対する連続するシングルアクセスである場合、そのバンクは常にポート25のアクセス要求のみに使用されることになり、他ポートからそのバンクへのアクセスは、ポート25のアクセス要求が他バンクに移るかアクセス要求が途切れるかするまで、事実上不可能になる。このような状況をハングアップと称する。
【0012】
また、高い優先順位をもつポートへのアクセス要求の中止の条件が、低い優先順位をもつポートへのアクセス要求の処理終了であるようなプログラムが記述可能である場合、低い優先順位をもつポートのアクセス要求が全く処理されず、高い優先順位をもつポートへのアクセスが途切れることなく処理されてしまい、結果的に低い優先順位をもつポートへのアクセスはハングアップしてしまう。
【0013】
そこで、ハングアップを検出してハングアップが実際に生じるのを防止するために、図6に示すようなデータ処理装置も提案されている(特開平6−161873号公報参照)。なお、図6中、既述の符号と同一の符号は同一部分を示しているので、その説明は省略する。
図6に示すデータ処理装置は、図5に示したデータ処理装置に、ハングアップ検出回路71〜75,カウンタ76およびハングアップ処理回路9を新たに付加した構成となっている。
【0014】
ハングアップ検出回路71〜75は、それぞれ、ポート21〜25に対応してそなえられ、ポート21〜25に保持されているアクセス要求が一定時間以上保持された場合にそのアクセス要求がハングアップ状態であるとして、“0”から“1”に立ち上がるハングアップ検出信号(ハングアップ検出フラグ)81〜85をハングアップ処理回路9へ出力するものである。各ハングアップ検出回路71〜75は、図7を参照して後述するごとく、カウンタ76の出力をトリガ信号として用いながらハングアップの検出を行なっている。
【0015】
ハングアップ処理回路9は、ハングアップ検出回路71〜75からの検出信号81〜85を受け、ハングアップを検出されたポートが1つの場合は、そのポートのアクセス要求にのみプライオリティを与え(プライオリティ反転制御)、これが発信されるまで他ポートのアクセス要求の発信を抑止する一方、ハングアップを検出されたポートが2以上であった場合は、予め決められた優先順位に従い1ポートずつ同様の処理を行なうものである。このように、ハングアップ処理回路9により、ハングアップ検出回路71〜75からの検出信号81〜85に応じて優先順位(プライオリティ)の反転制御が行なわれ、プライオリティ決定回路3におけるハングアップが回避される。
【0016】
ところで、ハングアップ検出回路71は、例えば図7に示すごとく、インバータ201,ANDゲート202,204,ラッチ回路203,205から構成されている。なお、他のハングアップ検出回路72〜75も図7に示す回路71と同様の構成になっている。
図7において、カウンタ76の出力は、ポート21に保持されている時間を直接的に計測するためのものではなく、カウンタ76のキャリーアップ信号が、後述のごとく、ハングアップ予測フラグ用のラッチ回路203およびハングアップ検出フラグ用のラッチ回路205をセットするためのトリガ信号として用いられている。
【0017】
図7における各信号の意味は次の通りである。
▲1▼ポートバリッド信号:ポート21(〜25)にアクセス要求があることを示す信号
▲2▼ポートリリース信号:ポート21(〜25)に保持されているアクセス要求が次タイミングで主記憶6に発信されることを示す信号
▲3▼トリガ信号:カウンタ76のキャリーアップ信号(最上位キャリー信号)
次に、図7に示すハングアップ検出回路71(〜75)の動作について説明する。
【0018】
最初、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力は、ともに“0”にリセットされているものとする。
今、カウンタ76からのトリガ信号(キャリーアップ信号)が“1”になったタイミングで対応するポート21にアクセス要求があってポートバリッド信号が“1”になり、且つ、それが次タイミングで発信されない即ちポートリリース信号が“0”であれば、ポートリリース信号は、インバータ201で“1”に反転され、ANDゲート202の3つの入力(トリガ信号,ポートバリッド信号,ポートリリース信号)が全て“1”になって、ハングアップ予測フラグ用ラッチ回路203の出力が“1”にセットされる。
【0019】
カウンタ76からのトリガ信号が次に“1”になるまでの間(カウンタ76の計時数Nτとする)にアクセス要求が発信されれば(即ちポートリリース信号が“1”になれば)、ハングアップ予測フラグ用ラッチ回路203はリセットされる。ハングアップ予測フラグ用ラッチ回路203がリセットされないまま、トリガ信号が“1”になると、今度は、ANDゲート204の2つの入力(ラッチ回路203の出力およびトリガ信号)が“1”になって、ハングアップ検出フラグ用ラッチ回路205の出力が“1”にセットされる。
【0020】
この後、ハングアップ処理回路9の機能により、ポート21に保持されていたアクセス要求が主記憶6に発信されると(即ちポートリリース信号が“1”になると)、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力はともに“0”にリセットされる。
このようなハングアップ検出回路71(〜75)により、ポート21にアクセス要求が保持されている時間がNτを超えるとハングアップが検出されることがあり、2Nτ以上であれば必ずハングアップが検出される。また、このハングアップ検出回路71(〜75)では、ハングアップの検出が短時間で連続して起こることはなく、最小Nτ間隔で起こるのでアクセス処理全体に占めるハングアップ処理の割合を比較的低く抑えることができる。
【0021】
なお、図8(a)〜(f)は、ハングアップ検出回路71(〜75)によりハングアップが検出される際の具体的なタイムチャートである。この図8(a)〜(f)に示す例では、カウンタ76の計時数Nが256で、図8(a),(b)に示すごとく、カウンタ76が“0”から計数を開始し“255”を計数するタイミングでトリガ信号が“1”に立ち上がっている。
【0022】
図8(b)〜(f)に示すように、ポート21にアクセス要求が保持されてから(ポートバリッド信号が“1”になってから)最初のトリガ信号の立ち上がりタイミングで、ハングアップ予測フラグ用ラッチ回路203の出力(ハングアップ予測フラグ)が“1”にセットされる。
そして、256τ後の次のトリガ信号の立ち上がり時点にポート21に未だ同一のアクセス要求が保持されていると、そのトリガ信号の立ち上がりタイミングでハングアップ検出フラグ用ラッチ回路205の出力(ハングアップ検出フラグ)が“1”にセットされ、ハングアップが検出される(ハングアップ検出信号81が“0”から“1”に立ち上がる)。
【0023】
つまり、ポート21にアクセス要求が保持されている時間が256τを超えると、その保持時間が512τになるまでに、ハングアップが検出されることになる。そして、そのアクセス要求についてのポートリリース信号が“1”になるタイミングで、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力がともに“0”にリセットされる。
【0024】
このように、上述したデータ処理装置では、各ポート21〜25にアクセス要求が保持されている時間が予め決められた時間T(例えばNτまたは256τ)を超えたことを検出する手段(ハングアップ検出回路71〜75)を設け、その手段によりアクセス要求の保持時間が時間Tを超えたことを検出すると“1”になりそのアクセス要求が主記憶6に対し発信されると“0”になるフラグ(ハングアップ検出信号81〜85)を用いてハングアップ処理の制御が行なわれている。
【0025】
【発明が解決しようとする課題】
ところで、上述のごとく構成されハングアップ検出/ハングアップ処理を行なうデータ処理装置において、例えば、I/Oアクセスがディスタンス付きアクセスであり同一バンクに長大なレングスでアクセスを行なっている最中に、ベクトルストアアクセスの最大レングスでアクセス要求があった場合を考えてみる。
【0026】
そのベクトル命令は、アクセス競合が無ければ主記憶6の縦1列8バンクを全て使用できるので、2048/8=256τで終了するが、上述のような長大なレングスのディスタンス付きアクセスが優先的に実行されておりそのアクセスと競合する場合には、そのベクトル命令を保持しているポートについてハングアップが検出されるタイミングで1度しか実行されない。従って、アクセス要求保持カウンタの値が512(ハングアップ検出にかかる最大時間;図8に示す例ではカウンタ76の計時数256サイクル×2)であるとすると、そのベクトル命令を処理するのに(2048/8)*512=131072τかかることになり、データ処理装置の処理性能が著しく低下するという課題があった。
【0027】
本発明は、このような課題に鑑み創案されたもので、ハングアップ状態が長時間に亘って継続するアクセス要求を効率良く処理できるようにして、処理性能の改善をはかったデータ処理装置を提供することを目的とする。
【0028】
【課題を解決するための手段】
図1は本発明の原理ブロック図で、この図1に示すように、本発明のデータ処理装置は、複数のアクセス要求源1と、複数バンクにインタリーブされた主記憶6と、アクセス要求源1から主記憶6に対するアクセス要求を受け付ける複数のポート2と、これらのポート2に保持されているアクセス要求の優先順位を決定するプライオリティ決定回路3と、このプライオリティ決定回路3により決定した優先順位に従って複数のポート2に保持されているアクセス要求を主記憶6へ発信するアクセス処理部4とを有するとともに、ハングアップ検出回路7,ハングアップ処理回路9および基準時間設定部10を有して構成されている。
【0029】
ここで、ハングアップ検出回路7は、複数のポート2のそれぞれに対応して設けられ、対応するポート2にアクセス要求が基準時間以上保持されている場合に当該アクセス要求をハングアップとして検出するものであり、ハングアップ処理回路9は、ハングアップ検出回路7による検出結果をアクセス要求の優先順位の決定要素として用いたハングアップ処理を行なうものであり、基準時間設定部10は、ハングアップ検出回路7によるハングアップ検出に伴いハングアップ処理回路9によるハングアップ処理を行なった後も継続的に当該アクセス要求がポート2に保持されている場合、前記基準時間を短縮設定するものである(請求項1)。
【0030】
上述のごとく構成された本発明のデータ処理装置では、ハングアップ検出回路7によるハングアップ検出に伴いハングアップ処理回路9によるハングアップ処理を行なった後も継続的に同一のアクセス要求がポート2に保持され続けている場合には、基準時間設定部10により、ハングアップ検出回路7によるハングアップ検出基準となる前記基準時間がより短い時間に設定される。従って、ハングアップ検出回路7によるハングアップ検出の間隔が短くなり、ハングアップ状態が長時間に亘って継続するアクセス要求を効率良く処理することが可能になる。
【0031】
なお、ハングアップ処理回路9が、前記ハングアップ処理として、ハングアップ検出回路7によるハングアップ検出に応じたアクセス要求の優先順位の反転制御を行なうように構成するとともに、基準時間設定部10を、ハングアップ処理回路9により優先順位の反転制御を行なった回数を計数する優先順位反転回数カウンタと、この優先順位反転回数カウンタによる計数値に応じて前記基準時間をより短い基準時間に切り換える基準時間切換回路とから構成してもよい(請求項2)。このとき、優先順位反転回数カウンタのリセットを、当該アクセス要求を保持しているポート2のバリッドオフに応じて行なうように構成する(請求項3)。
【0032】
つまり、ハングアップ処理回路9による優先順位の反転制御の回数が増加する程、同一のアクセス要求がポート2に継続的に保持されているものと判断することができるので、優先順位反転回数カウンタによる計数値に応じて、基準時間切換回路により、ハングアップ検出回路7によるハングアップ検出基準となる前記基準時間をより短い時間に切り換えることで、前述の通り、長時間に亘ってハングアップ状態のアクセス要求を効率良く処理することができる。
【0033】
また、複数のポート2のそれぞれに対応して設けられたハングアップ検出回路7が、共通のカウンタの計数出力を用いて、ハングアップの検出を行なうように構成してもよい(請求項4)。この場合、ハングアップ検出用のカウンタ(アクセス要求のポート保持期間を計測するために用いるカウンタ)を、複数のポート2毎にそなえることなく、ハングアップの検出を行なうことができる。
【0034】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図2は本発明の一実施形態としてのデータ処理装置の構成を示すブロック図である。なお、この図2においては、図5や図6に示した5つのポート21〜25,8つのアクセスバス51〜58,5つのハングアップ検出回路71〜75および5つのハングアップ検出信号81〜85を、それぞれ、1つの符号に統一、つまり、ポート2,アクセスバス5,ハングアップ検出回路7およびハングアップ検出信号8に統一して表記している。また、図2中、既述の符号と同一の符号は同一部分を示しているので、その詳細な説明は省略する。
【0035】
図2に示すように、本実施形態のデータ処理装置も、図6に示した装置とほぼ同様、アクセス要求源としてベクトル処理部11およびスカラ処理部12を有するとともに、プライオリティ決定回路3,アクセス処理部4,主記憶6,ハングアップ処理回路9のほか、ポート2毎のハングアップ検出回路7を有して構成されているが、本実施形態では、ポート2毎のハングアップ検出回路7に、基準時間設定部10が新たに付設されている。
【0036】
ここで、ベクトル処理部11は、4つのポート2を介してプライオリティ決定回路3に、主記憶6に対するアクセス要求を出力する一方、スカラ処理部12は、1つのポート2を介してプライオリティ決定回路3に、主記憶6に対するアクセス要求を出力するようになっている。
また、主記憶6は、バンク0〜31の32バンクにインタリーブされており、図2に示す横方向の4バンクを1組としてアクセス処理部4から主記憶6に対する8本のアクセスバス5を張ることにより、主記憶6の8バンクに対して同時にアクセスできる構成になっている。
【0037】
プライオリティ決定回路3は、各ポート2のアクセス要求の内容,ポート2間の優先順位,ポート2間のアクセスバス5の競合,主記憶6のバンク毎のビジー状況等に基づいて、アクセス処理すべきアクセス要求(どのポートからのアクセス要求を処理すべきか;アクセス要求の優先順位)を決定するものである。
ハングアップ検出回路7は、ポート2毎にそなえられ、図3を参照しながら後述するごとく図7にて説明したものと全く同様に構成されており、各ポート2に保持されているアクセス要求が基準時間以上保持されている場合にそのアクセス要求がハングアップ状態であるとして、“0”から“1”に立ち上がるハングアップ検出信号(ハングアップ検出フラグ)8をハングアップ処理回路9へ出力するものである。
【0038】
なお、本実施形態の各ハングアップ検出回路7も、図3を参照して後述するごとく、共通のカウンタ76の計数出力を、ハングアップ予測フラグ用のラッチ回路203およびハングアップ検出フラグ用のラッチ回路205をセットするためのトリガ信号として用いながらハングアップの検出を行なっている。
また、ハングアップ処理回路9は、各ハングアップ検出回路7による検出結果をアクセス要求の優先順位の決定要素として用いたハングアップ処理(ハングアップ検出回路7によるハングアップ検出に応じたアクセス要求の優先順位の反転制御)を行なうものである。
【0039】
そして、基準時間設定部10は、各ハングアップ検出回路7によるハングアップ検出に伴いハングアップ処理回路9によるハングアップ処理を行なった後も継続的に同一のアクセス要求がポート2に保持されている場合、そのポート2に付設されたハングアップ検出回路7における前記基準時間を強制的に短縮設定するものである。
【0040】
この基準時間設定部10は、例えば図3に示すごとく、優先順位反転回数カウンタ101,切換信号作成回路102,セレクタ103,ANDゲート104,インバータ105,106から構成されている。なお、図3には、本実施形態におけるハングアップ検出回路7の詳細構成も図示されているが、そのハングアップ検出回路7の詳細構成は、図7に示したハングアップ検出回路71(〜75)と全く同様であるので、その説明は省略する。
【0041】
ここで、優先順位反転回数カウンタ101は、ハングアップ処理回路9により優先順位の反転制御を行なった回数を計数するためのものである。本実施形態では、ハングアップ検出回路7におけるハングアップ検出フラグ用ラッチ回路205の入出力に基づいて、ハングアップ検出に伴って優先順位の反転制御を行なうタイミングを検出し、そのタイミングでカウンタ101のカウントアップを行なっている。
【0042】
つまり、ラッチ回路205の出力(ハングアップ検出信号8)が“0”の時にラッチ回路205へのセット入力(ANDゲート204の出力)が“1”になるタイミング(即ち、ハングアップ検出信号8が“0”から“1”に切り換わるタイミング)が、優先順位の反転制御タイミングであるので、ラッチ回路205の出力を反転するインバータ105と、このインバータ105の出力とラッチ回路205へのセット入力との論理積を出力するANDゲート104とを用いることにより、上記反転タイミングがANDゲート104の出力の立ち上がりとして検出することができる。そして、そのANDゲート104の出力をカウンタ101のカウントアップ信号として用いることにより、ハングアップ処理回路9により優先順位の反転制御を行なった回数がカウンタ101で計数される。
【0043】
なお、本実施形態の優先順位反転回数カウンタ101には、ハングアップ検出対象のポート2のポートバリッド信号をインバータ106により反転した信号がリセット信号として入力される。これにより、カウンタ101は、ハングアップ検出対象のポート2のバリッドオフ(アクセス要求の処理完了)に応じてリセットされるように構成されている。
【0044】
切換信号作成回路102は、優先順位反転回数カウンタ101による計数値に応じて切換信号を作成してセレクタ103に与えらるものである。
そして、セレクタ(基準時間切換回路)103は、切換信号作成回路102からの切換信号に応じて、カウンタ76の計数出力であるビットライン76−1〜76−n(nビットカウンタのビット毎の出力ライン)の信号のうちの一つを選択し、ラッチ回路203,305用のトリガ信号としてハングアップ検出回路7のANDゲート202および204へ切換出力するものである。
【0045】
つまり、本実施形態のセレクタ103では、優先順位反転回数カウンタ101による計数値が増加するのに伴い、ハングアップ検出回路7における前記基準時間がより短い基準時間に切り換えるようになっている。例えば、優先順位反転回数カウンタ101による計数値が0,1,2,3,4,…に対応して基準時間が256τ,64τ,16τ,4τ,4τ,…となるように、セレクタ103の切換制御〔トリガ信号(カウンタ76のビットライン76−1〜76−nからのキャリーアップ信号)の選択・切換制御〕が行なわれる。より具体的かつ詳細な動作については図8(a)〜(i)にて後述する。
【0046】
なお、図3における各信号の意味は次の通りである。
▲1▼ポートバリッド信号:ハングアップ検出対象のポート2にアクセス要求があることを示す信号
▲2▼ポートリリース信号:ハングアップ検出対象のポート2に保持されているアセスス要求が次タイミングで主記憶6に発信されることを示す信号
▲3▼トリガ信号:カウンタ76のビットライン76−1〜76−nの中からセレクタ103により選択されたキャリーアップ信号
次に、図3に示すハングアップ検出回路7および基準時間設定部10の動作について、図4(a)〜(i)を参照しながら説明する。
【0047】
なお、図4(a)〜(i)は、本実施形態のハングアップ検出回路7によるハングアップ検出動作および基準時間設定部10による基準時間切換動作を説明するための具体的なタイムチャートである。ただし、ハングアップ検出回路7の動作については、ハングアップ検出回路71の動作として図7および図8により前述しているので、その詳細な説明は省略する。
【0048】
最初、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力はともに“0”にリセットされ、優先順位反転回数カウンタ101による計数値も“0”にリセットされているものとする。
また、優先順位反転回数カウンタ101の計数値が“0”の時には、カウンタ76が“0”から計数を開始し“255”を計数するタイミング〔計数値256(=28 )〕で“1”に立ち上がるキャリーアップ信号が、セレクタ103によりトリガ信号として選択され、ANDゲート202および204に入力されているものとする。
【0049】
図4(a)〜(f)に示すように、本実施形態でも、タイミングt0にハングアップ検出対象のポート2にアクセス要求が保持されてから(ポートバリッド信号が“1”になってから)最初のトリガ信号の立ち上がりタイミング(256計数タイミング)t1で、ハングアップ予測フラグ用ラッチ回路203の出力(ハングアップ予測フラグ)が“1”にセットされる。
【0050】
そして、256τ後の次のトリガ信号の立ち上がり時点t2にポート2に未だ同一のアクセス要求が保持されていると、そのトリガ信号の立ち上がりタイミングt2でハングアップ検出フラグ用ラッチ回路205の出力(ハングアップ検出フラグ)が“1”にセットされ、ハングアップが検出される(ハングアップ検出信号8が“0”から“1”に立ち上がる)。つまり、ポート2にアクセス要求が保持されている時間が256τを超えると、その保持時間が512τになるまでに、ハングアップが検出されることになる。
【0051】
このようにハングアップが検出されると、図8によっても説明した通り、ハングアップ処理回路9により優先順位の反転制御が行なわれ、そのアクセス要求が処理され、そのアクセス要求についてのポートリリース信号が“1”になるタイミングt3で、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力がともに“0”にリセットされる。
【0052】
一方、本実施形態における基準時間設定部10では、図3にて前述した通り、ハングアップ検出信号8が“0”から“1”に立ち上がるタイミングt2でANDゲート104の出力も“1”に立ち上がり、図4(g)に示すように、優先順位反転回数カウンタ101による計数値は“0”から“1”になる。
このカウンタ101の計数値“1”は、ハングアップ検出に応じたハングアップ処理回路9による優先順位の反転制御に伴いポート2が解放されポートバリッド信号が“0”になれば、“0”にリセットされるが、ここでは、図4(d)に示すようにタイミングt3でポートリリース信号が立ち上がった後も、図4(c)に示すように、ハングアップ検出対象のポート2にアクセス要求が保持され続け、ポートバリッド信号が“1”のままであるものとする。
【0053】
このような場合、本実施形態の基準時間設定部10では、図4(h)に示すように、優先順位反転回数カウンタ101による計数値が“1”になるのに応じ、切換信号作成回路102からセレクタ103に対して切換信号が出力される。この切換信号により、カウンタ101の計数値が“1”の時には、カウンタ76が“0”から計数を開始し“63”を計数するタイミング〔計数値64(=26 )〕で“1”に立ち上がるキャリーアップ信号が、トリガ信号として選択され、セレクタ103からANDゲート202および204に入力される。
【0054】
従って、図4(a)〜(f)に示すように、優先順位反転回数カウンタ101の計数値が“1”になると、カウンタ76の64計数タイミングt4で、ハングアップ予測フラグ用ラッチ回路203の出力(ハングアップ予測フラグ)が“1”にセットされる。
さらに64τ後のトリガ信号の立ち上がり時点t5にポート2に未だ同一のアクセス要求が保持されていると、そのトリガ信号の立ち上がりタイミングt5でハングアップ検出フラグ用ラッチ回路205の出力(ハングアップ検出フラグ)が“1”にセットされ、ハングアップが検出される(ハングアップ検出信号8が“0”から“1”に立ち上がる)。つまり、優先順位反転回数カウンタ101の計数値が“1”の時には、ポート2にアクセス要求が保持されている時間が64τを超えると、その保持時間が128τになるまでに、再びハングアップが検出されることになる。
【0055】
このようにしてハングアップが検出されると、やはりハングアップ処理回路9により優先順位の反転制御が行なわれ、そのアクセス要求が処理され、そのアクセス要求についてのポートリリース信号が“1”になるタイミングt6で、ハングアップ予測フラグ用ラッチ回路203およびハングアップ検出フラグ用ラッチ回路205の出力がともに“0”にリセットされる。
【0056】
また、ハングアップ検出信号8が“0”から“1”に立ち上がるタイミングt5でANDゲート104の出力も“1”に立ち上がり、図4(g)に示すように優先順位反転回数カウンタ101による計数値は“1”から“2”になる。これに伴い、図4(i)に示すように、切換信号作成回路102からセレクタ103に対して切換信号が出力され、カウンタ101の計数値が“2”の時には、カウンタ76が“0”から計数を開始し“15”を計数するタイミング〔計数値16(=24 )〕で“1”に立ち上がるキャリーアップ信号が、トリガ信号として選択され、セレクタ103からANDゲート202および204に入力される。
【0057】
そして、図4(a)〜(i)に示す例では、タイミングt5でのハングアップ検出に伴う優先順位反転制御によってポート2が解放され、タイミングt7でポートバリッド信号が“0”になっている。これに伴い、優先順位反転回数カウンタ101の計数値は“0”にリセットされるとともに、切換信号作成回路102およびセレクタ103もリセットされて、基準時間設定部10は初期状態(ハングアップ検出回路7に、カウンタ76からの信号のうち256計数タイミングで立ち上がるキャリーアップ信号をトリガ信号として選択入力する状態)に戻る。
【0058】
なお、タイミングt7以降もポート2に同一のアクセス要求が保持され続ける場合には、優先順位反転回数カウンタ101による計数値は、“2”,“3”,“4”,…と増加し、それに伴い、前述したように、切換信号作成回路102およびセレクタ103により、カウンタ76からの信号のうち16,4,4,…計数タイミングで立ち上がるキャリーアップ信号が、トリガ信号として選択され、ハングアップ検出回路7に入力される。
【0059】
このように、本実施形態のデータ処理装置では、ハングアップ処理回路9による優先順位の反転制御の回数が増加する程、同一のアクセス要求がポート2に継続的に保持されているものと判断できることから、優先順位反転回数カウンタ101による計数値に応じて、切換信号作成回路102およびセレクタ103により、カウンタ76からの信号の中からより短い間隔で立ち上がる信号を選択してハングアップ検出回路7(ANDゲート202,204)にトリガ信号として入力している。
【0060】
これにより、ハングアップ検出回路7によるハングアップ検出基準となる基準時間がより短い時間に切り換えられ、ハングアップ検出回路7によるハングアップ検出の間隔が短くなり、ハングアップ状態が長時間に亘って継続するアクセス要求を効率良く処理することができ、データ処理性能が大幅に改善される。
例えば、I/Oアクセスがディスタンス付きアクセスであり同一バンクに長大なレングスでアクセスを行なっている最中に、ベクトルストアアクセスの最大レングスでアクセス要求があった場合、前述したように、そのベクトル命令は、アクセス競合が無ければ2048/8=256τで終了するが、アクセス競合が有れば(2048/8)*512=131072τかかっていた。
【0061】
しかし、本実施形態のデータ処理装置によれば、優先順位反転回数カウンタ101の計数値0,1,2,3,4,…に対応して基準時間が256τ,64τ,16τ,4τ,4τ,…(ハングアップ検出にかかる最大時間としては、512τ,128τ,32τ,8τ,8τ,…)となるように、セレクタ103の切換制御を行なうことにより、131072τかかっていた処理時間を2696τとすることができ、処理を50倍程度も高速化できることになる。
【0062】
また、本実施形態のデータ処理装置では、ポート2毎にそなえたハングアップ検出回路7が、共通のカウンタ76の計数出力を用いてハングアップの検出を行なっているので、アクセス要求のポート保持期間を計測するために用いるカウンタをポート2毎にそなえる必要がなく、ハードウエアを削減できるほか、ポート2が増大してもカウンタの増大によるハードウエアの増大を招くことがない。
【0063】
なお、上述した実施形態では、優先順位反転回数カウンタ101の計数値に応じて、ハングアップ検出回路7における基準時間の切換を行なっているが、アクセス要求源の種類(ベクトル処理部11,スカラ処理部12等)に応じてハングアップ検出回路7における基準時間を短縮設定するように構成してもよい。
また、上述した実施形態では、カウンタ76からの信号の中からより短い間隔で立ち上がる信号を選択することで、基準時間の短縮設定を行なっているが、タイマ等による計時時間を減算設定するなどの手法を用いて基準時間の短縮設定を行なうように構成してもよい。
【0064】
さらに、上述した実施形態では、ポート2の数を5とするとともに、優先順位反転回数カウンタ101の計数値に応じて設定される基準時間として具体的な数値を示しているが、本発明は、これらの数値に限定されるものではない。
【0065】
【発明の効果】
以上詳述したように、本発明のデータ処理装置によれば、ハングアップ検出に伴いハングアップ処理を行なった後も継続的に同一のアクセス要求がポートに保持され続けている場合には、ハングアップ検出の間隔(基準時間)が短くなるので、ハングアップ状態が長時間に亘って継続するアクセス要求を効率良く処理することができ、データ処理性能が大幅に改善される(請求項1〜3)。
【0066】
また、複数のポートのそれぞれに対応するハングアップ検出回路が、共通のカウンタの計数出力を用いてハングアップの検出を行なうように構成することにより、アクセス要求のポート保持期間を計測するために用いるカウンタを、ポート毎にそなえる必要がなく、ハードウエアを削減できるほか、ポートが増大してもカウンタの増大によるハードウエアの増大を招くことがない(請求項4)。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施形態としてのデータ処理装置の構成を示すブロック図である。
【図3】本実施形態のデータ処理装置におけるハングアップ検出回路および基準時間設定部の詳細構成を示すブロック図である。
【図4】(a)〜(i)は本実施形態におけるハングアップ検出回路および基準時間設定部の動作を説明するためのタイムチャートである。
【図5】一般的なデータ処理装置の構成例を示すブロック図である。
【図6】ハングアップ検出を行なう従来のデータ処理装置の構成例を示すブロック図である。
【図7】ハングアップ検出回路の構成例を示すブロック図である。
【図8】(a)〜(f)は図7に示すハングアップ検出回路の動作を説明するためのタイムチャートである。
【符号の説明】
1 アクセス要求源
11 ベクトル処理部(アクセス要求源)
12 スカラ処理部(アクセス要求源)
2,21〜25 ポート
3 プライオリティ決定回路
4 アクセス処理部
5,51〜58 アクセスバス
6 主記憶
7,71〜75 ハングアップ検出回路
76 カウンタ
76−1〜76−n ビットライン
8,81〜85 ハングアップ検出信号(ハングアップ検出フラグ)
9 ハングアップ処理回路
10 基準時間設定部
101 優先順位反転回数カウンタ
102 切換信号作成回路
103 セレクタ(基準時間切換回路)
104 ANDゲート
105,106 インバータ
201 インバータ
202,204 ANDゲート
203 ハングアップ予測フラグ用ラッチ回路
205 ハングアップ検出フラグ用ラッチ回路
[0001]
(table of contents)
TECHNICAL FIELD OF THE INVENTION
Conventional technology (FIGS. 5 to 8)
Problems to be solved by the invention
Means for solving the problem (FIG. 1)
BEST MODE FOR CARRYING OUT THE INVENTION (FIGS. 2 to 4)
The invention's effect
[0002]
BACKGROUND OF THE INVENTION
The present invention relates to a data processing apparatus having a plurality of access points (access request sources; for example, a vector processing unit and a scalar processing unit) for main memory, and in particular, improves processing when a hang-up occurs, and requests access to main memory. The present invention relates to a data processing apparatus capable of performing efficient processing.
[0003]
[Prior art]
In a general data processing apparatus, since priority is determined in advance between ports serving as access points (access request sources) for main memory, when there is an access request for a port having a high priority The port access request is always processed with priority. Therefore, when access requests for ports with high priority occur continuously, access requests for other ports with low priority will remain on the port for a long time until the access requests for ports with high priority are interrupted. It happens to be retained.
[0004]
FIG. 5 is a block diagram showing a configuration example of a general data processing apparatus. The data processing apparatus shown in FIG. 5 has a vector processing unit 11 and a scalar processing unit 12 as access request sources, and includes a priority determination circuit 3, The access processing unit 4 and the main memory 6 are included.
The vector processing unit 11 outputs an access request for the main memory 6 to the priority determination circuit 3 through the ports 21 to 24, while the scalar processing unit 12 transmits the access request to the priority determination circuit 3 through the port 25 to the main memory 6. The access request for is output. The priority order between the ports 21 to 25 is set so that the port 25 connected to the scalar processing unit 12 has priority over the ports 21 to 24 connected to the vector processing unit 11.
[0005]
Further, the main memory 6 is interleaved into 32 banks 0 to 31. The eight access buses 51 to 58 from the access processing unit 4 to the main memory 6 are formed as a set of four horizontal banks shown in FIG. In this way, the eight banks of the main memory 6 can be accessed simultaneously.
The priority determination circuit 3 includes the contents of the access requests of the ports 21 to 25, the priority between the ports 21 to 25, the contention of the access buses 51 to 58 between the ports 21 to 25, the busy status of each bank of the main memory 6 Based on the above, an access request to be processed for access (from which port an access request is to be processed) is determined.
[0006]
Here, the contention of the access buses 51 to 58 between the ports 21 to 25 is contention of the access buses 51 to 58 used by the access requests from the ports 21 to 25. A port access request with a high inter-port priority is selected by the priority determination circuit 3 and processed preferentially by the access processing unit 4. The busy status of the main memory 6 is monitored for each interleaved bank. When an access is made to a certain bank, the bank is busy only for a certain period, and it is prohibited to process other access requests for that bank. Is done.
[0007]
The access request transmitted from the vector processing unit 11 or the scalar processing unit 12 includes the following block access, single access, and random access. In addition, the access request from the vector processing unit 11 is one unit of access to one bank, and one or more units (for example, 256 units) are continuously transmitted continuously as a series of accesses.
[0008]
(1) Block access (read / write): sent from the vector processing unit 11 or the scalar processing unit 12 to the corresponding one of the ports 21 to 24 or 25, respectively, and vertically arranged in 8 columns (for example, bank) in the main memory 6 0 to 7) are simultaneously read or written. Accordingly, since the eight access buses 51 to 58 are simultaneously used in one block access, even one of the eight access buses 51 to 58 is busy or is in conflict with another bus, so that eight of them are simultaneously used. If it cannot be used, block access cannot be executed. The access request by the block access is transmitted from the vector processing unit 11 to one of the ports 21 to 24 (for example, the port 21) of the priority determination circuit 3 and from the scalar processing unit 12 to the port 25. A series of accesses from the vector processing unit 11 is simultaneously processed by the access processing unit 4 by 8 units.
[0009]
(2) Single access (read / write): Transmitted from the vector processing unit 11 or the scalar processing unit 12. Reading or writing to any one bank of the main memory 6 is performed. In one single access, only one of the eight access buses 51 to 58 is used. This access request by single access is also transmitted from the vector processing unit 11 to one of the ports 21 to 24 (for example, port 21) of the priority determination circuit 3 and from the scalar processing unit 12 to the port 25.
[0010]
(3) Random access (read / write): Transmitted only from the vector processing unit 11. Single access is simultaneously transmitted to the ports 21 to 24 of the priority determination circuit 3. In one random access, a maximum of 4 banks are simultaneously written or read, and a maximum of 4 of the 8 access buses 51 to 58 are used. This random access is an access to a series of non-consecutive main storage areas. At first, there are simultaneous access requests to the ports 21 to 24, and thereafter, access requests are successively transmitted to vacant ports. . The priority determination circuit 3 processes the access request while maintaining the order of port 21 → port 22 → port 23 → port 24 → port 21 →. That is, when there is an access request that cannot be transmitted due to competition between the ports or busy, transmission of an access request to a port located behind the access request is prohibited in order to guarantee the above-described order.
[0011]
In the data processing apparatus as described above, for example, when the access request transmitted to the port 25 with high priority is continuous single access to the same bank, the bank is always used only for the access request of the port 25. Thus, access from the other port to the bank is practically impossible until the access request of the port 25 moves to another bank or the access request is interrupted. Such a situation is called hang-up.
[0012]
Also, if a program can be written in which the condition for canceling an access request to a port with a high priority is termination of processing of an access request to a port with a low priority, the port The access request is not processed at all, and access to the port having the higher priority is processed without interruption, and as a result, access to the port having the lower priority is hung up.
[0013]
Therefore, in order to detect a hang-up and prevent the hang-up from actually occurring, a data processing apparatus as shown in FIG. 6 has also been proposed (see JP-A-6-161873). In FIG. 6, the same reference numerals as those already described indicate the same parts, and the description thereof is omitted.
The data processing device shown in FIG. 6 has a configuration in which hang-up detection circuits 71 to 75, a counter 76, and a hang-up processing circuit 9 are newly added to the data processing device shown in FIG.
[0014]
The hang-up detection circuits 71 to 75 are provided corresponding to the ports 21 to 25, respectively. When the access requests held in the ports 21 to 25 are held for a predetermined time or more, the access requests are in a hang-up state. Assuming that there is a hang-up detection signal (hang-up detection flag) 81 to 85 rising from “0” to “1”, it is output to the hang-up processing circuit 9. As will be described later with reference to FIG. 7, each of the hang-up detection circuits 71 to 75 detects hang-up while using the output of the counter 76 as a trigger signal.
[0015]
When the hang-up processing circuit 9 receives the detection signals 81 to 85 from the hang-up detection circuits 71 to 75 and one port is detected to hang up, it gives priority only to the access request of that port (priority inversion). Control), while the transmission of access requests from other ports is suppressed until this is transmitted, if two or more ports are detected to hang up, the same processing is performed for each port according to a predetermined priority order. To do. As described above, the hang-up processing circuit 9 performs priority inversion control according to the detection signals 81 to 85 from the hang-up detection circuits 71 to 75, thereby avoiding the hang-up in the priority determination circuit 3. The
[0016]
By the way, the hang-up detection circuit 71 includes an inverter 201, AND gates 202 and 204, and latch circuits 203 and 205 as shown in FIG. The other hang-up detection circuits 72 to 75 have the same configuration as the circuit 71 shown in FIG.
In FIG. 7, the output of the counter 76 is not for directly measuring the time held in the port 21, but the carry-up signal of the counter 76 is a latch circuit for a hangup prediction flag as will be described later. 203 and a trigger signal for setting a latch circuit 205 for a hang-up detection flag.
[0017]
The meaning of each signal in FIG. 7 is as follows.
(1) Port valid signal: Signal indicating that there is an access request to port 21 (to 25)
(2) Port release signal: A signal indicating that an access request held in the port 21 (to 25) is transmitted to the main memory 6 at the next timing.
(3) Trigger signal: carry-up signal of counter 76 (most significant carry signal)
Next, the operation of the hang-up detection circuit 71 (-75) shown in FIG. 7 will be described.
[0018]
First, it is assumed that the outputs of the hang-up prediction flag latch circuit 203 and the hang-up detection flag latch circuit 205 are both reset to “0”.
Now, when the trigger signal (carry-up signal) from the counter 76 becomes “1”, there is an access request to the corresponding port 21, the port valid signal becomes “1”, and it is transmitted at the next timing. If the port release signal is not “0”, the port release signal is inverted to “1” by the inverter 201 and all three inputs (trigger signal, port valid signal, port release signal) of the AND gate 202 are “ As a result, the output of the hang-up prediction flag latch circuit 203 is set to “1”.
[0019]
If an access request is issued until the trigger signal from the counter 76 next becomes “1” (the time count Nτ of the counter 76 is set) (that is, if the port release signal becomes “1”), it hangs. The up prediction flag latch circuit 203 is reset. If the trigger signal becomes “1” without resetting the hang-up prediction flag latch circuit 203, the two inputs (the output of the latch circuit 203 and the trigger signal) of the AND gate 204 become “1”. The output of the hang-up detection flag latch circuit 205 is set to “1”.
[0020]
Thereafter, when the access request held in the port 21 is transmitted to the main memory 6 by the function of the hang-up processing circuit 9 (that is, when the port release signal becomes “1”), the hang-up prediction flag latch circuit The outputs of 203 and the hang-up detection flag latch circuit 205 are both reset to "0".
With such a hang-up detection circuit 71 (-75), a hang-up may be detected if the time during which an access request is held in the port 21 exceeds Nτ. Is done. In the hang-up detection circuit 71 (-75), the detection of hang-up does not occur continuously in a short time, but occurs at the minimum Nτ interval, so the hang-up process occupying the entire access process is relatively low. Can be suppressed.
[0021]
8A to 8F are specific time charts when the hangup is detected by the hangup detection circuit 71 (to 75). In the example shown in FIGS. 8A to 8F, the time count N of the counter 76 is 256. As shown in FIGS. 8A and 8B, the counter 76 starts counting from “0”. The trigger signal rises to “1” at the timing of counting “255”.
[0022]
As shown in FIGS. 8B to 8F, the hangup prediction flag is set at the rising timing of the first trigger signal after the access request is held in the port 21 (after the port valid signal becomes “1”). The output (hangup prediction flag) of the latch circuit 203 is set to “1”.
If the same access request is still held in the port 21 at the rise time of the next trigger signal after 256τ, the output of the hang-up detection flag latch circuit 205 (hang-up detection flag) at the rise timing of the trigger signal. ) Is set to “1”, and a hang-up is detected (the hang-up detection signal 81 rises from “0” to “1”).
[0023]
That is, when the time during which the access request is held in the port 21 exceeds 256τ, the hang-up is detected before the holding time reaches 512τ. The outputs of the hangup prediction flag latch circuit 203 and the hangup detection flag latch circuit 205 are both reset to “0” when the port release signal for the access request becomes “1”.
[0024]
As described above, in the above-described data processing apparatus, means for detecting that the time during which the access request is held in each of the ports 21 to 25 exceeds a predetermined time T (for example, Nτ or 256τ) (hangup detection) A circuit that is set to “1” when the means detects that the holding time of the access request exceeds the time T, and becomes “0” when the access request is transmitted to the main memory 6. The hang-up process is controlled using (hang-up detection signals 81 to 85).
[0025]
[Problems to be solved by the invention]
By the way, in the data processing apparatus configured as described above and performing hangup detection / hangup processing, for example, while I / O access is access with distance and the same bank is being accessed with a long length, a vector Consider the case where there is an access request with the maximum length of store access.
[0026]
If there is no access contention, the vector instruction can use all the 8 columns in 1 column, so it ends with 2048/8 = 256τ. However, the access with the distance of the long length as described above is preferential. If it is executed and conflicts with its access, it is executed only once when a hangup is detected for the port holding the vector instruction. Therefore, if the value of the access request holding counter is 512 (maximum time taken to detect hang-up; in the example shown in FIG. 8, the counter 76 counts 256 cycles × 2), the vector instruction is processed (2048). / 8) * 512 = 131072τ, and there is a problem in that the processing performance of the data processing apparatus is significantly reduced.
[0027]
The present invention has been devised in view of such a problem, and provides a data processing apparatus that can efficiently process an access request in which a hang-up state continues for a long time and has improved processing performance. The purpose is to do.
[0028]
[Means for Solving the Problems]
FIG. 1 is a block diagram showing the principle of the present invention. As shown in FIG. 1, the data processing apparatus of the present invention includes a plurality of access request sources 1, a main memory 6 interleaved in a plurality of banks, and an access request source 1. A plurality of ports 2 that accept access requests to the main memory 6, a priority determination circuit 3 that determines the priority of access requests held in these ports 2, and a plurality of ports according to the priority determined by the priority determination circuit 3. And an access processing unit 4 for transmitting an access request held in the port 2 to the main memory 6, and a hang-up detection circuit 7, a hang-up processing circuit 9, and a reference time setting unit 10. Yes.
[0029]
Here, the hang-up detection circuit 7 is provided corresponding to each of the plurality of ports 2 and detects the access request as a hang-up when the corresponding port 2 holds an access request for a reference time or more. The hang-up processing circuit 9 performs hang-up processing using the detection result of the hang-up detection circuit 7 as an element for determining the priority order of access requests. When the access request is continuously held in the port 2 even after the hang-up processing by the hang-up processing circuit 9 is performed in accordance with the hang-up detection by 7, the reference time is set to be shortened. 1).
[0030]
In the data processing apparatus of the present invention configured as described above, the same access request is continuously sent to the port 2 even after the hangup processing by the hangup processing circuit 9 is performed in accordance with the hangup detection by the hangup detection circuit 7. If it is kept, the reference time setting unit 10 sets the reference time, which is a hang-up detection reference by the hang-up detection circuit 7, to a shorter time. Accordingly, the interval of hangup detection by the hangup detection circuit 7 is shortened, and it becomes possible to efficiently process an access request in which the hangup state continues for a long time.
[0031]
The hang-up processing circuit 9 is configured to perform inversion control of the priority order of access requests according to the hang-up detection by the hang-up detection circuit 7 as the hang-up process, and the reference time setting unit 10 is A priority inversion counter that counts the number of times the priority inversion control is performed by the hang-up processing circuit 9, and a reference time switching that switches the reference time to a shorter reference time according to the count value of the priority inversion counter (Claim 2). At this time, the priority order inversion counter is reset in response to valid-off of the port 2 holding the access request.
[0032]
That is, as the number of times of priority inversion control by the hang-up processing circuit 9 is increased, it can be determined that the same access request is continuously held in the port 2. According to the count value, the reference time switching circuit switches the reference time as a hang-up detection reference by the hang-up detection circuit 7 to a shorter time, thereby making it possible to access the hang-up state for a long time as described above. Requests can be processed efficiently.
[0033]
The hang-up detection circuit 7 provided corresponding to each of the plurality of ports 2 may be configured to detect hang-up using the count output of a common counter. . In this case, hang-up detection can be performed without providing a hang-up detection counter (a counter used for measuring the port holding period of the access request) for each of the plurality of ports 2.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 2 is a block diagram showing a configuration of a data processing apparatus as an embodiment of the present invention. In FIG. 2, the five ports 21 to 25, the eight access buses 51 to 58, the five hangup detection circuits 71 to 75, and the five hangup detection signals 81 to 85 shown in FIG. 5 and FIG. Are unified into one code, that is, unified as port 2, access bus 5, hang-up detection circuit 7 and hang-up detection signal 8. In FIG. 2, the same reference numerals as those already described indicate the same parts, and detailed description thereof will be omitted.
[0035]
As shown in FIG. 2, the data processing apparatus according to the present embodiment has a vector processing unit 11 and a scalar processing unit 12 as access request sources, as well as the apparatus shown in FIG. In addition to the unit 4, the main memory 6, and the hangup processing circuit 9, the hangup detection circuit 7 for each port 2 is configured. In this embodiment, the hangup detection circuit 7 for each port 2 includes A reference time setting unit 10 is newly added.
[0036]
Here, the vector processing unit 11 outputs an access request to the main memory 6 to the priority determination circuit 3 via the four ports 2, while the scalar processing unit 12 outputs the priority determination circuit 3 via one port 2. In addition, an access request for the main memory 6 is output.
The main memory 6 is interleaved into 32 banks 0 to 31. The access processing unit 4 extends eight access buses 5 from the access processing unit 4 to the main memory 6 as a set of four banks in the horizontal direction shown in FIG. As a result, the eight banks of the main memory 6 can be accessed simultaneously.
[0037]
The priority determination circuit 3 should perform access processing based on the contents of the access request of each port 2, the priority between the ports 2, the contention of the access bus 5 between the ports 2, the busy status of each bank of the main memory 6 and so on. The access request (from which port the access request should be processed; the priority of the access request) is determined.
The hang-up detection circuit 7 is provided for each port 2 and is configured in the same way as described with reference to FIG. 7 with reference to FIG. A hang-up detection signal (hang-up detection flag) 8 that rises from “0” to “1” is output to the hang-up processing circuit 9 assuming that the access request is in a hang-up state when held for a reference time or longer. It is.
[0038]
As will be described later with reference to FIG. 3, each hang-up detection circuit 7 of the present embodiment also outputs the count output of the common counter 76 to the latch circuit 203 for the hang-up prediction flag and the latch for the hang-up detection flag. The hang-up is detected while being used as a trigger signal for setting the circuit 205.
The hang-up processing circuit 9 uses a detection result of each hang-up detection circuit 7 as a determination factor for the priority order of access requests (priority of access requests according to hang-up detection by the hang-up detection circuit 7). Order inversion control).
[0039]
Then, the reference time setting unit 10 continuously holds the same access request in the port 2 even after the hang-up processing by the hang-up processing circuit 9 is performed along with the hang-up detection by each hang-up detection circuit 7. In this case, the reference time in the hang-up detection circuit 7 attached to the port 2 is forcibly shortened.
[0040]
The reference time setting unit 10 includes a priority order inversion counter 101, a switching signal generation circuit 102, a selector 103, an AND gate 104, and inverters 105 and 106, as shown in FIG. 3 also shows the detailed configuration of the hang-up detection circuit 7 in the present embodiment, the detailed configuration of the hang-up detection circuit 7 is the hang-up detection circuit 71 (˜75) shown in FIG. ), The description is omitted.
[0041]
Here, the priority inversion counter 101 is for counting the number of times the priority inversion control is performed by the hang-up processing circuit 9. In the present embodiment, based on the input / output of the hang-up detection flag latch circuit 205 in the hang-up detection circuit 7, the timing for performing priority inversion control in accordance with the hang-up detection is detected. Counting up.
[0042]
That is, when the output of the latch circuit 205 (hangup detection signal 8) is “0”, the timing when the set input to the latch circuit 205 (output of the AND gate 204) becomes “1” (that is, the hangup detection signal 8 is Since the timing of switching from “0” to “1” is the priority inversion control timing, the inverter 105 that inverts the output of the latch circuit 205, the output of the inverter 105, and the set input to the latch circuit 205 By using the AND gate 104 that outputs the logical product of the above, the inversion timing can be detected as the rise of the output of the AND gate 104. Then, by using the output of the AND gate 104 as a count-up signal of the counter 101, the counter 101 counts the number of times that the hang-up processing circuit 9 performs priority inversion control.
[0043]
Note that a signal obtained by inverting the port valid signal of the port 2 to be hang-up detected by the inverter 106 is input to the priority inversion counter 101 of this embodiment as a reset signal. Accordingly, the counter 101 is configured to be reset in response to valid-off of the port 2 to be detected for hang-up (completion of access request processing).
[0044]
The switching signal generation circuit 102 generates a switching signal according to the count value by the priority inversion number counter 101 and gives it to the selector 103.
Then, the selector (reference time switching circuit) 103 responds to the switching signal from the switching signal generating circuit 102 and outputs bit lines 76-1 to 76-n (counter outputs of the n-bit counter) which are count outputs of the counter 76. 1) is selected and switched to the AND gates 202 and 204 of the hang-up detection circuit 7 as a trigger signal for the latch circuits 203 and 305.
[0045]
That is, in the selector 103 of this embodiment, the reference time in the hang-up detection circuit 7 is switched to a shorter reference time as the count value of the priority inversion number counter 101 increases. For example, the selector 103 is switched so that the reference time becomes 256τ, 64τ, 16τ, 4τ, 4τ,... Corresponding to 0, 1, 2, 3, 4,. Control [selection / switching control of trigger signal (carry-up signal from bit lines 76-1 to 76-n of counter 76)] is performed. More specific and detailed operations will be described later with reference to FIGS.
[0046]
The meaning of each signal in FIG. 3 is as follows.
(1) Port valid signal: A signal indicating that there is an access request to port 2 of the hang-up detection target.
(2) Port release signal: A signal indicating that the access request held in the port 2 to be detected for hangup is transmitted to the main memory 6 at the next timing.
(3) Trigger signal: Carry-up signal selected by the selector 103 from the bit lines 76-1 to 76-n of the counter 76
Next, operations of the hang-up detection circuit 7 and the reference time setting unit 10 shown in FIG. 3 will be described with reference to FIGS.
[0047]
4A to 4I are specific time charts for explaining the hang-up detection operation by the hang-up detection circuit 7 and the reference time switching operation by the reference time setting unit 10 according to the present embodiment. . However, since the operation of the hang-up detection circuit 7 has been described above with reference to FIGS. 7 and 8 as the operation of the hang-up detection circuit 71, a detailed description thereof will be omitted.
[0048]
First, the outputs of the hang-up prediction flag latch circuit 203 and the hang-up detection flag latch circuit 205 are both reset to “0”, and the count value by the priority inversion counter 101 is also reset to “0”. To do.
When the count value of the priority inversion counter 101 is “0”, the counter 76 starts counting from “0” and counts “255” [count value 256 (= 2 8 )] Is assumed to be selected as a trigger signal by the selector 103 and input to the AND gates 202 and 204.
[0049]
As shown in FIGS. 4A to 4F, also in the present embodiment, after the access request is held in the port 2 that is the hang-up detection target at the timing t0 (after the port valid signal becomes “1”). At the rising timing (256 count timing) t1 of the first trigger signal, the output (hangup prediction flag) of the hangup prediction flag latch circuit 203 is set to “1”.
[0050]
If the same access request is still held at port 2 at the rise time t2 of the next trigger signal after 256τ, the output (hangup) of the hangup detection flag latch circuit 205 at the rise timing t2 of the trigger signal. Detection flag) is set to “1”, and a hangup is detected (hangup detection signal 8 rises from “0” to “1”). That is, if the time during which the access request is held in the port 2 exceeds 256τ, a hang-up is detected before the holding time reaches 512τ.
[0051]
When a hangup is detected in this way, as described with reference to FIG. 8, the hangup processing circuit 9 performs priority inversion control, the access request is processed, and the port release signal for the access request is received. At timing t3 when the timing becomes “1”, the outputs of the hang-up prediction flag latch circuit 203 and the hang-up detection flag latch circuit 205 are both reset to “0”.
[0052]
On the other hand, in the reference time setting unit 10 in this embodiment, as described above with reference to FIG. 3, the output of the AND gate 104 also rises to “1” at the timing t2 when the hang-up detection signal 8 rises from “0” to “1”. As shown in FIG. 4G, the count value by the priority inversion counter 101 is changed from “0” to “1”.
The count value “1” of the counter 101 is set to “0” when the port 2 is released and the port valid signal becomes “0” in accordance with the priority inversion control by the hangup processing circuit 9 according to the hangup detection. In this case, after the port release signal rises at the timing t3 as shown in FIG. 4D, an access request is sent to the port 2 to be detected for hangup as shown in FIG. 4C. It is assumed that the port valid signal remains “1”.
[0053]
In such a case, in the reference time setting unit 10 of the present embodiment, as shown in FIG. 4 (h), the switching signal generation circuit 102 according to the count value by the priority inversion counter 101 becoming “1”. A switching signal is output from the selector 103 to the selector 103. When the count value of the counter 101 is “1” by this switching signal, the counter 76 starts counting from “0” and counts “63” [count value 64 (= 2 6 )] Is selected as a trigger signal, and is input from the selector 103 to the AND gates 202 and 204.
[0054]
Therefore, as shown in FIGS. 4A to 4F, when the count value of the priority inversion number counter 101 becomes “1”, the hang-up prediction flag latch circuit 203 has the count value t4 of the counter 76 at 64 count timing t4. The output (hangup prediction flag) is set to “1”.
Further, if the same access request is still held in the port 2 at the trigger signal rise time t5 after 64τ, the output of the hangup detection flag latch circuit 205 (hangup detection flag) at the trigger signal rise timing t5. Is set to “1” and hang-up is detected (hang-up detection signal 8 rises from “0” to “1”). In other words, when the count value of the priority inversion counter 101 is “1”, if the time that the access request is held in the port 2 exceeds 64τ, the hangup is detected again until the holding time reaches 128τ. Will be.
[0055]
When a hangup is detected in this way, the hangup processing circuit 9 also performs priority inversion control, processes the access request, and sets the port release signal for the access request to “1”. At t6, the outputs of the hang-up prediction flag latch circuit 203 and the hang-up detection flag latch circuit 205 are both reset to “0”.
[0056]
Further, at the timing t5 when the hang-up detection signal 8 rises from “0” to “1”, the output of the AND gate 104 also rises to “1”, and the count value by the priority inversion number counter 101 as shown in FIG. Becomes “2” from “1”. Accordingly, as shown in FIG. 4I, a switching signal is output from the switching signal generating circuit 102 to the selector 103, and when the count value of the counter 101 is “2”, the counter 76 is changed from “0”. Timing for starting counting and counting “15” [count value 16 (= 2 Four )] Is selected as a trigger signal, and is input from the selector 103 to the AND gates 202 and 204.
[0057]
In the example shown in FIGS. 4A to 4I, the port 2 is released by the priority inversion control accompanying the hang-up detection at the timing t5, and the port valid signal becomes “0” at the timing t7. . Accordingly, the count value of the priority inversion counter 101 is reset to “0”, the switching signal generation circuit 102 and the selector 103 are also reset, and the reference time setting unit 10 is in the initial state (hang-up detection circuit 7 In addition, the process returns to the state in which the carry-up signal that rises at the 256 count timing among the signals from the counter 76 is selectively input as a trigger signal.
[0058]
If the same access request continues to be held in the port 2 after the timing t7, the count value by the priority inversion number counter 101 increases to “2”, “3”, “4”,. Accordingly, as described above, the carry-up signal rising at the count timing of 16, 4, 4,... Out of the signals from the counter 76 is selected as the trigger signal by the switching signal generation circuit 102 and the selector 103, and the hang-up detection circuit. 7 is input.
[0059]
As described above, in the data processing device of this embodiment, it can be determined that the same access request is continuously held in the port 2 as the number of times of priority inversion control by the hang-up processing circuit 9 increases. From the signal from the counter 76, a signal that rises at a shorter interval is selected by the switching signal generation circuit 102 and the selector 103 according to the count value by the priority inversion number counter 101, and the hang-up detection circuit 7 (AND The gates 202 and 204) are inputted as trigger signals.
[0060]
As a result, the reference time used as the hang-up detection reference by the hang-up detection circuit 7 is switched to a shorter time, the hang-up detection interval by the hang-up detection circuit 7 is shortened, and the hang-up state continues for a long time. The access request to be processed can be processed efficiently, and the data processing performance is greatly improved.
For example, when an access request is made with the maximum length of vector store access while the I / O access is an access with a distance and the same bank is being accessed with a long length, as described above, the vector instruction Ends with 2048/8 = 256τ if there is no access contention, but it takes (2048/8) * 512 = 131072τ if there is access contention.
[0061]
However, according to the data processing apparatus of the present embodiment, the reference time is 256τ, 64τ, 16τ, 4τ, 4τ, corresponding to the count values 0, 1, 2, 3, 4,. ... (the maximum time required for hang-up detection is 512τ, 128τ, 32τ, 8τ, 8τ,...), And the switching time of 131072τ is set to 2696τ by controlling the switching of the selector 103. Therefore, the processing speed can be increased by about 50 times.
[0062]
In the data processing apparatus of this embodiment, the hang-up detection circuit 7 provided for each port 2 detects hang-up using the count output of the common counter 76. There is no need to provide a counter for measuring each port 2 and the hardware can be reduced. Even if the port 2 is increased, the increase in the counter does not cause an increase in hardware.
[0063]
In the above-described embodiment, the reference time in the hang-up detection circuit 7 is switched according to the count value of the priority inversion number counter 101. However, the type of access request source (vector processing unit 11, scalar processing) The reference time in the hang-up detection circuit 7 may be set to be shortened according to the unit 12).
In the above-described embodiment, the reference time is shortened by selecting a signal that rises at a shorter interval from the signals from the counter 76, but the time measured by a timer or the like is subtracted and set. You may comprise so that the shortening of reference time may be performed using a method.
[0064]
Further, in the above-described embodiment, the number of ports 2 is set to 5, and a specific numerical value is shown as a reference time set according to the count value of the priority inversion number counter 101. It is not limited to these numerical values.
[0065]
【The invention's effect】
As described above in detail, according to the data processing apparatus of the present invention, when the same access request is continuously held in the port even after the hang-up process is performed in accordance with the hang-up detection, the hang-up is performed. Since the up detection interval (reference time) is shortened, an access request in which the hang-up state continues for a long time can be efficiently processed, and the data processing performance is greatly improved. ).
[0066]
In addition, the hang-up detection circuit corresponding to each of the plurality of ports is configured to detect the hang-up using the count output of the common counter, and is used to measure the port holding period of the access request. There is no need to provide a counter for each port, hardware can be reduced, and even if the number of ports is increased, the increase in hardware due to an increase in counters is not caused (claim 4).
[Brief description of the drawings]
FIG. 1 is a principle block diagram of the present invention.
FIG. 2 is a block diagram showing a configuration of a data processing apparatus as an embodiment of the present invention.
FIG. 3 is a block diagram showing a detailed configuration of a hang-up detection circuit and a reference time setting unit in the data processing apparatus of the present embodiment.
FIGS. 4A to 4I are time charts for explaining operations of a hang-up detection circuit and a reference time setting unit in the present embodiment.
FIG. 5 is a block diagram illustrating a configuration example of a general data processing apparatus.
FIG. 6 is a block diagram illustrating a configuration example of a conventional data processing apparatus that performs hang-up detection.
FIG. 7 is a block diagram illustrating a configuration example of a hang-up detection circuit.
8A to 8F are time charts for explaining the operation of the hang-up detection circuit shown in FIG.
[Explanation of symbols]
1 Access request source
11 Vector processing unit (access request source)
12 Scalar processing part (access request source)
2, 21-25 ports
3 Priority decision circuit
4 Access processing section
5,51-58 Access bus
6 Main memory
7,71-75 Hangup detection circuit
76 counter
76-1 to 76-n bit lines
8, 81-85 Hangup detection signal (hangup detection flag)
9 Hang-up processing circuit
10 Reference time setting section
101 Priority inversion counter
102 Switching signal generation circuit
103 selector (reference time switching circuit)
104 AND gate
105,106 inverter
201 inverter
202,204 AND gate
203 Latch circuit for hangup prediction flag
205 Hang-up detection flag latch circuit

Claims (4)

複数のアクセス要求源と、
複数バンクにインタリーブされた主記憶と、
該アクセス要求源から該主記憶に対するアクセス要求を受け付ける複数のポートと、
該複数のポートに保持されているアクセス要求の優先順位を決定するプライオリティ決定回路と、
該プライオリティ決定回路により決定した優先順位に従って、該複数のポートに保持されているアクセス要求を該主記憶へ発信するアクセス処理部と、
該複数のポートのそれぞれに対応して設けられ、対応するポートにアクセス要求が基準時間以上保持されている場合に当該アクセス要求をハングアップとして検出するハングアップ検出回路と、
該ハングアップ検出回路による検出結果をアクセス要求の優先順位の決定要素として用いたハングアップ処理を行なうハングアップ処理回路とをそなえてなるデータ処理装置において、
該ハングアップ検出回路によるハングアップ検出に伴い該ハングアップ処理回路によるハングアップ処理を行なった後も継続的に当該アクセス要求が該ポートに保持されている場合、前記基準時間を短縮設定する基準時間設定部がそなえられたことを特徴とする、データ処理装置。
Multiple access request sources;
Main memory interleaved in multiple banks,
A plurality of ports for receiving access requests to the main memory from the access request source;
A priority determination circuit for determining the priority order of access requests held in the plurality of ports;
An access processing unit for transmitting an access request held in the plurality of ports to the main memory according to the priority order determined by the priority determination circuit;
A hang-up detection circuit that is provided corresponding to each of the plurality of ports and detects the access request as a hang-up when an access request is held in the corresponding port for a reference time or more;
In a data processing apparatus comprising a hang-up processing circuit for performing a hang-up process using the detection result by the hang-up detection circuit as a determination factor for the priority order of access requests,
When the access request is continuously held in the port even after the hangup processing by the hangup processing circuit is performed in accordance with the hangup detection by the hangup detection circuit, the reference time for setting the reference time to be shortened A data processing apparatus comprising a setting unit.
該ハングアップ処理回路が、前記ハングアップ処理として、該ハングアップ検出回路によるハングアップ検出に応じたアクセス要求の優先順位の反転制御を行なうように構成されるとともに、
該基準時間設定部が、該ハングアップ処理回路により優先順位の反転制御を行なった回数を計数する優先順位反転回数カウンタと、該優先順位反転回数カウンタによる計数値に応じて前記基準時間をより短い基準時間に切り換える基準時間切換回路とから構成されていることを特徴とする、請求項1記載のデータ処理装置。
The hang-up processing circuit is configured to perform inversion control of the priority order of access requests according to hang-up detection by the hang-up detection circuit as the hang-up processing,
The reference time setting unit counts the number of times the priority inversion control is performed by the hang-up processing circuit, and the reference time is shortened according to the count value by the priority inversion number counter. 2. A data processing apparatus according to claim 1, comprising a reference time switching circuit for switching to a reference time.
該優先順位反転回数カウンタが、当該アクセス要求を保持しているポートのバリッドオフに応じてリセットされることを特徴とする、請求項2記載のデータ処理装置。3. The data processing apparatus according to claim 2, wherein the priority inversion counter is reset in response to valid-off of the port holding the access request. 該複数のポートのそれぞれに対応して設けられた該ハングアップ検出回路が、共通のカウンタの計数出力を用いて、前記ハングアップの検出を行なうことを特徴とする、請求項1〜請求項3のいずれかに記載のデータ処理装置。4. The hang-up detection circuit provided corresponding to each of the plurality of ports detects the hang-up using a count output of a common counter. A data processing apparatus according to any one of the above.
JP22013496A 1996-08-21 1996-08-21 Data processing device Expired - Fee Related JP3754765B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22013496A JP3754765B2 (en) 1996-08-21 1996-08-21 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22013496A JP3754765B2 (en) 1996-08-21 1996-08-21 Data processing device

Publications (2)

Publication Number Publication Date
JPH1063543A JPH1063543A (en) 1998-03-06
JP3754765B2 true JP3754765B2 (en) 2006-03-15

Family

ID=16746440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22013496A Expired - Fee Related JP3754765B2 (en) 1996-08-21 1996-08-21 Data processing device

Country Status (1)

Country Link
JP (1) JP3754765B2 (en)

Also Published As

Publication number Publication date
JPH1063543A (en) 1998-03-06

Similar Documents

Publication Publication Date Title
US5381536A (en) Method and apparatus for separate mark and wait instructions for processors having multiple memory ports
US4169284A (en) Cache control for concurrent access
EP0226950B1 (en) Memory access control circuit
US4604685A (en) Two stage selection based on time of arrival and predetermined priority in a bus priority resolver
TWI276102B (en) DRAM and refresh method for DRAM
US7177966B2 (en) Microcomputer minimizing influence of bus contention
JP3754765B2 (en) Data processing device
JPH06161873A (en) Hang-up processings system for plural access points to main memory
JP2908273B2 (en) Vector processing equipment
JPH0256048A (en) Data transfer method and data buffer device
KR100964154B1 (en) A Dual Port Memory and An Method For Controlling Access of Shared Bank of Dual Port Memory
JPH0430052B2 (en)
JPH0743668B2 (en) Access control device
JP2826466B2 (en) Performance measurement method of parallel computer system
KR100194041B1 (en) Dynamic Random Access Memory Control Circuit
JPH05108476A (en) Main storage controller
SU1112365A1 (en) Device for forming interruption signal
JPH0721113A (en) Multiprocessor system
JP2643776B2 (en) Arbiter device and arbiter method
JP3400097B2 (en) Request selection device
JPS5922145A (en) Interruption control system
JPS6014377A (en) Memory control circuit for picture processing
JPH02121053A (en) Test and set system
JPS6061994A (en) Control circuit of dynamic memory
JPH0721117A (en) Dma controller

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051128

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: 20051206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051219

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: 20091222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees