JPH0612503B2 - チャンネル間の通信機能を有する専用サービス・プロセッサ - Google Patents

チャンネル間の通信機能を有する専用サービス・プロセッサ

Info

Publication number
JPH0612503B2
JPH0612503B2 JP1210826A JP21082689A JPH0612503B2 JP H0612503 B2 JPH0612503 B2 JP H0612503B2 JP 1210826 A JP1210826 A JP 1210826A JP 21082689 A JP21082689 A JP 21082689A JP H0612503 B2 JPH0612503 B2 JP H0612503B2
Authority
JP
Japan
Prior art keywords
register
processor
channel
value
executing
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 - Fee Related
Application number
JP1210826A
Other languages
English (en)
Other versions
JPH02250110A (ja
Inventor
スタンレイ・イー・グロウブス
バーノン・ビー・ゴーラー
ゲイリー・エル・ミラー
マリオ・ネミロブスキー
ロバート・エス・ポーター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH02250110A publication Critical patent/JPH02250110A/ja
Publication of JPH0612503B2 publication Critical patent/JPH0612503B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 (関連出願) 本出願は、全て本出願と同日に出願された下記の出願と
関連する。
日本特許出願番号:特願平1−210827、発明の名
称「多重タイマ基準機能を有するタイマ」(対応米国特
許番号第4,942,522号) 日本特許出願番号:特願平1−210828、発明の名
称「多重チャンネルおよび専用サービス・プロセッサを
有する集積回路タイマ」(対応米国特許番号第4,92
6,319号) 日本特許出願番号:特願平1−210829、発明の名
称「複数チャンネル・タイマ・システムに使用するタイ
マ・チャンネル」(対応米国特許番号第4,952,3
679号) 日本特許出願番号:特願平1−210830、発明の名
称「マッチ認識特性を持つタイマ・チャンネル」(対応
米国特許番号第5,042,005号) (産業上の利用分野) 本発明は、一般的にチャンネル間通信機能を有する専用
サービス・プロセッサに関する。さらに詳しくは、本発
明は、複数の各チャンルに対して順次サービスを行い、
チャンネル間での相互依存性を発揮するように設計され
たプロセッサに関する。
(従来の技術および発明が解決しようとする課題) 本発明は、集積回路マイクロコンピュータのタイマ・サ
ブシステムに関連して開示される。タイマ・サブシステ
ムは、複数のチャンネルを有し、これらのチャンネルの
各々は、タイミングに関する幾つかの動作を実行するこ
とができる。マイクロ・プログラム可能な単一のサービ
ス・プロセッサは、このようなマイクロコンピュータで
一般的に要求される種々のタイミング機能を実行するた
め、各チャンネルの能力を補足するのに必要な処理能力
を専ら供給する。このようなサービス・プロセッサのア
ーキテクチャにおけるある機能は、複雑なタイミング機
能を実行するために個々のタイマ・チャンネルを使用す
るシステムのユーザの能力に関連して、重要な特徴が提
供される。さらに、このプロセッサのアーキテクチャの
ある機能によって、サービス・プロセッサによる実行用
のマイクロプログラム、すなわち「プリミティブ」を作
成する労力を実質的に軽減させる。
マイクロコンピュータのタイマ・サブシステムに必要と
されるタイミング機能の例として、自動車エンジンにお
ける点火プラグの点火タイミングおよび燃料噴射のタイ
ミング並びにカメラのシャッタ動作のタイミングが含ま
れる。これらの用途およびその他の多くの用途は、タイ
マ・サブシステムが外部イベントの発生に応答して、何
時他のイベントをトリガし、次に適当なタイミングで何
時第2のイベントをトリガするかを決定するため、1つ
以上の計算を実行することを必要とする。
従来技術によるマイクロコンピュータ用のタイマ・サブ
システムは、タイマ・サブシステムの動作に必要な全て
の計算を実行するのに必要な処理能力をホスト・マイク
ロコンピュータに依存している。汎用コンピュータであ
るこのホスト・マイクロコンピュータは、一般にタイマ
のようなサブシステムの要求に対して効率的にサービス
を行うように特別な設計がなされていない。本発明の好
適な実施例は、マイクロコンピュータに関連する「分散
知能」を応用した1つの例である。即ち、ある程度の局
部的処理能力を有するマイクロコンピュータ・サブシス
テムは、ホスト・プロセッサにより高いレベルの処理タ
スクに専念させることができる。
(課題を解決するための手段) したがって、本発明の1つの目的は、改良したサービス
・プロセッサを提供することである。
本発明のこの目的およびその他の目的と効果は複数の動
作ユニットに対してサービスを行うプロセッサによって
提供され、このプロセッサは、命令を実行する実行手段
であって、前記命令の各々の実行に応答して制御信号を
発生する前記実行手段、前記実行手段から前記制御信号
を受取り、前記制御信号を前記複数の動作装置の1つに
与える制御手段、前記複数の動作装置の1つを示す値を
記憶する第1レジスタ手段、および前記複数の動作ユニ
ットに接続され、これらの動作ユニットからサービス要
求を受取り、前記第1レジスタ手段に複数の値を記憶す
るスケジューラ手段によって構成される。
本発明のこれらの目的およびその他の目的と特徴は、図
面と共に下記の詳細な説明から明らかとなろう。
(実施例) 「アサート(assert)」「ニゲート(negate)」という用語
およびこれらの用語の種々の文法的な形態が、「アクテ
ィブH」と「アクティブL」という論理信号を混合して
取扱う場合の混乱を回避するため、ここで使用される。
「アサート」は論理信号またはレジスタ・ビットをその
アクテブな状態に、または理論的に真の状態に置くため
に使用される。「ニゲート」は論理信号またはレジスタ
ビットをその非アクテブの状態即ち論理的に偽りの状態
に置くために使用される。
第1図は、マイクロコンピュータを示しその一部が本発
明の好適な実施例である。マイクロコンピュータ10
は、単一の集積回路として製作されることを意図し、中
央処理装置(CPU)11、内部モジュール・バス(I
MB)12、シリアル・インターフェース13、メモリ
・モジュール14、タイマ15およびシステム・インテ
グレーション・モジュール(SIM)16によって構成
される。CPU11、シリアル・インターフェース13
・メモリ14、タイマ15およびSIM16の各々は、
アドレス、データおよび制御情報を交換する目的のた
め、IMB12と双方向に接続される。さらに、タイマ
15はエミュレーション・バス17によってメモリ14
に双方向に接続されるが、その目的は以下の議論によっ
てさらに明確となるであろう。
シリアル・インターフェース13とタイマ15は、各々
マイクロコンピュータ10の外部デバイスと通信を行う
ため多数のピンまたはコネクタに接続される。さらに、
SIM16は、外部バスを構成する多数のピンに接続さ
れる。
タイマ15は、本発明の好適な実施例を構成するが、比
較的自立的なモジュールである。タイマ15の目的は、
できるだけCPU11の介在を少なくして、マイクロコ
ンピュータ10の要求するタイミング・タスクの全てを
実行することである。マイクロコンピュータ10によっ
て要求される可能性のあるタイミング・タスクの例に
は、自動車エンジンの点火および燃料噴射タイミング、
電子カメラのシャッタのタイミング等がある。本発明の
好適な実施例は、タイマ15をマイクロコンピュータと
関連させているが、説明される原理はスタンド・アロー
ン(stand-alone)型のタイマ・モジュールに対する関係
をも含めて、その他の関係に対しても容易に適用するこ
とが可能である。
タイマ15は、2つのクロック・ソースからのクロック
を基準として使用することができる。両方のクロック・
ソースは、タイマ・カウント・レジスタ♯1(TCR
1)とタイマ・カウント・レジスタ♯2(TCR2)と
それぞれ呼ぶフリー・ランニング(free-running)カウン
タ・レジスタの形態をとる。TCR1は、マイクロコン
ピュータ10のシステム・クロックと関連する内部クロ
ック・ソースによってクロックされる。TCR2は、ピ
ンからマイクロコンピュータ10に供給される外部ソー
スまたは外部ソース・ピンに現われる信号によってゲー
トされる内部ソースのいずれかによってクロックされ
る。
この好適な実施例では、タイマ15は16個のタイマ
「チャンネル」を有し、これらの各々はそれ自身のピン
を有している。タイマ・イベントの2つの基本的なタイ
プは、好適な実施例のシステムから理解されるようにマ
ッチ・イベントと捕捉イベントである。マッチン・イベ
ントは基本的に出力機能であり、捕捉イベントは基本的
に入力機能である。マッチ・イベントは、2つのタイマ
・カウント・レジスタの一方のカウント値が選択された
タイマ・チャンネルの一方のレジスタに記憶されている
値と所定の関係を有する場合に発生する。捕捉イベント
は、予め定義された遷移がタイマ・チャンネルと関連す
るピンにおいて検出され、タイマ・カウント・レジスタ
の1つの瞬間的なカウントの「捕捉」をそのタイマ・チ
ャンネルのレジスタにトリガする場合に発生する。種々
のタイマ・チャンネルの機能の詳細はさらに下記で説明
する。
CPU11は、「ホスト」CPUと呼ぶ場合がある。こ
れとの関連でタイマ15は、CPU11に制御されて動
作し、このタイマ15の一定のイニシャライゼーション
およびその他の機能はCPU11によって行われる。ホ
ストCPUは、この好適な実施例では、タイマ15と同
様に同じ集積回路上に設けられているが、本発明の原理
を実行するためにこれが要求されている訳ではない。
タイマ15の一定の機能は、IMB12の信号と機能の
詳細を参照することによってのみ明確に理解することが
できる。したがって、下記の第1表はIMB12のこれ
らの機能を要約している。IMB12は、周知のマイク
ロプロセッサおよび本発明の譲受人から入手可能である
マイクロコンピュータのバスと多くの点で類似し、これ
との関係で最もよく理解することのできる。表における
信号の方向はタイマ15内のそれらの機能に関連して定
義される。
「方向」の欄でアスタリスク(*)を付けたIMBの信
号は、タイマ15によって使用されない。以下で説明す
るように、タイマ15はIMBに対してスレーブ・オン
リ・インターフェースを有し、したがって一定の信号を
使用することを要求しない。
マイクロコンピュータ10のその他の一定の機能は、同
時係属中の米国特許出願第115,479号の主題であ
る。そこで特許の請求をしている発明は、好適な実施例
の共通な関係を除いて、本発明とは関係がない。
CPU11から見れば、タイマ15はCPU11のメモ
リマップ内の多数のロケーションとして存在している。
すなわち、CPU11は、これらのメモリ・ロケーショ
ンに位置しているタイマ・レジスタに読出し、書込みを
行うことによって、排他的ではないが、主としてタイマ
15と相互作用を行う。第2A図および第2B図は、タ
イマ・レジスタのローケーションと名称を示す。アドレ
スは16進の形で示され、ファンクション・コードビッ
トは2進の形で示されている。これらのレジスタのいく
つかは下記でさらに詳しく説明するが、以下の説明はそ
の各々の機能を要約している。なお、下記の簡単な説明
は、ホストCPUの立場から見たものである。タイマ1
5による種々のタイマ・レジスタに対するアクセスは、
下記の説明に含まれていない。本発明に関連のある部分
の詳細は後に説明する。
CPU11のスーパバイザ・アドレス・スペース内に専
ら存在するモジュール・コンフィギュレーション・レジ
スタ(ファンクション・コード・ビット101によって
示される)は、タイマ15に一定の属性を規定する6ビ
ット領域を有している。これらの属性は、割込みアービ
トレイションID、一定の他のレジスタのスーパーバイ
ザ/ユーザ・アドレス空間ロケーション、停止条件フラ
グ、停止制御ビット,TCR2ソース制御ビット、エミ
ュレーション・モード制御ビット、TCR1プリスケー
ラ(pre-scaler)制御ビット、およびTCR2プリスケー
ラ制御ビットである。
モジュール・テスト・レジスタは、本発明と関係しない
タイマ15のテスト・モードの局面を制御するビット領
域を有している。
開発支援制御レジスタは、タイマ15とCPU11の開
発支援機能との相互作用を決定する多数のビット領域を
有している。同様に、開発支援ステータス・レジスタ
は、これらの開発支援機能に対してタイマ15のスーテ
タスとのみ関連している。これらの機能は、本発明とは
関係していない。CPU11の開発支援機能の詳細は、
上述の米国特許出願第115,479号に開示されてい
る。
割込みレジスタは、2つのビット領域を有し、CPU1
1に対してタイマ15によって発生される2つの割込み
機能を決める。一方の領域は、タイマ15によって発生
される全ての割込みに対する割込みベクトルの最上位4
ビットを規定する。他方のビット領域は、タイマ15に
よって発生される全ての割込みに対する優先順位を規定
する。このビット領域をタイマ15からの全ての割込み
を不能にするようにセットし、タイマ15からの割込み
がCPU11に対して最高の優先順位となるようにこの
ビット領域をセットし、すなわちノンマスカブル割込、
かつこのビット領域をこれらの両極端の間の種々のレベ
ルに設定することが可能である。周知のように、割込み
優先権は、CPU11によって使用され、他の割込みソ
ースに対してタイマ割込みの相対的な優先権を決める。
位相割込みイネーブル・レジスタは、16個の1ビット
の領域を有し、1つの領域はタイマ15の16個の「チ
ャンネル」の各々に対応する。各ビット領域は、その状
態によって、このビット領域と関連するチャンネルに対
するサービスを行いながら、タイマ15のサービス・プ
ロセッサによる割込みの発生を可能または不能にする
(以下の第3図の議論を参照のこと)。
4つにチャンネル・プリミティブ選択レジスタは、16
個の4ビット領域を有し、タイマ15内のサービス・プ
ロセッサが特定のチャンネルに対してサービスを行って
いる場合、16個の可能なプリミティブまたはタイマ・
プログラムのいずれがこのサービス・プロセッサによっ
て実行されるべきであるかを決定する。16個のビット
領域の各々は、16個のタイマ・チャンネルの1つと連
動する。1つの領域内の4ビットは、プロセッサがその
領域と関連するチャンネルに対してサービスを開始する
場合、サービス・プロセッサ内の制御用記憶装置に供給
されるアドレスの一部として使用される。そのアドレス
に応答して、制御用記憶装置に戻されるデータは、この
チャンネルをサービスしている間に実行されるべきプリ
ミティブに対するエントリ・ポイントまたは開始アドレ
スとして使用される。サービス・プロセッサの制御用記
憶装置は、16個のチャンネルの各々に対して最高16
個の異なったプリミティブと最高16個のエントリ・ポ
イント(合計256個のエントリ・ポイント)を有する
ことができる。この制御用記憶装置の全体のサイズは固
定されているが、プリミティブ・コードとエントリ・ポ
イントの間の割当ては変化してもよい。即ち、合計25
6個未満のエントリ・ポイントのロケーションを使用
し、より多くのプリミティブ・コードを含むように「余
分の」記憶能力を使用することが可能である。
2つのホスト・シーケンス・レジスタは、モジュール・
コンフィギュレーション・レジスタのビット領域の1つ
に応じて、CPU11のスーパーバイザまたは非制限ア
ドレス空間のいずれに存在してもよい。これはファンク
ション・コード・ビットX01によって示され、ここ
で、Xはモジュール・コンフィギュレーション・レジス
タのSUPVビットによって決まる。ホスト・シーケン
ス・レジスタは16個の2ビット領域から構成され、そ
れらの各1個は、16個のタイマ・チャンネルの各々に
対応する。ホスト・シーケンスのビット領域は、ブラン
チ条件としてサービス・プロセッサに対して実行される
プリミティブによって使用されるものであるが、必ずし
もこれによって使用されなくてもよい。すなわち、2つ
のホスト・シーケンス・ビットの状態によって、プリミ
ティブ内の命令の流れを変更することが可能である。
2つのホスト・サービス・リクエスト・
レジスタは、16個の2ビット領域から構成され、それ
らの各1個は、各タイマ・チャンネルに対応する。特定
のビット領域に書き込みを行うことによって、ホストC
PUは、タイマ15のサービス・プロセッサによるサー
ビスを受けるタイマ・チャンネルの全てに対するスケジ
ュールを立てることができる。各チャンネルは、ホスト
・サービス・リクエスト・レジスタの1つに2ビットを
有しているので、チャンネル当たり4つの可能な値が存
在する。各チャンネルに対して要求することのできる3
つの異なった「タイプ」のサービスがあり、これらは4
つの可能な値のうちの3つに対応する。4番目の値は、
ホストの要求するサービスがスケジュールされないこと
を示す。ホストの行うサービスに対する要求を示す3つ
の値は、上述したプリミティブ選択ビットと同じ形で使
用される。ホスト・サービス・リクエスト・ビットは、
エントリ・ポイント・アドレスを得るために直接使用さ
れないが、他のチャンネルの条件ビットと一緒に符号化
される。
2つのチャンネル優先レジスタは、16個の2ビット領
域から構成され、各1個は各チャンネルに対応する。各
ビット領域は、その関連するチャンネルに対し4つの可
能な優先順位の1つを特定する。この優先順位は、いく
つかの競合するチャンネルのいずれが最初にサービスを
受けるかを決めるため、タイマ15のサービス・プロセ
ッサ内のスケジューラによって使用される。4つの可能
な優先順位には、不能、低位、中位および高位がある。
サービス・スケジューラは、優先順位の低いチャンネル
でも一定の時間がたてばサービスを受けられることを保
証するような方法でサービス・プロセッサの資源を割り
当てる。チャンネルの各々は、使用可能な優先順位のい
ずれに対しても割当可能であり、16チャンネルに対し
てどのような組み合わせの優先順位を行うことも可能で
ある。
位相割込み状況レジスタは、16チャンネルの各々に対
して1ビットを有し、上で論じた位相割込みイネーブル
・レジスタと関連する。サービス・プロセッサが特定の
チャンネルにサービスを行っている間に、割込みを発生
させるべきであると決定すると、そのチャンネルに対応
する位相割込み状況レジスタのビットは、アサートされ
る。もし位相割込みイネーブル・レジスタの対応するビ
ットがアサートされると、割込みが発生する。もしそう
でなければ、ステータス・ビットはアサートされたまま
であるが、ホストCPUに対して割込みは発生しない。
リンク・レジスタは、16個のタイマ・チャンネルの各
々に対して、1ビットを有する。各ビットは、特定のタ
イプのサービスに対する要求、リンク・サービスに対す
る要求が、対応するチャンネルに対するサービスに要求
を行うため、アサートされていることを示す。
サービス許可ラッチ・レジスタは、16個の1ビット領
域を有する。各タイマ・チャンネルは、これらの領域の
1つと関連する。アサートされると、このサービス許可
ラッチ・レジスタの1つのビットは、関連するチャンネ
ルがサービス・プロセッサによるサービスを行うために
「タイム・スロット」が与えられたことを示す。このレ
ジスタのビットは、サービス・プロセッサの資源を割り
当てる過程で、サービス・プロセッサ内のスケジューラ
によって使用される。
復号化チャンネル数レジスタは、各タイマ・チャンネル
に対して、1ビット領域を有し、これがアサートされる
と、サービス・プロセッサが新しいチャンネルに対して
サービスを開始した場合、それは復号チャンネル数レジ
スタで示されたチャンネルに対するサービスを行ったこ
とを示す。このチャンネルに対する見出しは、たとえ実
行中のプリミティブがサービス・プロセッサによって実
際に制御されているチャンネルの見出しを変更する「チ
ャンネル変更」機能を実行しても、一定のままである。
ホストCPUから見た場合、タイマ15の残りのメモリ
・マップは多数のチャンネル・パラメータ・レジスタに
よって構成される。16個のタイマ・チャンネルの各々
は、これに対して専用化された6個のパラメータ・レジ
スタを有する。以下で詳細に説明するようにこれらのパ
ラメータ・レジスタは、これを介してホストCPUとタ
イマ15とが相互に情報を提供する共有のワーク・スペ
ースとして使用される。
第3図は、マイクロコンピュータ10の残りの部分から
分離された状態のタイマ15を示す。タイマ15の主要
な機能部品は、サービス・プロセッサ20、CHO−C
H15とも名付けられている16個のタイマ・チャンネ
ル21a−21p、およびバス・インターフェース装置
(BIU)22によって構成されると考えてもよい。各
タイマ・チャンネルはマイクロコンピュータ10の1つ
のピンに接続される。チャンネル0はピンTPOに接続
され、チャンネル1はピンTP1に接続される等々であ
る。マイクロコンピュータでは一般的であるように、こ
れらのピンの各々は、タイマ15とマイクロコンピュー
タ10のその他の機能との間で「共有される」ことが可
能であるが、ここで説明する好適な実施例では、そのよ
うな構成になっていない。
サービス・プロセッサ20とチャンネル21a−21p
との間の相互接続は、サービス・バス23、イベント・
レジスタ(ER)バス24タイマ・カウント・レジスタ
♯1(TCR1)バス25、タイマ・カウンタ・レジス
タ♯2(TCR2)バス26および多数の種々の制御お
よび状態線27によって構成される。サービス・バス2
3は、サービス・プロセッサ20のサービスを要求する
ためチャンネル21a−21pによって使用される。E
Rバス24は、各チャンネル内のイベント・レジスタの
内容をサービス・プロセッサ20に供給し、これらのレ
ジスタをサービス・プロセッサ20からロードするため
に使用される。2つのTCRバスは、サービス・プロセ
ッサ20内に位置している2つのタイマ・カウント・レ
ジスタの現在の内容をチャンネル21a−21pに伝達
するために使用される。
BIU22は、IMB12とサービス・プロセッサ20
との間のインターフェースとして機能する。このような
バス・インターフェースの詳細は、本発明と関係するも
のではなく、技術上周知のものである。好適な実施例で
は、BIU22は「スレーブ・オンリー」のインターフ
ェースである。すなわち、タイマ15はIMB12を介
して、転送される情報を受信してもよいが、IMB12
上に転送を開始することはできない。
以下で詳細に説明するように、サービス・プロセッサ2
0は制御用記憶装置を有する。この制御用記憶装置は、
サービス・プロセッサ20によって実行される命令を有
するリード・オンリー・メモリ装置から構成される。好
適な実施例では、これはマスク・プログラマブルROM
として提供される。当業者にとって明らかなように、こ
のような制御用記憶装置は、問題となる制御用記憶装置
に対してプログラムされるべきソフトウェアの開発を行
う。この問題に対処するため、エミュレーション・イン
ターフェース17は、サービス・プロセッサ20をメモ
リ14に結合する。すなわち、サービス・プロセッサ2
0は制御用記憶装置に記憶されている命令の替わりに、
メモリ14に記憶されている命令を実行することができ
る。好適な実施例では、メモリ14はランダム・アクセ
ス・メモリ(RAM)のような書き換え可能なメモリで
ある。エミュレーション・インターフェース17は、ユ
ーザーがサービス・プロセッサ20に対してプリミティ
ブを書込み、実行し、変更することを可能にする目的の
ため機能する。一度完全にデバッグされると、これらの
プリミティブは制御用記憶装置の別のバージョンに組み
込まれることができる。
TCR2でカウントされる基準となる外部タイミング・
ソースは、サービス・プロセッサ20に結合される。上
述したモジュール・コンフィギュレーション・レジスタ
のビットは、TRC2がこの外部タイミング・ソースに
よってクロックされるかまたは内部タイミング基準によ
ってクロックされるかを制御する。
一般的にサービス・プロセッサ20は、主としてERバ
ス24と制御線27を使用して、チャンネル21a−2
1pを形成し、所定のタイミング・タスクを実行する。
チャンネル21a−21pは、命令通りにこれらのタス
クを実行し、時々、サービス・プロセッサ20にサービ
スを要求することによって、イベントなどの発生をサー
ビス・プロセッサ20に知らせる。サービス・プロセッ
サ20は、もしそれが存在すれば、特定のチャンネルか
らのサービス要求に応答して、そのサービスを開始する
ためにどのようなアクションを取るべきかを決定する。
サービス・プロセッサ20は、次に、そのホストCPU
(この場合、CPU11)にしたがって、以下で更に詳
しく説明するように、実行するべきタイミング機能を識
別すると共に一定のその他のサービスを行う。サービス
・プロセッサ20は、またホストCPUに対する割込み
要求を独占的に発生する。好適な実施例では、この機能
はサービス・プロセッサ20の制御用記憶装置にあるプ
ログラムによって制御される。
TCR1バスおよびTCR2バスは、16個のチャンネ
ルの各々に対して連続的に使用可能であり、各々のタイ
マ・カウンタ・レジスタの新しい内容と共に所定のスケ
ジュールで更新される。同様に、16個のチャンネルの
各々は、いつでもサービス・バス23を介してサービス
要求をアサートすることができる。しかし、ERバス2
4と制御および状態線27に関して、サービス・プロッ
セサ20は、ある1つの時点において16個のチャンネ
ルの1つのみと通信を行う。ERバス24を介して行わ
れるイベント・レジスタの読み出しおよびこれに対する
書き込みと制御および状態線27上の種々の制御および
状態信号はサービス・プロッセサ20によってその時サ
ービスが行われているその1つのチャンネルに対しての
み有効である。必要な範囲に対して、各チャンネルは制
御線27によってこれに与えられた制御情報をラッチ
し、サービス・プロセッサが他のチャンネルに対してサ
ービスを行っている間これを保持する。
サービス・バス23を介してチャンネルによって行われ
るサービスに対する要求に加えて、サービス・プロッセ
サ20は、ホストCPUによって行われるサービス要求
に対応する。上述したホスト・サービス要求レジスタに
適当な値を書き込むことによって、ホストCPUは全て
の特定のチャンネルに対するサービスのスケジュール化
を開始することができる。更に、サービス・プロセッサ
20は、それ自身、以下詳細に説明するリンク・サービ
ス要求機構を介してこのようなスケジュール化を行なう
こともできる。
第4Aないし第4D図は、第4E図に示すような相互関
係を有するが、タイマ15の詳細な構成を示す。一般的
に、第4A図はサービス・プロセッサ20(第3図)の
マイクロエンジンを示し、第4B図は、サービス・プロ
セッサ20の実行ユニットを示し、第4C図はタイマ・
チャンネルのハードウェアと装置の残りの部分に対する
相互接続を示し、第4D図はバス・インターフェース、
レジスタおよびサービスのスケジューラを示す。
先ず第4A図を参照して、マイクロエンジンの主要な機
能要素は、優先エンコーダ30、インクリメンタ31、
リターン・アドレス・レジスタ32、マルチプレクサ3
3、マルチプレクサ・コントロール34、マイクロプロ
グラム・カウンタ35、ROM制御記憶36、マルチプ
レクサ37、マイクロ命令レジスタ38、マイクロ命令
デコーダ39、マルチプレクサ40、ブランチPLA4
1および複数のフラグ・レジスタ42によって構成され
る。一般的に、複数の可能なソースの中からマルチプレ
クサ33によって選択されたマイクロ命令アドレスは、
マイクロプログラム・カウンタ35にロードされ、次に
ROM制御記憶36に供給される。このアドレスによっ
て選択されたマイクロ命令は、ROM制御記憶36によ
ってマルチプレクサ37を介してマイクロ命令レジスタ
38に供給される。デコーダ39は、次にマイクロ命令
レジスタ38の内容を復号し、必要に応じてサービス・
プロセッサ全体に制御信号を与える。マイクロ命令デコ
ーダ39は、単一の装置として図示され、これからの制
御信号がタイマの残り全体に対して供給されるが、当業
者はこの手順を変更することが有利であるかもしれない
ことを理解するであろう。マイクロ命令レジスタ38か
ら出力されるビット数は、デコード・ロジック39から
出力される制御信号の数よりも少ないので、マイクロ命
令レジスタ38からの出力をタイマ全体に分配すること
が有利であるとともに、さまざまな位置に配置された複
数のデコーダを設けることが有利となる。信号のルート
を調節することとデコード論理を複製することとの二者
択一関係は、複雑な設計上の決断であり、これはケース
バイケースで行わなければならない。
上で論じたエミュレーション・インターフェース(第1
図および第3図において参照番号17)はこれらの図で
は、エミュレーション線50、メモリ・サイクル・スタ
ート線51、マイクロ命令アドレス線52およびマイク
ロ命令線53によって構成される。エミュレーション線
50の信号の状態によって命令され、エミュレーション
・モードが動作すると、RAMは線52上のアドレスに
応答して線53上にマイクロ命令を導入する。マルチプ
レクサ37は、これらのマイクロ命令をROM制御記憶
36によって供給されたマイクロ命令の代わりに選択し
て、RAMから導出されたマイクロ命令をマイクロ命令
レジスタ38に供給する。エミュレーション線50の状
態は、モジュール・コンフィギュレーション・レジスタ
内のエミュレーション・モード制御ビットによって制御
され、したがって、ホストCPUの制御下にある。メモ
リ・サイクル・スタート信号は、単にシステム・クロッ
クから導き出されるタイミング信号である。
本発明を実現するのに必要な程度に第4A図に示すマイ
クロエンジンの詳細な特徴と動作を理解できるよう、第
4A図は、以下で更に十分な説明が行なわれる。
第4B図には、サービス・プロセッサの実行ユニットが
描かれている。この実行ユニットは、2個の16ビット
双方向バス、すなわちAバス60とBバス61を有す
る。イベント・レジスタ転送レジスタ63はAバス60
に対し双方向に接続される。同様に、タイマ・カウント
・レジスタ♯1 64とタイマ・カウンタ・レジスタ♯
2 65は、Aバス60に対し双方向に接続される。デ
クリメンタ66は、Aバス60に対し双方向に接続され
る。更に、デクリメンタ66は、デクリメンタ・コント
ローラ67から制御入力を受けとり、線68を介して第
4A図のマルチプレクサ・コントローラ34とマイクロ
プログラム・カウンタ35に出力を供給する。シフト・
レジスタ69はAバス60に対し双方向に接続され、か
つBバス61に出力を与えるように接続される。シフト
・レジスタ69は、シフタ70から入力を受取るように
接続される。シフタ70は、Aバス60に対し双方向に
接続される。
シフタ70は、また演算ユニット(AU)71からの入
力を受取るように接続される。AU71は、2つの入力
ラッチAin72とBin73から入力を受取る。ラッ
チ72と73は、Aバス60とBバス61からそれぞれ
入力を受取るように接続される。AU71は、ブランチ
PLA41に多数のコンディション・コード出力を与え
る。
汎用アキュムレータ(A)74は、Aバス60に対し双
方向に接続されると共にBバス61に出力を与えるよう
に接続される。パラメータ・プリロード(pre-load)レジ
スタ75は、Aバス60に対し双方向に接続されると共
にBバス61に出力を与えるように接続される。更に、
このパラメータ・プリロード・レジスタ75は、線76
によって第4C図にチャネル制御ハードウェアに出力を
与えるように接続される。レジスタ75は、またマルチ
プレクサ77に対し双方向に接続される。
データ入出力バッファ(DIOB)レジスタ78は、A
バス60に対し双方向に接続されると共にBバス61に
出力を与えるように接続される。
DIOB78は、またマルチプレクサ77に対し双方向
に接続される。更に、DIOB78は、マルチプレクサ
79に出力を与えるように接続される。マルチプレクサ
79は、パラメータRAMアドレス・レジスタ80に出
力を与えるように接続される。
マルチプレクサ85は、Aバス60からの入力と線86
からの入力を受け取るが、この入力は第4D図のサービ
ス・スケジューラに源を発する。
マルチプレクサ85の出力は、チャンネル・レジスタ8
7に入力として与えられる。チャンネル・レジスタ87
は線201によってAバス60に出力を与えると共に線
89によって第4C図のチャンネル制御ハードウェアに
出力を与えるように接続される。チャンネル・レジスタ
87の内容によって、種々の制御信号とERバス・サイ
クルが、第4C図に示すチャンネル制御ハードウェアに
おいて、現在サービスを受けている特定のチャンネルの
方向に適切に方向づけられる。図示の装置にはサービス
プログラムあるいはプリミティブの実行中にそのチャン
ネルの見出しを変更する能力があるため、チャンネル・
レジスタ87の内容は、第2A図および第2B図と関連
して上で説明した復号されたチャンネル・ナンバ・レジ
スタの内容と必ずしも対応しない。後者のレジスタは現
在実行しているプリミティブが開始されたチャンネルの
見出しを含み、一方チャンネル・レジスタ87は現在制
御信号が与えられているチャンネルの見出しを含む。こ
の区別が本発明の理解にとって重要である範囲におい
て、下記でさらに完全に説明される。
リンク・レジスタ88はAバス60から入力を受け取
り、デコーダ89に出力を与えるように接続される。リ
ンク・レジスタ88の4ビットはデコーダ89によって
復号され、16ビットを発生するが、これらの各々はタ
イマ・チャンネルの1つと関連している。これらの16
ビットは線90によって第4A図のブランチPLA41
と第4D図のサービス・スケジューラに接続される。リ
ンク・レジスタ88は、サービス・プロセッサがリンク
・レジスタ88に所望のチャンネルの見出しを書込むだ
けで、マイクロ命令によって制御されている全てのチャ
ンネルに対するサービスのスケジュールを作成すること
のできる手段を提供する。リンク・レジスタ88は、第
2A図と第2B図に関して上述したリンク・レジスタと
は別のものである。リンク・レジスタ88は、レジスタ
の見出しを有し、これに対し、もしあるとすればサービ
ス・プロセッサによってリンク・サービス要求がそのと
き行われる。第2A図および第2B図に関して上述した
リンク・レジスタは、リンク・サービス要求が行われた
ということを示し、まだこれに対する応答が行われてい
ないことを示す各チャンネルに対するフラグ・ビットを
有しているにすぎない。
本発明を実現するのに必要な程度に第4B図に示す実行
ユニットの詳細な特徴と動作を理解できるよう、第4B
図は、以下で更に十分な説明が行なわれる。
第4C図は、チャンネル・ハードウェアが示されてい
る。1つのチャンネルの詳細な構成要素が図示され、第
5図を参照して以下で説明される。
タイマの残りの部分から見れば、チャンネル・ハードウ
ェアは、ここではERO−ER15の符号が付けられて
いる16個のイベント・レジスタ、16個のデコーダ1
00内の1つおよび制御ロジック101のブロックによ
って構成されているように見える。TCRバスの各々
は、16個のイベント・レジスタの各々に接続される。
ERTレジスタ63(第4B図)と双方向の通信を行う
ERバスはデコーダ100に接続される。この手段によ
って、イベント・レジスタのいずれか1つと第4B図に
示す実行ユニットとの間で値を転送することができる。
明らかなように、タイマ・カウント値は、実行ユニット
からイベント・レジスタに転送されてマッチ・イベント
を設定し、捕捉イベントに応答してイベント・レジスタ
から実行ユニットに転送される。
チャンネル・レジスタ87(第4B図)からの線89
は、ロジック101を制御するために接続され、これに
対して現在サービスを受けているチャンネルを示す。制
御ロジック101は、またマイクロ命令デコーダ39
(第4A図)から直接またはマルチプレクサ102を介
して複数の入力を受ける。更に、制御ロジック101は
ブランチPLA41(第4A図)に出力を与える。最後
に、サービス・バス105は、制御ロジック101に対
して種々のチャンネルから第4D図のスケジューラにサ
ービス要求を伝達する手段を設ける。再び、チャンネル
・ハードウェアの機能は以下で詳細に説明される。
第4D図は、タイマのホスト・インターフェース部を示
す。上で示されたように、BIU22はIMBに対して
必要な従属専用のインターフェースを提供し、ホストC
PUがタイマのレジスタをアクセスすることを可能にす
る。BIU22は、RAMバス110に対し双方向に接
続されパラメータRAMアドレス・バス111に出力を
与えるように接続される。第4D図に示された装置の残
りの部分は、スケジューラ112、システム・レジスタ
113、パラメータRAM114、プリミティブ選択レ
ジスタ115およびホスト・サービス要求レジスタ11
6によって構成され、これらは全てRAMバス110と
双方向に接続される。
スケジューラ112は、16個のタイマ・チャンネルを
サービス・プロセッサの資源に割当てる手段によって構
成される。図示のように、2個のチャンネル優先レジス
タ、リンク・レジスタ、復号化チャンネル数レジスタお
よびサービス許可ラッチ・レジスタ(すべて第2A図と
第2B図を参照して上述された)は、スケジューラ11
2内に存在すると考えてよく、全てRAMバス110と
双方向に接続される。
スケジューラ112は、マイクロ命令デコーダ39から
1ビットの入力を受取り、これは特定のチャンネルに対
するサービスが終了したことを示す。これはスケジュー
ラ112が保留中のいずれのサービス要求を次に実行す
るかを決定するプロセスが起動される。スケジューラ1
12は、またマイクロ命令デコーダ39に1ビットの出
力を与え、いずれのチャンネルに対しても現在サービス
のスケジュールが立てられていないことを示し、これは
また「アイドル」状態と呼ばれる。
スケジューラ112は、48ビットによって構成される
サービス・バス120から入力を受けとるが、これは線
105からの16ビット、線90を経由するデコーダ8
9からの16ビットおよびホスト・サービス要求レジス
タ116からの16ビットを結合することによって形成
される。これらの48ビットは、チャンネル・ハードウ
ェア自身が現在サービスを要求しているチャンネル、リ
ンク・レジスタ88によって現在サービスが要求されて
いるチャンネルおよびホストサービス要求レジスタ11
6によってサービスが要求されているチャンネルをそれ
ぞれ示す。スケジューラ112はこれらの入力を受入
れ、チャンネル優先レジスタの値によって示されるよう
に、サービスが要求されているチャンネルの相対的優先
順位を検討し、いずれのチャンネルが次にサービスされ
るべきかを決める。選択されたチャンネルの4ビットの
指定信号が、線86を介してマルチプレクサ85、プリ
ミティブ選択レジスタ115、およびホスト・サービス
要求レジスタ116に出力される。
上述したように、各チャンネルは、優先レジスタ内で対
応するビットによって割当てられた4つの優先順位の1
つを有している。サービスに対する要求が保留になって
いるチャンネルにスケジュールをたてるスケジューラ1
12の計画は、低い優先順位のチャンネルでも最終的に
はサービスが受けられることを保証している。この特徴
は、他の機能をサービスするために必要とされる時間に
対して、いかなるタイミング機能も全く失われないこと
を保証するために重要である。同じ優先順位のチャンネ
ルの間では、スケジューラ112はサービスを順繰りに
割当てる。
スケジューラ112がサービスを行う新しいチャンネル
を選択する各状況(すなわち少なくとも1つのサービス
要求が保留中であって現在いずれのチャンネルもサービ
スされていない)はタイム・スロット境界と呼ばれる。
スケジューラ112によって使用される計画は、各7つ
の使用可能なタイム・スロットの内4つを高位の優先順
位に設定されたチャンネルに割当てられ、7つの内2つ
が中位の優先順位に設定されたチャンネルに割当てら
れ、7つの内1つが低位の優先順位のチャンネルに割当
てられる。使用されている特定のシーケンスは、高位、
中位、高位、低位、高位、中位、高位である。もしもタ
イム・スロット境界において該当する優先順位のチャン
ネルに保留中のサービス要求がなければ、スケジューラ
112は下記の計画に従って次の優先順位に進む。高位
−中位−低位、中位−高位−低位および低位−高位−中
位。
スケジューラ112中には、各チャンネルに対するサー
ビス要求ラッチがあり、これはいずれのタイプのサービ
ス要求がそのチャンネルに対して保留された場合でも必
ずセットされる。このラッチは、タイム・スロットがそ
のチャンネルに対し割当てられた場合、スケジューラ1
12によってクリアされ、サービスが終了するまで再び
アサートされることはない。これは、スロット間にアイ
ドル状態が無く他のチャンネルがペンディングのサービ
ス要求を有しているならば、いずれのチャンネルも2つ
の連続したタイム・スロットに割当てられないことを意
味する。
同じ優先順位のチャンネルの場合、いずれかのチャンネ
ルが2度サービスを受ける前に、スケジューラ112
は、サービスを要求する全てのチャンネルにサービスが
受けられることを保証する。同じ優先順位のチャンネル
のグループでは、番号の一番低いチャンネルが最初にサ
ービスを受ける。
勿論、限定された処理資源へのアクセスの要求が競合す
る場合の優先権の割当て計画は、周知のものでありこれ
は幅広く変化する。多くの他のこのような計画が今ここ
で述べた計画に代替することが可能である。ここで開示
した計画は、タイマ・システムにとっては有利なもので
あると信じられるが、その理由は、これが優先順位の最
も低い要求に対してさえサービスを保証するからであ
る。
パラメータRAM114は、16個のタイマ・チャンネ
ルの各々に対して各16ビット幅の6個のパラメータ・
レジスタによって構成され、合計192バイトのRAM
を有する。パラメータRAM114は、ホストCPUと
サービス・プロセッサの両方がその中で読出しおよび書
込みを行うことができるという意味で「デュアル・アク
セス」であるが、これらの内の1つしか一時にアクセス
することができない。アドレス・マルチプレクサ122
とデータ・マルチプレクサ123は、サービス・プロセ
ッサとホストCPUのいずれがアクセスを行うかを選択
する。ここで図示していない属性ロジックが実際にはい
ずれのバス・マスタがアクセス可能かを決定する。アド
レス・マルチプレクサ112は、アドレス・レジスタ8
0からおよびパラメータRAMアドレス・バス111を
介してBIU22からアドレスを受取るために接続され
る。データ・マルチプレクサ123は、RAMバス11
0とマルチプレクサ77に対し双方向に接続される。パ
ラメータRAM114にアクセスするために、サービス
・プロセッサがアドレスを発生する方法は、以下で本発
明に関係する程度に詳しく説明する。しかし、アドレス
はチャンネル・レジスタ87(第4B図参照)の現在の
内容を直接基礎としてあるいはオフセット値を加えるこ
とによって変更された内容にもとずいて発生できること
に留意する必要がある。これらのアドレシング・モード
は、その中でパラメータRAMのアドレスが現在のチャ
ンネルに関連して特定されるが、サービス・プロセッサ
による実行を意図するプリミティブを作成する際に極め
て大きなフレキシビリィティを提供する。
パラメータRAM114の設計に際して他の重要な面と
して、干渉性の問題がある。もしホストCPUが、例え
ば、チャンネル0によって使用するためパラメータRA
M114に幾つかのパラメータを書込んでいるプロセス
にあれば、全てではないが若干のパラメータが書き込ま
れた後、サービス・プロセッサによって実行されたサー
ビス・ルーチンはこれらのパラメータを使用できないこ
とということが大切である。マルチ・バイトでは、逆の
方向、すなわち、サービス・プロセッサからホストCP
Uに転送されているパラメータに同様の問題が存在す
る。干渉性の問題を処理する方法には、技術上周知の多
くの異なった方法がある。完全を期するため、好適な実
施例で使用される干渉性に対応する計画を以下で要約し
て説明する。
パラメータRAM114を構成する16ビット・ワード
の1つ、この場合、チャンネル0のパラメータ・レジス
タ5と指定されたワード(第2B図参照)は、干渉デー
タ制御レジスタ(CDC;coherent data control)とし
て使用されるように指定される。このレジスタのビット
15はセマフォ・ビット(semaphore bit)として使用さ
れる。サービス・プロセッサまたはホストCPUのいず
れかがパラメータRAM114にアクセスすることを希
望する場合、このセマフォ・ビットが先ずチェックさ
れ、もしこれがセットされているならば、セマフォ・ビ
ットがクリアされるまで、干渉データ(coherent data)
の転送に使用されるこれらのロケーションに対するアク
セスは保留される。可能なバス・マスタの1つが干渉転
送(coherent transfer)を行うことを希望すれば、これ
は先ずセマフォ・ビットをセットし、次にこの転送を実
行し、次にこのセマフォ・ビットをクリアする。この計
画が実行されることを知るため、ホストCPUとサービ
ス・プロセッサとの両方によって実行されるプログラム
を書くことはプログラマに委ねられている。
ビット14は、3つまたは4つのパラメータ(各16ビ
ット)が干渉的に転送されるべきであることを指示する
モード・ビットである。もし3つのパラメータが転送さ
れるべきであれば、チャンネル1のパラメータレジスタ
0−2として指定されたワードが保護されたロケーショ
ンとして使用される。もし4つのパラメータが転送され
るべきであれば、チャンネル1のパラメータ・レジスタ
3がまた使用される。
好適な実施例で使用される干渉性に対する計画のこれ以
上の詳細はここでは重要でないが、その理由は、その問
題とその可能な解決法の多くが、当業者にとって周知の
ものであるからである。
プリミティブ選択レジスタ115は、上述した4個のチ
ャンネル・プリミティブ選択レジスタによって構成され
る。これらのレジスタは、RAMバス110に対し双方
向に接続され、また線86からサービスを受けてチャン
ネルを示す入力を受ける。チャンネル・プリミティブ選
択レジスタの出力は、マイクロエンジンのプリミティブ
選択・ロジックに与えられる。
ホスト・サービス要求レジスタ116は、上述した2つ
のホスト・サービス要求レジスタによって構成される。
ホスト・サービス要求レジスタ116は、RAMバス1
10と双方向に接続され、サービス・バス120に16
ビットの出力を与える。上述したように、ホスト・サー
ビス要求レジスタ116は、現在サービスを受けている
チャンネルを指示するスケジューラ112から入力を受
け取る。更に、ホスト・サービス要求レジスタ116
は、ブランチPLA41から入力を受取り、これに出力
に導出す。
第4D図のどこにも示されていない残りのレジスタは、
単にシステム・レジスタとして特徴づけられ、ブロック
113で示される。このグループに含まれるものには、
ブランチPLA41に入力を与えるホスト・シーケンス
・レジスタがある。モジュール・コンフィギュレーショ
ン・レジスタ、モジュール・テスト・レジスタおよび位
相割込みイネーブル・レジスタのような他のレジスタ
は、割込み発生ロジックのようなここに図示されていな
いタイマ・ロジックの部分に出力を与える。
本発明を実現するために必要な範囲で第4D図に示すホ
スト・インターフェースとスケジューラ部分の詳細な特
徴と動作が以下で更に十分に説明されるであろう。
明らかなように、第4A図−第4D図に示す装置は、開
示しているシステムと同程度に複雑なシステムの可能な
各論理回路構造を必ずしも含めることができない。しか
し、開示したタイマの全体の構造と機能は、説明した装
置から当業者にとって明らかである。
第5図は、単一のタイマ・チャンネルの制御ハードウェ
アを示す。好適な実施例では、16個のタイマ・チャン
ネルの各々は、1つおきにあらゆる点で絶対的に同一の
ものである。「チャンネル直交性」(channel orthognal
ity)と呼ぶこのシステムの特徴の1つの重要な面である
この特徴は、1つのチャンネルによって実行される全て
の機能が、他のいずれのチャンネルによっても実行する
ことができることを意味する。したがって、第5図に示
すハードウェアは、以下で特に述べる項目を除いて、好
適な実施例の16個のチャンネルの各々に対して同一の
ものである。
各タイマ・チャンネルのイベント・レジスタ130は、
捕捉レジスタ131、マッチ・レジスタ132および同
等以上比較器133によって実際に構成される。捕捉レ
ジスタ131は、転送ゲート134を介してERバスに
接続され、捕捉レジスタ131の内容がERバス上にロ
ードされるのを可能にする。マッチ・レジスタ132
は、転送ゲート135を介してERバスに対し双方向に
接続される。捕捉レジスタ131は、転送ゲート136
によってTCR1バスまたTCR2バスのいずれかから
ロードされる。同じ転送ゲート137は比較器133へ
の一方の入力がTCR1バスであるかTCR2バスであ
るかを制御する。比較器133に対する他方の入力は、
常にマッチ・レジスタ132である。
第5図に示す装置の他端において、このタイマ・チャン
ネルに関連するピン140は、ピン制御ロジック141
のブロックに接続される。ピン制御ロジック141は、
ピン140が入力タイマ用のピンとして構成されるかま
たは出力タイマ用のピンとして構成されるかを決定す
る。ピン140が入力用のタイマのピンとして構成され
る場合、ピン制御ロジック141は捕捉イベントをトリ
ガする目的のために、正方向に向かう遷移、負方向に向
かう遷移またはいずれかの遷移を認識できるように構成
する。出力用に構成された場合、ピン制御ロジック14
1は、マッチ・イベントの発生によって、論理高レベル
または論理低レベルを発生し、またはレベルの変化即ち
トグルするようにプログラムすることができる。更に、
マッチ・イベントの発生に関係なく、上述した3つの可
能性のいずれかを強制的に発生させることが可能であ
る。サービス・プロセッサは、状態制御(それによって
ピンの状態が「強制」される)、動作制御(それによっ
て検出されるべき遷移または発生すべきレベルが選択さ
れる)および方向制御(それによってピンが「入力」ま
たは「出力」として構成される)入力を介してピン制御
ロジック141に対する制御を行い、その状態を状態出
力によって監視することができる。
遷移検出ラッチ145は、ピン制御ロジック141から
の入力を受取るために接続される。ピン140における
特定の遷移がロジック141によって検出された場合、
およびもしピンが入力用に構成されている場合、ラッチ
145がセットされる。ラッチ145は、マイクロコー
ドの制御下でサービス・プロセッサによってクリアまた
は二ゲートされる。以下で更に説明する一定の状況下で
は、遷移検出ラッチ145は連続的に二ゲートされる。
マッチ認識ラッチ150は、ピン制御ロジック141に
入力を与えるために接続される。もし、マッチ・レジス
タ132の内容がTCRバスの選択された1つの状態と
「マッチ」し、かつその他の論理的条件が満足されれば
マッチ認識ラッチ150はセットされる。このことが発
生し、かつもしピン140が出力用に構成されていれ
ば、選択された遷移がピン制御ロジック141によって
ピン140に発生する。マッチ認識ラッチ150は、マ
イクロコードの制御下でサービス・プロセッサによって
ニゲートされる。
遷移検出ラッチ145の出力は、第1ORゲート146
と第1ANDゲート147の入力に接続される。ORゲ
ートの他方の入力は、マッチ認識ラッチ150の出力で
ある。ORゲート146の出力は、捕捉イベント・ロジ
ック148に接続される。捕捉イベント・ロジック14
8は、また2つのカウンタの一方(タイム・ベース制御
♯2)を示す制御信号を受取る。捕捉イベント・ロジッ
ク148の出力は、転送ゲート136に接続される。O
Rゲート146の出力がアクティブになると、捕捉イベ
ント・ロジック148は、タイム・ベース接続♯2にし
たがって、TCR1バスまたはTCR2バスの現在の値
を捕捉レジスタ131にロードさせる。明らかなよう
に、捕捉イベントは、遷移の検出またはマッチ・イベン
トのいずれかによってトリガされる。
ANDート147の他方の入力は、サービス・プロセッ
サの制御下にある制御信号MTSRE[マッチ/遷移サ
ービス要求イネーブル(Match/Transition Service Requ
est Enable)]である。ANDゲート147の出力は、
TDL[遷移検出ラッチ(Transition De
tect Latch)]と呼ばれる制御信号であり、
サービス・プロセッサのブランチPLAに接続されると
共に第2ORゲート149の1つの入力を構成する。O
Rゲート149の出力は、図示のチャンネルに対するサ
ービス要求信号であると考えてもよい。
第2ANDゲート151は、マッチ認識ラッチ150の
出力に接続された第1入力とMTSRE制御信号に接続
された第2入力を有する。ANDゲート151の出力
は、MRL[マッチ認識ラッチ(Match Recognition Lat
ch)]と呼ばれる制御信号を構成しサービス・プロセッ
サのブランチPLAに接続されるとともにORゲート1
49の入力でもある。
インバータ162は、MTSRE制御信号に接続された
入力とORゲート163の一方の入力に接続された出力
を有する。ORゲート163の他方の入力はサービス・
プロセッサからの制御信号であり、遷移検出ラッチ14
5をニゲートにする。ORゲート163の出力は、遷移
検出ラッチ145のクリアまたはリセット入力に接続さ
れる。
TDLおよびMRLから以外のORゲート149に対す
る2つの入力は、ホスト・サービス要求ラッチ153お
よびリンク・サービス要求ラッチ154の出力である。
これらはいずれもタイマ・チャンネルのハードウェア内
に物理的に位置していないが、より正確にはスケジュー
ラ内に位置しているものと考えることができる。ORゲ
ート149は、第4D図のスケジューラ112内に位置
していると考えられてもよいが、その出力は、このチャ
ンネルに対するサービス要求信号である。
第3ANDゲート155は、マッチ認識ラッチ150の
入力に接続された出力を有する。ANDゲート155の
第1入力は、インバータ156の出力であり、このイン
バータ156の入力は遷移検出ラッチ145の出力に接
続される。ANDゲート155の第2入力は、マッチ認
識イネーブル・ラッチ157の出力であり、このラッチ
はマッチ認識ラッチ150の出力とイベント・レジスタ
書込み制御信号に接続された入力を有する。ER書込み
制御信号は、また転送ゲート135を制御する。AND
ゲート155の第3入力は、比較器133の出力であ
る。ANDゲート155の第4入力は、NANDゲート
160の出力である。
NANDゲート160の一方の入力は、マッチ・イネー
ブル・ラッチ161の出力である。マッチ・イネーブル
・ラッチ161は、16個全てのタイマ・チャンネルの
間で共有され、いずれかの1つのチャンネル制御ハード
ウエア内に位置しているものとして考えることは適当で
ない。NANDゲート160の他方の入力は、図示のチ
ャンネルが現在サービス・プロセッサによってサービス
されていることを示す信号である(すなわち、この信号
は第4B図のチャンネル・レジスタの複号化出力から得
られる)。マッチ・イネーブル・ラッチ161は、サー
ビス・プロセッサによるいずれかのチャンネルに対する
サービスの開始時点すなわちタイム・スロット境界での
セット信号によってセットされる。したがって、デフォ
ルト状態とはサービスを受けているチャンネルに対して
マッチが禁止されることである。エントリ・ポイント中
のイネーブル・ビットあるいはマイクロプログラム・カ
ウンタの初期値は、タイム・スロットに対し割当てられ
るチャンネルのためのサービス・プログラム用である
が、もしそれがセットされているなら、マッチ・イネー
ブル・ラッチ161がクリアされる。マイクロエンジン
がアイドル状態であれ、いつもこのマイクロエンジンか
らのマッチ・イネーブル信号がまた存在し、その結果、
サービス・プロセッサがアイドル状態である間に、チャ
ンネルの見出しがたまたまチャンネル・レジスタ87の
内容に対応するチャンネルに一致するために、照合が偶
然に禁止されることはない。
マッチ認識イネーブル・ラッチ157とマッチ・イネー
ブル・ラッチ161の詳細な機能は、本発明と関係する
範囲で以下さらに説明される。しかし、要約すれば、マ
ッチ・レジスタ132がサービス・プロセッサによって
書き込まれるまで、マッチ認識イネーブル・ラッチ15
7は次の照合を無視することによって単のマッチ・レジ
スタ値に対する複数の照合を防ぐ動作を行ない、そして
もしそのような照合が実行中のプリミティブによって特
にイネーブルされないなら、マッチ・イネーブル・ラッ
チ161は現在サービス中のチャンネル上に照合が発生
するのを無効にするように動作する。
説明の行なわれているチャンネル・ハードウェアの重要
な特徴は、比較器133の性質である。上述したよう
に、これは同等以上比較器である。
この論理的な機能は、正の整数の組のような一連の無限
数の概念で容易に理解することができるが、しかし有限
の長さフリーランニング・カウンタを使用することによ
って示されるモジュロ演算との関係ではそれほど明確で
はない。TCRは両方とも独自クロックであるかのよう
に、時間をカウントする。これらのクロックの周期は、
それらのクロック入力の周波数によって決まるが、しか
しいずれも好適な実施例では216の異なった状態を有
している。これらの状態は0000(16進法)からF
FFF(16進法)にわたっている。いずれのカウンタ
も、FFFF(16進法)のカウントからインクリメン
トされた場合、0000(16進法)に単純に進む。特
定のマッチ・レジスタの値が現在のTCRの値(クロッ
クの手の前方)を超えるかどうかまたは現在のTCRの
値(クロックの手の後方)未満であるかどうかを判定し
ようとする場合、概念上の困難が発生するが、その理由
は、いずれの場合でも、TCRの値(クロックの手)が
最終的にマッチ・レジスタの値に追い付きこれを通過す
るからである。
比較器133に対して選ばれた同等以上という定義は下
記の通りである。クロックの手が回るに連れてこの手の
直ぐ前にあるクロック面の半分は、現在の時間より進ん
でいると定義され、このクロックの面の他の半分は、現
在の時間よりも遅れていると定義される。さらに正確に
いえば、もしマッチ・レジスタの値が選択されたTCR
の値に対して8000(16進)以下の負でない16進
数値を加えることによって得ることができれば(この加
算は、通常のモジュロFFFFプラス1(16進)演算
にしたがって行われる)、そのときこの選択されたTC
Rの値はマッチ・レジスタの値と同等以上ではないとい
われる。この関係が真である限り、比較器133は出力
を発生しない。もしこの関係が真でなければ、この選択
されたTCRの値はマッチ・レジスタの値に対して同等
以上であるといわれ、比較器133はその出力をアサー
トする。もしマッチ・レジスタの値がマッチ・レジスタ
132に書込まれ、この選択されたTCRの値が既にマ
ッチ・レジスタの値に対して同等以上であれば、比較器
133は直ちにその出力をアサートする。このことは重
要であり、その結果、ピン140からの出力は照合機能
によってトリガされるべきであり、サービス・プロセッ
サが比較値マッチ・レジスタ132に「非常に遅くなっ
てから」書込んだために「失われる」が、ピン140か
らの出力は遅れて実行され、完全に失われるわけではな
い。
従来技術のタイマは、一般的に同等な比較器を使用し、
その結果、このタイマを使用するために書込まれたソフ
トウェアは照合値を書込む前に、TCR値が大き過ぎな
いかを先ずチェックしなければならない。本発明による
タイマ・チャンネルの上述した機能性はこの問題を緩和
している。
上述した同等以上の比較機能を8000(16進)以外
の値で定義することが可能である。この数字は、800
0(16進)が使用している16ビットカウンタのFF
FF(16進)の全体の幅の1/2であるためにこの好
適な実施例で選ばれている。これによって、TCRの全
範囲の半分に等しいサイズの「窓」が効率的に生みださ
れ、照合値が即時の出力を導出しないでTCRへ書き込
まれる所定の用途に対して選択された特定の数は、使用
されているカウンタの全範囲と所望の窓のサイズによっ
て決まる。
本発明の原理は、第4図、特に第4B図を参照すること
によって最も良く理解されるが、この第4B図は実行ユ
ニットとよばれるサービス・プロセッサの部分を示す。
本発明と最も密接に関連する好適な実施例であるサービ
ス・プロセッサのこれらの能力は、マイクロコードの実
行を中断することなく現在サービスを受けているチャン
ネルを変更する能力(チャンネル変更特性)、他のチャ
ンネルに対するサービスのスケジュールを立てるための
特別なタイプのサービス要求を発生する能力(チャンネ
ル・リンク特性)および参照されるチャンネルが絶対チ
ャンネル数によるのではなくむしろ、現在のチャンネル
に対して相対的に特定される「相対モード」でこれらお
よびその他の機能を実行する能力(チャンネル相対モー
ド特性)である。
通常の動作モードであると考えられる場合、サービス・
プロセッサは、スケジューラ112によって決められた
シーケンスで同時に16個のチャンネルに対してサービ
スを行う。サービス・プロセッサが現在のチャンネルと
関連するマイクロコード・プログラムの実行を終了する
と、マイクロ命令復号ジック39の出力がこの事実をス
ケジューラ112に指示する。スケジューラ112は、
サービスを行うべき次のチャンネルを特定する4ビット
の値を線86上に置くことによって応答する。この値
は、マルチプレクサ85を経由してチャンネル・レジス
タ87に記憶される。同時に、サービス・プロセッサ
は、新しいチャンネルに対してサービスを実行するため
にプリミティブの最初のマイクロ命令の位置を決定する
ため使用するべきエントリー・ポイントまたはスタート
・アドレスを決定する。一度にこのエントリ・ポイント
が決められると、サービス・プロセッサは、所望のプリ
ミティブの実行を開始する。
いずれのチャンネルが現在サービスを受けているかを決
定するのは、チャンネル・レジスタ87の内容である。
チャンネル・レジスタ87の内容は、線89を介してチ
ャンネル制御ハードウェアの制御ロジック101に与え
られる。この値は復号され、サービス・プロセッサから
受取られた制御信号によって16個のチャンネルの内の
いずれが動作されているかを識別するために使用され
る。チャンネル・レジスタ87の内容は、また線200
を介して、マルチプレクサ79に与えられ、パラメータ
RAM114のためのアドレスの一部を形成する。これ
によって、パラメータRAM114の内容が16個の部
分に論理的に分割され、これらの部分の各々は16個の
タイマ・チャンネルの1つと関連する機構が提供され
る。パラメータRAM114は、第2B図を参照して上
述したチャンネル・パラメータ・レジスタに対応する。
上述のチャンネル変更特性とリンク・チャンネル特性
は、ある種のタイミングの問題を解決するためには、協
力する形で2つ以上のチャンネル資源を利用する必要が
あるという認識から生まれたものである。例えば多くの
他のチャンネルにマツチ・イベントを設けて、1つのチ
ャンネルで発生している捕捉イベントに応答することが
望ましいかもしれない。従って、捕捉の発生したチャン
ネルに対するサービス・プログラムは、直接的または間
接的にこれらの他のチャンネルに対する影響を持つこと
ができなければならない。
チャンネル変更特性によって、サービス・プロセッサに
よって実行されているサービス・プログラムがこのプロ
グラムの実行を中断することなく、サービスを受けてい
るチャンネルの数を直接的に変更することのできる機構
が提供される。この機構は、マルチプレクサ85とAバ
ス60に対する接続を含む。マルチプレクサ85は、マ
イクロ命令復号ロジック39の出力によって制御される
が、チャンネル・レジスタ87にAバス60の16ビッ
トの内の4ビットから取出された値をロードすることが
できる。この値の発生源は、これからデータをAバス6
0に置くことのできるいずれの発生源であってもよい。
したがって、チャンネル・レジスタ87に新しい値をロ
ードすることによって、サービスを受けているチャンネ
ルの見出しを直接変更する命令をマイクロプログラム中
に含めてもよい。マイクロ命令のシーケンス中における
中断は不必要である。チャンネルの変更を実行するマイ
クロ命令に続いて、全ての制御信号は古いチャンネルで
はなくて新しいチャンネルに向けられ、パラメータRA
M114に対するアクセスは新しいチャンネルと関連す
るその中のロケーションをアクセスする。
チャンネル・リンク特性によって、1つのチャンネルか
らのサービス要求に応答して実行されているマイクロプ
ログラムが、現在のチャンネルを含む16個のチャンネ
ルのいずれに対してもサービス要求を発生する能力が与
えられる。この特性の実行は、リンク・レジスタ88と
Aバス60およびスケジューラ112への接続を含む。
上述したチャンネル変更特性の場合と同じように、サー
ビス・プロセッサによって実行可能である1つ以上のマ
イクロ命令は、リンク・レジスタ88にAバス60から
得られた値をロードする効果を有している。1つのチャ
ンネルに対するリンク・サービスの要求のスケジュール
を立てるため、マイクロプログラムは、勿論Aバス60
の適当なビットに所望の値を先ず設定した後、これらの
命令の1つを単に実行する。この値はリンク・レジスタ
88からデコーダ89およびこれによって線90を介し
てスケジューラ112に供給され、そしてスケジューラ
112によって他の全てのサービスに対する要求と同じ
ように取扱われる。上述したように、リンク・レジスタ
88はまたマイクロエンジンに接続される。リンク・サ
ービス要求の結果として、チャンネルがサービスに対す
る計画を立てたという事実は、エントリ・ポイント選択
過程の一部として使用されるチャンネル条件の1つであ
り、またブランチPLA41に対して有効なブランチ条
件である。上述したチャンネル変更特性の場合と同様
に、リンク・レジスタ88にロードされる値の発生源
は、これからデータをAバス60に置くことのできる発
生源であればどれであってもよい。
チャンネル・リンク特性の特定の用途によって、マイク
ロ命令の特定の長いシーケンスがいくつかのより短いシ
ーケンスに分割される。このシーケンスは現在動作して
いる同一のチャンネルに対してリンク・サービス要求を
発生させ、次に終了させることができる。チャンネルの
スケジュールがサービスに対して再度立てられると、マ
イクロプログラムは継続する。この機構によって、長い
マイクロ命令のシーケンスが同時に実行されるなら、チ
ャンネルが要求するよりも早く他のチャンネルにサービ
スを要求することを認めるであろう。
チャンネル相対モード特性は2つの面がもち、その第1
はチャンネル変更とリンク特性との両方を相対モードで
実行する能力である。換言すれば、Aバス60からチャ
ンネル・レジスタ87またはリンク・レジスタ88のど
ちらかにロードされた値は、オフセット値を加えること
によってチャンネル・レジスタ87内の現在値から求め
られてもよい。サービス・プロセッサによって実行可能
な少なくとも1つのマイクロ命令には、チャンネル・レ
ジスタ87の内容が線201を介してAバス60に与え
られることを命令するコードが含まれている。一度この
値がAバス60上に与えられると、これはAU71によ
って処理することが可能である。代表的な例では、即時
ビット領域(すなわち、マイクロ命令自身の一部)の内
容がチャンネル・レジスタ87から得られた値に加えら
れ、その結果は、Aバス60に戻される。この処理され
た値は、次に上述したようにチャンネル・レジスタ87
またはリンク・レジスタ88のいずれかにロードされる
ことが可能である。明らかなように、このことは、現在
のチャンネルに対し絶対的ではなく相対的に特定された
「目標」チャンネルへチャンネル変更またはチャンネル
・リンク機能のいずれかを実行する効果を有する。この
相対モードでチャンネル変更とチャンネル・リンク機能
とを実行する能力は、サービス・プロセッサによる実行
のために書かれたマイクロ命令の柔軟性を飛躍的に増加
させる。そのマイクロプログラムは、いずれの特定のチ
ャンネルまたはチャンネル群からも独立して書かれるこ
とができる。例えば、もし4つの隣接するチャンネル群
がそれらの間でチャンネル変更またはリンクのいずれか
を行いながら、エンジン制御装置の点火タイミング用に
使用されるのであれば、そのマイクロ・コードは、いず
れのチャンネル群が使用されようとこれから独立して書
くことができる。
尚、相対モードで使用された場合、チャンネルリンク特
性は、長いマイクロ命令のシーケンスを非常に使用しや
すくするため分割する機構として上述の自己リンク特性
を利用するが、この理由は、マイクロコードがリンクを
形成するのに絶対チャンネル番号を「認識する」必要が
ないからである。
相対モードの第2の面は、相対的な形で、パラメータR
AM114に対してアドレスを発生する能力、すなわ
ち、チャンネル・レジスタ87の現在の内容に基づいて
発生する能力である。マルチプレクサ79は、マイクロ
コードの制御下でその種々の入力を選択し、パラメータ
RAM114をアドレスするために使用するレジスタ8
0に設定する7ビットのアドレスを発生する。このアド
レスは、マイクロ命令復号ロジック39の出力から得ら
れる単一の7ビット領域によって構成されることが可能
であり、これはマイクロ命令自身内では単に1ビット領
域であった。このようなアドレスは、パラメータRAM
114内のいずれのロケーションをもアクセスすること
ができる。このようなアドレスは、そのパラメータ・レ
ジスタがアドレスされるチャンネルがマイクロ命令内の
即時フィールドの値によって固定されるという意味で絶
対的である。
マルチプレクサ79によって発生されるアドレスは、ま
たマイクロ命令復号ロジック39の出力から得られた3
ビット領域とチャンネル・レジスタ87から得られる4
ビット領域とを結合し構成することもできる。この場
合、アドレスは、パラメータRAM114内の6個のパ
ラメータ・レジスタの1つをアクセスするのに限定さ
れ、それらのパラメータ・レジスタは現在サービスを受
けているチャンネルと関連し、また3個のビット領域に
よって特定される特定のレジスタと関連する。このタイ
プのアドレスは相対的であるが、その理由は、6個の可
能なパラメータ・レジスタの内の特定のレジスタが、チ
ャンネル・レジスタ87によって供給されるチャンネル
の見出しと共にマイクロ命令自身の中で特定される必要
があるからである。従って、マイクロコードは特定の値
を得るために、例えばどれがパラメータ・レジスタ番号
3をアクセスするのかを書き込まれ、このコードは変更
なしにどのチャンネル上においても実行することができ
る。
マルチプレクサ79から発生するアドレスは、4ビット
のチャンネル・レジスタ領域とマルチプレクサ40の出
力から得られる3ビット領域との結合によっても構成す
ることができる。このモードは、パラメータをパラメー
タ・プリロード・レジスタ75へ前もってロードするた
めの各シーケンスの最初のマイクロ命令の間でのみ使用
され、ここではこれ以上関係がない。
マルチプレクサ79から発生するアドレスは、DIOB
レジスタ78から得られる7ビットを選択することによ
っても得ることができる。パラメータRAM114をア
ドレスするこのモードを使用するためには、先ずアドレ
スを計算してこれをDIOBレジスタ78に設定する。
これは、先ずチャンネル・レジスタ87の内容をAバス
60上に置き、次いでその値にBバス61を介してまた
はその他の発生源から即時データとして得られたチャン
ネル・オフセットを加算する動作を行ない、次にその結
果をDIOBレジスタ78に与えることによって達成さ
れる。次に、この値はマルチプレクサ79によって選択
される。この方法によって得られたアドレスは、マイク
ロコードがパラメータのアクセスされているチャンネル
の見出しについて特定されていないという意味でまた相
対的である。例えば、現在のチャンネルとして識別され
ているチャンネルのパラメータ・レジスタ番号3にプラ
ス2されたチャンネルをアクセスするべきであると指定
することができる。このコードもまたいずれのチャンネ
ル上においても実行することが可能である。
明らかなように、パラメータRAM114に対するチャ
ンネル・相対アドレシングを用意することによって、サ
ービス・プロセッサの適応性が大幅に拡張される。例え
ば、上に示した点火タイミングの場合、イベントのタイ
ミングを計算するのに使用するパラメータとして、1つ
のチャンネルにおいて発生した結果を他のチャンネルに
使用することが望ましい。このことは、チャンネル相対
アドレスを使用しないで行うことができるであろうが、
その結果得られるマイクロプログラムは、16個のチャ
ンネル中の特定のチャンネルで動作することが強制され
る。チャンネル相対アドレスを使用すると、マイクロプ
ログラムは、いずれのチャンネルが使用されようとそれ
から独立して書くことができる。
(発明の効果) 本発明は、マルチ・チャンネル・タイマ・システムに特
に使用するのに適したサービス・プロセッサを提供する
が、同様に他の環境で使用することも可能である。この
プロセッサは、タイマ・チャンネルのような複数の独立
した動作ユニットに対してサービスを行うことができ
る。このサービス・プロセッサは、複雑な問題を解決す
るため、整合性のある形で動作ユニットのグループを使
用するプログラムを作成するための強力な能力を提供す
る。
本発明は、好適な実施例を参照して示され、説明された
が、これに対する種々の変形と変更が当業者にとって明
らかであり、それらは本発明の精神と範囲内のものであ
る。
【図面の簡単な説明】
第1図は、シングルチップ・マイクロコンピュータのブ
ロック図であり、この一部が本発明の好適な実施例であ
る。 第2A図〜第2B図は、本発明の好適な実施例を構成す
るタイマのメモリ・マップを示す図である。 第3図は、好適な実施例のマイマの主要要素を示すブロ
ック図である。 第4A図〜第4D図は、好適な実施例のタイマの構造を
示す詳細ブロック図である。第4E図は第4A図〜第4
D図に記載された各ブロック図の接続関係を説明するた
めの図である。 第5図は、好適な実施例によるタイマ・チャンネルの構
造を示す詳細ブロック図である。 10…マイクロコンピュータ、13…シリアル・インタ
ーフェース、12…IMB、14…記憶装置、15…タ
イマ、16…シリアル・インテグレーション・モジュー
ル、20…サービス・プロセッサ、チャンネル…21a
−21p、23…サービス・バス、24…イベント・レ
ジスタ・バス、24、25…タイマ・レジスタ・カウン
ト・バス
フロントページの続き (72)発明者 マリオ・ネミロブスキー アメリカ合衆国カリフォルニア州ゴルタ、 ナンバー70、ホイットマン・ドライブ460 (72)発明者 ロバート・エス・ポーター アメリカ合衆国テキサス州オースチン、サ ラソタ・ドライブ4307 (56)参考文献 特開 昭58−48167(JP,A) トランジスタ技術 1980 11月 P. 302〜309

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】複数の動作ユニットをサービスするプロセ
    ッサにおいて、 命令を実行する実行手段であって、前記各命令の実行に
    応答して制御信号を発生する前記実行手段と、 前記複数の動作ユニットの1つを唯一正確に示す値を保
    持する第1レジスタ手段と、 前記実行手段から前記制御信号を受け、前記第1レジス
    タ手段から前記値を受け、前記制御信号を前記複数の動
    作ユニットの1つに正確に与える制御手段と、 サービス要求を受けるために前記複数の動作ユニットに
    結合されたスケジューラ手段であって、前記複数の動作
    ユニットから受けたサービス要求に優先度をつけ、前記
    受領したサービス要求の内最も高い優先度のサービス要
    求を選択し、前記選択された最も高い優先度のサービス
    要求に対応する1つの値を前記第1レジスタ手段に格納
    することを前記実行手段から独立して行なう前記スケジ
    ューラ手段と、 によって構成され、 前記実行手段は前記命令の少なくとも1つに応答して前
    記第1レジスタ手段に1つの値を前記スケジューラ手段
    の動作から独立して格納することを特徴とするプロセッ
    サ。
  2. 【請求項2】請求項1記載のプロセッサであって、 前記複数の動作ユニットの1つを示す値を格納する第2
    レジスタ手段によってさらに構成され、前記実行手段は
    前記命令の少なくとも1つに応答して前記第2レジスタ
    手段に値を格納し、前記スケジューラ手段は前記第2レ
    ジスタ手段に格納された前記値に応答することを特徴と
    するプロセッサ。
  3. 【請求項3】請求項1記載のプロセッサであって、 データを格納する第1記憶手段によってさらに構成さ
    れ、前記記憶手段は前記実行手段によってアドレス可能
    であり、前記実行手段は前記命令の少なくとも1つに応
    答して、前記第1レジスタ手段に格納された前記値から
    求められた前記第1記憶手段に対するアドレスを発生さ
    せることを特徴とするプロセッサ。
  4. 【請求項4】請求項3記載のプロセッサであって、 前記実行手段は、前記命令の少なくとも1つに応答し、
    別の値を前記第1レジスタ手段に格納された前記値と結
    合することによって、前記第1レジスタ手段に格納され
    ている前記値から求められる前記第1記憶手段に対する
    アドレスを発生することを特徴とするプロセッサ。
  5. 【請求項5】請求項4記載のプロセッサであって、 前記実行手段は、さらに前記命令の少なくとも1つに応
    答し、オフセット値を前記第1レジスタ手段に格納され
    た前記値に加算することによって前記第1レジスタ手段
    に格納された前記値から求められる前記第1記憶手段に
    対するアドレスを発生させることを特徴とするプロセッ
    サ。
  6. 【請求項6】複数の動作ユニットをサービスするプロセ
    ッサにおいて、 命令を実行する実行手段であって、前記各命令の実行に
    応答して制御信号を発生する前記実行手段と、 前記複数の動作ユニットの1つを正確に選択する選択手
    段と、 前記実行手段から前記制御信号を受け、前記選択手段か
    らの出力を受け、前記制御信号を前記複数の動作ユニッ
    トの選択された1つにのみ与える制御手段と、 前記選択手段によって選択された前記複数の動作ユニッ
    トの前記1つとは異なる前記複数の動作ユニットの1つ
    を示す値を格納するリンク・レジスタ手段と、 サービス要求を受けるために前記複数の動作ユニットに
    結合されたスケジューラ手段であって、前記複数の動作
    ユニットから受けたサービス要求に優先度をつけ、前記
    受領したサービス要求の内最も高い優先度の1つを選択
    し、前記選択された最も高い優先度のサービス要求を発
    生した前記複数の動作ユニットの前記1つを選択するた
    めに前記選択手段に命令することを前記実行手段から独
    立して行ない、また前記選択手段に命令することによっ
    て前記リンク・レジスタ手段に格納された1つの値に応
    答して前記リンク・レジスタ手段に格納された前記値に
    対応する複数の動作ユニットの1つを選択することを前
    記実行手段から独立して行なう前記スケジューラ手段
    と、 によって構成され、 前記実行手段は前記命令の少なくとも1つに応答して前
    記リンク・レジスタ手段に1つの値を格納することを特
    徴とするプロセッサ。
  7. 【請求項7】請求項6記載のプロセッサであって、前記
    選択手段はさらに、 前記選択手段によって現在選択されている前記複数の動
    作ユニットの前記ユニットを示す値を格納するレジスタ
    手段であって、前記実行手段と前記スケジューラ手段は
    いずれも前記レジスタ手段内に複数の値を格納すること
    ができることを特徴とするプロセッサ。
  8. 【請求項8】請求項7記載のプロセッサであって、 データを格納するための第1記憶手段によってさらに構
    成され、前記記憶手段は前記実行手段によってアドレス
    可能であり、前記実行手段は前記命令の少なくとも1つ
    に応答して、前記レジスタ手段に格納された前記値から
    求められた前記第1記憶手段に対するアドレスを発生さ
    せることを特徴とするプロセッサ。
  9. 【請求項9】請求項8記載のプロセッサであって、 前記実行手段は、前記命令の少なくとも1つに応答し、
    別の値を前記レジスタ手段に格納された前記値と結合す
    ることによって、前記レジスタ手段に格納されている前
    記値から求められる前記第1記憶手段に対するアドレス
    を発生することを特徴とするプロセッサ。
  10. 【請求項10】請求項8記載のプロセッサであって、 前記実行手段は、さらに前記命令の少なくとも1つに応
    答し、オフセット値を前記レジスタ手段に格納された前
    記値に加算することによって前記レジスタ手段に格納さ
    れた前記値から求められる前記第1記憶手段に対するア
    ドレスを発生させることを特徴とするプロセッサ。
  11. 【請求項11】複数の動作ユニットをサービスするプロ
    セッサにおいて、 命令を実行する実行手段であって、前記各命令の実行に
    応答して制御信号を発生する前記実行手段と、 前記複数の動作ユニットの1つを正確に選択する選択手
    段と、 前記実行手段から前記制御信号を受け、前記選択手段か
    らの出力を受け、前記制御信号を前記複数の動作ユニッ
    トの前記選択された1つに与える制御手段と、 データを格納する記憶手段であって、前記記憶手段は前
    記複数の動作ユニットと等しい数の複数の部分に論理的
    に分割され、前記各部分は前記複数の動作ユニットの1
    つに対応する前記記憶手段と、 サービス要求を受けるために前記複数の動作ユニットに
    結合されたスケジューラ手段であって、前記複数の動作
    ユニットから受けたサービス要求に優先度をつけ、前記
    受領したサービス要求の内最も高い優先度の1つを選択
    し、前記選択された最も高い優先度のサービス要求を発
    生した前記複数の動作ユニットの1つを選択するために
    前記選択手段に命令することを前記実行手段から独立し
    て行なうスケジューラ手段と、 によって構成され、 前記実行手段は前記選択手段の出力に応答して前記選択
    手段の前記出力から求められた前記記憶手段へアドレス
    を発生させることを特徴とするプロセッサ。
  12. 【請求項12】請求項11記載のプロセッサであって、 前記選択手段は前記複数の動作ユニットの前記ユニット
    を示す値を格納するレジスタ手段によってさらに構成さ
    れ、 前記実行手段は他の値を前記レジスタ手段に格納された
    前記値と結合することによって前記レジスタ手段に格納
    された前記値から前記アドレスを求めることを特徴とす
    るプロセッサ。
  13. 【請求項13】請求項11記載のプロセッサであって、 前記選択手段は前記複数の動作ユニットの前記ユニット
    を示す値を格納するレジスタ手段によってさらに構成さ
    れ、 前記実行手段はオフセット値を前記レジスタ手段に格納
    された前記値に加算することによって前記レジスタ手段
    に格納された前記値から前記アドレスを求めることを特
    徴とするプロセッサ。
  14. 【請求項14】請求項11記載のプロセッサであって、 前記実行手段の制御下で、前記複数の動作ユニットの1
    つを示す値を格納するリンク・レジスタ手段によってさ
    らに構成され、前記スケジューラ手段は前記リンク・レ
    ジスタ手段に格納された前記値に応答して前記選択手段
    を動作させることを特徴とするプロセッサ。
JP1210826A 1988-08-19 1989-08-17 チャンネル間の通信機能を有する専用サービス・プロセッサ Expired - Fee Related JPH0612503B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US233,786 1988-08-19
US07/233,786 US5129078A (en) 1988-08-19 1988-08-19 Dedicated service processor with inter-channel communication features

Publications (2)

Publication Number Publication Date
JPH02250110A JPH02250110A (ja) 1990-10-05
JPH0612503B2 true JPH0612503B2 (ja) 1994-02-16

Family

ID=22878682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1210826A Expired - Fee Related JPH0612503B2 (ja) 1988-08-19 1989-08-17 チャンネル間の通信機能を有する専用サービス・プロセッサ

Country Status (6)

Country Link
US (1) US5129078A (ja)
EP (1) EP0355462B1 (ja)
JP (1) JPH0612503B2 (ja)
KR (1) KR950014179B1 (ja)
DE (1) DE68922545T2 (ja)
HK (1) HK118397A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3931924A1 (de) * 1989-09-25 1991-04-04 Standard Elektrik Lorenz Ag Steuerung der zeitlichen zuordnung von datenverarbeitungsleistung einer rechenanlage
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
US5758157A (en) * 1992-12-31 1998-05-26 International Business Machines Corporation Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
EP0762280B1 (en) * 1995-08-30 2001-11-14 Motorola, Inc. Data processor with built-in emulation circuit
US5732225A (en) * 1995-11-13 1998-03-24 Motorola Inc. Integrated circuit timer system having a global bus for transferring information between local buses
US5729721A (en) * 1995-11-13 1998-03-17 Motorola, Inc. Timebase synchronization in separate integrated circuits or separate modules
US5812833A (en) * 1995-11-13 1998-09-22 Motorola, Inc. Timer bus structure for an integrated circuit
US5701421A (en) * 1995-11-13 1997-12-23 Motorola, Inc. Pin and status bus structure for an integrated circuit
US5721888A (en) * 1995-11-13 1998-02-24 Motorola, Inc. Performing flexible logical operations with timer channel outputs
US5721889A (en) * 1995-11-13 1998-02-24 Motorola, Inc. Data transfer between integrated circuit timer channels
US5634045A (en) * 1995-11-13 1997-05-27 Motorola, Inc. Integrated circuit input/output processor having improved timer capability
US5631853A (en) * 1995-11-13 1997-05-20 Motorola Inc. Flexible configuration of timebases in a timer system
US5925103A (en) * 1996-01-26 1999-07-20 Magallanes; Edward Patrick Internet access device
US6687865B1 (en) 1998-03-25 2004-02-03 On-Chip Technologies, Inc. On-chip service processor for test and debug of integrated circuits
US6543049B1 (en) * 1999-09-03 2003-04-01 International Business Machines Corporation Ranked break points and method for debugging a computer program
CN1996993B (zh) * 2006-01-05 2010-08-04 华为技术有限公司 一种提高背板业务总线利用率的方法和系统
US7869153B1 (en) * 2007-11-16 2011-01-11 Marvell International Ltd. Self servo write tune feature for preamps
US10575055B2 (en) * 2016-07-11 2020-02-25 Sony Corporation Using automatic content recognition (ACR) to weight search results for audio video display device (AVDD)
CN107870866B (zh) * 2016-09-28 2023-09-26 厦门鑫忆讯科技有限公司 Io命令调度方法与nvm接口控制器

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT988956B (it) * 1973-06-12 1975-04-30 Olivetti & Co Spa Governo multiplo
FR2261565B1 (ja) * 1974-02-20 1977-09-16 Honeywell Bull Soc Ind
US4152761A (en) * 1976-07-28 1979-05-01 Intel Corporation Multi-task digital processor employing a priority
US4325119A (en) * 1977-01-19 1982-04-13 Honeywell Information Systems Inc. Process and apparatus employing microprogrammed control commands for transferring information between a control processor and communications channels
US4268902A (en) * 1978-10-23 1981-05-19 International Business Machines Corporation Maintenance interface for a service processor-central processing unit computer system
US4237535A (en) * 1979-04-11 1980-12-02 Sperry Rand Corporation Apparatus and method for receiving and servicing request signals from peripheral devices in a data processing system
JPS5848167A (ja) * 1981-09-16 1983-03-22 Sharp Corp コントロ−ル装置
US4630232A (en) * 1982-06-08 1986-12-16 Burroughs Corporation Read write system for multiple line adapter organization
US4494194A (en) * 1982-09-30 1985-01-15 Burroughs Corporation Line support processor for data transfer system
US4837677A (en) * 1985-06-14 1989-06-06 International Business Machines Corporation Multiple port service expansion adapter for a communications controller

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
トランジスタ技術198011月P.302〜309

Also Published As

Publication number Publication date
EP0355462A2 (en) 1990-02-28
KR900003753A (ko) 1990-03-27
DE68922545D1 (de) 1995-06-14
JPH02250110A (ja) 1990-10-05
HK118397A (en) 1997-09-05
EP0355462A3 (en) 1992-07-01
KR950014179B1 (ko) 1995-11-22
DE68922545T2 (de) 1996-01-11
EP0355462B1 (en) 1995-05-10
US5129078A (en) 1992-07-07

Similar Documents

Publication Publication Date Title
US5117498A (en) Processer with flexible return from subroutine
KR960003409B1 (ko) 집적 회로 타이머
KR950012052B1 (ko) 타이머 및 타이머를 구비한 집적 회로
JPH0612503B2 (ja) チャンネル間の通信機能を有する専用サービス・プロセッサ
KR950012051B1 (ko) 타이머 시스템
KR960005388B1 (ko) 타이머 장치
JP2782367B2 (ja) 低電力モードを有するデジタル計算システム
US7996843B2 (en) Symmetric multi-processor system
US7103631B1 (en) Symmetric multi-processor system
US5862389A (en) Method and apparatus for selectively invoking a particular interrupt service routine for a particular interrupt request
CA1304513C (en) Multiple i/o bus virtual broadcast of programmed i/o instructions
JPS6319854Y2 (ja)
JPH10207717A (ja) マイクロコンピュータ
US5204957A (en) Integrated circuit timer with multiple channels and dedicated service processor
US4464772A (en) Frequency synthesizer for providing a pseudo-constant frequency signal
US4600991A (en) Integrated microprogrammed device for controlling information processing cycles, and a method for operating the same
US5799160A (en) Circuit and method for controlling bus arbitration
JPH0520120A (ja) 並列処理コンピユータシステム
JPH09190401A (ja) 周辺モジュールおよびマイクロプロセッサ・システム
JPS6352241A (ja) マイクロプロセツサ
JPS63298555A (ja) 共有メモリ制御方式
JPH02171974A (ja) 並列演算装置
JPS63100540A (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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080216

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090216

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees