(57)【特許請求の範囲】
【請求項１】
１クロックで処理するリクエスト（以下１Ｔリクエストと呼ぶ）と２クロック連続で処理するリクエスト（以下２Ｔリクエストと呼ぶ）とを送出可能な複数のプロセッサの各々に対応して前記複数のプロセッサから送られてくる１Ｔリクエストおよび２Ｔリクエストを格納する複数の入力バッファと、前記複数の入力バッファから送られてくるリクエスト間の競合を調停し、１クロックに１つのリクエストをプロセッサに送出させるための競合調停装置と、前記競合調停装置からの制御信号に従って前記複数の入力バッファから送られてくるリクエスト群の中から１つのリクエストを選択してプロセッサに送出するセレクタ回路とを備えたクロスバスイッチ制御装置において、
前記競合調停装置が、
前記入力バッファから出力されるリクエストの中のデータ情報部分を入力して、データ処理する周期を識別する識別手段と、
前記１Ｔリクエストの中から所定の順序に従って１つのリクエストを選択する１Ｔアービタと、
前記１Ｔアービタの選択前のリクエスト情報と前記１Ｔアービタの選択した１Ｔリクエストの情報とから選択後リクエスト情報を生成する１Ｔリクエスト情報生成手段と、
前記１Ｔリクエストのアービトレーション前のリクエスト情報または選択後リクエスト情報から、制御信号により選択したいずれかの情報を１クロック間保持する１Ｔリクエスト情報保持手段と、
前記２Ｔリクエストの中から所定の順序に従って１つのリクエストを選択する２Ｔアービタと、
前記２Ｔアービタの選択前のリクエスト情報と前記２Ｔアービタの選択した２Ｔリクエストの情報とから選択後リクエスト情報を生成する２Ｔリクエスト情報生成手段と、
前記２Ｔリクエストのアービトレーション前のリクエスト情報または選択後リクエスト情報から、前記制御信号により選択したいずれかの情報を１クロック間保持する２Ｔリクエスト情報保持手段と、
前記２Ｔアービタにより選択される２Ｔリクエストが前記セレクタ回路により選択されたか否かを示す信号を出力するカウンタ回路と、
前記２Ｔアービタにより選択される前記２Ｔリクエストを優先的に選択し、前記２Ｔアービタにより選択される２Ｔリクエストが前記セレクタ回路に選択されたことを前記カウンタ回路が示している際には、当該リクエストに対応する入力バッファに後続のリクエストを要求して前記２Ｔアービタにより選択された２Ｔリクエストが連続して前記セレクタ回路に選択されるよう制御し、前記２Ｔリクエストが存在しない場合には前記１Ｔアービタにより選択される１Ｔリクエストを前記セレクタ回路に選択されるように制御し、前記１Ｔリクエスト情報保持手段および２Ｔリクエスト情報保持手段に保持されたリクエストが全て前記セレクタ回路により選択されると前記複数の入力バッファに次のリクエスト群の出力を促す制御回路とを有することを特徴とするクロスバスイッチ制御装置。
【請求項２】
前記競合調停装置は、１Ｔリクエストが選択されているときには入力バッファすべてを保持するホールド手段を有することを特徴とする、請求項１記載のクロスバスイッチ制御装置。
【請求項３】
前記競合調停装置は、２Ｔリクエストが処理されているときは、カウンタの値によって全ての入力バッファをホールドするか特定の入力バッファ以外をホールドするかを選択する手段を有することを特徴とする、請求項１または２のいずれかに記載のクロスバスイッチ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロセッサ間のリクエスト転送時における競合調停装置、特に、２クロック連続で処理する２Ｔリクエストと１クロックで処理する１Ｔリクエストが混在して送られて来た場合、２クロック連続で処理する２Ｔリクエストについては２クロック連続でプロセッサに送出させる機能を有する競合調停装置に関する。
【０００２】
【従来の技術】
２種類のアービタを切り替えることにより装置全体の処理効率を向上させる従来の方法としては、特開昭６２−１５４０５７号公報に記載された信号制御回路が挙げられるが、これは、複数のプロセッサとメモリ間がバスによって接続されている装置における、バス制御のための競合調停方式に関するものであり、本発明における高速クロスバスイッチの制御のための競合調停方式のように、１クロックでリクエストを処理することを前提としておらず、高速動作には対応していない。
【０００３】
図６に従来の高速クロスバスイッチ制御用競合調停装置の一例を示す。この装置は、１００〜１０３はデコーダ、３００はセレクト信号が“０”ならばデコーダ出力値を選択し、“１”ならばフリップ・フロップ（以下ＦＦと呼ぶ）出力値を選択する２Ｗａｙセレクタ、３０１は優先順位固定式４ビットアービタ、３０２はインバータ、３０３は論理積回路、３０５はＦＦ、３０６は４入力論理和回路、６０４は分配回路、５はデータセレクタ、６はプロセッサを示す。＃０〜＃３は入力バッファにおけるデータ入力ポートを示している。
【０００４】
以下、図７および図８に基づいて、従来の高速クロスバスイッチ制御用競合調停装置の動作を説明する。図７は、入力バッファにバッファリングされているリクエストの内容を示したものであり、図８は、各クロックにおける出力値を示したものである。（ａ）は、各クロックにおける出力データを示したものであり、（ｂ）は、各クロックにおけるデータ入力ポートおよび出力データを示したものである。３０〜３３は、入力バッファを示している。
【０００５】
クロック０では、ＦＦ３０５は“００００”であり、入力バッファ３０〜３３には図７（ａ）のようなリクエストがバッファリングされているとする。
【０００６】
クロック１では、ＦＦ３０５の出力は“００００”なので、論理和回路３０６は“０”を出力する。分配回路６０４は入力された値“０”を４ビットに分配し、“００００”をホールド信号として入力バッファに出力する。入力バッファ３０〜３３はそれぞれ値が“０”であるホールド信号を受け取るので、バッファリングしてあるリクエストを１つ滑らせて、最下段にあるリクエストＡ，Ｂ１，Ｃ１，Ｄを競合調停装置４ならびにデータセレクタ５に出力する。この状態を図７（ｂ）に示す。競合調停装置４では送出されてきたリクエストＡ，Ｂ１，Ｃ１，ＤのＤＡＴＡ情報部分（以下ＴＡＧと呼ぶ）をデコーダ１００〜１０３に入力する。デコーダ１００〜１０３では送られてきたＴＡＣをデコードし、値“１１１１”をセレクタ３００に送出する。セレクタ３００はセレクト信号である論理和回路３０６の出力値が“０”なので、デコーダ１００〜１０３の出力値“１１１１”を選択し４ビットアービタに出力する。４ビットアービタ３０１は入力信号“１１１１”に対してアービトレーションを行い、セレクト信号として“１０００”を出力する。デークセレクタ５ではセレクト信号“１０００”を受け取り、対応する入力ポート＃０に入力されるリクエストＡを選択しプロセッサ６に送出する。一方、インバータ３０２はアービタ３０１の出力値“１０００”の反転値“０１１１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“１１１１”と、インバータ３０２の出力値“０１１１”との論理積“０１１１”をＦＦ３０５に出力する。
【０００７】
クロック２では、３０５の出力値が“０１１１”なので論理和回路３０６の出力値は“１”となる。分配回路６０４は論理和回路３０６の出力値“１”を４ビットに分配し、値“１１１１”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“１”のホールド信号を受け取るのでバッファリングの状態は変化しない。この状態を図７（ｂ）に示す。セレクタ３００はセレクト信号として論理和回路３０６の出力値“１”を入力するので、ＦＦ３０５の出力値“０１１１”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値“０１１１”に対してアービトレーションを行い“０１００”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃１に入力されるリクエストＢ１を選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“０１００”の反転値“１０１１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“０１１１”と、インバータ３０２の出力値“１０１１”との論理積“００１１”をＦＦ３０５に出力する。
【０００８】
クロック３では、３０５の出力値が“００１１”なので論理和回路３０６の出力値は“１”となる。分配回路６０４は論理和回路３０６の出力値“１”を４ビットに分配し、値“１１１１”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“１”のホールド信号を受け取るのでバッファリングの状態は変化しない。この状態を図７（ｂ）に示す。セレクタ３００はセレクト信号として論理和回路３０６の出力値“１”を入力するので、ＦＦ３０５の出力値“００１１”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値“００１１”に対してアービトレーションを行い“００１０”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃２に入力されるリクエストＣ１を選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“００１０”の反転値“１１０１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“００１１”と、インバータ３０２の出力値“１１０１”との論理積“０００１”をＦＦ３０５に出力する。
【０００９】
クロック４では、３０５の出力値が“０００１”なので論理和回路３０６の出力値は“１”となる。分配回路６０４は論理和回路３０６の出力値“１”を４ビットに分配し、値“１１１１”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“１”のホールド信号を受け取るのでバッファリングの状態は変化しない。この状態を図７（ｂ）に示す。セレクタ３００はセレクト信号として論理和回路３０６の出力値“１”を入力するので、ＦＦ３０５の出力値“０００１”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値“０００１”に対してアービトレーションを行い“０００１”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃３に入力されるリクエストＤを選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“０００１”の反転値“１１１０”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“０００１”と、インバータ３０２の出力値“１１１０”との論理積“００００”をＦＦ３０５に出力する。
【００１０】
クロック５では、３０５の出力値が“００００”なので論理和回路３０６の出力値は“０”となる。分配回路６０４は論理和回路３０６の出力値“０”を４ビットに分配し、値“００００”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“０”のホールド信号を受け取るので、バッファリングしてあるリクエストを１つずつ滑らし、最下段に位置するリクエストＥｌ，Ｂ２，Ｃ２，Ｈを競合調停装置４ならびにデータセレクタ５に出力する。この状態を図７（ｃ）に示す。競合調停装置４では送出されてきたリクエストＥ１，Ｂ２，Ｃ２，ＨのＴＡＧをデコーダ１００〜１０３に入力する。デコーダ１００〜１０３では送られてきたＴＡＧをデコードし、値“１１１１”をセレクタ３００に送出する。セレクタ３００はセレクト信号として論理和回路３０６の出力値“０”を入力するので、デコーダ１００〜１０３の出力値“１１１１”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値“１１１１”に対してアービトレーションを行い“１０００”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃０に入力されるリクエストＥ１を選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“１０００”の反転値“０１１１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“１１１１”と、インバータ３０２の出力値“０１１１”との論理積“０１１１”をＦＦ３０５に出力する。
【００１１】
クロック６の時、上記クロック２と同様な動作を行い、プロセッサ６にはリクエストＢ２が送出される。
【００１２】
クロック７の時、上記クロック３と同様な動作を行い、プロセッサ７にはリクエストＣ２が送出される。
【００１３】
クロック８の時、上記クロック４と同様な動作を行い、プロセッサ８にはリクエストＨが送出される。
【００１４】
クロック９では、ＦＦ３０５の出力値が“００００”なので論理和回路３０６の出力値は“０”となる。分配回路６０４は論理和回路３０６の出力値“０”を４ビットに分配し、出力値“００００”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“０”のホールド信号を受け取るので、バッファリングしてあるリクエストを１つずつすべらし、最下段に位置するリクエストＥ２，Ｆ，Ｇ１を競合調停装置４ならびにデータセレクタ５に出力する。この状態を図７（ｄ）に示す。競合調停装置４では送出されてきたリクエストＥ２，Ｆ，Ｇ１のＴＡＧをデコーダ１００〜１０２に入力する。デコーダ１００〜１０２では送られてきたＴＡＧをデコードし、値“１”をセレクタ３００に送出する。デコーダ１０３にはＴＡＧが送られて来ないので値“０”をセレクタ３００に送出する。セレクタ３００はセレクト信号として論理和回路３０６の出力値“０”を入力するので、デコーダ１００〜１０３の出力値“１１１０”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値”１１１０”に対してアービトレーションを行い“１０００”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃０に入力されるリクエストＥ２を選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“１０００”の反転値“０１１１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“１１１０”と、インバータ３０２の出力値“０１１１”との論理積“０１１０”をＦＦ３０５に出力する。
【００１５】
クロック１０の時、上記クロック２と同様な動作を行い、プロセッサ６にはリクエストＦが送出される。
【００１６】
クロック１１の時、上記クロック３と同様な動作を行い、プロセッサ６にはリクエストＧｌが送出される。
【００１７】
クロック１２では３０５の出力値が“００００”なので論理和回路３０６の出力値は“０”となる。分配回路６０４は論理和回路３０６の出力値“０”を４ビットに分配し、値”００００”のホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“０”のホールド信号を受け取るので、バッファリングしてあるリクエストを１つずつすべらし、最下段に位置するリクエストＧ２を競合調停装置４ならびにデータセレクタ５に出力する。競合調停装置４では送出されてきたリクエストＧ２のＴＡＧをデコーダ１０２に入力する。デコーダ１０２では送られてきたＴＡＧをデコードし、値“１”をセレクタ３００に送出する。デコーダ１００および１０１および１０３にはＴＡＧが送られて釆ないので値“０”をセレクタ３００に送出する。セレクタ３００はセレクト信号として論理和回路３０６の出力値“０”を入力するので、デコーダ１００〜１０３の出力値“００１０”を選択し、４ビットアービタ３０１に出力する。４ビットアービタ３０１は入力した値“００１０”に対してアービトレーションを行い“００１０”をセレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、対応する入力ポート＃２に入力されるリクエストＧ２を選択しプロセッサ６に送出する。インバータ３０２はアービタ３０１の出力値“００１０”の反転値“１１０１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“００１０”と、インバータ３０２の出力値“１１０１”との論理積“００００”をＦＦ３０５に出力する。
【００１８】
以上の一連の動作によってリクエスト群の処理が終了する。
【００１９】
【発明が解決しようとする課題】
上述した従来の競合調停装置では、２クロック連続でプロセッサに送出する２Ｔリクエストが他のプロセッサから送られてきたリクエストと競合する場合に、２Ｔリクエストが分割されて送出されてしまうので、リクエスト受信プロセッサでは分割された後半のデータの到着を待たねばならず、処理効率が低下してしまっていた。
【００２０】
従って、本発明の目的は、競合調停において、２クロック連続で処理するデータを２クロック連続してプロセッサに送出することのできる情報処理装置を提供することにある。
【００２１】
【課題を解決するための手段】
本発明のクロスバスイッチ制御装置は、１クロックで処理するリクエスト（以下１Ｔリクエストと呼ぶ）と２クロック連続で処理するリクエスト（以下２Ｔリクエストと呼ぶ）とを送出可能な複数のプロセッサの各々に対応して前記複数のプロセッサから送られてくる１Ｔリクエストおよび２Ｔリクエストを格納する複数の入力バッファと、前記複数の入力バッファから送られてくるリクエスト間の競合を調停し、１クロックに１つのリクエストをプロセッサに送出させるための競合調停装置と、前記競合調停装置からの制御信号に従って前記複数の入力バッファから送られてくるリクエスト群の中から１つのリクエストを選択してプロセッサに送出するセレクタ回路とを備えたクロスバスイッチ制御装置において、
前記競合調停装置が、前記入力バッファから出力されるリクエストの中のデータ情報部分を入力して、データ処理する周期を識別する識別手段と、前記１Ｔリクエストの中から所定の順序に従って１つのリクエストを選択する１Ｔアービタと、前記１Ｔアービタの選択前のリクエスト情報と前記１Ｔアービタの選択した１Ｔリクエストの情報とから選択後リクエスト情報を生成する１Ｔリクエスト情報生成手段と、前記１Ｔリクエストのアービトレーション前のリクエスト情報または選択後リクエスト情報から、制御信号により選択したいずれかの情報を１クロック間保持する１Ｔリクエスト情報保持手段と、前記２Ｔリクエストの中から所定の順序に従って１つのリクエストを選択する２Ｔアービタと、前記２Ｔアービタの選択前のリクエスト情報と前記２Ｔアービタの選択した２Ｔリクエストの情報とから選択後リクエスト情報を生成する２Ｔリクエスト情報生成手段と、前記２Ｔリクエストのアービトレーション前のリクエスト情報または選択後リクエスト情報から、前記制御信号により選択したいずれかの情報を１クロック間保持する２Ｔリクエスト情報保持手段と、前記２Ｔアービタにより選択される２Ｔリクエストが前記セレクタ回路により選択されたか否かを示す信号を出力するカウンタ回路と、前記２Ｔアービタにより選択される前記２Ｔリクエストを優先的に選択し、前記２Ｔアービタにより選択される２Ｔリクエストが前記セレクタ回路に選択されたことを前記カウンタ回路が示している際には、当該リクエストに対応する入力バッファに後続のリクエストを要求して前記２Ｔアービタにより選択された２Ｔリクエストが連続して前記セレクタ回路に選択されるよう制御し、前記２Ｔリクエストが存在しない場合には前記１Ｔアービタにより選択される１Ｔリクエストを前記セレクタ回路に選択されるように制御し、前記１Ｔリクエスト情報保持手段および２Ｔリクエスト情報保持手段に保持されたリクエストが全て前記セレクタ回路により選択されると前記複数の入力バッファに次のリクエスト群の出力を促す制御回路とを有することを特徴とするクロスバスイッチ制御装置である。
【００２２】
また、前記競合調停装置が、１Ｔリクエストが選択されているときには入力バッファすべてを保持するホールド手段を有すると好ましい。
【００２３】
さらに、前記競合調停装置が、２Ｔリクエストが処理されているときは、カウンタの値によって全ての入力バッファをホールドするか特定の入力バッファ以外をホールドするかを選択する手段を有すると好ましい。
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【発明の実施の形態】
次に、本発明の情報処理装置について図面を用いて説明する。
【００２９】
図１は本発明の情報処理装置の構造を示すブロック図である。この装置は、送出元プロセッサ１０〜１３，入力バッファ３０〜３３，競合調停装置４，データセレクタ５，プロセッサ６から構成される。送出元プロセッサ１０〜１３はデータと識別情報からなる１Ｔリクエストおよび２Ｔリクエストを入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では、１Ｔリクエストおよび２Ｔリクエストをバッファリングし、入力された順番どおりに、識別情報（以下ＴＡＧと呼ぶ）を競合調停装置４に、データをデータセレクタ５に出力する。この際、競合調停装置４から出力されるホールド信号が“１”ならばバッファの内容は１クロック前の状態を保ち、ホールド信号（以下、ホールド信号と呼ぶ）が“０”ならばバッファの内容を滑らせ、次のリクエストを競合調停装置４およびデータセレクタ５に送出する。競合調停装置４は、入力バッファ３０〜３３から送出されたＴＡＧを入力して競合調停を行い、セレクト信号をデータセレクタ５に出力する。また、競合調停装置４は１つめの２Ｔリクエスト処理時には、処理中の２Ｔリクエストを送出した入力バッファに対してホールド信号として“０”を、それ以外の入力バッファには“１”のホールド信号を送出する。さらに１Ｔリクエスト処理時にはすべての入力バッファに対して“１”のホールド信号を送出する。データセレクタ５は、競合調停装置４から送出されたセレクト信号を入力してデータをセレクトし、プロセッサ６に送出する。
【００３０】
次に、図２に基づいて、本発明の競合調停装置の実施例について詳細に説明する。本実施例は、リクエスト入力ポートすなわちデータ入力ポートを４個有し、１Ｔリクエストと２Ｔリクエストを処理することができる競合調停装置回路であり、図１をさらに詳細に説明するものである。この装置の構成は、ＴＡＧデコーダ１００〜１０３，２つのアービタ入力用２Ｗａｙセレクタ２００・３００，固定順位型の４ビットアービタ２０１・３０１（以下２Ｔアービタ・１Ｔアービタ），インバータ２０２・３０２，論理積回路２０３・３０３，ＦＦ入力用２Ｗａｙセレクタ２０４・３０４，２Ｔリクエスト状態保持用４ビットＦＦ（以下２Ｔ用ＦＦ）２０５，１Ｔリクエスト状態保持用４ビットＦＦ（以下１Ｔ用ＦＦ）３０５，４入力論理和回路２０６・３０６，カウンタ論理用４入力論理和回路４００，カウンタ論理用論理積回路４０１，カウンタ用１ビットＦＦ４０２，セレクト信号制御用４入力論理和回路５００，セレクト信号生成用２Ｗａｙセレクタ５０１，ホールド信号生成用２入力論理和回路６００，ホールド信号生成用４ビットＦＦ６０１，ホールド信号生成用インバータ６０２，ホールド信号生成用２Ｗａｙセレクタ回路６０３，ホールド信号生成用分配回路６０４から構成される。
【００３１】
デコーダ１００〜１０３は図１の入力バッファ３０〜３３から出力されたＴＡＧを入力し２Ｔリクエストならばセレクタ２００に“１”を、１Ｔリクエストならばセレクタ３００に“１”を出力する。セレクタ２００およびセレクタ３００は、ホールド信号生成用２入力論理和回路６００の出力が“０”ならばデコーダ１００〜１０３の結果を、ホールド信号生成用２入力論理和回路６００の出力が“１”ならば２Ｔ用ＦＦ２０５または１Ｔ用ＦＦ３０５の値を選択して４ビットアービタ２０１・３０１に出力する。この例では、アービタ２０１・３０１は一番左が最高優先度で、一番右が固定順位式アービタで、アービトレーションの結果をセレクト信号生成用２Ｗａｙセレクタ５０１に出力する。また、４ビットアービタ２０１・３０１の結果は２０２・３０２のインバータで反転された後、２０３・３０３の論理積回路でアービトレーション前の値と論理積をとられＦＦ入力用セレクタ２０４・３０４に入力される。２Ｔ用ＦＦ入力セレクタ２０４はカウンタ回路用論理積回路４０１の出力が“０”ならば論理積回路２０３の値を、カウンタ回路用論理積回路４０１の出力が“１”ならばアービタ入力用セレクタ２００の出力値を選択し、２Ｔ用ＦＦ２０５に出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号生成用論理和回路５００の出力が“０”ならば論理積回路３０３の値を、セレクト信号生成用論理和回路５００の出力が“１”ならばアービタ入力用セレクタ３００の出力値を選択し、１Ｔ用ＦＦ３０５に出力する。カウンタ回路用論理和回路４００のはセレクタ２００の出力値の論理和をとり、２入力論理積回路４０１に送出する。カウンタ回路用論理積回路４０１のはカウンタ用１ビットＦＦ４０２の反転値と４入力論理和回路は４ビットアービタ２０１の出力値の論理和をとり、１Ｔ用ＦＦセレクタおよびセレクト信号生成用２Ｗａｙセレクタのセレクト信号として出力される。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号生成用論理和回路５００の出力値が“０”ならば４ビットアービタ３０１の出力値を、セレクト信号生成用論理和回路５００の出力値が“１”ならば４ビットアービタ２０１の出力を選択し、データセレクタ５のセレクト信号として出力する。２０６・３０６は４入力論理和回路で、それぞれ２Ｔ用ＦＦ２０５および１Ｔ用ＦＦ３０５の論理和をとり、ホールド信号生成用２入力論理和回路６００に出力する。ホールド信号生成用２入力論理和回路６００は２０６および３０６の出力値の論理和をとってアービタ入力用セレクタ２００および３００のセレクト信号として出力する。６０４は分配回路で、１ビットであるホールド信号生成用２入力論理和回路６００の出力値を分配して４ビットとし、ホールド信号生成用２Ｗａｙセレクタ６０３に出力する。６０１はホールド信号生成用ＦＦで、４ビットアービタ２０１の出力値を保持し、次のクロックでインバータ６０２に出力する。インバータ６０２はホールド信号生成用ＦＦ６０１の出力値の反転値をホールド信号生成用２Ｗａｙセレクタ６０３に出力する。ホールド信号生成用２Ｗａｙセレクタ６０３はカウンタ用１ビットＦＦ４０２の値が“０”ならば分配回路６０４の出力値を、カウンタ用１ビットＦＦの値が“１”ならばインバータ６０２の出力値を選択し、ホールド信号として入力バッファ３０〜３３に出力する。
【００３２】
図３および図４は、各クロックにおいて入力バッファにバッファリングされているリクエストの内容を示すブロック図である。（ａ）はクロック０、（ｂ）はクロック１、（ｃ）はクロック２、（ｄ）はクロック４、（ｅ）はクロック５，６、（ｆ）はクロック７、（ｇ）はクロック８、（ｈ）はクロック１０における内容を示す図である。また、図５は各クロックにおける出力信号を示し、（ａ）はホールド信号からセレクト信号までの出力信号であり、（ｂ）はセレクト信号とデータ入力ポートによる出力データを示している。
【００３３】
図３〜図５に基づいて、本発明の情報処理装置の実施例における動作を説明する。
【００３４】
クロック０のとき、入力バッファ３０〜３３には図３（ａ）のようなリクエストがバッファリングされていると仮定する。このときＡ，Ｄ，Ｆ，Ｈは１Ｔリクエストを示し、Ｂ１，Ｂ２，Ｃ１，Ｃ２，Ｅ１，Ｅ２，Ｇ１，Ｇ２は２Ｔリクエストを示す。さらに、図２の競合調停回路内のＦＦ２０５，３０５，４０２，６０１はそれぞれ初期値として“００００”または“０”がセットされているとする。
【００３５】
クロック１のとき、４入力論理和回路２０６および３０６の出力値は共に“０”なのでホールド信号生成用２入力論理和回路６００の出力値は“０”となり、分配回路６０４に入力される。分配回路で４ビットに分配された信号“００００”は６０３のホールド信号生成用２Ｗａｙセレクタによって選択され、ホールド信号として入力バッファ３０〜３３に入力される。各入力バッファ３０〜３３ではホールド解除の意味であるホールド信号“０”が入力されたので、バッファリングされたリクエストを滑らせて、リクエストＡ，Ｂ１，Ｃ１，Ｄを競合調停装置４ならびにデータセレクタ５に出力する。競合調停装置４はリクエストＡ，Ｂ１，Ｃ１，ＤのＴＡＧの部分を入力してデコーダ１００〜１０３に入力する。デコーダ１００・１０３は１ＴリクエストＡ・ＤのＴＡＧが入力されるのでセレクタ３００へ“１”を出力する。デコーダ１０１・１０２は２ＴリクエストＢ１・Ｃ１が入力されるのでセレクタ２００へ“１”を出力する。アービタ入力用２Ｗａｙセレクタ２００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“０”を入力するので、デコーダ１００〜１０３の出力を選択し、“０１１０”を出力する。２Ｔア−ビタ２０１はセレクタ２００の出力値を入力し、アービトレーションを行った結果“０１００”を出力する。セレクト信号生成用論理和回路５００は２Ｔアービタ２０１の出力値の論理和をとり“１”を出力する。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号であるセレクト信号生成用論理和回路５００の出力値が“１”であるので２Ｔアービタ２０１の出力値を選択し、セレクト信号として“０１００”を出力する。データセレクタではセレクト信号として“０１００”を受け取り、入力ポート＃１に入力されるリクエストＢ１をプロセッサ６に出力する。一方、カウンタ回路用論理積回路４０１はカウンタ回路用論理和回路４００の出力値“１”とカウンタ用ＦＦの出力値“０”の反転を入力して“１”を出力する。２Ｔ用ＦＦ入力セレクタ２０４はセレクト信号であるカウンタ回路用論理積回路４０１の出力値が“１”であるのでアービタ入力用セレクタ２００の出力を選択して２Ｔ用ＦＦ２０５に“０１１０”を出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号であるセレクト信号生成用論理和回路５００の出力が“１”であるのでアービタ入力用２Ｗａｙセレクタ３００の出力値“１００１”を選択して、１Ｔ用ＦＦ３０５に入力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタ２０１の出力値“０１００”が入力される。この時の状態を示したものが図５（ａ），（ｂ）のクロック１である。
【００３６】
【００３７】
クロック２のとき、ホールド信号生成用ＦＦ６０１の出力“０１００”はインバータ６０２で反転されて、ホールド信号生成用セレクタ６０３に入力される。ホールド信号生成用セレクタ６０３はカウンタ用ＦＦ４０２の出力値“１”をセレクト信号として入力し、インバータ６０２の出力値“１０１１”をセレクトして、入力バッファ３０〜３３に出力する。入力バッファ３０および３２および３３には値が“１”のホールド信号が入力されるので、状態は変化しない。入力バッファ３１には値が“０”のホールド信号が入力されるのでバッファリングしてあるリクエストを１つ滑らせて、２Ｔリクエストの後半であるＢ２を含むリクエスト群Ａ，Ｂ２，Ｃ１，Ｄ統合調停装置４およびデータセレクタ５に出力する。この時の入力バッファの状態が図３の（ｃ）で示される。４入力論理和回路２０６および３０６の出力値は“１”となり、ホールド信号生成用２入力論理和回路６００の出力値は“１”となる。アービタ入力用セレクタ２００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”を入力して、２Ｔ用ＦＦ２０５の出力値“０１１０”を選択し、２Ｔアービタ２０１に出力する。この時２Ｔリクエストの後半のＴＡＧはアービタ入力用セレクタ２００で選択されず、競合調停装置の動作には影響しない。２Ｔアービタ２０１は入力された値“１１１０”に対してアービトレーションを行い、“０１００”をホールド信号生成用ＦＦ６０１に出力する。セレクト信号生成用論理和回路５００は２Ｔアービタ２０１の出力値の論理和“１”をセレクト信号生成用２Ｗａｙセレクタ５０１に出力する。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号生成用論理和回路５００の出力値“１”をセレクト信号として入力して、２Ｔアービタ２０１の出力値“０１００”を選択し、データセレクタ５にセレクト信号として出力する。データセレクタではセレクト信号として“０１００”を受け取り、入力ポート＃１に入力されるリクエストＢ２をプロセッサ６に出力する。カウンタ回路用論理積回路４０１はカウンタ回路用論理和回路４００の出力値“１”と、カウンタ用ＦＦ４０２の出力値“１”の反転値を入力して、“０”を出力する。インバータ２０２は２Ｔアービタ２０１の出力値“０１００”の反転値をとって２入力論理積回路２０３に入力する。２入力論理積回路２０３はインバータ２０２の出力値“１０１１”と、アービタ入力用セレクタ２００の出力“０１１０”の論理積をとり、“００１０”を２Ｔ用ＦＦ入力セレクタ２０４に入力する。２Ｔ用ＦＦ入力セレクタ２０４ではセレクト信号としてカウンタ回路用論理積回路４０１の出力値“０”を入力し、２入力論理積回路２０３の出力値“００１０”を選択して、２Ｔ用ＦＦ２０５に出力する。１Ｔアービタ入力用セレクタ３００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”を入力し、１Ｔ用ＦＦ３０５の出力を選択して、１Ｔ用ＦＦ入力セレクタ３０４に出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号としてセレクト信号生成用論理和回路５００の出力値“１”を入力し、アービタ入力用セレクタ３００の出力値“１００１”を選択して、１Ｔ用ＦＦに入力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタ２０１の出力値“０１００”が入力される。この時の状態を示したものが図５（ａ），（ｂ）のクロック２である。
【００３８】
クロック３では、４入力論理和回路２０６および３０６の出力値は共に“１”なので、ホールド信号生成用２入力論理和回路６００の出力値は“１”となる。ホールド信号生成用セレクタ６０３はセレクト信号としてカウンタ用ＦＦ４０２の出力値“０”を入力し、分配回路６０４の出力値“１１１１”を選択し、ホールド信号として入力バッファ３０〜３３に出力する。各入力バッファ３０〜３３では値“１”のホールド信号を受け取るのでバッファリングしてあるリクエストは滑らさず、図３（ｃ）の状態を保つ。アービタ入力用２Ｗａセレクタ２００はホールド信号生成用２入力論理和回路６００の出力値をセレクト信号として入力し、２Ｔ用ＦＦの出力値“００１０”を選択して、２Ｔアービタ２０１に出力する。２Ｔアービタ２０１は入力した値“００１０”に対してアービトレーションを行い、“００１０”を出力するセレクト信号生成用論理和回路５００は４ビットアービタ２０１の論理和をとり、“１”を出力する。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号としてセレクト信号生成用論理和回路５００の出力値“１”をセレクト信号として２Ｔアービタ２０１の出力値“００１０”を選択し、セレクト信号としてデータセレクタ５に出力する。データセレクタ５ではセレクト信号“００１０”を入力し、入力ポート＃２に入力されるリクエストＣ１をプロセッサ６に出力する。カウンタ回路用論理積回路４０１は、論理和回路４００の出力値“１”と、カウンタ用ＦＦの出力値“０”の反転値を入力し、“１”を出力する。２Ｔ用ＦＦ入力セレクタ２０４はセレクト信号としてカウンタ回路用論理積回路４０１の出力値“１”を入力して、アービタ入力用セレクタ２００の出力値“００１０”を選択し、２Ｔ用ＦＦ２０５に出力する。１Ｔアービタ入力セレクタ３００は、セレクト信号であるホールド信号生成用２入力論理和回路６００の出力値が“１”なので、１Ｔ用ＦＦ３０５の出力値“１００１”を選択し、出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号としてセレクト信号生成用論理和回路５００の出力値“１”を入力し、アービタ入力用セレクタ３００の出力値“１００１”を選択して出力する。ホールド信号生成用ＦＦ６０１には４ビットアービタ２０１の出力値“００１０”が入力される。この状態を示したのが図５（ａ），（ｂ）のクロック３である。
【００３９】
クロック４では、ホールド信号生成用２Ｗａｙセレクタ６０３において、セレクト信号であるカウンタ用ＦＦ４０２の出力値が“１”であるので、ホールド生成用ＦＦ６０１の出力値“００１０”の反転値を選択し、入力バッファ３０〜３３に出力する。入力バッファ３０および３１および３３では値が“１”のホールド信号が入力されるので、状態は変化しない。入力バッファ３２には値が“０”のホールド信号が入力されるので、リクエストが１つづつ滑り、リクエストＣ２を含むリクエスト群Ａ，Ｂ２，Ｃ２，Ｄが競合調停装置４ならびにデータセレクタ５に出力される。２Ｔアービタ入力セレクタ２００はセレクト信号であるホールド信号生成用２入力論理和回路６００の値が“１”なので２Ｔ用ＦＦ２０５の出力値“００１０”を選択し、２Ｔ用アービタ２０１に出力する。２Ｔアービタ２０１では入力値“００１０”に対してアービトレーションを行い、“００１０”を出力する。セレクト信号生成用論理和回路５００は２Ｔアービタの出力値“００１０”の論理和“１”を出力する。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号として論理和回路５００の出力値“１”を入力し、２Ｔアービタ２０１の出力値“０
０１０”を選択して、セレクト信号とし“００１０”を出力する。データセレクタ５はセレクト信号“００１０”を入力し、入力ポート＃３に入力されるリクエストＣ２をプロセッサ６に出力する。カウンタ回路用論理和回路４００は２Ｔアービタ入力用セレクタ３００の出力値“００１０”を入力し、論理和“１”を出力する。カウンタ回路用論理積回路４０１は論理和回路４００の出力値“１”と、カウンタ用ＦＦ４０２の出力値“１”の反転値を入力し、論理積“０”を出力する。インバータ２０２は２Ｔアービタ２０１の出力値“００１０”の反転値を２入力論理積回路２０８に出力する。２入力論理積回路２０３はインバータ２０２の出力値“１１０１”と、２Ｔアービタ出力値“００１０”との論理積“００００”を出力する。２Ｔ用ＦＦセレクタ２０４はセレクト信号としてカウンタ回路用論理積回路４０１の出力値“０”を入力し、論理積回路２０３の出力値“００００”を選択し、２Ｔ用ＦＦ２０５に出力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタ２０１の出力結果“００１０”が入力される。この時の状態を示したのが図５（ａ），（ｂ）のクロック４である。
【００４０】
クロック５では、ホールド信号生成用論理和回路３０６の出力値は“１Ｔ”となり、よってホールド信号生成用２入力論理和回路６００の出力値も“１”となる。分配回路６０４ではホールド信号生成用２入力論理和回路６００の出力値“１”を分配し、４ビットの信号“１１１１”をホールド信号生成用セレクタ６０３に出力する。ホールド信号生成用セレクタ６０３はセレクト信号としてカウンタ用ＦＦ４０２の出力値“０”を入力して分配回路６０４の出力値“１１１１”を選択し、ホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“１”のホールド信号を入力するのでバッファリングしたリクエストは滑らすことなく、バッファの最下段に位置するリクエストをデータセレクタ５に出力する。この時の入力バッファ３０〜３３の状態を図４（ｅ）に示す。１Ｔアービタ入力用セレクタ３００は、セレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”をセレクト信号として入力し、１Ｔ用ＦＦ３０５の出力値“１００１”を選択して１Ｔ用ＦＦ３０１に出力する。１Ｔアービタ３０１は入力信号として“１００１”を入力し、アービトレーションを行い、“１０００”を出力する。２Ｔアービタ入力セレクタ２００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”をセレクト信号として入力し、２Ｔ用ＦＦ２０５の出力値“００００”を選択して、２Ｔアービタ２０１に出力する。２Ｔアービタ２０１は、入力信号として、“００００”を入力し、“００００”を出力する。セレクト信号生成用論理和回路５００は２Ｔアービタの出力値“００００”の論理和“０”を出力する。セレクト信号生成用２Ｗａｙセレクタ５０１は、セレクト信号として論理和回路５００の出力値“０”を入力し、１Ｔアービタ３０１の出力値“１０００”を選択し、セレクト信号としてデータセレクタ５に出力する。データセレクタ５ではセレクト信号“１０００”を入力し、対応する入力ポート＃０に入力されるリクエストＡを選択して、プロセッサ６に出力する。一方、カウンタ回路用論理和回路４００は２Ｔアービタ入力セレクタ２００の出力値“００００”の論理和“０“を出力する。カウンタ回路用論理積回路４０１は論理和回路４００の出力値が“０”なので、論理積“０”をセレクタ２０４及びカウンタ用ＦＦ４０２に出力する。２Ｔ用ＦＦ入力セレクタ２０４はセレクト信号としてカウンタ回路用論理積回路４０１の出力値“０”を入力し、論理積回路２０３の出力値“００００”を選択し、２Ｔ用ＦＦ２０５に出力する。インバータ３０２は１Ｔアービタの出力値“１０００”を入力し、反転値“０１１１”を論理積回路３０３に出力する。論理積回路３０３はセレクタ３００の出力値“１００１”と、インバータ３０２の出力値“０１１１”との論理積をとり、“０００１”を１Ｔ用ＦＦ入力セレクタ３０４に出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号として論理和回路５００の出力値“０”を入力し、論理積回路３０３の出力値“０００１”を選択し、１Ｔ用ＦＦ３０５に出力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタの出力値“００００”が入力される。この時の状態を示したものが図５（ａ），（ｂ）のクロック５である。
【００４１】
クロック６では４入力論理和回路３０６の出力値は“１”なので、ホールド信号生成用２入力論理和回路６００の出力値は“１”となる。分配回路６０４はホールド信号生成用２入力論理和回路６００の出力値“１”を分配し、“１１１１”をホールド信号生成用セレクタ６０３に送出する。ホールド信号生成用セレクタ６０３はセレクト信号としてカウンタ用ＦＦ４０２の出力値“０”を入力し、分配回路６０４の出力値“１１１１”を選択しホールド信号として入力バッファ３０〜３３に出力する。入力バッファ３０〜３３では値が“１”のホールド信号を受け取るのでバッファリングされたリクエストは滑らさずに、最下段のリクエストをデータセレクタ５に出力する。１Ｔアービタ入力セレクタ３００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”を入力して１Ｔ用ＦＦ３０５の出力値“０００１”を選択して、１Ｔアービタ３０１に出力する。１Ｔアービタ３０１は“０００１”を入力してアービトレーションを行い、“０００１”を出力する。２Ｔアービタ入力セレクタ２００はセレクト信号としてホールド信号生成用２入力論理和回路６００の出力値“１”を入力し２Ｔ用ＦＦ２０５の出力値“００００”を選択し、２Ｔアービタ２０１に出力する。２Ｔアービタは“００００”を入力し、“００００”を出力する。セレクト信号生成用論理和回路５００は２Ｔアービタの出力値“００００”の論理和“０”をセレクト信号生成用２Ｗａｙセレクタ５０１に出力する。セレクト信号生成用２Ｗａｙセレクタ５０１はセレクト信号として論理和回路５００の出力値“０”を入力し、１Ｔアービタ３０１の出力値“０００１”を選択し、セレクト信号としてデータセレクタ５に出力する。データセレクタ５ではセレクト信号“０００１”を入力し、対応する入力ポート♯３に入力されるリクエストＤを選択し、プロセッサ６に送出する。一方、カウンタ回路用論理和回路４００はセレクタ２００の出力値“００００”を入力し、論理和“０”をカウンタ回路用論理積回路４０１に出力する。論理積回路４０１はカウンタ回路用論理和回路４００の出力値“０”と、カウンタ用ＦＦ４０２の出力値“０”の反転値との論理積をとり、“０”をセレクタ２０４及びカウンタ用ＦＦ４０２に出力する。２Ｔ用ＦＦ入力セレクタ２０４ではセレクト信号として論理積回路４０１の出力値“０”を入力し、論理積回路２０３の出力値“００００”を選択し２Ｔ用ＦＦ２０５に出力する。インバータ回路３０２は１Ｔアービタ３０１の出力値“０００１”を入力し、反転値“１１１０”を出力する。論理積回路３０３はインバータ回路３０２の出力値“１１１０”と、セレクタ３００の出力値“０００１”との論理積“００００”を出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号として論理和回路５００の出力値“０”を入力し、論理積回路３０３の出力値“００００”を選択し１Ｔ用ＦＦ３０５に出力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタの出力値“００００”が入力される。この時の状態を示したのが図５（ａ），（ｂ）のクロック６である。ここで全てのＦＦの内容は“００００”となり、最初のリクエスト群の処理が終了した。クロック７から次のリクエスト群の処理に移る。
【００４２】
クロック７では４入力論理和回路２０６および３０６の出力値は共に“０”なので、ホールド信号生成用２入力論理和同路６００は“０”を出力する。分配回路６０４で４ビットに分配された信号“００００”はホールド信号生成用２Ｗａｙセレクタ６０３によって選択され、入力バッファ３０〜３３に出力される。入力バッファ３０〜３３は値が“０”であるホールド信号を受け取るので、バッファリングされているリクエストを１つ滑らして、新たなリクエスト群Ｅ１，Ｆ，Ｇ１，Ｈを競合調停装置４ならびにデータセレクタ５に出力する。この時のバッファの状態を図４（ｆ）に示す。競合調停装置４はリクエストＥ１，Ｆ，Ｇ１，ＨのＴＡＧの部分をデコーダ１００〜１０３に入力する。デコーダ１００および１０２は２ＴリクエストＥ１，Ｇ１を入力するのでセレクタ２０出力値“０”を入力ト１Ｔアービタ３０１の出力値“０００１”を選択し、セレクト信号としてデータセレクタ５に出力する。データセレクタ５ではセレクト信号“０００１”を入力し、対応する入力ポート♯３に入力されるリクエストＤを選択し、プロセッサ６に送出する。一方、カウンタ回路用論理和回路４００はセレクタ２００の出力値“００００”を入力し、論理和“０”を論理積回路４０１に出力する。論理積回路４０１はカウンタ回路用論理和回路４００の出力値“０”と、カウンタ用ＦＦ４０２の出力値“０”の反転値との論理積をとり、“０”をセレクタ２０４及びカウンタ用ＦＦ４０２に出力する。２Ｔ用ＦＦ入力セレクタ２０４ではセレクト信号として論理積回路４０１の出力値“０”を入力し、論理積回路２０３の出力値“００００”を選択し２Ｔ用ＦＦ２０５に出力する。インバータ回路３０２は１Ｔアービタ３０１の出力値“０００１”を入力し、反転値“１１１０”を出力する。論理積回格３０３はインバータ回路３０２の出力値“１１１０”と、セレクタ３００の出力値“０００１”との論理積“００００”を出力する。１Ｔ用ＦＦ入力セレクタ３０４はセレクト信号として論理和回路５００の出力値“０”を入力し、論理積回路３０３の出力値“００００”を選択し１Ｔ用ＦＦ３０５に出力する。ホールド信号生成用ＦＦ６０１には２Ｔアービタの出力値“００００”が入力される。この時の状態を示したのが図５（ａ），（ｂ）のクロック６である。ここで全てのＦＦの内容はａｌｌＯとなり、最初のリクエスト群の処理が終了した。クロック７から次のリクエスト群の処理に移る。
【００４３】
クロック７では４入力論理和回路２０６および３０６の出力値は共に“０”なので、ホールド信号生成用２入力論理和回路６００は“０”を出力する。分配回路６０４で４ビットに分配された信号“００００”はホールド信号生成用２Ｗａｙセレクタ６０３によって選択され、入力バッファ３０〜３３に出力される。入力バッファ３０〜３３は値が“０”であるホールド信号を受け取るので、バッファリングされているリクエストを１つ滑らして、新たなリクエスト群Ｅ１，Ｆ，Ｇ１，Ｈを競合調停装置４ならびにデータセレクタ５に出力する。この時のバッファの状態を図４（ｆ）に示す。競合調停装置４はリクエストＥ１，Ｆ，Ｇ１，ＨのＴＡＧの部分をデコーダ１００〜１０３に入力する。デコーダ１００および１０２は２ＴリクエストＥ１，Ｇ１を入力するのでセレクタ２００には“１”を、セレクタ３００には“０”を出力する。デコーダ１０１および１０３は１ＴリクエストＦ，Ｈを入力するのでセレクタ２００には“０”を、セレクタ３００には“０”を出力する。ホールド信号生成用２入力論理和回路６００の出力値が“０”なのでセレクタ２００はデコーには“１”を、セレクタ３００には“０”を出力する。デコーダ１０１および１０３は１ＴリクエストＦ，Ｈを入力するのでセレクタ２００には“０”を、セレクタ３００には“０”を出力する。ホールド信号生成用２入力論理和回路６００の出力値が“０”なのでセレクタ２００はデコーダ１００〜１０３の出力値“１０１０”を選択し、出力する。２Ｔアービタ２０１はアービトレーションを行い“１０００”を出力する。論理和回路５００は“１”を出力するのでセレクト信号生成用２Ｗａｙセレクタ５０１は２Ｔアービタ２０１の出力値“１０００”を選択し、セレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、リクエストＥ１を選択しプロセッサ６に出力する。その他各回路は上記クロック１の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“１”が、２Ｔ用ＦＦ２０５には“１０１０”が、ホールド信号生成用ＦＦ６０１には“１０００”が、１Ｔ用ＦＦ３０５には“０１０１”が入力される。この時の状態を図５（ａ），（ｂ）のクロック７に示す。
【００４４】
クロック８ではホールド信号生成用セレクタ６０３によりインバータ６０２の出力値“０１１１”が選択され、ホールド信号として出力される。入力バッファ３０のみ値が“０”のホールド信号が入力されるのでリクエストを１つ滑らして、リクエストＥ２をデータセレクタに出力する。その他の入力バッファではバッファリング状態をホールドする。この時の状態を図４（ｇ）に示す。ホールド信号生成用２入力論理和回路６００の出力値が“１”なので、セレクタ２００は２Ｔ用ＦＦ２０５の出力値“１０１０”を選択する。２Ｔアービタ２０１はアービトレーションの結果“１０００”を出力する。論理和回路５００の出力値が“１”なのでセレクト信号生成用２Ｗａｙセレクタ５０１は２Ｔアービタ２０１の出力値“１０００”をセレクト信号として出力する。データセレクタ５ではセレクト信号を受け取り、リクエストＥｚを選択し、プロセッサ６に送出する。その他各回路は上記クロック２の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“０”が、２Ｔ用ＦＦ２０５には“００１０”が、ホールド信号生成用ＦＦ６０１には“１０００”が、１Ｔ用ＦＦ３０５には“０１０１”が入力される。この時の状態を図５（ａ），（ｂ）のクロック８に示す。
【００４５】
クロック９ではホールド信号生成用セレクタ６０３により分配回路６０４の出力値“１１１１”が選択され、ホールド信号として出力される。入力バッファ３０〜３３では値が“ｌ”のホールド信号を受け取るので状態は変化しない。ホールド信号生成用２入力論理和回路６００の出力値が“１”なので、セレクタ２００は２Ｔ用ＦＦ２０５の出力値“００１０”を選択する。２Ｔアービタ２０１はアービトレーションの結果“００１０”を出力する。論理和回路５００の出力値は“１”なので２Ｔアービタの出力値“００１０”がセレクタ信号として出力される。データセレクタ５ではセレクト信号を入力し、リクエストＧ１を選択してプロセッサ６に送出する。その他各回路は上記クロック３の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“１”が、２Ｔ用ＦＦ２０５には“００１０”が、ホールド信号生成用ＦＦ６０１には“００１０”が、１Ｔ用ＦＦ３０５には“０１０１”が入力される。この時の状態を図５（ａ），（ｂ）のクロック９に示す。
【００４６】
クロック１０ではホールド信号生成用セレクタ６０３によりインバータ６０２の出力値“１１０１”が選択され、ホールド信号として出力される。入力バッファ３２にのみ値が“０”のホールド信号を受け取り、リクエストを１つ滑らしてリクエストＧ２をデータセレクタに送出する。その他の入力バッファは値が“１”のホールド信号を受け取るので、状態は変わらない。この時の状態を図４（ｈ）に示す。ホールド信号生成用２入力論理和回路６００の出力値が“１”なのでセレクタ２００は２Ｔ用ＦＦ２０５の出力値“００１０”を選択する。２Ｔアービタ２０１はアービトレーションの結果“００１０”を出力する。セレクト信号生成用論理和回路５００の出力値が“１”なのでセレクト信号生成用２Ｗａｙセレクタ５０１は２Ｔアービタ２０１の出力値“００１０”を選択し、セレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、リクエストＧ２を選択してプロセッサ６に送出する。その他各回路は上記クロック４の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“０”が、２Ｔ用ＦＦ２０５には“００００”が、ホールド信号生成用ＦＦ６０１には“００１０”が、１Ｔ用ＦＦ３０５には“０１０１”が入力される。この時の状態を図５（ａ），（ｂ）のクロック１０に示す。
【００４７】
クロック１１ではホールド信号生成用セレクタ６０３により分配回路６０４の出力値“１１１１”が選択され、ホールド信号として出力される。入力バッファ３０〜３３は値が“１”のホールド信号を受け取るので状態は変化しない。ホールド信号生成用２入力論理和回路６００の出力値が“１”なのでセレクタ２００は２Ｔ用ＦＦ２０５の出力値“００００”を選択し、セレクタ３００は１Ｔ用ＦＦ３０５の出力値“０１０１”を選択する。２Ｔアービタ２０１はアービトレーションの結果“００００”を出力し、１Ｔアービタ３０１はアービトレーションの結果“０１００”を出力する。論理和回路５００の出力値が“０”なのでセレクト信号生成用２Ｗａｙセレクタ５０１は１Ｔアトビタ３０１の出力値“０１００”を選択し、セレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、リクエストＦを選択してプロセッサ６に送出する。その他各回路は上記クロック５の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“０”が、２Ｔ用ＦＦ２０５には“００００”が、ホールド信号生成用ＦＦ６０１には“００００”が、１Ｔ用ＦＦ３０５には“０００１”が入力される。この時の状態を図５（ａ），（ｂ）のクロック１１に示す。
【００４８】
クロック１２ではホールド信号生成用セレクタ６０３により分配回路６０４の出力値“１１１１”が選択され、ホールド信号として出力される。入力バッファ３０〜３３は値が“１”のホールド信号を受け取るので状態は変化しない。ホールド信号生成用２入力論理和回路６００の出力値が“１”なのでセレクタ２００は２Ｔ用ＦＦ２０５の出力値“００００”を選択し、セレクタ３００は１Ｔ用ＦＦ３０５の出力値“０００１”を選択する。２Ｔアービタ２０１はアービトレーションの結果“００００”を出力し、１Ｔアービタ３０１はアービトレーションの結果“０００１”を出力する。論理和回路５００の出力値が“０”なのでセレクト信号生成用２Ｗａｙセレクタ５０１は１Ｔアービタ３０１の出力値“０００１”を選択し、セレクト信号として出力する。データセレクタ５ではセレクト信号を入力し、リクエストＨを選択してプロセッサ６に送出する。その他各回路は上記クロック６の動作と同様な処理が行われた結果、カウンタ用ＦＦ４０２には“０”が、２Ｔ用ＦＦ２０５には“００００”が、ホールド信号生成用ＦＦ６０１には“００００”が、１Ｔ用ＦＦ３０５には“００００”が入力される。この時の状態を図５（ａ），（ｂ）のクロック１２に示す。
【００４９】
以上の動作により、２つのリクエスト群の競合調停処理が終了した。
【００５０】
本発明の競合調停装置の動作を示す図５（ｂ）と従来例の競合調停装置の動作を示す図８（ｂ）とを比べると、従来例では２クロックで処理するデータＢ１，Ｂ２，Ｃ１，Ｃ２，Ｅ１，Ｅ２は連続で出力されていないのに対し、本発明の例では連続して出力されていることがわかる。
【００５１】
【発明の効果】
以上説明したように、１クロックで処理する１Ｔリクエストと２クロック連続で処理する２Ｔリクエストとが混在して送られてきた場合にも、２Ｔリクエストについては２クロック連続でプロセッサに送出することが可能となり、プロセッサは２Ｔリクエストを連続して処理できるため情報処理装置全体としての処理効率を上げることができる。
【図面の簡単な説明】
【図１】本発明の情報処理装置の実施例の構成を示すブロック図である。
【図２】図１に示した競合調停装置およびセレクタ回路の詳細を示すブロック図である。
【図３】本実施例の入力バッファのリクエストの内容を示すブロック図である。（ａ）はクロック０、（ｂ）はクロック１、（ｃ）はクロック２、（ｄ）はクロック４における内容を示す図である。
【図４】本実施例の入力バッファのリクエストの内容を示すブロック図であり、図３に続くものである。（ｅ）はクロック５，６、（ｆ）はクロック７、（ｇ）はクロック８、（ｈ）はクロック１０における内容を示す図である。
【図５】本実施例の各クロックにおける出力値を示す図である。（ａ）はＴＡＧ入力ポート側の出力値を示し、（ｂ）はデータ入力ポート側の出力値を示す図である。
【図６】従来の競合調停装置の一例を示すブロック図である。
【図７】従来の入力バッファのリクエストの内容を示すブロック図である。（ａ）はクロック０、（ｂ）はクロック１〜４、（ｃ）はクロック５、（ｄ）はクロック９における内容を示す図である。
【図８】従来の装置の各クロックにおける出力値を示す図である。（ａ）はＴＡＧ入力ポート側の出力値を示し、（ｂ）はデータ入力ポート側の出力値を示す図である。
【符号の説明】
１０〜１３  送出先プロセッサ
３０〜３３  入力バッファ
４  競合調停装置
５  データセレクタ
６  プロセッサ
１００〜１０３  デコーダ
２００・３００  アービタ入力用２Ｗａｙセレクタ
２０１・３０１  ４ビットアービタ
２０３・３０３  論理積回路
２０４・３０４  ＦＦ入力用２Ｗａｙセレクタ
２０５・３０５  ＦＦ
２０６・３０６  ホールド信号生成用４入力論理和回路
４００  カウンタ回路用論理和回路
４０１  カウンタ回路用論理積回路
４０２  カウンタ用ＦＦ
５００  セレクト信号生成用論理和回路
５０１  セレクト信号生成用２Ｗａｙセレクタ
６００  ホールド信号生成用２入力論理和回路
６０１  ホールド信号生成用ＦＦ
６０２  ホールド信号生成用インバータ
６０３  ホールド信号生成用２Ｗａｙセレクタ回路
６０４  分配回路
【図１】
0003683046.tif 000002
【図２】
0003683046.tif 000003
【図３】
0003683046.tif 000004
【図４】
0003683046.tif 000005
【図５】
0003683046.tif 000006
【図６】
0003683046.tif 000007
【図７】
0003683046.tif 000008
【図８】
0003683046.tif 000009