JP2004334257A - メモリアクセスシステム及びメモリアクセス装置 - Google Patents
メモリアクセスシステム及びメモリアクセス装置 Download PDFInfo
- Publication number
- JP2004334257A JP2004334257A JP2003124739A JP2003124739A JP2004334257A JP 2004334257 A JP2004334257 A JP 2004334257A JP 2003124739 A JP2003124739 A JP 2003124739A JP 2003124739 A JP2003124739 A JP 2003124739A JP 2004334257 A JP2004334257 A JP 2004334257A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- bus
- data
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】メモリへ接続されるバス幅を減少させることによりアクセス装置等の入出力端子数を減少させ,システム全体の規模を縮小させること。
【解決手段】SDRAMコントローラ101が上記SDRAM110にアクセスするに際し,アドレスバス130とアドレス共通バス132とを接続すると共に,データバス134とアドレス/データ共通バス136とを接続する第1の接続手段と,ROMコントローラ102がROM120にアクセスするに際し,アドレスバス131とアドレス共通バス132とを接続すると共に,アドレスバス133とアドレス/データ共通バス136とを接続する第2の接続手段とを具備する。
【選択図】図1
【解決手段】SDRAMコントローラ101が上記SDRAM110にアクセスするに際し,アドレスバス130とアドレス共通バス132とを接続すると共に,データバス134とアドレス/データ共通バス136とを接続する第1の接続手段と,ROMコントローラ102がROM120にアクセスするに際し,アドレスバス131とアドレス共通バス132とを接続すると共に,アドレスバス133とアドレス/データ共通バス136とを接続する第2の接続手段とを具備する。
【選択図】図1
Description
【0001】
【発明の属する技術分野】
本発明は,複数のメモリへのアクセスを制御するメモリアクセスシステム及びメモリアクセス装置に関し,特にバス幅の異なる複数のメモリに対し,該複数のメモリが共有するバスを介してアクセス制御を行うメモリアクセスシステム及びメモリアクセス装置に関するものである。
【0002】
【従来の技術】
近年,メモリ技術の高度化に伴い,CPUのビット数に匹敵するバス幅を有するメモリが市場に登場するようになった。このようなバス幅の拡張は,直接的にICメモリの端子数,及びアドレスバスの増加を招来させることになる。これにより,上記メモリに対するアクセスを制御するメモリコントローラ等が搭載された基板やASIC(Application Specific Integrated Circuit)等のパッケージ規模が大きくなり,実装容積の拡大,或いは高コストという問題が生じていた。
【0003】
かかる問題を解決するものに,複数のメモリに対してアドレス信号を伝送するアドレスバスを共通化し,システム全体のバス幅を減少させることにより,上記パッケージ規模を縮小させる技術が知られている。
例えば特許文献1には,複数のメモリに関するメモリ情報(メモリの種類に係る情報,読み出し速度に係る情報,記憶容量或いはバス幅に係る情報等)及びメモリコントローラから出力されたアクセス要求に応じたメモリに対して,複数のメモリが共有するバスを介してアクセス制御を実行するROM装置が提案されている。これにより,複数のメモリの各端子全てに独立したバスを設ける必要がなくなるので,全体としてバス幅が縮小され,その結果,上記基板やASIC等のパッケージ規模を縮小することが可能となる。
【0004】
ここで図2を用いて,画像形成装置等に用いられる複数のメモリへのアクセス制御を実行する従来のメモリアクセスシステム(以下,「従来システム」と略す。)について説明する。
上記従来システムは,大別すると,SDRAM210と,ROM220と,ASIC等のメモリアクセス装置200と,SDRAM210及びROM220のアドレス端子間を接続するアドレス共通バス232と,上記各部を接続する種々のバスとを備えて構成されている。
【0005】
上記SDRAM210は,10ピン(端子番号:A11〜A2)のアドレス端子を有し,32ビット(D31〜D0)のバス幅を持つメモリである。従来システムでは,上記SDRAM210は専ら画像形成における描画領域等に利用されている。SDRAM210はバスインターフェースが一定周期のクロック信号に同期して動作するDRAMであり,後述するSDRAMコントローラ201が発信するCLK信号に同期し,RAS信号,CAS信号,CS信号等に基づいて動作するものである。
【0006】
上記ROM220は,SDRAM210のアドレス端子数より多い21ピンのアドレス端子(端子番号:A22〜A2)を有し,SDRAM210と同じ32ビット(D31〜D0)のバス幅を持つメモリである。従来システムでは,ROM220上で画像形成装置の初期化プログラムやファームウェア等のプログラムを動作させるのが一般的であり,そのため上記プログラム等は上記ROM220に格納されている。従って,ROM220には上記初期化プログラムやファームウェア等が格納されている関係上,不揮発性メモリが使用される。
【0007】
上記メモリアクセス装置200は,SDRAMコントローラ201,ROMコントローラ202,調停器203,セレクタ204,及び上記各部を接続する所定のバスを備えて構成されている。
【0008】
上記SDRAMコントローラ201は上記SDRAM210へのアクセスを実行するものである。具体的には,例えばSDRAMコントローラ201が内部バス240に接続された不図示のCPUから要求された画像データの転送要求信号を受信すると,転送すべき画像データの容量や種類等を確認した後に,当該画像データに対応するメモリ領域を決定する。その後,該メモリ領域の場所を示すアドレス信号を後述の調停器203を介してSDRAM210へ送信する。上記CPUは,SDRAMコントローラ201から出力されたアドレス信号が示すSDRAM210の所定の領域に上記画像データを転送する。この画像データは,メモリアクセス装置200内の内部バス240,データバス238を介して上記SDRAM210に転送される。
【0009】
上記ROMコントローラ202は上記ROM220へのアクセスを実行するものである。具体的には,例えばCPUがROM220に格納された初期化プログラム(IPL(Initial Program Loader))或いはファームウェアプログラム等を読み出して実行する場合に,上記ROMコントローラ202がCPU等から要求された読出命令を受信すると,上記ファームウェア等が格納されたメモリ領域のアドレス信号を後述の調停器203を介してROM220へ送信する。上記CPUはROMコントローラ202から出力されたアドレス信号が示すROM220の所定の領域から上記ファームウェア等を読み出す処理を行なう。
【0010】
上記調停器203は,上記各コントローラから出力された上記アドレス共通バス232の使用の許可を求めるバス使用要求信号を受信し,その後,上記アドレス共通バス232の稼動状況等を確認して上記各コントローラへ上記アドレス共通バス232の使用許可信号を返信するものである。更に,該使用許可信号を返信すると共に,後述するセレクタ204を用いて,上記許可信号が返信されたコントローラのアドレスバス(230或いは231)と上記アドレス共有バス232とを接続させる。
【0011】
上記セレクタ204は,例えば調停器203から出力された上記各バスを接続させる接続指示信号等に基づいて上記SDRAMコントローラ201から出力されたアドレス信号を伝送するアドレスバス230或いはROMコントローラ202から出力されたアドレス信号を伝送するアドレスバス231の内のどちらかのバスを選択して,上記アドレス共通バス232に接続するものである。かかる接続は,例えば上記接続指示信号によりハード的に動作するトランジスタやリレー等のスイッチング素子によりバスの接続/切断を行なうものが考えられる。或いは上記SDRAMコントローラ201にアクセスを許可する場合には,当該SDRAMコントローラ201から出力されたアドレス信号の所定のビットを有効にしてアドレス信号をアサート状態にし,一方,ROMコントローラ202から出力されたアドレス信号に対しては,所定のビットを無効にしてアドレス信号をネゲート状態とすることによりソフト的に上記バスの接続を行なうことも考えられる。即ち,当該セレクタ204は上記アドレスバス230及びアドレスバス231を同時にアドレス共通バス232に接続することはしない。
【0012】
このように構成されることにより,共通のアドレスバスを使用しても,上記SDRAMコントローラ201及びROMコントローラ202から出力されるアドレス信号が混在することはない。アクセスバスの共通化を実現することにより上記SDRAMコントローラ201,ROMコントローラ202,調停器203,セレクタ204等により構成されるメモリアクセス装置やASIC等の入出力端子数を減少させることができる。図2に示されるメモリアクセスシステムにおいては,SDRAM210とROM220のアドレスバスを共通化することにより,ASIC等のメモリアクセス装置のアドレス端子を10ピン減少させることができる。
【0013】
【特許文献1】特開2001−270166号公報
【0014】
【発明が解決しようとする課題】
しかしながら,メモリのバス幅は将来的に益々拡張されるものと考えられ,その場合は更なる装置規模の縮小に迫られることは必至である。
従って本発明は,上記事情に鑑みてなされたものであり,その目的とするところは,更に入出力端子数を減少させることにより,システム全体の規模を縮小させることができるメモリアクセスシステム及びメモリアクセス装置を提供することにある。
【0015】
【課題を解決するための手段】
上記目的を達成するために本発明は,所定のメモリAと,
上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBと,
上記メモリAへのアクセスを実行するメモリコントローラAと上記メモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置と,を備えたメモリアクセスシステムにおいて,
上記メモリアクセス装置は,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続するアドレス共通バスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセスシステムとして構成されている。
これにより,メモリアクセス装置の入出力端子数を更に減少させることが可能となり,その結果,システム全体の規模を縮小させることが可能となる。
【0016】
この場合,少なくとも上記メモリBのバス幅と同サイズのデータを上記メモリA或いは上記メモリBに伝送する第2のデータバスと,上記第1の接続手段により上記メモリコントローラAから上記メモリAに送信されたアドレス信号に基づき,上記メモリAのバス幅のデータを上記第1のデータバス,上記アドレス/データバス,及び上記第2のデータバスを介して上記メモリAに転送する手段を更に具備してなるものが考えられる。
【0017】
また,上記第2の接続手段により上記メモリコントローラBから上記メモリBに送信されたアドレス信号に基づき,上記メモリBのバス幅のデータを上記第1のデータバスを介して上記メモリBに転送する手段を更に具備してなるものも考えられる。
【0018】
この場合,上記メモリAが揮発性メモリであり,上記メモリBが不揮発性メモリであっても良い。
【0019】
また,上記メモリAが一定周期の外部クロック信号に同期して動作する同期メモリであり,上記メモリBが任意のタイミングで動作する非同期メモリであっても良い。
【0020】
更にまた,上記メモリAがDRAMであり,上記メモリBがROMであっても良い。
【0021】
また,前記課題は,下記のメモリアクセス装置であっても解決され得るものである。
即ち,所定のメモリAへのアクセスを実行するメモリコントローラAと,上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置において,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続する共通アドレスバスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセス装置として構成されることにより,前記課題を解決することが可能となる。
【0022】
【発明の実施の形態】
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図,図2は従来のメモリアクセスシステムの構成を示すブロック図,図3は本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート,図4は本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャートである。
【0023】
まず,図1を用いて,本発明の実施の形態に係るメモリアクセスシステムの構成の概要について説明する。
本メモリアクセスシステムは,大別して,メモリAの一例であるSDRAM110と,メモリBの一例であるROM120と,メモリアクセス装置100とにより構成されている。
【0024】
上記SDRAM110は,10ピン(端子番号:A11〜A2)のアドレス端子を有し,32ビット(端子番号:D31〜D0)のバス幅を持つメモリである。前記従来システムにおけるSDRAM210は専ら画像形成における描画領域等に利用されていたが,本発明の一実施形態に係るメモリアクセスシステムにおいては,上記SDRAM110は画像形成における描画領域だけでなく,後述するROM120から読み出されたファームウェア等のプログラムを記憶させる領域としても利用する。
近年,上記SDRAM等の大容量高速RAMは,その価格が低下してきたことにより大変利用されやすくなった。従って,ROM120よりも処理速度の速いRAM上でファームウェア等を実行させることにより,システム全体の処理速度を向上させることが容易に且つ低コストで実現できるようになった。従って,システム起動時或いはシステムリセット時にROM120からファームウェア等のプログラムを上記SDRAM110に転送させて,SDRAM110上でファームウェア等のプログラムを実行させることとした。
【0025】
このように,上記ファームウェアは上記SDRAM110上で実行され,即ちROM120上では実行されないため,ROM120には従来のような高速性が要求されない。従って,ROM120にはそれ程大きなバス幅を必要としない。このため,本発明の一実施形態に係るメモリアクセスシステムにおいては,例えば,SDRAM110よりも小さい16ビット(D15〜D0)のバス幅のROM120で十分対応することが可能となる。この場合,上記ファームウェア等のプログラムを圧縮して上記ROM120に格納することとすれば,ROM120のバス幅を更に小さくすることが可能となり,またメモリ容量も軽量にすることが可能となる。尚,上記ROM120は上記SDRAM110より多い21ピンのアドレス端子(端子番号:A22〜A2)を有しており,また,初期化プログラム(IPL)やファームウェア等が格納されている関係上,不揮発性メモリが使用される。
【0026】
上記メモリアクセス装置100は,メモリコントローラAの一例であるSDRAMコントローラ101,メモリコントローラBの一例であるROMコントローラ102,調停器103,第1の接続手段及び第2の接続手段の一例であるセレクタ104と,第2の接続手段の一例であるセレクタ105と,上記各部を接続する下記のバス130,131,133,134,135とを備えて構成されている。
尚,図中のSDRAMコントローラ101から出力されたアドレス信号をSDRAM110のアドレス端子に伝送するアドレスバス130は第1のアドレスバスの一例であり,ROMコントローラ102から出力されたアドレス信号を上記SDRAM110のアドレス端子番号と一致するROM120のアドレス端子に伝送するアドレスバス131は第2のアドレスバスの一例であり,上記ROMコントローラ102から出力されたアドレス信号を上記SDRAM110のアドレス端子番号とは不一致の上記ROM120のアドレス端子に伝送するアドレスバス133は第3のアドレスバスの一例である。また,内部バス140から所定のデータを上記SDRAM110に伝送するデータバス134は第1のデータバスの一例であり,少なくとも上記ROM120のバス幅(16ビット)と同サイズのデータを上記SDRAM110或いは上記ROM120に伝送するデータバス135が第2のデータバスの一例である。
【0027】
上記SDRAMコントローラ101は前記従来システムおけるSDRAMコントローラ201と同じく,上記SDRAM110へのアクセスを実行するものである。上記SDRAM101の具体的な処理動作については後段のフローチャートにおいて説明する。
【0028】
上記ROMコントローラ102は前記従来システムにおけるROMコントローラ202と同じく,上記ROM120へのアクセスを実行するものである。前述したように,本発明に係るメモリアクセスシステムでは,ファームウェアのプログラムが上記ROM120上から実行されることはないので,上記ROMコントローラ102が上記ROM120へアクセスするのは実質的にシステム起動時或いはシステムリセット時等に限られる。かかる場合の処理動作については後段のフローチャートにおいて説明する。
【0029】
上記調停器103は,上記各コントローラから出力された後記アドレス共通バス132の使用の許可を求めるバス使用要求信号を受信し,その後,上記アドレス共通バスの使用状態等を確認して上記各コントローラへ上記アドレス共通バス132の使用許可信号を返信するものである。尚,上記アドレス共通バス132とは上記SDRAM110及びROM120との間で端子番号が一致するアドレス端子間を接続するアドレスバスをいう。この場合,上記調停器103が上記SDRAMコントローラ101に対して上記アドレス共通バス132の使用の許可を与える場合,即ち,上記SDRAMコントローラ101が上記SDRAM110にアクセスする場合は,上記調停器103はセレクタ104を用いて上記アドレスバス130とアドレス共通バス132とを接続させると共に,セレクタ105を用いて上記データバス134とアドレス/データ共通バス136とを接続させる。尚,アドレス/データ共通バス136とは上記アドレスバス133及び上記データバス134を兼用するバスをいう。
また,上記調停器103が上記ROMコントローラ102に対して上記アドレス共通バス132の使用の許可を与える場合,即ち,上記ROMコントローラ102が上記ROM120にアクセスする場合は,調停器103はセレクタ104を用いて上記アドレスバス131とアドレス共通バス132とを接続させると共に,セレクタ105を用いて上記アドレスバス133とアドレス/データ共通バス136とを接続させる。
【0030】
上記セレクタ104は,例えば上記調停器103から出力された接続指示信号等に基づいて上記アドレスバス130或いは上記アドレスバス131の内のどちらかのバスを選択して上記アドレス共通バス132に接続するものである。また,セレクタ105は,上記接続指示信号等に基づいて上記データバス134と上記アドレスバス133の内のどちらかのバスを選択して上記アドレス/データ共通バス136に接続するものである。かかる接続は,前記従来システムにおけるセレクタ204と同様に,所定のスイッチング素子を用いてハード的に行なうことや,アドレス信号自体をアサート或いはネゲート状態にしてソフト的に行なうことが考えられる。
【0031】
このように構成されることにより,アドレス端子数及びバス幅が異なる複数のメモリに対して共通のアドレスバスを使用することができるだけでなく,所定のアドレスバスとデータバスとを兼用することも可能となる。これにより,従来と較べて上記SDRAMコントローラ101,ROMコントローラ102,調停器103,セレクタ104,セレクタ105等により構成されるメモリアクセス装置やASIC等の入出力端子数を更に減少させることができる。
【0032】
ここで,図3のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムを起動した後に実行される処理手順の一例について説明する。
まず最初に,図3(a)のフローチャートを用いてCPUの動作処理について説明する。図中のS10,S11…は処理手順(ステップ)番号を示す。処理はステップ10より開始される。システムが起動されると,プログラムカウンタがリセットベクタにセットされる。これは,システム起動と同時に,内部バス140に接続された不図示のCPUがシステム全体を初期化する初期化プログラム(以下,「IPL」と称す。)を実行するために行われる処理である。例えは,上記IPLがROM120の0番地から16383番地の記憶領域に格納されている場合は,上記プログラムカウンタはROM120の0番地にセットされる。尚,プログラムカウンタとはCPUが次に実行すべき命令のアドレスを示すカウンタをいい,リセットベクタとはシステム起動時やシステムリセット時等にリセット信号がアサートされた直後にプログラムカウンタがセットされるアドレスをいう。
システム起動後,上記CPUは,プログラムカウンタにセットされたアドレスを参照する(S10)。起動直後は,前記したようにプログラムカウンタは上記リセットベクタ(ROM120の0番地)にセットされているため,CPUはリセットベクタ(ROM120の0番地)に格納された命令(プログラム)を読み出す要求をROMコントローラ102に対して行なう(S11)。
ROMコントローラ102はセレクタ104,105を介してROM120にアクセスし,ROM120の0番地に格納されている命令を読み出すために,該0番地を示すアドレス信号をROM120に出力する。ROM120へ送信されるアドレス信号はA22〜A2の21ビットで形成され,その内,A11〜A2はアドレス共通バス132を介してROM120へ出力され,A22〜A12はアドレス/データ共通バス136を介してROM120へ出力される。
ROMコントローラ102によってアドレス信号が出力されることにより,CPUは直接上記アドレス信号に対応するROM120のメモリ領域の命令を読み出すことが可能となり(S12),その後,読み出された命令が実行される(S13)。その後CPUは,スッテプS14において例えばシステムダウンであると判断した場合は一連の処理を終了し,システム稼動であると判断した場合はステップS10に戻り,上記プログラムカウンタに新たにセットされたアドレスにアクセスため,S10以降の処理を繰り返す。
この場合,ステップS12において読み出された命令はデータバス135を介してCPUに転送される。ROM120のデータバス幅は16ビットであるため,上記命令は16ビットのデータバス135のみにより転送することが可能である。上記IPLは,ROM120に含まれるファームウェア等のプログラムデータを上記SDRAM110に転送する処理を実行するプログラムを含むものである。従って,CPUが上記IPLを実行することにより,システム全体が初期化されると同時に,ROM120に格納されたファームウェアが上記SDRAM110に転送される。かかる転送処理については後段のフローチャートを用いて説明する。
【0033】
次に,図3(b)のフローチャートを用いてROMコントローラ102の動作処理について説明する。図中のS20,S21…は処理手順(ステップ)番号を示す。処理はステップ20より開始される。上記ROMコントローラ102は,上記CPUから出力された命令読出要求を受信すると(S20),当該読出要求に応じたアドレス信号(例えば0〜16383番地を示す信号)をROM102に出力するために,調停器103に対してアドレス共通バス132及びアドレス/データ共通バス136の使用を求めるバス使用要求信号を出力する(S21)。その後,調停器103から上記バス使用許可信号が送信されるまで待機し,該バス使用許可信号を受信すると(S22),上記アドレス共通バス132及びアドレス/データ共通バス136を介してROM120へのアクセスを実行する(S23)。
【0034】
次に,図3(c)のフローチャートを用いて調停器103の動作処理について説明する。図中のS30,S31…は処理手順(ステップ)番号を示す。処理はステップ30より開始される。ROMコントローラ102から上記バス使用要求信号を受信すると(S30),調停器103は上記アドレス共通バス132及びアドレス/データ共通バス136が現在使用中であるかどうかを判断する(S31)。ここで,バスが使用中でない場合は上記バス使用要求信号受信後すぐに,バスが使用中である場合はその使用の終了後にセレクタ104を用いてアドレスバス131と上記アドレス共通バス132とを接続させると共に,セレクタ105を用いて上記アドレスバス133と上記アドレス/データ共通バス136とを接続させる(S32)。その後,上記ROMコントローラ102に対してアドレス共通バス132及びアドレス/データ共通バス136の使用許可信号を送信する(S33)。尚,ここでは調停器103がステップS32において所定のバスを接続させた後に上記ROMコントローラ102対して使用許可信号を送信する(S33)こととしたが,上記ステップS32とS33の処理が同時に行なわれる手順であっても差し支えはない。
【0035】
このように,上記ROM120のバス幅は16ビットであるため,16ビットデータバス135のみでデータの転送を行うことが可能である。従って,ROMコントローラ102がROM120にアクセスしている間は他の16ビットデータバス134は使用されることがない。従ってこの場合はバス136をアドレス信号(A22〜A12)を伝送するアドレスバスとして使用することにより,上記アドレス共通バス132を従来の21ビットから10ビットに減少させることが可能となる。
【0036】
ここで,図4のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムのCPUが上記IPLを読み出して実行することにより,ROM120のファームウェアを上記SDRAM110に転送して書き込む処理について説明する。まず,図4(a)のフローチャートを用いてCPUの動作処理について説明する。図中のS40,S41…は処理手順(ステップ)番号を示す。処理はステップ40より開始される。
CPUはROM120のファームウェアを上記SDRAM110に転送するために,上記ROMコントローラ102及び調停器103に対して,上記ステップS20〜S23,S30〜S33の処理を実行させることにより,データバス135を介して,ファームウェア読出命令(IPLの一命令)をROM120から読み出す処理を実行する(S40)。このファームウェア読出命令は,プログラムカウンタに従って,上記ROM120のファームウェア格納領域(16384〜32767番地)のデータを読み出すための命令である。このファームウェア読出命令が実行されることにより,上記ファームウェアがROM110から読み出される(S41)。
続いてCPUはプログラムカウンタに従って,上記ファームウェアを上記SDRAM110に書き込むためのファームウェア書込命令(IPLの一命令)を上記ROM120から読み出す処理を実行する(S42)。このファームウェア書込命令が実行されることにより,上記SDRAMコントローラ101が上記SDRAM110にアクセスし,上記ファームウェア書込命令に応じたアドレスに上記ファームウェアが書き込まれる(S43)。
尚,上記ファームウェア読出命令及びファームウェア書込命令は上記IPLの一命令であり,IPLが読み出されることにより実行される命令である。
上記ROM120に格納されたファームウェアが全て読み出され,上記SDRAM110に書き込まれるまで上記ステップS40〜S43の処理が繰り返し実行される。例えばSDRAM110内の上記アドレス領域が32768〜49151番地の領域である場合は,CPUは32768番地から順次上記ファームウェアのプログラムを書き込む処理を繰り返し実行する。この場合,上記SDRAM110のバス幅は32ビットであるため,上記16ビットのデータバス135だけでなく,他の16ビットのデータバス134をも用いて上記ファームウェアのプログラムを上記SDRAM110に書き込む処理を行なう。
【0037】
次に,図4(b)のフローチャートを用いてSDRAMコントローラ101が上記書込命令を受信した後の動作処理について説明する。図中のS50,S51…は処理手順(ステップ)番号を示す。処理はステップS50より開始される。上記SDRAMコントローラ101は,上記CPUから送信されたファームウェア書込命令を受信すると(S50),当該書込信号に応じたアドレス信号(32768〜49151番地を示す信号)をSDRAM110に出力するため,調停器103に対してアドレス共通バス132及びアドレス/データ共通バス136の使用を求めるバス使用要求信号を出力する(S51)。
その後,調停器103から上記バス使用許可信号が送信されるまで待機し,当該バス使用許可信号を受信すると(S52),上記アドレス共通バス132及びアドレス/データ共通バス136を介してSDRAM110へのアクセスを実行する(S53)。
【0038】
次に,図4(c)のフローチャートを用いて調停器103の動作処理について説明する。図中のS60,S61…は処理手順(ステップ)番号を示す。処理はステップS60より開始される。SDRAMコントローラ101から上記バス使用要求信号を受信すると(S60),調停器103は上記アドレス共通バス132及びアドレス/データ共通バス136が現在使用中であるかどうかを判断する(S61)。ここで,バスが使用中でない場合は上記バス使用要求信号受信後すぐに,バスが使用中である場合はその使用の終了後にセレクタ104を用いてアドレスバス130と上記アドレス共通バス132とを接続させると共に,セレクタ105を用いて上記データバス134と上記アドレス/データ共通バス136とを接続させる。(S62)。その後,上記SDRAMコントローラ101に対してアドレス共通バス132及びアドレス/データ共通バス136の使用許可信号を送信する(S63)。尚,ここでは調停器103がステップS62において所定のバスを接続させた後に上記SDRAMコントローラ101対して使用許可信号を送信する(S63)こととしたが,前記図3(c)のフローチャートにおける調停器103の動作処理と同様に上記ステップS62とS63の処理が同時に行なわれる手順であっても差し支えはない。
【0039】
このように,上記SDRAM110のバス幅は32ビットであり,データバス135のみではデータの転送を行うことができないので,上記アドレス/データ共通バス136をも用いてデータの転送を行なう。上記SDRAM110はアドレス信号(A11〜A2)のみによりSDRAM110のアドレス領域を指定することができるため,上記アドレス/データ共通バス136をアドレスバスとして使用する必要がない。
【0040】
上述したように,上記ROMコントローラ102がROM120にアクセスする場合は上記アドレス/データ共通バス136をアドレスバスとして使用し,上記SDRAMコントローラ101がSDRAM110にアクセスする場合は上記アドレス/データ共通バス136を16ビットのデータバスとして使用することにより,前記従来システムと較べてメモリアクセス装置100のアドレス端子数を更に11ピン減少させることができる。これにより,システム全体の規模を更に縮小させることが可能となる。
【0041】
上述の一実施形態では,メモリAの一例としてSDRAM110,メモリBの一例としてROM120を例示して説明したが,特にこれに限定されることはない。例えば,メモリAが揮発性メモリ,DRAM,或いは一定周期の外部クロック信号に同期して動作する同期メモリであっても良い。また,メモリBが不揮発性メモリ,或いは任意のタイミングで動作する非同期メモリであっても同様の効果を奏する。
【0042】
【発明の効果】
以上説明したように,本発明は,バス幅及びアドレス端子数が異なる複数のメモリに対して,アドレスバスを共通に使用するだけでなく,所定のアドレスバスとデータバスとを兼用して使用するメモリアクセスシステムとして構成されているため,システムに使用される入出力端子数を減少し,システム全体の規模を縮小させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図。
【図2】従来のメモリアクセスシステムの構成を示すブロック図。
【図3】本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート。
【図4】本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャート。
【符号の説明】
100,200…メモリアクセス装置
101,201…SDRAMコントローラ
102,202…ROMコントローラ
103,203…調停器
104,204…セレクタ
130,131,132,133…アドレスバス
134,135…データバス
140…内部バス
230,231,232…アドレスバス
238…データバス
240…内部バス
【発明の属する技術分野】
本発明は,複数のメモリへのアクセスを制御するメモリアクセスシステム及びメモリアクセス装置に関し,特にバス幅の異なる複数のメモリに対し,該複数のメモリが共有するバスを介してアクセス制御を行うメモリアクセスシステム及びメモリアクセス装置に関するものである。
【0002】
【従来の技術】
近年,メモリ技術の高度化に伴い,CPUのビット数に匹敵するバス幅を有するメモリが市場に登場するようになった。このようなバス幅の拡張は,直接的にICメモリの端子数,及びアドレスバスの増加を招来させることになる。これにより,上記メモリに対するアクセスを制御するメモリコントローラ等が搭載された基板やASIC(Application Specific Integrated Circuit)等のパッケージ規模が大きくなり,実装容積の拡大,或いは高コストという問題が生じていた。
【0003】
かかる問題を解決するものに,複数のメモリに対してアドレス信号を伝送するアドレスバスを共通化し,システム全体のバス幅を減少させることにより,上記パッケージ規模を縮小させる技術が知られている。
例えば特許文献1には,複数のメモリに関するメモリ情報(メモリの種類に係る情報,読み出し速度に係る情報,記憶容量或いはバス幅に係る情報等)及びメモリコントローラから出力されたアクセス要求に応じたメモリに対して,複数のメモリが共有するバスを介してアクセス制御を実行するROM装置が提案されている。これにより,複数のメモリの各端子全てに独立したバスを設ける必要がなくなるので,全体としてバス幅が縮小され,その結果,上記基板やASIC等のパッケージ規模を縮小することが可能となる。
【0004】
ここで図2を用いて,画像形成装置等に用いられる複数のメモリへのアクセス制御を実行する従来のメモリアクセスシステム(以下,「従来システム」と略す。)について説明する。
上記従来システムは,大別すると,SDRAM210と,ROM220と,ASIC等のメモリアクセス装置200と,SDRAM210及びROM220のアドレス端子間を接続するアドレス共通バス232と,上記各部を接続する種々のバスとを備えて構成されている。
【0005】
上記SDRAM210は,10ピン(端子番号:A11〜A2)のアドレス端子を有し,32ビット(D31〜D0)のバス幅を持つメモリである。従来システムでは,上記SDRAM210は専ら画像形成における描画領域等に利用されている。SDRAM210はバスインターフェースが一定周期のクロック信号に同期して動作するDRAMであり,後述するSDRAMコントローラ201が発信するCLK信号に同期し,RAS信号,CAS信号,CS信号等に基づいて動作するものである。
【0006】
上記ROM220は,SDRAM210のアドレス端子数より多い21ピンのアドレス端子(端子番号:A22〜A2)を有し,SDRAM210と同じ32ビット(D31〜D0)のバス幅を持つメモリである。従来システムでは,ROM220上で画像形成装置の初期化プログラムやファームウェア等のプログラムを動作させるのが一般的であり,そのため上記プログラム等は上記ROM220に格納されている。従って,ROM220には上記初期化プログラムやファームウェア等が格納されている関係上,不揮発性メモリが使用される。
【0007】
上記メモリアクセス装置200は,SDRAMコントローラ201,ROMコントローラ202,調停器203,セレクタ204,及び上記各部を接続する所定のバスを備えて構成されている。
【0008】
上記SDRAMコントローラ201は上記SDRAM210へのアクセスを実行するものである。具体的には,例えばSDRAMコントローラ201が内部バス240に接続された不図示のCPUから要求された画像データの転送要求信号を受信すると,転送すべき画像データの容量や種類等を確認した後に,当該画像データに対応するメモリ領域を決定する。その後,該メモリ領域の場所を示すアドレス信号を後述の調停器203を介してSDRAM210へ送信する。上記CPUは,SDRAMコントローラ201から出力されたアドレス信号が示すSDRAM210の所定の領域に上記画像データを転送する。この画像データは,メモリアクセス装置200内の内部バス240,データバス238を介して上記SDRAM210に転送される。
【0009】
上記ROMコントローラ202は上記ROM220へのアクセスを実行するものである。具体的には,例えばCPUがROM220に格納された初期化プログラム(IPL(Initial Program Loader))或いはファームウェアプログラム等を読み出して実行する場合に,上記ROMコントローラ202がCPU等から要求された読出命令を受信すると,上記ファームウェア等が格納されたメモリ領域のアドレス信号を後述の調停器203を介してROM220へ送信する。上記CPUはROMコントローラ202から出力されたアドレス信号が示すROM220の所定の領域から上記ファームウェア等を読み出す処理を行なう。
【0010】
上記調停器203は,上記各コントローラから出力された上記アドレス共通バス232の使用の許可を求めるバス使用要求信号を受信し,その後,上記アドレス共通バス232の稼動状況等を確認して上記各コントローラへ上記アドレス共通バス232の使用許可信号を返信するものである。更に,該使用許可信号を返信すると共に,後述するセレクタ204を用いて,上記許可信号が返信されたコントローラのアドレスバス(230或いは231)と上記アドレス共有バス232とを接続させる。
【0011】
上記セレクタ204は,例えば調停器203から出力された上記各バスを接続させる接続指示信号等に基づいて上記SDRAMコントローラ201から出力されたアドレス信号を伝送するアドレスバス230或いはROMコントローラ202から出力されたアドレス信号を伝送するアドレスバス231の内のどちらかのバスを選択して,上記アドレス共通バス232に接続するものである。かかる接続は,例えば上記接続指示信号によりハード的に動作するトランジスタやリレー等のスイッチング素子によりバスの接続/切断を行なうものが考えられる。或いは上記SDRAMコントローラ201にアクセスを許可する場合には,当該SDRAMコントローラ201から出力されたアドレス信号の所定のビットを有効にしてアドレス信号をアサート状態にし,一方,ROMコントローラ202から出力されたアドレス信号に対しては,所定のビットを無効にしてアドレス信号をネゲート状態とすることによりソフト的に上記バスの接続を行なうことも考えられる。即ち,当該セレクタ204は上記アドレスバス230及びアドレスバス231を同時にアドレス共通バス232に接続することはしない。
【0012】
このように構成されることにより,共通のアドレスバスを使用しても,上記SDRAMコントローラ201及びROMコントローラ202から出力されるアドレス信号が混在することはない。アクセスバスの共通化を実現することにより上記SDRAMコントローラ201,ROMコントローラ202,調停器203,セレクタ204等により構成されるメモリアクセス装置やASIC等の入出力端子数を減少させることができる。図2に示されるメモリアクセスシステムにおいては,SDRAM210とROM220のアドレスバスを共通化することにより,ASIC等のメモリアクセス装置のアドレス端子を10ピン減少させることができる。
【0013】
【特許文献1】特開2001−270166号公報
【0014】
【発明が解決しようとする課題】
しかしながら,メモリのバス幅は将来的に益々拡張されるものと考えられ,その場合は更なる装置規模の縮小に迫られることは必至である。
従って本発明は,上記事情に鑑みてなされたものであり,その目的とするところは,更に入出力端子数を減少させることにより,システム全体の規模を縮小させることができるメモリアクセスシステム及びメモリアクセス装置を提供することにある。
【0015】
【課題を解決するための手段】
上記目的を達成するために本発明は,所定のメモリAと,
上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBと,
上記メモリAへのアクセスを実行するメモリコントローラAと上記メモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置と,を備えたメモリアクセスシステムにおいて,
上記メモリアクセス装置は,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続するアドレス共通バスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセスシステムとして構成されている。
これにより,メモリアクセス装置の入出力端子数を更に減少させることが可能となり,その結果,システム全体の規模を縮小させることが可能となる。
【0016】
この場合,少なくとも上記メモリBのバス幅と同サイズのデータを上記メモリA或いは上記メモリBに伝送する第2のデータバスと,上記第1の接続手段により上記メモリコントローラAから上記メモリAに送信されたアドレス信号に基づき,上記メモリAのバス幅のデータを上記第1のデータバス,上記アドレス/データバス,及び上記第2のデータバスを介して上記メモリAに転送する手段を更に具備してなるものが考えられる。
【0017】
また,上記第2の接続手段により上記メモリコントローラBから上記メモリBに送信されたアドレス信号に基づき,上記メモリBのバス幅のデータを上記第1のデータバスを介して上記メモリBに転送する手段を更に具備してなるものも考えられる。
【0018】
この場合,上記メモリAが揮発性メモリであり,上記メモリBが不揮発性メモリであっても良い。
【0019】
また,上記メモリAが一定周期の外部クロック信号に同期して動作する同期メモリであり,上記メモリBが任意のタイミングで動作する非同期メモリであっても良い。
【0020】
更にまた,上記メモリAがDRAMであり,上記メモリBがROMであっても良い。
【0021】
また,前記課題は,下記のメモリアクセス装置であっても解決され得るものである。
即ち,所定のメモリAへのアクセスを実行するメモリコントローラAと,上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置において,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続する共通アドレスバスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセス装置として構成されることにより,前記課題を解決することが可能となる。
【0022】
【発明の実施の形態】
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図,図2は従来のメモリアクセスシステムの構成を示すブロック図,図3は本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート,図4は本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャートである。
【0023】
まず,図1を用いて,本発明の実施の形態に係るメモリアクセスシステムの構成の概要について説明する。
本メモリアクセスシステムは,大別して,メモリAの一例であるSDRAM110と,メモリBの一例であるROM120と,メモリアクセス装置100とにより構成されている。
【0024】
上記SDRAM110は,10ピン(端子番号:A11〜A2)のアドレス端子を有し,32ビット(端子番号:D31〜D0)のバス幅を持つメモリである。前記従来システムにおけるSDRAM210は専ら画像形成における描画領域等に利用されていたが,本発明の一実施形態に係るメモリアクセスシステムにおいては,上記SDRAM110は画像形成における描画領域だけでなく,後述するROM120から読み出されたファームウェア等のプログラムを記憶させる領域としても利用する。
近年,上記SDRAM等の大容量高速RAMは,その価格が低下してきたことにより大変利用されやすくなった。従って,ROM120よりも処理速度の速いRAM上でファームウェア等を実行させることにより,システム全体の処理速度を向上させることが容易に且つ低コストで実現できるようになった。従って,システム起動時或いはシステムリセット時にROM120からファームウェア等のプログラムを上記SDRAM110に転送させて,SDRAM110上でファームウェア等のプログラムを実行させることとした。
【0025】
このように,上記ファームウェアは上記SDRAM110上で実行され,即ちROM120上では実行されないため,ROM120には従来のような高速性が要求されない。従って,ROM120にはそれ程大きなバス幅を必要としない。このため,本発明の一実施形態に係るメモリアクセスシステムにおいては,例えば,SDRAM110よりも小さい16ビット(D15〜D0)のバス幅のROM120で十分対応することが可能となる。この場合,上記ファームウェア等のプログラムを圧縮して上記ROM120に格納することとすれば,ROM120のバス幅を更に小さくすることが可能となり,またメモリ容量も軽量にすることが可能となる。尚,上記ROM120は上記SDRAM110より多い21ピンのアドレス端子(端子番号:A22〜A2)を有しており,また,初期化プログラム(IPL)やファームウェア等が格納されている関係上,不揮発性メモリが使用される。
【0026】
上記メモリアクセス装置100は,メモリコントローラAの一例であるSDRAMコントローラ101,メモリコントローラBの一例であるROMコントローラ102,調停器103,第1の接続手段及び第2の接続手段の一例であるセレクタ104と,第2の接続手段の一例であるセレクタ105と,上記各部を接続する下記のバス130,131,133,134,135とを備えて構成されている。
尚,図中のSDRAMコントローラ101から出力されたアドレス信号をSDRAM110のアドレス端子に伝送するアドレスバス130は第1のアドレスバスの一例であり,ROMコントローラ102から出力されたアドレス信号を上記SDRAM110のアドレス端子番号と一致するROM120のアドレス端子に伝送するアドレスバス131は第2のアドレスバスの一例であり,上記ROMコントローラ102から出力されたアドレス信号を上記SDRAM110のアドレス端子番号とは不一致の上記ROM120のアドレス端子に伝送するアドレスバス133は第3のアドレスバスの一例である。また,内部バス140から所定のデータを上記SDRAM110に伝送するデータバス134は第1のデータバスの一例であり,少なくとも上記ROM120のバス幅(16ビット)と同サイズのデータを上記SDRAM110或いは上記ROM120に伝送するデータバス135が第2のデータバスの一例である。
【0027】
上記SDRAMコントローラ101は前記従来システムおけるSDRAMコントローラ201と同じく,上記SDRAM110へのアクセスを実行するものである。上記SDRAM101の具体的な処理動作については後段のフローチャートにおいて説明する。
【0028】
上記ROMコントローラ102は前記従来システムにおけるROMコントローラ202と同じく,上記ROM120へのアクセスを実行するものである。前述したように,本発明に係るメモリアクセスシステムでは,ファームウェアのプログラムが上記ROM120上から実行されることはないので,上記ROMコントローラ102が上記ROM120へアクセスするのは実質的にシステム起動時或いはシステムリセット時等に限られる。かかる場合の処理動作については後段のフローチャートにおいて説明する。
【0029】
上記調停器103は,上記各コントローラから出力された後記アドレス共通バス132の使用の許可を求めるバス使用要求信号を受信し,その後,上記アドレス共通バスの使用状態等を確認して上記各コントローラへ上記アドレス共通バス132の使用許可信号を返信するものである。尚,上記アドレス共通バス132とは上記SDRAM110及びROM120との間で端子番号が一致するアドレス端子間を接続するアドレスバスをいう。この場合,上記調停器103が上記SDRAMコントローラ101に対して上記アドレス共通バス132の使用の許可を与える場合,即ち,上記SDRAMコントローラ101が上記SDRAM110にアクセスする場合は,上記調停器103はセレクタ104を用いて上記アドレスバス130とアドレス共通バス132とを接続させると共に,セレクタ105を用いて上記データバス134とアドレス/データ共通バス136とを接続させる。尚,アドレス/データ共通バス136とは上記アドレスバス133及び上記データバス134を兼用するバスをいう。
また,上記調停器103が上記ROMコントローラ102に対して上記アドレス共通バス132の使用の許可を与える場合,即ち,上記ROMコントローラ102が上記ROM120にアクセスする場合は,調停器103はセレクタ104を用いて上記アドレスバス131とアドレス共通バス132とを接続させると共に,セレクタ105を用いて上記アドレスバス133とアドレス/データ共通バス136とを接続させる。
【0030】
上記セレクタ104は,例えば上記調停器103から出力された接続指示信号等に基づいて上記アドレスバス130或いは上記アドレスバス131の内のどちらかのバスを選択して上記アドレス共通バス132に接続するものである。また,セレクタ105は,上記接続指示信号等に基づいて上記データバス134と上記アドレスバス133の内のどちらかのバスを選択して上記アドレス/データ共通バス136に接続するものである。かかる接続は,前記従来システムにおけるセレクタ204と同様に,所定のスイッチング素子を用いてハード的に行なうことや,アドレス信号自体をアサート或いはネゲート状態にしてソフト的に行なうことが考えられる。
【0031】
このように構成されることにより,アドレス端子数及びバス幅が異なる複数のメモリに対して共通のアドレスバスを使用することができるだけでなく,所定のアドレスバスとデータバスとを兼用することも可能となる。これにより,従来と較べて上記SDRAMコントローラ101,ROMコントローラ102,調停器103,セレクタ104,セレクタ105等により構成されるメモリアクセス装置やASIC等の入出力端子数を更に減少させることができる。
【0032】
ここで,図3のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムを起動した後に実行される処理手順の一例について説明する。
まず最初に,図3(a)のフローチャートを用いてCPUの動作処理について説明する。図中のS10,S11…は処理手順(ステップ)番号を示す。処理はステップ10より開始される。システムが起動されると,プログラムカウンタがリセットベクタにセットされる。これは,システム起動と同時に,内部バス140に接続された不図示のCPUがシステム全体を初期化する初期化プログラム(以下,「IPL」と称す。)を実行するために行われる処理である。例えは,上記IPLがROM120の0番地から16383番地の記憶領域に格納されている場合は,上記プログラムカウンタはROM120の0番地にセットされる。尚,プログラムカウンタとはCPUが次に実行すべき命令のアドレスを示すカウンタをいい,リセットベクタとはシステム起動時やシステムリセット時等にリセット信号がアサートされた直後にプログラムカウンタがセットされるアドレスをいう。
システム起動後,上記CPUは,プログラムカウンタにセットされたアドレスを参照する(S10)。起動直後は,前記したようにプログラムカウンタは上記リセットベクタ(ROM120の0番地)にセットされているため,CPUはリセットベクタ(ROM120の0番地)に格納された命令(プログラム)を読み出す要求をROMコントローラ102に対して行なう(S11)。
ROMコントローラ102はセレクタ104,105を介してROM120にアクセスし,ROM120の0番地に格納されている命令を読み出すために,該0番地を示すアドレス信号をROM120に出力する。ROM120へ送信されるアドレス信号はA22〜A2の21ビットで形成され,その内,A11〜A2はアドレス共通バス132を介してROM120へ出力され,A22〜A12はアドレス/データ共通バス136を介してROM120へ出力される。
ROMコントローラ102によってアドレス信号が出力されることにより,CPUは直接上記アドレス信号に対応するROM120のメモリ領域の命令を読み出すことが可能となり(S12),その後,読み出された命令が実行される(S13)。その後CPUは,スッテプS14において例えばシステムダウンであると判断した場合は一連の処理を終了し,システム稼動であると判断した場合はステップS10に戻り,上記プログラムカウンタに新たにセットされたアドレスにアクセスため,S10以降の処理を繰り返す。
この場合,ステップS12において読み出された命令はデータバス135を介してCPUに転送される。ROM120のデータバス幅は16ビットであるため,上記命令は16ビットのデータバス135のみにより転送することが可能である。上記IPLは,ROM120に含まれるファームウェア等のプログラムデータを上記SDRAM110に転送する処理を実行するプログラムを含むものである。従って,CPUが上記IPLを実行することにより,システム全体が初期化されると同時に,ROM120に格納されたファームウェアが上記SDRAM110に転送される。かかる転送処理については後段のフローチャートを用いて説明する。
【0033】
次に,図3(b)のフローチャートを用いてROMコントローラ102の動作処理について説明する。図中のS20,S21…は処理手順(ステップ)番号を示す。処理はステップ20より開始される。上記ROMコントローラ102は,上記CPUから出力された命令読出要求を受信すると(S20),当該読出要求に応じたアドレス信号(例えば0〜16383番地を示す信号)をROM102に出力するために,調停器103に対してアドレス共通バス132及びアドレス/データ共通バス136の使用を求めるバス使用要求信号を出力する(S21)。その後,調停器103から上記バス使用許可信号が送信されるまで待機し,該バス使用許可信号を受信すると(S22),上記アドレス共通バス132及びアドレス/データ共通バス136を介してROM120へのアクセスを実行する(S23)。
【0034】
次に,図3(c)のフローチャートを用いて調停器103の動作処理について説明する。図中のS30,S31…は処理手順(ステップ)番号を示す。処理はステップ30より開始される。ROMコントローラ102から上記バス使用要求信号を受信すると(S30),調停器103は上記アドレス共通バス132及びアドレス/データ共通バス136が現在使用中であるかどうかを判断する(S31)。ここで,バスが使用中でない場合は上記バス使用要求信号受信後すぐに,バスが使用中である場合はその使用の終了後にセレクタ104を用いてアドレスバス131と上記アドレス共通バス132とを接続させると共に,セレクタ105を用いて上記アドレスバス133と上記アドレス/データ共通バス136とを接続させる(S32)。その後,上記ROMコントローラ102に対してアドレス共通バス132及びアドレス/データ共通バス136の使用許可信号を送信する(S33)。尚,ここでは調停器103がステップS32において所定のバスを接続させた後に上記ROMコントローラ102対して使用許可信号を送信する(S33)こととしたが,上記ステップS32とS33の処理が同時に行なわれる手順であっても差し支えはない。
【0035】
このように,上記ROM120のバス幅は16ビットであるため,16ビットデータバス135のみでデータの転送を行うことが可能である。従って,ROMコントローラ102がROM120にアクセスしている間は他の16ビットデータバス134は使用されることがない。従ってこの場合はバス136をアドレス信号(A22〜A12)を伝送するアドレスバスとして使用することにより,上記アドレス共通バス132を従来の21ビットから10ビットに減少させることが可能となる。
【0036】
ここで,図4のフローチャートを用いて本発明の実施の形態に係るメモリアクセスシステムのCPUが上記IPLを読み出して実行することにより,ROM120のファームウェアを上記SDRAM110に転送して書き込む処理について説明する。まず,図4(a)のフローチャートを用いてCPUの動作処理について説明する。図中のS40,S41…は処理手順(ステップ)番号を示す。処理はステップ40より開始される。
CPUはROM120のファームウェアを上記SDRAM110に転送するために,上記ROMコントローラ102及び調停器103に対して,上記ステップS20〜S23,S30〜S33の処理を実行させることにより,データバス135を介して,ファームウェア読出命令(IPLの一命令)をROM120から読み出す処理を実行する(S40)。このファームウェア読出命令は,プログラムカウンタに従って,上記ROM120のファームウェア格納領域(16384〜32767番地)のデータを読み出すための命令である。このファームウェア読出命令が実行されることにより,上記ファームウェアがROM110から読み出される(S41)。
続いてCPUはプログラムカウンタに従って,上記ファームウェアを上記SDRAM110に書き込むためのファームウェア書込命令(IPLの一命令)を上記ROM120から読み出す処理を実行する(S42)。このファームウェア書込命令が実行されることにより,上記SDRAMコントローラ101が上記SDRAM110にアクセスし,上記ファームウェア書込命令に応じたアドレスに上記ファームウェアが書き込まれる(S43)。
尚,上記ファームウェア読出命令及びファームウェア書込命令は上記IPLの一命令であり,IPLが読み出されることにより実行される命令である。
上記ROM120に格納されたファームウェアが全て読み出され,上記SDRAM110に書き込まれるまで上記ステップS40〜S43の処理が繰り返し実行される。例えばSDRAM110内の上記アドレス領域が32768〜49151番地の領域である場合は,CPUは32768番地から順次上記ファームウェアのプログラムを書き込む処理を繰り返し実行する。この場合,上記SDRAM110のバス幅は32ビットであるため,上記16ビットのデータバス135だけでなく,他の16ビットのデータバス134をも用いて上記ファームウェアのプログラムを上記SDRAM110に書き込む処理を行なう。
【0037】
次に,図4(b)のフローチャートを用いてSDRAMコントローラ101が上記書込命令を受信した後の動作処理について説明する。図中のS50,S51…は処理手順(ステップ)番号を示す。処理はステップS50より開始される。上記SDRAMコントローラ101は,上記CPUから送信されたファームウェア書込命令を受信すると(S50),当該書込信号に応じたアドレス信号(32768〜49151番地を示す信号)をSDRAM110に出力するため,調停器103に対してアドレス共通バス132及びアドレス/データ共通バス136の使用を求めるバス使用要求信号を出力する(S51)。
その後,調停器103から上記バス使用許可信号が送信されるまで待機し,当該バス使用許可信号を受信すると(S52),上記アドレス共通バス132及びアドレス/データ共通バス136を介してSDRAM110へのアクセスを実行する(S53)。
【0038】
次に,図4(c)のフローチャートを用いて調停器103の動作処理について説明する。図中のS60,S61…は処理手順(ステップ)番号を示す。処理はステップS60より開始される。SDRAMコントローラ101から上記バス使用要求信号を受信すると(S60),調停器103は上記アドレス共通バス132及びアドレス/データ共通バス136が現在使用中であるかどうかを判断する(S61)。ここで,バスが使用中でない場合は上記バス使用要求信号受信後すぐに,バスが使用中である場合はその使用の終了後にセレクタ104を用いてアドレスバス130と上記アドレス共通バス132とを接続させると共に,セレクタ105を用いて上記データバス134と上記アドレス/データ共通バス136とを接続させる。(S62)。その後,上記SDRAMコントローラ101に対してアドレス共通バス132及びアドレス/データ共通バス136の使用許可信号を送信する(S63)。尚,ここでは調停器103がステップS62において所定のバスを接続させた後に上記SDRAMコントローラ101対して使用許可信号を送信する(S63)こととしたが,前記図3(c)のフローチャートにおける調停器103の動作処理と同様に上記ステップS62とS63の処理が同時に行なわれる手順であっても差し支えはない。
【0039】
このように,上記SDRAM110のバス幅は32ビットであり,データバス135のみではデータの転送を行うことができないので,上記アドレス/データ共通バス136をも用いてデータの転送を行なう。上記SDRAM110はアドレス信号(A11〜A2)のみによりSDRAM110のアドレス領域を指定することができるため,上記アドレス/データ共通バス136をアドレスバスとして使用する必要がない。
【0040】
上述したように,上記ROMコントローラ102がROM120にアクセスする場合は上記アドレス/データ共通バス136をアドレスバスとして使用し,上記SDRAMコントローラ101がSDRAM110にアクセスする場合は上記アドレス/データ共通バス136を16ビットのデータバスとして使用することにより,前記従来システムと較べてメモリアクセス装置100のアドレス端子数を更に11ピン減少させることができる。これにより,システム全体の規模を更に縮小させることが可能となる。
【0041】
上述の一実施形態では,メモリAの一例としてSDRAM110,メモリBの一例としてROM120を例示して説明したが,特にこれに限定されることはない。例えば,メモリAが揮発性メモリ,DRAM,或いは一定周期の外部クロック信号に同期して動作する同期メモリであっても良い。また,メモリBが不揮発性メモリ,或いは任意のタイミングで動作する非同期メモリであっても同様の効果を奏する。
【0042】
【発明の効果】
以上説明したように,本発明は,バス幅及びアドレス端子数が異なる複数のメモリに対して,アドレスバスを共通に使用するだけでなく,所定のアドレスバスとデータバスとを兼用して使用するメモリアクセスシステムとして構成されているため,システムに使用される入出力端子数を減少し,システム全体の規模を縮小させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るメモリアクセスシステムの構成を示すブロック図。
【図2】従来のメモリアクセスシステムの構成を示すブロック図。
【図3】本発明の実施の形態に係るメモリアクセスシステムにおいてシステム起動後に実行される処理手順を示すフローチャート。
【図4】本発明の実施の形態に係るメモリアクセスシステムにおいて初期化プログラム実行時になされる処理手順を示すフローチャート。
【符号の説明】
100,200…メモリアクセス装置
101,201…SDRAMコントローラ
102,202…ROMコントローラ
103,203…調停器
104,204…セレクタ
130,131,132,133…アドレスバス
134,135…データバス
140…内部バス
230,231,232…アドレスバス
238…データバス
240…内部バス
Claims (8)
- 所定のメモリAと,
上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBと,
上記メモリAへのアクセスを実行するメモリコントローラAと上記メモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置と,を備えたメモリアクセスシステムにおいて,
上記メモリアクセス装置は,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続するアドレス共通バスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセスシステム。 - 上記メモリコントローラA若しくは上記メモリコントローラBから出力された所定の切替要求信号に応じて,上記第1の接続手段による接続と,上記第2の接続手段による接続とを切り替える接続切替手段を更に具備してなる請求項1に記載のメモリアクセスシステム。
- 少なくとも上記メモリBのバス幅と同サイズのデータを上記メモリA或いは上記メモリBに伝送する第2のデータバスと,
上記第1の接続手段により上記メモリコントローラAから上記メモリAに送信されたアドレス信号に基づき,上記メモリAのバス幅のデータを上記第1のデータバス,上記アドレス/データバス,及び上記第2のデータバスを介して上記メモリAに転送する手段を更に具備してなる請求項1又は2に記載のメモリアクセスシステム。 - 上記第2の接続手段により上記メモリコントローラBから上記メモリBに送信されたアドレス信号に基づき,上記メモリBのバス幅のデータを上記第1のデータバスを介して上記メモリBに転送する手段を更に具備してなる請求項1〜3のいずれかに記載のメモリアクセスシステム。
- 上記メモリAが揮発性メモリであり,上記メモリBが不揮発性メモリである請求項1〜4のいずれかに記載のメモリアクセスシステム。
- 上記メモリAが一定周期の外部クロック信号に同期して動作する同期メモリであり,上記メモリBが任意のタイミングで動作する非同期メモリである請求項1〜5のいずれかに記載のメモリアクセスシステム。
- 上記メモリAがDRAMであり,上記メモリBがROMである請求項1〜6のいずれかに記載のメモリアクセスシステム。
- 所定のメモリAへのアクセスを実行するメモリコントローラAと,上記メモリAよりもアドレス端子数が多く,且つ,上記メモリAよりもバス幅が小さい所定のメモリBへのアクセスを実行するメモリコントローラBとを有し,所定のバスを介して上記メモリコントローラA及びメモリコントローラBによる上記メモリA及び上記メモリBへのアクセスを制御するメモリアクセス装置において,
上記メモリコントローラAから出力されたアドレス信号を上記メモリAのアドレス端子に伝送する第1のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号と一致する上記メモリBのアドレス端子に伝送する第2のアドレスバスと,上記メモリコントローラBから出力されたアドレス信号を上記メモリAのアドレス端子番号とは不一致の上記メモリBのアドレス端子に伝送する第3のアドレスバスと,所定のデータを上記メモリAに伝送する第1のデータバスとを備え,
更に,上記メモリコントローラAが上記メモリAにアクセスするに際し,上記第1のアドレスバスと,上記メモリA及びメモリBの上記一致するアドレス端子間を接続する共通アドレスバスとを接続すると共に,上記第1のデータバスと,上記第3のアドレスバス及び上記第1のデータバスを兼用するアドレス/データ共通バスとを接続する第1の接続手段と,
上記メモリコントローラBが上記メモリBにアクセスするに際し,上記第2のアドレスバスと上記アドレス共通バスとを接続すると共に,上記第3のアドレスバスと上記アドレス/データ共通バスとを接続する第2の接続手段と,
を備えてなることを特徴とするメモリアクセス装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003124739A JP2004334257A (ja) | 2003-04-30 | 2003-04-30 | メモリアクセスシステム及びメモリアクセス装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003124739A JP2004334257A (ja) | 2003-04-30 | 2003-04-30 | メモリアクセスシステム及びメモリアクセス装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004334257A true JP2004334257A (ja) | 2004-11-25 |
Family
ID=33502192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003124739A Withdrawn JP2004334257A (ja) | 2003-04-30 | 2003-04-30 | メモリアクセスシステム及びメモリアクセス装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004334257A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941617B2 (en) | 2007-05-29 | 2011-05-10 | Samsung Electronics Co., Ltd. | System and device having alternative bit organization |
-
2003
- 2003-04-30 JP JP2003124739A patent/JP2004334257A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7941617B2 (en) | 2007-05-29 | 2011-05-10 | Samsung Electronics Co., Ltd. | System and device having alternative bit organization |
US8335895B2 (en) | 2007-05-29 | 2012-12-18 | Samsung Electronics Co., Ltd | System and device having alternative bit organization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10991446B2 (en) | Electronic device performing training on memory device by rank unit and training method thereof | |
US6771526B2 (en) | Method and apparatus for data transfer | |
US8291211B2 (en) | System embedding plural controller sharing nonvolatile memory | |
JP4593575B2 (ja) | 埋め込み型コンピュータシステムの各構成部材のための共通化インターフェース | |
US7725609B2 (en) | System memory device having a dual port | |
JP5090819B2 (ja) | メモリーカード及び該データ格納方法 | |
US6810444B2 (en) | Memory system allowing fast operation of processor while using flash memory incapable of random access | |
US10733113B2 (en) | Memory system having nonvolatile memory and volatile memory | |
US20020013880A1 (en) | Integrated circuit with flash bridge and autoload | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
CN108304334B (zh) | 应用处理器和包括中断控制器的集成电路 | |
JP2004536417A (ja) | 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス | |
WO2007116486A1 (ja) | メモリ装置、その制御方法、その制御プログラム、メモリ・カード、回路基板及び電子機器 | |
JPH10116187A (ja) | マイクロコンピュータ | |
JP2000020451A (ja) | 情報処理装置および方法、並びに提供媒体 | |
JP2004334257A (ja) | メモリアクセスシステム及びメモリアクセス装置 | |
JPH11232213A (ja) | 入出力装置におけるデータ転送方式 | |
JP2004192051A (ja) | 共用端子制御装置 | |
JP2006011926A (ja) | シリアルデータ転送システム、シリアルデータ転送装置、シリアルデータ転送方法及び画像形成装置 | |
US11372800B2 (en) | System on chip comprising a plurality of central processing units whose mailboxes are set in tightly-coupled memories | |
JP2005107873A (ja) | 半導体集積回路 | |
US6356976B1 (en) | LSI system capable of reading and writing at high speed | |
JP2004078396A (ja) | メモリ装置 | |
US10180847B2 (en) | Circuitry for configuring entities | |
JP2003177957A (ja) | メモリ制御回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050422 |
|
A761 | Written withdrawal of application |
Effective date: 20070807 Free format text: JAPANESE INTERMEDIATE CODE: A761 |