(57)【要約】【課題】アドレスマッピングテーブルを修正することなくメモリ容量を変更可能にする。【解決手段】本発明に係るデータアクセスシステム１０は、連続領域である第１面２１及び第２面２２にデータを記憶する記憶装置２と、データが記憶されるアドレスを指定して、第１面２１及び第２面２２のデータにアクセスするアクセス装置１と、第１面２１と前記第２面２２との境界に隣接する位置が第１面２１及び第２面２２のアドレス開始位置となるように、指定されたアドレスを変換して記憶装置２へ出力するアドレス変換装置３と、を備えるものである。【選択図】図１
2014016766.tif 000002
【特許請求の範囲】
【請求項１】
連続領域である第１面及び第２面にデータを記憶する記憶装置と、
前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、
前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換して前記記憶装置へ出力するアドレス変換装置と、
を備えたデータアクセスシステム。
【請求項２】
前記アドレス変換装置は、前記指定されたアドレスが大きくなるに従って前記境界から離れる位置となるように、前記指定されたアドレスを変換する、
請求項１に記載のデータアクセスシステム。
【請求項３】
前記アドレス変換装置は、前記指定されたアドレスの最上位ビットと他のビットとを否定排他的論理和演算し、前記指定されたアドレスを変換する、
請求項１または２に記載のデータアクセスシステム。
【請求項４】
前記アドレス変換装置は、前記指定されたアドレスの最上位ビットを変換後のアドレスの最上位ビットとして出力するとともに、前記指定されたアドレスの他のビットと当該アドレスの最上位ビットとを否定排他的論理和演算して前記変換後のアドレスの他のビットとして出力する、
請求項３に記載のデータアクセスシステム。
【請求項５】
連続領域である第１面及び第２面にデータを記憶する記憶装置と、前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、を備えるデータアクセスシステムにおけるアドレス変換方法であって、
前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換し、
前記変換されたアドレスを前記記憶装置へ出力する、
アドレス変換方法。
【請求項６】
前記指定されたアドレスの変換では、前記指定されたアドレスの最上位ビットと他のビットとを否定排他的論理和演算し、前記指定されたアドレスを変換する、
請求項５に記載のアドレス変換方法。
【請求項７】
前記指定されたアドレスの変換では、前記指定されたアドレスの最上位ビットを変換後のアドレスの最上位ビットとして出力するとともに、前記指定されたアドレスの他のビットと当該アドレスの最上位ビットとを否定排他的論理和演算して前記変換後のアドレスの他のビットとして出力する、
請求項６に記載のアドレス変換方法。
【請求項８】
連続領域である第１面及び第２面にデータを記憶する記憶装置と、前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、を備えるデータアクセスシステムにおけるアドレス変換処理をコンピュータに実行させるためのアドレス変換プログラムであって、
前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換し、
前記変換されたアドレスを前記記憶装置へ出力する、
アドレス変換プログラム。
【請求項９】
前記指定されたアドレスの変換では、前記指定されたアドレスの最上位ビットと他のビットとを否定排他的論理和演算し、前記指定されたアドレスを変換する、
請求項８に記載のアドレス変換プログラム。
【請求項１０】
前記指定されたアドレスの変換では、前記指定されたアドレスの最上位ビットを変換後のアドレスの最上位ビットとして出力するとともに、前記指定されたアドレスの他のビットと当該アドレスの最上位ビットとを否定排他的論理和演算して前記変換後のアドレスの他のビットとして出力する、
請求項９に記載のアドレス変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データアクセスシステム、アドレス変換方法及びアドレス変換プログラムに関し、特に、アクセス装置が記憶装置のデータにアクセスするデータアクセスシステム、アドレス変換方法及びアドレス変換プログラムに関する。
【背景技術】
【０００２】
関連する情報処理装置は、ＣＰＵ（Central Processing Unit）等のペリフェラル（周辺機器）としてデータ格納用のメモリを備えており、１つのメモリの記憶領域を２つの面に分割した冗長構成が採用されている。
【０００３】
図１２は、このような関連する情報処理装置９００の構成を示している。図１２に示すように、関連する情報処理装置９００は、ＣＰＵ９１０とメモリ（Ｎｂｉｔメモリ）９２０とを備えており、メモリ９２０は、ａｃｔ面９２１とｓｔａｎｄｂｙ面９２２を有している。
【０００４】
すなわち、メモリ９２０の記憶領域をａｃｔ面９２１及びｓｔａｎｄｂｙ面９２２としてＣＰＵ９１０が使用するように運用する。ａｃｔ面９２１は通常の運用時にＣＰＵ９１０がアクセスする領域であり、ｓｔａｎｄｂｙ面９２２は故障時等の冗長化のために用意される領域である。
【０００５】
図１２の関連する情報処理装置９００では、ＣＰＵ９１０とメモリ９２０にはそれぞれｎ＋１本のアドレス（アドレス線）｛Ａｎ,Ａｎ−１,・・,Ａ０｝、｛Ｂｎ,Ｂｎ−１,・・,Ｂ０｝が割り当てられている。このアドレス｛Ａｎ,Ａｎ−１,・・,Ａ０｝、｛Ｂｎ,Ｂｎ−１,・・,Ｂ０｝によりＮビットメモリ９２０のデータのアドレスを特定する。ここでＮはメモリのビット数を表し、アドレス（アドレス線）の本数（ビット数）ｎ＋１のみで決定され、２ｎ＋１で与えられるものと定義する。また、図１２では、アドレス｛Ａｎ,Ａｎ−１,・・,Ａ０｝とアドレス｛Ｂｎ,Ｂｎ−１,・・,Ｂ０｝とを一般的なアドレスバスで接続し、ＡｎとＢｎ、Ａｎ−１とＢｎ−１・・・Ａ０とＢ０をそれぞれ接続している。
【０００６】
図１３は、図１２の関連する情報処理装置９００において、ｎ＝３とした場合（アドレスが４ビット、メモリが１６ビットメモリ）のＣＰＵ−メモリ間のアドレス（アドレス空間）の対応関係を示している。先に述べたように、ｓｔａｎｄｂｙ面９２２は、ａｃｔ面９２１の冗長用等に用意されることが多いため、通常、ａｃｔ面９２１／ｓｔａｎｄｂｙ面９２２には、同じ容量のメモリ領域を割り当てる。また、最上位ｂｉｔ（Ａ３、Ｂ３）によりａｃｔ面９２１／ｓｔａｎｄｂｙ面９２２を区別する。
【０００７】
図１３において、符号９１１ａ及び９１２ａは、ＣＰＵ９１０内で割り当てられているアドレス空間（アドレス範囲）であり、ＣＰＵ９１０がメモリ９２０にアクセスするためのアドレス空間である。アドレス空間９１１ａは、ＣＰＵ９１０がａｃｔ面９２１にアクセスするためのアドレス空間である。アドレス空間９１１ａは、アドレス｛０,０,０,０｝〜｛０,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛０,０,０,０｝、アドレス終了位置（終了アドレス）は｛０,１,１,１｝である。また、アドレス空間９１２ａは、ＣＰＵ９１０がｓｔａｎｄｂｙ面９２２にアクセスするためのアドレス空間である。アドレス空間９１２ａは、アドレス｛１,０,０,０｝〜｛１,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛１,０,０,０｝、アドレス終了位置（終了アドレス）は｛１,１,１,１｝である。
【０００８】
図１３において、符号９２１ａ及び９２２ａは、メモリ９２０内で割り当てられているアドレス空間（アドレス範囲）であり、メモリ９２０内において記憶領域にアクセスするためのアドレス空間である。メモリ９２０のアドレス空間９２１ａ及び９２２ａは、ＣＰＵ９１０と同様のアドレス空間であり、各アドレスが同じ順番で１対１に対応している。
【０００９】
すなわち、アドレス空間９２１ａは、メモリ９２０内でａｃｔ面９２１にアクセスするためのアドレス空間である。アドレス空間９２１ａは、アドレス空間９１１ａと同じく、アドレス｛０,０,０,０｝〜｛０,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛０,０,０,０｝、アドレス終了位置（終了アドレス）は｛０,１,１,１｝である。また、アドレス空間９２２ａは、メモリ９２０内でｓｔａｎｄｂｙ面９２２にアクセスするためのアドレス空間である。アドレス空間９２２ａは、アドレス空間９１２ａと同じく、アドレス｛１,０,０,０｝〜｛１,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛１,０,０,０｝、アドレス終了位置（終了アドレス）は｛１,１,１,１｝である。
【００１０】
図１４は、図１３のようなアドレスの対応関係において、ＣＰＵ９１０がメモリ９２０のデータを読み出す様子を示している。ＣＰＵ９１０はアドレス｛１,０,０,０｝のデータを読み出す場合、まず、アドレス｛Ａ３,Ａ２,Ａ１,Ａ０｝に｛１,０,０,０｝を出力する。図１３のようにアドレス｛Ａ３,Ａ２,Ａ１,Ａ０｝とアドレス｛Ｂ３,Ｂ２,Ｂ１,Ｂ０｝は同じアドレスが１対１で対応しているため、メモリ９２０はアドレス｛Ｂ３,Ｂ２,Ｂ１,Ｂ０｝に｛１,０,０,０｝を受け付ける。そうすると、メモリ９２０は、記憶領域のアドレス｛１,０,０,０｝にアクセスし、ここではｓｔａｎｄｂｙ面９２２に格納されているデータ"Ａ"をＣＰＵ９１０に出力する。
【００１１】
なお、関連する情報処理装置においてメモリを増設する方法が特許文献１に記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平８−１６４６３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上記のように関連する情報処理装置９００では、メモリ９２０がａｃｔ面９２１及びｓｔａｎｄｂｙ面９２２を有し、ＣＰＵ９１０のアドレス空間とメモリ９２０のアドレス空間とを対応付けることで、ＣＰＵ９１０がａｃｔ面９２１及びｓｔａｎｄｂｙ面９２２のデータにアクセスしている。
【００１４】
ところで、情報処理装置に内蔵するメモリの容量は、情報処理装置の設計仕様（回路設計含む）によって決定される。このため、設計の要求等によってはメモリ容量を変更する場合がある。例えば、設計完了後、当所想定していたよりも容量が必要無い場合は小容量メモリに変更する可能性がある。
【００１５】
例えば、図１３のように、ａｃｔ面９２１／ｓｔａｎｄｂｙ面９２２それぞれ８ｂｉｔ（合計１６ｂｉｔ）のメモリで設計していたところ、図１５のように、ａｃｔ面９２１／ｓｔａｎｄｂｙ面９２２それぞれ４ｂｉｔ（合計８ｂｉｔ）のメモリで必要十分であったとする。すなわち、図１５では、データの記憶に必要なアドレス空間９２１ａ及び９２２ａが、アドレス｛０,０,０,０｝〜｛０,０,１,１｝、｛１,０,０,０｝〜｛１,０,１,１｝となる。このため、ｎ＝２であればよく、必要なアドレスバスの本数は｛Ｂ２,Ｂ１,Ｂ０｝であり、２面管理に必要なメモリ容量を考えると、１６ｂｉｔメモリは不要であり、８ｂｉｔメモリで十分である。
【００１６】
この場合、メモリ９２０のアドレス｛Ｂ２，Ｂ１，Ｂ０｝はａｃｔ面９２１／ｓｔａｎｄｂｙ面９２２で重複している。このため、図１３のようなＣＰＵ９１０とメモリ９２０のアドレスの対応関係のままでは、図１５のようにａｃｔ面９２１とｓｔａｎｄｂｙ面９２２とが離間し不連続となってしまう。
【００１７】
図１５の状態では、アドレス空間９２１ａとアドレス空間９２２ａとの間に不連続領域があるため、１６ｂｉｔメモリを８ｂｉｔメモリに変更することができない。このため、８ｂｉｔメモリに変更するためには、図１６のようにｓｔａｎｄｂｙ（もしくはａｃｔ）面のアドレス開始位置（アドレス空間）を変更する必要がある。すなわち、メモリ９２０のアドレス空間９２１ａ及び９２２ａが連続するように、アドレス空間９２２ａを移動させる。例えば、アドレス空間９２１ａを｛０,０,０,０｝〜｛０,０,１,１｝とし、アドレス空間９２２ａを、｛０,１,０,０｝〜｛０,１,１,１｝とする。
【００１８】
そして、ＣＰＵ９１０に８ｂｉｔメモリを接続するためには、図１７のように、ＣＰＵ−メモリ間のアドレスバス接続に加え、ＣＰＵ９１０から変更となったメモリ９２０のａｃｔ面／ｓｔａｎｄｂｙ面にアクセスするように、アドレスの対応関係を変更する必要がある。
【００１９】
例えば、ＣＰＵ９１０は、ＣＰＵのアドレス空間とメモリのアドレス空間とを対応付けたアドレスマッピングテーブルを参照し、アドレスマッピングテーブルに基づいてアクセスするデータのアドレスをメモリへ出力している。したがって、ＣＰＵ９１０は、図１３のようなアドレス対応を関連付けるアドレスマッピングテーブルを有しているため、図１７のようにアドレスの対応関係を変更させるためには、ＣＰＵ９１０のアドレスマッピングテーブルを修正する必要がある。特に、近年、メモリ容量が増大しているため、アドレスマッピングテーブルも拡大していることから、アドレスマッピングテーブルを変更することが困難となってきている。また、アドレスマッピングテーブルは、一般的に各種の情報処理装置で共通のテーブルとなっていることから、特定の装置のために変更しようとすると設計コストが増大する。
【００２０】
以上のように、関連する情報処理装置においてメモリが２面管理されて運用される場合に、メモリの容量を変更しようとすると、ＣＰＵのアドレスマッピングテーブルの変更が必要となるため、メモリ容量の変更が困難であるという問題があった。
【００２１】
本発明の目的は、このような問題を解決するデータアクセスシステム、アドレス変換方法及びアドレス変換プログラムを提供することにある。
【課題を解決するための手段】
【００２２】
本発明に係るデータアクセスシステムは、連続領域である第１面及び第２面にデータを記憶する記憶装置と、前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換して前記記憶装置へ出力するアドレス変換装置と、を備えるものである。
【００２３】
本発明に係るアドレス変換方法は、連続領域である第１面及び第２面にデータを記憶する記憶装置と、前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、を備えるデータアクセスシステムにおけるアドレス変換方法であって、前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換し、前記変換されたアドレスを前記記憶装置へ出力するものである。
【００２４】
本発明に係るアドレス変換プログラムは、連続領域である第１面及び第２面にデータを記憶する記憶装置と、前記データが記憶されるアドレスを指定して、前記第１面及び第２面のデータにアクセスするアクセス装置と、を備えるデータアクセスシステムにおけるアドレス変換処理をコンピュータに実行させるためのアドレス変換プログラムであって、前記第１面と前記第２面との境界に隣接する位置が前記第１面及び第２面のアドレス開始位置となるように、前記指定されたアドレスを変換し、前記変換されたアドレスを前記記憶装置へ出力するものである。
【発明の効果】
【００２５】
本発明によれば、アドレスマッピングテーブルを修正することなく、メモリ容量を変更することが可能なデータアクセスシステム、アドレス変換方法及びアドレス変換プログラムを提供することにある。
【図面の簡単な説明】
【００２６】
【図１】本発明に係るデータアクセスシステムの主要な特徴を説明するための構成図である。
【図２Ａ】本発明に係るデータアクセスシステムのアドレス変換方法を説明するための説明図である。
【図２Ｂ】本発明に係るデータアクセスシステムのアドレス変換方法を説明するための説明図である。
【図３】実施の形態１に係る情報処理装置の構成を示す構成図である。
【図４】実施の形態１に係るアドレス変換部で使用する否定排他的論理和の真理値表である。
【図５】実施の形態２に係る情報処理装置の構成を示す構成図である。
【図６】実施の形態２に係るアドレス変換方法を説明するための説明図である。
【図７】実施の形態２に係るアドレス変換方法を説明するための説明図である。
【図８】実施の形態２に係る情報処理装置の構成を示す構成図である。
【図９】実施の形態２に係るアドレス変換方法を説明するための説明図である。
【図１０】実施の形態２に係る情報処理装置の構成を示す構成図である。
【図１１】実施の形態２に係るアドレス変換方法を説明するための説明図である。
【図１２】関連する情報処理装置の構成を示す構成図である。
【図１３】関連する情報処理装置のアクセス方法を説明するための説明図である。
【図１４】関連する情報処理装置のアクセス方法を説明するための説明図である。
【図１５】関連する情報処理装置のアクセス方法を説明するための説明図である。
【図１６】関連する情報処理装置のアクセス方法を説明するための説明図である。
【図１７】関連する情報処理装置のアクセス方法を説明するための説明図である。
【発明を実施するための形態】
【００２７】
（本発明の特徴）
本発明の実施の形態の説明に先立って、本発明の特徴についてその概要を説明する。図１は、本発明に係るデータアクセスシステムの主要な構成を示している。図２Ａ及び図２Ｂは、本発明に係るデータアクセスシステムのアドレス変換方法を示している。
【００２８】
図１に示すように、本発明に係るデータアクセスシステム（情報処理装置に相当）１０は、アクセス装置（ＣＰＵに相当）１、記憶装置（メモリに相当）２、アドレス変換装置３を備えている。記憶装置２は、連続領域である第１面２１及び第２面２２にデータを記憶する。アクセス装置１は、データが記憶されるアドレスを指定して、第１面２１及び第２面２２のデータにアクセスする。
【００２９】
また、本発明では、アドレス変換装置３は、第１面２１と第２面２２との境界に隣接する位置が第１面２１及び第２面２２のアドレス開始位置となるように、指定されたアドレスを変換して記憶装置２へ出力することを主要な特徴としている。
【００３０】
図２Ａ及び図２Ｂは、アドレス変換装置３におけるアドレス変換方法の一例を示している。すなわち、図２Ａ及び図２Ｂのように、アクセス装置１では、記憶装置２の第１面２１にアクセスするためのアドレス空間１１ａと記憶装置２の第２面２２にアクセスするためのアドレス空間１２ａとが連続して割り当てられており、記憶装置２では、記憶装置２内で第１面２１にアクセスするためのアドレス空間２１ａと記憶装置２内で第２面２２にアクセスするためのアドレス空間２２ａとが連続して割り当てられている。
【００３１】
図２Ａの例では、アドレス変換装置３は、アクセス装置１のアドレス空間１１ａのアドレス最小値を、記憶装置２のアドレス空間２１ａのアドレス最大値に変換し、また、アクセス装置１のアドレス空間１２ａのアドレス最小値を、記憶装置２のアドレス空間２２ａのアドレス最小値に変換することで、記憶装置２において、第１面２１と第２面２２との境界に隣接する位置を第１面２１と第２面２２のアドレス開始位置とする。また、図２Ａでは、アドレス変換装置３は、アクセス装置１のアドレス空間１１ａのアドレス最大値を、記憶装置２のアドレス空間２１ａのアドレス最小値に変換し、アクセス装置１のアドレス空間１２ａのアドレス最大値を、記憶装置２のアドレス空間２２ａのアドレス最大値に変換する。
【００３２】
また、図２Ｂの例では、アドレス変換装置３は、アクセス装置１のアドレス空間１１ａのアドレス最小値を、記憶装置２のアドレス空間２２ａのアドレス最小値に変換し、また、アクセス装置１のアドレス空間１２ａのアドレス最小値を、記憶装置２のアドレス空間２１ａのアドレス最大値に変換することで、記憶装置２において、第１面２１と第２面２２との境界に隣接する位置を第１面２１と第２面２２のアドレス開始位置とする。また、図２Ｂでは、アドレス変換装置３は、アクセス装置１のアドレス空間１１ａのアドレス最大値を、記憶装置２のアドレス空間２２ａのアドレス最大値に変換し、アクセス装置１のアドレス空間１２ａのアドレス最大値を、記憶装置２のアドレス空間２１ａのアドレス最小値に変換する。
【００３３】
このように、本発明では、記憶装置が第１面と第２面とを有する構成において、アクセス装置が指定する記憶装置のアドレスを変換するアドレス変換装置を備えることとした。そして、このアドレス変換装置では、第１面と第２面との境界に隣接する位置が第１面及び第２面のアドレス開始位置となるようにアドレスを変換する。これにより、記憶装置の第１面と第２面とが隣接し、連続した記憶領域とすることができる。そうすると、記憶装置の容量を小さく変更するような場合でも、アクセス装置と記憶装置とでアドレスの対応関係を変更する必要がない。したがって、アドレスマッピングテーブルを修正することなく、容易にメモリ容量を変更することができる。
【００３４】
（実施の形態１）
以下、図面を参照して本発明の実施の形態１について説明する。図３は、本実施の形態に係る情報処理装置１００の主要な構成を示している。図３に示すように、情報処理装置１００は、ＣＰＵ１１０とメモリ（Ｎｂｉｔメモリ）１２０とを備え、ＣＰＵ１１０とメモリ１２０との間にアドレス変換部１３０を備えている。
【００３５】
メモリ１２０は、フラッシュメモリ等の記憶装置であり、ａｃｔ面１２１とｓｔａｎｄｂｙ面１２２を有している。ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２は、それぞれデータを記憶する記憶領域であり、連続した記憶領域である。ａｃｔ面１２１は通常の運用時にアクセスする領域（運用領域）であり、ｓｔａｎｄｂｙ面１２２は故障時等の冗長化のために用意される領域（冗長領域）である。なお、２つの面のいずれをａｃｔ面／ｓｔａｎｄｂｙ面としてもよく、ａｃｔ面／ｓｔａｎｄｂｙ面を切り替えて運用することも可能である。例えば、メモリ１２０のデータを書き換える場合、まずｓｔａｎｄｂｙ面１２２にデータを書き込み、書き込んだ面をａｃｔ面に切り替えて運用する。これにより、ａｃｔ面１２１に直接データを書き込んだ場合と比べ、運用断となる時間を大幅に短縮することができる。
【００３６】
ＣＰＵ１１０は、プログラムを実行し、プログラムにしたがってデータ処理等を行う中央処理装置である。ＣＰＵ１１０は、データ処理のためにメモリ１２０へデータの読み出し／書き込みアクセスを行う。ＣＰＵ１１０は、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２のデータにアクセスするため、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２のアドレスを出力する。本実施の形態では、アドレス変換部１３０がアドレス変換を行うため、メモリ１２０の容量が変更となっても、ＣＰＵ１００はメモリ１２０へ同じアドレスでアクセスすることができる。
【００３７】
アドレス変換部１３０は、ＣＰＵ１１０とメモリ１２０間のアドレスバスに挿入されており、ＣＰＵ１１０から出力されたアドレスを変換してメモリ１２０へ出力する。ＣＰＵ１１０にはアドレス（アドレス線）｛Ａｎ,Ａｎ−１,・・,Ａ０｝が割り当てられ、メモリ１２０にはアドレス｛Ｂｎ,Ｂｎ−１,・・,Ｂ０｝が割り当てられており、アドレス変換部１３０は、アドレス｛Ａｎ,Ａｎ−１,・・,Ａ０｝をアドレス｛Ｂｎ,Ｂｎ−１,・・,Ｂ０｝に変換する。
【００３８】
アドレス変換部１３０は、ａｃｔ面１２１のアドレス開始位置を変更することで、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２が離間することを防止する。アドレス変換部１３０は、次の（式１）の演算を実現することで、ａｃｔ面１２１のアドレス開始位置を変更する。
【数１】
2014016766.tif 000003
【００３９】
すなわち、アドレス｛Ａｎ−１,・・,Ａ０｝とアドレスＡｎとの否定排他的論理和の演算結果をアドレス｛Ｂｎ−１,・・,Ｂ０｝として出力し、また、アドレスＡｎをアドレスＢｎとして出力する。具体的には、図３に示すように、アドレス変換部１３０は、ｎ個のＥＸＮＯＲ回路（否定排他的論理和回路）１３１を有している。それぞれのＥＸＮＯＲ回路１３１は、アドレス｛Ａｎ−１,・・,Ａ０｝が一方の入力端子に接続され、アドレスＡｎが他方の入力端子に接続され、出力端子がアドレス｛Ａｎ−１,・・,Ａ０｝に対応したアドレス｛Ｂｎ−１,・・,Ｂ０｝に接続されている。また、アドレスＡｎはアドレスＢｎに接続されている。例えば、アドレスＡｎとアドレスＢｎの接続部が最上位ビットを変換する最上位ビット変換部を構成し、ＥＸＮＯＲ回路１３１が他のビットを否定排他的論理和演算して変換する他のビット変換部を構成するともいえる。
【００４０】
図４は、アドレス変換部１３０で使用する否定排他的論理和の真理値表である。否定排他的論理和では、入力Ａ（一方の入力）及び入力Ｂ（他方の入力）が同じ値（「００」もしくは「１１」）の場合に「１」を出力し、入力Ａ及び入力Ｂが異なる値（「０１」もしくは「１０」）の場合に「０」を出力する。また、否定排他的論理和では、一方の入力が「１」であれば他方の入力の値（正転値）が出力され、一方の入力が「０」であれば他方の入力の反転値が出力されるともいえる。
【００４１】
このため、アドレス変換部１３０では、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２を区別するアドレスＡｎ（最上位ビット）によって、アドレス｛Ａｎ−１,・・,Ａ０｝の正転／反転が切り替わる。これにより、メモリ１２０におけるａｃｔ面１２１のアドレス開始位置を反対側（ｓｔａｎｄｂｙ面１２２側）に移動させ、ｓｔａｎｄｂｙ面１２２のアドレス開始位置はそのままとすることで、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２を連続した領域とする。
【００４２】
このように、本実施の形態では、メモリがａｃｔ面とｓｔａｎｄｂｙ面とを有する構成において、ＣＰＵが指定するメモリのアドレスを変換するアドレス変換部を備えることとした。そして、このアドレス変換部では、否定排他的論理和回路を使用することでａｃｔ面のアドレス開始位置をｓｔａｎｄｂｙ側へ変更する。これにより、メモリのａｃｔ面とｓｔａｎｄｂｙ面とが隣接し、連続した記憶領域とすることができる。したがって、アドレスマッピングテーブルを修正することなく、容易にメモリ容量を変更することが可能である。
【００４３】
すなわち、本実施の形態の第１の効果として、回路あるいは装置システム設計時に、予めメモリ容量変更が想定される場合においては、簡単なアドレス変換部を実装することで、当該変更が発生した場合、ＣＰＵ−メモリ間のアドレスバス及びＣＰＵのアドレスマッピングテーブルの変更を必要とせず、メモリ容量の変更が実現可能となる。
【００４４】
また、本実施の形態の第２の効果として、第１の効果に記載した効果が、簡単なアドレス変換部のみで実現可能であるため、関連する方法より格段、容易に実現可能である。さらに、本実施の形態の第３の効果として、回路あるいは装置システム設計時には想定し得ないような、想定外のメモリ容量の変更が発生する可能性がある場合においても、柔軟な対応が可能となる。
【００４５】
（実施の形態２）
以下、図面を参照して本発明の実施の形態２について説明する。本実施の形態では、実施の形態１の構成においてｎ＝３とした場合（アドレスが４ビット、メモリが１６ビットメモリ）の具体例について説明する。
【００４６】
図５は、本実施の形態に係る情報処理装置１００の主要な構成を示している。図３と同様に、図５の情報処理装置１００は、ＣＰＵ１１０と、ａｃｔ面１２１及びｓｔａｎｄｂｙ面１２２を有するメモリ（１６ｂｉｔメモリ）１２０とを備え、ＣＰＵ１１０とメモリ１２０との間にアドレス変換部１３０を備えている。
【００４７】
ＣＰＵ１１０はアドレス（アドレス線）｛Ａ３,Ａ２,Ａ１,Ａ０｝が割り当てられ、メモリ１２０はアドレス｛Ｂ３,Ｂ２,Ｂ１,Ｂ０｝が割り当てられている。アドレス変換部１３０は、ＥＸＮＯＲ回路１３１ａ〜１３１ｃを有している。ＥＸＮＯＲ回路１３１ａは、アドレスＡ０が一方の入力端子に接続され、アドレスＡ３が他方の入力端子に接続され、出力端子がＢ０に接続されている。同様に、ＥＸＮＯＲ回路１３１ｂは、アドレスＡ１が一方の入力端子に接続され、アドレスＡ３が他方の入力端子に接続され、出力端子がＢ１に接続されている。同様に、ＥＸＮＯＲ回路１３１ｃは、アドレスＡ２が一方の入力端子に接続され、アドレスＡ３が他方の入力端子に接続され、出力端子がＢ２に接続されている。また、アドレスＡ３はアドレスＢ３に接続されている。
【００４８】
図６は、図５の情報処理装置１００におけるアドレス変換方法を示している。図６では、図１０と同様に、ＣＰＵ１１０とメモリ１２０とにアドレスが割り当てられアドレス空間が構成される。アドレス空間１１１ａは、ＣＰＵ１１０がａｃｔ面１２１にアクセスするためのアドレス空間である。アドレス空間１１１ａは、アドレス｛０,０,０,０｝〜｛０,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛０,０,０,０｝、アドレス終了位置（終了アドレス）は｛０,１,１,１｝である。また、アドレス空間１１２ａは、ＣＰＵ１１０がｓｔａｎｄｂｙ面１２２にアクセスするためのアドレス空間である。アドレス空間１１２ａは、アドレス｛１,０,０,０｝〜｛１,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛１,０,０,０｝、アドレス終了位置（終了アドレス）は｛１,１,１,１｝である。
【００４９】
アドレス空間１２１ａは、メモリ１２０内でａｃｔ面１２１にアクセスするためのアドレス空間である。アドレス空間１２１ａは、アドレス｛０,０,０,０｝〜｛０,１,１,１｝の範囲である。本実施の形態では、アドレス変換部１３０のアドレス変換により、アドレス開始位置（開始アドレス）は｛０,１,１,１｝、アドレス終了位置（終了アドレス）は｛０,０,０,０｝となる。また、アドレス空間１２２ａは、メモリ１２０内でｓｔａｎｄｂｙ面１２２にアクセスするためのアドレス空間である。アドレス空間１２２ａは、アドレス｛１,０,０,０｝〜｛１,１,１,１｝の範囲であり、アドレス開始位置（開始アドレス）は｛１,０,０,０｝、アドレス終了位置（終了アドレス）は｛１,１,１,１｝である。
【００５０】
アドレス変換部１３０は、ＥＸＮＯＲ１３１ａ〜ＥＸＮＯＲ１３１ｃにより、アドレスＡ３に基づいて、アドレス｛Ａ２，Ａ１，Ａ０｝を正転／反転変換する。アドレスＡ３＝０の場合、アドレス｛Ａ２，Ａ１，Ａ０｝を反転し、アドレスＡ３＝１の場合、アドレス｛Ａ２，Ａ１，Ａ０｝を正転（そのまま出力）する。これにより、メモリ１２０において、ａｃｔ面１２１のアドレス開始位置が｛０，１，１，１｝となり、ｓｔａｎｄｂｙ面１２２のアドレス開始位置が｛１，０，０，０｝となる。
【００５１】
例えば、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，０，０｝は、｛Ａ２，Ａ１，Ａ０｝を反転して、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛０，１，１，１｝となる。同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，０，１｝は、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛０，１，１，０｝、・・・、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，１，１，１｝は、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛０，０，０，０｝となる。
【００５２】
また、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，０，０｝は、｛Ａ２，Ａ１，Ａ０｝を正転（そのまま出力）して、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛１，０，０，０｝となる。同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，０，１｝は、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛１，０，０，１｝、・・・、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，１，１，１｝は、アドレス｛Ｂ３，Ｂ２，Ｂ１，Ｂ０｝＝｛１，１，１，１｝となる。
【００５３】
図７は、図６のアドレス変換において、メモリの使用容量をａｃｔ面／ｓｔａｎｄｂｙ面それぞれ８ｂｉｔ（合計１６ｂｉｔ）から、ａｃｔ面／ｓｔａｎｄｂｙ面それぞれ４ｂｉｔ（合計８ｂｉｔ）に変更する例である。本実施の形態では、図６で説明したようにアドレス変換部１３０がアドレス変換することより、アドレス空間１２１ａ及び１２２ａが、アドレス｛０,１,０,０｝〜｛０,１,１,１｝、｛１,０,０,０｝〜｛１,０,１,１｝となる。すなわち、メモリ容量を小さくする場合に、図１２ではａｃｔ面とｓｔａｎｄｂｙ面とが離間していたが、本実施の形態の図７ではａｃｔ面とｓｔａｎｄｂｙ面とは離間せず連続した領域となる。
【００５４】
図８は、図５の情報処理装置１００において接続するメモリ１２０の容量を変更した場合の接続例である。図９は、図８の構成におけるアドレス変換例を示している。
【００５５】
図８に示すように、８ビットのメモリ１２０のアドレスにアドレス変換部１３０のＥＸＮＯＲ回路を接続する。ＥＸＮＯＲ１３１ａの出力端子をアドレスＢ０に接続し、ＥＸＮＯＲ１３１ｂの出力端子をアドレスＢ１に接続し、ＥＸＮＯＲ１３１ｃの出力端子をアドレスＢ２に接続する。そうすると、図９に示すように、アドレス変換部１３０のアドレス変換により、８ビットのメモリ１２０にアクセス可能となる。ここで、メモリのアドレスは｛０,０,０｝から｛１,１,１｝の範囲で重複しないため図８及び９のようにＣＰＵ−メモリ間アドレスバス接続を変更すること無く、８ｂｉｔメモリへの置き換えが可能である。
【００５６】
図９では、アドレス空間１２１ａは、アドレス｛１,０,０｝〜｛１,１,１｝の範囲で、アドレス開始位置が｛１，１，１｝となり、アドレス空間１２２ａは、アドレス｛０,０,０｝〜｛０,１,１｝の範囲で、アドレス開始位置が｛０，０，０｝となる。
【００５７】
すなわち、図９のメモリ１２０では、図７におけるアドレス空間１２１ａとアドレス空間１２２ａと入れ替えた状態となる。例えば、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，０，０｝は、｛Ａ２，Ａ１，Ａ０｝を反転して、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛１，１，１｝となり、同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，１，１｝は、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛１，０，０｝となる。また、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，０，０｝は、｛Ａ２，Ａ１，Ａ０｝を正転（そのまま出力）して、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛０，０，０｝となり、同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，１，１｝は、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛０，１，１｝となる。
【００５８】
図１０は、図５の情報処理装置１００において接続するメモリ１２０の容量を変更した場合の他の接続例である。図１１は、図１０の構成におけるアドレス変換例を示している。
【００５９】
図１０に示すように、８ビットのメモリ１２０のアドレスにアドレス変換部１３０のＥＸＮＯＲ回路を接続する。ＥＸＮＯＲ１３１ａの出力端子をアドレスＢ０に接続し、ＥＸＮＯＲ１３１ｂの出力端子をアドレスＢ１に接続し、アドレスＡ３をアドレスＢ２に接続する。そうすると、図１１に示すように、アドレス変換部１３０のアドレス変換により、８ビットのメモリ１２０にアクセス可能となる。この場合、８ビットメモリに変更しても、図７のような１６ビットメモリと同じアドレスの対応関係となる。
【００６０】
図１１では、アドレス空間１２１ａは、アドレス｛０,０,０｝〜｛０,１,１｝の範囲で、アドレス開始位置が｛０，１，１｝となり、アドレス空間１２２ａは、アドレス｛１,０,０｝〜｛１,１,１｝の範囲で、アドレス開始位置が｛１，０，０｝となる。
【００６１】
すなわち、図１１のメモリ１２０では、図７におけるアドレス空間１２１ａ及びアドレス空間１２２ａと同様のアドレス空間となる。例えば、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，０，０｝は、｛Ａ１，Ａ０｝を反転して、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛０，１，１｝となり、同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛０，０，１，１｝は、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛０，０，０｝となる。また、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，０，０｝は、｛Ａ１，Ａ０｝を正転（そのまま出力）して、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛１，０，０｝となり、同様に、アドレス｛Ａ３，Ａ２，Ａ１，Ａ０｝＝｛１，０，１，１｝は、アドレス｛Ｂ２，Ｂ１，Ｂ０｝＝｛１，１，１｝となる。
【００６２】
以上のように、実施の形態１の構成でｎ＝３とした具体例でも、同様に、アドレス変換部を備えることにより、アドレスマッピングテーブルを修正することなく、容易にメモリ容量を変更することが可能である。
【００６３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【００６４】
例えば、アドレス変換部（アドレス変換装置）は上記のようなＥＸＮＯＲ回路に限らず、その他のハードウェア又はソフトウェア、もしくはその両方によって構成されてもよい。また、アドレス変換部のアドレス変換方法をコンピュータにより実現してもよい。例えば、上記のアドレス変換方法を行うためのアドレス変換プログラムをコンピュータのＣＰＵで実行することにより実現してもよい。
【符号の説明】
【００６５】
１      アクセス装置
２      記憶装置
３      アドレス変換装置
１０    データアクセスシステム
１１ａ、１２ａ  アドレス空間
２１    第１面
２１ａ  アドレス空間
２２    第２面
２２ａ  アドレス空間
１００  情報処理装置
１１１ａ、１１２ａ  アドレス空間
１２０  メモリ
１２１  ａｃｔ面
１２１ａ  アドレス空間
１２２  ｓｔａｎｄｂｙ面
１２２ａ  アドレス空間
１３０  アドレス変換部
１３１、１３１ａ〜１３１ｃ  ＥＸＮＯＲ回路
【図１】
2014016766.tif 000004
【図２Ａ】
2014016766.tif 000005
【図２Ｂ】
2014016766.tif 000006
【図３】
2014016766.tif 000007
【図４】
2014016766.tif 000008
【図５】
2014016766.tif 000009
【図６】
2014016766.tif 000010
【図７】
2014016766.tif 000011
【図８】
2014016766.tif 000012
【図９】
2014016766.tif 000013
【図１０】
2014016766.tif 000014
【図１１】
2014016766.tif 000015
【図１２】
2014016766.tif 000016
【図１３】
2014016766.tif 000017
【図１４】
2014016766.tif 000018
【図１５】
2014016766.tif 000019
【図１６】
2014016766.tif 000020
【図１７】
2014016766.tif 000021