(57)【要約】【課題】メモリへ接続されるバス幅を減少させることによりアクセス装置等の入出力端子数を減少させ，システム全体の規模を縮小させること。【解決手段】ＳＤＲＡＭコントローラ１０１が上記ＳＤＲＡＭ１１０にアクセスするに際し，アドレスバス１３０とアドレス共通バス１３２とを接続すると共に，データバス１３４とアドレス／データ共通バス１３６とを接続する第１の接続手段と，ＲＯＭコントローラ１０２がＲＯＭ１２０にアクセスするに際し，アドレスバス１３１とアドレス共通バス１３２とを接続すると共に，アドレスバス１３３とアドレス／データ共通バス１３６とを接続する第２の接続手段とを具備する。【選択図】図１
2004334257.tif 000002
【特許請求の範囲】
【請求項１】
所定のメモリＡと，
上記メモリＡよりもアドレス端子数が多く，且つ，上記メモリＡよりもバス幅が小さい所定のメモリＢと，
上記メモリＡへのアクセスを実行するメモリコントローラＡと上記メモリＢへのアクセスを実行するメモリコントローラＢとを有し，所定のバスを介して上記メモリコントローラＡ及びメモリコントローラＢによる上記メモリＡ及び上記メモリＢへのアクセスを制御するメモリアクセス装置と，を備えたメモリアクセスシステムにおいて，
上記メモリアクセス装置は，
上記メモリコントローラＡから出力されたアドレス信号を上記メモリＡのアドレス端子に伝送する第１のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号と一致する上記メモリＢのアドレス端子に伝送する第２のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号とは不一致の上記メモリＢのアドレス端子に伝送する第３のアドレスバスと，所定のデータを上記メモリＡに伝送する第１のデータバスとを備え，
更に，上記メモリコントローラＡが上記メモリＡにアクセスするに際し，上記第１のアドレスバスと，上記メモリＡ及びメモリＢの上記一致するアドレス端子間を接続するアドレス共通バスとを接続すると共に，上記第１のデータバスと，上記第３のアドレスバス及び上記第１のデータバスを兼用するアドレス／データ共通バスとを接続する第１の接続手段と，
上記メモリコントローラＢが上記メモリＢにアクセスするに際し，上記第２のアドレスバスと上記アドレス共通バスとを接続すると共に，上記第３のアドレスバスと上記アドレス／データ共通バスとを接続する第２の接続手段と，
を備えてなることを特徴とするメモリアクセスシステム。
【請求項２】
上記メモリコントローラＡ若しくは上記メモリコントローラＢから出力された所定の切替要求信号に応じて，上記第１の接続手段による接続と，上記第２の接続手段による接続とを切り替える接続切替手段を更に具備してなる請求項１に記載のメモリアクセスシステム。
【請求項３】
少なくとも上記メモリＢのバス幅と同サイズのデータを上記メモリＡ或いは上記メモリＢに伝送する第２のデータバスと，
上記第１の接続手段により上記メモリコントローラＡから上記メモリＡに送信されたアドレス信号に基づき，上記メモリＡのバス幅のデータを上記第１のデータバス，上記アドレス／データバス，及び上記第２のデータバスを介して上記メモリＡに転送する手段を更に具備してなる請求項１又は２に記載のメモリアクセスシステム。
【請求項４】
上記第２の接続手段により上記メモリコントローラＢから上記メモリＢに送信されたアドレス信号に基づき，上記メモリＢのバス幅のデータを上記第１のデータバスを介して上記メモリＢに転送する手段を更に具備してなる請求項１〜３のいずれかに記載のメモリアクセスシステム。
【請求項５】
上記メモリＡが揮発性メモリであり，上記メモリＢが不揮発性メモリである請求項１〜４のいずれかに記載のメモリアクセスシステム。
【請求項６】
上記メモリＡが一定周期の外部クロック信号に同期して動作する同期メモリであり，上記メモリＢが任意のタイミングで動作する非同期メモリである請求項１〜５のいずれかに記載のメモリアクセスシステム。
【請求項７】
上記メモリＡがＤＲＡＭであり，上記メモリＢがＲＯＭである請求項１〜６のいずれかに記載のメモリアクセスシステム。
【請求項８】
所定のメモリＡへのアクセスを実行するメモリコントローラＡと，上記メモリＡよりもアドレス端子数が多く，且つ，上記メモリＡよりもバス幅が小さい所定のメモリＢへのアクセスを実行するメモリコントローラＢとを有し，所定のバスを介して上記メモリコントローラＡ及びメモリコントローラＢによる上記メモリＡ及び上記メモリＢへのアクセスを制御するメモリアクセス装置において，
上記メモリコントローラＡから出力されたアドレス信号を上記メモリＡのアドレス端子に伝送する第１のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号と一致する上記メモリＢのアドレス端子に伝送する第２のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号とは不一致の上記メモリＢのアドレス端子に伝送する第３のアドレスバスと，所定のデータを上記メモリＡに伝送する第１のデータバスとを備え，
更に，上記メモリコントローラＡが上記メモリＡにアクセスするに際し，上記第１のアドレスバスと，上記メモリＡ及びメモリＢの上記一致するアドレス端子間を接続する共通アドレスバスとを接続すると共に，上記第１のデータバスと，上記第３のアドレスバス及び上記第１のデータバスを兼用するアドレス／データ共通バスとを接続する第１の接続手段と，
上記メモリコントローラＢが上記メモリＢにアクセスするに際し，上記第２のアドレスバスと上記アドレス共通バスとを接続すると共に，上記第３のアドレスバスと上記アドレス／データ共通バスとを接続する第２の接続手段と，
を備えてなることを特徴とするメモリアクセス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，複数のメモリへのアクセスを制御するメモリアクセスシステム及びメモリアクセス装置に関し，特にバス幅の異なる複数のメモリに対し，該複数のメモリが共有するバスを介してアクセス制御を行うメモリアクセスシステム及びメモリアクセス装置に関するものである。
【０００２】
【従来の技術】
近年，メモリ技術の高度化に伴い，ＣＰＵのビット数に匹敵するバス幅を有するメモリが市場に登場するようになった。このようなバス幅の拡張は，直接的にＩＣメモリの端子数，及びアドレスバスの増加を招来させることになる。これにより，上記メモリに対するアクセスを制御するメモリコントローラ等が搭載された基板やＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のパッケージ規模が大きくなり，実装容積の拡大，或いは高コストという問題が生じていた。
【０００３】
かかる問題を解決するものに，複数のメモリに対してアドレス信号を伝送するアドレスバスを共通化し，システム全体のバス幅を減少させることにより，上記パッケージ規模を縮小させる技術が知られている。
例えば特許文献１には，複数のメモリに関するメモリ情報（メモリの種類に係る情報，読み出し速度に係る情報，記憶容量或いはバス幅に係る情報等）及びメモリコントローラから出力されたアクセス要求に応じたメモリに対して，複数のメモリが共有するバスを介してアクセス制御を実行するＲＯＭ装置が提案されている。これにより，複数のメモリの各端子全てに独立したバスを設ける必要がなくなるので，全体としてバス幅が縮小され，その結果，上記基板やＡＳＩＣ等のパッケージ規模を縮小することが可能となる。
【０００４】
ここで図２を用いて，画像形成装置等に用いられる複数のメモリへのアクセス制御を実行する従来のメモリアクセスシステム（以下，「従来システム」と略す。）について説明する。
上記従来システムは，大別すると，ＳＤＲＡＭ２１０と，ＲＯＭ２２０と，ＡＳＩＣ等のメモリアクセス装置２００と，ＳＤＲＡＭ２１０及びＲＯＭ２２０のアドレス端子間を接続するアドレス共通バス２３２と，上記各部を接続する種々のバスとを備えて構成されている。
【０００５】
上記ＳＤＲＡＭ２１０は，１０ピン（端子番号：Ａ１１〜Ａ２）のアドレス端子を有し，３２ビット（Ｄ３１〜Ｄ０）のバス幅を持つメモリである。従来システムでは，上記ＳＤＲＡＭ２１０は専ら画像形成における描画領域等に利用されている。ＳＤＲＡＭ２１０はバスインターフェースが一定周期のクロック信号に同期して動作するＤＲＡＭであり，後述するＳＤＲＡＭコントローラ２０１が発信するＣＬＫ信号に同期し，ＲＡＳ信号，ＣＡＳ信号，ＣＳ信号等に基づいて動作するものである。
【０００６】
上記ＲＯＭ２２０は，ＳＤＲＡＭ２１０のアドレス端子数より多い２１ピンのアドレス端子（端子番号：Ａ２２〜Ａ２）を有し，ＳＤＲＡＭ２１０と同じ３２ビット（Ｄ３１〜Ｄ０）のバス幅を持つメモリである。従来システムでは，ＲＯＭ２２０上で画像形成装置の初期化プログラムやファームウェア等のプログラムを動作させるのが一般的であり，そのため上記プログラム等は上記ＲＯＭ２２０に格納されている。従って，ＲＯＭ２２０には上記初期化プログラムやファームウェア等が格納されている関係上，不揮発性メモリが使用される。
【０００７】
上記メモリアクセス装置２００は，ＳＤＲＡＭコントローラ２０１，ＲＯＭコントローラ２０２，調停器２０３，セレクタ２０４，及び上記各部を接続する所定のバスを備えて構成されている。
【０００８】
上記ＳＤＲＡＭコントローラ２０１は上記ＳＤＲＡＭ２１０へのアクセスを実行するものである。具体的には，例えばＳＤＲＡＭコントローラ２０１が内部バス２４０に接続された不図示のＣＰＵから要求された画像データの転送要求信号を受信すると，転送すべき画像データの容量や種類等を確認した後に，当該画像データに対応するメモリ領域を決定する。その後，該メモリ領域の場所を示すアドレス信号を後述の調停器２０３を介してＳＤＲＡＭ２１０へ送信する。上記ＣＰＵは，ＳＤＲＡＭコントローラ２０１から出力されたアドレス信号が示すＳＤＲＡＭ２１０の所定の領域に上記画像データを転送する。この画像データは，メモリアクセス装置２００内の内部バス２４０，データバス２３８を介して上記ＳＤＲＡＭ２１０に転送される。
【０００９】
上記ＲＯＭコントローラ２０２は上記ＲＯＭ２２０へのアクセスを実行するものである。具体的には，例えばＣＰＵがＲＯＭ２２０に格納された初期化プログラム（ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ））或いはファームウェアプログラム等を読み出して実行する場合に，上記ＲＯＭコントローラ２０２がＣＰＵ等から要求された読出命令を受信すると，上記ファームウェア等が格納されたメモリ領域のアドレス信号を後述の調停器２０３を介してＲＯＭ２２０へ送信する。上記ＣＰＵはＲＯＭコントローラ２０２から出力されたアドレス信号が示すＲＯＭ２２０の所定の領域から上記ファームウェア等を読み出す処理を行なう。
【００１０】
上記調停器２０３は，上記各コントローラから出力された上記アドレス共通バス２３２の使用の許可を求めるバス使用要求信号を受信し，その後，上記アドレス共通バス２３２の稼動状況等を確認して上記各コントローラへ上記アドレス共通バス２３２の使用許可信号を返信するものである。更に，該使用許可信号を返信すると共に，後述するセレクタ２０４を用いて，上記許可信号が返信されたコントローラのアドレスバス（２３０或いは２３１）と上記アドレス共有バス２３２とを接続させる。
【００１１】
上記セレクタ２０４は，例えば調停器２０３から出力された上記各バスを接続させる接続指示信号等に基づいて上記ＳＤＲＡＭコントローラ２０１から出力されたアドレス信号を伝送するアドレスバス２３０或いはＲＯＭコントローラ２０２から出力されたアドレス信号を伝送するアドレスバス２３１の内のどちらかのバスを選択して，上記アドレス共通バス２３２に接続するものである。かかる接続は，例えば上記接続指示信号によりハード的に動作するトランジスタやリレー等のスイッチング素子によりバスの接続／切断を行なうものが考えられる。或いは上記ＳＤＲＡＭコントローラ２０１にアクセスを許可する場合には，当該ＳＤＲＡＭコントローラ２０１から出力されたアドレス信号の所定のビットを有効にしてアドレス信号をアサート状態にし，一方，ＲＯＭコントローラ２０２から出力されたアドレス信号に対しては，所定のビットを無効にしてアドレス信号をネゲート状態とすることによりソフト的に上記バスの接続を行なうことも考えられる。即ち，当該セレクタ２０４は上記アドレスバス２３０及びアドレスバス２３１を同時にアドレス共通バス２３２に接続することはしない。
【００１２】
このように構成されることにより，共通のアドレスバスを使用しても，上記ＳＤＲＡＭコントローラ２０１及びＲＯＭコントローラ２０２から出力されるアドレス信号が混在することはない。アクセスバスの共通化を実現することにより上記ＳＤＲＡＭコントローラ２０１，ＲＯＭコントローラ２０２，調停器２０３，セレクタ２０４等により構成されるメモリアクセス装置やＡＳＩＣ等の入出力端子数を減少させることができる。図２に示されるメモリアクセスシステムにおいては，ＳＤＲＡＭ２１０とＲＯＭ２２０のアドレスバスを共通化することにより，ＡＳＩＣ等のメモリアクセス装置のアドレス端子を１０ピン減少させることができる。
【００１３】
【特許文献１】特開２００１−２７０１６６号公報
【００１４】
【発明が解決しようとする課題】
しかしながら，メモリのバス幅は将来的に益々拡張されるものと考えられ，その場合は更なる装置規模の縮小に迫られることは必至である。
従って本発明は，上記事情に鑑みてなされたものであり，その目的とするところは，更に入出力端子数を減少させることにより，システム全体の規模を縮小させることができるメモリアクセスシステム及びメモリアクセス装置を提供することにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するために本発明は，所定のメモリＡと，
上記メモリＡよりもアドレス端子数が多く，且つ，上記メモリＡよりもバス幅が小さい所定のメモリＢと，
上記メモリＡへのアクセスを実行するメモリコントローラＡと上記メモリＢへのアクセスを実行するメモリコントローラＢとを有し，所定のバスを介して上記メモリコントローラＡ及びメモリコントローラＢによる上記メモリＡ及び上記メモリＢへのアクセスを制御するメモリアクセス装置と，を備えたメモリアクセスシステムにおいて，
上記メモリアクセス装置は，
上記メモリコントローラＡから出力されたアドレス信号を上記メモリＡのアドレス端子に伝送する第１のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号と一致する上記メモリＢのアドレス端子に伝送する第２のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号とは不一致の上記メモリＢのアドレス端子に伝送する第３のアドレスバスと，所定のデータを上記メモリＡに伝送する第１のデータバスとを備え，
更に，上記メモリコントローラＡが上記メモリＡにアクセスするに際し，上記第１のアドレスバスと，上記メモリＡ及びメモリＢの上記一致するアドレス端子間を接続するアドレス共通バスとを接続すると共に，上記第１のデータバスと，上記第３のアドレスバス及び上記第１のデータバスを兼用するアドレス／データ共通バスとを接続する第１の接続手段と，
上記メモリコントローラＢが上記メモリＢにアクセスするに際し，上記第２のアドレスバスと上記アドレス共通バスとを接続すると共に，上記第３のアドレスバスと上記アドレス／データ共通バスとを接続する第２の接続手段と，
を備えてなることを特徴とするメモリアクセスシステムとして構成されている。
これにより，メモリアクセス装置の入出力端子数を更に減少させることが可能となり，その結果，システム全体の規模を縮小させることが可能となる。
【００１６】
この場合，少なくとも上記メモリＢのバス幅と同サイズのデータを上記メモリＡ或いは上記メモリＢに伝送する第２のデータバスと，上記第１の接続手段により上記メモリコントローラＡから上記メモリＡに送信されたアドレス信号に基づき，上記メモリＡのバス幅のデータを上記第１のデータバス，上記アドレス／データバス，及び上記第２のデータバスを介して上記メモリＡに転送する手段を更に具備してなるものが考えられる。
【００１７】
また，上記第２の接続手段により上記メモリコントローラＢから上記メモリＢに送信されたアドレス信号に基づき，上記メモリＢのバス幅のデータを上記第１のデータバスを介して上記メモリＢに転送する手段を更に具備してなるものも考えられる。
【００１８】
この場合，上記メモリＡが揮発性メモリであり，上記メモリＢが不揮発性メモリであっても良い。
【００１９】
また，上記メモリＡが一定周期の外部クロック信号に同期して動作する同期メモリであり，上記メモリＢが任意のタイミングで動作する非同期メモリであっても良い。
【００２０】
更にまた，上記メモリＡがＤＲＡＭであり，上記メモリＢがＲＯＭであっても良い。
【００２１】
また，前記課題は，下記のメモリアクセス装置であっても解決され得るものである。
即ち，所定のメモリＡへのアクセスを実行するメモリコントローラＡと，上記メモリＡよりもアドレス端子数が多く，且つ，上記メモリＡよりもバス幅が小さい所定のメモリＢへのアクセスを実行するメモリコントローラＢとを有し，所定のバスを介して上記メモリコントローラＡ及びメモリコントローラＢによる上記メモリＡ及び上記メモリＢへのアクセスを制御するメモリアクセス装置において，
上記メモリコントローラＡから出力されたアドレス信号を上記メモリＡのアドレス端子に伝送する第１のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号と一致する上記メモリＢのアドレス端子に伝送する第２のアドレスバスと，上記メモリコントローラＢから出力されたアドレス信号を上記メモリＡのアドレス端子番号とは不一致の上記メモリＢのアドレス端子に伝送する第３のアドレスバスと，所定のデータを上記メモリＡに伝送する第１のデータバスとを備え，
更に，上記メモリコントローラＡが上記メモリＡにアクセスするに際し，上記第１のアドレスバスと，上記メモリＡ及びメモリＢの上記一致するアドレス端子間を接続する共通アドレスバスとを接続すると共に，上記第１のデータバスと，上記第３のアドレスバス及び上記第１のデータバスを兼用するアドレス／データ共通バスとを接続する第１の接続手段と，
上記メモリコントローラＢが上記メモリＢにアクセスするに際し，上記第２のアドレスバスと上記アドレス共通バスとを接続すると共に，上記第３のアドレスバスと上記アドレス／データ共通バスとを接続する第２の接続手段と，
を備えてなることを特徴とするメモリアクセス装置として構成されることにより，前記課題を解決することが可能となる。
【００２２】
【発明の実施の形態】
以下添付図面を参照しながら，本発明の実施の形態について説明し，本発明の理解に供する。尚，以下の実施の形態は，本発明を具体化した一例であって，本発明の技術的範囲を限定する性格のものではない。
ここに，図１は本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図，図２は従来のメモリアクセスシステムの構成を示すブロック図，図３は本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート，図４は本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャートである。
【００２３】
まず，図１を用いて，本発明の実施の形態に係るメモリアクセスシステムの構成の概要について説明する。
本メモリアクセスシステムは，大別して，メモリＡの一例であるＳＤＲＡＭ１１０と，メモリＢの一例であるＲＯＭ１２０と，メモリアクセス装置１００とにより構成されている。
【００２４】
上記ＳＤＲＡＭ１１０は，１０ピン（端子番号：Ａ１１〜Ａ２）のアドレス端子を有し，３２ビット（端子番号：Ｄ３１〜Ｄ０）のバス幅を持つメモリである。前記従来システムにおけるＳＤＲＡＭ２１０は専ら画像形成における描画領域等に利用されていたが，本発明の一実施形態に係るメモリアクセスシステムにおいては，上記ＳＤＲＡＭ１１０は画像形成における描画領域だけでなく，後述するＲＯＭ１２０から読み出されたファームウェア等のプログラムを記憶させる領域としても利用する。
近年，上記ＳＤＲＡＭ等の大容量高速ＲＡＭは，その価格が低下してきたことにより大変利用されやすくなった。従って，ＲＯＭ１２０よりも処理速度の速いＲＡＭ上でファームウェア等を実行させることにより，システム全体の処理速度を向上させることが容易に且つ低コストで実現できるようになった。従って，システム起動時或いはシステムリセット時にＲＯＭ１２０からファームウェア等のプログラムを上記ＳＤＲＡＭ１１０に転送させて，ＳＤＲＡＭ１１０上でファームウェア等のプログラムを実行させることとした。
【００２５】
このように，上記ファームウェアは上記ＳＤＲＡＭ１１０上で実行され，即ちＲＯＭ１２０上では実行されないため，ＲＯＭ１２０には従来のような高速性が要求されない。従って，ＲＯＭ１２０にはそれ程大きなバス幅を必要としない。このため，本発明の一実施形態に係るメモリアクセスシステムにおいては，例えば，ＳＤＲＡＭ１１０よりも小さい１６ビット（Ｄ１５〜Ｄ０）のバス幅のＲＯＭ１２０で十分対応することが可能となる。この場合，上記ファームウェア等のプログラムを圧縮して上記ＲＯＭ１２０に格納することとすれば，ＲＯＭ１２０のバス幅を更に小さくすることが可能となり，またメモリ容量も軽量にすることが可能となる。尚，上記ＲＯＭ１２０は上記ＳＤＲＡＭ１１０より多い２１ピンのアドレス端子（端子番号：Ａ２２〜Ａ２）を有しており，また，初期化プログラム（ＩＰＬ）やファームウェア等が格納されている関係上，不揮発性メモリが使用される。
【００２６】
上記メモリアクセス装置１００は，メモリコントローラＡの一例であるＳＤＲＡＭコントローラ１０１，メモリコントローラＢの一例であるＲＯＭコントローラ１０２，調停器１０３，第１の接続手段及び第２の接続手段の一例であるセレクタ１０４と，第２の接続手段の一例であるセレクタ１０５と，上記各部を接続する下記のバス１３０，１３１，１３３，１３４，１３５とを備えて構成されている。
尚，図中のＳＤＲＡＭコントローラ１０１から出力されたアドレス信号をＳＤＲＡＭ１１０のアドレス端子に伝送するアドレスバス１３０は第１のアドレスバスの一例であり，ＲＯＭコントローラ１０２から出力されたアドレス信号を上記ＳＤＲＡＭ１１０のアドレス端子番号と一致するＲＯＭ１２０のアドレス端子に伝送するアドレスバス１３１は第２のアドレスバスの一例であり，上記ＲＯＭコントローラ１０２から出力されたアドレス信号を上記ＳＤＲＡＭ１１０のアドレス端子番号とは不一致の上記ＲＯＭ１２０のアドレス端子に伝送するアドレスバス１３３は第３のアドレスバスの一例である。また，内部バス１４０から所定のデータを上記ＳＤＲＡＭ１１０に伝送するデータバス１３４は第１のデータバスの一例であり，少なくとも上記ＲＯＭ１２０のバス幅（１６ビット）と同サイズのデータを上記ＳＤＲＡＭ１１０或いは上記ＲＯＭ１２０に伝送するデータバス１３５が第２のデータバスの一例である。
【００２７】
上記ＳＤＲＡＭコントローラ１０１は前記従来システムおけるＳＤＲＡＭコントローラ２０１と同じく，上記ＳＤＲＡＭ１１０へのアクセスを実行するものである。上記ＳＤＲＡＭ１０１の具体的な処理動作については後段のフローチャートにおいて説明する。
【００２８】
上記ＲＯＭコントローラ１０２は前記従来システムにおけるＲＯＭコントローラ２０２と同じく，上記ＲＯＭ１２０へのアクセスを実行するものである。前述したように，本発明に係るメモリアクセスシステムでは，ファームウェアのプログラムが上記ＲＯＭ１２０上から実行されることはないので，上記ＲＯＭコントローラ１０２が上記ＲＯＭ１２０へアクセスするのは実質的にシステム起動時或いはシステムリセット時等に限られる。かかる場合の処理動作については後段のフローチャートにおいて説明する。
【００２９】
上記調停器１０３は，上記各コントローラから出力された後記アドレス共通バス１３２の使用の許可を求めるバス使用要求信号を受信し，その後，上記アドレス共通バスの使用状態等を確認して上記各コントローラへ上記アドレス共通バス１３２の使用許可信号を返信するものである。尚，上記アドレス共通バス１３２とは上記ＳＤＲＡＭ１１０及びＲＯＭ１２０との間で端子番号が一致するアドレス端子間を接続するアドレスバスをいう。この場合，上記調停器１０３が上記ＳＤＲＡＭコントローラ１０１に対して上記アドレス共通バス１３２の使用の許可を与える場合，即ち，上記ＳＤＲＡＭコントローラ１０１が上記ＳＤＲＡＭ１１０にアクセスする場合は，上記調停器１０３はセレクタ１０４を用いて上記アドレスバス１３０とアドレス共通バス１３２とを接続させると共に，セレクタ１０５を用いて上記データバス１３４とアドレス／データ共通バス１３６とを接続させる。尚，アドレス／データ共通バス１３６とは上記アドレスバス１３３及び上記データバス１３４を兼用するバスをいう。
また，上記調停器１０３が上記ＲＯＭコントローラ１０２に対して上記アドレス共通バス１３２の使用の許可を与える場合，即ち，上記ＲＯＭコントローラ１０２が上記ＲＯＭ１２０にアクセスする場合は，調停器１０３はセレクタ１０４を用いて上記アドレスバス１３１とアドレス共通バス１３２とを接続させると共に，セレクタ１０５を用いて上記アドレスバス１３３とアドレス／データ共通バス１３６とを接続させる。
【００３０】
上記セレクタ１０４は，例えば上記調停器１０３から出力された接続指示信号等に基づいて上記アドレスバス１３０或いは上記アドレスバス１３１の内のどちらかのバスを選択して上記アドレス共通バス１３２に接続するものである。また，セレクタ１０５は，上記接続指示信号等に基づいて上記データバス１３４と上記アドレスバス１３３の内のどちらかのバスを選択して上記アドレス／データ共通バス１３６に接続するものである。かかる接続は，前記従来システムにおけるセレクタ２０４と同様に，所定のスイッチング素子を用いてハード的に行なうことや，アドレス信号自体をアサート或いはネゲート状態にしてソフト的に行なうことが考えられる。
【００３１】
このように構成されることにより，アドレス端子数及びバス幅が異なる複数のメモリに対して共通のアドレスバスを使用することができるだけでなく，所定のアドレスバスとデータバスとを兼用することも可能となる。これにより，従来と較べて上記ＳＤＲＡＭコントローラ１０１，ＲＯＭコントローラ１０２，調停器１０３，セレクタ１０４，セレクタ１０５等により構成されるメモリアクセス装置やＡＳＩＣ等の入出力端子数を更に減少させることができる。
【００３２】
ここで，図３のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムを起動した後に実行される処理手順の一例について説明する。
まず最初に，図３（ａ）のフローチャートを用いてＣＰＵの動作処理について説明する。図中のＳ１０，Ｓ１１…は処理手順（ステップ）番号を示す。処理はステップ１０より開始される。システムが起動されると，プログラムカウンタがリセットベクタにセットされる。これは，システム起動と同時に，内部バス１４０に接続された不図示のＣＰＵがシステム全体を初期化する初期化プログラム（以下，「ＩＰＬ」と称す。）を実行するために行われる処理である。例えは，上記ＩＰＬがＲＯＭ１２０の０番地から１６３８３番地の記憶領域に格納されている場合は，上記プログラムカウンタはＲＯＭ１２０の０番地にセットされる。尚，プログラムカウンタとはＣＰＵが次に実行すべき命令のアドレスを示すカウンタをいい，リセットベクタとはシステム起動時やシステムリセット時等にリセット信号がアサートされた直後にプログラムカウンタがセットされるアドレスをいう。
システム起動後，上記ＣＰＵは，プログラムカウンタにセットされたアドレスを参照する（Ｓ１０）。起動直後は，前記したようにプログラムカウンタは上記リセットベクタ（ＲＯＭ１２０の０番地）にセットされているため，ＣＰＵはリセットベクタ（ＲＯＭ１２０の０番地）に格納された命令（プログラム）を読み出す要求をＲＯＭコントローラ１０２に対して行なう（Ｓ１１）。
ＲＯＭコントローラ１０２はセレクタ１０４，１０５を介してＲＯＭ１２０にアクセスし，ＲＯＭ１２０の０番地に格納されている命令を読み出すために，該０番地を示すアドレス信号をＲＯＭ１２０に出力する。ＲＯＭ１２０へ送信されるアドレス信号はＡ２２〜Ａ２の２１ビットで形成され，その内，Ａ１１〜Ａ２はアドレス共通バス１３２を介してＲＯＭ１２０へ出力され，Ａ２２〜Ａ１２はアドレス／データ共通バス１３６を介してＲＯＭ１２０へ出力される。
ＲＯＭコントローラ１０２によってアドレス信号が出力されることにより，ＣＰＵは直接上記アドレス信号に対応するＲＯＭ１２０のメモリ領域の命令を読み出すことが可能となり（Ｓ１２），その後，読み出された命令が実行される（Ｓ１３）。その後ＣＰＵは，スッテプＳ１４において例えばシステムダウンであると判断した場合は一連の処理を終了し，システム稼動であると判断した場合はステップＳ１０に戻り，上記プログラムカウンタに新たにセットされたアドレスにアクセスため，Ｓ１０以降の処理を繰り返す。
この場合，ステップＳ１２において読み出された命令はデータバス１３５を介してＣＰＵに転送される。ＲＯＭ１２０のデータバス幅は１６ビットであるため，上記命令は１６ビットのデータバス１３５のみにより転送することが可能である。上記ＩＰＬは，ＲＯＭ１２０に含まれるファームウェア等のプログラムデータを上記ＳＤＲＡＭ１１０に転送する処理を実行するプログラムを含むものである。従って，ＣＰＵが上記ＩＰＬを実行することにより，システム全体が初期化されると同時に，ＲＯＭ１２０に格納されたファームウェアが上記ＳＤＲＡＭ１１０に転送される。かかる転送処理については後段のフローチャートを用いて説明する。
【００３３】
次に，図３（ｂ）のフローチャートを用いてＲＯＭコントローラ１０２の動作処理について説明する。図中のＳ２０，Ｓ２１…は処理手順（ステップ）番号を示す。処理はステップ２０より開始される。上記ＲＯＭコントローラ１０２は，上記ＣＰＵから出力された命令読出要求を受信すると（Ｓ２０），当該読出要求に応じたアドレス信号（例えば０〜１６３８３番地を示す信号）をＲＯＭ１０２に出力するために，調停器１０３に対してアドレス共通バス１３２及びアドレス／データ共通バス１３６の使用を求めるバス使用要求信号を出力する（Ｓ２１）。その後，調停器１０３から上記バス使用許可信号が送信されるまで待機し，該バス使用許可信号を受信すると（Ｓ２２），上記アドレス共通バス１３２及びアドレス／データ共通バス１３６を介してＲＯＭ１２０へのアクセスを実行する（Ｓ２３）。
【００３４】
次に，図３（ｃ）のフローチャートを用いて調停器１０３の動作処理について説明する。図中のＳ３０，Ｓ３１…は処理手順（ステップ）番号を示す。処理はステップ３０より開始される。ＲＯＭコントローラ１０２から上記バス使用要求信号を受信すると（Ｓ３０），調停器１０３は上記アドレス共通バス１３２及びアドレス／データ共通バス１３６が現在使用中であるかどうかを判断する（Ｓ３１）。ここで，バスが使用中でない場合は上記バス使用要求信号受信後すぐに，バスが使用中である場合はその使用の終了後にセレクタ１０４を用いてアドレスバス１３１と上記アドレス共通バス１３２とを接続させると共に，セレクタ１０５を用いて上記アドレスバス１３３と上記アドレス／データ共通バス１３６とを接続させる（Ｓ３２）。その後，上記ＲＯＭコントローラ１０２に対してアドレス共通バス１３２及びアドレス／データ共通バス１３６の使用許可信号を送信する（Ｓ３３）。尚，ここでは調停器１０３がステップＳ３２において所定のバスを接続させた後に上記ＲＯＭコントローラ１０２対して使用許可信号を送信する（Ｓ３３）こととしたが，上記ステップＳ３２とＳ３３の処理が同時に行なわれる手順であっても差し支えはない。
【００３５】
このように，上記ＲＯＭ１２０のバス幅は１６ビットであるため，１６ビットデータバス１３５のみでデータの転送を行うことが可能である。従って，ＲＯＭコントローラ１０２がＲＯＭ１２０にアクセスしている間は他の１６ビットデータバス１３４は使用されることがない。従ってこの場合はバス１３６をアドレス信号（Ａ２２〜Ａ１２）を伝送するアドレスバスとして使用することにより，上記アドレス共通バス１３２を従来の２１ビットから１０ビットに減少させることが可能となる。
【００３６】
ここで，図４のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムのＣＰＵが上記ＩＰＬを読み出して実行することにより，ＲＯＭ１２０のファームウェアを上記ＳＤＲＡＭ１１０に転送して書き込む処理について説明する。まず，図４（ａ）のフローチャートを用いてＣＰＵの動作処理について説明する。図中のＳ４０，Ｓ４１…は処理手順（ステップ）番号を示す。処理はステップ４０より開始される。
ＣＰＵはＲＯＭ１２０のファームウェアを上記ＳＤＲＡＭ１１０に転送するために，上記ＲＯＭコントローラ１０２及び調停器１０３に対して，上記ステップＳ２０〜Ｓ２３，Ｓ３０〜Ｓ３３の処理を実行させることにより，データバス１３５を介して，ファームウェア読出命令（ＩＰＬの一命令）をＲＯＭ１２０から読み出す処理を実行する（Ｓ４０）。このファームウェア読出命令は，プログラムカウンタに従って，上記ＲＯＭ１２０のファームウェア格納領域（１６３８４〜３２７６７番地）のデータを読み出すための命令である。このファームウェア読出命令が実行されることにより，上記ファームウェアがＲＯＭ１１０から読み出される（Ｓ４１）。
続いてＣＰＵはプログラムカウンタに従って，上記ファームウェアを上記ＳＤＲＡＭ１１０に書き込むためのファームウェア書込命令（ＩＰＬの一命令）を上記ＲＯＭ１２０から読み出す処理を実行する（Ｓ４２）。このファームウェア書込命令が実行されることにより，上記ＳＤＲＡＭコントローラ１０１が上記ＳＤＲＡＭ１１０にアクセスし，上記ファームウェア書込命令に応じたアドレスに上記ファームウェアが書き込まれる（Ｓ４３）。
尚，上記ファームウェア読出命令及びファームウェア書込命令は上記ＩＰＬの一命令であり，ＩＰＬが読み出されることにより実行される命令である。
上記ＲＯＭ１２０に格納されたファームウェアが全て読み出され，上記ＳＤＲＡＭ１１０に書き込まれるまで上記ステップＳ４０〜Ｓ４３の処理が繰り返し実行される。例えばＳＤＲＡＭ１１０内の上記アドレス領域が３２７６８〜４９１５１番地の領域である場合は，ＣＰＵは３２７６８番地から順次上記ファームウェアのプログラムを書き込む処理を繰り返し実行する。この場合，上記ＳＤＲＡＭ１１０のバス幅は３２ビットであるため，上記１６ビットのデータバス１３５だけでなく，他の１６ビットのデータバス１３４をも用いて上記ファームウェアのプログラムを上記ＳＤＲＡＭ１１０に書き込む処理を行なう。
【００３７】
次に，図４（ｂ）のフローチャートを用いてＳＤＲＡＭコントローラ１０１が上記書込命令を受信した後の動作処理について説明する。図中のＳ５０，Ｓ５１…は処理手順（ステップ）番号を示す。処理はステップＳ５０より開始される。上記ＳＤＲＡＭコントローラ１０１は，上記ＣＰＵから送信されたファームウェア書込命令を受信すると（Ｓ５０），当該書込信号に応じたアドレス信号（３２７６８〜４９１５１番地を示す信号）をＳＤＲＡＭ１１０に出力するため，調停器１０３に対してアドレス共通バス１３２及びアドレス／データ共通バス１３６の使用を求めるバス使用要求信号を出力する（Ｓ５１）。
その後，調停器１０３から上記バス使用許可信号が送信されるまで待機し，当該バス使用許可信号を受信すると（Ｓ５２），上記アドレス共通バス１３２及びアドレス／データ共通バス１３６を介してＳＤＲＡＭ１１０へのアクセスを実行する（Ｓ５３）。
【００３８】
次に，図４（ｃ）のフローチャートを用いて調停器１０３の動作処理について説明する。図中のＳ６０，Ｓ６１…は処理手順（ステップ）番号を示す。処理はステップＳ６０より開始される。ＳＤＲＡＭコントローラ１０１から上記バス使用要求信号を受信すると（Ｓ６０），調停器１０３は上記アドレス共通バス１３２及びアドレス／データ共通バス１３６が現在使用中であるかどうかを判断する（Ｓ６１）。ここで，バスが使用中でない場合は上記バス使用要求信号受信後すぐに，バスが使用中である場合はその使用の終了後にセレクタ１０４を用いてアドレスバス１３０と上記アドレス共通バス１３２とを接続させると共に，セレクタ１０５を用いて上記データバス１３４と上記アドレス／データ共通バス１３６とを接続させる。（Ｓ６２）。その後，上記ＳＤＲＡＭコントローラ１０１に対してアドレス共通バス１３２及びアドレス／データ共通バス１３６の使用許可信号を送信する（Ｓ６３）。尚，ここでは調停器１０３がステップＳ６２において所定のバスを接続させた後に上記ＳＤＲＡＭコントローラ１０１対して使用許可信号を送信する（Ｓ６３）こととしたが，前記図３（ｃ）のフローチャートにおける調停器１０３の動作処理と同様に上記ステップＳ６２とＳ６３の処理が同時に行なわれる手順であっても差し支えはない。
【００３９】
このように，上記ＳＤＲＡＭ１１０のバス幅は３２ビットであり，データバス１３５のみではデータの転送を行うことができないので，上記アドレス／データ共通バス１３６をも用いてデータの転送を行なう。上記ＳＤＲＡＭ１１０はアドレス信号（Ａ１１〜Ａ２）のみによりＳＤＲＡＭ１１０のアドレス領域を指定することができるため，上記アドレス／データ共通バス１３６をアドレスバスとして使用する必要がない。
【００４０】
上述したように，上記ＲＯＭコントローラ１０２がＲＯＭ１２０にアクセスする場合は上記アドレス／データ共通バス１３６をアドレスバスとして使用し，上記ＳＤＲＡＭコントローラ１０１がＳＤＲＡＭ１１０にアクセスする場合は上記アドレス／データ共通バス１３６を１６ビットのデータバスとして使用することにより，前記従来システムと較べてメモリアクセス装置１００のアドレス端子数を更に１１ピン減少させることができる。これにより，システム全体の規模を更に縮小させることが可能となる。
【００４１】
上述の一実施形態では，メモリＡの一例としてＳＤＲＡＭ１１０，メモリＢの一例としてＲＯＭ１２０を例示して説明したが，特にこれに限定されることはない。例えば，メモリＡが揮発性メモリ，ＤＲＡＭ，或いは一定周期の外部クロック信号に同期して動作する同期メモリであっても良い。また，メモリＢが不揮発性メモリ，或いは任意のタイミングで動作する非同期メモリであっても同様の効果を奏する。
【００４２】
【発明の効果】
以上説明したように，本発明は，バス幅及びアドレス端子数が異なる複数のメモリに対して，アドレスバスを共通に使用するだけでなく，所定のアドレスバスとデータバスとを兼用して使用するメモリアクセスシステムとして構成されているため，システムに使用される入出力端子数を減少し，システム全体の規模を縮小させることが可能となる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図。
【図２】従来のメモリアクセスシステムの構成を示すブロック図。
【図３】本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート。
【図４】本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャート。
【符号の説明】
１００，２００…メモリアクセス装置
１０１，２０１…ＳＤＲＡＭコントローラ
１０２，２０２…ＲＯＭコントローラ
１０３，２０３…調停器
１０４，２０４…セレクタ
１３０，１３１，１３２，１３３…アドレスバス
１３４，１３５…データバス
１４０…内部バス
２３０，２３１，２３２…アドレスバス
２３８…データバス
２４０…内部バス
【図１】
2004334257.tif 000003
【図２】
2004334257.tif 000004
【図３】
2004334257.tif 000005
【図４】
2004334257.tif 000006