(57)【要約】【課題】通信用のデータバッファに記憶容量の無駄を生じ難く、通信データのバストラフィックを低減可能とする。【解決手段】、複数の通信チャネルを有する通信回路を内部バスにインタフェースするのに通信用ブリッジ回路を採用し、通信用ブリッジ回路には通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリを採用し、バッファメモリは一方においてバスインタフェース回路を介して内部バスにインタフェースされ、他方において通信チャネルインタフェース回路を介して通信回路にインタフェースされる。通信チャネルインタフェース回路は、内部バス経由でレジスタ回路に設定された通信チャネルバッファ領域の定義情報に基づいて、通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う。【選択図】図１
2012150656.tif 000002
【特許請求の範囲】
【請求項１】
内部バスと、前記内部バスに接続された中央処理装置と、複数の通信チャネルを有する通信回路と、前記通信回路を前記内部バスに接続する通信用ブリッジ回路とを有し、
前記通信用ブリッジ回路は、前記内部バスに接続されるバスインタフェース回路と、前記バスインタフェース回路に接続され前記通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリと、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路と、前記バスインタフェース回路を介して前記通信チャネルバッファ領域の定義情報が設定され設定された定義情報を前記通信インタフェース回路に与えるレジスタ回路とを有する、半導体装置。
【請求項２】
前記通信インタフェース回路は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路とを有し、
前記レジスタ回路は、前記通信チャネル毎に、対応する通信チャネルバッファ領域のスタートアドレス及びエンドアドレスを定義するアドレスレジスタと、対応する前記通信チャネルインタフェース回路によって通信状態のステータス情報がセットされ前記中央処理装置によって参照可能にされるステータスレジスタとを有する、請求項１記載の半導体装置。
【請求項３】
前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記中央処理装置に対する割り込み要求を出力する割り込み要求ロジックを有する、請求項２記載の半導体装置。
【請求項４】
前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項２記載の半導体装置。
【請求項５】
前記バスインタフェース回路は、前記バッファメモリに対する書き込みアドレスが前記レジスタ回路に設定されたスタートアドレスに一致するとき、一致したスタートアドレスに対応される通信チャネルインタフェース回路に対して送信開始トリガ信号により送信開始を指示する、請求項２記載の半導体装置。
【請求項６】
前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ及び送信用アドレスカウンタと、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファと、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファとを有し、
前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御し、
前記受信用アドレスカウンタ及び送信用アドレスカウンタには前記レジスタ回路からスタートアドレスが初期設定され、前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタの値が更新され、前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出し毎に前記送信用アドレスカウンタの値が更新される、請求項３記載の半導体装置。
【請求項７】
前記転送制御回路は、テンポラリ受信バッファからバッファメモリへのデータ書き込みのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てると共に、バッファメモリからテンポラリ送信バッファへのデータ読み出しのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てる制御を行うタイミング制御回路と、
前記タイミング制御回路によって割り当てられた書き込みのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファがデータ保持状態のとき当該テンポラリ受信バッファから入力した受信データを受け取ってバッファメモリに書き込み、また、前記タイミング制御回路によって割り当てられた読み出しのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファが空のときにバッファメモリから送信データを読み出して対応するテンポラリ送信バッファに転送する制御を行う転送プロトコルロジック回路と、を有する請求項６記載の半導体装置。
【請求項８】
前記通信チャネルインタフェース回路は、対応する通信チャネルバッファ領域からテンポラリ送信バッファへの送信データの読み出し毎に順次送信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させ、テンポラリ受信バッファから対応する通信チャネルバッファ領域への受信データの書き込み毎に順次受信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させる、請求項７記載の半導体装置。
【請求項９】
前記中央処理装置は、前記レジスタ回路により定義された通信チャネルバッファ領域のデータを繰り返し送信するとき、最初の送信では当該通信チャネルバッファ領域の全領域に送信データを書き込んで送信を指示し、後続の送信では当該通信チャネルバッファ領域の一部の領域の送信データだけを更新して送信を指示する、請求項８記載の半導体装置。
【請求項１０】
前記バスインタフェース回路は、前記バッファメモリに格納された受信データを比較対象データと比較し、比較結果を蓄積し、蓄積した比較結果を中央処理装置に参照可能にする、請求項１記載の半導体装置。
【請求項１１】
前記制御レジスタ回路は、前記比較対象データが設定されるコンペアデータレジスタ、前記比較対象データと比較される受信データのバッファメモリ上のアドレス領域が設定されるコンペアアドレス領域指定レジスタ、及び前記比較結果が蓄積されるコンペアリザルトレジスタを有する、請求項１０記載の半導体装置。
【請求項１２】
前記制御レジスタ回路は更に、前記比較結果の比較一致回数を保持するコンペアカウントレジスタを有する、請求項１１記載の半導体装置。
【請求項１３】
前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較回数が所定回数に達したとき前記中央処理装置に割り込みを要求する割り込み要求ロジックを有する、請求項１２記載の半導体装置。
【請求項１４】
前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項１２記載の半導体装置。
【請求項１５】
前記通信インタフェース回路は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路とを有し、
前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ及び送信用アドレスカウンタと、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファと、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファとを有し、
前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御すると共に、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をＣＰＵに参照可能にする、請求項１記載の半導体装置。
【請求項１６】
前記制御レジスタ回路は、受信データと比較される比較対象データが設定されるコンペアデータレジスタと、受信データと前記比較対象データとの比較結果に応じて受信データが書き込まれるメモリアドレスが設定されるコンペアポイントメモリアドレスレジスタと、前記比較結果に応じてテンポラリ受信バッファに受信した受信データに対する動作形態が設定される分岐条件設定レジスタとを複数組有し、
前記転送制御回路は、前記複数組のレジスタに設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリに格納する拡張受信モードを有する、請求項１５記載の半導体装置。
【請求項１７】
前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記中央処理装置に割り込みを要求する割り込み要求ロジックを有する、請求項１６記載の半導体装置。
【請求項１８】
前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジックを有する、請求項１６記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信チャネルを有する半導体装置における送受信データのバッファ制御技術に関し、例えば通信機能を有するマイクロコンピュータに適用して有効な技術に関する。
【背景技術】
【０００２】
複数の通信チャネルを中央処理装置（ＣＰＵ）の周辺機能として有するマイクロコンピュータにおいて、通信チャネルに対するＣＰＵによる通信条件の設定、通信チャネルに対する送信データの書き込み、通信チャネルによる受信データの読み込みを行うとき、通信チャネルが共通接続される内部バスを経由してＣＰＵが通信チャネルに対するアクセスを行い、或いはダイレクトメモリアクセスコントローラ（ＤＭＡＣ）が通信チャネルとデータメモリとの間のデータ転送を制御しなければならない。複数の通信チャネルを用いた通信を並列的に行う場合にはバス上においてデータ転送量が著しく増大する。特許文献１にはそのようなマイクロコンピュータの例としてオンチップデバッグエミュレータに適用されるものが示され、通信チャネルとして複数のシリアル通信回路を備え、個々のシリアル通信回路はそれぞれに専用の送信バッファと受信バッファを備える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２６０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明者は複数の通信チャネルにおける送受信データのバッファに対するＣＰＵやＤＭＡＣによるアクセスについて検討したところ以下の問題点を見出した。
【０００５】
複数の通信チャネルが共通接続されるバスのデータトラフィックと通信チャネルのバッファ容量に関する点である。通信チャネルが個々に送受信データのバッファを持つ場合には回路規模が無駄に大きくならないように個々の記憶容量は比較的小さくされている。シリアルコミュニケーションインタフェース（ＳＣＩＦ）などの通信チャネルの受信データに対してＣＰＵがコンペアや検索等の処理を行う場合には膨大な受信データをバスを介してＣＰＵが逐次受けとって処理しなければならない。受信データを大容量のデータメモリに逐次蓄積する場合も、逐次的に通信チャネルのバッファからメモリにデータ転送されることになり、データ転送チャネル毎にＤＭＡ転送制御チャネルを設けても、その点については変わりない。個々の通信チャネルのバッファではバスのデータトラフィックを一時的にでも緩和するだけの記憶容量を持つことが出来ないからである。逆に個々の通信チャネルのデータバッファの容量を大きくすると使用されない記憶領域の無駄が大きくなる。
【０００６】
受信データのステータス情報についても通信チャネル毎にバッファから読み出して管理しなければならないとすると、通信チャネルのバッファからデータを読み出す処理、読み出したデータの判別処理、及び判別処理結果を後続処理に反映される操作が必要になり、データ受信に関するＣＰＵ等による処理が煩雑になる。
【０００７】
本発明の目的は、通信用のデータバッファに記憶容量の無駄を生じ難く、通信データのバストラフィックを低減することが可能な半導体装置を提供することにある。
【０００８】
本発明の別の目的は、通信データに対する中央処理装置の処理負担を軽減することができる半導体装置を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、複数の通信チャネルを有する通信回路を内部バスにインタフェースするのに通信用ブリッジ回路を採用する。内部バスにはＣＰＵが接続されている。通信用ブリッジ回路には通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリを採用し、バッファメモリは一方においてバスインタフェース回路を介して内部バスにインタフェースされ、他方において通信チャネルインタフェース回路を介して通信回路にインタフェースされる。通信チャネルインタフェース回路は、内部バス経由でレジスタ回路に設定された通信チャネルバッファ領域の定義情報に基づいて、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う。
【００１２】
定義情報に従って通信チャネル毎に通信チャネルバッファ領域を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。例えばチャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対する中央処理装置の処理負担の軽減にもつながる。
【発明の効果】
【００１３】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【００１４】
すなわち、通信用のデータバッファに記憶容量の無駄を生じ難く、通信データのバストラフィックを低減することが可能である。
【００１５】
また、通信データに対する中央処理装置の処理負担を軽減することができる。
【図面の簡単な説明】
【００１６】
【図１】図は本発明の一実施の形態に係るマイクロコンピュータのブロック図である。
【図２】図２は通信用ブリッジ回路の具体例を示すブロック図である。
【図３】図３は送信動作と受信動作の詳細を例示するタイミングチャートである。
【図４Ａ】図４Ａは一部同一のデータを繰り返し送信する送信処理動作における送信データの配列を例示する説明図である。
【図４Ｂ】図４Ｂは図４Ａの配列データに対して容量可変のバッファメモリを用いることなくテンポラリ送信データバッファのようなバッファに逐次送信データをセットしてその都度送信を行う場合の動作タイミングの説明図である。
【図４Ｃ】図４Ｃは図４Ａの配列データに対して容量可変のバッファメモリを用いた本実施の形態の場合における送信動作タイミングの説明図である。
【図５】図５は図４Ｃのように一部固定データを含む６バイトのデータを繰り返し送信するときのＣＰＵによるバッファメモリへの通信データの書き込み動作手順を例示する動作説明図である。
【図６】図６は本発明の実施の形態２に係る通信用ブリッジ回路の具体例を示すブロック図である。
【図７】図７はバスインタフェース回路によるレジスタ設定に基づくコンペア動作を例示する説明図である。
【図８】図８は本発明の実施の形態３に係る通信用ブリッジ回路の具体例を示すブロック図である。
【図９】図９は拡張受信モードによる転送制御回路の動作を例示するフローチャートである。
【図１０】図１０は図９のシーケンスに基づくデータ受信動作のタイミングを例示するタイミングチャートである。
【発明を実施するための形態】
【００１７】
１．実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００１８】
〔１〕＜複数通信チャネルに対する容量可変の通信バッファをメモリにマッピング＞
本発明の代表的な実施の形態に係る半導体装置（１）は、内部バス（２８）と、前記内部バスに接続された中央処理装置（２５）と、複数の通信チャネルを有する通信回路（１１）と、前記通信回路を前記内部バスに接続する通信用ブリッジ回路（１０）とを有する。前記通信用ブリッジ回路は、前記内部バスに接続されるバスインタフェース回路（３１，３１Ａ，３１Ｂ）と、前記バスインタフェース回路に接続され前記通信チャネルに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリ（３２）と、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路（３３，３３Ｂ）と、前記バスインタフェース回路を介して前記通信チャネルバッファ領域の定義情報が設定され設定された定義情報を前記通信インタフェース回路に与えるレジスタ回路（３０，３０Ａ，３０Ｂ）とを有する。
【００１９】
定義情報に従って通信チャネル毎に通信チャネルバッファ領域を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。チャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対する中央処理装置の処理負担の軽減にもつながる。
【００２０】
〔２〕＜レジスタ回路のアドレスレジスタ及び通信ステータスレジスタ＞
項１の半導体装置において、前記通信インタフェース回路は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路（ＣＨＩＦ０〜ＣＨＩＦ４）と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路（４０，４０Ｂ）とを有する。前記レジスタ回路は、前記通信チャネル毎に、対応する通信チャネルバッファ領域のスタートアドレスを定義するスタートアドレスレジスタ（ＢＳＡＲＥＧ）及びエンドアドレスを定義するエンドアドレスレジスタ（ＢＥＡＲＥＧ）と、対応する前記通信チャネルインタフェース回路によって通信状態のステータス情報がセットされ前記中央処理装置によって参照可能にされるステータスレジスタ（ＳＴＲＥＧ）とを有する。
【００２１】
中央処理装置は、通信チャネルバッファ領域の受信データをリードして通信状態を判別しなくてもステータスレジスタにセットされたステータス情報を直接参照することができるから、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。この点においても、バストラフィックの低減と、中央処理装置の処理負担軽減に資することができる。
【００２２】
〔３〕＜割り込み要求ロジック＞
項２の半導体装置において、前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記中央処理装置に対する割り込み要求を出力する割り込み要求ロジック（５０，５０Ａ，５０Ｂ）を有する。
【００２３】
中央処理装置は割り込み要求の発生を待ってステータス情報を参照することができる。また、ステータス情報を参照することなく割り込み要求の要因に応じて受信データのリードなどの必要な処理を開始することが可能になる。
【００２４】
〔４〕＜ＤＭＡ転送要求ロジック＞
項２の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記ステータスレジスタに保持されたステータス情報に応じて前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック（５１，５１Ａ，５１Ｂ）を有する。
【００２５】
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリなどに転送する処理などを行うことができる。
【００２６】
〔５〕＜通信チャネルインタフェース回路に対する送信トリガ＞
項２の半導体装置において、前記バスインタフェース回路は、前記バッファメモリに対する書き込みアドレスが前記レジスタ回路に設定されたスタートアドレスに一致するとき、一致したスタートアドレスに対応される通信チャネルインタフェース回路に対して送信開始トリガ信号（ＴＲＳＴＲ）により送信開始を指示する。
【００２７】
通信インタフェース回路に対する送信開始のトリガを簡単なロジックによって生成することができる。
【００２８】
〔６〕＜通信チャネルインタフェース回路による通信チャネルバッファアクセス＞
項３の半導体装置において、前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ（ＲＡＣＵＮＴ）及び送信用アドレスカウンタ（ＴＡＣＵＮＴ）と、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファ（ＲＤＢＵＦ）と、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファ（ＴＤＢＵＦ）とを有する。前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御する。前記受信用アドレスカウンタ及び送信用アドレスカウンタには前記レジスタ回路からスタートアドレスが初期設定され、前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタの値が更新され、前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出し毎に前記送信用アドレスカウンタの値が更新される。
【００２９】
通信チャネルバッファ領域の割り当てに応じた通信チャネルインタフェース回路によるバッファメモリアクセスのためのアドレスポイント制御を容易に実現することができる。
【００３０】
〔７〕＜転送制御回路によるバッファメモリに対する時分割アクセスのタイミングスロット制御＞
項６の半導体装置において、前記転送制御回路は、テンポラリ受信バッファからバッファメモリへのデータ書き込みのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てると共に、バッファメモリからテンポラリ送信バッファへのデータ読み出しのタイミングスロットを全ての通信チャネルに順次時分割で対応させて割り当てる制御を行うタイミング制御回路（６０，６０Ｂ）と、前記タイミング制御回路によって割り当てられた書き込みのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファがデータ保持状態のとき当該テンポラリ受信バッファから入力した受信データを受け取ってバッファメモリに書き込み、また、前記タイミング制御回路によって割り当てられた読み出しのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファが空のときにバッファメモリから送信データを読み出して対応するテンポラリ送信バッファに転送する制御を行う転送プロトコルロジック回路（６１，６１Ｂ）とを有する。
【００３１】
通信回路によるデータの送受信速度に比べて通信用ブリッジ回路の動作速度が格段に高速な場合に、通信回路からテンポラリ受信バッファに供給された受信データを対応する通信チャネルバッファ領域に書き込むタイミングを時分割された既定スロットにより簡単に制御することができ、同様に、通信回路に供給する送信データを対応する通信チャネルバッファ領域から対応するテンポラリ送信バッファに書き込むタイミングを時分割された既定スロットにより簡単に制御することができる。
【００３２】
〔８〕＜アドレスカウンタの順次アドレス更新動作＞
項７の半導体装置において、前記通信チャネルインタフェース回路は、対応する通信チャネルバッファ領域からテンポラリ送信バッファへの送信データの読み出し毎に順次送信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させ、テンポラリ受信バッファから対応する通信チャネルバッファ領域への受信データの書き込み毎に順次受信用アドレスカウンタの値を更新してスタートアドレスからエンドアドレスまで変化させる。
【００３３】
送信データを通信チャネルバッファ領域から逐次テンポラリ送信バッファにリードし、また、受信データをテンポラリ受信バッファから逐次通信チャネルバッファにライトするためのバッファメモリアクセスのポイントアドレス生成論理を簡素化することができる。
【００３４】
〔９〕＜繰り返し送信における一部同一データに対する更新スキップ＞
項８の半導体装置において、前記中央処理装置は、前記レジスタ回路により定義された通信チャネルバッファ領域のデータを繰り返し送信するとき、最初の送信では当該通信チャネルバッファ領域の全領域に送信データを書き込んで送信を指示し、後続の送信では当該通信チャネルバッファ領域の一部の領域の送信データだけを更新して送信を指示する。
【００３５】
パケットのような単位で送信データを繰り返し送信するときそのパケットの先頭や末尾を示す固定コードを毎回付加するような場合に、中央処理装置が当該固定コードを毎回バッファメモリに書き込む手間を軽減することが出来る。
【００３６】
〔１０〕＜受信データに対するコンペア機能を備えたバスインタフェース＞
項１の半導体装置において、前記バスインタフェース回路（３１Ａ）は、前記バッファメモリに格納された受信データを比較対象データと比較し、比較結果を蓄積し、蓄積した比較結果を中央処理装置に参照可能にする。
【００３７】
バッファメモリに格納された受信データの全てをＣＰＵが参照しなくても、バスインタフェース回路によって蓄積された比較結果を参照して、必要な受信データだけをリードして処理することができ、中央処理装置の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。
【００３８】
〔１１〕＜コンペアデータ、コンペアアドレス領域及び比較結果のレジスタ＞
項１０の半導体装置において、前記制御レジスタ回路（３０Ａ）は、前記比較対象データが設定されるコンペアデータレジスタ（ＣＭＰＤＲＥＧ）、前記比較対象データと比較される受信データのバッファメモリ上のアドレス領域が設定されるコンペアアドレス領域指定レジスタ（ＣＭＯＳＡＲＥＧ，ＣＭＰＥＡＲＥＧ）、及び前記比較結果が蓄積されるコンペアリザルトレジスタ（ＣＭＰＲＳＬＴＲＥＧ）を有する。
【００３９】
比較対象データと比較される受信データの範囲を容易に可変にすることができる。
【００４０】
〔１２〕＜比較回数を保持するレジスタ＞
項１１の半導体装置において、前記制御レジスタ回路は更に、前記比較結果の比較一致回数を保持するコンペアカウントレジスタ（ＣＭＰＣＵＮＴＲＥＧ）を有する。
【００４１】
特定のコードが繰り返し出現する状態に着目したい場合などに容易に対応することができる。
【００４２】
〔１３〕＜割り込み要求ロジック＞
項１２の半導体装置において、前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記中央処理装置に割り込みを要求する割り込み要求ロジック（５０Ａ）を有する。
【００４３】
中央処理装置は割り込み要求の発生を待ってコンペアリザルトレジスタなどを参照し、又は、コンペアカウントレジスタが保持する比較一致回数に応じた割り込み処理を開始することが可能になる。
【００４４】
〔１４〕＜ＤＭＡ転送要求ロジック＞
項１２の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有し、
前記レジスタ回路は更に、前記コンペアカウントレジスタが保持する比較一致回数が所定回数に達したとき前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック（５１Ａ）を有する。
【００４５】
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリに転送する処理などを行うことができる。
【００４６】
〔１５〕＜受信データに対するコンペア機能を備えた通信チャネルインタフェース＞
項１の半導体装置において、前記通信インタフェース回路（３３Ｂ）は、前記通信チャネルに一対一対応される通信チャネルインタフェース回路（ＣＨＩＦ０〜ＣＨＩＦ４）と、前記通信チャネルインタフェース回路と前記バッファメモリとの間のデータ転送を制御する転送制御回路（４０Ｂ）とを有する。前記通信チャネルインタフェース回路は、前記バッファメモリに対するアクセスアドレスを生成する受信用アドレスカウンタ（ＲＡＣＵＮＴ）及び送信用アドレスカウンタ（ＴＡＣＵＮＴ）と、前記受信用アドレスカウンタによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファ（ＲＤＢＵＦ）と、前記送信用アドレスカウンタによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファ（ＴＤＢＵＦ）とを有する。前記転送制御回路は、前記受信用アドレスカウンタの値に基づいて前記テンポラリ受信バッファから対応する前記通信チャネルバッファへのデータの書き込みと前記送信用アドレスカウンタの値に基づいて対応する前記通信チャネルバッファから前記テンポラリ送信バッファへのデータの読み出しとを制御する。前記転送制御回路はさらに、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をＣＰＵに参照可能にする。
【００４７】
テンポラリ受信バッファに入力された受信データを予め比較対象データと比較した結果に基づいて受信データを確認して、必要な受信データだけを通信チャネルバッファに転送することができ、テンポラリ受信バッファに入力された受信データの全てを対応する通信チャネルバッファに転送しなくてもよく、さらには、不必要な受信データを予め整理するという意味で、中央処理装置の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。
【００４８】
〔１６〕＜受信データに対するコンペア機能を備えた通信チャネルインタフェース＞
項１５の半導体装置において、前記制御レジスタ回路（３０Ｂ）は、受信データと比較される比較対象データが設定されるコンペアデータレジスタ（ＣＭＰＲＤＲＥＧ）と、受信データと前記比較対象データとの比較結果に応じて受信データが書き込まれるメモリアドレスが設定されるコンペアポイントメモリアドレスレジスタ（ＣＭＰＭＡＲＥＧ）と、前記比較結果に応じてテンポラリ受信バッファに受信した受信データに対する動作形態が設定される分岐条件設定レジスタ（ＤＶＧＣＮＤＲＥＧ）とを複数組有する。前記転送制御回路（４０Ｂ）は、前記複数組のレジスタに設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリに格納する拡張受信モードを有する。
【００４９】
複数組のレジスタを通信チャネル毎に自由に使うことにより、テンポラリ受信バッファに入力した受信データに対する処理のシーケンスを可変に設定することが出来る。
【００５０】
〔１７〕＜割り込み要求ロジック＞
項１６の半導体装置において、前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記中央処理装置に割り込みを要求する割り込み要求ロジック（５０Ｂ）を有する。
【００５１】
中央処理装置はバッファメモリに書き込まれた受信データを割り込み要求の発生を待って参照することができ、又は、その割り込み要求に対応する割り込み要因に応じた割り込み処理を開始することが可能になる。
【００５２】
〔１８〕＜ＤＭＡ転送要求ロジック＞
項１６の半導体装置において、前記内部バスに接続されたダイレクトメモリアクセスコントローラを有する。前記レジスタ回路は更に、前記転送制御回路が前記分岐条件設定レジスタの設定に従って所定のコンペアポイントメモリアドレスレジスタで設定されたアドレスに受信データの書き込みを完了したとき、前記ダイレクトメモリアクセスコントローラにデータ転送要求を出力するデータ転送要求ロジック（５１Ｂ）を有する。
【００５３】
中央処理装置によるデータ転送処理を行わずにデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをデータメモリに転送する処理などを行うことができる。
【００５４】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００５５】
〔実施の形態１〕
図１には本発明の一実施の形態に係るマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ１は、特に制限されないが、ＣＭＯＳ集積回路製造技術によって単結晶シリコンのような１個の半導体基板に形成される。
【００５６】
マイクロコンピュータ１（ＭＣＵ）は、内部バス２８と、前記内部バス２８に接続された中央処理装置（ＣＰＵ）２５と、複数の通信チャネルを有する通信回路１１と、前記通信回路１１を前記内部バス２８に接続する通信用ブリッジ回路（ＣＯＭＢＲＤＧ）１０とを有する。通信回路１１には例えば外部デバイスとしての複数の通信デバイス（ＣＯＭＤＥＶ）２，３が接続される。通信回路１１は、特に制限されないが、通信チャネルとして複数個のシリアルコミュニケーションインタフェース（ＳＣＩ）チャネル（ＣＨ０〜ＣＨｎ）を有するシリアルコミュニケーションインタフェース回路で構成される。ＣＰＵ２５はプログラムに記述された命令を順次フェッチし、フェッチした命令を解読し、その解読結果に従ってアドレス演算やデータ演算などを行ってその命令を実行する。
【００５７】
前記内部バス２８にはその他に、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）２０，２２、データ転送コントローラ（ＤＴＣ）２２、割り込みコントローラ（ＩＮＴＣ）２１、タイマ（ＴＭＲ）２７、ＣＰＵ２５のワーク領域などに用いられるランダムアクセスメモリ（ＲＡＭ）２４、ＣＰＵ２５が実行するプログラムやデータなどを格納するリードオンリメモリ（ＲＯＭ）２６、外部バスインタフェース（ＥＸＩＦ）１２、及びメモリコントローラ（ＭＣＮＴ）１３を有する。
【００５８】
ＤＭＡＣ２０は、ＣＰＵ２５によって予めデータ転送制御のための制御データ（転送元アドレス、転送先アドレス、転送語数など）が設定され、例えば通信用ブリッジ回路１０からＤＭＡ転送要求信号ＤＲＥＱが供給されることによって、転送制御データで指定された転送条件に従ってデータ転送を開始する。
【００５９】
割り込みコントローラ２１は、通信用ブリッジ回路１０などから割り込み要求信号ＩＲＱが供給されると、割り込み優先レベルや割り込みマスクレベルに従った調停などを行って割り込み信号ＩＮＴをＣＰＵ２５に出力する。ＣＰＵ２５は割り込み信号ＩＮＴが供給されると、命令実行を終了して、復帰のために内部状態を退避し、その割り込み要求の割り込み要因に応ずる処理にプログラムフローを分岐する。
【００６０】
メモリコントローラ１３には、特に制限されないが、大容量のシンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）４が接続される。
【００６１】
前記通信回路１１が有するＳＣＩチャネルＣＨ０〜ＣＨｎはキャラクタ単位で同期をとる調歩同期方式でシリアルデータ通信を行う回路である。例えば１キャラクタは、先頭にスタートビット（ＳＴ）、末尾にストップビット（ＳＴ）、その間に８ビットのデータを有するビット構成にされる。
【００６２】
通信用ブリッジ回路１０は、前記内部バス２８に接続されるバスインタフェース回路（ＢＵＳＩＦ）３１、前記バスインタフェース回路３１に接続され前記通信チャネルＣＨ０〜ＣＨｎに一対一対応する通信チャネルバッファ領域が割り当てられるバッファメモリ（ＭＲＹ）３２、前記通信チャネルバッファ領域から対応する通信チャネルに与える送信データを読み出し且つ通信チャネルから与えられる受信データを対応する通信チャネルバッファ領域に書き込む制御を行う通信インタフェース回路（ＣＯＭＩＦ）３３、及び前記バスインタフェース回路３１を介して前記通信チャネルバッファ領域の定義情報が設定され、設定された定義情報を前記通信インタフェース回路３３に与えるレジスタ回路（ＣＲＥＧ）３０とを有する。バッファメモリ３２はデュアルポートを持つＲＡＭによって構成されるが、当該デュアルポートは並列アクセス可能なデュアルポート、又は時分割アクセス可能なデュアルポートのいずれであってもよい。
【００６３】
図２には通信用ブリッジ回路１０の具体例が示される。
【００６４】
通信回路１１のＳＣＩチャネルＣＨ０〜ＣＨｎ（ここではｎ＝４）は、特に制限されないが、通信インタフェース回路３３からキャラクタ単位で送信データをパラレルに受け取ってシリアルクロックＳＣＩＣＬＫに同期してシリアル出力端子ＳＯＵＴにシリアル出力する送信レジスタ回路ＴＲＥＧ、キャラクタ単位で受信データをシリアルクロックＳＣＩＣＬＫに同期してシリアル入力端子ＳＩＮから受け取って通信インタフェース３３にパラレルに出力する受信レジスタ回路ＲＲＥＧを有する。
【００６５】
通信インタフェース回路３３は、通信チャネルＣＨ０〜ＣＨ４に一対一対応される通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４と、前記通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４とバッファメモリ３２との間のデータ転送を制御する転送制御回路（ＴＲＣＮＴ）４０とを有する。
【００６６】
通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４のそれぞれは、バッファメモリ３２に対するアクセスアドレスを生成する受信用アドレスカウンタＲＡＣＵＮＴ及び送信用アドレスカウンタＴＡＣＵＮＴと、前記受信用アドレスカウンタＲＡＣＵＮＴによるアドレスカウント値毎に通信データを保持するテンポラリ受信バッファＲＤＢＵＦと、前記送信用アドレスカウンタＴＡＣＵＮＴによるアドレスカウント値毎に送信データを保持するテンポラリ送信バッファＴＤＢＵＦとを有する。通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４はシステムクロックＳＹＳＣＬＫに同期動作される。システムクロック信号ＳＹＳＣＬＫはシリアルクロック信号ＳＣＩＣＬＫに対して数倍以上の高い周波数とされる。
【００６７】
前記転送制御回路４０は、前記受信用アドレスカウンタＲＡＣＵＮＴの値に基づいて前記テンポラリ受信バッファＲＤＢＵＦからバッファメモリ３２上の対応する前記通信チャネルバッファへのデータの書き込み制御を行い、また、前記送信用アドレスカウンタＴＡＣＵＮＴの値に基づいてバッファメモリ３２上の対応する前記通信チャネルバッファからテンポラリ送信バッファＴＤＢＵＦへのデータの読み出し制御を行う。前記受信用アドレスカウンタＲＡＣＵＮＴ及び送信用アドレスカウンタＴＡＣＵＮＴにはレジスタ回路３０からスタートアドレスが初期設定され、テンポラリ受信バッファＲＤＢＵＦから対応する前記通信チャネルバッファへのデータの書き込み毎に前記受信用アドレスカウンタＲＡＣＵＮＴの値が更新され、通信チャネルバッファから前記テンポラリ送信バッファＴＤＢＵＦへのデータの読み出し毎に送信用アドレスカウンタＴＡＣＵＮＴの値が更新される。
【００６８】
レジスタ回路３０は、前記通信チャネルＣＨ０〜ＣＨ４のそれぞれに対応して、対応する通信チャネルバッファ領域のスタートアドレスを定義するスタートアドレスレジスタＢＳＡＲＥＧ、エンドアドレスを定義するエンドアドレスレジスタＢＥＡＲＥＧ、及び対応する前記通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４によって通信状態のステータス情報がセットされるステータスレジスタＳＴＲＥＧを、送信用と受信用に個別に備える。それらレジスタはＣＰＵ２５のアドレス空間に配置され、バスインタフェース回路３１を介してＣＰＵ２５が任意にデータを設定できるようになっている。それらレジスタＢＳＡＲＥＧ、ＢＥＡＲＥＧの定義情報に従ってＣＰＵ２５と通信インタフェース回路３３が把握する通信チャネルバッファ領域は、図２に例示されるように、通信チャネル毎に送信用と受信用に分けて割り当てられる。例えば、ＣＨＢＵＦ０＿Ｒは通信チャネルＣＨ０に割り当てられた受信データ用の通信チャネルバッファ、ＣＨＢＵＦ０＿Ｔは通信チャネルＣＨ０に割り当てられた送信データ用の通信チャネルバッファである。ＣＨＢＵＦ４＿Ｒは通信チャネルＣＨ４に割り当てられた受信データ用の通信チャネルバッファ、ＣＨＢＵＦ４＿Ｔは通信チャネルＣＨ４に割り当てられた送信データ用の通信チャネルバッファである。受信用バッファ領域と送信用バッファ領域とのサイズは同一でなくてよいことは言うまでもない。
【００６９】
レジスタ回路３０は更に、ステータスレジスタＳＴＲＥＧに保持されたステータス情報に応じてＣＰＵ２５に所定の割り込み処理を要求する割り込み要求信号ＩＲＱを出力する割り込み要求ロジック（ＩＲＱＬＧＣ）５０と、ステータスレジスタＳＴＲＥＧに保持されたステータス情報に応じてＤＭＡＣ２０にデータ転送要求信号ＤＲＥＱを出力するデータ転送要求ロジック（ＤＲＥＱＬＧＣ）５１を有する。
【００７０】
例えば割り込み要求ロジック５０はステータスレジスタＳＴＲＥＧに受信完了ステータスがセットされたとき割り込み要求信号をアサートし、受信完了による割り込み要因とその要因が発生した通信チャネル番号をＣＰＵ２５によって参照可能にする。したがって、ＣＰＵ２５は割り込み要求の発生を待ってステータス情報を参照することができ、また、ステータス情報を参照することなく割り込み要求の要因に応じて通信チャネルバッファ領域から受信データをリードする処理などの必要な処理を開始することができる。また、データ転送要求ロジック５１は、ステータスレジスタＳＴＲＥＧに受信完了ステータスがセットされたときデータ転送要求信号ＤＲＥＱをアサートし、ＤＭＡＣ２０は予め設定されているデータ転送制御条件に従ったＤＭＡ転送を開始して、受信データをＳＤＲＡＭ４などに転送する。図には割り込み要求信号ＩＲＱとデータ転送要求信号ＤＲＥＱをそれぞれ１個づつ代表的に図示しているが、割り込みコントローラ２１の許容範囲で複数の割り込み要求信号の出力機能を採用し、また、ＤＭＡＣ２０が持つＤＭＡ転送チャネルの数に応じて複数のデータ転送要求信号の出力機能を採用することも可能である。
【００７１】
尚、ＣＰＵ２５はポーリングなどによってステータスレジスタＳＴＲＥＧの内容を任意に参照することも可能である。
【００７２】
バスインタフェース回路３１は内部バス２８を介してＣＰＵ２５等にバッファメモリ３２及びレジスタ回路３０をリードアクセス及びライトアクセス可能にインタフェースする機能を備える。特に、この実施の形態では、内部バス２８を介してバッファメモリ３２に対する書き込みアドレスがレジスタ回路３０のスタートアドレスレジスタＢＳＡＲＥＧに予め設定されたスタートアドレスに一致するとき、一致したスタートアドレスに対応される通信チャネルインタフェース回路ＣＨＩＦ０〜ＣＨＩＦ４に対して送信開始トリガ信号ＴＲＳＴＲにより送信開始を指示する。例えばＣＰＵ２５が通信チャネルＣＨ０に対応する通信チャネルバッファ領域ＣＨＢＵＦ＿Ｔに送信データを順次書き込んで行き、最後に通信チャネルバッファ領域ＣＨＢＵＦ＿Ｔの先頭アドレスに対して送信データを書き込むと、そのアドレスが当該通信チャネルＣＨ０に対応するバッファスタートアドレスレジスタＢＳＡＲＥＧのアドレスと一致することにより、バスインタフェース回路３１は送信開始トリガ信号ＴＲＳＴＲを活性化する。転送制御回路４０はこれに応答して、通信チャネルインタフェース回路ＣＨＩＦ０の送信アドレスカウンタＴＡＣＵＮＴの初期アドレスを先頭に通信チャネルバッファ領域ＣＨＢＵＦ０＿Ｔからキャラクタ単位で送信データをテンポラリ送信データバッファＴＤＢＵＦに読み込んで、送信レジスタ回路ＴＲＥＧに与える。送信レジスタ回路ＴＲＲＥＧは送信データをシリアルクロックＳＣＩＣＬＫに同期して端子ＳＯＵＴにシリアル出力する。転送制御回路４０はこの操作を、送信アドレスカウンタＴＡＣＵＮＴのアドレス値が、転送チャネルＣＨ０に対応するバッファエンドアドレスレジスタＢＥＡＲＥＧが保有するメモリアドレスに到達するまで繰り返す。送信開始トリガ信号ＴＲＳＴＲは通信チャネルインタフェース回路毎に設けられた信号として位置付けられる。これにより、転送制御回路４０に対する送信処理動作開始のトリガを簡単なロジックによって生成することができる。
【００７３】
これに対して受信動作の場合、例えば通信チャネルＣＨ０の受信レジスタ回路ＲＲＥＧにキャラクタ単位で受信データが入力されると、１キャラクタ分の受信データが対応するチャネルインタフェース回路ＣＨＩＦ０のテンポラリ受信データバッファＲＤＢＵＦに転送され、この状態が転送制御回路４０に通知される。転送制御回路４０は、このテンポラリ受信データバッファＲＤＢＵＦに対応する受信アドレスカウンタＲＡＣＵＮＴの保持値が転送チャネルＣＨ０に対応する受信用のスタートアドレスレジスタが保持するアドレス値に一致するとき、これに応答して、通信チャネルインタフェース回路ＣＨＩＦ０の受信アドレスカウンタＲＡＣＵＮＴの初期アドレスを先頭に当該テンポラリ受信データバッファＲＤＢＵＦからキャラクタ単位で当該受信データを通信チャネルバッファ領域ＣＨＢＵＦ０＿Ｒに書き込む。転送制御回路４０はこの操作を、受信アドレスカウンタＲＡＣＵＮＴのアドレス値が、転送チャネルＣＨ０に対応する受信用のバッファエンドアドレスレジスタＢＥＡＲＥＧが保有するメモリアドレスに到達するまで繰り返す。これにより、転送制御回路４０に対する受信処理動作開始のトリガを簡単なロジックによって生成することができる。
【００７４】
図３には送信動作と受信動作の詳細なタイミングチャートが例示される。ここでは通信チャネルはＣＨ０〜ＣＨ７（ｎ＝７）の８個設けられているものとし、バッファメモリ３２に対する転送制御回路４０による時分割アクセスにおいてタイミングスロット制御を行う場合について説明する。
【００７５】
転送制御回路４０は、図２に例示されるように、タイミングスロットの割り当てを行うタイミング制御回路（ＴＭＧＣ）６０と、割り当てられたタイミングスロットでバッファメモリ３２のアクセスを行うか否かの制御を行う転送プロトコルロジック回路（ＰＲＴＣＬ）６１とを有する。更に詳しくは、タイミング制御回路６０は、テンポラリ受信バッファＲＤＢＵＦからバッファメモリ３２へのデータ書き込みのタイミングスロットを全ての通信チャネルＣＨ０〜ＣＨ７に順次時分割で対応させて割り当てると共に、バッファメモリ３２からテンポラリ送信バッファＴＤＢＵＦへのデータ読み出しのタイミングスロットを全ての通信チャネルＣＨ０〜ＣＨ７に順次時分割で対応させて割り当てる制御を行う。転送プロトコルロジック回路６１は、タイミング制御回路６０によって割り当てられた書き込みのタイミングスロットが到来したとき対応する通信チャネルインタフェース回路のテンポラリ受信バッファＲＤＢＵＦがデータ保持状態のとき当該テンポラリ受信バッファＲＤＢＵＦから入力した受信データを受け取ってバッファメモリ３２に書き込み、また、前記タイミング制御回路６０によって割り当てられた読み出しのタイミングスロットが訪れたとき対応する通信チャネルインタフェース回路のテンポラリ送信バッファＴＤＢＵＦが空のときにバッファメモリ３２から送信データを読み出して対応するテンポラリ送信バッファＴＤＢＵＦに転送する制御を行う。
【００７６】
上記タイミングスロット制御の前提は、通信回路１１によるシリアル送受信速度に対して通信インタフェース回路３３によるバッファメモリ３２のアクセス速度が格段に速いことである。図３の例では、１キャラクタ分のシリアル受信動作及びシリアル送信動作の何れの期間においても、ＣＨ０〜ＣＨ７の全通信チャネルに対するＣＯＭＩＦ３３からＭＲＹ３２への書き込みタイミングスロットの期間とＭＲＹ３２からＣＯＭＩＦ３３への読み出しタイミングスロットの期間とを確保できるようにされる。具体的には、１キャラクタ分に１バイトデータの受信時お呼び送信時の何れのタイミングも１６分割し、第１から第８分割までをバッファメモリ３２への書き込みタイミングスロットに割り当て、第９から第１６分割までをバッファメモリ３２からの読み出しタイミングスロットに割り当てる。これにより、ＣＯＭＩＦ３３は、夫々の通信チャネルによる１キャラクタ分のシリアル通信中に必ず１回バッファメモリ３２に対する書き込み及び読み出しのためのアクセス権を獲得することができる。これを充足するには、システムクロック信号ＳＹＳＣＬＫの周波数を送信動作を行う通信チャネルの数及び受信動作を行う通信チャネルの数の和で除した商がシリアルクロック信号ＳＣＩＣＬＫのクロック信号周波数よりも大きいことを満足すればよい。
【００７７】
図４Ａおよび図４Ｃには一部同一のデータを繰り返し送信する送信処理動作の例が示される。例えば図４Ａに例示されるように、固定送信データＡＡ、固定送信データＢＢ、任意送信データｄａｔａ０、任意送信データｄａｔａ１、固定送信データＣＣ、及び固定送信データＤＤを繰り返し送信する場合について説明する。このような一部同一のデータを繰り返し送信する送信処理であっても、本実施の形態のように容量可変のバッファメモリを用いることをしないでテンポラリ送信データバッファのようなバッファに逐次送信データをセットしてその都度送信を行う構成の場合には、図４Ｂに例示されるように、キャラクタ単位で前の送信の完了を確認して次の送信データをテンポラリ送信データバッファのようなバッファに書き込み処理を、固定データＡＡ，ＢＢ，ＣＣ，ＤＤを含めて６バイトの全データに対して毎回書き込まなければならない。これに対して本実施の形態の場合には、図４Ｃに例示されるように、最初の６バイトの送信ではバッファメモリ３２の所要の通信チャネルバッファ領域の全領域に送信データを書き込んで送信を指示し、後続の送信では当該通信チャネルバッファ領域の一部の可変データｄａｔａ０，ｄａｔａ１の領域の送信データだけを更新して送信を指示すればよい。当該通信チャネルバッファ領域から通信インタフェース回路３３を介してシリアル出力されるデータは、最初の６バイトデータも、次の６バイトデータもＡＡ，ＢＢ，ｄａｔａ０、ｄａｔａ１、ＣＣ，ＤＤになる。
【００７８】
パケットのような単位で送信データを繰り返し送信するときそのパケットの送信元や送信先などを示す固定コードを毎回付加するような場合に、ＣＰＵ２５が当該固定コードを毎回バッファメモリ３２に書き込む手間を軽減することが出来る。
【００７９】
図５には図４Ｃのように一部固定データを含む６バイトのデータを繰り返し送信するときのＣＰＵ２５によるバッファメモリ３２の所要の通信チャネルバッファ領域への通信データの書き込み動作手順が例示される。送信用の通信チャネルバッファ領域ＣＨＢＵＳ０＿ＴのアドレスＡ０〜Ａ５に６バイトのデータＡＡ，ＢＢ，ｄａｔａ０，ｄａｔａ１ＣＣ，ＤＤが格納されるものとする。この場合、ＣＰＵ２５による送信用の通信チャネルバッファ領域ＣＨＢＵＳ０＿ＴのアドレスＡ０〜Ａ５に対するデータの書き込み順は、第１回目の転送用（第１パケット）については、アドレスＡ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ０の順にデータＢＢ，ｄａｔａ０，ｄａｔａ１，ＣＣ，ＤＤ，ＡＡの書き込みとされる。最後に当該バッファ領域ＣＨＢＵＳ０＿Ｔの先頭アドレスＡ０（ＢＳＡＲＥＧの設定値に一致するアドレス）に対する書き込みが行われることによって送信開始トリガ信号ＴＲＳＴＲにより送信開始が指示され、転送チャネルインタフェース回路ＣＨＩＦ０の転送アドレスカウンタＴＡＣＵＮＴの初期値Ａ０から順次アドレスＡ５までのデータが順次バッファ領域ＣＨＢＵＳ０＿Ｔからテンポラリ送信バッファＴＤＢＵＦに読み出されて、順次データＡＡ，ＢＢ，ｄａｔａ０，ｄａｔａ１，ＣＣ，ＤＤが外部に送信される。第２回目（第２パケット送信）については、アドレスＡ２，Ａ３，Ａ０の順に可変データｄａｔａ０，ｄａｔａ１だけの書き込みが行われる。最後に当該バッファ領域ＣＨＢＵＳ０＿Ｔの先頭アドレスＡ０（ＢＳＡＲＥＧの設定値に一致するアドレス）に対する書き込みが行われたときは第１回目と同様に、送信開始トリガ信号ＴＲＳＴＲにより送信開始が指示され、転送チャネルインタフェース回路ＣＨＩＦ０の転送アドレスカウンタＴＡＣＵＮＴの初期値Ａ０から順次アドレスＡ５までのデータが順次バッファ領域ＣＨＢＵＳ０＿Ｔからテンポラリ送信バッファＴＤＢＵＦに読み出されて、順次データＡＡ，ＢＢ，ｄａｔａ０，ｄａｔａ１，ＣＣ，ＤＤが外部に送信される。第３回目（第３パケット送信）以降は第２回目と同様であり、必要に応じて可変データｄａｔａ０，ｄａｔａ１と送信トリガとされるアドレスＡ０への書き込みだけを繰り返せばよい。
【００８０】
上記実施の形態１によれば以下の作用効果を得ることができる。即ち、レジスタ回路３０に定義された情報に従って通信チャネルＣＨ０〜ＣＨｎ毎に通信チャネルバッファ領域（ＣＨＢＵＦ０＿Ｔ，ＣＨＢＵＦ０＿Ｒ…）を定義することができるから、通信チャネル毎にバッファを専用化して持つ場合に比べて、記憶容量に無駄を生ずることなく通信量の多い通信チャネルには大きな容量のバッファ領域を使用させることができる。チャネルバッファ領域の大きさの設定に応じてバス上における通信データのバストラフィックを制御することが可能になる。チャネルバッファ領域を大きく設定すれば、受信データの一次保持期間を長くすることが出来るので、その分だけバッファ領域からバスへのデータ出力間隔を長くすることができ、バストラフィックを低下させることが可能になる。このことは、処理速度という点で、通信データに対するＣＰＵ２５の処理負担の軽減にもつながる。
【００８１】
ＣＰＵ２５は、通信チャネルバッファ領域の受信データをリードして通信状態を判別しなくてもステータスレジスタＳＴＲＥＧにセットされたステータス情報を直接参照することができるから、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。同様に、ステータスレジスタＳＴＲＥＧの値に応じて割り込み要求信号ＩＲＱやデータ転送要求信号ＤＲＥＱの出力機能を備えることによっても、通信状態に応じて必要な受信データだけをリードして処理することが可能になる。これらの点においても、バストラフィックの低減と、ＣＰＵ２５の処理負担軽減に資することができる。
【００８２】
〔実施の形態２〕
図６には本発明の実施の形態２に係る通信用ブリッジ回路１０Ａの具体例が示される。図２に基づいて説明した通信用ブリッジ回路１０に対してレジスタ回路３０Ａの構成とバスインタフェース回路３１Ａの機能が相違され、バッファメモリ３２に格納された受信データに対してバスインタフェース回路３１Ａがレジスタ回路３０Ａの設定に基づいてコンペア機能を実現するものである。以下その相違点に係る構成について詳細を説明し、実施の形態１と同様の構成についてはその詳細な説明を省略する。
【００８３】
制御レジスタ回路３０Ａは、バッファメモリに格納された受信データとの比較対象にされる比較対象データが設定されるコンペアデータレジスタＣＭＰＤＲＥＧ、比較対象データと比較される受信データのバッファメモリ３２上のアドレス領域の先頭を指定するコンペアスタートアドレスレジスタＣＭＰＳＡＲＥＧ、そのアドレス領域の末尾を指定するコンペアエンドアドレスレジスタＣＭＰＥＡＲＥＧ、前記比較結果が蓄積されるコンペアリザルトレジスタＣＭＰＲＳＬＴＲＥＧ、及び前記比較結果の比較一致回数を保持するコンペアカウントレジスタＣＭＰＣＵＮＴＲＥＧを有する。それらレジスタは他のレジスタ同様にバスインタフェース回路３１Ａを介して内部バス２８からアクセス可能にＣＰＵ２５のアドレス空間に配置される。ＣＰＵ２５は目的とする通信チャネルからの受信データが対応する通俊チャネルバッファ領域に格納されてそのステータスレジスタが通信完了にセットされるのを参照して、若しくはそのステータスレジスタが通信完了にセットされることによって発生される割り込み要求信号ＩＲＱによる割り込み要求に応答して、前記レジスタＣＭＰＳＡＲＥＧ、ＣＭＰＥＡＲＥＧ、ＣＭＰＤＲＥＧに書き込みを行う。
【００８４】
バスインタフェース回路３１Ａは、例えばレジスタレジスタＣＭＰＤＲＥＧに対するデータ書き込みの完了を検出して比較動作を開始し、レジスタＣＭＰＳＡＲＥＧで指定されるメモリアドレスを起点にレジスタＣＭＰＥＡＲＥＧで指定されるメモリアドレスまでの範囲の受信データをレジスタＣＭＰＤＲＥＧのデータと順次比較し、レジスタＣＭＰＲＳＬＴＲＥＧにはその比較結果と共にその受信データのアドレスなどの比較条件などを格納し、レジスタＣＭＰＣＵＮＴＲＥＧには比較一致回数を累積していく。
【００８５】
これにより、バッファメモリ３２に格納された受信データの全てをＣＰＵ２５が参照しなくても、バスインタフェース回路３１Ａによって蓄積された比較結果をレジスタＣＭＰＲＳＬＴＲＥＧ，ＣＭＰＣＵＮＴＲＥＧから参照して、必要な受信データだけをリードして処理することができ、ＣＰＵ２５の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。レジスタＣＭＰＣＵＮＴＲＥＧの計数値を参照することにより、特定のコードが繰り返し出現する状態に着目したい場合などに容易に対応することができる。
【００８６】
特に、レジスタ回路３０Ａが保有する割り込み要求ロジック（ＩＲＱＬＧＣ）５０Ａは図２の割り込み要求ロジック５０に比べ、コンペアカウントレジスタＣＭＰＣＵＮＴＲＥＧが保持する比較一致回数が所定回数に達したときＣＰＵ２５に割り込み要求信号ＩＲＱをアサートすると共にその割り込み要因を参照可能にする割り込み要求生成機能が追加されている。これによりＣＰＵ２５は、割り込み要求の発生を待ってコンペアリザルトレジスタＣＭＰＲＳＬＴＲＥＧなどを参照し、又は、コンペアカウントレジスタＣＭＰＣＵＮＴＲＥＧが保持する比較一致回数に応じた割り込み処理を開始することが可能になる。
【００８７】
更に、レジスタ回路３０Ａが保有するデータ転送要求ロジック（ＤＲＥＱＬＧＣ）５１Ａは図２のデータ転送要求ロジック５１に比べ、コンペアカウントレジスタがＣＭＰＣＵＮＴＲＥＧ保持する比較一致回数が所定回数に達したときＤＭＡＣ２０にデータ転送要求信号ＤＲＥＱを出力するデータ転送要求機能が追加されている。これにより、ＣＰＵ２５によるデータ転送処理を行わずに要求信号ＤＲＥＱによるデータ転送要求を待ってダイレクトメモリアクセスが起動されることにより必要な受信データをＳＤＲＡＭ４に転送する処理などを行うことができる。
【００８８】
図７にはバスインタフェース回路３１Ａによるレジスタ回路３０Ａの設定に基づくコンペア動作が例示される。ここでは通信チャネルＣＨ４に対応する通信チャネルバッファ領域ＣＨＢＵＦ４＿Ｒに格納された受信データを比較処理の対象とする場合が例示される。通信チャネルバッファ領域ＣＨＢＵＦ４＿Ｒに割り当てられたアドレスは１０００番地乃至１１００番地である。レジスタＣＭＰＳＡＲＥＧには１０００番地、レジスタＣＭＰＥＡＲＥＧには１１００番地が設定され、レジスタＣＭＰＤＲＥＧにはＨ’ＡＡＡが設定されるものとする。レジスタＣＭＰＤＲＥＧにデータＨ’ＡＡＡが書き込まれると比較処理が開始され、通信チャネルバッファ領域ＣＨＢＵＦ４＿Ｒの１０００番地から１１００番地の間でデータＨ’ＡＡＡを参照したとき、比較結果とそのアドレスなどをコンペアリザルトレジスタＣＭＰＲＳＬＴＲＥＧに逐次格納し、コンペアカウントレジスタＣＭＰＣＵＮＴＲＥＧには一致回数が累積される。ＣＰＵ２５はコンペアリザルトレジスタＣＭＰＲＳＬＴＲＥＧやコンペアカウントレジスタＣＭＰＣＵＮＴＲＥＧを参照して通信チャネルバッファ領域ＣＨＢＵＦ４＿Ｒから必要な受信データをアクセスし、又は割り込み要求に応答してＣＰＵ２５が通信チャネルバッファ領域ＣＨＢＵＦ４＿Ｒを参照し、或いはデータ転送要求に応答してＤＭＡＣ２０が通信チャネルバッファ領域ＣＨＢＵＦ４＿ＲのデータをＳＤＲＡＭ４に転送する処理などを行う。
【００８９】
〔実施の形態３〕
図８には本発明の実施の形態３に係る通信用ブリッジ回路１０Ｂの具体例が示される。
【００９０】
図２に基づいて説明した通信用ブリッジ回路１０に対してレジスタ回路３０Ｂ、バスインタフェース回路３１Ｂ、及び転送制御回路４０Ｂの機能が相違され、テンポラリ受信バッファＲＤＢＵＦに入力した受信データに対して転送制御回路４０Ｂがレジスタ回路３０Ｂの設定に基づいてコンペア機能を実現するものである。以下その相違点に係る構成について詳細を説明し、実施の形態１と同様の構成についてはその詳細な説明を省略する。
【００９１】
前記制御レジスタ回路３０Ｂには、受信データと比較される比較対象データが設定されるコンペアデータレジスタＣＭＰＲＤＲＥＧと、受信データと前記比較対象データとの比較結果に応じて受信データが書き込まれるメモリアドレスが設定されるコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧと、前記比較結果に応じてテンポラリ受信バッファに受信した受信データに対する動作形態が設定される分岐条件設定レジスタＤＶＧＣＮＤＲＥＧとを複数組、例えばレジスタブロックＲＢＬＫ０とレジスタブロックＲＢＬＫ１との２組が追加されている。
【００９２】
転送制御回路４０Ｂには、前記テンポラリ受信バッファに受信した受信データを比較対象データと比較し、比較結果に応じた受信データの通信チャネルバッファ領域への書き込み動作に遷移し、遷移された書き込み動作の結果をＣＰＵに参照可能にする機能が追加され、例えば、前記複数組のレジスタブロックＲＢＬＫ０，ＲＢＬＫ１に設定された設定値に従って、受信データのうち所要の受信データを選択して前記バッファメモリ３２に格納する拡張受信モードが追加されている。
【００９３】
図９には拡張受信モードによる転送制御回路４０Ｂの動作が例示される。テンポラリ受信バッファＲＤＢＵＦにデータが受信されると、その受信データがレジスタブロックＲＢＬＫ０のコンペアデータレジスタＣＭＰＲＤＲＥＧ[RBLK0]のデータに一致するか否かが判別され（Ｓ１)、一致が判別されると、その受信データがレジスタブロックＲＢＬＫ０のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧ[RBLK0]で指定されるバッファメモリ３２上のアドレスに書き込まれ、且つ、そのアドレスが受信アドレスカウンタＲＡＣＵＮＴにプリセットされて＋１インクリメントされる（Ｓ２）。この動作の次に、レジスタブロックＲＢＬＫ０の分岐条件設定レジスタＤＶＧＣＮＤＲＥＧ[RBLK0]が示す処理への遷移が指示される（Ｓ３）。
例えば、テンポラリ受信バッファＲＤＢＵＦの受信データに対する判別処理対象がレジスタブロックＲＢＬＫ１のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧ[RBLK0]のアドレスに変更する指示とされる。その指示に従った受信アドレスカウンタＲＡＣＵＮＴに対する一致判別が行われ（Ｓ４A）、一致するまで、テンポラリ受信バッファＲＤＢＵＦの受信データをアドレスカウンタＲＡＣＵＮＴのカウント値に従ってバッファメモリ３２に格納し（Ｓ５）、一致が判別されると、たとえば、その受信データがレジスタブロックＲＢＬＫ１のコンペアデータレジスタＣＭＰＲＤＲＥＧ[RBLK１]のデータに一致するか否かが判別され（Ｓ４B)、一致が判別されると、その受信データがレジスタブロックＲＢＬＫ１のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧ[RBLK1]で指定されるバッファメモリ３２上のアドレスに書き込まれ（Ｓ６）、この動作の次に、レジスタブロックＲＢＬＫ１の分岐条件設定レジスタＤＶＧＣＮＤＲＥＧ[RBLK1]が示す処理への遷移が指示される（Ｓ７）。例えば、受信処理を終了する。
【００９４】
ステップＳ２で初めて受信データをバッファメモリ３２に書き込んだ後のステップＳ３における動作遷移指示では、所定のステータスレジスタＳＴＲＥＧに受信開始のステータス情報をセットさせ、これによって制御レジスタ回路３０ＢにＣＰＵ２５への受信開始の割り込みを要求させてもよい。同様に、ステップＳ６で目的の受信データをバッファメモリ３２に書き込んだ後のステップＳ７における動作遷移指示では、所定のステータスレジスタＳＴＲＥＧに受信完了のステータス情報をセットさせ、これによって制御レジスタ回路３０ＢにＣＰＵ２５への受信開始の割り込みを要求させ、或いはＤＭＡＣ２０に受信データのデータ転送を要求させてもよい。
【００９５】
図１０には図９のシーケンスに基づくデータ受信動作のタイミングチャートが示される。
【００９６】
レジスタブロックＲＢＬＫ０のコンペアデータレジスタＣＭＰＲＤＲＥＧ[RBLK0]にはＣＣがセットされ、レジスタブロックＲＢＬＫ０のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧ[RBLK0]には１００番地がセットされ、レジスタブロックＲＢＬＫ０１のコンペアデータレジスタＣＭＰＲＤＲＥＧ[RBLK1]にはＤＤがセットされ、レジスタブロックＲＢＬＫ１のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧ[RBLK1]には１０４番地がセットされる。レジスタブロックＲＢＬＫ０の分岐条件設定レジスタＤＶＧＣＮＤＲＥＧ[RBLK0]には図9のステップＳ４A，Ｓ４B，Ｓ５，Ｓ６およびＳ１の条件が設定される。レジスタブロックＲＢＬＫ１の分岐条件設定レジスタＤＶＧＣＮＤＲＥＧ[RBLK1]には受信処理終了の条件が設定される。これにより、図１０の例では、受信データの一部である所要の受信データＣＣ、ｄａｔａ１、ｄａｔａ２、ｄａｔａ３、ＤＤだけをバッファメモリ３２の１００番地〜１０４番地に格納して受信処理を終了することができる。
【００９７】
これによれば、テンポラリ受信バッファＲＤＢＵＦに入力された受信データを予め比較対象データと比較した結果に基づいて受信データを確認して、必要な受信データだけを通信チャネルバッファに転送することができ、テンポラリ受信バッファＲＤＢＵＦに入力された受信データの全てをバッファメモリ３２上の対応する通信チャネルバッファ領域に転送しなくてもよく、さらには、不必要な受信データを予め整理するという意味で、ＣＰＵ２５の負担軽減、バストラフィックの低減、更には受信データに対するデータ処理効率の向上に資することができる。レジスタブロックＲＢＬＫ０，ＲＢＬＫ１に代表される複数組のレジスタを通信チャネル毎に自由に使うことにより、テンポラリ受信バッファＲＤＢＵＦに入力した受信データに対する処理のシーケンスを可変に設定することができる。
【００９８】
特に、制御レジスタ回路３０Ｂが保有する割り込み要求ロジック（ＩＲＱＬＧＣ）５０Ｂは図２の割り込み要求ロジック５０に比べ、前記転送制御回路４０Ｂが前記分岐条件設定レジスタＤＶＧＣＮＤＲＥＧの設定に従って所定のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧで設定されたアドレスに受信データの書き込みを完了したとき、ＣＰＵ２５に割り込みを要求する割り込み要求信号ＩＲＱとその割り込み要因を出力する機能が追加されている。これにより、ＣＰＵ２５はバッファメモリ３２に書き込まれた受信データを割り込み要求の発生を待って参照することができ、又は、その割り込み要求に対応する割り込み要因に応じた割り込み処理を開始することが可能になる。
【００９９】
更に、レジスタ回路３０Ｂが保有するデータ転送要求ロジック（ＤＲＥＱＬＧＣ）５１Ｂは図２のデータ転送要求ロジック５１に比べ、前記転送制御回路５１Ｂが前記分岐条件設定レジスタＤＶＧＣＮＤＲＥＧの設定に従って所定のコンペアポイントメモリアドレスレジスタＣＭＰＰＭＡＲＥＧで設定されたアドレスに受信データの書き込みを完了したとき、ＤＭＡＣ２０にデータ転送要求信号ＤＲＥＱを出力する機能が追加されている。これにより、ＣＰＵ２５によるデータ転送処理を行わずに、データ転送要求を待ってＤＭＡ転送が起動されることにより必要な受信データをＳＤＲＡＭ４に転送する処理などを行うことができる。
【０１００】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１０１】
例えば、実施の形態１から３を組み合わせて一つの半導体装置を実現することも可能である。
【０１０２】
通信チャネルインタフェース回路は送受信別々のダブルバッファに限定されない。通信チャネルバッファ領域も同様である。それらの場合には、送受信タイミングに応じてダイナミックに機能切換えを行えばよい。
【０１０３】
実施の形態２で説明した受信データに対するコンペア機能を備えたバスインタフェースのためのコンペアスタートメモリレジスタなどのレジスタは転送チャネル毎に設けてもよい。実施の形態３で説明したレジスタブロックＲＢＬＫ０，ＲＢＬＫ１の数は２に限定されず、それ以上であってもよい。多いほど複雑な分岐条件の設定が可能になる。
【０１０４】
アドレス領域が設定されるアドレス領域指定レジスタはスタートアドレスとエンドアドレスで指定する構成に限定されず、スタートアドレス及び領域サイズで指定してもよい。
【０１０５】
通信回路はＳＣＩに限定されず、その他のシリアル通信を行う回路、更にはパラレル通信を行う通信回路などに用いる回路であってよい。
【０１０６】
バスインタフェース回路のコンペア機能に用いるレジスタ（ＣＭＰＡＳＲＥＧ，ＣＭＰＥＡＲＥＧ，ＣＭＰＤＲＥＧ，ＣＭＰＲＳＬＴＲＥＧ，ＣＭＰＣＵＮＴＲＥＧ）は通信チャネル毎に設けてもよい。
【符号の説明】
【０１０７】
１  マイクロコンピュータ（ＭＣＵ）
２８  内部バス
２５  中央処理装置（ＣＰＵ）
１１  通信回路
１０  通信用ブリッジ回路（ＣＯＭＢＲＤＧ）
２０  ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）
２１  割り込みコントローラ（ＩＮＴＣ）
３１  バスインタフェース回路（ＢＵＳＩＦ）
ＣＨ０〜ＣＨｎ  通信チャネル
３２  バッファメモリ（ＭＲＹ）
３３  通信インタフェース回路（ＣＯＭＩＦ）
３０  レジスタ回路（ＣＲＥＧ）
ＳＣＩＣＬＫ  シリアルクロック
ＴＲＥＧ  送信レジスタ回路
ＲＲＥＧ  受信レジスタ回路
４０  転送制御回路（ＴＲＣＮＴ）
ＲＡＣＵＮＴ  受信用アドレスカウンタ
ＴＡＣＵＮＴ  送信用アドレスカウンタ
ＴＤＢＵＦ  テンポラリ送信バッファ
ＣＨＩＦ０〜ＣＨＩＦ４  通信チャネルインタフェース回路
ＳＹＳＣＬＫ  システムクロック
ＢＳＡＲＥＧ  スタートアドレスレジス
ＢＥＡＲＥＧ  エンドアドレスレジスタ
ＳＴＲＥＧ  ステータスレジスタ
ＣＨＢＵＦ０＿Ｒ  受信データ用の通信チャネルバッファ
ＣＨＢＵＦ０＿Ｔ  送信データ用の通信チャネルバッファ
ＩＲＱ  割り込み要求信号
５０  割り込み要求ロジック（ＩＲＱＬＧＣ）
５１  データ転送要求ロジック（ＤＲＥＱＬＧＣ）
６０  タイミング制御回路（ＴＭＧＣ）
６１  転送プロトコルロジック回路（ＰＲＴＣＬ）
ＣＭＰＤＲＥＧ  コンペアデータレジスタ
ＣＭＰＳＡＲＥＧ  コンペアスタートアドレスレジスタ
ＣＭＰＥＡＲＥＧ  コンペアエンドアドレスレジスタ
ＣＭＰＲＳＬＴＲＥＧ  コンペアリザルトレジスタ
ＣＭＰＣＵＮＴＲＥＧ  コンペアカウントレジスタ
ＣＭＰＲＤＲＥＧ  コンペアデータレジスタ
ＣＭＰＰＭＡＲＥＧ  コンペアポイントメモリアドレスレジスタ
ＤＶＧＣＮＤＲＥＧ  分岐条件設定レジスタ
ＲＢＬＫ０、ＲＢＬＫ１  レジスタブロック
【図１】
2012150656.tif 000003
【図２】
2012150656.tif 000004
【図３】
2012150656.tif 000005
【図４Ａ】
2012150656.tif 000006
【図４Ｂ】
2012150656.tif 000007
【図４Ｃ】
2012150656.tif 000008
【図５】
2012150656.tif 000009
【図６】
2012150656.tif 000010
【図７】
2012150656.tif 000011
【図８】
2012150656.tif 000012
【図９】
2012150656.tif 000013
【図１０】
2012150656.tif 000014