(57)【要約】【課題】  データバス幅が異なるＲＡＭ及びＲＯＭとが用いられた情報処理装置を安価に製造することが出来るメモリ制御用ＩＣを提供する。【解決手段】  メモリ制御用ＩＣ１０を、データバス幅が３２ビットのＲＯＭモジュール２３を接続してもデータバス幅が１６ビットのＲＯＭモジュール２３を接続しても、ＣＰＵ２１に、ＲＯＭモジュール２３を、データバス幅が３２ビットのＲＯＭモジュールとして利用させることが出来るものとして構成しておく。【選択図】  図１
2005228055.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとＣＰＵ用バスにより接続され、データバス幅がＮビットのＲＡＭ，及び，データバス幅がＮビット或いは（Ｎ／２K）ビット（Ｋは、自然数）のＲＯＭとメモリバスにより接続された状態で使用されるメモリ制御用ＩＣであって、
接続されているＲＯＭが、データバス幅がＮビットのＲＯＭ，データバス幅が（Ｎ／２K）ビットのＲＯＭのいずれであるかを示すＲＯＭタイプ信号を入力するためのＲＯＭタイプ信号入力端子と、
前記ＣＰＵから前記ＲＯＭに対するアクセス要求が出されたときに前記ＲＯＭタイプ信号入力端子に入力されているＲＯＭタイプ信号に応じた内容の処理を行うことにより、接続されているＲＯＭを、その実際のデータバス幅に依らず、データバス幅がＮビットのＲＯＭとして前記ＣＰＵに利用させる内部回路と
を備えることを特徴とするメモリ制御用ＩＣ。
【請求項２】
前記内部回路が、前記ＣＰＵからの，前記ＲＯＭに対するバーストアクセス要求に応答可能な回路である
ことを特徴とする請求項１記載のメモリ制御用ＩＣ。
【請求項３】
前記内部回路が、前記ＣＰＵからの，前記ＲＯＭに対するデータ書き込み要求に応答可能な回路である
ことを特徴とする請求項１又は請求項２に記載のメモリ制御用ＩＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＭ及びＲＯＭを制御するためのメモリ制御用ＩＣに関する。
【背景技術】
【０００２】
周知のように、一般的な情報処理装置のハードウェア構成は、ＣＰＵとメモリモジュールとの間にメモリモジュールを制御するためのＩＣ（以下、メモリ制御用ＩＣと表記する）が設けられたもの（ＣＰＵとメモリモジュールとが直結されていないもの）となっている。
【０００３】
そして、メモリ制御用ＩＣとしては、ＲＯＭモジュール及びＲＡＭモジュールの双方を接続できない（ＲＯＭモジュール或いはＲＡＭモジュールしか接続できない）ものや、別々のバスによりＲＯＭモジュール及びＲＡＭモジュールと接続されるものが、知られている。また、図１０に示したような構成のメモリ制御用ＩＣ、すなわち、共通バス（共通アドレスバスと共通データバス）によりＲＯＭモジュール及びＲＡＭモジュールと接続されるメモリ制御用ＩＣ（特許文献１参照）も知られている。
【０００４】
このメモリ制御用ＩＣ（図１０）を用いれば、サイズが小さいメインボード（ＣＰＵが搭載された回路基板）を安価に製造できることになる。しかしながら、このメモリ制御用ＩＣは、データバス幅が等しいＲＡＭモジュールとＲＯＭモジュールとを接続しなければならないものであるため、データバス幅が異なるＲＡＭ及びＲＯＭとが用いられた情報処理装置を、このメモリ制御用ＩＣを利用して製造することは出来なかった。
【特許文献１】特開２００３−１９６１５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そこで、本発明の課題は、データバス幅が異なるＲＡＭ及びＲＯＭとが用いられた情報処理装置を安価に製造することが出来るメモリ制御用ＩＣを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明では、メモリ制御用ＩＣを、ＣＰＵとＣＰＵ用バスにより接続され、データバス幅がＮビットのＲＡＭ，及び，データバス幅がＮビット或いは（Ｎ／２K）ビット（Ｋは、自然数）のＲＯＭとメモリバスにより接続された状態で使用されるものであると共に、接続されているＲＯＭが、データバス幅がＮビットのＲＯＭ，データバス幅が（Ｎ／２K）ビットのＲＯＭのいずれであるかを示すＲＯＭタイプ信号を入力するためのＲＯＭタイプ信号入力端子と、ＣＰＵからＲＯＭに対するアクセス要求が出されたときにＲＯＭタイプ信号入力端子に入力されているＲＯＭタイプ信号に応じた内容の処理を行うことにより、接続されているＲＯＭを、その実際のデータバス幅に依らず、データバス幅がＮビットのＲＯＭとしてＣＰＵに利用させる内部回路とを備えるものとしておく。
【０００７】
要するに、本発明のメモリ制御用ＩＣは、自ＩＣに接続されているＣＰＵに、自ＩＣに接続されているＲＯＭを、そのデータバス幅がＮビット、（Ｎ／２K）ビット（Ｋは、自然数）のいずれであっても、データバス幅がＮビットのＲＯＭとして利用させることが可能な構成を有する。従って、このメモリ制御用ＩＣを用いて、データバス幅がＮビットのＲＯＭを搭載する装置、データバス幅が（Ｎ／２K）ビットのＲＯＭを搭載する装置の双方を製造するようにすれば、メモリ制御用ＩＣを大量に製造できることになる分、メモリ制御用ＩＣの単価が低下することになり、その結果として、各情報処理装置を安価なものとすることが可能になる。
【０００８】
なお、本発明のメモリ制御用ＩＣは、ＲＡＭ／ＲＯＭとして、ＲＡＭ／ＲＯＭチップが接続されるものとして構成しておいても良く、ＲＡＭ／ＲＯＭモジュールが接続されるものとして構成しておいても良い。また、本発明のメモリ制御用ＩＣは、ＣＰＵからの，ＲＯＭに対する単純なリードアクセス要求にしか行えないものとして実現しておいても良い。また、上記に加え、ＣＰＵからの，ＲＯＭに対するバーストアクセス要求や、データ書き込み要求に応答可能なものとして実現しても良い。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を、図面を参照して詳細に説明する。
【００１０】
まず、図１を用いて、本発明の一実施形態に係るメモリ制御用ＩＣ１０の概要を、説明する。
【００１１】
図１に示してあるように、本実施形態に係るメモリ制御用ＩＣ１０は、ＣＰＵ２１とＣＰＵ用バス２４（データバス，アドレスバス及び制御バス）により接続され、データバス幅が３２ビットのＲＡＭモジュール２２とＲＡＭ用制御バス２５，３０ビット幅の共通アドレスバス２６及び３２ビット幅の共通データバス２７により接続され、データバス幅が３２ビット或いは１６ビットのＲＯＭモジュール２３（本実施形態では、１バイト単位でのライトが可能なもの）とＲＯＭ用制御バス２８，共通アドレスバス２６及び共通データバス２７により接続されて使用されるデバイス（ＡＳＩＣ）である。また、メモリ制御用ＩＣ１０は、所定の端子（以下、ROM16X用端子と表記する）に、ＲＯＭモジュール２３のデータバス幅が３２ビットであるか１６ビットであるかをそのレベル（３２ビットであるときが“１”）で示す信号ROM16Xが入力された状態で使用されるデバイスとなっている。
【００１２】
このメモリ制御用ＩＣ１０の基本的な動作は、ＲＡＭモジュール，ＲＯＭモジュールが共通バスに接続される既存のメモリ制御用ＩＣ（図１０）と同様に、ＲＡＭモジュール２２に対するアクセス要求を受け取った場合には、ＲＡＭ用制御バス２５等を利用してＲＡＭモジュール２２を制御し、ＲＯＭモジュール２３に対するアクセス要求を受け取った場合には、ＲＯＭ用制御バス２８等を利用してＲＯＭモジュール２３を制御するといったものである。
【００１３】
ただし、メモリ制御用ＩＣ１０は、ＲＯＭモジュール２３に対するアクセス要求を受け取った場合、ROM16X用端子に入力されているROM16Xのレベルに応じた内容の制御をＲＯＭモジュール２３に対して行うように構成されている。
【００１４】
以上のことを前提に、以下、本実施形態に係るメモリ制御用ＩＣ１０の構成及び動作を、具体的に説明する。
【００１５】
図２に、メモリ制御用ＩＣ１０の機能ブロック図を示す。なお、この機能ブロック図は、メモリ制御用ＩＣ１０の，ＲＯＭモジュール２３の制御に関係する部分の構成のみを示したものである。
【００１６】
図示したように、メモリ制御用ＩＣ１０は、ＣＰＵ２１とＣＰＵ用バス２４により接続されるＣＰＵＩＦ部１１と、データバス幅が３２ビット或いは１６ビットのＲＯＭモジュール２３とＲＯＭ用制御バス２８，共通データバス２７及び共通アドレスバス２６により接続されるメモリＩＦ部１２とを備えている。なお、以下の説明では、共通アドレスバス２６によりＲＯＭモジュール３２に供給される信号のことをMEMAと表記し、共通データバス２７にＲＯＭモジュール３２，メモリＩＦ部１２間で授受される信号のことをMEMDと表記するが、１６ビットＲＯＭモジュール３２は、MEMD[15:0]を授受できるように、メモリ制御用ＩＣ１０（共通データバス２７）と接続される。
【００１７】
ＣＰＵＩＦ部１１は、ＣＰＵ２１との間で実際に情報交換を行う回路である。このＣＰＵＩＦ部１１がメモリＩＦ部１２に供給しているCADR[29:2],CBST[2:0],CBENX[3:0],CRWXは、ＲＯＭモジュール２３に対して行うべき処理の内容を示す信号（ＣＰＵ２１から供給される信号）である。具体的には、CADR[29:2]は、アクセス（リードアクセスorライトアクセス）すべきアドレスを表す信号であり、CBST[2:0]は、シングルリード（CBST[2:0]="0xx"）、２バーストリード（CBST[2:0]="100"）、４バーストリード（CBST[2:0]="101"）、８バーストリード（CBST[2:0]="110"）のいずれのリードアクセスを行うべきかを表す信号である。CBENX[3:0]は、図３に示したように、ＲＯＭモジュール２３（３２ビットＲＯＭモジュール）の，どのバイトにデータを書き込むかを表す信号である。そして、CRWXは、ＲＯＭモジュール２３に対して行うべきアクセスが、リードまたはライトのいずれであるかを表す信号である。
【００１８】
ＣＰＵＩＦ部１１がメモリＩＦ部１２に供給しているCROMREQXは、CADR[29:2]に基づきＣＰＵＩＦ部１１が生成する，ＣＰＵ２１からのアクセス要求がＲＡＭモジュール２２に対するものであるかＲＯＭモジュール２３に対するものであるかを示す信号（ＲＯＭモジュール２３に対するものであるときに“０”となる信号）である。
【００１９】
ＣＰＵＩＦ部１１とメモリＩＦ部１２との間で授受されているCDATA[31:0]は、ＣＰＵ用バス２４を構成しているデータバス上の信号をそのまま取り込んだ信号／当該データバス上に出力される信号である。メモリＩＦ部１２がＣＰＵＩＦ部１１に供給しているCROMACKXは、ＲＯＭモジュール２３に対するアクセスが完了したことをＣＰＵＩＦ部１１に（ＣＰＵＩＦ部１１を介してＣＰＵ２１に）知らせるための信号である。
【００２０】
メモリＩＦ部１２は、ＣＰＵＩＦ部１１からの信号（ＣＰＵ２１からのアクセス要求）に応じた内容の制御をＲＯＭモジュール２３（及びＲＡＭモジュール２２）に対して行う回路であり、上記したROM16Xは、このメモリＩＦ部１２に入力されている。
【００２１】
そして、メモリＩＦ部１２は、ＲＯＭモジュール２３を制御する必要が生じた場合、ROM16X端子に入力されているROM16Xのレベルに応じた内容の制御を行う回路となっている。
【００２２】
以下、このメモリＩＦ部１２の動作内容を、ＣＰＵ２１からのアクセス要求の内容別に説明する。
【００２３】
まず、ＲＯＭモジュール２３上の４バイトデータ（３２ビットＲＯＭの場合、１回のアクセスで読み出せるデータ）のリード要求（つまり、通常のリード要求）に対するメモリＩＦ部１２の動作（CROMREQXが“0”に変化したときに、CBST[2]=0，CRWX=1であった場合のメモリＩＦ部１２の動作）を、説明する。
【００２４】
ROM16Xが“1”である状態（ＲＯＭモジュール２３として、データバス幅が３２ビットのＲＯＭモジュールが接続されている状態）で、リード要求を受け取った場合、メモリＩＦ部１２は、図４に示したように動作する。すなわち、この場合、メモリＩＦ部１２は、CADR[29:2]をそのままMEMA[29:2]として出力することにより（正確には、CADR[29:2]をそのままMEMA[29:2]として出力し、CSX、RDXのレベルを変化させることにより）、ＲＯＭモジュール２３にデータを出力させる。そして、メモリＩＦ部１２は、MEMD[31:0]（ＲＯＭモジュール２３が出力した４バイトデータ）を取り込んで、取り込んだデータ(data0）の上位成分（data0H）、下位成分（data0L）を、それぞれ、上位成分（DATA[31:16]），下位成分（CDATA[15:0]）としたCDATA[31:0]を出力する。要するに、メモリＩＦ部１２は、取り込んだMEMD[31:0]をそのままCDATA[31:0]として出力する。なお、メモリＩＦ部１２は、CDATA[31:0]を出力する際、CROMACKXのレベルを変化させる処理も行う。
【００２５】
一方、ROM16Xが“0”である状態（ＲＯＭモジュール２３として、データバス幅が１６ビットのＲＯＭモジュールが接続されている状態）で、リード要求を受け取った場合、メモリＩＦ部１２は、図５に示したように動作する。すなわち、この場合、メモリＩＦ部１２は、まず、[CADR[28:2],0]（第ｎ＋１ビット〔ｎ＝２〜２８〕の値が、CADRの第ｎビットと一致し、第２ビットが“０”の信号)をMEMA[29:2]として出力することにより、ＲＯＭモジュール２３にデータ（data0）を出力させる。次いで、メモリＩＦ部１２は、MEMD[31:0]（下位成分がＲＯＭモジュール２３が出力したデータとなっている４バイトデータ）を取り込んでその下位成分を記憶する。その後、メモリＩＦ部１２は、[CADR[28:2],1]をMEMA[29:2]として出力することにより、再び、ＲＯＭモジュール２３にデータ（data1）を出力させる。そして、メモリＩＦ部１２は、MEMD[31:0]を取り込み、今回、取り込んだMEMD[31:0]の下位成分(data1L)と、前回、取り込んだMEMD[31:0]の下位成分(data0L)とを、それぞれ、下位成分(CDATA[15:0])，上位成分(CDATA[31:16])としたCDATA[31:0]を出力する。
【００２６】
なお、メモリＩＦ部１２の，MEMDからCDATAを生成する部分の回路構成（タイミング制御関連の回路構成を除いた回路構成）は、図６に示したように、MEMD[31:0]を取り込んで、romd[31:0]として出力するLATCHと、LATCHが出力するromd[15:0]（romd[31:0]の下位成分）を取り込んでrromd[15:0]として出力するLATCHと、ROM16Xが“0”であった場合（ＲＯＭモジュール２３のデータバス幅が３２ビットである場合）には、romd[31:0]をCDATA[31:0]として出力し、ROM16Xが“１”であった場合（ＲＯＭモジュール２３のデータバス幅が１６ビットである場合）には、romd[31:0]の上位成分（romd[31:16]）とromd[15:0]からなるCDATA[31:0]を出力するＣＤＡＴＡ生成回路を組み合わせたものとなっている。
【００２７】
次に、バーストリード要求に対するメモリＩＦ部１２の動作（CROMREQXが“0”に変化したときに、CBST[2]=1，CRWX=1であった場合のメモリＩＦ部１２の動作）を、４バーストリード要求(CBST[2]=101)を例に、説明する。
【００２８】
ROM16Xが“1”である状態（ＲＯＭモジュール２３として、データバス幅が３２ビットのＲＯＭモジュールが接続されている状態）で、４バーストリード要求を受け取った場合、メモリＩＦ部１２は、図７に示したように、指定されているアドレス（CADR[29:2]）のデータ以降の４個のデータ（４バイトデータ）をそれぞれＲＯＭモジュール２３から読み出して、CDATA[31:0]として出力する。すなわち、この場合、メモリＩＦ部１２は、既存の３２ビットＲＯＭ用のメモリ制御用ＩＣ（内のメモリＩＦ部）と同様に、動作する。
【００２９】
一方、ROM16Xが“0”である状態（ＲＯＭモジュール２３として、データバス幅が１６ビットのＲＯＭモジュールが接続されている状態）で、４バーストリード要求を受け取った場合、メモリＩＦ部１２は、図８に示したように、CADR[29:2]に相当する，１６ビットＲＯＭモジュール用のアドレス（[CADR[28:2],0]）を求めた上で、そのアドレスからの，１６ビットＲＯＭモジュールに対する４バーストリード処理に相当する処理（MEMD[31:0]の下位成分をそのまま出力すれば、１６ビットＲＯＭに対する４バーストリード処理となる処理）を、２回、繰り返すことによって、４個の４バイトデータをＣＰＵＩＦ部１１に供給する。
【００３０】
次に、ライト要求に対するメモリＩＦ部１２の動作（CROMREQXが“0”に変化したときに、CRWX=0であった場合のメモリＩＦ部１２の動作）を、説明する。なお、ROM16Xが“1”である状態でライト要求を受け取った場合のメモリＩＦ部１２の動作は、既存の３２ビットＲＯＭ用のメモリ制御用ＩＣと同様のものである。このため、当該動作の説明は省略することにする。
【００３１】
ROM16Xが“0”である状態（ＲＯＭモジュール２３として、データバス幅が１６ビットのＲＯＭが接続されている状態）で、ライト要求を受け取った場合、メモリＩＦ部１２は、CBENX[3:0]の値（図３参照）に応じた内容の処理を開始する。
【００３２】
具体的には、CBENX[3:0]の値が、ＲＯＭモジュール２３に対して１回ライトアクセスを行えば良いものであった場合、メモリＩＦ部１２は、CADR[29:2]とCBENX[3:0]とから求めた、データを書き込むべき，１６ビットＲＯＭモジュール用のアドレス（[CADR[28:2],0]or[CADR[28:2],1]）をMEMA[29:2]として出力すると共に、CDATA[31:0]の，書き込むべきデータを含む方の成分を、下位成分としたMEMD[31:0]を出力する処理を行う。
【００３３】
要するに、メモリＩＦ部１２は、CBENX[3:0]が"0011"であった場合（bit31-16の２バイトライトが必要な場合）には、図９（Ａ）に示したように、MEMA[29:2]、MEMD[15:0]として、それぞれ、[CADR[28:2],0]、CDATA[31:16]を出力することにより、ＲＯＭモジュール２３へのデータ書き込みを行う。また、メモリＩＦ部１２は、CBENX[3:0]が"1100"であった場合（bit15-0の２バイトライトが必要な場合）には、図９（Ｂ）に示したように、MEMA[29:2]、MEMD[15:0]として、それぞれ、[CADR[28:2],1]、CDATA[15:0]を出力することにより、ＲＯＭモジュール２３へのデータ書き込みを行う。
【００３４】
また、CBENX[3:0]の値が、ＲＯＭモジュール２３に対して２回ライトアクセスを行わなければならないものであった場合、メモリＩＦ部１２は、上記のような処理を２回繰り返す処理を行う（[CADR[28:2],0]に対するライトアクセスと[CADR[28:2],1]に対するライトアクセスとを実行する）。
【００３５】
以上の説明から明らかなように、本実施形態に係るメモリ制御用ＩＣ１０は、ＲＯＭモジュール２３のデータバス幅が３２ビット，１６ビットのいずれであっても、ＣＰＵ２１に、ＲＯＭモジュール２３を、データバス幅が３２ビットのＲＯＭモジュールとして利用させることが可能なＡＳＩＣとなっている。従って、このメモリ制御用ＩＣ１０を用いて、データバス幅が３２ビットのＲＯＭモジュール３２を搭載する装置、データバス幅が１６ビットのＲＯＭモジュールを搭載する装置の双方を製造するようにすれば、メモリ制御用ＩＣ１０を大量に製造できることになる分、メモリ制御用ＩＣ１０の単価が低下することになり、その結果として、各種装置を安価に製造できることになる。
【００３６】
＜変形形態＞
上記したメモリ制御用ＩＣ１０は、各種の変形が可能である。例えば、ＲＯＭモジュール２３へのライトアクセスが行えないように、メモリ制御用ＩＣ１０を変形しておいても良い。また、接続可能なＲＯＭモジュール２３のデータバス幅の種類が上記したものとは異なるように、メモリ制御用ＩＣ１０を変形しても良く、Little_Endian形式のＣＰＵ用のものに、メモリ制御用ＩＣ１０を変形しても良い。
【図面の簡単な説明】
【００３７】
【図１】実施形態のメモリ制御用ＩＣの使用形態を説明するための図。
【図２】実施形態のメモリ制御用ＩＣの機能ブロック図。
【図３】CBENX[3:0]の用途を説明するための図。
【図４】メモリ制御用ＩＣが備えるメモリＩＦ部のリード要求に対する動作を説明するためのタイミング図。
【図５】メモリＩＦ部のリード要求に対する動作を説明するためのタイミング図。
【図６】メモリＩＦ部の，CDATAを生成する部分の回路構成を示した図。
【図７】メモリＩＦ部のバーストリード要求に対する動作を説明するためのタイミング図。
【図８】メモリＩＦ部のバーストリード要求に対する動作を説明するためのタイミング図。
【図９】メモリＩＦ部のライト要求に対する動作を説明するためのタイミング図。
【図１０】既存の，ＲＡＭモジュール及びＲＯＭモジュール用の共通バスを有するメモリ制御用ＩＣの説明図。
【符号の説明】
【００３８】
１０  メモリ制御用ＩＣ、  １１  ＣＰＵＩＦ部、  １２  メモリＩＦ部
２１  ＣＰＵ、  ２２  ＲＡＭモジュール、  ２３  ＲＯＭモジュール
２６  共通アドレスバス、  ２７  共通データバス
【図１】
2005228055.tif 000003
【図２】
2005228055.tif 000004
【図３】
2005228055.tif 000005
【図４】
2005228055.tif 000006
【図５】
2005228055.tif 000007
【図６】
2005228055.tif 000008
【図７】
2005228055.tif 000009
【図８】
2005228055.tif 000010
【図９】
2005228055.tif 000011
【図１０】
2005228055.tif 000012