JP2508026B2 - タイマ制御方式 - Google Patents
タイマ制御方式Info
- Publication number
- JP2508026B2 JP2508026B2 JP61250123A JP25012386A JP2508026B2 JP 2508026 B2 JP2508026 B2 JP 2508026B2 JP 61250123 A JP61250123 A JP 61250123A JP 25012386 A JP25012386 A JP 25012386A JP 2508026 B2 JP2508026 B2 JP 2508026B2
- Authority
- JP
- Japan
- Prior art keywords
- timer
- counter
- register
- task
- waiting
- 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
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明はマイクロプロセツサの周辺LSIにおけるタ
イマ制御方式に関するものである。
イマ制御方式に関するものである。
第4図は例えば米国インテル社のプログラマブルイン
ターバルタイマi8253のブロツク図であり、図において
は(1a),(1b),(1c)は互いに独立した16ビツトダ
ウンカウンタ、(4)はデータバスバツフア、(5)は
制御回路、(6)は内部データバス、(7)は信号線で
ある。3個の16ビツトカウンタ(1a),(1b),(1c)
はそれぞれ任意にプログラムできて、6種のモード(モ
ードφは割り込みタイマ,イベントカウンタなど、モー
ド1はデジタルワンシヨツト,モード2,モード3は共に
レートジエネレータ、モード4はソフトウエアトリガの
ストローブ、モード5はハードウエアトリガのストロー
ブ)で使用でき、前記カウンタの値は随時モニタ可能で
設定もできるというプログラム可能なタイマ/カウンタ
である。
ターバルタイマi8253のブロツク図であり、図において
は(1a),(1b),(1c)は互いに独立した16ビツトダ
ウンカウンタ、(4)はデータバスバツフア、(5)は
制御回路、(6)は内部データバス、(7)は信号線で
ある。3個の16ビツトカウンタ(1a),(1b),(1c)
はそれぞれ任意にプログラムできて、6種のモード(モ
ードφは割り込みタイマ,イベントカウンタなど、モー
ド1はデジタルワンシヨツト,モード2,モード3は共に
レートジエネレータ、モード4はソフトウエアトリガの
ストローブ、モード5はハードウエアトリガのストロー
ブ)で使用でき、前記カウンタの値は随時モニタ可能で
設定もできるというプログラム可能なタイマ/カウンタ
である。
ここでは例としてこのタイマをモードφで使用した場
合について述べる。モードφは初期値を与えられてカウ
ントダウンしていき、カウント終了時に信号線(7)か
ら出力信号を送るというカウント動作モードで主に割り
込みタイマあるいはイベントカウンタと使用される。こ
のタイマを用いたコンピユータシステムがマルチタスク
のオペレーテイングシステム(OS)で制御されており、
今このシステム上で第2図(a)に示すように待ち時間
がそれぞれ10ms、15msのタスクA,Bが実行を待つている
状態(時間起床待ち)になつたとすれば、前記OSはそれ
ぞれのタスクのタスクコントロールブロツグ(TCB)か
ら待ち時間を読み出して比較し、小さい方のタスクAの
方を選択して前記タイマのカウンタに初期値10msを送り
カウントダウンさせ、タスクBの方には差分の5msを新
たに待ち時間としてTCBに書き込み、それらのTCBを起床
順にならべてタイマキユーに登録して待機させる。前記
タイマのカウントダウンが終了すると信号線(7)より
信号が送られシステムに割り込みがかかりタイマキユー
よりタスクAのTCBが除かれ、新たにタスクBの待ち時
間が前記タイマのカウンタに書き込まれているカウント
ダウンが始まり、タスクAは実行状態に入る。ところで
第2図(b)に示すようにタスクAの時間起床待ち中に
新たにタスクCが時間起床待ちに入つて来たならば、第
3図(a)のフローチヤートに示すように前記OSは前記
タイマを停止させてタスクAの現在の待ち時間を前記カ
ウンタより読み出してタスクCの待ち時間と比較して、
その小さい方のタスクを新たに一番目の時間起床待ちタ
スクとして前記タイマのカウンタに待ち時間を書き込み
カウントダウンを再始動して、他方のタスクは待ち時間
の差分を新たに待ち時間としてTCBを書き直してタイマ
キユーに登録し時間起床待ちに入らせる処理を行なう。
合について述べる。モードφは初期値を与えられてカウ
ントダウンしていき、カウント終了時に信号線(7)か
ら出力信号を送るというカウント動作モードで主に割り
込みタイマあるいはイベントカウンタと使用される。こ
のタイマを用いたコンピユータシステムがマルチタスク
のオペレーテイングシステム(OS)で制御されており、
今このシステム上で第2図(a)に示すように待ち時間
がそれぞれ10ms、15msのタスクA,Bが実行を待つている
状態(時間起床待ち)になつたとすれば、前記OSはそれ
ぞれのタスクのタスクコントロールブロツグ(TCB)か
ら待ち時間を読み出して比較し、小さい方のタスクAの
方を選択して前記タイマのカウンタに初期値10msを送り
カウントダウンさせ、タスクBの方には差分の5msを新
たに待ち時間としてTCBに書き込み、それらのTCBを起床
順にならべてタイマキユーに登録して待機させる。前記
タイマのカウントダウンが終了すると信号線(7)より
信号が送られシステムに割り込みがかかりタイマキユー
よりタスクAのTCBが除かれ、新たにタスクBの待ち時
間が前記タイマのカウンタに書き込まれているカウント
ダウンが始まり、タスクAは実行状態に入る。ところで
第2図(b)に示すようにタスクAの時間起床待ち中に
新たにタスクCが時間起床待ちに入つて来たならば、第
3図(a)のフローチヤートに示すように前記OSは前記
タイマを停止させてタスクAの現在の待ち時間を前記カ
ウンタより読み出してタスクCの待ち時間と比較して、
その小さい方のタスクを新たに一番目の時間起床待ちタ
スクとして前記タイマのカウンタに待ち時間を書き込み
カウントダウンを再始動して、他方のタスクは待ち時間
の差分を新たに待ち時間としてTCBを書き直してタイマ
キユーに登録し時間起床待ちに入らせる処理を行なう。
上述のような処理ではタイマを一時停止させてカウン
タの値を読み出し、新しい値と比較,演算をした後に新
たに初期値を設定して再び前記タイマを始動させてカウ
ントダウンを初めからやり直す必要があり、タイマ停止
時間が大きくなるという問題点があつた。
タの値を読み出し、新しい値と比較,演算をした後に新
たに初期値を設定して再び前記タイマを始動させてカウ
ントダウンを初めからやり直す必要があり、タイマ停止
時間が大きくなるという問題点があつた。
この発明に係るタイマ制御方式は、カウンタの他にレ
ジスタと演算回路を備え、前記カウンタと前記レジスタ
の間のデータ転送,比較,演算とそれらの結果をレジス
タに格納でき、さらにこれらの処理を比較,演算の結果
により制御することができるものである。
ジスタと演算回路を備え、前記カウンタと前記レジスタ
の間のデータ転送,比較,演算とそれらの結果をレジス
タに格納でき、さらにこれらの処理を比較,演算の結果
により制御することができるものである。
この発明においては、タイマ内部のカウンタ値に対す
る比較,演算及び条件制御をタイマ内部に設けた演算回
路で行なう。
る比較,演算及び条件制御をタイマ内部に設けた演算回
路で行なう。
〔実施例〕 第1図はこの発明の一実施例のタイマのブロツク図で
あり、(1)はカウンタ、(2)はレジスタ、(3)は
カウンタ(1)とレジスタ(2)の比較,演算を行なう
演算回路、(4)〜(7)は従来と同じものである。上
記タイマに例えばカウントダウン中に新しいデータがレ
ジスタに書き込まれるとその値を現在のカウント値とし
て比較して小さい方の値を初期値として新たにカウント
ダウンを実行し、レジスタにはそのデータの差分を保持
するモードを設定する。上記タイマを備えたコンピユー
タシステムが前述と同じくマルチタスクOSで制御されて
おり、第2図(b)の例のようにマスクAの時間起床待
ち中に新たにタスクCが時間起床待ちに加わつた場合、
タスクCの待ち時間を前記タイマのレジスタに書き込む
だけで前記タイマは優先度の高い方のタスクの待ち時間
のカウントタウンを始め、待ち時間の差分が前記タイマ
のレジスタに保持されているのでその値を読み出してTC
Bの更新及びタイマキユーへの登録に利用できる(第2
図(b)のフローチヤート)。この処理中において、レ
ジスタの読み書き中にはカウントダウンを停止する必要
がないので、第2図に示すようにタイマの停止時間が最
小ですむ。
あり、(1)はカウンタ、(2)はレジスタ、(3)は
カウンタ(1)とレジスタ(2)の比較,演算を行なう
演算回路、(4)〜(7)は従来と同じものである。上
記タイマに例えばカウントダウン中に新しいデータがレ
ジスタに書き込まれるとその値を現在のカウント値とし
て比較して小さい方の値を初期値として新たにカウント
ダウンを実行し、レジスタにはそのデータの差分を保持
するモードを設定する。上記タイマを備えたコンピユー
タシステムが前述と同じくマルチタスクOSで制御されて
おり、第2図(b)の例のようにマスクAの時間起床待
ち中に新たにタスクCが時間起床待ちに加わつた場合、
タスクCの待ち時間を前記タイマのレジスタに書き込む
だけで前記タイマは優先度の高い方のタスクの待ち時間
のカウントタウンを始め、待ち時間の差分が前記タイマ
のレジスタに保持されているのでその値を読み出してTC
Bの更新及びタイマキユーへの登録に利用できる(第2
図(b)のフローチヤート)。この処理中において、レ
ジスタの読み書き中にはカウントダウンを停止する必要
がないので、第2図に示すようにタイマの停止時間が最
小ですむ。
上記実施例では、カウンタ,レジスタ,演算回路は1
組であつたが、何組あつても良く、又、カウンタ,レジ
スタ,データバスも何ビツトでも良い。さらに上記タイ
マのプログラムはモードとしてあらかじめ決められてい
たが、タイマ自体が命令セツトと記憶領域を待ち、使用
目的に合つた任意のプログラムを組むことができるよう
にしても良い。又、上記実施例ではこのタイマ制御方式
をタイマ/カウンタに利用したが、割り込みコントロー
ラあるいは他のタイミングコントロールを行なういろい
ろなLSIに利用可能である。
組であつたが、何組あつても良く、又、カウンタ,レジ
スタ,データバスも何ビツトでも良い。さらに上記タイ
マのプログラムはモードとしてあらかじめ決められてい
たが、タイマ自体が命令セツトと記憶領域を待ち、使用
目的に合つた任意のプログラムを組むことができるよう
にしても良い。又、上記実施例ではこのタイマ制御方式
をタイマ/カウンタに利用したが、割り込みコントロー
ラあるいは他のタイミングコントロールを行なういろい
ろなLSIに利用可能である。
この発明は以上説明したとおり、タイマの制御に関し
てソフトウエアの負担を少なくし、また、タイマの停止
時間を最小にでき、さらにいろいろなタイマの用途に対
応できるという効果がある。
てソフトウエアの負担を少なくし、また、タイマの停止
時間を最小にでき、さらにいろいろなタイマの用途に対
応できるという効果がある。
第1図はこの発明の一実施例を示すタイマのブロツク
図、第2図は上記実施例におけるタスクコントロールブ
ロツクの処理の様子を示す図、第3図は従来のタイマと
上記タイマを使用した場合の上記実施例における処理を
表わすフローチヤート、第4図は従来のタイマのブロツ
ク図である。 図においては、(1),(1a),(1b),(1c)はカウ
ンタ、(2)はレジスタ、(3)は演算回路、(4)は
データバスバツフア、(5)は制御回路、(6)は内部
データバス、(7)は信号線である。 なお、各図中同一符号は同一または相当部分を示す。
図、第2図は上記実施例におけるタスクコントロールブ
ロツクの処理の様子を示す図、第3図は従来のタイマと
上記タイマを使用した場合の上記実施例における処理を
表わすフローチヤート、第4図は従来のタイマのブロツ
ク図である。 図においては、(1),(1a),(1b),(1c)はカウ
ンタ、(2)はレジスタ、(3)は演算回路、(4)は
データバスバツフア、(5)は制御回路、(6)は内部
データバス、(7)は信号線である。 なお、各図中同一符号は同一または相当部分を示す。
Claims (1)
- 【請求項1】外部からの信号によつて動作するカウンタ
と、外部とのデータの受け渡しを行なう入出力バツフア
と、それらを制御する制御回路を備え、前記カウンタの
値の外部との入出力及びカウンタ動作モードを設定可能
なカウンタ/タイマにおいて、前記カウンタ及び前記入
出力バツフアのデータを格納するレジスタと、このレジ
スタと前記カウンタとの比較、演算を行なう演算回路を
設け、前記カウンタの値と前記レジスタのデータとの比
較、演算及びこれらの結果についての条件制御をプログ
ラムしてカウンタ動作モードを設定できることを特徴と
するタイマ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61250123A JP2508026B2 (ja) | 1986-10-20 | 1986-10-20 | タイマ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61250123A JP2508026B2 (ja) | 1986-10-20 | 1986-10-20 | タイマ制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS63103312A JPS63103312A (ja) | 1988-05-09 |
JP2508026B2 true JP2508026B2 (ja) | 1996-06-19 |
Family
ID=17203162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61250123A Expired - Lifetime JP2508026B2 (ja) | 1986-10-20 | 1986-10-20 | タイマ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2508026B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5713340B2 (ja) * | 2010-12-21 | 2015-05-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | イベントの通知を送信する方法、並びにそのコンピュータ及びコンピュータ・プログラム |
-
1986
- 1986-10-20 JP JP61250123A patent/JP2508026B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS63103312A (ja) | 1988-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2867717B2 (ja) | マイクロコンピュータ | |
JPH0376496B2 (ja) | ||
JPH06103507B2 (ja) | パルス入出力プロセッサ及びそれを用いたマイクロコンピュータ | |
KR970003321B1 (ko) | 코프로세서 지정 시스템 | |
JPH0521251B2 (ja) | ||
JP2508026B2 (ja) | タイマ制御方式 | |
JPH0916409A (ja) | マイクロコンピュータ | |
JPH05108548A (ja) | Dmaコントローラ | |
JPH0666063B2 (ja) | シーケンス制御装置 | |
JPS5965306A (ja) | シ−ケンス制御装置 | |
JPS59218569A (ja) | マイクロ・コンピユ−タ | |
JPS6273335A (ja) | スタツク管理方式 | |
JPH02252047A (ja) | マイクロプロセッサ | |
JPH0462093B2 (ja) | ||
JPS61101865A (ja) | マルチマイクロプロセツサシステム | |
JP2591211B2 (ja) | 高速割込み処理装置 | |
JPH0417530B2 (ja) | ||
JPS6120139A (ja) | 割込み制御方式 | |
JPH0283779A (ja) | ベクトル処理装置の命令実行制御方式 | |
JPH05120203A (ja) | Dma制御方式 | |
JPH02191041A (ja) | データ処理装置 | |
JPH0683640A (ja) | 割込応答処理方式 | |
JPH0376497B2 (ja) | ||
JPH0481939A (ja) | マイクロコンピュータの制御方式 | |
JPS6349941A (ja) | 演算処理装置 |