JP4176920B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP4176920B2
JP4176920B2 JP18164099A JP18164099A JP4176920B2 JP 4176920 B2 JP4176920 B2 JP 4176920B2 JP 18164099 A JP18164099 A JP 18164099A JP 18164099 A JP18164099 A JP 18164099A JP 4176920 B2 JP4176920 B2 JP 4176920B2
Authority
JP
Japan
Prior art keywords
bus
cpu
peripheral
peripheral module
data
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.)
Expired - Fee Related
Application number
JP18164099A
Other languages
English (en)
Other versions
JP2001014259A (ja
Inventor
健 片岡
美紀 ▲吉▼田
哲裕 山田
文男 土屋
清 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP18164099A priority Critical patent/JP4176920B2/ja
Publication of JP2001014259A publication Critical patent/JP2001014259A/ja
Application granted granted Critical
Publication of JP4176920B2 publication Critical patent/JP4176920B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、マイクロコンピュータにおける周辺モジュールのアクセス方式に適用して有効な技術に関し、例えば周辺モジュールの動作クロックの周波数が中央処理ユニットの動作クロックの周波数よりも低いマイクロコンピュータにおける周辺モジュールのアクセス方式に利用して有効な技術に関する。
【0002】
【従来の技術】
中央処理ユニット(以下、CPUと称する)と、タイマ回路やシリアルコミュニケーションインタフェース回路、A−D変換回路等の周辺モジュールとを含むワンチップのマイクロコンピュータにおいて、低消費電力化および低ノイズ化のため、周辺モジュールの動作クロックの周波数をCPUの動作クロックの周波数よりも低く設定して、周辺モジュールをCPUに比べ低速で動作させるようにしたものがある。また、かかる動作周波数の異なるCPUと周辺モジュールとの間の信号の授受を可能にするため、CPUに接続されるCPUバスと周辺モジュールに接続される周辺バスとの間に、信号の橋渡しをするバス制御手段(バスステートコントローラ)が設けられているものがある。
【0003】
【発明が解決しようとする課題】
上記のように、周辺モジュールをCPUに比べ低い周波数で動作させるように構成された従来のマイクロコンピュータにおいては、CPUによる内蔵周辺モジュールのアクセスサイクルは当該モジュールの動作周波数により決定された。例えば、CPUの動作周波数の1/4の動作周波数で動く周辺モジュールをCPUがリードアクセスした場合を考えると、周辺モジュールはCPUからのアクセス要求を受けてからデータを出力できるまでに、周辺モジュールの動作周波数で1サイクル必要であり、CPUはその次の1サイクルの間にデータを読み込むことになる。また、周辺モジュールをCPUがライトアクセスした場合にも、周辺モジュールはCPUからのアクセス要求を受けてからデータを取り込むことができるようにまでに周辺モジュールの動作周波数で1サイクル必要で、周辺モジュールはその次のサイクルでデータを取り込むことになる。
【0004】
そのため、周辺モジュールのリードやライトには、最短でも周辺モジュールの動作周波数で2サイクルすなわちCPUの動作周波数では8サイクルもかかってしまう。従来のマイクロコンピュータでは、この間CPUは他の処理を行なうことができないため、CPUの性能低下につながっていた。なお、ここで周辺モジュールのリード、ライトとは、周辺モジュール内部に設けられているレジスタ類のデータのリードやライトを意味する。
【0005】
本発明の目的は、上記のように低消費電力化および低ノイズ化のため、周辺モジュールをCPUに比べ低い周波数で動作させた際に、周辺モジュールのアクセスサイクルが増大し、CPUの性能が低下するのを防止することにある。
【0006】
この発明の前記ならびにそのほかの目的と新規な特徴については、本明細書の記述および添附図面から明らかになるであろう。
【0007】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記のとおりである。
【0008】
すなわち、少なくともCPU(中央処理ユニット)と、CPUに比べて低い周波数の動作クロックで動作する周辺モジュールとを備えたマイクロコンピュータもしくはマイクロコントローラのようなデータ処理装置において、CPUに接続されるCPUバスと周辺モジュールに接続される周辺バスとの間に設けられ、2つのバス間の信号の橋渡しをするバスステートコントローラに、CPUが周辺モジュールに対してライトアクセスする際に、CPUからCPUバスに出力されるアドレス信号およびデータ信号を取り込んで保持する少なくとも1段以上のライト用のバッファを設けるようにしたものである。
【0009】
上記した手段によれば、CPUが周辺モジュールのライトコマンドとアドレスやデータを出力すれば、後はバスステートコントローラがそのコマンドとアドレスをデコードして周辺モジュールに対する信号を形成して出力するとともに、CPUに対してバスサイクル終了信号を返送するので、CPUは周辺モジュールのライトコマンドとアドレスやデータを出力した後、他の処理を行なうことができる。そのため、CPUのスループットが向上するようになる。
【0010】
また、好ましくは、上記ライト用のバッファはファーストイン・ファーストアウト方式の多段バッファで構成する。これによって、周辺モジュールに対して連続したライト動作を行なう場合にも、ライト用のバッファに複数のライトデータを格納することができるため、CPUは短時間に他の処理へ移行することができ、CPUのスループットがさらに向上する。
【0011】
さらに、バスステートコントローラには、周辺モジュール内の所定のレジスタの内容と同一の内容を保持するリードバッファと、周辺モジュールから変化のあったレジスタの値を読み出すためのレジスタコピー制御回路とを設ける。これによって、CPUが周辺モジュールのレジスタの内容を読み出すときにも、CPUは1サイクルで所望のデータを得ることができ、CPUのスループットが向上するようになる。
【0012】
【発明の実施の形態】
以下、本発明の好適な実施例を図面に基づいて説明する。
【0013】
図1には、本発明が適用されるCPUと周辺モジュールとを備えたマイクロコンピュータの一実施例の概略構成が示されている。特に制限されないが、図1に示されている各回路ブロックは、公知の半導体集積回路の製造技術により、単結晶シリコンのような1個の半導体チップ上に形成されている。
【0014】
図1に示されているように、この実施例のマイクロコンピュータは、プログラム制御方式の中央処理ユニットCPUと、CPUが実行するプログラムや制御に必要な固定データを記憶するリード・オンリ・メモリROMと、CPUの作業領域を提供するとともにプログラムの実行に伴って得られたデータを一時的に格納したりするためのランダム・アクセス・メモリRAMと、CPUに代わって乗算などの演算処理を行なう演算ユニットMULTと、CPUに代わって外部のハードディスク装置のような記憶装置と内部のRAMとの間でDMA(ダイレクト・メモリ・アクセス)方式のデータ転送を行なうDMAコントローラDMACとを備えている。これらの回路は、CPUアドレスバスIABおよびCPUデータバスIDBを介して接続されている。
【0015】
この実施例のマイクロコンピュータには、上記CPUバスIAB,IDBとは別個に周辺アドレスバスPABおよび周辺データバスPDBが設けられている。この周辺アドレスバスPABおよび周辺データバスPDBには、所定の割込み要因の発生に基づいてCPUに対して割込み要求を行なう割込みコントローラINTC、エミュレーションの際にユーザーが指定したブレークポイントでCPUに対しプログラムの実行停止を要求したりするユーザーブレークコントローラUBC、アナログ・デジタル変換回路ADC,外部装置との間でシリアル通信を行なうシリアルコミュニケーションインタフェースSCI,時間管理用のタイマー回路TIMなどの周辺モジュールPRM、外部装置との間の信号の入出力を行なう入出力ポートPORTが結合されている。なお、入出力ポートPORTにはCPUが接続されたCPUバスIAB,IDBも接続され、CPUもしくはDMACが直接外部装置とデータの授受を行なえるように構成されている。
【0016】
また、上記CPUバスIAB,IDBと周辺バスPAB,PDBとの間には2つのバス上の信号のタイミングを調整してCPUと周辺モジュールとの間の信号の橋渡しをするバスステートコントローラBSCが設けられている。特に制限されるものでないが、この実施例では、上記ROMが所定のブロック単位でデータの一括消去が可能なフラッシュメモリにより構成されている。このフラッシュメモリに対するデータの書込みを制御するためROMの近傍にはフラッシュコントローラFLASHCが設けられている。
【0017】
さらに、内部の動作に必要とされるクロックを発生するクロック発生回路CPGが設けられており、このクロック発生回路CPGには、外部端子EXTALを介して所定の固有震動数を有する水晶発振子XTALが結合される。クロック発生回路CPGは、外部の水晶発振子XTALとともに、その固有振動数に見合った所定の周波数・位相を有するクロック信号を形成し、PLL回路で逓倍して80MHzのクロックφcとそれを4分周した20MHzのようなクロックφpを形成しマイクロコンピュータの各部に供給する。
【0018】
本実施例では、CPUには80MHzの基準クロックφcが供給され、周辺モジュールPRMには基準クロックφcよりも周波数の低い20MHzの周辺クロックφpが供給されており、周辺モジュールPRMはCPUに比べて低速で動作するように構成されている。
【0019】
図2には上記周辺モジュールPRMの基本的な構成が示されている。
【0020】
周辺回路モジュールPRMは、制御用のコントロールレジスタやモジュール内部状態を反映するフラグを有するステータスレジスタ、データ保持用のデータレジスタ等のレジスタ11a〜11cと、これらのレジスタ11a〜11cが接続されたモジュール内部バス12と、該モジュール内部バス12と前記周辺データバスPDBとの信号の入出力を行なう内部インタフェース回路13と、モジュールの本来の機能を実行するためのモジュール本体回路14と、周辺アドレスバスPAB上のアドレス信号およびバスステートコントローラBSCから供給されるリードストローブ信号RSやライトストローブ信号WSをデコードして上記レジスタ11a〜11cのいずれかを選択するデコーダ回路15等から構成されている。
【0021】
上記モジュール本体回路14は、モジュールが実行すべき機能に応じて種々の構成を採るもので、例えば演算器とそれを制御する制御回路(コントロールレジスタの値をデコードするデコーダ)などで構成される。また、周辺モジュールが例えばシリアルコミュニケーションインタフェースの場合、モジュール本体回路14にはシリアル/パラレル変換回路等が設けられる。周辺モジュールが例えばタイマの場合、モジュール本体回路14にはクロックを計数するタイマカウンタ等が設けられる。このモジュール本体回路14や内部インタフェース回路13が上記周辺クロックφpを受けて動作する。
【0022】
特に限定されるものでないが、上記モジュール内部バス12や周辺データバスPDBは、例えば8ビットや16ビット、32ビットのようなデータ幅とされる。各周辺モジュールPRMは、CPUによって上記コントローラレジスタが所定の値に設定されると、動作を開始するように構成される。周辺モジュールがシリアルコミュニケーションインタフェースやA/D変換回路のように、外部装置との間の信号の送受信を行なう周辺モジュールでは、モジュール本体回路14は入出力ポートPORTを介して所定の外部端子に接続される。
【0023】
図3には上記CPUバスIAB,IDBと周辺バスPAB,PDBとの間に設けられた上記バスステートコントローラBSCの一実施例が示されている。
【0024】
この実施例のバスステートコントローラBSCは、CPUから供給されるバスコマンドコードCMDおよびアドレス信号IABをデコードして周辺モジュールの選択信号MSLやリードストローブ信号RSやライトストローブ信号WSを形成し周辺モジュールPRMへ出力するデコード回路21と、CPUデータバスIDBと周辺データバスPDB間のデータ信号のタイミングを調整するI/Oインタフェース回路22と、上記デコード回路21からの信号に基づいてバスステートコントローラBSC内部を制御したりCPUに対してバスサイクル終了信号BUSRDYを返したりする制御回路(ステートマシンと呼ばれることもある)23とを備えている。
【0025】
このバスステートコントローラBSCには、CPUに供給されるクロックと同じ基準クロックφcが供給され、基準クロックφcによって動作するようにされている。CPUから周辺モジュールPRMに対するアクセスがあってからバスサイクルが終了するまでの時間(サイクル数)は周辺モジュールによって異なるが、バスステートコントローラBSCにおける制御回路23は、デコード回路21からの信号によっていずれの周辺モジュールに対するアクセスか知ることができるため、従来のマイクロコンピュータでは、アクセスのあったモジュールに対応したタイミングでバスサイクル終了信号BUSRDYをCPUに返していた。
【0026】
一方、この実施例のバスステートコントローラBSCには、CPUアドレスバスIABおよびCPUデータバスIDB上のアドレス信号およびデータ信号を取り込んで保持するアドレスバッファ24とライトバッファ25およびライトバッファ25にデータが取り込まれているか否かを示す有効ビット26とが設けられている。そして、制御回路23は、アドレスバッファ24とライトバッファ25にCPUバスIAB,IDB上のアドレス信号およびデータ信号が取り込まれると、直ちに有効ビットに“1”をセットするとともにバスサイクル終了信号BUSRDYをCPUに返すように構成されている。なお、この実施例では、CPUからのリード要求に対して周辺モジュールPRMから周辺データバスPDBを介して返送されるデータ信号はI/Oインタフェース回路22を介してCPUデータバスIDBへ出力されるように構成されている。
【0027】
次に、図3の実施例のバスステートコントローラBSCの動作を説明する。ライト動作時は、CPUがバスステートコントローラBSCに、バスコマンドCMDで周辺モジュールに対するライト動作を指示し、当該周辺モジュールのアドレスをCPUアドレスバスIABに、またライトデータをCPUデータバスIDBに出力する。この時、バスステートコントローラBSC内のライトバッファ25の有効ビット26が“0”でデータが保持されていなければ、基準クロックφcの1サイクルでライトバッファ25にデータが、またアドレスバッファ24にアドレスが、それぞれライトされる。そして、バスステートコントローラBSC内の有効ビット26が“1”にセットされる。有効ビット26は“1”ならデータが格納、“0”なら格納されていないことを示す。
【0028】
次に、バスステートコントローラBSCはバスサイクル終了指示信号BUSRDYをハイレベルにアサートし、CPUはこれを検知して周辺モジュールへのライトサイクルをφc基準の1サイクルで終了する。一方、バスステートコントローラBSCは有効ビット26が“1”なら直ちに当該アドレスに対応した周辺モジュールPRMに対し、モジュールセレクト信号MSL、ライトストローブWRをアサートし、アドレスバッファ24に保持されているアドレスを周辺アドレスバスPABに、またライトバッファ25に保持されているライトデータを周辺データバスPDBへ出力する。バスステートコントローラBSCから周辺モジュールPRMへのライトサイクルは周辺クロックφpの2サイクル(基準クロックφcの8サイクル)で行われ、サイクル終了時に有効ビット26が“0”にクリアされ、アドレスバッファ24およびライトバッファ25は新たなデータを受け付けることができるようになる。
【0029】
なお、CPUによるライト動作時に有効ビット26が“1”になっている時は、バスステートコントローラBSCは周辺モジュールPRMへのライト動作が終了し有効ビット26が“0”にクリアされるまで、CPUに対するバスサイクル終了指示信号BUSRDYをネゲートして、CPUのバスサイクルにウェイトをかける。そして有効ビット26が“0”にクリアされると直ちにライトバッファ25にデータをライトしバスサイクル終了指示信号BUSRDYをアサートし、CPUのライトサイクルが終了する。
【0030】
また、リード動作時は有効ビット26が“0”なら、バスステートコントローラBSCは周辺モジュールPRMへライト動作を行っていないので、直ちに当該アドレスに対応した周辺モジュールPRMに対し、モジュールセレクト信号MSL、リードストローブRSをアサートし、周辺アドレスバスPABにアドレスを出力し、周辺モジュールPRMへのリード動作を開始する。リードサイクルは周辺クロックφpの2サイクル(基準クロックφcの8サイクル)で行われる。周辺モジュールPRMが周辺データバスPDBへ出力したデータをバスステートコントローラBSCがI/Oインタフェース回路22を介しCPUデータバスIDB上に出力し、リードサイクルの終わりにバスサイクル終了信号BUSRDYをアサートする。CPUはバスサイクル終了信号BUSRDYのアサートを認識しCPUデータバスIDBの値を取り込みリードサイクルが終了する。従って、この実施例ではCPUによる周辺モジュールPRMのリードサイクルは基準クロックφcで8サイクル以上要する。
【0031】
一方、周辺モジュールに対するリード動作開始時に有効ビット26が“1”なら、バスステートコントローラBSCは周辺モジュールPRMへのライト動作中であるので、ライト動作が終了し有効ビット26が“0”にクリアされるまでバスサイクル終了信号BUSRDYをネゲートしCPUのバスサイクルにウェイトをかける。そして、有効ビット26が“0”にクリアされてライトサイクルが終了すると、直ちに当該アドレスに対応した周辺モジュールPRMに対し、モジュールセレクト信号MSL、リードストローブRSをアサートし、アドレスを周辺アドレスバスIABに出力し、周辺モジュールPRMへのリード動作を開始する。
【0032】
図4には本実施例において有効ビットが“0”のときのライトサイクルでの各アドレスバスおよびデータバスとバスサイクル終了信号BUSRDYのタイミングが示されている。
【0033】
従来方式ではバスサイクル終了信号BUSRDYがCPUによるライトサイクル開始後例えば基準クロックで3サイクル後に返されていたものが、本実施例に従うと、図4に示すように、ライトサイクル開始後1サイクル(Td)でバスサイクル終了信号BUSRDYが返されるようになる。そのため、CPUは、周辺モジュールに対するライト動作のためにCPUバスIAB,IDB上へアドレス信号およびデータ信号を出力した後、バスステートコントローラBSCからのバスサイクル終了信号BUSRDYを受けて速やかに他の処理に移行することができるようになり、CPUのスループットが向上するようになる。
【0034】
図5は、本発明の第2の実施例を示すバスステートコントローラの構成図である。本実施例のバスステートコントローラは、第1の実施例における1段のアドレスバッファ24およびライトバッファ25をFIFO(ファーストイン・ファーストアウト)方式の多段バッファ27に代えたものである。また、この実施例では、FIFOバッファ27が空っぽになっているか否か示すエンプティビット32と、FIFOバッファ27が満杯になっているか否か示すフィルビット31と、FIFOバッファ27内の次にデータが書込まれる位置(アドレス)を示すライトポインタ33と、FIFOバッファ27内の次にデータが読み出される位置を示すリードポインタ34とが設けられている。
【0035】
ライト動作時は、CPUはバスステートコントローラBSCに、バスコマンドCMDで周辺モジュールPRMに対するライト動作を指示し、当該周辺モジュールのアドレスをCPUアドレスバスIABに出力し、ライトデータをCPUデータバスIDBに出力する。この時、バスステートコントローラBSC内のFIFO型ライトバッファ27が有効なデータで完全に満たされているのでなければ(フィルビット31が“0”ならば)、基準クロックφcの1サイクルでFIFOバッファ27にデータおよびアドレスがそれぞれライトされ、ライトポインタ33がインクリメントされる。そして、バスステートコントローラBSCはバスサイクル終了指示信号BUSRDYをアサートし、CPUは周辺モジュールPRMへのライトサイクルを終了する。
【0036】
エンプティビット32はFIFOバッファ27内に有効なデータが1つも入っていない時に“1”とされ、それ以外は“0”とされる。フィルビット31はFIFOバッファ27が有効なデータで一杯になっている時に“1”とされ、それ以外は“0”とされる。FIFOバッファ27の容量をm、ライトポインタ33の値をWP、リードポインタ34の値をRPとすると、
1)WP>RPの時
エンプティビット=0,
WP=m,RP=0の時にフィルビット=1
それ以外の時にフィルビット=0
2)WP<RPの時
エンプティビット=0,
RP=WP+1の時にフィルビット=1
それ以外の時にフィルビット=0
3)WP=RPの時
エンプティビット=1,フィルビット=0
となる。
【0037】
バスステートコントローラBSCはエンプティビット32が“0”ならば、直ちにFIFOバッファ27の先頭にあるアドレスおよびデータを周辺アドレスバスPABおよび周辺データバスPDBに出力する。このときバスステートコントローラBSCは、周辺モジュールの選択信号MSLおよびライトストローブ信号RSもアサートする。バスステートコントローラBSCから周辺モジュールPRMへのライトサイクルはφpの2サイクルで行われ、サイクル終了時にリードポインタ34がインクリメント(+1)される。
【0038】
ライト動作時にフィルビット31が“1”すなわちFIFOバッファ27がデータで満たされた時は、バスステートコントローラBSCは周辺モジュールPRMへのライト動作を行ないライトポインタ33がインクリメントされフィルビット31が“0”になるまで、CPUに対するバスサイクル終了指示信号BUSRDYをアサートして、CPUのバスサイクルにウェイトをかける。そしてフィルビット31が“0”になると直ちにバスサイクル終了指示信号BUSRDYをネゲートしてFIFOバッファ27にCPUからのデータをライトさせて、ライト後にバスサイクル終了指示信号BUSRDYをアサートしCPUのバスサイクルを終了させる。
【0039】
また、リード動作時はエンプティビット32が“1”で、バスステートコントローラBSCが周辺モジュールPRMへライト動作を行っていないなら、直ちに当該アドレスに対応した周辺モジュールに対するモジュールセレクト信号MSLおよびリードストローブRSをアサートし、アドレスを周辺アドレスバスPABに出力し、周辺モジュールへのリード動作を開始する。リードサイクルは周辺クロックφpの2サイクルで行われる。そのため、バスステートコントローラBSCはCPUに対しバスサイクル終了指示信号BUSRDYをネゲートし、周辺モジュールPRMが周辺データバスPDBへ出力したデータをBSC内のI/Oインタフェース回路22を介してCPUデータバスIDBに出力し、リードサイクルの終わりにバスサイクル終了信号BUSRDYをアサートする。CPUはバスサイクル終了信号BUSRDYのアサートを認識するとCPUデータバスIDBの値の取り込みリードサイクルが終了する。
【0040】
リード動作時にエンプティビット32が“0”で、バスステートコントローラBSCが周辺モジュールへライト動作中であるなら、FIFOバッファ27内にある全てのデータのライト動作が終了しエンプティビット32が“1”になるまでバスサイクル終了信号BUSRDYをネゲートしてCPUのバスサイクルにウェイトをかける。そして、ライト動作が終了すると、直ちに当該アドレスに対応した周辺モジュールに対し、モジュールセレクト信号MSLおよびリードストローブRSをアサートし、アドレスを周辺アドレスバスPABに出力し、周辺モジュールへのリード動作を開始させる。
【0041】
このようにFIFOバッファ27を設けたことにより、連続ライト時でもCPUから周辺モジュールへのライトアクセスを実効的に1データ当たり1サイクルで行うことが出来る。
【0042】
図6は、本発明の第3の実施例を示すバスステートコントローラの構成図である。図6に示すように、本実施例では、周辺モジュールPRM内に内部のレジスタ11の値が変化したことを検出するレジスタ変化検出回路16が設けられている。一方、バスステートコントローラBSC内には、周辺モジュールPRM内のレジスタ11の値のコピーを持つリードバッファ28と、周辺モジュールPRMに設けられている上記レジスタ変化検出回路16から出力される検出信号Drcを受けて周辺モジュール内の変化のあったレジスタの値を読み出すためのレジスタコピー制御回路29とが設けられている。
【0043】
レジスタ変化検出回路16は、レジスタのリセット信号、ライト信号、フラグセット信号、フラグクリア信号およびデータキャプチャ信号等の論理和をとる論理ゲートとこの論理ゲートの出力が変化したときにセットされるフラグ(フリップフロップ)などにより構成することができる。リードバッファ28は、レジスタもしくはRAMのようなメモリ回路で構成され、常に周辺モジュール内の対応するレジスタのコピーを持つように制御される。リードバッファ28の記憶容量を抑えるため、コピーするレジスタをユーザが頻繁にリードアクセスするフラグ系およびデータ系のレジスタに限定してもよい。レジスタコピー制御回路29は、常にレジスタのコピーをリードバッファ28に保持するため、リセット解除直後やレジスタ変化検出信号Drcが入力されたときに、周辺モジュールに対するモジュール選択信号MSLやリードストローブ信号RSをアサートし、コピーしようとするレジスタのアドレスを生成して周辺アドレスバスPABより周辺モジュールPSMへ出力してレジスタをリードし、読み出した値をリードバッファ28に保持させるように構成される。
【0044】
レジスタコピー制御回路29が対応するレジスタのリード動作を開始する時、バスステートコントローラBSCが周辺モジュールへのライト動作中であれば、レジスタコピー制御回路29はリード動作をライト動作の終了まで保留する。また、レジスタ変化検出信号Drcが複数のモジュールから同時にアサートされている場合は内部で設定された優先順位に従い、リード動作を行う。リードサイクルは周辺クロックφpの2サイクルで行われる。リード動作が終了すると対応する周辺モジュール内のレジスタ変化検出回路16はクリアされ、バスステートコントローラBSCに対する検出信号Drcがネゲートされる。このようにしてリードバッファ28にはレジスタコピー制御回路29により自動的にレジスタの値がリードされる。
【0045】
CPUから周辺モジュールPRMのライト動作は、CPUがバスステートコントローラBSCにバスコマンドでライト動作を指示し、当該周辺モジュールのアドレスをCPUアドレスバスIABに出力し、ライトデータをCPUデータバスIDBに出力することで行われる。バスステートコントローラBSCはリードバッファ28へのロード動作中でなければ直ちに、動作中ならば動作終了を待って、当該周辺モジュールに対するモジュールセレクト信号MSL、ライトストローブWSをアサートし、アドレスを周辺アドレスバスPABに出力することで行う。ライトサイクルは周辺クロックφpの2サイクルで行われる。バスステートコントローラBSCはライト動作終了までCPUに対してバスサイクル終了指示信号BUSRDYをネゲートしてCPUをウェイト状態にする。そしてライト動作終了時にバスサイクル終了指示信号BUSRDYがアサートされ、CPUはライト動作を終了する。
【0046】
CPUによる周辺モジュールPRMのリード動作もライト動作と同様にして行なわれる。リード動作は、CPUがバスステートコントローラBSCにバスコマンドCMDでリード動作を指示し、当該周辺モジュールのアドレスを内部アドレスバスIABに出力することで行われる。バスステートコントローラBSCは、このときのCPUのリードがバスステートコントローラBSC内のリードバッファ28がコピーを持っているレジスタに対するリードであり、対応するレジスタのリードバッファ28に対するレジスタ変化検出信号Drcがネゲートしていれば、直ちにリードバッファ28内の対応するレジスタのデータをCPUデータバスIDBに出力し、バスサイクル終了指示信号BUSRDYをアサートする。CPUはCPUデータバスIDBに出力されたデータを内部に取り込みリード動作を終了する。かかるリード動作は基準クロックφcの1サイクルで終了する。
【0047】
一方、CPUによる周辺モジュールPRMのリードがあったときに、対応するリード要求のあったレジスタのレジスタ変化検出信号Drcがアサートしていれば、バスステートコントローラBSCは、バスサイクル終了指示信号BUSRDYをネゲートしてCPUをウェイト状態にする。そして、バスステートコントローラBSCはリードバッファ28に対応する周辺モジュール内のレジスタの値をロードし、レジスタ変化検出信号Drcがネゲートされるのを受けてバスステートコントローラBSCはリードバッファ28内の対応するレジスタの値をCPUデータバスIDBに出力し、バスサイクル終了指示信号BUSRDYをアサートする。すると、CPUはCPUデータバスIDBに出力されたデータを内部に取り込み、リード動作を終了する。かかるリード動作は周辺クロックφpの2サイクル(基準クロックφcの8サイクル)で終了する。
【0048】
以上のようにバスステートコントローラBSC内にリードバッファを設けることで、CPUから周辺モジュールのリード動作を実効的に基準クロックφcの1サイクルで行うことができるようになる。
【0049】
なお、上記第3の実施例を、前述した第1の実施例のアドレスバッファ24およびライトバッファ25または第2の実施例のFIFOバッファ27と組み合わせて適用することが可能である。すなわち、バスステートコントローラBSC内に周辺モジュールのレジスタに対応したリードバッファ28とアドレスバッファ24およびライトバッファ25またはFIFOバッファ27を設ける。ライトバッファ25やFIFO型ライトバッファ27およびリードバッファ28の動作は上記実施例で説明した示したとおりである。かかる構成により、CPUによる周辺モジュールに対するリード動作やライト動作にCPUに対して返送されるバスサイクル終了信号のタイミングを早くすることができ、CPUのスループットが大幅に向上するようになる。
【0050】
以上本発明者によってなされた発明を実施例に基づき具体的に説明したが、本発明は上記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0051】
また、以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるCPUと周辺モジュールとを備えたマイクロコンピュータに適用した場合について説明した、本発明はそれに限定されるものでなく、CPUと周辺モジュールとが別個の半導体チップにより構成されているマルチチップのマイクロコンピュータにも適用することができる。
【0052】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
【0053】
すなわち、CPUと、該CPUに比べて低い周波数の動作クロックで動作する周辺モジュールとを備えたマイクロコンピュータもしくはマイクロコントローラのようなデータ処理装置において、CPUが周辺モジュールのアクセスコマンドとアドレスやデータを出力した後直ちに他の処理を行なうことができ、それによってCPUのスループットが向上するようになる。
【図面の簡単な説明】
【図1】本発明が適用されるCPUと周辺モジュールとを備えたマイクロコンピュータの一実施例の概略構成を示すブロック図である。
【図2】周辺モジュールの基本的な構成を示すブロック図である。
【図3】バスステートコントローラの一実施例を示すブロック図である。
【図4】実施例のマイクロコンピュータにおけるライトサイクルでの各アドレスバスおよびデータバスとバスサイクル終了信号のタイミングが示すタイミングチャートである。
【図5】バスステートコントローラの第2の実施例を示すブロック図である。
【図6】バスステートコントローラの第3の実施例を示すブロック図である。
【符号の説明】
CPU 中央処理ユニット
BSC バスステートコントローラ
PRM 周辺モジュール
CMD バスコマンド
IAB CPUアドレスバス
IDB CPUデータバス
PAB 周辺アドレスバス
PDB 周辺データバス
MSL 周辺モジュールセレクト信号
RS リードストローブ信号
WS ライトストローブ信号
BUSRDY バスサイクル終了信号
φc 基準クロック(CPUクロック)
φp 周辺クロック
11a,11b,11c レジスタ
12 モジュール内部バス
13 I/Oインタフェース
14 モジュール本体回路
15,21 デコーダ
16 レジスタ変化検出回路
22 I/Oインタフェース
23 制御回路(ステートマシン)
24 ライト用のバッファ(データバッファ)
25 ライト用のバッファ(アドレスバッファ)
26 有効ビット
27 FIFOバッファ
28 リードバッファ
29 レジスタコピー制御回路
31 フィルビット
32 エンプティビット
33 ライトポインタ
34 リードポインタ

