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

データ処理装置 Download PDF

Info

Publication number
JP2004152321A
JP2004152321A JP2003424357A JP2003424357A JP2004152321A JP 2004152321 A JP2004152321 A JP 2004152321A JP 2003424357 A JP2003424357 A JP 2003424357A JP 2003424357 A JP2003424357 A JP 2003424357A JP 2004152321 A JP2004152321 A JP 2004152321A
Authority
JP
Japan
Prior art keywords
circuit
instruction
stop
processing unit
central processing
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.)
Pending
Application number
JP2003424357A
Other languages
English (en)
Inventor
Takeshi Kataoka
健 片岡
Fumio Tsuchiya
文男 土屋
Satoshi Tanaka
敏 田中
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 JP2003424357A priority Critical patent/JP2004152321A/ja
Publication of JP2004152321A publication Critical patent/JP2004152321A/ja
Pending 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

  • Microcomputers (AREA)
  • Power Sources (AREA)

Abstract


【課題】 選択的な動作停止機能によって動作停止された内蔵回路の動作停止を動的に解除することができ、細かな低消費電力制御が可能なデータ処理装置を提供する。
【解決手段】 命令を実行する中央処理装置(2)と、内部バス(13,14)を介して前記中央処理装置に結合された第1の回路(3,4)と、前記第1の回路の動作を選択的に停止させる停止制御回路(12C)とを含む。中央処理装置は、停止制御回路から出力される停止制御信号(SFPU,SMLT)を入力し、第1の回路を用いる命令を解読するとき、前記停止制御信号が停止を指示している場合には停止制御回路による前記第1の回路の動作停止状態を解除してから当該命令の実行動作を開始させる命令制御手段(2C)を有する。
【選択図】 図7

Description

本発明は、低消費電力化のために内蔵回路を選択的に動作停止させることができるデータ処理装置に係り、詳しくは動作停止状態の内蔵回路に対する命令が不当に若しくは誤って実行された時の誤動作を防止する技術、更には低消費電力制御を行なうための技術に関し、例えば、シングルチップマイクロコンピュータやシングルチップマイクロコントローラなどの半導体集積回路化されたデータ処理装置に適用して有効な技術に関するものである。
データ処理装置の低消費電力化のために内蔵回路モジュールを選択的に動作停止させる技術が知られている。例えば、データ処理装置の内部動作クロック信号を形成するクロック信号発生回路に、コントロールレジスタが設けられ、このコントロールレジスタには内蔵回路モジュール毎に制御ビットが割り当てられ、制御ビットの論理値に従って、対応される内蔵回路モジュールに対するクロック信号の供給を選択的に停止させることができる。このような技術は、例えば特許文献1に記載がある。
特開平7−287699号公報
しかしながら、低消費電力化のために内蔵回路モジュールを選択的に動作停止させたとき、当該内蔵モジュールに対する処理を行なう命令が不当に若しくは誤って実行されると、不当なメモリアクセス又はレジスタアクセスによって、データが破壊されたり誤動作を生じたりする虞の有ることが本発明者によって明らかにされた。
例えば、中央処理装置と共に浮動小数点演算装置やタイマなどが内蔵されたマイクロコンピュータにおいて、浮動小数点演算装置やタイマなどに対して個々に動作クロック信号の供給を選択的に停止できるようにされているとする。浮動小数点演算装置はデータレジスタを有し、このデータレジスタにメモリから演算データがロードされ、演算データはレジスタからメモリにストアされる。このとき、メモリとデータレジスタとの間のロード及びストア処理のためのアドレッシング動作を中央処理装置が行なうようにすることが、回路規模の増大を抑える上で優れている。中央処理装置と同様のアドレシングモードを浮動小数点演算装置が重ねて持つ必要はないからである。しかしながら、浮動小数点演算装置へのクロック信号の供給が停止されているとき、中央処理装置が不当に若しくは誤って浮動小数点命令を実行すると、浮動小数点演算装置のデータレジスタからメモリへのストア動作が不所望に行なわれる虞が有る。そうであれば、実際に浮動小数点演算装置は動作されないにも拘わらず、中央処理装置が実行するアドレシング動作によって、ストア先のメモリのデータが不所望に破壊されてしまう。また、特定の周辺回路へのクロック信号の供給が停止されているとき、中央処理装置が不当に若しくは誤って当該周辺回路のデータレジスタをソースとするストア命令を実行すると、周辺回路のデータレジスタからメモリへのストア動作が不所望に行なわれる。そうであれば、実際に周辺回路は動作されないにも拘わらず、中央処理装置が実行するアドレシング動作によって、ストア先のメモリのデータが不所望に破壊されてしまう。
また、本発明者は、マイクロコンピュータにおいて、選択的な動作停止機能によって動作停止された内蔵回路の動作停止を解除することについて検討した。従来技術では、動作を再開したいときは、予めコントロールレジスタの設定を変更しなければ、動作停止に係る内蔵回路を用いた命令を実行することはできない。したがって、必要な時、即座に、動作停止に係る内蔵回路の動作を再開する事ができない。
本発明の目的は、選択的な動作停止機能によって動作停止された回路が誤って動作されることによって生ずる不当なメモリアクセスを防止できるデータ処理装置を提供することにある。
本発明の別の目的は、選択的な動作停止機能によって動作停止された内蔵回路の動作停止を動的に解除することができ、細かな低消費電力制御が可能なデータ処理装置を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕本発明の第1の観点によるデータ処理装置(1)は、命令を実行する中央処理装置(2)と、内部バス(13,14)を介して前記中央処理装置に結合された第1の回路(3,4)と、前記第1の回路の動作を選択的に停止させる停止制御回路(12)とを含み、前記中央処理装置は、前記停止制御回路から出力される停止制御信号(SFPU,SMLT)を入力し、前記第1の回路を用いる命令を解読するとき、前記停止制御信号が停止を指示していることを条件に、前記第1の回路を用いる命令を不当命令又は無効命令として処理する命令制御手段(2B)を有する。これにより、内蔵回路の動作停止機能によって動作停止が選択された第1回路が誤って動作されることになるような命令は、不当命令又は無効命令として処理される結果、不当なメモリアクセスの発生を防止できる。無効命令化された時、中央処理装置は次の命令を実行する。不当命令化された時、中央処理装置は例外処理に分岐し、ユーザなどによって定義された例外処理ルーチンを実行することになる。
〔2〕本発明の第2の観点によるデータ処理装置(1C)は、命令を実行する中央処理装置(2)と、内部バス(13,14)を介して前記中央処理装置に結合された第1の回路(3,4)と、前記第1の回路の動作を選択的に停止させる停止制御回路(12C)とを含み、前記中央処理装置は、前記停止制御回路から出力される停止制御信号(SFPU,SMLT)を入力し、前記第1の回路を用いる命令を解読するとき、前記停止制御信号が停止を指示している場合には前記停止制御回路による前記第1の回路の動作停止状態を解除してから当該命令の実行動作を開始させる命令制御手段(2C)を有する。これにより、内蔵回路の動作停止機能によって動作停止が選択された第1回路が動作されることになるような命令が実行されると、第1回路の動作停止状態が解除される。この結果、内蔵回路の動作停止を動的に解除することができ、細かな低消費電力制御が可能になる。
〔3〕上記第1及び第2の観点において、前記第1の回路は、例えば、前記中央処理装置が浮動小数点処理命令を実行することによって制御されると共に前記中央処理装置によってアドレッシング制御を受ける浮動小数点演算装置(3)とする事ができる。また、前記第1の回路は、前記中央処理装置が積和演算処理命令を実行することによって制御されると共に前記中央処理装置によるアドレッシング制御を受けて動作される積和演算装置(4)とすることができる。
〔4〕本発明の第3の観点によるデータ処理装置(1)は、命令を実行する中央処理装置(2)と、内部バス(13,14)を介して前記中央処理装置にインタフェースされ該中央処理装置のアドレシング制御及び演算制御を受ける演算装置(3,4)と、前記内部バスに結合されたバスステートコントローラ(6)を介して前記中央処理装置とインタフェースされ該中央処理装置のアクセス制御を受ける周辺回路(9,10,11)と、前記バスステートコントローラを外部に接続する外部バスインタフェース回路(8)と、前記演算装置と周辺回路の動作を夫々選択的に停止可能な停止制御回路(12)とを含み、前記バスステートコントローラは前記停止制御回路から出力される前記周辺回路のための第1の停止制御信号(SSCI,STMR,SADC)を入力し、第1の停止制御信号によって動作停止が指示されている周辺回路に対するアクセスを検出したときバスエラー信号(24)を中央処理装置による例外処理要求信号として出力する。これにより、内蔵周辺回路の動作停止機能によって動作停止が選択された周辺回路が誤って動作されることになるような命令が実行された時はバスエラーとされ、それに対する例外処理が行なわれる。したがって、不当なメモリアクセスの発生を防止できる。
〔5〕前記〔4〕において、前記中央処理装置は、前記停止制御回路から出力される前記演算装置のための第2の停止制御信号(SFPU,SMLT)を入力し、前記演算装置を用いる命令を解読するとき、前記第2の停止制御信号が停止を指示していることを条件に、前記演算装置を用いる命令を不当命令又は無効命令として処理する命令制御手段(2B)を有することができる。これにより、内蔵回路の動作停止機能によって動作停止が選択された演算装置が誤って動作されることになるような命令は、不当命令又は無効命令として処理される結果、不当なメモリアクセスなどの発生を防止できる。
〔6〕本発明の第4の観点によるデータ処理装置(1C)は、命令を実行する中央処理装置(2)と、内部バス(13,14)を介して前記中央処理装置にインタフェースされ該中央処理装置のアドレシング制御及び演算制御を受ける演算装置(3,4)と、前記内部バスに結合されたバスステートコントローラ(6C)を介して前記中央処理装置とインタフェースされ該中央処理装置のアクセス制御を受ける周辺回路(9,10,11)と、前記バスステートコントローラを外部に接続する外部バスインタフェース回路(8)と、前記演算装置と周辺回路の動作を夫々選択的に停止可能な停止制御回路(12C)とを含み、前記バスステートコントローラ(6C)は前記停止制御回路から出力される前記周辺回路のための第1の停止制御信号(SSCI,STMR,SADC)を入力し、第1の停止制御信号によって動作停止が指示されている周辺回路に対するアクセスを検出したとき当該周辺回路の動作停止状態を解除してから該周辺回路のためのバスサイクルを起動する。これにより、内蔵周辺回路の動作停止機能によって動作停止が選択された周辺回路が動作されるとき、当該周辺回路の動作停止状態が解除される。この結果、内蔵周辺回路の動作停止を動的に解除することができ、細かな低消費電力制御が可能になる。
〔7〕上記〔6〕において、前記中央処理装置は、前記停止制御回路から出力される前記演算装置のための第2の停止制御信号(SFPU,SMLT)を入力し、前記演算装置を用いる命令を解読するとき、前記第2の停止制御信号が停止を指示している場合には前記停止制御回路による当該演算装置の動作停止状態を解除してから当該命令の実行動作を開始させる命令制御手段(2C)を有することができる。これにより、内蔵回路の動作停止機能によって動作停止が選択された演算装置が動作されるとき、演算装置の動作停止状態が解除される。この結果、内蔵回路の動作停止を動的に解除することができ、細かな低消費電力制御が可能になる。上記〔6〕において、前記中央処理装置は、前記停止制御回路から出力される前記演算装置のための第2の停止制御信号を入力し、前記演算装置を用いる命令を解読するとき、前記第2の停止制御信号が停止を指示していることを条件に、前記演算装置を用いる命令を不当命令又は無効命令として処理する命令制御手段を有することができる。これにより、動作停止が選択された演算装置を動作させる命令に対しては、これを不当命令又は無効命令として処理する事によって、不当なメモリアクセスなどの発生を防止し、内蔵周辺回路に対しては動作停止を動的に解除することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、データ処理装置において選択的な動作停止機能によって動作停止された回路が誤って動作されることによって生ずる不当なメモリアクセスを防止できる。また、データ処理装置において選択的な動作停止機能によって動作停止された内蔵回路の動作停止を動的に解除することができ、細かな低消費電力制御を行なうことができる。
《無効命令化(不当命令化)、バスエラー化によるメモリ保護》
図1には本発明に係るデータ処理装置の第1の例としてシングルチップマイクロコンピュータ(マイクロコンピュータと称する)1が示される。同図に示されるマイクロコンピュータ1は、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板(半導体チップ)に形成される。このマイクロコンピュータ1は、特に制限されないが、整数演算を行なう中央処理装置(CPU)2と共に、浮動小数点演算を行なう浮動小数点演算装置(FPU)3を有する。更に、ディジタル信号処理で多用される積和演算に特化した積和演算装置4を有する。
中央処理装置2は内部アドレスバス14及び内部データバス13に結合される。中央処理装置2は、特に制限されないが、汎用レジスタや算術論理演算器で代表される演算部2Aと、プログラムカウンタなどの制御用レジスタ群、そして命令のフェッチや解読並びに命令実行手順を制御したり演算制御を行う命令制御部2Bなどを有する。中央処理装置2は、外部バス17,18に接続された図示を省略する外部メモリもしくは内部バス13,14に接続された図示を省略する内部メモリから命令をフェッチし、その命令を解読し、解読結果に応ずる制御信号を生成することにより、当該命令に応じたデータ処理を行う。
浮動小数点演算装置(FPU)3及び積和演算装置4は内部データバス13に結合される。浮動小数点演算装置(FPU)3及び積和演算装置4は図示を省略する演算回路と共にデータレジスタを有し、このデータレジスタにメモリから演算データがロードされ、演算結果データは、そのレジスタからメモリにストアされる。前記ロード、ストアなどのためのアドレッシング動作はCPU2が行なう。したがって、FPU3及び積和演算装置4はメモリアクセスのためのメモリアドレシング能力を備える必要はない。これは、FPU3及び積和演算装置4によるメモリアドレシング回路の必要性を取り除いてチップ面積を節約するためである。
内部データバス13及び内部アドレスバス14はバスステートコントローラ6に結合される。マイクロコンピュータ1による外部アクセスは、前記バスステートコントローラ6に接続された外部バスインタフェース回路8で行う。外部バスインタフェース回路8は外部データバス18及び外部アドレスバス17に接続される。また、前記バスステートコントローラ6には、周辺データバス16及び周辺アドレスバス15を介して、例えば、クロック発生回路7、システムコントローラ12、シリアルコミュニケーションインタフェースコントローラ(SCI)9、タイマ10及びA/Dコンバータ11が結合される。それら周辺回路はデータレジスタや制御レジスタを有し、斯かるレジスタは前記バスステートコントローラ6を介してCPU2によってアクセスされる。
CPU2が管理する内部メモリ空間、外部メモリ空間、前記SCI9,タイマ10,A/Dコンバータ11などの周辺回路に対するアドレスエリアの割り当ては予め決定されている。前記バスステートコントローラ6は、アクセスエリア毎にアクセスサイクル数やバス幅などがCPU2によって設定される図示を省略するバスコントロールレジスタを有し、CPU2からのアクセスアドレスで指定されるメモリエリアに対するバス幅やアクセスサイクル数などのバス制御を行なって、バスサイクルを起動する。CPU2からのアクセスの指示はバスコマンド23としてバスステートコントローラ6に与えられる。バスコマンド23にはアクセスサイズの指定や、リード、ライト、メモリアクセス等のストローブ信号が含まれる。
割込みコントローラ5は複数の割込み要求に対する優先制御やマスク制御などを行なって割込み信号25をCPU2に与える。割込み要求は、バスステートコントローラ6からのバスエラー信号24のほか、SCI9、タイマ10、A/Dコンバータ11そして外部からの図示を省略する割込み要求信号によって与えられる。
前記マイクロコンピュータ1は、特に制限されないが、クロック発生回路7から出力されるクロック信号CLK0〜CLK2に同期動作される。クロック信号CLK0は、CPU2、積和演算装置4,図示を省略する内部メモリ、FPU3の夫々に含まれる図示を省略するクロックドライバに供給され、それらCPU2、積和演算装置4,FPU3、図示を省略する内部メモリの動作基準クロック信号とされる。クロック信号CLK1は外部アクセスのための同期クロック信号とされ、外部バスインタフェース回路8の図示を省略するクロックドライバに供給される。クロック信号CLK2はSCI9、タイマ10、A/D11の図示を省略するクロックドライバに供給され、それらSCI9、タイマ10、A/D11の同期クロック信号とされる。バスステートコントローラ6は、内部バス13,14に対する入出力動作を前記クロック信号CLK0に同期させ、周辺バス15,16に対する入出力動作を前記クロック信号CLK3に同期させ、外部バスインタフェース回路8を介する入出力動作を前記クロック信号CLK2に同期させる。尚、そのほかの回路にも図示を省略する動作クロック信号が供給されることはいうまでもない。
前記システムコントローラ12はマイクロコンピュータ1の内蔵モジュールに対する動作停止を制御する。すなわち、システムコントローラ12は、CPU2によってアクセスされるクロック停止制御レジスタ12Rを有し、同レジスタ12Rにはクロック制御ビットSFPU,SMLT,SSCI,STMR,SADCが割り当てられる。クロック制御ビットSFPU,SMLT,SSCI,STMR,SADCは、前記FPU3,積和演算装置4,SCI9,タイマ10,A/Dコンバータ11に内蔵された図示を省略するクロックドライバの制御端子に供給され、それがセット状態(論理値“1”)にされることにより、対応する内蔵モジュールのクロックドライバの出力を一定レベルに固定し、その内蔵モジュールの動作を停止させる。リセット状態(論理値“0”)では対応するクロックドライバのクロック出力動作を可能にし、対応する内蔵モジュールを動作可能にする。
図2には無効命令化(不当命令化)によるメモリ保護のための構成を抜粋してある。無効命令化(不当命令化)によるメモリ保護のために、前記クロック制御ビットSFPU,SMLTは前記CPU2にも供給されている。それによってCPU2の命令制御部2Bは、FPU3を用いる命令を解読する時、クロック制御ビットSFPUがセット状態であることを条件に、当該命令を不当命令又は無効命令として処理する。同様にCPU2の命令制御部2Bは、積和演算装置4を用いる命令を解読する時、クロック制御ビットSMLTがセット状態であることを条件に、当該命令を不当命令又は無効命令として処理する。前記無効命令は所謂NOP(ノンオペレーション)であり、次の命令が実行されることになる。不当命令は所謂未定義命令であり、現在処理中の命令実行が中断され、ユーザが定義した例外処理ルーチンで規定される処理に分岐される。何れの場合においても、そのとき、上記FPU3、積和演算装置4を用いる命令の実行は中止される。したがって、FPU3や積和演算装置4の動作が停止されている時、それらを用いる命令が誤って若しくは不当に実行される結果、不当にメモリアクセスが行なわれてデータ破壊を生ずる虞を未然に防止する事ができる。
図3にはバスエラーを発生させてメモリ保護を行なうための構成を抜粋してある。バスエラーを発生させてメモリ保護を行なうために、クロック制御ビットSSCI,STMR,SADCは前記バスステートコントローラ6にも供給されている。それによってバスステートコントローラ6は、クロック制御ビットSSCI,STMR,SADCによって動作停止が指示されている周辺回路に対するアクセスを検出したときバスエラー信号24を割込みコントローラ5に出力する。これに従って割込みコントローラ5は割込み信号25をCPU2にアサートし、CPU2はその例外要因(バスエラー)に従った例外処理を行なう。ここで、例外処理は、実行中の処理を中断し、例外処理を行なった後中断した処理に復帰しない第1の例外処理と、実行中の処理を中断し、例外処理を行なった後、中断した処理に復帰する第2の例外処理とがあるが、バスエラーに対する例外処理は第1の例外処理の範疇に属する。これにより、SCI9などの周辺回路の動作が停止されている時、それらを用いる命令が誤って若しくは不当に実行される結果、不当にメモリアクセスが行なわれてデータ破壊を生ずる虞を未然に防止する事ができる。
前記CPU2による不当命令化又は無効命令化によるメモリ保護のための具体的な構成を更に説明する。CPU2の命令は、特に制限されないが、16ビット固定長命令とされ、その特定のフィールド、例えば最上位側から4ビットは命令の種類を大別するコードとされる。その種類値は、例えば、論理演算命令、シフト命令、分岐命令、システム制御命令、浮動小数点命令、積和演算命令などである。ちなみに浮動小数点命令の前記最上位側4ビットは“1111”にされる。積和演算命令の前記最上位側4ビットは“0011”にされる。尚、斯かる最上位側4ビットはその他の所定フィールドの命令コードと共にオペレーションコードを構成する。また、命令がオペランドの指定フィールドを有するとき、それは、アドレシングモードに従ってレジスタアクセス或いは命令アクセス対象とされるアドレス領域を指定する。
図4には前記命令制御部2Bの概略的な構成が示される。命令制御部2Bはプリデコーダ200とハードワイヤードロジック201を有する。ハードワイヤードロジック201は、論理演算制御論理、分岐処理制御論理、浮動小数点演算制御論理、積和演算制御論理、不当命令制御論理、無効命令(NOP)制御論理等を有し、命令に応じた処理を実現するための制御信号を出力するための論理構成を備える。プリデコーダ200には、命令コード及び前記クロック制御ビットSFPU,SMLT,SSCI,STMR,SADCなどが供給される。プリデコーダ200は命令コードを解読し、解読結果に応ずるエントリ指定データをハードワイヤードロジック201に出力する。ハードワイヤードロジック201はそのエントリ指定データで指定される論理を選択して、各種制御信号を出力する。20、21,22で示される制御信号は、積和演算装置4、FPU3、CPU2の演算部2Aへ供給される制御信号を代表的に示したものである。
このとき、プリデコーダ200は前記クロック制御ビットSFPU,SMLT,SSCI,STMR,SADCを参照し、前記不当命令化又は無効命令化の処理を行なう。
図5には前記無効命令化の処理を行なうための論理構成の一例が示される。プリデコーダ200は命令コードの最上位側4ビットをデコーダ210でデコードする。デコーダ210は入力される4ビットが“1111”である時(浮動小数点命令である)、FPU命令検出信号211をハイレベルにアサートし、“0011”である時(積和演算命令である)、積和演算命令検出信号212をハイレベルにアサートする。信号211,212は夫々前記クロック制御ビットSFPU,SMLTと論理積(AND)が採られ、双方の論理積信号213,214は論理和(OR)が採られる。論理和信号215はセレクタ216の選択信号とされる。セレクタ216は無効命令(NOP)の命令コードを固定値として発生する回路217から出力される無効命令コード218又はCPU2がフェッチして実行すべき命令コード219を選択する。論理和信号215がハイレベルの時、即ち、クロック制御ビットSFPU,SMLTによってFPU3,積和演算装置4のクロック信号が停止されているとき、FPU命令,MLT命令を実行しようとすると、セレクタ216は無効命令コード218を選択する。セレクタ216で選択された命令コードはプリデコード論理220でデコードされる。これによって、FPU3,積和演算装置4のクロック停止状態ではFPU命令,MLT命令が無効命令化される。尚、不当命令として処理するときは、回路217の代わりに不当命令コードを発生する回路を採用すればよい。
図6にはバスステートコントローラ6がメモリ保護のためにバスエラーを発生されるための信号生成論理が例示されている。バスコントローラ6は、CPU2から供給されるアドレス信号をデコードして周辺回路SCI9,タイマ10,A/Dコンバータ11に対するアクセスを検出可能なアドレスデコーダ600を有する。このアドレスデコーダ600のデコード論理は前記周辺回路のマッピングアドレスに従って決定されている。信号601はSCI9に対するアクセス検出信号、602はタイマ602に対するアクセス検出信号、603はA/Dコンバータ11に対するアクセス検出信号であり、アクセスが検出される事によってハイレベルにされる。夫々のアクセス検出信号601,602,603はクロック制御ビットSSCI,STMR,SADCと論理積が採られ、夫々の論理積信号に対する論理和信号が前記バスエラー信号24とされる。したがって、バスエラー信号24は、クロック制御ビットSSCI,STMR,SADCによってSCI9,タイマ10,A/Dコンバータ11のクロック信号が停止されているとき、クロック停止されている周辺回路をアクセスする命令が実行されると、バスエラー信号24がアサートされる。これによって、当該周辺回路をアクセスする命令実行が中断され、例外処理に分岐される。その結果として、メモリのデータ破壊が防止される。
《クロック停止の動的解除》
図7には本発明に係るデータ処理装置の第2の例としてシングルチップマイクロコンピュータ(マイクロコンピュータと称する)1Cが示される。同図に示されるマイクロコンピュータ1Cは、特に制限されないが、公知の半導体集積回路製造技術によって単結晶シリコンのような1個の半導体基板(半導体チップ)に形成される。同図に示されるマイクロコンピュータ1Cは、クロック信号の停止されている回路モジュールを操作する命令を実行するとき、若しくはそのようなモジュールに対するアクセスが発生するとき、それに応じて当該回路モジュールのクロック停止状態を動的に解除可能にしたものである。
図7に示されるマイクロコンピュータ1Cは、図1に示されるマイクロコンピュータ1に対して、命令制御部2C、バスステートコントローラ6C、及びシステムコントローラ12Cの構成が相違される。その他の構成は図1と同じである。
システムコントローラ12Cのクロック制御ビットSFPU,SMLT,SSCI,STMR,SADCは、CPU2によるバスアクセス以外に、クリア信号CLR0〜CLR4でリセット可能にされる。クリア信号CLR0〜CLR4はクロック制御ビットSFPU,SMLT,SSCI,STMR,SADCに対応され、そのハイレベルがリセットを指示する。クリア信号CLR0,CLR1は命令制御部2Cが生成し、クリア信号CLR2〜CLR4はバスコントローラ6Cが生成する。
図8にはクロック停止状態をCPU2の制御で動的に解除するための構成を抜粋してある。クロック停止状態の動的解除のために、前記クロック制御ビットSFPU,SMLTは前記CPU2にも供給されている。それによってCPU2の命令制御部2Cは、FPU命令を解読する時、クロック制御ビットSFPUがセット状態である場合にはクリア信号CLR0でクロック制御ビットSFPUをリセット状態にしてFPU3を動作可能とし、その後で、当該命令の実行動作を開始させる。同様にCPU2の命令制御部2Cは、積和演算命令を解読する時、クロック制御ビットSMLTがセット状態である場合にはクリア信号CLR1でクロック制御ビットSMLTをリセット状態にして積和演算装置4を動作可能とし、その後で、当該命令の実行動作を開始させる。
図9にはCPU2がクロック停止状態を動的に解除するための論理構成の一例が示される。プリデコーダ200Cは命令コードの最上位側4ビットをデコーダ210でデコードする。デコーダ210は入力される4ビットが“1111”である時(浮動小数点命令)FPU命令検出信号211をハイレベルにアサートし、“0011”である時(積和演算命令)MLT命令検出信号212をハイレベルにアサートする。信号211,212は夫々前記クロック制御ビットSFPU,SMLTと論理積(AND)が採られ、論理積信号がクリア信号CLR0,CLR1としてシステムコントローラ12Cに供給される。ハードワイヤードロジック201Cは、クリア信号CLR0,CLR1に対応するクロック制御ビットSFPU、SMLTがリセット状態にされるのを待って、制御信号の出力動作を開始する。これにより、クロック制御ビットSFPU,SMLTによってFPU3,積和演算装置4のクロック信号が停止されているとき、FPU命令,MLT命令を実行しようとすると、これに連動してFPU3,積和演算装置4のクロック信号の停止状態が解除され、解除後に、FPU命令,MLT命令が実行される。
図10にはクロック停止状態をバスステートコントローラ6Cの制御で動的に解除するための構成を抜粋してある。バスステートコントローラ6Cがクロック停止状態を動的に解除するために、クロック制御ビットSSCI,STMR,SADCは前記バスステートコントローラ6Cにも供給されている。それによってバスステートコントローラ6Cは、クロック制御ビットSSCI,STMR,SADCによって動作停止が指示されている周辺回路に対するアクセスを検出したとき、当該周辺回路の動作停止状態をクリア信号CLR2,CLR3,CLR4で解除してから該周辺回路のアクセスを開始する。
図11にはバスステートコントローラ6Cによりクロック停止状態を動的に解除するための論理構成の一例が示される。バスコントローラ6Cは、CPU2から供給されるアドレス信号をデコードして周辺回路SCI9,タイマ10,A/Dコンバータ11に対するアクセスを検出可能なアドレスデコーダ600を有する。このアドレスデコーダ600のデコード論理は前記周辺回路のマッピングアドレスに従って決定されている。信号601はSCI9に対するアクセス検出信号、602はタイマ602に対するアクセス検出信号、603はA/Dコンバータ11に対するアクセス検出信号であり、アクセスが検出される事によってハイレベルにされる。夫々のアクセス検出信号601,602,603はクロック制御ビットSSCI,STMR,SADCと論理積が採られ、夫々の論理積信号がクリア信号CLR2、CLR3,CLR4とされる。したがって、クロック制御ビットSSCI,STMR,SADCによってSCI9,タイマ10,A/Dコンバータ11のクロック信号が停止されているとき、クロック停止されている周辺回路をアクセスする命令が実行されると、クリア信号CLR2、CLR3,CLR4がアサートされる。バスステートコントローラ6Cは、アサートされたクリア信号に対応するクロック制御ビットがリセット状態に反転されるのを待ってバスサイクルを起動する。
第2の例のマイクロコンピュータ1Cによれば、クロック信号が停止された回路モジュールを操作する命令の実行若しくはそのようなモジュールに対するアクセスが発生した時、それに応じて当該回路モジュールのクロック停止状態を動的に解除でき、木目細かく低消費電力制御を行なうことができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、FPUと積和演算装置に関して無効命令化(不当命令化)の構成を採用し、周辺回路に関してクロック停止状態の動的解除の構成を採用する事も可能である。また、演算装置はFPUと積和演算装置に限定されず、CPUによってアクセス制御される回路であればよい。
また、データ処理装置に内蔵される周辺回路はSCIやタイマなどに限定されず適宜変更可能である。また、データ処理装置はメモリマネージメントユニットやキャッシュメモリを内蔵するものであってもよい。また、命令制御手段はハードワイヤードロジックに限定されず、マイクロ命令、更にナノ命令を用いる制御記憶形式であってもよい。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるシングルチップマイクロコンピュータに適用した場合について説明したが、本発明はそれに限定されるものではなく、マルチチップ構成のデータ処理装置にも適用することができる。
無効命令化(不当命令化)及びバスエラー化によってメモリ保護を実現する本発明の第1の例に係るマイクロコンピュータのブロック図である。 図1のマイクロコンピュータにおいて無効命令化(不当命令化)によるメモリ保護のための構成を抜粋したブロック図である。 図1のマイクロコンピュータにおいてバスエラーを発生させてメモリ保護を行なうための構成を抜粋したブロック図である。 図1のマイクロコンピュータにおける命令制御部の概略的な構成を示すブロック図である。 無効命令化の処理を行なうための論理構成の一例を示すブロック図である。 バスステートコントローラがメモリ保護のためにバスエラーを発生されるための信号生成論理の一例を示すブロック図である。 クロック停止の動的解除を行なう本発明の第2の例に係るマイクロコンピュータのブロック図である。 図7のマイクロコンピュータにおいてCPUの制御によるクロック停止状態の動的解除のための構成を抜粋したブロック図である。 図7のマイクロコンピュータにおいてクロック停止状態の動的解除を行なうためのCPUの論理構成の一例を示すブロック図である。 図7のマイクロコンピュータにおいてバスステートコントローラの制御によるクロック停止状態の動的解除のための構成を抜粋したブロック図である。 図7のマイクロコンピュータにおいてクロック停止状態の動的解除を行なうためのバスステートコントローラの論理構成の一例を示すブロック図である。
符号の説明
1,1C マイクロコンピュータ
2 CPU
2A 演算部
2B,2C 命令制御部
3 FPU
4 積和演算装置
5 割込みコントローラ
6,6C バスステートコントローラ
7 クロック発生回路
CLK0〜CLK4 クロック信号
9 SCI
10 タイマ
11 A/Dコンバータ
12,12C システムコントローラ
12R クロック停止制御レジスタ
13 内部データバス
14 内部アドレスバス
15 周辺アドレスバス
16 周辺データバス
17 外部アドレスバス
18 外部データバス
SFPU,SMLT,SSCI,STMR,SADC クロック制御ビット
20 積和演算装置制御信号
21 FPU制御信号
22 CPU演算部制御信号
23 バスコマンド
24 バスエラー信号
25 例外処理信号
200,200C プリデコーダ
201,201C ハードワイヤードロジック
CLR0〜CLR4 クリア信号
210 デコーダ
211 FPU命令検出信号
212 積和演算命令検出信号
213 SFPUとFPU命令検出信号の論理積信号
214 SMLTと積和演算命令検出信号の論理積信号
215 213と214の論理和信号
216 セレクタ
217 無効命令コード発生回路
218 無効命令コード
219 フェッチされた命令コード
220 プリデコード論理
600 アドレスデコーダ
601 SCIアクセス検出信号
602 タイマーアクセス検出信号
603 A/Dコンバータアクセス検出信号

Claims (5)

  1. 命令を実行する中央処理装置と、内部バスを介して前記中央処理装置に結合された第1の回路と、前記第1の回路の動作を選択的に停止させる停止制御回路とを含み、前記停止制御回路は、前記中央処理装置によってアクセスされるクロック制御レジスタの値を停止制御信号として出力し、前記中央処理装置は、前記停止制御回路から出力される停止制御信号を入力し、前記第1の回路を用いる命令を解読するとき、前記停止制御信号が停止を指示している場合には前記停止制御回路による前記第1の回路の動作停止状態を解除してから当該命令の実行動作を開始させる命令制御手段を有して成るものであることを特徴とするデータ処理装置。
  2. 前記第1の回路は、前記中央処理装置が浮動小数点処理命令を実行することによって制御されると共に、前記中央処理装置によってアドレッシング制御を受ける浮動小数点演算装置であることを特徴とする請求項1記載のデータ処理装置。
  3. 前記第1の回路は、前記中央処理装置が積和演算処理命令を実行することによって制御されると共に、前記中央処理装置によってアドレッシング制御を受ける積和演算装置であることを特徴とする請求項1記載のデータ処理装置。
  4. 命令を実行する中央処理装置と、内部バスを介して前記中央処理装置にインタフェースされ該中央処理装置のアドレシング制御及び演算制御を受ける演算装置と、前記内部バスに結合されたバスステートコントローラを介して前記中央処理装置とインタフェースされ該中央処理装置のアクセス制御を受ける周辺回路と、前記バスステートコントローラを外部に接続する外部バスインタフェース回路と、前記演算装置と周辺回路の動作を夫々選択的に停止可能な停止制御回路とを含み、前記停止制御回路は、前記中央処理装置によってアクセスされるクロック制御レジスタの値を停止制御信号として出力し、前記バスステートコントローラは前記停止制御回路から出力される前記停止制御信号のうち前記周辺回路のための第1の停止制御信号を入力し、第1の停止制御信号によって動作停止が指示されている周辺回路に対するアクセスを検出したとき当該周辺回路の動作停止状態を解除してから該周辺回路のためのバスサイクルを起動するものであることを特徴とするデータ処理装置。
  5. 前記中央処理装置は、前記停止制御回路から出力される前記停止制御信号のうち、前記演算装置のための第2の停止制御信号を入力し、前記演算装置を用いる命令を解読するとき、前記第2の停止制御信号が停止を指示している場合には前記停止制御回路による当該演算装置の動作停止状態を解除してから当該命令の実行動作を開始させる命令制御手段を有して成るものであることを特徴とする請求項4記載のデータ処理装置。
JP2003424357A 2003-12-22 2003-12-22 データ処理装置 Pending JP2004152321A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003424357A JP2004152321A (ja) 2003-12-22 2003-12-22 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003424357A JP2004152321A (ja) 2003-12-22 2003-12-22 データ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP35596997A Division JP3523475B2 (ja) 1997-12-25 1997-12-25 データ処理装置

Publications (1)

Publication Number Publication Date
JP2004152321A true JP2004152321A (ja) 2004-05-27

Family

ID=32464062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003424357A Pending JP2004152321A (ja) 2003-12-22 2003-12-22 データ処理装置

Country Status (1)

Country Link
JP (1) JP2004152321A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123410A (ja) * 2006-11-15 2008-05-29 Yamaha Corp デジタル信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008123410A (ja) * 2006-11-15 2008-05-29 Yamaha Corp デジタル信号処理装置

Similar Documents

Publication Publication Date Title
US7590774B2 (en) Method and system for efficient context swapping
US6959367B2 (en) System having read-modify-write unit
JP5521092B2 (ja) データ処理装置
EP2171576B1 (en) Scheduling threads in a processor
JP3781419B2 (ja) パイプライン方式のプロセッサにおける例外処理
US10901492B1 (en) Power reduction in processor pipeline by detecting zeros
JP2001022582A5 (ja)
JP2009032257A (ja) 有限状態機械制御コードを選択的に用いるプロセッサアーキテクチャ
JPH08328860A (ja) パイプラインされた信号プロセッサのためのリセット回路
US20060200692A1 (en) Microprocessor
JP2004005603A (ja) 繰返しブロック命令を入れ子ループに沿ってゼロ・サイクル・オーバヘッドで実行する方法及び装置
JP5322567B2 (ja) データ処理システム及び半導体集積回路
JP2004005747A (ja) マイクロプロセッサ及びマイクロプロセッサを動作する方法
JP2001092661A (ja) データ処理装置
JP2004152321A (ja) データ処理装置
WO2007057831A1 (en) Data processing method and apparatus
JPH11296372A (ja) 情報処理装置
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
US20080222336A1 (en) Data processing system
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
WO2003040915A1 (en) Method for implementing of wait-states
JPH11184693A (ja) データ処理装置
JP3562215B2 (ja) マイクロコンピュータ及び電子機器
JP2000235489A (ja) プロセッサ
JP5012562B2 (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060822