JPH1040071A - 演算装置及びその遅延時間制御方法 - Google Patents
演算装置及びその遅延時間制御方法Info
- Publication number
- JPH1040071A JPH1040071A JP8192427A JP19242796A JPH1040071A JP H1040071 A JPH1040071 A JP H1040071A JP 8192427 A JP8192427 A JP 8192427A JP 19242796 A JP19242796 A JP 19242796A JP H1040071 A JPH1040071 A JP H1040071A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- arithmetic
- delay
- storage unit
- delay time
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000003860 storage Methods 0.000 claims description 105
- 238000001514 detection method Methods 0.000 claims description 49
- 238000012795 verification Methods 0.000 claims description 44
- 230000001360 synchronised effect Effects 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 11
- 230000007423 decrease Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims 2
- 238000004519 manufacturing process Methods 0.000 abstract description 11
- 238000013461 design Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 230000000087 stabilizing effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000006641 stabilisation Effects 0.000 description 4
- 238000011105 stabilization Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/24—Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Information Transfer Systems (AREA)
Abstract
(57)【要約】
【課題】 製造プロセスのばらつきによる遅延時間のば
らつきに対しても高性能でかつ安定して動作するように
することである。 【解決手段】 所定の演算を行う少なくとも2つの演算
回路101、102と、これら演算回路に接続され、前
記演算回路の演算の終了を検出する少なくとも2つの終
了検出回路107、108と、これら検出回路の検出さ
れた演算終了信号を入力し、前記全ての演算回路の演算
の終了を検出する合成器109と、この合成器にて検出
された演算終了信号と同期したクロックを発生させる同
期クロック発生回路110と、を備え、この発生したク
ロックを用いて動作を行うようにしてある。
らつきに対しても高性能でかつ安定して動作するように
することである。 【解決手段】 所定の演算を行う少なくとも2つの演算
回路101、102と、これら演算回路に接続され、前
記演算回路の演算の終了を検出する少なくとも2つの終
了検出回路107、108と、これら検出回路の検出さ
れた演算終了信号を入力し、前記全ての演算回路の演算
の終了を検出する合成器109と、この合成器にて検出
された演算終了信号と同期したクロックを発生させる同
期クロック発生回路110と、を備え、この発生したク
ロックを用いて動作を行うようにしてある。
Description
【0001】
【発明の属する技術分野】本発明は、演算装置及びその
遅延時間制御方法に関し、特に、製造プロセスのばらつ
きによる遅延時間のばらつきに対しても高性能でかつ安
定して動作する演算装置及びその遅延時間制御方法に関
する。
遅延時間制御方法に関し、特に、製造プロセスのばらつ
きによる遅延時間のばらつきに対しても高性能でかつ安
定して動作する演算装置及びその遅延時間制御方法に関
する。
【0002】
【従来の技術】従来の自己同期型の集積回路の概要を図
12,図13を用いて説明する。ここでは、4相の自己
同期システムの回路を例に説明する。まず、はじめの状
態として、状態記憶部33にデータが有効となっている
とき、すなわち、演算回路(組み合わせ回路等を含む。
以下同じ)34へのデータが出力可能状態であるとす
る。
12,図13を用いて説明する。ここでは、4相の自己
同期システムの回路を例に説明する。まず、はじめの状
態として、状態記憶部33にデータが有効となっている
とき、すなわち、演算回路(組み合わせ回路等を含む。
以下同じ)34へのデータが出力可能状態であるとす
る。
【0003】状態記憶部35にデータの書き込みが終了
し、次のデータを受け入れる準備ができたことを前段の
状態記憶部33に知らせるために、信号Ack..n+
1を有効“H”にする。状態記憶部33は信号Ac
k..n+1が有効になったのを受けて、新しいデータ
を出力する。状態記憶部33から出力された新しいデー
タを入力として演算回路34により演算が行われ、ある
時間経過後に演算結果が確定する。状態記憶部35が前
記演算結果を保持する場合、演算が完了したことを状態
記憶部35に知らせる必要がある。
し、次のデータを受け入れる準備ができたことを前段の
状態記憶部33に知らせるために、信号Ack..n+
1を有効“H”にする。状態記憶部33は信号Ac
k..n+1が有効になったのを受けて、新しいデータ
を出力する。状態記憶部33から出力された新しいデー
タを入力として演算回路34により演算が行われ、ある
時間経過後に演算結果が確定する。状態記憶部35が前
記演算結果を保持する場合、演算が完了したことを状態
記憶部35に知らせる必要がある。
【0004】演算が完了したことを知らせる方法には、 (1)組み合わせ回路に演算完了を知らせる論理を付加
する。
する。
【0005】(2)組み合わせ回路を二重化し、一方の
結果をもとに要求信号をつくる。
結果をもとに要求信号をつくる。
【0006】(3)演算開始時に出力した信号に、演算
時間に相当しかつ次段の状態記憶部がデータを取り込め
るに十分な遅延を遅延回路によって付加するという方法
がある。
時間に相当しかつ次段の状態記憶部がデータを取り込め
るに十分な遅延を遅延回路によって付加するという方法
がある。
【0007】(1)の方法では、2線式論理をもちいて
演算が完了したことを検出する。通常の信号に、さらに
その反転論理を必要とするため、ハードウエアは2倍に
なる。また、(2)の方法でも、同一かそれ相当の演算
装置ハードウエアを必要とするため、これも2倍以上に
増大することは避けられない。
演算が完了したことを検出する。通常の信号に、さらに
その反転論理を必要とするため、ハードウエアは2倍に
なる。また、(2)の方法でも、同一かそれ相当の演算
装置ハードウエアを必要とするため、これも2倍以上に
増大することは避けられない。
【0008】(3)の方法はmatched delay 方式と呼ば
れるもので、この方法では、組み合わせ回路の遅延に相
当する遅延をインバータチェーンのような遅延回路によ
り与えることができ、ハードウエアのコストの増加は少
なくて済むという利点がある。
れるもので、この方法では、組み合わせ回路の遅延に相
当する遅延をインバータチェーンのような遅延回路によ
り与えることができ、ハードウエアのコストの増加は少
なくて済むという利点がある。
【0009】ここでは(3)の方法を説明する。すなわ
ち、状態記憶部nが新しいデータを出力するとき、同時
に要求信号Req.n+1を出力する。要求信号Re
q.n+1には遅延回路36によって遅延が与えられ
る。その遅延時間の下限は演算回路34における演算時
間と等しい時間となる。前記要求信号Req.n+1に
遅延を与えられた遅延要求信号dReq.n+1が有効
になった時点で、状態記憶部35は演算結果の保持が完
了した段階で応答信号Ack.n+1を状態記憶部33
に返す。
ち、状態記憶部nが新しいデータを出力するとき、同時
に要求信号Req.n+1を出力する。要求信号Re
q.n+1には遅延回路36によって遅延が与えられ
る。その遅延時間の下限は演算回路34における演算時
間と等しい時間となる。前記要求信号Req.n+1に
遅延を与えられた遅延要求信号dReq.n+1が有効
になった時点で、状態記憶部35は演算結果の保持が完
了した段階で応答信号Ack.n+1を状態記憶部33
に返す。
【0010】このようにして、従来から自己同期型の演
算装置においては、遅延回路36を付加することにより
演算を行っていた。
算装置においては、遅延回路36を付加することにより
演算を行っていた。
【0011】
【発明が解決しようとする課題】しかしながら、大規模
な演算装置、特に大規模なLSIを高速度で動作させる
為には大きな設計上、製造上の問題が存在する。その最
大のものは、内部論理回路のトータル遅延(時間)であ
る。LSIの機能が複雑化し、規模が拡大して来ると、
論理的な経路(パス)を形成する論理ゲート段数が増
え、又経路の数や組み合わせ数も膨大になって来る。
な演算装置、特に大規模なLSIを高速度で動作させる
為には大きな設計上、製造上の問題が存在する。その最
大のものは、内部論理回路のトータル遅延(時間)であ
る。LSIの機能が複雑化し、規模が拡大して来ると、
論理的な経路(パス)を形成する論理ゲート段数が増
え、又経路の数や組み合わせ数も膨大になって来る。
【0012】通常の100Kゲート程度のLSIでも、
論理パスの数は数万から数十万本に及ぶ為、これらの経
路の遅延を設計段階で抜けなく正確に見積もる必要が生
じる。しかし、現状の技術では数十ゲートから成る各経
路の一本を正確に見積もるのに、最高速の計算機やワー
クステーションを用いても数分の計算実行時間を要する
ので、10万本の経路を確認するには数十万分つまり約
8000時間。10時間/日とすれば800日、220
日/年とすると3.5年も掛かってしまう。
論理パスの数は数万から数十万本に及ぶ為、これらの経
路の遅延を設計段階で抜けなく正確に見積もる必要が生
じる。しかし、現状の技術では数十ゲートから成る各経
路の一本を正確に見積もるのに、最高速の計算機やワー
クステーションを用いても数分の計算実行時間を要する
ので、10万本の経路を確認するには数十万分つまり約
8000時間。10時間/日とすれば800日、220
日/年とすると3.5年も掛かってしまう。
【0013】これでは、通常のLSI開発期間が1〜
1.5年と言われる現状でも、非現実的な所要時間であ
って、許容されるものでは無い。しかも今後更にLSI
の集積度、規模は大きくなる一方、要求開発期間は短く
なる事はあっても、長くなる事は望めない。
1.5年と言われる現状でも、非現実的な所要時間であ
って、許容されるものでは無い。しかも今後更にLSI
の集積度、規模は大きくなる一方、要求開発期間は短く
なる事はあっても、長くなる事は望めない。
【0014】更に、演算装置の設計は、計算機に依るシ
ミュレーションにより行うのが通常であるが、いかに完
全を期しても所詮は実際とのズレが必ず存在する。特に
最近は、LSIの集積度を上げる為もあって、微細化し
た素子が全面的に使用されるが、0.2や0.1μmレ
ベルの素子構造は、その加工がそもそも物理的極限に近
い事もあって、相対的な加工精度が十分に保証出来なく
なって来る。例えば10μmの素子で、相対精度5%を
保証するには、0.5μmの絶対精度で良いが、0.1
μmの素子で相対精度5%を保証するには、0.005
μmの絶対加工精度が要求されてしまう。
ミュレーションにより行うのが通常であるが、いかに完
全を期しても所詮は実際とのズレが必ず存在する。特に
最近は、LSIの集積度を上げる為もあって、微細化し
た素子が全面的に使用されるが、0.2や0.1μmレ
ベルの素子構造は、その加工がそもそも物理的極限に近
い事もあって、相対的な加工精度が十分に保証出来なく
なって来る。例えば10μmの素子で、相対精度5%を
保証するには、0.5μmの絶対精度で良いが、0.1
μmの素子で相対精度5%を保証するには、0.005
μmの絶対加工精度が要求されてしまう。
【0015】これは先ず不可能なので、取りあえず0.
05μmの加工精度で素子を作ったとすると、その素子
の寸法精度は50%と極めて粗いものとなる。MOSや
CMOSの場合は、素子の電気特性がほぼ物理寸法に依
存するので、電気的な精度が50%となってしまい、上
述した遅延時間等も同様に50%のバラツキが生じてし
まう。
05μmの加工精度で素子を作ったとすると、その素子
の寸法精度は50%と極めて粗いものとなる。MOSや
CMOSの場合は、素子の電気特性がほぼ物理寸法に依
存するので、電気的な精度が50%となってしまい、上
述した遅延時間等も同様に50%のバラツキが生じてし
まう。
【0016】この事は、例えば、上記の遅延時間を設計
センター値で5.50ns等と精度を求めても、実際の
チップ上では2.75nsから8.25ns迄広範囲に
バラつく事になってしまい、シミュレーションの意味も
殆ど無くなってしまう。
センター値で5.50ns等と精度を求めても、実際の
チップ上では2.75nsから8.25ns迄広範囲に
バラつく事になってしまい、シミュレーションの意味も
殆ど無くなってしまう。
【0017】実際にも+−15から20%の特性誤差は
日常的である。この様にある意味では、相対的精度が下
降して来る(悪くなる)状況に於いて、各部分の性能バ
ランスを精密に調整し、結果的にLSI全体として非常
に高い性能を実現する事は、設計的に容易な事では無
い。
日常的である。この様にある意味では、相対的精度が下
降して来る(悪くなる)状況に於いて、各部分の性能バ
ランスを精密に調整し、結果的にLSI全体として非常
に高い性能を実現する事は、設計的に容易な事では無
い。
【0018】最近発達して来たCAD技術を以てして
も、大規模で、複雑な回路をLSI上に構成する事には
有効であるが、その性能を保証したり、高い性能を実現
する目的には殆ど無力である。
も、大規模で、複雑な回路をLSI上に構成する事には
有効であるが、その性能を保証したり、高い性能を実現
する目的には殆ど無力である。
【0019】例えばCMOSの素子特性が+−50%の
物を使って、トータル性能の幅が+−10%のLSIを
設計する事は非常に難しいし、CADでは不可能と言っ
てよい。
物を使って、トータル性能の幅が+−10%のLSIを
設計する事は非常に難しいし、CADでは不可能と言っ
てよい。
【0020】さらに、上述の従来例においては、組み合
わせ回路の演算時間に相当する遅延をインバータチェー
ンのような遅延回路により与える場合、LSIのプロセ
スのばらつきにより遅延時間がばらつく可能性がある。
そのため、安定な動作を保証するためには遅延回路の与
える遅延時間に、ある程度のマージンを必要とする。す
なわち、LSIの温度変動、電源変動により、上記遅延
時間が許容限度よりも短くなるとシステムが安定動作し
なくなるので、設計時から遅延時間に十分なマージンを
考慮せねばならず、このことが動作性能の向上の妨げと
なっていた。
わせ回路の演算時間に相当する遅延をインバータチェー
ンのような遅延回路により与える場合、LSIのプロセ
スのばらつきにより遅延時間がばらつく可能性がある。
そのため、安定な動作を保証するためには遅延回路の与
える遅延時間に、ある程度のマージンを必要とする。す
なわち、LSIの温度変動、電源変動により、上記遅延
時間が許容限度よりも短くなるとシステムが安定動作し
なくなるので、設計時から遅延時間に十分なマージンを
考慮せねばならず、このことが動作性能の向上の妨げと
なっていた。
【0021】本発明の目的は、上記課題を解消し、製造
プロセスのばらつきによる遅延時間のばらつきに対して
も高性能でかつ安定して動作する演算装置及びその遅延
時間制御方法を提供することにある。
プロセスのばらつきによる遅延時間のばらつきに対して
も高性能でかつ安定して動作する演算装置及びその遅延
時間制御方法を提供することにある。
【0022】
【課題を解決するための手段】回路の高速化には、非同
期回路が有効な事は知られており、現に素子の性能が不
十分であった計算機設計の初期に、非同期制御に依る計
算機は、数多く開発された。しかし、初期の非同期方式
は、全体のクロックを使わぬ方向であり、その上特に演
算処理の順序を正確に再現する必要がある為に、内部の
処理手順に従って制御を厳密に行う必要があるので、非
常に制御が複雑であり設計や虫取り作業が大変であっ
た。
期回路が有効な事は知られており、現に素子の性能が不
十分であった計算機設計の初期に、非同期制御に依る計
算機は、数多く開発された。しかし、初期の非同期方式
は、全体のクロックを使わぬ方向であり、その上特に演
算処理の順序を正確に再現する必要がある為に、内部の
処理手順に従って制御を厳密に行う必要があるので、非
常に制御が複雑であり設計や虫取り作業が大変であっ
た。
【0023】更に従来は、各部分の動作速度が非常にバ
ラついていた為、例え一部分にせよ、ある固定のクロッ
クに同期させる事は、同期外れの危険を伴い、これを避
けると大幅な余裕度をとる必要があった。
ラついていた為、例え一部分にせよ、ある固定のクロッ
クに同期させる事は、同期外れの危険を伴い、これを避
けると大幅な余裕度をとる必要があった。
【0024】最近、LSIの進展により、LSIチップ
内部の各部の相対的速度は、かなりの精度で把握、制御
出来るようになった。この為、1つのチップ内部で、統
一したクロックを設定してこれを使う事自体は技術的に
可能である。
内部の各部の相対的速度は、かなりの精度で把握、制御
出来るようになった。この為、1つのチップ内部で、統
一したクロックを設定してこれを使う事自体は技術的に
可能である。
【0025】しかし、チップ内の相対的速度は制御出来
ても、チップ内部回路の絶対的速度/遅延を規定する事
は非常に難しい事から、実際はこのクロックをどう(ど
の周波数に)設定するか?が大きな問題である。
ても、チップ内部回路の絶対的速度/遅延を規定する事
は非常に難しい事から、実際はこのクロックをどう(ど
の周波数に)設定するか?が大きな問題である。
【0026】つまり、LSI内部の各ブロックの速度を
A×10-9秒(Ans)+−5%に設計する事は比較的易
しいが、このAnsの値を結果的に狭い幅に制御する事は
至難である。このAnsの値を、外部から一律に設定する
のでは、大きな余裕が必要である。
A×10-9秒(Ans)+−5%に設計する事は比較的易
しいが、このAnsの値を結果的に狭い幅に制御する事は
至難である。このAnsの値を、外部から一律に設定する
のでは、大きな余裕が必要である。
【0027】以上のような考察から、本発明の発明者
は、上記目的を達成するために慎重な研究を重ねた結
果、以下のような発明をすることができた。
は、上記目的を達成するために慎重な研究を重ねた結
果、以下のような発明をすることができた。
【0028】請求項1の発明は、所定の演算を行う演算
回路と、この演算回路の演算の終了を検出する終了検出
回路と、この終了検出回路にて検出された演算終了信号
と同期したクロックを発生させる同期クロック発生回路
と、を備え、この発生したクロックを用いて動作を行う
ことを特徴とする。
回路と、この演算回路の演算の終了を検出する終了検出
回路と、この終了検出回路にて検出された演算終了信号
と同期したクロックを発生させる同期クロック発生回路
と、を備え、この発生したクロックを用いて動作を行う
ことを特徴とする。
【0029】請求項2の発明は、所定の演算を行う少な
くとも2つの演算回路と、これら演算回路に接続され、
前記演算回路の演算の終了を検出する少なくとも2つの
終了検出回路と、これら検出回路の検出された演算終了
信号を入力し、前記全ての演算回路の演算の終了を検出
する合成器と、この合成器にて検出された演算終了信号
と同期したクロックを発生させる同期クロック発生回路
と、を備え、この発生したクロックを用いて動作を行う
ことを特徴とする。
くとも2つの演算回路と、これら演算回路に接続され、
前記演算回路の演算の終了を検出する少なくとも2つの
終了検出回路と、これら検出回路の検出された演算終了
信号を入力し、前記全ての演算回路の演算の終了を検出
する合成器と、この合成器にて検出された演算終了信号
と同期したクロックを発生させる同期クロック発生回路
と、を備え、この発生したクロックを用いて動作を行う
ことを特徴とする。
【0030】請求項3の発明は、前記同期クロック発生
回路は、PLL形式の位相ロック回路で構成することを
特徴とする。
回路は、PLL形式の位相ロック回路で構成することを
特徴とする。
【0031】請求項4の発明は、前記合成器は論理積回
路で構成することを特徴とする。
路で構成することを特徴とする。
【0032】上記の発明では、LSI中を複数の動作ブ
ロックに分け、各々のブロックの動作の開始と終了とを
モニターする一種のフラグ(ロジック又はラッチ等)を
設け、この間の遅延を活用して(フィードバックして)
一定周波数の発振器を構成し、その発振周波数に同期し
たクロックを用いて、LSI内部の動作を制御するよう
にしてある。
ロックに分け、各々のブロックの動作の開始と終了とを
モニターする一種のフラグ(ロジック又はラッチ等)を
設け、この間の遅延を活用して(フィードバックして)
一定周波数の発振器を構成し、その発振周波数に同期し
たクロックを用いて、LSI内部の動作を制御するよう
にしてある。
【0033】従って、上記発明では各LSIチップの実
力(速度)に合わせて、最適な内部クロック周期を選ぶ
事になる為、不必要なマージンを取る必要が無く、必要
以上に遅いクロックを設定する必要は無くなる。更に、
実際の動作に合わせて、動的に行われるので、例えば、
LSIの経時変化や、温度、電源電圧等の環境変化に対
しても、常に最適の値を自動的に捜して設定するのでフ
レクシブルに即応出来る。
力(速度)に合わせて、最適な内部クロック周期を選ぶ
事になる為、不必要なマージンを取る必要が無く、必要
以上に遅いクロックを設定する必要は無くなる。更に、
実際の動作に合わせて、動的に行われるので、例えば、
LSIの経時変化や、温度、電源電圧等の環境変化に対
しても、常に最適の値を自動的に捜して設定するのでフ
レクシブルに即応出来る。
【0034】また、上記目的を達成するため、請求項5
の発明は、データを保持する第1の状態記憶部と、この
第1の状態記憶部が保持するデータを入力し、所定の演
算を行う演算回路と、この演算回路の演算結果を保持す
る第2の状態記憶部と、を備えた演算装置において、前
記演算回路が前記データを入力してから出力するまでの
遅延時間を測定するための検証データを前記第1の状態
記憶部に出力する検証データ記憶部と、前記演算回路が
前記検証データの演算の遅延時間により、前記第1の状
態記憶部が出力する要求信号に所定の遅延を付加して前
記第2の状態記憶部に出力する遅延回路ブロックと、を
備えることを特徴とする。
の発明は、データを保持する第1の状態記憶部と、この
第1の状態記憶部が保持するデータを入力し、所定の演
算を行う演算回路と、この演算回路の演算結果を保持す
る第2の状態記憶部と、を備えた演算装置において、前
記演算回路が前記データを入力してから出力するまでの
遅延時間を測定するための検証データを前記第1の状態
記憶部に出力する検証データ記憶部と、前記演算回路が
前記検証データの演算の遅延時間により、前記第1の状
態記憶部が出力する要求信号に所定の遅延を付加して前
記第2の状態記憶部に出力する遅延回路ブロックと、を
備えることを特徴とする。
【0035】請求項6の発明は、前記演算時間制御部
は、前記遅延時間比較器の出力結果をもとに前記遅延回
路の遅延時間を負帰還制御を行うことを特徴とする。
は、前記遅延時間比較器の出力結果をもとに前記遅延回
路の遅延時間を負帰還制御を行うことを特徴とする。
【0036】請求項7の発明は、前記検証データ記憶部
は、電源投入時の初期化動作時、若しくは、キャッシュ
メモリのミスヒット時に前記検証データの出力を行うよ
うにすることを特徴とする。
は、電源投入時の初期化動作時、若しくは、キャッシュ
メモリのミスヒット時に前記検証データの出力を行うよ
うにすることを特徴とする。
【0037】請求項8の発明は、前記演算時間制御部
は、前記遅延時間比較器の出力結果をもとに前記遅延回
路の遅延時間を増加させるか否かの判断を行い前記遅延
時間の制御を行うことを特徴とする。
は、前記遅延時間比較器の出力結果をもとに前記遅延回
路の遅延時間を増加させるか否かの判断を行い前記遅延
時間の制御を行うことを特徴とする。
【0038】請求項9の発明は、前記演算時間制御部
は、演算回路を使用しない命令実行時に前記検証データ
の出力を行うようにすることを特徴とする。
は、演算回路を使用しない命令実行時に前記検証データ
の出力を行うようにすることを特徴とする。
【0039】請求項10の発明は、前記遅延回路ブロッ
クは、前記第1の状態記憶部から前記演算回路の要求信
号に所定の遅延を付加して前記第2の状態記憶部に出力
する遅延回路と、前記演算回路が前記検証データの演算
を行った演算結果により演算終了を検出する演算終了検
出回路と、この演算終了検出回路から出力された演算終
了検出信号と前記遅延回路から出力された信号の遅延要
求信号との時間的順序を判別し、遅延調整信号を出力す
る遅延時間比較器と、前記遅延調整信号により前記遅延
回路の遅延時間の変更を行う遅延時間制御部と、を備え
ることを特徴とする。
クは、前記第1の状態記憶部から前記演算回路の要求信
号に所定の遅延を付加して前記第2の状態記憶部に出力
する遅延回路と、前記演算回路が前記検証データの演算
を行った演算結果により演算終了を検出する演算終了検
出回路と、この演算終了検出回路から出力された演算終
了検出信号と前記遅延回路から出力された信号の遅延要
求信号との時間的順序を判別し、遅延調整信号を出力す
る遅延時間比較器と、前記遅延調整信号により前記遅延
回路の遅延時間の変更を行う遅延時間制御部と、を備え
ることを特徴とする。
【0040】請求項11の発明は、前記遅延回路ブロッ
クは、前記第1の状態記憶部から前記演算回路の要求信
号に所定の遅延を付加して前記第2の状態記憶部に出力
する遅延回路と、前記演算回路が前記検証データの演算
を行った演算結果により演算終了を検出する演算終了検
出回路と、この演算終了検出回路から出力された演算終
了検出信号と前記遅延回路から出力された信号の遅延要
求信号との時間的順序を判別し、遅延調整信号を出力す
る遅延時間比較器と、前記遅延調整信号によりその値の
増減を行うカウンタと、このカウンタの値を保持する遅
延時間記憶部と、この遅延時間記憶部に保持された値に
より電流の値を制御して発生させる制御電流発生回路
と、を備え、前記制御電流発生回路にて発生した電流に
より前記遅延回路の遅延を変化させるようにすることを
特徴とする。
クは、前記第1の状態記憶部から前記演算回路の要求信
号に所定の遅延を付加して前記第2の状態記憶部に出力
する遅延回路と、前記演算回路が前記検証データの演算
を行った演算結果により演算終了を検出する演算終了検
出回路と、この演算終了検出回路から出力された演算終
了検出信号と前記遅延回路から出力された信号の遅延要
求信号との時間的順序を判別し、遅延調整信号を出力す
る遅延時間比較器と、前記遅延調整信号によりその値の
増減を行うカウンタと、このカウンタの値を保持する遅
延時間記憶部と、この遅延時間記憶部に保持された値に
より電流の値を制御して発生させる制御電流発生回路
と、を備え、前記制御電流発生回路にて発生した電流に
より前記遅延回路の遅延を変化させるようにすることを
特徴とする。
【0041】請求項12の発明は、前記制御電流発生回
路は、カレントミラー回路で構成され、この回路におけ
るトランジスタの大きさの比を変化させることを特徴と
する。
路は、カレントミラー回路で構成され、この回路におけ
るトランジスタの大きさの比を変化させることを特徴と
する。
【0042】請求項13の発明は、前記遅延時間比較器
は、前記演算終了検出信号と前記遅延要求信号との時間
的順序を判別し、前記要求信号に与えられる遅延時間が
演算終了に要する時間に比べて短く、かつ、その差が許
容量を越えている場合には前記遅延回路が与える遅延時
間を初期状態にすることを特徴とする。
は、前記演算終了検出信号と前記遅延要求信号との時間
的順序を判別し、前記要求信号に与えられる遅延時間が
演算終了に要する時間に比べて短く、かつ、その差が許
容量を越えている場合には前記遅延回路が与える遅延時
間を初期状態にすることを特徴とする。
【0043】上記のような構成により、検証データ記憶
部が出力する演算完了時刻が検出可能な検証データを入
力データとし、前記データをもとに演算を行い、その演
算結果が期待値に一致したとき、演算完了検出回路がこ
れを検出し演算完了検出信号を出力する。遅延時間比較
回路は、演算完了検出信号と遅延回路が出力する遅延要
求信号との間の到達時間の差を比較し、演算完了検出信
号の到達が早い場合には、上記遅延回路が要求信号に与
える遅延時間を短くし、演算完了検出信号の到達が遅い
場合には、上記遅延回路の遅延時間を長くする。
部が出力する演算完了時刻が検出可能な検証データを入
力データとし、前記データをもとに演算を行い、その演
算結果が期待値に一致したとき、演算完了検出回路がこ
れを検出し演算完了検出信号を出力する。遅延時間比較
回路は、演算完了検出信号と遅延回路が出力する遅延要
求信号との間の到達時間の差を比較し、演算完了検出信
号の到達が早い場合には、上記遅延回路が要求信号に与
える遅延時間を短くし、演算完了検出信号の到達が遅い
場合には、上記遅延回路の遅延時間を長くする。
【0044】システムが動作状態にあるときには、演算
器を使用しない命令を実行しようとする場合において、
演算終了時を検知できる検証データを演算器への入力デ
ータとし前記データをもとに演算を行い、その演算結果
より期待値に一致したとき、演算完了検出回路がこれを
検出し演算完了検出信号を出力する。遅延時間比較回路
は、演算完了検出信号と、遅延回路の出力する遅延要求
信号との間の到達時間の差を比較し、演算完了検出信号
の到達が遅い場合にのみ、上記遅延回路が要求信号に与
える遅延時間を長くし、上記演算完了検出信号の到達が
著しく遅い場合には上記遅延回路の遅延時間を初期状態
にし、さらに例外処理要求信号を出力する。このように
遅延回路における遅延時間を監視し、動作の安定化に必
要最小限の遅延時間を確保することを保証することがで
きるのである。
器を使用しない命令を実行しようとする場合において、
演算終了時を検知できる検証データを演算器への入力デ
ータとし前記データをもとに演算を行い、その演算結果
より期待値に一致したとき、演算完了検出回路がこれを
検出し演算完了検出信号を出力する。遅延時間比較回路
は、演算完了検出信号と、遅延回路の出力する遅延要求
信号との間の到達時間の差を比較し、演算完了検出信号
の到達が遅い場合にのみ、上記遅延回路が要求信号に与
える遅延時間を長くし、上記演算完了検出信号の到達が
著しく遅い場合には上記遅延回路の遅延時間を初期状態
にし、さらに例外処理要求信号を出力する。このように
遅延回路における遅延時間を監視し、動作の安定化に必
要最小限の遅延時間を確保することを保証することがで
きるのである。
【0045】以下は演算装置の遅延制御方法に係る発明
である。請求項14の発明は、所定の演算を行う少なく
とも2つの演算回路を備えた演算装置の遅延時間の制御
方法において、これら演算回路に接続され、前記演算回
路の演算の終了を検出し、検出された演算終了信号を入
力し、前記全ての演算回路の演算の終了を検出し、この
検出された演算終了信号と同期したクロックを発生さ
せ、この発生したクロックを用いて前記演算装置の動作
をさせることを特徴とする。
である。請求項14の発明は、所定の演算を行う少なく
とも2つの演算回路を備えた演算装置の遅延時間の制御
方法において、これら演算回路に接続され、前記演算回
路の演算の終了を検出し、検出された演算終了信号を入
力し、前記全ての演算回路の演算の終了を検出し、この
検出された演算終了信号と同期したクロックを発生さ
せ、この発生したクロックを用いて前記演算装置の動作
をさせることを特徴とする。
【0046】請求項15の発明は、データを保持する第
1の状態記憶部と、この第1の状態記憶部が保持するデ
ータを入力し、所定の演算を行う演算回路と、この演算
回路の演算結果を保持する第2の状態記憶部と、を備え
た演算装置の遅延時間の制御方法において、前記演算回
路が前記データを入力してから出力するまでの遅延時間
を測定するための検証データを前記第1の状態記憶部に
入力し、前記演算回路が行う前記検証データの演算の時
間により前記第1の状態記憶部が出力する要求信号に所
定の遅延を付加して前記第2の状態記憶部に出力するこ
とを特徴とする。
1の状態記憶部と、この第1の状態記憶部が保持するデ
ータを入力し、所定の演算を行う演算回路と、この演算
回路の演算結果を保持する第2の状態記憶部と、を備え
た演算装置の遅延時間の制御方法において、前記演算回
路が前記データを入力してから出力するまでの遅延時間
を測定するための検証データを前記第1の状態記憶部に
入力し、前記演算回路が行う前記検証データの演算の時
間により前記第1の状態記憶部が出力する要求信号に所
定の遅延を付加して前記第2の状態記憶部に出力するこ
とを特徴とする。
【0047】請求項16の発明は、前記演算回路の要求
信号に所定の遅延を付加して前記第2の状態記憶部に出
力する際に、前記演算回路が前記検証データの演算を行
った演算結果により演算終了を検出し、検出された演算
終了信号と前記遅延回路から出力された信号の遅延要求
信号との時間的順序を判別し、この判別により遅延時間
の変更を行うことを特徴とする。
信号に所定の遅延を付加して前記第2の状態記憶部に出
力する際に、前記演算回路が前記検証データの演算を行
った演算結果により演算終了を検出し、検出された演算
終了信号と前記遅延回路から出力された信号の遅延要求
信号との時間的順序を判別し、この判別により遅延時間
の変更を行うことを特徴とする。
【0048】請求項17の発明は、前記検証データを前
記第1の状態記憶部への入力を、電源投入時の初期化動
作時、若しくは、キャッシュメモリのミスヒット時に行
うことを特徴とする。
記第1の状態記憶部への入力を、電源投入時の初期化動
作時、若しくは、キャッシュメモリのミスヒット時に行
うことを特徴とする。
【0049】請求項18の発明は、前記検証データを前
記第1の状態記憶部への入力を、前記演算回路を使用し
ない命令実行時に検証データの出力を行うことを特徴と
する。
記第1の状態記憶部への入力を、前記演算回路を使用し
ない命令実行時に検証データの出力を行うことを特徴と
する。
【0050】
【発明の実施の形態】本発明に係る演算装置及びその遅
延時間制御方法の実施形態について図面を参照しながら
詳細に説明する。
延時間制御方法の実施形態について図面を参照しながら
詳細に説明する。
【0051】第1の実施形態 本実施形態の演算装置を図1に示す。所定の演算を行う
2つの演算回路101、102と、これら演算回路10
1、102に接続され、演算回路の演算の終了を検出す
る2つの終了検出回路107、108と、これら検出回
路107、108の検出された演算終了信号を入力し、
全ての演算回路の演算の終了を検出する合成器109
と、この合成器109にて検出された演算終了信号と同
期したクロックを発生させる同期クロック発生回路11
0と、を備え、この発生したクロックを用いて動作を行
うようにしてある。
2つの演算回路101、102と、これら演算回路10
1、102に接続され、演算回路の演算の終了を検出す
る2つの終了検出回路107、108と、これら検出回
路107、108の検出された演算終了信号を入力し、
全ての演算回路の演算の終了を検出する合成器109
と、この合成器109にて検出された演算終了信号と同
期したクロックを発生させる同期クロック発生回路11
0と、を備え、この発生したクロックを用いて動作を行
うようにしてある。
【0052】本実施形態では中央演算器(ALU)と除
算器を例に説明する。この演算装置を設計するに当た
り、前もってタイミングシミュレーションを詳細に実施
した結果、クリティカルパスが中央演算器の加算演算
と、専用に設計した除算器に在ることが判明している。
この為、ALUの加算器と、除算器に演算処理終了を検
出するためのフラグ(モニターフラグ)を設定するもの
とする。従って、演算装置に備わる全ての演算回路に設
定する必要はない。
算器を例に説明する。この演算装置を設計するに当た
り、前もってタイミングシミュレーションを詳細に実施
した結果、クリティカルパスが中央演算器の加算演算
と、専用に設計した除算器に在ることが判明している。
この為、ALUの加算器と、除算器に演算処理終了を検
出するためのフラグ(モニターフラグ)を設定するもの
とする。従って、演算装置に備わる全ての演算回路に設
定する必要はない。
【0053】終了検出回路107、108は従来のもの
でもよく、構成は詳しくは述べないが、例えば、処理出
力をP,P”の反転出力とし、初期プリチャージで、両
方を‘1’として置き、処理が終わると、どちらかの出
力端子は0となるので、出力同志の排他的論理和をとれ
ば、その結果が1に成った時点が、演算終了とすること
ができるので、この排他的論理和信号を演算の終了検出
信号としてもよい。
でもよく、構成は詳しくは述べないが、例えば、処理出
力をP,P”の反転出力とし、初期プリチャージで、両
方を‘1’として置き、処理が終わると、どちらかの出
力端子は0となるので、出力同志の排他的論理和をとれ
ば、その結果が1に成った時点が、演算終了とすること
ができるので、この排他的論理和信号を演算の終了検出
信号としてもよい。
【0054】このモニターを、上記加算器と除算器の両
方に設置し、その結果を例えば、AND回路に依って合
成し、総合モニターフラグを構成する。この総合モニタ
ーフラグに依って、このプロセッサの実質的クリティカ
ルパスがどの程度の遅延を有するかを検出することがで
きる。
方に設置し、その結果を例えば、AND回路に依って合
成し、総合モニターフラグを構成する。この総合モニタ
ーフラグに依って、このプロセッサの実質的クリティカ
ルパスがどの程度の遅延を有するかを検出することがで
きる。
【0055】この総合モニターフラグの出力を、クロッ
ク発生装置110に入力してこの演算終了信号と同期し
たクロックを発生させる。例えば、遅延回路の入力にフ
ィードバックするか、又は、遅延回路の出力との合成結
果を入力にフィードバックしてPLL形式の位相ロック
回路を構成する。
ク発生装置110に入力してこの演算終了信号と同期し
たクロックを発生させる。例えば、遅延回路の入力にフ
ィードバックするか、又は、遅延回路の出力との合成結
果を入力にフィードバックしてPLL形式の位相ロック
回路を構成する。
【0056】このPLL回路に依って、プロセッサのク
ロック周波数を規定すれば、個々のLSIの性能に密着
した最適な周波数を設定することになるので、個々のL
SI(プロセッサ)の性能実力を無駄にする事無く最高
性能を発揮させることが出来る。
ロック周波数を規定すれば、個々のLSIの性能に密着
した最適な周波数を設定することになるので、個々のL
SI(プロセッサ)の性能実力を無駄にする事無く最高
性能を発揮させることが出来る。
【0057】次に、本実施形態における演算装置のアー
キテクチュア設計であるが、最近一般的であるパイプラ
イン構成の設計の場合、命令や演算の種類、ましてや扱
うデータに依って処理時間が違う事実は仕方が無いにし
ても、その各々に合わせて、個々にパイプのサイクル時
間をバラバラに設定することは非現実的である。従っ
て、最小公倍数的な一元的サイクルタイムを設定し、そ
れを基準としてパイプライン全体の時間設計を行うのが
普通である。
キテクチュア設計であるが、最近一般的であるパイプラ
イン構成の設計の場合、命令や演算の種類、ましてや扱
うデータに依って処理時間が違う事実は仕方が無いにし
ても、その各々に合わせて、個々にパイプのサイクル時
間をバラバラに設定することは非現実的である。従っ
て、最小公倍数的な一元的サイクルタイムを設定し、そ
れを基準としてパイプライン全体の時間設計を行うのが
普通である。
【0058】言い換えれば、パイプライン構造は、ある
設定クロックを基準とした同期方式設計である。この部
分は、同じ高速をねらった非同期方式が、決まったクロ
ックを要しないのと対照的である。
設定クロックを基準とした同期方式設計である。この部
分は、同じ高速をねらった非同期方式が、決まったクロ
ックを要しないのと対照的である。
【0059】この為、パイプライン設計では、この共通
クロックを如何に的確に、無駄無い値に設定出来るか
が、トータル性能の確保に極めて重要である。
クロックを如何に的確に、無駄無い値に設定出来るか
が、トータル性能の確保に極めて重要である。
【0060】図2は本実施形態の演算装置の効果を示す
図である。本実施形態によれば、あらかじめ設定された
クリティカルパス上の実際の遅延を基準として、全体の
クロック周期を設定するので、製造上のバラツキ等も考
慮した個々の最適値に的確に合わせ込んで周期を設定出
来るし、無駄な設計上のマージンを取る必要も無くな
る。ここで、設計当初の設計中心値では各々ALUの加
算器の遅延が2.5ns、除算器が2.3nsであっ
た。
図である。本実施形態によれば、あらかじめ設定された
クリティカルパス上の実際の遅延を基準として、全体の
クロック周期を設定するので、製造上のバラツキ等も考
慮した個々の最適値に的確に合わせ込んで周期を設定出
来るし、無駄な設計上のマージンを取る必要も無くな
る。ここで、設計当初の設計中心値では各々ALUの加
算器の遅延が2.5ns、除算器が2.3nsであっ
た。
【0061】実際試作したLSIでの値は、試作ロット
の製造条件等で大きくバラツキ、前者(ALU)の遅延
が1.7〜2.8ns、後者のそれは1.5〜2.5n
sであった。この試作品を製品化すると、最悪値(この
場合ALUの2.8ns)に適当なマージン(30%)
を加味して3.65nsをサイクルタイムと設定するの
が常識的である。つまり、この場合プロセッサの動作周
波数は274MHzとなる。
の製造条件等で大きくバラツキ、前者(ALU)の遅延
が1.7〜2.8ns、後者のそれは1.5〜2.5n
sであった。この試作品を製品化すると、最悪値(この
場合ALUの2.8ns)に適当なマージン(30%)
を加味して3.65nsをサイクルタイムと設定するの
が常識的である。つまり、この場合プロセッサの動作周
波数は274MHzとなる。
【0062】一方、本実施形態における最も速いチップ
は1.7nsのサイクルで回るので、そのサイクルタイ
ムは1.7ns、動作周波数は588MHzが可能であ
る。すなわち、本方式と従来方式の設計では、結果とし
て得られた製品の性能が何と588/274=2.15
倍向上している。
は1.7nsのサイクルで回るので、そのサイクルタイ
ムは1.7ns、動作周波数は588MHzが可能であ
る。すなわち、本方式と従来方式の設計では、結果とし
て得られた製品の性能が何と588/274=2.15
倍向上している。
【0063】この性能比のもたらす効果の例として、速
度比が2倍のプロセッサの価格は約2倍であり、製造条
件のバラツキ等でいわゆる“玉石混交”の製品が出来る
ケースが多い場合は、従来方式では、高速で動くダイヤ
モンドも平均性能の石として、安い値段で売ってしまう
ことになり、ユーザーも真に高性能のチップを手にする
ことが困難になる。
度比が2倍のプロセッサの価格は約2倍であり、製造条
件のバラツキ等でいわゆる“玉石混交”の製品が出来る
ケースが多い場合は、従来方式では、高速で動くダイヤ
モンドも平均性能の石として、安い値段で売ってしまう
ことになり、ユーザーも真に高性能のチップを手にする
ことが困難になる。
【0064】上記の性能バラツキは、ほぼ同一条件の製
造ロット内の話であり、更にロット間や、製造機械差等
を見込めば、その差は更に大きく、3〜5倍の差になる
ことは常識的である。
造ロット内の話であり、更にロット間や、製造機械差等
を見込めば、その差は更に大きく、3〜5倍の差になる
ことは常識的である。
【0065】本実施形態によって、LSIはそのチップ
自体の性能にピッタリ合ったクロックをその都度使う事
になるので、常に自己最高の性能/速度を実現する事が
出来る。また、本実施形態は、そのモニターフラグの位
置を選ぶ事に依って、人為的に実際のチップ内処理速度
よりも速い自己クロックを設定する事が出来る。例え
ば、チップの実力で、最も遅いパス(クリティカルパ
ス)の遅延が最悪ケースで13nsとすると、一般的に
は、全体のクロックは14から15nsに設定される
が、本実施形態ではこのような場合、モニターフラグの
位置を最悪パスから外す事で、13ns若しくはこれよ
りも速い10nsにクロック間隔を設定する事が可能で
ある。この場合の改善度は66%ともなる。
自体の性能にピッタリ合ったクロックをその都度使う事
になるので、常に自己最高の性能/速度を実現する事が
出来る。また、本実施形態は、そのモニターフラグの位
置を選ぶ事に依って、人為的に実際のチップ内処理速度
よりも速い自己クロックを設定する事が出来る。例え
ば、チップの実力で、最も遅いパス(クリティカルパ
ス)の遅延が最悪ケースで13nsとすると、一般的に
は、全体のクロックは14から15nsに設定される
が、本実施形態ではこのような場合、モニターフラグの
位置を最悪パスから外す事で、13ns若しくはこれよ
りも速い10nsにクロック間隔を設定する事が可能で
ある。この場合の改善度は66%ともなる。
【0066】この場合には、クロックに間に合わない部
分の処理は、次のクロック期間にはみ出して実行される
が、その実行が終わるのを待つ必要がある処理は、その
終了フラグを監視していて、そのフラグの立った(終了
した)次のクロックから動作を開始するよう制御され
る。
分の処理は、次のクロック期間にはみ出して実行される
が、その実行が終わるのを待つ必要がある処理は、その
終了フラグを監視していて、そのフラグの立った(終了
した)次のクロックから動作を開始するよう制御され
る。
【0067】このように本実施形態では、外部から与え
るクロックで動作が決まるのではなく、実際に製造した
LSIからその性能を決定する。すなわち、複数の演算
回路の中で最も遅い演算回路にて性能を決定するように
してある。この決定は、設計時に最も遅い演算回路を特
定せずに、実際に製造したLSIに最適なクロックを与
えるようにして決定するものである。このように、クロ
ックの設置を動的かつフレクシブルにすることで、非同
期回路のような複雑な構成を用いなくても若干のハード
ウエアの増加で非道器回路に匹敵するような性能を得る
ことができる。
るクロックで動作が決まるのではなく、実際に製造した
LSIからその性能を決定する。すなわち、複数の演算
回路の中で最も遅い演算回路にて性能を決定するように
してある。この決定は、設計時に最も遅い演算回路を特
定せずに、実際に製造したLSIに最適なクロックを与
えるようにして決定するものである。このように、クロ
ックの設置を動的かつフレクシブルにすることで、非同
期回路のような複雑な構成を用いなくても若干のハード
ウエアの増加で非道器回路に匹敵するような性能を得る
ことができる。
【0068】第2の実施形態 次に、本発明に係る演算装置及びその遅延制御方法の第
2の実施形態を説明する。本実施形態は、自己同期回路
における遅延回路ブロック31が要求信号301に与え
る遅延時間の制御を行うようにしたものである。本実施
形態では、遅延時間の最適化とシステムの安定化と目的
として遅延時間を制御を行う。以下、これらの動作の概
要に関して説明する。
2の実施形態を説明する。本実施形態は、自己同期回路
における遅延回路ブロック31が要求信号301に与え
る遅延時間の制御を行うようにしたものである。本実施
形態では、遅延時間の最適化とシステムの安定化と目的
として遅延時間を制御を行う。以下、これらの動作の概
要に関して説明する。
【0069】[1]遅延時間の最適化 演算回路における演算時間に対する、要求信号に与えら
れる遅延時間の最適化を行うものである。以下、要求信
号に与えられる遅延時間の最適化の動作に関して、図3
を用いて説明する。本実施形態の演算装置は、データを
保持する状態記憶部33と、この状態記憶部33が保持
するデータ303を入力し、所定の演算を行う演算回路
34と、この演算回路34の演算結果304を保持する
状態記憶部35と、演算回路34がデータ303を入力
してから演算結果304を出力するまでの遅延時間を測
定するための検証データを状態記憶部33に出力する検
証データ記憶部32と、演算回路34が検証データの演
算の遅延時間により、状態記憶部33から演算器34の
演算開始信号301に所定の遅延を付加して状態記憶部
35に遅延演算開始信号302を出力する遅延回路ブロ
ック31と、を備えるものである。
れる遅延時間の最適化を行うものである。以下、要求信
号に与えられる遅延時間の最適化の動作に関して、図3
を用いて説明する。本実施形態の演算装置は、データを
保持する状態記憶部33と、この状態記憶部33が保持
するデータ303を入力し、所定の演算を行う演算回路
34と、この演算回路34の演算結果304を保持する
状態記憶部35と、演算回路34がデータ303を入力
してから演算結果304を出力するまでの遅延時間を測
定するための検証データを状態記憶部33に出力する検
証データ記憶部32と、演算回路34が検証データの演
算の遅延時間により、状態記憶部33から演算器34の
演算開始信号301に所定の遅延を付加して状態記憶部
35に遅延演算開始信号302を出力する遅延回路ブロ
ック31と、を備えるものである。
【0070】遅延時間の最適化を行う場合には、まず検
証データ記憶部32より検証用データが状態記憶部33
に送られる。そして、通常の動作状態の如く状態記憶部
33からデータ303、及び要求信号301が出力され
る。データ303は演算器34の入力データとなり、そ
の演算結果が出力のデータ304となり、次段の状態記
憶部35に送られる。遅延回路ブロック31は要求信号
301に遅延を与える。この遅延が与えられた要求信号
(以下、遅延要求信号と略す)302は、演算器からの
出力のデータ304が確定したことを前記状態記憶部3
5に知らせるものであり、前記状態記憶部35は遅延要
求信号302が“有効”になったのを受けて演算器から
の出力のデータ304記憶する。したがって、遅延回路
ブロック31が要求信号301に与える遅延時間は、演
算完了に必要な時間、すなわち、“上記演算器34に演
算入力データが投入されてから、演算が完了し演算結果
が確定するまでの時間”に等しくなるようにしなければ
ならない。
証データ記憶部32より検証用データが状態記憶部33
に送られる。そして、通常の動作状態の如く状態記憶部
33からデータ303、及び要求信号301が出力され
る。データ303は演算器34の入力データとなり、そ
の演算結果が出力のデータ304となり、次段の状態記
憶部35に送られる。遅延回路ブロック31は要求信号
301に遅延を与える。この遅延が与えられた要求信号
(以下、遅延要求信号と略す)302は、演算器からの
出力のデータ304が確定したことを前記状態記憶部3
5に知らせるものであり、前記状態記憶部35は遅延要
求信号302が“有効”になったのを受けて演算器から
の出力のデータ304記憶する。したがって、遅延回路
ブロック31が要求信号301に与える遅延時間は、演
算完了に必要な時間、すなわち、“上記演算器34に演
算入力データが投入されてから、演算が完了し演算結果
が確定するまでの時間”に等しくなるようにしなければ
ならない。
【0071】遅延時間の最適化では、正常な動作を確保
しつつ、性能を向上させることを目的としている。すな
わち、正常な動作を保証するためには、要求信号301
に与えられる遅延時間が演算完了に要する時間よりも短
くなってはならない。一方、要求信号301に与えられ
る遅延時間が演算完了に要する時間に比べて十分長い場
合には動作の安定は保証されるが、その時間差が大きい
とそれが余分な時間となり、その分性能は低下する。そ
のために、演算完了に要する時間と要求信号301に与
えられる遅延時間を比較し、その比較結果を遅延回路4
1が要求信号301に与える遅延時間に反映させ、遅延
時間を最適化させることが重要となる。尚、この最適化
のための動作は、システムの初期化時や、キャッシュメ
モリにデータをブロック転送しているときなど、演算回
路が長い期間にわたって未使用状態が持続するときに行
うようにしてもよい。また演算回路が未使用状態となる
ように、例えばタイマーを設定して所定間隔で割り込み
をかけるようにして、その割り込みの際に最適化のため
の動作を行うようにしてもよい。
しつつ、性能を向上させることを目的としている。すな
わち、正常な動作を保証するためには、要求信号301
に与えられる遅延時間が演算完了に要する時間よりも短
くなってはならない。一方、要求信号301に与えられ
る遅延時間が演算完了に要する時間に比べて十分長い場
合には動作の安定は保証されるが、その時間差が大きい
とそれが余分な時間となり、その分性能は低下する。そ
のために、演算完了に要する時間と要求信号301に与
えられる遅延時間を比較し、その比較結果を遅延回路4
1が要求信号301に与える遅延時間に反映させ、遅延
時間を最適化させることが重要となる。尚、この最適化
のための動作は、システムの初期化時や、キャッシュメ
モリにデータをブロック転送しているときなど、演算回
路が長い期間にわたって未使用状態が持続するときに行
うようにしてもよい。また演算回路が未使用状態となる
ように、例えばタイマーを設定して所定間隔で割り込み
をかけるようにして、その割り込みの際に最適化のため
の動作を行うようにしてもよい。
【0072】[2]システムの監視及び安定化(遅延時
間の監視) システムの動作中、LSIの温度変動や電源変動などの
外的要因により、演算完了に要する時間と要求信号30
1に与えられる遅延時間とのバランスが崩れることがあ
る。これら外的要因により要求信号301に与えられる
遅延時間が演算完了に要する時間に比べて短くなる場合
には、正常な動作が保証されなくなり、これがシステム
の不安定化を招く原因となる。そこで、要求信号301
に与えられる遅延時間が演算完了に要する時間に比べて
短くなった場合には、この要求信号301に与えられる
遅延時間を増加させることで、システムの安定化を確保
する必要がある。
間の監視) システムの動作中、LSIの温度変動や電源変動などの
外的要因により、演算完了に要する時間と要求信号30
1に与えられる遅延時間とのバランスが崩れることがあ
る。これら外的要因により要求信号301に与えられる
遅延時間が演算完了に要する時間に比べて短くなる場合
には、正常な動作が保証されなくなり、これがシステム
の不安定化を招く原因となる。そこで、要求信号301
に与えられる遅延時間が演算完了に要する時間に比べて
短くなった場合には、この要求信号301に与えられる
遅延時間を増加させることで、システムの安定化を確保
する必要がある。
【0073】システムの監視及び安定化のための動作
は、演算器34を使用しない命令(例えば、NOP命令
(non-operation命令))を実行するときに行われる。基本
的な動作は[1]の遅延時間の最適化と同様の手順で行
われる。すなわち、遅延回路42の遅延時間を検証する
ための、検証データを演算器34に投入し、要求信号3
01に与えられる遅延時間と演算完了に要する時間との
差を比較する。[1]の遅延時間の最適化の手順と異な
るのは、上記比較において要求信号301に与えられる
遅延時間が演算完了に要する時間に比べて短くなる場合
にのみ、遅延回路41が要求信号301に与える遅延時
間を増やす方向に負帰還をかけ、要求信号301に与え
られる遅延時間が演算完了に要する時間に比べて長い場
合には、遅延回路には負帰還をかけない点にある。さら
に、要求信号301に与えられる遅延時間が演算完了に
要する時間に比べて短く、かつその差が許容範囲を越え
ている場合には、例外処理要求信号INTRQ407を
出力するとともに遅延回路41が与える遅延時間を初期
状態にリセットする。これらの動作により、演算結果が
安定して出力されるのを待って(遅延の与えられた)要
求信号が到達するので次段の状態記憶部35には確実に
出力データを保持させることができ、システムの安定化
を保証される。さらに、温度変動や電源変動などの外的
要因により遅延回路41が与える遅延時間が演算完了に
要する時間に比べて著しく短くなった場合には、システ
ムを初期状態(遅延回路の遅延時間は最大値に近い値に
リセットされる。)に戻し、システムエラーを最小限に
抑えることができる。
は、演算器34を使用しない命令(例えば、NOP命令
(non-operation命令))を実行するときに行われる。基本
的な動作は[1]の遅延時間の最適化と同様の手順で行
われる。すなわち、遅延回路42の遅延時間を検証する
ための、検証データを演算器34に投入し、要求信号3
01に与えられる遅延時間と演算完了に要する時間との
差を比較する。[1]の遅延時間の最適化の手順と異な
るのは、上記比較において要求信号301に与えられる
遅延時間が演算完了に要する時間に比べて短くなる場合
にのみ、遅延回路41が要求信号301に与える遅延時
間を増やす方向に負帰還をかけ、要求信号301に与え
られる遅延時間が演算完了に要する時間に比べて長い場
合には、遅延回路には負帰還をかけない点にある。さら
に、要求信号301に与えられる遅延時間が演算完了に
要する時間に比べて短く、かつその差が許容範囲を越え
ている場合には、例外処理要求信号INTRQ407を
出力するとともに遅延回路41が与える遅延時間を初期
状態にリセットする。これらの動作により、演算結果が
安定して出力されるのを待って(遅延の与えられた)要
求信号が到達するので次段の状態記憶部35には確実に
出力データを保持させることができ、システムの安定化
を保証される。さらに、温度変動や電源変動などの外的
要因により遅延回路41が与える遅延時間が演算完了に
要する時間に比べて著しく短くなった場合には、システ
ムを初期状態(遅延回路の遅延時間は最大値に近い値に
リセットされる。)に戻し、システムエラーを最小限に
抑えることができる。
【0074】次に、遅延回路ブロック31の構成につい
て、図4を用いて説明する。図4の遅延回路ブロック3
1は、遅延回路41、制御電流発生回路42、遅延時間
比較器46、カウンタブロック45、第1の遅延時間記
憶部43、第2の遅延時間記憶部44より構成されてい
る。尚、図2には説明のために、演算回路34、状態記
憶部33、検証データ記憶部32をも示している。
て、図4を用いて説明する。図4の遅延回路ブロック3
1は、遅延回路41、制御電流発生回路42、遅延時間
比較器46、カウンタブロック45、第1の遅延時間記
憶部43、第2の遅延時間記憶部44より構成されてい
る。尚、図2には説明のために、演算回路34、状態記
憶部33、検証データ記憶部32をも示している。
【0075】遅延回路41は、制御電流によりその遅延
時間が制御可能な遅延回路である。制御電流発生回路4
2は、前記遅延回路41に与える制御電流を発生させ
る。
時間が制御可能な遅延回路である。制御電流発生回路4
2は、前記遅延回路41に与える制御電流を発生させ
る。
【0076】遅延時間比較器47は、演算完了検出信号
401と要求信号301に段階的に遅延を与えた3つの
遅延要求信号(dReq.−(408),dReq.0
(409),dReq.+(410))との時間的順序
関係を比較してカウンタインクリメント信号(UP40
5、DN406)を出力する。
401と要求信号301に段階的に遅延を与えた3つの
遅延要求信号(dReq.−(408),dReq.0
(409),dReq.+(410))との時間的順序
関係を比較してカウンタインクリメント信号(UP40
5、DN406)を出力する。
【0077】カウンタブロック45は、遅延時間比較器
46の2つの出力信号、UP405,DN406信号の
立ち上がりエッジより、カウントアップ、カウントダウ
ンを各々行う。モード選択信号411は、カウンタブロ
ック45の内容をもとに第1の遅延時間記憶部43及び
第2の遅延時間記憶部44の内容を更新させる方法を決
める。
46の2つの出力信号、UP405,DN406信号の
立ち上がりエッジより、カウントアップ、カウントダウ
ンを各々行う。モード選択信号411は、カウンタブロ
ック45の内容をもとに第1の遅延時間記憶部43及び
第2の遅延時間記憶部44の内容を更新させる方法を決
める。
【0078】図5は、遅延回路41の構成例である。遅
延回路41は遅延時間の制御が可能なインバータ51と
遅延時間固定のバッファ用インバータ52から構成され
ている。遅延時間の制御が可能なインバータ51は、ソ
ース側の両端をPMOS501とNMOS502の定電
流源に挟まれたインバータである。これらの定電流源
は、制御電流発生回路42が発生する電流Icntをカレ
ントミラー回路により定数倍し、制御電流Idlyとし
て、上記インバータ51に供給するものである。
延回路41は遅延時間の制御が可能なインバータ51と
遅延時間固定のバッファ用インバータ52から構成され
ている。遅延時間の制御が可能なインバータ51は、ソ
ース側の両端をPMOS501とNMOS502の定電
流源に挟まれたインバータである。これらの定電流源
は、制御電流発生回路42が発生する電流Icntをカレ
ントミラー回路により定数倍し、制御電流Idlyとし
て、上記インバータ51に供給するものである。
【0079】図6は、図5における遅延回路41に供給
される制御電流を決める制御電流発生部42の構成例を
示している。この制御電流発生部42では、バイアス発
生回路61が発生した一定のバイアス電流Ibias をカ
レントミラー回路により定数倍して電流Icntを発生さ
せる。バイアス発生回路42は通常、電源電圧変動や温
度変動に対しても安定な回路(例えば、バンドギャップ
レファレンス回路が典型的な例であり、この基本的な構
成は公知なため詳細は省略する。)が使用される。
される制御電流を決める制御電流発生部42の構成例を
示している。この制御電流発生部42では、バイアス発
生回路61が発生した一定のバイアス電流Ibias をカ
レントミラー回路により定数倍して電流Icntを発生さ
せる。バイアス発生回路42は通常、電源電圧変動や温
度変動に対しても安定な回路(例えば、バンドギャップ
レファレンス回路が典型的な例であり、この基本的な構
成は公知なため詳細は省略する。)が使用される。
【0080】図6を用いて制御電流の発生の方法につい
てその詳細を説明する。バイアス電流から制御電流を発
生させているのは、PMOS607,PMOS608,
NMOS620である。尚、PMOS601とPMOS
602は、直流パスカットのためにあり、RESET信
号640が“L”のとき直流パスがカットされる。PM
OS(603,604,605,606,609,61
0,611,612)とNMOS(621,622,6
23,624,625,626,627,628)はカ
レントミラー回路におけるミラー比を変える。そして、
Ibias からIcntのミラー比は、第1の遅延時間記憶部
43の内容より決まり、IcntからIdlyのミラー比は、
第2の遅延時間記憶部44の内容より決まる。
てその詳細を説明する。バイアス電流から制御電流を発
生させているのは、PMOS607,PMOS608,
NMOS620である。尚、PMOS601とPMOS
602は、直流パスカットのためにあり、RESET信
号640が“L”のとき直流パスがカットされる。PM
OS(603,604,605,606,609,61
0,611,612)とNMOS(621,622,6
23,624,625,626,627,628)はカ
レントミラー回路におけるミラー比を変える。そして、
Ibias からIcntのミラー比は、第1の遅延時間記憶部
43の内容より決まり、IcntからIdlyのミラー比は、
第2の遅延時間記憶部44の内容より決まる。
【0081】尚、図4の構成では、第1の遅延時間記憶
部43、第2の遅延時間記憶部44をともに4ビットの
レジスタとしている。第1の遅延時間記憶部43の出力
信号(p8,p4,p2,p1)のうち、“L”になっ
ている信号にゲートが接続しているPMOSがオンにな
る。一方、第2の遅延時間記憶部44の出力信号(n
1,n2,n3,n4)のうち、“H”になっている信
号にゲートが接続しているNMOSがオンになる。以上
のようにして、第1の遅延時間記憶部43と、第2の遅
延時間記憶部44の内容によりカレントミラーの比を変
え、制御電流Idlyを決める。
部43、第2の遅延時間記憶部44をともに4ビットの
レジスタとしている。第1の遅延時間記憶部43の出力
信号(p8,p4,p2,p1)のうち、“L”になっ
ている信号にゲートが接続しているPMOSがオンにな
る。一方、第2の遅延時間記憶部44の出力信号(n
1,n2,n3,n4)のうち、“H”になっている信
号にゲートが接続しているNMOSがオンになる。以上
のようにして、第1の遅延時間記憶部43と、第2の遅
延時間記憶部44の内容によりカレントミラーの比を変
え、制御電流Idlyを決める。
【0082】本発明では、[1]遅延時間の最適化、と
[2]システムの安定化、の2種類の動作があるが、こ
れら第1の遅延時間記憶部43と、第2の遅延時間記憶
部44とは、上記の動作に各々対応している。尚、初期
状態では、第1の遅延時間記憶部43は(“HHH
H”)、第2の遅延時間記憶部44は(“LLLL”)
である。
[2]システムの安定化、の2種類の動作があるが、こ
れら第1の遅延時間記憶部43と、第2の遅延時間記憶
部44とは、上記の動作に各々対応している。尚、初期
状態では、第1の遅延時間記憶部43は(“HHH
H”)、第2の遅延時間記憶部44は(“LLLL”)
である。
【0083】[1]遅延時間の最適化動作では、第1の
遅延時間記憶部43のみ、その内容更新される。尚、第
1の遅延時間記憶部43はPMOSのゲートに接続され
ているので、出力は保持する状態の反転した値である。
また、PMOSの大きさ(ゲート幅)の比を次のように
することにより、カレントミラーの比を広く設定でき
る。((603,609):(604,610):(6
05,611):(606,612)=8:4:2:
1)一方、[2]システムの安定化動作では、第2の遅
延時間記憶部44のみ、その内容が更新される。(ただ
し、第2の遅延時間記憶部がオーバフローした場合に
は、第1の遅延時間記憶部の値も変更する。)NMOS
の大きさ(ゲート幅)の比も同様に、(621,62
5):(622,626):(623,627):(6
24,628)=8:4:2:1としている。
遅延時間記憶部43のみ、その内容更新される。尚、第
1の遅延時間記憶部43はPMOSのゲートに接続され
ているので、出力は保持する状態の反転した値である。
また、PMOSの大きさ(ゲート幅)の比を次のように
することにより、カレントミラーの比を広く設定でき
る。((603,609):(604,610):(6
05,611):(606,612)=8:4:2:
1)一方、[2]システムの安定化動作では、第2の遅
延時間記憶部44のみ、その内容が更新される。(ただ
し、第2の遅延時間記憶部がオーバフローした場合に
は、第1の遅延時間記憶部の値も変更する。)NMOS
の大きさ(ゲート幅)の比も同様に、(621,62
5):(622,626):(623,627):(6
24,628)=8:4:2:1としている。
【0084】図7は、図4における遅延時間比較器41
の構成例である。図8は、図7における時間差判定部の
真理値表である。図9は信号dReq.−(408),
dReq.0(409),dReq.+(410)と演
算完了検出信号401のタイミング図である。
の構成例である。図8は、図7における時間差判定部の
真理値表である。図9は信号dReq.−(408),
dReq.0(409),dReq.+(410)と演
算完了検出信号401のタイミング図である。
【0085】図5に示すように、信号dReq.−(4
08),dReq.0(409),dReq.+(41
0)の間は、順に進むにつれてインバータ52の一段づ
つの遅延をもっている。演算完了検出信号と遅延要求信
号との遅延時間の差は、これら3つの信号dReq.−
(408),dReq.0(409),dReq.+
(410)に決められた4つの時間領域のうち、演算完
了検出信号が何れかの領域において出力されたかによっ
て判断される。
08),dReq.0(409),dReq.+(41
0)の間は、順に進むにつれてインバータ52の一段づ
つの遅延をもっている。演算完了検出信号と遅延要求信
号との遅延時間の差は、これら3つの信号dReq.−
(408),dReq.0(409),dReq.+
(410)に決められた4つの時間領域のうち、演算完
了検出信号が何れかの領域において出力されたかによっ
て判断される。
【0086】これらを判定するのがフリップフロップ
(71,72,73)である。ここで、フリップフロッ
プ71とフリップフロップ73は、立ち上がりエッジに
よる検出、フリップフロップ72は、立ち下がりエッジ
による検出を行う。尚、これらは信号dReq.−(4
08),dReq.0(409),dReq.+(41
0)間において、インバータ一段づつの遅延をもつこと
に対応している。フリップフロップ71,72,73に
より検出された時間差の状態は、時間差判定回路74に
より判定される。これは、フリップフロップからの出力
信号d−,d0,d+をもとに演算完了検出信号の到達
時間を判定する。
(71,72,73)である。ここで、フリップフロッ
プ71とフリップフロップ73は、立ち上がりエッジに
よる検出、フリップフロップ72は、立ち下がりエッジ
による検出を行う。尚、これらは信号dReq.−(4
08),dReq.0(409),dReq.+(41
0)間において、インバータ一段づつの遅延をもつこと
に対応している。フリップフロップ71,72,73に
より検出された時間差の状態は、時間差判定回路74に
より判定される。これは、フリップフロップからの出力
信号d−,d0,d+をもとに演算完了検出信号の到達
時間を判定する。
【0087】図6に示すように、dReq.−(40
8)よりも早く演算完了検出信号が出力されれば、遅延
回路41が与える遅延時間は長い“long”と判定さ
れ、dReq.−(408)よりも遅く、かつdRe
q.0(409)よりも早く演算完了検出信号が出力さ
れれば、遅延時間は適正である“OK”と判定され、d
Req.0(409)よりも遅く、かつdReq.+
(410)よりも早く演算完了検出信号が出力されれ
ば、遅延時間は短い“short”と判定される。も
し、dReq.+(410)よりも遅く演算完了検出信
号が出力されれば、遅延時間は極めて短い“too s
hort”と判定される。
8)よりも早く演算完了検出信号が出力されれば、遅延
回路41が与える遅延時間は長い“long”と判定さ
れ、dReq.−(408)よりも遅く、かつdRe
q.0(409)よりも早く演算完了検出信号が出力さ
れれば、遅延時間は適正である“OK”と判定され、d
Req.0(409)よりも遅く、かつdReq.+
(410)よりも早く演算完了検出信号が出力されれ
ば、遅延時間は短い“short”と判定される。も
し、dReq.+(410)よりも遅く演算完了検出信
号が出力されれば、遅延時間は極めて短い“too s
hort”と判定される。
【0088】次に、これらの判定結果に基づき、どのよ
うに[1]遅延時間の最適化と、[2]システムの安定
化の動作が行われるか説明する。
うに[1]遅延時間の最適化と、[2]システムの安定
化の動作が行われるか説明する。
【0089】図8は、時間差判定回路74がこれらの状
態を判定する際の真理値表を示している。これによれ
ば、[1]遅延時間の最適化動作においては、“lon
g”の場合DNを“H”にして、カウンタの内容を1つ
減らし、“short”及び“too short”の
場合には、UPを“H”にして、カウンタの内容を1つ
増やす。尚、“OK”の場合には、UP,DNとも
“L”のまま保持する。一方、[2]システムの安定化
動作においては、“long”及び“OK”の場合に
は、UP,DNとも“L”のまま保持し、“shor
t”の場合には、UPを“H”にして、カウンタ1の内
容を1つ増やす。“too short”の場合には、
システムが不安定になる可能性が高いので、例外処理要
求信号INTRQ407を“H”にする。尚、INTR
Q407により第1の遅延時間記憶部43は(“HHH
H”)に、第2の遅延時間記憶部44は(“LLL
L”)にリセットされ、遅延回路41の与える遅延時間
は初期状態になる。(尚、遅延時間が最大になるのはと
もに“HHHH”のときである。)また、フリップフロ
ップ71,72,73の初期状態は順に(“LHH”)
である。
態を判定する際の真理値表を示している。これによれ
ば、[1]遅延時間の最適化動作においては、“lon
g”の場合DNを“H”にして、カウンタの内容を1つ
減らし、“short”及び“too short”の
場合には、UPを“H”にして、カウンタの内容を1つ
増やす。尚、“OK”の場合には、UP,DNとも
“L”のまま保持する。一方、[2]システムの安定化
動作においては、“long”及び“OK”の場合に
は、UP,DNとも“L”のまま保持し、“shor
t”の場合には、UPを“H”にして、カウンタ1の内
容を1つ増やす。“too short”の場合には、
システムが不安定になる可能性が高いので、例外処理要
求信号INTRQ407を“H”にする。尚、INTR
Q407により第1の遅延時間記憶部43は(“HHH
H”)に、第2の遅延時間記憶部44は(“LLL
L”)にリセットされ、遅延回路41の与える遅延時間
は初期状態になる。(尚、遅延時間が最大になるのはと
もに“HHHH”のときである。)また、フリップフロ
ップ71,72,73の初期状態は順に(“LHH”)
である。
【0090】本実施形態では、dReq.−(40
8),dReq.0(409),dReq.+(41
0)の間にインバータ1段づつの遅延をつけたが、2段
以上の遅延差をつけることを否定するものではないこと
を付け加えておく。
8),dReq.0(409),dReq.+(41
0)の間にインバータ1段づつの遅延をつけたが、2段
以上の遅延差をつけることを否定するものではないこと
を付け加えておく。
【0091】図10はカウンタブロック45の構成であ
る。本実施形態では、モード選択信号411はビットの
制御信号である。上位2ビットは更新すべき遅延時間記
憶部の選択を行う。例えば、最上位ビットが“H”のと
き、第1の遅延時間記憶部43を変更し、上から2ビッ
ト目が“H”のときは第2の遅延時間記憶部44を変更
する。下位3ビットは、遅延時間記憶部のデータを+1
或いは−1とするときのしきい値をあらわす。例えば、
第1の遅延時間記憶部43の内容の更新について説明す
ると、下位3ビットが“LLH”の時には、カウンタが
+1になると第1の遅延時間記憶部43の内容を1つ減
らし、−1になると1つ増やす(すなわち、カウンタが
1つ増えるか1つ減る毎に)遅延時間記憶部のデータも
変更する。また下位3ビットが“HLL”の時には、カ
ウンタが+4になると第1の遅延時間記憶部43のデー
タを1つ減らし、カウンタが−4になると第1の遅延時
間記憶部のデータを1つ増やす。尚、第1の遅延時間記
憶部43はPMOSのゲートに接続しているので、その
出力は保持する状態のビット反転である。
る。本実施形態では、モード選択信号411はビットの
制御信号である。上位2ビットは更新すべき遅延時間記
憶部の選択を行う。例えば、最上位ビットが“H”のと
き、第1の遅延時間記憶部43を変更し、上から2ビッ
ト目が“H”のときは第2の遅延時間記憶部44を変更
する。下位3ビットは、遅延時間記憶部のデータを+1
或いは−1とするときのしきい値をあらわす。例えば、
第1の遅延時間記憶部43の内容の更新について説明す
ると、下位3ビットが“LLH”の時には、カウンタが
+1になると第1の遅延時間記憶部43の内容を1つ減
らし、−1になると1つ増やす(すなわち、カウンタが
1つ増えるか1つ減る毎に)遅延時間記憶部のデータも
変更する。また下位3ビットが“HLL”の時には、カ
ウンタが+4になると第1の遅延時間記憶部43のデー
タを1つ減らし、カウンタが−4になると第1の遅延時
間記憶部のデータを1つ増やす。尚、第1の遅延時間記
憶部43はPMOSのゲートに接続しているので、その
出力は保持する状態のビット反転である。
【0092】第2の遅延時間記憶部44では、下位3ビ
ットが“LLH”の時には、カウンタが+1になると1
つ増やす。もし、すべて“H”になった状態でさらに第
2の遅延時間記憶部44を1つ増やす動作が生じた(第
2の遅延時間記憶部44がオーバーフローするとき)と
きは、第1の遅延時間記憶部43の内容を1つ減らす。
ットが“LLH”の時には、カウンタが+1になると1
つ増やす。もし、すべて“H”になった状態でさらに第
2の遅延時間記憶部44を1つ増やす動作が生じた(第
2の遅延時間記憶部44がオーバーフローするとき)と
きは、第1の遅延時間記憶部43の内容を1つ減らす。
【0093】図11は、以上のように説明した本実施形
態における自己同期回路要求信号、遅延要求信号、及び
応答信号のタイミングを示したものである。
態における自己同期回路要求信号、遅延要求信号、及び
応答信号のタイミングを示したものである。
【0094】次に、遅延時間の制御を行うタイミングを
説明する。遅延時間の最適化はシステムが以下の2つの
何れかの状態の場合に行われる。
説明する。遅延時間の最適化はシステムが以下の2つの
何れかの状態の場合に行われる。
【0095】(1)システムが初期化されたとき パワーオンリセット時など、システムが初期化されると
き遅延時間の最適化を行うもので、自己同期回路すべて
の遅延回路41の遅延時間をここで決定する。
き遅延時間の最適化を行うもので、自己同期回路すべて
の遅延回路41の遅延時間をここで決定する。
【0096】(2)キャッシュミスが生じたとき メインメモリからキャッシュメモリにデータが転送され
るその一定の期間、演算回路は演算動作に関しては何も
できず空き状態になる。そこで、その期間を利用して遅
延回路41の最適化を行う。
るその一定の期間、演算回路は演算動作に関しては何も
できず空き状態になる。そこで、その期間を利用して遅
延回路41の最適化を行う。
【0097】一方、遅延時間の監視はシステムが以下の
状態のときに行われる。
状態のときに行われる。
【0098】(3)NOP(non operation命令)を実行
するとき パイプライン型のマイクロプロセッサでは、分岐命令や
メモリ(キャッシュメモリも含む)とのデータ転送命令
では、nop(non-operation命令)が挿入されることが
多い。この命令が実行されているときは、演算器が未使
用状態である。この演算器が未使用状態であるときに検
証用データを流し、遅延回路が与える遅延時間の長さを
監視する。
するとき パイプライン型のマイクロプロセッサでは、分岐命令や
メモリ(キャッシュメモリも含む)とのデータ転送命令
では、nop(non-operation命令)が挿入されることが
多い。この命令が実行されているときは、演算器が未使
用状態である。この演算器が未使用状態であるときに検
証用データを流し、遅延回路が与える遅延時間の長さを
監視する。
【0099】(4)その他、上記のようなイベントによ
らずに、例えばタイマーを設定し、所定間隔毎に割り込
みをかけるようにして、その割り込みの際に最適化を行
うようにしてもよい。
らずに、例えばタイマーを設定し、所定間隔毎に割り込
みをかけるようにして、その割り込みの際に最適化を行
うようにしてもよい。
【0100】最後に、検証用データについて説明する。
演算器において、遅延時間が大きいものは加減算器であ
る。特に桁上げが起きる場合に遅延時間が大きくなるこ
とが多い。そこで、演算結果がすべて“0”になる場
合、或いはすべて“1”となる場合の入力データのベク
トルを用意しておき、これらを検証データ記憶部に保持
しておく。尚、前記検証データ記憶部には、演算結果が
すべて“0”かすべて“1”か何れになるか結果に関す
るフラグを用意しておき、検証データ使用時にはこのフ
ラグを演算完了検出回路に送るものとする。したがっ
て、演算完了検出回路は、すべて“0”となるとき、或
いはすべて“1”となるときに、有効となるような論理
を出力する回路を用意すればよい。
演算器において、遅延時間が大きいものは加減算器であ
る。特に桁上げが起きる場合に遅延時間が大きくなるこ
とが多い。そこで、演算結果がすべて“0”になる場
合、或いはすべて“1”となる場合の入力データのベク
トルを用意しておき、これらを検証データ記憶部に保持
しておく。尚、前記検証データ記憶部には、演算結果が
すべて“0”かすべて“1”か何れになるか結果に関す
るフラグを用意しておき、検証データ使用時にはこのフ
ラグを演算完了検出回路に送るものとする。したがっ
て、演算完了検出回路は、すべて“0”となるとき、或
いはすべて“1”となるときに、有効となるような論理
を出力する回路を用意すればよい。
【0101】このように、本実施形態では演算装置全体
としては非同期であり、負帰還制御により実際の演算を
行わないような時に遅延時間の最適化を行うようにして
ある。また、システムの安定化のために正常な動作時に
はサイクルタイムを短くしないようにしてある。これに
より、演算回路の演算時間に相当する遅延をインバータ
チェーンのような遅延回路により与える場合、LSIの
プロセスのばらつきにより遅延時間がばらついても、遅
延回路における遅延時間を監視し、動作の安定化に必要
最小限の遅延時間を確保できる。しかも、これら遅延時
間の最適化、及び監視の動作は、演算器の空き状態を利
用して行われるので、そのためのオーバヘッドは少ない
という利点がある。
としては非同期であり、負帰還制御により実際の演算を
行わないような時に遅延時間の最適化を行うようにして
ある。また、システムの安定化のために正常な動作時に
はサイクルタイムを短くしないようにしてある。これに
より、演算回路の演算時間に相当する遅延をインバータ
チェーンのような遅延回路により与える場合、LSIの
プロセスのばらつきにより遅延時間がばらついても、遅
延回路における遅延時間を監視し、動作の安定化に必要
最小限の遅延時間を確保できる。しかも、これら遅延時
間の最適化、及び監視の動作は、演算器の空き状態を利
用して行われるので、そのためのオーバヘッドは少ない
という利点がある。
【0102】
【発明の効果】以上説明してきたように、本発明に係る
演算装置及びその遅延時間制御方法によれば、製造プロ
セスのばらつきによる遅延時間のばらつきに対しても高
性能でかつ安定した動作を行うようにすることができ
る。
演算装置及びその遅延時間制御方法によれば、製造プロ
セスのばらつきによる遅延時間のばらつきに対しても高
性能でかつ安定した動作を行うようにすることができ
る。
【図1】第1の実施形態の構成図である。
【図2】第1の実施形態の効果を説明するための図であ
る。
る。
【図3】第2の実施形態の構成図である。
【図4】図3における遅延回路ブロック11の構成図で
ある。
ある。
【図5】遅延回路21の一実施形態である。
【図6】制御電流発生回路42の一実施形態である。
【図7】遅延時間比較器46の構成図である。
【図8】遅延時間差の真理値表である。
【図9】遅延時間差判定のタイミング図である。
【図10】カウンタブロックの構成図である。
【図11】従来例の自己同期回路である。
【図12】従来の自己同期回路である。
【図13】従来の自己同期回路のタイミング図である。
31 遅延回路ブロック 32 検証データ記憶部 33 組み合わせ回路(演算回路) 34,35 状態記憶部 40 演算終了検出回路 41 遅延回路 42 制御電流発生回路 43 第1の遅延時間記憶部 44 第2の遅延時間記憶部 45 カウンタブロック 46 遅延時間比較器 47 モード記憶部 48 カウンタ評価部 51 インバータセル(遅延時間可変) 52 インバータセル(遅延時間固定) 61 バイアス電流発生回路 71,72,73 エッジトリガのDフリップフロップ 74 遅延時間差判定回路 101,109 演算回路 102,105 入力端子 103,106 出力端子 107,108 終了検出装置 109 合成器 110 同期クロック発生装置 111 遅延比較装置 112 遅延回路 113 同期制御回路 301 要求信号 302 遅延要求信号 303,304 データ 305,306 検証データ 307 モード選択信号 401 演算終了検出信号 402 制御電流信号(アナログ) 403,404 制御電流を決めるデジタル信号(4ビ
ット) 405 カウンタインクリメント信号:UP 406 カウンタインクリメント信号:DN 407 割り込み要求出力信号 INTRQ 408 遅延要求信号 Req.− 409 遅延要求信号 Req.0 410 遅延要求信号 Req.+ 411 遅延要求信号 Req. 601〜613 P型MOSトランジスタ 621〜630 N型MOSトランジスタ
ット) 405 カウンタインクリメント信号:UP 406 カウンタインクリメント信号:DN 407 割り込み要求出力信号 INTRQ 408 遅延要求信号 Req.− 409 遅延要求信号 Req.0 410 遅延要求信号 Req.+ 411 遅延要求信号 Req. 601〜613 P型MOSトランジスタ 621〜630 N型MOSトランジスタ
Claims (18)
- 【請求項1】 所定の演算を行う演算回路と、 この演算回路の演算の終了を検出する終了検出回路と、 この終了検出回路にて検出された演算終了信号と同期し
たクロックを発生させる同期クロック発生回路と、 を備え、この発生したクロックを用いて動作を行うこと
を特徴とする演算装置。 - 【請求項2】 所定の演算を行う少なくとも2つの演算
回路と、 これら演算回路に接続され、前記演算回路の演算の終了
を検出する少なくとも2つの終了検出回路と、 これら検出回路の検出された演算終了信号を入力し、前
記全ての演算回路の演算の終了を検出する合成器と、 この合成器にて検出された演算終了信号と同期したクロ
ックを発生させる同期クロック発生回路と、 を備え、この発生したクロックを用いて動作を行うこと
を特徴とする演算装置。 - 【請求項3】 前記同期クロック発生回路は、 PLL形式の位相ロック回路で構成することを特徴とす
る請求項1又は2記載の演算装置。 - 【請求項4】 前記合成器は論理積回路で構成すること
を特徴とする請求項1又は2記載の演算装置。 - 【請求項5】 データを保持する第1の状態記憶部と、
この第1の状態記憶部が保持するデータを入力し、所定
の演算を行う演算回路と、この演算回路の演算結果を保
持する第2の状態記憶部と、を備えた演算装置におい
て、 前記演算回路が前記データを入力してから出力するまで
の遅延時間を測定するための検証データを前記第1の状
態記憶部に出力する検証データ記憶部と、 前記演算回路が前記検証データの演算の遅延時間によ
り、前記第1の状態記憶部が出力する要求信号に所定の
遅延を付加して前記第2の状態記憶部に出力する遅延回
路ブロックと、 を備えることを特徴とする演算装置。 - 【請求項6】 前記演算時間制御部は、 前記遅延時間比較器の出力結果をもとに前記遅延回路の
遅延時間を負帰還制御を行うことを特徴とする請求項5
記載の演算装置。 - 【請求項7】 前記検証データ記憶部は、 電源投入時の初期化動作時、若しくは、キャッシュメモ
リのミスヒット時に前記検証データの出力を行うように
することを特徴とする請求項6記載の演算装置。 - 【請求項8】 前記演算時間制御部は、 前記遅延時間比較器の出力結果をもとに前記遅延回路の
遅延時間を増加させるか否かの判断を行い前記遅延時間
の制御を行うことを特徴とする請求項5記載の演算装
置。 - 【請求項9】 前記演算時間制御部は、 演算回路を使用しない命令実行時に前記検証データの出
力を行うようにすることを特徴とする請求項8記載の演
算装置。 - 【請求項10】 前記遅延回路ブロックは、 前記第1の状態記憶部から前記演算回路の要求信号に所
定の遅延を付加して前記第2の状態記憶部に出力する遅
延回路と、 前記演算回路が前記検証データの演算を行った演算結果
により演算終了を検出する演算終了検出回路と、 この演算終了検出回路から出力された演算終了検出信号
と前記遅延回路から出力された信号の遅延要求信号との
時間的順序を判別し、遅延調整信号を出力する遅延時間
比較器と、 前記遅延調整信号により前記遅延回路の遅延時間の変更
を行う遅延時間制御部と、 を備えることを特徴とする請求項5記載の演算装置。 - 【請求項11】 前記遅延回路ブロックは、 前記第1の状態記憶部から前記演算回路の要求信号に所
定の遅延を付加して前記第2の状態記憶部に出力する遅
延回路と、 前記演算回路が前記検証データの演算を行った演算結果
により演算終了を検出する演算終了検出回路と、 この演算終了検出回路から出力された演算終了検出信号
と前記遅延回路から出力された信号の遅延要求信号との
時間的順序を判別し、遅延調整信号を出力する遅延時間
比較器と、 前記遅延調整信号によりその値の増減を行うカウンタ
と、 このカウンタの値を保持する遅延時間記憶部と、 この遅延時間記憶部に保持された値により電流の値を制
御して発生させる制御電流発生回路と、 を備え、前記制御電流発生回路にて発生した電流により
前記遅延回路の遅延を変化させるようにすることを特徴
とする請求項5記載の演算装置。 - 【請求項12】 前記制御電流発生回路は、 カレントミラー回路で構成され、この回路におけるトラ
ンジスタの大きさの比を変化させることを特徴とする請
求項11記載の演算装置。 - 【請求項13】 前記遅延時間比較器は、 前記演算終了検出信号と前記遅延要求信号との時間的順
序を判別し、前記要求信号に与えられる遅延時間が演算
終了に要する時間に比べて短く、かつ、その差が許容量
を越えている場合には前記遅延回路が与える遅延時間を
初期状態にすることを特徴とする請求項11記載の演算
装置。 - 【請求項14】 所定の演算を行う少なくとも2つの演
算回路を備えた演算装置の遅延時間の制御方法におい
て、 これら演算回路に接続され、前記演算回路の演算の終了
を検出し、 検出された演算終了信号を入力し、前記全ての演算回路
の演算の終了を検出し、 この検出された演算終了信号と同期したクロックを発生
させ、 この発生したクロックを用いて前記演算装置の動作をさ
せることを特徴とする演算装置の遅延時間制御方法。 - 【請求項15】 データを保持する第1の状態記憶部
と、この第1の状態記憶部が保持するデータを入力し、
所定の演算を行う演算回路と、この演算回路の演算結果
を保持する第2の状態記憶部と、を備えた演算装置の遅
延時間の制御方法において、 前記演算回路が前記データを入力してから出力するまで
の遅延時間を測定するための検証データを前記第1の状
態記憶部に入力し、 前記演算回路が行う前記検証データの演算の時間により
前記第1の状態記憶部が出力する要求信号に所定の遅延
を付加して前記第2の状態記憶部に出力することを特徴
とする演算装置の遅延時間制御方法。 - 【請求項16】 前記演算回路の要求信号に所定の遅延
を付加して前記第2の状態記憶部に出力する際に、 前記演算回路が前記検証データの演算を行った演算結果
により演算終了を検出し、 検出された演算終了信号と前記遅延回路から出力された
信号の遅延要求信号との時間的順序を判別し、 この判別により遅延時間の変更を行うことを特徴とする
請求項15記載の演算装置の遅延時間制御方法。 - 【請求項17】 前記検証データを前記第1の状態記憶
部への入力を、電源投入時の初期化動作時、若しくは、
キャッシュメモリのミスヒット時に行うことを特徴とす
る請求項15記載の演算装置の遅延時間制御方法。 - 【請求項18】 前記検証データを前記第1の状態記憶
部への入力を、前記演算回路を使用しない命令実行時に
検証データの出力を行うことを特徴とする請求項15記
載の演算装置の遅延時間制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19242796A JP3378440B2 (ja) | 1996-07-22 | 1996-07-22 | 演算装置及びその遅延時間制御方法 |
US08/898,123 US5845109A (en) | 1996-07-22 | 1997-07-22 | Operation unit and method for controlling processing speed of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19242796A JP3378440B2 (ja) | 1996-07-22 | 1996-07-22 | 演算装置及びその遅延時間制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1040071A true JPH1040071A (ja) | 1998-02-13 |
JP3378440B2 JP3378440B2 (ja) | 2003-02-17 |
Family
ID=16291140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19242796A Expired - Fee Related JP3378440B2 (ja) | 1996-07-22 | 1996-07-22 | 演算装置及びその遅延時間制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5845109A (ja) |
JP (1) | JP3378440B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172026A (ja) * | 2005-12-19 | 2007-07-05 | Samsung Electronics Co Ltd | スキュー補正機能を有する回路ブロック |
JP2008192040A (ja) * | 2007-02-07 | 2008-08-21 | Nec Corp | 半導体集積回路及び動作条件制御方法 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6108793A (en) * | 1997-07-18 | 2000-08-22 | Fujitsu Limited | Semiconductor device having timing-stabilization circuit and method of testing such semiconductor device |
US7187721B1 (en) * | 2000-02-09 | 2007-03-06 | Rambus Inc. | Transition-time control in a high-speed data transmitter |
JP2002100967A (ja) * | 2000-03-17 | 2002-04-05 | Sony Corp | 電源電圧制御装置、半導体装置およびその駆動方法 |
US6668331B1 (en) * | 2000-03-24 | 2003-12-23 | Advantest Corp. | Apparatus and method for successively generating an event to establish a total delay time that is greater than can be expressed by specified data bits in an event memory |
US6877100B1 (en) * | 2000-08-25 | 2005-04-05 | Micron Technology, Inc. | Adjustable timing circuit of an integrated circuit by selecting and moving clock edges based on a signal propagation time stored in a programmable non-volatile fuse circuit |
DE10128757B4 (de) * | 2001-06-13 | 2005-03-03 | Infineon Technologies Ag | Verfahren und Schaltungsanordnung zum Regeln der Betriebsspannung einer Digitalschaltung |
US6580301B2 (en) * | 2001-06-18 | 2003-06-17 | Motorola, Inc. | Method and apparatus for a clock circuit |
US7089406B2 (en) * | 2003-06-09 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for controlling program instruction completion timing for processor verification |
JP2006527848A (ja) * | 2003-06-16 | 2006-12-07 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | タイミング・クロージャ監視回路および方法 |
JP2005050123A (ja) * | 2003-07-28 | 2005-02-24 | Nec Micro Systems Ltd | スキュー補正回路 |
US7318003B2 (en) * | 2005-12-23 | 2008-01-08 | Institute of Computer Science, Foundation for Research and Technology - Hellas (“ICS”) | System and method of determining the speed of digital application specific integrated circuits |
US7711513B2 (en) * | 2005-01-12 | 2010-05-04 | Institute Of Computer Science, Foundation For Research And Technology -Hellas | System and method of determining the speed of digital application specific integrated circuits |
US20060190852A1 (en) * | 2005-01-12 | 2006-08-24 | Sotiriou Christos P | Asynchronous, multi-rail, asymmetric-phase, static digital logic with completion detection and method for designing the same |
US7861130B2 (en) * | 2005-01-12 | 2010-12-28 | Institute Of Computer Science, Foundation For Research And Technology-Hellas | System and method of determining the speed of digital application specific integrated circuits |
US20090167380A1 (en) * | 2007-12-26 | 2009-07-02 | Sotiriou Christos P | System and method for reducing EME emissions in digital desynchronized circuits |
US8407492B2 (en) * | 2010-01-14 | 2013-03-26 | The Boeing Company | System and method of asynchronous logic power management |
US9810585B2 (en) * | 2014-03-28 | 2017-11-07 | Darryl G. Walker | Semiconductor device having a temperature circuit that provides a plurality of temperature operating ranges |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2281421B (en) * | 1993-08-23 | 1998-04-01 | Advanced Risc Mach Ltd | Integrated circuit |
JP3489147B2 (ja) * | 1993-09-20 | 2004-01-19 | 株式会社日立製作所 | データ転送方式 |
US5655113A (en) * | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5475690A (en) * | 1994-11-10 | 1995-12-12 | Digital Equipment Corporation | Delay compensated signal propagation |
US5692165A (en) * | 1995-09-12 | 1997-11-25 | Micron Electronics Inc. | Memory controller with low skew control signal |
-
1996
- 1996-07-22 JP JP19242796A patent/JP3378440B2/ja not_active Expired - Fee Related
-
1997
- 1997-07-22 US US08/898,123 patent/US5845109A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007172026A (ja) * | 2005-12-19 | 2007-07-05 | Samsung Electronics Co Ltd | スキュー補正機能を有する回路ブロック |
JP2008192040A (ja) * | 2007-02-07 | 2008-08-21 | Nec Corp | 半導体集積回路及び動作条件制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US5845109A (en) | 1998-12-01 |
JP3378440B2 (ja) | 2003-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3378440B2 (ja) | 演算装置及びその遅延時間制御方法 | |
US8125246B2 (en) | Method and apparatus for late timing transition detection | |
US9939839B2 (en) | Low power automatic calibration method for high frequency oscillators | |
EP2932345B1 (en) | Automatic selection of on-chip clock in synchronous digital systems | |
JP4894014B2 (ja) | 集積回路のための電源の適応制御 | |
US5550489A (en) | Secondary clock source for low power, fast response clocking | |
US20210103693A1 (en) | Dynamic frequency boosting in integrated circuits | |
US7911221B2 (en) | Semiconductor device with speed performance measurement | |
Uht | Uniprocessor performance enhancement through adaptive clock frequency control | |
KR101887319B1 (ko) | 전용 회로 및 메모리를 제어하기 위한 동적 마진 튜닝 | |
JP4883850B2 (ja) | 半導体装置 | |
US6065126A (en) | Method and apparatus for executing plurality of operations per clock cycle in a single processing unit with a self-timed and self-enabled distributed clock | |
WO2017197946A1 (zh) | 一种基于pvtm的宽电压时钟拉伸电路 | |
US7719315B2 (en) | Programmable local clock buffer | |
JP4130006B2 (ja) | 半導体装置 | |
US20220085969A1 (en) | Precise Time Management Using Local Time Base | |
EP0924859B1 (en) | Self-clocked logic circuit and methodology | |
Chattopadhyay et al. | GALDS: a complete framework for designing multiclock ASICs and SoCs | |
US6550013B1 (en) | Memory clock generator and method therefor | |
US6636980B1 (en) | System for launching data on a bus by using first clock for alternately selecting data from two data streams and using second clock for launching data thereafter | |
Oklobdzija | Clocking in multi-GHz environment | |
US7134036B1 (en) | Processor core clock generation circuits | |
Boyer et al. | Embedded power-aware cycle by cycle variable speed processor | |
JP4383353B2 (ja) | ディジタルシステムパフォーマンス向上のシステムおよび方法 | |
JP2776925B2 (ja) | クロック信号供給装置及び電子計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071206 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081206 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091206 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |