(57)【要約】【課題】ホストからの操作性を失うことなく無駄な領域を省く。【解決手段】ホスト２との間でパラメータ入出力処理を行なう外部ホストインターフェース５０の管理する外部パラメータ群ａ０（５１−１）、ａ１（５１−２）、・・・、ａ３（５１−４）は、セッション処理ブロック４０のセッション数分設けられる。一方、内部インターフェース６０の管理する内部パラメータ群ｂ０（６１−１）、ｂ１（６１−２）は、セッションが同時に動作可能な最大の数に応じて設けられる。パラメータＩ／Ｏ制御ブロック３０は、任意の外部パラメータ群にセッションの起動要求が設定された場合には、他の外部パラメータ群に接続されていない内部パラメータ群があれば、この内部パラメータ群と外部パラメータ群とを接続し、ホスト２とセッション処理ブロック４０間のパラメータ交換を可能にする。【選択図】        図１
2004265282.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置において、
前記処理ブロックの数に応じて設けられ、前記上位装置に対して前記パラメータの入出力処理を行なう外部インターフェース部と、
前記処理ブロックが同時に動作可能な最大の数に応じて設けられ、前記処理ブロックに対して前記パラメータの入出力処理を行なう内部インターフェース部と、
前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、他の前記外部インターフェース部に接続されていない前記内部インターフェース部があれば該内部インターフェース部と前記外部インターフェース部とを接続する接続制御部と、
を具備することを特徴とする半導体装置。
【請求項２】
前記接続制御部に前記外部インターフェース部と前記内部インターフェース部の接続を管理する接続状況管理テーブルを設け、
前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、前記接続状況管理テーブルを用いて未使用が設定されている前記内部インターフェース部を検索し、検出された前記内部インターフェース部と前記起動要求が入力した前記外部インターフェース部とを接続するとともに、対応する前記接続状況管理テーブルに前記内部インターフェース部が使用されていることを登録する接続手段と、
前記外部インターフェース部を介して前記処理ブロックの終了要求が入力した場合、前記接続状況管理テーブルを用いて前記外部インターフェース部に接続されている前記内部インターフェース部を検索し、検出された前記内部インターフェース部と前記起動要求が入力した前記外部インターフェース部との接続を解除するとともに、対応する前記接続状況管理テーブルに前記内部インターフェース部が未使用となったことを登録する接続解除手段と、
を有することを特徴とする請求項１記載の半導体装置。
【請求項３】
前記接続状況管理テーブルは、
前記外部インターフェース部に関連付けて接続状況を管理する第１の接続状況管理テーブルと、
前記内部インターフェース部に関連付けて接続状況を管理する第２の接続状況管理テーブルと、
を有することを特徴とする請求項２記載の半導体装置。
【請求項４】
前記外部インターフェース部は、前記処理ブロックに対応して、前記処理ブロックの前記パラメータが設定される領域を前記上位装置から読み書きが可能な記憶手段に確保していることを特徴とする請求項１記載の半導体装置。
【請求項５】
前記内部インターフェース部は、前記処理ブロックが同時に動作可能な最大の数に対応して、起動された前記処理ブロックの前記パラメータが設定される領域を前記処理ブロックから読み書きが可能な記憶手段に確保していることを特徴とする請求項１記載の半導体装置。
【請求項６】
上位装置と、前記上位装置から入力するパラメータに基づいて所定の処理を実行する半導体装置の処理ブロックと、の間の前記パラメータの入出力処理を制御する入出力制御方法において、
前記処理ブロックの数に応じて設けられた外部インターフェース部に対して、前記上位装置から設定された前記パラメータを検出し、
検出された前記パラメータが前記処理ブロックの起動要求であった場合に、前記処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インターフェース部が使用中であるかどうかを判断し、使用中でなければ該内部インターフェース部と前記パラメータが設定された前記外部インターフェース部とを接続して前記上位装置と前記処理ブロック間での前記パラメータの入出力を可能とし、
検出された前記パラメータが前記処理ブロックの終了要求であった場合に、該外部インターフェース部と、前記外部インターフェース部に接続する前記内部インターフェース部との接続を解除して前記上位装置と前記処理ブロック間での前記パラメータの入出力を終了させる手順を有することを特徴とする入出力制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置および入出力制御方法に関し、特に上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置およびその入出力制御方法に関する。
【０００２】
【従来の技術】
従来、１チップの中に、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、メモリ、Ｉ／Ｏ（Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ）インターフェース等が搭載され、ひとつのシステムを構成するような半導体装置がある。
【０００３】
このような半導体装置では、外部（上位）との間でデータ交換を行なう外部（上位）インターフェース部と、所定の処理を行なう処理ブロックとの間でデータ交換を行なう内部インターフェース部と、を有している。そして、１対１に対応して接続される外部インターフェース部と内部インターフェース部とを介して、外部（上位）装置から所望の処理ブロックを実行させる仕組みを備えている。
【０００４】
図１２は、従来の半導体装置の構成図である。
半導体装置１は、外部のホスト２からアクセス可能なパラメータＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域１０と、内部のセッション処理ブロック４０が用いるプログラムＲＡＭ領域２０とを有する。パラメータＲＡＭ領域１０には、外部パラメータ群領域ａ０（１５−１）、ａ１（１５−２）、・・・、ａｎ（１５−３）が設けられており、外部ホストインターフェース５０によって管理されている。ここで、ｎは任意の整数とする。一方、プログラムＲＡＭ領域２０には、内部パラメータ群領域ｂ０（２５−１）、ｂ１（２５−２）、・・・、ｂｎ（２５−３）が設けられており、内部インターフェース６０によって管理されている。パラメータ群は、ホスト２およびセッション処理ブロック４０間で交換される入出力データあるいは動作指示等のパラメータの集まりであり、機能処理単位であるセッションごとに用意されている。
【０００５】
従来、外部パラメータ群領域と内部パラメータ群領域とは１対１に対応しており、図の例では、外部パラメータ群ａ０（１５−１）は、内部パラメータ群ｂ０（２５−１）に対応し、同様にａ１（１５−２）はｂ１（２５−２）に、ａｎ（１５−３）はｂｎ（２５−３）に対応する。このため、パラメータＲＡＭ領域１０およびプログラムＲＡＭ領域２０の外部パラメータ群および内部パラメータ群は、同じ数、すなわちエントリ可能なセッション数あるいは最大同時動作可能なセッション数分の領域が用意されていた。
【０００６】
エントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、セッションごとにパラメータ群の領域が用意される。ホスト２は、セッションに対応するパラメータ群の領域にデータを設定することにより、セッション処理ブロック４０の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は別に管理されており、このセッション数を超えてセッションの起動要求があった場合には、この要求を拒否していた。
【０００７】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群領域は、セッションで共有することになる。このため、セッションとパラメータ群の領域とは対応せず、ホスト２はパラメータ群領域を使用しているセッションを常に考慮してセッション処理ブロック４０の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は、パラメータ群領域がすべて使用されているかどうかでホスト２が管理することができ、パラメータ群領域がすべて使用されている場合は、新たなセッション起動要求は行なわれない。
【０００８】
また、このように複数の上位インターフェース間の排他処理を行なう手法として、複数の上位インターフェースが共用するＩ／Ｏデバイスの管理を行なうＩ／Ｏサブシステムにおいて、Ｉ／Ｏサブシステムの取り得る最大構成に合わせて固定的に領域を割り当てるのではなく、上位インターフェースの各々に論理パス番号を割り当て、論理パス番号によって資源の利用を管理する手法がある（例えば、特許文献１参照）。
【０００９】
【特許文献１】
特開平７−８４９３６号公報
【００１０】
【発明が解決しようとする課題】
しかし、従来のパラメータ群を用いて入出力制御を行なう半導体装置およびその入出力制御方法では、メモリ効率あるいはホストからの操作性のいずれかを犠牲にしなければならないという問題がある。
【００１１】
上記の説明のエントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、ホスト２側から見るとセッションと外部パラメータ群とが１対１に対応するため、あるセッションに対する設定を行なう場合には常に同一の外部パラメータ群領域にアクセスすればよい。しかしながら、ある時点で実際に使用されるパラメータ群領域の最大は、最大同時動作可能なセッション数分だけであるため、他の領域が無駄になってしまうという問題がある。特に、最大同時動作可能なセッション数に比べてエントリ可能なセッション数の数が大きい場合、多量の無駄なメモリ領域を確保しなければならず、メモリ効率を悪化させる要因となる。
【００１２】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群の領域は共用体であるため、使用されない無駄な領域を生じないという利点がある。しかしながら、ホスト２側から見るとセッションと外部パラメータ群とが１対１に対応しないため、あるセッションに対する設定を行なう場合、処理ごとにアクセスするアドレスが異なるという事態が発生する。このように、セッションの種類によって、同一のアドレスに意味の異なるパラメータが割り当てられてしまうため、操作性が悪くなる他、デバッグが困難になるという問題がある。
【００１３】
本発明はこのような点に鑑みてなされたものであり、ホストからの操作性を失うことなく無駄な領域を省くことが可能な半導体装置およびその入出力制御方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明では上記課題を解決するために、上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置において、前記処理ブロックの数に応じて設けられ、前記上位装置に対して前記パラメータの入出力処理を行なう外部インターフェース部と、前記処理ブロックが同時に動作可能な最大の数に応じて設けられ、前記処理ブロックに対して前記パラメータの入出力処理を行なう内部インターフェース部と、前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、他の前記外部インターフェースに接続されていない前記内部インターフェース部があれば該内部インターフェース部と前記外部インターフェース部とを接続する接続制御部と、を具備することを特徴とする半導体装置、が提供される。
【００１５】
このような構成の半導体装置では、上位装置との間でパラメータ入出力処理を行なう外部インターフェース部は、所定の処理機能を実現する半導体装置内部の処理ブロックの数に応じて設けられる。一方、処理ブロックとの間でパラメータ入出力処理を行なう内部インターフェース部は、処理ブロックが同時に動作可能な最大の数に応じて設けられる。このため、処理ブロック数と同時の動作可能な最大の処理ブロック数とが同じでない限り、外部インターフェース部と内部インターフェース部は、１対１には対応していない。そこで、接続制御部は、外部インターフェース部を介して処理ブロックの起動要求が入力された場合には、他の外部インターフェース部に接続されていない内部インターフェース部があれば、この内部インターフェース部と要求のあった外部インターフェース部とを接続し、上位装置と半導体装置内部の処理ブロック間のパラメータ交換を可能にする。
【００１６】
また、上記課題を解決するために、上位装置と、前記上位装置から入力するパラメータに基づいて所定の処理を実行する半導体装置の処理ブロックと、の間の前記パラメータの入出力処理を制御する入出力制御方法において、前記処理ブロックの数に応じて設けられた外部インターフェース部に対して、前記上位装置から設定された前記パラメータを検出し、検出された前記パラメータが前記処理ブロックの起動要求であった場合に、前記処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インターフェース部が使用中であるかどうかを判断し、使用中でなければ該内部インターフェース部と前記パラメータが設定された前記外部インターフェース部とを接続して前記上位装置と前記処理ブロック間での前記パラメータの入出力を可能とし、検出された前記パラメータが前記処理ブロックの終了要求であった場合に、該外部インターフェース部と、前記外部インターフェース部に接続する前記内部インターフェース部との接続を解除して前記上位装置と前記処理ブロック間での前記パラメータの入出力を終了させる手順を有することを特徴とする入出力制御方法、が提供される。
【００１７】
このような手順の入出力制御方法が実行される半導体装置には、処理ブロックの数に応じて設けられた外部インターフェース部と、処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インテーフェース部とが具備されている。外部インターフェース部を介して上位装置から任意の処理ブロックの起動を要求するパラメータが入力した場合、内部インターフェース部が使用中であるかどうかを判断し、使用中でなければこの内部インターフェース部と、パラメータが設定された外部インターフェース部とを接続し、上位装置とこの処理ブロック間でのパラメータの入出力を可能とする。一方、外部インターフェース部を介して上位装置から任意の処理ブロックの終了を要求するパラメータが入力した場合、この外部インターフェース部と、対応する内部インターフェース部との接続を解除し、上位装置と処理ブロック間でのパラメータの入出力を終了する。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
本発明の実施の形態では、半導体装置１は、処理ブロックの機能をソフトウェアによって実現しており、ソフトウエアライブラリとして複数のタスクが搭載されている。半導体装置１に起動、終了要求を送ることによって制御されるタスク単位をセッションと呼ぶ。以下の説明では、半導体装置内部に搭載されるエントリ可能なセッション数を４、同時に起動させることが可能なセッション数の最大を２とする。
【００１９】
図１は、本発明の実施の形態である半導体装置の構成図である。
本発明の実施の形態の半導体装置１は、外部パラメータ群の領域が設定されるパラメータＲＡＭ領域１０、内部パラメータ群の領域が設定されるプログラムＲＡＭ領域２０、外部パラメータ群と内部パラメータ群との接続と接続解除を管理するパラメータＩ／Ｏ制御ブロック３０、機能処理単位であるセッションを制御するセッション処理ブロック４０、ホスト２との間のパラメータ入出力処理を管理する外部ホストインターフェース５０、およびパラメータＩ／Ｏ制御ブロック３０との間のパラメータ入出力処理を管理する内部インターフェース６０を有する。
【００２０】
パラメータＲＡＭ領域１０は、ホスト２から読み書きが可能な記憶手段であり、セッションに対応するパラメータ群の領域が、エントリ可能な最大のセッション数分設けられている。図の例では、セッションに対応して外部パラメータ群ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）およびａ３（５１−４）の４つが設けられている。
【００２１】
プログラムＲＡＭ領域２０は、セッション処理ブロック４０から読み書きが可能な記憶手段であり、最大同時動作可能なセッション数に対応するパラメータ群の領域が設けられている。図の例では、最大同時動作可能なセッション数に応じて、内部パラメータ群ｂ０（６１−１）およびｂ１（６１−２）の２つが設けられている。また、パラメータＩ／Ｏ制御ブロック３０、内部インターフェース６０、セッション処理ブロック４０等のソフトウェアの一部または全部をプログラムとして記憶する。
【００２２】
パラメータＩ／Ｏ制御ブロック３０は、外部ホストインターフェース５０と、内部インターフェース６０との間に位置するソフトウェアブロックである。セッションの起動要求があった場合に、外部ホストインターフェース５０のパラメータ群領域と内部インターフェース６０のパラメータ群領域との接続を行なう接続手段と、セッションの終了要求があった場合に、外部ホストインターフェース５０のパラメータ群領域と内部インターフェース６０のパラメータ群領域との接続を解除する接続解除手段とを備え、パラメータの入出力や外部ホストインターフェース５０と内部インターフェース６０との接続状況を、接続状況管理テーブルを用いて管理する。
【００２３】
セッション処理ブロック４０は、内部インターフェース６０を介して入力する内部パラメータ群ｂ０（６１−１）あるいはｂ１（６１−２）のパラメータに従って、起動要求されたセッションを開始してセッション処理を実行させ、終了要求のあったセッションの処理を終了させる。セッション処理ブロック４０によって起動、終了することができるセッション数の最大は、エントリ可能なセッション数で規定され、セッション処理ブロック４０が同時に起動することができるセッションの最大数は、最大同時動作可能なセッション数で規定される。また、１つのセッションは、１つのパラメータ群からのみ制御できる。
【００２４】
外部ホストインターフェース５０は、ホスト２と直接パラメータの入出力を行なうインターフェースで、パラメータＲＡＭ領域１０に確保された外部パラメータ群ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）およびａ３（５１−４）を管理する。外部パラメータ群ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）およびａ３（５１−４）は、パラメータＲＡＭ領域１０に確保され、それぞれの識別符号（ＩＤ）を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。
【００２５】
内部インターフェース６０は、パラメータＩ／Ｏ制御ブロック３０とパラメータの入出力を行なうインターフェースで、内部パラメータ群ｂ０（６１−１）、ｂ１（６１−２）を管理する。内部パラメータ群ｂ０（６１−１）、ｂ１（６１−２）は、プログラムＲＡＭ領域２０に確保され、それぞれの識別符号（ＩＤ）を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。また、セッションによっては、外部パラメータ群とまったく同一でない場合もある。
【００２６】
ホスト２は、外部ホストインターフェース５０を介して、パラメータの入出力を行なうことによって半導体装置１全体を制御する。ホスト２は、セッションに対応してパラメータＲＡＭ領域１０に用意されたパラメータ群ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）、ａ３（５１−４）のうち、操作したいセッションに対応するパラメータ群のパラメータを設定することにより、セッションの起動、終了等の操作を行なう。
【００２７】
このような構成の半導体装置１およびホスト２の動作について説明する。
ホスト２は、所望のセッションに対応する外部ホストインターフェース５０のパラメータ群（ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）またはａ３（５１−４））にセッション起動要求を設定する。パラメータＩ／Ｏ制御ブロック３０の接続手段は、接続状況管理テーブルを参照して、未使用である内部パラメータ群（ｂ０（６１−１）またはｂ１（６１−２））を検索する。未使用のものがあった場合に、これを起動要求のあったセッションに対応する外部パラメータ群と接続し、接続状況管理テーブルを更新する。接続が完了すると、内部インターフェース６０は、パラメータＩ／Ｏ制御ブロック３０の指示に従って、接続する外部パラメータ群の設定を内部パラメータ群に移し、セッション処理ブロック４０に通知する。未使用のものがなかった場合、起動要求を拒絶する。
【００２８】
ホスト２がセッションを終了させる場合も同様に、対応する外部ホストインターフェース５０のパラメータ群（ａ０（５１−１）、ａ１（５１−２）、ａ２（５１−３）またはａ３（５１−４））にセッション終了要求を設定する。パラメータＩ／Ｏ制御ブロック３０の接続解除手段は、接続状況管理テーブルを参照して、接続する内部パラメータ群（ｂ０（６１−１）またはｂ１（６１−２））を検索し、該当する内部パラメータ群と外部パラメータ群との接続を解除し、接続状況管理テーブルを更新する。
【００２９】
ここで、接続状況管理テーブルについて説明する。図２は、本発明の実施の形態の接続状況管理テーブルの構成図である。この実施の形態では、外部ホストインターフェースのパラメータ群と関連付けられた外部ホストインターフェースの接続状況管理テーブル１００と、内部インターフェースのパラメータ群と関連付けられた内部インターフェースの接続状況管理テーブル２００との２つの接続状況管理テーブルを備える。
【００３０】
外部ホストインターフェースの接続状況管理テーブル１００は、そのパラメータ群を識別するＩＤ（図の例では、ａ０、ａ１、ａ２、ａ３）に対応して、これに接続された内部パラメータ群を示す接続状況情報が登録される。
【００３１】
内部インターフェースの接続状況管理テーブル２００は、そのパラメータ群を識別するＩＤ（図の例では、ｂ０、ｂ１）に対応して、これに接続された外部パラメータ群を示す接続状況情報が登録される。
【００３２】
このように、接続状況管理テーブルを用いて接続および接続解除を行なうことによって、内部インターフェースの内部パラメータ群を必要最小限の数に絞ることができ、無駄なメモリを削減することができる。一方、外部ホストインターフェースの外部パラメータ群は、エントリ可能なセッション数に応じて設けられる。すなわち、あるセッションについてのパラメータ設定あるいは読み出しは、パラメータＲＡＭ領域１０の同一アドレスに対して実施される。このため、ホスト２からの操作性やデバッグ性を損なうことがない。この結果、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【００３３】
なお、上記の説明では、それぞれに接続状況管理テーブルを持つとしたが、接続状況が把握できればよいので、どちらか一方のみを持つとすることもできる。
次に、本発明の実施の形態における接続と接続解除の動作について具体例を用いて説明する。
【００３４】
まず、起動要求時の動作について説明する。図３は、本発明の実施の形態において第１の起動要求があった場合の動作を示した図である。図１と同じものには同じ番号を付し、説明は省略する。
【００３５】
ホスト２から外部ホストインターフェース５０を介して外部パラメータ群のＩＤがａ０（５１−１）に相当するセッションの起動要求が入力される。パラメータＩ／Ｏ制御ブロック３０は、外部ホストインターフェース５０を介してセッション起動要求を読み取る。まず、内部インターフェースの接続状況管理テーブル２００から未使用な内部パラメータ群のＩＤを先頭から検索する。図の例では、内部パラメータ群ｂ０（６１−１）が検出される。外部パラメータ群ａ０（５１−１）にパラメータが入力されたので、パラメータが入力された外部パラメータ群ａ０（５１−１）と内部パラメータ群ｂ０（６１−１）とを接続する。このとき、双方の接続状況管理テーブルを更新する。
【００３６】
ここでの接続状況管理テーブルの変化について説明する。図４は、本発明の実施の形態において第１の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群ａ０（５１−１）と、内部パラメータ群ｂ０（６１−１）とが接続されるので、外部ホストインターフェースの接続状況管理テーブル１００の外部パラメータ群ａ０のＩＤに対応する内部インターフェースとの接続状況欄１０１の登録を未使用から接続する内部パラメータ群のＩＤであるｂ０に更新する。また、内部インターフェースの接続状況管理テーブル２００の内部パラメータ群ｂ０のＩＤに対応する外部ホストインターフェースとの接続状況欄２０１の登録を未使用から接続する外部パラメータ群のＩＤであるａ０に更新する。
【００３７】
続いて、上記説明の状態から第２の起動要求があった場合の動作について説明する。図５は、本発明の実施の形態において第２の起動要求があった場合の動作を示した図である。図１と同じものには同じ番号を付し、説明は省略する。
【００３８】
外部パラメータ群ａ０（５１−１）と内部パラメータ群ｂ０（６１−１）とが接続し、外部パラメータ群ａ０（５１−１）に対応するセッションが起動している状態で、ホスト２から外部ホストインターフェース５０を介して外部パラメータ群のＩＤがａ３（５１−４）に相当するセッションの起動要求が入力される。パラメータＩ／Ｏ制御ブロック３０は、外部ホストインターフェース５０を介してセッション起動要求を読み取り、内部インターフェースの接続状況管理テーブル２００から未使用な内部パラメータ群のＩＤを先頭から検索する。図の例では、内部パラメータ群ｂ０（６１−１）が使用中であるので、内部パラメータ群ｂ１（６１−２）が検出される。外部パラメータ群ａ３（５１−４）にパラメータが入力されたので、パラメータが入力された外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）とを接続し、双方の接続状況管理テーブルを更新する。
【００３９】
ここでの接続状況管理テーブルの変化について説明する。図６は、本発明の実施の形態において第２の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群ａ０（５１−１）と、内部パラメータ群ｂ０（６１−１）とが接続された状態で、さらに外部パラメータ群ａ３（５１−４）と、内部パラメータ群ｂ１（６１−２）とが接続される。そこで、外部ホストインターフェースの接続状況管理テーブル１００の外部パラメータ群ａ３のＩＤに対応する内部インターフェースとの接続状況欄１０２の登録を未使用から接続する内部パラメータ群のＩＤであるｂ１に更新する。また、内部インターフェースの接続状況管理テーブル２００の内部パラメータ群ｂ１のＩＤに対応する外部ホストインターフェースとの接続状況欄２０２の登録を未使用から接続する外部パラメータ群のＩＤであるａ３に更新する。
【００４０】
ここまでの処理で、同時に動作が可能な最大のセッション数に合わせて設けられた内部パラメータ群は、全て使用中になる。仮にこの状態でホスト２から残る外部パラメータ群ａ１（５１−２）あるいはａ２（５１−３）に対応するセッションの起動要求がきても、最大同時動作セッション数を超えてしまうため、これ以上はセッションを起動できない。
【００４１】
続いて、上記説明の状態から終了要求があった場合の動作について説明する。図７は、本発明の実施の形態において第１の終了要求があった場合の動作を示した図である。図１と同じものには同じ番号を付し、説明は省略する。
【００４２】
外部パラメータ群ａ０（５１−１）と内部パラメータ群ｂ０（６１−１）、および外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）とが接続している状態で、ホスト２から外部ホストインターフェース５０を介して外部パラメータ群のＩＤがａ０（５１−１）に相当するセッションの終了要求が入力される。パラメータＩ／Ｏ制御ブロック３０は、外部ホストインターフェース５０を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル１００から外部パラメータ群ａ０（５１−１）に対応する内部パラメータ群のＩＤを抽出する。図の例では、内部パラメータ群ｂ０（６１−１）が抽出される。そして、外部パラメータ群ａ０（５１−１）と内部パラメータ群ｂ０（６１−１）との接続を解除し、双方の接続状況管理テーブルを更新する。
【００４３】
ここでの接続状況管理テーブルの変化について説明する。図８は、本発明の実施の形態において第１の終了要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群ａ０（５１−１）と内部パラメータ群ｂ０（６１−１）、および外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）とが接続された状態で、外部パラメータ群ａ０（５１−１）と、内部パラメータ群ｂ０（６１−１）との接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル１００の外部パラメータ群ａ０のＩＤに対応する内部インターフェースとの接続状況欄１０３の登録を未使用に更新する。また、内部インターフェースとの接続状況欄１０３に登録されていた内部パラメータ群ｂ０に対応する内部インターフェースの接続状況管理テーブル２００の外部ホストインターフェースとの接続状況欄２０３も未使用に更新する。
【００４４】
続いて、上記説明の状態から第２の終了要求があった場合の動作について説明する。図９は、本発明の実施の形態において第２の終了要求があった場合の動作を示した図である。図１と同じものには同じ番号を付し、説明は省略する。
【００４５】
外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）とが接続している状態で、ホスト２から外部ホストインターフェース５０を介して外部パラメータ群のＩＤがａ３（５１−４）に相当するセッションの終了要求が入力される。パラメータＩ／Ｏ制御ブロック３０は、外部ホストインターフェース５０を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル１００から対応する内部パラメータ群のＩＤを抽出する。図の例では、内部パラメータ群ｂ１（６１−２）が抽出されるので、外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）との接続を解除し、双方の接続状況管理テーブルを更新する。
【００４６】
ここでの接続状況管理テーブルの変化について説明する。図１０は、本発明の実施の形態において第２の終了要求があった場合の接続状況管理テーブルの変化を示した図である。外部パラメータ群ａ３（５１−４）と内部パラメータ群ｂ１（６１−２）とが接続された状態で、この接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル１００の外部パラメータ群ａ３のＩＤに対応する内部インターフェースとの接続状況欄１０４の登録を未使用に更新する。また、内部インターフェースとの接続状況欄１０４に登録されていた内部パラメータ群ｂ１に対応する内部インターフェースの接続状況管理テーブル２００の外部ホストインターフェースとの接続状況欄２０４も未使用に更新する。
【００４７】
以上のように、外部ホストインターフェースおよび内部インターフェースの接続状況管理テーブルを参照して、エントリ可能なセッション数分設けられた外部パラメータ群と最大同時動作可能なセッション数分のみ設けられた内部パラメータ群の接続と接続解除が実行される。
【００４８】
次に、本発明の入出力制御方法について説明する。図１１は、本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。この処理手順は、インターフェース接続状況管理関数プログラムによってパラメータＩ／Ｏ制御ブロック３０が実行する。
［ステップＳ０１］  パラメータが設定された外部パラメータ群が内部インターフェースの内部パラメータ群と接続中であるかどうか、外部ホストインターフェースの接続状況管理テーブル１００を参照して判定する。接続中でなければステップＳ０２へ処理を進め、接続中であればステップＳ０５へ処理を進める。
［ステップＳ０２］  パラメータ設定された外部パラメータ群が内部パラメータ群と接続されていない場合、入力されたパラメータを解析し、ホスト２からセッション起動要求があるかどうかを判断する。セッション起動要求があればステップＳ０３へ処理を進め、なければ処理を終了する。
［ステップＳ０３］  内部インターフェースの接続状況管理テーブル２００を用いて、未使用の内部パラメータ群があるかどうかを検索する。未使用の内部パラメータ群がある場合、ステップＳ０４へ処理を進め、なければ処理を終了する。
［ステップＳ０４］  セッション起動要求のあった外部ホストインターフェースの外部パラメータ群とステップＳ０３で検出された未使用な内部インターフェースの内部パラメータ群とを接続し、それぞれの接続状況管理テーブルに接続情報を登録し、処理を終了する。
［ステップＳ０５］  パラメータが設定された外部パラメータ群と内部パラメータ群が接続中である場合、入力されたパラメータを解析し、ホスト２からセッション終了要求があるかどうかを判断する。セッション終了要求があればステップＳ０６へ処理を進め、なければ処理を終了する。
［ステップＳ０６］  セッション終了要求のあった外部ホストインターフェースの外部パラメータ群とこれと接続中の内部インターフェースの内部パラメータ群との接続を解除し、それぞれの接続状況管理テーブルに登録されている接続情報を消去し、処理を終了する。
【００４９】
以上の処理手順を外部ホストインターフェース５０のパラメータ群それぞれに対して繰り返し実行することにより、ホスト２からのセッション起動および終了要求に随時対応する。
【００５０】
このように、エントリ可能なセッション数分設けられた外部ホストインターフェースの外部パラメータ群と、同時動作可能なセッション数である必要最小限の内部インターフェースの内部パラメータ群との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、パラメータ群を確保するための領域を削減することが可能となった。
【００５１】
【発明の効果】
以上説明したように本発明の半導体装置では、半導体装置内部の処理ブロックの数に応じて外部インターフェース部を設け、同時に動作可能な最大の処理ブロックの数に応じて内部インターフェース部を設ける。そして、処理ブロックに対応する外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。これにより、上位装置より入力するパラメータが処理ブロックに通知され、処理ブロックによる処理が行なわれる。
【００５２】
このように、内部インターフェース部は、必要最小限の数に絞られるため、無駄な領域を省くことができる。一方、外部インターフェース部は、処理ブロック数に応じて設けられるため、上位装置からの操作性を損なうことがない。よって、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【００５３】
また、本発明の入出力制御方法では、処理ブロック数分設けられた外部インターフェース部と、同時動作可能な最大の処理ブロック数分設けられた内部インターフェース部が設けられた半導体装置において、外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。また、処理ブロックの終了要求があった場合は、該当する外部インターフェース部と内部インターフェース部との接続を解除する。
【００５４】
このように、処理ブロック数に応じて設けられた外部インターフェース部と、必要最小限の内部インターフェース部との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【図面の簡単な説明】
【図１】本発明の実施の形態である半導体装置の構成図である。
【図２】本発明の実施の形態の接続状況管理テーブルの構成図である。
【図３】本発明の実施の形態において第１の起動要求があった場合の動作を示した図である。
【図４】本発明の実施の形態において第１の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図５】本発明の実施の形態において第２の起動要求があった場合の動作を示した図である。
【図６】本発明の実施の形態において第２の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図７】本発明の実施の形態において第１の終了要求があった場合の動作を示した図である。
【図８】本発明の実施の形態において第１の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図９】本発明の実施の形態において第２の終了要求があった場合の動作を示した図である。
【図１０】本発明の実施の形態において第２の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図１１】本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。
【図１２】従来の半導体装置の構成図である。
【符号の説明】
１・・・半導体装置、２・・・ホスト、１０・・・パラメータＲＡＭ領域、２０・・・プログラムＲＡＭ領域、３０・・・パラメータＩ／Ｏ制御ブロック、５０・・・外部ホストインターフェース、５１−１・・・外部パラメータ群ａ０、５１−２・・・外部パラメータ群ａ１、５１−３・・・外部パラメータ群ａ２、５１−４・・・外部パラメータ群ａ３、６０・・・内部インターフェース、６１−１・・・内部パラメータ群ｂ１、６１−２・・・外部パラメータ群ｂ２
【図１】
2004265282.tif 000003
【図２】
2004265282.tif 000004
【図３】
2004265282.tif 000005
【図４】
2004265282.tif 000006
【図５】
2004265282.tif 000007
【図６】
2004265282.tif 000008
【図７】
2004265282.tif 000009
【図８】
2004265282.tif 000010
【図９】
2004265282.tif 000011
【図１０】
2004265282.tif 000012
【図１１】
2004265282.tif 000013
【図１２】
2004265282.tif 000014