説明

データ伝達方法およびシステム

【課題】改変による手間や間違い、設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止/再開の機能を設ける。
【解決手段】送信側ユニット100が内部クロック供給の停止を望むとき、受信側ユニット200に対して内部クロック供給の停止を要求し、受信側ユニット200が内部クロック供給の停止を承認して送信側ユニット100に通知したとき、送信側ユニット100が内部クロック供給を停止する。受信側ユニット200から送信側ユニット100に提示されている相の内容が変化したとき、送信側ユニット100がこれを検出すると、送信側ユニット100が内部クロック供給を再開する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同期設計手法で構築されたディジタル処理装置を構成するデータ通信システムにおいて、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、送信側ユニットから受信側ユニットにデータを伝達するデータ伝達方法およびシステムに関するものである。
【背景技術】
【0002】
従来では、同期設計手法を適用した処理ユニットに対して、消費電力の削減や節約などの目的で、クロック供給を停止/再開する機構を設けることがあるが、その手法は、機能設計後に、分析ならびに設計段階を別に設けて解決していた(例えば、非特許文献1参照)。これは、本来の機能とは別に、クロック供給の停止と再開を実行する処理モジュールとその制御を行うモジュールを、あらかじめ設計しておき、いったん機能検証した設計ファイルに、そのモジュールを加えて設計を改変していくものである。
【非特許文献1】「第11回6都市 FPGAカンファレンス 2008」、組み込みネットニュース、[平成20年10月10日検索]、インターネット<http://www.kumikomi.net/article/news/2007/03/26_01.html>
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところが、上記手法では、手間が多くなることとともに、その際に間違いの混入があった。間違いを防ぐ手法としては、設計の自動化とともに、改変を加えた設計の前後で、両者の機能が完全に等しいことを証明することが必要であり、そうした技法やツールも存在するが、設計規模が大きくなるほど、適用がむずかしくなっていた。
【0004】
本発明の目的は、改変による手間や間違い、および設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止/再開機能を設けることができるようにしたデータ伝達方法およびシステムを提供することである。
【課題を解決するための手段】
【0005】
請求項1にかかる発明は、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットから前記受信側ユニットにデータを伝達するデータ伝達方法において、前記送信側ユニットと前記受信側ユニットの一方である自分側ユニットが内部クロック供給の停止を望むとき、前記送信側ユニットと前記受信側ユニットの他方である相手側ユニットに対して内部クロック供給の停止を要求し、前記相手側ユニットが内部クロック供給の停止を承認して前記自分側ユニットに通知したとき、前記自分側ユニットが内部クロック供給を停止し、前記相手側ユニットから前記自分側ユニットに提示されている前記相の内容が変化したとき、前記自分側ユニットがこれを検出すると、前記自分側ユニットが内部クロック供給を再開することを特徴とする。
請求項2にかかる発明は、請求項1に記載のデータ伝達方法において、前記送信側ユニットと前記受信側ユニットが、同時に相手側ユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、一方の要求のみを伝達する、のいずれかを予め決めておくことを特徴とする。
請求項3にかかる発明は、送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットと前記受信側ユニットとの間でデータを伝達するデータ伝達システムにおいて、前記送信側ユニットおよび前記受信側ユニットに、相手側ユニットからの内部クロック供給の停止要求を承認/非承認する供給停止承認手段を設けるとともに、前記相手側ユニットの前記供給停止承認手段からの供給停止承認を示す信号を受信すると内部クロック供給を停止し、且つ前記相手側ユニットから通知される前記相の変化を検出すると内部クロック供給を再開するクロック供給管理手段を設けたことを特徴とする。
請求項4にかかる発明は、請求項3に記載のデータ伝達システムにおいて、前記送信側ユニットおよび前記受信側ユニットが同時に相手側のユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、又は一方の要求のみを伝達する衝突防止ユニットを備えたことを特徴とする。
【発明の効果】
【0006】
本発明によれば、自分側ユニットの内部クロック供給の停止要求によりそれが相手側ユニットで承認されれば自分側ユニットの内部クロック供給が停止され、相手側ユニットの相が変化すれば自分側ユニットの内部クロック供給が再開される手法であるので、改変による手間や間違い、および設計規模の増大による検証の困難性を伴うことなく、同期設計手法を適用したユニットに対して、内部クロック供給の停止/再開を実現できる。
【発明を実施するための最良の形態】
【0007】
本発明は、トランザクションを次のように実装したシステムに対して適用することで大きい効果を発揮する。すなわち、対向した2個のユニットについて、どちらかのユニットが表示する相を変動させることによってトランザクションを開始し、トランザクションが対向(相手側ユニット)に到達したとき、すなわち、対向が反応をおこしたときに、反応の完了として対向が表示する相をトランザクション開始側に合致させる、というトランザクション実装方式を採用しているシステムに好適である。
【0008】
その条件のシステムにおいて、相の物理的表現は、ビットパタンでもよいし、光の波長等でもよい。このような実装方式によってトランザクションを生成する機能と、解釈反応する機能をあらかじめ用意しておき、対向するユニット間の接続では必ずこれを利用するという設計手法において、各ユニットに自律制御で内部クロック供給を停止する機能を設けるとともに、トランザクションの検出によって内部クロック供給を再開する機能を設ける。
【0009】
ここで、3種の相の表示によるトランザクションを実装したシステムに対して、本発明を適用した場合について説明する。3種の相の表示によるトランザクションの実装とは、たとえば次のようなものである。簡単のために、相を「1」,「2」,「3」の数字で表現する。一方のユニットが、対向する他方のユニットにトランザクションのあることを示すために、それまで該一方のユニットが相が「1」で表示していたものを、相を「2」に変える。対向する他方のユニットは、該一方のユニットで表示されている相が「1」から「2」に変わったことを検出する。そして、当該他方のユニットが受信側の場合はデータを受け取り、送信側の場合はデータを提示する状態とし、当該他方のユニットの提示する相を前記一方のユニットの相と同じ「2」にする。トランザクションが無い間は、どちらのユニットも相を変えることはない。また、相の変動を知っても、データの授受ができない状態にあるユニットは相を変えない。すなわち、トランザクションの授受は、片方(情報の送り側だけでなく受け側のこともある)が相を変えることから始まり、双方の相が一致したところで完了する。なお、対向する2つのユニット間では一般に相の遷移は同じ規則を用いる。
【0010】
<実施例>
図1に本発明の1つの実施例の内部クロック供給の停止/再開システムを備えるデータ伝達システムの構成を示す。100は送信側ユニット、200は受信側ユニット、300は衝突防止ユニットである。
【0011】
送信側ユニット100は、内部クロックCLK_Sで動作する送信側モジュール110と、その送信側モジュール100に対する内部クロックCLK_Sの供給の停止/再開を制御するクロック供給制御部120を備える。送信側モジュール110は、内部状態を「1」,「2」,「3」のいずれかで示す相Csを格納する相Cs用レジスタ111、内部クロック供給の停止要求を承認したとき供給停止承認信号を「1」にする供給停止承認用レジスタ112、および相遷移やデータ送出その他を行う処理部113を有する。クロック供給制御部120は、トランザクション検出手段121とクロック供給管理手段122を有する。
【0012】
受信側ユニット200は、内部クロックCLK_Sで動作する受信側モジュール210と、その受信側モジュール200に対する内部クロックCLK_Dの供給の停止/再開を制御するクロック供給制御部220を備える。受信側モジュール210は、内部状態を「1」,「2」,「3」のいずれかで示す相Cdを格納する相Cd用レジスタ211、内部クロック供給の停止要求を承認したとき供給停止承認信号を「1」にする供給停止承認用レジスタ212、および相遷移やデータ受信その他を行う処理部213を有する。クロック供給制御部220は、トランザクション検出手段221とクロック供給管理手段222を有する。
【0013】
送信側ユニット100の送信側モジュール110において、相Csの値は、「出力あり」のフラグが「1」のときは、(1)式のf関数(遷移関数)で決まるが、そのフラグが「0」のときは、(2)式のように、変化しない。
Cs(n)=f(Cs(n−1),Cd(n−1)) (1)
Cs(n)=Cs(n−1) (2)
ここで、Cs(n)は内部クロックCLK_Sのnクロックサイクル時のCsの値を、Cs(n−1)その1つ前のクロックサイクル時のCsの値を示す。
【0014】
受信側ユニット200の受信側モジュール210において、相Cdの値は、データの受け付け可能を示す「入力可能」のフラグが「1」のときは、(3)式のf関数(遷移関数)で決まるが、そのフラグが「0」のときは、(4)式のように、変化しない。
Cd(n)=f(Cd(n−1),Cs(n−1)) (3)
Cd(n)=Cd(n−1) (4)
ここで、Cd(n)は内部クロックCLK_Dのnクロックサイクル時のCdの値を、Cd(n−1)その1つ前のクロックサイクル時のCdの値を示す。
【0015】
図2にそのf関数の遷移の表形式表現を示す。ここでは相信号Cs,Cdの種類を3種(=「1」,「2」,「3」)とする。図5(a)のa,b,cの値の取り方によって、2から8組のf関数を得ることができ、そのいずれか1つを選び、送信側、受信側の双方のモジュール110,210で共通に用い、得られた値をCs,Cdとする。図5(b)は8種類の内の1つの関数の例である。
【0016】
衝突防止ユニット300は、送信側モジュール110からの内部クロック供給停止の要求と受信側ユニット210からの内部クロック供給停止の要求が衝突したとき、それを解決するためのものである。図3にその衝突防止ユニット300の真理値を示す。入力をS0,D0、出力をS1,D1として、S0=「1」,D0=「1」となったとき、つまり衝突したときは、どちらも承認しない、S0を承認する、D0を承認する、のいずれかで対処する。これは予め決めておく。
【0017】
トランザクション検出手段121は、受信側ユニット200からのトランザクションの開始として、レジスタ211に格納されている相Cdが変化すると、その変化をメインクロックCLKに同期して検知する。また、トランザクション検出手段221は、送信側ユニット100からのトランザクションの開始として、レジスタ111に格納されている相Csが変化すると、その変化をメインクロックCLKに同期して検知する。そして、いずれも、変化が確定したクロックサイクルの間、検出信号を「1」にする。
【0018】
クロック供給管理手段122は、トランザクション検出手段121からの検出信号が「1」になることにより、送信側モジュール110に内部クロックCLK_Sの供給を開始する。なお、すでにそのクロックCLK_Sを供給している場合は、そのまま供給を維持する。クロック供給管理手段222も、トランザクション検出手段221からの検出信号が「1」になることにより、受信側モジュール210に内部クロックCLK_Dの供給を開始する。なお、すでにそのクロックCLK_Dを供給している場合は、そのまま供給を維持する。
【0019】
送信側モジュール110からの出力する供給停止要求信号が「1」になり、受信側モジュール210の内部クロックCLK_Dに同期して供給停止承認レジスタ212によりそれが承認されると、供給停止承認信号が送信側ユニット100の側のクロック供給管理手段122に提示される。この供給停止承認信号が「1」のとき、クロック供給管理手段122は、メインクロックCLKの次のサイクルから、送信側モジュール110への内部クロックCLK_Sの供給を停止する。
【0020】
同様に、受信側モジュール210からの出力する供給停止要求信号が「1」になり、送信側モジュール110の内部クロックCLK_Sに同期して供給停止承認レジスタ112によりそれが承認されると、供給停止承認信号が受信側ユニット200の側のクロック供給管理手段222に提示される。この供給停止承認信号が「1」のとき、クロック供給管理手段222は、メインクロックCLKの次のサイクルから、受信側モジュール210への内部クロックCLK_Sの供給を停止する。
【0021】
対向する送信側ユニット100と受信側ユニット200間で、同時に供給停止要求信号が提示された場合には、図3に示す真理値にしたがって、どちらも承認しない、又はどちらか一方だけを承認するように、衝突防止ユニット300が作用する。
【0022】
内部クロック供給の停止と開始はトグルであり、いったん指示されると、その後は、反対の指示がない限り、そのままの状態(供給/停止)を維持する。
【0023】
送信側ユニット100、受信側ユニット200の処理部113,213から相手側ユニットへ送る供給停止要求信号は、自分側ユニットにおいて、処理対象に施す処理がすべて終わってデータ出力を伝達し終えたとき、データ入力が途中であるが新たなデータ入力がないかぎり処理が継続できないとき、あるいはデータ出力が途中であるが出力受理が許可されないままのとき等、それぞれの処理の内容に応じて、内部クロック供給の停止が妥当な状態にあるときに、それを提示できるように設計される。この供給停止要求信号の値は、その時点ではクロックが供給されているので、クロック1サイクル分の「1」とする。それが相手側ユニットで承認された場合は、自分側ユニットのモジュールに供給される内部クロック供給が停止されることになる。なお、相手側ユニットでの承認の条件も、上記と同様である。
【0024】
その後、トランザクション検出手段121,221からの検出信号が「1」になると、クロック供給管理手段122,222によって、内部クロック供給の開始が自分側ユニットのモジュールに対して行われるまでは、当該自分側ユニットのモジュールでは内部クロックの供給がない状態となる。
【0025】
次に、図4を参照して本実施例の動作を説明する。図4では、クロックサイクル6までは、送信側ユニット100から受信側ユニット200に対して、毎サイクルのトランザクション転送が行われている。これは、サイクル1から6までの間、相Cs,Cdの値が相が各サイクルで一致していることに現れている。
【0026】
送信側ユニット100においては、次のクロックサイクルに、トランザクションとすべき出力があるかどうかを、「出力あり」のフラグで表示しているが、クロックサイクル6において、これは「0」となっている。よって、クロックサイクル7では、トランザクションを発生させていない。これは、相Csの値が「3」のままであることに現れる。このとき、受信側ユニット200は、相Cdが「1」であり、このとき相CsとCdは不一致となる。これは、トランザクション未完了にあたる。一致しない状態はこのままクロック13まで続く。
【0027】
その途中で、クロックサイクル9において、受信側ユニット200において、その処理のなんらかの状況により供給停止要求信号が「1」となっている。このように、受信側ユニット200の処理部211の中での条件判断により、供給停止要求信号が1サイクルの間だけ「1」なると、この供給停止要求信号は、送信側モジュール110の内部クロックCLK_Sの次のエッジ、すなわち、クロックサイクル10においてレジスタ112で承認される。これは、送信側ユニット100に内部クロックCLK_Sが供給されていることを確認したことになる。一般に、対向するモジュールのうちのどれかに内部クロックが供給されていることを確認できた場合に、供給停止要求が承認される。これにより、クロックサイクル11以降では、受信側モジュール210には内部クロックCLK_Dの供給が停止される。
【0028】
一方で、クロックサイクル12では、送信側ユニット100の「出力あり」のフラグが「1」に復帰し、この結果、クロックサイクル13で、相Csの値に変動が生じる。これを受信側ユニット200のクロック供給制御部220のトランザクション検出手段221が検出し、受信側モジュール210への内部クロックCLK_Dの供給が再開する。その結果、クロックサイクル14で、相CsとCdが一致し、データの伝達がおこなわれ、トランザクションが完了する。
【0029】
クロックサイクル16〜21では、逆に受信側ユニット200の処理で、「入力可能」のフラグが「0」になる間に、送信側ユニット100の内部クロックCLK_Sの供給停止、および再度の開始を行っている。
【0030】
以上、例示したものは、3相によるトランザクションの実装で1対1の転送に対して、本技術を適用して、内部クロック供給の停止/再開を実現したものである。まとめると、相手側モジュールに内部クロックが供給されているならば、相手側モジュールからのトランザクションがないときに、自分側モジュールのなかでの処理がないなどで内部クロック供給を停止することが妥当ならば、相手側モジュールに対して、内部クロック供給停止要求信号を「1」にすることで打診し、相手側モジュールに内部クロックが供給されていることで、承認が得られるので、自分側モジュールのクロックを停止できる。さらに、その後、相手側モジュールがトランザクションを発生させると、トランザクション検出手段121や221およびクロック供給管理手段122や222が働いて、自分側モジュールへの内部クロック供給が再開される。
【0031】
以上のように、本実施例では、同期設計手法を適用したユニットに対して、消費電力削減や節約などの目的で内部クロック供給の停止/再開機能を設ける際、改変による手間、間違い、設計規模の増大による検証の困難などが減少できる。
【0032】
<他の実施例>
1対Nの転送(1つのユニットに対して複数のユニットからの転送が集まっている場合、また、その逆の場合)に対しても、同じく内部クロック供給の停止/再開を実現することができる。図5に、1対2の場合のデータ伝達システムの例を示す。ここでは、受信側ユニット200Aが2つの送信側ユニット100A,100Bに対向しており、各送信側ユニット100A,100Bごとに、受信側モジュール210A,220Aとクロック供給制御部220A,220Bが備え付けられる。ここでは、クロック供給制御部220A,220Bでクロック供給管理手段222を共通化している。このクロック供給管理手段222は、送信側ユニット100A,100Bからのクロックの供給停止要求承認信号をOR回路401を経由して受信する。また、クロック供給制御部220A,220Bのトランザクション検出手段221からの検出信号をOR回路402を経由して受信する。そして、受信側モジュール210A,210Bの内部クロックCLK_Dの供給を共通に停止/再開する。
【0033】
図5のデータ伝達システムでは、ある時点で、送信側ユニット100A,100Bのいずれも内部クロックCLK_Sの供給が停止しているときは、受信側ユニット200Aから送信側ユニット100A,100Bのいずれに対しても、クロックの供給停止要求が承認されることはない。また、送信側ユニット100A,100Bのいずれかに内部クロックが供給されているときは、当該の送信側ユニット100A又は100Bについて、1対1で前記の手順を行う。そして、停止要求の承認を得られたときに、受信側ユニット200Aでの内部クロックCLK_Dの供給を停止できる。その後、送信側ユニット100A,100Bのいずれかのトランザクションが発生したときに、受信側ユニット200Aの受信側モジュール210A,210Bへの内部クロックCLK_Dの供給が再開することになる。
【図面の簡単な説明】
【0034】
【図1】本発明の1つの実施例の内部クロック供給の停止/再開システムを備えるデータ伝達システムの説明図である。
【図2】相Cs,Cdの値を決めるf関数の真理値の説明図である。
【図3】衝突防止ユニットの説明図である。
【図4】本実施例のデータ伝達システムの動作のタイムチャートである。
【図5】別の実施例のデータ伝達システムの説明図である。
【符号の説明】
【0035】
100,100A,100B:送信側システム
110:送信側モジュール、111:相Cs用レジスタ、112:供給停止承認用レジスタ、113:処理部
120:クロック供給制御部、121:トランザクション検出手段、122:クロック供給管理手段
200:受信側システム
210,210A:受信側モジュール、211:相Cd用レジスタ、212:供給停止承認用レジスタ、213:処理部
220,220A,220B:クロック供給制御部、221:トランザクション検出手段、222:クロック供給管理手段

【特許請求の範囲】
【請求項1】
送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットから前記受信側ユニットにデータを伝達するデータ伝達方法において、
前記送信側ユニットと前記受信側ユニットの一方である自分側ユニットが内部クロック供給の停止を望むとき、前記送信側ユニットと前記受信側ユニットの他方である相手側ユニットに対して内部クロック供給の停止を要求し、前記相手側ユニットが内部クロック供給の停止を承認して前記自分側ユニットに通知したとき、前記自分側ユニットが内部クロック供給を停止し、
前記相手側ユニットから前記自分側ユニットに提示されている前記相の内容が変化したとき、前記自分側ユニットがこれを検出すると、前記自分側ユニットが内部クロック供給を再開することを特徴とするデータ伝達方法。
【請求項2】
請求項1に記載のデータ伝達方法において、
前記送信側ユニットと前記受信側ユニットが、同時に相手側ユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、一方の要求のみを伝達する、のいずれかを予め決めておくことを特徴とするデータ伝達方法。
【請求項3】
送信側ユニットと受信側ユニットとの間で相互に内部の状態を示す相を相手側に提示するすることによって、前記送信側ユニットと前記受信側ユニットとの間でデータを伝達するデータ伝達システムにおいて、
前記送信側ユニットおよび前記受信側ユニットに、相手側ユニットからの内部クロック供給の停止要求を承認/非承認する供給停止承認手段を設けるとともに、前記相手側ユニットの前記供給停止承認手段からの供給停止承認を示す信号を受信すると内部クロック供給を停止し、且つ前記相手側ユニットから通知される前記相の変化を検出すると内部クロック供給を再開するクロック供給管理手段を設けたことを特徴とするデータ伝達システム。
【請求項4】
請求項3に記載のデータ伝達システムにおいて、
前記送信側ユニットおよび前記受信側ユニットが同時に相手側のユニットに内部クロック供給の停止を要求したとき、双方の要求を伝達しない、又は一方の要求のみを伝達する衝突防止ユニットを備えたことを特徴とするデータ伝達システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate