(57)【要約】【課題】  メモリアクセスの柔軟性と効率性の両方を実現でき、動作効率が向上するメモリへのアクセスを制御する方法、機器、及び電子装置を提供する。【解決手段】  方法は、並列アクセスを制御する並列制御フィールド、メモリモジュールを示すモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を受信するステップと；アクセス命令を解析して、並列制御フィールド、モジュールアドレスフィールド、及びモジュール内アドレスフィールドを決定するステップと；並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップと；モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスにアクセスするステップと；を含む。【選択図】  図２
2020087477.tif 000002
【特許請求の範囲】
【請求項１】
並列に構成された複数のメモリモジュールを含むメモリへのアクセスを制御するための方法であって、当該方法は、
並列アクセスを制御するための並列制御フィールド、メモリモジュールを示すためのモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すためのモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を受信するステップと、
該アクセス命令を解析して、前記並列制御フィールド、前記モジュールアドレスフィールド、及び前記モジュール内アドレスフィールドを決定するステップと、
前記並列制御フィールド及び前記モジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップと、
前記モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき前記１つ又は複数のメモリモジュール内にある前記１つ又は複数のアドレスにアクセスするステップと、を含む、
方法。
【請求項２】
前記並列制御フィールドは、前記モジュールアドレスフィールド内の対応するビットが任意の値を有することができることを示すモジュール制御コードを含み、
前記並列制御フィールド及び前記モジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップは、前記モジュール制御コードに基づいて、前記モジュールアドレスフィールド内の前記対応するビットに任意の値を割り当てるステップを含み、それによって得られた１つ又は複数のメモリモジュールアドレスが、アクセスすべき前記１つ又は複数のメモリモジュールに関連付けられる、請求項１に記載の方法。
【請求項３】
前記並列制御フィールドに含まれるビット数は、前記モジュールアドレスフィールドに含まれるビットの数以下である、請求項１又は２に記載の方法。
【請求項４】
前記並列制御フィールドは、並列にアクセスすべきメモリモジュールの数を示すモジュール数量フィールドを含み、
前記並列制御フィールド及び前記モジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップは、前記モジュールアドレスフィールドによって割り当てられたメモリモジュールから始まり、前記モジュール数量フィールドによって割り当てられた数のメモリモジュールを、アクセスすべき前記１つ又は複数のメモリモジュールとして決定するステップを含む、請求項１に記載の方法。
【請求項５】
前記並列制御フィールドは、アクセスすべき前記複数のメモリモジュールの間の間隔を示すストライドフィールドをさらに含み、
前記並列制御フィールド及び前記モジュールアドレスフィールドに基づいて、アクセスすべき前記１つ又は複数のメモリモジュールを決定するステップは、前記モジュールアドレスフィールドによって割り当てられたメモリモジュールから始まり、前記ストライドフィールドによって示された前記間隔を有しており、且つ前記モジュール数量フィールドによって割り当てられた数の前記メモリモジュールを、アクセスすべき前記１つ又は複数のメモリモジュールとして決定するステップを含む、請求項４に記載に方法。
【請求項６】
前記アドレス指定フィールドは、前記モジュールアドレスフィールド内の対応するビットが任意の値を有することができることを示す循環制御コードを含む循環制御フィールドをさらに含み、１つ又は複数のメモリモジュールを含む循環範囲は、前記循環制御コード及び前記モジュールアドレスフィールドに基づいて決定され、
前記モジュールアドレスフィールド内にあり、且つ前記モジュール制御コードに対応する１つ又は複数のビットが、前記循環制御コードに対応するビットの範囲内に含まれ、
前記メモリへのアクセスは、前記並列制御フィールド及び前記モジュールアドレスフィールドによって決定されるアクセスすべき１つ又は複数のメモリモジュールから始まり、前記循環範囲内で循環アドレス指定操作を実行する、請求項２に記載の方法。
【請求項７】
前記循環制御コードのビット数は、前記モジュール制御コードのビット数以上である、請求項６に記載の方法。
【請求項８】
前記アクセス命令は、開始メモリモジュールを示す開始フィールド及び終了メモリモジュールを示す終了フィールドを含む循環制御フィールドをさらに含み、前記メモリへのアクセスは、前記並列制御フィールド及び前記モジュールアドレスフィールドによって決定されるアクセスすべき１つ又は複数のメモリモジュールから始まり、前記開始メモリモジュールと前記終了メモリモジュールとの間で循環アドレス指定操作を実行する、請求項１乃至５のいずれかに記載の方法。
【請求項９】
並列に構成された複数のメモリモジュールを含むメモリへのアクセスを制御するための機器であって、当該機器は、
並列アクセスを制御するための並列制御フィールド、メモリモジュールを示すためのモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すためのモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を解析するための命令解析ユニットと、
前記並列制御フィールド及び前記モジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するためのモジュール決定ユニットと、
前記モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき前記１つ又は複数のメモリモジュール内にある前記１つ又は複数のアドレスへのアクセスを実施するためのアクセス実行ユニットと、を有する、
機器。
【請求項１０】
プロセッサによって実行されると、該プロセッサに請求項１乃至８のいずれか一項に記載の方法を実行させるプログラム命令を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は、２０１８年１１月２９日に出願された中国特許出願第２０１８１１４４０１７５．９号の優先権を主張するものであり、この文献の開示はその全体が参照により本明細書に明示的に組み込まれる。
【０００２】
本願は、概して、コンピュータの技術分野に関し、特に、メモリアクセスを制御するための方法、機器、及び電子装置に関する。
【背景技術】
【０００３】
コンピュータハードウェアの開発は常に継続しており、メモリの容量も以前よりも大きくなっている。大容量メモリは、通常、メモリグレイン（memory grains）とも呼ばれる複数のメモリモジュールを含む。例えば、ＲＡＭとして使用されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）とキャッシュとして使用されるスタティックランダムアクセスメモリ（ＳＲＡＭ）との両方が、複数のメモリモジュールを含むことができる。メモリモジュールのデータ幅が３２ビットの場合に、アクセスデータの幅は３２ビットであり、メモリモジュールのデータ幅が６４ビットの場合に、アクセスデータの幅は６４ビットである。そのアクセスデータ幅をメモリモジュールのデータ幅と同じに設定することにより、各メモリモジュールに柔軟にアクセスすることができる。しかしながら、メモリモジュールのデータ幅によって決定されるデータ量が各期間中に最大にアクセスすることができるという解決策には問題があり、その結果帯域幅が制限される。所望のアクセスすべきデータ量、例えば１０２４ビットがメモリモジュールのデータ幅を超える場合に、それらデータ量は複数の期間を通じてメモリモジュールから取得され得る。一方、データアクセスの効率を向上させるために、アクセスデータの幅を、単一のメモリモジュールのデータ幅、例えば５１２ビットより大きく構成することができ、こうしてデータ幅が３２ビットの１６個のメモリモジュール、又はデータ幅が６４ビットの８個のメモリモジュールに同期的にアクセスすることができる。この方法では、帯域幅と１期間内にアクセスされるデータ量を増やすことができるが、アクセスの柔軟性は低下する。
【発明の概要】
【０００４】
上記した技術的問題を解決するために、本願が提示される。
【０００５】
本願の一態様によれば、メモリアクセスを制御するための方法が提供され、メモリは、並列に構成された複数のメモリモジュールを含む。この方法は、並列アクセスを制御するための並列制御フィールド、メモリモジュールを示すためのモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すためのモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を受信するステップと；並列制御フィールド、モジュールアドレスフィールド、及びモジュール内アドレスフィールドを決定するためにアクセス命令を解析するステップと；並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップと；モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスにアクセスするステップと；を含む。
【０００６】
本願の別の態様によれば、メモリへのアクセスを制御するためのメモリアクセスを制御するための機器が提供され、メモリは、並列に構成された複数のメモリモジュールを含む。この機器は、並列アクセスを制御するための並列制御フィールド、メモリモジュールを示すためのモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すためのモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を解析するための命令解析ユニットと；並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するためのモジュール決定ユニットと；モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスへのアクセスを実施するためのアクセス実行ユニットと；を有する。
【０００７】
本願の別の態様によれば、電子装置が提供される。この電子装置は、プロセッサと；プロセッサによって実行されると、プロセッサにメモリアクセスを制御するための上記の方法を実行させるプログラム命令を格納したメモリと；を有する。
【０００８】
本願の別の態様によれば、プロセッサによって実行されると、プロセッサにメモリアクセスを制御するための上記の方法を実行させるプログラム命令を格納した可読記憶媒体が提供される。
【０００９】
メモリアクセスを制御するための本願の方法、機器、及び電子装置により、アクセスすべき１つ又は複数のメモリモジュールを柔軟に制御することができ、それにより、アクセスの柔軟性とアクセス帯域幅との良好なバランスを達成することができ、こうして、アクセス効率が向上する。
【図面の簡単な説明】
【００１０】
本願の上述した及び他の目的、技術的特徴、及び利点は、添付の図面と併せて以下の詳細な説明からより明らかになるであろう。実施形態の更なる理解を与えるために含まれる添付の図面は、本願の一部を構成する。図面及び実施形態は、本開示を限定するものとして解釈すべきではなく、例示のみを目的とするものである。添付の図面において、同様の参照符号は、通常、同様のコンポーネント又はステップを表す。
【図１】本願の一実施形態による、メモリアクセスを制御するためのシステムの構造概略図である。
【図２】本願のいくつかの実施形態による、メモリアクセスを制御するための方法を示すフローチャートである。
【図３】本願の一実施形態による、アクセス命令内のアドレス指定フィールドの第１の例示的な構造の概略図である。
【図４】本願の一実施形態による、アクセス命令内のアドレス指定フィールドの第２の例示的な構造の概略図である。
【図５】本願の一実施形態による、アクセス命令内のアドレス指定フィールドの第３の例示的な構造の概略図である。
【図６】本願の一実施形態による、アクセス命令内のアドレス指定フィールドの第４の例示的な構造の概略図である。
【図７】本願の一実施形態による、アクセス命令内のアドレス指定フィールドの第５の例示的な構造の概略図である。
【図８】本願の一実施形態による、メモリアクセスを制御するための機器の機能ブロック図である。
【図９】本願の一実施形態による電子装置の機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、いくつかの例示的な実施形態について詳細に説明する。説明する実施形態は、実施形態の一部に過ぎず、実施形態の全てを表すことを意図していないことは明らかである。本願は、本明細書で説明する例示的な実施形態によって限定されないことを理解されたい。
【００１２】
一般的な概念
【００１３】
上述したように、メモリを構成するメモリモジュールのデータ幅は一般に例えば３２ビット又は６４ビットであり、アクセスデータの幅も一般に３２ビット又は６４ビットであり、従って各メモリモジュールへの柔軟なアクセスが実現される。しかしながら、このような解決策の欠点は、各期間中に３２ビット又は６４ビットしかアクセスできないため、帯域幅が制限されることである。一方、バス帯域幅が５１２又は１０２４ビットに設定され、且つ複数のメモリモジュールが同期的にアクセスされる場合に、１期間中にアクセスされるデータ量は改善される可能性があるが、アクセスの柔軟性は、柔軟な方法で単一のメモリモジュールへのアクセスを除いて、例えば、複数のメモリモジュールに同期的にアクセスする必要があるため、低下する。
【００１４】
上記の技術的問題に関して、本願の基本的な発明概念は、アクセス命令が、並列アクセスを制御するための並列制御フィールド、メモリモジュールを示すためのモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すモジュール内（in-module）アドレスフィールドを有するアドレス指定フィールドを含むように構成されることにある。こうして、メモリ内のメモリモジュールへの柔軟なアクセスを実現することができる。例えば、複数のメモリモジュールへの同時アクセス、又は単一のメモリモジュールのみへのアクセスを実現することができる。複数のメモリモジュールに同時にアクセスする場合に、複数の連続したメモリモジュール、又は複数の不連続な（間隔の空いた）メモリモジュールにアクセスすることができる。こうして、複数のメモリモジュールに同時にアクセスすることにより、アクセスの柔軟性が保証され、１期間中にアクセスすることができるデータがより多くなり、アクセス効率が向上する。
【００１５】
本明細書において、メモリアクセスを制御するための本願の解決策は、並列にアクセスすることができる複数のメモリモジュールを含む限り、様々なメモリへのアクセスを制御するために使用できることを当業者は理解するはずである。典型的に、メモリアクセスを制御するための本願の解決策は、通常キャッシュとして使用されるスタティックランダムアクセスメモリ（ＳＲＡＭ）、及び通常ＲＡＭとして使用されるダイナミックランダムアクセスメモリ（ＤＲＡＭ）に適用可能である。本願の原理は、メモリ内の複数のメモリモジュールの全てが同じタイプであることに限定されず、代わりに複数のメモリモジュールが異なるタイプであってもよいことも理解されたい。
【００１６】
さらに、本願によって提供されるメモリアクセスを制御するための方法は、ＣＰＵ、ＧＰＵ、又はＦＰＧＡシステム等の現在のハードウェアアーキテクチャに適用可能であることを当業者は理解すべきである。また、この方法は、上述したアクセス命令を実行するためだけに開発された新しいハードウェアアーキテクチャで実施することもできる。
【００１７】
本願の基本原理に従って、以下、添付の図面を参照することにより、本願の様々な非限定的な実施形態について具体的に説明する。
【００１８】
例示的なシステム
【００１９】
図１は、いくつかの実施形態によるメモリアクセスを制御するための例示的なシステムの構造概略図を示す。図１に示されるように、メモリ１２は、並列に構成された複数のメモリモジュールを含むことができ、本明細書では８個のメモリモジュール、すなわちＲＡＭ０〜ＲＡＭ７として示されている。ＲＡＭ０〜ＲＡＭ７の各メモリモジュールは、ＳＲＡＭ又はＤＲＡＭ、或いはさらに他のタイプのものでもよい。他の例では、メモリ１２は、例えば２、４、１６、３２個等の、より少ない又はより多い量のメモリモジュールを含むこともできる。
【００２０】
便宜上、本明細書では、各ＲＡＭを１つのメモリモジュールとして示している。１つのメモリモジュールが複数のＲＡＭを含んでもよく、各メモリモジュール内の複数のＲＡＭを１つのグループとして同期して動作させ、各メモリモジュールのデータ幅を増やすことができることを理解されたい。或いは、必要に応じて、複数のメモリモジュールを１つのグループにまとめて動作させることもできる。本願の教示の下で、これらのグループの動作は、当業者には明らかであろう。
【００２１】
メモリアクセス制御ユニット１１は、ＣＰＵ１０等のプロセッサによるメモリ１２へのアクセスを制御するために使用することができる。例えば、メモリアクセス制御ユニット１１は、ＣＰＵ１０からアクセス命令を受信することができ、アクセス命令に基づいて、制御ユニット１１は、メモリ１２内の１つ又は複数のそれぞれのモジュール内の特定のアドレスにアクセスして、データをそれぞれ読み取り又は書き込む。上述したように、メモリ１２への柔軟なアクセス、例えば、単一のモジュールへのアクセス又は複数のモジュールへの並列アクセスは、アクセス命令により実現され得る。
【００２２】
以下、アクセス命令に基づいてメモリへのアクセスを制御するいくつかの例だけでなく、アクセス命令を実行することによって実施されるアクセスプロセスを、添付の図面と併せて詳細に説明する。
【００２３】
例示的な方法
【００２４】
図２は、いくつかの実施形態によるメモリアクセスを制御するための方法を示すフローチャートを示す。
【００２５】
図２に示されるように、本願の一実施形態によるメモリアクセスを制御するための方法１００は、
並列アクセスを制御するために使用される並列制御フィールド、メモリモジュールを示すために使用されるモジュールアドレスフィールド、及びメモリモジュール内のアドレスを示すために使用されるモジュール内アドレスフィールドを有するアドレス指定フィールドを含むアクセス命令を受信するステップＳ１１０と、
アクセス命令を解析して、並列制御フィールド、モジュールアドレスフィールド、及びモジュール内アドレスフィールドを決定するステップＳ１２０と、
並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定するステップＳ１３０と、
モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスにアクセスするステップＳ１４０と、を含むことができる。
【００２６】
ステップＳ１１０において、例えば、ＣＰＵ１０からのアクセス命令を受信することができる。アクセス命令は、ＣＰＵ１０の命令レジスタ（ＩＲ）等の命令記憶ユニットに事前に格納され得る。アクセス命令は、例えば、アクセスすべきメモリアドレスを示すアドレス指定フィールドを含むことができ、そのメモリアドレスは、以下で説明するように、単一アドレス、又は並列にアクセスされる複数のアドレスであり得る。図示していないが、アクセス命令は、例えば、読み取り／書き込み指示フィールド、データフィールド等をさらに含むことができ、読み取り／書き込み指示フィールドは、このアクセス命令が「読み取り」命令か、又は「書き込み」命令かを示すことができる。データフィールドには、書き込むべきデータ等が含まれ得る。
【００２７】
上述したように、本願の実施形態では、アドレス指定フィールドのアクセス命令を設定することにより、メモリ１２内の１つ又は複数のメモリモジュールへの柔軟なアクセスを実施することができる。図３は、本願の一実施形態によるアクセス命令内のアドレス指定フィールドの第１の例示的な構造の概略図を示す。図３に示されるように、アドレス指定フィールド２０は、並列制御フィールド２２、モジュールアドレスフィールド２４、及びモジュール内アドレスフィールド２６を含むことができる。それぞれフィールドの順序は、図に示される例に限定されず、任意の順序にすることができるないことに留意されたい。
【００２８】
モジュールアドレスフィールド２４は、アクセスすべき１つ又は複数のメモリモジュールを示すことができ、これは、２ｊの量のメモリモジュールを示すために、複数のビット、すなわち、ｂ１，ｂ２，…，ｂｊを含むことができる。例えば、メモリ１２が２２（４）個のメモリモジュールを含む場合に、モジュールアドレスフィールド２４は２ビットのデータを含むことができ、その値は、４つのメモリモジュールをそれぞれ示すために、「００」、「０１」、「１０」、又は「１１」とすることができる。同様に、メモリ１２が８個のメモリモジュールを含む場合に、モジュールアドレスフィールド２４は３ビットの量のデータを含むことができる。メモリ１２が１６個のメモリモジュールを含む場合に、モジュールアドレスフィールド２４は４ビットの量のデータを含むことができる。場合によっては、モジュールアドレスフィールド２４がｊビットの量のデータを含む場合に、モジュールアドレスフィールド２４を介した各モジュールへのアドレス指定操作を実施できることが保証される限り、メモリ１２に含まれるメモリモジュールの数は２ｊ未満になり得る。簡素化するために、モジュールアドレスフィールド２４が５ビット（ｊ＝５）のデータを含み、メモリ１２が３２個のメモリモジュール、すなわちＲＡＭ０〜３１を含む例を用いて説明する。
【００２９】
モジュール内アドレスフィールド２６は、アクセスすべき１つ又は複数のメモリモジュール内の１つ又は複数のアドレスを示すために使用され得る。モジュール内アドレスフィールド２６のビット数は、メモリモジュールのサイズに依存する。例えば、各メモリモジュールが１０２４×８ビットである場合に、モジュール内アドレスフィールド２６は、１０ビットのデータを含み、２１０（１０２４）個のアドレスのアドレス指定操作を実施することができ、ここで１０２４（１ｋ）はメモリモジュールの記憶空間の長さであり、８はビット幅である。メモリモジュールの記憶空間の長さが１６ｋである場合に、モジュール内アドレスフィールド２６は１５ビットのデータを含んでもよい。
【００３０】
上述したように、アクセスすべき特定のメモリモジュールの特定のアドレスは、モジュールアドレスフィールド２４及びモジュール内アドレスフィールド２６の使用により決定することができる。１つ又は複数のメモリモジュールに柔軟にアクセスする目的で、アドレス指定フィールド２０は、並列にアクセスすべき１つ又は複数のメモリモジュールを示す並列制御フィールド２２をさらに含むことができる。図３の例では、並列制御フィールド２２は、１つ又は複数のビット、すなわちａ１，ａ２，…，ａｉを含むことができるモジュール制御コード２３を含む。モジュール制御コード２３のビット数は、例えば、モジュールアドレスフィールド２４のビット数、すなわちｊに等しくすることができ、それにより、以下で詳細に説明するように、モジュールアドレスの各ビットに対して制御コード操作を実施することができる。他の実施形態では、モジュール制御コード２３のビット数、すなわちｉは、モジュールアドレスフィールド２４のビット数、すなわちｊ未満にすることができ、それにより、モジュールアドレスフィールド２４の一部のビットに対してのみ制御コード操作を実施することができる。
【００３１】
ここで、「制御コード操作（control code operation）」とは、モジュールアドレスフィールド２４内の対応するビットが、モジュールアドレスフィールド２４自体によって規定される値ではなく、任意の値、例えば「０」又は「１」を有することをモジュール制御コード２３が示すことができることを意味する。説明の便宜上、モジュール制御コード２３とモジュールアドレスフィールド２４との両方が５ビットであると仮定すると、モジュールアドレスフィールド２４は、５ビットの任意の値、すなわちｂ１ｂ２ｂ３ｂ４ｂ５を含み、１番目〜３２番目のメモリモジュールの任意のモジュールを示す。モジュール制御コード２３は、例えば００００１の値を有することができ、これは、モジュールアドレスフィールド２４内の対応するビットｂ５が、任意の値、すなわち「０」又は「１」であり、それによりｂ１ｂ２ｂ３ｂ４０とｂ１ｂ２ｂ３ｂ４１との両方のメモリモジュールに並列にアクセスすることができることを示す。モジュール制御コード２３が例えば０００１１の値を有する場合に、これは、モジュールアドレスフィールド２４内の対応するビットｂ４及びｂ５が、任意の値、すなわち「０」又は「１」になり、それにより４つのメモリモジュールｂ１ｂ２ｂ３００、ｂ１ｂ２ｂ３０１、ｂ１ｂ２ｂ３１０、及びｂ１ｂ２ｂ３１１に並列にアクセスすることができることを示す。同様に、モジュール制御コード２３が例えば１１１１１の値を有する場合に、３２個のメモリモジュール全てに並列にアクセスすることができる。場合によっては、モジュール制御コード２３のビット数iを制限することができ、これにより、メモリモジュールの一部のみにアクセスすることができる。例えば、システムバス帯域幅が１６個のメモリモジュールのビット幅の合計に等しい場合に、モジュール制御コード２３は４ビットのみで構成されるため、バス帯域幅の制限を超えないように、最大１６個のメモリモジュールに並列にアクセスすることができる。特定の例示的な実施形態では、モジュール制御コード２３の全てのビットをゼロとすることができ、その後、１つのメモリモジュール、すなわちｂ１ｂ２ｂ３ｂ４ｂ５のみにアクセスすることができる。
【００３２】
上記の例では、モジュール制御コード２３は、最下位ビットからの連続値「１」を含み、それにより、複数の連続したメモリモジュールにアクセスすることができることを示す。いくつかの他の実施形態では、モジュール制御コード２３は、ゼロの１つ又は複数の低位ビット値、例えば０００１０の値を含むことができ、ｂ１ｂ２ｂ３０ｂ５及びｂ１ｂ２ｂ３１ｂ５のそのような２つの不連続なメモリモジュールに並列アクセスすることができる。値が０１０１０の場合に、これは、４つの不連続なメモリモジュール、すなわちｂ１０ｂ３０ｂ５、ｂ１０ｂ３１ｂ５、ｂ１１ｂ３０ｂ５、及びｂ１１ｂ３１ｂ５に並列にアクセスすることができることを示す。要するに、モジュール制御コード２３は、モジュールアドレスフィールド２４内の任意のビットが任意の値を有することができることを示し、それにより１つ又は複数の連続した又は不連続なメモリモジュールに柔軟にアクセスすることができる。
【００３３】
こうして、上述したように、モジュール制御コード２３に基づいてモジュールアドレスフィールド２４内の対応するビットを任意の値として評価することにより、１つ又は複数のメモリモジュールアドレスを取得することができ、それにより対応する１つ又は複数のメモリモジュールに並列にアクセスすることができる。高いアクセスの柔軟性を実現でき、高いデータアクセス効率を保証することができる。
【００３４】
図４は、本願の一実施形態によるアクセス命令内のアドレス指定フィールドの第２の例示的な構造の概略図を示す。図４に示されるように、第２の例示的な構造のいくつかのフィールドは、図３の第１の例示的な構造のフィールドと同じである。以下、冗長性を避けるために、前述した実施形態と異なる特徴のみについて説明する。
【００３５】
図４に示されるように、並列制御フィールド２２は、モジュールアドレスフィールド２４によって割り当てられたメモリモジュールから始まる並列にアクセスすべきメモリモジュールの数（the number）を示すモジュール数量フィールド２５を含むことができる。モジュール数量フィールド２５は、モジュールアドレスフィールド２４のビットと同じ量のビット、例えば図４に示されるｐ１，ｐ２，…，ｐｊを含むことができ、それにより、全てのメモリモジュールに最大で並列にアクセスすることができる。モジュール数量フィールド２５のビット数もモジュールアドレスフィールド２４のビット数未満にすることができ、例えば、前者（モジュール数量フィールド２５のビット数）は４であり、後者（モジュールアドレスフィールド２４のビット数）は５である。こうして、３２個のメモリモジュール内の最大１６個のモジュールに並列にアクセスすることができる。ここで、モジュール数量フィールド２５を使用することにより、モジュールアドレスフィールド２４によって割り当てられたモジュールから始まる複数の連続したモジュールが並列にアクセスされる。例えば、モジュール数量フィールド２５が０００１０の場合に、モジュールアドレスフィールド２４によって割り当てられたモジュールから始まる３つのメモリモジュール、すなわちアドレスがｂ１ｂ２ｂ３ｂ４ｂ５＋００、ｂ１ｂ２ｂ３ｂ４ｂ５＋０１、ｂ１ｂ２ｂ３ｂ４ｂ５＋１０のモジュールに並列にアクセスすることができる。例えば、モジュール数量フィールド２５が０００１１の場合に、モジュールアドレスフィールド２４によって割り当てられたモジュールから始まる４つのメモリモジュール、すなわちアドレスがｂ１ｂ２ｂ３ｂ４ｂ５＋００、ｂ１ｂ２ｂ３ｂ４ｂ５＋０１、ｂ１ｂ２ｂ３ｂ４ｂ５＋１０、ｂ１ｂ２ｂ３ｂ４ｂ５＋１１のモジュールにアクセスすることができる。一例では、モジュール数量フィールド２５の値が０である場合に、モジュールアドレスフィールド２４自体によって割り当てられた１つのモジュールのみにアクセスすることができる。
【００３６】
いくつかの実施形態では、モジュール数量フィールド２５及びモジュールアドレスフィールド２４に基づいて、並列にアクセスすべき複数のモジュールを決定するときに、循環アドレス指定（circular addressing）を使用することができる。例えば、モジュールアドレスフィールド２４が３２個のモジュールのうち３１番目のモジュールを示し、且つモジュール数量フィールド２５の値が０００１１の場合に、３１番目、３２番目、１番目、２番目のこれら４つのモジュールにアクセスすることができる。
【００３７】
図３に示される例と比較して、モジュール数量フィールド２５を使用することにより、並列にアクセスすべき複数のモジュールのうちの開始モジュール及び終了モジュールを決定することがより容易になることがわかる。一方、図３の例では、開始モジュールの特定のモジュールのアドレスビット値は一般にゼロであり、終了モジュールのビット値は一般に１である。
【００３８】
いくつかの実施形態では、モジュール数量フィールド２５は、さらに、モジュールアドレスフィールド２４によって割り当てられたモジュールから開始する複数の不連続なモジュールにアクセスするために、他のフィールドと一緒に使用することができる。図５は、図４に示される第２の実施例の構造と多くの部分を共有する、アクセス命令のアドレス指定フィールドの第３の実施例の構造を示す。以下、冗長性を避けるために、前述した実施形態とは異なる特徴のみについて説明する。
【００３９】
図５に示されるように、モジュール数量フィールド２５に加えて、並列制御フィールド２２は、アクセスすべき複数のメモリモジュールの間の間隔（interval）を示すストライド（stride）フィールド２７をさらに含む。すなわち、並列制御フィールド２２のモジュール数量フィールド２５、ストライドフィールド２７、及びモジュールアドレスフィールド２４に基づいて、モジュールアドレスフィールド２４によって割り当てられたメモリモジュールから始まり、且つストライドフィールド２７によって割り当てられた間隔ステップとモジュール数量フィールド２５によって割り当てられた数量とを有する複数のメモリモジュールを決定することができる。ストライドフィールド２７のビット数は、モジュールアドレスフィールド２４及び／又はモジュール数量フィールド２５のビット数未満であり得る。例えば、図５では、２ビットのみ、すなわちｓ１及びｓ２の例を示している。モジュールアドレスフィールド２４の値が「０００１０」であり（これは、３２個のメモリモジュールのうち３番目のメモリモジュールが割り当てられることを意味する）、モジュール数量フィールド２５の値が０００１１であり（これは、４つのメモリモジュール（０００１０＋０００００、００００１０＋００００１、０００１０＋０００１０、０００１０＋０００１１）にアクセスすることを意味する）、そしてストライドフィールド２７の値は０１である（これは、間隔が１つのモジュールであることを意味する）と仮定すると、最終的にアクセスすべきモジュールが３番目、５番目、７番目、９番目であると決定することができる。ストライドフィールド２７の値が００である（これは、間隔がゼロであることを示す）場合に、複数の連続したモジュールにアクセスすることができる。上述したように、ストライドフィールド２７を設定することにより、必要に応じて複数の連続した又は不連続なメモリモジュールにアクセスすることができる。
【００４０】
図６は、本願の一実施形態によるアクセス命令のアドレス指定フィールド内の第４の例示的な構造の概略図を示す。図６に示されるように、第４の実施例の構造は、図３の第１の実施例の構造と多くの部分を共有する。以下、冗長性を避けるために、前述した実施形態と異なる特徴のみについて説明する。
【００４１】
図６に示されるように、並列制御フィールド２２、モジュールアドレスフィールド２４、及びモジュール内アドレスフィールド２６に加えて、アクセス命令のアドレス指定フィールドは、並列にアクセス可能な１つ又は複数のメモリモジュールの範囲を制御するための循環制御命令３０をさらに含むことができる。図６の例では、循環制御命令３０は、モジュール制御コード２３と同様の循環制御コード３１を含むことができる。例えば、複数のビットｃ１，ｃ２，…，ｃｋが循環制御コードに含まれる。循環制御コード３１のビット数、すなわちｋは、モジュール制御コード２３のビット数、すなわちｉ以上であり、且つモジュールアドレスフィールド２４のビット数、すなわちｊ以下であるものとする。例えば、これらビット数は、互いに等しく、すなわちｉ＝ｊ＝ｋにすることができる。モジュール制御コード２３と同様に、循環制御コード３１は、モジュールアドレスフィールド２４内の対応するビットが任意の値を有することができることを示し、それにより１つ又は複数のメモリモジュールアドレスを、並列アクセスアドレスの循環範囲として使用するように決定することができる。モジュール制御コード２３に基づいて決定された並列アクセスモジュールアドレスは、循環制御コード３１に基づいて決定された循環範囲内に入ることを理解されたい。従って、モジュールアドレスフィールド２４内にあり、且つモジュール制御コード２３に対応するビットは、循環制御コード３１に対応するビット範囲内に含まれるものとなる。こうして、並列アクセスは、並列制御フィールド２２内のモジュールアドレスフィールド２４とともにモジュール制御コード２３によって決定される１つ又は複数のメモリモジュールから開始し、且つ循環制御コード３１に基づいて決定された循環範囲内で循環することができる。すなわち、アクセスが１つのメモリモジュールの最後に達すると、アドレスが増え、アクセスは次のモジュールに移動する。次のモジュールのアドレスが循環範囲内にある場合に、次のモジュールへのアクセスを継続することができる。しかしながら、次のモジュールが循環範囲を超えている場合に、そのアクセスは、循環範囲の開始モジュールにジャンプし、それにより循環範囲内で循環アドレス指定が保証される。上述したように、循環アドレス指定により、メモリアクセスを所望の循環範囲内に規定することができるため、ＲＡＭ又はバッファのオーバーフロー等の問題を回避することができる。
【００４２】
例えば、モジュールアドレスフィールド２４が０００１０であり、モジュール制御コード２３が００００１であり、循環制御コード３１が００００１である、従って、第３番目（０００１０）と第４番目（０００１１）のモジュールに並列にアクセスでき、アクセスは、１番目（０００００）、２番目（００００１）、３番目（０００１０）、４番目（０００１１）のモジュール内で循環していると仮定する。アクセスは、３番目と４番目のモジュール内にあり、且つモジュール内アドレスフィールド２６によって決定されたアドレスで開始される。アクセスが進むと、アドレスが増え、そのアドレスが３番目と４番目のモジュールの最後に達すると、アドレスは、５番目と６番目のモジュールの先頭（beginning）に達するまで増える。５番目のモジュール及び６番目のモジュールは循環範囲外にあるため、この時点で、アクセスが、循環制御コード２３によって決定された循環範囲に基づいた循環範囲の先頭、すなわち１番目のモジュール及び２番目のモジュールに強制され、こうして１番目のモジュール及び２番目のモジュールについて続行される。
【００４３】
図７は、本願の一実施形態によるアクセス命令のアドレス指定フィールドの第５の実施例の特定の構造の概略図を示す。図７に示されるように、第５の実施例の構造は、図５に示される第３の実施例の構造、又は図６に示される第４の実施例の構造と多くの部分を共有する。以下、冗長性を避けるために、前述した実施形態と異なる特徴のみについて説明する。
【００４４】
図７に示されるように、循環制御フィールド３０は、開始フィールド３３及び終了フィールド３５を含むことができ、開始フィールドは開始メモリモジュールを示し、終了フィールド３５は終了メモリモジュールを示し、これら両方のフィールドはともに、循環アドレス指定の範囲を示す。例えば、開始フィールド３３は、開始メモリモジュールのモジュールアドレスを直接含むことができる。終了フィールド３５は、終了メモリモジュールのモジュールアドレスを直接含むことができ、又は開始フィールド３３によって割り当てられたモジュールから始まるアクセス可能なメモリモジュールの数量を含むことができ、それにより、終了メモリモジュールのモジュールアドレスを計算することができる。開始フィールド３３及び終了フィールド３５を設定することにより、循環アクセスの範囲を明確且つ直感的な方法で決定することができる。アクセスするときに、メモリ１２へのアクセスは、開始フィールド３３によって割り当てられた開始メモリモジュールと終了フィールド３５によって割り当てられた終了メモリモジュールとの間の循環アドレス指定でなければならない。
【００４５】
例えば、循環範囲が３２個のメモリモジュール（すなわち、０〜３１）内で０〜７あると仮定すると、並列にアクセスすべきメモリモジュールが、モジュールアドレスフィールド２４及びモジュール数量フィールド２５及び並列制御フィールド２２内のストライドフィールド２７に基づいて、５及び７であると決定することができる。メモリモジュールの最後に達すると、アクセスはメモリモジュール６及び８に移動する。メモリモジュール６は循環範囲内であるが、メモリモジュール８は循環範囲を超えているため、そのアクセスは、循環範囲の先頭に自動的にジャンプし、こうしてアクセスはメモリモジュール６及び０に移動する。
【００４６】
一方、並列にアクセスすべきメモリモジュールが、モジュールアドレスフィールド２４、モジュール数量フィールド２５、及びストライドフィールド２７に基づいて決定される場合に、それらメモリモジュールも循環範囲内するべきである。例えば、循環範囲が０〜７の場合に、並列にアクセスすべきメモリモジュールは、モジュールアドレスフィールド２４、モジュール数量フィールド２５、及びストライドフィールド２７に基づいて６及び８に決定されるが、循環アドレス指定操作を循環範囲内で実施する必要があり、それにより最終的に、並列にアクセスすべきメモリモジュールは６及び０であると決定される。
【００４７】
説明の便宜上、図６及び図７を参照する例示的な実施形態では、循環制御フィールド３０は、制御フィールド２２とは別個のフィールドとして説明しているが、循環制御フィールド３０は、並列制御フィールド２２のサブフィールドであると見なすこともでき、これは、上述した原理に該当すると見なすべきであることを理解されたい。
【００４８】
アクセス命令のアドレス指定フィールドの様々な例について上述してきた。再び図１を参照すると、ステップＳ１２０において、アクセス命令を解析して、並列制御フィールド２２、モジュールアドレスフィールド２４、及びモジュール内アドレスフィールド２６が決定される。それぞれのフィールドの順序や長さ等を含むアクセス命令の構造を予測することができることを理解されたい。上記で詳細に説明したアドレス指定フィールド内に様々なサブフィールドを含む、アクセス命令の様々なフィールドのそれぞれのフィールド値は、解析ステップＳ１２０によって決定することができる。
【００４９】
引き続き図１を参照すると、ステップＳ１３０において、アクセスすべき１つ又は複数のメモリモジュールが、並列制御フィールド及びモジュールアドレスフィールドに基づいて決定される。このステップの詳細は、図３〜図７に関する上記の説明で説明しているため、ここでは繰り返さない。
【００５０】
ステップＳ１４０において、モジュール内アドレスフィールドによって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスがアクセスされる。上述したように、アクセスは、アクセス命令のタイプに応じた読み取り又は書き込み操作であり得る。複数のデータが読み取り又は書き込みされている場合に、それに応じてアドレスを蓄積することができる。上述したように、アクセス命令内のアドレス指定フィールドが循環アドレス指定範囲を規定している場合に、アクセスアドレスはこの循環範囲内にあることに留意されたい。
【００５１】
例示的な機器
【００５２】
図８は、本願の一実施形態によるメモリアクセスを制御するための機器の機能ブロック図を示す。
【００５３】
本願の一実施形態によるメモリアクセスを制御するための機器２００は、例えば、並列に構成された複数のメモリモジュールを含むメモリ１２へのＣＰＵ１０のアクセスを制御するために使用される。図８に示されるように、メモリアクセスを制御するための機器２００は、オプションで、命令記憶ユニットからアクセス命令を取得するための命令キャプチャユニット２１０を含む。例えば、命令キャプチャユニット２１０は、ＣＰＵ１０の命令レジスタＩＲからアクセス命令をキャプチャすることができる。
【００５４】
メモリアクセスを制御するための機器２００は、取得したアクセス命令を解析するための命令解析ユニット２２０を含むことができる。アクセス命令は、上記図３〜図７を参照して説明したように、アドレス指定フィールドを含むことができる。命令解析ユニット２２０は、様々なフィールドを解析して、それぞれのフィールドの値を決定することができる。
【００５５】
次に、命令解析ユニット２２０の解析結果に従って、アクセス制御機器２００内のアクセスモジュール決定ユニット２３０は、並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定することができる。ここで、並列制御フィールドは、図３〜図７で説明した任意の構造又はそれらの組合せを有することができ、上述したように、必要に応じて、並列制御フィールドは、循環制御フィールドを含むことができる。並列制御フィールド及びモジュールアドレスフィールドに基づいて、アクセスすべき１つ又は複数のメモリモジュールを決定する処理ステップは、図３〜図７を参照して上記で詳細に説明した。従って、その詳細な説明はここでは省略する。
【００５６】
引き続き図８を参照すると、メモリアクセスを制御するための機器２００は、モジュール内アドレスフィールドよって割り当てられ、且つアクセスすべき１つ又は複数のメモリモジュール内にある１つ又は複数のアドレスへの並列にアクセスを実施するアクセス実行ユニット２４０をさらに含むことができる。一例では、メモリアクセスを制御するための機器２００は、オプションで、アクセス実行ユニット２４０によって実行されるバッファシーケンスに解析された命令を格納するための命令バッファユニット２５０をさらに含むことができる。
【００５７】
本明細書において、当業者は、メモリアクセスを制御するための機器２００内の様々なユニット及びモジュールの特定の機能及び動作について、図１〜図７を参照することによって詳細に説明したことを理解するだろう。従って、その詳細な説明は省略する。
【００５８】
上述したように、本願のいくつかの実施形態によるメモリアクセスを制御するための機器２００は、ＳＲＡＭ及び／又はＤＲＡＭアレイを含むコンピュータ等の様々な端末装置に実装することができる。一例では、本願のいくつかの実施形態によるメモリアクセスを制御するための機器２００は、ソフトウェアモジュール及び／又はハードウェアモジュールとして端末装置に統合することができる。例えば、メモリアクセスを制御するためのこの機器２００は、端末装置のオペレーティングシステム内のソフトウェアモジュールであってもよく、又は端末装置向けに開発されたアプリケーションであってもよい。いくつかの例では、メモリアクセスを制御するためのこの機器２００は、端末装置の多数のハードウェアモジュールの１つでもあり得る。
【００５９】
例示的な電子装置
【００６０】
図９は、本願の一実施形態による電子装置の構造ブロック図を示す。
【００６１】
図９に示されるように、電子装置３００は、プロセッサ３１０とメモリ３２０とを含む。
【００６２】
プロセッサ３１０は、中央処理装置（ＣＰＵ）又はデータ処理機能及び／又は命令実行機能を有する他のタイプの処理装置、例えばグラフィック処理装置（ＧＰＵ）であってもよく、或いは他のタイプ処理装置であってもよく、且つ電子装置３００の他のコンポーネントを制御して、所望の機能を実施することができる。
【００６３】
メモリ３２０は、例えば揮発性メモリ及び／又は不揮発性メモリ等の様々な形態のコンピュータ可読記憶媒体を含み得る１つ又は複数のコンピュータプログラム製品を含むことができる。揮発性メモリは、例えばランダムアクセスメモリ（ＲＡＭ）及び／又は高速キャッシュメモリ（キャッシュ）等を含むことができる。不揮発性メモリは、例えば読み取り専用メモリ（ＲＯＭ）、ハードディスク、フラッシュメモリ等を含むことができる。１つ又は複数のコンピュータプログラム命令をコンピュータ可読記憶媒体に格納することができ、このプログラム命令はプロセッサ３１０によって実行され、上述した本願の各実施形態のメモリアクセスを制御するための方法及び／又は他の所望の機能を実行することができる。コンピュータ可読記憶媒体には、アクセスデータ等の様々なコンテンツをさらに格納することができる。
【００６４】
一例では、電子装置３００は、入力装置３３０及び出力装置３４０をさらに含むことができ、これらのコンポーネントは、バスシステム及び／又は他の形態の接続機構（図示せず）によって相互接続される。
【００６５】
例えば、この入力装置３３０は、例えばキーボード、マウス等を含むことができる。
【００６６】
この出力装置３４０は、プログラムコードの実行結果を含む各種情報を外部に出力することができる。この出力装置３４０は、例えば、ディスプレイ、スピーカ、プリンタ、通信ネットワーク、及びこれらに接続されるリモート出力装置等を含むことができる。
【００６７】
簡潔にするために、図９は、この電子装置３００において、本願に関連するコンポーネントの一部のみを示しているため、バス、入出力インターフェース等のコンポーネントは省略されている。さらに、特定の用途によれば、電子装置３００は、他の適切なコンポーネントのいずれかをさらに含むことができる。
【００６８】
例示的なコンピュータプログラム製品及びコンピュータ可読記憶媒体
【００６９】
上述した方法及び装置に加えて、本願の実施形態は、さらに、コンピュータプログラム命令を含むコンピュータプログラム製品であり得、プロセッサによる実行時に、プロセッサは、本明細書の「例示的な方法」の部分で説明した本願の様々な実施形態によるメモリアクセスを制御するための方法のステップを実行することができる。
【００７０】
コンピュータプログラム製品に関して、本願の実施形態の動作を実行するためのプログラムコードは、Ｊａｖａ（登録商標）、Ｃ＋＋等のオブジェクト指向プログラミング言語、さらに「Ｃ」言語又は同様のプログラミング言語等の従来の手続き型プログラミング言語を含む１つ又は複数のプログラミング言語の任意の組合せによってコンパイルすることができる。プログラムコードは、ユーザコンピュータ装置で完全に実行され、ユーザ装置で部分的に実行され、独立したソフトウェアパッケージとして実行され、リモートコンピュータ装置で部分的に実行される間にユーザコンピュータ装置で部分的に実行され、又はリモートコンピュータ装置又はサーバで完全に実行され得る。
【００７１】
さらに、本願の実施形態は、コンピュータプログラム命令が格納されるコンピュータ可読記憶媒体であり得、プロセッサによる実行時に、プロセッサは、本明細書の「例示的な方法」の部分で説明した本願の様々な実施形態によるメモリアクセスを制御するための方法のステップを実行することができる。
【００７２】
コンピュータ可読記憶媒体は、１つ又は複数の可読媒体の任意の組合せであり得る。可読媒体は、可読信号媒体又は可読記憶媒体であり得る。可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、又は半導体システム、機器、装置、又はこれらの組合せを含むことができる。可読記憶媒体のより具体的な例（非網羅的なリスト）には、１つ又は複数のワイヤを有する電気接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能でプログラム可能な読み取り専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、光ファイバ、ポータブル型コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶装置、磁気記憶装置、又はこれらの任意の適切な組合せが含まれる。
【００７３】
本願の基本原理について、上述した特定の実施形態に関連して説明している。しかしながら、本願で言及される長所、利点、効果等は、制限ではなく単なる例であり、そのため、これらの長所、利点、効果等は、本願の各実施形態に無くてはならないものであるとはみなされないことに留意されたい。加えて、上記で開示した特定の詳細は、限定ではなく、単に例示の実施例として機能し、理解を容易にするだけであり、必ずしも上記の特定の詳細を使用することにより本願を実施する必要はない。
【００７４】
本願に含まれる装置、機器、装備、又はシステムのブロック図は、単に例示的な実施形態であり、接続、構成、又は配置を、ブロック図に示されるように接続、構成、又は配置しなければならないことを要求又は暗示することを意図していない。当業者によって認識されるように、これらの装置、機器、装備、又はシステムは、任意の方法で接続、構成、又は配置することができる。「備える、有する、含む（comprising）」、「含む、有する（including）」、「有する、含む（having）」等の用語は、包括的な意味で解釈すべきであり、「その目的語を含むが、その目的語に限定されない」ことを意味し、交換可能に使用することができる。本明細書で使用される「又は」及び「及び」という用語は、「及び／又は」という用語を意味し、文脈で特に明記されていない限り、互換的に使用することができる。本明細書で使用される「等」という用語は、「〜等であるがこれに限定されない」という句を指し、交換可能に使用することができる。
【００７５】
また、本願の装置、機器、及び方法において、それぞれのコンポーネント又はステップは、分解及び／又は再結合できることに留意されたい。分解及び／又は再結合されたものは、本願と同等の解決策とみなされるものとする。
【００７６】
当業者が本願を作製又は使用できるように、様々な態様の説明が上記に与えられている。多数の修正が当業者には明らかであり、本明細書で規定される一般原理は、本願の範囲から逸脱することなく他の態様に適用可能である。こうして、本願は、本明細書に示される態様に限定されることを意図するものではなく、本明細書に開示される原理及び新規の技術的特徴と一致する最も広い範囲となる。
【００７７】
上記の例示及び説明の目的で説明を行った。さらに、本願の実施形態は、本明細書に開示された形態に限定されることを意図していない。上述したように、複数の例示的な態様及び実施形態について説明したが、当業者は、それらのいくつかの変形、修正、変更、追加、及びサブコンビネーションを思いつくであろう。
【図１】
2020087477.tif 000003
【図２】
2020087477.tif 000004
【図３】
2020087477.tif 000005
【図４】
2020087477.tif 000006
【図５】
2020087477.tif 000007
【図６】
2020087477.tif 000008
【図７】
2020087477.tif 000009
【図８】
2020087477.tif 000010
【図９】
2020087477.tif 000011
【外国語明細書】
2020087477000001.pdf