説明

マイクロコンピュータ

【課題】ダブルデータレート(DDR)方式のシンクロナスDRAMを高速アクセス可能なマイクロコンピュータを提供する。
【解決手段】中央処理ユニット、メモリ制御手段、及びクロック制御部を有するマイクロコンピュータは、クロック制御部から供給されたクロックを外部クロックとしてマイクロコンピュータの外部に出力し、外部クロックを反転したクロックをマイクロコンピュータの外部に出力する。メモリ制御手段は、前記クロックに対応し、第1の電位状態と第2の電位状態とに遷移するデータストローブ信号を生成する。メモリ制御手段によって制御されるメモリは、データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期してデータの入出力を行うDDR方式の同期型メモリである。メモリ制御手段は、同期型メモリにデータを書き込むとき、前記データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期してデータを外部に出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体メモリに接続されるマイクロコンピュータに関するものであり、特にダブルデータレート(DDR)方式のシンクロナスダイナミックランダムアクセスメモリ(SDRAM)と接続し、データの読み出しおよびデータの書き込みを行うマイクロコンピュータに適用して有効な技術に関するものである。
【0002】
また、本発明は、前記マイクロコンピュータと、前記ダブルデータレート方式のシンクロナスダイナミックランダムメモリとにより構成されたマイクロコンピュータシステムに適用しても有効な技術に関するものである。
【背景技術】
【0003】
ダブルデータレート(DDR)方式を採用するシンクロナスランダムアクセスメモリ(SDRAM)にマイクロコンピュータを接続し、メモリからデータを読み出し、またはデータの書き込みを行う技術は従来から用いられている。この場合、マイクロコンピュータをDDR−SDRAMに接続させるための、マイクロコンピュータとDDR−SDRAMとの間に、マイクロコンピュータとメモリとは別にDDR方式のSDRAMを制御するためのメモリコントローラを接続していた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平5−120114号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
マイクロコンピュータとダブルデータレート(DDR)方式のメモリとを接続するために、メモリコントローラをマイクロコンピュータとDDR−SDRAMとは独立して設けた場合、マイクロコンピュータとメモリコントローラとの間、及びメモリコントローラとメモリとの間でアドレスやデータのやり取りを行う必要がある。そのため、データやアドレスのやり取りをメモリコントローラを介して行っている分、速度性能を落とすこととなっていた。更に、無駄な経路を信号が通過するため、消費電力の面でも無駄が生じていた。上記により、マイクロコンピュータとDDR−SDRAMとを組み合わせたマイコンシステムの性能向上の妨げとなっていた。
【0006】
また、マイクロコンピュータとDDR−SDRAMとを一つの半導体基板に形成する場合にも、同一基板上に形成されたマイクロコンピュータとDDR−SDRAMとの外にDDR方式のメモリを制御するためのメモリコントローラを接続する必要があり、上述した如く、性能向上の妨げとなっていた。
【0007】
更に、上記の如くマイクロコンピュータとDDR−SDRAMとの間にDDR方式のメモリコントローラを接続した場合、部品点数が増加し、実装面積が増大し、コストを下げる上での障害となっていた。
【0008】
本発明の目的は、マイクロコンピュータとDDR方式のメモリコントローラの機能をマイクロコンピュータに内蔵することで、マイクロコンピュータとDDR−SDRAMとの間のデータの読み出しおよび書き込みの性能の向上を図ったマイクロコンピュータを提供することである。
【0009】
更に、本発明の目的は、マイクロコンピュータにメモリコントローラを組み込むことで、部品点数を抑え、実装面積を縮小させることが可能となり、DDR方式のSDRAMを使用したシステムを安価に提供することにある。
【0010】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0011】
本発明のうち代表的なものの概要を以下に簡単に説明する。
【0012】
本発明では上記目的を達成するために、マイクロコンピュータと同一の半導体基板上に、前記マイクロコンピュータの中央処理ユニット(CPU)から出力される複数ビットからなるアドレス信号により、DDR−SDRAMからのデータの読み出しとデータの書き込みを行うためにダブルデータレート方式でメモリを制御するための各種ストローブ信号を生成し出力するメモリ制御手段と、前記中央処理ユニットとメモリ制御手段とに対してメモリ制御等に必要なクロックを供給するためのクロック制御手段とを形成する。
【0013】
具体的には、マイクロコンピュータと同一の半導体基板上に、メモリ制御のためのアドレス信号の生成やストローブ信号の生成およびデータの入出力のための基準となる高速な内部クロック信号とメモリへ供給する低速な外部出力クロック信号とを使用してダブルデータレート方式でメモリからのデータの読み出しおよび書き込みを行うことを可能にする手段を形成する。
【0014】
上記によりマイクロコンピュータとDDR−SDRAMとを直接接続し、マイクロコンピュータとDDR−SDRAMとの間にメモリコントローラを別に接続させる必要の無いマイクロコンピュータの提供が可能となる。更に、前記マイクロコンピュータとDDR−SDRAMとを直接接続したマイコンシステムの構築が可能となる。
【0015】
更に、マイクロコンピュータとDDR方式のメモリを同一半導体基板上に形成する際、前記半導体基板外にDDR方式のメモリコントローラを接続させる必要の無いマイクロコンピュータやマイコンシステムの提供が可能となる。
【0016】
以上により、マイクロコンピュータとメモリとの間のデータのやりとりの効率が向上し高速なデータ転送が可能となり、消費電力の低減も可能となる。更に、部品点数が少なく、従来よりも小面積で、低コストのシステムを提供することが可能となる。
【発明の効果】
【0017】
本発明により、ダブルデータレート(DDR)方式のシンクロナスDRAM(SDRAM)を、メモリコントローラを別に接続すること無く、プロセッサに接続することが可能となる。更に、プロセッサ内部のクロックを利用することで、DDR−SDRAMの制御を行うための回路を削減することが可能となり、面積効率が高く、かつ、プロセッサとDDR−SDRAMとの間の高速アクセスが可能となる。
【図面の簡単な説明】
【0018】
【図1】本発明に係わるマイクロコンピュータ及びメモリのブロック図。
【図2】本発明に係わるクロック制御部のブロック図。
【図3】本発明に係わるメモリ制御に必要となるクロックのタイミング図。
【図4】本発明に係わるマイクロコンピュータとメモリとの接続図。
【図5】本発明に係わるレジスタの概要図。
【図6】本発明に係わるダブルデータレートシンクロナスDRAM(DDR−DRAM)をリードアクセスした時のタイミングチャート。
【図7】本発明に係わるメモリ制御装置を使用してダブルデータレートシンクロナスDRAM(DDR−SDRAM)をライトアクセスした時のタイミングチャート。
【図8】本発明に係わるバスデータバッファと制御信号生成部とのブロック図。
【発明を実施するための形態】
【0019】
図1には本発明の代表的な実施形態の一つを示している。一つの半導体基板に形成されたマイクロコンピュータ(MPU:マイクロプロセッサユニット)と、一つの半導体基板上に形成されたダブルデータレート方式のシンクロナスDRAM(DDR−SDRAM)21とが示されている。図では、DDR−SDRAMは一つしか示されていないが、一つのマイクロコンピュータに複数のDDR−SDRAMを接続する構成であってもよい。
【0020】
図1のマイクロプロセッサユニット内部の説明を行う。1は21のDDR方式のメモリを制御するメモリインタフェースモジュール、2は中央処理装置(CPU)及びキャッシュメモリ(Cache)とで構成されたモジュール、3はダイレクトメモリアクセスコントローラ(DMAC)モジュールである。2のCPU/Cacheモジュールと3のDMACモジュールは、1のメモリインタフェースモジュールに向けて、メモリに記憶されているデータの読み出し又はメモリにデータを記憶させるため、メモリ内の所定メモリセルを指定するためのアドレスの他に、アクセス要求も出力する。CPU/Cacheモジュールがメモリインタフェースモジュールに対して行うアクセス要求としては、メモリからのリードとメモリへのライトを行うためのメモリアクセス要求と、メモリインタフェースモジュール内部のレジスタ6に対するリード/ライトのレジスタアクセス要求などがある。DMACモジュールがメモリインタフェースモジュールに対して行うアクセス要求としては、メモリのリード/ライトを行うためのメモリアクセス要求がある。
【0021】
上記に示した、CPU/Cacheモジュールからメモリインタフェース内のレジスタ6に対するレジスタアクセス要求のうち、レジスタへのライト要求を行う場合、CPU/Cacheモジュールはリクエストとしてレジスタライトアクセス要求をメモリインタフェースモジュール内のリクエスト制御部4に出力する。それと同時に、レジスタ6に書き込むデータを103を介してレジスタ6に出力する。CPU/Cacheモジュールより、レジスタへの書き込みの要求を受けたリクエスト制御部4はレジスタアクセスリクエスト101をレジスタR/W制御部5に出力する。レジスタアクセスリクエストを受けたレジスタR/W制御部は、レジスタ6に対してレジスタ書き込み信号102を出力する。上述した一連の動作により、CPU/Cacheモジュールからレジスタ6に送られるデータがレジスタ6に書き込まれる。
【0022】
CPU/CacheモジュールがDDR−SDRAMに記憶されているデータを必要とした場合、CPU/Cacheモジュールはリクエストとしてメモリアクセス要求とDDR−SDRAMの所定箇所を指定するためのアドレスをメモリインタフェースモジュール内のリクエスト制御部4に出力する。メモリアクセス要求を受けたリクエスト制御部は、CPU/Cacheモジュールがメモリへのアクセスを要求していることを認識すると、メモリインタフェースモジュール内の外部バス制御部7にメモリアクセスリクエスト104を出力する。メモリアクセスリクエストを受けた外部バス制御部はアドレス制御部8、制御信号生成部9、データ制御部10を制御し、DDR−SDRAMとのメモリアクセスを開始する。
【0023】
上述したアドレス制御部8ではあらかじめレジスタに記憶されているデータのうちのメモリアドレスと、リクエスト制御部4から出力されるリクエストアドレス107から、メモリへ出力するアドレス情報を生成する。生成されたアドレスは、DDR−SDRAMに接続されているアドレスバス34を介してメモリ21に転送される。制御信号生成部9では、あらかじめレジスタ6に記憶されたデータのなかのメモリ情報105を外部バス制御部7を介して受け取り、受け取ったメモリ情報にしたがってメモリアクセスに必要なメモリ制御信号35を生成し、メモリに出力する。メモリ制御信号としては、メモリからのリード/メモリへのライト等をメモリに指示するための各種コマンドである。データ制御部10は、外部バス制御部7からの指示により、バスデータバッファ11を制御し、DDR−SDRAMに接続されたデータバス36を介して行われる、マイクロプロセッサとメモリとの間のデータの授受の制御を行う。
【0024】
なお、本実施例ではDMACモジュールを内蔵したマイクロプロセッサを用いているが、DMACモジュールを内蔵していないマイクロプロセッサでもよい。
【0025】
図2では、図1のマイクロプロセッサの中に形成されているクロック制御部12の詳細例を示す。クロック制御部12は、基準となるクロックを生成するクロック生成部13、クロック生成部13で生成されたクロックの1/2の周波数を生成するクロック分周器14とで主に構成される。クロック生成部13にて生成されたクロックは、本実施例のマイクロプロセッサの基準クロック、つまり、中央処理ユニット等に供給される内部クロック30となる。なお、本実施例では基準クロックはクロック生成部にて生成しているが、外部から供給されるクロックであっても問題ない。
【0026】
クロック分周器14は、ラッチ手段15と分周器用インバータ16とで主に構成される。ラッチ15の出力を分周器用インバータ16を通して反転してラッチの入力とし、クロック信号の立ち上がりでデータを取り込むことで、基準クロックつまり内部クロック13に対して1/2の周波数のクロックが生成される。クロック分周器で生成された内部クロックの1/2の周波数のクロックは、外部クロック31としてマイクロプロセッサの外部、つまり、DDR−SDRAMなどに出力される。また、クロック分周器で生成された内部クロックの1/2の周波数のクロックを外部クロック用インバータ17により反転した信号が、反転クロック32として外部に出力される。更に、基準クロックの1/2の周波数のクロックはメモリインタフェースモジュール1内の外部バス制御部にも送られ、出力コマンド同期化信号33として使用される。クロック分周器などの構成は本実施例の他にも多様な変形例が存在するが、それらについての説明は割愛する。
【0027】
図3にはメモリインタフェースモジュール1でのコマンド同期タイミングを示す。
メモリインタフェースモジュールには、クロック制御部12から出力される、プロセッサの内部クロックと、前記内部クロックの1/2の周波数のコマンド同期化信号33とが供給されている。コマンド同期化信号は、プロセッサ外部のDDR−SDRAMに供給される外部クロックと同じ周波数で、同じ位相をもったクロックである。メモリインタフェースモジュールは、メモリが外部クロック31の立ち上がりで各種コマンドを受け取れるよう制御する。メモリは、外部クロックがLOWの期間(T2)にメモリに対して出力されたコマンドについては、外部クロックの次の立ち上がりの時点で受け取ることが可能であるが、外部クロックがHIGHの期間にメモリに対して与えられたコマンドについては受け取ることが出来ない。そのためコマンド出力可能期間、つまり外部クロックがLOWのときにのみ制御信号を出力し、コマンド出力不可期間には制御信号の出力はしないようにする必要がある。
【0028】
なお、本実施例では、コマンドの出力サイクルを内部クロック(30)の1サイクルとしているが、コマンド出力サイクルを外部クロック(31)の1サイクルとしてもよい。
【0029】
図4にマイクロプロセッサとダブルデータレート(DDR)方式のシンクロナスDRAMとの接続例を示す。DDR−SDRAM21のアクセスに必要なメモリ制御信号にはクロック(CLOCK)、反転クロック(/CLOCK)、クロックイネーブル信号(CKE)、チップセレクト信号(/CS)、ロウアドレスストローブ信号(/RAS)、カラムアドレスストローブ(/CAS)、ライトイネーブル信号(/WE)、データマスクイネーブル信号(DQM)、およびデータストローブ信号(DQS)がある。これらのメモリ制御信号の他には、メモリのアドレスを指定するためのアドレス(Addr.)と、マイクロプロセッサとメモリとの間でやり取りされるデータ(DATA)とがある。マイクロプロセッサは各種制御信号を出力することでダブルデータレートシンクロナスDRAMに対して、メモリの動作を規定するための各種コマンドやアドレス、データを与え、メモリからのリードやメモリへのライトアクセスを実現する。尚、図面において、アルファベットの上部に横線が入っている信号、及び、上記においてアルファベットの前に斜線が入っている信号は、信号がLOWレベルになったときに信号が活性化することを示している。
【0030】
図5にはマイクロプロセッサ内のレジスタ6の概要図を示す。特に制限されないが、本実施形態ではレジスタ6は32ビットのレジスタで構成される。TRC0から2、 TPC0から2、RCD0から1、TRWL2から0にはメモリアクセスのタイミング情報が設定される。また、AMX2から0にはロウアドレスとカラムアドレスのそれぞれのビット数が設定される。これらのレジスタ6の内容は、使用するDDR−SDRAMの種類、動作周波数に合わせて設定することが可能である。
【0031】
図6には、マイクロプロセッサによるDDR−SDRAMからのリードアクセス時のタイミングチャート、図7には、マイクロプロセッサにからDDR−SDRAMへのライトアクセス時のタイミングチャートを示している。
【0032】
図6において、プロセッサの内部クロックの1周期であるTrサイクルでDDR−SDARMに対して図示していないACTVコマンドを発行する。それと伴にロウアドレス(Row)をアドレス(Addr.)線を介してメモりに通知する。Trに続くTrwサイクルの立ち上がり、つまり外部クロックの立ち上がりでメモリはアドレス線を介して印加されているロウアドレス(Row)を取り込む。その後メモリ21は規定のサイクルだけ待機する。規定サイクル経過した後、Tc1サイクルでREADコマンドを発行してカラムアドレス(c1)を通知し、Tc2サイクルの開始時、つまり外部クロックの立ち上がりの際にメモリ21はアドレス線を介して印加されているカラムアドレス(c1)を取り込む。その後、メモリに事前に規定されているレイテンシに応じた周期、Tc2、Tc3を待ってからリードDATAのサンプリングを行なう。なお、本実施例ではメモリのバースト長を4としているためTc1サイクルでREADコマンドを発行した4サイクル後に、後続のコマンドとしてオートプリチャージつきリードコマンドであるREADAコマンドを発行し、プリチャージを実行している。
【0033】
メモリへの書き込みの際のタイミングを示している図7についても、TrサイクルでACTVコマンドを発行し、アドレス線(Addr.)を介してメモリに対してロウアドレスを供給する。メモリへ供給される外部クロックの、Trに続く次のサイクルであるTrwの立ち上がりで、メモリは供給されたロウアドレスを取り込む。次に、Tw1サイクルでWRITコマンドを発行し、アドレス線を介してメモリにカラムアドレスを供給する。更にTw1のサイクルにおいて、ライトDATAのドライブを行なう。なお、本実施例ではメモリのバースト長を4としているためTw1サイクルでWRITコマンドを発行した4サイクル後に、後続のコマンドとしてオートプリチャージつきライトコマンドであるWRITAコマンドを発行し、プリチャージを実行している。
【0034】
さらに続くアクセスがTrで発行した時のロウアドレスと同一アドレスに対するアクセスの場合、アクセスの終了時にプリチャージつきのリード/ライトコマンドではなく、プリチャージなしのリード/ライトコマンドで終了し、Tc1サイクルのリードもしくはライトコマンドを発行するだけでアクセスを続けることも可能であり、Tr、Trwサイクルだけ高速にアクセスを行なうことができる。
【0035】
図8には、図1で示したバスデータバッファ11と制御信号生成部9との詳細を示している。制御信号生成部については、データストローブ制御部50のみを示している。DDR−SDRAMでは、データ読み出し時にメモリから出力されるデータ信号の変化と、データストローブ信号の変化とは同一のタイミングである。メモリインタフェースは、データストローブ信号を外部クロックに対して90度位相を遅らせた信号でデータを取り込むようになっている。また、メモリ動作クロックとデータ変化タイミングは規定が無く、メモリ動作クロックでデータをサンプリングすることはできない。
【0036】
一方、データ書き込み時、メモリはデータをデータストローブ信号の立ち上がりエッジ、及び立ち下がりエッジで取り込めるようにデータストローブ信号の出力が規定され、データストローブ信号に対してデータのセットアップ/ホールド時間が規定されている。
【0037】
データの書き込み時に、メモリコントローラは外部クロックの立ち上がりと立ち下がりに同期してデータを出力し、同時に外部クロックに対して90度位相の遅れたデータストローブ信号を出力する必要がある。
メモリ動作の基準となる外部クロックと、外部クロックの2倍の周波数の内部クロックを共にプロセッサ内部で生成するため、外部クロックと内部クロックの位相差の制御が可能となる。また、外部クロックの2倍の周波数の内部クロックを使用することで、外部クロックに対して90度の位相シフトを容易に行うことが出来る。
【0038】
外部クロックと内部クロックの位相差の制御が可能であるため、データの読み出し時のデータの取り込みの際にデータストローブ信号を使用せず、内部クロックの立ち上がりでデータを取り込むことが可能となる。内部クロックは外部クロックの2倍の周波数であり、外部クロックの立ち上がりと立ち下がりに同期して変化するデータを内部クロックの立ち上がりで取り込むことが可能となる。メモリの出力するデータストローブ信号を使用した場合、位相を90度遅らせるための位相シフト回路が必要となるが、本実施例の場合は特に必要とはならない。このことにより、周波数の変更に伴っても、位相シフト回路の変更が不要となるといった利点もある。更に、プロセッサ外部にメモリコントローラを設けた場合、データストローブ信号を90度位相を遅らせて取り込まれたデータとプロセッサ動作の基準となるクロックとの間に相関関係が無く、非同期信号となるためデータ信号の同期化回路が必要となってしまう。つまり速度的に不利となる。
【0039】
データの書き込み時には、内部クロックを使用し、内部クロックの立ち下がりでデータストローブ信号が変化するように出力することで、外部クロックの90度位相シフトが容易に可能となる。読み出し時と同様に位相シフト回路が不要となる。データ信号はデータの読み込み時にはメモリ側からドライブされるので信号が衝突しないようにトライステートバッファによりドライブコントロールを行う。
【0040】
また、外部クロックの2倍の周波数の内部クロックを使用することで、速度性能の向上のための外部クロックの周波数の変更にも対応できる。
【0041】
以上、プロセッサ内部にDDR−SDRAMのメモリコントローラ及びクロック制御部を内蔵することによって、プロセッサ動作の基準となる内部クロックとメモリ動作の基準となる外部クロックとの供給が可能となり、メモリ制御信号の生成やデータ信号の入出力制御が簡単な回路で実現できる。更に、不要な同期化回路の削減も可能となる。
【0042】
尚、上述した実施形態はあくまでも本発明の一つの実施形態であり、本発明が上記実施形態に限定されるものではない。例えば、図3に示した内部クロック、同期化信号及び外部クロックについての位相は図面に限定されるものではなく、同期化信号及び/又は外部クロックは、図面と反転した信号であってもよい。また、図8に関連する記載において、メモリからのデータの読み出しの際、内部クロックの立ち上がりでデータを取り込むのではなく、クロックの立ち下がりでデータを取り込むことも可能である。同様にデータの書き込みの際のタイミングについても同様のことが言える。
【符号の説明】
【0043】
1 メモリインタフェースモジュール
2 CPU/Cacheモジュール
3 DMAC
4 リクエスト制御部
5 レジスタR/W制御部
6 レジスタ
7 外部バス制御部
8 アドレス制御部
9 制御信号
10 データ制御部
11 データバッファ
12 クロック制御部
13 クロック生成部
14 クロック分周器
15 ラッチ
16 分周器用インバータ
17 外部クロック用インバータ
20 マイクロプロセッサ
21 ダブルデータレートシンクロナスDRAM(DDR−SDRAM)
30 内部クロック
31 外部クロック
32 反転クロック
33 出力コマンド同期化信号
34 アドレス
35 メモリ制御信号
36 データ
101 レジスタアクセスリクエスト
102 レジスタ書き込み信号
103 データ
104 メモリアクセスリクエスト
105 メモリタイミング情報
106 メモリアドレス情報
107 リクエストアドレス

【特許請求の範囲】
【請求項1】
中央処理ユニットと、
前記中央処理ユニットに接続されたメモリ制御手段と、
前記中央処理ユニットと前記メモリ制御手段とにクロックを供給するためのクロック制御部と、を有し、一つの半導体チップ上に形成されたマイクロコンピュータであって、
前記マイクロコンピュータは、前記クロック制御部から供給されたクロックを外部クロックとしてマイクロコンピュータの外部に出力し、前記外部クロックを反転した外部反転クロックをマイクロコンピュータの外部に出力し、
前記メモリ制御手段は、前記クロックに対応し、第1の電位状態と第2の電位状態とに遷移するデータストローブ信号を生成可能であり、
前記メモリ制御手段によって制御されるメモリは、前記データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期してデータの入出力を行うことが可能なダブルデータレート方式の同期型メモリであり、
前記メモリ制御手段は、前記同期型メモリにデータを書き込むとき、前記データストローブ信号の立ち上がりエッジと立ち下がりエッジに同期してデータを外部に出力し、
前記中央処理ユニットは、前記同期型メモリにアクセスするためのメモリアドレスを生成し、
前記メモリ制御手段は、前記外部クロックに同期して前記メモリアドレスを出力することが可能であることを特徴とするマイクロコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−20801(P2010−20801A)
【公開日】平成22年1月28日(2010.1.28)
【国際特許分類】
【出願番号】特願2009−245314(P2009−245314)
【出願日】平成21年10月26日(2009.10.26)
【分割の表示】特願2006−155841(P2006−155841)の分割
【原出願日】平成11年6月29日(1999.6.29)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】