(57)【要約】      （修正有）【課題】 データ幅に対してアライメントの合わないアドレスがアクセスの対象となった場合でも、１回のアクセスで必要なデータが取り出せる等、データアクセスの自由度が増すメモリ装置・制御方法及び情報処理装置を提供すること。【解決手段】所定のデータビット幅を持つ複数個のメモリと、個々の該メモリに対しアドレスを与えるメモリと同数のアドレス変換部と、個々の該メモリからのデータの並び替えと入出力の制御を行うデータ制御部と、外部からのアドレス信号とアクセス制御信号を元に、該アドレス変換部へアドレス変換指示と、該メモリへのライトリード制御と、該データ制御部に対しメモリデータの並び替えと入出力制御指示とを行うアクセス制御部とを具備して構成される。【選択図】図１
2006018536.tif 000002
【特許請求の範囲】
【請求項１】
所定のデータビット幅を持つ複数個のメモリと、
個々の前記メモリに対しアドレスを与えメモリと同数のアドレス変換部と、
個々の前記メモリから送出されるデータの並び替えを行うデータ制御部と、
外部からのアドレス信号に基づいて、前記アドレス変換部に対しアドレスを供給し、前記メモリに対しデータのライトリードの制御をし、前記データ制御部に対し前記メモリから送出されるデータの並び替えの指示を行うアクセス制御部と
を具備することを特徴とするメモリ装置。
【請求項２】
外部からの前記メモリ内データアクセスの際、外部からのアドレス信号とアクセス制御信号により個々のメモリ毎に個別のアドレスを与えてアクセスできることを特徴とする請求項１記載のメモリ装置。
【請求項３】
外部からの前記メモリ内データアクセスの際、外部入出力データに対してメモリ入出力データの並べ替えができることを特徴とする請求項１記載のメモリ装置。
【請求項４】
前記メモリ空間内データアクセスにおけるミスアライメントへの対応を行うことを特徴とする請求項１乃至３のいずれか１項記載のメモリ装置。
【請求項５】
所定のデータビット幅を持つ外部信号を受信し、
前記受信した信号に基づき変換したアドレスを個々のメモリに対して供給し、
前記メモリの個々に格納されるデータを前記受信した信号に基づき並び替え、
前記変換されたアドレス及び並び替えられたデータを用いてデータ・アクセスする
ことを特徴とするメモリ制御方法。
【請求項６】
外部からの前記メモリ内データアクセスの際、外部からのアドレス信号とアクセス制御信号により個々のメモリ毎に個別のアドレスを与えてアクセスできることを特徴とする請求項５記載のメモリ制御方法。
【請求項７】
外部からの前記メモリ内データアクセスの際、外部入出力データに対してメモリ入出力データの並べ替えができることを特徴とする請求項５記載のメモリ制御方法。
【請求項８】
前記メモリ空間内データアクセスにおけるミスアライメントへの対応を行うことを特徴とする請求項５乃至７のいずれか１項記載のメモリ制御方法。
【請求項９】
少なくともＣＰＵと、該ＣＰＵによって制御されるメモリとを有する情報処理装置において、該メモリは、
所定のデータビット幅を持つ複数個のメモリ部と、
個々の前記メモリに対しアドレスを与えメモリと同数のアドレス変換部と、
個々の前記メモリから送出されるデータの並び替えと入出力の制御を行うデータ制御部と、
外部からのアドレス信号に基づいて、前記アドレス変換部に対しアドレスを供給し、前記メモリに対しデータのライトリードの制御をし、前記データ制御部に対し前記メモリから送出されるデータの並び替えの指示を行うアクセス制御部と
を具備することを特徴とする情報処理装置。
【請求項１０】
外部からの前記メモリ部内データアクセスの際、外部からのアドレス信号とアクセス制御信号により個々のメモリ部毎に個別のアドレスを与えてアクセスできることを特徴とする請求項９記載の情報処理装置。
【請求項１１】
外部からの前記メモリ部内データアクセスの際、外部入出力データに対してメモリ部入出力データの並べ替えができることを特徴とする請求項９記載の情報処理装置。
【請求項１２】
前記メモリ部空間内データアクセスにおけるミスアライメントへの対応を行うことを特徴とする請求項９乃至１１のいずれか１項記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばメモリ装置、メモリ制御方法並びに情報処理装置に係り、特にデータ幅に対してアライメントの合わないアドレスのデータをアクセスするメモリ装置、メモリ制御方法並びに情報処理装置に関する。
【背景技術】
【０００２】
従来、必要データ幅に対してアライメントの合わないアドレスのデータをアクセスする（ワード境界をまたぐミスアライメント状態にある）場合、２回のアクセスが必要であった。
【０００３】
たとえば、（後述する）図３がこのような場合の一例を示す図である。
【０００４】
同図において、（図示しない）マイクロプロセッサは、まずアドレス「Ｎ＋０」（Ｎは４の倍数）に相当するアドレスを（図示しない）アドレスバスＡ［３１：２］に出力する。（図示しない）バイトイネーブル信号ＢＥ［３：０］は“ＨＬＬＬ”となる。すなわち、たとえば８ビットごとの４つの（図示しない）メモリのうちの１つのメモリがアクセスされる。この１つのメモリからデータを読み込んだ後、（図示しない）マイクロプロセッサはアドレス「Ｎ＋４」に相当するアドレスを「Ｎ＋０」アドレスバスＡ［３１：２］に出力する。次に、マイクロプロセッサはバイトイネーブル信号ＢＥ［３：０］に“ＬＬＬＨ”を出力し、先にアクセスしなかった他の３つのメモリからデータを読み込む。
【０００５】
このようにして、ワード境界をまたぐミスアライメント状態にあるデータのアクセスが行われる。ここでは、アドレス「Ｎ＋３」に対するワードアクセスを例としたが、アドレス「Ｎ＋１」あるいはアドレス「Ｎ＋２」に対するワードアクセス、アドレス「Ｎ＋２」，アドレス「Ｎ＋３」に対する３バイトアクセス、アドレス「Ｎ＋３」に対するハーフワード（２バイト）アクセスの場合でも、上述したアクセスと同様に２回のバスサイクルが必要となる。
【特許文献１】特開平０８−０３０５０５号公報
【特許文献２】特開平０９−０４４３９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このように、ミスアライメント状態のデータをアクセスする場合は、そうでない場合に比べてバスサイクルの回数が増え、アクセス効率が悪かった。
【０００７】
これを回避するためには、ミスアライメント状態のデータのアクセスが生じないようにコンパイラあるいはアセンブラで命令やデータを配置することが考えられる。しかしながら、ミスアライメント状態でのアクセスがないように命令やデータを配置すると、メモリの利用効率が悪くなる。
【０００８】
一方、ミスアライメント状態のアクセスを意識せずに命令やデータを配置すると、上述したようにバスサイクルの回数が増え、システムの性能が低下することになる。
【０００９】
上記特許文献１は、アドレス変換して不連続データを連続にアクセスするという目的をもつものであるが、ビット単位でアドレス変換制御する点やデータの並び替えについては何ら開示も示唆もしていない。
【００１０】
上記特許文献２は、アドレス変換の機能をＣＰＵ及びメモリに依存しているが、回路として実現する技術については何ら開示も示唆もしていない。また上記特許文献２では、データの再配列（並び替え）の必要性につきその第３０項で述べているのみであってかかるデータの並び替えを実現するための具体的な構成については何ら開示も示唆もしていない。さらに同文献ではアドレスを２回出力するタイミングについても従来の技術と同様以上のものは開示も示唆もしていない。
【００１１】
本発明は上記の従来技術の問題を解決するためになされたもので、データ幅に対してアライメントの合わないアドレスがアクセスの対象となった場合でも、１回のアクセスで必要なデータのとりだし・書きこみを可能とするメモリ装置、メモリ制御方法並びに情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
かかる課題を解決するため、請求項１に係るメモリ装置（メモリ回路）は、所定のデータビット幅を持つ複数個のメモリと、個々の該メモリに対しアドレスを与えメモリと同数のアドレス変換部と、個々の該メモリから送出されるデータの並び替えを行うデータ制御部と、外部からのアドレス信号に基づいて、該アドレス変換部に対しアドレスを供給し、該メモリに対しデータのライトリードの制御をし、該データ制御部に対し該メモリから送出されるデータの並び替えの指示を行うアクセス制御部とを具備する。
【００１３】
また、請求項５に係るメモリ制御方法は、所定のデータビット幅を持つ外部信号を受信し、該受信した信号に基づき変換したアドレスを個々のメモリに対して供給し、該メモリの個々に格納されるデータを該受信した信号に基づき並び替え、該変換されたアドレス及び並び替えられたデータを用いてデータ・アクセスすることを特徴とする。
【００１４】
さらに、請求項９に係る情報処理装置は、少なくともＣＰＵと、該ＣＰＵによって制御されるメモリとを有する情報処理装置において、該メモリは、所定のデータビット幅を持つ複数個のメモリ部と、個々の該メモリに対しアドレスを与えメモリと同数のアドレス変換部と、個々の該メモリから送出されるデータの並び替えと入出力の制御を行うデータ制御部と、外部からのアドレス信号に基づいて、該アドレス変換部に対しアドレスを供給し、該メモリに対しデータのライトリードの制御をし、該データ制御部に対し該メモリから送出されるデータの並び替えの指示を行うアクセス制御部とを具備することを特徴とする。
【発明の効果】
【００１５】
データ幅に対してアライメントの合わないアドレスがアクセスの対象となった場合でも、１回のアクセスで必要なデータを取り出し、書きこむことを可能とする。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の最良の実施形態を説明する。  
図１は、本発明の一実施形態に係るメモリ装置の回路構成を示す図である。図２は、このメモリ装置の更に詳細な回路構成を示す図である。なお、両図とも、本願発明の目的の達成のために説明に必要な範囲を模式的に示し、それ以外の箇所の記載及び説明は省略する。  
図１に示すように、本メモリ装置１０は、メモリ１０１、１０２、…１００＋ｎと、該各メモリに対応して設けられるアドレス変換部２０１、２０２、…２００＋ｎと、このアドレス変換部に対して（後述する）所定の規定に基づいて制御指示を与えるアクセス制御部３００と、アクセス制御部からの制御信号に基づき（後述する）所定の規定に沿ってデータ変換を行うデータ変換部４００とを備えて構成される。ｎは整数であり、特に限定はなく、本発明はメモリの個数（ｎ）に制限を受けることなく適用可能である。また、メモリのビット数も限定を受けることはない。
【００１７】
図２は、８ｂｉｔデータ幅のメモリを４個使用したリトル・エンディアン構成の場合のメモリ構成を示すブロック図である。つまり図１においてｎを３とし、メモリのデータ・ビット幅を８とした場合、即ちシステムのデータ・ビット幅を３２とした場合であって、リトル・エンディアン構成の場合を示す。ここで、リトル・エンディアンとは、たとえばデータをメモリ上に格納する際、若しくはプロセッサがレジスタとメモリ間でデータ転送を行う際のワード内のバイト順序についての規約であり、たとえば、３２ビットのデータをメモリ上の４ｎ（ｎは０以上の整数）番地に格納する場合、データの最下位バイトから、４ｎ番地、４ｎ＋１番地、４ｎ＋２番地、４ｎ＋３番地の順に格納する方式をいう。因みに、３２ビットのデータをバイト（８ビット）毎に４分割して、データの最上位バイトから、４ｎ番地、４ｎ＋１番地、４ｎ＋２番地、４ｎ＋３番地の順に格納する方式はビッグエンディアンという。
【００１８】
メモリ１０１、１０２、…１００＋ｎは、特定のデータｂｉｔ幅を持ったメモリである。
【００１９】
各アドレス変換部２０１、２０２、…２００＋ｎは、かかるメモリに対して特定のアドレスを与えるが、特定のアドレスに対しては、アクセス制御部３００から指示を受けてメモリに与えるアドレスを変換する。
【００２０】
アクセス制御部３００は、外部からのアドレス信号とアクセス制御信号とをうけて、アドレス変換部２０１、２０２、…２００＋ｎに対し（後述する）所定の規則に従ったアドレス変換に係るアドレスを指示し、各メモリに１０１、１０２、…１００＋ｎに対しリード・ライトの制御指示を行い、データ変換部４００に対し（後述する）所定の規則に従ったデータ並び替えに係る指示を行う。つまり取り出したデータを並び替えて出力するにあたり、アクセスのパターンを認識して、どういうアドレスに変換するのか、もしくは、読み出したデータをどのようなデータに並び替えるのか、を制御する。
【００２１】
データ制御部４００は、アクセス制御部３００から指示を受けて、メモリ１０１、１０２、…１００＋ｎから送出されるデータの並びの変換（データ並び替え）を行う。
【００２２】
Ａは外部アドレス信号、ｄ［31：0］は外部データ信号（ここでは３２ビットの場合で説明するが、ビット数は３２に制限されるものではない）、ａ３〜ａ０はそれぞれメモリ３（１０１）〜メモリ０（１０４）へ入力されるアドレス、を各々示す。
【００２３】
ｍｄ３［7：0］、ｍｄ２［7：0］、ｍｄ１［7：0］及びｍｄ０［7：0］は、それぞれ、メモリ３（１０１）、メモリ２（１０２）、メモリ１（１０３）及びメモリ０（１０４）へ出力される８ビットのデータを示す。
【００２４】
次に、本発明特有の構成であるアクセス制御部３００のアドレス変換及びデータ変換部４００のデータ並び替え機能・動作について説明する。
【００２５】
図３は、この説明をするためのメモリの状態を示した概念図の一であって、本願特有の構成によるアドレス変換／データ並び替えを行う前のメモリ状態を示す。同図において、ｄはデータ、ｎは８ビット単位でみたときのアドレスを示し、Ｎは外部アドレス信号で与えられる値で４の倍数を示す。また、同図では、Ｎ＋３番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合の様子を示す。また、ｍｄは図２の対応するメモリの出力するデータを示すものであり、たとえばｍｄ３はメモリ３（１０１）が出力するデータを示す。  
同図に示すシチュエーションにおいては、データのミスアライメントがおきているため、従来の情報処理装置によれば、Ｄ［31：0］をアクセスするには、Ｎ番地とＮ＋４番地を１回ずつ、計２回のアクセスが必要である。
【００２６】
これに対し、本願では、図４に示すアドレス変換・データ並び替えの規則に基づき、アドレス変換及びデータ並び替えを回路的に実現する。  
同図に示すように、外部からのアドレス信号ＡがＮ＋０の場合（即ちアライメントがあっている場合）、Ｎ＋１の場合、Ｎ＋２の場合、Ｎ＋３の場合のそれぞれの場合に、メモリに対して出力するアドレスをどの数値とするか、データをどう並び替えるかがテーブル形式で規定されている。本テーブルの内容は、個々のビットに対して演算を加えてメモリに渡すべく回路的に実装される。
【００２７】
同図を用いて、アクセス制御部３００がアドレス変換しデータ変換部４００のデータ並び替えする詳細な機能・動作について説明する。図５は、アドレス変換及びデータ並び替え動作を説明するためのフローチャートである。
【００２８】
まず、入ってきたアドレス信号Ａがアクセス制御部３００及び各アドレス変換部２０１乃至２０４に入信する（ステップ５０１）。
【００２９】
次にアドレス信号Ａを受信したアクセス制御部３００は、アドレス信号Ａを判断して、図４の規則に基づき、アドレス信号Ａにあったアドレス変換及びデータ並び替えの規定を特定する（ステップ５０２）。具体的にはアドレス信号Ａの下２ビットが００の場合には（４で割り切れるから）図４のＮ＋０の類型に、下２ビットが０１の場合には（４で割ると１余るから）図４のＮ＋１の類型に、下２ビットが１０の場合には（４で割ると２余るから）図４のＮ＋２の類型に、下２ビットが１１の場合には（４で割ると３余るから）図４のＮ＋３の類型に、それぞれ該当する、と判断する（ステップ５０２）。たとえば図３の例では、外部からのアドレス信号ＡがＮ＋３番地の場合であるから、同規則によれば、メモリ３（１０１）にはアドレスとして送るａ３を（Ａ＞＞２）＋０とすることとなる。
【００３０】
ここで、「（Ａ＞＞２）＋０」とは、右に２ビット分シフトしたものに０を加える、という意味である。図６はこの様子を説明するためのビット構成図である。同図においいては、外部から入信した３２ビットであるアドレス信号Ａはメモリｍ０〜メモリｍ３にアクセスする際には、全体番地（Ａの３２ビット上の番地）の０バイト目はメモリｍ０（８ビット）の中の０バイト目、全体番地１バイト目はメモリｍ１（８ビット）の中の０バイト目、全体番地２バイト目はメモリｍ２（８ビット）の中の０バイト目、全体番地３バイト目はメモリｍ３（８ビット）の中の０バイト目に対応する。同じように、全体番地４バイト目はメモリｍ０の１バイト目、全体番地５バイト目はメモリｍ１の１バイト目、全体番地６バイト目はメモリｍ２の１バイト目、全体番地７バイト目はメモリｍ３の１バイト目、にそれぞれ対応する。このとき、たとえば全体アドレス６番地はビット表示では「１１０」であるが、これメモリｍ２に関しては１ビット目であり、ビット表示では「１」となる。「１１０」のうちの下２ビットを落としたものが「１」なわけで、このようなロジックは全体番地アドレスの全ビットについて成立することがわかる。つまり、メモリ全体のアドレスを個々のメモリに割り当てるときの個々のメモリ内の（相対的）アドレスは、メモリ全体のアドレスに係るビットを右に２ビットシフトする、換言すれば、右の２ビットをカットする、或いは４で割る、ということで得られる。上記のうち「（Ａ＞＞２）」の部分はこのことを表している。
【００３１】
よって、先の図３のＮ＋３番地に外部信号Ａが該当する場合の、同規則の意味するところの一は、メモリ３（１０１）にはアドレスとして送るａ３を「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットしたままのアドレスに変換した値（つまり図３では、Ｎにアクセスしたときのメモリｍ３のｎ番地）を（変換後）アドレス信号ａ３として（図２に示すように）メモリ３（１０１）にアクセスすべし、ということになる。同様にして、Ｎ＋３番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、メモリ２（１０２）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図３では、Ｎにアクセスしたときのメモリｍ２のｎ＋１番地）を（変換後）アドレスたるａ２としてアクセスすべし、ということになる。メモリ１（１０３）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図３では、Ｎにアクセスしたときのメモリｍ１のｎ＋１番地）を（変換後）アドレスたるａ１としてアクセスすべし、ということになる。メモリ０（１０４）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図３では、Ｎにアクセスしたときのメモリｍ０のｎ＋１番地）を（変換後）アドレスたるａ０としてアクセスすべし、ということになる。なお上記で「１加える」とは個々のメモリ内での（個々のメモリにとって）相対番地を１加えて考える、という意味である。
【００３２】
このようにアドレス変換すると結局、図３の個々のメモリ内で点線で示した箇所をアクセスするような指示をアクセス制御部３００が発し、アクセス制御部３００から指示を受けたアドレス変換部１０１乃至１０４がメモリに与えるアドレスを変換する結果、個々のメモリには図３の個々のメモリ内で点線で示した箇所のデータを１回のアクセスのみで読み出し、或いは当該箇所に１回のアクセスのみでデータを書き込みできることになる。
【００３３】
以上が図５におけるステップ５０２に係る詳細である。  
同図に戻り、次に、このような規則から得られた具体的なアドレス変換に係る指示を、アクセス制御部３００が個々のアドレス変換部１０１乃至１０４に対して発する（ステップ５０３）。具体的にはたとえば、先の図３の例の場合には、アドレス変換部２０２に対しては、外部信号Ａに係るビット列のうち下２ビットを削除したものに１を加えた値を（変換後）アドレスとするように指示が与えられる。一方、アドレス変換部２０１に対しては、外部信号Ａに係るビット列のうち下２ビットを削除した値を（変換後）アドレスとするように指示が与えられる。なお、このような指令を実現する方法としては、本願に係る図面を満たす回路を構成・設計することで既存技術的に実現可能である。また、上記の説明で明らかなように、外部信号Ａに係るビット列のうち下２ビットはどんな場合にも変換後についてはカットされる（使わない）ので、「下２ビットを削除する」という指示をわざわざくださず、単にかかる下２ビットを無視する、用いない、ということで上記は実現（回路化）することができる。この場合には、アクセス制御部３００は、「１加える」アドレスアクセスを要するアドレス変換部にのみ「（アクセスアドレスとして）１加える」指令を発するようにしてもよい（下２ビットを削除した値そのものを使う場合には０を加える指令を特に必要としない）。
【００３４】
次に、個々のメモリ１０１乃至１０４からデータ制御部４００に対してデータが伝送される（ステップ５０４）。ここでは便宜的にステップ５０４としたが、データ制御部４００へのデータ伝送は必ずしもステップ５０３の後になければならないわけではなく、その前にあってもよい。さらに上記ステップ５０２及び５０３、及び（以下に説明する）ステップ５０５及び５０６は、事象順序としてはこの通りであるが、実際には略同時になされ得る。
【００３５】
次に、アクセス制御部３００が、図４の規則に基づき、アドレス信号Ａにあったアドレス変換及びデータ並び替えの規定を特定する（ステップ５０５）。具体的にはアドレス信号Ａの下２ビットが００の場合には（４で割り切れるから）図４のＮ＋０の類型に、下２ビットが０１の場合には（４で割ると１余るから）図４のＮ＋１の類型に、下２ビットが１０の場合には（４で割ると２余るから）図４のＮ＋２の類型に、下２ビットが１１の場合には（４で割ると３余るから）図４のＮ＋３の類型に、それぞれ該当する、と判断する（ステップ５０５）。ステップ５０５はここでは行うこととしているが、上記ステップ５０２で判断しているのと同等の判断なので、同じことをせず、たとえば類型を示す値を（特に図示しない）内部メモリに退避しておいて、ステップ５０５の際に代替的に、退避されていた値を用いてステップ５０６以下に進むのでもよい（以下の説明において同様）。
【００３６】
たとえば図３の例では、外部からのアドレス信号ＡがＮ＋３番地の場合であるから、同規則によれば、３２ビット単位で考えたときの下から０〜７ビットたるｄ［7：0］は「ｍｄ３［7：0］」とすることとなる。
【００３７】
図７はこのデータ並び替えに係る詳細な説明を行うためのビット構成図である。同図に示すように、ここでは、３２ビットの「ＡＢＣＤ」というデータがリトル・エンディアン形式でＮ＋３番地にある、という場合を考える。
【００３８】
このとき、かかるデータはビット列表現としては、８ビット単位だからＡについては「００００１０１０」、Ｂについては「００００１０１１」、Ｃについては「００００１０１１」、Ｄについては「００００１１００」となる。リトル・エンディアン形式でＮ＋３番地にあるから、図７のような並びとなって、このまま上記にした本願発明に係るアドレス変換のみを行っても、そのままでは、データとしては「ＤＡＢＣ」となってしまう。そこで、所定のデータ並び替えの規定から、アクセス制御部３００はデータ制御部４００に対し、データ並び替えの指示を発する（ステップ５０６）。このデータ制御部４００は、たとえば単なるセレクタとして、論理回路の組合せで実現できる。具体的には、１ビット単位のセレクト信号（４入力のうち１つを選択し出力する）回路としてセレクタの組合せにより実現可能である。
【００３９】
上記の例を続けて説明するならば、図４に示す規則より、Ｎ＋３の類型の場合、３２ビット単位で考えたときの下から０〜７ビットたるｄ［7：0］は「ｍｄ３［7：0］」とすることとあるから、メモリ３（１０１）のデータ（図７の例では「Ｄ」）をｄ［7：0］に出す（或いはｄ［7：0］から読みこむ）べし、ということになる。同様にして、Ｎ＋３番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、３２ビット単位で考えたときの下から８〜１５ビットたるｄ［15：8］は「ｍｄ０［7：0］」とすることとあるから、メモリ０（１０４）のデータ（図７の例では「Ｃ」）をｄ［15：8］に出す（或いはｄ［15：8］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から１６〜２３ビットたるｄ［23：16］は「ｍｄ１［7：0］」とすることとあるから、メモリ１（１０３）のデータ（図７の例では「Ｂ」）をｄ［23：16］に出す（或いはｄ［23：16］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から２４〜３１ビットたるｄ［31：24］は「ｍｄ２［7：0］」とすることとあるから、メモリ２（１０２）のデータ（図７の例では「Ａ」）をｄ［31：24］に出す（或いはｄ［31：24］から読みこむ）べし、ということになる。
【００４０】
このようにデータ並び替えを行うと結局、図３に示されるようなリトル・エンディアン形式でＮ＋３番地にある「ＡＢＣＤ」というデータであっても、最終のアウトプット形態たる３２ビットのデータに関し１回で正確に「ＡＢＣＤ」というデータとしてアクセスされることとなるような指示をアクセス制御部３００が発し、アクセス制御部３００から指示を受けたデータ変換部４００がかかる指示に基づいてアクセスする結果、リトル・エンディアン形式等でアライメントの合わないデータであっても１回の動作かつ正しいデータの読み出し、或いは書き込みができることになる。  
以上が図５におけるステップ５０６に係る詳細である。
【００４１】
図８は、このように図３の状態のメモリに対して、上記のようなアクセス制御部３００によりアドレス変換及びデータ変換部４００によりデータ並び替えがされた後のメモリ状態を示す。つまり、アクセス制御部３００が本願特有のアドレス変換及びデータ並び替え規則に基づき変換後アドレスの指定を個々のアドレス変換部１０１乃至１０４に対して行うという本願特有の構成を備える結果、たとえば上記図３の場合のミスアライメント状態にあるデータのアクセスでも、図８に示すように、１回のアクセスのみで所望のデータアクセスが実現できるという本願特有の効果を奏することになる。これによってたとえば高速のデータアクセスを回路として実現することが可能となる。
【００４２】
上述したものは、本願特有の構成に係るアドレス変換並びにデータ並び替えを回路的に実現する態様について主に説明した者であるが、上記の説明によって、本願発明は、そのまま、メモリ制御方法、メモリ構成方法としての発明として捉えることも可能である。
【００４３】
以上説明したように、上記のように構成することにより、アクセス制御部３００とアドレス変換部２０１乃至２０４、データ制御部４００により、図３を図８の様に、ｍ２，ｍ１，ｍ０にアドレス値ｎ＋１をｍ３にはアドレス値ｎを与え、ｄ［31：24］にｍｄ２［7：0］、ｄ［23：16］にｍｄ１［7：0］、ｄ［15：8］にｍｄ０［7：0］、ｄ［7：0］にｍｄ３［7：0］、の様にデータを並び替えるように構成するので、Ｄ［31：0］へのアクセスが１回で可能になる。Ｎ＋３番地を先頭に３２ｂｉｔデータが連続して存在していた場合でも、アドレスをＮ＋３＋４、Ｎ＋３＋４＊２、．．．．と指定していくことでＤＭＡ等での連続した領域のアクセスも可能となる。したがってアクセスが高速になるという効果がある。
【００４４】
換言すれば、本願発明によれば、データアクセスの自由度が増すという効果も奏される。この点で、たとえば上記した特許文献２によれば、たとえばその図１においてメモリ２ａ〜２ｄからＤ［31：0］バスに至るデータの並び替えはＣＰＵで行っており、その図２において最初の２クロック分（つまり、Ａ［31：2］の（４ｎ＋０）の間、ＢＥ［3：0］の「ＨＨＬＬ」の間、ＭＡＬ［3：0］の「ＬＬＨＨ」の間）についてのアドレス集中力はＣＰＵが行っており、さらにその図３において各メモリ１２ａ乃至１２ｄ内の「ＮＥＸＴ」で示されるように次アドレスデータを出力する機能をメモリチップ内に持たせているのに対し、本願に係る発明ではアドレス変換及びデータ並び替えの機能を回路的に実現する方法を具体的に（図４のテーブル及びこれに則った回路接続で）実現する。
【００４５】
なお、上記では図４でアドレス信号ＡがＮ＋３の類型である場合を詳細に説明したが、次項で本願の異なる実施形態について説明する前に、念のために、図４での上記の説明とは異なるアドレス信号Ａの類型の場合について説明する。なお、その説明にあたっては、図５のフローの動きは同様であるから、このような同様の箇所について一部の記載は省略する。
【００４６】
（ａ）アドレス信号ＡがＮ＋２の類型である場合
図９は、Ｎ＋２番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。  
まず、アドレス変換について説明する。  
アドレス信号Ａを受信したアクセス制御部３００は、アドレス信号Ａの下２ビットが１０であるから（４で割ると２余るから）図４のＮ＋２の類型に該当する、と判断する（ステップ５０２）。たとえば図９の例では、外部からのアドレス信号ＡがＮ＋２番地の場合であるから、同規則によれば、メモリ３（１０１）にはアドレスとして送るａ３を「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットしたままのアドレスに変換した値（つまり図９では、Ｎにアクセスしたときのメモリｍ３のｎ番地）を（変換後）アドレス信号ａ３として（図２に示すように）メモリ３（１０１）にアクセスすべし、ということになる。同様にして、Ｎ＋２番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、メモリ２（１０２）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図９では、Ｎにアクセスしたときのメモリｍ２のｎ番地）を（変換後）アドレスたるａ２としてアクセスすべし、ということになる。メモリ１（１０３）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図９では、Ｎにアクセスしたときのメモリｍ１のｎ＋１番地）を（変換後）アドレスたるａ１としてアクセスすべし、ということになる。メモリ０（１０４）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図９では、Ｎにアクセスしたときのメモリｍ０のｎ＋１番地）を（変換後）アドレスたるａ０としてアクセスすべし、ということになる。
【００４７】
次にデータの並び替えについて説明する。  
アクセス制御部３００が、図４の規則に基づき、アドレス信号Ａの下２ビットが１０であるから（４で割ると２余るから）図４のＮ＋２の類型に該当する、と判断する（ステップ５０５）。たとえば図９の例では、外部からのアドレス信号ＡがＮ＋２番地の場合であるから、同規則によれば、３２ビット単位で考えたときの下から０〜７ビットたるｄ［7：0］は「ｍｄ２［7：0］」とすることとあるから、メモリ２（１０２）のデータをｄ［7：0］に出す（或いはｄ［7：0］から読みこむ）べし、ということになる。同様にして、Ｎ＋２番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、３２ビット単位で考えたときの下から８〜１５ビットたるｄ［15：8］は「ｍｄ３［7：0］」とすることとあるから、メモリ３（１０１）のデータをｄ［15：8］に出す（或いはｄ［15：8］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から１６〜２３ビットたるｄ［23：16］は「ｍｄ０［7：0］」とすることとあるから、メモリ０（１０４）のデータをｄ［23：16］に出す（或いはｄ［23：16］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から２４〜３１ビットたるｄ［31：24］は「ｍｄ１［7：0］」とすることとあるから、メモリ１（１０３）のデータをｄ［31：24］に出す（或いはｄ［31：24］から読みこむ）べし、ということになる。  
上記のようなアドレス変換及びデータ並び替えを、セレクタ等を用いた回路の論理接続を構成・設計することでハードウェアとして実現することが可能である。
【００４８】
（ｂ）アドレス信号ＡがＮ＋１の類型である場合
図１０は、Ｎ＋１番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。  
まず、アドレス変換について説明する。  
アドレス信号Ａを受信したアクセス制御部３００は、アドレス信号Ａの下２ビットが０１であるから（４で割ると１余るから）図４のＮ＋１の類型に該当する、と判断する（ステップ５０２）。たとえば図１０の例では、外部からのアドレス信号ＡがＮ＋１番地の場合であるから、同規則によれば、メモリ３（１０１）にはアドレスとして送るａ３を「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットしたままのアドレスに変換した値（つまり図１０では、Ｎにアクセスしたときのメモリｍ３のｎ番地）を（変換後）アドレス信号ａ３として（図２に示すように）メモリ３（１０１）にアクセスすべし、ということになる。同様にして、Ｎ＋１番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、メモリ２（１０２）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図１０では、Ｎにアクセスしたときのメモリｍ２のｎ番地）を（変換後）アドレスたるａ２としてアクセスすべし、ということになる。メモリ１（１０３）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図１０では、Ｎにアクセスしたときのメモリｍ１のｎ番地）を（変換後）アドレスたるａ１としてアクセスすべし、ということになる。メモリ０（１０４）にアクセスする際には、「（Ａ＞＞２）＋１」とすることとあるから、全体番地ビットの下２ビットをカットした値に１加えた値（つまり図１０では、Ｎにアクセスしたときのメモリｍ０のｎ＋１番地）を（変換後）アドレスたるａ０としてアクセスすべし、ということになる。
【００４９】
次にデータの並び替えについて説明する。  
アクセス制御部３００が、図４の規則に基づき、アドレス信号Ａの下２ビットが０１であるから（４で割ると１余るから）図４のＮ＋１の類型に該当する、と判断する（ステップ５０５）。たとえば図１０の例では、外部からのアドレス信号ＡがＮ＋１番地の場合であるから、同規則によれば、３２ビット単位で考えたときの下から０〜７ビットたるｄ［7：0］は「ｍｄ１［7：0］」とすることとあるから、メモリ１（１０３）のデータをｄ［7：0］に出す（或いはｄ［7：0］から読みこむ）べし、ということになる。同様にして、Ｎ＋１番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、３２ビット単位で考えたときの下から８〜１５ビットたるｄ［15：8］は「ｍｄ２［7：0］」とすることとあるから、メモリ２（１０２）のデータをｄ［15：8］に出す（或いはｄ［15：8］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から１６〜２３ビットたるｄ［23：16］は「ｍｄ３［7：0］」とすることとあるから、メモリ３（１０１）のデータをｄ［23：16］に出す（或いはｄ［23：16］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から２４〜３１ビットたるｄ［31：24］は「ｍｄ０［7：0］」とすることとあるから、メモリ０（１０４）のデータをｄ［31：24］に出す（或いはｄ［31：24］から読みこむ）べし、ということになる。  
上記のようなアドレス変換及びデータ並び替えを、セレクタ等を用いた回路の論理接続を構成・設計することでハードウェアとして実現することが可能である。
【００５０】
（ｃ）アドレス信号ＡがＮの類型である場合
図１１は、Ｎ番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。この場合にはミスアライメントが起こっていない。  
まず、アドレス変換について説明する。  
アドレス信号Ａを受信したアクセス制御部３００は、アドレス信号Ａの下２ビットが００であるから（４で割ると０余るから）図４のＮ＋０の類型に該当する、と判断する（ステップ５０２）。たとえば図１１の例では、外部からのアドレス信号ＡがＮ＋０番地の場合であるから、同規則によれば、メモリ３（１０１）にはアドレスとして送るａ３を「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットしたままのアドレスに変換した値（つまり図１１では、Ｎにアクセスしたときのメモリｍ３のｎ番地）を（変換後）アドレス信号ａ３として（図２に示すように）メモリ３（１０１）にアクセスすべし、ということになる。同様にして、Ｎ＋０番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、メモリ２（１０２）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図１１では、Ｎにアクセスしたときのメモリｍ２のｎ番地）を（変換後）アドレスたるａ２としてアクセスすべし、ということになる。メモリ１（１０３）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図１１では、Ｎにアクセスしたときのメモリｍ１のｎ番地）を（変換後）アドレスたるａ１としてアクセスすべし、ということになる。メモリ０（１０４）にアクセスする際には、「（Ａ＞＞２）＋０」とすることとあるから、全体番地ビットの下２ビットをカットした値（つまり図１１では、Ｎにアクセスしたときのメモリｍ０のｎ＋１番地）を（変換後）アドレスたるａ０としてアクセスすべし、ということになる。
【００５１】
次にデータの並び替えについて説明する。  
アクセス制御部３００が、図４の規則に基づき、アドレス信号Ａの下２ビットが００であるから（４で割ると０余るから）図４のＮ＋０の類型に該当する、と判断する（ステップ５０５）。たとえば図１１の例では、外部からのアドレス信号ＡがＮ＋０番地の場合であるから、同規則によれば、３２ビット単位で考えたときの下から０〜７ビットたるｄ［7：0］は「ｍｄ０［7：0］」とすることとあるから、メモリ０（１０４）のデータをｄ［7：0］に出す（或いはｄ［7：0］から読みこむ）べし、ということになる。同様にして、Ｎ＋０番地に外部信号Ａが該当する場合の同規則の残りの意味するところは、３２ビット単位で考えたときの下から８〜１５ビットたるｄ［15：8］は「ｍｄ１［7：0］」とすることとあるから、メモリ１（１０３）のデータをｄ［15：8］に出す（或いはｄ［15：8］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から１６〜２３ビットたるｄ［23：16］は「ｍｄ２［7：0］」とすることとあるから、メモリ２（１０２）のデータをｄ［23：16］に出す（或いはｄ［23：16］から読みこむ）べし、ということになる。３２ビット単位で考えたときの下から２４〜３１ビットたるｄ［31：24］は「ｍｄ３［7：0］」とすることとあるから、メモリ３（１０１）のデータをｄ［31：24］に出す（或いはｄ［31：24］から読みこむ）べし、ということになる。
【００５２】
上記のようなアドレス変換及びデータ並び替えを、セレクタ等を用いた回路の論理接続を構成・設計することでハードウェアとして実現することが可能である。
【００５３】
以上説明したように、本願の実施形態によれば、アクセス制御部３００とアドレス変換部２０１乃至２０４、データ制御部４００により、図３を図８の様に、ｍ２，ｍ１，ｍ０にアドレス値ｎ＋１をｍ３にはアドレス値ｎを与え、ｄ［31：24］にｍｄ２［7：0］、ｄ［23：16］にｍｄ１［7：0］、ｄ［15：8］にｍｄ０［7：0］、ｄ［7：0］にｍｄ３［7：0］、の様にデータを並び替えるように構成するので、Ｄ［31：0］へのアクセスが１回で可能になる。Ｎ＋３番地を先頭に３２ｂｉｔデータが連続して存在していた場合でも、アドレスをＮ＋３＋４、Ｎ＋３＋４＊２、．．．．と指定していくことでＤＭＡ等での連続した領域のアクセスも可能となる。したがってアクセスが高速になるという効果がある。
【００５４】
また上記の技術的思想は、リード時及びライト時のいずれに対しても適用可能であるのはいうまでもない。
【００５５】
次に、本願の異なる実施形態について説明する。  
図１２は、本願に係るメモリ構成・制御方法を情報処理装置として実現する場合の構成の一例を示すブロック図である。  
同図に示すように、本情報処理装置２０は、上記で説明した本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）と、全体の制御及びメモリ装置１０へアクセスしデータ読み出し・書きこみを行うＣＰＵ２１と、データのやり取りに用いるデータバス２２と、（ネットワークを経由した）種々の装置との接続のインターフェースであるインターフェース２３とを少なくとも備えて構成される。
【００５６】
動作については、本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）については上記によるものとし、また本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）以外の部分については公知のものと同様であり、本願の本旨とするところを際立たせるために、ここでは記載を省略する。
【００５７】
このように本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）を構成要素として具備する情報処理装置によれば、ＣＰＵとメモリを備え情報処理装置として把握できるもの総てに本願に係る技術思想は適用することができる。つまり、マイコンを搭載している限り、炊飯ジャー、エアコン、冷蔵庫、給湯器等の家電製品、自動車、自転車、電車、航空機、船舶、ロケット等の乗り物等、あらゆる応用製品に本願に係る技術思想は適用することができる。それぞれの適用にあたっては、適用されるべき製品に特有の構成要素（公知）のものを附加するのみでよい。
【００５８】
図１３は、たとえば本願に係るメモリ装置を適用した情報処理装置をプリンタ装置として実現する場合の構成を示すブロック図である。
【００５９】
即ち、同図に示すように、本プリンタ装置２０Ａは、上記で説明した本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）と、全体の制御及びメモリ装置１０へアクセスしデータ読み出し・書きこみを行うＣＰＵ２１と、データのやり取りに用いるデータバス２２と、（ネットワークを経由した）ホスト３０を含む種々の装置との接続のインターフェースであるインターフェース２３と、ＣＰＵ２１との制御に基づきプリンタエンジンを制御するプリンタ制御部２４と、プリンタ制御部２４の制御に基づき印刷を行うためのプリンタエンジン２５とを少なくとも備えて構成される。
【００６０】
動作については、本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）については上記によるものとし、また本願特有の構成を有するメモリ装置１０及びブリッジ回路１１（メモリコントローラ１１０を含む）以外の部分については公知のものと同様であり、本願の本旨とするところを際立たせるために、ここでは記載を省略する。
【００６１】
以上説明したように、本願特有の構成を有するメモリ装置を実装することにより、データ幅に対してアライメントの合わないアドレスがアクセスの対象となった場合でも、１回のアクセスで必要なデータが取り出せ、メモリアクセスの自由度が増す情報処理装置を実現することができる。
【００６２】
このように上記したいずれの実施形態によっても、下記を根拠としてハードウェア的にデータのアクセスの自由度が増すという本願特有の効果が奏される。  
（１）従来、データ幅に対してアライメントの合わないアドレスのデータをアクセスする場合、２回のアクセスが必要であったが、本願では、データ幅に対してアライメントの合わないアドレスがアクセスの対象となった場合でも、１回のアクセスで必要なデータが取り出せる。  
（２）従来、データ幅に対してアライメントの合わないアドレスが転送元のDMA開始番地であった場合、CPUによりメモリの別領域でデータの並びを再編成してから転送を開始するか、先頭及び最終データの転送をCPUで行うか、転送データ幅が小さい設定でDMA転送する、等の対策の必要があったが、本願では、データ幅に対してアライメントの合わないアドレスが転送元DMA開始番地であった場合でも、データの並び替え、CPUによる転送の介在、転送データ幅の変更、等の対策なしでDMA転送が可能になった。  
（３）従来、データ幅に対してアライメントの合わないアドレスが転送先のDMA開始番地であった場合、先頭及び最終データの転送をCPUで行うか、転送データ幅が小さい設定で転送する、等の対策の必要があったが、本願では、データ幅に対してアライメントの合わないアドレスが転送先DMA開始番地であった場合でも、CPUによる転送の介在、転送データ幅の変更、等の対策なしでDMA転送が可能になった。  
（４）従来、データバス幅がメモリより小さいシステムに接続する場合は、アクセスする側でデータバス切り替え等の制御が必要であったが、本願では、データバス幅がメモリより小さいシステムに接続する場合でも、クセスする側でデータバス切り替え等の制御を行わなくても、全領域アクセスができる。
【００６３】
付記的に、上記（４）の点を補足説明する。  
図１４は、データバス幅がメモリより小さいシステムに接続されている場合の機器接続の具体的構成の一例を示すブロック図である。  
同図に示すように、本願特有の構成に係るメモリ装置１０’は、接続線４０（バスでもネットワークでもよい）を介して３２ビットＣＰＵ５０及び８ビットＣＰＵ６０と接続されている。ここで、８ビットＣＰＵとはたとえば、キーボード・コントローラ等に現実用いられているものであり、３２ビットＣＰＵは情報処理装置に広く一般的に用いられているものである。
【００６４】
ここで、本願特有の構成に係るメモリ装置１０’は上記したアドレス変換及びデータ並び替えの前述機能を実現する構成を備えるから、３２ビットＣＰＵ５０に対しても、同時に８ビットＣＰＵ６０に対しても、データの授受が正しく行うことが可能である。しかもこの効果を、ＣＰＵ側で２回のアクセスを行うことなく、また、（２回のアクセスを回避するための）プログラムによる処置なく、ハードウェア的に実現する。
【００６５】
なお、本発明は、上述した各実施形態には限定されず、本発明の技術思想の範囲内で様々な変形が可能である。
【００６６】
たとえば、上記のような構成をとれば、８ビット単位でなくたとえば１ビット単位のデータをある特定の場所から切り出して持ってくるというような場合にも１ビット単位でも本願の技術思想は適用可能である。具体的にはイメージデータの切りだし（ビット数は白黒の１ビットから数ビットまで、限定がない）等にも本願の考えかたを用いることが可能である。ただし、この場合にはリトル・エンディアンはない。つまり、本願は、メモリの中に貯えてあるデータの一部分をたとえば切り出してくるときに、本願に係るアクセス制御部、アドレス変換部、データ変換部を回路的に持たせることで、アライメントの合わないデータのアクセスに関して広く応用することが可能である。
【００６７】
また、たとえば、アドレス変換規則、データの並べ替え規則、個々のメモリのビット幅、アクセス制御信号等は上記したものに限定されることなく本願の技術思想は適用可能であり、たとえば、アドレス変換規則、データの並べ替え規則、個々のメモリのビット幅、アクセス制御信号の機能を追加することにより、様々なシステムに応用が可能である。
【００６８】
たとえばメモリアクセスにおけるビッグ・エンディアン、リトル・エンディアン等のビットの並び替えが可能になる。
【００６９】
また、たとえば外部データ幅がメモリが構成するデータ幅より小さくても、個々のメモリのビット幅単位で全空間のデータアクセスが可能となる。
【００７０】
さらに本願発明は、その技術思想の同一及び等価に及ぶ範囲において様々な変形、追加、置換、拡大、縮小等を許容するものである。また、本願発明を用いて生産される装置、方法、ソフトウェア、システムが、その２次的生産品に登載されて商品化された場合であっても、本願発明の価値は何ら減ずるものではない。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るメモリ装置の回路構成を示す図である。
【図２】本発明の一実施形態に係るメモリ装置の８ｂｉｔデータ幅のメモリを４個使用したリトル・エンディアン構成の場合のメモリ構成を示すブロック図である。
【図３】メモリの状態を示した概念図である。
【図４】本発明の一実施形態に係る本願特有のアドレス変換・データ並び替えの規則を表す概念図である。
【図５】本発明の一実施形態に係るアドレス変換及びデータ並び替え動作を説明するためのフローチャートである。
【図６】本発明の一実施形態に係る右に２ビット分シフトしたものに０を加える様子を説明するためのビット構成図である。
【図７】本発明の一実施形態に係るデータ並び替えに係る詳細な説明を行うためのビット構成図である。
【図８】図３の状態のメモリに対して、本発明の一実施形態に係るアクセス制御部３００によりアドレス変換及びデータ変換部４００によりデータ並び替えがされた後のメモリ状態を示す図である。
【図９】Ｎ＋２番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。
【図１０】Ｎ＋１番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。
【図１１】Ｎ番地の３２ビットのデータをリトル・エンディアン構成でデータ・アクセスする場合のメモリの状態を示す概念図である。
【図１２】本願に係るメモリ構成・制御方法を情報処理装置として実現する場合の構成の一例を示すブロック図である。
【図１３】本願に係るメモリ装置を適用した情報処理装置をプリンタ装置として実現する場合の構成を示すブロック図である。
【図１４】本発明の一実施形態に係るデータバス幅がメモリより小さいシステムに接続されている場合の機器接続の具体的構成の一例を示すブロック図である。
【符号の説明】
【００７２】
１０…メモリ装置、２０…情報処理装置、２１…ＣＰＵ、２２…データバス、２３…インターフェース、２４…プリンタ制御部、２５…プリンタエンジン、３０…ホストコンピュータ、４０…バス（或いはネットワーク）、５０…３２ビットＣＰＵ、６０…８ビットＣＰＵ、１０１，１０２，・・１００＋ｎ…メモリ（部）、２０１，２０２，・・２００＋ｎ…アドレス変換部、３００…アクセス制御部、４００…データ制御部
【図１】
2006018536.tif 000003
【図２】
2006018536.tif 000004
【図３】
2006018536.tif 000005
【図４】
2006018536.tif 000006
【図５】
2006018536.tif 000007
【図６】
2006018536.tif 000008
【図７】
2006018536.tif 000009
【図８】
2006018536.tif 000010
【図９】
2006018536.tif 000011
【図１０】
2006018536.tif 000012
【図１１】
2006018536.tif 000013
【図１２】
2006018536.tif 000014
【図１３】
2006018536.tif 000015
【図１４】
2006018536.tif 000016