(57)【要約】【課題】メモリに記録されたデータを転送先に適合するバイト順に並び替える処理を、CPUがメモリ上で並び替えソフトウェアを実行して行なう場合に比較して、高速化するDMA（Direct Memory Access）を提供。【解決手段】DMA制御装置300には、転送データのバイト順を並び替えるデータ変換回路305が設けられている。転送データは転送元のメモリからラッチ302に一旦保持される。変換設定レジスタ309には、予め、転送先に応じた、バイト順の並び替え順序を示すレジスタ値310を入力しておく。そしてラッチ302からデータ変換回路305に送られたデータは、変換設定レジスタ309から与えられるレジスタ値310を基に、データ変換回路305において、転送先に適合するバイト順に並び替えられる。並び替えられた転送データは制御回路が信号312によって指定する転送先へと転送される。【選択図】図３
2007323491.tif 000002
【特許請求の範囲】
【請求項１】
転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御装置において、該装置は、
データを構成するバイトデータの並び替え順序を記憶する記憶手段と、
該記憶された並び替え順序に従ってデータを構成するバイトデータの順番の並び替えをする並び替え手段とを含み、
これによって、並び替えられたデータが転送元から転送先へ転送されることを特徴とするダイレクトメモリアクセス制御装置。
【請求項２】
転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御装置において、該装置は、
データを構成するビットデータの並び替え順序を記憶する記憶手段と、
該記憶された並び替え順序に従ってデータを構成するビットデータの順番の並び替えをする並び替え手段とを含み、
これによって、並び替えられたデータが転送元から転送先へ転送されることを特徴とするダイレクトメモリアクセス制御装置。
【請求項３】
請求項１または２に記載の装置において、前記記憶手段に記憶される並び替え順序は、書き換え可能であることを特徴とするダイレクトメモリアクセス制御装置。
【請求項４】
請求項１または２に記載の装置において、
前記記憶手段は複数の並び替え順序を記憶し、該装置はさらに、
該記憶手段に記憶された複数の並び替え順序のなかからいずれかの順序を選択する選択手段を含み、
前記並び替え手段は、前記選択手段によって選択されたいずれかの順序どおりにデータの並び替えを行なうことを特徴とするダイレクトメモリアクセス制御装置。
【請求項５】
転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御方法において、該方法は、
データを構成するバイトデータの並び替え順序を記憶する工程と、
該記憶した並び替え順序に従ってデータを構成するバイトデータの順番の並び替えをする工程とを含み、
これによって、並び替えたデータを転送元から転送先へ転送することを特徴とするダイレクトメモリアクセス制御方法。
【請求項６】
転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御方法において、該方法は、
データを構成するビットデータの並び替え順序を記憶する工程と、
該記憶した並び替え順序に従ってデータを構成するビットデータの順番の並び替えをする工程とを含み、
これによって、並び替えたデータを転送元から転送先へ転送することを特徴とするダイレクトメモリアクセス制御方法。
【請求項７】
請求項５または６に記載の方法において、
前記記憶する工程では、複数の並び替え順序を記憶し、該方法はさらに、
該記憶した複数の並び替え順序のなかからいずれかの順序を選択する工程を含み、
前記並び替えをする工程では、前記選択したいずれかの順序どおりにデータの並び替えを行なうことを特徴とするダイレクトメモリアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス（Direct Memory Access; DMA）制御装置および制御方法に関するものである。
【背景技術】
【０００２】
複数のIP（Intellectual Property）を搭載したシステムLSI（Large Scale Integration）では、各IPに同一のデータを入力する場合であっても、IP毎に、データを構成する各バイト（byte）データの順序を変更して入力する必要がある場合がある。よって、メモリに格納されたデータを各IPに転送する場合、転送先のIPに合わせたバイト順にデータを並び替える、並び替え処理が必要となる。現在、そのような並び替え処理に関連する技術としては、特許文献１に記載の方法や、専用のソフトウェアもしくはハードウェアで行なう方法がある。
【０００３】
特許文献１に記載のDMAコントローラでは、面順次のデータを画素毎に色要素の情報を送るいわゆる点順次のデータへ変換する方法が記載されている。なお、ダイレクトメモリアクセス（Direct Memory Access; DMA）とは、コンピュータシステム内でのデータ転送方式の１つであり、中央処理装置（Central Processing Unit; CPU）を介さずに各装置とランダムアクセスメモリ（Random Access Memory; RAM）との間で直接データ転送を行なう方式を言う。
【０００４】
ソフトウェアで並び替え処理を行なう場合、データをメモリから読出し、バイト単位で分割し、並び替えを行なった後で再度１つにまとめるという方法がある。
【０００５】
ハードウェアで並び替え処理を行なう場合、データに合わせてIP回路を改変する方法やIPのインターフェースにデータ変換回路を加える方法がある。
【特許文献１】特開2000-305891号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、以上の方法では次のような問題が存在する。すなわち、特許文献１に記載の方法では、DMAを用いてデータ変換を行なうことは可能であっても、バイト順の並び替えが可能か否かまでは明記されていない。
【０００７】
また、ソフトウェアで並び替え処理を行なう場合は、ハードウェアにて処理する場合に比較して、処理にかかる時間が長く、消費電力が大きく、データメモリ量・命令メモリ量も多く必要とする点で不利である。
【０００８】
一方、ハードウェアで並び替え処理を行なう場合は、IPの回路を改変する方法を選択しても、改変が許されていないことがあり、たとえ改変できても開発工数の増大は避けられない。また、IPのインターフェースにデータ変換回路を加える場合は、IPの数に伴って開発工数が増加し、回路面積の増加が避けられない。
【０００９】
本発明は、データ並び替え処理をソフトウェアやハードウェアで行なう場合に発生する問題を解消し、IP回路の改変および各IPへのデータ変換回路の追加を行なうことなく、データのバイト順の並び替え処理を高速に実現することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は上述の課題を解決するために、転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御装置において、データを構成するバイトデータの並び替え順序を記憶する記憶手段と、記憶された並び替え順序に従ってデータを構成するバイトデータの順番の並び替えをする並び替え手段とを含み、これによって、並び替えられたデータが転送元から転送先へ転送される。
【００１１】
また本発明は上述の課題を解決するために、転送元から転送先へ直接にデータ転送を行なうダイレクトメモリアクセス制御方法において、データを構成するバイトデータの並び替え順序を記憶する工程と、記憶した並び替え順序に従ってデータを構成するバイトデータの順番の並び替えをする工程とを含み、これによって、並び替えたデータを転送元から転送先へ転送する。
【発明の効果】
【００１２】
本発明によれば、CPU（Central Processing Unit）によりメモリ上で並び替えソフトウェアを実行したり、IP回路を改変したりするといった、従来のソフトウェアやハードウェアを用いて並び替え処理を行なう場合に比較して、元来転送処理に必要とされていた工数でバイト順の並び替え処理も行なうことが可能である。したがって、並び替え処理に必要な工数が増加することがなく、並び替えに要する処理時間は、従来のソフトウェアやハードウェアを用いて並び替え処理を行なう場合に比較して短縮される。
【００１３】
本発明によれば、従来のソフトウェアやハードウェアで実行する場合に比較して、動作する回路が極めて小さいため、消費電力を抑えることが可能である。さらに、ソフトウェアやハードウェアで処理する場合に比較して命令数が削減されるため、メモリ量の削減も可能である。
【００１４】
従来の方式でソフトウェアやハードウェアで処理を行なった場合は、並び替え処理にCPUを用いるため、同様の処理の再実行を高速化するために、並び替えた後のデータをメモリに格納する必要がある。しかし本発明はDMA方式であるから、変換後のデータをメモリに格納する必要はないため、データ格納用のメモリを小さくすることが可能となる。
【００１５】
本発明によれば、DMA制御装置でデータのバイト順の並び替え処理を実行することが可能なことから、CPUの負担が軽減化され、ひいてはCPUが不要となることもあり、面積の削減に繋がる。
【００１６】
本発明によれば、IP回路を改変する必要が無くなるため、LSI開発に必要な工数を抑えることが可能である。さらに、複数のIPのインターフェースにデータ変換回路を追加する場合と比較すると、回路の追加はDMA制御装置という１箇所で済むことから、回路量の増加を抑えることができ、開発工数も増加しない。
【発明を実施するための最良の形態】
【００１７】
次に添付図面を参照して本発明によるダイレクトメモリアクセス制御装置および制御方法の実施例を詳細に説明する。図中、同様の要素は同一の参照符号で示し、本発明に直接関係のない要素は図示を省略している。なお、信号はそれが現れる信号線の参照符号を用いて指示する。
【実施例１】
【００１８】
図１は本発明の実施例を説明するうえで基礎となるDMA制御装置100を組込んだシステムLSI（Large Scale Integration）10の構成例を示すブロック図である。システムLSI 10は集積回路であり、DMA制御装置100と、メモリ101と、CPU（Central Processing Unit）102と、IP（Intellectual Property）103、104と、I/O装置105と、それらを接続しデータや信号の転送を行なうデータバス106とで構成されている。
【００１９】
メモリ101は、揮発性の半導体記憶装置としてよく、これはCPU 102の演算結果や各命令などのデータを記録するRAM（Random Access Memory）としてよい。メモリ101は、後述する並び替え処理を行なう並び替えソフトウェア107を有する。
【００２０】
CPU 102は、メモリ101に記憶されたプログラムを実行する中央処理装置である。CPU 102は、後述する並び替え処理を行なう並び替えソフトウェア107を実行する命令信号を、I/O装置105に供給する。I/O装置105は、システムLSI 10の外部とのデータのやり取りを行なう入出力装置である。
【００２１】
IP 103、104は、ロジックLSIの構成に必要なハードウェアやソフトウェアの状態で機能をまとめたブロックを指し、例えば、チップ中に入るハードウェアとしての機能ブロック（コア・セル）や、その機能ブロックを動かすためのドライバ・ソフトウェアや、ファームウェアを含んでよい。
【００２２】
図６は、図１に示す各ブロック101、103、104のデータのバイト順の一例を示す模式図であり、図６(a)はメモリ101に格納されているデータのバイト（byte）順を示し、図６(b)は、図６(a)に示すメモリ101に格納されているデータをIP 103へ入力する際のデータのバイト順を示し、図６(c)は、図６(a)に示すメモリ101に格納されているデータをIP 104へ入力する際のデータのバイト順を示す。
【００２３】
図１のような複数のIPを搭載したシステムLSI 10の場合、図６に示すように、同一のデータを各IPに入力する場合であっても、IP毎に、データのバイト順を並び替える必要があることがある。これは例えばIP毎にデータ処理の規格が異なる場合があるためである。図６に示すアルファベットＡ〜Ｄの１文字ずつに区分けされたブロックは、バイトデータを示し、同一のアルファベットで示すブロックは同一のデータを有する。メモリ101に格納されたデータ600をIP 103あるいはIP 104に転送する場合、まずデータを各IPに対応したバイト順に並び替える、並び替え処理が必要となる。データ600をIP 103に転送する場合、データ600はデータ601のようなバイト順に、IP 104に転送する場合はデータ602のようなバイト順に並び替えられる。
【００２４】
図１の並び替えソフト107は、データを各IPに対応したバイト順に並び替えるソフトである。並び替えソフト107を実行すると、ソフト107は、ソフト107自体が記憶されているメモリ101から、各IPに転送するデータを読み出し、バイト単位に分割し、転送先のIPに適合する順番に並び替えて結合する。
【００２５】
DMA制御装置100は、CPU 102を介さずに、I/O装置105−メモリ101間、I/O装置105−IP 103、104間、メモリ101−IP 103、104間等でデータバス106を介してデータ転送を可能とする装置である。DMA制御装置100によれば、CPU 102を介さずにデータ転送を行なうことによって、CPU 102の負荷を減らすことができる。すなわち、この構成では、DMA制御装置100は、メモリ101で並び替えソフト107により既に転送先のIPに適合する順番に並び替えられて結合されたデータを、メモリ101から読み出し、転送先であるIP 103あるいはIP 104に転送する。
【００２６】
図２は、図１に示すDMA制御装置のうち、データ転送を行なう要部を示す構成図である。DMA制御装置100はラッチ202と制御回路203とを含む。制御回路203は、制御信号204をラッチ202に送ることにより、ラッチ202に、既に転送先のIPに適合する順番に並び替えられて結合されたデータをメモリ101から読み込ませる。また、制御回路203は、ラッチ202に制御信号204を送ることによって、ラッチ202が保持するデータの転送先であるIP 103または104を指定し、当該転送先にデータを転送させる。
【００２７】
ラッチ202は、データバス106と信号線201、205で接続された記憶回路であり、信号線201を介して、既に転送先のIPに適合する順番に並び替えられて結合されたデータを、図２には図示しないメモリ101から読み出し、保持する。またラッチ202は、保持したデータを、制御回路203から供給される制御信号204が指定する図示しない転送先に対して、信号線205を介して転送する。
【００２８】
図３は、本発明によるDMA制御装置の第１の実施例を示すブロック図であり、データ転送を行なう要部の構成を示す。図３に示すDMA制御装置300は、図１および図２に示すDMA制御装置100を改変したものであり、本発明を適用したシステムLSIを構成可能なものである。すなわち、図３に示すDMA制御装置300は、転送元であるメモリ101から転送先であるIP 103または104へ直接にデータ転送を行なうことができる。これを表現するため、図３のデータバスは、図１および図２のデータバスと同様、参照符号106で示す。
【００２９】
なお、本実施例は、システムLSIを構成可能なDMA制御装置であるが、本実施例はボードにも適用可能である。
【００３０】
DMA制御装置300は、ラッチ302と、制御回路303と、データ変換回路305と、変換設定レジスタ309とを含む。ラッチ302の機能は図２で説明したラッチ202と同様であり、制御回路303から供給される制御信号304によって制御される。但しここでのラッチ302は、図３には図示しないメモリ101から、未だ転送先のIPに適合する順番に並び替えられていないデータを読み出し、保持する。そして、保持するデータを直接データバス106に供給するのではなく、信号線400を介してデータ変換回路305に供給する。
【００３１】
制御回路303は、制御信号304をラッチ302に送ることにより、ラッチ302に、データバス106を介して、図示しないメモリ101からデータを読み込ませる。また、制御回路303は、ラッチ302に制御信号304を送ることによって、ラッチ202が保持するデータをデータ変換回路305に供給させる。
【００３２】
さらに制御回路303は、制御信号312によってデータ変換回路305を制御し、後述のように、回路305に並び替え処理を行なわせ、並び替えが行なわれたデータの転送先を回路305に与える。
【００３３】
変換設定レジスタ309は、演算や実行状態の保持に用いる記憶素子である。変換設定レジスタ309は、書き換え可能なレジスタを有していて、レジスタの値は、バイトデータの並び替え順序を示している。後述するように、レジスタの値すなわち並び替え順序は、数ビットの情報でよい。変換設定レジスタ309は、バイトデータの並び替え順序を選択制御信号308として作成し、データ変換回路305に供給する。変換設定レジスタ309が保持するレジスタの値は、データバス106から供給される変更信号310によって、転送先に適合する並び替え順序となるよう、外部からの入力・書き換えが可能である。初期状態では、レジスタには値が保持されていず、変更信号310によるレジスタ値の入力が必要となる。
【００３４】
データ変換回路305は、ラッチ302から供給されるデータ400のバイト順を、変換設定レジスタ309から供給される選択制御信号308に基づいて、並び替え処理する回路である。データ変換回路305は、並び替え処理を行なったデータ402を、制御信号312が指定する図３には図示しない転送先、例えばIP 103やIP 104へ転送する。
【００３５】
図８は図３に示すデータ変換回路305の構成を示すブロック図である。図８に示すように、データ変換回路305は、４つのマルチプレクサ500、502、504、506で構成されている。マルチプレクサは複数の入力ストリームと１つの出力ストリームとを有し、１つ以上の選択制御信号によって、入力ストリームのうち１つだけを出力ストリームに進めるデバイスである。図８に示すもののうち、マルチプレクサ500、506は３入力のマルチプレクサである。マルチプレクサ500には「DCBA」というバイト順でラッチ302に保持されていたデータ400のうち、D, C, Aの３つが入力される。マルチプレクサ506には、D, B, Aの３つが入力される。マルチプレクサ500、506はそれぞれ、２bitの選択制御信号を受信し、この信号に基づいて出力を決定する。２bitの選択制御信号であれば、４通りの選択が可能であり、３入力のマルチプレクサの選択を制御するには十分だからである。
【００３６】
一方、マルチプレクサ502、504は２入力のマルチプレクサである。マルチプレクサ502には「DCBA」というバイト順でラッチ302に保持されていたデータ400のうち、D, Cの２つが入力される。マルチプレクサ504にはB, Aの２つが入力される。マルチプレクサ502、504は、それぞれ、１bitに選択制御信号を受信し、この信号に基づいて出力を決定する。１bitの選択制御信号であれば、２通りの選択が可能だからである。以上のように、選択制御信号308は、合計で６bitの信号とすればよい。この選択制御信号308、すなわち変換設定レジスタ309の値は、既に述べたように、データの転送先に応じて、事前に、外部からの入力・書き換えが可能である。
【００３７】
図４は、図３のデータ変換回路305において、ラッチ302から供給されるデータ400を、選択制御信号308に基づいてIP 103用に並び替え処理を行なった場合の図である。データ400は、ラッチ302に保持されたデータのバイト順を示す。変換設定レジスタ309からの選択制御信号308が供給されると、図４に示すように、データ変換回路305において、データ400に対し、IP 103用の並び替え処理が施され、並び替え処理が完了したデータがデータ402Aである。ここでは、「DCBA」というバイト順でラッチ302に保持されていたデータ400が、並び替え処理後のデータ402Aでは「CDAB」のバイト順に並び替えられている様子を示している。
【００３８】
図５は、図３のデータ変換回路305において、ラッチ302から供給されるデータ400を、選択制御信号308に基づいてIP 104用に並び替え処理を行なった場合の図である。ここでは、「DCBA」というバイト順でラッチ302に保持されていたデータ400が、並び替え処理後のデータ402Bでは「ACBD」のバイト順に並び替えられている様子を示している。
【００３９】
以上のように構成された本発明によるダイレクトメモリアクセス制御装置の第１の実施例の動作について、以下、図９に沿って説明する。図９は本実施によるダイレクトメモリアクセス制御方法の概略を示すフローチャートである。図９のステップS900に示すように、まず図３に示す変換設定レジスタ309にレジスタ値の入力を行なう。変換設定レジスタ309は初期状態において、外部からデータバス106を介して供給される変更信号310によりレジスタ値を入力し、保持する。本実施例では、このレジスタ値は、６bitの信号としてよい。このレジスタ値は転送先のバイト順の設定を示すものであるため、データの転送先に応じて異なる値を入力する。
【００４０】
図３には図示しないメモリ101が有するデータを、CPU 102を介さないDMA方式によって転送する場合、制御回路303は、ラッチ302に、信号線301を介してメモリ101から、未だ転送先のIPに適合する順番に並び替えられていないデータを読込ませる。ラッチ302は、供給されたデータ301を保持し、そのデータを、ステップS902に示すように、信号線400を介してデータ変換回路305に供給する。
【００４１】
次に、変換設定レジスタ309は、ステップS904に示すように、保持するレジスタ値、すなわちバイト順の並び替えの設定を示す選択制御信号308を作成し、データ変換回路305に供給する。データ変換回路305は、ステップS906に示すように、供給されるデータ400に対して、選択制御信号308を基に、図４または図５に示す、転送先に適合したバイト順の並び替え処理を行なう。
【００４２】
なお、本実施例ではバイト順の並び替えの設定はレジスタという書換可能な手段にて設定しているが、他の固定的な構成を用いてバイト順の並び替えの設定を行なってもよい。また、レジスタに代えて、DMA制御装置の外部からの信号310を、例えばデータ変換回路305に直接に与えることによって、バイト順の並び替えの設定を切り替えてもよい。
【００４３】
図１におけるIP 103にデータを転送する場合は、図４に示すように、ラッチ302に保持されているデータ400のバイト順「DCBA」は、データ変換回路305にて行なわれる並び替え処理を施されると、バイト順が「CDAB」というデータ402Aに並び替えられる。並び替え処理が施されたデータ402Aは、ステップS908に示すように、制御信号312が指定する転送先に信号線402を介して転送される。
【００４４】
次にステップS910にて、他のデータを転送するか否かを判定し、転送する場合、例えば、図１におけるIP 104にデータを転送する場合は、ステップS900に戻り、IP 104用に、変換設定レジスタ309の値を再入力する。これにより、図５に示すように、ラッチ302に保持されているデータ400のバイト順「DCBA」は、データ変換回路305にて行なわれる並び替え処理を施されると、バイト順が「ACBD」というデータ402Bに並び替えられる。並び替え処理が施されたデータ402Bは、制御信号312が指定する転送先に信号線402を介して転送される。
【００４５】
以上のように、転送先に応じて並び替えの結果が図４または図５に示すように異なるものとなるのは、変換設定レジスタ309に初期状態において入力されるレジスタ値が異なるからである。なお本実施例では、データの転送先として２つのIP 103、104のみを示したが、転送先は、無論、３つ以上であってもよい。そして、それに対応して、図４および図５に示したパターン以外のバイト順の並び替えも、無論、可能である。さらに本発明は、データのバイト順だけでなく、ビット順の並び替えにも適用可能である。
【実施例２】
【００４６】
図７は、本発明によるDMA制御装置の第２の実施例を示すブロック図であり、データ転送を行なう要部の構成を示す。図７に示すDMA制御装置700も、第１の実施例と同様に、図１および図２に示すDMA制御装置100を改変したものであり、本発明を適用したシステムLSIを構成可能なものである。これを表現するため、図７のデータバスも、図１および図２のデータバスと同様、参照符号106で示す。なお、本実施例は、第１の実施例と同様、システムLSIだけでなくボードにも適用可能である。
【００４７】
DMA制御装置700は、ラッチ702と、制御回路703と、データ変換回路305と、変換設定レジスタ709と、変換選択回路713とを含む。ラッチ702の機能は図２で説明したラッチ202と同様であり、制御回路703から供給される制御信号704によって制御される。但しここでのラッチ702も、第１の実施例におけるラッチ302と同様に、図７には図示しないメモリ101から、未だ転送先のIPに適合する順番に並び替えられていないデータを読み出し、保持する。そして、保持するデータ701を直接データバス106に供給するのではなく、信号線707を介してデータ変換回路705に供給する。データ変換回路705の機能は図３および図８を用いて説明した回路305と同様である。
【００４８】
本実施例の特徴は以下の通り、変換選択回路713が設けられていることである。すなわち、データ変換回路705は、ラッチ702から供給されるデータ707に対して、変換選択回路713から供給される選択制御信号708に基づいて、バイト順の並び替え処理を行ない、制御信号714が指定する図示しない転送先に、信号線706を介してデータを転送する回路である。
【００４９】
変換設定レジスタ709は、演算や実行状態の保持に用いる記憶素子である。ただし、変換設定レジスタ709は図３の変換設定レジスタ309とは異なり、複数のレジスタの値を保持可能であるため、複数のバイトデータの並び替えの順序を制御信号712として変換選択回路713に供給することができる。変換設定レジスタ709が保持するレジスタの値は、データバス106から供給される変更信号710によって外部からの入力・書き換えが可能である。初期状態の場合、すべてのレジスタには値が保持されていず、変更信号710によるレジスタ値の入力が必要となる。
【００５０】
なお、変換設定レジスタ709内のレジスタを１つにし、レジスタ中の数ビットに複数のレジスタ値を割り当てることとしてもよい。また、レジスタ値を他のレジスタの一部へ割り当ててもよい。
【００５１】
制御回路703は、図７には図示しないメモリ101から転送するデータを信号線715を介して読込み、ラッチ702に信号線701を介して供給する。
【００５２】
制御回路703がデータ変換回路705に対して行なう制御や与える情報は、図３に示す第１の実施例と同様であるため、説明を省略する。しかし、第２の実施例の特徴である、変換選択回路713と制御回路703との関係については、以下、説明する。制御回路703は、制御信号711を変換選択回路713に供給し、データ変換回路714だけでなく、変換選択回路713にも、データの転送先を知らせる。これにより、変換選択回路713は、変換設定レジスタ709から供給される制御信号712のなかから、転送先に適合したバイト順の並び替えの設定を選択することができる。変換選択回路713は、選択したバイト順の並び替えの設定を選択制御信号708としてデータ変換回路705に供給する。
【００５３】
以上のように構成された本発明によるダイレクトメモリアクセス制御装置の第２の実施例の動作について、以下、図10に沿って説明する。図10は本実施によるダイレクトメモリアクセス制御方法の概略を示すフローチャートである。図10のステップS1000に示すように、まず図７に示す変換設定レジスタ709が有する複数のレジスタは初期状態において、データバス106から供給される変更信号710により複数のレジスタ値が入力され、保持される。第１の実施例と異なるのは、変換設定レジスタ709の場合、初期状態においてすべての転送先に応じたレジスタ値をレジスタに入力しておけば、データ転送先が異なるたびにレジスタを書き換える必要がないことである。
【００５４】
図７には図示しないメモリ101が有するデータを、CPU 102を介さないDMA方式によって転送する場合、制御回路703は、ラッチ702に、信号線701を介してメモリ101から、未だ転送先のIPに適合する順番に並び替えられていないデータを読込ませる。ラッチ702は、供給されたデータ701を保持し、そのデータを、ステップS1002に示すように、信号線707を介してデータ変換回路705に供給する。
【００５５】
変換設定レジスタ709は、保持する複数のレジスタ値を基に、複数のバイト順の並び替えの設定を示す制御信号712を作成し、変換選択回路713に供給する。変換選択回路713は、ステップS1003に示すように、供給される複数のバイト順の並び替えの設定を示した制御信号712のなかから、データの転送先を示す制御信号711を基に、データの転送先に適合した設定を選択する。選択された設定は、ステップS1004に示すように、選択制御信号708としてデータ変換回路305に供給される。データ変換回路305は、ステップS1006に示すように、ラッチ702より供給されるデータ707に対して、バイト順の並び替えの設定を示した選択制御信号708を基に、転送先に適合したバイト順の並び替え処理を行なう。並び替え処理を施されたデータ706は、ステップS1008に示すように、制御信号714が指定する転送先に信号線706を介して転送される。
【００５６】
次にステップS1010にて、他のデータを転送するか否かを判定し、転送する場合、本実施例では、第１の実施例と異なり、変換設定レジスタ値を新たに入力することなく、ステップS1002へ移行すればよい。
【００５７】
本実施例でも、以上のように、転送先に応じて並び替えの結果が図４または図５に示すように異なるものとなる。これは、変換設定レジスタ709に保持される複数のレジスタ値として、各転送先に適合される値が入力され、そのうちの１つを変換選択回路713が選択してバイト順の並び替え処理が行なわれるからである。
【００５８】
なお本実施例も、第１の実施例と同様に、データの転送先は３つ以上であってもよいし、ビット順の並び替えにも適用可能である。
【図面の簡単な説明】
【００５９】
【図１】DMA制御装置を組込んだシステムLSIの構成例を示すブロック図である。
【図２】図１に示すDMA制御装置のうち、データ転送を行なう要部を示す構成図である。
【図３】本発明によるDMA制御装置の第１の実施例を示すブロック図である。
【図４】図３のデータ変換回路による、バイト順の並び替え処理を示す図である。
【図５】図３のデータ変換回路による、他のバイト順の並び替え処理を示す図である。
【図６】図１に示すメモリおよび各IPのデータのバイト順の一例を示す模式図である。
【図７】本発明によるDMA制御装置の第２の実施例を示すブロック図である。
【図８】図３に示すデータ変換回路の構成を示すブロック図である。
【図９】図３に示すDMA制御装置の制御方法の概略を示すフローチャートである。
【図１０】図７に示すDMA制御装置の制御方法の概略を示すフローチャートである。
【符号の説明】
【００６０】
10  システムLSI
300、700  DMA制御装置
302、702  ラッチ
305、705  データ変換回路
309、709  変換設定レジスタ
713  変換選択回路
【図１】
2007323491.tif 000003
【図２】
2007323491.tif 000004
【図３】
2007323491.tif 000005
【図４】
2007323491.tif 000006
【図５】
2007323491.tif 000007
【図６】
2007323491.tif 000008
【図７】
2007323491.tif 000009
【図８】
2007323491.tif 000010
【図９】
2007323491.tif 000011
【図１０】
2007323491.tif 000012