JP2004265282A - 半導体装置およびその入出力制御方法 - Google Patents
半導体装置およびその入出力制御方法 Download PDFInfo
- Publication number
- JP2004265282A JP2004265282A JP2003056709A JP2003056709A JP2004265282A JP 2004265282 A JP2004265282 A JP 2004265282A JP 2003056709 A JP2003056709 A JP 2003056709A JP 2003056709 A JP2003056709 A JP 2003056709A JP 2004265282 A JP2004265282 A JP 2004265282A
- Authority
- JP
- Japan
- Prior art keywords
- interface unit
- parameter
- external
- internal
- input
- 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.)
- Abandoned
Links
Images
Abstract
【課題】ホストからの操作性を失うことなく無駄な領域を省く。
【解決手段】ホスト2との間でパラメータ入出力処理を行なう外部ホストインターフェース50の管理する外部パラメータ群a0(51−1)、a1(51−2)、・・・、a3(51−4)は、セッション処理ブロック40のセッション数分設けられる。一方、内部インターフェース60の管理する内部パラメータ群b0(61−1)、b1(61−2)は、セッションが同時に動作可能な最大の数に応じて設けられる。パラメータI/O制御ブロック30は、任意の外部パラメータ群にセッションの起動要求が設定された場合には、他の外部パラメータ群に接続されていない内部パラメータ群があれば、この内部パラメータ群と外部パラメータ群とを接続し、ホスト2とセッション処理ブロック40間のパラメータ交換を可能にする。
【選択図】 図1
【解決手段】ホスト2との間でパラメータ入出力処理を行なう外部ホストインターフェース50の管理する外部パラメータ群a0(51−1)、a1(51−2)、・・・、a3(51−4)は、セッション処理ブロック40のセッション数分設けられる。一方、内部インターフェース60の管理する内部パラメータ群b0(61−1)、b1(61−2)は、セッションが同時に動作可能な最大の数に応じて設けられる。パラメータI/O制御ブロック30は、任意の外部パラメータ群にセッションの起動要求が設定された場合には、他の外部パラメータ群に接続されていない内部パラメータ群があれば、この内部パラメータ群と外部パラメータ群とを接続し、ホスト2とセッション処理ブロック40間のパラメータ交換を可能にする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は半導体装置および入出力制御方法に関し、特に上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置およびその入出力制御方法に関する。
【0002】
【従来の技術】
従来、1チップの中に、MPU(Micro Processor Unit)、メモリ、I/O(Input / Output)インターフェース等が搭載され、ひとつのシステムを構成するような半導体装置がある。
【0003】
このような半導体装置では、外部(上位)との間でデータ交換を行なう外部(上位)インターフェース部と、所定の処理を行なう処理ブロックとの間でデータ交換を行なう内部インターフェース部と、を有している。そして、1対1に対応して接続される外部インターフェース部と内部インターフェース部とを介して、外部(上位)装置から所望の処理ブロックを実行させる仕組みを備えている。
【0004】
図12は、従来の半導体装置の構成図である。
半導体装置1は、外部のホスト2からアクセス可能なパラメータRAM(Random Access Memory)領域10と、内部のセッション処理ブロック40が用いるプログラムRAM領域20とを有する。パラメータRAM領域10には、外部パラメータ群領域a0(15−1)、a1(15−2)、・・・、an(15−3)が設けられており、外部ホストインターフェース50によって管理されている。ここで、nは任意の整数とする。一方、プログラムRAM領域20には、内部パラメータ群領域b0(25−1)、b1(25−2)、・・・、bn(25−3)が設けられており、内部インターフェース60によって管理されている。パラメータ群は、ホスト2およびセッション処理ブロック40間で交換される入出力データあるいは動作指示等のパラメータの集まりであり、機能処理単位であるセッションごとに用意されている。
【0005】
従来、外部パラメータ群領域と内部パラメータ群領域とは1対1に対応しており、図の例では、外部パラメータ群a0(15−1)は、内部パラメータ群b0(25−1)に対応し、同様にa1(15−2)はb1(25−2)に、an(15−3)はbn(25−3)に対応する。このため、パラメータRAM領域10およびプログラムRAM領域20の外部パラメータ群および内部パラメータ群は、同じ数、すなわちエントリ可能なセッション数あるいは最大同時動作可能なセッション数分の領域が用意されていた。
【0006】
エントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、セッションごとにパラメータ群の領域が用意される。ホスト2は、セッションに対応するパラメータ群の領域にデータを設定することにより、セッション処理ブロック40の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は別に管理されており、このセッション数を超えてセッションの起動要求があった場合には、この要求を拒否していた。
【0007】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群領域は、セッションで共有することになる。このため、セッションとパラメータ群の領域とは対応せず、ホスト2はパラメータ群領域を使用しているセッションを常に考慮してセッション処理ブロック40の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は、パラメータ群領域がすべて使用されているかどうかでホスト2が管理することができ、パラメータ群領域がすべて使用されている場合は、新たなセッション起動要求は行なわれない。
【0008】
また、このように複数の上位インターフェース間の排他処理を行なう手法として、複数の上位インターフェースが共用するI/Oデバイスの管理を行なうI/Oサブシステムにおいて、I/Oサブシステムの取り得る最大構成に合わせて固定的に領域を割り当てるのではなく、上位インターフェースの各々に論理パス番号を割り当て、論理パス番号によって資源の利用を管理する手法がある(例えば、特許文献1参照)。
【0009】
【特許文献1】
特開平7−84936号公報
【0010】
【発明が解決しようとする課題】
しかし、従来のパラメータ群を用いて入出力制御を行なう半導体装置およびその入出力制御方法では、メモリ効率あるいはホストからの操作性のいずれかを犠牲にしなければならないという問題がある。
【0011】
上記の説明のエントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、ホスト2側から見るとセッションと外部パラメータ群とが1対1に対応するため、あるセッションに対する設定を行なう場合には常に同一の外部パラメータ群領域にアクセスすればよい。しかしながら、ある時点で実際に使用されるパラメータ群領域の最大は、最大同時動作可能なセッション数分だけであるため、他の領域が無駄になってしまうという問題がある。特に、最大同時動作可能なセッション数に比べてエントリ可能なセッション数の数が大きい場合、多量の無駄なメモリ領域を確保しなければならず、メモリ効率を悪化させる要因となる。
【0012】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群の領域は共用体であるため、使用されない無駄な領域を生じないという利点がある。しかしながら、ホスト2側から見るとセッションと外部パラメータ群とが1対1に対応しないため、あるセッションに対する設定を行なう場合、処理ごとにアクセスするアドレスが異なるという事態が発生する。このように、セッションの種類によって、同一のアドレスに意味の異なるパラメータが割り当てられてしまうため、操作性が悪くなる他、デバッグが困難になるという問題がある。
【0013】
本発明はこのような点に鑑みてなされたものであり、ホストからの操作性を失うことなく無駄な領域を省くことが可能な半導体装置およびその入出力制御方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明では上記課題を解決するために、上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置において、前記処理ブロックの数に応じて設けられ、前記上位装置に対して前記パラメータの入出力処理を行なう外部インターフェース部と、前記処理ブロックが同時に動作可能な最大の数に応じて設けられ、前記処理ブロックに対して前記パラメータの入出力処理を行なう内部インターフェース部と、前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、他の前記外部インターフェースに接続されていない前記内部インターフェース部があれば該内部インターフェース部と前記外部インターフェース部とを接続する接続制御部と、を具備することを特徴とする半導体装置、が提供される。
【0015】
このような構成の半導体装置では、上位装置との間でパラメータ入出力処理を行なう外部インターフェース部は、所定の処理機能を実現する半導体装置内部の処理ブロックの数に応じて設けられる。一方、処理ブロックとの間でパラメータ入出力処理を行なう内部インターフェース部は、処理ブロックが同時に動作可能な最大の数に応じて設けられる。このため、処理ブロック数と同時の動作可能な最大の処理ブロック数とが同じでない限り、外部インターフェース部と内部インターフェース部は、1対1には対応していない。そこで、接続制御部は、外部インターフェース部を介して処理ブロックの起動要求が入力された場合には、他の外部インターフェース部に接続されていない内部インターフェース部があれば、この内部インターフェース部と要求のあった外部インターフェース部とを接続し、上位装置と半導体装置内部の処理ブロック間のパラメータ交換を可能にする。
【0016】
また、上記課題を解決するために、上位装置と、前記上位装置から入力するパラメータに基づいて所定の処理を実行する半導体装置の処理ブロックと、の間の前記パラメータの入出力処理を制御する入出力制御方法において、前記処理ブロックの数に応じて設けられた外部インターフェース部に対して、前記上位装置から設定された前記パラメータを検出し、検出された前記パラメータが前記処理ブロックの起動要求であった場合に、前記処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インターフェース部が使用中であるかどうかを判断し、使用中でなければ該内部インターフェース部と前記パラメータが設定された前記外部インターフェース部とを接続して前記上位装置と前記処理ブロック間での前記パラメータの入出力を可能とし、検出された前記パラメータが前記処理ブロックの終了要求であった場合に、該外部インターフェース部と、前記外部インターフェース部に接続する前記内部インターフェース部との接続を解除して前記上位装置と前記処理ブロック間での前記パラメータの入出力を終了させる手順を有することを特徴とする入出力制御方法、が提供される。
【0017】
このような手順の入出力制御方法が実行される半導体装置には、処理ブロックの数に応じて設けられた外部インターフェース部と、処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インテーフェース部とが具備されている。外部インターフェース部を介して上位装置から任意の処理ブロックの起動を要求するパラメータが入力した場合、内部インターフェース部が使用中であるかどうかを判断し、使用中でなければこの内部インターフェース部と、パラメータが設定された外部インターフェース部とを接続し、上位装置とこの処理ブロック間でのパラメータの入出力を可能とする。一方、外部インターフェース部を介して上位装置から任意の処理ブロックの終了を要求するパラメータが入力した場合、この外部インターフェース部と、対応する内部インターフェース部との接続を解除し、上位装置と処理ブロック間でのパラメータの入出力を終了する。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
本発明の実施の形態では、半導体装置1は、処理ブロックの機能をソフトウェアによって実現しており、ソフトウエアライブラリとして複数のタスクが搭載されている。半導体装置1に起動、終了要求を送ることによって制御されるタスク単位をセッションと呼ぶ。以下の説明では、半導体装置内部に搭載されるエントリ可能なセッション数を4、同時に起動させることが可能なセッション数の最大を2とする。
【0019】
図1は、本発明の実施の形態である半導体装置の構成図である。
本発明の実施の形態の半導体装置1は、外部パラメータ群の領域が設定されるパラメータRAM領域10、内部パラメータ群の領域が設定されるプログラムRAM領域20、外部パラメータ群と内部パラメータ群との接続と接続解除を管理するパラメータI/O制御ブロック30、機能処理単位であるセッションを制御するセッション処理ブロック40、ホスト2との間のパラメータ入出力処理を管理する外部ホストインターフェース50、およびパラメータI/O制御ブロック30との間のパラメータ入出力処理を管理する内部インターフェース60を有する。
【0020】
パラメータRAM領域10は、ホスト2から読み書きが可能な記憶手段であり、セッションに対応するパラメータ群の領域が、エントリ可能な最大のセッション数分設けられている。図の例では、セッションに対応して外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)の4つが設けられている。
【0021】
プログラムRAM領域20は、セッション処理ブロック40から読み書きが可能な記憶手段であり、最大同時動作可能なセッション数に対応するパラメータ群の領域が設けられている。図の例では、最大同時動作可能なセッション数に応じて、内部パラメータ群b0(61−1)およびb1(61−2)の2つが設けられている。また、パラメータI/O制御ブロック30、内部インターフェース60、セッション処理ブロック40等のソフトウェアの一部または全部をプログラムとして記憶する。
【0022】
パラメータI/O制御ブロック30は、外部ホストインターフェース50と、内部インターフェース60との間に位置するソフトウェアブロックである。セッションの起動要求があった場合に、外部ホストインターフェース50のパラメータ群領域と内部インターフェース60のパラメータ群領域との接続を行なう接続手段と、セッションの終了要求があった場合に、外部ホストインターフェース50のパラメータ群領域と内部インターフェース60のパラメータ群領域との接続を解除する接続解除手段とを備え、パラメータの入出力や外部ホストインターフェース50と内部インターフェース60との接続状況を、接続状況管理テーブルを用いて管理する。
【0023】
セッション処理ブロック40は、内部インターフェース60を介して入力する内部パラメータ群b0(61−1)あるいはb1(61−2)のパラメータに従って、起動要求されたセッションを開始してセッション処理を実行させ、終了要求のあったセッションの処理を終了させる。セッション処理ブロック40によって起動、終了することができるセッション数の最大は、エントリ可能なセッション数で規定され、セッション処理ブロック40が同時に起動することができるセッションの最大数は、最大同時動作可能なセッション数で規定される。また、1つのセッションは、1つのパラメータ群からのみ制御できる。
【0024】
外部ホストインターフェース50は、ホスト2と直接パラメータの入出力を行なうインターフェースで、パラメータRAM領域10に確保された外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)を管理する。外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)は、パラメータRAM領域10に確保され、それぞれの識別符号(ID)を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。
【0025】
内部インターフェース60は、パラメータI/O制御ブロック30とパラメータの入出力を行なうインターフェースで、内部パラメータ群b0(61−1)、b1(61−2)を管理する。内部パラメータ群b0(61−1)、b1(61−2)は、プログラムRAM領域20に確保され、それぞれの識別符号(ID)を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。また、セッションによっては、外部パラメータ群とまったく同一でない場合もある。
【0026】
ホスト2は、外部ホストインターフェース50を介して、パラメータの入出力を行なうことによって半導体装置1全体を制御する。ホスト2は、セッションに対応してパラメータRAM領域10に用意されたパラメータ群a0(51−1)、a1(51−2)、a2(51−3)、a3(51−4)のうち、操作したいセッションに対応するパラメータ群のパラメータを設定することにより、セッションの起動、終了等の操作を行なう。
【0027】
このような構成の半導体装置1およびホスト2の動作について説明する。
ホスト2は、所望のセッションに対応する外部ホストインターフェース50のパラメータ群(a0(51−1)、a1(51−2)、a2(51−3)またはa3(51−4))にセッション起動要求を設定する。パラメータI/O制御ブロック30の接続手段は、接続状況管理テーブルを参照して、未使用である内部パラメータ群(b0(61−1)またはb1(61−2))を検索する。未使用のものがあった場合に、これを起動要求のあったセッションに対応する外部パラメータ群と接続し、接続状況管理テーブルを更新する。接続が完了すると、内部インターフェース60は、パラメータI/O制御ブロック30の指示に従って、接続する外部パラメータ群の設定を内部パラメータ群に移し、セッション処理ブロック40に通知する。未使用のものがなかった場合、起動要求を拒絶する。
【0028】
ホスト2がセッションを終了させる場合も同様に、対応する外部ホストインターフェース50のパラメータ群(a0(51−1)、a1(51−2)、a2(51−3)またはa3(51−4))にセッション終了要求を設定する。パラメータI/O制御ブロック30の接続解除手段は、接続状況管理テーブルを参照して、接続する内部パラメータ群(b0(61−1)またはb1(61−2))を検索し、該当する内部パラメータ群と外部パラメータ群との接続を解除し、接続状況管理テーブルを更新する。
【0029】
ここで、接続状況管理テーブルについて説明する。図2は、本発明の実施の形態の接続状況管理テーブルの構成図である。この実施の形態では、外部ホストインターフェースのパラメータ群と関連付けられた外部ホストインターフェースの接続状況管理テーブル100と、内部インターフェースのパラメータ群と関連付けられた内部インターフェースの接続状況管理テーブル200との2つの接続状況管理テーブルを備える。
【0030】
外部ホストインターフェースの接続状況管理テーブル100は、そのパラメータ群を識別するID(図の例では、a0、a1、a2、a3)に対応して、これに接続された内部パラメータ群を示す接続状況情報が登録される。
【0031】
内部インターフェースの接続状況管理テーブル200は、そのパラメータ群を識別するID(図の例では、b0、b1)に対応して、これに接続された外部パラメータ群を示す接続状況情報が登録される。
【0032】
このように、接続状況管理テーブルを用いて接続および接続解除を行なうことによって、内部インターフェースの内部パラメータ群を必要最小限の数に絞ることができ、無駄なメモリを削減することができる。一方、外部ホストインターフェースの外部パラメータ群は、エントリ可能なセッション数に応じて設けられる。すなわち、あるセッションについてのパラメータ設定あるいは読み出しは、パラメータRAM領域10の同一アドレスに対して実施される。このため、ホスト2からの操作性やデバッグ性を損なうことがない。この結果、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【0033】
なお、上記の説明では、それぞれに接続状況管理テーブルを持つとしたが、接続状況が把握できればよいので、どちらか一方のみを持つとすることもできる。
次に、本発明の実施の形態における接続と接続解除の動作について具体例を用いて説明する。
【0034】
まず、起動要求時の動作について説明する。図3は、本発明の実施の形態において第1の起動要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0035】
ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa0(51−1)に相当するセッションの起動要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション起動要求を読み取る。まず、内部インターフェースの接続状況管理テーブル200から未使用な内部パラメータ群のIDを先頭から検索する。図の例では、内部パラメータ群b0(61−1)が検出される。外部パラメータ群a0(51−1)にパラメータが入力されたので、パラメータが入力された外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)とを接続する。このとき、双方の接続状況管理テーブルを更新する。
【0036】
ここでの接続状況管理テーブルの変化について説明する。図4は、本発明の実施の形態において第1の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)とが接続されるので、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a0のIDに対応する内部インターフェースとの接続状況欄101の登録を未使用から接続する内部パラメータ群のIDであるb0に更新する。また、内部インターフェースの接続状況管理テーブル200の内部パラメータ群b0のIDに対応する外部ホストインターフェースとの接続状況欄201の登録を未使用から接続する外部パラメータ群のIDであるa0に更新する。
【0037】
続いて、上記説明の状態から第2の起動要求があった場合の動作について説明する。図5は、本発明の実施の形態において第2の起動要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0038】
外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)とが接続し、外部パラメータ群a0(51−1)に対応するセッションが起動している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa3(51−4)に相当するセッションの起動要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション起動要求を読み取り、内部インターフェースの接続状況管理テーブル200から未使用な内部パラメータ群のIDを先頭から検索する。図の例では、内部パラメータ群b0(61−1)が使用中であるので、内部パラメータ群b1(61−2)が検出される。外部パラメータ群a3(51−4)にパラメータが入力されたので、パラメータが入力された外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とを接続し、双方の接続状況管理テーブルを更新する。
【0039】
ここでの接続状況管理テーブルの変化について説明する。図6は、本発明の実施の形態において第2の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)とが接続された状態で、さらに外部パラメータ群a3(51−4)と、内部パラメータ群b1(61−2)とが接続される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a3のIDに対応する内部インターフェースとの接続状況欄102の登録を未使用から接続する内部パラメータ群のIDであるb1に更新する。また、内部インターフェースの接続状況管理テーブル200の内部パラメータ群b1のIDに対応する外部ホストインターフェースとの接続状況欄202の登録を未使用から接続する外部パラメータ群のIDであるa3に更新する。
【0040】
ここまでの処理で、同時に動作が可能な最大のセッション数に合わせて設けられた内部パラメータ群は、全て使用中になる。仮にこの状態でホスト2から残る外部パラメータ群a1(51−2)あるいはa2(51−3)に対応するセッションの起動要求がきても、最大同時動作セッション数を超えてしまうため、これ以上はセッションを起動できない。
【0041】
続いて、上記説明の状態から終了要求があった場合の動作について説明する。図7は、本発明の実施の形態において第1の終了要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0042】
外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)、および外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa0(51−1)に相当するセッションの終了要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル100から外部パラメータ群a0(51−1)に対応する内部パラメータ群のIDを抽出する。図の例では、内部パラメータ群b0(61−1)が抽出される。そして、外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)との接続を解除し、双方の接続状況管理テーブルを更新する。
【0043】
ここでの接続状況管理テーブルの変化について説明する。図8は、本発明の実施の形態において第1の終了要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)、および外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続された状態で、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)との接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a0のIDに対応する内部インターフェースとの接続状況欄103の登録を未使用に更新する。また、内部インターフェースとの接続状況欄103に登録されていた内部パラメータ群b0に対応する内部インターフェースの接続状況管理テーブル200の外部ホストインターフェースとの接続状況欄203も未使用に更新する。
【0044】
続いて、上記説明の状態から第2の終了要求があった場合の動作について説明する。図9は、本発明の実施の形態において第2の終了要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0045】
外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa3(51−4)に相当するセッションの終了要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル100から対応する内部パラメータ群のIDを抽出する。図の例では、内部パラメータ群b1(61−2)が抽出されるので、外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)との接続を解除し、双方の接続状況管理テーブルを更新する。
【0046】
ここでの接続状況管理テーブルの変化について説明する。図10は、本発明の実施の形態において第2の終了要求があった場合の接続状況管理テーブルの変化を示した図である。外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続された状態で、この接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a3のIDに対応する内部インターフェースとの接続状況欄104の登録を未使用に更新する。また、内部インターフェースとの接続状況欄104に登録されていた内部パラメータ群b1に対応する内部インターフェースの接続状況管理テーブル200の外部ホストインターフェースとの接続状況欄204も未使用に更新する。
【0047】
以上のように、外部ホストインターフェースおよび内部インターフェースの接続状況管理テーブルを参照して、エントリ可能なセッション数分設けられた外部パラメータ群と最大同時動作可能なセッション数分のみ設けられた内部パラメータ群の接続と接続解除が実行される。
【0048】
次に、本発明の入出力制御方法について説明する。図11は、本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。この処理手順は、インターフェース接続状況管理関数プログラムによってパラメータI/O制御ブロック30が実行する。
[ステップS01] パラメータが設定された外部パラメータ群が内部インターフェースの内部パラメータ群と接続中であるかどうか、外部ホストインターフェースの接続状況管理テーブル100を参照して判定する。接続中でなければステップS02へ処理を進め、接続中であればステップS05へ処理を進める。
[ステップS02] パラメータ設定された外部パラメータ群が内部パラメータ群と接続されていない場合、入力されたパラメータを解析し、ホスト2からセッション起動要求があるかどうかを判断する。セッション起動要求があればステップS03へ処理を進め、なければ処理を終了する。
[ステップS03] 内部インターフェースの接続状況管理テーブル200を用いて、未使用の内部パラメータ群があるかどうかを検索する。未使用の内部パラメータ群がある場合、ステップS04へ処理を進め、なければ処理を終了する。
[ステップS04] セッション起動要求のあった外部ホストインターフェースの外部パラメータ群とステップS03で検出された未使用な内部インターフェースの内部パラメータ群とを接続し、それぞれの接続状況管理テーブルに接続情報を登録し、処理を終了する。
[ステップS05] パラメータが設定された外部パラメータ群と内部パラメータ群が接続中である場合、入力されたパラメータを解析し、ホスト2からセッション終了要求があるかどうかを判断する。セッション終了要求があればステップS06へ処理を進め、なければ処理を終了する。
[ステップS06] セッション終了要求のあった外部ホストインターフェースの外部パラメータ群とこれと接続中の内部インターフェースの内部パラメータ群との接続を解除し、それぞれの接続状況管理テーブルに登録されている接続情報を消去し、処理を終了する。
【0049】
以上の処理手順を外部ホストインターフェース50のパラメータ群それぞれに対して繰り返し実行することにより、ホスト2からのセッション起動および終了要求に随時対応する。
【0050】
このように、エントリ可能なセッション数分設けられた外部ホストインターフェースの外部パラメータ群と、同時動作可能なセッション数である必要最小限の内部インターフェースの内部パラメータ群との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、パラメータ群を確保するための領域を削減することが可能となった。
【0051】
【発明の効果】
以上説明したように本発明の半導体装置では、半導体装置内部の処理ブロックの数に応じて外部インターフェース部を設け、同時に動作可能な最大の処理ブロックの数に応じて内部インターフェース部を設ける。そして、処理ブロックに対応する外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。これにより、上位装置より入力するパラメータが処理ブロックに通知され、処理ブロックによる処理が行なわれる。
【0052】
このように、内部インターフェース部は、必要最小限の数に絞られるため、無駄な領域を省くことができる。一方、外部インターフェース部は、処理ブロック数に応じて設けられるため、上位装置からの操作性を損なうことがない。よって、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【0053】
また、本発明の入出力制御方法では、処理ブロック数分設けられた外部インターフェース部と、同時動作可能な最大の処理ブロック数分設けられた内部インターフェース部が設けられた半導体装置において、外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。また、処理ブロックの終了要求があった場合は、該当する外部インターフェース部と内部インターフェース部との接続を解除する。
【0054】
このように、処理ブロック数に応じて設けられた外部インターフェース部と、必要最小限の内部インターフェース部との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【図面の簡単な説明】
【図1】本発明の実施の形態である半導体装置の構成図である。
【図2】本発明の実施の形態の接続状況管理テーブルの構成図である。
【図3】本発明の実施の形態において第1の起動要求があった場合の動作を示した図である。
【図4】本発明の実施の形態において第1の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図5】本発明の実施の形態において第2の起動要求があった場合の動作を示した図である。
【図6】本発明の実施の形態において第2の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図7】本発明の実施の形態において第1の終了要求があった場合の動作を示した図である。
【図8】本発明の実施の形態において第1の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図9】本発明の実施の形態において第2の終了要求があった場合の動作を示した図である。
【図10】本発明の実施の形態において第2の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図11】本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。
【図12】従来の半導体装置の構成図である。
【符号の説明】
1・・・半導体装置、2・・・ホスト、10・・・パラメータRAM領域、20・・・プログラムRAM領域、30・・・パラメータI/O制御ブロック、50・・・外部ホストインターフェース、51−1・・・外部パラメータ群a0、51−2・・・外部パラメータ群a1、51−3・・・外部パラメータ群a2、51−4・・・外部パラメータ群a3、60・・・内部インターフェース、61−1・・・内部パラメータ群b1、61−2・・・外部パラメータ群b2
【発明の属する技術分野】
本発明は半導体装置および入出力制御方法に関し、特に上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置およびその入出力制御方法に関する。
【0002】
【従来の技術】
従来、1チップの中に、MPU(Micro Processor Unit)、メモリ、I/O(Input / Output)インターフェース等が搭載され、ひとつのシステムを構成するような半導体装置がある。
【0003】
このような半導体装置では、外部(上位)との間でデータ交換を行なう外部(上位)インターフェース部と、所定の処理を行なう処理ブロックとの間でデータ交換を行なう内部インターフェース部と、を有している。そして、1対1に対応して接続される外部インターフェース部と内部インターフェース部とを介して、外部(上位)装置から所望の処理ブロックを実行させる仕組みを備えている。
【0004】
図12は、従来の半導体装置の構成図である。
半導体装置1は、外部のホスト2からアクセス可能なパラメータRAM(Random Access Memory)領域10と、内部のセッション処理ブロック40が用いるプログラムRAM領域20とを有する。パラメータRAM領域10には、外部パラメータ群領域a0(15−1)、a1(15−2)、・・・、an(15−3)が設けられており、外部ホストインターフェース50によって管理されている。ここで、nは任意の整数とする。一方、プログラムRAM領域20には、内部パラメータ群領域b0(25−1)、b1(25−2)、・・・、bn(25−3)が設けられており、内部インターフェース60によって管理されている。パラメータ群は、ホスト2およびセッション処理ブロック40間で交換される入出力データあるいは動作指示等のパラメータの集まりであり、機能処理単位であるセッションごとに用意されている。
【0005】
従来、外部パラメータ群領域と内部パラメータ群領域とは1対1に対応しており、図の例では、外部パラメータ群a0(15−1)は、内部パラメータ群b0(25−1)に対応し、同様にa1(15−2)はb1(25−2)に、an(15−3)はbn(25−3)に対応する。このため、パラメータRAM領域10およびプログラムRAM領域20の外部パラメータ群および内部パラメータ群は、同じ数、すなわちエントリ可能なセッション数あるいは最大同時動作可能なセッション数分の領域が用意されていた。
【0006】
エントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、セッションごとにパラメータ群の領域が用意される。ホスト2は、セッションに対応するパラメータ群の領域にデータを設定することにより、セッション処理ブロック40の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は別に管理されており、このセッション数を超えてセッションの起動要求があった場合には、この要求を拒否していた。
【0007】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群領域は、セッションで共有することになる。このため、セッションとパラメータ群の領域とは対応せず、ホスト2はパラメータ群領域を使用しているセッションを常に考慮してセッション処理ブロック40の制御を行なう。また、セッション間の排他処理では、最大同時動作可能なセッション数は、パラメータ群領域がすべて使用されているかどうかでホスト2が管理することができ、パラメータ群領域がすべて使用されている場合は、新たなセッション起動要求は行なわれない。
【0008】
また、このように複数の上位インターフェース間の排他処理を行なう手法として、複数の上位インターフェースが共用するI/Oデバイスの管理を行なうI/Oサブシステムにおいて、I/Oサブシステムの取り得る最大構成に合わせて固定的に領域を割り当てるのではなく、上位インターフェースの各々に論理パス番号を割り当て、論理パス番号によって資源の利用を管理する手法がある(例えば、特許文献1参照)。
【0009】
【特許文献1】
特開平7−84936号公報
【0010】
【発明が解決しようとする課題】
しかし、従来のパラメータ群を用いて入出力制御を行なう半導体装置およびその入出力制御方法では、メモリ効率あるいはホストからの操作性のいずれかを犠牲にしなければならないという問題がある。
【0011】
上記の説明のエントリ可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、ホスト2側から見るとセッションと外部パラメータ群とが1対1に対応するため、あるセッションに対する設定を行なう場合には常に同一の外部パラメータ群領域にアクセスすればよい。しかしながら、ある時点で実際に使用されるパラメータ群領域の最大は、最大同時動作可能なセッション数分だけであるため、他の領域が無駄になってしまうという問題がある。特に、最大同時動作可能なセッション数に比べてエントリ可能なセッション数の数が大きい場合、多量の無駄なメモリ領域を確保しなければならず、メモリ効率を悪化させる要因となる。
【0012】
一方、最大同時動作可能なセッション数だけ外部および内部パラメータ群の領域を確保する場合、パラメータ群の領域は共用体であるため、使用されない無駄な領域を生じないという利点がある。しかしながら、ホスト2側から見るとセッションと外部パラメータ群とが1対1に対応しないため、あるセッションに対する設定を行なう場合、処理ごとにアクセスするアドレスが異なるという事態が発生する。このように、セッションの種類によって、同一のアドレスに意味の異なるパラメータが割り当てられてしまうため、操作性が悪くなる他、デバッグが困難になるという問題がある。
【0013】
本発明はこのような点に鑑みてなされたものであり、ホストからの操作性を失うことなく無駄な領域を省くことが可能な半導体装置およびその入出力制御方法を提供することを目的とする。
【0014】
【課題を解決するための手段】
本発明では上記課題を解決するために、上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置において、前記処理ブロックの数に応じて設けられ、前記上位装置に対して前記パラメータの入出力処理を行なう外部インターフェース部と、前記処理ブロックが同時に動作可能な最大の数に応じて設けられ、前記処理ブロックに対して前記パラメータの入出力処理を行なう内部インターフェース部と、前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、他の前記外部インターフェースに接続されていない前記内部インターフェース部があれば該内部インターフェース部と前記外部インターフェース部とを接続する接続制御部と、を具備することを特徴とする半導体装置、が提供される。
【0015】
このような構成の半導体装置では、上位装置との間でパラメータ入出力処理を行なう外部インターフェース部は、所定の処理機能を実現する半導体装置内部の処理ブロックの数に応じて設けられる。一方、処理ブロックとの間でパラメータ入出力処理を行なう内部インターフェース部は、処理ブロックが同時に動作可能な最大の数に応じて設けられる。このため、処理ブロック数と同時の動作可能な最大の処理ブロック数とが同じでない限り、外部インターフェース部と内部インターフェース部は、1対1には対応していない。そこで、接続制御部は、外部インターフェース部を介して処理ブロックの起動要求が入力された場合には、他の外部インターフェース部に接続されていない内部インターフェース部があれば、この内部インターフェース部と要求のあった外部インターフェース部とを接続し、上位装置と半導体装置内部の処理ブロック間のパラメータ交換を可能にする。
【0016】
また、上記課題を解決するために、上位装置と、前記上位装置から入力するパラメータに基づいて所定の処理を実行する半導体装置の処理ブロックと、の間の前記パラメータの入出力処理を制御する入出力制御方法において、前記処理ブロックの数に応じて設けられた外部インターフェース部に対して、前記上位装置から設定された前記パラメータを検出し、検出された前記パラメータが前記処理ブロックの起動要求であった場合に、前記処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インターフェース部が使用中であるかどうかを判断し、使用中でなければ該内部インターフェース部と前記パラメータが設定された前記外部インターフェース部とを接続して前記上位装置と前記処理ブロック間での前記パラメータの入出力を可能とし、検出された前記パラメータが前記処理ブロックの終了要求であった場合に、該外部インターフェース部と、前記外部インターフェース部に接続する前記内部インターフェース部との接続を解除して前記上位装置と前記処理ブロック間での前記パラメータの入出力を終了させる手順を有することを特徴とする入出力制御方法、が提供される。
【0017】
このような手順の入出力制御方法が実行される半導体装置には、処理ブロックの数に応じて設けられた外部インターフェース部と、処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インテーフェース部とが具備されている。外部インターフェース部を介して上位装置から任意の処理ブロックの起動を要求するパラメータが入力した場合、内部インターフェース部が使用中であるかどうかを判断し、使用中でなければこの内部インターフェース部と、パラメータが設定された外部インターフェース部とを接続し、上位装置とこの処理ブロック間でのパラメータの入出力を可能とする。一方、外部インターフェース部を介して上位装置から任意の処理ブロックの終了を要求するパラメータが入力した場合、この外部インターフェース部と、対応する内部インターフェース部との接続を解除し、上位装置と処理ブロック間でのパラメータの入出力を終了する。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
本発明の実施の形態では、半導体装置1は、処理ブロックの機能をソフトウェアによって実現しており、ソフトウエアライブラリとして複数のタスクが搭載されている。半導体装置1に起動、終了要求を送ることによって制御されるタスク単位をセッションと呼ぶ。以下の説明では、半導体装置内部に搭載されるエントリ可能なセッション数を4、同時に起動させることが可能なセッション数の最大を2とする。
【0019】
図1は、本発明の実施の形態である半導体装置の構成図である。
本発明の実施の形態の半導体装置1は、外部パラメータ群の領域が設定されるパラメータRAM領域10、内部パラメータ群の領域が設定されるプログラムRAM領域20、外部パラメータ群と内部パラメータ群との接続と接続解除を管理するパラメータI/O制御ブロック30、機能処理単位であるセッションを制御するセッション処理ブロック40、ホスト2との間のパラメータ入出力処理を管理する外部ホストインターフェース50、およびパラメータI/O制御ブロック30との間のパラメータ入出力処理を管理する内部インターフェース60を有する。
【0020】
パラメータRAM領域10は、ホスト2から読み書きが可能な記憶手段であり、セッションに対応するパラメータ群の領域が、エントリ可能な最大のセッション数分設けられている。図の例では、セッションに対応して外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)の4つが設けられている。
【0021】
プログラムRAM領域20は、セッション処理ブロック40から読み書きが可能な記憶手段であり、最大同時動作可能なセッション数に対応するパラメータ群の領域が設けられている。図の例では、最大同時動作可能なセッション数に応じて、内部パラメータ群b0(61−1)およびb1(61−2)の2つが設けられている。また、パラメータI/O制御ブロック30、内部インターフェース60、セッション処理ブロック40等のソフトウェアの一部または全部をプログラムとして記憶する。
【0022】
パラメータI/O制御ブロック30は、外部ホストインターフェース50と、内部インターフェース60との間に位置するソフトウェアブロックである。セッションの起動要求があった場合に、外部ホストインターフェース50のパラメータ群領域と内部インターフェース60のパラメータ群領域との接続を行なう接続手段と、セッションの終了要求があった場合に、外部ホストインターフェース50のパラメータ群領域と内部インターフェース60のパラメータ群領域との接続を解除する接続解除手段とを備え、パラメータの入出力や外部ホストインターフェース50と内部インターフェース60との接続状況を、接続状況管理テーブルを用いて管理する。
【0023】
セッション処理ブロック40は、内部インターフェース60を介して入力する内部パラメータ群b0(61−1)あるいはb1(61−2)のパラメータに従って、起動要求されたセッションを開始してセッション処理を実行させ、終了要求のあったセッションの処理を終了させる。セッション処理ブロック40によって起動、終了することができるセッション数の最大は、エントリ可能なセッション数で規定され、セッション処理ブロック40が同時に起動することができるセッションの最大数は、最大同時動作可能なセッション数で規定される。また、1つのセッションは、1つのパラメータ群からのみ制御できる。
【0024】
外部ホストインターフェース50は、ホスト2と直接パラメータの入出力を行なうインターフェースで、パラメータRAM領域10に確保された外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)を管理する。外部パラメータ群a0(51−1)、a1(51−2)、a2(51−3)およびa3(51−4)は、パラメータRAM領域10に確保され、それぞれの識別符号(ID)を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。
【0025】
内部インターフェース60は、パラメータI/O制御ブロック30とパラメータの入出力を行なうインターフェースで、内部パラメータ群b0(61−1)、b1(61−2)を管理する。内部パラメータ群b0(61−1)、b1(61−2)は、プログラムRAM領域20に確保され、それぞれの識別符号(ID)を有する。パラメータ群におけるパラメータの割り当ては、セッションにより異なる。また、セッションによっては、外部パラメータ群とまったく同一でない場合もある。
【0026】
ホスト2は、外部ホストインターフェース50を介して、パラメータの入出力を行なうことによって半導体装置1全体を制御する。ホスト2は、セッションに対応してパラメータRAM領域10に用意されたパラメータ群a0(51−1)、a1(51−2)、a2(51−3)、a3(51−4)のうち、操作したいセッションに対応するパラメータ群のパラメータを設定することにより、セッションの起動、終了等の操作を行なう。
【0027】
このような構成の半導体装置1およびホスト2の動作について説明する。
ホスト2は、所望のセッションに対応する外部ホストインターフェース50のパラメータ群(a0(51−1)、a1(51−2)、a2(51−3)またはa3(51−4))にセッション起動要求を設定する。パラメータI/O制御ブロック30の接続手段は、接続状況管理テーブルを参照して、未使用である内部パラメータ群(b0(61−1)またはb1(61−2))を検索する。未使用のものがあった場合に、これを起動要求のあったセッションに対応する外部パラメータ群と接続し、接続状況管理テーブルを更新する。接続が完了すると、内部インターフェース60は、パラメータI/O制御ブロック30の指示に従って、接続する外部パラメータ群の設定を内部パラメータ群に移し、セッション処理ブロック40に通知する。未使用のものがなかった場合、起動要求を拒絶する。
【0028】
ホスト2がセッションを終了させる場合も同様に、対応する外部ホストインターフェース50のパラメータ群(a0(51−1)、a1(51−2)、a2(51−3)またはa3(51−4))にセッション終了要求を設定する。パラメータI/O制御ブロック30の接続解除手段は、接続状況管理テーブルを参照して、接続する内部パラメータ群(b0(61−1)またはb1(61−2))を検索し、該当する内部パラメータ群と外部パラメータ群との接続を解除し、接続状況管理テーブルを更新する。
【0029】
ここで、接続状況管理テーブルについて説明する。図2は、本発明の実施の形態の接続状況管理テーブルの構成図である。この実施の形態では、外部ホストインターフェースのパラメータ群と関連付けられた外部ホストインターフェースの接続状況管理テーブル100と、内部インターフェースのパラメータ群と関連付けられた内部インターフェースの接続状況管理テーブル200との2つの接続状況管理テーブルを備える。
【0030】
外部ホストインターフェースの接続状況管理テーブル100は、そのパラメータ群を識別するID(図の例では、a0、a1、a2、a3)に対応して、これに接続された内部パラメータ群を示す接続状況情報が登録される。
【0031】
内部インターフェースの接続状況管理テーブル200は、そのパラメータ群を識別するID(図の例では、b0、b1)に対応して、これに接続された外部パラメータ群を示す接続状況情報が登録される。
【0032】
このように、接続状況管理テーブルを用いて接続および接続解除を行なうことによって、内部インターフェースの内部パラメータ群を必要最小限の数に絞ることができ、無駄なメモリを削減することができる。一方、外部ホストインターフェースの外部パラメータ群は、エントリ可能なセッション数に応じて設けられる。すなわち、あるセッションについてのパラメータ設定あるいは読み出しは、パラメータRAM領域10の同一アドレスに対して実施される。このため、ホスト2からの操作性やデバッグ性を損なうことがない。この結果、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【0033】
なお、上記の説明では、それぞれに接続状況管理テーブルを持つとしたが、接続状況が把握できればよいので、どちらか一方のみを持つとすることもできる。
次に、本発明の実施の形態における接続と接続解除の動作について具体例を用いて説明する。
【0034】
まず、起動要求時の動作について説明する。図3は、本発明の実施の形態において第1の起動要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0035】
ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa0(51−1)に相当するセッションの起動要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション起動要求を読み取る。まず、内部インターフェースの接続状況管理テーブル200から未使用な内部パラメータ群のIDを先頭から検索する。図の例では、内部パラメータ群b0(61−1)が検出される。外部パラメータ群a0(51−1)にパラメータが入力されたので、パラメータが入力された外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)とを接続する。このとき、双方の接続状況管理テーブルを更新する。
【0036】
ここでの接続状況管理テーブルの変化について説明する。図4は、本発明の実施の形態において第1の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)とが接続されるので、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a0のIDに対応する内部インターフェースとの接続状況欄101の登録を未使用から接続する内部パラメータ群のIDであるb0に更新する。また、内部インターフェースの接続状況管理テーブル200の内部パラメータ群b0のIDに対応する外部ホストインターフェースとの接続状況欄201の登録を未使用から接続する外部パラメータ群のIDであるa0に更新する。
【0037】
続いて、上記説明の状態から第2の起動要求があった場合の動作について説明する。図5は、本発明の実施の形態において第2の起動要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0038】
外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)とが接続し、外部パラメータ群a0(51−1)に対応するセッションが起動している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa3(51−4)に相当するセッションの起動要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション起動要求を読み取り、内部インターフェースの接続状況管理テーブル200から未使用な内部パラメータ群のIDを先頭から検索する。図の例では、内部パラメータ群b0(61−1)が使用中であるので、内部パラメータ群b1(61−2)が検出される。外部パラメータ群a3(51−4)にパラメータが入力されたので、パラメータが入力された外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とを接続し、双方の接続状況管理テーブルを更新する。
【0039】
ここでの接続状況管理テーブルの変化について説明する。図6は、本発明の実施の形態において第2の起動要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)とが接続された状態で、さらに外部パラメータ群a3(51−4)と、内部パラメータ群b1(61−2)とが接続される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a3のIDに対応する内部インターフェースとの接続状況欄102の登録を未使用から接続する内部パラメータ群のIDであるb1に更新する。また、内部インターフェースの接続状況管理テーブル200の内部パラメータ群b1のIDに対応する外部ホストインターフェースとの接続状況欄202の登録を未使用から接続する外部パラメータ群のIDであるa3に更新する。
【0040】
ここまでの処理で、同時に動作が可能な最大のセッション数に合わせて設けられた内部パラメータ群は、全て使用中になる。仮にこの状態でホスト2から残る外部パラメータ群a1(51−2)あるいはa2(51−3)に対応するセッションの起動要求がきても、最大同時動作セッション数を超えてしまうため、これ以上はセッションを起動できない。
【0041】
続いて、上記説明の状態から終了要求があった場合の動作について説明する。図7は、本発明の実施の形態において第1の終了要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0042】
外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)、および外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa0(51−1)に相当するセッションの終了要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル100から外部パラメータ群a0(51−1)に対応する内部パラメータ群のIDを抽出する。図の例では、内部パラメータ群b0(61−1)が抽出される。そして、外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)との接続を解除し、双方の接続状況管理テーブルを更新する。
【0043】
ここでの接続状況管理テーブルの変化について説明する。図8は、本発明の実施の形態において第1の終了要求があった場合の接続状況管理テーブルの変化を示した図である。上記の説明のように、外部パラメータ群a0(51−1)と内部パラメータ群b0(61−1)、および外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続された状態で、外部パラメータ群a0(51−1)と、内部パラメータ群b0(61−1)との接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a0のIDに対応する内部インターフェースとの接続状況欄103の登録を未使用に更新する。また、内部インターフェースとの接続状況欄103に登録されていた内部パラメータ群b0に対応する内部インターフェースの接続状況管理テーブル200の外部ホストインターフェースとの接続状況欄203も未使用に更新する。
【0044】
続いて、上記説明の状態から第2の終了要求があった場合の動作について説明する。図9は、本発明の実施の形態において第2の終了要求があった場合の動作を示した図である。図1と同じものには同じ番号を付し、説明は省略する。
【0045】
外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続している状態で、ホスト2から外部ホストインターフェース50を介して外部パラメータ群のIDがa3(51−4)に相当するセッションの終了要求が入力される。パラメータI/O制御ブロック30は、外部ホストインターフェース50を介してセッション終了要求を読み取り、外部ホストインターフェースの接続状況管理テーブル100から対応する内部パラメータ群のIDを抽出する。図の例では、内部パラメータ群b1(61−2)が抽出されるので、外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)との接続を解除し、双方の接続状況管理テーブルを更新する。
【0046】
ここでの接続状況管理テーブルの変化について説明する。図10は、本発明の実施の形態において第2の終了要求があった場合の接続状況管理テーブルの変化を示した図である。外部パラメータ群a3(51−4)と内部パラメータ群b1(61−2)とが接続された状態で、この接続が解除される。そこで、外部ホストインターフェースの接続状況管理テーブル100の外部パラメータ群a3のIDに対応する内部インターフェースとの接続状況欄104の登録を未使用に更新する。また、内部インターフェースとの接続状況欄104に登録されていた内部パラメータ群b1に対応する内部インターフェースの接続状況管理テーブル200の外部ホストインターフェースとの接続状況欄204も未使用に更新する。
【0047】
以上のように、外部ホストインターフェースおよび内部インターフェースの接続状況管理テーブルを参照して、エントリ可能なセッション数分設けられた外部パラメータ群と最大同時動作可能なセッション数分のみ設けられた内部パラメータ群の接続と接続解除が実行される。
【0048】
次に、本発明の入出力制御方法について説明する。図11は、本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。この処理手順は、インターフェース接続状況管理関数プログラムによってパラメータI/O制御ブロック30が実行する。
[ステップS01] パラメータが設定された外部パラメータ群が内部インターフェースの内部パラメータ群と接続中であるかどうか、外部ホストインターフェースの接続状況管理テーブル100を参照して判定する。接続中でなければステップS02へ処理を進め、接続中であればステップS05へ処理を進める。
[ステップS02] パラメータ設定された外部パラメータ群が内部パラメータ群と接続されていない場合、入力されたパラメータを解析し、ホスト2からセッション起動要求があるかどうかを判断する。セッション起動要求があればステップS03へ処理を進め、なければ処理を終了する。
[ステップS03] 内部インターフェースの接続状況管理テーブル200を用いて、未使用の内部パラメータ群があるかどうかを検索する。未使用の内部パラメータ群がある場合、ステップS04へ処理を進め、なければ処理を終了する。
[ステップS04] セッション起動要求のあった外部ホストインターフェースの外部パラメータ群とステップS03で検出された未使用な内部インターフェースの内部パラメータ群とを接続し、それぞれの接続状況管理テーブルに接続情報を登録し、処理を終了する。
[ステップS05] パラメータが設定された外部パラメータ群と内部パラメータ群が接続中である場合、入力されたパラメータを解析し、ホスト2からセッション終了要求があるかどうかを判断する。セッション終了要求があればステップS06へ処理を進め、なければ処理を終了する。
[ステップS06] セッション終了要求のあった外部ホストインターフェースの外部パラメータ群とこれと接続中の内部インターフェースの内部パラメータ群との接続を解除し、それぞれの接続状況管理テーブルに登録されている接続情報を消去し、処理を終了する。
【0049】
以上の処理手順を外部ホストインターフェース50のパラメータ群それぞれに対して繰り返し実行することにより、ホスト2からのセッション起動および終了要求に随時対応する。
【0050】
このように、エントリ可能なセッション数分設けられた外部ホストインターフェースの外部パラメータ群と、同時動作可能なセッション数である必要最小限の内部インターフェースの内部パラメータ群との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、パラメータ群を確保するための領域を削減することが可能となった。
【0051】
【発明の効果】
以上説明したように本発明の半導体装置では、半導体装置内部の処理ブロックの数に応じて外部インターフェース部を設け、同時に動作可能な最大の処理ブロックの数に応じて内部インターフェース部を設ける。そして、処理ブロックに対応する外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。これにより、上位装置より入力するパラメータが処理ブロックに通知され、処理ブロックによる処理が行なわれる。
【0052】
このように、内部インターフェース部は、必要最小限の数に絞られるため、無駄な領域を省くことができる。一方、外部インターフェース部は、処理ブロック数に応じて設けられるため、上位装置からの操作性を損なうことがない。よって、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【0053】
また、本発明の入出力制御方法では、処理ブロック数分設けられた外部インターフェース部と、同時動作可能な最大の処理ブロック数分設けられた内部インターフェース部が設けられた半導体装置において、外部インターフェース部を介して処理ブロックの起動要求があった場合、他の外部インターフェース部に接続されていない内部インターフェース部があれば、これと要求のあった外部インターフェース部とを接続する。また、処理ブロックの終了要求があった場合は、該当する外部インターフェース部と内部インターフェース部との接続を解除する。
【0054】
このように、処理ブロック数に応じて設けられた外部インターフェース部と、必要最小限の内部インターフェース部との接続および接続解除を制御することにより、上位装置からの操作性やデバッグ性を失うことなく、インターフェース部のための領域を削減することが可能となった。
【図面の簡単な説明】
【図1】本発明の実施の形態である半導体装置の構成図である。
【図2】本発明の実施の形態の接続状況管理テーブルの構成図である。
【図3】本発明の実施の形態において第1の起動要求があった場合の動作を示した図である。
【図4】本発明の実施の形態において第1の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図5】本発明の実施の形態において第2の起動要求があった場合の動作を示した図である。
【図6】本発明の実施の形態において第2の起動要求があった場合の接続状況管理テーブルの変化を示した図である。
【図7】本発明の実施の形態において第1の終了要求があった場合の動作を示した図である。
【図8】本発明の実施の形態において第1の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図9】本発明の実施の形態において第2の終了要求があった場合の動作を示した図である。
【図10】本発明の実施の形態において第2の終了要求があった場合の接続状況管理テーブルの変化を示した図である。
【図11】本発明の実施の形態の入出力制御方法の手順を示したフローチャートである。
【図12】従来の半導体装置の構成図である。
【符号の説明】
1・・・半導体装置、2・・・ホスト、10・・・パラメータRAM領域、20・・・プログラムRAM領域、30・・・パラメータI/O制御ブロック、50・・・外部ホストインターフェース、51−1・・・外部パラメータ群a0、51−2・・・外部パラメータ群a1、51−3・・・外部パラメータ群a2、51−4・・・外部パラメータ群a3、60・・・内部インターフェース、61−1・・・内部パラメータ群b1、61−2・・・外部パラメータ群b2
Claims (6)
- 上位装置から入力するパラメータに基づいて所定の処理を実行する処理ブロックを備えた半導体装置において、
前記処理ブロックの数に応じて設けられ、前記上位装置に対して前記パラメータの入出力処理を行なう外部インターフェース部と、
前記処理ブロックが同時に動作可能な最大の数に応じて設けられ、前記処理ブロックに対して前記パラメータの入出力処理を行なう内部インターフェース部と、
前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、他の前記外部インターフェース部に接続されていない前記内部インターフェース部があれば該内部インターフェース部と前記外部インターフェース部とを接続する接続制御部と、
を具備することを特徴とする半導体装置。 - 前記接続制御部に前記外部インターフェース部と前記内部インターフェース部の接続を管理する接続状況管理テーブルを設け、
前記外部インターフェース部を介して前記処理ブロックの起動要求が入力した場合、前記接続状況管理テーブルを用いて未使用が設定されている前記内部インターフェース部を検索し、検出された前記内部インターフェース部と前記起動要求が入力した前記外部インターフェース部とを接続するとともに、対応する前記接続状況管理テーブルに前記内部インターフェース部が使用されていることを登録する接続手段と、
前記外部インターフェース部を介して前記処理ブロックの終了要求が入力した場合、前記接続状況管理テーブルを用いて前記外部インターフェース部に接続されている前記内部インターフェース部を検索し、検出された前記内部インターフェース部と前記起動要求が入力した前記外部インターフェース部との接続を解除するとともに、対応する前記接続状況管理テーブルに前記内部インターフェース部が未使用となったことを登録する接続解除手段と、
を有することを特徴とする請求項1記載の半導体装置。 - 前記接続状況管理テーブルは、
前記外部インターフェース部に関連付けて接続状況を管理する第1の接続状況管理テーブルと、
前記内部インターフェース部に関連付けて接続状況を管理する第2の接続状況管理テーブルと、
を有することを特徴とする請求項2記載の半導体装置。 - 前記外部インターフェース部は、前記処理ブロックに対応して、前記処理ブロックの前記パラメータが設定される領域を前記上位装置から読み書きが可能な記憶手段に確保していることを特徴とする請求項1記載の半導体装置。
- 前記内部インターフェース部は、前記処理ブロックが同時に動作可能な最大の数に対応して、起動された前記処理ブロックの前記パラメータが設定される領域を前記処理ブロックから読み書きが可能な記憶手段に確保していることを特徴とする請求項1記載の半導体装置。
- 上位装置と、前記上位装置から入力するパラメータに基づいて所定の処理を実行する半導体装置の処理ブロックと、の間の前記パラメータの入出力処理を制御する入出力制御方法において、
前記処理ブロックの数に応じて設けられた外部インターフェース部に対して、前記上位装置から設定された前記パラメータを検出し、
検出された前記パラメータが前記処理ブロックの起動要求であった場合に、前記処理ブロックが同時に動作可能な最大の数に応じて設けられた内部インターフェース部が使用中であるかどうかを判断し、使用中でなければ該内部インターフェース部と前記パラメータが設定された前記外部インターフェース部とを接続して前記上位装置と前記処理ブロック間での前記パラメータの入出力を可能とし、
検出された前記パラメータが前記処理ブロックの終了要求であった場合に、該外部インターフェース部と、前記外部インターフェース部に接続する前記内部インターフェース部との接続を解除して前記上位装置と前記処理ブロック間での前記パラメータの入出力を終了させる手順を有することを特徴とする入出力制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003056709A JP2004265282A (ja) | 2003-03-04 | 2003-03-04 | 半導体装置およびその入出力制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003056709A JP2004265282A (ja) | 2003-03-04 | 2003-03-04 | 半導体装置およびその入出力制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004265282A true JP2004265282A (ja) | 2004-09-24 |
Family
ID=33120311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003056709A Abandoned JP2004265282A (ja) | 2003-03-04 | 2003-03-04 | 半導体装置およびその入出力制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004265282A (ja) |
-
2003
- 2003-03-04 JP JP2003056709A patent/JP2004265282A/ja not_active Abandoned
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6725295B2 (en) | Multi-path computer system | |
US6591358B2 (en) | Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU | |
CN100573481C (zh) | 可配置的PCI Express开关及其控制方法 | |
CN100451966C (zh) | 发现数据处理系统内的硬件的方法和设备 | |
US8032786B2 (en) | Information-processing equipment and system therefor with switching control for switchover operation | |
JPH06195293A (ja) | コンピュータ・システム | |
JP2006072591A (ja) | 仮想計算機制御方法 | |
CN102053869A (zh) | 一种多操作系统的资源分配方法和装置 | |
US20080162764A1 (en) | Processing method and processing device for a hardware interrupt | |
CN107707687A (zh) | 一种虚拟机ip地址配置的方法和装置 | |
EP3629160B1 (en) | Method and device for managing vnf instantiation | |
JPH11338804A (ja) | ネットワーク構成管理対象アクセスシステム及び方法 | |
US20140067771A2 (en) | Management of a Scalable Computer System | |
JP2010218449A (ja) | リソース割り当てシステム、及びリソース割り当て方法 | |
CN112073555A (zh) | Ip地址的配置方法、电子设备和计算机可读存储介质 | |
JP2004265282A (ja) | 半導体装置およびその入出力制御方法 | |
US10528397B2 (en) | Method, device, and non-transitory computer readable storage medium for creating virtual machine | |
JP2000163345A (ja) | デバイス制御システムおよび情報登録方法、デバイス利用方法、並びにコンピュータプログラムを記録した記録媒体 | |
US7688840B2 (en) | Method for incorporating new device in information processing apparatus, information processing apparatus and computer readable information recording medium | |
KR101199378B1 (ko) | 다중코어를 구비한 시스템에 적용되는 서브시스템 간액세스 장치 및 방법 | |
JP2003177929A (ja) | マスタマシン、スレーブマシン、およびそれらを有するクラスタリングシステム | |
CN114546912A (zh) | 一种用于服务器系统的中断拓展方法 | |
KR100385220B1 (ko) | 통신 시스템에서 공통 자원 관리 장치 및 방법 | |
JP2002232439A (ja) | データ通信装置 | |
JP2004272349A (ja) | データ処理システムおよびデータ処理システムの制御方法ならびに外部記憶装置および外部記憶装置の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Effective date: 20060213 Free format text: JAPANESE INTERMEDIATE CODE: A621 |
|
A762 | Written abandonment of application |
Effective date: 20080226 Free format text: JAPANESE INTERMEDIATE CODE: A762 |