JPH0658617B2 - タイマ動作方法 - Google Patents
タイマ動作方法Info
- Publication number
- JPH0658617B2 JPH0658617B2 JP1299886A JP29988689A JPH0658617B2 JP H0658617 B2 JPH0658617 B2 JP H0658617B2 JP 1299886 A JP1299886 A JP 1299886A JP 29988689 A JP29988689 A JP 29988689A JP H0658617 B2 JPH0658617 B2 JP H0658617B2
- Authority
- JP
- Japan
- Prior art keywords
- update
- cycle
- bit
- adjustment
- cycles
- 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 - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K23/00—Pulse counters comprising counting chains; Frequency dividers comprising counting chains
- H03K23/64—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two
- H03K23/66—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two with a variable counting base, e.g. by presetting or by adding or suppressing pulses
- H03K23/662—Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two with a variable counting base, e.g. by presetting or by adding or suppressing pulses by adding or suppressing pulses
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Electronic Switches (AREA)
- Electric Clocks (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、電子データ処理装置のタイマを動作させる方
法に関する。この方法では、少なくとも1つのタイマ・
レジスタの内容が、所定の時間増分による1更新サイク
ルの間に1度更新され、前記更新サイクルは、電子デー
タ処理装置の動作サイクルを所定の数だけ含む。
法に関する。この方法では、少なくとも1つのタイマ・
レジスタの内容が、所定の時間増分による1更新サイク
ルの間に1度更新され、前記更新サイクルは、電子デー
タ処理装置の動作サイクルを所定の数だけ含む。
B.従来の技術及びその課題 通常、電子データ処理装置中では、複数のタイマが、時
刻を示したり、始まりから終わりまでの所定の時間間隔
をカウントしたり、様々な時間関数を実時間と比較する
など様々な目的で実施されている。
刻を示したり、始まりから終わりまでの所定の時間間隔
をカウントしたり、様々な時間関数を実時間と比較する
など様々な目的で実施されている。
この目的のために、特別に適合された発振器を含む特殊
なクロック回路を設けるよりも、とにかく利用可能な電
子データ装置の動作サイクルを利用しようとするのが普
通である。しかし、データ処理装置の動作サイクルまた
はクロック・サイクルに基づいてこうしたタイマを動作
させるには、タイマの更新に使用される時間増分がデー
タ処理装置の動作サイクル時間の所定の倍数であること
が必要である。たとえば、タイマが更新される時間増分
が1マイクロ秒である場合、ちょうど1マイクロ秒毎に
整数個の動作サイクルが繰り返し発生しなければならな
い。この整数は、更新信号をつくるために動作サイクル
が発生する回数に等しい。そうしなければ、更新が不正
確となる。時間増分が1マイクロ秒で、更新には10動
作サイクルが必要な場合、動作サイクル時間がちょうど
100ナノ秒である場合にのみ、この更新は正確に機能
できる。
なクロック回路を設けるよりも、とにかく利用可能な電
子データ装置の動作サイクルを利用しようとするのが普
通である。しかし、データ処理装置の動作サイクルまた
はクロック・サイクルに基づいてこうしたタイマを動作
させるには、タイマの更新に使用される時間増分がデー
タ処理装置の動作サイクル時間の所定の倍数であること
が必要である。たとえば、タイマが更新される時間増分
が1マイクロ秒である場合、ちょうど1マイクロ秒毎に
整数個の動作サイクルが繰り返し発生しなければならな
い。この整数は、更新信号をつくるために動作サイクル
が発生する回数に等しい。そうしなければ、更新が不正
確となる。時間増分が1マイクロ秒で、更新には10動
作サイクルが必要な場合、動作サイクル時間がちょうど
100ナノ秒である場合にのみ、この更新は正確に機能
できる。
しかし、いくつかの理由で、タイマの更新に適したこう
した正確な関係が常に得られるとは限らない。プロセッ
サまたはその基本クロック生成発振器あるいはその両方
が満たすべき特定の要件の結果として、プロセッサの動
作サイクル時間は、「奇数」値をもつ場合があるが、そ
の値からは、ある整数と乗算されるだけでは適切な時間
増分が誘導できない。動作サイクル時間は、たとえば、
99ナノ秒または36ナノ秒である。したがって、ちょ
うど1マイクロ秒または他の適切な値の時間増分で終わ
るためには、別の方法が必要である。また、動作サイク
ル時間を変更することが望ましく、なおかつタイマ実施
態様がこうした変更に合わせて容易に調整できることが
望ましい状況が、たとえば、電子データ処理装置の開発
中または様々は使用の際に起こることがある。
した正確な関係が常に得られるとは限らない。プロセッ
サまたはその基本クロック生成発振器あるいはその両方
が満たすべき特定の要件の結果として、プロセッサの動
作サイクル時間は、「奇数」値をもつ場合があるが、そ
の値からは、ある整数と乗算されるだけでは適切な時間
増分が誘導できない。動作サイクル時間は、たとえば、
99ナノ秒または36ナノ秒である。したがって、ちょ
うど1マイクロ秒または他の適切な値の時間増分で終わ
るためには、別の方法が必要である。また、動作サイク
ル時間を変更することが望ましく、なおかつタイマ実施
態様がこうした変更に合わせて容易に調整できることが
望ましい状況が、たとえば、電子データ処理装置の開発
中または様々は使用の際に起こることがある。
C.課題を解決するための手段 したがって、本発明の目的は、様々な動作サイクル時間
に合わせて容易に調整できるような、前記の型式のタイ
マを動作させる方法を提供することである。具体的に
は、このタイマは、広い範囲の様々な動作サイクルに適
合するよう容易にプログラミング可能なものであるべき
である。
に合わせて容易に調整できるような、前記の型式のタイ
マを動作させる方法を提供することである。具体的に
は、このタイマは、広い範囲の様々な動作サイクルに適
合するよう容易にプログラミング可能なものであるべき
である。
前記の目的は、各更新サイクル中に、調整レジスタの内
容が1ビット位置ずつシフトされて循環され、そしてこ
の調整レジスタの特定の位置のビット値が所定のビット
値をもつ待機ビットを示す場合には、1つの更新サイク
ル中のタイマ・レジスタの実際の更新が省略されるよう
にすることによって満たされる。
容が1ビット位置ずつシフトされて循環され、そしてこ
の調整レジスタの特定の位置のビット値が所定のビット
値をもつ待機ビットを示す場合には、1つの更新サイク
ル中のタイマ・レジスタの実際の更新が省略されるよう
にすることによって満たされる。
本発明をさらに改良した態様は実施態様に定義されてい
る。
る。
したがって、本発明は、単に、各更新サイクル中にその
内容がシフトされて循環される調整レジスタの検査を、
一連の更新サイクル中に組み込み、特定のビット位置に
ある特定のビット値、たとえばその一番左の“1”に応
答して、特定の更新動作の実行または削除を制御するも
のである。たとえば、特定の更新サイクル中に、調整レ
ジスタ中で1のビット値が見つかった場合、これは、次
のまたは同時の更新サイクルが「待機」サイクルである
ことを示すように定義することができる。待機サイクル
とは、その間にある時間調整、すなわち1更新サイクル
の期間と同じ時間調整を行なうために、実際の更新が省
略されるサイクルである。前記の例では、使用される時
間増分が1マイクロ秒であり、1つの更新サイクルに必
要な動作サイクルの数が10である場合、動作サイクル
が100ナノ秒ではなくて99ナノ秒であれば、調整が
必要である。1つの更新サイクルに10動作サイクルが
必要なので、各更新サイクル中に発生する累積誤差は1
0ナノ秒となる。一方、10動作サイクルを必要とする
1更新サイクルは、その持続時間が10×99ナノ秒=
990ナノ秒である。したがって、99更新サイクルが
「正常に」実行されて、次の1つの更新サイクル中に実
際の更新が省略された場合、100更新サイクル後には
実際の経過時間は(99+1)×990ナノ秒=99マ
イクロ秒となる。これは、1マイクロ秒の増分の更新
を、(99+1)回ではなく99回含み、1「待機」サ
イクル中に更新動作が省略されず、それぞれ100ナノ
秒の10動作サイクル時間を要する99更新サイクルの
場合とちょうど同じである。
内容がシフトされて循環される調整レジスタの検査を、
一連の更新サイクル中に組み込み、特定のビット位置に
ある特定のビット値、たとえばその一番左の“1”に応
答して、特定の更新動作の実行または削除を制御するも
のである。たとえば、特定の更新サイクル中に、調整レ
ジスタ中で1のビット値が見つかった場合、これは、次
のまたは同時の更新サイクルが「待機」サイクルである
ことを示すように定義することができる。待機サイクル
とは、その間にある時間調整、すなわち1更新サイクル
の期間と同じ時間調整を行なうために、実際の更新が省
略されるサイクルである。前記の例では、使用される時
間増分が1マイクロ秒であり、1つの更新サイクルに必
要な動作サイクルの数が10である場合、動作サイクル
が100ナノ秒ではなくて99ナノ秒であれば、調整が
必要である。1つの更新サイクルに10動作サイクルが
必要なので、各更新サイクル中に発生する累積誤差は1
0ナノ秒となる。一方、10動作サイクルを必要とする
1更新サイクルは、その持続時間が10×99ナノ秒=
990ナノ秒である。したがって、99更新サイクルが
「正常に」実行されて、次の1つの更新サイクル中に実
際の更新が省略された場合、100更新サイクル後には
実際の経過時間は(99+1)×990ナノ秒=99マ
イクロ秒となる。これは、1マイクロ秒の増分の更新
を、(99+1)回ではなく99回含み、1「待機」サ
イクル中に更新動作が省略されず、それぞれ100ナノ
秒の10動作サイクル時間を要する99更新サイクルの
場合とちょうど同じである。
したがって、ある長さの時間にわたって、更新サイクル
中の所定サイクルの間に更新の実行を適切に省略するこ
とにより、調整を達成できることが容易に理解できる。
しかも、調整間で累積する可能性のある最大時間誤差
は、タイマの更新に使用される時間増分よりも常に小さ
い。さらに、特定のサイクル中に更新を実行するかそれ
とも省略するかの制御は、調整レジスタの特定の位置に
あるビットに値に依存するので、様々な状況に合わせて
調整が容易にプログラミングできる。
中の所定サイクルの間に更新の実行を適切に省略するこ
とにより、調整を達成できることが容易に理解できる。
しかも、調整間で累積する可能性のある最大時間誤差
は、タイマの更新に使用される時間増分よりも常に小さ
い。さらに、特定のサイクル中に更新を実行するかそれ
とも省略するかの制御は、調整レジスタの特定の位置に
あるビットに値に依存するので、様々な状況に合わせて
調整が容易にプログラミングできる。
D.実施例 第1図を参照すると、アレイ1は4つのタイマT1、T
2、T3、T4を含む。アレイ1はさらに、調整レジス
タADJを含む。タイマは、様々な機能、たとえば、時
刻、時間間隔のカウント、CPUタイマ機能、クロック
比較機能などを有することがある。タイマT1〜T4
は、レジスタによって辞枝される。これらのレジスタは
それぞれ、1更新サイクル中に1回更新される。たとえ
ば、タイマが時刻を示す場合、各更新サイクル中に1
回、すなわち各更新サイクル時間Tu後に、Tuに対応
する時間増分が特定のタイマ・レジスタの内容に加えら
れる。第1図では、この更新をループのステップ“+
1”の記号で示す。更新サイクルの持続時間に対応する
時間増分が動作サイクル時間tcから生成される場合、
それは、更新サイクル毎にタイマ・レジスタに加えられ
る時間増分に容易に関係づけることができる値をもつべ
きである。言い替えれば、タイマ・レジスタに加えられ
る時間増分がたとえば1で、実際には1マイクロ秒であ
る場合、更新サイクル時間Tuも1マイクロ秒であるこ
とが必要である。これは、Tuが動作サイクル時間の倍
数である場合、すなわちTuが(nu×Tc)に等しい
場合(ただしnuは整数)、容易に実現できる。この状
況を第2図に示す。この場合、更新サイクルが10動作
サイクルを含み、各動作サイクル時間が100ナノ秒で
あり、したがって、更新サイクル時間はTu=10×1
00ナノ秒=1000ナノ秒、すなわち1マイクロ秒に
なる。この例で、1つの更新サイクルに10動作サイク
ルが含まれているのは、5つのレジスタすなわち、レジ
スタT1、T2、T3、T4及びADJの1回の読取り
及び1回の書込み動作が1つの更新サイクルの間に必要
なためである。ADJの機能については後で説明する。
これらの関係が成立する場合、調整は不要である。調整
レジスタADJは実際に不要となるはずである。
2、T3、T4を含む。アレイ1はさらに、調整レジス
タADJを含む。タイマは、様々な機能、たとえば、時
刻、時間間隔のカウント、CPUタイマ機能、クロック
比較機能などを有することがある。タイマT1〜T4
は、レジスタによって辞枝される。これらのレジスタは
それぞれ、1更新サイクル中に1回更新される。たとえ
ば、タイマが時刻を示す場合、各更新サイクル中に1
回、すなわち各更新サイクル時間Tu後に、Tuに対応
する時間増分が特定のタイマ・レジスタの内容に加えら
れる。第1図では、この更新をループのステップ“+
1”の記号で示す。更新サイクルの持続時間に対応する
時間増分が動作サイクル時間tcから生成される場合、
それは、更新サイクル毎にタイマ・レジスタに加えられ
る時間増分に容易に関係づけることができる値をもつべ
きである。言い替えれば、タイマ・レジスタに加えられ
る時間増分がたとえば1で、実際には1マイクロ秒であ
る場合、更新サイクル時間Tuも1マイクロ秒であるこ
とが必要である。これは、Tuが動作サイクル時間の倍
数である場合、すなわちTuが(nu×Tc)に等しい
場合(ただしnuは整数)、容易に実現できる。この状
況を第2図に示す。この場合、更新サイクルが10動作
サイクルを含み、各動作サイクル時間が100ナノ秒で
あり、したがって、更新サイクル時間はTu=10×1
00ナノ秒=1000ナノ秒、すなわち1マイクロ秒に
なる。この例で、1つの更新サイクルに10動作サイク
ルが含まれているのは、5つのレジスタすなわち、レジ
スタT1、T2、T3、T4及びADJの1回の読取り
及び1回の書込み動作が1つの更新サイクルの間に必要
なためである。ADJの機能については後で説明する。
これらの関係が成立する場合、調整は不要である。調整
レジスタADJは実際に不要となるはずである。
しかし、他の理由で、先に説明したようにプロセッサ動
作サイクル時間tcが「奇数」値をとることがある。た
とえば、tcがtc=99ナノ秒に等しいと仮定する。
すなわち、10動作サイクル後に累積される更新時間増
分はTu=10×99ナノ秒=990ナノ秒となり、し
たがって1更新サイクル当りの誤差はΔT=(Tu−T
u′)=10ナノ秒となる。
作サイクル時間tcが「奇数」値をとることがある。た
とえば、tcがtc=99ナノ秒に等しいと仮定する。
すなわち、10動作サイクル後に累積される更新時間増
分はTu=10×99ナノ秒=990ナノ秒となり、し
たがって1更新サイクル当りの誤差はΔT=(Tu−T
u′)=10ナノ秒となる。
調整を行なわなければ、99ナノ秒の動作サイクルを1
0個含む更新サイクルが99回経過した後には、この誤
差は累積されて、次のような合計誤差になる。
0個含む更新サイクルが99回経過した後には、この誤
差は累積されて、次のような合計誤差になる。
これは実際には1更新サイクル時間Tu′に等しい。
したがって、前記の例では、それぞれ1更新動作を含む
更新サイクルが99回通過した後に、次の1つの更新サ
イクル中に更新が省略される場合、この誤差を除去する
ための調整が実現されることが明らかである。これは、
下記の合計時間の後で実際には99回の更新が行なわれ
ることを意味している。
更新サイクルが99回通過した後に、次の1つの更新サ
イクル中に更新が省略される場合、この誤差を除去する
ための調整が実現されることが明らかである。これは、
下記の合計時間の後で実際には99回の更新が行なわれ
ることを意味している。
TTotal=(99+1)×Tu′=100×990
ナノ秒=99000ナノ秒=99マイクロ秒 それぞれ1マイクロ秒に相当する99の時間増分が、実
際には99回ではなく100回の更新サイクルに等しい
時間中に特定のタイマ・レジスタに加えられるので、1
つの更新サイクルの中に更新が省略される場合、完全な
精度を回復するための調整が100更新サイクル後に行
なわれることになる。この調整は、調整レジスタADJ
の内容によって制御される。
ナノ秒=99000ナノ秒=99マイクロ秒 それぞれ1マイクロ秒に相当する99の時間増分が、実
際には99回ではなく100回の更新サイクルに等しい
時間中に特定のタイマ・レジスタに加えられるので、1
つの更新サイクルの中に更新が省略される場合、完全な
精度を回復するための調整が100更新サイクル後に行
なわれることになる。この調整は、調整レジスタADJ
の内容によって制御される。
前記の例で、調整レジスタADJが100ビットの調整
パターン・フィールドを有し、その一番左のビットが1
で、他のビットはすべてゼロであると仮定する。このレ
ジスタの内容が各更新サイクル中に1位置ずつ左にシフ
トされ、そのレジストからシフトされた一番左のビット
がそのレジスタの一番右の位置に再び書き込まれる場
合、つまり、調整レジスタADJの内容が各更新サイク
ル中にシフトされて循環する場合、値1をもつある特定
のビットは100回目の更新サイクル毎に調整パターン
・フィールドの一番左の位置に再び現れることになる。
したがって、調整レジスタADJのこの特定の位置のビ
ットの値“1”を使って、調整プロセスを制御すること
ができる。前記の例で、調整が省略される場合、すなわ
ち“1”が調整レジスタADJの一番左の位置に現れる
場合、これは100更新サイクルに1回発生して、正確
な調整が実行される。値“1”をもつビットを「待機」
ビットと呼ぶことができる。このシフト及び循環動作
は、第1図では、ループ中のブロック“左へ1シフト
(SHIFT LEFT1)”で示す。
パターン・フィールドを有し、その一番左のビットが1
で、他のビットはすべてゼロであると仮定する。このレ
ジスタの内容が各更新サイクル中に1位置ずつ左にシフ
トされ、そのレジストからシフトされた一番左のビット
がそのレジスタの一番右の位置に再び書き込まれる場
合、つまり、調整レジスタADJの内容が各更新サイク
ル中にシフトされて循環する場合、値1をもつある特定
のビットは100回目の更新サイクル毎に調整パターン
・フィールドの一番左の位置に再び現れることになる。
したがって、調整レジスタADJのこの特定の位置のビ
ットの値“1”を使って、調整プロセスを制御すること
ができる。前記の例で、調整が省略される場合、すなわ
ち“1”が調整レジスタADJの一番左の位置に現れる
場合、これは100更新サイクルに1回発生して、正確
な調整が実行される。値“1”をもつビットを「待機」
ビットと呼ぶことができる。このシフト及び循環動作
は、第1図では、ループ中のブロック“左へ1シフト
(SHIFT LEFT1)”で示す。
調整レジスタADJの内容はプログラミング可能なの
で、更新サイクル中の特定サイクルでの更新動作の省略
の制御を、様々な要件を満たすようにプログラミングす
ることができる。たとえば、動作サイクル時間tcが3
6ナノ秒である場合、10動作サイクルから成る1更新
サイクル中に発生する誤差は、1更新サイクル当り、次
の値になる。
で、更新サイクル中の特定サイクルでの更新動作の省略
の制御を、様々な要件を満たすようにプログラミングす
ることができる。たとえば、動作サイクル時間tcが3
6ナノ秒である場合、10動作サイクルから成る1更新
サイクル中に発生する誤差は、1更新サイクル当り、次
の値になる。
ΔT=Tu−Tu′=1000-(10×36)=640ナノ秒 36更新サイクル中の全累積誤差は下記のようになる。
ΔTtotal=36×640=23040ナノ秒 =23.04マイクロ秒 しかし、Tu′=360ナノ秒の更新サイクルが更新動
作の実際の実行毎に1回ずつ36回発生する間に、さら
に実際には更新が省略される更新サイクルがブロックま
たは分散した形で64回挿入される場合、それぞれ1マ
イクロ秒に相当する増分の更新が36回行なわれるはず
の合計時間は、更新が抑制されるため「待機」サイクル
となる64回の更新サイクルを含めて、次のようにな
る。
作の実際の実行毎に1回ずつ36回発生する間に、さら
に実際には更新が省略される更新サイクルがブロックま
たは分散した形で64回挿入される場合、それぞれ1マ
イクロ秒に相当する増分の更新が36回行なわれるはず
の合計時間は、更新が抑制されるため「待機」サイクル
となる64回の更新サイクルを含めて、次のようにな
る。
Ttotal=(36×64)×Tu′=100×360ナノ秒 =36マイクロ秒 これは、完全な調整が行なわれていることを意味する。
この場合の調整レジスタADJの100ビットの調整フ
ィールドは、25ビットのブロック4個から構成するこ
とができる。各ブロックは、値1をもつ16個の待機ビ
ットと値0をもつ9個のビットを含むことになる。各ブ
ロックにおけるビット分布は、たとえば以下のようにな
る。
この場合の調整レジスタADJの100ビットの調整フ
ィールドは、25ビットのブロック4個から構成するこ
とができる。各ブロックは、値1をもつ16個の待機ビ
ットと値0をもつ9個のビットを含むことになる。各ブ
ロックにおけるビット分布は、たとえば以下のようにな
る。
0110101101011011011011011. このブロックが、4回繰り返されて、調整レジスタAD
Jにおける100ビットの全調整パターンが64個の待
機ビット“1”を含む、すなわち100回の「更新」サ
イクルというより大きなフレーム内で、64サイクルで
実際の更新が省略されるようになる。厳格に言うと、そ
れらのサイクルはもはや「更新」サイクルではない。し
かし、話を簡単にするために、この名称をそのまま使用
し、更新が実際に実行される更新サイクルと、更新が省
略される更新サイクルを区別することにする。36の更
新サイクル中では、通常通り更新が実行される。更新サ
イクル時間Tu′=360ナノ秒を要する待機ビットが
2つだけ前記の25ビット・ブロック中で連続して配列
されているので、tc′=36ナノ秒の動作サイクルの
最大誤差は下記のようになる。
Jにおける100ビットの全調整パターンが64個の待
機ビット“1”を含む、すなわち100回の「更新」サ
イクルというより大きなフレーム内で、64サイクルで
実際の更新が省略されるようになる。厳格に言うと、そ
れらのサイクルはもはや「更新」サイクルではない。し
かし、話を簡単にするために、この名称をそのまま使用
し、更新が実際に実行される更新サイクルと、更新が省
略される更新サイクルを区別することにする。36の更
新サイクル中では、通常通り更新が実行される。更新サ
イクル時間Tu′=360ナノ秒を要する待機ビットが
2つだけ前記の25ビット・ブロック中で連続して配列
されているので、tc′=36ナノ秒の動作サイクルの
最大誤差は下記のようになる。
したがって、最大誤差は1マイクロ秒の解像度より小さ
い。
い。
正確な調整が得られた後の時間間隔は、前記に示す25
ビット・ブロックの持続時間、すなわち、25×360
ナノ秒=9.0マイクロ秒に等しい。
ビット・ブロックの持続時間、すなわち、25×360
ナノ秒=9.0マイクロ秒に等しい。
(レジスタADJ内の)調整パターン中の制御ビットの
数は、調整を引き起こす1更新サイクル当りの最小誤差
に応じて変わる。これは、望ましい動作サイクル時間t
cと実際の動作サイクル時間tc′の差、(tc−t
c′)ナノ秒の最小値である。前記の例では、1更新サ
イクル周期Tu当りの誤差はΔT=10ナノ秒であっ
た。それは、1更新サイクル当り10動作サイクル中に
1ナノ秒の動作サイクル時間誤差(100ではなく9
9)が発生するためである。タイマT1〜T4の時間増
分Tuは1マイクロ秒=1000ナノ秒であった。した
がって、調整パターン中の必要な制御ビットの数pは、
次のようになるはずである。
数は、調整を引き起こす1更新サイクル当りの最小誤差
に応じて変わる。これは、望ましい動作サイクル時間t
cと実際の動作サイクル時間tc′の差、(tc−t
c′)ナノ秒の最小値である。前記の例では、1更新サ
イクル周期Tu当りの誤差はΔT=10ナノ秒であっ
た。それは、1更新サイクル当り10動作サイクル中に
1ナノ秒の動作サイクル時間誤差(100ではなく9
9)が発生するためである。タイマT1〜T4の時間増
分Tuは1マイクロ秒=1000ナノ秒であった。した
がって、調整パターン中の必要な制御ビットの数pは、
次のようになるはずである。
調整の細分性とは、調整できる最小の可能な実際の動作
サイクル時間tc′であると定義することができる。前
記の例では、望ましい更新時間増分はTu=1000ナ
ノ秒であり、調整ビットの数pcは100であり、1更
新サイクル当りの動作サイクルの数nuは10であるの
で、その細分性は1ナノ秒である。これは、調整によっ
て保護できる最小の可能な実際のサイクル時間tc′が
1ナノ秒であることを意味している。
サイクル時間tc′であると定義することができる。前
記の例では、望ましい更新時間増分はTu=1000ナ
ノ秒であり、調整ビットの数pcは100であり、1更
新サイクル当りの動作サイクルの数nuは10であるの
で、その細分性は1ナノ秒である。これは、調整によっ
て保護できる最小の可能な実際のサイクル時間tc′が
1ナノ秒であることを意味している。
前記の例では、100個の制御ビットが必要であること
がわかった。したがって、100更新サイクル中に、1
つの正常な更新サイクルの後に最高で99個の待機ビッ
トを含むことができる。
がわかった。したがって、100更新サイクル中に、1
つの正常な更新サイクルの後に最高で99個の待機ビッ
トを含むことができる。
実際のタイマとアレイ幅に合わせるために、調整レジス
タADJの内容を、たとえば30ビットのフィールドに
圧縮すべきである。これは、7ビット(0〜6)が更新
サイクルを0から100までカウントする7ビット・カ
ウンタの値を示し、20ビット(7〜26)が前記の意
味の、すなわち更新動作を制御するための調整パターン
を表わし、さらに4ビット(27〜30)がグループ訂
正ビットとして使用される、パターンを提供することに
よって行なうことができる。こうした30ビット圧縮フ
ィールド・パターンは以下のような形になる。
タADJの内容を、たとえば30ビットのフィールドに
圧縮すべきである。これは、7ビット(0〜6)が更新
サイクルを0から100までカウントする7ビット・カ
ウンタの値を示し、20ビット(7〜26)が前記の意
味の、すなわち更新動作を制御するための調整パターン
を表わし、さらに4ビット(27〜30)がグループ訂
正ビットとして使用される、パターンを提供することに
よって行なうことができる。こうした30ビット圧縮フ
ィールド・パターンは以下のような形になる。
この調整パターン中のビット位置の数quは20であ
る。100更新サイクル中に含まれる待機サイクルの数
が5で割り切れる場合、つまりp=n×q(nは整数)
の関係が成立する場合は、20ビットのこの調整パター
ンで十分である。この場合、100更新サイクル中に2
0ビットの調整パターンが5回読み取られ、それから、
シフト及び循環動作のために、この20ビットの調整パ
ターンに含まれる待機ビット“1”の数が5倍にされ
て、望ましい待機ビット数になる。
る。100更新サイクル中に含まれる待機サイクルの数
が5で割り切れる場合、つまりp=n×q(nは整数)
の関係が成立する場合は、20ビットのこの調整パター
ンで十分である。この場合、100更新サイクル中に2
0ビットの調整パターンが5回読み取られ、それから、
シフト及び循環動作のために、この20ビットの調整パ
ターンに含まれる待機ビット“1”の数が5倍にされ
て、望ましい待機ビット数になる。
しかし、前記の例と同様に、100更新サイクル中に含
まれる待機ビットの数は64であると仮定する。前記の
各20ビットの調整パターン中に、値1をもつ待機ビッ
トが12個含まれる場合、余り4が残る。これらの追加
の4つの待機ビットは、下記のように使用される。
まれる待機ビットの数は64であると仮定する。前記の
各20ビットの調整パターン中に、値1をもつ待機ビッ
トが12個含まれる場合、余り4が残る。これらの追加
の4つの待機ビットは、下記のように使用される。
20ビットの調整パターンが1ずつシフトされる度に、
7ビット(0〜6)で構成されるカウンタが1ステップ
ずつカウントする。このカウンタは7ビットから構成さ
れるので、理論的には0から127までカウントでき、
128(27)個の可能な値を取ることができる。ただ
し、カウンタは値“99”から“0”に戻る。これらの
値のうちの4つ、たとえば、値20、40、60、80
は前もって決定することができ、グループ訂正ビットの
特定の1つをそれに指定することができる。したがっ
て、これらのカウンタ値の1つが復号される場合、指定
されたグループ訂正ビットを検査することができ、それ
が“1”の場合、更新の省略を制御するために使用する
ことができる。したがって、カウンタの4つの値を事前
に決定し、各値に1つのグループ訂正ビットを指定し、
さらに指定されたグループ訂正ビットが“1”になる度
に「待機」サイクルを追加することによって、さらに4
つの待機サイクルを追加することができる。
7ビット(0〜6)で構成されるカウンタが1ステップ
ずつカウントする。このカウンタは7ビットから構成さ
れるので、理論的には0から127までカウントでき、
128(27)個の可能な値を取ることができる。ただ
し、カウンタは値“99”から“0”に戻る。これらの
値のうちの4つ、たとえば、値20、40、60、80
は前もって決定することができ、グループ訂正ビットの
特定の1つをそれに指定することができる。したがっ
て、これらのカウンタ値の1つが復号される場合、指定
されたグループ訂正ビットを検査することができ、それ
が“1”の場合、更新の省略を制御するために使用する
ことができる。したがって、カウンタの4つの値を事前
に決定し、各値に1つのグループ訂正ビットを指定し、
さらに指定されたグループ訂正ビットが“1”になる度
に「待機」サイクルを追加することによって、さらに4
つの待機サイクルを追加することができる。
調整レジスタADJの調整フィールドを次のような構成
にすることによって、さらに単純化することができる。
にすることによって、さらに単純化することができる。
0123456789 | 0123456789 | 0123456789 | カウンタ 調整パターン グループ訂正 上図を見るとわかるように、3つのフィールドに30ビ
ットがあり、各フィールド、すなわちカウンタ、調整パ
ターン及びグループ訂正の各フィールドがそれぞれ10
ビットを含む。
ットがあり、各フィールド、すなわちカウンタ、調整パ
ターン及びグループ訂正の各フィールドがそれぞれ10
ビットを含む。
10ビットの調整パターンは前記のように使用される。
すなわち、各更新サイクル毎に、そのフィールドが1ず
つ左にシフトされ循環される。すなわち、一番左の位置
のビットが一番右の位置に書き込まれ、他のすべてのビ
ットは1ずつ左にシフトされる。一番左のビットが
“1”の場合、それは「待機」サイクルであり、更新は
省略される。
すなわち、各更新サイクル毎に、そのフィールドが1ず
つ左にシフトされ循環される。すなわち、一番左の位置
のビットが一番右の位置に書き込まれ、他のすべてのビ
ットは1ずつ左にシフトされる。一番左のビットが
“1”の場合、それは「待機」サイクルであり、更新は
省略される。
この10ビット・カウンタは、10進繰上げを定義す
る。たとえば待機サイクルの数が64である場合、カウ
ンタ・フィールドで定義される10進繰上げは6であ
る。これは、ビット位置6の“1”によって示され、値
のすべてのビット位置のビットは“0”である。このパ
ターンは、調整パターンと同様に各更新サイクル毎に1
ずつシフトされ1ビット循環される。
る。たとえば待機サイクルの数が64である場合、カウ
ンタ・フィールドで定義される10進繰上げは6であ
る。これは、ビット位置6の“1”によって示され、値
のすべてのビット位置のビットは“0”である。このパ
ターンは、調整パターンと同様に各更新サイクル毎に1
ずつシフトされ1ビット循環される。
カウンタの一番左の位置に“1”が現れる度に、グルー
プ訂正の一番左のビットを使って更新が制御される。す
なわち、その瞬間にグループ訂正の番左のビットが
“1”である場合、待機サイクルが追加される。
プ訂正の一番左のビットを使って更新が制御される。す
なわち、その瞬間にグループ訂正の番左のビットが
“1”である場合、待機サイクルが追加される。
カウンタ・フィールドがシフトされて1度完全に循環さ
れる度に、グループ訂正フィールドは1ビットずつシフ
トされる。前記の例では、待機サイクルの数は64であ
り、値“1”をもつ4つのビットがグループ訂正フィー
ルドに含まれている。
れる度に、グループ訂正フィールドは1ビットずつシフ
トされる。前記の例では、待機サイクルの数は64であ
り、値“1”をもつ4つのビットがグループ訂正フィー
ルドに含まれている。
この構成は基本的に、以前に説明した構成と比べて、復
号が不要であり、すべてのパターンについて、シフト/
循環動作を実行するだけでよいという利点を持ってい
る。
号が不要であり、すべてのパターンについて、シフト/
循環動作を実行するだけでよいという利点を持ってい
る。
第1図の説明を終えるに当って、線2は外部セット・バ
スを示し、線3は外部読取りバスを示すことを付言して
おく。REGはバッファ・レジスタであり、タイマの瞬
間的内容をいつでも読み出せるように保持している。
スを示し、線3は外部読取りバスを示すことを付言して
おく。REGはバッファ・レジスタであり、タイマの瞬
間的内容をいつでも読み出せるように保持している。
第3図及び第4図は、前記の方法のハードウェアによる
実施態様を示す。第3図で、タイマ論理回路の線11上
の前進パルスが、ANDゲート16によってシステム・
クロック供給線10から引き出される。ただし、この前
進パルスは、訂正論理回路15によって引き出される、
線13上の「クロック抑制」パルスによって抑制され
る。
実施態様を示す。第3図で、タイマ論理回路の線11上
の前進パルスが、ANDゲート16によってシステム・
クロック供給線10から引き出される。ただし、この前
進パルスは、訂正論理回路15によって引き出される、
線13上の「クロック抑制」パルスによって抑制され
る。
訂正論理回路を第4図に示す。この図で、LRは20個
の記憶装置1、2、…、19、20を持つラッチ・リン
グである。このラッチ・リングは、ソフトウェア実施態
様の20ビットの調整パターンに対応する。各更新サイ
クルごとにラッチ・リングLRの内容が1ずつシフトさ
れる。“1”が位置20にシフトされる場合、それは線
50を介してNORゲート57の入力端にも現れる。N
ORゲート57は“0”出力をANDゲート16に送
り、それによって、線10上のシステム・クロック・パ
ルスに応答して、線11上での進行パルスの発生を抑制
する。
の記憶装置1、2、…、19、20を持つラッチ・リン
グである。このラッチ・リングは、ソフトウェア実施態
様の20ビットの調整パターンに対応する。各更新サイ
クルごとにラッチ・リングLRの内容が1ずつシフトさ
れる。“1”が位置20にシフトされる場合、それは線
50を介してNORゲート57の入力端にも現れる。N
ORゲート57は“0”出力をANDゲート16に送
り、それによって、線10上のシステム・クロック・パ
ルスに応答して、線11上での進行パルスの発生を抑制
する。
さらに、GRはグループ訂正回路を表す。この回路は、
機能的にソフトウェア実施例のグループ訂正フィールド
に対応する。ループ52、レジスタ53、及びブロック
“+1”は、1更新サイクル毎に増分される7ビット・
カウンタを表す。ソフトウェア実施例に関して説明した
ように、100更新サイクル・ブロックに待機ビットを
挿入するために使用される20ビットの調整フィールド
を、100更新サイクル中にさらに4つの待機サイクル
を追加できるように拡張しなければならない。したがっ
て、カウントされる100更新サイクル中に、4つの任
意に事前決定可能なカウント値、たとえば、図に示すよ
うな39、59、79、99を復号するために、4つの
復号器61、62、63、64が設けられている。AN
Dゲート65、66、67、68の第2の入力端でも、
4ビット・グループ訂正レジスタ69から値が“1”の
ビットが引き出される場合、それらの復号器は、AND
ゲート65、66、67、68を介して、NORゲート
51への後続の入力を生成する。グループ訂正レジスタ
69からの“1”ビットが、ANDゲート65、66、
67、68のうちの1つの入力端で、7ビット・カウン
タ52、53の事前に選択された値の復号と同時に発生
する場合、次の“0”出力がNORゲート51から引き
出され、AND機能がANDゲート16の入力端で実行
されないため、それによって線11上の前進パルスを抑
制する。復号器61によって値99が復号されたときに
線上に現れる信号により、レジスタ53がゼロにリセッ
トされ、カウンタの100までのカウントが再開され
る。
機能的にソフトウェア実施例のグループ訂正フィールド
に対応する。ループ52、レジスタ53、及びブロック
“+1”は、1更新サイクル毎に増分される7ビット・
カウンタを表す。ソフトウェア実施例に関して説明した
ように、100更新サイクル・ブロックに待機ビットを
挿入するために使用される20ビットの調整フィールド
を、100更新サイクル中にさらに4つの待機サイクル
を追加できるように拡張しなければならない。したがっ
て、カウントされる100更新サイクル中に、4つの任
意に事前決定可能なカウント値、たとえば、図に示すよ
うな39、59、79、99を復号するために、4つの
復号器61、62、63、64が設けられている。AN
Dゲート65、66、67、68の第2の入力端でも、
4ビット・グループ訂正レジスタ69から値が“1”の
ビットが引き出される場合、それらの復号器は、AND
ゲート65、66、67、68を介して、NORゲート
51への後続の入力を生成する。グループ訂正レジスタ
69からの“1”ビットが、ANDゲート65、66、
67、68のうちの1つの入力端で、7ビット・カウン
タ52、53の事前に選択された値の復号と同時に発生
する場合、次の“0”出力がNORゲート51から引き
出され、AND機能がANDゲート16の入力端で実行
されないため、それによって線11上の前進パルスを抑
制する。復号器61によって値99が復号されたときに
線上に現れる信号により、レジスタ53がゼロにリセッ
トされ、カウンタの100までのカウントが再開され
る。
F.発明の効果 本発明により、様々な動作サイクル時間に合わせて容易
に調整できるようなタイマ動作方法が達成された。
に調整できるようなタイマ動作方法が達成された。
【図面の簡単な説明】 第1図は、本発明のソフトウェア実施例を示す説明図で
ある。 第2図は、動作サイクルと1更新サイクル関係の説明図
である。 第3図は、ハードウェア実施例を示す説明図である。 第4図は、ハードウェア実施例の一部分を示す説明図で
ある。
ある。 第2図は、動作サイクルと1更新サイクル関係の説明図
である。 第3図は、ハードウェア実施例を示す説明図である。 第4図は、ハードウェア実施例の一部分を示す説明図で
ある。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−100650(JP,A) 特開 昭63−151217(JP,A)
Claims (1)
- 【請求項1】少なくとも1つのタイマ・レジスタの内容
が所定の時間増分によって一更新サイクル中に一度更新
され、前記更新サイクルにデータ処理装置の所定の動作
サイクル数を算入するデータ処理装置のタイマを動作さ
せるタイマ動作方法において、 前記一更新サイクル中の前記タイマ・レジスタの複数回
の更新の内、調整レジスタの内容が1ビット位置ずつシ
フトされ、かつ循環され、前記調整レジスタの特定の位
置のビット値が所定の待機ビット値を指示する場合の前
記更新は省略され、 前記調整レジスタの所定の待機ビット値は、前記時間増
分と前記動作サイクル数から決定され、 前記待機ビットによって実際の前記更新を省略すること
によって前記更新サイクル数を制御することを特徴とす
るタイマ動作方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP89100112A EP0377064B1 (en) | 1989-01-05 | 1989-01-05 | Method of operating a timer |
| EP89100112.5 | 1989-01-05 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02238511A JPH02238511A (ja) | 1990-09-20 |
| JPH0658617B2 true JPH0658617B2 (ja) | 1994-08-03 |
Family
ID=8200846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1299886A Expired - Lifetime JPH0658617B2 (ja) | 1989-01-05 | 1989-11-20 | タイマ動作方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5138707A (ja) |
| EP (1) | EP0377064B1 (ja) |
| JP (1) | JPH0658617B2 (ja) |
| DE (1) | DE68914273T2 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5377346A (en) * | 1990-06-06 | 1994-12-27 | Nec Electronics Inc. | Methods and apparatus for pulse-width modulation that use a counter and a modulus device |
| TW400483B (en) * | 1994-03-01 | 2000-08-01 | Intel Corp | High performance symmetric arbitration protocol with support for I/O requirements |
| US5987618A (en) * | 1994-03-25 | 1999-11-16 | Packard Bell Nec | Programmable hardware timer including two programmable hardware downcounters wherein the second downcounter counts in multiples of the first downcounter |
| US5724527A (en) * | 1995-12-28 | 1998-03-03 | Intel Corporation | Fault-tolerant boot strap mechanism for a multiprocessor system |
| US6021505A (en) * | 1998-06-26 | 2000-02-01 | Intel Corporation | Method and apparatus for updating a timer from multiple timing domains |
| US6732287B1 (en) | 2000-06-22 | 2004-05-04 | Rockwell Automation Technologies, Inc. | Method for processing dynamically allocated timers in a real time operating system |
| US6876601B2 (en) * | 2002-08-21 | 2005-04-05 | Wind River Systems, Inc. | Timer facility for a stack or operating system |
| US7058841B2 (en) * | 2002-08-21 | 2006-06-06 | Wind River Systems, Inc. | System and method for implementing a timer facility |
| EP3724607B1 (en) * | 2017-12-12 | 2022-08-10 | Raytheon Canada Limited | Rotary switch or other encoder having non-sequential unique bit pattern and method for design |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5430074A (en) * | 1977-08-10 | 1979-03-06 | Seiko Epson Corp | Time measuring system |
| JPS54100650A (en) * | 1978-01-26 | 1979-08-08 | Toshiba Corp | Frequency divider |
| JPS5515054A (en) * | 1978-07-19 | 1980-02-01 | Seiko Instr & Electronics Ltd | Electronic watch |
| GB2049245A (en) * | 1979-05-09 | 1980-12-17 | Marconi Co Ltd | Frequency synthesisers |
| CH650122GA3 (ja) * | 1981-12-17 | 1985-07-15 | ||
| US4448543A (en) * | 1983-01-17 | 1984-05-15 | Rockwell International Corporation | Time-of-day clock having a temperature compensated low power frequency source |
| US4582434A (en) * | 1984-04-23 | 1986-04-15 | Heath Company | Time corrected, continuously updated clock |
| DE3439638C1 (de) * | 1984-10-30 | 1986-05-15 | Gebrüder Junghans GmbH, 7230 Schramberg | Autonome Funkuhr |
| JPS62237386A (ja) * | 1986-04-08 | 1987-10-17 | Seiko Instr & Electronics Ltd | 電子時計 |
| IT1189150B (it) * | 1986-06-10 | 1988-01-28 | Honeywell Inf Systems | Unita' di temporizzazione in tecnologia ttl |
| JPS63151217A (ja) * | 1986-12-16 | 1988-06-23 | Fujitsu Ltd | 歯抜け分周回路 |
| US4899117A (en) * | 1987-12-24 | 1990-02-06 | The United States Of America As Represented By The Secretary Of The Army | High accuracy frequency standard and clock system |
-
1989
- 1989-01-05 DE DE68914273T patent/DE68914273T2/de not_active Expired - Fee Related
- 1989-01-05 EP EP89100112A patent/EP0377064B1/en not_active Expired - Lifetime
- 1989-09-13 US US07/406,628 patent/US5138707A/en not_active Expired - Fee Related
- 1989-11-20 JP JP1299886A patent/JPH0658617B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02238511A (ja) | 1990-09-20 |
| US5138707A (en) | 1992-08-11 |
| EP0377064A1 (en) | 1990-07-11 |
| DE68914273T2 (de) | 1994-11-10 |
| DE68914273D1 (de) | 1994-05-05 |
| EP0377064B1 (en) | 1994-03-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5410683A (en) | Programmable divider exhibiting a 50/50 duty cycle | |
| JPH0658617B2 (ja) | タイマ動作方法 | |
| JP3294687B2 (ja) | クロック分周器およびモータ駆動制御装置 | |
| GB2403821A (en) | Finite state machine circuit | |
| JP2001014841A (ja) | データ記憶装置 | |
| GB1593825A (en) | Electrical timing apparatus | |
| US5381451A (en) | Trigger signal generating circuit with extraneous pulse prevention during accelerated pulse counting | |
| US6891417B2 (en) | Circuits and methods for alignment of signals in integrated circuits | |
| US3997765A (en) | Circulating shift register incrementer/decrementer | |
| KR101147361B1 (ko) | Rtc 제어 회로 | |
| JP2924100B2 (ja) | 状態遷移回路 | |
| JP3503659B2 (ja) | 制御信号発生装置 | |
| JPH0474799B2 (ja) | ||
| JP3284317B2 (ja) | パルス幅変調装置 | |
| JP2530663B2 (ja) | 分周回路 | |
| JP2927096B2 (ja) | 可変周波数発振回路 | |
| SU1660136A2 (ru) | Устройство задержки импульсных сигналов | |
| JP2777368B2 (ja) | 周波数シンセサイザ | |
| JP2960120B2 (ja) | パルス発生装置 | |
| JPH0387903A (ja) | プログラマブルコントローラ | |
| JPH04283842A (ja) | トレース制御方式 | |
| JPH0580089A (ja) | タイマ装置 | |
| JPH0786790B2 (ja) | カウンタ値の読出方式 | |
| JPH04259114A (ja) | 論理回路 | |
| JPS63298425A (ja) | デ−タ処理装置 |