[go: up one dir, main page]

JP2008123389A - 半導体集積回路装置 - Google Patents

半導体集積回路装置 Download PDF

Info

Publication number
JP2008123389A
JP2008123389A JP2006308567A JP2006308567A JP2008123389A JP 2008123389 A JP2008123389 A JP 2008123389A JP 2006308567 A JP2006308567 A JP 2006308567A JP 2006308567 A JP2006308567 A JP 2006308567A JP 2008123389 A JP2008123389 A JP 2008123389A
Authority
JP
Japan
Prior art keywords
address
integrated circuit
circuit device
semiconductor integrated
transfer
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.)
Pending
Application number
JP2006308567A
Other languages
English (en)
Inventor
Kiyoshi Hayase
清 早瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006308567A priority Critical patent/JP2008123389A/ja
Publication of JP2008123389A publication Critical patent/JP2008123389A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】DMAコントローラによるDMA転送アドレスの設定時におけるオーバヘッドを短縮し、効率よく転送アドレスを設定する。
【解決手段】比較部13は、転送アドレス変換テーブル12に登録されている仮想アドレスと指定された仮想アドレスとを比較し、一致するとヒット信号を出力する。セレクタ14は、この信号を受けてその仮想アドレスに対応する物理アドレスを出力する。また、不一致の際には、比較部13から検索要求信号が出力される。比較部8は指定された仮想アドレスと共用アドレス変換テーブル7の仮想アドレスとを比較し、一致するとヒット信号を出力する。セレクタ9は、仮想アドレスを物理アドレスに変換して出力する。比較部13は、その物理アドレスと指定された仮想アドレスとを転送アドレス変換テーブル12に登録し、セレクタ14は、検索された物理アドレスを出力し、DMA転送が開始となる。
【選択図】図1

Description

本発明は、半導体集積回路装置におけるデータ転送技術に関し、特に、DMA(Direct Memory Access)コントローラによるDMA転送に有効な技術に関する。
半導体集積回路装置においては、外部接続された半導体メモリや内部メモリなどに対して中央処理装置(CPU:Central Processing Unit)を介することなく直接アクセスしてデータの書き込み/読み出し制御を行うDMA転送を行うDMAコントローラが広く用いられている。
半導体集積回路装置の中央処理装置は、仮想アドレスで動作しているが、DMAコントローラなどのバスマスタは、物理アドレスのバスに接続されており、仮想アドレスから物理アドレスへの変換が必要となる。
一般に、DMAコントローラの転送先/転送元アドレスを設定する際には、ソフトウェアによって物理アドレスへの変換が行われている。また、ソフトウェアによるアドレス変換以外に、DMAコントローラの転送先/転送元アドレスの設定技術として、DMAコントローラにアドレス変換機能を持たせたものが知られている。
この種のDMAコントローラによる転送アドレスの設定技術としては、たとえば、システム立ち上げ時などに、仮想アドレス値と物理アドレス値とを変換する変換情報データをCPUによって設定し、DMA転送時にCPUによりDMAコントローラに設定された仮想DMA転送開始アドレス値よりDMAコントローラが生成した仮想DMA転送アドレス値を変換情報データによりメモリの物理DMA転送アドレス値に仮想/物理アドレス変換部で変換するもの(特許文献1参照)やDMAコントローラに、マイクロプロセッサのプロセッサ内メモリ管理機構と互換性があるコントローラ内メモリ管理機構を備え、コントローラ内メモリ管理機構のトランスレーション・ルックアサイド・バッファ・エントリに、ダイレクトメモリアクセスを起動したマイクロプロセッサの番号とダイレクトメモリアクセス終了割り込みレベルとを保持するもの(特許文献2参照)などが知られている。
特開平05−120205号公報 特開平08−263426号公報
ところが、上記のようなDMAコントローラによる転送アドレスの設定技術では、次のような問題点があることが本発明者により見い出された。
ソフトウェアによる転送アドレスの変換技術では、DMA転送が発生する毎に仮想アドレスを物理アドレスに変換する演算処理を行い、その演算した物理アドレスを設定する処理が必要となるために、半導体集積回路装置の処理速度が低下してしまうという問題がある。
また、DMAコントローラにアドレス変換機能を持たせた場合、その変換情報は、半導体集積回路装置の立ち上げ時などにソフトウェアによって設定する必要があり、半導体集積回路装置の起動時間、強いては、システムの起動時間が長くなってしまうという問題がある。
また、中央処理装置とDMAコントローラとに同じアドレス変換情報をそれぞれ登録しなければならず、ソフトウェアの負担が大きくなり、この場合も、半導体集積回路装置の処理速度が低下してしまう恐れが生じてしまうことになる。
本発明の目的は、DMAコントローラによるDMA転送アドレスの設定時におけるオーバヘッドを短縮し、効率よく転送アドレスを設定することのできる技術を提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
本発明による半導体集積回路装置は、外部接続された半導体メモリや周辺機能モジュールに対して直接アクセスし、データの書き込み/読み出し制御を行うDMAコントローラと、前記DMAコントローラのアクセス対象となる複数の周辺モジュールと、中央処理装置とを備え、前記DMAコントローラは、仮想アドレスを物理アドレスに変換する任意の一部のアドレス変換情報が登録された転送アドレス変換テーブルと、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されているか否かを検索し、登録されている際、前記転送アドレス変換テーブルに基づいて前記仮想アドレスを物理アドレスに変換して出力し、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されていない場合、前記中央処理装置に検索要求信号を出力するアドレス変換制御部とよりなるアドレス変換部を備え、前記中央処理装置は、すべての仮想アドレスを物理アドレスに変換する共用アドレス変換テーブルと、前記アドレス変換制御部の検索要求信号に基づいて、指定された前記仮想アドレスと一致する物理アドレスを前記共用アドレス変換テーブルから検索して前記DMAコントローラに出力するアドレス検索変換部とよりなる共用アドレス検索変換部を備えたものである。
また、本願のその他の発明の概要を簡単に示す。
本発明の半導体集積回路装置は、前記アドレス変換制御部が、指定された前記仮想アドレスと転送アドレス変換テーブルに登録された仮想アドレスとを比較し、それらアドレスが一致するか否かを判定し、一致した際に第1ヒット信号を出力し、不一致の際には検索要求信号を出力する比較制御部と、第1ヒット信号が入力された際に、転送アドレス変換テーブルに基づいて前記仮想アドレスを対応する物理アドレスに変換して出力する第1の選択部とよりなるものである。
また、本発明の半導体集積回路装置は、前記アドレス検索変換部が、検索要求信号が入力された際に、指定された前記仮想アドレスと前記共用アドレス変換テーブルの仮想アドレスとを比較し、一致した際に第2ヒット信号を出力する制御部と、該制御部から出力された第2ヒット信号に基づいて、検索された前記共用アドレス変換テーブルの仮想アドレスに対応する物理アドレスを選択して出力する第2の選択部とよりなるものである。
さらに、本発明の半導体集積回路装置は、前記周辺モジュールが、少なくとも前記半導体メモリを含むものである。
また、本発明の半導体集積回路装置は、前記比較制御部が、指定された前記仮想アドレスが転送アドレス変換テーブルに登録されていない場合に、第2の選択部が選択した物理アドレスと指定された前記仮想アドレスとを前記転送アドレス変換テーブルに登録する機能を有するものである。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
(1)仮想アドレスを物理アドレスに変換する情報の管理を中央処理装置のみで管理することができるので、ソフトウェアの負担を大幅に低減することができる。
(2)上記(1)により、半導体集積回路装置の処理速度を向上させることができる。
(3)また、上記(1)により、半導体集積回路装置の初期設定に要する時間を短縮することができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
図1は、本発明の実施の形態による半導体集積回路装置のブロック図、図2は、図1の半導体集積回路装置におけるCPUからのDMA転送要求が発生した際の処理例を示すフローチャートである。
本実施の形態において、半導体集積回路装置1は、図1に示すように、CPU2、内蔵メモリ(半導体メモリ)3、複数の周辺IP(Intellectual Property)4、およびDMAコントローラ5から構成されている。
CPU2は、中央処理装置として機能し、半導体集積回路装置1におけるすべての制御を司る。周辺モジュールの1つである内蔵メモリ3は、たとえば、DRAM(Dynamic Random Access Memory)などの揮発性半導体メモリからなり、プログラムやデータなどを一時的に格納する。また、内蔵メモリ3は、揮発性半導体メモリ以外であってもよく、たとえば、フラッシュメモリに例示される不揮発性半導体メモリなどの半導体メモリであってもよい。
周辺IP4は、シリアルインタフェースモジュールやタイマモジュールなどの様々な周辺モジュールからなる。内蔵メモリ3、および周辺IP4は、CPU2やDMAコントローラ5などのアクセス対象となるモジュールである。
DMAコントローラ5は、任意の周辺IP4と内蔵メモリ3との間におけるデータ転送をCPU2を介することなく直接アクセスして制御を行う。また、CPU2、内蔵メモリ3、周辺IP4、ならびにDMAコントローラ5は、アドレスバスAB、データバスDBを介して相互に接続されている。
CPU2には、共用アドレス検索変換部6が設けられている。共用アドレス検索変換部6は、DMAコントローラ5から出力される検索要求信号に基づいて、CPU2などに指定された仮想アドレスと一致する物理アドレスを検索してDMAコントローラ5に出力する。
共用アドレス検索変換部6は、共用アドレス変換テーブル7、比較部8、およびセレクタ9から構成されている。共用アドレス変換テーブル7は、DMAコントローラ5によって転送要求があった仮想アドレスを物理アドレスに変換するテーブルからなる。
比較部8は、DMAコントローラ5から出力される検索要求信号に基づいて、転送アドレスとしてCPU2などから指定された仮想アドレスと一致する共用アドレス変換テーブル7の仮想アドレスを検索し、一致した際にヒット信号(第2ヒット信号)を出力する。
第2の選択部となるセレクタ9は、比較部8から出力されたヒット信号に基づいて、検索された共用アドレス変換テーブル7の仮想アドレスに対応する物理アドレスを選択し、DMAコントローラ5に出力する。
また、DMAコントローラ5には、リクエスト制御部10、およびアドレス変換部11が備えられている。リクエスト制御部10は、CPU2などからの転送要求に基づいて、データの転送開始/終了の制御を行う。このリクエスト制御部10には、アドレス設定レジスタ10aが備えられている。アドレス設定レジスタ10aは、CPU2などが指定した転送元/転送先アドレスとなる仮想アドレスが格納される。
アドレス変換部11は、CPU2などから指定された仮想アドレスからなる転送アドレスを物理アドレスに変換する。アドレス変換部11は、転送アドレス変換テーブル12、比較部13、およびセレクタ14から構成されている。
転送アドレス変換テーブル12は、共用アドレス変換テーブル7の一部(任意の情報)が格納されている。アドレス変換制御部、および比較制御部として機能する比較部13は、リクエスト制御部10のアドレス設定レジスタ10aに格納された仮想アドレスからなる転送アドレスと転送アドレス変換テーブル12の仮想アドレスと比較し、一致した際にはセレクタ14にヒット信号(第1ヒット信号)を出力し、不一致の場合には、共用アドレス検索変換部6に検索要求信号を出力する。
アドレス変換制御部として機能するセレクタ14は、比較部13から出力されたヒット信号に基づいて、検索された共用アドレス変換テーブル7の仮想アドレス用に対応する物理アドレスを選択してアドレスバスABに出力する。
次に、本実施の形態によるDMAコントローラ5、およびCPU2の共用アドレス検索変換部6における動作について説明する。
図2は、たとえば、CPU2からのDMA転送要求が発生した際の処理例を示すフローチャートである。
まず、CPU2が内蔵メモリ3をアクセスする際、CPU2は転送元/転送先アドレスとなる仮想アドレスをデータバスDBを介して指定する。これら仮想アドレスは、アドレス設定レジスタ10aに格納される。
DMA転送を開始すると、リクエスト制御部10から、アドレス設定レジスタ10aに格納された仮想アドレスがアドレス変換部11に出力される。これを受けて、アドレス変換部11の比較部13は、転送アドレス変換テーブル12に登録されている全てのエントリの仮想アドレスとリクエスト制御部10からの仮想アドレスとを比較する(ステップS101)。
比較の結果、転送アドレス変換テーブル12に一致する仮想アドレスが存在する場合には、比較部13からヒット信号が出力される。セレクタ14は、ヒット信号を受けて一致する仮想アドレスに対応する物理アドレスを選択し(ステップS102)、アドレスバスABを介してその物理アドレスを出力しDMA転送が開始される(ステップS103)。
また、ステップS101の処理において、比較の結果、一致する仮想アドレスが転送アドレス変換テーブル12に存在しない場合には、比較部13から検索要求信号が共用アドレス検索変換部6に出力される。
共用アドレス検索変換部6は、検索要求信号が入力されると、リクエスト制御部10からの仮想アドレスと共用アドレス変換テーブル7に登録されている全てのエントリの仮想アドレスとを比較し(ステップS104)、一致する仮想アドレスを検索する。
検索が終了すると、比較部8は、ヒット信号をセレクタ9に出力する。セレクタ9は、ヒット信号を受けて、検索された仮想アドレスに対応するエントリに登録されていた物理アドレスを選択し、比較部13に出力する。
比較部13は、共用アドレス検索変換部6から出力された物理アドレスとリクエスト制御部10からの仮想アドレスとを転送アドレス変換テーブル12にそれぞれに登録する(ステップS105)。
また、セレクタ14は、共用アドレス検索変換部6から出力された物理アドレスをアドレスバスABへ出力し(ステップS102)、DMA転送が開始されることになる(ステップS103)。
それにより、本実施の形態によれば、アドレス変換部11において検索ミスが生じた際にハードウェアでミスハンドリングを行うことができるので、ソフトウェアによる処理を低減することができ、半導体集積回路装置1の処理速度などを向上させることができる。
また、DMAコントローラ5に登録される転送アドレス変換テーブル12の情報管理が不要となるので、テーブル管理が容易となり、半導体集積回路装置1の起動時間を短縮させることができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、DMAコントローラにより効率よく転送アドレスを設定する技術に適している。
本発明の実施の形態による半導体集積回路装置のブロック図である。 図1の半導体集積回路装置におけるCPUからのDMA転送要求が発生した際の処理例を示すフローチャートである。
符号の説明
1 半導体集積回路装置
2 CPU2
3 内蔵メモリ
4 周辺IP
5 DMAコントローラ
6 共用アドレス検索変換部
7 共用アドレス変換テーブル
8 比較部
9 セレクタ
10 リクエスト制御部
10a アドレス設定レジスタ
11 アドレス変換部
12 転送アドレス変換テーブル
13 比較部
14 セレクタ
AB アドレスバス
DB データバス

Claims (5)

  1. 外部接続された半導体メモリや周辺機能モジュールに対して直接アクセスし、データの書き込み/読み出し制御を行うDMAコントローラと、
    前記DMAコントローラのアクセス対象となる複数の周辺モジュールと、
    中央処理装置とを備え、
    前記DMAコントローラは、
    仮想アドレスを物理アドレスに変換する任意の一部のアドレス変換情報が登録された転送アドレス変換テーブルと、
    指定された仮想アドレスが前記転送アドレス変換テーブルに登録されているか否かを検索し、登録されている際、前記転送アドレス変換テーブルに基づいて前記仮想アドレスを物理アドレスに変換して出力し、指定された仮想アドレスが前記転送アドレス変換テーブルに登録されていない場合、前記中央処理装置に検索要求信号を出力するアドレス変換制御部とよりなるアドレス変換部を備え、
    前記中央処理装置は、
    すべての仮想アドレスを物理アドレスに変換する共用アドレス変換テーブルと、
    前記アドレス変換制御部の検索要求信号に基づいて、指定された前記仮想アドレスと一致する物理アドレスを前記共用アドレス変換テーブルから検索して前記DMAコントローラに出力するアドレス検索変換部とよりなる共用アドレス検索変換部を備えたことを特徴とする半導体集積回路装置。
  2. 請求項1記載の半導体集積回路装置において、
    前記アドレス変換制御部は、
    指定された前記仮想アドレスと転送アドレス変換テーブルに登録された仮想アドレスとを比較し、それらアドレスが一致するか否かを判定し、一致した際に第1ヒット信号を出力し、不一致の際には検索要求信号を出力する比較制御部と、
    第1ヒット信号が入力された際に、転送アドレス変換テーブルに基づいて前記仮想アドレスを対応する物理アドレスに変換して出力する第1の選択部とよりなることを特徴とする半導体集積回路装置。
  3. 請求項1または2記載の半導体集積回路装置において、
    前記アドレス検索変換部は、
    検索要求信号が入力された際に、指定された前記仮想アドレスと前記共用アドレス変換テーブルの仮想アドレスとを比較し、一致した際に第2ヒット信号を出力する制御部と、
    前記制御部から出力された第2ヒット信号に基づいて、検索された前記共用アドレス変換テーブルの仮想アドレスに対応する物理アドレスを選択して出力する第2の選択部とよりなることを特徴とする半導体集積回路装置。
  4. 請求項2記載の半導体集積回路装置において、
    前記周辺モジュールは、
    少なくとも前記半導体メモリを含むことを特徴とする半導体集積回路装置。
  5. 請求項2〜4のいずれか1項に記載の半導体集積回路装置において、
    前記比較制御部は、
    指定された前記仮想アドレスが転送アドレス変換テーブルに登録されていない場合に、第2の選択部が選択した物理アドレスと指定された前記仮想アドレスとを前記転送アドレス変換テーブルに登録する機能を有することを特徴とする半導体集積回路装置。
JP2006308567A 2006-11-15 2006-11-15 半導体集積回路装置 Pending JP2008123389A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006308567A JP2008123389A (ja) 2006-11-15 2006-11-15 半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006308567A JP2008123389A (ja) 2006-11-15 2006-11-15 半導体集積回路装置

Publications (1)

Publication Number Publication Date
JP2008123389A true JP2008123389A (ja) 2008-05-29

Family

ID=39508060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006308567A Pending JP2008123389A (ja) 2006-11-15 2006-11-15 半導体集積回路装置

Country Status (1)

Country Link
JP (1) JP2008123389A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6194166A (ja) * 1984-10-16 1986-05-13 Fujitsu Ltd ダイレクトメモリアクセスにおけるアドレス変換回路
JPS63245545A (ja) * 1987-03-31 1988-10-12 Toshiba Corp Dma方式
JPH04308953A (ja) * 1991-04-05 1992-10-30 Kyocera Corp 仮想アドレス計算機装置
JPH05120205A (ja) * 1991-10-24 1993-05-18 Nec Corp Dma転送用アドレス変換装置付きプロセツサシステムおよびdma転送方法
JPH05173930A (ja) * 1991-12-19 1993-07-13 Yokogawa Electric Corp Dma制御回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6194166A (ja) * 1984-10-16 1986-05-13 Fujitsu Ltd ダイレクトメモリアクセスにおけるアドレス変換回路
JPS63245545A (ja) * 1987-03-31 1988-10-12 Toshiba Corp Dma方式
JPH04308953A (ja) * 1991-04-05 1992-10-30 Kyocera Corp 仮想アドレス計算機装置
JPH05120205A (ja) * 1991-10-24 1993-05-18 Nec Corp Dma転送用アドレス変換装置付きプロセツサシステムおよびdma転送方法
JPH05173930A (ja) * 1991-12-19 1993-07-13 Yokogawa Electric Corp Dma制御回路

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
US7581054B2 (en) Data processing system
JPWO2007129482A1 (ja) ブリッジ、プロセッサユニット、情報処理装置およびアクセス制御方法
JP2011048615A (ja) データプロセッサ
US7984263B2 (en) Structure for a memory-centric page table walker
US7882327B2 (en) Communicating between partitions in a statically partitioned multiprocessing system
US9081657B2 (en) Apparatus and method for abstract memory addressing
JP2003281079A (ja) ページ・テーブル属性によるバス・インタフェース選択
TW200417914A (en) Interrupt-processing system for shortening interrupt latency in microprocessor
US7337300B2 (en) Procedure for processing a virtual address for programming a DMA controller and associated system on a chip
US8850159B2 (en) Method and system for latency optimized ATS usage
US20080065855A1 (en) DMAC Address Translation Miss Handling Mechanism
JP2008123389A (ja) 半導体集積回路装置
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット
US20100228895A1 (en) Data transfer apparatus, system and method using the same
JP2002312239A (ja) プロセッサ、システムオンチップ装置及びアクセス方法
US20080209085A1 (en) Semiconductor device and dma transfer method
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
WO2000017756A1 (en) Signal processor
JP4965974B2 (ja) 半導体集積回路装置
JP2007087177A (ja) 情報処理装置
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2011191865A (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091110

A711 Notification of change in applicant

Effective date: 20100528

Free format text: JAPANESE INTERMEDIATE CODE: A712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110622

A02 Decision of refusal

Effective date: 20111018

Free format text: JAPANESE INTERMEDIATE CODE: A02