(57)【特許請求の範囲】
【請求項１】
相互にデータ構成が異なる第１のアドレス空間から第２のアドレス空間へのデータ転送を行うデータ転送装置において、
複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納するアドレス変換テーブル格納手段と、
前記変換単位空間のベースアドレスを格納するベースアドレス格納手段と、
前記変換単位空間の境界位置を格納する境界位置格納手段と、
前記変換単位空間に対応する前記変換単位を格納する変換単位格納手段と、
前記第１のアドレス空間のデータに適した前記変換単位空間を選択する変換単位空間選択手段と、
前記変換単位空間選択手段によって選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを前記第２のアドレス空間のアドレスに対応付けるデータ対応付け手段と、
を有することを特徴とするデータ転送装置。
【請求項２】
前記変換単位空間の前記ベースアドレスは、前記変換単位空間に対応する前記変換単位と、前記変換単位空間の低アドレス側に位置する１つ下の別の前記変換単位空間に対応する前記変換単位との公倍数になるように設定されることを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記変換単位空間を制御する変換単位空間制御手段をさらに有し、
前記変換単位空間制御手段は、前記変換単位及び前記境界位置の少なくとも一方が変更された際に、前記ベースアドレスの再計算を行うことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
相互にデータ構成が異なる第１のアドレス空間から第２のアドレス空間へのデータ転送を行うデータ転送方法において、
複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納し、
前記変換単位空間のベースアドレスを格納し、
前記変換単位空間の境界位置を格納し、
前記変換単位空間に対応する前記変換単位を格納し、
前記第１のアドレス空間のデータに適した前記変換単位空間を選択し、
前記選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを前記第２のアドレス空間のアドレスに対応付けることを特徴とするデータ転送方法。
【請求項５】
複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納し、
前記変換単位空間のベースアドレスを格納し、
前記変換単位空間の境界位置を格納し、
前記変換単位空間に対応する前記変換単位を格納し、
第１のアドレス空間のデータに適した前記変換単位空間を選択し、
前記選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを第２のアドレス空間のアドレスに対応付ける機能をコンピュータに行わせるプログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は相互にデータ構成が異なるアドレス空間間でのデータ転送を行うデータ転送装置、データ転送方法及びその機能をコンピュータに行わせるプログラムを格納したコンピュータ読み取り可能な記録媒体に関し、特に複数種類の領域長のデータを転送するデータ転送装置、データ転送方法及びその機能をコンピュータに行わせるプログラムを格納したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
コンピュータの主記憶、チャネル、外部記憶等のように相互にデータ構成が異なるアドレス空間間でデータ転送を行う場合、アドレス空間間相互のアドレスを対応付けるアドレス変換テーブルを用い、相互のアドレス空間のマッピングを行うことが一般的である。
【０００３】
図１１は、従来におけるこのようなマッピングの様子を示した図である。図１１では、アドレス変換テーブル１０３を用い、ｐビット幅のデータ構成からなるアドレス空間１０１のデータをｑビット幅のデータ構成からなるアドレス空間１０２にマッピングする。アドレス空間１０１、１０２は、領域長ａの複数の領域に区切られ、各領域には１−０から１−ｎ、及び２−０から２−ｎまでのインデックスが付与されている。また、アドレス変換テーブル１０３は、変換単位ａごとに区分された複数のテーブル領域を有しており、各テーブル領域には３−０から３−ｎまでのインデックスが付与されている。ここでアドレス変換テーブル１０３の各テーブル領域はアドレス空間１０２の各領域に対応付けられており、アドレス空間１０１の領域をアドレス変換テーブル１０３のテーブル領域に与えることにより、このアドレス空間１０１の領域をアドレス空間１０２の領域にマッピングすることができる。例えば、アドレス変換テーブル１０３におけるインデックス３−ｊのテーブル領域１０３ａがアドレス空間１０２におけるインデックス２−ｊの領域１０２ａに対応付けられている場合、アドレス空間１０１におけるインデックス１−ｉの領域１０１ａをアドレス変換テーブル１０３のテーブル領域１０３ａに与えることにより、アドレス空間１０１の領域１０１ａが、アドレス変換テーブル１０３のテーブル領域１０３ａに対応付けられているアドレス空間１０２の領域１０２ａにマッピングされることとなる。
【０００４】
【発明が解決しようとする課題】
しかし、従来の方法では、単一種類の変換単位のみを用いてアドレス空間間のマッピングを行うこととしているため、転送を行うデータの中に他のデータよりも領域長を長くとることができるデータが含まれている場合であっても、アドレス変換テーブルの変換単位を、取り扱うデータの各領域長の最大公約数よりも大きくとることができず、十分な転送効率でデータ転送を行うことができないという問題点がある。
【０００５】
具体的には、例えば、領域長ａによって区切ることができるアドレス空間と、領域長（ａ×ｓ）によって区切ることができるアドレス空間が存在し、これらのアドレス空間双方から、さらに別のアドレス空間へデータを転送しなければならない場合、アドレス変換テーブルの変換単位は、ａと（ａ×ｓ）との公約数にしなければならず、その場合、この変換単位は、ａと（ａ×ｓ）との最大公約数であるａ以上の値をとることができない。そのため、領域長（ａ×ｓ）で区切ることが可能なアドレス空間のデータを転送する場合であっても、マッピングは変換単位ａごとに行わなければならず、変換単位（ａ×ｓ）でマッピングを行う場合に比べ、ハード、ソフトともにｓ倍のマッピング処理を繰り返さなければならない。
【０００６】
本発明はこのような点に鑑みてなされたものであり、領域長が異なる複数種類のデータの転送を、高い転送効率で行うことが可能なデータ転送装置を提供することを目的とする。
【０００７】
また、本発明の他の目的は、領域長が異なる複数種類のデータの転送を、高い転送効率で行うことが可能なデータ転送方法を提供することである。
さらに、本発明の他の目的は、領域長が異なる複数種類のデータの転送を、高い転送効率で行うことを可能にする機能をコンピュータに行わせるプログラムを格納したコンピュータ読み取り可能な記録媒体を提供することである。
【０００８】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す、相互にデータ構成が異なる第１のアドレス空間から第２のアドレス空間へのデータ転送を行うデータ転送装置において、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納するアドレス変換テーブル格納手段１１と、前記変換単位空間のベースアドレスを格納するベースアドレス格納手段１２と、前記変換単位空間の境界位置を格納する境界位置格納手段１３と、前記変換単位空間に対応する前記変換単位を格納する変換単位格納手段１４と、前記第１のアドレス空間のデータに適した前記変換単位空間を選択する変換単位空間選択手段１６と、前記変換単位空間選択手段１６によって選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを前記第２のアドレス空間のアドレスに対応付けるデータ対応付け手段１７とを有することを特徴とするデータ転送装置が提供される。
【０００９】
ここで、アドレス変換テーブル格納手段１１は、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納し、ベースアドレス格納手段１２は、変換単位空間のベースアドレスを格納し、境界位置格納手段１３は、変換単位空間の境界位置を格納し、変換単位格納手段１４は、変換単位空間に対応する変換単位を格納し、変換単位空間選択手段１６は、第１のアドレス空間のデータに適した変換単位空間を選択し、データ対応付け手段１７は、変換単位空間選択手段１６によって選択された変換単位空間を用い、選択された変換単位空間に対応する変換単位ごとに、第１のアドレス空間のデータを第２のアドレス空間のアドレスに対応付ける。
【００１０】
また、相互にデータ構成が異なる第１のアドレス空間から第２のアドレス空間へのデータ転送を行うデータ転送方法において、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納し、前記変換単位空間のベースアドレスを格納し、前記変換単位空間の境界位置を格納し、前記変換単位空間に対応する前記変換単位を格納し、前記第１のアドレス空間のデータに適した前記変換単位空間を選択し、前記選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを前記第２のアドレス空間のアドレスに対応付けることを特徴とするデータ転送方法が提供される。
【００１１】
このようにすることにより、データの転送効率が向上する。
さらに、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納し、前記変換単位空間のベースアドレスを格納し、前記変換単位空間の境界位置を格納し、前記変換単位空間に対応する前記変換単位を格納し、第１のアドレス空間のデータに適した前記変換単位空間を選択し、前記選択された前記変換単位空間を用い、前記選択された前記変換単位空間に対応する前記変換単位ごとに、前記第１のアドレス空間のデータを第２のアドレス空間のアドレスに対応付ける機能をコンピュータに行わせるプログラムを格納したコンピュータ読み取り可能な記録媒体が提供される。
【００１２】
この記録媒体に格納されたプログラムをコンピュータ上で起動させることにより、高い転送効率でデータの転送を行うことが可能になる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本形態におけるデータ転送装置１０の構成を示した構成図である。
【００１４】
データ転送装置１０は、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを格納するアドレス変換テーブル格納手段１１、変換単位空間のベースアドレスを格納するベースアドレス格納手段１２、変換単位空間の境界位置を格納する境界位置格納手段１３、変換単位空間に対応する変換単位を格納する変換単位格納手段１４、変換単位空間を制御する変換単位空間制御手段１５、第１のアドレス空間のデータに適した変換単位空間を選択する変換単位空間選択手段１６、及び変換単位空間選択手段１６によって選択された変換単位空間を用い、選択された変換単位空間に対応する変換単位ごとに、第１のアドレス空間のデータを第２のアドレス空間のアドレスに対応付けるデータ対応付け手段１７によって構成され、第１のアドレス空間であるアドレス空間２０のデータを第２のアドレス空間であるアドレス空間３０に転送する。
【００１５】
図２は、アドレス変換テーブル格納手段１１に格納されるアドレス変換テーブル４０の構成と、それに対応付けられるアドレス空間３０の構成とを示した図である。
【００１６】
アドレス変換テーブル４０は、３つの変換単位空間４１、４２、４３に区分されており、さらに、各変換単位空間４１、４２、４３は、それぞれに対応する変換単位ごとに区分されている。ここで、この変換単位は各変換単位空間４１、４２、４３ごとに統一されており、例えば、変換単位空間４１は変換単位ａ１ごとに、変換単位空間４２は変換単位ａ２ごとに区分されている。また、各変換単位は、アドレス空間３０から転送されるデータの領域長に対応するように設定されており、図２のアドレス変換テーブル４０の場合、アドレス空間３０から転送される領域長ａ１、ａ２、ａ３の３種類のデータに対応できるように、ａ１、ａ２、ａ３の３種類の変換単位が設定されている。変換単位ごとで区分された各領域（以下テーブル領域）には、各変換単位空間４１、４２、４３を通しての３−０から３−（ｎ−１）までの連続番号であるインデックスが付されており、各インデックスを指定することにより、各変換単位で区分されたテーブル領域が一義的に決定されることとなる。
【００１７】
３−０から３−（ｎ−１）までのインデックスが付された各テーブル領域は、アドレス空間３０の各領域に１対１で対応付けられ、対応付けられた各領域には２−０から２−（ｎ−１）までの連続番号であるインデックスが付される。なお、ここで、アドレス変換テーブル４０の各テーブル領域が対応付けられたアドレス空間３０の各領域は、その領域に対応付けられているテーブル領域の変換単位と同じ領域長を持つこととなる。例えば、変換単位ａ１で区分されている変換単位空間４１のテーブル領域に対応付けられたアドレス空間３０の領域の領域長はａ１となり、変換単位ａ２で区分されている変換単位空間４２のテーブル領域に対応付けられたアドレス空間３０の領域の領域長はａ２となる。
【００１８】
表１に、アドレス変換テーブル４０おける各変換単位空間４１、４２、４３に対する変換単位、境界位置、ベースアドレスの関係を示す。表１では、変換単位空間４１が“１”の空間に、変換単位空間４２が“２”の空間に、変換単位空間４３が“３”の空間にそれぞれ相当する。また、境界位置とは、変換単位空間の境界に位置する先頭のテーブル領域のインデックスを示すものであり、例えば、変換単位空間４１の境界位置は０に、変換単位空間４２の境界位置はｂ２になる。
【００１９】
【表１】
0003719897.tif 000002
【００２０】
以下に、各変換単位空間４１、４２、４３に対するベースアドレスＢ１、Ｂ２、Ｂ３、変換単位ａ１、ａ２、ａ３、境界位置ｂ１、ｂ２、ｂ３及び任意な位置におけるアドレスＰ１１、Ｐ１２、Ｐ２１、Ｐ２２、Ｐ３１、Ｐ３２の関係を示す。ここで、Ｐ１１はインデックス２−ｐ１の領域における開始アドレスを、Ｐ１２はその終了アドレスを、Ｐ２１はインデックス２−ｐ２の領域における開始アドレスを、Ｐ２２はその終了アドレスを、Ｐ３１はインデックス２−ｐ３の領域における開始アドレスを、Ｐ３２はその終了アドレスをそれぞれ示している。
【００２１】
【数１】
0003719897.tif 000003
【００２２】
図３にアドレス変換テーブル４０及びそれに対応付けられるアドレス空間３０の構成を一般化した図を示し、表２に、一般化した変換単位空間４４に対する変換単位、境界位置、ベースアドレスの関係表を示す。これらに示すように、ｎ番目の変換単位空間である変換単位空間４４の変換単位はａｎ、境界位置はｂｎ、ベースアドレスはＢｎであり、各テーブル領域は、領域長ａｎのアドレス空間３０に対応付けられている。
【００２３】
【表２】
0003719897.tif 000004
【００２４】
以下に、このように一般化された変換単位ａｎと境界位置ｂｎとの関係式を示す。
まず、ａｎ−１とａｎとの公倍数をｄｎとした場合、以下の関係式が成立する。
【００２５】
【数２】
0003719897.tif 000005
【００２６】
数２に示した関係式により求められるｃｎ’、ｃｎ−１’、ｃｎ、ｃｎ−１を用いることにより以下の関係式が成立し、これにより境界位置ｂｎを求めることができる。
【００２７】
【数３】
0003719897.tif 000006
【００２８】
次に、一般化されたベースアドレスＢｎ、インデックス２−ｐｎにおける開始アドレスＰｎ１、終了アドレスＰｎ２の関係式を示す。
【００２９】
【数４】
0003719897.tif 000007
【００３０】
以上の関係式に従ってアドレス単位空間を設定することにより、各アドレス単位空間のベースアドレスは、その変換単位空間に対応する変換単位と、その変換単位空間の低アドレス側に位置する１つ下の別の変換単位空間に対応する変換単位との公倍数になるように設定されることとなる。これにより、すべての変換単位空間の開始アドレスを、その変換単位空間に対応する変換単位の倍数にすることができ、各変換単位空間をアドレス変換テーブル４０内に隙間なく配置することが可能となる。
【００３１】
次に、図１を用いてデータ転送装置１０の動作について説明する。
まず、アドレス変換テーブル４０の設定動作について説明する。
前述したようにアドレス変換テーブル格納手段１１には、ベースアドレス格納手段１２に格納されているベースアドレスＢｎ、境界位置格納手段１３に格納されている境界位置ｂｎ、及び変換単位格納手段１４に格納されている変換単位ａｎによって決定されるアドレス変換テーブル４０が格納されている。この変換単位ａｎ及び境界位置ｂｎの設定は任意に設定し直すことが可能であり、利用者はこの変換単位ａｎ及び境界位置ｂｎの設定を行うことにより、転送を行うすべてのデータに対応しうるアドレス変換テーブル４０の設定を行う。変換単位ａｎ或いは境界位置ｂｎが変更された場合、変換単位空間制御手段１５は、上述した数２から数４までの関係式に従い、変更後の変換単位ａｎ及び境界位置ｂｎを用い、新たなベースアドレスＢｎの再計算を行う。変更された変換単位ａｎ、境界位置ｂｎ及び再計算されたベースアドレスＢｎは、それぞれ変換単位格納手段１４、境界位置格納手段１３及びベースアドレス格納手段１２に格納され、これらの変換単位ａｎ、境界位置ｂｎ及びベースアドレスＢｎに基づいてアドレス変換テーブル４０が再設定される。
【００３２】
次に、データのマッピング動作について説明する。
図４は、アドレス空間２０のｐビット幅のデータをｑビット幅のアドレス空間３０へマッピングする様子を示した図である。図４では、アドレス空間２０には領域長ａ１のデータ及び領域長ａ２のデータが存在し、これらのデータをアドレス空間３０にマッピングする。
【００３３】
マッピングは、アドレス変換テーブル４０を用い、アドレス空間２０の領域ごとに行われる。マッピングを行う場合、まず、変換単位空間選択手段１６は、マッピングを行う領域のデータに適した変換単位空間、すなわち、マッピングを行うデータの領域長に等しい変換単位の変換単位空間をアドレス変換テーブル４０から選択する。例えば、領域長がａ１である領域２０ａのマッピングを行う場合、変換単位空間選択手段１６は、変換単位がａ１である変換単位空間４１を選択する。
【００３４】
変換単位空間が選択されると、次に、データ対応付け手段１７は、選択された変換単位空間を用い、データのマッピングを行う。マッピングは、選択された変換単位空間のテーブル領域にアドレス空間２０の領域を与えることにより行われ、これにより、このテーブル領域に与えられたアドレス空間２０の領域が、アドレス空間２０の領域が与えられたテーブル領域に対応付けられているアドレス空間３０の領域にマッピングされることになる。例えば、領域２０ａがアドレス変換テーブル４０のインデックス３−ｐ１のテーブル領域４１ａに与えられた場合、この領域２０ａは、テーブル領域４１ａに対応付けられているアドレス空間３０のインデックス２−ｐ１の領域３０ａにマッピングされることとなる（マッピング１）。
【００３５】
このようにマッピング処理が進められ、途中でマッピングを行うアドレス空間２０の領域長が変化した場合、変換単位空間選択手段１６は、再び、変化後の領域長に適した変換単位空間の選択を行い、データ対応付け手段１７は、選択された変換単位空間を用いてマッピングを行っていく。例えば、領域長ａ２の領域２０ｂのマッピングを行う場合、変換単位空間選択手段１６は、変換単位がａ２である変換単位空間４２を選択することとなり、さらに、領域２０ｂがアドレス変換テーブル４０のインデックス３−ｐ２のテーブル領域４２ａに与えられた場合、この領域２０ｂは、テーブル領域４２ａに対応付けられているアドレス空間３０のインデックス２−ｐ２の領域３０ｂにマッピングされることとなる（マッピング２）。
【００３６】
このようにすることにより、マッピングを行う領域の領域長に合わせてアドレス変換テーブルの変換単位を変更することができるため、マッピング処理回数を最小限にとどめることが可能となり、データ転送効率を向上させることが可能となる。
【００３７】
次に、データ転送装置１０の動作をフローチャートを用いて説明する。
図５は、変換単位或いは境界位置が変更された場合におけるベースアドレスの再計算の処理手順を示したフローチャートである。
【００３８】
〔Ｓ１〕  変更されたレジスタが変換単位ａｎであるか、或いは境界位置ｂｎであるか判断する。変換単位である場合にはステップＳ３に進む。境界位置である場合にはステップＳ２に進む。
【００３９】
〔Ｓ２〕  変更された境界位置の値が数２、数３の関係式に適合した適切な値か否か判断する。適切な値である場合、ステップＳ３に進む。適切な値でない場合、処理を終了する。
【００４０】
〔Ｓ３〕  ベースアドレスの再計算を行う。
〔Ｓ４〕  各レジスタ（変換単位、境界位置、ベースアドレス）の設定を行う。
【００４１】
図６は、マッピング処理の手順を示したフローチャートである。
〔Ｓ１１〕  指定されたアドレス空間２０の領域のアドレスが有効か否か判断する。有効なアドレスが指定されている場合には、ステップＳ１３に進む。有効なアドレスが指定されていない場合には、ステップＳ１２に進む。
【００４２】
〔Ｓ１２〕  エラー表示を行う。
〔Ｓ１３〕  指定された領域に適切な変換単位空間を計算し、選択する。
〔Ｓ１４〕  ステップＳ１３で選択された変換単位空間に、アドレス空間２０の領域を与え、アドレス空間２０の領域が与えられた変換単位空間のテーブル領域に対応付けられているアドレス空間３０のアドレスを計算する。
【００４３】
〔Ｓ１５〕  ステップＳ１４で計算されたアドレス空間３０のアドレスの領域へアドレス空間２０の領域をマッピングする。
次に、具体的な数値を用いてデータ転送装置１０のマッピング動作を説明する。
【００４４】
ここでの具体例として、アドレス変換テーブル４０が、変換単位ａ１＝１６Ｋ、ａ２＝１Ｍ、ａ３＝４Ｍである３種類の変換単位空間を有するものとする。
数２〜数４に示した関係式に、この数値を代入し、境界位置ｂ１、ベースアドレスＢ１、ｐ１番目のアドレスＰ１１を求めると下記のようになる。
【００４５】
【数５】
0003719897.tif 000008
【００４６】
また、同様に、境界位置ｂ２、ベースアドレスＢ２、ｐ２番目のアドレスＰ２１を求めると下記のようになる。
【００４７】
【数６】
0003719897.tif 000009
【００４８】
また、同様に、境界位置ｂ３、ベースアドレスＢ３、ｐ３番目のアドレスＰ３１を求めると下記のようになる。
【００４９】
【数７】
0003719897.tif 000010
【００５０】
以上の結果を表３に示す。
【００５１】
【表３】
0003719897.tif 000011
【００５２】
図７は、以上の結果を当てはめたアドレス変換テーブル４０、及びそれに対応付けられたアドレス空間３０の構成を示した図である。
この例の場合、変換単位空間４１はインデックス３−０から３−１２７のテーブル領域によって構成され、アドレス空間３０のインデックス２−０から２−１２７の領域に対応付けられており、変換単位空間４２はインデックス３−１２８から３−３８１のテーブル領域によって構成され、アドレス空間３０のインデックス２−１２８から２−３８１の領域に対応付けられている。また、変換単位空間４３はインデックス３−３８２から３−１３４１のテーブル領域によって構成され、アドレス空間３０のインデックス２−３８２から２−１３４１の領域に対応付けられている。
【００５３】
図８は、領域長１６Ｋのアドレス空間２０のデータを図７に示したアドレス変換テーブル４０を用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が１６Ｋである場合のアドレス空間２０のデータ構成を示しており、（ｂ）は、アドレス空間２０のインデックス１−６３の領域がマッピングされる様子を示している。
【００５４】
図８の例では、アドレス空間２０は、領域長１６Ｋの領域で分割されており、分割された各領域には１−０から１−（１０２４×１０２４×１０２４−１）までのインデックスが付されている。また、アドレス空間２０のデータは６４ビットで構成されており、このアドレス空間２０のデータは、ビット幅が異なる３２ビットのアドレス空間３０へマッピングされる。
【００５５】
図８の（ｂ）の場合、アドレス変換テーブル４０のインデックス３−１００のテーブル領域は、アドレス空間３０のアドレス１５８４Ｋ〜１６００Ｋ、インデックス２−１００の領域に対応付けられており、このインデックス３−１００のテーブル領域にアドレス空間２０におけるアドレス１００８Ｋ〜１０２４Ｋ、インデックス１−６３の領域が与えられることとなるため、アドレス空間２０におけるインデックス１−６３の領域のマッピングは、アドレス空間３０におけるインデックス２−１００の領域に対して行われることとなる。
【００５６】
図９は、領域長１Ｍのアドレス空間２０のデータを図７に示したアドレス変換テーブル４０を用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が１Ｍである場合のアドレス空間２０のデータ構成を示しており、（ｂ）は、アドレス空間２０のインデックス１−２８９２の領域がマッピングされる様子を示している。
【００５７】
図９の例では、アドレス空間２０は、領域長１Ｍの領域で分割されており、分割された各領域には１−０から１−（１６×１０２４×１０２４−１）までのインデックスが付されている。また、アドレス空間２０のデータは６４ビットで構成されており、このアドレス空間２０のデータは、ビット幅が異なる３２ビットのアドレス空間３０へマッピングされる。
【００５８】
図９の（ｂ）の場合、アドレス変換テーブル４０のインデックス３−３００のテーブル領域は、アドレス空間３０のアドレス１７４Ｍ〜１７５Ｍ、インデックス２−３００の領域に対応付けられており、このインデックス３−３００のテーブル領域にアドレス空間２０におけるアドレス２８９２Ｍ〜２８９３Ｍ、インデックス１−２８９２の領域が与えられることとなるため、アドレス空間２０におけるインデックス１−２８９２の領域のマッピングは、アドレス空間３０におけるインデックス２−３００の領域に対して行われることとなる。
【００５９】
図１０は、領域長４Ｍのアドレス空間２０のデータを図７に示したアドレス変換テーブル４０を用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が４Ｍである場合のアドレス空間２０のデータ構成を示しており、（ｂ）は、アドレス空間２０のインデックス１−１０００の領域がマッピングされる様子を示している。
【００６０】
図１０の例では、アドレス空間２０は、領域長４Ｍの領域で分割されており、分割された各領域には１−０から１−（４×１０２４×１０２４−１）までのインデックスが付されている。また、アドレス空間２０のデータは６４ビットで構成されており、このアドレス空間２０のデータは、ビット幅が異なる３２ビットのアドレス空間３０へマッピングされる。
【００６１】
図１０の（ｂ）の場合、アドレス変換テーブル４０のインデックス３−６５２のテーブル領域は、アドレス空間３０のアドレス１３７６Ｍ〜１３８０Ｍ、インデックス２−６５２の領域に対応付けられており、このインデックス３−６５２のテーブル領域にアドレス空間２０におけるアドレス４０００Ｍ〜４００４Ｍ、インデックス１−１０００の領域が与えられることとなるため、アドレス空間２０におけるインデックス１−１０００の領域のマッピングは、アドレス空間３０におけるインデックス２−６５２の領域に対して行われることとなる。
【００６２】
このように、本形態では、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブル４０を用い、アドレス空間２０のデータをアドレス空間３０へマッピングすることとしたため、領域長が異なる複数種類のデータを転送する場合であっても、転送するデータの領域長に対して最適な変換単位を用いてマッピングすることが可能となり、データの転送効率の向上を図ることが可能となる。例えば、アドレス変換テーブル４０が１６Ｋ、１Ｍ、４Ｍの変換単位を持ち、このアドレス変換テーブル４０を用いて、１６Ｋ、１Ｍ、４Ｍの領域長のデータ転送を行う場合、従来のように変換単位１６Ｋのみでマッピングする場合に比べ、そのマッピング回数を領域長１Ｍのデータの場合には１／６４、４Ｍのデータの場合には１／２５６に削減でき、これにより大幅な転送効率の向上を図ることができる。
【００６３】
また、本形態では、単一のアドレス変換テーブル４０に複数種類の変換単位にそれぞれ対応した複数の変換単位空間を配置することとしたため、変換単位が異なる複数のアドレス変換テーブルを用いる場合に比べ、アドレス変換テーブルの不使用領域を削減することが可能となり、アドレス変換テーブルの有効利用が可能になる。
【００６４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ転送装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述しておく。そして、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場に流通させる場合には、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【００６５】
【発明の効果】
以上説明したように本発明では、複数種類の変換単位にそれぞれ対応した複数の変換単位空間を有するアドレス変換テーブルを用い、転送するデータをマッピングすることとしたため、領域長が異なる複数種類のデータを転送する場合であっても、転送するデータの領域長に対して最適な変換単位を用いてマッピングすることが可能となり、データの転送効率の向上を図ることが可能となる。
【図面の簡単な説明】
【図１】データ転送装置の構成を示した構成図である。
【図２】アドレス変換テーブル格納手段に格納されるアドレス変換テーブルの構成と、それに対応付けられるアドレス空間の構成とを示した図である。
【図３】アドレス変換テーブル及びそれに対応付けられるアドレス空間の構成を一般化した図である。
【図４】アドレス空間のｐビット幅のデータをｑビット幅のアドレス空間へマッピングする様子を示した図である。
【図５】変換単位或いは境界位置が変更された場合におけるベースアドレスの再計算の処理手順を示したフローチャートである。
【図６】マッピング処理の手順を示したフローチャートである。
【図７】具体的な数値を当てはめたアドレス対応テーブル、及びそれに対応付けられたアドレス空間の構成を示した図である。
【図８】領域長１６Ｋのアドレス空間のデータを図７に示したアドレス変換テーブルを用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が１６Ｋである場合のアドレス空間のデータ構成を示しており、（ｂ）は、アドレス空間のインデックス１−６３の領域がマッピングされる様子を示している。
【図９】領域長１Ｍのアドレス空間のデータを図７に示したアドレス変換テーブルを用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が１Ｍである場合のアドレス空間のデータ構成を示しており、（ｂ）は、アドレス空間のインデックス１−２８９２の領域がマッピングされる様子を示している。
【図１０】領域長４Ｍのアドレス空間のデータを図７に示したアドレス変換テーブルを用いてマッピングする様子を示した図である。ここで（ａ）は、領域長が４Ｍである場合のアドレス空間のデータ構成を示しており、（ｂ）は、アドレス空間のインデックス１−１０００の領域がマッピングされる様子を示している。
【図１１】相互にデータ構成が異なるアドレス空間間での従来におけるマッピングの様子を示した図である。
【符号の説明】
１０  データ転送装置
１１  アドレス変換テーブル格納手段
１２  ベースアドレス格納手段
１３  境界位置格納手段
１４  変換単位格納手段
１５  変換単位空間制御手段
１６  変換単位空間選択手段
１７  データ対応付け手段
２０、３０  アドレス空間
４０  アドレス変換テーブル
【図１】
0003719897.tif 000012
【図２】
0003719897.tif 000013
【図３】
0003719897.tif 000014
【図４】
0003719897.tif 000015
【図５】
0003719897.tif 000016
【図６】
0003719897.tif 000017
【図７】
0003719897.tif 000018
【図８】
0003719897.tif 000019
【図９】
0003719897.tif 000020
【図１０】
0003719897.tif 000021
【図１１】
0003719897.tif 000022