JP4228639B2 - ウエイト制御方法、マイクロコンピュータ、バスコントローラ - Google Patents

ウエイト制御方法、マイクロコンピュータ、バスコントローラ Download PDF

Info

Publication number
JP4228639B2
JP4228639B2 JP2002269942A JP2002269942A JP4228639B2 JP 4228639 B2 JP4228639 B2 JP 4228639B2 JP 2002269942 A JP2002269942 A JP 2002269942A JP 2002269942 A JP2002269942 A JP 2002269942A JP 4228639 B2 JP4228639 B2 JP 4228639B2
Authority
JP
Japan
Prior art keywords
request
processing unit
central processing
wait request
wait
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
JP2002269942A
Other languages
English (en)
Other versions
JP2004110256A (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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2002269942A priority Critical patent/JP4228639B2/ja
Publication of JP2004110256A publication Critical patent/JP2004110256A/ja
Application granted granted Critical
Publication of JP4228639B2 publication Critical patent/JP4228639B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ハーバードアーキテクチャを有し、パイプライン処理を実行するマイクロコンピュータのウエイト制御方法、そのマイクロコンピュータ、及びマイクロコンピュータを構成するバスコントローラに関する。
【0002】
【従来の技術】
従来より、中央処理ユニット(CPU)として、メモリから命令を読み込んで実行するための処理動作を、複数種類の機能ブロックで行われる動作ステージに分割し、各ステージの処理を並列に実行することにより、複数の命令の処理を重複したタイミングで実行する、いわゆるパイプライン処理を行うものが知られている(例えば、非特許文献1)。
【0003】
ここで、図4(a)は、実行すべき各命令を、五つのステージからなる命令処理サイクルにて表わし、これら命令処理サイクルを5段パイプライン処理にて実行する場合のタイミング図である。
但し、各命令処理サイクルは、命令を読み込むIF(フェッチ)ステージと、IFステージで読み込んだ命令を解読するDEC(デコード)ステージと、DECステージで解読された命令の内容に応じて、算術,論理等の演算を行ったり、メモリへアクセスする際のアドレス等を計算するEXE(実行)ステージと、EXステージで計算したアドレスに対してアクセスを行うMA(メモリアクセス)ステージと、DECステージで解読された命令の内容に応じて、演算データを内部レジスタに書き込むWB(ライトバック)ステージとからなり、一つの命令処理の実行は、IFステージ,DECステージ,EXEステージ,MAステージ,WBステージの一連の処理により実現される。
【0004】
そして、CPUは、五つの命令処理サイクルを、それぞれ1ステージずつずれたタイミングで並列に実行することにより、見かけ上1サイクルで一つの命令を実行するように構成されている。
また、パイプライン処理に加え、フェッチとメモリアクセスの動作を同時に行う場合に、バスが一本しかないために競合が起こることを防止するため、接続されるバスとして、フェッチを行うための命令側バス、メモリアクセスを行うためのデータ側バスの2本を設ける、ハーバードアーキテクチャを採用したCPUが知られている。
【0005】
ところで、マイクロコンピュータシステムにおいて使用されるメモリや周辺回路の中には、速度が遅く、CPUの1クロックサイクルの間では、データの入出力を行うことのできないものや、入出力部のビット幅がCPUのビット幅と異なるために、アクセスを何回か繰り返さなければならないものが存在する。
【0006】
上記のようなメモリや周辺回路へCPUがアクセスする場合、CPUとの間にウエイトコントローラやバスコントローラと呼ばれるユニットを設けて、CPUに対してアクセス対象が入出力可能となるまでの期間ウエイトをかけ、フェッチやメモリアクセスが複数サイクルで行われるようにするのが一般的である。
【0007】
例えば、命令Cn+3 を格納した命令格納用メモリにアクセスした時に、データの読み出しが可能となるまでに2サイクルが必要な場合を考える。この場合、図4(b)に示すように、命令Cn+3 に対する命令処理サイクルのIFステージ(サイクルCYm)で、CPUが命令格納用メモリに対するアクセス要求を発生させると、これに対して、バスコントローラはウエイト要求を発生させる。このウエイト要求によりCPUは、次のサイクルCYm+1 で同じステージを保持する。そして、同サイクルCYm+1 でバスコントローラがウエイト要求を解除すると、CPUは、次のサイクルCYm+2 で、処理を次ステージに移行させる。
【0008】
【非特許文献1】
株式会社超Lメディア技術ドキュメントグループ編,「日立SuperH RISC engin SH1/SH2/SH-DSPプログラミングマニュアル」第6版,株式会社日立製作所,平成11年5月,p369
【0009】
【発明が解決しようとする課題】
命令側バス103と、命令の実行に必要なデータの入出力を行うためのデータ側バスからなる2系統のバスを備え、内部でパイプライン処理を実行するCPU110を用いた図5に示すマイクロコンピュータ101では、IFステージでの命令側バス103を介したメモリアクセスと、MAステージでのデータ側バス105を介したメモリや周辺回路(以下単に「周辺回路」という)へのアクセスとを同時に行うことができる。
【0010】
このため、命令側バス103にバスコントローラ120を接続し、データ側バスにコプロセッサ等のウエイト要求を発生させる可能性のある別の周辺回路130を接続した場合、マイクロコンピュータ101では、命令側バス103のバスコントローラ120と、データ側バス105の周辺回路130とが同時にCPU110に対してウエイト要求WC,WDを発生させる場合がある。
【0011】
この場合、CPU110は、両ウエイト要求WC,WDのいずれか一方でも継続している場合は、次のステージの処理に移行せず、ステージの状態を保持し続ける。
ステージの状態が保持されている間、バスコントローラ120や周辺回路130に対するアクセス要求SC,SDも保持し、しかも、周辺回路130からのウエイト要求WDの継続サイクル数がバスコントローラ120からのウエイト要求WCの継続サイクル数より大きい場合を考える。
【0012】
図6に示すように、サイクルCY1にて両ウエイト要求WC,WDが発生し、サイクルCY4にてバスコントローラ120からのウエイト要求WCが解除されると、次のサイクルCY5では、CPU110では周辺回路130からのウエイト要求WDによりウエイト状態が継続される。
【0013】
このとき、周辺回路130に対するアクセス要求SDとバスコントローラ120に対するアクセス要求SCの状態は保持されるため、バスコントローラ120は、アクセス要求SCに従って、先に発生させたものと同じ継続サイクル数を有するウエイト要求WCを再び発生させてしまう。
【0014】
この結果、CPU110では、サイクルCY5にて周辺回路130からのウエイト要求WDが解除された後も、再発生したバスコントローラ120からのウエイト要求WCによって、ウエイト状態がサイクルCY8まで継続され、必要以上(図の例では、必要数5サイクルが8サイクル)にステージ動作が延長されることになり、CPU110の処理能力を低下させてしまうという問題があった。
【0015】
本発明は、上記問題点を解決するために、ハーバードアーキテクチャを有するCPUを用いて構成されたマイクロコンピュータにおいて、命令側バスに接続されるバスコントローラ等の回路から出力されるウエイト要求により、CPUの処理能力が低下することを簡易な方法で防止することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するための発明である請求項1記載のウエイト制御方法は、ハーバードアーキテクチャにて構成され、外部からのウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットと、該中央処理ユニットの命令側バスに接続され、前記中央処理ユニットからのアクセス要求があるとアクセス対象に対するデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成するバスコントローラと、前記中央処理ユニットのデータ側バスに接続され、前記中央処理ユニットからのアクセス要求があるとデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成すると共に、該ウエイト要求を前記バスコントローラに通知する周辺回路とを備えたマイクロコンピュータに適用される。
そして、バスコントローラが、中央処理ユニットに対するウエイト要求を解除したときに、周辺回路からのウエイト要求が継続中であれば、該周辺回路からのウエイト要求が解除されるまでの間、バスコントローラにおいて中央処理ユニットに対するウエイト要求の生成を禁止する。
【0017】
従って、本発明のウエイト制御方法によれば、一度解除されたウエイト要求が、同一ステージの継続中に再び生成されてしまうことがなく、不必要なウエイト要求によって、中央処理ユニットの処理能力が低下してしまうことを確実に防止できる。
【0018】
なお、命令側バスとは、主として命令フェッチ時に使用されるバスであり、後述するデータ側バスとは、主として命令の実行に必要なデータの入出力に使用されるバスのことである。
次に、請求項2記載のマイクロコンピュータは、ハーバードアーキテクチャにて構成され、外部からのウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットを備える。そして、その中央処理ユニットの命令側バスに接続されるバスコントローラが、中央処理ユニットに対するウエイト要求を解除したときに、データ側バスに接続された周辺回路からのウエイト要求が継続中であれば、該周辺回路からのウエイト要求が解除されるまでの間、中央処理ユニットに対するウエイト要求の生成を禁止する。
【0019】
つまり、本発明のマイクロコンピュータは、請求項1記載のウエイト制御方法を実現するものであり、従って、請求項1記載の方法を実行した場合と同様の効果を得ることができる。
なお、本発明では、周辺回路からのウエイト要求に基づいて、バスコントローラが、ウエイト要求の生成を禁止するように構成されているため、中央処理ユニットには何ら変更を加える必要がなく、既製の中央処理ユニットをそのまま使用することができる。
【0020】
【0021】
【0022】
次に、請求項3記載のバスコントローラは、ハーバードアーキテクチャにて構成され、ウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットの命令側バスに接続して使用される。そして、このバスコントローラでは、ウエイト要求生成手段が、中央処理ユニットからのアクセス要求があるとアクセス対象に対するデータの入出力が可能となるまでの間、中央処理ユニットに対するウエイト要求を生成する。そして、このウエイト要求生成手段がウエイト要求を解除したときに、中央処理ユニットのデータ側バスに接続された周辺回路からのウエイト要求が継続中であれば、禁止手段が、周辺回路からのウエイト要求が解除されるまでの間、ウエイト要求生成手段によるウエイト要求の生成を禁止する。
【0023】
つまり、本発明のバスコントローラは、請求項2記載のマイクロコンピュータ構成するバスコントローラとして好適に用いることができる。
なお、禁止手段は、中央処理ユニットからのアクセス要求を無効にするように構成してもよいし、ウエイト要求生成手段の動作自体を禁止するように構成してもよい。
【0024】
また、ウエイト要求生成手段は、例えば請求項4記載のように、アクセス対象毎に必要なウエイト要求の継続サイクル数を対応付けた対応情報を記憶手段に記憶させ、この記憶手段に記憶された対応情報から設定される継続サイクル数の設定値と、ウエイト要求の生成時にそのウエイト要求の継続サイクル数をカウントするカウント手段でのカウント値とを比較することで、ウエイト要求の解除タイミングを得るように構成してもよい。
【0025】
【0026】
【0027】
【発明の実施の形態】
以下に本発明の実施形態を図面と共に説明する。
1は、本発明が適用された実施形態のマイクロコンピュータ(以下「マイコン」という。)の概略構成を表わすブロック図である。
【0028】
図1に示すように、本実施形態のマイコン1は、命令側バス3及びデータ側バス5からなる2系統のバスを有する、いわゆるハーバードアーキテクチャにて構成されたRISC型の中央処理ユニット(CPU)10を備えている。そして、命令側バス3には、周辺バス7を制御するバスコントローラ20が接続され、データ側バス5には、CPU3での処理に必要な各種データを一時的に記憶するための作業用メモリ(図示せず)や、浮動小数点演算等を行うコプロセッサ30が接続されている。
【0029】
また、バスコントローラ20が制御する周辺バス7には、1クロックでのアクセスが不可能なメモリや周辺回路(以下「命令側メモリ等」という。)が接続され、これら命令側メモリ等の一つとして、少なくともCPU10が実行する命令を格納した命令格納用メモリ(図示せず)が接続されている。
【0030】
このうち、コプロセッサ30は、CPU10からのアクセス(読出/書込)要求SDがあると、所定の演算を実行すると共に、その演算結果の読み出しが可能となるまでの間(本実施形態ではCPU10の動作クロックの5サイクル分)、CPU10に対してウエイト要求WDを出力するように構成されている。なお、ウエイト要求WDは、バスコントローラ20にも通知されるように構成されている。
【0031】
一方、バスコントローラ20は、周辺バス7に接続された命令側メモリ等のアドレスと、そのアドレスにて特定される命令側メモリ等へのアクセス時間とを対応させた対応テーブルを記憶するテーブル記憶部21と、CPU10からのアクセス(読出)要求SCがあると、アドレスバスに示されたアドレスからアクセス対象となる命令側メモリ等を特定し、テーブル記憶部21に記憶された対応テーブルを用いて、その特定された命令側メモリ等に対する制御信号SSを生成する制御信号生成部23と、CPU10の動作クロックにより動作するカウンタ(以下「継続カウンタ」という)を備え、その継続カウンタのカウント値、制御信号生成部23にて特定された命令側メモリ等へのアクセス時間、及びコプロセッサ30から通知されるウエイト要求WDに基づいてが、CPU10に対するウエイト要求WCを生成するウエイト要求生成部25とを備えている。
【0032】
なお、テーブル記憶部21に記憶される対応テーブルでは、アクセス時間が、CPU10の動作クロックのサイクル数N(Nは正整数)にて表わされており、以下では、このアクセス時間を「継続サイクル数」ともよぶ。
ここで、図2は、バスコントローラ20の内部状態を表わす状態遷移図である。
【0033】
図2に示すように、バスコントローラ20の内部状態は、「RESET」「CYC1」「CYCn」「CYCW」の4つの状態からなり、CPU10の動作クロックに同期して、以下のように状態遷移をする。
バスコントローラ20がリセットされている間は「RESET」状態に保持され、リセットが解除されると、「CYC1」状態に遷移する。
【0034】
「CYC1」状態では、バスコントローラ20管理下の命令側メモリ等へのアクセス要求がない(SC=0)か、又はアクセス要求があっても継続サイクル数Nが1サイクルである(SC=1かつN=1)場合は、現在の状態、即ち「CYC1」状態に遷移し(図3の時刻t1参照)、一方、アクセス要求があり且つ継続サイクル数Nが複数サイクルである(SC=1かつN>1)場合は「CYCn」状態に遷移する(時刻t2,t5参照)。
【0035】
なお、「CYC1」状態への遷移があった場合に、継続カウンタのカウント値CNTは1にプリセットされる。
「CYCn」状態では、継続カウンタによるカウント値CNTが継続サイクル数Nより小さい(CNT<N)場合は、現在の状態、即ち「CYCn」状態に遷移し(時刻t3,t6参照)、一方、カウント値CNTが継続サイクル数N以上(CNT≧N)である場合は、コプロセッサ30からのウエイト要求があれば(WD=1)、「CYCW」状態に遷移し(時刻t7参照)、そのウエイト要求がなければ(WD=0)、「CYC1」状態に遷移する(時刻t4参照)。
【0036】
「CYCW」状態では、コプロセッサ30からのウエイト要求があれば(WD=1)、現在の状態、即ち「CYCW」状態に遷移し(時刻t8参照)、そのウエイト要求がなければ(WD=0)、「CYC1」状態に遷移する(時刻t9参照)。
【0037】
このようにして決定される内部状態に従って、ウエイト要求生成部25は、「CYC1」状態から「CYCn」状態に遷移すると、ウエイト要求WCを生成する(WC←1)と共に継続カウンタの動作を開始させ、「CYCn」状態から「CYC1」又は「CYCW」状態に遷移すると、ウエイト要求WCを解除する(WC←0)する。また、上述したようにどの状態からでも「CYC1」状態に遷移すると継続カウンタのカウント値CNTを1にプリセット(CNT←1)するように構成されている。
【0038】
つまり、バスコントローラ20は、CPU10からのアクセス要求SCがあると(SC=1)、命令側バス3と周辺バス7とを接続すると共に、アドレスから対応テーブルにより特定される命令側メモリ等に対して、その命令側メモリ等に応じた制御信号SSを出力する。
【0039】
そして、特定された命令側メモリ等についての継続サイクル数Nが1より大きい場合には、CPU10に対してウエイト要求WCを出力し(WC←1)、継続サイクル数N分の時間が経過するとウエイト要求WCを解除する。但し、ウエイト要求WCを解除(WC←0)した時に、コプロセッサ30からのウエイト要求WDが継続(WD=1)していれば、「CYCW」状態に遷移することで、コプロセッサ30からのウエイト要求が解除されるまでの間は、再びウエイト要求WCを発生させてしまうことがないようにされている。
【0040】
次に、CPU10は、従来装置と同様に、実行すべき各命令を、いずれも動作クロックの1サイクルにて実行可能なIFステージ,DECステージ,EXEステージ,MAステージ,WBステージの五つのステージからなる命令処理サイクルにて表わし、これら命令処理サイクルを5段パイプライン処理にて実行するように構成されている(図4参照)。
【0041】
そして、CPU10は、バスコントローラ20からのウエイト要求WC、及びコプロセッサ30からのウエイト要求WDのうち、いずれか一方でも要求があれば、その要求が継続している間、次のステージに移行することなく、実行中のステージを延長するステージ制御部11と、IFステージや、MAステージにて、命令側バス3を介して周辺バス7に接続された命令側メモリ等からデータを読み込む場合や、データ側バス5を介してコプロセッサ30を動作させる場合に出力するアクセス要求SC,SDを生成するアクセス要求制御部13とを備えている。
【0042】
但し、アクセス要求制御部13は、ステージ制御部11にて、実行中のステージが延長された場合、そのステージが終了するまでの間、生成したアクセス要求SC,SDの状態を保持するように構成されている。
つまり、CPU10は、データ側バス5に接続されたコプロセッサ30を動作させる場合、コプロセッサ30に対するアクセス要求SDを生成(SD←1)する。そして、コプロセッサ30とは、データ側バス5を介して直接的にデータの入出力を行う。一方、周辺バス7に接続された命令側メモリ等へのアクセスを行う場合、バスコントローラ20に対するアクセス要求SCを生成(SC←1)する。そして、命令側メモリ等とは、命令側バス3に接続されたバスコントローラ20を介してデータの入出力を行う。
【0043】
なお、図4からわかるように、IFステージはどのサイクルでも必ず実施されるため、命令格納用のメモリが接続された周辺バス7を制御するバスコントローラ20へのアクセス要求は、通常、設定されたままの状態(SC=1)とされ、一方、MAステージにてアクセスされるコプロセッサ30へのアクセス要求SDは、CPU10での必要に応じて設定される。
【0044】
このように構成されたマイコン1では、例えば、命令Cn+3 ,Cn+4 を格納する命令格納用メモリの継続サイクル数がN=3である場合、図3に示すように、命令Cn+3 を読み出すIFステージが開始されると(時刻t1)、バスコントローラ20からウエイト要求WCが発生し、CPU10はウエイト状態となる。その後、継続カウンタのカウント値CNTが継続サイクル数Nに等しくなる時刻t3を経過すると、バスコントローラ20は、CPU10に対するウエイト要求WCを解除し、続く時刻t4では、次のステージに移行する。
【0045】
このステージでは、命令Cn+4 を読み出すIFステージが開始されるため、バスコントローラ20からウエイト要求WCが発生し、CPU10はウエイト状態となる。この時、同時に実行される命令Cn+1 のMAステージにて、コプロセッサ30へのアクセスが行われたとすると、コプロセッサ30からもウエイト要求WDが発生する。
【0046】
その後、継続カウンタのカウント値CNTが継続サイクル数Nに一致する時刻t6を経過すると、バスコントローラ20からのウエイト要求WCは解除されるが、コプロセッサ30からのウエイト要求WDは継続中であるため、CPU10の処理では、次のステージに移行せず、同ステージが延長される。また、バスコントローラ20では、内部状態が「CYCW」状態に遷移し、CPU10からのアクセス要求SCがあってもウエイト要求WCを生成しない状態となる。
【0047】
そして、時刻t8を経過して、コプロセッサ30からのウエイト要求WDが解除されると、続く時刻t9にて、CPU10は、処理を次のステージに移行させ、また、バスコントローラ20は、内部状態を「CYC1」状態に遷移させて、新たなウエイト要求WCの生成が可能な状態に復帰する。
【0048】
なお、CPU10は、コプロセッサ30からのウエイト要求WDよりバスコントローラ20からのウエイト要求WCが先に解除された場合、命令側メモリ等からのデータを、ウエイト要求WD解除後のステージ終了時(時刻t9)に取り込むように構成されている。但し、ウエイト要求WCの解除後に直ちに(時刻t7)取り込むように構成してもよい。
【0049】
以上説明したように、本実施形態のマイコン1においては、バスコントローラ20とコプロセッサ30とがいずれもウエイト要求を発生させ(WC=1,WD=1)、バスコントローラ20からのウエイト要求が先に解除(WC=0)された場合、その後、コプロセッサ30からのウエイト要求も解除(WD=0)されるまでの間は、バスコントローラ20に対するアクセス要求(SC=1)があっても、バスコントローラ20が新たなウエイト要求WCを発生させることがないようにされている。
【0050】
従って、本実施形態のマイコン1によれば、不必要なウエイト要求WCによって、必要以上にステージが延長されてしまうことを確実に防止できるため、ウエイト要求発生時の処理を必要最小限の時間で行うことができる。
なお、本実施形態では、バスコントローラ20からのウエイト要求WCと、コプロセッサ30からのウエイト要求WDとを個別にCPU10に取り込むようにされているが、CPU10においては、両ウエイト要求WC,WDを区別する必要がないため、両ウエイト要求WC,WDの論理和をCPU10に入力するように構成してもよい
【0051】
【0052】
【0053】
【0054】
【0055】
【0056】
【0057】
【0058】
【0059】
【0060】
【0061】
【0062】
【図面の簡単な説明】
【図1】施形態のマイクロコンピュータの主要部の構成を示すブロック図である。
【図2】 バスコントローラの内部状態に関する状態遷移図である。
【図3】 マイコンの動作例を示したタイミング図である。
【図4】 パイプライン処理の概要を説明するためのタイミング図である。
【図5】 従来装置の主要部の構成を示すブロック図である。
【図6】 従来装置の問題点を説明するためのタイミング図である。
【符号の説明】
1…マイクロコンピュータ(マイコン)、3…命令側バス、5…データ側バス、7…周辺バス、10…中央処理ユニット(CPU)、11…ステージ制御部、13…アクセス要求制御部、20…バスコントローラ、21…テーブル記憶部、23…制御信号生成部、25…ウエイト要求生成部、30…コプロセッサ、SC,SD…アクセス要求、SS…制御信号、WC,WD…ウエイト要求。

Claims (4)

  1. ハーバードアーキテクチャにて構成され、外部からのウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットと、
    該中央処理ユニットの命令側バスに接続され、前記中央処理ユニットからのアクセス要求があるとアクセス対象に対するデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成するバスコントローラと、
    前記中央処理ユニットのデータ側バスに接続され、前記中央処理ユニットからのアクセス要求があるとデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成すると共に、該ウエイト要求を前記バスコントローラに通知する周辺回路と、
    を備えたマイクロコンピュータのウエイト制御方法であって、
    前記バスコントローラが、前記中央処理ユニットに対するウエイト要求を解除したときに、前記周辺回路からのウエイト要求が継続中であれば、該周辺回路からのウエイト要求が解除されるまでの間、前記バスコントローラにおいて前記中央処理ユニットに対するウエイト要求の生成を禁止することを特徴とするウエイト制御方法。
  2. ハーバードアーキテクチャにて構成され、外部からのウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットと、
    該中央処理ユニットの命令側バスに接続され、前記中央処理ユニットからのアクセス要求があるとアクセス対象に対するデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成するバスコントローラと、
    前記中央処理ユニットのデータ側バスに接続され、前記中央処理ユニットからのアクセス要求があるとデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成する周辺回路と、
    を備えたマイクロコンピュータにおいて、
    前記バスコントローラは、
    前記中央処理ユニットに対するウエイト要求を解除したときに、前記周辺回路からのウエイト要求が継続中であれば、該周辺回路からのウエイト要求が解除されるまでの間、前記中央処理ユニットに対するウエイト要求の生成を禁止することを特徴とするマイクロコンピュータ。
  3. ハーバードアーキテクチャにて構成され、ウエイト要求に従ってパイプライン処理のステージを延長し、パイプライン処理のステージ延長中は命令側バス及びデータ側バスへのアクセス要求の状態を保持する中央処理ユニットの命令側バスに接続されるバスコントローラであって、
    前記中央処理ユニットからのアクセス要求があるとアクセス対象に対するデータの入出力が可能となるまでの間、前記中央処理ユニットに対するウエイト要求を生成するウエイト要求生成手段と、
    該ウエイト要求生成手段が前記ウエイト要求を解除したときに、前記中央処理ユニットのデータ側バスに接続された周辺回路からのウエイト要求が継続中であれば、該周辺回路からのウエイト要求が解除されるまでの間、前記ウエイト要求生成手段によるウエイト要求の生成を禁止する禁止手段と、
    を備えることを特徴とするバスコントローラ。
  4. 前記ウエイト要求生成手段は、
    前記アクセス対象毎に、必要なウエイト要求の継続サイクル数を対応付けた対応情報を記憶する記憶手段と、
    前記ウエイト要求の生成時に、該ウエイト要求の継続サイクル数をカウントするカウント手段と、
    を備え、前記記憶手段に記憶された対応情報から設定される継続サイクル数の設定値と、前記カウント手段にてカウントされる継続サイクル数のカウント値とを比較することで、前記ウエイト要求の解除タイミングを得ることを特徴とする請求項3記載のバスコントローラ。
JP2002269942A 2002-09-17 2002-09-17 ウエイト制御方法、マイクロコンピュータ、バスコントローラ Expired - Fee Related JP4228639B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002269942A JP4228639B2 (ja) 2002-09-17 2002-09-17 ウエイト制御方法、マイクロコンピュータ、バスコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002269942A JP4228639B2 (ja) 2002-09-17 2002-09-17 ウエイト制御方法、マイクロコンピュータ、バスコントローラ

Publications (2)

Publication Number Publication Date
JP2004110256A JP2004110256A (ja) 2004-04-08
JP4228639B2 true JP4228639B2 (ja) 2009-02-25

Family

ID=32267721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002269942A Expired - Fee Related JP4228639B2 (ja) 2002-09-17 2002-09-17 ウエイト制御方法、マイクロコンピュータ、バスコントローラ

Country Status (1)

Country Link
JP (1) JP4228639B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818820B2 (ja) * 2006-06-07 2011-11-16 ルネサスエレクトロニクス株式会社 バスシステムおよびバススレーブならびにバス制御方法

Also Published As

Publication number Publication date
JP2004110256A (ja) 2004-04-08

Similar Documents

Publication Publication Date Title
EP1550089B1 (en) Method and apparatus for token triggered multithreading
JP3842474B2 (ja) データ処理装置
US6959367B2 (en) System having read-modify-write unit
JP4996654B2 (ja) プロセッサ
JPH04313121A (ja) インストラクションメモリ装置
JP2011513843A (ja) 実行装置内のデータ転送のシステムおよび方法
EP1550032A2 (en) Method and apparatus for thread-based memory access in a multithreaded processor
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
TWI764966B (zh) 用於控制矢量記憶體存取之資料處理裝置及方法
JP3776653B2 (ja) 演算処理装置
JP2000330788A (ja) コンピュータシステム
JP7048612B2 (ja) ベクトル生成命令
JP3304444B2 (ja) ベクトル処理装置
US7725694B2 (en) Processor, microcomputer and method for controlling program of microcomputer
JP2007102333A (ja) データ処理装置およびデータ処理方法
JP5316407B2 (ja) 演算処理装置および演算処理装置の制御方法
EP1193594A2 (en) Register renaming apparatus and processor
JP4228639B2 (ja) ウエイト制御方法、マイクロコンピュータ、バスコントローラ
JPS60178580A (ja) 命令制御方式
TW201734769A (zh) 處理向量指令
JP3767539B2 (ja) 補助演算装置、中央演算装置及び情報処理装置
JP4151497B2 (ja) パイプライン処理装置
JPH09146769A (ja) パイプライン処理装置
JP2000305782A (ja) 演算装置
JP2000347931A (ja) キャッシュメモリおよびキャッシュメモリ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080819

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081002

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: 20081111

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: 20081124

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121212

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131212

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees