JPH0748168B2 - Timer processing method - Google Patents
Timer processing methodInfo
- Publication number
- JPH0748168B2 JPH0748168B2 JP2173527A JP17352790A JPH0748168B2 JP H0748168 B2 JPH0748168 B2 JP H0748168B2 JP 2173527 A JP2173527 A JP 2173527A JP 17352790 A JP17352790 A JP 17352790A JP H0748168 B2 JPH0748168 B2 JP H0748168B2
- Authority
- JP
- Japan
- Prior art keywords
- status
- read
- count value
- timer circuit
- timer
- 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
Landscapes
- Microcomputers (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】 〔概 要〕 外部バスに接続されたタイマ回路にアクセスしてそのカ
ウント値とステータスを順次的に読み取るシステムにお
けるタイマ処理方式に関し, カウント値とステータスの読み取りタイミングの時間差
の影響で読み取りエラーが生じないようにすることを目
的とし, クロックをカウントし,そのカウント値とアンダーフロ
ーまたはオーバーフローのステータスを出力するタイマ
回路を有し,前記タイマ回路のカウント値とステータス
とをそれぞれ順次的なカウント値読み取りタイミングと
ステータス読み取りタイミングとによって同一バスを介
して読み取りタイマ処理を行う計算機システムにおい
て, 前記バスを介してアクセスされるステータスレジスタ
と,前記タイマ回路のアンダーフローまたはオーバーフ
ローのステータスを一時的に保持するラッチと,前記ラ
ッチのステータス出力を前記カウント値読み取りタイミ
ングで選択し前記ステータスレジスタに出力するゲート
とをそなえ, カウント値読み取りタイミングで前記タイマ回路のカウ
ント値を読み取る際,前記ゲートを同時に制御し,前記
ラッチを介してステータス出力を前記ステータスレジス
タにセットし,続くステータス読み取りタイミングでス
テータスレジスタを読み取ることを可能にした。DETAILED DESCRIPTION OF THE INVENTION [Outline] The present invention relates to a timer processing method in a system for accessing a timer circuit connected to an external bus and sequentially reading the count value and the status thereof. A timer circuit that counts the clock and outputs the count value and the status of underflow or overflow is provided for the purpose of preventing the reading error due to the influence, and the count value and the status of the timer circuit are respectively In a computer system that performs read timer processing via the same bus at a sequential count value read timing and a status read timing, a status register accessed via the bus and an underflow or overflow of the timer circuit. A latch for temporarily holding the status of the timer and a gate for selecting the status output of the latch at the count value reading timing and outputting to the status register, and reading the count value of the timer circuit at the count value reading timing. At this time, the gates are controlled simultaneously, the status output is set in the status register through the latch, and the status register can be read at the subsequent status reading timing.
本発明は,計算機システムにおけるタイマ処理方式に関
し,特に外部バスに接続されたタイマ回路にアクセスし
てそのカウント値とステータスを順次的に読み取るシス
テムにおけるタイマ処理方式に関する。The present invention relates to a timer processing method in a computer system, and more particularly to a timer processing method in a system that accesses a timer circuit connected to an external bus and sequentially reads its count value and status.
従来の多くの計算機システムでは,予め設定されたタイ
ミングをCPUに知らせるために設けられるタイマ回路が,
CPUから直接アクセスできる内部バスに接続されてい
る。この場合アクセス時間にあまり遅れが生じないため
大きな問題はなかった。In many conventional computer systems, a timer circuit provided to inform the CPU of preset timing is
It is connected to an internal bus that can be directly accessed by the CPU. In this case, there was no big problem because access time was not delayed much.
しかし,タイマ回路がバスアービトレーション(バス使
用権獲得制御)を必要とするI/Oバスのような外部バス
に接続されているシステムの場合には,バス使用権をと
れずにタイマ回路へのアクセスが遅れ,正確なタイミン
グ制御ができなくなることがあった。However, in a system in which the timer circuit is connected to an external bus such as an I / O bus that requires bus arbitration (bus right acquisition control), access to the timer circuit cannot be obtained without acquiring the bus right. However, there were times when delays occurred and accurate timing control became impossible.
第5図に,このような従来システムの例を示す。第5図
において,1は計算機ユニット,2はCPU,3は主メモリ,4は
内部バス,5はI/Oバスインタフェース,6はI/Oバス,7はタ
イマ回路,8は主メモリ3上に設けられたソフトウェアタ
イマ,9はソフトウェアタイマ8を制御するタイマ制御プ
ログラム,10はステータスレジスタである。FIG. 5 shows an example of such a conventional system. In FIG. 5, 1 is a computer unit, 2 is a CPU, 3 is a main memory, 4 is an internal bus, 5 is an I / O bus interface, 6 is an I / O bus, 7 is a timer circuit, and 8 is on the main memory 3. Is a software timer, 9 is a timer control program for controlling the software timer 8, and 10 is a status register.
タイマ回路7は,クロックパルスを入力として一定値か
らカウントダウンあるいは一定値までカウントアップす
る循環的なカウンタであり,ハードウェアで構成され
る。タイマ回路7の出力は,カウント値と,ダウンカウ
ントを行うかアップカウントを行うかにより異なるアン
ダーフローあるいはオーバーフローのキャリ(ボロー)
出力の有無を示すステータスとからなる。The timer circuit 7 is a cyclic counter that receives a clock pulse as an input and counts down from a fixed value or counts up to a fixed value, and is configured by hardware. The output of the timer circuit 7 differs depending on the count value and whether the counter is down-counting or up-counting.
It consists of a status indicating the presence or absence of output.
ソフトウェアタイマ8は,たとえば日時分析などの時計
データを生成するために,タイマ制御プログラム9によ
り制御されるタイマであり,そのビット幅は,タイマ回
路7のビット幅よりも大きい。タイマ制御プログラム9
は,タイマ回路7にアクセスして,タイマ回路7のカウ
ント値とステータスとを読み取り,それぞれの値でソフ
トウェアタイマ8の下位ビット部分と上位ビット部分と
を更新する繰り返し動作を行う。ここでソフトウェアタ
イマ8の下位ビット部分は,タイマ回路7から読み取ら
れるカウント値のビット幅と同じ長さにされる。The software timer 8 is a timer controlled by the timer control program 9 in order to generate clock data for date and time analysis, for example, and its bit width is larger than that of the timer circuit 7. Timer control program 9
Accesses the timer circuit 7, reads the count value and the status of the timer circuit 7, and repeats the operation of updating the lower bit part and the upper bit part of the software timer 8 with the respective values. Here, the lower bit part of the software timer 8 has the same length as the bit width of the count value read from the timer circuit 7.
タイマ回路7のカウント値をステータスの読み取りは,
ハード構成上の制約から別々に行われ,ステータスはス
テータスレジスタ10から行われる。To read the count value of the timer circuit 7 and the status,
The status is performed from the status register 10 separately from the hardware configuration restrictions.
ステータスレジスタ10は,タイマ回路7の動作中のステ
ータス変化をそのまま反映した値をもつ。The status register 10 has a value that directly reflects the status change during the operation of the timer circuit 7.
タイマ制御プログラム9は,タイマ回路7からまずカウ
ント値を読み取ると,その値でソフトウェアタイマ8の
対応する下位ビット部分を更新し,次にタイマ回路7か
らステータスを読み取り,ステータスがアンダーフロー
あるいはオーバーフローが生じたことを示していた場合
には,ソフトウェアタイマ8の上位ビット部分を−1あ
るいは+1更新する。When the timer control program 9 first reads the count value from the timer circuit 7, the corresponding lower bit part of the software timer 8 is updated with that value, and then the status is read from the timer circuit 7 to check whether the status underflows or overflows. If it is indicated that it has occurred, the upper bit portion of the software timer 8 is updated by -1 or +1.
このようにして,ソフトウェアタイマ8の下位ビット部
分は,タイマ回路7のカウント値が読み取られるごとに
対応して更新されていき,また上位ビット部分は,タイ
マ回路7から読み取られたステータスが,アンダーフロ
ーあるいはオーバーフローを示すごとに更新される。In this way, the lower bit part of the software timer 8 is updated correspondingly every time the count value of the timer circuit 7 is read, and the upper bit part shows that the status read from the timer circuit 7 is under Updated every time a flow or overflow is indicated.
第5図の従来例において,タイマ制御プログラム9がタ
イマ回路7の値を読む取る命令を実行する周期はCPU2の
処理状態により一定ではなく,またI/Oバス6のバスア
ービトレーションでバス使用権を直ちに獲得できない場
合がある。このため,タイマ回路7からカウント値を読
み取るタイミングとステータスを読み取るタイミングと
の間にはかなりの時間差が生じる可能性がある。In the conventional example of FIG. 5, the cycle in which the timer control program 9 executes the instruction to read the value of the timer circuit 7 is not constant depending on the processing state of the CPU 2, and the bus use right is assigned by the bus arbitration of the I / O bus 6. You may not be able to obtain it immediately. Therefore, a considerable time difference may occur between the timing of reading the count value from the timer circuit 7 and the timing of reading the status.
その結果,たとえば第6図に例示されるように,タイマ
回路7からカウント値を読み取った時点ではアンダーフ
ローが生じていたのに,次にステータスを読みにいった
ときにはタイマ回路7のカウントが進んでいて,アンダ
ーフローは既に消失していることがあり,ステータスの
リードミスが起きてソフトウェアタイマ8に誤差が生じ
るという問題があった。As a result, as illustrated in FIG. 6, underflow occurs when the count value is read from the timer circuit 7, but the count of the timer circuit 7 advances when the status is read next time. However, there is a problem in that the underflow may have already disappeared, and a status read error may occur, causing an error in the software timer 8.
本発明は,タイマ回路から出力ステータスのアンダーフ
ローあるいはオーバーフローのステータス出力は,カウ
ンタ機構がゼロからフルカウントにカウントダウンする
とき,あるいはフルカウントからゼロにカウントアップ
するときの短時間の間のみ生じることから,読み取りタ
イミングの遅れが影響しやすいことに着目し,タイマ回
路からのカウント値読み取り時にステータスをステータ
スレジスタにセットし,ステータスが読み取られるまで
保持されるようにして,アンダーフローあるいはオーバ
ーフローが生じた場合には,カウント値の読み取りから
ステータス読み取りまでの時間差とは無関係にステータ
スが確実に読み取られるようにしたものである。According to the present invention, the underflow or overflow status output of the output status from the timer circuit occurs only for a short time when the counter mechanism counts down from zero to full count or from full count to zero. Paying attention to the influence of timing delay, the status is set in the status register when the count value is read from the timer circuit, and it is held until the status is read. If an underflow or overflow occurs, The status is read reliably regardless of the time difference between reading the count value and reading the status.
第1図は本発明の原理的構成図であり,便宜上第5図の
従来システムの例を改良したものとして示してある。FIG. 1 is a block diagram of the principle of the present invention, and is shown as an improved version of the conventional system shown in FIG. 5 for convenience.
図中,1は計算機ユニット,6はI/Oバス,7はタイマ回路,8
はソフトウェアタイマ,10はステータスレジスタ,11はス
テータス書き込み制御回路,12はラッチ,13はゲートであ
る。In the figure, 1 is a computer unit, 6 is an I / O bus, 7 is a timer circuit, and 8
Is a software timer, 10 is a status register, 11 is a status writing control circuit, 12 is a latch, and 13 is a gate.
タイマ回路7からのカウント値とステータスの読み取り
は,,で示すように2回に分けて行われる。ステー
タスの読み取りは,ステータスレジスタ10から行われ
る。The reading of the count value and the status from the timer circuit 7 is performed twice as indicated by. The status is read from the status register 10.
ステータス書き込み制御回路11はタイマ回路7のアンダ
ーフローあるいはオーバーフローのステータス出力を一
時保持するラッチ12と,このラッチ12に保持されたステ
ータスを,カウント値の読み取りタイミングでステータ
スレジスタ10に書き込むゲート13とからなる。The status write control circuit 11 includes a latch 12 that temporarily holds the underflow or overflow status output of the timer circuit 7, and a gate 13 that writes the status held in the latch 12 to the status register 10 at the timing of reading the count value. Become.
第1図において,はタイマ回路からカウント値を読み
取るとき,ステータス書き込み制御回路11はそのときラ
ッチ12に保持されていたステータスをステータスレジス
タ10に書き込む。In FIG. 1, when the count value is read from the timer circuit, the status write control circuit 11 writes the status held in the latch 12 at that time to the status register 10.
次にでステータスを読み取るとき,ステータスレジス
タ10に保持されているステータスが読み取られるため,
との間の時間差によってステータスの読み取りが失
敗するようなことはない。The next time the status is read, the status held in status register 10 is read,
There is no chance that the status reading will fail due to the time difference between and.
またタイマ回路7からカウント値を読み取った時点では
アンダーフローまたはオーバーフローが発生していず,
その直後に発生したような場合には,ステータス書き込
み制御回路11中のラッチ12がこのステータスを一旦保持
し,次のカウント値読み取りが行われるタイミングでス
テータスレジスタ10にセットして,その後のステータス
読み取りタイミングで読み出されるようにする。Further, when the count value is read from the timer circuit 7, no underflow or overflow has occurred,
If it occurs immediately after that, the latch 12 in the status write control circuit 11 temporarily holds this status, sets it in the status register 10 at the timing when the next count value is read, and then reads the status. Read it at the timing.
なおラッチ12はカウント値の読み取りタイミングの終わ
りでリセットされ,またステータスレジスタ10はステー
タスの読み取りタイミングの終わりでリセットされ,ス
テータスの2重読み取りが生じないようにする。The latch 12 is reset at the end of the read timing of the count value, and the status register 10 is reset at the end of the read timing of the status to prevent double reading of the status.
第1図に示された本発明原理的構成は,第5図の従来シ
ステムにそのまま適用されることができ,その場合計算
機ユニット1側は変更を要しない。The principle configuration of the present invention shown in FIG. 1 can be directly applied to the conventional system of FIG. 5, in which case the computer unit 1 side does not need to be changed.
第2図ないし第4図は,このような実施例における動作
タイミングを,ケース1,ケース2,ケース3に分けて示し
たものである。この実施例では,タイマ回路7はカウン
トダウン動作を行い,カウント値0でアンダーフロー
(ボロー)を出力するものとされる。FIG. 2 to FIG. 4 show the operation timing in such an embodiment divided into case 1, case 2, and case 3. In this embodiment, the timer circuit 7 performs a countdown operation and outputs an underflow (borrow) when the count value is 0.
第2図ないし第5図において,“クロック”はタイマ回
路7のカウントクロックであり,“カウント値”はその
カウント結果の現在値,“カウント値読み取り”と“ス
テータス読み取り”はそれぞれ計算機ユニット1から与
えられる読み取りタイミング,“アンダーフロー”はタ
イマ回路7のアンダーフロー出力,“ラッチ”は第1図
のラッチ12の出力値,“ステータス”は第1図のステー
タスレジスタ10の出力値を示す。2 to 5, "clock" is the count clock of the timer circuit 7, "count value" is the current value of the count result, and "count value read" and "status read" are from the computer unit 1, respectively. The given read timing, "underflow" is the underflow output of the timer circuit 7, "latch" is the output value of the latch 12 in FIG. 1, and "status" is the output value of the status register 10 in FIG.
第2図のケース1では,タイマ回路のカウント値読み取
り時でもステータス読み取り時でもアンダーフローが発
生しないため,アンダーフローのステータスは読み取ら
れない。In case 1 in FIG. 2, underflow does not occur during reading of the count value of the timer circuit and during reading of the status, so the underflow status cannot be read.
第3図のケース2では,カウント値読み取りのタイミン
グではアンダーフローが発生せず,次のステータス読み
取りのタイミングでアンダーフローが発生している。こ
のアンダーフロー出力は直ちにラッチ12にセットされ,
続くカウント値読み取りのタイミングでステータスレジ
スタ10にセットされて,その後のステータス読み取りの
タイミングで読み取られる。In case 2 of FIG. 3, an underflow does not occur at the timing of reading the count value, but an underflow occurs at the timing of reading the next status. This underflow output is immediately set in the latch 12,
It is set in the status register 10 at the timing of reading the subsequent count value, and is read at the timing of reading the status thereafter.
第4図のケース3では,カウント値読み取りのタイミン
グでアンダーフローが発生している。この場合はラッチ
12を経由してステータスレジスタ10にそのステータスが
セットされ,続くステータス読み取りのタイミングで読
み取られる。In case 3 of FIG. 4, an underflow occurs at the timing of reading the count value. Latch in this case
The status is set in the status register 10 via 12 and is read at the timing of the subsequent status reading.
このようにして,どのようなタイミングでアンダーフロ
ーが発生しても抜けなしに読み取りが行われる。In this way, even if an underflow occurs at any timing, reading is performed without omission.
本発明によれば,タイマ回路がI/Oバスのような外部バ
スと接続されていてアクセスタイミングに遅れが生じる
ような場合でも,そのタイミング遅れを意識することな
くカウント値とステータスの確実な読み取りを行うこと
ができ,これらの読み取り結果をソフトウェアタイマの
制御に使用するなどの用途において,精度の低下をなく
すことができる。According to the present invention, even if the timer circuit is connected to an external bus such as an I / O bus and the access timing is delayed, the count value and status can be reliably read without being aware of the timing delay. Therefore, it is possible to eliminate the decrease in accuracy in applications such as using these read results for controlling the software timer.
第1図は本発明の原理的構成図,第2図ないし第4図は
本発明実施例のケース1ないしケース3の動作タイミン
グ図,第5図は従来システムの例の構成図,第6図は従
来システムの動作タイミング図である。 第1図中, 1:計算機ユニット 6:I/Oバス 7:タイマ回路 8:ソフトウェアタイマ 10:ステータスレジスタ 11:ステータス書き込み制御回路 12:ラッチ 13:ゲートFIG. 1 is a block diagram of the principle of the present invention, FIGS. 2 to 4 are operation timing diagrams of cases 1 to 3 of the embodiment of the present invention, and FIG. 5 is a block diagram of an example of a conventional system, FIG. FIG. 4 is an operation timing chart of the conventional system. In Fig. 1, 1: Computer unit 6: I / O bus 7: Timer circuit 8: Software timer 10: Status register 11: Status write control circuit 12: Latch 13: Gate
Claims (1)
アンダーフローまたはオーバーフローのステータスを出
力するタイマ回路を有し,前記タイマ回路のカウント値
とステータスとをそれぞれ順次的なカウント値読み取り
タイミングとステータス読み取りタイミングとによって
同一バスを介して読み取りタイマ処理を行う計算機シス
テムにおいて, 前記バスを介してアクセスされるステータスレジスタ
と,前記タイマ回路のアンダーフローまたはオーバーフ
ローのステータスを一時的に保持するラッチと,前記ラ
ッチのステータス出力を前記カウント値読み取りタイミ
ングで選択し前記ステータスレジスタに出力するゲート
とをそなえ, カウント値読み取りタイミングで前記タイマ回路のカウ
ント値を読み取る際,前記ゲートを同時に制御し,前記
ラッチを介してステータス出力を前記ステータスレジス
タにセットし,続くステータス読み取りタイミングでス
テータスレジスタを読み取ることを特徴とするタイマ処
理方式。1. A timer circuit that counts clocks and outputs the count value and an underflow or overflow status. The count value and the status of the timer circuit are sequentially read and read, respectively. In a computer system that performs read timer processing via the same bus depending on timing, a status register accessed via the bus, a latch that temporarily holds the underflow or overflow status of the timer circuit, and the latch Status output of the timer circuit is selected at the count value reading timing and output to the status register. When the count value of the timer circuit is read at the count value reading timing, the gate is simultaneously controlled. Timer processing method, and sets a status output to the status register via the latch, characterized in that reading the status register in the subsequent status read timing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2173527A JPH0748168B2 (en) | 1990-06-29 | 1990-06-29 | Timer processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2173527A JPH0748168B2 (en) | 1990-06-29 | 1990-06-29 | Timer processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0462611A JPH0462611A (en) | 1992-02-27 |
JPH0748168B2 true JPH0748168B2 (en) | 1995-05-24 |
Family
ID=15962179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2173527A Expired - Lifetime JPH0748168B2 (en) | 1990-06-29 | 1990-06-29 | Timer processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0748168B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61255422A (en) * | 1985-05-08 | 1986-11-13 | Nec Corp | Timer controlling circuit |
JPS63278113A (en) * | 1987-05-11 | 1988-11-15 | Mitsubishi Electric Corp | Timer controller |
-
1990
- 1990-06-29 JP JP2173527A patent/JPH0748168B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0462611A (en) | 1992-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0242879B1 (en) | Data processor with wait control allowing high speed access | |
JP2661222B2 (en) | Pulse output device | |
JP2588195B2 (en) | Pulse input device | |
US5533037A (en) | Latency error detection circuit for a measurement system | |
JPH0320776B2 (en) | ||
JPH0748168B2 (en) | Timer processing method | |
KR920002830B1 (en) | Direct memory access controller | |
JPH051504B2 (en) | ||
JPH03271829A (en) | Information processor | |
JP3093374B2 (en) | Interrupt controller | |
JPH09311812A (en) | Microcomputer | |
JP2948714B2 (en) | Receive overrun control circuit | |
SU1541624A1 (en) | Device for buffering information | |
JP2940000B2 (en) | Single chip microcomputer | |
JPS6391756A (en) | Partial write instruction processing system for storage device | |
SU934474A1 (en) | Programme-interrupting device | |
JPS62241044A (en) | History information collecting device | |
JP2536103B2 (en) | Data processing device | |
JPS62119663A (en) | Information processing unit | |
JPH0619752A (en) | Microcomputer | |
JPS61117651A (en) | Interface device | |
JPH047762A (en) | Memory access method | |
JPS6368924A (en) | System for controlling data processing of microprocessor | |
JPH06314968A (en) | Read control method for counter | |
JPH02310746A (en) | Memory access wait control circuit |