Claims (6)

  1. 少なくとも中央処理ユニットと、
    上記中央処理ユニットに接続される第1のバスと、
    上記周辺モジュールに接続される第2のバスと、
    上記第1のバスと上記第2のバスとの間に設けられ、この2つのバスの信号の橋渡しをする制御回路と、
    上記第2のバスに接続され、上記制御回路を介して上記中央処理ユニットによってアクセスされ、複数のレジスタを有する周辺モジュールと、
    上記第2のバスに接続されるメモリ回路とを有するデータ処理装置であって、
    上記周辺モジュールは、上記中央処理ユニットの動作クロックに比べて低い周波数の動作クロックで動作するものであり、
    上記制御回路は上記周辺モジュールのレジスタの値を読み出し、上記メモリ回路に保持させる制御を行うことが可能であって、
    上記周辺モジュールは、上記複数のレジスタの少なくとも一つのレジスタの値が変更されたことを示す検出信号を上記制御回路に出力するものであり、
    上記制御回路は、上記検出信号に応答して上記少なくとも一つのレジスタで変更された値の読み出し動作を実行するものであり、
    上記制御回路は、上記中央処理ユニットによる上記周辺モジュールに対するライトアクセス時には、当該ライトアクセス動作の終了まで上記検出信号に応答して上記少なくとも一つのレジスタで変更された値の読み出し動作を保留するものであるデータ処理装置。
  2. 上記制御回路は、上記周辺モジュールからの上記検出信号に応答して、上記値が変更された上記少なくとも一つのレジスタのアドレスを生成して上記読み出し動作を実行して、上記読み出し動作により読み出された値を上記メモリ回路に保持させるものである請求項1に記載のデータ処理装置。
  3. 上記周辺モジュールは、第1と第2の周辺モジュールを含み、
    上記制御回路は、上記第1と第2の周辺モジュールから同時に上記検出信号が生成された時には、所定の優先順位に従って値が変更されたレジスタの読み出し動作を行うものである請求項2に記載のデータ処理装置。
  4. 上記複数のレジスタは、データを保持するデータレジスタである請求項3に記載のデータ処理装置。
  5. 少なくとも上記中央処理ユニットと、上記周辺モジュールと、上記メモリ回路と、上記制御回路とが1個の半導体チップ上に形成されてなることを特徴とする請求項1に記載のデータ処理装置。
  6. 上記周辺モジュールは、シリアルインタフェースと、アナログ/ディジタル変換回路とを含むものである請求項5に記載のデータ処理装置。
JP18164099A 1999-06-28 1999-06-28 データ処理装置 Expired - Fee Related JP4176920B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18164099A JP4176920B2 (ja) 1999-06-28 1999-06-28 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18164099A JP4176920B2 (ja) 1999-06-28 1999-06-28 データ処理装置

Publications (2)

Publication Number Publication Date
JP2001014259A JP2001014259A (ja) 2001-01-19
JP4176920B2 true JP4176920B2 (ja) 2008-11-05

Family

ID=16104302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18164099A Expired - Fee Related JP4176920B2 (ja) 1999-06-28 1999-06-28 データ処理装置

Country Status (1)

Country Link
JP (1) JP4176920B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678758B2 (en) * 2001-02-05 2004-01-13 Fujitsu Limited Dynamic queuing for read/write requests
KR100464257B1 (ko) * 2002-02-26 2005-01-03 엘지산전 주식회사 통신장치의 3단 통신 버퍼
JP2009289232A (ja) * 2008-06-02 2009-12-10 Renesas Technology Corp 半導体集積回路

Also Published As

Publication number Publication date
JP2001014259A (ja) 2001-01-19

Similar Documents

Publication Publication Date Title
KR100279780B1 (ko) 마이크로 컴퓨터 및 마이크로 컴퓨터 시스템
US5822779A (en) Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active
JP5102789B2 (ja) 半導体装置及びデータプロセッサ
US6944686B2 (en) Data transfer control circuit with terminal sharing
JPH05307485A (ja) データ処理装置
US6678838B1 (en) Method to track master contribution information in a write buffer
JP2006171952A (ja) 半導体集積回路装置
US20040068590A1 (en) Data processor
JP4176920B2 (ja) データ処理装置
JP2002304310A (ja) 半導体集積回路
US6006288A (en) Method and apparatus for adaptable burst chip select in a data processing system
EP0667576A1 (en) A data processor and a trace circuit using the data processor
JP3701100B2 (ja) クロック生成回路及びクロック生成方法
JP2002342266A (ja) データプロセッサ
Feng et al. A SoC architecture compatible with Cortex-M4
US5875482A (en) Method and apparatus for programmable chip select negation in a data processing system
JP2002278753A (ja) データ処理システム
US6016551A (en) Method and apparatus for masking and unmasking a clock signal in an integrated circuit
JP2001109643A (ja) デバッグ機能を内蔵したマイクロプロセッサ
Set et al. Independant CPU Frequency from USB Frequency–Watchdog Timer, Real-Time Clock Timer• Universal Serial Bus (USB)–Device 2.0 Full Speed and On-The-Go (OTG) Low Speed and Full Speed–Flexible End-Point Configuration and Management with Dedicated DMA Channels
JPH08137784A (ja) 情報処理装置
JP2004213142A (ja) 半導体集積回路装置
JP2002073533A (ja) データ処理装置
JP2003316751A (ja) 描画処理システム
JP2004145593A (ja) ダイレクトメモリアクセス装置およびバスアービトレーション制御装置、ならびにそれらの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050714

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080702

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080729

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080821

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees