米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立製作所

発明の名称 半導体集積回路装置
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−281077(P2003−281077A)
公開日 平成15年10月3日(2003.10.3)
出願番号 特願2002−82552(P2002−82552)
出願日 平成14年3月25日(2002.3.25)
代理人 【識別番号】100081938
【弁理士】
【氏名又は名称】徳若 光政
【テーマコード(参考)】
5B061
5B062
【Fターム(参考)】
5B061 DD09 DD11 
5B062 CC01 DD08 JJ03
発明者 西岡 直俊 / 吉田 裕 / 岡田 崇 / 早川 幹 / 鈴木 高明
要約 課題
ランダムなデータ量でも高速に効率よくDMAデータ転送を行うことを可能とした半導体集積回路装置とDMAデータ転送方法を提供する。

解決手段
中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介したデータ転送を行うDMACとを備えた半導体集積回路装置において、1回の転送開始から転送終了割り込みまでにおいて動的に転送サイズを変更するDMA転送スケジューリングを行うことを可能としたDMAブリッジを上記DMACに設け、中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介してデータ転送を行うDMACとを搭載した半導体集積回路装置におけるDMAデータ転送方法として、1回の転送開始から転送終了割り込みまでに動的に転送サイズの変更可能としたDMA転送スケジューリングを行う。
特許請求の範囲
【請求項1】 中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介したデータ転送を行うDMACとを備え、上記DMACは、1回の転送開始から転送終了割り込みまでにおいて動的に転送サイズを変更するDMA転送スケジューリングを行うことを可能としたDMAブリッジを含むものであることを特徴とする半導体集積回路装置。
【請求項2】 請求項1において、上記DMAブリッジは、複数バイトブロック単位転送、ロングワード単位転送、ワード単位転送及びバイト単位転送からなる転送サイズの組み合わせと転送回数により上記DMA転送スケジューリングを行うことを特徴とする半導体集積回路装置。
【請求項3】 請求項2において、上記転送スケジューリングは、転送回数が最小になるような転送サイズの組み合わせと転送回数を計算することにより決定されるものであることを特徴とする半導体集積回路装置。
【請求項4】 中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介してデータ転送を行うDMACとを搭載した半導体集積回路装置におけるDMAデータ転送方法であって、1回の転送開始から転送終了割り込みまでに動的に転送サイズの変更可能としたDMA転送スケジューリングを行うことを特徴とするDMAデータ転送方法。
【請求項5】 請求項4において、上記転送スケジューリングは、転送回数が最小になるような複数バイトブロック単位転送、ロングワード単位転送、ワード単位転送及びバイト単位転送からはなる転送サイズの組み合わせと転送回数を計算することにより決定されるものであることを特徴とするDMAデータ転送方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】この発明は、半導体集積回路装置に関し、ダイレクト・メモリ・アクセス・コントローラ(以下、単にDMACという)を含む1チップマイクロコンピュータ等の半導体集積回路装置に利用して有効な技術に関するものである。
【0002】
【従来の技術】マイクロコンピュータにおいて、中央処理ユニット(Central Processing Unit:CPUと略す)が負担すべきデータ処理量が多くなると、マイクロコンピュータのデータ処理能力を向上させるのは難しくなる。そこで、CPUに代わってデータ転送制御を行うための周辺モジュールを組み込むことによって、CPUのデータ処理負担を分散させることが可能になる。そのような周辺モジュールとして例えばDMAC(Direct Memory Access Controller :ダイレクト・メモリ・アクセス・コントローラ)がある。
【0003】DMACを内蔵した従来のマイクロコンピュータは、DMA転送を行う際、CPUがDMACにデータ転送に必要な制御情報(転送アドレス、転送回数、転送モード、転送方向等)を初期設定している。DMACについて記載された文献の例としては、1996年4月19日付日経BP社発行の「コンピュータの構成と設計[下]」第520頁及び第521頁がある。
【0004】
【発明が解決しようとする課題】CPUと周辺モジュールとしてオーディオデジタル、携帯電話、液晶、フラツシュメモリ、USB等のインタフェイスを搭載した1チップマイクロコンピュータがある。上記のマイクロコンピュータにおいて、外部のデバイスヘのデータ転送には、上記CPUの負荷を低減させる為にDMACが用いられる。従来のDMACを使用したDMA転送は転送元アドレスから転送先アドスに決められた転送サイズのデータを決められた回数転送するとDMA転送終了割り込みを発生するものである。
【0005】上記USBモジュールの仕様検討にあたり、USB内蔵メモリ⇔外付けSDRAM間のデータ転送効率を向上させるためDMA転送機能を追加することが必要となった。一般にオペレーティングシステム(以下OSという)を実装してDMA転送割り込み制御を行った場合、1回の割り込み発生で数μ秒のオーバヘッドが生じてしまうことが知られている。ユーザがランダムなデータ量をDMA転送する場合には、図10のフローチャート図に示したようにソフトウェアが転送サイズと転送回数をスケジューリングして転送を行うことになる。例えば、ユーザが39バイトのデータをDMA転送しようとした場合、ソフトウェアは32バイト転送1回+ロングワード転送1回+バイト転送3回のDMA転送スケジュールを行う。本ケースでは、ループ1を3回通るので3回の割り込みが発生することになり、1回あたり数μ秒のオーバヘッドが生じるために転送効率の向上を妨げてしまうものである。
【0006】この発明の目的は、ランダムなデータ量でも高速に効率よくDMAデータ転送を行うことを可能とした半導体集積回路装置とDMAデータ転送方法を提供することにある。この発明の他の目的は、使い勝手のよいDMACを含む半導体集積回路装置とDMAデータ転送方法を提供することにある。この発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0007】
【課題を解決するための手段】本願において開示される発明のうち代表的なものの概要を簡単に説明すれば、下記の通りである。中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介したデータ転送を行うDMACとを備えた半導体集積回路装置において、1回の転送開始から転送終了割り込みまでにおいて動的に転送サイズを変更するDMA転送スケジューリングを行うことを可能としたDMAブリッジを上記DMACに設ける。
【0008】中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介してデータ転送を行うDMACとを搭載した半導体集積回路装置におけるDMAデータ転送方法として、1回の転送開始から転送終了割り込みまでに動的に転送サイズの変更可能としたDMA転送スケジューリングを行う。
【0009】
【発明の実施の形態】図1には、この発明に係る半導体集積回路装置(システムLSI)の一実施例の概略ブロック図が示されている。この実施例のシステムLSI1は、USBモジュール5、バスステートコントローラ(以下、単にBSCという)7、DMAコントローラ(以下、単にDMACという)14、中央処理ユニット(以下、単にCPUという)8とこれらを接続する周辺モジュールバス6、外部バス10及びブリッジバス13から構成される。外部バス10は、外付けSDRAM(シンクロナス・ダイナミック・ランダム・アクセス・メモリ)11に接続され、周辺モジュールはこのSDRAM間でDMA転送を行う。
【0010】特に制限されないが、上記SDRAM11は32バイトブロック転送をサポートし、連続サイクルで32バイトデータのリード/ライトが可能である USBモジュール5は、USBホストコア3+共有メモリ2で構成され、USBホストコア3は共有メモリ2に対してのみデータアクセスを行う。このため、USBモジュール5自体は、DMA転送を要求することができない。従ってDMA転送を行う場合にはCPU8がDMAC14に対しDMA転送指定を行う。
【0011】この実施例では、DMAブリッジ12をDMAC14に内蔵することによりCPU8が行う転送指定は転送元/転送先アドレス並びに転送方向と、転送したいデータ量(ランダムなデータ量可)のみと簡略化する。つまり、従来必要であった転送データサイズ指定と転送回数指定は必要ない。これらはDMAブリッジ12が転送回数を最小にするよう計算して転送データサイズと転送回数をスケジューリングする。
【0012】DMAブリッジ12は、DMAトラザクション(転送開始から転送終了割り込みまで)制御+バッファ制御部と、リード用バッファ、ライト用バッファとを備える。リード用バッファとライト用バッファは、それぞれ32バイト×2面を持つようにされる。上記スケジューリングされたDMAリクエストは、上記DMAブリッジ12によって管理され、同図に示すDMA転送パス9間でDMA転送が行われる。リード用及びライト用バッファで一旦データを蓄積するのはSDRAMの32バイトブロック転送を最大限有効活用するためである。
【0013】図2は、上記DMAブリッジ12を用いたデータ転送動作の一例を説明するためのフローチャート図である。前記のような従来方式のDMA転送フローではソフトウェアでDMA転送のスケジューリングを行うために、前記図10に示したようにループ1を通過した時に必ず転送完了割り込みによるオーバヘッドが生じてしまう。従って、ループ1を通過する回数に比例してオーバヘッドも増加してしまうものである。
【0014】これに対して、本発明ではハードウェア(DMAブリッジ12)でDMA転送のスケジューリングを行うためループを通過しても転送完了割り込みが発生しない。つまり、ユーザによるDMA転送リクエストがあると、ハードウェアによるDMA転送のスケジューリングがなされ、スケジューリングに従って、まず転送が全て完了したかが判定され、完了してないときにはDMACのレジスタ設定、DMA転送開始、レジスタ指定された転送サイズをレジスタ指定された転送回数だけ転送実行し、ループ1により基に戻り、上記転送が全て完了したとの判定により転送完了割り込みを実行するものである。このように、本発明ではループを通過する回数に関係なくスケジューリングに基づく全ての転送が終了した後、1回だけ転送完了割り込みが発生する。このためオーバヘッドを最小限に抑えることが可能である。
【0015】図3には、この発明に係るDAMCの一実施例のブロック図が示されている。同図において、この実施例のDAMC14は、DMAOR、DAR、DAR、DMATCR、CHCRの各レジスタと回数制御、レジスタ制御、起動制御及び要求優先制御部といった一般的なDMAC部15に、DMAブリッジ12が組み込まれて構成される。
【0016】上記DMAC部15の各レジスタは、以下の通りである。DMAORは、DMAオペレーションレジスタであり、DMACの転送モードを指定するレジスタである。SARは、DMAソースアドレスレジスタであり、転送元アドレスを指定する。上記DMAブリッジは、データ転送要求フォーマット信号を使用して本レジスタを書き換えることが可能である。DARは、DMAディスティネーションアドレスレジスタであり、転送先アドレスを指定する。上記DMAブリッジは、データ転送要求フォーマット信号を使用して本レジスタを書き換えることが可能である。DMATCRは、DMAトランスファカウントレジスタであり、DMACの転送回数を指定する。DMAブリッジは、データ転送要求フォーマット信号を使用して本レジスタを書き換えることが可能である。CHCRは、DMAチャネルコントロールレジスタであり、DMACの動作モード、転送方法を指定する。DMAブリッジは、データ転送要求フォーマット信号を使用して本レジスタを書き換えることが可能である。
【0017】DMAブリッジ12の主要部は、ブリッジバスマスタ部18、バス調停部22、エンディアン変換部21、2面構成SDRAMリード用バッファ19、2面構成SDRAMライト用バッファ20、DMAトランザクション制御/バッファ制御部17とレジスタDMAUCR、DMAUAR、DMAUDAR、DMABRGCR、DMAURWSZを備える。ここで、DMAUCRは、DMA USBコントロールレジスタであり、転送開始とリセットを指定する。DMAUSARは、DMA USBソースアドレスレジスタであり、転送元アドレスを指定する。DMAUDARは、DMA USBディスティネーションアドレスレジスタであり、転送先アドレスを指定する。DMABRGCRは、DMA BRGコントロールレジスタであり、割り込みイネーブルと割り込みステータスフラグを持つ。DMAURWSZは、DMA USB R/Wサイズレジスタであり、転送データ量と転送方向を指定する。ブリッジバス13は、USBとDMACを接続するバスであり、DMAC内蔵バッファとのデータ転送に使用される。
【0018】上記ブリッジバスマスタ部18は、DMA転送時におけるブリッジバスのバスマスタであり、バス調停部22は、DMACとCPUの間でブリッジバスの調停を行う。エンディアン変換部21は、ワード単位とバイト単位のエンディアン変換を行う。2面構成SDRAMリード用バッファ(32バイト×2)19は、転送効率を向上させるため2面で構成されるSDRAMリード用バッファであり、2面構成SDRAMライト用バッファ(32バイト×2)21は、転送効率を向上させるため2面で構成されるSDRAMライト用バッファである。
【0019】DMA転送完了信号16は、DMAブリッジ12の要求した転送の実行が完了したことを通知する信号であり、DMAC部15からDMAブリッジ12に伝えられる。DMAトランザクション制御/バッファ制御部17は、DMAトランザクションのスケジューリングを管理するとともにバッファの制御を行う。周辺モジュールバスインタフェイス部23は、周辺モジュールバスインタフェイスである。周辺モジュールバス6は、周辺モジュールを接続するバスである。外部バス10は、前記のようなSDRAMが接続されるバスである。割り込み信号24は、DMAブリッジ12がスケジューリングに基づく全ての転送を完了したことを示す割り込み信号でありCPUに伝えられる。
【0020】転送要求信号(SDRAM→USB方向)25は、SDRAM→USB(周辺モジュール)方向のデータ転送をSDRAMに対し要求する信号であり、転送要求信号(USB→SDRAM方向)26は、USB(周辺モジュール)→SDRAM方向のデータ転送をSDRAMに対し要求する信号であり、転送元/転送先アドレス信号27は、SDRAMに対し指定する転送元/転送先アドレス信号である。DMAブリッジ12は、データ転送要求フォーマット信号28を使用してDMAC内の制御レジスタに転送リクエストをライトする。この転送リクエストは、“転送元/先アドレス" 、“転送データサイズ" 、“転送回数" 、“転送方向" 等のDMA転送に必要な情報が全て含まれる。
【0021】図4には、この発明に係るDAMCのデータ転送動作の一例を説明するためのフローチャート図が示されている。この実施例のデータ転送動作は、SDRAMライト時のDMA転送動作に向けられている。この実施例では、79バイトのデータをDMA転送する手順がソフトウェアとハードウェアとの処理に分けて示されている。
【0022】図4に従って、DMAブリッジのレジスタ設定がソフトウェアにより行われる。まず、割り込みをイネーブルにセットし、DMAUDARにSDRAMのライト先頭アドレスを設定して転送先アドレスを指定し、DMAUSARに共有メモリのリード先頭アドレスを設定して転送元アドレスを指定し、DMAURWSZにライト指定、79バイト転送指定をして転送方向(リード/ライト)、転送データ量をセットした後に、DMAUCRUのスタートビットに1をセットする。転送を開始するまでのソフトウェアの設定はこれで終了である。
【0023】この後DMAブリッジは、79バイトのデータをDMA転送する上で最も効率のよい転送サイズと転送回数の組み合わせを算出し、DMA転送スケジュールを組む。本ケースでは32バイトブロツク転送×2回+ロングワード転送×2回+バイト転送×3回というスケジュールを組むことになる(SDRAMの32バイト境界問題に関しては後述する)。
【0024】32バイトブロツク転送では、まずUSBの共有メモリ(SRAM)より■のようにロングワード転送×8回で32バイト(byte)のデータをリードしバッファ■に蓄積する。この後DMAブリッジが■のようにデータ転送フォーマット(SDRAMライト要求)を出力し、従来のDMAC制御レジスタ群が書き換えられることでDMA転送が開始される。この時、■のような32バイトブロック転送の完了は、DMAブリッジが管理しているためユーザは監視する必要はない。従って割り込み発生は必要ない。以下同様にして、■及び■のようにして回目の32バイトブロック転送が行われる。
【0025】■のロングワード転送では、まずUSBの共有メモリよりロングワード転送×3回で12バイトのデータをリードしバッファ■に蓄積する。この後DMAブリッジが■のようにデータ転送フォーマット(SDRAMライト要求)を出力し、DMAC制御レジスタ群が書き換えられることで■のようなDMA転送(ロングワード転送×3回)が行われる。この時も、■のロングワード転送の完了はDMAブリッジが管理しているためユーザは監視する必要はない。従って割り込み発生は必要ない。
【0026】■のようなバイト転送では、まずUSBの共有メモリより■のようにロングワード転送×3回で12バイトのデータ(有効データは3バイト)をリードしバッファに蓄積する。この後DMAブリッジが■のようなデータ転送フォーマット(SDRAMライト要求)を出力し、DMAC制御レジスタ群が書き換えられることで■のようなDMA転送(バイト転送×3回)が行われる。この時も、■のバイト転送の完了はDMAブリッジが管理しているためユーザは監視する必要はない。従って割り込み発生は必要ない。
【0027】以上でスケジューリングされた全てのDMA転送が完了したことになる DMAブリッジは、全てのDMAスケジュールを完了すると割り込みステータスフラグをセットしCPUに対し転送完了割り込みを発生する。ここで初めてユーザは割り込みによってDMA転送が全て完了したことを認識し、割り込み処理を行う。必要な割り込み処理を行った後DMAブリッジの割り込みステータスフラグをクリアして転送完了割り込み処理を完了する。
【0028】図5には、この発明に係るDAMCのデータ転送動作の一例を説明するためのフローチャト図が示されている。この実施例のデータ転送動作は、SDRAMリード時のDMA転送動作に向けられている。この実施例でも、79バイトのデータをDMA転送する手順がソフトウェアとハードウェアの処理にわけて示されている。
【0029】図5に従って、ソフトウェアによりDMAブリッジのレジスタ設定が行われる。まず前記同様に割り込みをイネーブルにセットし転送先アドレス、転送元アドレス、転送方向(リード/ライト)、転送データ量をセットした後にDMA転送スタートビッをセットする。転送を開始するまでのソフトウェアの設定はこれで終了である。
【0030】前記ライト時と異なり、リード時は■のように常に32ブロック転送でバッファに32バイトのデータが蓄積される。これはDMAブリッジがバッファ内の有効データのみを共有メモリ(SRAM)へ転送することができるためである。これにより、外部バスの占有率を低減させている。SDRAMの32バイト境界問題に関しては後述する。本ケースでは、■のような32バイトブロック転送×3回というスケジュールを組むことになる。合計で96バイトになるが有効データをDMAブリッジが管理するため実際に共有メモリ(SRAM)へ転送されるデータは79バイトである。
【0031】1回目の32バイトブロック転送では、のようにまずDMAブリッジが■のようなデータ転送フォーマット(SDRAMリード要求)を出力し、DAMC制御レジスタ群が書き換えられDMA転送が開始される。この時■のような32バイトブロック転送の完了はDMAブリッジが管理しているためユーザは監視する必要はない。従って割り込み発生は必要ない。バッファ■に32バイトのデータが蓄積されるとDMAブリッジは■のようにロングワード転送×8回で共有メモリ(SRAM)にデータ転送を行う。
【0032】1回目と同様に2回目も32バイトブロック転送■と■のようにロングワード転送×8回で共有メモリにデータ転送が行われる。3回目の32バイトブロック転送ではまずDMAブリッジが■のようなデータ転送フォーマット(SRAMリード要求)を出力し、DMAC制御レジスタ群が書き換えられDMA転送が開始される。この時■のような32バイトブロック転送の完了はDMAブリッジが管理しているためユーザは監視する必要はない。従って割り込み発生は必要ない。バッファに32バイトのデータが蓄積されるとDMAブリッジは有効データのみを抜き出して■のようなロングワード転送×3回と、■のようなバイト転送×3回とで共有メモリ(SRAM)にデータ転送を行う。
【0033】DMAブリッジは全てのDMAスケジュールを完了すると割り込みステータスフラグをセットしCPUに対し転送完了割り込みを発生する。ここで初めてソフトウェアは割り込みによってDMA転送が全て完了したことを認識し、割り込み処理を行う。必要な割り込み処理を行った後DMAブリッジの割り込みステータスフラグをクリアして転送完了割り込み処理を完了する。
【0034】図6と図7にDMAライトトランザクション時のDMAスケジューリング並びにバッファ制御フローチャート図が示されている。制御はバッファを中心にバッファライト側とバッファリード側に分割される。図6バッファライト側の制御フローである。図7バッファリード側の制御フローである。
【0035】図8と図9にDMAリードトランザクション時のDMAスケジューリング並びにバッファ制御フローチャート図が示されている。制御はバッファを中心にバッファライト側とバッファリード側に分割される。図8はバッファライト側の制御フローである。図9はバッファリード側の制御フローである。
【0036】SDRAMの32バイト境界問題におけるDMA転送スケジューリングの方法について説明する。本転送サイズをDMAブリッジのスケジューリングに組み込めるかが本発明の有効性を左右する大きなポイントである 32バイトブロック転送は、連続サイクルで32バイトのリード/ライトが可能なためSDRAMに対して最も効率のよいアクセス方法である。しかし、SDRAMの構造上、リード/ライト開始アドレスの下位8ビットがh00以外では32バイトの連続した領域をアクセスすることが出来ないという欠点がある。これが32バイト境界問題である。
【0037】DMAブリッジは以下のスケジューリング制御によって32バイト境界問題を克服している。スケジューリング制御はSDRAMライト時とSDRAMリード時で異なる。SDRAMライト時ユーザがDMAUDARに設定した転送先アドレスの下位8ビットがh00以外である場合はDMAブリッジが管理する転送先アドレスがh00になるまでロングワード転送もしくはバイト転送を使用してDMA転送を行う。DMAブリッジが管理する転送先アドレスの下位8ビットがh00且つ、残りの転送データ量が32バイト以上の時に32バイトブロック転送を使用してDMA転送を行う。
【0038】DMAブリッジが管理する転送先アドレスの下位8ビットがh00且つ、残りの転送データ量が32バイト未満の時はロングワード転送もしくはバイト転送を使用してDMA転送を行う。ユーザがDMAUSARに設定した転送元アドレスの下位8ビットがh00以外である場合は、さかのぼってh00から32バイトブロック転送でバッファに蓄積する。この時、バッファ内には有効データと無効データが混在するが、DMAブリッジは有効データのみ共有メモリ(SRAM)に転送する。
【0039】DMAブリッジが管理する転送先アドレスの下位8ビットがh00且つ、残りの転送データ量が32バイト以上ある場合は、h00から32バイトブロック転送でバッファに蓄積する。この時、バッファ内のデータは全て有効データであるので、DMAブリッジは32バイトのデータを共有メモリ(SRAM)に転送する。
【0040】DMAブリッジが管理する転送先アドレスの下位8ビットがh00且つ、残りの転送データが32バイト未満の場合は、h00から32バイトブロック転送でバッファに蓄積する。この時、バッファ内には有効データと無効データが混在するが、DMAブリッジは有効データのみ共有メモリ(SRAM)に転送する。
【0041】この実施例では、上記の問題を解決するためのDMAトランザクション(転送開始から転送終了割り込みまで)において動的に転送サイズを変更ことを特徴としたDMA転送スケジューリングを行うモジュール“DMAブリッジ”をDMACに内蔵するものである。上記のスケジューリングの対象は転送サイズ(32バイトブロック転送、ロングワード転送、バイト転送)の組み合わせと転送回数である。
【0042】DMAブリッジは自動的に数が最小になるように転送サイズの組み合わせと転送回数を算出し、DMA転送のスケジューリングを行うことが可能であり、ユーザはDMACに対し転送元アドレスから転送先アドレスヘ転送したいデータ量(ランダム量可)を指定するだけでよい。
【0043】DMAブリッジは、DMAC内の制御レジスタを直接書き換えることによってスケジューリングに基づくDMA転送を行う。DMAブリッジは自ら作成したDMA転送スケジューリングに基づいて転送状況を管理するため、ユーザは全ての転送スケジュールを終了した後の割り込みのみを監視すればよい。
【0044】SDRAMとのDMA転送を想定し、DMAC内にSDRAMリード/ライト用にそれぞれ32バイト×2面のバッファを内蔵した。これによりSDRAMアクセスで最も効率のよい32バイトブロック転送(転送サイズ)に対応することを可能とした。SDRAMリードDMA転送は常に32バイトブロック転送を用い、一旦DMAブリッジ内バッファに蓄積して必要なデータだけを転送先アドレスに転送する方式を採用した。これによりSDRAMが接続されるデータバスの占有率を低減することができる。
【0045】上記の実施例によれば、DMA転送のスケジュールをハードウェアが自動的に行うため、ソフトウェアでDMA転送スケジュールを行う必要がなくなる。ユーザはオーバヘッドに関わるDMA割り込み要求の回数を気にすることなく、ランダムなデータ量をDMA転送指定することが可能となる。DMA転送割り込み要求の回数が軽減されるため、オーバヘッドを最小限に抑えることが出来、チップ全体のデータ転送効率が向上する。ランダムなデータ量を常に要求するモジュールでも容易に、スケジューリングに基づくDMA転送機能を追加することが可能になる。
【0046】以上本発明者よりなされた発明を実施例に基づき具体的に説明したが、本願発明は前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、DMAブリッジに設けられるSDRAM等のメモリ機能に対応してバッファの構成は種々の実施形態を採ることができる。各レジスタは、前記のようなDMAデータ転送を行うようにするものであれば何であってもよい。また、組み合わせる転送単位もDMACがサポートする仕様により種々の実施形態を採ることが出来る。この発明は、中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介したデータ転送を行うDMACとを備えたシステムLSI等の各種半導体集積回路装置に広く利用できる。
【0047】
【発明の効果】本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介したデータ転送を行うDMACとを備えた半導体集積回路装置において、1回の転送開始から転送終了割り込みまでにおいて動的に転送サイズを変更するDMA転送スケジューリングを行うことを可能としたDMAブリッジを上記DMACに設けることにより、DMA転送のスケジュールをハードウェアが自動的に行うためオーバヘッドに関わるDMA割り込み要求の回数を気にすることなく、ランダムなデータ量をDMA転送を効率よく行うことができる。
【0048】中央処理ユニットと、インタフェイス回路と、上記インタフェイス回路を介してデータ転送を行うDMACとを搭載した半導体集積回路装置におけるDMAデータ転送方法として、1回の転送開始から転送終了割り込みまでに動的に転送サイズの変更可能としたDMA転送スケジューリングを行うようにすることにより、DMA転送のスケジュールをハードウェアが自動的に行うためオーバヘッドに関わるDMA割り込み要求の回数を気にすることなく、効率よくランダムなデータ量をDMA転送を行うことができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013