(57)【要約】【課題】ＤＭＡコントローラによるＤＭＡ転送アドレスの設定時におけるオーバヘッドを短縮し、効率よく転送アドレスを設定する。【解決手段】比較部１３は、転送アドレス変換テーブル１２に登録されている仮想アドレスと指定された仮想アドレスとを比較し、一致するとヒット信号を出力する。セレクタ１４は、この信号を受けてその仮想アドレスに対応する物理アドレスを出力する。また、不一致の際には、比較部１３から検索要求信号が出力される。比較部８は指定された仮想アドレスと共用アドレス変換テーブル７の仮想アドレスとを比較し、一致するとヒット信号を出力する。セレクタ９は、仮想アドレスを物理アドレスに変換して出力する。比較部１３は、その物理アドレスと指定された仮想アドレスとを転送アドレス変換テーブル１２に登録し、セレクタ１４は、検索された物理アドレスを出力し、ＤＭＡ転送が開始となる。【選択図】図１
2008123389.tif 000002
【特許請求の範囲】
【請求項１】
外部接続された半導体メモリや周辺機能モジュールに対して直接アクセスし、データの書き込み／読み出し制御を行うＤＭＡコントローラと、
前記ＤＭＡコントローラのアクセス対象となる複数の周辺モジュールと、
中央処理装置とを備え、
前記ＤＭＡコントローラは、
仮想アドレスを物理アドレスに変換する任意の一部のアドレス変換情報が登録された転送アドレス変換テーブルと、
指定された仮想アドレスが前記転送アドレス変換テーブルに登録されているか否かを検索し、登録されている際、前記転送アドレス変換テーブルに基づいて前記仮想アドレスを物理アドレスに変換して出力し、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されていない場合、前記中央処理装置に検索要求信号を出力するアドレス変換制御部とよりなるアドレス変換部を備え、
前記中央処理装置は、
すべての仮想アドレスを物理アドレスに変換する共用アドレス変換テーブルと、
前記アドレス変換制御部の検索要求信号に基づいて、指定された前記仮想アドレスと一致する物理アドレスを前記共用アドレス変換テーブルから検索して前記ＤＭＡコントローラに出力するアドレス検索変換部とよりなる共用アドレス検索変換部を備えたことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、
前記アドレス変換制御部は、
指定された前記仮想アドレスと転送アドレス変換テーブルに登録された仮想アドレスとを比較し、それらアドレスが一致するか否かを判定し、一致した際に第１ヒット信号を出力し、不一致の際には検索要求信号を出力する比較制御部と、
第１ヒット信号が入力された際に、転送アドレス変換テーブルに基づいて前記仮想アドレスを対応する物理アドレスに変換して出力する第１の選択部とよりなることを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置において、
前記アドレス検索変換部は、
検索要求信号が入力された際に、指定された前記仮想アドレスと前記共用アドレス変換テーブルの仮想アドレスとを比較し、一致した際に第２ヒット信号を出力する制御部と、
前記制御部から出力された第２ヒット信号に基づいて、検索された前記共用アドレス変換テーブルの仮想アドレスに対応する物理アドレスを選択して出力する第２の選択部とよりなることを特徴とする半導体集積回路装置。
【請求項４】
請求項２記載の半導体集積回路装置において、
前記周辺モジュールは、
少なくとも前記半導体メモリを含むことを特徴とする半導体集積回路装置。
【請求項５】
請求項２〜４のいずれか１項に記載の半導体集積回路装置において、
前記比較制御部は、
指定された前記仮想アドレスが転送アドレス変換テーブルに登録されていない場合に、第２の選択部が選択した物理アドレスと指定された前記仮想アドレスとを前記転送アドレス変換テーブルに登録する機能を有することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置におけるデータ転送技術に関し、特に、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラによるＤＭＡ転送に有効な技術に関する。
【背景技術】
【０００２】
半導体集積回路装置においては、外部接続された半導体メモリや内部メモリなどに対して中央処理装置（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を介することなく直接アクセスしてデータの書き込み／読み出し制御を行うＤＭＡ転送を行うＤＭＡコントローラが広く用いられている。
【０００３】
半導体集積回路装置の中央処理装置は、仮想アドレスで動作しているが、ＤＭＡコントローラなどのバスマスタは、物理アドレスのバスに接続されており、仮想アドレスから物理アドレスへの変換が必要となる。
【０００４】
一般に、ＤＭＡコントローラの転送先／転送元アドレスを設定する際には、ソフトウェアによって物理アドレスへの変換が行われている。また、ソフトウェアによるアドレス変換以外に、ＤＭＡコントローラの転送先／転送元アドレスの設定技術として、ＤＭＡコントローラにアドレス変換機能を持たせたものが知られている。
【０００５】
この種のＤＭＡコントローラによる転送アドレスの設定技術としては、たとえば、システム立ち上げ時などに、仮想アドレス値と物理アドレス値とを変換する変換情報データをＣＰＵによって設定し、ＤＭＡ転送時にＣＰＵによりＤＭＡコントローラに設定された仮想ＤＭＡ転送開始アドレス値よりＤＭＡコントローラが生成した仮想ＤＭＡ転送アドレス値を変換情報データによりメモリの物理ＤＭＡ転送アドレス値に仮想／物理アドレス変換部で変換するもの（特許文献１参照）やＤＭＡコントローラに、マイクロプロセッサのプロセッサ内メモリ管理機構と互換性があるコントローラ内メモリ管理機構を備え、コントローラ内メモリ管理機構のトランスレーション・ルックアサイド・バッファ・エントリに、ダイレクトメモリアクセスを起動したマイクロプロセッサの番号とダイレクトメモリアクセス終了割り込みレベルとを保持するもの（特許文献２参照）などが知られている。
【特許文献１】特開平０５−１２０２０５号公報
【特許文献２】特開平０８−２６３４２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記のようなＤＭＡコントローラによる転送アドレスの設定技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
ソフトウェアによる転送アドレスの変換技術では、ＤＭＡ転送が発生する毎に仮想アドレスを物理アドレスに変換する演算処理を行い、その演算した物理アドレスを設定する処理が必要となるために、半導体集積回路装置の処理速度が低下してしまうという問題がある。
【０００８】
また、ＤＭＡコントローラにアドレス変換機能を持たせた場合、その変換情報は、半導体集積回路装置の立ち上げ時などにソフトウェアによって設定する必要があり、半導体集積回路装置の起動時間、強いては、システムの起動時間が長くなってしまうという問題がある。
【０００９】
また、中央処理装置とＤＭＡコントローラとに同じアドレス変換情報をそれぞれ登録しなければならず、ソフトウェアの負担が大きくなり、この場合も、半導体集積回路装置の処理速度が低下してしまう恐れが生じてしまうことになる。
【００１０】
本発明の目的は、ＤＭＡコントローラによるＤＭＡ転送アドレスの設定時におけるオーバヘッドを短縮し、効率よく転送アドレスを設定することのできる技術を提供することにある。
【００１１】
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１３】
本発明による半導体集積回路装置は、外部接続された半導体メモリや周辺機能モジュールに対して直接アクセスし、データの書き込み／読み出し制御を行うＤＭＡコントローラと、前記ＤＭＡコントローラのアクセス対象となる複数の周辺モジュールと、中央処理装置とを備え、前記ＤＭＡコントローラは、仮想アドレスを物理アドレスに変換する任意の一部のアドレス変換情報が登録された転送アドレス変換テーブルと、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されているか否かを検索し、登録されている際、前記転送アドレス変換テーブルに基づいて前記仮想アドレスを物理アドレスに変換して出力し、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されていない場合、前記中央処理装置に検索要求信号を出力するアドレス変換制御部とよりなるアドレス変換部を備え、前記中央処理装置は、すべての仮想アドレスを物理アドレスに変換する共用アドレス変換テーブルと、前記アドレス変換制御部の検索要求信号に基づいて、指定された前記仮想アドレスと一致する物理アドレスを前記共用アドレス変換テーブルから検索して前記ＤＭＡコントローラに出力するアドレス検索変換部とよりなる共用アドレス検索変換部を備えたものである。
【００１４】
また、本願のその他の発明の概要を簡単に示す。
【００１５】
本発明の半導体集積回路装置は、前記アドレス変換制御部が、指定された前記仮想アドレスと転送アドレス変換テーブルに登録された仮想アドレスとを比較し、それらアドレスが一致するか否かを判定し、一致した際に第１ヒット信号を出力し、不一致の際には検索要求信号を出力する比較制御部と、第１ヒット信号が入力された際に、転送アドレス変換テーブルに基づいて前記仮想アドレスを対応する物理アドレスに変換して出力する第１の選択部とよりなるものである。
【００１６】
また、本発明の半導体集積回路装置は、前記アドレス検索変換部が、検索要求信号が入力された際に、指定された前記仮想アドレスと前記共用アドレス変換テーブルの仮想アドレスとを比較し、一致した際に第２ヒット信号を出力する制御部と、該制御部から出力された第２ヒット信号に基づいて、検索された前記共用アドレス変換テーブルの仮想アドレスに対応する物理アドレスを選択して出力する第２の選択部とよりなるものである。
【００１７】
さらに、本発明の半導体集積回路装置は、前記周辺モジュールが、少なくとも前記半導体メモリを含むものである。
【００１８】
また、本発明の半導体集積回路装置は、前記比較制御部が、指定された前記仮想アドレスが転送アドレス変換テーブルに登録されていない場合に、第２の選択部が選択した物理アドレスと指定された前記仮想アドレスとを前記転送アドレス変換テーブルに登録する機能を有するものである。
【発明の効果】
【００１９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００２０】
（１）仮想アドレスを物理アドレスに変換する情報の管理を中央処理装置のみで管理することができるので、ソフトウェアの負担を大幅に低減することができる。
【００２１】
（２）上記（１）により、半導体集積回路装置の処理速度を向上させることができる。
【００２２】
（３）また、上記（１）により、半導体集積回路装置の初期設定に要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２４】
図１は、本発明の実施の形態による半導体集積回路装置のブロック図、図２は、図１の半導体集積回路装置におけるＣＰＵからのＤＭＡ転送要求が発生した際の処理例を示すフローチャートである。
【００２５】
本実施の形態において、半導体集積回路装置１は、図１に示すように、ＣＰＵ２、内蔵メモリ（半導体メモリ）３、複数の周辺ＩＰ（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）４、およびＤＭＡコントローラ５から構成されている。
【００２６】
ＣＰＵ２は、中央処理装置として機能し、半導体集積回路装置１におけるすべての制御を司る。周辺モジュールの１つである内蔵メモリ３は、たとえば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの揮発性半導体メモリからなり、プログラムやデータなどを一時的に格納する。また、内蔵メモリ３は、揮発性半導体メモリ以外であってもよく、たとえば、フラッシュメモリに例示される不揮発性半導体メモリなどの半導体メモリであってもよい。
【００２７】
周辺ＩＰ４は、シリアルインタフェースモジュールやタイマモジュールなどの様々な周辺モジュールからなる。内蔵メモリ３、および周辺ＩＰ４は、ＣＰＵ２やＤＭＡコントローラ５などのアクセス対象となるモジュールである。
【００２８】
ＤＭＡコントローラ５は、任意の周辺ＩＰ４と内蔵メモリ３との間におけるデータ転送をＣＰＵ２を介することなく直接アクセスして制御を行う。また、ＣＰＵ２、内蔵メモリ３、周辺ＩＰ４、ならびにＤＭＡコントローラ５は、アドレスバスＡＢ、データバスＤＢを介して相互に接続されている。
【００２９】
ＣＰＵ２には、共用アドレス検索変換部６が設けられている。共用アドレス検索変換部６は、ＤＭＡコントローラ５から出力される検索要求信号に基づいて、ＣＰＵ２などに指定された仮想アドレスと一致する物理アドレスを検索してＤＭＡコントローラ５に出力する。
【００３０】
共用アドレス検索変換部６は、共用アドレス変換テーブル７、比較部８、およびセレクタ９から構成されている。共用アドレス変換テーブル７は、ＤＭＡコントローラ５によって転送要求があった仮想アドレスを物理アドレスに変換するテーブルからなる。
【００３１】
比較部８は、ＤＭＡコントローラ５から出力される検索要求信号に基づいて、転送アドレスとしてＣＰＵ２などから指定された仮想アドレスと一致する共用アドレス変換テーブル７の仮想アドレスを検索し、一致した際にヒット信号（第２ヒット信号）を出力する。
【００３２】
第２の選択部となるセレクタ９は、比較部８から出力されたヒット信号に基づいて、検索された共用アドレス変換テーブル７の仮想アドレスに対応する物理アドレスを選択し、ＤＭＡコントローラ５に出力する。
【００３３】
また、ＤＭＡコントローラ５には、リクエスト制御部１０、およびアドレス変換部１１が備えられている。リクエスト制御部１０は、ＣＰＵ２などからの転送要求に基づいて、データの転送開始／終了の制御を行う。このリクエスト制御部１０には、アドレス設定レジスタ１０ａが備えられている。アドレス設定レジスタ１０ａは、ＣＰＵ２などが指定した転送元／転送先アドレスとなる仮想アドレスが格納される。
【００３４】
アドレス変換部１１は、ＣＰＵ２などから指定された仮想アドレスからなる転送アドレスを物理アドレスに変換する。アドレス変換部１１は、転送アドレス変換テーブル１２、比較部１３、およびセレクタ１４から構成されている。
【００３５】
転送アドレス変換テーブル１２は、共用アドレス変換テーブル７の一部（任意の情報）が格納されている。アドレス変換制御部、および比較制御部として機能する比較部１３は、リクエスト制御部１０のアドレス設定レジスタ１０ａに格納された仮想アドレスからなる転送アドレスと転送アドレス変換テーブル１２の仮想アドレスと比較し、一致した際にはセレクタ１４にヒット信号（第１ヒット信号）を出力し、不一致の場合には、共用アドレス検索変換部６に検索要求信号を出力する。
【００３６】
アドレス変換制御部として機能するセレクタ１４は、比較部１３から出力されたヒット信号に基づいて、検索された共用アドレス変換テーブル７の仮想アドレス用に対応する物理アドレスを選択してアドレスバスＡＢに出力する。
【００３７】
次に、本実施の形態によるＤＭＡコントローラ５、およびＣＰＵ２の共用アドレス検索変換部６における動作について説明する。
【００３８】
図２は、たとえば、ＣＰＵ２からのＤＭＡ転送要求が発生した際の処理例を示すフローチャートである。
【００３９】
まず、ＣＰＵ２が内蔵メモリ３をアクセスする際、ＣＰＵ２は転送元／転送先アドレスとなる仮想アドレスをデータバスＤＢを介して指定する。これら仮想アドレスは、アドレス設定レジスタ１０ａに格納される。
【００４０】
ＤＭＡ転送を開始すると、リクエスト制御部１０から、アドレス設定レジスタ１０ａに格納された仮想アドレスがアドレス変換部１１に出力される。これを受けて、アドレス変換部１１の比較部１３は、転送アドレス変換テーブル１２に登録されている全てのエントリの仮想アドレスとリクエスト制御部１０からの仮想アドレスとを比較する（ステップＳ１０１）。
【００４１】
比較の結果、転送アドレス変換テーブル１２に一致する仮想アドレスが存在する場合には、比較部１３からヒット信号が出力される。セレクタ１４は、ヒット信号を受けて一致する仮想アドレスに対応する物理アドレスを選択し（ステップＳ１０２）、アドレスバスＡＢを介してその物理アドレスを出力しＤＭＡ転送が開始される（ステップＳ１０３）。
【００４２】
また、ステップＳ１０１の処理において、比較の結果、一致する仮想アドレスが転送アドレス変換テーブル１２に存在しない場合には、比較部１３から検索要求信号が共用アドレス検索変換部６に出力される。
【００４３】
共用アドレス検索変換部６は、検索要求信号が入力されると、リクエスト制御部１０からの仮想アドレスと共用アドレス変換テーブル７に登録されている全てのエントリの仮想アドレスとを比較し（ステップＳ１０４）、一致する仮想アドレスを検索する。
【００４４】
検索が終了すると、比較部８は、ヒット信号をセレクタ９に出力する。セレクタ９は、ヒット信号を受けて、検索された仮想アドレスに対応するエントリに登録されていた物理アドレスを選択し、比較部１３に出力する。
【００４５】
比較部１３は、共用アドレス検索変換部６から出力された物理アドレスとリクエスト制御部１０からの仮想アドレスとを転送アドレス変換テーブル１２にそれぞれに登録する（ステップＳ１０５）。
【００４６】
また、セレクタ１４は、共用アドレス検索変換部６から出力された物理アドレスをアドレスバスＡＢへ出力し（ステップＳ１０２）、ＤＭＡ転送が開始されることになる（ステップＳ１０３）。
【００４７】
それにより、本実施の形態によれば、アドレス変換部１１において検索ミスが生じた際にハードウェアでミスハンドリングを行うことができるので、ソフトウェアによる処理を低減することができ、半導体集積回路装置１の処理速度などを向上させることができる。
【００４８】
また、ＤＭＡコントローラ５に登録される転送アドレス変換テーブル１２の情報管理が不要となるので、テーブル管理が容易となり、半導体集積回路装置１の起動時間を短縮させることができる。
【００４９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００５０】
本発明は、ＤＭＡコントローラにより効率よく転送アドレスを設定する技術に適している。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態による半導体集積回路装置のブロック図である。
【図２】図１の半導体集積回路装置におけるＣＰＵからのＤＭＡ転送要求が発生した際の処理例を示すフローチャートである。
【符号の説明】
【００５２】
１  半導体集積回路装置
２  ＣＰＵ２
３  内蔵メモリ
４  周辺ＩＰ
５  ＤＭＡコントローラ
６  共用アドレス検索変換部
７  共用アドレス変換テーブル
８  比較部
９  セレクタ
１０  リクエスト制御部
１０ａ  アドレス設定レジスタ
１１  アドレス変換部
１２  転送アドレス変換テーブル
１３  比較部
１４  セレクタ
ＡＢ  アドレスバス
ＤＢ  データバス
【図１】
2008123389.tif 000003
【図２】
2008123389.tif 000004