(57)【特許請求の範囲】
【請求項１】
装着されたＲＡＭモジュールに搭載されているメモリデバイスのデバイス容量およびビット幅を判断する仕様判断機能と、
この仕様判断機能で判明したデバイス容量およびビット幅に応じて、次のように、ＣＰＵから発生されたアドレスＡを、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，バンクアドレスＢＡに割り付ける割付設定機能と
を有することを特徴とする情報処理装置。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、判明したデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
判明したビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を、
判明したビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を、
判明したビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を、更に割り付ける。
【請求項２】
請求項１において、前記仕様判断機能は、ＲＡＭモジュールに供給されるローアドレスおよびカラムアドレスの割付を、デバイス容量が６４Ｍビットでビット値が４ビットのＲＡＭモジュールに対する状態に設定し、８Ｍバイト毎に異なるデータを想定される最大メモリ容量まで書き込んだ後、その想定される最大メモリ容量まで読み取り、その読み取りデータに基づいてデバイス容量およびビット幅を判断する機能を備えていることを特徴とする情報処理装置。
【請求項３】
ＲＡＭモジュールに搭載されているメモリデバイスのデバイス容量およびビット幅を判断する仕様判断工程と、
この仕様判断工程で判明したデバイス容量およびビット幅に応じて、次のように、ＣＰＵから発生されたアドレスＡを、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，バンクアドレスＢＡ０，ＢＡ１／ＭＡ１２に割り付ける割付設定工程と
を有することを特徴とする情報処理装置の制御方法。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、判明したデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
判明したビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を、
判明したビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を、
判明したビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を、更に割り付ける。
【請求項４】
請求項３において、前記仕様判断工程では、ＲＡＭモジュールに供給されるローアドレスおよびカラムアドレスの割付を、デバイス容量が６４Ｍビットでビット値が４ビットのＲＡＭモジュールに対する状態に設定し、８Ｍバイト毎に異なるデータを想定される最大メモリ容量まで書き込んだ後、その想定される最大メモリ容量まで読み取り、その読み取りデータに基づいてデバイス容量およびビット幅を判断することを特徴とする情報処理装置の制御方法。
【請求項５】
ＲＡＭモジュールに対しデータを入出力する際に、ＣＰＵから発生されたアドレスＡを、次のように、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，バンクアドレスＢＡに割り付けることを特徴とするメモリアドレス変換装置。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、搭載されているメモリデバイスのデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
前記メモリデバイスのビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を、
前記メモリデバイスのビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を、
前記メモリデバイスのビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を、更に割り付ける。
【請求項６】
前記請求項５に記載のメモリアドレス変換装置と、アドレスの発生元であるＣＰＵと、ＲＡＭモジュールとを有することを特徴とする情報処理装置。
【請求項７】
ＲＡＭモジュールに対しデータを入出力する際に、ＣＰＵから発生されたアドレスＡを、次のように、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，バンクアドレスＢＡに割り付けることを特徴とするメモリアドレス変換方法。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、搭載されているメモリデバイスのデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
前記メモリデバイスのビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を、
前記メモリデバイスのビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を、
前記メモリデバイスのビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を、更に割り付ける。
【請求項８】
ＲＡＭモジュールに搭載されているメモリデバイスのデバイス容量およびビット幅を判断する仕様判断処理と、
この仕様判断処理で判明したデバイス容量およびビット幅に応じて、次のように、ＣＰＵから発生されたアドレスＡを、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，メモリアドレス，バンクアドレスＢＡに割り付ける割付設定処理と
を実行可能な命令を有するプログラムが記録されていることを特徴とする記録媒体。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、判明したデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
判明したビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を更に割り付け、  
判明したビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を更に割り付け、  
判明したビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を更に割り付ける。
【請求項９】
請求項８において、前記仕様判断処理では、ＲＡＭモジュールに供給されるローアドレスおよびカラムアドレスの割付を、デバイス容量が６４Ｍビットでビット値が４ビットのＲＡＭモジュールに対する状態に設定し、８Ｍバイト毎に異なるデータを想定される最大メモリ容量まで書き込んだ後、その想定される最大メモリ容量まで読み取り、その読み取りデータに基づいてデバイス容量およびビット幅を判断する処理を実行可能な命令を有するプログラムが記録されていることを特徴とする記録媒体。
【請求項１０】
ＲＡＭモジュールに対しデータを入出力する際に、ＣＰＵから発生されたアドレスＡを、次のように、ローアドレスストローブ時およびカラムアドレスストローブ時に夫々前記ＲＡＭモジュールに供給するローアドレス又はカラムアドレス，プリチャージアドレス，およびバンクアドレスとして、前記ＲＡＭモジュールのメモリアドレスＭＡ，プリチャージアドレスＰＡ，バンクアドレスＢＡに割り付ける処理を実行可能なプログラムが記録されていることを特徴とする記録媒体。
ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４。
ただし、ローアドレスストローブ時において、前記ＲＡＭモジュールに搭載されているメモリデバイスのデバイス容量が６４ＭビットのＲＡＭモジュールに対しては、
前記メモリデバイスのビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２６を更に割り付け、
前記メモリデバイスのビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２５およびＡ２４を更に割り付け、
前記メモリデバイスのビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対し、アドレスＡ２３およびＡ２４を更に割り付ける。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタの制御装置などに適した情報処理装置およびその制御方法に関し、特に、ＲＡＭモジュールに対するメモリアドレスの変換に関するものである。
【０００２】
【従来の技術】
ページプリンタの画像処理部を構成する情報処理装置などにおいては、ＣＰＵの作業領域などの一時記憶領域としてＲＡＭモジュールが用いられている。近年、処理速度が速くて安価な同期型のＤＲＡＭ（ＳＤＲＡＭ）を搭載したＲＡＭモジュールが多く用いられるようになっている。
【０００３】
【発明が解決しようとする課題】
しかしながら、ＲＡＭモジュールは、搭載されるメモリデバイス（以降においてはデバイス）のビット幅および容量により、メモリアドレスの数が変わるので、現状ではさまざまなアドレス仕様のＲＡＭモジュールが存在している。例えば、図２に表を用いて示してあるように、デバイス容量が４Ｍビット、１６Ｍビットおよび６４Ｍビットで、ビット幅が４、８および１６のデバイスでは、それぞれローアドレス数およびカラムアドレス数が異なる。従来、ＲＡＭモジュールのメモリアドレスに対するアドレスの割付は情報処理装置毎に一意的に決められており、このため、仕様の異なるデバイスを搭載したＲＡＭモジュールをそのまま利用することは不可能である。従って、ＲＡＭモジュールを増設するときは、予め指定された仕様に合致するＲＡＭモジュールが必要であり、選択できるモジュールが限られ、ユーザーが入手可能な適当な価格のモジュールが使用できないなどの問題があった。
【０００４】
仕様の異なるモジュールを使用できる情報処理装置もあるが、アドレス仕様を変更するためには、ユーザーがジャンパなどのハードウェア、あるいは、ＢＩＯＳなどのソフトウェアを操作してＲＡＭモジュールの仕様にマッチした条件を設定する必要があり、面倒である。さらに、メモリ等に対する十分な知識が必要であり、一般のユーザーでは難しい。
【０００５】
そこで、本発明においては、仕様の異なるＲＡＭモジュールであっても簡単に使用することができ、低コストでメモリの増設が可能な情報処理装置およびその制御方法、メモリアドレス変換装置などを提供することを目的としている。さらに、仕様の異なるＲＡＭモジュールを用いる際に、アドレスの割付を間違えずに確実に使用することができる情報処理装置およびその制御方法を提供することを目的としている。
【０００６】
【課題を解決するための手段】
このため、本発明の情報処理装置においては、装着されたＲＡＭモジュールのデバイス容量およびビット幅を判断する仕様判断機能と、この仕様判断機能で判明したデバイス容量およびビット幅によってメモリアドレスの割付を変更可能な割付設定機能とを設け、自動的にＲＡＭモジュールの仕様を判断すると共に、それに合わせてメモリアドレスの割付を自動的に設定できるようにしている。また、本発明の情報処理装置の制御方法においては、ＲＡＭモジュールのデバイス容量およびビット幅を判断する仕様判断工程と、この仕様判断工程で判明したデバイス容量およびビット幅によってメモリアドレスの割付を変更する割付設定工程とを設けて、自動的にアドレスの割付を変更できるようにしている。
【０００７】
本発明の情報処理装置およびその制御方法においては、自動的にＲＡＭモジュールの仕様を判断し、その仕様に従ってメモリアドレスの割付が自動的に行われる。このため、ユーザーはＲＡＭモジュールに搭載されたデバイスタイプの差を意識することなく利用でき、入手可能な仕様で低コストのＲＡＭモジュールを利用することができる。さらに、ＲＡＭモジュールの仕様が自動的に判断され、それに適したメモリアドレスの割付が自動的に行われるので、アドレスの割付を間違えたりすることなく、仕様の異なるＲＡＭモジュールを確実に利用することができる。従って、信頼性が高く、ＲＡＭモジュールをフレキシブルに選択可能な半導体処理装置およびその制御方法を提供することができる。ＲＡＭモジュールの仕様判断は、ＲＡＭモジュールの不揮発記憶領域に用意された仕様情報を読み取ることによって判断可能である。
【０００８】
割付設定するときは、アドレスに対し、次のようにローアドレスおよびカラムアドレスを割り付けるメモリアドレス変換装置あるいはメモリアドレス変換方法を採用することが望ましい。まず、ローアドレスストローブ時は、メモリアドレスＭＡ０〜ＭＡ７に対しアドレスＡ１１〜Ａ１８を、メモリアドレスＭＡ８〜ＭＡ９に対しアドレスＡ２１〜Ａ２２を、プリチャージアドレスＰＡ（ＭＡ１０）に対しアドレスＡ１９を、バンクアドレスＢＡ０に対しアドレスＡ２０を割り当てる。さらに、カラムアドレスストローブ時には、メモリアドレスＭＡ０〜ＭＡ７に対しアドレスＡ３〜Ａ１０を、メモリアドレスＭＡ８〜ＭＡ９に対しアドレスＡ２３〜Ａ２４を割り当てる。
【０００９】
ただし、デバイス容量が６４ＭビットのＲＡＭモジュールに対しては、ビット幅が４ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対しアドレスＡ２５およびＡ２６を、ビット幅が８ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対しアドレスＡ２５およびＡ２４を、さらに、ビット幅が１６ビットのときは、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に対しアドレスＡ２３およびＡ２４を割り当てる。なお、デバイス容量およびビット幅により、ローアドレスストローブ時、あるいはカラムアドレスストローブ時に無効なメモリアドレスにアドレスが割り当てられているものについては無効となる。
【００１０】
このような割付を採用することにより、デバイス容量が４Ｍビットから６４Ｍビットでビット幅が４ビットから１６ビットのデバイスを搭載した全てのＲＡＭモジュールに対しアドレスを連続して割り付けることが可能となる。さらに、カラムアドレスが下位アドレスに割り付けられているのでＲＡＭモジュールのページ領域を大きくできる。そして、デバイスの仕様によって変更する箇所は、デバイス容量が６４ＭビットのときのメモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に限られる。従って、非常に簡易なメモリアドレス変換用のソフトウェアあるいはハードウェアによってデバイスの仕様に対応した割付を自動的に設定することができる。
【００１１】
さらに、本発明の割付を用いて、不揮発記憶領域が用意されていない、あるいは不揮発記憶領域に仕様情報が記載されていないＲＡＭモジュールに対しては、搭載されているデバイスの仕様を自動的に判別することも可能となる。すなわち、仕様判断機能あるいは工程において、ローアドレスおよびカラムアドレスの割付を、デバイス容量が６４Ｍビットでビット幅が４ビットのＲＡＭモジュールに対する状態に設定し、８Ｍバイト毎に異なるデータを想定される最大メモリ容量まで書き込むことにより、データが連続して記録され、あるいは上書きされるので、その後、想定される最大メモリ容量まで読み取り、読み取ったデータによりデバイス容量およびビット幅を判断することができる。
【００１２】
本発明の情報処理装置の制御方法およびメモリアドレス変換方法は、上記の各処理を行う命令を備えたプログラムとして実現することが可能であり、そのプログラムをＲＯＭ、ＲＯＭモジュールあるいはフロッピーディスクなどのＣＰＵに読み取り可能な記録媒体に記録して提供することができる。
【００１３】
【発明の実施の形態】
以下に図面を参照しながら本発明の実施の形態を説明する。図１に、本発明に係るプリンタ１の概略構成を示してある。このプリンタ１は、パソコンなどのホスト側から印刷用の入力データを受信して印刷機構（プリンタエンジン）で印刷可能な構成の出力データに変換する画像処理部１０と、出力データに基づき印刷用紙上に印刷を行う印刷機構２とを備えている。
【００１４】
画像処理部１０は、ホストから入力データを受信する入力インタフェース回路部２５と、画像データを作成する印刷処理プログラム２２およびＩＰＬ２１などが収納されたプログラム収納用のＲＯＭ１２と、画像データを作成するためのフォントのビットマップデータなどが収納されたフォント収納用のＲＯＭ１３を備えており、メモリコントローラ１５とメモリバス１７を介して接続されている。また、画像処理部１０は、画像データを作成する際の作業領域となり、中間のデータなどが格納される同期型のＤＲＡＭ（ＳＤＲＡＭ）１４を備えており、このＳＤＲＡＭ１４と、ＣＰＵ１１およびメモリコントローラ１５がＣＰＵバス１８によって接続されている。この画像処理部１０によってホストから入力された入力データが情報処理されて画像データに変換され、メモリバス１７に接続されたビデオインタフェース回路部２０を介してプリンタエンジン２に供給されてページ毎の印刷が行われる。
【００１５】
ＳＤＲＡＭモジュール１４に対しては、ＣＰＵから発生されたアドレスが、メモリコントローラ１５のアドレス変換部１６によりメモリアドレスに変更され、そのメモリアドレス（ローアドレスおよびカラムアドレス）がメモリアドレスバス１９を介して供給されてＳＤＲＡＭモジュール１４に対する入出力が行われる。ＳＤＲＡＭモジュール１４は、８ＭＢ（メガバイト）から１２８ＭＢ程度までの種々の容量のものが市販されている。このため、ユーザーは適当な容量のモジュールを購入して置き換えることにより、メモリの増設を行うことが可能であり、メモリ容量を大きくして大量の画像データをより高速で処理可能にするなど、プリンター１０の機能アップを図ることができる。しかしながら、上述したように、ＲＡＭモジュール１４に搭載されているデバイスによってアドレス仕様が異なり、従来のプリンターでは、どのようなＲＡＭモジュール１４でもそのまますぐに使用できるようにはなっていない。
【００１６】
図２に、デバイス容量およびビット幅毎のアドレス仕様を表を用いて示してある。本図に示したように、例えば、デバイス容量が４Ｍビットでビット幅が１６のデバイスを搭載したＲＡＭモジュールにおいては、９ビットのローアドレスＲＡ、１ビットのバンクアドレスＢＡ、および８ビットのカラムアドレスＣＡがローアドレスストローブ（ＲＡＳ）信号が供給されたとき（アドレスストローブ時）およびカラムアドレスストローブ（ＣＡＳ）信号が供給されたとき（カラムアドレスストローブ時）にそれぞれ有効になる。加えて、カラムアドレスストローブ時には、ローアドレスの１ビットに相当するプリチャージアドレスＰＡが有効になる。
【００１７】
一方、デバイス容量が６４Ｍビットでビット幅が４のデバイスを搭載したＲＡＭモジュールにおいては、１２または１３ビットのローアドレスＲＡ、２または１ビットのバンクアドレスＢＡ、および１０ビットのカラムアドレスＣＡがローアドレスストローブ時およびカラムアドレスストローブ時にそれぞれ有効になる。また、ローアドレスの１ビットであるＭＡ１０がプリチャージアドレスであり、カラムアドレスストローブ時にはプリチャージ信号も有効になる。
【００１８】
このように搭載されているデバイスによってアドレス仕様の異なるＲＡＭモジュールに対し、従来のプリンターでは、いずれかのアドレス仕様のＲＡＭモジュールがプリンターメーカーによって指定されており、メモリを増設する際はその仕様に則したＲＡＭモジュールを購入する必要があった。これに対し、本願出願人は、よりフレキシブルに、また低コストでメモリの増設ができるように、アドレス仕様の異なるＲＡＭモジュールでも利用可能なアドレス割付方法を検討し、その結果、図３（ａ）に示すようなアドレス割付マップを得ることができた。このアドレス割付マップでは、バイト単位でデータが入出力可能であることを考慮し、アドレスＡ３から最大でアドレスＡ２６までが連続してローアドレス、バンクアドレスおよびカラムアドレスに割り付けられている。すなわち、次にようにアドレスＡ３から最大でＡ２６ＭＡまでがローアドレス、バンクアドレスおよびカラムアドレスに変換されるようになっている。
【００１９】
１．ローアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ１１〜Ａ１８、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２１〜Ａ２２、
プリチャージアドレスＰＡに対し、アドレスＡ１９、
バンクアドレスＢＡ０に対し、アドレスＡ２０、
２．カラムアドレスストローブ時：
メモリアドレスＭＡ０〜ＭＡ７に対し、アドレスＡ３〜Ａ１０、
メモリアドレスＭＡ８〜ＭＡ９に対し、アドレスＡ２３〜Ａ２４、
３．ただし、デバイス容量が６４ＭビットのＲＡＭモジュールに対して：
ビット幅が４では：
メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に、アドレスＡ２５およびＡ２６、
ビット幅が８では：
メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に、アドレスＡ２５およびＡ２４、
ビット幅が１６では：
メモリアドレスＭＡ１１およびバンクアドレスＢＡ１／ＭＡ１２に、アドレスＡ２３およびＡ２４を割り当てる。
【００２０】
このアドレス割付マップは、全ての仕様のＲＡＭモジュールに対しアドレスを連続的に割り付けること、ＲＡＭのページ領域を大きくするために、カラムアドレスに下位アドレスを割り付けること、および仕様の異なるＲＡＭモジュールに対応して割り当てを変える必要があるメモリアドレスをできるだけ少なくすることが考慮されている。このため、図３（ｂ）に示すように、本発明のアドレス割付マップに基づいてメモリアドレスの変換を行うと、デバイス容量が４Ｍビットおよび１６Ｍビットの場合は変更はなく、デバイス容量が６４ＭビットのＲＡＭモジュールに対しては、ビット幅に対応してメモリアドレスＭＡ１１およびバンクアドレスＢＡ１（ＭＡ１２）の２つのアドレスについて割付を変更するだけで全ての仕様のＲＡＭモジュールに対しアドレスを連続して割り付けることが可能となっている。
【００２１】
図４に、本発明の割付マップに基づき、それぞれのデバイスのアドレス仕様に対応してメモリアドレスにアドレスを割り付けた様子を示してある。例えば、デバイス容量が４Ｍビットでビット幅が１６のデバイスを使用したＲＡＭモジュールに対しては、ローアドレスストローブ時にメモリアドレスＭＡ０〜ＭＡ７、プリチャージアドレスＰＡおよびバンクアドレスＢＡ０にアドレスＡ１１〜Ａ２０が連続して割り当てられており、カラムアドレスストローブ時にメモリアドレスＭＡ０〜ＭＡ７にアドレスＡ３〜Ａ１０が割り当てられ、全体としてアドレスＡ３〜Ａ２０がローアドレス、バンクアドレスおよびカラムアドレスに連続して割り当てられている。そして、カラムアドレスストローブ時にはプリチャージアドレスＰＡにプリチャージ信号が割り当てられ、バンクアドレスＢＡとともにプリチャージを制御する信号となる。
【００２２】
なお、図３（ａ）のアドレス割り当てマップに示したメモリアドレスの内、４Ｍビットのデバイスではアドレスストローブ時にメモリアドレスＭＡ８およびＭＡ９などは図４に「×」で示したように有効になっておらず、このメモリアドレスに割り当てられたアドレスは４Ｍビットのデバイスのアクセスには用いられていない。
【００２３】
一方、デバイス容量が６４Ｍビットでビット幅が４のデバイスを使用したＲＡＭモジュールに対しては、ローアドレスストローブ時にメモリアドレスＭＡ０〜ＭＡ７、プリチャージアドレスＰＡ、バンクアドレスＢＡ０、メモリアドレスＭＡ８〜ＭＡ９にアドレスＡ１１〜Ａ２２が連続して割り当てられ、さらに、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１（ＭＡ１２）にアドレスＡ２５およびＡ２６が割り当てられている。また、カラムアドレスストローブ時にメモリアドレスＭＡ０〜ＭＡ７にアドレスＡ３〜Ａ１０が割り当てられ、さらに、メモリアドレスＭＡ８〜ＭＡ９にアドレスＡ２３およびＡ２４が割り当てられている。このため、全体としてアドレスＡ３〜Ａ２６がローアドレス、バンクアドレスおよびカラムアドレスに連続して割り当てられている。プリチャージアドレスＰＡにプリチャージ信号が割り当てられているのも上記と同様である。
【００２４】
図５に、本例のプリンター１０において、ＲＡＭモジュール１４に搭載されているデバイスの仕様を識別してアドレスの割付を自動的に設定する処理の概要をフローチャートを用いて示してある。これらの処理は、電源投入直後などのＩＰＬ２１がロードされたときに行われ、まず、ＲＡＭモジュール１４にＥＥＰＲＯＭが内蔵されているものとして、ステップ５１でＥＥＰＲＯＭのデータを読む。ＲＡＭモジュールの多くには、通常はＥＥＰＲＯＭなどによって不揮発性の記憶領域が用意されており、そこにＳＰＤと称されるモジュールの仕様情報（構成、性能など）が格納されている。従って、ＲＡＭモジュールのＳＰＤを取得することにより、ＲＡＭモジュールに搭載されているデバイスの仕様を判断することが可能である。このため、ステップ５２でＥＥＰＲＯＭのデータが正常であることを判断し、正常の場合はステップ５３でＳＰＤをデコードし、ステップ５４でデバイスの容量およびビット幅といったデバイスの仕様を判断する。
【００２５】
そして、デバイスの容量が１６Ｍビット以下であれば、先に図３（ａ）に示したアドレスの割付マップに従い、メモリアドレスＭＡ１１およびバンクアドレスＢＡ１（ＭＡ１２）を除いてアドレスを割り付けることにより、デバイス容量あるいはビット幅が異なるデバイスに対しても連続してアドレスをメモリアドレスに変換することが可能である。このため、仕様の異なるデバイスが搭載されたメモリーモジュールを使用することができる。このような割付をソフトウェアを用いて行ってももちろん良いが、本例のプリンター１においては、メモリアドレス変換部１６でハードウェア的に図３（ａ）に示した割付（メモリアドレスＭＡ１１およびバンクアドレスＢＡ１（ＭＡ１２）を除き）が設定されている。
【００２６】
従って、本例のプリンター１においては、ステップ５４で判断されたデバイス容量が６４Ｍビット以上のときにステップ５９以降において、残りのメモリアドレスＭＡ１１およびバンクアドレスＢＡ１（ＭＡ１２）の割付をソフトウェアで設定している。まず、ステップ５９でビット幅が４のときは、ステップ６０でバンクアドレスＢＡ１（ＭＡ１２）にアドレスＡ２６を、また、メモリアドレスＭＡ１１にアドレスＡ２５を設定する。ステップ６１でビット幅が８のときは、ステップ６２でバンクアドレスＢＡ１（ＭＡ１２）にアドレスＡ２４を、また、メモリアドレスＭＡ１１にアドレスＡ２５を設定する。ステップ６３でビット幅が１６のときは、ステップ６４でバンクアドレスＢＡ１（ＭＡ１２）にアドレスＡ２４を、また、メモリアドレスＭＡ１１にアドレスＡ２３を設定する。
【００２７】
このようにデバイスの容量およびビット幅によってアドレスの割付設定を変更することにより、仕様の異なるデバイスが搭載されたＲＡＭモジュールに対し適切なアドレスを設定して入出力を行うことが可能となる。従って、プリンター１で使用可能なＲＡＭモジュールの仕様を限定せずに種々なＲＡＭモジュールを利用することができる。さらに、ＲＡＭモジュールに搭載されたデバイスの仕様の判断およびそれに適したアドレスの割付が自動的に行われるので、ユーザーの手間を省略でき、また、アドレスの割付の間違いを防止することも可能である。
【００２８】
これらの処理は、本例のプリンター１においては、初期設定を行うプログラムであるＩＰＬ２１に含まれており、電源投入時あるいはリセット時などに実行される。従って、本例のプリンター１においては、デバイスの容量およびビット幅を判断する仕様判断機能、および仕様判断機能で判明したデバイス容量およびビット幅によってメモリアドレスの割付を変更可能な割付設定機能は、ＩＰＬ２１に基づきＣＰＵ１１で実現される。
【００２９】
このように、ＲＡＭモジュールにＥＥＰＲＯＭが搭載され、その中にデバイスの仕様などを含んだＳＰＤが収納されていれば上記のような手順でＲＡＭモジュールに対するアドレスの割付を設定できる。しかしながら、現状では、パソコンあるいはプリンターなどの情報処理装置の側で設置できるＲＡＭモジュールの仕様を限定しているのでＳＰＤが情報処理装置の側で利用されておらず、低コスト化などのためにＳＰＤを省略したＲＡＭモジュールも存在する。そこで、本例のプリンター１においては、ステップ５２でＥＥＰＲＯＭから読まれたデータが正常でない場合は、ＳＰＤを利用しないでデバイスタイプを判断できるようにしている。このため、ステップ５５に移行し、バンクアドレスＢＡ１（ＭＡ１２）にアドレスＡ２６を、また、メモリアドレスＭＡ１１にアドレスＡ２５を割り付けてローアドレスおよびカラムアドレスに対しフルにアドレスを設定できるようにする。そして、ステップ５６において、現状で想定される最大のメモリ容量である１２８ＭＢまで８ＭＢ毎に異なったデータを書き込む。
【００３０】
このような書き込みを行うと、図６に表を用いて示してあるように、メモリ容量および搭載されているデバイスの仕様によってＲＡＭモジュールに記憶される内容が異なる。このため、ステップ５７で想定される最大のメモリ容量である１２８ＭＢまでＲＡＭモジュールに記憶された値を読み取ることにより、ステップ５８でＲＡＭモジュールの容量およびそのＲＡＭモジュールに搭載されているデバイスの仕様を判断することが可能となる。例えば、ＲＡＭモジュールの容量が８ＭＢであれば、メモリの内容が８ＭＢ毎に上書きされるので、読み取り可能なデータは１２０ＭＢから１２８Ｍバイトまでのアドレスに対応して最終的に記録された「１５」の値となる。
【００３１】
一方、ビット幅が４で６４Ｍビットの容量のデバイスを搭載した１２８ＭＢのＲＡＭモジュールにおいては、０から１２８ＭＢまで異なったデータが書き込まれるので、書き込まれた通りのデータが読み取られる。また、６４Ｍビットでビット幅が１６のデバイスが搭載されたＲＡＭモジュールにおいては、カラムアドレスストローブ時にメモリアドレスＭＡ８およびＭＡ９に割り当てられたアドレスＡ２３およびＡ２４が有効にならない。従って、１６ＭＢピッチの領域にしかアクセスができず、その領域が上書きされるので、表６に示したような値が読み取られることになる。
【００３２】
このような方法により、ＥＥＰＲＯＭを搭載していないＲＡＭモジュールに対してもデバイス容量およびビット幅を自動的に判断できるので、上記と同様にステップ５９以降のプロセスによってＲＡＭモジュールに搭載されたデバイスの仕様に則したメモリアドレスの割付けを設定し、ＲＡＭモジュールを利用することが可能となる。
【００３３】
このように、本例のプリンター１は、仕様の異なるＲＡＭモジュール、特に、ＳＤＲＡＭモジュールであってもそのまま設置して利用することが可能である。従って、大量の画像データを扱うために大容量のＳＤＲＡＭモジュールに差し替えるときに、ユーザーが入手可能な仕様のＳＤＲＡＭモジュールを設置することが可能であり、メーカーに指定された仕様のＳＤＲＡＭモジュールを選択する必要はなくなる。このため、ユーザーが容易に、また、安価に入手できるＳＤＲＡＭモジュールを利用できるので、手間がかからずに、低コストでメモリの増設を行うことが可能となる。
【００３４】
なお、上記では、プリンターを例に説明しているが、パソコンなどの情報処理装置であってももちろん良く、本発明を適用することにより、搭載されているＲＡＭモジュールのデバイスタイプに左右されずに、ユーザーが最も入手し易いＲＡＭモジュールを利用することが可能となる。さらに、デバイスタイプをユーザーが調べてアドレスの割付を調整する必要がないので、割付設定を間違えることもなく、どのようなデバイスタイプのＲＡＭモジュールであっても確実に利用することが可能となる。
【００３５】
【発明の効果】
以上に説明したように、従来の情報処理装置においては、その情報処理装置のメモリアドレスの割付に合致した定められた仕様のデバイスが搭載されたＲＡＭモジュールが指定されており、ユーザーがメモリを増設する際などにおいては、その定められた仕様のＲＡＭモジュール以外は利用できなかった。これに対し、本発明においては、ＲＡＭモジュールに搭載されているデバイスの仕様を自動的に判断し、それに合わせてメモリアドレスの割付を変更すると機能および工程を備えた情報処理装置およびその制御方法を提供するようにしている。従って、ユーザーは入手可能な仕様の異なるＲＡＭモジュールであっても自由に利用することが可能であり、手軽にメモリの増設など行うことができる。
【００３６】
さらに、本発明においては、図３に示したようなアドレスの割付マップを採用しており、これにより、デバイスの仕様が異なるＲＡＭモジュールに対し、ほとんど割付を変更することなくアドレス空間が連続するようにメモリアドレスに割り付けることが可能となる。従って、デバイスタイプの相違に対応して割付を調整する処理が簡単となり、簡易なソフトウェアあるいはハードウェアて対応することができる。
【００３７】
また、本発明においては、デバイスの仕様情報を搭載していないＲＡＭモジュールに対しても所定のメモリ領域毎に異なるデータを書き込んだ後に、その内容を読み取ることによりメモリ容量およびそれに搭載されているデバイスタイプを判断できるようにしている。従って、市販されているどのようなＲＡＭモジュール、特に、ＳＤＲＡＭモジュールであっても、そのデバイスタイプを自動的に判断し、それに適した割付を設定して利用することが可能である。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るプリンタの概略構成を示すブロック図である。
【図２】デバイスタイプに対応したアドレス仕様を示した表である。
【図３】（ａ）は本発明において採用したメモリアドレスの割付マップであり、（ｂ）はデバイスタイプによって変更する部分を示す表である。
【図４】図３に示す割付マップによって各デバイスタイプ毎にアドレスを割り付けた状態を示す表である。
【図５】ＲＡＭモジュールに搭載されたデバイス仕様を判断し、それに適した割付設定を行う処理を示すフローチャートである。
【図６】ＲＡＭモジュールに所定のデータを書き込んだ後に読みだして、その容量およびデバイスタイプを判断する条件を示した表である。
【符号の説明】
１    プリンタ
２    印刷機構
１０    画像処理部
１１    ＣＰＵ
１２    プログラム用ＲＯＭ
１３    フォント用ＲＯＭ
１４    ＳＤＲＡＭモジュール
１５    メモリコントローラ
１６    メモリアドレス変換部
１７    メモリバス
１８    ＣＰＵバス
１９    メモリアドレスバス
２０    ビデオインタフェース部
２５    入力インタフェース部
【図１】
0003635899.tif 000002
【図２】
0003635899.tif 000003
【図３】
0003635899.tif 000004
【図４】
0003635899.tif 000005
【図５】
0003635899.tif 000006
【図６】
0003635899.tif 000007