(57)【要約】【課題】動作速度を向上させることが可能なＥＣＣ機能付きＳＲＡＭを搭載したデータ処理装置を提供すること。【解決手段】データＲＡＭ１２は、バスクロック２０に同期してデータが書き込まれる。ＥＣＣ部１３は、データＲＡＭ１２に書き込まれるデータに基づいてＥＣＣコードを生成する。クロック微調整回路１７は、バスクロック２０を遅延して出力する。そして、ＥＣＣＲＡＭ１５は、クロック微調整回路１７によってバスクロックを遅延したＥＣＣＲＡＭクロックに同期して、ＥＣＣ部１３によって生成されたＥＣＣコードが書き込まれる。したがって、ＥＣＣＲＡＭ１５にＥＣＣコードを書き込むタイミングをデータＲＡＭ１２にデータを書き込むタイミングよりも遅らすことができ、ＥＣＣ機能付きＳＲＡＭの動作速度を向上させることができる。【選択図】図６
2011022901.tif 000002
【特許請求の範囲】
【請求項１】
誤り検出・誤り訂正機能を有するメモリに対してデータ書き込みおよびデータ読み出しを行なうデータ処理装置であって、
前記メモリは、バスクロックに同期してデータが書き込まれる第１のメモリモジュールと、
前記第１のメモリモジュールに書き込まれるデータに基づいて、誤り検出・誤り訂正コードを生成するコード生成手段と、
前記バスクロックを遅延して出力するクロック微調整手段と、
前記クロック微調整手段によってバスクロックを遅延したクロックに同期して、前記コード生成手段によって生成された誤り検出・誤り訂正コードが書き込まれる、前記第１のメモリモジュールとは異なる第２のメモリモジュールとを含む、データ処理装置。
【請求項２】
前記データ処理装置はさらに、アドレスをデコードして前記第１のメモリモジュールにデコード結果を出力する第１のアドレスデコード手段と、
アドレスをデコードして前記第２のメモリモジュールにデコード結果を出力する、前記第１のアドレスデコード手段とは異なる第２のアドレスデコード手段とを含む、請求項１記載のデータ処理装置。
【請求項３】
前記データ処理装置はさらに、前記第１のアドレスデコード手段から出力されるデコード結果と前記第２のデコード手段から出力されるデコード結果とを選択的に前記第２のメモリモジュールに出力する切替手段と、
レジスタの値に応じて前記切替手段の切り替えを制御するプロセッサとを含む、請求項２記載のデータ処理装置。
【請求項４】
前記プロセッサは、前記第２のメモリモジュールを誤り検出・誤り訂正コード領域として使用する場合には、前記切替手段に前記第２のアドレスデコード手段から出力されるデコード結果を選択させ、
前記第２のメモリモジュールをデータ領域として使用する場合には、前記切替手段に前記第１のアドレスデコード手段から出力されるデコード結果を選択させる、請求項３記載のデータ処理装置。
【請求項５】
前記プロセッサは、前記レジスタの値に応じて前記クロック微調整手段による遅延時間の選択を制御する、請求項３または４記載のデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＣＣ（Error Checking and Correcting）機能付きＲＡＭ（Random Access Memory）に対するアクセスを制御する技術に関し、特に、動作速度を高速化することが可能なＥＣＣ機能付ＲＡＭを搭載したデータ処理装置に関する。
【背景技術】
【０００２】
近年、ＣＰＵ（Central Processing Unit）を搭載したマイクロコンピュータ（以下、マイコンとも呼ぶ。）の高機能化、多機能化が進んでおり、それに伴ってマイコンの動作周波数の向上が求められている。マイコンの動作周波数を向上させるためには、マイコンに搭載されるメモリの動作速度を高速化することが必要であり、たとえばＥＣＣ機能付きＳＲＡＭが搭載されている場合には、その動作速度を高速化する必要がある。これに関連する技術として、下記の特許文献１〜２に開示された発明がある。
【０００３】
特許文献１は、メモリデータ保護機能に用いる記憶領域を、メモリデータ保護機能を使用しないときにも有効に使用することを目的とする。ＥＣＣコードを記憶するＥＣＣコード部が、モード選択信号によって、メモリデータ保護機能の有効時にはデータＲＡＭに記憶されるデータに対して誤り検出または誤り訂正を行うためのＥＣＣコードを記憶する記憶領域として機能し、メモリデータ保護機能の無効時にはデータＲＡＭの追加ウェイとして機能するようにする。
【０００４】
特許文献２は、動作速度を高速化できる半導体装置を提供することを目的とする。半導体装置は、複数のメモリセルがアレイ状に配置されたメモリセルアレイと、上記メモリセルアレイを構成するビット線と同じ配線幅、配線間隔の配線で構成され、読み出しタイミング信号を生成するための第１レプリカビット線と、上記メモリセルアレイを構成するビット線と同じ配線幅、配線間隔の配線で構成され、書き込みタイミング信号を生成するための第２レプリカビット線とを備える。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０４１９３２号公報
【特許文献２】特開２００６−００４４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＥＣＣ機能付きＳＲＡＭにおいては、ＳＲＡＭへのデータ書き込み時に、書込みデータが確定してからＥＣＣコードの演算が開始される。そのため、ＥＣＣコードの演算時間分だけ、ＥＣＣコードがＲＡＭモジュールに取り込まれるのが書込みデータよりも遅延することになる。したがって、ＥＣＣ機能付きＳＲＡＭの動作速度がＥＣＣ機能なしＳＲＡＭと比べて低下する。
【０００７】
この理由により、ＥＣＣ機能付きＳＲＡＭを搭載したマイコンの動作周波数を向上させる場合に、ＥＣＣ機能付きＳＲＡＭの動作速度がボトルネックとなり、そのクリティカルパスがＥＣＣコード生成パスになってしまう可能性があるといった問題があった。
【０００８】
また、このようなＥＣＣ機能は、レジスタによってオン／オフ切替え可能になっていることが多い。したがって、ＥＣＣ機能をオフにした場合には、ＥＣＣコードの記憶領域が無駄になってしまうといった問題もあった。
【０００９】
本発明は、上記問題点を解決するためになされたものであり、その目的は、動作速度を向上させることが可能なＥＣＣ機能付きＳＲＡＭを搭載したデータ処理装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明の一実施例によれば、ＥＣＣ機能付きＳＲＡＭに対してデータ書き込みおよびデータ読み出しを行なうデータ処理装置が提供される。ＥＣＣ機能付きＳＲＡＭは、バスクロックに同期してデータが書き込まれるデータＲＡＭと、データＲＡＭに書き込まれるデータに基づいてＥＣＣコードを生成するＥＣＣ部と、バスクロックを遅延して出力するクロック微調整回路と、クロック微調整回路によってバスクロックを遅延したＥＣＣＲＡＭクロックに同期して、ＥＣＣ部によって生成されたＥＣＣコードが書き込まれるＥＣＣＲＡＭとを含む。
【発明の効果】
【００１１】
この実施例によれば、データＲＡＭとＥＣＣＲＡＭとが別々のＲＡＭモジュールで構成され、クロック微調整回路がバスクロックを遅延してＥＣＣＲＡＭに出力するので、ＥＣＣＲＡＭにＥＣＣコードを書き込むタイミングをデータＲＡＭにデータを書き込むタイミングよりも遅らすことができる。したがって、ＥＣＣ機能付きＳＲＡＭの動作速度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】ＥＣＣ機能付きＳＲＡＭを内蔵したマイコンの構成例を示す図である。
【図２】一般的なＥＣＣ機能付きＳＲＡＭ１０２の内部構成を示す図である。
【図３】図２に示すＥＣＣ機能付きＳＲＡＭ１０２のリード動作／ライト動作を説明するための図である。
【図４】図２に示すＥＣＣ機能付きＳＲＡＭ１０２のデータ・リード動作を説明するためのタイミングチャートである。
【図５】図２に示すＥＣＣ機能付きＳＲＡＭ１０２のデータ・ライト動作を説明するためのタイミングチャートである。
【図６】本発明の実施の形態におけるＥＣＣ機能付きＳＲＡＭの内部構成を示す図である。
【図７】ＥＣＣＲＡＭ１５をデータ領域として使用する場合のアドレスマップの一例を示す図である。
【図８】データＲＡＭ１２とＥＣＣＲＡＭ１５との動作速度の違いを説明するための図である。
【図９】本発明の実施の形態におけるＥＣＣ機能付きＳＲＡＭ１のライト動作を説明するためのタイミングチャートである。
【図１０】ＥＣＣＲＡＭ１５をデータ領域として使用した場合のリード動作を説明するためのタイミングチャートである。
【図１１】ＥＣＣＲＡＭ１５の物理アドレス配置イメージの一例を示す図である。
【発明を実施するための形態】
【００１３】
ここで、ＥＣＣ機能とは、ライトデータに冗長ビット（ＥＣＣコード）を付与し、リードデータの単一誤り訂正・二重誤り検出を行なう機能であり、６４ビットに対して８ビットのＥＣＣコードを付与する場合を考える。なお、データのビット数およびＥＣＣコードのビット数はこれに限られるものではない。
【００１４】
図１は、ＥＣＣ機能付きＳＲＡＭを内蔵したマイコンの構成例を示す図である。なお、データ処理装置の一例としてマイコンの場合について説明するが、ＥＣＣ機能付きＳＲＡＭに対してアクセスするシステムであれば適用可能であって、マイコンに限定されるものではない。
【００１５】
マイコン１００は、ＣＰＵ１０１と、ＥＣＣ機能付きＳＲＡＭ１０２と、ＲＯＭ（Read Only Memory）１０３と、ＩＣＵ（Interrupt Control Unit）１０４と、ＤＭＡＣ（Direct Memory Access Controller）１０５と、周辺ＩＯ（Input/Output）１０６とを含み、これらがアドレスバス１０７およびデータバス１０８を介して接続される。
【００１６】
図２は、一般的なＥＣＣ機能付きＳＲＡＭ１０２の内部構成を示す図である。ＥＣＣ機能付きＳＲＡＭ１０２は、アドレスデコーダ１１１と、３２ＫＢのデータ領域および４ＫＢのＥＣＣ領域を有するＲＡＭモジュール１１２と、ＥＣＣ部１１３とを含む。
【００１７】
ＲＡＭモジュール１１２は、セルアレイ、センスアンプ、アドレスラッチ、データラッチおよびこれらを制御する制御回路によって構成される。なお、ＲＡＭモジュール１１２が有するデータ領域の容量およびＥＣＣ領域の容量は、これらに限られるものではない。
【００１８】
図３は、図２に示すＥＣＣ機能付きＳＲＡＭ１０２のリード動作／ライト動作を説明するための図である。図３（ａ）は、ＥＣＣ機能付きＳＲＡＭ１０２のデータ・リード動作を説明するための図である。このデータ・リード動作は、１サイクルで実行される。
【００１９】
たとえば、ＣＰＵ１０１がＥＣＣ機能付きＳＲＡＭ１０２からデータを読み出す場合、アドレスデコーダ１１１は、アドレスバス１０７を介してＣＰＵ１０１から出力されたアドレスを受けてデコードし、そのデコード結果をＲＡＭモジュール１１２に出力する。
【００２０】
ＲＡＭモジュール１１２は、対応する６４ビットのデータと８ビットのＥＣＣコードとをＥＣＣ部１１３に出力する。そして、ＥＣＣ部１１３は、８ビットのＥＣＣコードに基づいてデータのエラー検出／エラー訂正を行なって６４ビットのデータをデータバス１０８に出力する。
【００２１】
また、図３（ｂ）は、ＥＣＣ機能付きＳＲＡＭ１０２のデータ・ライト動作を説明するための図である。このデータ・ライト動作は、２サイクルのリードモディファイライト動作によって実行される。
【００２２】
たとえば、ＣＰＵ１０１がＥＣＣ機能付きＳＲＡＭ１０２にデータを書き込む場合、アドレスデコーダ１１１は、アドレスバス１０７を介してＣＰＵ１０１から出力されたアドレス受けてデコードし、そのデコード結果をＲＡＭモジュール１１２に出力する。
【００２３】
ＲＡＭモジュール１１２は、対応する６４ビットのデータと８ビットのＥＣＣコードとをＥＣＣ部１１３に出力する。そして、ＥＣＣ部１１３は、８ビットのＥＣＣコードに基づいてデータのエラー検出／エラー訂正を行なって６４ビットのデータをＥＣＣ部１１３のレジスタ１１４に格納する。
【００２４】
次に、ＥＣＣ部１１３は、レジスタ１１４に格納した６４ビットのデータのうち、書き換えビットに対応するデータにデータバス１０８上のデータを上書きする。たとえば、ＣＰＵ１０１がＥＣＣ機能付きＳＲＡＭ１０２に対して８ビットのデータ書き込みを行なう場合には、データバス１０８上の対応する８ビットのデータをレジスタ１１４のデータに上書きする。
【００２５】
最後に、ＥＣＣ部１１３は、レジスタ１１４に格納されるデータに基づいてＥＣＣ演算を行ない、６４ビットのデータと演算によって得られた８ビットのＥＣＣコードとをＲＡＭモジュール１１２に書き込む。
【００２６】
図４は、図２に示すＥＣＣ機能付きＳＲＡＭ１０２のデータ・リード動作を説明するためのタイミングチャートである。ＣＰＵ１０１は、バスクロックに同期してアドレスバス１０７にＲＡＭアドレスを出力すると、ＡのタイミングにおいてＥＣＣ機能付きＳＲＡＭ１０２のリード動作が開始される。ＥＣＣ機能付きＳＲＡＭ１０２は、ＲＡＭアドレスに対応する６４ビットのデータおよび８ビットのＥＣＣコードを読み出すと共に、８ビットのＥＣＣコードに基づいてデータのエラー検出／エラー訂正を行なって６４ビットのデータをデータバス１０８に出力する。Ｂのタイミングにおいて、ＣＰＵ１０１はデータバス１０８に出力されたデータを読み込む。
【００２７】
図５は、図２に示すＥＣＣ機能付きＳＲＡＭ１０２のデータ・ライト動作を説明するためのタイミングチャートである。ＣＰＵ１０１は、バスクロックに同期してアドレスバス１０７にＲＡＭアドレスを出力し、データバス１０８にライトデータを出力すると、ＡのタイミングにおいてＥＣＣ機能付きＳＲＡＭ１０２のライト動作が開始される。
【００２８】
最初の１サイクルで、ＥＣＣ機能付きＳＲＡＭ１０２は、ＲＡＭアドレスに対応する６４ビットのデータおよび８ビットのＥＣＣコードを読み出すと共に、８ビットのＥＣＣコードに基づいてデータのエラー検出／エラー訂正を行なって６４ビットのデータをレジスタ１１４に格納する。
【００２９】
そして、ＥＣＣ機能付きＳＲＡＭ１０２は、レジスタ１１４に格納した６４ビットのデータのうち、書き換えビットに対応するデータにデータバス１０８上のデータを上書きし、レジスタ１１４に格納されるデータに基づいてＥＣＣ演算を行なう。このとき、ＢのタイミングでＥＣＣコードの生成が完了していなければ、次のサイクルで６４ビットのデータおよび８ビットのＥＣＣコードの書き込みが行なわれる。
【００３０】
このように、ＢのタイミングでＥＣＣコードの生成が完了しない場合には、１サイクル追加するか、書き込み開始タイミングを遅くするためにバスクロック周波数を下げる必要がある。バスクロックの周波数を下げると、ＲＡＭアクセスサイクル全体の動作周波数が低下することになる。また、ＥＣＣ演算を高速化するためには演算回路の動作クロックの周波数を高くする必要があり、消費電力が増大することになる。
【００３１】
図６は、本発明の実施の形態におけるＥＣＣ機能付きＳＲＡＭの内部構成を示す図である。ＥＣＣ機能付きＳＲＡＭ１は、データＲＡＭ用アドレスデコーダ１１と、３２ＫＢのデータ領域を有するデータＲＡＭ１２と、ＥＣＣ部１３と、ＥＣＣコード用Ｙデコーダ１４と、４ＫＢのＥＣＣ領域を有するＥＣＣＲＡＭ１５と、ＥＣＣ用アドレスデコーダ１６と、クロック微調整回路１７と、スイッチ１および２（２１，２２）とを含む。なお、データＲＡＭ１２およびＥＣＣＲＡＭ１５が有するデータ領域の容量およびＥＣＣ領域の容量は、これらに限られるものではない。
【００３２】
図１に示すマイコンの構成例と同様に、ＥＣＣ機能付きＳＲＡＭ１が接続されるアドレスバス１８およびデータバス１９にはＣＰＵ２３が接続されており、ＣＰＵ２３は内部に後述するＲＡＭ制御レジスタ２４を有している。
【００３３】
また、クロック微調整回路１７は、インバータ３１〜３４と、スイッチ３（３５）とを有しており、スイッチ３（３５）の切り替えによってバスクロックの遅延時間を変更してＥＣＣＲＡＭクロックとして出力することが可能である。
【００３４】
データＲＡＭ用アドレスデコーダ１１は、アドレスバス１８のアドレス＜１６：０＞をデコードし、デコード結果をデータＲＡＭ１２に出力する。また、後述のようにＥＣＣＲＡＭ１５をデータ領域として使用する場合には、デコード結果をＥＣＣＲＡＭ１５にも出力する。
【００３５】
データＲＡＭ１２は、データＲＡＭ用アドレスデコーダ１１から出力されるデコード結果に応じて、バスクロック２０に同期してデータ・リード動作およびデータ・ライト動作を行なう。
【００３６】
ＥＣＣ部１３は、データＲＡＭ１２から出力される６４ビットのデータからＥＣＣコードを演算し、ＥＣＣコード用Ｙデコーダ１４およびスイッチ２（２２）を介してＥＣＣコードをＥＣＣＲＡＭ１５に出力する。また、ＥＣＣ部１３は、ＥＣＣコード用Ｙデコーダ１４およびスイッチ２（２２）を介してＥＣＣＲＡＭ１５からＥＣＣコードを受け、ＥＣＣエラー検出およびエラー訂正を行なう。
【００３７】
ＥＣＣコード用Ｙデコーダ１４は、ＥＣＣＲＡＭ１５をＥＣＣ領域として使用する場合にアドレスバス１８のアドレス＜５：３＞をデコードし、デコード結果をスイッチ２（２２）を介してＥＣＣＲＡＭ１５に出力する。また、ＥＣＣコード用Ｙデコーダ１４は、データラッチ回路を有しており、ＥＣＣＲＡＭ１５から出力される８ビットのＥＣＣコードをラッチしてＥＣＣ部１３に出力し、ＥＣＣ部１３から出力される８ビットのＥＣＣコードをラッチしてＥＣＣＲＡＭ１５に出力する。
【００３８】
ＥＣＣＲＡＭ１５は、ＥＣＣ領域として動作する場合には、スイッチ１（２１）およびスイッチ２（２２）を介してＥＣＣ用アドレスデコーダ１６およびＥＣＣコード用Ｙデコーダ１４から出力されるデコード結果を受け、そのデコード結果に応じてＥＣＣコードのリード動作またはライト動作を行なう。このとき、ＥＣＣＲＡＭ１５は、クロック微調整回路１７から出力されるバスクロック２０を遅延させたＥＣＣＲＡＭクロックに同期して動作を行なう。
【００３９】
また、ＥＣＣＲＡＭ１５は、データ領域として動作する場合には、スイッチ１（２１）を介してデータＲＡＭ用アドレスデコーダ１１から出力されるデコード結果を受け、そのデコード結果に応じてデータのリード動作またはライト動作を行なう。この場合には、ＣＰＵ２３とＥＣＣＲＡＭ１５との間のセットアップタイムおよびホールドタイムを満たすようにＥＣＣＲＡＭクロックの遅延を微調整できる。
【００４０】
ＥＣＣ用アドレスデコーダ１６は、ＥＣＣＲＡＭ１５をＥＣＣ領域として使用する場合にアドレスバス１８のアドレス＜１５：６＞をデコードし、デコード結果をスイッチ１（２１）を介してＥＣＣＲＡＭ１５に出力する。
【００４１】
ＣＰＵ２３は、内部のＲＡＭ制御レジスタ２４に値を書き込むことによって、ＥＣＣＲＡＭ１５をＥＣＣ領域として使用するか、データ領域として使用するかを選択する。ＥＣＣＲＡＭ１５をＥＣＣ領域として使用する場合には、ＣＰＵ２３はＲＡＭ制御レジスタ２４に値を書き込むことにより、スイッチ１（２１）をＥＣＣ用アドレスデコーダ１６に接続するように切り替え、スイッチ２（２２）をＥＣＣコード用Ｙデコーダ１４に接続するように切り替える。このとき、ＣＰＵ２３はＲＡＭ制御レジスタ２４に値を書き込むことにより、クロック微調整回路１７内のスイッチ３（３５）を切り替えて、適切な遅延時間となるようにＥＣＣＲＡＭクロックを選択する。
【００４２】
また、ＥＣＣＲＡＭ１５をデータ領域として使用する場合には、ＣＰＵ２３はＲＡＭ制御レジスタ２４に値を書き込むことにより、スイッチ１（２１）をデータＲＡＭ用アドレスデコーダ１１に接続するように切り替え、スイッチ２（２２）をデータバス＜６３：０＞に接続するように切り替える。
【００４３】
図７は、ＥＣＣＲＡＭ１５をデータ領域として使用する場合のアドレスマップの一例を示す図である。図７においては、３２ＫＢのデータＲＡＭのアドレス０ｈ〜７ＦＦＦｈの上位のアドレス８０００ｈ〜８ＦＦＦｈにＥＣＣＲＡＭ１５の４ＫＢの領域がマッピングされている。
【００４４】
図８は、データＲＡＭ１２とＥＣＣＲＡＭ１５との動作速度の違いを説明するための図である。図８の左側はデータＲＡＭ１２内のセンスアンプ４１に接続されるビット線４２を示しており、図８の右側はＥＣＣＲＡＭ１５内のセンスアンプ４４に接続されるビット線４５を示している。
【００４５】
データＲＡＭ１２およびＥＣＣＲＡＭ１５の容量は、それぞれ３２ＫＢおよび４ＫＢである。そのため、１ワード線のビット幅が同じであれば、図８に示すようにＥＣＣＲＡＭ１５内のセンスアンプ４４のビット線４５に接続されるセル４６の数が、データＲＡＭ１２内のセンスアンプ４１のビット線４２に接続されるセル４３の数の１／８となる。したがって、ＥＣＣＲＡＭ１５のビット線の長さがデータＲＡＭ１２のビット線４２の長さの１／８となり、ＥＣＣＲＡＭ１５のビット線の配線容量および該ビット線に接続されるセル４６の入力容量がデータＲＡＭ１２のビット線４２に比べて約１／８になることから、ＥＣＣＲＡＭ１５の方が高速で動作を行なえることになる。
【００４６】
図９は、本発明の実施の形態におけるＥＣＣ機能付きＳＲＡＭ１のライト動作を説明するためのタイミングチャートである。ＣＰＵ２３は、バスクロック２０に同期してアドレスバス１８にＲＡＭアドレスを出力し、データバス１９にライトデータを出力すると、ＡのタイミングでデータＲＡＭ１２の動作が開始され、ＢのタイミングでＥＣＣＲＡＭ１５の動作が開始される。
【００４７】
最初の１サイクルで、データＲＡＭ１２およびＥＣＣＲＡＭ１５はそれぞれ、ＲＡＭアドレスに対応する６４ビットのデータおよび８ビットのＥＣＣコードを読み出す。このとき、図８を用いて説明したようにＥＣＣＲＡＭ１５の方が速くＥＣＣコードを読み出すことができる。そのため、ＥＣＣＲＡＭクロックの遅延時間が相殺され、ほぼ同時にデータとＥＣＣコードとが読み出される。
【００４８】
ＥＣＣ部１３は、ＥＣＣＲＡＭ１５から出力された８ビットのＥＣＣコードに基づいて、データＲＡＭ１２から出力される６４ビットのデータのエラー検出／エラー訂正を行なって６４ビットのデータをデータラッチ回路にラッチする。
【００４９】
そして、ＥＣＣ部１３は、ラッチした６４ビットのデータのうち、書き換えビットに対応するデータにデータバス１９上のデータを上書きし、データラッチ回路にラッチされるデータに基づいてＥＣＣ演算を行なう。このとき、ＤのタイミングでＥＣＣコードの生成が完了しているので、このサイクルで６４ビットのデータおよび８ビットのＥＣＣコードをそれぞれデータＲＡＭ１２およびＥＣＣＲＡＭ１５に書き込むことができる。
【００５０】
図９に示すように、ＥＣＣＲＡＭクロックの遅延がなければ、ＥＣＣＲＡＭ１５はＣのタイミングでＥＣＣコードを書き込まなければならないが、そのタイミングではＥＣＣコードが確定していない。したがって、ＥＣＣＲＡＭ１５はこのタイミングでＥＣＣコードを書き込むことができず、サイクル数を増やしたり、バスクロック周波数を下げたりしなければならない。
【００５１】
一方、クロック微調整回路１７によってＥＣＣＲＡＭクロックを遅延させることにより、ＤのタイミングでＥＣＣコードを書き込めば良いため、サイクル数を増やしたり、バスクロック周波数を下げたりする必要はなくなる。
【００５２】
図１０は、ＥＣＣＲＡＭ１５をデータ領域として使用した場合のリード動作を説明するためのタイミングチャートである。ＣＰＵ２３は、バスクロック２０に同期してアドレスバス１８にＲＡＭアドレスを出力すると、ＢのタイミングにおいてＥＣＣＲＡＭ１５のリード動作が開始される。このとき、図８を用いて説明したようにＥＣＣＲＡＭ１５の方が速くデータを読み出すことができる。そのため、クロック微調整回路１７でのＥＣＣＲＡＭクロックの遅延量を調整することにより、ＥＣＣＲＡＭクロックの遅延時間とＥＣＣＲＡＭ１５からの読出しの相対的な高速化とがほぼ相殺され、データＲＡＭ１２からデータを読み出すタイミングとほぼ同じタイミングでＥＣＣＲＡＭ１５からデータを読み出すことができる。
【００５３】
図１１は、ＥＣＣＲＡＭ１５の物理アドレス配置イメージの一例を示す図である。図１１（ａ）は、ＥＣＣＲＡＭ１５をＥＣＣ領域として使用する場合を示している。１つの四角形が８ビットのＥＣＣコードを示しており、８ビット単位でＥＣＣコードのリード／ライトが行なわれる。上述のように、ＥＣＣ用アドレスデコーダ１６およびＥＣＣコード用Ｙデコーダ１４から出力されるデコード結果がビット線およびワード線として使用される。
【００５４】
図１１（ｂ）は、ＥＣＣＲＡＭ１５をデータ領域として使用する場合を示している。１つの四角形が６４ビットのデータを示しており、６４ビット単位でデータのリード／ライトが行なわれる。上述のように、データＲＡＭ用アドレスデコーダ１１から出力されるデコード結果がビット線およびワード線として使用される。
【００５５】
以上説明したように、本実施の形態におけるデータ処理装置によれば、データＲＡＭ１２とＥＣＣＲＡＭ１５とをそれぞれ別々のＲＡＭモジュールで構成し、データＲＡＭ１２をバスクロック２０に同期して動作させ、ＥＣＣＲＡＭ１５をクロック微調整回路１７によってバスクロック２０を遅延したＥＣＣＲＡＭクロックに同期して動作させるようにした。これによって、ＥＣＣＲＡＭ１５にＥＣＣコードを書き込むタイミングを、データＲＡＭ１２にデータを書き込むタイミングよりも遅らすことができ、バスクロック周波数を下げずにＥＣＣコードの書き込みを行なうことができる。したがって、ＥＣＣ機能付きＳＲＡＭの動作速度を向上させることが可能となった。
【００５６】
また、データＲＡＭ１２とＥＣＣＲＡＭ１５とをそれぞれ別々のＲＡＭモジュールで構成することにより、ＥＣＣＲＡＭ１５の動作速度をデータＲＡＭ１２よりも高速にすることができ、ＥＣＣＲＡＭクロックの遅延時間を相殺することが可能となった。
【００５７】
また、ＥＣＣＲＡＭ１５をデータ領域として使用する場合には、データＲＡＭ用アドレスデコーダ１１から出力されるデコード結果に応じてリード／ライトを行なうようにしたので、データＲＡＭ１２と同様のアクセスが行なえる。したがって、ＥＣＣ機能を使用しない場合にも、ＥＣＣＲＡＭ１５の容量を有効に利用することが可能となった。
【００５８】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００５９】
１  ＥＣＣ機能付きＳＲＡＭ、１１  データＲＡＭ用アドレスデコーダ、１２  データＲＡＭ、１３，１１３  ＥＣＣ部、１４  ＥＣＣコード用Ｙデコーダ、１５  ＥＣＣＲＡＭ、１６  ＥＣＣ用アドレスデコーダ、１７  クロック微調整回路、１８，１０７  アドレスバス、１９，１０８  データバス、２０  バスクロック、２１，２２，３５  スイッチ、２３，１０１  ＣＰＵ、２４  ＲＡＭ制御レジスタ、３１〜３４  インバータ、４１，４４  センスアンプ、４２，４５  ビット線、４３，４６  セル、１０２  ＳＲＡＭ、１０３  ＲＯＭ、１０４  ＩＣＵ、１０５  ＤＭＡＣ、１０６  周辺ＩＯ、１１１  アドレスデコーダ、１１２  ＲＡＭモジュール、１１４  レジスタ。
【図１】
2011022901.tif 000003
【図２】
2011022901.tif 000004
【図３】
2011022901.tif 000005
【図４】
2011022901.tif 000006
【図５】
2011022901.tif 000007
【図６】
2011022901.tif 000008
【図７】
2011022901.tif 000009
【図８】
2011022901.tif 000010
【図９】
2011022901.tif 000011
【図１０】
2011022901.tif 000012
【図１１】
2011022901.tif 000013