(57)【要約】【課題】本発明はメモリに貯蔵されているデータを他のメモリに移動させる装置及び方法に関し、特にデータの移動時、特定ビット数だけシフトした後、他のメモリに移動させる装置及び方法に関する。【解決手段】既存の直接メモリ接近媒体(ＤＭＡ)は、第１メモリでデータを読み出して第２メモリに貯蔵することにおいて、メモリアドレスの１番目位置から順次的に貯蔵する。しかし、本発明は、データの移動時、特定ビット数だけシフトした後にデータを移動させるようにＤＭＡ内の制御レジスタ値を設定する。このようにすることにより、特定データに対して制御レジスタに設定された値だけシフトし、前記シフトされたデータを他のメモリに貯蔵する。【選択図】図６
2004227580.tif 000002
【特許請求の範囲】
【請求項１】
直接メモリ接近媒体によりデータを読み出し及び貯蔵する方法において、
第１貯蔵媒体から読み出したデータの加工が要求されるとき、シフト方向とシフトしようとするビット数を予め決定する過程と、
前記読み出したデータを構成するビットの列をレジスタに順次的に貯蔵し、前記ビットの列を前記決定したシフト方向に前記シフトしようとするビット数だけをシフトして第２貯蔵媒体に伝達する過程と
を含むことを特徴とする方法。
【請求項２】
前記読み出したデータを構成するビットの列は、８ビット、１６ビット、３２ビットのうちいずれか一つで構成されることを特徴とする請求項１記載の方法。
【請求項３】
前記シフトするビット数は０ビット乃至７ビットのうち一つであることを特徴とする請求項２記載の方法。
【請求項４】
前記シフト方向とシフトしようとするビット数を決定する過程は、前記直接メモリ接近媒体に設定されているビット値により決定されることを特徴とする請求項３記載の方法。
【請求項５】
前記読み出したデータを構成するビットの列を重要度が高いビットと重要度が低いビットの列に区分する過程と、
前記重要度が低いビットと前記重要度が高いビットの位置を再配列して前記第２貯蔵媒体に記録する過程と
をさらに含むことを特徴とする請求項１記載の方法。
【請求項６】
前記重要度が高いビットと前記重要度が低いビットの位置を再配列する過程で、前記読み出されたデータは３２ビットで構成されることを特徴とする請求項５記載の方法。
【請求項７】
前記重要度が高いビットと前記重要度が低いビットの位置を再配列する過程は、前記直接メモリ接近媒体に設定されているビット値により決定されることを特徴とする請求項６記載の方法。
【請求項８】
直接メモリ接近媒体によりデータを読み出し及び貯蔵する装置において、
ソースアドレスに指示した読み出しデータを貯蔵している第１貯蔵媒体と、
読み出しデータの加工が要求されるとき、シフト方向とシフトしようとするビット数を予め決定し、前記読み出したデータを構成するビットの列をレジスタに順次的に貯蔵し、前記貯蔵したビットの列を前記決定したシフト方向に前記シフトしようとするビット数だけをシフトして伝達する前記直接メモリ接近媒体と、
前記直接メモリ接近媒体から伝達されたデータを貯蔵する第２貯蔵媒体と
からなることを特徴とする装置。
【請求項９】
前記直接メモリ接近媒体は、
読み出したデータを構成するビットの列を８ビット、１６ビット、３２ビットのうちいずれか一つのビットに読み出すことを特徴とする請求項８記載の装置。
【請求項１０】
前記直接メモリ接近媒体は、
前記シフトするビット数を０ビット乃至７ビットのうち一つのビット数にシフトすることを特徴とする請求項９記載の装置。
【請求項１１】
前記直接メモリ接近媒体は、
設定されているビット値により前記シフト方向とシフトしようとするビット数を決定することを特徴とする請求項１０記載の装置。
【請求項１２】
前記直接メモリ接近媒体は、
読み出したデータを構成するビットの列を重要度が高いビットと重要度が低いビットの列に区分し、前記重要度が低いビットと前記重要度が高いビットの位置を再配列して前記第２貯蔵媒体に記録することを特徴とする請求項８記載の装置。
【請求項１３】
前記直接メモリ接近媒体は、
前記読み出したデータが３２ビットで構成された場合、前記重要度が高いビットと前記重要度が低いビットの位置を再配列することを特徴とする請求項１２記載の装置。
【請求項１４】
前記直接メモリ接近媒体は、
設定されているビット値により前記重要度が高いビットと前記重要度が低いビットの位置を再配列することを特徴とする請求項１３記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ貯蔵装置及び方法に関し、特に、特定メモリに貯蔵されているデータを他の貯蔵場所に移動させるための装置及び方法に関する。
【背景技術】
【０００２】
一般的に、データは中央処理装置(central processing unit:以下、ＣＰＵ)の命令により移動される。前記ＣＰＵは、システム全体を制御する装置として、多様な入力装置から受信した資料を処理した後、その結果を出力装置に伝達する一連の過程を制御/調整する。このように前記ＣＰＵが複数個の入力装置からデータを受信して処理する場合、前記ＣＰＵ内部に多くの負荷が発生する。従って、前記ＣＰＵ内部に発生する負荷を減少させるために、前記ＣＰＵ機能の一部を他のプロセスにより遂行することが要求される。前記要求に従って、直接メモリ接近媒体(Direct Memory Access:以下、ＤＭＡ)プロセスが開発された。
【０００３】
前記ＤＭＡは、前記ＣＰＵの機能のうち、特定メモリや貯蔵場所に貯蔵されているデータを読み出して他のメモリや貯蔵場所に伝送する機能を遂行する。大きさが小さいデータは、前記ＣＰＵにより特定メモリから他のメモリに伝送しても、前記ＣＰＵに多くの負荷が発生しない。しかし、一定大きさ以上を有するデータは、前記ＣＰＵの命令により特定メモリから他のメモリに伝送されると、前記ＣＰＵは多くの負荷の発生をもたらす。また、前記一定大きさ以上を有するデータの場合、前記ＤＭＡによるデータ伝送速度が前記ＣＰＵによるデータ伝送速度より高くなる。一般的に前記一定大きさは５１２byte程度になる。
【０００４】
図１は、一般的なＤＭＡを使用するシステムの例として、ＡＲＭ(Advanced Risc Machine)社で製造されたＡＭＢＡ(Advanced Micro- controller Bus Architecture)の構造を示した図である。前記ＡＭＢＡには、高い周波数が要求されるブロックで使用されるＡＨＢ(Advanced High-performance Bus)と相対的に低い周波数で使用されるＡＰＢ(Advanced Peripheral Bus)が含まれる。前記ＡＨＢと前記ＡＰＢは、ＡＨＢ-ＡＰＢブリッジ(Bridge)１０８に連結されているので、高速のバスと低速のバスがデータを交換することができる。前記図１の残りの構成を説明すると、前記ＡＨＢブロックは、中央処理装置(ＣＰＵ)１００、第１貯蔵装置１０２、ＤＭＡ装置１０４、そしてバス仲裁器(Bus Arbiter)１０６で構成されている。また前記ＡＰＢブロックは、第２貯蔵装置１１０と入出力装置１１２で構成されている。前記入出力装置は、ユニバーサルシリアルバス(Universal Serial Bus:以下、ＵＳＢ)やキーパッド(Keypad)、凡庸非同期化送受信器(Universal Asynchronous Receiver/Transmitter:以下、ＵＡＲＴ)などを含むことができる。従来には、前記第１貯蔵装置１０２に貯蔵されているデータを前記第２貯蔵装置１１０に伝送するために、前記ＣＰＵ１００により全ての動作が制御され処理される。即ち、前記ＣＰＵ１００は、前記第１貯蔵装置１０２に貯蔵されているデータを前記第２貯蔵装置１１０に伝送する場合、前記第１貯蔵装置１０２に貯蔵されているデータを読み出す。前記ＣＰＵ１００は、読み出されたデータを前記第２貯蔵装置１１０に伝送する前に必要な処理過程を遂行する。しかし、前記第１貯蔵装置１０２から前記第２貯蔵装置１１０に伝送するデータ量が多くの場合、前記ＣＰＵ１００がこのような一連の過程を遂行することにおいて困難な問題が発生する。即ち、前記ＣＰＵ１００は、データ伝送以外にシステムに関連された多くの作業を遂行すべきであるからである。従って、このような問題点を解決するために、前記ＤＭＡ装置１０４が開発された。
【０００５】
前記図１は、一つのＤＭＡ装置１０４のみを示しているが、前記ＤＭＡ装置１０４は、各システムに応じて複数個で構成され得ることは自明であるだろう。また、前記ＤＭＡ装置１０４は、前記ＡＨＢブロックに貯蔵されているデータを前記ＡＨＢブロックに伝送するか、前記ＡＰＢブロックに貯蔵されているデータを前記ＡＰＢブロックに伝送することもできる。この場合、前記ＡＨＢブロックと前記ＡＰＢブロックは、複数個の貯蔵装置で構成される。前記ＤＭＡ装置１０４は、ＣＰＵ１００の制御命令により、または外部制御命令により前記第１貯蔵装置１０２に貯蔵されているデータを前記第２貯蔵装置１１０に伝送する。前記ＤＭＡ装置１０４でのデータ伝送は、以下、図３でより詳細に説明する。
【０００６】
図２は、前記図１のＤＭＡ装置１０４の内部構造を示したブロック図である。前記図２で示しているように、前記ＤＭＡ装置１０４は、制御レジスタ(Control Register)、ソースアドレスレジスタ(Source Address Register:以下、ＳＡＲ)、目的地アドレスレジスタ(Destination Address Register:以下、ＤＡＲ)、伝送カウントレジスタ(Transfer Count Register:以下、ＴＣＲ)、バッファ(First in First out:以下、ＦＩＦ０)、バス制御器、インターフェースなどで構成される。前記ＳＡＲは、前記ＤＭＡ装置１０４が前記第１貯蔵装置１０２からデータを読み出す場合、初期ソースアドレスを指定するレジスタである。前記ＤＡＲは、前記ＤＭＡ装置１０４が前記第１貯蔵装置１０２から読み出したデータを最先に前記第２貯蔵装置１１０に記録するための初期目的地アドレスを指定するレジスタである。前記ＴＣＲは、前記ＤＭＡ装置１０４が前記第１貯蔵装置１０２から読み出したデータを前記第２貯蔵装置１１０に記録する回数を指定するレジスタである。また前記制御レジスタは、前記第１貯蔵装置１０２のソースアドレスでデータを読み出した後、次のデータを読み出す場合、前記読み出すアドレスを減少させるか、増加させるか、或いは固定させるかを制御する。また、前記制御レジスタは、前記第１貯蔵装置１０２のソースアドレスから読み出したデータを目的地アドレスに記録した後、次のデータの記録が要求される場合、前記記録のためのアドレスを減少させるか、増加させるか、または固定させるかを制御する。また、前記制御レジスタは、前記第１貯蔵装置１０２から前記第２貯蔵装置１１０にデータを伝送する場合、一度に伝送可能なデータの単位を制御する。前記一度に伝送可能なデータの単位には１バイト(byte)(８ビット)、１/２-ワード(word)(１６ビット)、１ワード(３２ビット)などがある。前記レジスタに登録される値は前記ＣＰＵ１００の命令により、または外部制御器の命令により登録される。
【０００７】
上述したように、前記ＤＭＡ内部に位置しているレジスタに対する値が設定されると、前記図１に示した前記第１貯蔵装置１０２からデータを読み出して前記第２貯蔵装置１１０に記録する。
このように前記ＤＭＡ装置１０４は、前記第１貯蔵装置に貯蔵されているデータを前記第２貯蔵装置に伝達する機能のみを遂行する。しかし、前記第２貯蔵装置には、前記第１貯蔵装置に貯蔵されているデータと異なる形態としてデータが貯蔵されることを要求する場合が発生する。例えば、前記第１貯蔵装置に貯蔵されているデータを一定ビット数だけシフト(Shift)し、前記シフトされたデータが前記第２貯蔵装置に貯蔵されるべき場合が発生する。このような場合、従来には、ＤＭＡはデータをビットシフトしなく伝達させるように制御する機能のみを遂行し、前記ＣＰＵが前記伝達されたデータを一定ビット数だけシフトさせた。または前記ＤＭＡを使用することなく、前記ＣＰＵがデータを一定ビット数だけシフトさせた後、他の貯蔵装置に伝達した。このように前記データを特定ビット数にシフトさせる場合、前記ＣＰＵにより遂行されることにより、前記ＤＭＡにデータを移動させる場合に比べて伝送速度が低くなる短所がある。前記ＣＰＵの一部機能を前記ＤＭＡで処理することにより、前記ＣＰＵの負荷を低減しようとしたが、このようにデータを特定ビット数だけシフトさせる場合、前記ＣＰＵが関与することにより、前記ＣＰＵの負荷が低減されない問題点が発生される。従って、前記ＣＰＵにかかわらず前記データを特定ビット数だけシフトさせ伝達させることができる方案が論議される。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従って、前述の問題点を解決するための本発明の目的は、第１貯蔵装置から第２貯蔵装置にデータを伝達するとき、中央処理装置が関与することなく特定ビット数だけシフトされたデータを伝達する装置及び方法を提案することにある。
本発明の他の目的は、従来中央処理装置によりデータを特定ビット数だけシフトさせ伝達することにより発生する処理時間の遅延を防止するための装置及び方法を提案することにある。
【課題を解決するための手段】
【０００９】
このような目的を達成するために、本発明は、直接メモリ接近媒体(ＤＭＡ)の制御レジスタにシフトを所望する特定ビット数とシフト方向を決定するレジスタ値を設定する。前記レジスタ値の設定が完了されると、第１貯蔵装置からデータを読み出して前記ＤＭＡの臨時貯蔵装置に貯蔵する。前記ＤＭＡの臨時貯蔵装置に貯蔵されたデータを読み出して前記設定されたシフトを所望する特定ビット数とシフト方向に応じてシフトした後、第２貯蔵装置に貯蔵する装置を提案する。
【００１０】
また、本発明は、直接メモリ接近媒体(ＤＭＡ)の制御レジスタにシフトを所望する特定ビット数とシフト方向を決定するレジスタ値を設定する。前記レジスタ値の設定が完了されると、第１貯蔵装置からデータを読み出して前記ＤＭＡの臨時貯蔵装置に貯蔵する。前記ＤＭＡの臨時貯蔵装置に貯蔵されたデータを読み出して、前記設定されたシフトを所望する特定ビット数とシフト方向に応じてシフトした後、第２貯蔵装置に貯蔵する方法を提案する。
【発明の効果】
【００１１】
本発明は、従来のＣＰＵにより特定ビット数だけシフトされたデータを伝送することにより発生する時間の遅延問題を、ＤＭＡにより特定ビット数だけシフトされたデータを伝送することにより解決することができる。
また、ＣＰＵによりデータを処理することにより発生するＣＵＰの過負荷をＤＭＡで処理することによりＣＵＰの過負荷問題を解決することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明に従う好適な一実施形態について添付図を参照しつつ詳細に説明する。下記の説明において、本発明の要旨のみを明瞭にする目的で、関連した公知機能又は構成に関する具体的な説明は省略する。
前記背景技術部分で述べたように、前記図２は前記ＤＭＡ装置の構成を示している。前記ＣＰＵ１００、または外部制御装置により、前記ＳＡＲ、ＤＡＲ、ＴＣＲなどの値が指定される。しかし、本発明では、前記ＳＡＲ、ＤＡＲ、ＴＣＲなどの値以外に前記データを伝達することにおいて特定ビット数だけシフトさせるための特定値を指定する。本発明のＤＭＡは、伝達しようとするデータを処理できるように追加的な情報を要求する。即ち、前記ＤＭＡは、既存にデータを移動させるために要求される情報と同時に、前記データを処理するための情報が必要であり、前記必要な情報に関する例は下記表１のようである。下記表１は本発明が適用される制御レジスタの構成と前記各構成の役割に対して詳細に説明している。
【００１３】
【表１】
2004227580.tif 000003
【００１４】
前記表１のように、前記制御レジスタは１４ビットで構成される。前記機能列(function column)は、各ビットのための機能と、その機能が該当ビット値にどのように関連されているかを定義する。以下、前記表１で提案されている本願発明の制御レジスタの機能に対して説明する。前記各ビットの値は、使用者の選択により任意に調整できることは自明である。前記制御レジスタの０番ビットは、前記ＤＭＡ装置１０４がデータを伝達するか否かを決定する。前記０番ビットの値が“０”である場合、前記ＤＭＡ装置１０４は、データを伝送せず、前記０番ビットの値が“１”である場合、前記ＤＭＡ装置１０４はデータを伝送する。前記ＣＰＵ１００は、データ量が少ない場合、データ伝送を遂行し、前記ＤＡＭ装置１０４は、データ量が多くの場合、データ伝送を遂行する。前記０番ビットが“１“である場合、前記制御レジスタの１番ビットをチェックする。
【００１５】
前記制御レジスタの１番ビットは、前記ＤＭＡ装置１０４のモードを決定するビットである。前記ＤＭＡ装置１０４のモード(Mode)は、前記ＤＭＡ装置１０４の動作がハードウェア(Hardware)により遂行されるか、ソフトウェア(Software)により遂行されるかを判断する。前記ソフトウェアによる遂行とは、前記ＣＰＵ１００の制御命令により前記ＤＭＡ装置１０４がデータ伝送を遂行する場合を意味し、前記ハードウェアによる遂行とは、外部制御システムの制御命令により前記ＤＭＡ装置１０４がデータ伝送を遂行する場合を意味する。前記１番ビットの値が“０”である場合、前記Ｓ／Ｗにより遂行される場合であり、前記１番ビットの値が“１”である場合、前記Ｈ／Ｗにより遂行される場合である。前記制御レジスタの２番ビット乃至３番ビットは、伝送サイズ決定ビットである。即ち、一度に伝送するデータの伝送ビット単位を決定する。前記ビットの値が“００”である場合、８ビット(１バイト)単位にデータ伝送が遂行され、前記ビットの値が“０１”である場合、１６ビット(１/２ワード)単位にデータ伝送が遂行される。また前記ビットの値が“１０”である場合、３２ビット(１ワード)単位にデータ伝送が遂行される。
【００１６】
前記制御レジスタの４番ビットは、ソースアドレス固定(Source Address Fix:以下、ＳＡＦ)が指定されているか否かを示すビットである。即ち、前記図２のＳＡＲが指定するアドレスに貯蔵されているデータを読み出した後、次のデータを読み出すアドレスを決定するビットである。前記４番ビットの値に従って、前記次のデータの読み出しアドレスを増加/減少させるか、または同一のアドレスに貯蔵されているデータを反復して読み出すかを判断する。前記４番ビットの値が“０”である場合、前記次のデータの読み出しアドレスを増加/減少させ、前記４番ビットの値が“１”である場合、前記次のデータは以前に読み出したアドレスと同一のアドレスで読み出す。前記制御レジスタの５番ビットは、目的地アドレス固定(Destination Address Fix:以下、ＤＡＦ)が指定されたか否かを示すビットである。即ち、前記図２のＤＡＲが指定する目的地アドレスに前記ソースアドレスから読み出したデータを貯蔵した以後、次に読み出したデータを貯蔵する目的地アドレスを決定するビットである。前記５番ビットの値に従って、前記次に読み出したデータを貯蔵する目的地アドレスを増加/減少させるか、または、同一のアドレスに反復して読み出したデータを記録するか否かを判断する。前記５番ビットの値が“０”である場合、前記読み出した次のデータの目的地アドレスを、増加/減少させた後に貯蔵し、前記５番ビットの値が“１”である場合、前記読み出した次のデータの目的地アドレスを、以前に貯蔵した目的地アドレスと同一のアドレスに記録する。
【００１７】
前記制御レジスタの６番ビットは、前記４番ビットの値が“０”である場合、前記ソースアドレスを増加させるか、或いは減少させるかを決定するソースアドレス方向(ＳＡＤ:Source Address Direction)ビットである。読み出すデータのソースアドレス値を増加させる場合、その値は“０”であり、読み出すデータのソースアドレス値を減少させる場合、その値は“１”である。前記制御レジスタの７番ビットは、前記５番ビットの値が“０”である場合、目的地アドレスを増加させるか、減少させるかを決定する目的地アドレス方向(ＤＡＤ:Destination Address Direction)ビットである。読み出したデータを記録する目的地アドレス値を増加させる場合の値は“０”であり、読み出したデータを記録する目的地アドレス値を減少させる場合の値は“１”である。
【００１８】
前記制御レジスタの８番ビットは、エンディアン(Endian)変換決定ビットである。前記エンディアン変換は、前記制御レジスタの２番ビット乃至３番ビットで決定されたデータの伝送単位ビットが３２ビット(１ワード)である場合のみに利用される。図３は前記エンディアン変換過程を示している。前記図３で前記伝送ビット単位は、３２ビット(１ワード)で構成され、前記１ワードは４個のバイトで構成される。前記４個のバイトはＡ、Ｂ、Ｃ、Ｄであり、このうち、重要度が最高のバイトはＡバイトであり、その次に重要なバイトはＢバイトである。また重要度が最低のバイトはＤバイトである。しかし、前記エンディアン変換過程を遂行すると、前記バイトの重要度が変換される。即ち、最も重要度が高いバイトが最も重要度が低いバイトに変換され、最も重要度が低いバイトが最も重要度が高いバイトに変換される。前記制御レジスタの８番ビットの値が“０”である場合、前記エンディアン変換過程を遂行せず、前記制御レジスタの８番ビットの値が“１”である場合、前記エンディアン変換過程を遂行する。
【００１９】
前記制御レジスタの９番ビットは、本発明の主な内容であるビットシフトを決定するビットである。前記ビットシフトは、前記ＤＭＡ内部に位置している前記ＦＩＦ０で遂行される。前記第１貯蔵装置のソースアドレスから読み出したデータは、前記ＦＩＦ０に臨時貯蔵される。前記ＦＩＦ０に貯蔵されたデータは、前記第２貯蔵装置に伝達され、この過程でデータのシフトが遂行される。前記制御レジスタの９番ビットの値が“０”である場合、ビットシフトを遂行せず、前記制御レジスタの９番ビットの値が“１”である場合、前記ビットシフトを遂行する。前記９番ビットの値に応じて、ビットシフトが遂行された場合、前記制御レジスタの１０番ビットは、前記シフトの方向を選択する。前記制御レジスタの１０番ビットの値が“０”である場合、右側にビットシフトを遂行し、前記制御レジスタの１０番ビットの値が“１”である場合、左側にビットシフトを遂行する。
【００２０】
前記９番ビットでシフトを遂行することに決定した場合、前記制御レジスタの１１番ビット乃至１３番ビットは、シフトを遂行するビット数を決定する。前記ビットシフトを遂行するビット数は、０ビット乃至７ビットがある。前記ビット数が０ビットである場合は、前記ビットシフトを遂行しない場合と同一である。表２は、ビットシフト方向が右側である場合、前記ソースアドレス(アドレス０１)の０番ビット乃至７番ビットのデータを読み出して、前記目的地アドレス(アドレス４１乃至アドレス４２)に貯蔵する過程を示している。また前記表２は、前記伝送サイズが８ビットであり、前記アドレス０１で読み出されたデータは、アドレス４１、４２に順次に貯蔵されることを仮定する。
【００２１】
【表２】
2004227580.tif 000004
【００２２】
表３は、ビットシフト方向が左側である場合、前記ソースアドレス(アドレス０１)の０番ビット乃至７番ビットのデータを読み出して、前記目的地アドレス(アドレス４０乃至アドレス４１)に貯蔵する過程を示している。また前記表３は、前記伝送サイズが８ビットであり、前記アドレス０１から読み出されたデータは、ビットシフトを遂行しない場合、アドレス４１に貯蔵されることを仮定する。
【００２３】
【表３】
2004227580.tif 000005
【００２４】
表４は、１６進数データ０乃至Ｅとその２進等価値の関係を示している。
【表４】
2004227580.tif 000006
【００２５】
表５乃至表８は、ソースアドレスでデータを読み出した後、前記ビットシフトを遂行して、前記目的地アドレスにデータを記録する過程を示している。表５は、伝送ビット単位が８ビット(“００”)であり、前記制御レジスタの４番ビット乃至１０番ビットの値が“０”である場合を示す。また、前記制御レジスタの１１番ビット乃至１３番ビットが４ビットである場合を示す。また前記各アドレスは、８ビットのデータを含むが、前記８ビット以外に使用者が設定した任意のビット数を有することもできる。
【００２６】
【表５】
2004227580.tif 000007
【００２７】
前記表５で示したように、前記ソースアドレスに貯蔵されているデータと目的地アドレスに貯蔵されるデータは、それぞれ８ビットであり、前記ソースアドレス、または目的アドレスは２個のデータ(８ビット)で構成されている。従って、前記表４で説明したように、一つのデータ値は４ビットで構成されている。ソースアドレス００に貯蔵されている“１ ２”は前記目的地アドレスに貯蔵される場合、右側に４ビットシフトされた後に貯蔵される。従って、前記ソースアドレス００のデータ“１”は前記目的地アドレスのアドレス４０に記録される。この場合、前記ソースアドレス００のデータ“１”は、前記アドレス４０の後端４ビットに記録される。また前記ソースアドレス００のデータ“２”は、４ビットシフトされることにより前記目的地アドレス４１に記録される。この場合、前記データ“２”は、前記目的地アドレス４１の前端４ビットに記録される。そして、前記目的地アドレス４０の前端４ビットは、任意の値に満たされる。前記ソースアドレス０１に貯蔵されている“３ ４”データは、前記目的地アドレス４１の後端部分と目的地アドレス４２の前端部分に記録される。このような過程を遂行することにより、前記表５で示したように、前記ソースアドレスに貯蔵されているデータ値は、前記目的地アドレスに伝達され記録される。
【００２８】
表６は、伝送ビット単位が３２ビット(“１０”)であり、前記制御レジスタの４番ビット乃至１０番ビットの値が“０”である場合を示す。また前記制御レジスタの１１番ビット乃至１３番ビットは、４ビットシフトされる場合を示す。また、前記各アドレスは、８ビットのデータを含むが、前記８ビット以外に使用者が設定した任意のビット数を有することもできる。
【００２９】
【表６】
2004227580.tif 000008
【００３０】
前記表６で示したように、前記ソースアドレスと目的地アドレスに貯蔵されているデータは、３２ビットであり、前記ソースアドレス乃至目的地アドレスは、８個のデータで構成されている。従って、前記表４で説明したように、一つのデータ値は、４個のビットで構成されている。前記伝送ビット単位が３２ビットであるので、一度に読み出すデータは、４個のアドレスに貯蔵されているデータである。また前記ソースアドレス００には、前記データ“１ ２”が貯蔵されており、前記ソースアドレス０１には、前記データ“３ ４”が貯蔵されていることは前記表５と同一である。また残りのソースアドレスに貯蔵されているデータ値も前記表５と同一である。前記ソースアドレス００乃至ソースアドレス０３で読み出したデータは、前記目的地アドレス４０乃至目的地アドレス４４に４ビットシフトされ記録される。前記目的地アドレス４０乃至目的地アドレス４９に貯蔵されるデータ値は、前記表５と同一である。
【００３１】
表７は、伝送ビット単位が８ビット(“００”)であり、前記制御レジスタの４番ビット乃至９番ビットの値が“０”である場合を示す。また、前記１０番ビットの数は“１”を示し、前記制御レジスタの１１番ビット乃至１３番ビットは４ビットシフトされる場合を示す。また、前記各アドレスは８ビットのデータを含むが、前記８ビット以外に使用者が設定した任意のビット数を有することもできる。
【００３２】
【表７】
2004227580.tif 000009
【００３３】
前記表７で示したように、前記ソースアドレスと目的地アドレスに貯蔵されているデータは、それぞれ８ビットであり、また各アドレスは２個のデータで構成されている。従って、前記表４で説明したように、一つのデータ値は４個のビットで構成されている。ソースアドレス００に貯蔵されている“１ ２”は、前記目的地アドレスに貯蔵される場合、左側に４ビットシフトが遂行された後に貯蔵される。従って、前記ソースアドレス００のデータ“１”は、前記目的地アドレスに記録されない。また前記ソースアドレス００のデータ“２”は、アドレス２０の前端部分に記録される。また前記ソースアドレス０１のデータ“３”は、左側にシフトして目的地アドレスに貯蔵されるので、前記目的地アドレス４０の後端部分に記録される。このような過程を遂行することにより、前記表７で示したように、前記ソースアドレスに貯蔵されているデータ値は、前記目的地アドレスに記録される。
【００３４】
表８は、伝送ビット単位が３２ビット(“１０”)であり、前記制御レジスタの４番ビット乃至９番ビットの値が“０”である場合を示す。また、前記１０番ビットの数は、“１”を示し、前記制御レジスタの１１番ビット乃至１３番ビットは、４ビットシフトされる場合を示す。また、前記各アドレスは８ビットのデータを含むが、前記８ビット以外に使用者が設定した任意のビット数を有することもできる。
【００３５】
【表８】
2004227580.tif 000010
【００３６】
前記表８で示したように、前記ソースアドレスと目的地アドレスに貯蔵されているデータは、３２ビットであり、また各アドレスは８個のデータで構成されている。従って、前記表４で説明したように、一つのデータ値は４個のビットで構成されている。前記伝送ビット単位が３２ビットであるので、一度に読み出すデータは、４個のアドレスに貯蔵されているデータである。また前記ソースアドレス００には、前記データ“１ ２”が貯蔵されており、前記ソースアドレス０１には前記データ“３ ４”が貯蔵されていることは前記表５と同一である。また残りのソースアドレスに貯蔵されているデータ値も、前記表５と同一である。前記ソースアドレス００乃至ソースアドレス０３で読み出したデータは、前記ソースアドレス４０乃至ソースアドレス４４に右側に４ビットシフトされ記録される。前記ソースアドレス４０乃至ソースアドレス４９に貯蔵されるデータ値は、前記表７と同一である。
【００３７】
図４は、本発明の実施形態が適用されるデータを伝送するとき、ビットシフトが遂行される過程を示した図である。前記図４は前記表５乃至表８で説明した内容を示している。前記図４で示したように、前記ソースアドレスに貯蔵されているデータは４ビットずつシフトされ記録されていることを示している。即ち、図４の中に示したソースアドレスの各データは、右側に４ビットシフトされることにより、図４の上段に示したように、目的地アドレスに記録される。また、図４の中に示したソースアドレスの各データは、左側に４ビットシフトされることにより、図４の下段に示したように、目的地アドレスに記録される。
【００３８】
図５は、本発明が適用される前記制御レジスタのビット値を設定する過程を示した図である。前記制御レジスタ設定の５００段階は、前記制御命令によりＤＭＡモードを決定する。前記ＤＭＡモードは、上述したように、前記ハードウェアモードとソフトウェアモードで構成されている。前記制御レジスタ設定の５０２段階は、前記制御命令により前記伝送サイズを決定する。前記制御レジスタ設定の５０４段階は、前記制御命令によりソース/目的地アドレスを固定するか否かを決定する。前記ソース/目的地アドレスは、前記同一のアドレスで繰り返してデータを読み出すか、前記読み出したデータを同一のアドレスに繰り返して記録するかを決定する。
【００３９】
前記制御レジスタ設定の５０６段階は、前記５０４段階で他のソース/目的地アドレスからデータを読み出し/記録することに決定された場合、前記読み出し/記録するアドレスを増加させるか、減少させるかを決定する。前記制御レジスタ設定の５０８段階は、エンディアン変換過程を遂行するか否かを決定する。前記制御レジスタ設定の５１０段階は、前記ビットシフトを遂行するか否かを決定する。前記５１０段階で前記ビットシフトを遂行することに決定すると、５１２段階乃至５１４段階でビットシフトの方向とビットシフトを遂行するビット数を決定する。前記５００段階乃至前記５１４段階は、複数の段階に分けて遂行されることもできるが、一般的に一つの過程でも遂行されることもできる。前記図５で説明したように、前記制御レジスタのビット値が設定され、前記制御レジスタの０番ビットにより前記ＤＭＡ装置１０４を駆動させると、データの伝送が遂行される。
【００４０】
図６は、本発明の実施形態に従う第１貯蔵装置から第２貯蔵装置にデータが伝送される過程を示した図である。前記図６は、前記図５過程により前記制御レジスタのビット値が設定されると、前記第１貯蔵装置１０２に貯蔵されたデータを読み出して、前記第２貯蔵装置１１０にデータを記録する過程を示している。データの伝送が遂行される前に、前記図２で示されている前記ＳＡＲ、ＤＡＲ、ＴＣＲなどのレジスタ値も設定されるべきである。このように、前記図２に示した他のレジスタ値が設定されると、データ伝送が遂行される。前記図６の構成を参照すると、第１貯蔵装置１０２、ＤＭＡ装置１０４、第２貯蔵装置１１０、バス仲裁器１０６、ホスト１１４で構成されている。
【００４１】
以下、図６を参照して前記第１貯蔵装置１０２に貯蔵されているデータが第２貯蔵装置１１０に移動される過程に対して説明する。６００段階で、前記ホスト１１４は第２貯蔵装置１１０に貯蔵されているデータを読み出す。従って、前記ホスト１１４により前記第２貯蔵装置１１０のメモリは空くようになり、前記第２貯蔵装置１１０の空いているメモリを満たすために、前記第１貯蔵装置１０４のデータを読み出すようになる。６０２段階で前記第２貯蔵装置１１０は前記ＤＭＡ装置１０４に空いているメモリを満たすためにデータを要求するようになる。前記第２貯蔵装置１１０の要求により前記ＤＭＡ装置１０４は、６０４段階で前記バス仲裁器１０６に前記第１貯蔵装置１０２とのデータ送受信に必要なバスの権限を要求するようになる。前記バスは、一度に一つの装置のみを使用することができ、同時に複数個のＤＭＡ装置からバス使用の要求が受信される場合、一定の順序によりバス使用を許可する。前記図６では、前記ＤＭＡ装置１０４が一つのみ示されているが、実際には複数個のＤＭＡにより動作が遂行される。このような場合、前記複数個のＤＭＡ装置によりバス使用が要求されることができる。従って、前記バス仲裁器１０６は要求される複数個のバス使用を一定順序に応じて許可するようになる。
【００４２】
前記バス仲裁器１０６は、６０６段階で前記ＤＭＡ装置１０４の要求により使用するバスを提供する。前記提供されたバスにより前記ＤＭＡ装置１０４は、６０８段階で前記第１貯蔵装置１０２に貯蔵されているデータを読み出す。前記読み出したデータは、前記ＤＭＡ装置１０４内部に存在し、臨時メモリ(ＦＩＦ０)に貯蔵される。前記第１貯蔵装置１０２から読み出すデータのアドレスは、前記図２で説明したように、前記ＤＭＡ内部に位置している前記ＳＡＲにより設定される。前記第１貯蔵装置１０２に貯蔵されているデータを読み出して前記ＦＩＦ０に貯蔵すると、前記ＤＭＡは、６１０段階で前記第２貯蔵装置１１０とデータ送受信に必要なバスを前記バス仲裁器１０６に要求する。以下、前記６１０段階乃至６１２段階で遂行される過程は、前記６０４段階乃至６０６段階で遂行される過程と同一である。前記バス仲裁器１０６から前記バスの使用が許可されると、前記ＤＭＡ装置１０４は前記ＦＩＦ０に貯蔵されているデータを前記第２貯蔵装置１１０に伝達する。前記読み出したデータを貯蔵するアドレスは、前記図２で説明したように、前記ＤＡＲにより設定される。
【００４３】
前記ＤＭＡ装置１０４は、前記６００段階乃至６１４段階を反復遂行することにより、前記第１貯蔵装置１０２に貯蔵されているデータを前記第２貯蔵装置１１０に伝達するようになる。また前記反復遂行の回数は、前記図２で説明したように、ＴＣＲにより設定される。前記ＴＣＲにより設定された回数に基づいてデータ伝送が遂行されると、前記ＣＰＵ、または外部制御装置に前記データ伝送が終了されたことを知らせるようになる。
【００４４】
図７は、本発明の実施形態を利用してプロトコル階層でデータをシフトする過程を示した図である。前記図７は、無線接続制御(Radio Link Control:ＲＬＣ)階層や媒体接近制御(Medium Access Control:ＭＡＣ)階層でのデータ伝送過程を示している。前記ＲＬＣ階層やＭＡＣ階層でヘッダーを付けようとする場合、前記ヘッダーだけのビット数がシフトされ伝送されることが要求される。また、前記ビットシフトが前記ＣＰＵにより遂行されることより、本発明で提案するＤＭＡにより遂行されることが処理速度において効果的である。表９は、前記ＣＰＵによるデータ処理速度と前記ＤＭＡによるデータ処理速度を比較している。
【００４５】
【表９】
2004227580.tif 000011
上述した本発明の詳細な説明では、具体的な実施形態について説明したが、本発明の範囲を外れない限り多様な変形が可能なことはもちろんである。したがって、本発明の範囲は、説明した実施形態に局限して定められてはいけないし、特許請求の範囲だけでなくこの許請求の範囲と均等なものにより定められなければならない。
【図面の簡単な説明】
【００４６】
【図１】一般的なアムバ(ＡＭＢＡ)構造を示した図である。
【図２】一般的な直接メモリ接近媒体(ＤＭＡ)の構造を示した図である。
【図３】本発明が適用されるエンディアン変換過程に示した図である。
【図４】本発明が適用されるデータを伝送するとき、ビットシフトが遂行される過程を示した図である。
【図５】本発明が適用されるＤＭＡの制御レジスタのレジスタ値を設定する過程を示した流れ図である。
【図６】本発明の実施形態に従う第１貯蔵装置から第２貯蔵装置へのデータ伝送過程を示した図である。
【図７】本発明の実施形態に従ってプロトコル階層でデータをシフトする過程を示した図である。
【符号の説明】
【００４７】
１００…ＣＰＵ
１０２…第１貯蔵装置
１０４…ＤＭＡ装置
１０６…バス仲裁器
１１０…第２貯蔵装置
１１２…入出力装置
１１４…ホスト
【図１】
2004227580.tif 000012
【図２】
2004227580.tif 000013
【図３】
2004227580.tif 000014
【図４】
2004227580.tif 000015
【図５】
2004227580.tif 000016
【図６】
2004227580.tif 000017
【図７】
2004227580.tif 000018
【外国語明細書】
2004227580.tif 000019
2004227580.tif 000020
2004227580.tif 000021
2004227580.tif 000022
2004227580.tif 000023
2004227580.tif 000024
2004227580.tif 000025
2004227580.tif 000026
2004227580.tif 000027
2004227580.tif 000028
2004227580.tif 000029
2004227580.tif 000030
2004227580.tif 000031
2004227580.tif 000032
2004227580.tif 000033
2004227580.tif 000034
2004227580.tif 000035
2004227580.tif 000036
2004227580.tif 000037
2004227580.tif 000038
2004227580.tif 000039
2004227580.tif 000040
2004227580.tif 000041
2004227580.tif 000042
2004227580.tif 000043
2004227580.tif 000044
2004227580.tif 000045