JPH10510078A - タイママネージャ - Google Patents
タイママネージャInfo
- Publication number
- JPH10510078A JPH10510078A JP8532768A JP53276896A JPH10510078A JP H10510078 A JPH10510078 A JP H10510078A JP 8532768 A JP8532768 A JP 8532768A JP 53276896 A JP53276896 A JP 53276896A JP H10510078 A JPH10510078 A JP H10510078A
- Authority
- JP
- Japan
- Prior art keywords
- timer
- value
- input
- output
- register
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Bus Control (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
(57)【要約】
通信プロトコルの交換時に、いつ事象が発生しなかったかを決定する多数のEDTOVタイマ(TIMER0〜TIMER2047)を確立する方法および装置。各タイマに対する値はタイマアレイとして保有される。全タイマアレイは、状態機械(102)によって規則的な走査間隔で読み出され、4つの関連ハードウェアデクレメンタ(113a〜113d)によって、1度に4つのタイマがデクレメントされる。アクティブタイム値は読み出され、ゼロであるのかを調べられ、デクレメントされ、タイマアレイに書き戻される。タイマがタイムアウトしたと検出されると、値がタイムアウトFIFOにログされ、“FF”hがタイマに書き戻される。本発明は、専用ハードウェア(101)によって、各タイマの値をデクレメントまたは変化させ、専用状態機(102)によって各タイマの値を読み、ハードウェア(101)に該値を供給し、各タイマの新しい値を再びメモリにロードする。
Description
【発明の詳細な説明】
タイママネージャ
発明の背景
1.発明の分野
本発明は、コンピュータタイマ、特に経過時間を測定できる多数の装置を管理
するコンピュータ制御機構に関する。
2.従来技術の説明
タイマは、事象間の持続時間を測定し、あるいはいつ所定の時間量が満了した
か表示するためのコンピュータ技術、および通信技術で通常使用される。例えば
、期待され応答するはずの第2の装置の故障に応じて、第1の装置が処置を取る
前に有限の時間量を待つことをタイマは許容する。第2の装置が故障したと考察
する前に、ある装置が応答を待つ時間量は“エラー検出タイムアウト値”(ED
TOV)と呼ばれる。タイマを実現する1つの通常の方法によれば、カウンタは
、値がロードされ、クロック信号によって規則的な間隔でデクレメントされる。
カウンタの値が所定の値(例えば、0)に到達する場合、タイマは終了する。こ
の装備は、同時に動作するタイマ毎に各クロックサイクルでタイマの値をデクレ
メントさせることのできる専用カウンタ回路を有していることを必要とする。
プログラマブル装置(例えば、マイクロコントローラあるいはマイクロプロセ
ッサ)を有するシステムでタイマを実行する代替の方法は、プログラマブル装置
にメモリロケーションへのロードをさせることにある。プログラマブル装置は、
その時、(実行されるコードの中に埋め込まれたソフトウェア命令あるいは外部
割り込みクロックのいずれかによって)規則的な間隔で割り込まれる。各割り込
みで、プログラマブル装置は、全ての他の機能を停止し、メモリに記憶された値
をデクレメントさせ、この値が所定の値(例えば0)に等しいかどうかを調べる
。記憶された値が所定の値に等しい場合、タイマが終了される。
多数の事象が同時に調時されねばならないいくつかのシステムでは、各EDT
OVの終了を検出するための多数のタイマを保有する必要がある。多数のハード
ウェアタイマをサポートすることは、その各々が1つのEDTOVタイマを保有
し、デクレメントさせるために専用である多数のハードウェア装置(すなわち、
カウンタ)を必要とする。それとは別に、多数のソフトウェアタイマをサポート
することは、各タイマのデクレメント、チェックおよび終了の信号送出に専用な
かなりのソフトウェアオーバーヘッド量を必要する。
例えば、周知の光ファイバチャネルプロトコルに従って通信するシステムにお
いて、多数のタイマ(例えば、2,048の8ビットタイマ)は、2,048の
交換の各々に関連したEDTOVの終了を検出するためにいつでも別々に保有さ
れることを望むこともある。交換は、光ファイバチャネルを介する2つの装置間
の両方向通信セッションである。交換の各々は複数のシーケンスを含んでいる。
各シーケンスは複数のフレームを含む一方向通信セッションである。データのフ
レームは1ギガビット/秒に到るまで伝送される。
光ファイバチャネルプロトコルによれば、交換の中のいずれかに関連したED
TOVタイマが終了するかどうかの動作が必要とされる。さらに、光ファイバチ
ャネルプロトコルによれば、各タイマは約1msあるいはそれ以下の分解能を有
することが望ましい。光ファイバチャネル環境の要求を満たすタイマは、必要な
分解能、同時に保有されねばならない多数のタイマ、および光ファイバリンクを
介する非常に高速の転送速度のために設置することが困難である。所望の分解能
で2,048のソフトウェアタイマを設置することは、大部分のコントローラに
負荷を与え、光ファイバチャネルプロトコルによる通信リンクを作動するのに必
要な他の制御機能にも資源を使用できない。専用RISCプロセッサを提供する
ことによって、光ファイバチャネルプロトコルコントローラのコストは増加する
。さらに、多数の場合、専用RISCプロセッサさえ、1msの分解能を有する
2,048のタイマを保有することができない。
例えば、2,048のタイマは、データが38ns当たり1ワードの速度(す
なわち、1ギガビット/秒)で受信される光ファイバチャネルシステムで1ms
あるいはそれ以下の分解能で同時に管理されねばならないと仮定される。最小の
光ファイバチャネルフレームは11のワードである。したがって、フレームは4
18ns毎に受信あるいは送信することができる。フレームが送信される度に、
タイマは開始されねばならなく、フレームが受信される度にタイマは停止されね
ばならない。タイマの精度は、タイマの開始および停止に同時に保持されねばな
らない。RISCプロセッサの50MHzのクロック速度で、開始タイマ動作は
、タイマ毎にRISCプロセッサの60クロックサイクル、すなわち開始される
全ての2,048タイマに対して3.1msを必要とする。各停止タイマ動作は
、25のRISCプロセッササイクル、すなわち全てのタイマに対して1.3m
sを必要とする。さらに、1.3あるいは25のRISCプロセッササイクル、
すなわち全ての2,048のタイマに対して1.3msを必要とする各タイマは
走査されねばならない。このファームウェアは(少なくとも50MHzのクロッ
ク速度でない)2,048のタイマを管理できないことがこれらの数値から明ら
かであるべきである。例えば、たとえクロックが開始されることを全く必要とせ
ず、2,048のクロック全てが保有されているとしても、RISCプロセッサ
は、3ms毎に1度の割合で各タイマを更新することができるだけである。所望
の分解能が1msであるので、RISCは、ただ2,048のタイマを保有する
ために少なくとも150MHzの速度で作動しなければならない。開始タイマの
付加的負担が追加されるならば、RISCプロセッサはたちまち壊滅する。
ハードウェアでタイマを作動させることは、多数のトランジスタを必要とする
ので、光ファイバチャネルインタフェース装置内のタイマのサイズおよびコスト
の両方を増加する。
したがって、別個のハードウェアで各タイマを実現するのではなく、および通
信プロトコルの残りを管理しなければならないコントローラの処理バンド幅を使
い果たさないで比較的高分解能で同時に作動できる多数のEDTOVタイマを許
容する機構を有する必要がある。
発明の概要
本発明は、通信プロトコルの交換の際に、事象がいつ生じたか、あるいは生じ
なかったかを決定する多数のEDTOVタイマを確立する方法および装置である
。本発明に関して、交換は、非常に高速のデータ速度(すなわち、1ギガビット
/秒まで)での通信リンクを介する2つの装置間での両方向通信セッションであ
る。
交換の各々は複数のシーケンスを含む。各通信は、複数のフレームを含む一方向
通信セッションである。本発明の一実施例によれば、通信プロトコルタイミング
要件はEDTOVエンジンで監視される。EDTOVエンジンは、EDTOVエ
ンジン内の専用状態機械のためのコマンドを受け取る際の各アクティブ交換に関
連したタイマを開始または停止する。本発明の一実施例によれば、各ぎっしり詰
められたタイマのための値は、フレームバッファのランダムアクセスメモリ(R
AM)の選択できる領域のタイマアレイとして保持される。全タイマアレイは、
状態機械で規則的な間隔で読み出され、1度に4つのタイマを4つの関連ハード
ウェアデクレメンタでデクレメントされる。
本発明の好ましい実施例によれば、複数のタイマ(例えば、4つの8ビットタ
イマ)は、フレームバッファRAMに記憶されている(例えば、32ビットの)
単一語にパックされることが好ましい。好ましくは、512ワードは2,048
のタイマのタイマアレイを含む。タイマは、DMAコントローラの制御の下で4
ワードのブロックでフレームバッファRAMから読み出されることが好ましい。
全タイマ配列は1つの走査間隔で読み出される(すなわち“走査”される)。走
査クロックは所定のクロック速度で作動することが好ましい。“走査間隔”変数
は、1msの倍数が好ましい走査間隔を決定する。しかしながら、本発明は、最
小1μsの走査間隔が可能である。タイマアレイの全ての2,048のタイマは
、読み出され、更新され、単一の走査間隔でタイマアレイに書き戻されるのが好
ましい。したがって、本発明の好ましい実施例は最小1μsのプログラマブル分
解能を有するタイマを提供する。
交換に関連した各タイマは状態機械によって停止あるいは開始することができ
る。状態機械は、コマンドで指定されたタイマに関連するタイマアレイのロケー
ションに開始値を直接書き込むことによってタイマを開始する。タイマを停止す
るために、状態機械は、コマンドで指定されたタイマに関連するタイマアレイの
ロケーションに“FF”hの値を直接書き込む。タイマが非作動であるならば、
“FF”hの16進数の値(“FF”h)はタイマメモリ位置にある。状態機械
は、“FF”hの値をタイマアレイに書き込むことによってタイマを停止する。
状態機械は、走査間隔毎に1度タイマアレイを走査する。作動しているタイマ
は、読み出され、ゼロであるのかを調べられ、1だけデクレメントされるのが好
ましく、タイマアレイに書き戻される。タイマがタイムアウト(0に等しい)し
たと検出されるならば、このタイマに関連した交換を識別する値は、タイムアウ
トFIFOにログされ、“FF”hはタイマに書き戻される。このFIFOは、
プロトコルエラーが生じたかどうか、およびどの交換に基づいてエラーが生じた
かを決定するために外部処理装置(例えば、プロトコルプロセッサ)によって読
み出すことができる。
本発明の中心部には、適切に各タイマの値をデクレメントさせるか、そうでな
ければ変更するための専用のハードウェアの有効な使用があり、各タイマのため
の値を読み出すために専用の状態機械を使用することにより、前記ハードウェア
に値を提供し、それから各タイマの新しい値をメモリにロードし戻す。
本発明の好ましい実施例の詳細は添付図面および下記の説明に記載されている
。一度、本発明の詳細が分かれば、多数の付加的革新および変更は当業者に明ら
かになる。
図面の簡単な説明
図1は、本発明によるEDTOVエンジンハードウェアのブロック図である。
図2は、本発明によるタイマアレイのタイマ値の構成図である。
図3.1〜図3.11は、本発明の好ましい実施例の状態機械レジスタの図で
ある。
図4は、本発明の好ましい実施例による状態機械の動作を示す状態図である。
図5は、本発明の好ましい実施例によるREAD状態のより詳細な状態図であ
る。
いろいろな図面における同様な参照番号および名称は同様な要素とする。
発明の詳細な説明
この説明を通じて、図示された好ましい実施例および例は、本発明に関する限
定としてよりもむしろ代表例としてみなされるべきである。
概要
本発明は、選択できる時間が光ファイバチャネルのような高速通信リンクにお
いて第1の事象の発生後、および第2の事象の発生前に経過したことを示すため
の複数のエラー検出タイムアウト値(“EDTOV”)タイマを保有する、高速
で有効な方法および装置である。本発明の一実施例によれば、2,048のタイ
マは同時に保有することができる。各タイマは、選択できる走査間隔でリード・
モディファイ・ライトサイクル(“走査サイクル”)によって更新される。走査
間隔は最短1μsであることもある。しかしながら、本発明の好ましい実施例で
は、走査間隔は1msの倍数である。走査間隔が短くなればなるほど、分解能は
益々大きくなるが、より多くのバスバンド幅を本発明が必要とする。したがって
、好ましい実施例では、走査間隔は、走査間隔レジスタに記憶された値に応じて
、約1msあるいはその任意の倍数である。本発明の中心部はEDTOVエンジ
ンである。本発明によるEDTOVエンジン100の1つの実施例は図1に示さ
れている。好ましくは、EDTOVエンジン100は、デクレメンタ回路101
とデクレメンタ回路101の動作を制御する有限状態機械102とを備えている
。
本発明の好ましい実施例では、タイマ値は、フレームバッファのランダムアク
セスメモリ(RAM)104内にタイマアレイとして構成される。フレームバッ
ファRAM104は、情報の各フレームで受信されたデータのパケットを一時的
に記憶するために使用された同じバッファであることが好ましい。図2は、本発
明によるタイマアレイ200のタイマ値201の構成図である。各タイマ値20
1は8ビットで示すことが好ましい。好ましい実施例では、データは32ビット
ワードとして転送される。したがって、効率を高めるために、タイマ値201は
32ビットワードとしてタイマアレイ200にも記憶される。タイマアレイ20
0の各32ビットワードは4つのタイマ値201を示す。
状態機械102は、タイマアレイ200に直接書き込むことができる。タイマ
を開始あるいは停止するために外部処理装置(例えば、プロトコルプロセッサ)
からのコマンドは、3つのコマンドレジスタの中の1つを通って状態機械102
に供給されることが好ましい。コマンドレジスタは下記により詳述される。状態
機械は、タイマを停止するためにタイマアレイ200の8ビットのロケーション
に“FF”の16進数(“FF”h)を書き込み、タイマを開始するために“0
1”h〜“FE”hの値をタイマアレイに書き込む。タイマを開始するためにタ
イマ値201に書き込まれた特定の値は、EDTOV構成レジスタに記憶された
値によって決定される。本発明の好ましい実施例の構成レジスタの各々は下記に
より詳述される。
状態機械は、タイマアレイ200からの各タイマ値201を走査間隔当たり1
回読み出す。タイマ値201は、4ワードブロックのダイレクト・メモリ・アク
セス(DMA)作動でタイマアレイ200から読み出されることが好ましい。必
要な速度で本リード・モディファイ・ライトサイクルを実行するために、本発明
は、プログラム制御装置を使わないで作動するのが好ましい。反対に、本発明の
好ましい実施例では、状態機械102は、デクレメンタ101の要素の各々に制
御入力をセットし、4つのタイマが各要素のゲートを通って伝搬遅延の速度で処
理されることを可能にする。クロックはデクレメンタ回路101の作動を同期化
する。したがって、状態機械102はタイマ値201をタイマアレイ200に書
き込むことおよびタイマアレイ200から読み出すことを制御することにより、
本発明は、ソフトウェアタイマの長所を得る(すなわち、最少のハードウェアを
必要とする)。さらに、本発明のデクレメンタ回路101はタイマアレイ200
から読み出された値を処理するので、本発明は、ハードウェアタイマの長所を得
る(すなわち、過度のプロセッサバンド幅を必要とせずに、高速度で作動する)
。
デクレメンタアーキテクチャ
図1を参照するに、入力レジスタ103は、タイマアレイ200から読み出さ
れた各ワード(4つのタイマ値201)を受信するように備えられている。ワー
ドは、入力レジスタ103の入力に印加され、状態機械102がロード信号ライ
ン107上にロード信号を表明した後、第1のクロックでロードされる。タイム
アウト検出回路105および非作動検出回路106は、入力レジスタ103にロ
ードされた各タイマ値201が“00”あるいは“FF”hのいずれかの16進
数値を有するかどうかを決定する。本発明の一実施例によれば、タイマ値201
が“00”であるならば、タイマは終了(すなわち、タイムアウト)した。タイ
ムが終了したならば、終了の指示がタイムアウト信号ライン109a〜109d
上の状態機械102に結合される。表明された各タイムアウト検出信号ライン1
09a〜109dは、関連タイマが終了したことを示している。例えば、タイム
アウト検出信号ライン109aが表明されるならば、入力レジスタにロードされ
た値の第1のタイマ値(すなわち、第1の8ビット)は全て0である。この結果
、4つのタイマのうちの最初がタイムアウトである。好ましくは、もしタイムア
ウト検出信号ライン109bが表明されるならば、入力レジスタ103にロード
された値の第2のタイマ値(すなわち、第2の8ビット)が0であり、第2のタ
イマがタイムアウトになった等である。
同様に、値“FF”hは、非作動タイマを示すために好ましい実施例で使用さ
れる。したがって、入力レジスタ103にロードされたタイマ値のいずれかが“
FF”hである場合、対応する出力ライン111a〜111dは、どのタイマが
非作動であるかを示している。タイマ検出回路および非作動検出回路105、1
06の両方の出力109〜109d、111a〜111dは、状態機械102に
グローバルに結合される。入力レジスタ103の出力は、4つのデクレメンタ1
13a〜113dの各々の入力に結合されている。各デクレメンタ113a〜1
13dは、入力レジスタ103の4つのタイマ値201の中の1つと関連してい
る。各タイマ値201は関連デクレメンタ113a〜113dによってデクレメ
ントされる。デクレメンタ113a〜113dの出力はマルチプレクサ119a
〜119dの入力に結合されている。
状態機械102は、マルチプレクサ119a〜119bのための制御ラインD
AT1SEL、DAT2SEL、DAT3SEL、およびDAT4SEL(ひと
まとめにしてDATSELと呼ばれる)122a〜122dを制御し、“FF”
hの値、“00”の値あるいはデクレメンタ113a〜113dからマルチプレ
クサ119a〜119bに結合されたデクレメント値のいずれかを出力する。4
つの全てのマルチプレクサ119a〜119bからの出力は、次のクロック信号
時に第1のレベルの出力レジスタ121にロードされる。第1のレベルの出力レ
ジスタ121の出力は第3のクロック信号時に第2のレベル出力レジスタ123
の入力に結合されている。第2のレベル出力レジスタ123の出力は第4のクロ
ック信号時に第3のレベル出力レジスタ125の入力に結合されている。第3の
レベル出力レジスタ125の出力は第5のクロック信号時に第4のレベル出力レ
ジスタ127に結合されている。したがって、次のワードが入力レジスタ103
にロードされるので、各マルチプレクサ119a〜119bの出力は第1のレベ
ル出力レジスタ121にロードされ、下位の3つのレベルレジスタ121、12
3、125の出力は、次のレベル出力レジスタ123、125、127のそれぞ
れの入力にロードされる。第4のレベル出力レジスタの出力は出力マルチプレク
サの第1の入力に結合されている。したがって、デクレメンタ回路101の動作
は“パイプライン化”される。
出力マルチプレクサ129の第2の入力はロードマルチプレクサ131に結合
されている。ロードマルチプレクサ131の第1の入力は、入力レジスタ103
の出力に結合されている。ロードマルチプレクサ131の第2の入力は、タイマ
を開始する時に各タイマにロードされる開始値を保持するEDTOVレジスタに
結合されている。ロードマルチプレクサ131からの出力は32ビット幅である
ことが好ましい。ロードマルチプレクサ131の第3の入力は“FF”hに実配
線されるのが好ましい。ロード選択信号ライン133上で結合された3ビットの
ロード選択(ISEL)信号は、状態機械102からロードマルチプレクサ13
1に結合される。ISEL信号は、出力マルチプレクサ129によって出力され
た4つのタイマ値の中からどのタイマ値がロードされるか、およびロードされた
値が“FF”hあるいはEDTOV値であるかどうかを決定する。したがって、
状態機械102は、ロードマルチプレクサ131を制御し、EDTOVレジスタ
からの開始値、すなわち“FF”hがタイマアレイ内の選択タイマメモリ位置に
ロードされるべきであるかどうかを決定する。状態機械102からPLSEL信
号ライン135上の出力マルチプレクサ129に結合されたパイプライン選択信
号(PLSEL)は、ロードマルチプレクサ131からの出力あるいは第4のレ
ベル出力レジスタ127がタイマアレイ200の各ワードにロードされるべきで
あるかどうかを決定する。デクレメンタの動作は下記に詳述される。
状態機械レジスタ
本発明の状態機械102は、好ましくは、11のレジスタ、すなわち、3つの
コマンドレジスタ、4つの状態レジスタ、および4つの構成レジスタとを有して
いる。レジスタの各々は図3.1〜図3.11に示されている。構成レジスタの
各々は、EDTOVエンジン100の初期設定時に外部処理装置(例えば、プロ
トコルプロセッサ)による初期値でロードされるのが好ましい。
図3.1に示されたEDTOVレジスタは、本発明の好ましい実施例の第1の
構成レジスタである。EDTOVレジスタの最下位8ビット(すなわち、EDT
OVフィールド)301は、タイマを開始する時に各タイマにロードされるべき
初期値でロードされる。最上位24ビット303は未使用であることが好ましい
。各タイマは、外部処理装置がEDTOVフィールド301に記憶された値を変
更しない限り、開始される場合、同じタイマ値でロードされる。
図3.2に示された走査間隔(SI)レジスタは、本発明の好ましい実施例の
第2の構成レジスタである。SIレジスタの走査間隔フィールド305は本発明
の走査間隔を決定する値でロードされる。本発明の好ましい実施例では、走査間
隔は走査間隔フィールド305に記憶された値×1ミリ秒に等しい。走査間隔フ
ィールド305はレジスタの最下位8ビットを含んでいる。したがって、走査間
隔フィールド305に記憶された値が“00110001”に等しいならば、走
査間隔は49msである(すなわち、タイマアレイ200のタイマの各々が49
ms毎に1度更新される)。ゼロの値は走査間隔フィールド305で許容できな
いことが好ましい。SIレジスタの最上位24ビット307は未使用であること
が好ましい。
図3.3に示された最大交換参照インデックス(MAXXRI)レジスタは本
発明の好ましい実施例の第3の構成レジスタである。MAXXRIレジスタは、
レジスタの最下位7ビットで構成される最大XRIフィールド309を含んでい
る。最上位25ビット311は未使用であることが好ましい。最大XRIフィー
ルド309は、どれだけのタイマがタイマアレイ200に含まれるべきであるか
を示す値を保持する。タイマがタイマアレイ200にワード当たり4つ記憶され
るので、最大XRIフィールド309の各増分は4つのタイマを示す。本発明の
好ましい実施例では、最大数のタイマは2,048であるので、最大XRIフィ
ールド309は0〜127の範囲内にある値を有することができる。したがって
、“000111”の値でMAXXRIレジスタの最大XRIフィールド309
をロードすることによって、状態機械102に走査間隔の度にタイマアレイ20
0から最初の7ワードだけを読み出す。
図3.4に示されたEDTOVバッファRAMベースアドレスポインタ(EB
PTR)は本発明の好ましい実施例の第4の構成レジスタである。EBPTRレ
ジスタ内の8ビットのEBPTRフィールド313は、フレームバッファRAM
104内のタイマアレイ200の相対位置を識別する。最上位24ビット315
は未使用であることが好ましい。タイマアレイ200は、256のフレームバッ
ファの1つに位置する。各フレームバッファは、フレームバッファRAM104
内の512ワードの長さである。本発明の好ましい実施例では、256のフレー
ムバッファは、32K×36ビットのSRAM(スタティックランダムアクセス
メモリ)集積回路チップを使用する場合、便宜上64のフレームバッファの4つ
のブロックに分割される。本発明の好ましい実施例では、EBPTRフィールド
313のためのデフォルト値は、タイマアレイ200をフレームバッファRAM
104のフレームバッファにおける第2のブロックの最下部にあるようにする“
1”である。
図3.5に示されたEDTOV走査アドレスカウンタ(ACNT)レジスタは
本発明の好ましい実施例の第1の状態レジスタである。最下位9ビットを含むA
CNTフィールド317は、タイマアレイ200のどのワードがデクレメンタ回
路101によって現在処理されているか示している。最上位23ビット319は
未使用であることが好ましい。ACNTレジスタは、状態機械102によって動
的に制御されている。すなわち、状態機械102がタイマ値201を処理する度
に、状態機械はACNTフィールド317の値を増分する。
図3.6に示されたEDTOVタイムアウト(TOXRI)FIFOレジスタ
は、本発明の好ましい実施例の第2の状態レジスタである。TOXRIFIFO
レジスタは4ワードの深さの従来のFIFOである。各ワードは、TOXRIベ
ースフィールド321に保持されたベースTOXRIアドレスで開始するアドレ
スを有する4つのタイマの状態を保持する。TOXRIベースフィールド321
は、TOXRIFIFOレジスタの各ワードの最下位9ビットを含むことが好ま
しい。次の上位ビット323は、ベースアドレスから3だけオフセットされたア
ドレスのタイマが終了したかどうかを示すことが好ましい。次の上位ビット32
5は、2だけオフセットされたアドレスのタイマが終了したかどうかを示すこと
が好ましい。同様に、ビット327、329は、1だけオフセットされたアドレ
スおよびベースアドレスのタイマがそれぞれ終了したかどうかを示すことが好ま
しい。最上位19ビットは未使用であることが好ましい。
図3.7に示されたEDTOVタイムアウト割り込みクリア(TOCLR)レ
ジスタは本発明の好ましい実施例の第3の状態レジスタである。TOCLRレジ
スタの最下位ビットはEDTOV割り込み(EI)フィールド331を含んでい
る。EIフィールド331のビットがセットされる場合、EDTOVエンジンか
らの割り込みは外部処理装置に対してペンディングである。最上位31ビット3
33は未使用であることが好ましい。
図3.8に示されたEDTOVタイムアウトFIFOカウンタ(TOFIFO
CTR)は、本発明の好ましい実施例の第4の状態レジスタである。TOFIF
OCTRは、割り込みが状態機械102によってセットされた時(すなわち、後
述されるように、ゼロがデクレメンタ回路101によって検出される時)にTO
XRIFIFOレジスタの終了FIFOエントリの数を示すCTRフィールド3
35を有する。最上位29ビット337は未使用であることが好ましい。
図3.9に示された送信エンジンEDTOVタイマコマンド(EDTXCMD
)レジスタは本発明の好ましい実施例の第1のコマンドレジスタである。コマン
ド(CMD)フィールド339は、タイマを開始あるいはタイマを停止するよう
に状態機械102に指令するようにロードすることができる。CMDフィールド
339は”ノー・オペレーション”コマンドでロードすることもできる。さらに
、16ビットのXRIフィールド341は、コマンドで実行されるべきタイマの
アドレスでロードされる。最上位14ビット345は未使用であることが好まし
い。
図3.10に示された受信エンジンEDTOVタイマコマンド(EDRXCM
D)レジスタは本発明の好ましい実施例の第2のコマンドレジスタである。ED
RXCMDレジスタは本質的にEDTXCMDレジスタと同一である。しかしな
がら、本発明の好ましい実施例において、外部受信器エンジンから状態機械10
2へのコマンドはEDRXCMDレジスタに書き込まれ、送信エンジンから状態
機械102へのコマンドはEDTXCMDレジスタに書き込まれる。
図3.11に示されたEDTOVタイマコマンドレジスタ(ARMCMD)は
本発明の好ましい実施例の第3のコマンドレジスタである。ARMCMDレジス
タは、コマンド(CMD)フィールド339とXRIフィールド341とを有し
ている。CMDフィールド339およびXRIフィールド341は、他の2つの
コマンドレジスタのCMDフィールド339およびXRIフィールド341と同
一であることが好ましい。さらに、ARMCMDレジスタは、好ましくは、1ビ
ットのENEDTOVフィールド343を有している。ENEDTOVフィール
ド343は、ENEDTOVフィールド343の状態に応じてEDTOVエンジ
ン100を作動させたり、非作動にさせたりする。
状態機械/デクレメンタ回路動作
図4は、状態機械102の動作を示す状態図である。本発明の好ましい実施例
によれば、状態機械は、状態毎に移動し、値は、MSクロックの各正のエッジに
基づいてレジスタ103、121、123、125、127にロードされる。ア
イドル状態401で開始し、次の状態機械102の状態は5つの条件の状態によ
って決定される。第1の条件(走査開始)は、入力として状態機械102に結合
される走査ビットによって決定される。走査ビットは走査間隔の終了にセットさ
れる。第2の条件(イネーブル)は状態機械102に結合されたイネーブルビッ
ト343によって決定される。イネーブルビット343は、ARMCMDレジス
タにあり、EDTOVエンジンがイネーブルされることを示すようにセットされ
る。第3の状態(受信エンジンコマンド)は、EDRXCMDレジスタの最下位
2ビット(すなわち、CMDフィールド339)の状態によって決定される。第
4の条件(送信器エンジンコマンド)は、EDTXCMDレジスタの最下位2ビ
ット(すなわち、CMDフィールド339)の状態によって決定される。第5の
条件(アームコマンド)はARMCMDレジスタの最下位2ビット(すなわち、
CMDフィールド339)の状態によって決定される。
イネーブルビット343および走査ビットの両方がセットされるならば、状態
機械102は、他の条件の状態にもかかわらずアイドル状態401からWAIT
RD状態に入る。WAITRD状態403において、状態機械102は、外部D
MAコントローラの4ワードのダイレクト・メモリ・アクセス(DMA)読み出
し動作をリクエストする。DMAコントローラによって戻される4ワードは、A
CNTレジスタおよびEBPTRレジスタの値によってアドレス指定される。次
に、状態機械102は、DMAコントローラ137からのDMA肯定応答信号の
戻りを待つ。DMA肯定応答信号の表明に基づいて、状態機械102はREAD
状態405に入る。図5はREAD状態405のより詳細な状態図である。RE
ADI状態501において、入力レジスタ103は、DMAコントローラによっ
て戻された第1のワードをロードすることができる。
一度入力レジスタ103が現在のワードでロードされると、タイムアウト検出
回路105および非作動検出回路106は、現在のワードの各タイマが16進数
値“00”あるいは“FF”hであるかどうかを決定する。現在のワード内の4
つのタイマのいずれかがゼロに等しいかどうかに関する表示は、その時、タイム
アウト検出回路および非作動検出回路105、106から信号ライン109a〜
109d上の状態機械102に結合されている。表明される各タイムアウト検出
信号ライン109a〜109dは、関連タイマが終了したことを表示する。入力
レジスタ103のタイマ値の中のいずれか1つの値が“FF”hであるならば、
適当な出力111a〜111dは、関連タイマが不作動であることを表示するよ
うに表明される。
次に、状態機械102はREAD2状態503に入る。READ2状態503
では、状態機械102は、第1のワードをロードし、DMAコントローラ137
から第2のワード(第2の4つのタイマ)の受信を待つ。第1のワードを入力レ
ジスタ103にロードすることに成功することに基づいて、タイムアウト検出回
路および非作動検出回路105、106からの出力の状態は第1の4つのタイマ
値の中の値によって決定される。入力レジスタ103の第1のワードのタイマの
各々は関連デクレメンタ113a〜113dに結合されている。状態機械102
によって、ACNTレジスタに記憶された値は、次のMSクロックの正のエッジ
で次のワードを示すように増分できる。TOFULL信号およびTOEMPTY
信号は、TOXRIFIFOレジスタの状態を示すようにTOXRIFIFOレ
ジスタから状態機械102に結合される。
READ2状態503では、TOXRIFIFOレジスタが満杯でないならば
、DATXSEL信号ライン139a〜139d上の状態機械102からマルチ
プレクサ119a〜119dのそれぞれへのDATXSEL出力信号は下記のよ
うに各マルチプレクサ119a〜119dの出力を制御する。すなわち、(1)
任意のタイムアウトが表明されるならば、状態機械102からのDATXSEL
信号の出力によって、各表明タイムアウト検出信号ライン109a〜109dに
関連したマルチプレクサ119a〜119dは“FF”hを出力する。(2)任
意の非作動検出信号111a〜111dが表明されるならば、DATXSEL信
号の出力によって、各表明非作動信号ライン109a〜109dに関連したマル
チプレクサ119a〜119dは“FF”hを出力する。(3)1つのタイマに
関連したタイムアウト検出信号および非作動検出信号の両方が表明されないなら
ば、デクレメンタ113a〜113dからの出力は関連マルチプレクサ119a
〜119dによって出力される。各マルチプレクサ119a〜119dからの値
出力は、READ2状態503中に生じるMSクロックの正のエッジで第1のレ
ベル出力レジスタ121にロードされる。MSクロックは、クロック信号ライン
120で各出力レジスタ121、123、125、127に結合される。タイマ
が終了した場合に“FF”hの値を出力することによって、状態機械102はタ
イマを非作動状態にリセットする。
さらに、タイマのいずれかが終了されたならば(すなわち、タイムアウト検出
信号119a〜119dの中のいずれか1つ以上が表明されるならば)、状態機
械102は、(ACNTレジスタによって決定されたような)終了タイマ値を含
むワードのベースアドレスを状態機械102からの、およびTOXRIFIFO
レジスタの入力に結合された、WRTOF信号出力を表明することによってTO
XRIFIFOレジスタにロードする。TOXRIFIFOレジスタは、それの
各々がワード内の特定のタイマが終了したかどうかを示す4ビットでもロードさ
れる。例えば、1ワードがアドレス(すなわち、XRI値)“0 0000 1
010”のタイマアレイ200から読み出されると仮定する(9ビットXRI値
によって512ワードの各々はアドレス指定できることに注目)。このワードは
入力レジスタ103にロードされる。このワード内の第2のタイマだけが終了し
たならば、TOXRIFIFOレジスタは、TOXRIFIFOレジスタの0〜
8ビットのXRI値“0 0000 1010”およびビット9〜12の“01
00”でロードされる。ビット9〜12は、第2のタイマだけが終了したことを
示す。第1および第2のタイマの両方が終了したならば、第1の9つのビットの
値は同じままであるが、ビット9〜12の値は“1100”である。
しかしながら、TOFULL信号がREAD2状態503で表明されるならば
、DATXSEL出力信号が下記のように各マルチプレクサ119a〜119d
の出力を制御する。すなわち、(1)任意のタイムアウト検出信号ライン109
が表明されるならば、DATXSEL信号の出力によって、各表明タイムアウト
検出信号ライン109a〜109dに関連したマルチプレクサ119a〜119
dは“00”を出力する。(2)任意の非作動検出信号111a〜111dが表
明されるならば、DATXSEL信号の出力によって、各表明非作動信号ライン
109a〜109dに関連したマルチプレクサ119a〜119dは“FF”h
を出力する。(3)1つのタイマに関連したタイムアウト検出信号および非作動
検出信号の両方が表明されないならば、デクレメンタからの出力は関連マルチプ
レクサ119a〜119dから出力される。マルチプレクサ119a〜119d
からの出力は、クロック信号ライン120上のMSクロック信号の次の正のエッ
ジで第1のレベル出力レジスタ121に結合され、ロードされる。あるタイマが
終了し、TOFULL信号が表明された場合にマルチプレクサ119a〜119
dが“00”の値を出力することによって、本発明は、比較的少数のタイムアウ
トタイマがある時間内に外部プロセッサ(例えば、プロトコルプロセッサ)に通
信されることを確実にする。すなわち、(TOXRIFIFOが4ワードの深さ
である実施例における)終了されたタイマアレイ200内で整然としている第1
の16のタイマだけが認識される。“00”の値を各付加タイマのためのタイマ
アレイ200にロードし戻すことによって、付加タイマが終了したという事実も
、
(付加タイマが次の走査間隔でタイムアウトする前に他の16のタイマがタイマ
アレイ200から読み出されない限り)次の走査間隔まで保管される。READ
2状態503の終了によって、第2のワードは入力レジスタ103で受信され、
第1のワードのための新しい値が第1のレベル出力レジスタ121にロードされ
る。第2のワードに関連した非作動検出回路およびタイムアウト検出回路106
、105からの出力は状態機械に結合される。さらに、READ2状態503の
終了によって、入力レジスタ103の内容は、各デクレメンタ113a〜113
dの入力に結合される。
次に、状態機械102はREAD3状態505に入る。READ3状態505
は本質的にREAD2状態503と同一である。TOXRIFIFOレジスタが
満杯でないならば、DATXSEL出力は各マルチプレクサ119a〜119d
の出力を下記のように制御する。すなわち、(1)(第2のワードに関連した)
任意のタイムアウト検出信号ライン109が表明されるならば、DATXSEL
信号の出力によって、各表明タイムアウト検出信号ライン109a〜109dに
関連したマルチプレクサ119a〜119dは“FF”を出力する。(2)(第
2のワードに関連した)任意の非作動検出信号111a〜111dが表明される
ならば、DATXSEL信号の出力によって、各表明非作動信号ライン109a
〜109dに関連したマルチプレクサ119a〜119dは“FF”hを出力す
る。(3)(第2のワードの)1つのタイマに関連したタイムアウト検出信号お
よび非作動検出信号の両方が表明されないならば(すなわち、タイマが作動して
いる)、各作動しているタイマに関連したデクレメンタ113a〜113dから
の出力は関連マルチプレクサ119a〜119dから出力される。
さらに、第2のワードにおけるタイマのいずれかが終了されたならば(すな
わち、タイムアウト検出信号119a〜119dの中のいずれか1つ以上が表明
されるならば)、状態機械102は、(ACNTレジスタによって決定されたよ
うな)ワードのベースアドレスを状態機械102からのおよびTOXRIFIF
Oレジスタの入力に結合されたWRTOF信号出力を表明することによってTO
XRIFIFOレジスタにロードする。TOXRIFIFOレジスタのビット9
〜12は、ワード内の特定のタイマが終了したかどうかを示す4ビットでもロー
ドされる。
TOFULL信号が表明されるならば、DATXSEL出力信号が下記のよう
に各マルチプレクサ119a〜119dの出力を制御する。すなわち、(1)任
意のタイムアウト検出信号ライン109が表明されるならば、DATXSEL信
号の出力によって、各表明タイムアウト検出信号ライン109a〜109dに関
連したマルチプレクサ119a〜119dは“00”を出力する。(2)任意の
非作動検出信号111a〜111dが表明されるならば、DATXSEL信号の
出力によって、各表明非作動信号ライン109a〜109dに関連したマルチプ
レクサ119a〜119dは“FF”hを出力する。(3)1つのタイマに関連
したタイムアウト検出信号および非作動検出信号の両方が表明されないならば、
デクレメンタ113a〜113dからの出力は関連マルチプレクサ119a〜1
19dから出力される。したがって、TOXRIFIFOレジスタが満杯である
ならば、終了したタイマに関連した各DATXSEL信号によって、マルチプレ
クサ119a〜119dは“00”を出力する。
次のMSクロックの正のエッジで、状態機械102は、READ4状態507
に入り、DMAコントローラ137に戻される第3のワード(すなわち、第3の
4つのタイマ)を入力レジスタ103にロードする。ACNTレジスタに記憶さ
れた値は、次のワードを示すように増分され、状態機械102によって、ACN
Tレジスタは、次のMSクロックの正のエッジで再度増分できる。さらに、第1
のレベル出力レジスタ121からの出力は、クロック信号ライン120上のMS
クロック信号の正のエッジで第2のレベル出力レジスタ123にロードされる。
同時に、各マルチプレクサ119a〜119dからの出力は第1のレベル出力レ
ジスタ121にロードされる。DMA書き込みを実行するリクエストが要求され
ることを除いて、READ4状態507はREAD3状態505と同一である。
さらに、ARMCMDレジスタのイネーブルビットが表明されないならば、状態
機械102はアイドル状態401に戻る。
ARMCMDレジスタのイネーブルが表明されるならば、状態機械102は、
その時、WAITWRI状態407に入る(図4を参照)。第1、第2および第
3のレベル出力レジスタ121、123、125は、タイマアレイ200に記憶
し戻される新しい値でロードされる。さらに、TOXRIFIFOレジスタのベ
ースアドレスおよびオフセットビットは、少なくとも1つの終了タイマを含んだ
第1の3ワードの各々に対して書き込まれる。WAITWRI状態407では、
状態機械102は、READ2状態、READ3状態、およびREAD4状態5
03、505、507で使用されるのと同じロジックを使用する非作動検出回路
およびタイムアウト検出回路106、105のラッチ出力に基づいてマルチプレ
クサ119a〜119dを制御する。したがって、タイマアレイ200の第4の
ワードに書き戻される値は第1のレベル出力レジスタ121にロードされ、他の
値の各々は1つの出力レジスタにシフトダウンされる。肯定応答信号がDMA書
き込みのリクエストに応じて状態機械102に戻される場合、状態機械102は
、次のMSクロックの正のエッジでWRITE状態409に入り、次のDMA書
き込みをリクエストする。出力レジスタ121、123、125、127の全て
4つの内容がタイマアレイに書き戻されるまで、状態機械102はDMA書き込
みをリクエストし続ける。TOEMPTY信号が表明されないならば、状態機械
102はTOFIFOCTRレジスタを増分する。ACNTRがMAXXRI値
に等しくないならば、走査が完了せずに、ACNTは次の正のMSクロックエッ
ジで増分される。
ARMCMDレジスタのイネーブルビットが非表明されるならば、状態機械は
アイドル状態401に戻る。ARMCMDレジスタのイネーブルビットが表明さ
れ、EDRXCMDレジスタにペンディングCMDがあるならば、状態機械はR
XCMD1状態411に入る。RXCMD1状態411は後述される。
(1)ARMCMDレジスタのイネーブルビットが表明され、(2)EDRX
CMDレジスタにペンディングコマンドがなく、かつ(3)ARMCMDレジス
タにペンディングコマンドがあるならば、状態機械はARMCMD1状態413
に入る。ARMCMD1状態413は後述される。
(1)ARMCMDレジスタのイネーブルビットが表明され、(2)EDRX
CMDレジスタにペンディングコマンドがなく、(3)ARMCMDレジスタに
ペンディングコマンドがなく、かつ(4)EDTXCMDにペンディングコマン
ドにあるならば、状態機械はTXCMD1状態415に入る。TXCMD1状態
415は後述される。
(1)ARMCMDレジスタのイネーブルビットが表明され、(2)コマンド
レジスタのいずれにもペンディングコマンドがなく、かつ(3)走査が完了され
ないならば、状態機械はWAITRD状態403に戻る。
コマンドレジスタのいずれにもペンディングコマンドがなく、かつ走査が完了
されたならば、状態機械はアイドル状態401に戻る。
RXCMD状態411では、状態機械は、EDRXCMDレジスタおよびEB
PTRレジスタのXRIフィールドによって指定されたロケーションからDMA
コントローラ137の単一ワードDMA読み出しをリクエストする。DMAリク
エストの結果はデクレメンタ回路101の入力レジスタ103にロードされる。
次に、状態機械102は、PLSEL信号ライン135上でPLSEL信号を非
表明し、使用可能であるロードマルチプレクサ131の出力はタイマアレイ20
0に書き込まれる。ロードマルチプレクサ131の出力はISEL信号133に
よって制御される。ISEL信号133は、4つのタイマの中の1つ(すなわち
、32の中から8ビット)に結合された2つの入力の中の1つを選択する3ビッ
ト制御信号である。したがって、EDRXCMDレジスタのXRIフィールド3
41の値(特に、本発明の好ましい実施例では、XRIフィールド341の最下
位2ビット)およびCMDフィールド339の値は、3つのISELライン13
3の状態を決定する。“FF”h(停止コマンドの場合)あるいはEDTOVレ
ジスタから取り入れた開始値(開始コマンドの場合)のいずれかは、XRIフィ
ールド341によって識別されたタイマにロードし戻される。他の3つのタイマ
の各々の値は、ロードマルチプレクサ129によって出力値に多重化されるタイ
マアレイ200から読み出される値から取り入れられる。次に、状態機械102
は、開始あるいは停止のいずれかをされるタイマのロケーションのタイマアレイ
200への1ワードDMA書き込みをリクエストする。DMA書き込みの完了時
に、走査ビットがセットされるならば、状態機械102はWAITRD状態40
3に入る。走査ビットがセットされないならば、状態機械102はアイドル状態
401に戻る。
状態機械102は、ARMCMD状態およびTXCMD状態413、415の
両方で本質的に同じように作動する。唯一の差異はソースXRIフィールド34
1およびソースCMDフィールド339である。
比較的大量のEDTOVタイマが非常に小さいプロセッサオーバーヘッドおよ
び非常に小さいハードウェアオーバーヘッドで管理できることが本発明の好まし
い実施例の上記説明から分かる。したがって、本発明は、ハードウェアタイマの
長所およびソフトウェアタイマの長所を単一のパイプラインタイマ装置で一緒に
結合する。したがって、本発明は、多数のタイマがプロセッサオーバーヘッドあ
るいはハードウェアオーバーヘッドを実質的に増加することなしに保有されねば
ならない状況の簡単、高速で安価な解決策を提供する。したがって、本発明は、
周知の光ファイバ通信プロトコルのような通信リンクにおけるEDTOV事象を
調時するのに理想的である。
多数の本発明の実施例が記載されている。それにもかかわらず、いろいろな修
正が本発明の精神および範囲から逸脱しないで行えるということが理解される。
例えば、タイマアレイ200からのDMA読み出しは任意の長さのものであって
もよい。DMAリクエストの長さは必要とされる出力レジスタ数を決定すること
が好ましい。さらに、タイマアレイ200は、DMAコントローラ137にアク
セスできる任意のメモリに記憶できる。さらに、タイマの非動作状態および終了
状態を示すために使用される値は、便宜上選択され、任意の値であってもよい。
さらに、1つの各走査間隔だけ各作動しているタイマの値をデクレメントさせる
ことが好ましいが、タイマの値は任意の値だけデクレメントすることができる。
また、タイマ値は本発明の他の実施例で増分することができる。さらに、ワード
の長さおよびタイマ値が便宜上選択される。他の長さは、本発明の他の実施例で
使用することができる。さらに、開示された特定の状態機械レジスタは任意であ
り、いかなる方法でも構成されてもよいしあるいは状態機械で使用されるコンピ
ュータに組み込んだ値であってもよい。例えば、EDRXCMDレジスタのCM
Dフィールドは、第11番目および第12番目のビットを含むこともある。SI
レジスタはコンピュータに組み込んだ値と取り換えることができる。多数の他の
変更が可能である。したがって、本発明は、特定の図示された実施例によって限
定されないで、添付クレームの範囲によってのみ限定される。
─────────────────────────────────────────────────────
フロントページの続き
(81)指定国 EP(AT,BE,CH,DE,
DK,ES,FI,FR,GB,GR,IE,IT,L
U,MC,NL,PT,SE),OA(BF,BJ,CF
,CG,CI,CM,GA,GN,ML,MR,NE,
SN,TD,TG),AP(KE,LS,MW,SD,S
Z,UG),UA(AM,AZ,BY,KG,KZ,MD
,RU,TJ,TM),AL,AM,AT,AU,AZ
,BB,BG,BR,BY,CA,CH,CN,CZ,
DE,DK,EE,ES,FI,GB,GE,HU,I
S,JP,KE,KG,KP,KR,KZ,LK,LR
,LS,LT,LU,LV,MD,MG,MK,MN,
MW,MX,NO,NZ,PL,PT,RO,RU,S
D,SE,SG,SI,SK,TJ,TM,TR,TT
,UA,UG,UZ,VN
(72)発明者 サリバン,ジェニファー
アメリカ合衆国 92646 カリフォルニア
州,ハンティングトン ビーチ,バレー
フォージ ドライブ 10131
Claims (1)
- 【特許請求の範囲】 1. タイマアレイ内に記憶されたタイマ値を有する複数のタイマを管理するタ イママネージャにおいて、 (a)入力ポートおよび出力ポートを有し、前記入力ポートで少なくとも1 つのタイマ値を含む入力ワードを入力レジスタに受信し、タイマ値がアイドル値 あるいは終了値のいずれでもないならば、前記受信タイマ値をデクレメントさせ 、かつ前記出力ポートにデクレメントされた値を供給するデクレメンタ回路と、 (b)前記デクレメンタ回路に結合され、前記タイマアレイからタイマ値の DMA転送をリクエストし、および前記入力ポートを通してタイマ値を前記デク レメンタ回路にロードし、かつ前記デクレメンタ回路から出力された前記タイマ 値を前記タイマアレイに記憶する制御装置と、を含むことを特徴とするタイママ ネージャ。 2. 前記デクレメンタ回路が、 (a)タイマ値が終了値に等しい時を決定するゼロ検出器と、 (b)前記デクレメンタ回路に結合され、どのタイマが終了値に等しいかを 示す値を記憶するFIFOと、を更に含み、 前記FIFOが充満でない場合のみ値が前記FIFOに記憶され、かつ前 記デクレメンタによって前記タイマアレイにロードされた前記値は、前記値がデ クレメントされた時に前記FIFOが充満であるならば、前記終了値に等しく、 かつ前記値がデクレメントされた時に前記FIFOが充満でないならば、前記ア イドル値に等しいことを特徴とする請求項1記載のタイママネージャ。 3. 前記制御装置が状態機械であることを特徴とする請求項1記載のタイママ ネージャ。 4. 2,048のタイマまでが管理でき、各々が最短約1μsの分解能を有す ることを特徴とする請求項1記載のタイママネージャ。 5. 前記制御装置に結合されたMAXXRIレジスタが、前記タイマアレイに 記憶されたワードの中のどれだけの数がアクティブに管理されるべきであるかを 示すことを特徴とする請求項4記載のタイママネージャ。 6. 前記デクレメンタ回路が、 (a)前記制御装置に結合された出力を有し、その各々が、前記入力ポート で受信されたタイマ値がタイムアウト値に等しいかどうかを示すタイムアウト検 出信号を前記制御装置に出力するタイムアウト検出回路と、 (b)第1の入力、第2の入力、出力および制御入力を有し、前記第1の入 力が前記入力ポートに結合されていて、前記第2の入力がタイムアウト値に結合 されていて、前記出力が前記出力ポートに結合されており、および前記制御入力 が前記制御装置に結合されており、入力ワードを受信し、かつ前記入力ワード入 力と同じタイマ数を含む出力ワードを出力し、前記出力ワードの各タイマ値が前 記入力ワードのタイマ値の中の1つに関連しており、かつ前記出力ワードのタイ マ値が前記制御装置によって選択可能であり、前記出力タイマ値が、 (1)前記入力ワードの関連タイマ値、あるいは、 (2)タイムアウト値、の中から選択されている、第1のマルチプレクサと 、 を含むことを特徴とする請求項1記載のタイママネージャ。 7. 前記第1のマルチプレクサが非作動値に結合された第3の入力を有し、か つ前記出力ワードのタイマ値も前記非作動値に等しいように前記制御装置が選択 できることを特徴とする請求項6記載のタイママネージャ。 8. 入力ワードタイマ値に関連した前記タイムアウト検出器出力が表明された 事実がログされる場合、前記制御装置によって、前記出力ワードのタイマ値が非 作動値に等しいように前記第1のマルチプレクサが選択することを特徴とする請 求項7の記載タイママネージャ。 9. どのタイマ値によってタイムアウト信号がタイムアウト検出器によって表 明されたかをログするファーストイン・ファーストアウトレジスタとして構成さ れるTOFIFOレジスタを更に含むことを特徴とする請求項7記載のタイママ ネージャ。 10.前記入力ポートが入力レジスタであることを特徴とする請求項7記載のタ イママネージャ。 11.前記デクレメンタ回路が、 (a)前記入力レジスタに結合され、その各々が前記入力ポートに受信され たタイマ値が非作動値に等しいかどうかを示す非作動検出信号を前記制御装置に 出力する非作動検出器回路を更に含み、 前記出力タイマ値が非作動値であるように選択することもでき、かつ前記 制御装置が、前記タイムアウト検出器回路および非作動検出器回路の出力に基づ いて前記第1のマルチプレクサの出力を制御することを特徴とする請求項8記載 のタイママネージャ。 12.前記出力ポートが、ロード値に結合された第1の入力と前記第1のマルチ プレクサの出力に結合された第2の入力と、を有する第2のマルチプレクサであ ることを特徴とする請求項9記載のタイママネージャ。 13.前記デクレメンタ回路が、前記第1のマルチプレクサと前記第2のマルチ プレクサとの間に結合され、前記第1のマルチプレクサからのワード出力を記憶 する少なくとも1つの出力レジスタを更に含み、前記ワードの各々は、各ワード が前記少なくとも1つの出力レジスタへの入力である順序で少なくとも1つの出 力レジスタから前記第2のマルチプレクサへの出力であることを特徴とする請求 項10記載のタイママネージャ。 14.(a)前記出力ポートが、出力と、第1の入力と、第2の入力と、前記制 御装置に結合され、前記第1の入力あるいは前記第2の入力が前記出力に結合さ れるべきであるかどうかを選択する選択ラインと、を有する第2のマルチプレク サであり、 (b)前記デクレメンタが、出力と、第1の入力と、第2の入力と、前記 制御装置に結合され、前記第1の入力あるいは前記第2の入力が前記出力に結合 されるべきであるかどうかを選択する選択ラインと、を有する第3のマルチプレ クサを有し、 (c)前記第2のマルチプレクサの第1の入力が前記第3のマルチプレク サの出力にされており、 (d)前記第2のマルチプレクサの第2の入力が前記第1のマルチプレク サの出力に結合されており、 (e)前記第3のマルチプレクサの第1の入力が前記入力レジスタの出力 に結合されており、 (f)前記第3のマルチプレクサの第2の入力が開始値に結合されており 、 (g)前記制御装置がタイマを開始するように指令された場合、前記制御 装置によって、前記第2および第3のマルチプレクサの選択ラインが、前記デク レメンタ回路に選択タイマ値が前記開始値に等しいワードを出力させることを特 徴とする請求項11記載のタイママネージャ。 15.前記第3のマルチプレクサの第2の入力に結合されたEDTOVレジスタ は前記開始値を示していることを特徴とする請求項12記載のタイママネージャ 。 16.前記制御装置に結合され、タイマを開始するように前記制御装置を指令す る少なくとも1つのコマンドレジスタを更に含み、前記コマンドレジスタが外部 制御プロセッサにアクセスできることを特徴とする請求項13記載のタイママネ ージャ。 17.前記第3のマルチプレクサが、前記制御装置が前記第3および第2のマル チプレクサを通して前記出力ポートに非作動値を結合できるように、前記非作動 値に結合された第3の入力を有することを特徴とする請求項12記載のタイママ ネージャ。 18.前記状態機械が、外部DMAコントローラが前記タイマアレイからのDM A読み出し動作を実行し、かつ前記タイマアレイからの読み出された値を前記デ クレメンタ入力レジスタにロードすることをリクエストする前記DMAコントロ ーラに結合されていることを特徴とする請求項14記載のタイママネージャ。 19.前記制御装置が、DMAで読み出されるワード数が1に等しいか、あるい はデクレメンタ回路における出力レジスタの数に等しいか、のいずれかであるこ とをリクエストできる請求項15記載のタイママネージャ。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/429,916 US5659720A (en) | 1995-04-27 | 1995-04-27 | Computer control device for managing a timer array |
| US08/429,916 | 1995-04-27 | ||
| US429,916 | 1995-04-27 | ||
| PCT/US1996/005880 WO1996034329A1 (en) | 1995-04-27 | 1996-04-26 | Timer manager |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10510078A true JPH10510078A (ja) | 1998-09-29 |
| JP3083565B2 JP3083565B2 (ja) | 2000-09-04 |
Family
ID=23705249
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08532768A Expired - Fee Related JP3083565B2 (ja) | 1995-04-27 | 1996-04-26 | タイママネージャ |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5659720A (ja) |
| EP (1) | EP0823080A4 (ja) |
| JP (1) | JP3083565B2 (ja) |
| KR (1) | KR100284718B1 (ja) |
| AU (1) | AU5788296A (ja) |
| CA (1) | CA2219296C (ja) |
| WO (1) | WO1996034329A1 (ja) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5964882A (en) * | 1996-11-08 | 1999-10-12 | Advanced Micro Devices, Inc. | Multiple timer architecture with pipelining |
| US6349388B1 (en) | 1999-05-07 | 2002-02-19 | Advanced Micro Devices, Inc. | Timer processing engine for supporting multiple virtual minimum time timers |
| US6732287B1 (en) * | 2000-06-22 | 2004-05-04 | Rockwell Automation Technologies, Inc. | Method for processing dynamically allocated timers in a real time operating system |
| US20030037154A1 (en) * | 2001-08-16 | 2003-02-20 | Poggio Andrew A. | Protocol processor |
| US6922741B2 (en) * | 2002-02-01 | 2005-07-26 | Intel Corporation | Method and system for monitoring DMA status |
| US7219268B2 (en) * | 2003-05-09 | 2007-05-15 | Hewlett-Packard Development Company, L.P. | System and method for determining transaction time-out |
| US7424653B2 (en) | 2003-05-09 | 2008-09-09 | Hewlett-Packard Development Company, L.P. | System and method for error capture and logging in computer systems |
| US8090857B2 (en) | 2003-11-24 | 2012-01-03 | Qualcomm Atheros, Inc. | Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks |
| US7181637B2 (en) * | 2003-12-02 | 2007-02-20 | International Business Machines Corporation | Packet processing system and method for a data transfer node with time-limited packet buffering in a central queue |
| US7050940B2 (en) * | 2004-03-17 | 2006-05-23 | International Business Machines Corporation | Method and system for maintaining and examining timers for network connections |
| US7181190B2 (en) * | 2004-04-30 | 2007-02-20 | Microsoft Corporation | Method for maintaining wireless network response time while saving wireless adapter power |
| US8553706B2 (en) | 2005-07-27 | 2013-10-08 | Coppergate Communications Ltd. | Flexible scheduling of resources in a noisy environment |
| US7729372B2 (en) * | 2005-07-27 | 2010-06-01 | Sharp Corporation | Communicating in a network that includes a medium having varying transmission characteristics |
| US8737420B2 (en) | 2005-07-27 | 2014-05-27 | Sigma Designs Israel S.D.I. Ltd. | Bandwidth management in a powerline network |
| EP1908223B1 (en) * | 2005-07-27 | 2016-12-07 | Sigma Designs Israel S.D.I Ltd. | Communicating schedule and network information in a powerline network |
| US8175190B2 (en) | 2005-07-27 | 2012-05-08 | Qualcomm Atheros, Inc. | Managing spectra of modulated signals in a communication network |
| US20070260907A1 (en) * | 2006-05-02 | 2007-11-08 | Dixon Martin G | Technique to modify a timer |
| US8429406B2 (en) | 2007-06-04 | 2013-04-23 | Qualcomm Atheros, Inc. | Authorizing customer premise equipment into a network |
| US9733664B1 (en) * | 2013-03-14 | 2017-08-15 | Gamesys Ltd. | Method for expiring fault-tolerant timers using distributed locks |
| US10534421B2 (en) * | 2013-06-13 | 2020-01-14 | Microsoft Technology Licensing, Llc | Virtual per-processor timers for multiprocessor systems |
| US9465406B1 (en) * | 2013-10-30 | 2016-10-11 | Qlogic, Corporation | Timers and methods thereof for computing devices |
| US11366675B2 (en) * | 2014-12-30 | 2022-06-21 | Micron Technology, Inc. | Systems and devices for accessing a state machine |
| WO2016109570A1 (en) * | 2014-12-30 | 2016-07-07 | Micron Technology, Inc | Systems and devices for accessing a state machine |
| TWI668704B (zh) | 2018-10-01 | 2019-08-11 | 大陸商深圳大心電子科技有限公司 | 資料處理方法及使用所述方法的儲存控制器 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4887076A (en) * | 1987-10-16 | 1989-12-12 | Digital Equipment Corporation | Computer interconnect coupler for clusters of data processing devices |
| EP0355243A1 (en) * | 1988-08-26 | 1990-02-28 | International Business Machines Corporation | High capacity timer arrangement |
| US4969092A (en) * | 1988-09-30 | 1990-11-06 | Ibm Corp. | Method for scheduling execution of distributed application programs at preset times in an SNA LU 6.2 network environment |
| US5249184A (en) * | 1990-01-30 | 1993-09-28 | Johnson Service Company | Network control system with improved reliability |
| US5297275A (en) * | 1991-12-20 | 1994-03-22 | International Business Machines Corporation | Personal computer system variable resolution timers |
-
1995
- 1995-04-27 US US08/429,916 patent/US5659720A/en not_active Expired - Lifetime
-
1996
- 1996-04-26 AU AU57882/96A patent/AU5788296A/en not_active Abandoned
- 1996-04-26 WO PCT/US1996/005880 patent/WO1996034329A1/en not_active Ceased
- 1996-04-26 EP EP96914558A patent/EP0823080A4/en not_active Withdrawn
- 1996-04-26 CA CA002219296A patent/CA2219296C/en not_active Expired - Fee Related
- 1996-04-26 JP JP08532768A patent/JP3083565B2/ja not_active Expired - Fee Related
- 1996-04-26 KR KR1019970707617A patent/KR100284718B1/ko not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US5659720A (en) | 1997-08-19 |
| KR100284718B1 (ko) | 2001-03-15 |
| CA2219296C (en) | 2000-07-25 |
| CA2219296A1 (en) | 1996-10-31 |
| EP0823080A4 (en) | 2000-03-22 |
| JP3083565B2 (ja) | 2000-09-04 |
| WO1996034329A1 (en) | 1996-10-31 |
| AU5788296A (en) | 1996-11-18 |
| EP0823080A1 (en) | 1998-02-11 |
| KR19990008093A (ko) | 1999-01-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH10510078A (ja) | タイママネージャ | |
| US5542076A (en) | Method and apparatus for adaptive interrupt servicing in data processing system | |
| US4953081A (en) | Least recently used arbiter with programmable high priority mode and performance monitor | |
| US5452443A (en) | Multi-processor system with fault detection | |
| US6711700B2 (en) | Method and apparatus to monitor the run state of a multi-partitioned computer system | |
| JP3271125B2 (ja) | データを転送する方法と装置及びデータ転送をインタリーブする装置 | |
| US5581794A (en) | Apparatus for generating a channel time-out signal after 16.38 milliseconds | |
| CN113468097B (zh) | 基于片上系统的数据交换方法 | |
| US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
| JP2001142842A (ja) | Dmaハンドシェークプロトコル | |
| JP2001524707A (ja) | コントローラの機能性を高めるためのファームウェアの使用 | |
| JPH10293744A (ja) | Pciバス・システム | |
| US6055598A (en) | Arrangement and method for allowing sequence-independent command responses across a computer bus bridge | |
| US5530830A (en) | Disk array system | |
| US7783817B2 (en) | Method and apparatus for conditional broadcast of barrier operations | |
| JPH0212432A (ja) | データ処理装置 | |
| EP0530846A2 (en) | Bus coupling interface | |
| US7284077B2 (en) | Peripheral interface system having dedicated communication channels | |
| JP2734246B2 (ja) | パイプラインバス | |
| JPH06214945A (ja) | コンピュータシステム及び情報の高速転送方法 | |
| JPH11232214A (ja) | 情報処理装置用プロセッサおよびその制御方法 | |
| US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
| US5931930A (en) | Processor that indicates system bus ownership in an upgradable multiprocessor computer system | |
| JPS60142768A (ja) | デ−タ転送装置 | |
| JP2752834B2 (ja) | データ転送装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |