(57)【特許請求の範囲】
【請求項１】
読書き可能な第１及び第２のメモリにアクセスするためのアドレス信号を出力するアドレス信号出力装置であって、
論理アドレス値を取得する取得手段と、
取得された論理アドレス値が、第１範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、
論理アドレス値が、第１範囲と少なくとも１以上の間隔を空けて離れた第２範囲内の一部である第３範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、
前記論理アドレス値が、前記第２範囲内に含まれるけれども前記第３範囲に含まれず、かつ前記第３範囲と論理アドレスが連続する第４範囲内に含まれる値である場合に、第２のメモリにアクセスするためのアドレス信号を出力する出力手段とを備え、
前記第１範囲と前記第３範囲が前記第１のメモリの同一の物理アドレス空間にマッピングされることを特徴とするアドレス信号出力装置。
【請求項２】
前記第２範囲の先頭アドレス値は前記第１範囲の終了アドレス値よりも値が大きい
ことを特徴とする請求項１に記載のアドレス信号出力装置。
【請求項３】
前記出力手段は、
各範囲における先頭アドレス値と終了アドレス値とで共通する上位ビットと、取得された論理アドレス値の上位ビットとが同値であるか否かにより、当該論理アドレス値がどの範囲に含まれるかを特定し、特定結果に応じて第１及び第２のメモリのいずれへのアクセスであるかを示す選択信号を第１及び第２のメモリに出力する選択信号出力手段と、
前記論理アドレス値から前記上位ビットを除く下位ビットをアドレス信号として第１及び第２のメモリに出力するアドレス信号出力手段と
を備えることを特徴とする請求項２に記載のアドレス信号出力装置。
【請求項４】
前記アドレス信号出力装置は、さらに、
第２のメモリの存否に応じて前記出力手段の動作の有効及び無効を制御する制御手段を備えることを特徴とする請求項１から３のいずれかに記載のアドレス信号出力装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マイクロプロセッサにおけるメモリ空間へのアクセス技術に関する。
【０００２】
【従来の技術】
従来、マイクロプロセッサにおいて、後継機種の開発やメモリ拡張モードの設定等によりＲＡＭ領域を拡張する場合、アドレス空間上では既存のＲＡＭ領域（以下、基本ＲＡＭ領域）に後続する領域に拡張ＲＡＭ領域を配置する。例えば基本ＲＡＭ領域がアドレスｘ‘０００００’〜ｘ‘００ＦＦＦ’（ｘ‘’は１６進数を示す）の４Ｋバイトの空間に配置されている場合、拡張ＲＡＭ領域をｘ‘００ＦＦＦ’の後続アドレスであるｘ‘０１０００’以降に基本ＲＡＭ領域と接するように配置し、基本ＲＡＭ領域と拡張ＲＡＭ領域とからなる１つのＲＡＭ領域を実現する。
【０００３】
【発明が解決しようとする課題】
しかしながら、基本ＲＡＭ領域の後続にＲＯＭ領域等の他のメモリ領域が既に存在する場合、拡張ＲＡＭ領域を基本ＲＡＭ領域に続けて配置することができないので、拡張ＲＡＭ領域をＲＯＭ領域の後続に配置する等、基本ＲＡＭ領域と空間を隔てて配置することとなる。しかしそのような配置では、基本ＲＡＭ領域及び拡張ＲＡＭ領域からなる１つのＲＡＭ領域を活用した連続アクセスができなくなるために、大容量のデータ転送を行う際の障害となる。
【０００４】
これに対し、ＲＡＭ領域拡張の際に基本ＲＡＭ、ＲＯＭ領域等を再配置することにより、基本ＲＡＭ領域及び拡張ＲＡＭ領域からなる１つのＲＡＭ領域を実現するという方法も考えられる。しかしその場合、先行機種における基本ＲＡＭ領域及びＲＯＭ領域のアドレスを指定したソフトウェアを後継機種で利用することができなくなり、ソフトウェアの上位互換性を確保することができないという問題がある。
【０００５】
本発明は上記課題に鑑み、マイクロプロセッサにおいて、メモリ拡張前後でソフトウェアの互換性を保ち、かつ、分離されたＲＡＭ領域に対して連続したアクセスを実現するアドレス出力装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記問題を解決するため、本発明のアドレス出力装置は、読書き可能な第１及び第２のメモリにアクセスするためのアドレス信号を出力するアドレス信号出力装置であって、論理アドレス値を取得する取得手段と、取得された論理アドレス値が、第１範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、論理アドレス値が、第１範囲と少なくとも１以上の間隔を空けて離れた第２範囲内の一部である第３範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、前記論理アドレス値が第３範囲に含まれず第２範囲内に含まれる値である場合に、第２のメモリにアクセスするためのアドレス信号を出力する出力手段とを備える。
【０００７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて説明する。
＜実施形態１＞
図１は、本実施形態のマイクロプロセッサの特徴部分の構成を示す。
同図においてマイクロプロセッサ１００は、プログラムの命令に従ってデータの演算、転送及び制御を行うＣＰＵ１０、ＣＰＵ１０が出力する論理アドレス信号を物理アドレス信号に変換するアドレス変換回路２０、書込み可能なメモリであるＲＡＭ３０、ＲＡＭ５０、ＣＰＵ１０が実行するプログラムや固定情報を記憶する読み出し専用メモリであるＲＯＭ４０、物理アドレス信号に基づいてどのメモリ素子を選択しているかを示す選択信号を生成するアドレス・デコーダ６０、ＣＰＵ１０から各メモリ素子へとアドレス信号を転送するためのアドレス・バス７０から構成される。この構成のうち、ＲＡＭ５０は、メモリ空間の拡張に伴い新たに増設されたものとし、ＲＡＭ３０及びＲＯＭ４０は拡張前の基本のメモリ空間を構成するものとして拡張前から備えられていたものとする。
【０００８】
ＲＡＭ５０の増設による拡張の前後でソフトウェアの互換性を保ち、かつ、ＲＡＭ３０及びＲＡＭ５０にＣＰＵ１０側から連続するアドレス空間としてアクセスするための回路がアドレス変換回路２０である。
図２にアドレス変換回路２０により実現される論理アドレスと物理アドレスとのアドレス・マッピングを示す。
【０００９】
物理アドレス空間は、ＲＡＭ３０、ＲＯＭ４０及びＲＡＭ５０に実際に配置されるメモリ空間であり、同図では物理アドレスｘ‘０００００’〜ｘ‘００ＦＦＦ’にＲＡＭ３０、ｘ‘０１０００’〜ｘ‘０ＦＦＦＦ’にＲＯＭ４０、ｘ‘１１０００’〜ｘ‘１１ＦＦＦ’にＲＡＭ５０を実装している。なおここにおいて「ｘ‘’」は、「‘’」で括られた数値が１６進数であることを示す。
【００１０】
一方、論理アドレス空間は、ＣＰＵ１０が命令コードにより直接アクセスすることのできるメモリ空間であり、同図では論理アドレスｘ‘０００００’〜ｘ‘００ＦＦＦ’の基本ＲＡＭ空間、ｘ‘０１０００’〜ｘ‘０ＦＦＦＦ’のＲＯＭ空間、ｘ‘１００００’〜ｘ‘１１ＦＦＦ’の拡張ＲＡＭ空間に分割されている。さらに拡張ＲＡＭ空間は、ｘ‘１００００’〜ｘ‘１０ＦＦＦ’の第１空間とｘ‘１１０００’〜ｘ‘１１ＦＦＦ’の第２空間とに分割される。
【００１１】
論理アドレスと物理アドレスとのアドレス・マッピングの関係は、基本ＲＡＭ空間がＲＡＭ３０の物理アドレス空間に、ＲＯＭ空間がＲＯＭ４０の物理アドレス空間にそれぞれ対応し、拡張ＲＡＭ空間の第１空間はＲＡＭ３０の物理アドレス空間に対応し、第２空間はＲＡＭ５０の物理アドレス空間に対応する。すなわちＲＯＭ４０及びＲＡＭ５０の物理アドレス空間に対しては、それぞれ１つの論理アドレス空間が対応するが、ＲＡＭ３０の物理アドレス空間に対しては基本ＲＡＭ空間及び第１空間の２つの論理アドレス空間が対応する。ここで第１空間は、基本ＲＡＭ空間と同一の物理アドレス空間にマッピングされていることから、基本ＲＡＭ空間のミラー領域とも呼ばれる。
【００１２】
図３は、図２に対応するアドレス・マッピングテーブルを示す。すなわち、アドレス変換回路２０は、基本ＲＡＭ空間、ＲＯＭ空間及び第２空間の論理アドレスについては同一の値を物理アドレスとして出力し、第１空間の論理アドレスｘ‘１００００’〜ｘ‘１０ＦＦＦ’については物理アドレスｘ‘０００００’〜ｘ‘００ＦＦＦ’に変換して出力する。
【００１３】
このような変換により、ＣＰＵ１０による論理アドレスを指定した基本ＲＡＭ空間及びＲＯＭ空間へのアクセスは、拡張前において物理アドレスを指定したＲＡＭ３０及びＲＯＭ４０へのアクセスと同等となるので、拡張前のマイクロプロセッサ用のソフトウェアを拡張後のマイクロプロセッサ１００にも利用することができる。
【００１４】
またＲＡＭ３０に対応する第１空間とＲＡＭ５０に対応する第２空間と連ねて連続する論理アドレスを割当てることによりＣＰＵ１０は、連続する論理アドレスからなる拡張ＲＡＭ空間にアクセスすることができ、大容量データの連続アクセス等に利用することができる。
図４は、アドレス変換回路２０の詳細構成を示す。
【００１５】
同図においてアドレス変換回路２０は、論理アドレス保持部２１、領域判定部２２、変換部２３及び物理アドレス保持部２４から構成される。
論理アドレス保持部２１は、ＣＰＵ１０より送出される論理アドレスを保持するバッファである。
領域判定部２２は、論理アドレス保持部２１に保持されている論理アドレスが図２に示す分割された各論理アドレス空間のどの領域に属するかを判定する。この判定は、各論理アドレス空間の先頭の論理アドレスｘ‘０００００’、ｘ‘０１０００’、ｘ‘１００００’、ｘ‘１１０００’と論理アドレス保持部２１に保持される論理アドレスとを比較する論理回路により行われる。
【００１６】
変換部２３は、領域判定部２２の判定の結果、論理アドレスが、基本ＲＡＭ空間、ＲＯＭ空間及び第２空間のいずれかに属すると判定された場合には、論理アドレスを物理アドレスとして出力し、第１空間に属すると判定された場合には、論理アドレスｘ‘１００００’〜ｘ‘１０ＦＦＦ’を物理アドレスｘ‘０００００’〜ｘ‘００ＦＦＦ’に変換して出力する。変換は、論理アドレスの上位ビットから４ビット目の値を１から０に変換するというものである。
【００１７】
物理アドレス保持部２４は、変換部２３により出力される物理アドレスを保持し、アドレス・バス７０に出力するバッファである。
以上の構成によりマイクロプロセッサ１００は、拡張前のアドレス空間を変更することがないので、拡張前のマイクロプロセッサ用のソフトウェアを拡張後のマイクロプロセッサ１００に利用することができるとともに、分離した物理アドレス空間のＲＡＭ３０及びＲＡＭ５０に連続する論理アドレス空間によりアクセスすることができる。
＜実施形態２＞
図５は、本実施形態のマイクロプロセッサの特徴部分の構成を示す。
【００１８】
同図のマイクロプロセッサ２００において、図１のマイクロプロセッサ１００と同じ符号を付した構成要素は同じものであることを示す。以下、異なる部分を中心に説明する。なお、本実施形態のメモリ・マッピングは実施形態１と同じものとする。
ＣＰＵ１０から送出されるアドレス信号は、上位８ビットがアドレス・バスの信号線９０ａによりＲＡＭアクセス制御回路８０に転送され、下位１２ビットがアドレス・バスの信号線９０ｂによりＲＡＭ３０及びＲＡＭ５０に転送される。
【００１９】
ＲＡＭアクセス制御回路８０は、アドレス変換回路２０及びアドレス・デコーダ６０に代わる構成要素であり、アドレス信号の上位８ビットに基づいてＲＡＭ３０及びＲＡＭ５０のどちらを選択しているかを示す選択信号を信号線１１０ａ及び信号線１１０ｂに送出する。ＲＡＭ３０を選択しているときは信号線１１０ａの信号が「１」、信号線１１０ｂの信号が「０」となり、ＲＡＭ５０を選択しているときは、その反対となる。
【００２０】
ＲＡＭ３０は、信号線１１０ａの選択信号が「１」のとき信号線９０ｂのアドレス信号の下位１２ビットが示すアドレスにアクセスする。
ＲＡＭ５０は、信号線１１０ｂの選択信号が「１」のとき信号線９０ｂのアドレス信号の下位１２ビットが示すアドレスにアクセスする。
図６は、ＣＰＵ１０より送出されるアドレス信号と各信号線の信号とアクセスされるＲＡＭとの関係を示す。
【００２１】
同図に示すように信号線９０ａの値がｘ‘００’及びｘ‘１０’のとき信号線１１０ａ、１１０ｂの信号はそれぞれ「１」、「０」となってＲＡＭ３０にアクセスされ、信号線９０ａの値がｘ‘１１’のとき信号線１１０ａ、１１０ｂの信号はそれぞれ「０」、「１」となってＲＡＭ５０にアクセスされる。
つまりＲＡＭアクセス制御回路８０は、図６の変換前アドレスの各範囲における先頭アドレスと終了アドレスとで共通する上位８ビットと、ＣＰＵ１０が出力するアドレス信号の上位８ビットとが同値であるか否かにより、アドレス信号がどの範囲に属するかを特定し、特定結果に応じてＲＡＭ３０及びＲＡＭ５０のいずれへのアクセスであるかを示す選択信号をＲＡＭ３０及びＲＡＭ５０に出力する。そして選択信号により選択されたＲＡＭ３０及びＲＡＭ５０は、下位１２ビットのアドレス信号からアクセスすべき位置を特定する。
【００２２】
以上の構成により、マイクロプロセッサ２００は、マイクロプロセッサ１００より小さい回路規模でマイクロプロセッサ１００と同じ効果を発揮する。
＜実施形態３＞
図７は、本実施形態のマイクロプロセッサの特徴部分の構成を示す。
同図のマイクロプロセッサ３００は、ＲＡＭアクセス制御回路８０の代わりにイネーブル信号入力端子を持つＲＡＭアクセス制御回路１３０を備え、イネーブル信号を送出するＲＡＭ容量判定回路１２０が加えられた点で図２のマイクロプロセッサ２００とは異なっている。
【００２３】
ＲＡＭ容量判定回路１２０は、ＲＡＭ容量が拡張されているか否かを判定し、その判定に応じて「１」又は「０」のイネーブル信号を送出し、これによりＲＡＭアクセス制御回路の動作又は停止を制御する。初期状態におけるイネーブル信号はオンとする。
イネーブル信号が「１」のとき、ＲＡＭアクセス制御回路１３０は、実施形態のＲＡＭアクセス制御回路８０と同様に動作する。
【００２４】
イネーブル信号が「０」のとき、ＲＡＭアクセス制御回路１３０は、信号線１１０ａの選択信号を「１」、信号線１１０ｂの選択信号を「０」にして出力固定とし、ＲＡＭアクセス制御回路１３０の動作を停止する。この停止によりＣＰＵ１０が出力するアドレス信号のうち下位１２ビットがアドレス・バス上に現れ、その下位１２ビットの信号によりＲＡＭ３０にアクセスされることとなる。
【００２５】
この構成によりマイクロプロセッサ３００は、ＲＡＭ拡張されていない場合にはＲＡＭアクセス制御回路１３０の動作が停止され、アドレス・バスの上位８ビットが使用されなくなるので、消費電力を低減することができるという効果がある。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限られない。例えば以下のように構成してもよい。
【００２６】
アドレス変換回路２０は、各論理アドレス空間のうちのどの領域に属するかを判定し、属する領域に応じてアドレス変換を行うよう構成されるが、第１空間の論理アドレス空間に属するか否かのみを判定し、属する場合にはアドレス変換を行い、属さない場合にはアドレス変換を行わないというより簡単な回路構成にしてもよい。
【００２７】
図３において、基本ＲＡＭ空間、ＲＯＭ空間及び第２空間の論理アドレスの値は、対応する物理アドレスの値と同じであるが、必ずしも同じでなくてもよい。要するに、論理アドレスと物理アドレスの値が同一であるか否かに関わらず、基本ＲＡＭ空間と第１空間がＲＡＭ３０に対応し、かつ、基本ＲＡＭ空間と第１空間とは間隔を空けて離れた空間であり、かつ、第２空間がＲＡＭ５０に対応するマッピングであればよい。
【００２８】
図３において、第２空間がＲＡＭ３０に対応し、第１空間がＲＡＭ５０に対応するマッピングであってもよい。
また図３において、拡張ＲＡＭ空間は第１空間と第２空間とに２分される構成であるが、この構成に限らず、拡張ＲＡＭ空間の一部を第１空間とし、拡張ＲＡＭ空間の第１空間でない残りの部分を第２空間としてもよい。つまり第２空間を２分して第１空間の上下を挟むように第２空間があってもよいし、その反対に第１空間を２分して第２空間の上下を挟むように第１空間があってもよい。
【００２９】
各実施形態において、拡張ＲＡＭ領域と基本ＲＡＭ領域は、拡張ＲＡＭ領域の先頭アドレスが基本ＲＡＭ領域の終了アドレスより大きい値になるよう値が割当てられているが、基本ＲＡＭ領域の先頭アドレスが拡張ＲＡＭ領域の終了アドレスより大きくなるよう値を割当ててもよい。
各実施形態において、アドレス変換回路２０、アドレス・デコーダ６０、ＲＡＭアクセス制御回路８０、ＲＡＭ容量判定回路１２０及びＲＡＭアクセス制御回路１３０は、ハードウェアにより構成されているが、同様の機能をプログラムにより実現するソフトウェアで構成されていてもよい。
【００３０】
【発明の効果】
本発明のアドレス出力装置は、読書き可能な第１及び第２のメモリにアクセスするためのアドレス信号を出力するアドレス信号出力装置であって、論理アドレス値を取得する取得手段と、取得された論理アドレス値が、第１範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、論理アドレス値が、第１範囲と少なくとも１以上の間隔を空けて離れた第２範囲内の一部である第３範囲に含まれる値である場合に、第１のメモリにアクセスするためのアドレス信号を出力し、前記論理アドレス値が第３範囲に含まれず第２範囲内に含まれる値である場合に、第２のメモリにアクセスするためのアドレス信号を出力する出力手段とを備える。
【００３１】
この構成により、第１のメモリが基本ＲＡＭで、第２のメモリが拡張ＲＡＭであるとすれば、拡張前のソフトウェアにより指定される論理アドレス値は拡張前と同様に第１のメモリへのアクセスとなり、ソフトウェアの互換性が確保される。また第２範囲が第３範囲とそれ以外の範囲とに分割して第１及び第２のメモリに割当てられていることにより第１及び第２のメモリに連続するアドレス空間としてアクセスすることができるという効果がある。
【００３２】
前記第２範囲の先頭アドレス値は前記第１範囲の終了アドレス値よりも値が大きいことを特徴とする。
前記出力手段は、各範囲における先頭アドレス値と終了アドレス値とで共通する上位ビットと、取得された論理アドレス値の上位ビットとが同値であるか否かにより、当該論理アドレス値がどの範囲に含まれるかを特定し、特定結果に応じて第１及び第２のメモリのいずれへのアクセスであるかを示す選択信号を第１及び第２のメモリに出力する選択信号出力手段と、前記論理アドレス値から前記上位ビットを除く下位ビットをアドレス信号として第１及び第２のメモリに出力するアドレス信号出力手段とを備える。
【００３３】
この構成により、アドレス信号出力装置は、簡単な回路構成により論理アドレス値の上位ビットから選択信号を生成することができ、この選択信号で各メモリが選択されることにより各メモリは論理アドレス値の下位ビットでアクセス位置を特定することができるという効果がある。
前記アドレス信号出力装置は、さらに、第２のメモリの存否に応じて前記出力手段の動作の有効及び無効を制御する制御手段を備える。
【００３４】
この構成により、アドレス信号出力装置は、ＲＡＭが拡張されていない場合には、前記出力手段の動作を無効にすることにより消費電力を低減するという効果がある。
【図面の簡単な説明】
【図１】本実施形態のマイクロプロセッサの特徴部分の構成を示す。
【図２】アドレス変換回路２０により実現される論理アドレスと物理アドレスとのアドレス・マッピングを示す。
【図３】図２に対応するアドレス・マッピングテーブルを示す。
【図４】アドレス変換回路２０の詳細構成を示す。
【図５】本実施形態のマイクロプロセッサの特徴部分の構成を示す。
【図６】ＣＰＵ１０より送出されるアドレス信号と各信号線の信号とアクセスされるＲＡＭとの関係を示す。
【図７】本実施形態のマイクロプロセッサの特徴部分の構成を示す。
【符号の説明】
１０    ＣＰＵ
２０    アドレス変換回路
２１    論理アドレス保持部
２２    領域判定部
２３    変換部
２４    物理アドレス保持部
３０    ＲＡＭ
４０    ＲＯＭ
５０    ＲＡＭ
６０    アドレス・デコーダ
７０    アドレス・バス
８０    ＲＡＭアクセス制御回路
９０ａ  信号線
９０ｂ  信号線
１００    マイクロプロセッサ
１１０ａ  信号線
１１０ｂ  信号線
１２０    ＲＡＭ容量判定回路
１３０    ＲＡＭアクセス制御回路
２００    マイクロプロセッサ
３００    マイクロプロセッサ
【図１】
0004015867.tif 000002
【図２】
0004015867.tif 000003
【図３】
0004015867.tif 000004
【図４】
0004015867.tif 000005
【図５】
0004015867.tif 000006
【図６】
0004015867.tif 000007
【図７】
0004015867.tif 000008