JPH01130229A - コンピュータ - Google Patents
コンピュータInfo
- Publication number
- JPH01130229A JPH01130229A JP29042087A JP29042087A JPH01130229A JP H01130229 A JPH01130229 A JP H01130229A JP 29042087 A JP29042087 A JP 29042087A JP 29042087 A JP29042087 A JP 29042087A JP H01130229 A JPH01130229 A JP H01130229A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- program
- time
- signal line
- gate
- 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.)
- Pending
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明はコンピュータに関し、さらに詳しくは。
プログラムの実行制御が改良されたコンピュータに関す
る。
る。
(従来の技術)
近年コンピュータの利用分野は拡大の一途をたどり、特
にマイクロコンピュータまたはマイクロプロセッサは様
々な機器の制御を行うために応用されるようになった。
にマイクロコンピュータまたはマイクロプロセッサは様
々な機器の制御を行うために応用されるようになった。
このような応用分野においては9分岐を含むあるプログ
ラム部分の実行時間が該プログラム部分内の分岐の仕方
に拘わらず一定となることが要求される場合がある。−
例としては、マイクロプロセッサを用いてLEDダイナ
ミック表示装置の駆動回路を制御する場合がある。LE
Dダイナミック表示装置においては、一画素または一画
面といった処理単位あたりの処理時間が等しく、ないと
画面にちらつきが生じる等の不都合がある。
ラム部分の実行時間が該プログラム部分内の分岐の仕方
に拘わらず一定となることが要求される場合がある。−
例としては、マイクロプロセッサを用いてLEDダイナ
ミック表示装置の駆動回路を制御する場合がある。LE
Dダイナミック表示装置においては、一画素または一画
面といった処理単位あたりの処理時間が等しく、ないと
画面にちらつきが生じる等の不都合がある。
第3図のフローチャートに示される処理を行うためのプ
ログラムを実行する場合を考える。このプログラムは処
理Aに引き続いて処理Bを行うというものであるが、処
理Aの処理内容は、処理Aに含まれる3個の判断処理、
すなわち判断11判断2および判断3による判断の結果
に応じて4種類の異なる処理の内のいずれかになる。例
えば判断1の結果がNoであれば分岐路31へ進んで処
理lが行われるのに対し9判断1の結果がYesであれ
ば次に判断2が行われ、その結果がNoであれば分岐路
32へ進み、処理2.処理1が順次行われる。尚、第3
図で分岐路32を通る場合に実行時間が最も長いものと
する。
ログラムを実行する場合を考える。このプログラムは処
理Aに引き続いて処理Bを行うというものであるが、処
理Aの処理内容は、処理Aに含まれる3個の判断処理、
すなわち判断11判断2および判断3による判断の結果
に応じて4種類の異なる処理の内のいずれかになる。例
えば判断1の結果がNoであれば分岐路31へ進んで処
理lが行われるのに対し9判断1の結果がYesであれ
ば次に判断2が行われ、その結果がNoであれば分岐路
32へ進み、処理2.処理1が順次行われる。尚、第3
図で分岐路32を通る場合に実行時間が最も長いものと
する。
従来のコンピュータで第3図のフローチャートで表され
るプログラムの実行を行う場合に、処理Aに要する時間
、すなわち処理Aの開始時点から処理Bの開始時点まで
の時間を一定にするためには、第4図のフローチャート
に示すように9分岐路間でプログラム実行時間を揃える
ように時間調整処理が挿入される0分岐路31を通る場
合と分岐路32を通る場合とを比較すると1分岐路32
を通る場合の方が判断2および処理2に要する時間だけ
実行時間が長いので、第4図に示すように、その、時間
に相当するN OP (No 0Peration)命
令列またはループを含む時間調整処理1が分岐路31に
挿入される0分岐路33および34についても、それぞ
れの分岐路を通る場合の実行時間が分岐路32を通る場
合の実行時間に等しくなるように、処理3および処理4
の直後にそれぞれ時間調整処理3および時間調整処理4
が挿入される。このように4個の分岐路を有するプログ
ラムに対して少なくとも3個の時間調整処理の挿入が必
要である。
るプログラムの実行を行う場合に、処理Aに要する時間
、すなわち処理Aの開始時点から処理Bの開始時点まで
の時間を一定にするためには、第4図のフローチャート
に示すように9分岐路間でプログラム実行時間を揃える
ように時間調整処理が挿入される0分岐路31を通る場
合と分岐路32を通る場合とを比較すると1分岐路32
を通る場合の方が判断2および処理2に要する時間だけ
実行時間が長いので、第4図に示すように、その、時間
に相当するN OP (No 0Peration)命
令列またはループを含む時間調整処理1が分岐路31に
挿入される0分岐路33および34についても、それぞ
れの分岐路を通る場合の実行時間が分岐路32を通る場
合の実行時間に等しくなるように、処理3および処理4
の直後にそれぞれ時間調整処理3および時間調整処理4
が挿入される。このように4個の分岐路を有するプログ
ラムに対して少なくとも3個の時間調整処理の挿入が必
要である。
(発明が解決しようとする問題点)
上述したような時間調整を行うコンピュータには次のよ
うな問題点がある。
うな問題点がある。
(1)挿入する時間調整処理プログラムを作成するため
には、各分岐路ごとにその分岐路を通る場合の実行時間
または近似的にはプログラムステップ数を計算し、必要
とされる時間調整量またはステップ調整数を求めなけれ
ばならない。このためプログラム作成の手間が増大する
。
には、各分岐路ごとにその分岐路を通る場合の実行時間
または近似的にはプログラムステップ数を計算し、必要
とされる時間調整量またはステップ調整数を求めなけれ
ばならない。このためプログラム作成の手間が増大する
。
(2)時間調整処理のための命令がプログラム中に多数
台まれることになるので、プログラム記憶装置2例えば
ROMの容量もそれに伴って大きくなる。
台まれることになるので、プログラム記憶装置2例えば
ROMの容量もそれに伴って大きくなる。
これは、記憶装置をできるだけ小さくしたいという要求
に反し、甚だ不都合である。
に反し、甚だ不都合である。
本発明の目的は9時間調整を行うプログラムの作成を容
易に行うことができ、かつ時間調整によるプログラム長
の増加が僅少であるコンピュータを提供することにある
。
易に行うことができ、かつ時間調整によるプログラム長
の増加が僅少であるコンピュータを提供することにある
。
(問題点を解決するための手段)
本発明のコンピュータは、第1の所定時点と第2の所定
時点との間に行うべき処理が終了した時点から該第2の
所定時点までの間プログラムの実行を中断するための信
号を発する手段を備えており、そのことにより上記目的
が達成される。
時点との間に行うべき処理が終了した時点から該第2の
所定時点までの間プログラムの実行を中断するための信
号を発する手段を備えており、そのことにより上記目的
が達成される。
(実施例)
以下に本発明を実施例について説明する。
本発明の一実施例のcpuに設けられる時間調整のため
の回路を第1図に示す。
の回路を第1図に示す。
1はシステムクロックをカウントするアップカウンタで
ある。レジスタ2はアップカウンタ1へ転送すべき時間
調整値T。jを保持する。 RSフリップフロップ3は
そのセット端子にアップカウンタ1からのオーバーフロ
ー信号線10が接続され。
ある。レジスタ2はアップカウンタ1へ転送すべき時間
調整値T。jを保持する。 RSフリップフロップ3は
そのセット端子にアップカウンタ1からのオーバーフロ
ー信号線10が接続され。
リセット端子にはカウンタスタート信号線11が接続さ
れている。RSフリップフロップ4のセット端子にはW
AIT信号線12が接続され、リセット端子にはカウン
タスタート信号線11が接続されている。
れている。RSフリップフロップ4のセット端子にはW
AIT信号線12が接続され、リセット端子にはカウン
タスタート信号線11が接続されている。
RSフリップフロップ3および4の出力はいずれもEx
clusive 0R(1!OR)ゲート5に入力され
ている。
clusive 0R(1!OR)ゲート5に入力され
ている。
EORゲート5はRSフリップフロップ3および4の出
力の排他的論理和をプログラムカウンタ停止信号線13
へ出力する。RSフリップフロップ3の出力はまた。
NOTゲート6によって反転されてANDゲート7の一
方の入力端子に入力されている。ANDゲートの他方の
入力端子にはシステムクロックが入力されている。すな
わちシステムクロックは^NDゲート7を介してアップ
カウンタ1に入力される。
力の排他的論理和をプログラムカウンタ停止信号線13
へ出力する。RSフリップフロップ3の出力はまた。
NOTゲート6によって反転されてANDゲート7の一
方の入力端子に入力されている。ANDゲートの他方の
入力端子にはシステムクロックが入力されている。すな
わちシステムクロックは^NDゲート7を介してアップ
カウンタ1に入力される。
プログラムカウンタ信号線13が旧ghになるとプログ
ラムカウンタが停止する。
ラムカウンタが停止する。
本実施例のコンピュータは、そのCPUが第1図の回路
を備えるとともに、カウンタスタート信号線11にパル
スを送るためのカウンタスタート命令。
を備えるとともに、カウンタスタート信号線11にパル
スを送るためのカウンタスタート命令。
WAIT信号線12にパルスを送るためのWAIT命令
およびレジスタ2に所望の値を設定するためのロード命
令をその命令セットに含んでいる。カウンタスタート命
令の実行によってカウンタスタート信号線11にパルス
が送られ、 WAIT命令の実行によってWAIT信号
線12にパルスが送られる。
およびレジスタ2に所望の値を設定するためのロード命
令をその命令セットに含んでいる。カウンタスタート命
令の実行によってカウンタスタート信号線11にパルス
が送られ、 WAIT命令の実行によってWAIT信号
線12にパルスが送られる。
上述した回路の動作を説明、する。
カウンタスタート命令の実行によってカウンタスタート
信号線11にパルスが送出されると、レジスタ2に設定
されている値がアップカウンタ1に転送される。同時に
、 RSフリップフロップ3および4はいずれもリセッ
トされ、その結果EORゲート5の出力、即ちプログラ
ムカウンタ停止信号線13はLowになる。また、フリ
ップフロップ3の出力がNOTゲート6によって反転さ
れてHighとなり、 ANDゲート7の一方の入力端
子に入力されるので、システムクロックはANDゲート
7を通過してアップカウンタ1に入力される。従ってア
ップカウンタ1はシステムクロックのカウントを開始す
る。即ち、アップカウンタ1の値は、レジスタ2から転
送された値を初期値として、システムクロックの立ち上
がりごとに1ずつ増加してゆ(。
信号線11にパルスが送出されると、レジスタ2に設定
されている値がアップカウンタ1に転送される。同時に
、 RSフリップフロップ3および4はいずれもリセッ
トされ、その結果EORゲート5の出力、即ちプログラ
ムカウンタ停止信号線13はLowになる。また、フリ
ップフロップ3の出力がNOTゲート6によって反転さ
れてHighとなり、 ANDゲート7の一方の入力端
子に入力されるので、システムクロックはANDゲート
7を通過してアップカウンタ1に入力される。従ってア
ップカウンタ1はシステムクロックのカウントを開始す
る。即ち、アップカウンタ1の値は、レジスタ2から転
送された値を初期値として、システムクロックの立ち上
がりごとに1ずつ増加してゆ(。
次に−AIT命令の実行によってWAI?信号線12に
パルスが送出されると、 RSフリップフロップ4がセ
ットされ、その出力が旧ghになる。従・ってEORゲ
ート5の出力、即ちプログラムカウンタ停止信号線13
が旧ghになり、それによってプログラムカウンタが停
止し、プログラムの実行が中断される。
パルスが送出されると、 RSフリップフロップ4がセ
ットされ、その出力が旧ghになる。従・ってEORゲ
ート5の出力、即ちプログラムカウンタ停止信号線13
が旧ghになり、それによってプログラムカウンタが停
止し、プログラムの実行が中断される。
システムクロックのカウントを続行していたアップカウ
ンタ1がオーバーフローすると、オーバーフロー出力信
号線10が旧ghになり、 RSフリ”ヅプフロップ3
がセットされる。従ってEORゲート5の出力、即ちプ
ログラムカウンタ停止信号線13はLo−に変化する。
ンタ1がオーバーフローすると、オーバーフロー出力信
号線10が旧ghになり、 RSフリ”ヅプフロップ3
がセットされる。従ってEORゲート5の出力、即ちプ
ログラムカウンタ停止信号線13はLo−に変化する。
その結果、プログラムカウンタの停止状態は解除され、
プログラムの実行が再開される。
プログラムの実行が再開される。
このとき、 NOTゲート6の出力はLowに変化する
ので、システムクロックはANDゲート7によって阻止
されてアップカウンタ1に入力されず、アップカウンタ
1のカウント動作は停止する。
ので、システムクロックはANDゲート7によって阻止
されてアップカウンタ1に入力されず、アップカウンタ
1のカウント動作は停止する。
レジスタ2はこの回路のために別個に設けてもよいし、
汎用レジスタの内の1個と兼用にしてもよい。
汎用レジスタの内の1個と兼用にしてもよい。
プログラムカウンタが停止している間、 cpuが消費
電力節電モードであるスタンバイ状態に入るようにする
と好適である。スタンバイ状態にあっては、 cpuの
内部RAM、 レジスタおよび端子の状態が保持され
たままで、一部の内部クロックが停止する。
電力節電モードであるスタンバイ状態に入るようにする
と好適である。スタンバイ状態にあっては、 cpuの
内部RAM、 レジスタおよび端子の状態が保持され
たままで、一部の内部クロックが停止する。
上述した実施例のコンピュータにおいて時間調整を行う
ためのプログラミング技法を説明する。
ためのプログラミング技法を説明する。
第3図のフローチャートと同様の処理を行う場合を例に
とると、第2図に示すように、第3図のフローチャート
に3個の命令を挿入することによって時間調整が行われ
る。処理Aの直前にカウンタスタート命令22を挿入し
、さらに、該命令の前に時間調整値をオペランドとする
ロード命令21を挿入する。処理Aと処理Bとの間には
一^IT命令23が挿入される。ロード命令21とカウ
ンタスタート命令22との間にはレジスタ2に影響しな
い他の命令がはさまっていても良い。
とると、第2図に示すように、第3図のフローチャート
に3個の命令を挿入することによって時間調整が行われ
る。処理Aの直前にカウンタスタート命令22を挿入し
、さらに、該命令の前に時間調整値をオペランドとする
ロード命令21を挿入する。処理Aと処理Bとの間には
一^IT命令23が挿入される。ロード命令21とカウ
ンタスタート命令22との間にはレジスタ2に影響しな
い他の命令がはさまっていても良い。
ロード命令21によって、オペランドの時間調整値T。
jをレジスタ2にロードする0時間調整値Tadjとし
ては式(1)を満足する適切な値を選ぶ。
ては式(1)を満足する適切な値を選ぶ。
T、、、 < CMAX + 1− AMAX (
1)ただし、 CMAXはアップカウンタ1の取り得る
最大値であり、 AMAXは処理Aの実行に要する最大
のクロック数である。レジスタ2に時間調整値Tadj
がロードされた後、カウンタスタート命令22によって
カウンタスタート信号線11にパルスが送出される。従
って、前述したようにレジスタ2の値がアップカウンタ
1に転送され、かつアップカウンタ1はシステムクロッ
クのカウントを開始する。
1)ただし、 CMAXはアップカウンタ1の取り得る
最大値であり、 AMAXは処理Aの実行に要する最大
のクロック数である。レジスタ2に時間調整値Tadj
がロードされた後、カウンタスタート命令22によって
カウンタスタート信号線11にパルスが送出される。従
って、前述したようにレジスタ2の値がアップカウンタ
1に転送され、かつアップカウンタ1はシステムクロッ
クのカウントを開始する。
処理Aが行われた後、 WAIT命令が実行されると。
WAIT信号線12にパルスが送出され、プログラムカ
ウンタが停止し、プログラムの実行が中断される。
ウンタが停止し、プログラムの実行が中断される。
アップカウンタlがオーバーフローすると、プログラム
の実行が再開され、処理日に移る。
の実行が再開され、処理日に移る。
上述の説明から分かるように、第2図のフローチャート
に対応するプログラムの実行において。
に対応するプログラムの実行において。
処理Aの開始時点から処理Bの開始時点比に経過する時
間は、処理A内の分岐の仕方に拘わらず。
間は、処理A内の分岐の仕方に拘わらず。
(CMAX + I T−aj)個のクロックに相当
する一定の時間となる。
する一定の時間となる。
Tadjを計算する手間を省くために、ロード命令のオ
ペランドにAMAXより大なる値TAを指定した場合に
、実際にレジスタ2にロードされる値が(CMAX +
1−TA)となるような回路を設けることもできる。
ペランドにAMAXより大なる値TAを指定した場合に
、実際にレジスタ2にロードされる値が(CMAX +
1−TA)となるような回路を設けることもできる。
また、レジスタ2にロードされる値はTAとし、レジス
タ2からアップカウンタ1へ転送される際にTAを(C
MAX + I Ta)に変換する回路を設けること
もできる。
タ2からアップカウンタ1へ転送される際にTAを(C
MAX + I Ta)に変換する回路を設けること
もできる。
(発明の効果)
本発明によれば、プログラム部分の実行時間を容易に一
定に調整することができる。またその時間調整に伴うプ
ログラム長の増大が僅少であるのでそのために必要とす
る記憶容量を小さくすることのできるコンピュータが提
供される。
定に調整することができる。またその時間調整に伴うプ
ログラム長の増大が僅少であるのでそのために必要とす
る記憶容量を小さくすることのできるコンピュータが提
供される。
4 の− な普゛)
第1図は本発明の一実施例のCPUが備える回路の回路
図、第2図は本発明の一実施例における時間調整の仕方
の説明のためのフローチャート、第3図は分岐を含むプ
ログラムの一例のフローチャート、第4図は従来のコン
ピュータにおける時間調整の仕方の説明の赳めのフロー
チャートである。
図、第2図は本発明の一実施例における時間調整の仕方
の説明のためのフローチャート、第3図は分岐を含むプ
ログラムの一例のフローチャート、第4図は従来のコン
ピュータにおける時間調整の仕方の説明の赳めのフロー
チャートである。
1・・・アップカウンタ、2・・・レジスタ、3,4・
・・RSフリップフロップ、 5−Exclusiv
e ORゲート、6・・・NOTゲート、7・・・AN
Dゲート、10・・・オーバーフロー信号線、11・・
・カウンクスタート信号線、 12・・・WAIT信号
線、13・・・プログラムカウンタ停止信号線。
・・RSフリップフロップ、 5−Exclusiv
e ORゲート、6・・・NOTゲート、7・・・AN
Dゲート、10・・・オーバーフロー信号線、11・・
・カウンクスタート信号線、 12・・・WAIT信号
線、13・・・プログラムカウンタ停止信号線。
以上
Claims (1)
- 1、第1の所定時点と第2の所定時点との間に行うべき
処理が終了した時点から該第2の所定時点までの間プロ
グラムの実行を中断するための信号を発する手段を備え
たコンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29042087A JPH01130229A (ja) | 1987-11-16 | 1987-11-16 | コンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29042087A JPH01130229A (ja) | 1987-11-16 | 1987-11-16 | コンピュータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01130229A true JPH01130229A (ja) | 1989-05-23 |
Family
ID=17755798
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29042087A Pending JPH01130229A (ja) | 1987-11-16 | 1987-11-16 | コンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01130229A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011008698A (ja) * | 2009-06-29 | 2011-01-13 | Renesas Electronics Corp | マイクロコンピュータ及びマイクロコンピュータシステム |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6145333A (ja) * | 1984-08-09 | 1986-03-05 | Fujitsu Ltd | 処理時間一定化方式 |
| JPS62214441A (ja) * | 1986-03-17 | 1987-09-21 | Fujitsu Ltd | プロセツサのホルト制御方式 |
-
1987
- 1987-11-16 JP JP29042087A patent/JPH01130229A/ja active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6145333A (ja) * | 1984-08-09 | 1986-03-05 | Fujitsu Ltd | 処理時間一定化方式 |
| JPS62214441A (ja) * | 1986-03-17 | 1987-09-21 | Fujitsu Ltd | プロセツサのホルト制御方式 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011008698A (ja) * | 2009-06-29 | 2011-01-13 | Renesas Electronics Corp | マイクロコンピュータ及びマイクロコンピュータシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2762670B2 (ja) | データ処理装置 | |
| US8020015B2 (en) | Method and apparatus for on-demand power management | |
| US7730334B2 (en) | Method and apparatus for on-demand power management | |
| JPH07281782A (ja) | クロック制御回路 | |
| JPH01130229A (ja) | コンピュータ | |
| JPS63172345A (ja) | スイツチデ−タ入力装置 | |
| US7124311B2 (en) | Method for controlling processor in active/standby mode by third decoder based on instructions sent to a first decoder and the third decoder | |
| JPH0573296A (ja) | マイクロコンピユータ | |
| JPH05259825A (ja) | クロック発生回路 | |
| JPS607540A (ja) | 割込制御回路 | |
| JP4079653B2 (ja) | クロック制御方法及びクロック制御回路 | |
| JPH0312751B2 (ja) | ||
| JPS62235673A (ja) | マイクロコンピユ−タ | |
| JPH04275603A (ja) | プログラマブル・コントローラ | |
| JPH0369212A (ja) | プログラマブル・カウンタ回路 | |
| JPH0876876A (ja) | マイクロプロセッサのクロック供給制御回路 | |
| JPS5839347A (ja) | プロセツサ | |
| JPS62162104A (ja) | フロ−チヤ−ト式プログラマブルコントロ−ラ | |
| JPH10171654A (ja) | 高速データ演算処理装置 | |
| JPH0352053A (ja) | シリアルデータ用インターフェース回路 | |
| JPH0695304B2 (ja) | デ−タ処理装置 | |
| JPH08179954A (ja) | 半導体集積回路 | |
| JPH03156647A (ja) | ウォッチドッグタイマ | |
| JPH031265A (ja) | インタフェース回路 | |
| JPS61147323A (ja) | 半導体集積回路装置 |