JPH02284252A - インテリジェント入出力プロセッサおよびデータ処理装置 - Google Patents
インテリジェント入出力プロセッサおよびデータ処理装置Info
- Publication number
- JPH02284252A JPH02284252A JP2071743A JP7174390A JPH02284252A JP H02284252 A JPH02284252 A JP H02284252A JP 2071743 A JP2071743 A JP 2071743A JP 7174390 A JP7174390 A JP 7174390A JP H02284252 A JPH02284252 A JP H02284252A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- data
- processor
- instruction
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/32—Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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
- G06F13/126—Program 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 and has means for transferring I/O instructions and statuses between control unit and main processor
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
未発11は、−殻内に言えば、主プロセッサと組合わせ
た外部メモリと周辺装置のための1つまたはそれ以上の
入出力コントローラの間で入力または出力あるいはこれ
ら両方(入出力)のデータのストリームを制御して、入
出力を実行または管理する負担の軽減を主プロセッサに
行わせるプロセッサに関する。特に、本発明は主プロセ
ッサ、メモリおよび複数の入出力コントローラの間に機
能的に挿設し、入出力コントローラから入出力サ−ビス
・リクエスト信号を受け取り、そのサービス作業を取り
扱うようになっているプログラマブル入出力プロセッサ
に関する。本発明は、また、このような入出力プロセッ
サを利用するデータ処理装置にも関する。
た外部メモリと周辺装置のための1つまたはそれ以上の
入出力コントローラの間で入力または出力あるいはこれ
ら両方(入出力)のデータのストリームを制御して、入
出力を実行または管理する負担の軽減を主プロセッサに
行わせるプロセッサに関する。特に、本発明は主プロセ
ッサ、メモリおよび複数の入出力コントローラの間に機
能的に挿設し、入出力コントローラから入出力サ−ビス
・リクエスト信号を受け取り、そのサービス作業を取り
扱うようになっているプログラマブル入出力プロセッサ
に関する。本発明は、また、このような入出力プロセッ
サを利用するデータ処理装置にも関する。
従来、各入力装置または出力装置のコントローラ・ロジ
ックは、普通、主プロセッサに割り込みリクエスト信号
を提供し、メモリと装置の間でのデータの転送の必要性
を含む事象を示す。この信号の主張に応答して、プロセ
ッサは約束していた仕事を中断し、この仕事か将来再開
され得るようにメモリに充分な情報を記憶させ、割り込
みリクエストのソースを示すサブプログラムをの実行を
開始させ、次いて、任意の必要なデータを転送する。こ
れか達成されたとき、主プロセッサは先に記憶されてい
た情報を取り出し、実行されつつあった仕事を再開する
。
ックは、普通、主プロセッサに割り込みリクエスト信号
を提供し、メモリと装置の間でのデータの転送の必要性
を含む事象を示す。この信号の主張に応答して、プロセ
ッサは約束していた仕事を中断し、この仕事か将来再開
され得るようにメモリに充分な情報を記憶させ、割り込
みリクエストのソースを示すサブプログラムをの実行を
開始させ、次いて、任意の必要なデータを転送する。こ
れか達成されたとき、主プロセッサは先に記憶されてい
た情報を取り出し、実行されつつあった仕事を再開する
。
入出力を達成するこの割り込み従動手段は多数の欠点を
持つ。まず、主プロセッサの先行の仕事と状況について
の情報を記憶するのに数多くのメモリ・サイクルを必要
するということがある。
持つ。まず、主プロセッサの先行の仕事と状況について
の情報を記憶するのに数多くのメモリ・サイクルを必要
するということがある。
次に、多くのシステムにおいて、ただ1本の割り込みリ
クエスト・ラインまたは少数の割り込みリクエスト・ラ
インが多数の入出力コントローラおよび装置からプロセ
ッサへのすべての事象通告を搬送しなければならない
したがって、プロセッサは、ハードウェア、ソフトウェ
ア手段の或る種の組合わせによって、種々の装置のうち
のどれか割り込みを生したのかを識別しなければならず
、また、いくつかの装置が同時に信号を送ったときに、
それらのうちどれが最初に処理すべきであるがを識別し
なければならない。これを行っていから、プロセッサは
選定された装置に特有の、あるいは、選定された装置と
同じタイプのすべての装置に特有のサブプログラムの実
行を開始する。
クエスト・ラインまたは少数の割り込みリクエスト・ラ
インが多数の入出力コントローラおよび装置からプロセ
ッサへのすべての事象通告を搬送しなければならない
したがって、プロセッサは、ハードウェア、ソフトウェ
ア手段の或る種の組合わせによって、種々の装置のうち
のどれか割り込みを生したのかを識別しなければならず
、また、いくつかの装置が同時に信号を送ったときに、
それらのうちどれが最初に処理すべきであるがを識別し
なければならない。これを行っていから、プロセッサは
選定された装置に特有の、あるいは、選定された装置と
同じタイプのすべての装置に特有のサブプログラムの実
行を開始する。
3番目に、たいていの入力装置および出力装置の動作は
正規のデータ転送以外の状況および事象を生じさせる可
能性がある。たとえば、テープ駆動がその記録媒体の終
りにくる可能性かあり、あるいは、通信コントローラか
受信データにパリティ検査エラーを検出するかも知れな
い。したがって、サブプログラムはデータ転送を実施す
る前になんらかの異常事象が生じているかどうかをチェ
ックしなければならない。普通は、これを行うには、選
定された入出力コントローラ内の状況レジスタを読み出
し、その結果生じた値を翻訳する。さらに、状況値内の
或る種のフラグのビットの翻訳は他のビット/フラグの
状態に依存するかも知れないし、あるいは、或る種のビ
ット/フラグかチェックされるべき順序に関して「優先
権」を持つかも知れない。このような特性はサブプロク
ラム内の「3構造化」意志決定ロジックに通し、そこに
おいては、一連の連続状況審査が要求される。これはさ
らにサブプログラムの実行時間を延ばすことになる。
正規のデータ転送以外の状況および事象を生じさせる可
能性がある。たとえば、テープ駆動がその記録媒体の終
りにくる可能性かあり、あるいは、通信コントローラか
受信データにパリティ検査エラーを検出するかも知れな
い。したがって、サブプログラムはデータ転送を実施す
る前になんらかの異常事象が生じているかどうかをチェ
ックしなければならない。普通は、これを行うには、選
定された入出力コントローラ内の状況レジスタを読み出
し、その結果生じた値を翻訳する。さらに、状況値内の
或る種のフラグのビットの翻訳は他のビット/フラグの
状態に依存するかも知れないし、あるいは、或る種のビ
ット/フラグかチェックされるべき順序に関して「優先
権」を持つかも知れない。このような特性はサブプロク
ラム内の「3構造化」意志決定ロジックに通し、そこに
おいては、一連の連続状況審査が要求される。これはさ
らにサブプログラムの実行時間を延ばすことになる。
状況か審査され、正規のデータ転送リクエストを示すと
いうことがわかったときにのみ、サップログラムはコン
トローラとメモリの間でデータを実際に転送することか
できる。この時点て、サップログラムはコントローラに
1つまたはそれ以上の指令を送り、その将来の動作を状
態調整することもできる。たとえば、テープ駆動装置上
のレコードに書き込むべきデータの最後か転送されてし
まったとき、このテープ駆動装置はテープの動きを停止
させるように指令を受けなければならないかも知れない
、また、このプロセス中の或る時点で、ハードウェア手
段とソフトウェア手段の或る種の組合わせによって、コ
ントローラは現在の事象について割り込みリクエスト信
号の主張を停止し、プロセッサがこの同じ事象について
再度割り込まれないように状態調整されなければならな
い。
いうことがわかったときにのみ、サップログラムはコン
トローラとメモリの間でデータを実際に転送することか
できる。この時点て、サップログラムはコントローラに
1つまたはそれ以上の指令を送り、その将来の動作を状
態調整することもできる。たとえば、テープ駆動装置上
のレコードに書き込むべきデータの最後か転送されてし
まったとき、このテープ駆動装置はテープの動きを停止
させるように指令を受けなければならないかも知れない
、また、このプロセス中の或る時点で、ハードウェア手
段とソフトウェア手段の或る種の組合わせによって、コ
ントローラは現在の事象について割り込みリクエスト信
号の主張を停止し、プロセッサがこの同じ事象について
再度割り込まれないように状態調整されなければならな
い。
最後に、プロセッサはその先行の活動についての情報を
検索して、その活動を再開できるようにしなければなら
ず、これにも数多くのメモリ・アクセスを必要とする。
検索して、その活動を再開できるようにしなければなら
ず、これにも数多くのメモリ・アクセスを必要とする。
次に、割り込み従動入出力種たる欠陥は、上述した機能
のすべてを実施するに要する時間であり、普通のプロセ
ッサに見出されると同様の汎用命令セットを使用するの
である。これらのステップを実施するのに要する全時間
のうちほんの短い時間部分か実際のデータ転送に当てら
れる。多数の入出力装置があるが、あるいは、そのうち
のいくつかが高いデータ転送速度を持っているが、また
は、これら両方の事実が存在する場合には、種プロセッ
サの時間のうちの大きな割合の時間がこのような入出力
割り込みに割かれ、演算あるいはシステム制御のより高
いレベルのアスペクトまたはこれら両方のためのシステ
ム性能を低下させる可能性がある。最悪の場合には、入
力データが失われたり、出力データか破壊されたりする
かも知れない。これはプロセッサかすべての事象にタイ
ムリに応答てきないからである。
のすべてを実施するに要する時間であり、普通のプロセ
ッサに見出されると同様の汎用命令セットを使用するの
である。これらのステップを実施するのに要する全時間
のうちほんの短い時間部分か実際のデータ転送に当てら
れる。多数の入出力装置があるが、あるいは、そのうち
のいくつかが高いデータ転送速度を持っているが、また
は、これら両方の事実が存在する場合には、種プロセッ
サの時間のうちの大きな割合の時間がこのような入出力
割り込みに割かれ、演算あるいはシステム制御のより高
いレベルのアスペクトまたはこれら両方のためのシステ
ム性能を低下させる可能性がある。最悪の場合には、入
力データが失われたり、出力データか破壊されたりする
かも知れない。これはプロセッサかすべての事象にタイ
ムリに応答てきないからである。
Motorola and Signeticsの製作
する効率の良い68010 フィクロプロセッサはSi
gnetics 26980ctaj Llniver
sal Asynchronous Receiv
er/Transmitter (OCTART)
(8チャンネル全二重通信コントローラ)からの割り込
みリクエストを処理することかできる。この68010
は先行の仕事状態をセーブする(復元する)のにほんの
4回だけのメモリ転送を必要とするだけなので、サブプ
ログラムの実行は速い、第2に、これはベクトル化した
割り込みを特徴とし、これはどの装置か割り込んでいる
かを識別するのに要する時間を短縮する。第3に、その
記憶された仕事状態が割り込み装置のベクトル番号を含
んでおり、これは各0CTARTについての独特のサブ
プロクラム・エントリ・ポイントの必要性をなくし、各
0CTARTはレジスタをセーブし、或るレジスタに共
通のルーチンに進む前に割り込み中の0CTARTの識
別(アドレス)をロードする命令を発生する。上記のシ
ステムでは、9600ビット/秒(普通の通信速度)で
全二重を作動させる1つの2698装置を取り扱う場合
、キャラクタを受信、送信するだけに、なんらこれらの
キャラクタを処理することなく、68010の処理能力
の70%を必要とする゛。この数値はプロセッサか10
0%の利用率てシステム・バスを使用することができる
という別の仮定も含んでいる。そんなわけで、他の装置
か68010とシステム・バスの使用を分かち合ってい
るが、あるいは、同じプロセッサかデータも処理しなけ
ればならないが、または、これら両方の場合には、68
010はおそらくは1台のこのような入出力コントロー
ラを取り扱う作業にも不充分となる。
する効率の良い68010 フィクロプロセッサはSi
gnetics 26980ctaj Llniver
sal Asynchronous Receiv
er/Transmitter (OCTART)
(8チャンネル全二重通信コントローラ)からの割り込
みリクエストを処理することかできる。この68010
は先行の仕事状態をセーブする(復元する)のにほんの
4回だけのメモリ転送を必要とするだけなので、サブプ
ログラムの実行は速い、第2に、これはベクトル化した
割り込みを特徴とし、これはどの装置か割り込んでいる
かを識別するのに要する時間を短縮する。第3に、その
記憶された仕事状態が割り込み装置のベクトル番号を含
んでおり、これは各0CTARTについての独特のサブ
プロクラム・エントリ・ポイントの必要性をなくし、各
0CTARTはレジスタをセーブし、或るレジスタに共
通のルーチンに進む前に割り込み中の0CTARTの識
別(アドレス)をロードする命令を発生する。上記のシ
ステムでは、9600ビット/秒(普通の通信速度)で
全二重を作動させる1つの2698装置を取り扱う場合
、キャラクタを受信、送信するだけに、なんらこれらの
キャラクタを処理することなく、68010の処理能力
の70%を必要とする゛。この数値はプロセッサか10
0%の利用率てシステム・バスを使用することができる
という別の仮定も含んでいる。そんなわけで、他の装置
か68010とシステム・バスの使用を分かち合ってい
るが、あるいは、同じプロセッサかデータも処理しなけ
ればならないが、または、これら両方の場合には、68
010はおそらくは1台のこのような入出力コントロー
ラを取り扱う作業にも不充分となる。
多ユーザU N I X (AT&T Be1l La
boratoriesの登録商標)のような用途では、
このような性能上の問題に対する解決策は、システムに
多数のプロセッサを設けることである。代表的には、各
プロセッサが、1台毎に、その性能が許すだけの数の入
出力装¥1(上記の例では、数は4本の通信線であるが
も知れない)に対して入出力を処理する仕事に割り当て
られる。この解決策はシステムのサイズを大きくし、コ
ストを高め、ソフトウェア(作動システム)を複雑にす
る。
boratoriesの登録商標)のような用途では、
このような性能上の問題に対する解決策は、システムに
多数のプロセッサを設けることである。代表的には、各
プロセッサが、1台毎に、その性能が許すだけの数の入
出力装¥1(上記の例では、数は4本の通信線であるが
も知れない)に対して入出力を処理する仕事に割り当て
られる。この解決策はシステムのサイズを大きくし、コ
ストを高め、ソフトウェア(作動システム)を複雑にす
る。
高速装置の場合1割り込み従動入出力に伴なう問題は、
本体コンピュータの「セレクタ・チャンネル」からマイ
クロプロセッサ・システムのrDMAコントローラ」ま
てにわたる特殊化したハードウェア(主プロセッサから
独立して装置コントローラとメモリの間において高速で
データを転送し得る)の開発の必要性を生じさせる。こ
のような設備は、また、多数の制限を有する。
本体コンピュータの「セレクタ・チャンネル」からマイ
クロプロセッサ・システムのrDMAコントローラ」ま
てにわたる特殊化したハードウェア(主プロセッサから
独立して装置コントローラとメモリの間において高速で
データを転送し得る)の開発の必要性を生じさせる。こ
のような設備は、また、多数の制限を有する。
まず、−殻内に言って、これらの設備は少数の高速装置
を取り扱うシステムには良く適合するが、多数の低速装
置を取り扱うには不適当である。このタイプのいくつか
の装置(セレクタ・チャンネル)は作業に拘束を与えて
、そのうちの1つだけの装置か一度に作動することしか
できないようになる。
を取り扱うシステムには良く適合するが、多数の低速装
置を取り扱うには不適当である。このタイプのいくつか
の装置(セレクタ・チャンネル)は作業に拘束を与えて
、そのうちの1つだけの装置か一度に作動することしか
できないようになる。
第2に、このような装置は、普通、割り込み従動入出力
に必要とされるもの−とは異なった特殊化信号伝送用イ
ンターフェースを与えるコントローラを取り付けなけれ
ばならない。さらに、製造業者がこのインターフェース
を標準化することは一度もなかった。或る入出力コント
ローラとこのタイプの装置の間のインターフェースの差
は両者の間に付加的な「接着剤」ロジックを設けること
を要求するかも知れないし、このタイプの或る特定の装
置を或る特定の入出力コントローラにインターフェース
接続するのを不可能にするかも知れない。
に必要とされるもの−とは異なった特殊化信号伝送用イ
ンターフェースを与えるコントローラを取り付けなけれ
ばならない。さらに、製造業者がこのインターフェース
を標準化することは一度もなかった。或る入出力コント
ローラとこのタイプの装置の間のインターフェースの差
は両者の間に付加的な「接着剤」ロジックを設けること
を要求するかも知れないし、このタイプの或る特定の装
置を或る特定の入出力コントローラにインターフェース
接続するのを不可能にするかも知れない。
第3に、このような装置では、普通、直通データ転送リ
クエスト以外の事象や条件を取り扱う能力か非常に限ら
れ、そして、対応したコントローラの文脈や状況を追跡
し、この文脈に基づいて種々に応答する能力か非常に限
られる。
クエスト以外の事象や条件を取り扱う能力か非常に限ら
れ、そして、対応したコントローラの文脈や状況を追跡
し、この文脈に基づいて種々に応答する能力か非常に限
られる。
米国特許第4,591,973号が出力データ処理・分
配、入力データ収集・処理、入出力テストおよびシステ
ム監視を制御するのに汎用マイクロプロセッサを使用す
る入出力プロセッサを開示している。このような汎用マ
イクロプロセッサは対応したコントローラの状況および
文脈に応じて雲象を取り扱うようにプログラムされ得る
。しかしながら、このような汎用マイクロプロセッサを
用いての必要な命令の実行のために要する時間では取り
扱い得る入出力のチャンネルの量または数にかなり制限
を与える。
配、入力データ収集・処理、入出力テストおよびシステ
ム監視を制御するのに汎用マイクロプロセッサを使用す
る入出力プロセッサを開示している。このような汎用マ
イクロプロセッサは対応したコントローラの状況および
文脈に応じて雲象を取り扱うようにプログラムされ得る
。しかしながら、このような汎用マイクロプロセッサを
用いての必要な命令の実行のために要する時間では取り
扱い得る入出力のチャンネルの量または数にかなり制限
を与える。
したがって、本発明の目的は、主プロセッサから実質的
に独立して1つのメモリと複数の入出力コントローラと
の間におけるデータのストリームを制御することのでき
るインテリジェント入出力プロセッサを提供することに
ある。
に独立して1つのメモリと複数の入出力コントローラと
の間におけるデータのストリームを制御することのでき
るインテリジェント入出力プロセッサを提供することに
ある。
本発明の別の目的は、割り込み従動入出力にとって普通
のものを超えるいかなる特殊なインターフェース作用信
号あるいは技術をも提供しないし、必要ともしないタイ
プの比較的多数の入出力コントローラを取り扱うことの
できる入出力プロセッサを提供することにある。
のものを超えるいかなる特殊なインターフェース作用信
号あるいは技術をも提供しないし、必要ともしないタイ
プの比較的多数の入出力コントローラを取り扱うことの
できる入出力プロセッサを提供することにある。
本発明のまた別の目的は、前記入出力プロセッサか汎用
プロセッサに比べて1つのコントローラからのリクエス
トに応答する完全なプロセスに対して回数の少ないメモ
リ転送てよいようにすることにある。
プロセッサに比べて1つのコントローラからのリクエス
トに応答する完全なプロセスに対して回数の少ないメモ
リ転送てよいようにすることにある。
本発明のまたさらに別の目的は、DMAコントローラの
ような主プロセッサと相互作用を行うか1各々が個別に
DMAコントローラで当初使用されていた速度よりも比
較的遅いデータ速度を有する比較的多数の入出力コント
ローラ、装置ならびにチャンネルを取り扱うことのでき
る入出力フロセッサを提供することにある。
ような主プロセッサと相互作用を行うか1各々が個別に
DMAコントローラで当初使用されていた速度よりも比
較的遅いデータ速度を有する比較的多数の入出力コント
ローラ、装置ならびにチャンネルを取り扱うことのでき
る入出力フロセッサを提供することにある。
前述の目的および他の目的は2本発明の原理によれば、
複数の入出力コントローラ、主プロセッサおよび外部メ
モリの間に位置し、主プロセッサから独立してコントロ
ーラ、メモリ間でデータの転送を行う入出力プロセッサ
によって達成される。これらの入出力コントローラは、
入出力プロセッサかコントローラからのリクエスト信号
に割り込むことになるものを受け取るための複数の入力
部を有するために、割り込み従動入出力にとって普通の
ものを超えた特殊なインターフェース作用信号または技
術をなんら必要としない。
複数の入出力コントローラ、主プロセッサおよび外部メ
モリの間に位置し、主プロセッサから独立してコントロ
ーラ、メモリ間でデータの転送を行う入出力プロセッサ
によって達成される。これらの入出力コントローラは、
入出力プロセッサかコントローラからのリクエスト信号
に割り込むことになるものを受け取るための複数の入力
部を有するために、割り込み従動入出力にとって普通の
ものを超えた特殊なインターフェース作用信号または技
術をなんら必要としない。
入出力コントローラからのリクエスト信号は本発明の入
出力プロセッサ内のリクエスト・ロジック手段に送られ
る。本発明の動作における1つのオプションによれば、
このリクエスト・ロジック手段は各々別々の入出力コン
トローラから送られてくる複数のおそらくは同時に主張
されるリクエスト信号のうちの1つを選定し、また、或
る定まった優先順位に従って主張される最高優先度のリ
クエストに対応する符号化値を入出力プロセッサにとっ
て内部的に発生する優先化手段として作用する。別のオ
プションては、各入出力コントローラからのリクエスト
・ラインは、入出力プロセッサに対して外部にある、リ
クエスト・ロジック手段に送られる同様の符号化値を発
生ずる符号化手段に送られる。動作について選ばれるオ
プションは入出力プロセッサの内部制御レジスタ内のビ
ットによって与えられてもよいし、入出力フロセッサに
送られる制御信号の状態において与えられてもよい。
出力プロセッサ内のリクエスト・ロジック手段に送られ
る。本発明の動作における1つのオプションによれば、
このリクエスト・ロジック手段は各々別々の入出力コン
トローラから送られてくる複数のおそらくは同時に主張
されるリクエスト信号のうちの1つを選定し、また、或
る定まった優先順位に従って主張される最高優先度のリ
クエストに対応する符号化値を入出力プロセッサにとっ
て内部的に発生する優先化手段として作用する。別のオ
プションては、各入出力コントローラからのリクエスト
・ラインは、入出力プロセッサに対して外部にある、リ
クエスト・ロジック手段に送られる同様の符号化値を発
生ずる符号化手段に送られる。動作について選ばれるオ
プションは入出力プロセッサの内部制御レジスタ内のビ
ットによって与えられてもよいし、入出力フロセッサに
送られる制御信号の状態において与えられてもよい。
リクエスト手段に加えて、入出力プロセッサはバス・イ
ンターフェースを包含し、これは入出力プロセッサが外
部メモリと入出力コントローラの間で情報を転送できる
ようにする手段を提供し。
ンターフェースを包含し、これは入出力プロセッサが外
部メモリと入出力コントローラの間で情報を転送できる
ようにする手段を提供し。
また、このバス・インターフェースはそこに接続した外
部バス(単数または複数)の使用を制御し、対応付ける
調停手段も包含し、さらには、或る任意の入出力コント
ローラとシステム・メモリ内の或る特定のバッファとの
間でのデータ転送プロセスの完了のような主要な事象を
主プロセッサに知らせるインタラプト手段を包含する。
部バス(単数または複数)の使用を制御し、対応付ける
調停手段も包含し、さらには、或る任意の入出力コント
ローラとシステム・メモリ内の或る特定のバッファとの
間でのデータ転送プロセスの完了のような主要な事象を
主プロセッサに知らせるインタラプト手段を包含する。
入出力コントローラとシステム・メモリの間におけるデ
ータ転送プロセスに関係した情報を種々のテーブル、レ
ジスタの形て記憶するための内部メモリ手段か設けられ
る、入出力プロセッサは、また。
ータ転送プロセスに関係した情報を種々のテーブル、レ
ジスタの形て記憶するための内部メモリ手段か設けられ
る、入出力プロセッサは、また。
主プロセッサから内部メモリまての情報の転送を可能と
する構成手段と、内部メモリあるいは外部メモリに記憶
され得るプログラムを実施するための実行手段とを包含
する。或る任意の入出力コントローラからの各リクエス
ト・ラインに対応して、内部メモリのテーブルに前記プ
ログラム内の出発アドレスか記憶される。
する構成手段と、内部メモリあるいは外部メモリに記憶
され得るプログラムを実施するための実行手段とを包含
する。或る任意の入出力コントローラからの各リクエス
ト・ラインに対応して、内部メモリのテーブルに前記プ
ログラム内の出発アドレスか記憶される。
使用可能とされ、動作状況にセットされた或る任意の入
出力コントローラからのリクエスト信号の主張に応答し
て、入出力プロセッサはメモリから実行手段への命令か
らなるサブプログラムを読み出す。このサブプログラム
のフィーマットならびにケイパビリティは入出力コント
ローラを取り扱う仕事に対して厳密にカスタム化され、
したかって、汎用プロセッサの命令の場合よりも仕事に
際してより効果的となる。このサブプログラムの制御の
下に、入出力プロセッサは次の作業のうちの任意のもの
あるいはすべてを行うことによってリクエストを処理す
る。すなわち、コントローラ内の状況レジスタを読み出
すこと、このような状況項目の各々をメモリに記憶され
た多数のテーブルのうちの1つに従って翻訳すること、
全体的なデータの流れ方向に応じて外部メモリからある
いはコントローラからデータを読み出すこと、同様に記
憶されたテーブルに従ってデータを翻訳すること、コン
トローラあるいはメモリへデータを書き込むこと、コン
トローラへその将来の動作を状態調整する指令を送るこ
と、将来のリクエストに対するそれ自身の応答モートを
変更して入出力プロセスの状況ならびに文脈を追跡する
こと、多数のメモリ・バッファ領域のうち将来の転送の
ためのメモリ・バッファ領域を変更すること、メモリ・
バッファの転送完了のような主要事象の発生の際に主プ
ロセッサに対してそれ自身の割り込みリクエストを主張
することである。
出力コントローラからのリクエスト信号の主張に応答し
て、入出力プロセッサはメモリから実行手段への命令か
らなるサブプログラムを読み出す。このサブプログラム
のフィーマットならびにケイパビリティは入出力コント
ローラを取り扱う仕事に対して厳密にカスタム化され、
したかって、汎用プロセッサの命令の場合よりも仕事に
際してより効果的となる。このサブプログラムの制御の
下に、入出力プロセッサは次の作業のうちの任意のもの
あるいはすべてを行うことによってリクエストを処理す
る。すなわち、コントローラ内の状況レジスタを読み出
すこと、このような状況項目の各々をメモリに記憶され
た多数のテーブルのうちの1つに従って翻訳すること、
全体的なデータの流れ方向に応じて外部メモリからある
いはコントローラからデータを読み出すこと、同様に記
憶されたテーブルに従ってデータを翻訳すること、コン
トローラあるいはメモリへデータを書き込むこと、コン
トローラへその将来の動作を状態調整する指令を送るこ
と、将来のリクエストに対するそれ自身の応答モートを
変更して入出力プロセスの状況ならびに文脈を追跡する
こと、多数のメモリ・バッファ領域のうち将来の転送の
ためのメモリ・バッファ領域を変更すること、メモリ・
バッファの転送完了のような主要事象の発生の際に主プ
ロセッサに対してそれ自身の割り込みリクエストを主張
することである。
この入出力プロセッサは汎用プロセッサに比してコント
ローラからのリクエストに応答する完全なプロセスに対
して要求されるメモリ転送回数を減らすことを意図して
いる。本発明か適用できるシステム・サイズの範囲の下
限において、これは入出力プロセッサか主プロセッサと
分かち合うシステム・バスの負相を減らし、したがって
、演算ならびにより高い制御レベルについての主プロセ
ッサのアベイラビリティを高める。多数の入出力コント
ローラを伴なう大型のシステムの場合、バス負担ならび
にプロセッサ・アベイラビリティは、システム・バスと
は別にローカル・バスて入出力コントローラを入出力プ
ロセッサに接続し、また、システム・バスに接続した主
またはシステム・外部メモリに加えて設けたローカル外
部メモリに接続することによってさらに改善される。
ローラからのリクエストに応答する完全なプロセスに対
して要求されるメモリ転送回数を減らすことを意図して
いる。本発明か適用できるシステム・サイズの範囲の下
限において、これは入出力プロセッサか主プロセッサと
分かち合うシステム・バスの負相を減らし、したがって
、演算ならびにより高い制御レベルについての主プロセ
ッサのアベイラビリティを高める。多数の入出力コント
ローラを伴なう大型のシステムの場合、バス負担ならび
にプロセッサ・アベイラビリティは、システム・バスと
は別にローカル・バスて入出力コントローラを入出力プ
ロセッサに接続し、また、システム・バスに接続した主
またはシステム・外部メモリに加えて設けたローカル外
部メモリに接続することによってさらに改善される。
組のハードウェア・バッファかローカル・バスとシステ
ム・バスの間のインターフェースとなる。
ム・バスの間のインターフェースとなる。
メモリ・サイクルの数を最小限に抑える手段の1つとし
て、決定テーブル構造があり、ここでは、サブプログラ
ムがただ1回の動作でそれ自身の中の複数のアドレスの
うちの任意のアドレスへ制御を転送でき、状況バイトの
各可能値に対して1つのアドレスとすることかできる。
て、決定テーブル構造があり、ここでは、サブプログラ
ムがただ1回の動作でそれ自身の中の複数のアドレスの
うちの任意のアドレスへ制御を転送でき、状況バイトの
各可能値に対して1つのアドレスとすることかできる。
これは汎用プロセッサに対する割り込みルーチンを特徴
付ける逐次式3構造化意志決定よりも効率が良い。
付ける逐次式3構造化意志決定よりも効率が良い。
リクエストか許されたとき、入出力プロセッサはシステ
ム・バスの一時支配すなわちオーナシツブを要求し、実
行することができる。これに関して、DMAコントロー
ラと回し要望で主メモリにアクセスする。しかしながら
、入出力プロセッサは、多数の入出力コントローラなら
びに装置(DMAコントローラが使用される用途の代表
的なものよりも低いデータ転送速度を有するものが代表
的である)を取り扱うことかできる。さらに、このよう
な実施例は例外的な事象、条件をより良好に取り扱うこ
とができ、また、現存のDMAコントローラよりも入出
力プロセッサの文脈、状況の変化をより柔軟に追跡でき
る。
ム・バスの一時支配すなわちオーナシツブを要求し、実
行することができる。これに関して、DMAコントロー
ラと回し要望で主メモリにアクセスする。しかしながら
、入出力プロセッサは、多数の入出力コントローラなら
びに装置(DMAコントローラが使用される用途の代表
的なものよりも低いデータ転送速度を有するものが代表
的である)を取り扱うことかできる。さらに、このよう
な実施例は例外的な事象、条件をより良好に取り扱うこ
とができ、また、現存のDMAコントローラよりも入出
力プロセッサの文脈、状況の変化をより柔軟に追跡でき
る。
本発明の他の目的、特徴および利点は以下の説明から明
らかとなろう。以下、好ましい実施例を添付図面に関連
して説明する。
らかとなろう。以下、好ましい実施例を添付図面に関連
して説明する。
第1図は本発明のインテリジェント入出力プロセッサを
全体的にlOて示すブロック図であり、この入出力プロ
セッサは比較的多数の入出力チャンネル(たとえば、3
2個)と主プロセッサまたはマイクロプロセッサによっ
てもアクセスされるメモリとの間でデータの転送を行え
る単チツプ式特殊化プロセッサであると好ましい。説明
は2つの主要部分に分けるが、第1の部分は入出力プロ
セッサの構造の論理的回路・機能属性に当て、第2の部
分は命令セットの機能面に当てる。
全体的にlOて示すブロック図であり、この入出力プロ
セッサは比較的多数の入出力チャンネル(たとえば、3
2個)と主プロセッサまたはマイクロプロセッサによっ
てもアクセスされるメモリとの間でデータの転送を行え
る単チツプ式特殊化プロセッサであると好ましい。説明
は2つの主要部分に分けるが、第1の部分は入出力プロ
セッサの構造の論理的回路・機能属性に当て、第2の部
分は命令セットの機能面に当てる。
構造の論理的回路・機能属性
ここて、入出力プロセッサは入出力プロセッサによって
取り扱われるべき種々の入出力コントローラ、内部ラン
ダム・アクセス・メモリ(RAM)14.チャンネル・
レジスタ16.補助チャンネル・レジスタ17、多数の
他の内部レジスタ18、決定テーブル・ワード・ラッチ
20、命令ラッチ/デコーダ22およびバス・インター
フェース24(すべて内部データ・バス26に接続して
いる)に接続するようにリクエスト・ラインRQNn−
0に応答するリクエスト・ロジック12を包含する。バ
ス・インターフェース24はバス26を外部バスのアド
レス・データ部分28に選択的に接続し、種々のバス調
停信号、外部割り込み信号、他の制御、構成信号を接続
部30に与え、受け取る。バス・インターフェース24
はライン34を経てシーケンサ32によって制御される
。シーケンサ32は特殊化された命令セットによって実
行手段を含む有限状態機械であり、この分野て周知のい
くつかの技術のうちの任意の技術によって具体化され得
る。バス・インターフェース24ての制御通信を与える
のに加えて、シーケンサ32はライン36を経て内部メ
モリ14の一部を選定し、内部メモリ・アドレスのバラ
ンスは、普通、ライン50を経てチャンネル・レジスタ
16によって与えられる。シーケンサ32はライン38
上のリクエスト・ロジック12から入力を受け取る。ま
た、シーケンサは決定テーブル・ワード・ラッチ20と
命令ラッチ/デコーダ22からの或る種の信号も利用で
きる。
取り扱われるべき種々の入出力コントローラ、内部ラン
ダム・アクセス・メモリ(RAM)14.チャンネル・
レジスタ16.補助チャンネル・レジスタ17、多数の
他の内部レジスタ18、決定テーブル・ワード・ラッチ
20、命令ラッチ/デコーダ22およびバス・インター
フェース24(すべて内部データ・バス26に接続して
いる)に接続するようにリクエスト・ラインRQNn−
0に応答するリクエスト・ロジック12を包含する。バ
ス・インターフェース24はバス26を外部バスのアド
レス・データ部分28に選択的に接続し、種々のバス調
停信号、外部割り込み信号、他の制御、構成信号を接続
部30に与え、受け取る。バス・インターフェース24
はライン34を経てシーケンサ32によって制御される
。シーケンサ32は特殊化された命令セットによって実
行手段を含む有限状態機械であり、この分野て周知のい
くつかの技術のうちの任意の技術によって具体化され得
る。バス・インターフェース24ての制御通信を与える
のに加えて、シーケンサ32はライン36を経て内部メ
モリ14の一部を選定し、内部メモリ・アドレスのバラ
ンスは、普通、ライン50を経てチャンネル・レジスタ
16によって与えられる。シーケンサ32はライン38
上のリクエスト・ロジック12から入力を受け取る。ま
た、シーケンサは決定テーブル・ワード・ラッチ20と
命令ラッチ/デコーダ22からの或る種の信号も利用で
きる。
シーケンサ32は内部バス26に接続された論理演算装
置(ALU)41も制御する、入出力プロセッサlOの
これら種々の内部ブロックの相互作用ならびに機能は以
下に明らかにする。
置(ALU)41も制御する、入出力プロセッサlOの
これら種々の内部ブロックの相互作用ならびに機能は以
下に明らかにする。
内部リクエスト・ロジック12へのサービス・リクエス
ト・ラインRQNn−0はいくつかの異なった編成を持
ち得る。好ましい実施例では、各サービス・リクエスト
・ラインは異なったコントローラに接続される(第2図
参照) 各入出力コントローラは「チャンネルJと呼ば
れる複数の個別の入力プロセスあるいは出力プロセスを
包含する。
ト・ラインRQNn−0はいくつかの異なった編成を持
ち得る。好ましい実施例では、各サービス・リクエスト
・ラインは異なったコントローラに接続される(第2図
参照) 各入出力コントローラは「チャンネルJと呼ば
れる複数の個別の入力プロセスあるいは出力プロセスを
包含する。
たとえば、Signetics 26980ctal
Universal Asynchronous Re
ceiver/TransIlitter(OCTAf
lT)によればこのようなチャンネルか16個設けられ
る。リクエスト・ラインとコントローラのこのような直
結の場合、リクエスト・ロジック12はrRQJライン
の中の決った優先度に従っておそらくは同時に主張され
るリクエストの最高優先度を決定する。その後、入出力
プロセッサlOは、普通は。
Universal Asynchronous Re
ceiver/TransIlitter(OCTAf
lT)によればこのようなチャンネルか16個設けられ
る。リクエスト・ラインとコントローラのこのような直
結の場合、リクエスト・ロジック12はrRQJライン
の中の決った優先度に従っておそらくは同時に主張され
るリクエストの最高優先度を決定する。その後、入出力
プロセッサlOは、普通は。
多重チャンネル式入出力コントローラのうちのどのチャ
ンネルがサービスされるべきかを決定する。コントロー
ラの数かサービス・リクエスト・ラインRQNn−0の
数を超えた場合、信号すなわちラインRQNn−0は外
部ロジックによる前記の入力に先立って符号化される。
ンネルがサービスされるべきかを決定する。コントロー
ラの数かサービス・リクエスト・ラインRQNn−0の
数を超えた場合、信号すなわちラインRQNn−0は外
部ロジックによる前記の入力に先立って符号化される。
どのコントローラがサービス・リクエストを主張してい
るかを示すコートを代表することかできる(第3図から
明らかとなろう)。内部的に符号化した場合、外部的に
符号化した場合のいずれても、不活動状態にあるライン
RQNn−0のうちのいずれも「ノー・リクエスト」を
示す。
るかを示すコートを代表することかできる(第3図から
明らかとなろう)。内部的に符号化した場合、外部的に
符号化した場合のいずれても、不活動状態にあるライン
RQNn−0のうちのいずれも「ノー・リクエスト」を
示す。
入出力プロセッサlOの能力はそれか取り扱える「チャ
ンネル」の数によって特徴付けられる。
ンネル」の数によって特徴付けられる。
全二重通信ラインは2つのチャンネルを必要とする。さ
らに、システムが入出力プロセッサlOが入力プロセス
あるいは出力プロセスについての種11のバッファ・メ
モリ領域の中て切り換わることかできることを要求する
場合には、そのプロセスのために余分なチャンネルか必
要となる。
らに、システムが入出力プロセッサlOが入力プロセス
あるいは出力プロセスについての種11のバッファ・メ
モリ領域の中て切り換わることかできることを要求する
場合には、そのプロセスのために余分なチャンネルか必
要となる。
第1図において、内部ランダム・アクセス・メモリ(R
AM)14は以下のものを記憶するに充分なサイズを有
する。すなわち、 1)各チャンネル毎に、データの転送を行うべき現在の
メモリ・アドレスを与えるメモリ・アドレス・テーブル
(MAT)。
AM)14は以下のものを記憶するに充分なサイズを有
する。すなわち、 1)各チャンネル毎に、データの転送を行うべき現在の
メモリ・アドレスを与えるメモリ・アドレス・テーブル
(MAT)。
2)各チャンネル毎に、現在のメモリ・バッファに残っ
ている現在の記憶場所カウント数を与えるメモリ・カウ
ント・テーブル(MCT)。
ている現在の記憶場所カウント数を与えるメモリ・カウ
ント・テーブル(MCT)。
3)各チャンネル毎に、状況を読み出そうとしており、
また、データの転送を行おうとしている入出力コントロ
ーラ内のベース・アドレスを与える装置アドレス・テー
ブル(DAT)。
また、データの転送を行おうとしている入出力コントロ
ーラ内のベース・アドレスを与える装置アドレス・テー
ブル(DAT)。
4)各チャンネル毎に、装置のリクエストに応して最初
の命令か取り出されようとしている。レジスタ18内の
プロクラム・ベース・レジスタ(PCBR)へのオフセ
ットとして表現されるメモリ・アドレスを与えるブロク
ラム・カウント・テーブル(PCT)。チャンネルの数
がリクエストの数を超えているため、或るチャンネルの
PCTエントリを使用するプログラマブル手段も設けら
れる。
の命令か取り出されようとしている。レジスタ18内の
プロクラム・ベース・レジスタ(PCBR)へのオフセ
ットとして表現されるメモリ・アドレスを与えるブロク
ラム・カウント・テーブル(PCT)。チャンネルの数
がリクエストの数を超えているため、或るチャンネルの
PCTエントリを使用するプログラマブル手段も設けら
れる。
5)各々がホストMPUへの割り込みを識別するのに必
要な情報を含んでいる多数のエントリを記憶するに充分
なサイズの割り込みキュー(INTTAB)。この情報
は、普通は、チャンネル番号と割り込みベクトル・コー
ドとからなる。これらエントリの必要数はすべてのチャ
ンネルについて一度に取り扱える。主プロセッサへの割
り込みリクエストの最大数に等しい。−殻内には、これ
は1チヤンネルあたり少なくともlである。割り込みキ
ューは2つの割り込み優先レベルに対応する2つのセク
ション(図示せず)に分けると好ましい。
要な情報を含んでいる多数のエントリを記憶するに充分
なサイズの割り込みキュー(INTTAB)。この情報
は、普通は、チャンネル番号と割り込みベクトル・コー
ドとからなる。これらエントリの必要数はすべてのチャ
ンネルについて一度に取り扱える。主プロセッサへの割
り込みリクエストの最大数に等しい。−殻内には、これ
は1チヤンネルあたり少なくともlである。割り込みキ
ューは2つの割り込み優先レベルに対応する2つのセク
ション(図示せず)に分けると好ましい。
6)各チャンネル毎に、データ・バス(28の部分)と
異なる数のバス幅ビットを有する装置との転送を容易に
するデータを与える部分データ・テーブル。部分データ
・テーブルは各チャンネル毎にN−1データ・バイトと
N−1の対応する「現在ビット」とからなり、ここで、
Nは実施例のバイト内のデータ・バスの幅+各チャンネ
ル毎にそのチャンネルの入出力コントローラの転送幅を
指定する10g2N「装置データ幅」ビット士外部メモ
リとのデータ転送が幅Nであるべきか入出力コントロー
ラ幅であるべきかを各チャンネル毎に特定するl「メモ
リXer幅」ビットである。
異なる数のバス幅ビットを有する装置との転送を容易に
するデータを与える部分データ・テーブル。部分データ
・テーブルは各チャンネル毎にN−1データ・バイトと
N−1の対応する「現在ビット」とからなり、ここで、
Nは実施例のバイト内のデータ・バスの幅+各チャンネ
ル毎にそのチャンネルの入出力コントローラの転送幅を
指定する10g2N「装置データ幅」ビット士外部メモ
リとのデータ転送が幅Nであるべきか入出力コントロー
ラ幅であるべきかを各チャンネル毎に特定するl「メモ
リXer幅」ビットである。
図示実施例において、装置データ幅ビットおよびメモリ
Xer幅ビットは、実際に、MCTデータと一緒に読み
出され、書き込まれる。この最初の実施例では、N=2
であり、部分データ・テーブルが各チャンネル毎に1デ
ータ・バイトを記憶し、バイト・ストア・テーブル(B
ST)と呼ぶ。
Xer幅ビットは、実際に、MCTデータと一緒に読み
出され、書き込まれる。この最初の実施例では、N=2
であり、部分データ・テーブルが各チャンネル毎に1デ
ータ・バイトを記憶し、バイト・ストア・テーブル(B
ST)と呼ぶ。
チャンネル・レジスタ16は任意の入出力コントローラ
からのリクエスト信号に応答して入出力プロセッサが作
動しているとき現在のチャンネルの番号を含む。或るチ
ャンネルに対してサービスが開始されたとき、レジスタ
16はリクエスト・ロジック12の出力部からライン3
8を経てロードされ、このレジスタの内容は内部メモリ
への。
からのリクエスト信号に応答して入出力プロセッサが作
動しているとき現在のチャンネルの番号を含む。或るチ
ャンネルに対してサービスが開始されたとき、レジスタ
16はリクエスト・ロジック12の出力部からライン3
8を経てロードされ、このレジスタの内容は内部メモリ
への。
特に、プログラム カウント テーブル(PCT)への
インデックスとして役立ち、選ばれたエントリは実行の
開始点を指定する。前記チャンネル・レジスタ内容は後
に説明するINTERPRET命令の結果として内部バ
ス26を経て修正もされ得る。チャンネル・レジスタ1
6は、また、内部メモリ14内のメモリ・アドレス・テ
ーブル(MAT)、メモリ・カウント・テーブル(MC
T)、装置アドレス・テーブル(DAT)、バイト・ス
トア・テーブル(BST)へのインデックスとしても役
立つ。さらに、補助チャンネル・レジスタ17が或る種
の命令と関連して使用するための別のインデックスとし
て与えられる。
インデックスとして役立ち、選ばれたエントリは実行の
開始点を指定する。前記チャンネル・レジスタ内容は後
に説明するINTERPRET命令の結果として内部バ
ス26を経て修正もされ得る。チャンネル・レジスタ1
6は、また、内部メモリ14内のメモリ・アドレス・テ
ーブル(MAT)、メモリ・カウント・テーブル(MC
T)、装置アドレス・テーブル(DAT)、バイト・ス
トア・テーブル(BST)へのインデックスとしても役
立つ。さらに、補助チャンネル・レジスタ17が或る種
の命令と関連して使用するための別のインデックスとし
て与えられる。
レジスタ18は次のように作用する。
l)プログラム・カウント・レジスタ(pc)はプログ
ラム内てシーケンサ32によって実行されている現行命
令(もしあるとして)を指示する。
ラム内てシーケンサ32によって実行されている現行命
令(もしあるとして)を指示する。
2)キャラクタ・レジスタ(CHAR)は或る装置とメ
モリの間を通過中のキャラクタを一時的に記憶する。入
出力コントローラとメモリの間のデータはそこを通って
流れ、或る任意の入出力コントローラからの状況がそこ
に読み込まれる。
モリの間を通過中のキャラクタを一時的に記憶する。入
出力コントローラとメモリの間のデータはそこを通って
流れ、或る任意の入出力コントローラからの状況がそこ
に読み込まれる。
3)装置ベース・レジスタ(DBR)は装置アドレス・
テーブルからの重要度の低いアドレス・ビットと連結さ
せるべき重要度の高いアドレス・ビットを4え、入出力
コントローラのアドレスを構成する。これにより、DA
Tの幅を最小限に抑えることかできる。
テーブルからの重要度の低いアドレス・ビットと連結さ
せるべき重要度の高いアドレス・ビットを4え、入出力
コントローラのアドレスを構成する。これにより、DA
Tの幅を最小限に抑えることかできる。
4)決定テーブル ベース レジスタ
(DTBR)は外部メモリ内のチップを取り出す決定テ
ーブルのための重要度の高いアドレス・ビットを与える
。
ーブルのための重要度の高いアドレス・ビットを与える
。
5)プログラム・ベース・レジスタ(PCBR)はプロ
グラム・カウンタ(pc)からの重要度の低いアドレス
・ビットと連結させるべき重要度の高いアドレス・ビッ
トを与えて、命令を取り出されるメモリにアドレスを形
成する。
グラム・カウンタ(pc)からの重要度の低いアドレス
・ビットと連結させるべき重要度の高いアドレス・ビッ
トを与えて、命令を取り出されるメモリにアドレスを形
成する。
6 )INT W Index(INTXW)、I
NT RIndex(INTXR)レジスタは、それ
ぞれ、或るチャンネル・プログラムか割り込みをリクエ
ストすべきであることを示しているときに割り込みキュ
ー(INTTAB)に割り込み情報を書き込むのに使用
され、主プロセッサ・ユニットMPUか割り込みを認め
たときI NTTABから割り込みベクトルを読み出す
のに使用されるアドレス・カウントを含む。
NT RIndex(INTXR)レジスタは、それ
ぞれ、或るチャンネル・プログラムか割り込みをリクエ
ストすべきであることを示しているときに割り込みキュ
ー(INTTAB)に割り込み情報を書き込むのに使用
され、主プロセッサ・ユニットMPUか割り込みを認め
たときI NTTABから割り込みベクトルを読み出す
のに使用されるアドレス・カウントを含む。
もし2つの割り込み優先レベルか与えられた場合には、
各レベルはそれ自身の(I NT)Wカウンタと(IN
T)Rカウンタとを有する。真の(ダイナミック・シフ
ティンク) First−In First−Out
(FIFO)メモリか割り込みキューを実施するのに用
いられる場合には、INTW、lNTRレジスタのいず
れも不要となる。
各レベルはそれ自身の(I NT)Wカウンタと(IN
T)Rカウンタとを有する。真の(ダイナミック・シフ
ティンク) First−In First−Out
(FIFO)メモリか割り込みキューを実施するのに用
いられる場合には、INTW、lNTRレジスタのいず
れも不要となる。
7)割り込みチャンネル・レジスタ(INTCHN)は
主プロセッサ・ユニットMPUにアクセスすることかで
き、ここから現在の(最も近い)割り込み中のチャンネ
ルの番号を読み出すことができる。
主プロセッサ・ユニットMPUにアクセスすることかで
き、ここから現在の(最も近い)割り込み中のチャンネ
ルの番号を読み出すことができる。
8)制御レジスタ(CTRL)はホストMPUによって
セットされて入出力プロセ・ンサ10の基本的な動作お
よび構成を制御することかできる。
セットされて入出力プロセ・ンサ10の基本的な動作お
よび構成を制御することかできる。
これらのレジスタはハードウェア手段による短期間の記
憶にとって必要とされるものにソフトウェアの観点で均
等である。ここで、命令ラッチ/デコーダ22は内部バ
ス26からの命令をそれかメモリから読み出されつつあ
るときにシーケンサ32から指令があると捕獲する。命
令ワードを捕獲した後、このブロックはワードを復号し
、シーケンサ32にワードが表わす種々の命令タイプの
うちのどれかを定める一組の信号を与える。
憶にとって必要とされるものにソフトウェアの観点で均
等である。ここで、命令ラッチ/デコーダ22は内部バ
ス26からの命令をそれかメモリから読み出されつつあ
るときにシーケンサ32から指令があると捕獲する。命
令ワードを捕獲した後、このブロックはワードを復号し
、シーケンサ32にワードが表わす種々の命令タイプの
うちのどれかを定める一組の信号を与える。
シーケンサ32からの制御信号に応答して、命令ラッチ
/デコーダ22は内部バス26内の遭ばれた信号に命令
ワード内の種々のサブフィールドを割り当てる。
/デコーダ22は内部バス26内の遭ばれた信号に命令
ワード内の種々のサブフィールドを割り当てる。
同様にして、決定テーブル・ワード・ラッチ20は決定
テーブル・ワードがメモリから読み出されつつあるとき
にシーケンサ32からの指令に基いて内部バス26から
のデー、夕を捕獲する。
テーブル・ワードがメモリから読み出されつつあるとき
にシーケンサ32からの指令に基いて内部バス26から
のデー、夕を捕獲する。
ワードを捕獲した後、ラッチ20はシーケンサ32に内
容の一部な午え、シーケンサ32からの指令に基づいて
、バス26内の選定信号にワードの他のサブフィールド
を置くことができる。
容の一部な午え、シーケンサ32からの指令に基づいて
、バス26内の選定信号にワードの他のサブフィールド
を置くことができる。
実現性、速度およびコストについての問題は前述の種々
のテーブルを内部メモリ14に収納する脂力を制限する
可能性かあるが、システム・メモリまたは他の外部メモ
リ内に保たれるチャンネル・プログラムおよび決定テー
ブルを収容する能力を制限する可能性はない:しかしな
がら、もし内部メモリ14が前記のチャンネル・プログ
ラムあるいは決定テーブルまたはこれら両方も収容でき
るならば、プロクラム・ベース・レジスタ(PBR)お
よび決定テーブル・ベース・レジスタ(DTBR)は不
要であり、入出力プロセッサ10の動作か外部バス28
からの命令サイクルおよび決定テーブル取り出しサイク
ル(traffic)の審査によって強調される。さら
に、入出力プロセッサ10は、回し集積回路およびパッ
ケージ内で、1つまたはそれ以上の入出力コントローラ
とも組合わせられ、入出力プロセッサlOと入出力コン
トローラの間の状況読み出し、データ転送その他のバス
・サイクルを外部バス28から審査することによって操
作エンハンスメントを与える。
のテーブルを内部メモリ14に収納する脂力を制限する
可能性かあるが、システム・メモリまたは他の外部メモ
リ内に保たれるチャンネル・プログラムおよび決定テー
ブルを収容する能力を制限する可能性はない:しかしな
がら、もし内部メモリ14が前記のチャンネル・プログ
ラムあるいは決定テーブルまたはこれら両方も収容でき
るならば、プロクラム・ベース・レジスタ(PBR)お
よび決定テーブル・ベース・レジスタ(DTBR)は不
要であり、入出力プロセッサ10の動作か外部バス28
からの命令サイクルおよび決定テーブル取り出しサイク
ル(traffic)の審査によって強調される。さら
に、入出力プロセッサ10は、回し集積回路およびパッ
ケージ内で、1つまたはそれ以上の入出力コントローラ
とも組合わせられ、入出力プロセッサlOと入出力コン
トローラの間の状況読み出し、データ転送その他のバス
・サイクルを外部バス28から審査することによって操
作エンハンスメントを与える。
好ましくは、実際の具体例は4つのこのようなAsyn
chronous Receiver/Transmi
tter (UARTs)(図示せず)を包含するが、
筒略化のためのここではこれ以上の説明は行わない。
chronous Receiver/Transmi
tter (UARTs)(図示せず)を包含するが、
筒略化のためのここではこれ以上の説明は行わない。
入出力プロセッサlOは、或るシステムと相互作用する
とき、その種々の入力信号および出力信号の名称、機能
について以下に示すように目録形態てリストアツブする
ことによってより良く理解して貰えよう。(供給電圧、
クロックのようなラインは簡略化のために省略する。) 第2図は入出力プロセッサ10を使用している比較的小
型のシステム52を示す。このシステム52はホスト・
コンピュータまたはマイクロプロセッサ(MPU)54
と、主メモリまたはシステム・メモリ56とからなり、
これらはシステム・アドレス・データ・バス58によっ
て相互接続されている、入出力プロセッサlOは、アド
レス・データ・バス5日に接続されると同時に、複数の
入出力コントローラ60(入出力プロセッサ10に設け
られたリクエスト・ラインRQNn−0の数より少ない
かあるいはそれに等しい数であり、3つか1例として図
示しである)にも接続している。
とき、その種々の入力信号および出力信号の名称、機能
について以下に示すように目録形態てリストアツブする
ことによってより良く理解して貰えよう。(供給電圧、
クロックのようなラインは簡略化のために省略する。) 第2図は入出力プロセッサ10を使用している比較的小
型のシステム52を示す。このシステム52はホスト・
コンピュータまたはマイクロプロセッサ(MPU)54
と、主メモリまたはシステム・メモリ56とからなり、
これらはシステム・アドレス・データ・バス58によっ
て相互接続されている、入出力プロセッサlOは、アド
レス・データ・バス5日に接続されると同時に、複数の
入出力コントローラ60(入出力プロセッサ10に設け
られたリクエスト・ラインRQNn−0の数より少ない
かあるいはそれに等しい数であり、3つか1例として図
示しである)にも接続している。
メモリ56はホストMPU54のためのプログラムおよ
びデータ、入出力プロセッサlOのためのチャンネル・
プログラムおよび決定テーブルを収容しており、また、
MPU54が出力を書き込み、そして、入力を読み出す
複数の入出力バッファ領域を包含する。各入出力コント
ローラ60は、DMAコントローラと一緒に使用するた
めの特徴を有するのと異なり、割り込み従動入出力にと
ってのみ適当である必要のあるディスク・ドライブ、テ
ープ・ドライブ、プリンタ、逐次通信リンクのような1
つまたはそれ以上の入出力装置またはチャンネル(図示
せず)を制御する。
びデータ、入出力プロセッサlOのためのチャンネル・
プログラムおよび決定テーブルを収容しており、また、
MPU54が出力を書き込み、そして、入力を読み出す
複数の入出力バッファ領域を包含する。各入出力コント
ローラ60は、DMAコントローラと一緒に使用するた
めの特徴を有するのと異なり、割り込み従動入出力にと
ってのみ適当である必要のあるディスク・ドライブ、テ
ープ・ドライブ、プリンタ、逐次通信リンクのような1
つまたはそれ以上の入出力装置またはチャンネル(図示
せず)を制御する。
各入出力コントローラからの個々の割り込みサービス・
リクエスト出力ラインは入出力プロセッサ10の個々の
リクエスト入力部、たとえば、優先化のためのRQNO
−0、RQNI−0、RQN2−0のようなリクエスト
入力部に入出力プロセッサlO内のリクエスト・ロジッ
ク12によって送られる。
リクエスト出力ラインは入出力プロセッサ10の個々の
リクエスト入力部、たとえば、優先化のためのRQNO
−0、RQNI−0、RQN2−0のようなリクエスト
入力部に入出力プロセッサlO内のリクエスト・ロジッ
ク12によって送られる。
この接続法は入出力コントローラ60からのこのような
リクエスト・ラインの数が入出力プロセッサ10によっ
て与えられるリクエスト入力部の数を超えないかぎり使
用し得る。リクエスト・ロジック12はRQNn−0の
うち最高位優先権を主張したラインに対応する数値コー
ドを発生する。このコードは、入出力プロセッサlOが
前記リクエストのために実行開始したときにチャンネル
・レジスタ16と補助チャンネル・レジスタ17にロー
ドされる。
リクエスト・ラインの数が入出力プロセッサ10によっ
て与えられるリクエスト入力部の数を超えないかぎり使
用し得る。リクエスト・ロジック12はRQNn−0の
うち最高位優先権を主張したラインに対応する数値コー
ドを発生する。このコードは、入出力プロセッサlOが
前記リクエストのために実行開始したときにチャンネル
・レジスタ16と補助チャンネル・レジスタ17にロー
ドされる。
入出力プロセッサ10は、それがシステム・バス58の
一時的支配あるいはオーナーシップを許されるようリク
エストするが、あるいは、このようなりクエストを調停
のために提案するように構成されている。これを行うに
は、入出力プロセッサlOからのBRN出力をホストM
PU54 (または他の調停器)に主張する。BGN信
号か入出力プロセッサlOに対してホストMPU (ま
たは他の調停器)で主張されたとき、この主張はこのよ
うな用途について入出力プロセッサ10に許可を与える
。バス・タラシトの受領を入出力プロセッサ10か認め
たことを示す目的で、オプションのBGACKN出力か
入出力プロセッサlOによって主張されてもよい。
一時的支配あるいはオーナーシップを許されるようリク
エストするが、あるいは、このようなりクエストを調停
のために提案するように構成されている。これを行うに
は、入出力プロセッサlOからのBRN出力をホストM
PU54 (または他の調停器)に主張する。BGN信
号か入出力プロセッサlOに対してホストMPU (ま
たは他の調停器)で主張されたとき、この主張はこのよ
うな用途について入出力プロセッサ10に許可を与える
。バス・タラシトの受領を入出力プロセッサ10か認め
たことを示す目的で、オプションのBGACKN出力か
入出力プロセッサlOによって主張されてもよい。
第3図のシステム68は比較的多数−の入出力コントロ
ーラ(たとえば、32までのチャンネル)あるいは各々
がより高いデータ転送速度を有する同数の入出力コント
ローラにサービスを行うより複雑かあるいはより高性能
かまたはこれら両方のシステムに適する。ここでは、ホ
ストMPU54およびシステム・メモリ56はシステム
・バス58によって相互接続されており、入出力プロセ
ッサlOとローカル外部メモリ72とを相互接続するた
めにローカル・アドレス・データ・バス70が設けられ
ている。種々の入出力コントローラ60をローカル・バ
ス70に接続すると有利であるが、それらのいくつかあ
るいはすべてをシステム・バス58に接続してもよい。
ーラ(たとえば、32までのチャンネル)あるいは各々
がより高いデータ転送速度を有する同数の入出力コント
ローラにサービスを行うより複雑かあるいはより高性能
かまたはこれら両方のシステムに適する。ここでは、ホ
ストMPU54およびシステム・メモリ56はシステム
・バス58によって相互接続されており、入出力プロセ
ッサlOとローカル外部メモリ72とを相互接続するた
めにローカル・アドレス・データ・バス70が設けられ
ている。種々の入出力コントローラ60をローカル・バ
ス70に接続すると有利であるが、それらのいくつかあ
るいはすべてをシステム・バス58に接続してもよい。
システム・バス58とローカル・バス70はハードウェ
ア・バッファ・インターフェース74を経て接続されて
おり、ここでは、そこを通るいかなる流れも、そして、
その方向も他のバスの一時的制御または支配を行うホス
トMPU54または入出力プロセッサ10のいずれかに
よって制御される、入出力プロセッサ10のシステム・
バス58の一時支配は支配をリクエストする入出力プロ
セッサIOからホストMPU54へのBRN出力ならび
にこの支配を許可するためのホストMPU54からの出
力BGNによって達成される。一方、MPU54による
ローカル・バス7oの一時支配は支配をリクエストする
ホストMPU70から入出力プロセッサlOへのLBR
N出力ならびにこのような支配を許可する入出力プロセ
ッサ10からホストMPU54への出力LBGNによっ
て達成される。
ア・バッファ・インターフェース74を経て接続されて
おり、ここでは、そこを通るいかなる流れも、そして、
その方向も他のバスの一時的制御または支配を行うホス
トMPU54または入出力プロセッサ10のいずれかに
よって制御される、入出力プロセッサ10のシステム・
バス58の一時支配は支配をリクエストする入出力プロ
セッサIOからホストMPU54へのBRN出力ならび
にこの支配を許可するためのホストMPU54からの出
力BGNによって達成される。一方、MPU54による
ローカル・バス7oの一時支配は支配をリクエストする
ホストMPU70から入出力プロセッサlOへのLBR
N出力ならびにこのような支配を許可する入出力プロセ
ッサ10からホストMPU54への出力LBGNによっ
て達成される。
入出力プロセッサlOにそのリクエスト入力部RQNn
−0のところてどの入出力コントローラか60がサービ
スを要求しているのかを示すコードを与えるために、各
コントローラ60からのサービス・リクエスト割り込み
ライン64か前記リクエスト入力を送る出力ライン78
を有する外部エンコーダ76に入力される。同時にいく
つものリクエストかあった場合には、エンコーダ76が
或る種の確定的方法に従って1つのリクエストを選ぶが
、最も単純な方法はコントローラのうちの所定の優先位
である。このような外部的な符号化は入出力コントロー
ラ60からのリクエスト・ラインの数か入出力プロセッ
サ10のリクエスト入力部の数を超えるシステムで使用
されなければならない、また、これは入出力プロセッサ
lOによって内部的に与えられる厳密な優先位選定が適
切でないシステム、たとえば、「公正な」すなわち回転
選定法か望ましいシステムても使用され得る。
−0のところてどの入出力コントローラか60がサービ
スを要求しているのかを示すコードを与えるために、各
コントローラ60からのサービス・リクエスト割り込み
ライン64か前記リクエスト入力を送る出力ライン78
を有する外部エンコーダ76に入力される。同時にいく
つものリクエストかあった場合には、エンコーダ76が
或る種の確定的方法に従って1つのリクエストを選ぶが
、最も単純な方法はコントローラのうちの所定の優先位
である。このような外部的な符号化は入出力コントロー
ラ60からのリクエスト・ラインの数か入出力プロセッ
サ10のリクエスト入力部の数を超えるシステムで使用
されなければならない、また、これは入出力プロセッサ
lOによって内部的に与えられる厳密な優先位選定が適
切でないシステム、たとえば、「公正な」すなわち回転
選定法か望ましいシステムても使用され得る。
ここで、入出力コントローラかそれ自体よりインテリジ
ェントとなりつつあり、いくつかかどのチャンネルかサ
ービスを要求しているかを示すかあるいはその優先位を
示す割り込みその他の出力を与える能力を有することは
了解されたい。この場合、このような出力は外部エンコ
ーダ76て利用されてより情報に通じた優先化を行うこ
とかできる。選定方法とは無関係に、エンコーダ76は
その出力ライン78に選定に対応する数値コードを発生
し、入出力プロセッサlOか前記のリクエストに対して
実行開始となったときにこのコードかチャンネル・レジ
スタ16ならびに補助チャンネル・レジスタ17にロー
ドされる。
ェントとなりつつあり、いくつかかどのチャンネルかサ
ービスを要求しているかを示すかあるいはその優先位を
示す割り込みその他の出力を与える能力を有することは
了解されたい。この場合、このような出力は外部エンコ
ーダ76て利用されてより情報に通じた優先化を行うこ
とかできる。選定方法とは無関係に、エンコーダ76は
その出力ライン78に選定に対応する数値コードを発生
し、入出力プロセッサlOか前記のリクエストに対して
実行開始となったときにこのコードかチャンネル・レジ
スタ16ならびに補助チャンネル・レジスタ17にロー
ドされる。
このようなシステム68において、ホスト・メモリ56
はホストMPU54のための種々のブロクラム、データ
を収容しており、ホストMPUが読み出し、書き込みを
行う入出力バッファ領域も包含しているとよい。オプシ
ョンとして、入出力バッファ領域のいくつかまたはすべ
てをローカル外部メモリ72に設けてもよい、チャンネ
ル・プログラムおよび決定テーブルはこのローカル・メ
モリ72内にあり、システム・バス58のローディング
(traffic)を減らす。
はホストMPU54のための種々のブロクラム、データ
を収容しており、ホストMPUが読み出し、書き込みを
行う入出力バッファ領域も包含しているとよい。オプシ
ョンとして、入出力バッファ領域のいくつかまたはすべ
てをローカル外部メモリ72に設けてもよい、チャンネ
ル・プログラムおよび決定テーブルはこのローカル・メ
モリ72内にあり、システム・バス58のローディング
(traffic)を減らす。
入出力プロセッサlOか割り込み従動入出力にのみ適し
ている必要のある多数の入出力コントローラ60を効率
良く取り扱う能力は、大部分、後述する特殊化した効率
の良い命令セットに依存する。
ている必要のある多数の入出力コントローラ60を効率
良く取り扱う能力は、大部分、後述する特殊化した効率
の良い命令セットに依存する。
命令セットの機能説明
所ケの実施例は種々の方法て入出力プロセッサの処理圭
力を高める付加的な命令を含み得るが、本発明の適切な
動作にとっては次の最小命令セットか必要である。各命
令タイプの説明ては、まず、その−殻内な動作を説明し
、次いて、命令ワードのサブフィールドを説明する。こ
こて、各命令ワードが種々の命令タイプの間で全体的に
微分するように命令ラッチ/デコーダ22によって復号
される操作コート・サブフィールドを含まなければなら
ないことは了解されたい。
力を高める付加的な命令を含み得るが、本発明の適切な
動作にとっては次の最小命令セットか必要である。各命
令タイプの説明ては、まず、その−殻内な動作を説明し
、次いて、命令ワードのサブフィールドを説明する。こ
こて、各命令ワードが種々の命令タイプの間で全体的に
微分するように命令ラッチ/デコーダ22によって復号
される操作コート・サブフィールドを含まなければなら
ないことは了解されたい。
各命令タイプの説明の第3の部分では、シーケンサ32
かそのタイプの命令を実行する際に行うステップを説明
する。すべての命令タイプについてのこれらのステップ
について当然のことであるが、シーケンサ32はプログ
ラム・カウント(PC)・レジスタの内容によって指示
されたアドレスのところでメモリから命令ワードを読み
出し、このワードを命令ラッチ/デコーダ22内にラッ
チし、その後、プログラム・カウント・レジスタの内容
をそれが次の高い方のアドレスを示すように増分してし
まっている。このワードが外部メモリ56または72か
ら読み出されている場合には、シーケンサ32は1つの
ワードがメモリから読み出されることになっていること
をバス・インターフェース24に知らせ、プロクラム・
ベース・レジスタ(PCBR)の内容を重要度の高いビ
ットとして、そして、プロクラム・カウント・レジスタ
の内容を重要度の低いビットとして連結することによっ
てアドレスを与え1次いて、バス・インターフェース2
4かこのワードがアクセスされたことを知らせるのを待
つ。
かそのタイプの命令を実行する際に行うステップを説明
する。すべての命令タイプについてのこれらのステップ
について当然のことであるが、シーケンサ32はプログ
ラム・カウント(PC)・レジスタの内容によって指示
されたアドレスのところでメモリから命令ワードを読み
出し、このワードを命令ラッチ/デコーダ22内にラッ
チし、その後、プログラム・カウント・レジスタの内容
をそれが次の高い方のアドレスを示すように増分してし
まっている。このワードが外部メモリ56または72か
ら読み出されている場合には、シーケンサ32は1つの
ワードがメモリから読み出されることになっていること
をバス・インターフェース24に知らせ、プロクラム・
ベース・レジスタ(PCBR)の内容を重要度の高いビ
ットとして、そして、プロクラム・カウント・レジスタ
の内容を重要度の低いビットとして連結することによっ
てアドレスを与え1次いて、バス・インターフェース2
4かこのワードがアクセスされたことを知らせるのを待
つ。
INTERPRET命令
この命令は、普通は、入出力コントローラ60内の状況
レジスタを読み出し、その値を内部または外部のメモリ
の「決定テーブル」へのインデックスとして使用し、こ
のテーブルから対応する値を検索し、その値に基づいて
、チャンネル・レジスタの内容を変えるが、あるいは、
プログラム・カウント・レジスタ(PC)を再ロードす
るが、または、これら両方を行ってチャンネル・フロク
ラムの異なった部分の実行を開始させることかできる。
レジスタを読み出し、その値を内部または外部のメモリ
の「決定テーブル」へのインデックスとして使用し、こ
のテーブルから対応する値を検索し、その値に基づいて
、チャンネル・レジスタの内容を変えるが、あるいは、
プログラム・カウント・レジスタ(PC)を再ロードす
るが、または、これら両方を行ってチャンネル・フロク
ラムの異なった部分の実行を開始させることかできる。
この命令は現在のチャンネルについて装置アドレス・テ
ーブル(DAT)エントリによって与えられたアドレス
から所望の状況レジスタの変換を指摘する装置オフセッ
ト・サブフィールドを含む。この命令は、また、この実
施例でtFえられる決定テーブルのうちどのテーブルか
この命令に対して使用されることになっているかを指摘
する決定テーブル数サフフィールトも含む。
ーブル(DAT)エントリによって与えられたアドレス
から所望の状況レジスタの変換を指摘する装置オフセッ
ト・サブフィールドを含む。この命令は、また、この実
施例でtFえられる決定テーブルのうちどのテーブルか
この命令に対して使用されることになっているかを指摘
する決定テーブル数サフフィールトも含む。
INTERPRET命令を示す命令ワードを取り出した
後、入出力プロセッサ10は、まず−このワードをテス
トしてキャラクタ・レジスタ(CHAR)を入出力コン
トローラ60の状況レジスタからロードすべきかどうが
、あるいは、キャラクタ・レジスタの先行の内容か使用
されるべきかどうかを決定する。当初の実施例ては、装
置オフセット・サブフィールド内の「オールワン」値が
「キャラクタ・レジスタの先行内容を使用する」ことを
示す。
後、入出力プロセッサ10は、まず−このワードをテス
トしてキャラクタ・レジスタ(CHAR)を入出力コン
トローラ60の状況レジスタからロードすべきかどうが
、あるいは、キャラクタ・レジスタの先行の内容か使用
されるべきかどうかを決定する。当初の実施例ては、装
置オフセット・サブフィールド内の「オールワン」値が
「キャラクタ・レジスタの先行内容を使用する」ことを
示す。
ローディングが指定されない場合には、入出力プロセッ
サlOはこのパラグラフの残部で説明する動作を省略す
る。すなわち、この特徴は、レジスタを再読み出しする
ことなく別の方法で状況レジスタ値を再翻訳する能力の
ような種々のオプションを可能とする。ローディングが
指定された場合には、シーケンサ32は或るバイトか入
出力コントローラ60から読み出されるべきであること
をバス インターフェース24に知らせ、ALU41に
命令を与えて現在のチャンネルについての装置オフセッ
ト・サブフィールドと装置アドレス・テーブル(DAT
)エントリの和または排他的ORとしてアドレスを与え
る。バス・インターフェース24が情報が入出力コント
ローラから読み出されていることを知らせ、内部データ
・バス26て利用できるときに、シーケンサ32はこの
情報をキャラクタ・レジスタにラッチする。
サlOはこのパラグラフの残部で説明する動作を省略す
る。すなわち、この特徴は、レジスタを再読み出しする
ことなく別の方法で状況レジスタ値を再翻訳する能力の
ような種々のオプションを可能とする。ローディングが
指定された場合には、シーケンサ32は或るバイトか入
出力コントローラ60から読み出されるべきであること
をバス インターフェース24に知らせ、ALU41に
命令を与えて現在のチャンネルについての装置オフセッ
ト・サブフィールドと装置アドレス・テーブル(DAT
)エントリの和または排他的ORとしてアドレスを与え
る。バス・インターフェース24が情報が入出力コント
ローラから読み出されていることを知らせ、内部データ
・バス26て利用できるときに、シーケンサ32はこの
情報をキャラクタ・レジスタにラッチする。
次に、シーケンサ32は内部あるいは外部のメモリ内に
存在する可能性のある或る決定テーブルから読み出し操
作を開始する。最初のメモリに対して、読み出されるべ
きアドレスは重要度の高いビットとしての命令ワードの
決定テーブル数サブフィールドと重要度の低いビットと
してのキャラクタ・レジスタの内容との連結である。シ
ーケンサ32は、単に、このアドレスを決定テーブルを
読み出すべき指示と一緒に内部メモリ14に与えるたけ
である。次いで、メモリか指示されたワードの内容を内
部データ・バス26上に置く。外部メモリについては、
シーケンサ32はメモリ・ワードを読み出すべきである
ことをバス・インターフェース24に知らせ、重要度の
高いビットとしての決定テーブル・ベース・レジスタ(
DTBR)の内容、中間の重要度のビットとしての命令
ワードの決定テーブル数サブフィールドの内容、そして
、最も重要度の低いキャラクタ・レジスタの内容の連結
であるアドレスを与え、次いで、このデータが読み出さ
れており、内部データ・バス26で利用できることをバ
ス・インターフェース24が知らせるまで待機する。ア
クセスされたメモリのタイプと無関係に、シーケンサ3
2はこの情報を決定テーブル・ワード・ラッチ20にラ
ッチする。
存在する可能性のある或る決定テーブルから読み出し操
作を開始する。最初のメモリに対して、読み出されるべ
きアドレスは重要度の高いビットとしての命令ワードの
決定テーブル数サブフィールドと重要度の低いビットと
してのキャラクタ・レジスタの内容との連結である。シ
ーケンサ32は、単に、このアドレスを決定テーブルを
読み出すべき指示と一緒に内部メモリ14に与えるたけ
である。次いで、メモリか指示されたワードの内容を内
部データ・バス26上に置く。外部メモリについては、
シーケンサ32はメモリ・ワードを読み出すべきである
ことをバス・インターフェース24に知らせ、重要度の
高いビットとしての決定テーブル・ベース・レジスタ(
DTBR)の内容、中間の重要度のビットとしての命令
ワードの決定テーブル数サブフィールドの内容、そして
、最も重要度の低いキャラクタ・レジスタの内容の連結
であるアドレスを与え、次いで、このデータが読み出さ
れており、内部データ・バス26で利用できることをバ
ス・インターフェース24が知らせるまで待機する。ア
クセスされたメモリのタイプと無関係に、シーケンサ3
2はこの情報を決定テーブル・ワード・ラッチ20にラ
ッチする。
INTERPRET命令について用いられる決定テーブ
ル・ワードは2つまたは3つのサブフィールドを含む、
まず、異なったチャンネルが続く命令について用いられ
得るようにチャンネル・レジスタl6の内容に加えられ
るべき値であり1次に、異なった命令シーケンサが実施
され得るようにプログラム・カウント・レジスタ(pc
)にロードされ得る値であり、最後に、プロクラム・カ
ウント・プログラムに前記値を実際にロードすべきであ
るがどうかの指示である。この3番目の指示は決定テー
ブル・ワードの別個の1ビツト・サブフィールドを構成
してもよいし、第2サブフイールドの或る特殊な値に当
然のものであってもよい(たとえば、この値かゼロの場
合には、これはプログラム・カウント・レジスタか再ロ
ードされてはいけないことを示すかも知れない)。第2
サブフイールドの或る(異なった)特殊な値は(おそら
くは更新されている)現在のチャンネルに対するPCT
エントリかプログラム・カウンタにロードされるべきで
あることを示す。この最後の機能は別個の状態/文脈を
多重チャンネル入出力コントローラ内の各チャンネルに
対して維持するのを回走とする。
ル・ワードは2つまたは3つのサブフィールドを含む、
まず、異なったチャンネルが続く命令について用いられ
得るようにチャンネル・レジスタl6の内容に加えられ
るべき値であり1次に、異なった命令シーケンサが実施
され得るようにプログラム・カウント・レジスタ(pc
)にロードされ得る値であり、最後に、プロクラム・カ
ウント・プログラムに前記値を実際にロードすべきであ
るがどうかの指示である。この3番目の指示は決定テー
ブル・ワードの別個の1ビツト・サブフィールドを構成
してもよいし、第2サブフイールドの或る特殊な値に当
然のものであってもよい(たとえば、この値かゼロの場
合には、これはプログラム・カウント・レジスタか再ロ
ードされてはいけないことを示すかも知れない)。第2
サブフイールドの或る(異なった)特殊な値は(おそら
くは更新されている)現在のチャンネルに対するPCT
エントリかプログラム・カウンタにロードされるべきで
あることを示す。この最後の機能は別個の状態/文脈を
多重チャンネル入出力コントローラ内の各チャンネルに
対して維持するのを回走とする。
入出力プロセッサlOのユーザーはメモリ内の決定テー
ブル内の種々のワードの内容を符号化し、入出力コント
ローラの状況レジスタから読み出され得る各可能値につ
いて実施されるべきアクションを指示する。このような
ワードの各々はチャンネル・レジスタ(CHAN)につ
いての変更、プログラム・カウント・レジスタ(PC)
を指示したり、あるいは指示しなかったり、もしくは、
これら両方を指示したりすることができる。
ブル内の種々のワードの内容を符号化し、入出力コント
ローラの状況レジスタから読み出され得る各可能値につ
いて実施されるべきアクションを指示する。このような
ワードの各々はチャンネル・レジスタ(CHAN)につ
いての変更、プログラム・カウント・レジスタ(PC)
を指示したり、あるいは指示しなかったり、もしくは、
これら両方を指示したりすることができる。
チャンネル・レジスタについての「無変更」は最初のサ
ブフィールドてゼロを与えるたけて行われる。
ブフィールドてゼロを与えるたけて行われる。
ラッチ20において決定テーブル・ワードをラッチした
後、シーケンサ32はチャンネル・レジスタ(CHAN
)の内容と第1サブフイールドの内容なALU41に加
え、次いて、その和をチャンネル・レジスタ16にラッ
チする。次いて、決定テーブル・ワードをテストしてプ
ログラム・カウント・レジスタ(PC)か再ロードされ
るべきであるがどうかを調べ、もし再ロードすべきであ
る場合には、第2サブフイールドの内容を内部データ・
バス26上に置き、この内容をプロクラム・カウント・
レジスタにラッチする。
後、シーケンサ32はチャンネル・レジスタ(CHAN
)の内容と第1サブフイールドの内容なALU41に加
え、次いて、その和をチャンネル・レジスタ16にラッ
チする。次いて、決定テーブル・ワードをテストしてプ
ログラム・カウント・レジスタ(PC)か再ロードされ
るべきであるがどうかを調べ、もし再ロードすべきであ
る場合には、第2サブフイールドの内容を内部データ・
バス26上に置き、この内容をプロクラム・カウント・
レジスタにラッチする。
これにより、INTERPRET命令の動作は完了する
。この命令の後、シーケンサ32は、常に、(おそらく
は再ロードされた)プログラム・カウント・レジスタに
よって示された命令ワードを取り出し、実行することに
よって現在のチャンネルの動作を続ける。
。この命令の後、シーケンサ32は、常に、(おそらく
は再ロードされた)プログラム・カウント・レジスタに
よって示された命令ワードを取り出し、実行することに
よって現在のチャンネルの動作を続ける。
INPIIT命令
この命令は、普通、或る任意の入出力コントローラ60
からデータを読み出し、オプションとしてINTERP
RET命令を同様の要領で翻訳する(したかって、おそ
らくは、プログラム・カウント・レジスタの内容を変え
、このデータを外部メモリ56または72内のチャンネ
ルの現在のバッファ領域に書き込む)。この命令は少な
くとも3つのサブフィールド、すなわち、読み出される
べきデータ・レジスタを選ぶ装置オフセット、INTE
RPRET命令について説明したような決定テーブル数
、IPUT命令か完了した後にこのチャンネルについて
実行か常に継続すべきであるがどうかを示す単ビット「
エンド」サブフィールドである。
からデータを読み出し、オプションとしてINTERP
RET命令を同様の要領で翻訳する(したかって、おそ
らくは、プログラム・カウント・レジスタの内容を変え
、このデータを外部メモリ56または72内のチャンネ
ルの現在のバッファ領域に書き込む)。この命令は少な
くとも3つのサブフィールド、すなわち、読み出される
べきデータ・レジスタを選ぶ装置オフセット、INTE
RPRET命令について説明したような決定テーブル数
、IPUT命令か完了した後にこのチャンネルについて
実行か常に継続すべきであるがどうかを示す単ビット「
エンド」サブフィールドである。
INPUT命令を示す命令ワードを取り出した後、入出
力プロセッサ10は、まず、このワードをテストし、I
NTERPRET命令において説明したように、入出力
コントローラ60からキャラクタ・レジスタ(CHAR
)がロードされるべきであるがおうどうかを決定する。
力プロセッサ10は、まず、このワードをテストし、I
NTERPRET命令において説明したように、入出力
コントローラ60からキャラクタ・レジスタ(CHAR
)がロードされるべきであるがおうどうかを決定する。
もしそうてないならば、入出力プロセッサ10はこのパ
ラグラフの残部で説明する動作を省略する。この特徴に
よれば、メモリ・バッファ領域に先に発生したデータを
転送する濠力のような種々の融通性を得られる。ローデ
ィングか指示されている場合には、シーケンサ32はI
NTERPRET命令について説明したような入出力コ
ントローラ60からの読み出し操作を示す。ただし、現
在のチャンネルについて装置データ幅パラメータをテス
トし、次いて、指示された幅のデータを読み出すように
バス・インターフェース24に信号を送り、データ@8
ビットより大きいときには、最高位メモリ・アドレスの
ところに記憶されるべきバイトをキャラクタ・レジスタ
に対してラッチし、現在のチャンネルについてのハイド
・ストア・テーブル・エントリに他のハイドをラッチし
、これら他のバイトについて現在のビットをセットする
ことを除く。
ラグラフの残部で説明する動作を省略する。この特徴に
よれば、メモリ・バッファ領域に先に発生したデータを
転送する濠力のような種々の融通性を得られる。ローデ
ィングか指示されている場合には、シーケンサ32はI
NTERPRET命令について説明したような入出力コ
ントローラ60からの読み出し操作を示す。ただし、現
在のチャンネルについて装置データ幅パラメータをテス
トし、次いて、指示された幅のデータを読み出すように
バス・インターフェース24に信号を送り、データ@8
ビットより大きいときには、最高位メモリ・アドレスの
ところに記憶されるべきバイトをキャラクタ・レジスタ
に対してラッチし、現在のチャンネルについてのハイド
・ストア・テーブル・エントリに他のハイドをラッチし
、これら他のバイトについて現在のビットをセットする
ことを除く。
次に、シーケンサ32は命令ワードをテストし、データ
を翻訳すべきかどうかをそれが指示しているかどうか調
べる。実施例によれば、これは命令ワード内の付加的な
単ビット・サブフィールドによって指摘されてもよいし
、装置テーブル数すツフィールトの或る特殊な値では当
然のものであってもよい(たとえば、この値かゼロの場
合には、これは「無翻訳」を示すかも知れない)、もし
「翻訳」が指示されていない場合には、シーケンサ32
は決定テーブル・ワード・ラッチ内の「ブランチ」ビッ
トと「ライト」ビットをそれぞれ0.1にセットし、こ
のバラグラフの残部で説明する処理操作を省略する。翻
訳が指摘されている場合には、シーケンサ32はINT
ERPRET命令について説明したような決定テーブル
からの読み出し操作を開始し、このデータを決定テーブ
ル・ワード・ラッチ38内にラッチする。INPUT(
または0tjTPUT)命令て使用される決定テーブル
はlNTE11 P RE Tについて説明したような
プログラム・カウント値および「ブランチ」指示を含む
が、INTERPRET命令におけるチャンネル・レジ
スタ(CHAN)に加えられるサブフィールドを省略し
、「ライト」と呼ぶ単ビット・サブフィールドを加える
。入出力コントローラ60から読み出され得る各ありそ
うなデータ値については、この「ライト」はその値かメ
モリ・バッファ領域に書き込まれるべきかどうかを指示
する。
を翻訳すべきかどうかをそれが指示しているかどうか調
べる。実施例によれば、これは命令ワード内の付加的な
単ビット・サブフィールドによって指摘されてもよいし
、装置テーブル数すツフィールトの或る特殊な値では当
然のものであってもよい(たとえば、この値かゼロの場
合には、これは「無翻訳」を示すかも知れない)、もし
「翻訳」が指示されていない場合には、シーケンサ32
は決定テーブル・ワード・ラッチ内の「ブランチ」ビッ
トと「ライト」ビットをそれぞれ0.1にセットし、こ
のバラグラフの残部で説明する処理操作を省略する。翻
訳が指摘されている場合には、シーケンサ32はINT
ERPRET命令について説明したような決定テーブル
からの読み出し操作を開始し、このデータを決定テーブ
ル・ワード・ラッチ38内にラッチする。INPUT(
または0tjTPUT)命令て使用される決定テーブル
はlNTE11 P RE Tについて説明したような
プログラム・カウント値および「ブランチ」指示を含む
が、INTERPRET命令におけるチャンネル・レジ
スタ(CHAN)に加えられるサブフィールドを省略し
、「ライト」と呼ぶ単ビット・サブフィールドを加える
。入出力コントローラ60から読み出され得る各ありそ
うなデータ値については、この「ライト」はその値かメ
モリ・バッファ領域に書き込まれるべきかどうかを指示
する。
「ライト」ビットが間違っている場合には。
シーケンサはメモリにデータを書き込まず、次の3つの
パラグラフて説明するステップを省略する。もし「ライ
トコビットが真実である場合には、シーケンサはそのチ
ャンネルについての装置データ幅およびメモリXfer
幅のパラメータに従って入出力コントローラ60からの
データを処分する。このプロセスは1つの実施例につい
て以下に説明するが、ここては、幅パラメータは8ビツ
トまたは16ビツトであってよい。なお、この技術の他
のデータ幅(たとえば、32ビツト)への応用は当業者
てあれば容易に行える。
パラグラフて説明するステップを省略する。もし「ライ
トコビットが真実である場合には、シーケンサはそのチ
ャンネルについての装置データ幅およびメモリXfer
幅のパラメータに従って入出力コントローラ60からの
データを処分する。このプロセスは1つの実施例につい
て以下に説明するが、ここては、幅パラメータは8ビツ
トまたは16ビツトであってよい。なお、この技術の他
のデータ幅(たとえば、32ビツト)への応用は当業者
てあれば容易に行える。
装置データ幅およびメモリXfer幅が共に8ビツトで
ある場合、シーケンサ32はメモリ・ハイド書き込み操
作についてバス・コントローラ24に知らせ、現在のチ
ャンネルについてのメモリ・アドレス・テーブル(MA
T)エントリからのアドレスを与えると共に、キャラク
タ・レジスタ(CHAR)からのデータも与える。その
後、前記MATを1ずつ増分し、現在のチャンネルにつ
いてのメモリ・カウント・テーブル(MCT)エントリ
を1ずつ減分する。
ある場合、シーケンサ32はメモリ・ハイド書き込み操
作についてバス・コントローラ24に知らせ、現在のチ
ャンネルについてのメモリ・アドレス・テーブル(MA
T)エントリからのアドレスを与えると共に、キャラク
タ・レジスタ(CHAR)からのデータも与える。その
後、前記MATを1ずつ増分し、現在のチャンネルにつ
いてのメモリ・カウント・テーブル(MCT)エントリ
を1ずつ減分する。
装置データ幅およびメモリXfermか共に16ビツト
である場合、シーケンサ32は上記の作業を同様に進行
させる。たたし、そのチャンネルについてのキャラクタ
・レジスタおよびバイト・ストア・テーブル・エントリ
から書き込むべきデータを与え、メモリ・アドレス・テ
ーブル(MAT)エントリを2ずつ増分し、メモリ・カ
ウント・テーブル(MCT)エントリを2ずつ減分する
ことは除く。
である場合、シーケンサ32は上記の作業を同様に進行
させる。たたし、そのチャンネルについてのキャラクタ
・レジスタおよびバイト・ストア・テーブル・エントリ
から書き込むべきデータを与え、メモリ・アドレス・テ
ーブル(MAT)エントリを2ずつ増分し、メモリ・カ
ウント・テーブル(MCT)エントリを2ずつ減分する
ことは除く。
装置データ幅が8ビツトで、メモリXfer幅か16ビ
ツトである場合、シーケンサ32は現在のチャンネルに
ついて次の情報をテストし、メモリ・アドレス・テーブ
ル(MAT)エントリ。
ツトである場合、シーケンサ32は現在のチャンネルに
ついて次の情報をテストし、メモリ・アドレス・テーブ
ル(MAT)エントリ。
Mメモリ・カウント・テーブル(MCT)エントリの最
も重要度の低いビットとバイト・ストア・テーブル(B
ST)エントリ内の現在のビットをどう処理すべきかを
決定する。このチャンネルについてのMATエントリが
偶数で、MCTエントリか1より大きい場合、シーケン
サ32はキャラクタ・レジスタ(CHAR)からそのチ
ャンネルのBSTエントシトハイトを転送し、BSTエ
ントリの現在のビットをセットする。メモリ・アドレス
が偶数で、メモリ・カウント値が1の場合、あるいは、
メモリ・アドレスが奇数であるが、チャンネルのBST
の現在ビットがOである場合には、シーケンサ32はメ
モリ・バイト書き込みについてバス・インターフェース
24に知らせ。
も重要度の低いビットとバイト・ストア・テーブル(B
ST)エントリ内の現在のビットをどう処理すべきかを
決定する。このチャンネルについてのMATエントリが
偶数で、MCTエントリか1より大きい場合、シーケン
サ32はキャラクタ・レジスタ(CHAR)からそのチ
ャンネルのBSTエントシトハイトを転送し、BSTエ
ントリの現在のビットをセットする。メモリ・アドレス
が偶数で、メモリ・カウント値が1の場合、あるいは、
メモリ・アドレスが奇数であるが、チャンネルのBST
の現在ビットがOである場合には、シーケンサ32はメ
モリ・バイト書き込みについてバス・インターフェース
24に知らせ。
BSTからのデータ・ワードの低次アドレス指定された
ハイドを与え、CHARからの高次のアドレス指定され
たバイトを与え、MATエントリマイナス1として(す
なわち、最も重要度の低いビット0として)このアドレ
スを提供する。いずれにしても、DDW=8、MXW=
16(7)場合、シーケンサ32は次にMATエント
リを1ずつ増分し、MCTエントリを1ずつ減分する。
ハイドを与え、CHARからの高次のアドレス指定され
たバイトを与え、MATエントリマイナス1として(す
なわち、最も重要度の低いビット0として)このアドレ
スを提供する。いずれにしても、DDW=8、MXW=
16(7)場合、シーケンサ32は次にMATエント
リを1ずつ増分し、MCTエントリを1ずつ減分する。
「ライト」ビットと無関係に、シーケンサ32は、次い
で、「ブランチ」指示の値をテストする。「ブランチ」
が真実である場合、それは決定テーブル・ワードからの
サブフィールドを内部データ・バス26上に置き、それ
をプログラム・カウント(pc) ・レジスタ内にラッ
チし、次いて、その記憶場所から次の命令を取り出し、
実行するように進行する。
で、「ブランチ」指示の値をテストする。「ブランチ」
が真実である場合、それは決定テーブル・ワードからの
サブフィールドを内部データ・バス26上に置き、それ
をプログラム・カウント(pc) ・レジスタ内にラッ
チし、次いて、その記憶場所から次の命令を取り出し、
実行するように進行する。
「ブランチ」か間違っている場合、そして、メモリ・カ
ウント値がゼロであるがあるいは命令ワードからの「エ
ンド」ビットが0である場合には、シーケンサは次の命
令を取り出し、実行するように進む。
ウント値がゼロであるがあるいは命令ワードからの「エ
ンド」ビットが0である場合には、シーケンサは次の命
令を取り出し、実行するように進む。
「ブランチ」か間違っており、メモリ・カウント・テー
ブル(MCT)エントリかゼロてなく、そして、rEn
dJ=1である場合、入出力コントローラからの現在の
リクエストを取り扱うためのプログラムは完了する。こ
の場合、シーケンサ32はリクエスト・ラインRQNロ
ー0をサンプリンクするアイドル状態に戻る。
ブル(MCT)エントリかゼロてなく、そして、rEn
dJ=1である場合、入出力コントローラからの現在の
リクエストを取り扱うためのプログラムは完了する。こ
の場合、シーケンサ32はリクエスト・ラインRQNロ
ー0をサンプリンクするアイドル状態に戻る。
OUTPUT命令
この命令は、普通、外部メモリ(56または72)内の
チャンネルの現在のバッファ領域からデータを読み出し
、オプションとしてINTERPRET命令について説
明したようなデータを翻訳しくしたがって、おそらくは
プログラム・カウント(PC) ・レジスタの内容を変
更し)2次いて、このデータを入出力コントローラ60
に書き込む、この命令は少なくとも4つのサブフィール
ド、すなわち、入出力コントローラ内のデータ・レジス
タを選ぶための装置オフセットと、INTERPRET
命令について説明したような決定テーブル数と、 IN
PUT命令について説明したような「エンド」サブフィ
ールドと、データをメモリから読み出すべきかどうかを
示す単ビット「ソート」サブフィールドとである。
チャンネルの現在のバッファ領域からデータを読み出し
、オプションとしてINTERPRET命令について説
明したようなデータを翻訳しくしたがって、おそらくは
プログラム・カウント(PC) ・レジスタの内容を変
更し)2次いて、このデータを入出力コントローラ60
に書き込む、この命令は少なくとも4つのサブフィール
ド、すなわち、入出力コントローラ内のデータ・レジス
タを選ぶための装置オフセットと、INTERPRET
命令について説明したような決定テーブル数と、 IN
PUT命令について説明したような「エンド」サブフィ
ールドと、データをメモリから読み出すべきかどうかを
示す単ビット「ソート」サブフィールドとである。
OUTPUT命令を示す命令ワードを取り出した後、入
出力プロセッサは、まず、「リード」ビットをテストし
、キャラクタ・レジスタ(CHAR)かメモリからロー
ドされるべきかどうかを決定する。もしr r e a
d 、J = Oの場合、入出力プロセッサ10は次
の3つのプログラムて説明する動作を省略する。この特
徴によれば、入出力コントローラ60に先に発生したデ
ータを転送する能力のような種々の融通性を得ることが
できる。
出力プロセッサは、まず、「リード」ビットをテストし
、キャラクタ・レジスタ(CHAR)かメモリからロー
ドされるべきかどうかを決定する。もしr r e a
d 、J = Oの場合、入出力プロセッサ10は次
の3つのプログラムて説明する動作を省略する。この特
徴によれば、入出力コントローラ60に先に発生したデ
ータを転送する能力のような種々の融通性を得ることが
できる。
rreadJ=1の場合、シーケンサ32はそのチャン
ネルについての装置データ幅、メモリXfer@のパラ
メータに従ってメモリからデータを得る。このプロセス
を或る実施例について以下に説明するが、そこにおいて
は、各幅パラメータは8ビツトであるが16ビツトであ
る。この技術の他のデータ幅(たとえば、32ビツト)
への応用は明らかである。
ネルについての装置データ幅、メモリXfer@のパラ
メータに従ってメモリからデータを得る。このプロセス
を或る実施例について以下に説明するが、そこにおいて
は、各幅パラメータは8ビツトであるが16ビツトであ
る。この技術の他のデータ幅(たとえば、32ビツト)
への応用は明らかである。
装置データ@およびメモリ・データ幅が共に8ビツトで
ある場合、シーケンサ32はメモリ・バイト読み出し操
作についてバス・インターフェース23に知らせ、現在
のチャンネルについてメモリ・アドレス・テーブル(M
AT)エントリからのアドレスを与える。その後、前記
MATエントリを1ずつ増分し、現在のチャンネルにつ
いてのメモリ・カウント・テーブル(MCT)エントリ
を1ずつ減分する。バス・インターフェース24がデー
タが内部データ・バス26で利用できることを示すとき
は、シーケンサ32はそれをキャラクタ・レジスタ(C
HAR)内にラッチする。
ある場合、シーケンサ32はメモリ・バイト読み出し操
作についてバス・インターフェース23に知らせ、現在
のチャンネルについてメモリ・アドレス・テーブル(M
AT)エントリからのアドレスを与える。その後、前記
MATエントリを1ずつ増分し、現在のチャンネルにつ
いてのメモリ・カウント・テーブル(MCT)エントリ
を1ずつ減分する。バス・インターフェース24がデー
タが内部データ・バス26で利用できることを示すとき
は、シーケンサ32はそれをキャラクタ・レジスタ(C
HAR)内にラッチする。
装置データl11gおよびメモリ・データ幅が共に16
ビツトである場合、シーケンサ32は上記の操作を同様
に続けるが、ただし、それはメモリ・ワード読み出し操
作を要求し、前記メモリ・アドレス・テーブル(MAT
)エントリを2ずつ増分し、前記メモリ・カウント・テ
ーブル(MCT)を2ずつ減分し、ワードのアドレス指
定された低次のバイトをキャラクタ・レジスタ(CHA
R)内にラッチし、アドレス指定された高次のバイトを
そのチャンネルについてのバイト・ストア・テーブル(
BST)内にラッチする。
ビツトである場合、シーケンサ32は上記の操作を同様
に続けるが、ただし、それはメモリ・ワード読み出し操
作を要求し、前記メモリ・アドレス・テーブル(MAT
)エントリを2ずつ増分し、前記メモリ・カウント・テ
ーブル(MCT)を2ずつ減分し、ワードのアドレス指
定された低次のバイトをキャラクタ・レジスタ(CHA
R)内にラッチし、アドレス指定された高次のバイトを
そのチャンネルについてのバイト・ストア・テーブル(
BST)内にラッチする。
装置データ幅が8ビツトて、メモリ・データ幅か16ビ
ツトである場合、シーケンサ32は現在のチャンネルに
ついての次の情報をテストし、メモリ・アドレス・テー
ブル(MCT)エントリ、メモリ・カウント・テーブル
(MCT)エントリの最も重要度の低いビットおよびバ
イト・ストア・テーブル(BST)エントリの現在のビ
ットをとのうように処理すべきかを決定する。メモリ・
アドレスが偶数であり、MCTエントリが1より大きい
場合、シーケンサ32はメモリ・ワード読み出しについ
てバス・インターフェース24に知らせ、MATエント
リからアドレスを与え、低次のアドレス指定されたデー
タ・バイトをキャラクタ(CHAR)レジスタ内にラッ
チし、高次のアドレス指定されたデータ・バイトをこの
チャンネルのためのBSTエントシトにラッチし、エン
トリの現在のビ・シトをBSTにセットする。メモリ・
アドレスか偶数て、MCTエントリが1を含む場合、あ
るいは、メモリ・アドレスが奇数て、チャンネルのBS
T現在ビットが0である場合、シーケンサ32はメモリ
・バイト読み出しについてバス インターフェース24
に知らせ、MATエントリからアドレスを与え、CHA
Rレジスタにこのデータをラッチする。メモリ・アドレ
スか奇数て、チャンネルのBST現在ビットかセットさ
れている場合、シーケンサ32は、単に、そのチャンネ
ルについてのBSTエントリの内容なCHARレジスタ
に転送するたけである。
ツトである場合、シーケンサ32は現在のチャンネルに
ついての次の情報をテストし、メモリ・アドレス・テー
ブル(MCT)エントリ、メモリ・カウント・テーブル
(MCT)エントリの最も重要度の低いビットおよびバ
イト・ストア・テーブル(BST)エントリの現在のビ
ットをとのうように処理すべきかを決定する。メモリ・
アドレスが偶数であり、MCTエントリが1より大きい
場合、シーケンサ32はメモリ・ワード読み出しについ
てバス・インターフェース24に知らせ、MATエント
リからアドレスを与え、低次のアドレス指定されたデー
タ・バイトをキャラクタ(CHAR)レジスタ内にラッ
チし、高次のアドレス指定されたデータ・バイトをこの
チャンネルのためのBSTエントシトにラッチし、エン
トリの現在のビ・シトをBSTにセットする。メモリ・
アドレスか偶数て、MCTエントリが1を含む場合、あ
るいは、メモリ・アドレスが奇数て、チャンネルのBS
T現在ビットが0である場合、シーケンサ32はメモリ
・バイト読み出しについてバス インターフェース24
に知らせ、MATエントリからアドレスを与え、CHA
Rレジスタにこのデータをラッチする。メモリ・アドレ
スか奇数て、チャンネルのBST現在ビットかセットさ
れている場合、シーケンサ32は、単に、そのチャンネ
ルについてのBSTエントリの内容なCHARレジスタ
に転送するたけである。
いずれにしても、DDW=8.MXW= 16の場合、
シーケンサ32はメモリ・アドレス・テーブル・エント
リを1ずつ増分し、MCTエントリを1ずつ減分する。
シーケンサ32はメモリ・アドレス・テーブル・エント
リを1ずつ増分し、MCTエントリを1ずつ減分する。
rReadJビットとは無関係に1シーケンサ32は1
次に、この命令ワードをテストし、データを翻訳すべき
かどうかを決定する。この実施例によれば、これは命令
ワード内の別の単ビット・サブフィールドによって指定
されてもよいし、装置テーブル数サブフィールドの或る
特殊な値に当然のものであってもよい(たとえば、この
値かゼロの場合には、それは「無翻訳」を示すかも知れ
ない)、翻訳が指定されていない場合には、シーケンサ
は決定テーブル・ワード・ラッチ20内の「ブランチ」
、「ライト」ビットを偽、真のそれぞれにセットし、こ
のパラグラフの残部に説明する処理を省略する。翻訳が
指定されている場合には、シーケンサ32はINTER
PRET命令について説明したように決定テーブルから
の読み出し操作を開始し、このデータを決定テーブル・
ワード・ラッチ20内にニッチする。OUTPUT命令
で使用される決定テーブル・ワードはINPUTと同じ
であり、それはプログラム・カウント(PC)値、「ブ
ランチ」指示および「ライト」ビットを含む。
次に、この命令ワードをテストし、データを翻訳すべき
かどうかを決定する。この実施例によれば、これは命令
ワード内の別の単ビット・サブフィールドによって指定
されてもよいし、装置テーブル数サブフィールドの或る
特殊な値に当然のものであってもよい(たとえば、この
値かゼロの場合には、それは「無翻訳」を示すかも知れ
ない)、翻訳が指定されていない場合には、シーケンサ
は決定テーブル・ワード・ラッチ20内の「ブランチ」
、「ライト」ビットを偽、真のそれぞれにセットし、こ
のパラグラフの残部に説明する処理を省略する。翻訳が
指定されている場合には、シーケンサ32はINTER
PRET命令について説明したように決定テーブルから
の読み出し操作を開始し、このデータを決定テーブル・
ワード・ラッチ20内にニッチする。OUTPUT命令
で使用される決定テーブル・ワードはINPUTと同じ
であり、それはプログラム・カウント(PC)値、「ブ
ランチ」指示および「ライト」ビットを含む。
「ライト」ビットかlの場合、シーケンサ32は命令ワ
ードをテストし、データを入出力コントローラに置くる
べきかどうかを決定する。これは命令ワード内の付加的
な1ビツト・サブフィールドによって指示されてもよい
し、装置オフセット・サブフィールドの或る特殊な値に
当然のものであってもよい(たとえば、「オールワン」
値は「データを送らない」ことを示すかも知れない)、
「ライト」=0または命令ワードか送ることを指定して
いないが、あるいは、これら両方である場合、シーケン
サ32はこのバラグラフの残部におけるステップを省略
する。さもなければ1次に、現在のチャンネルについて
の装置データ幅パラメータをテストする。パラメータが
8ピクト入出力コントローラを示す場合には、シーケン
サは入出力バイト書き込み操作についてバス・インター
フェース24に知らせ、キャラクタ(CHAR)レジス
タからのデータな榮える。
ードをテストし、データを入出力コントローラに置くる
べきかどうかを決定する。これは命令ワード内の付加的
な1ビツト・サブフィールドによって指示されてもよい
し、装置オフセット・サブフィールドの或る特殊な値に
当然のものであってもよい(たとえば、「オールワン」
値は「データを送らない」ことを示すかも知れない)、
「ライト」=0または命令ワードか送ることを指定して
いないが、あるいは、これら両方である場合、シーケン
サ32はこのバラグラフの残部におけるステップを省略
する。さもなければ1次に、現在のチャンネルについて
の装置データ幅パラメータをテストする。パラメータが
8ピクト入出力コントローラを示す場合には、シーケン
サは入出力バイト書き込み操作についてバス・インター
フェース24に知らせ、キャラクタ(CHAR)レジス
タからのデータな榮える。
16ビツト入出力コントローラの場合、シーケンサ32
は入出力ワート書き込み操作についてバス・インターフ
ェース24を知らせ、CHARレジスタからのワードの
低次のアドレス指定されたバイトを与えると共に、ハイ
ド・ストア・テーブル(BST)エントリからの高次の
アドレス指定されたバイトを与える。いずれにしても、
シーケンサ32はALU41に指令を与えて、このアド
レスを現在のチャンネルについての装置オフセット・サ
ブフィールドおよび装置アドレス・テーブル・エントリ
の内容の和すなわち排他的ORとして与える。
は入出力ワート書き込み操作についてバス・インターフ
ェース24を知らせ、CHARレジスタからのワードの
低次のアドレス指定されたバイトを与えると共に、ハイ
ド・ストア・テーブル(BST)エントリからの高次の
アドレス指定されたバイトを与える。いずれにしても、
シーケンサ32はALU41に指令を与えて、このアド
レスを現在のチャンネルについての装置オフセット・サ
ブフィールドおよび装置アドレス・テーブル・エントリ
の内容の和すなわち排他的ORとして与える。
データを入出力コントローラに置くるかどうかに無関係
に、シーケンサ32は、INPUT命令についてまさに
説明した通りに、「ブランチ」および「エンド」ビット
の値ならびにメモリ・カウント・テーブル(MCT)エ
ントリに従ってOUTPUT命令を完了する。
に、シーケンサ32は、INPUT命令についてまさに
説明した通りに、「ブランチ」および「エンド」ビット
の値ならびにメモリ・カウント・テーブル(MCT)エ
ントリに従ってOUTPUT命令を完了する。
5END TODEVIC命令
この命令は入出力コントローラ60に或る一定のバイト
値、たとえば、このコントローラおよびその組合わせた
装置の将来の動作を状態調整する指令を送る。これは2
つのサブフィールド、すなわち、INTERPRET命
令について先に説明したような装置オフセットと、入出
力コントローラ60に送るべき8ビツト値とである。
値、たとえば、このコントローラおよびその組合わせた
装置の将来の動作を状態調整する指令を送る。これは2
つのサブフィールド、すなわち、INTERPRET命
令について先に説明したような装置オフセットと、入出
力コントローラ60に送るべき8ビツト値とである。
5END TODEVICE命令を示す命令ワードを取
り出した後、入出力プロセッサ10は入出力バイト書き
込み動作についてバス・インターフェース24に知らせ
、ALU41に指令を与えてこのアドレスを現在のチャ
ンネルについての装置オフセット・サブフィールドおよ
び装置アドレス・テーブル(DAT)エントリの和また
は排他的ORとして与え、命令デコーダ/ラッチからの
データを与える。シーケンサ32は、常に、 5END
To DEVIII:E命令の後に次の命令を実行し続
ける。
り出した後、入出力プロセッサ10は入出力バイト書き
込み動作についてバス・インターフェース24に知らせ
、ALU41に指令を与えてこのアドレスを現在のチャ
ンネルについての装置オフセット・サブフィールドおよ
び装置アドレス・テーブル(DAT)エントリの和また
は排他的ORとして与え、命令デコーダ/ラッチからの
データを与える。シーケンサ32は、常に、 5END
To DEVIII:E命令の後に次の命令を実行し続
ける。
5END TOMEMORY命令
この命令は現在のメモリ・バッファに或る一定のバイト
値を書き込む。これは、たとえば、逐次通信リンつて誤
って受け取られたデータの代わりに或る特殊なキャラク
タ・コートを使用するのに有用である。この命令は1つ
のサブフィールド、すなわち、メモリに書き込むべき8
ビツト値を含む。
値を書き込む。これは、たとえば、逐次通信リンつて誤
って受け取られたデータの代わりに或る特殊なキャラク
タ・コートを使用するのに有用である。この命令は1つ
のサブフィールド、すなわち、メモリに書き込むべき8
ビツト値を含む。
5END TOMEMORY命令を示す命令ワードを取
り出した後、シーケンサ32はメモリ・バイト書き込み
動作についてバス・インターフェース24を知らせ、現
在のチャンネルについてのメモリ・アドレス・テーブル
(MAT)エントリからアドレスを与え、命令デコーダ
/ラッチ22からデータを与える。その後、これはこの
チャンネルについてのMATエントリを1ずつ増分し、
このチャンネルについてのメモリ・カウント・テーブル
(MCT)エントリな1ずつ減分する。シーケンサ32
は、常に、5END TOMEMORY命令の後に次の
命令を実行するように進む。
り出した後、シーケンサ32はメモリ・バイト書き込み
動作についてバス・インターフェース24を知らせ、現
在のチャンネルについてのメモリ・アドレス・テーブル
(MAT)エントリからアドレスを与え、命令デコーダ
/ラッチ22からデータを与える。その後、これはこの
チャンネルについてのMATエントリを1ずつ増分し、
このチャンネルについてのメモリ・カウント・テーブル
(MCT)エントリな1ずつ減分する。シーケンサ32
は、常に、5END TOMEMORY命令の後に次の
命令を実行するように進む。
INTERRUPT命令
この命令はIRQNライン上にホストMPU54への割
り込みリクエストを生じさせ、普通は、先の命令がメモ
リ内の現在のバッファ(56または72)が完了したこ
と、すなわち、バッファ内のすべての出力データが入出
力コントローラ60に送られてしまったこと、あるいは
、入力バッファが入出力コントローラ60からのデータ
で満たされてしまったこと、あるいは、入出力コントロ
ーラ60から読み出された状況値あるいはデータ値のた
めに入力バッファが論理的に終了したことを決定したと
きに使用される。この命令は2つまたは3つのサブフィ
ールドを含む、すなわち、前記ホストが割り込みリクエ
ストに応答したときにホストMPU54に送られること
になる割り込みベクトル値と、入出力プロセッサ10が
INTERRUPT命令の後にさらなる命令を実行する
ようにオン方向に進むべきかどうかを示す単ビット「エ
ンド」サブフィールドと、いくつかの優先レベルのうち
のどの優先レベルでこの割り込みが記憶あるいは待機さ
せられるべきかを示すオプションの「レベル」サブフィ
ールドとである。
り込みリクエストを生じさせ、普通は、先の命令がメモ
リ内の現在のバッファ(56または72)が完了したこ
と、すなわち、バッファ内のすべての出力データが入出
力コントローラ60に送られてしまったこと、あるいは
、入力バッファが入出力コントローラ60からのデータ
で満たされてしまったこと、あるいは、入出力コントロ
ーラ60から読み出された状況値あるいはデータ値のた
めに入力バッファが論理的に終了したことを決定したと
きに使用される。この命令は2つまたは3つのサブフィ
ールドを含む、すなわち、前記ホストが割り込みリクエ
ストに応答したときにホストMPU54に送られること
になる割り込みベクトル値と、入出力プロセッサ10が
INTERRUPT命令の後にさらなる命令を実行する
ようにオン方向に進むべきかどうかを示す単ビット「エ
ンド」サブフィールドと、いくつかの優先レベルのうち
のどの優先レベルでこの割り込みが記憶あるいは待機さ
せられるべきかを示すオプションの「レベル」サブフィ
ールドとである。
INTERRUPT命令を示す命令ワードを取り出した
後、シーケンサ32は次のように進行する。多層レベル
特徴かこの実施例で与えられている場合、それは、まず
、内部メモリ14内のいくつかのキューのうちどのキュ
ーで割り込み情報が記憶されるべきかを選ぶのに「レベ
ル」サブフィールドの値を使用する。いずれにしても、
シーケンサ32は現在のチャンネルの識別(すなわち、
チャンネル・レジスタ(CHAN)の内容)と−緒にベ
クトル値を命令ワードから(選ばれた)割り込みキュー
(INTTAB)に書き込む。IRQNライン上の入出
力プロセッサの割り込みリクエストと信号がまた主張さ
れていない場合には、それか主張される。
後、シーケンサ32は次のように進行する。多層レベル
特徴かこの実施例で与えられている場合、それは、まず
、内部メモリ14内のいくつかのキューのうちどのキュ
ーで割り込み情報が記憶されるべきかを選ぶのに「レベ
ル」サブフィールドの値を使用する。いずれにしても、
シーケンサ32は現在のチャンネルの識別(すなわち、
チャンネル・レジスタ(CHAN)の内容)と−緒にベ
クトル値を命令ワードから(選ばれた)割り込みキュー
(INTTAB)に書き込む。IRQNライン上の入出
力プロセッサの割り込みリクエストと信号がまた主張さ
れていない場合には、それか主張される。
もし「エンド」ビットか1の場合、シーケンサ32はそ
のアイドル状態に戻り、この状態において、シーケンサ
は種々の入出力コントローラ60からリクエストと・ラ
インRQNn−0をサンプリングする。エンドがゼロの
場合、シーケンサはオン状態に続け、次の命令を実行す
る。
のアイドル状態に戻り、この状態において、シーケンサ
は種々の入出力コントローラ60からリクエストと・ラ
インRQNn−0をサンプリングする。エンドがゼロの
場合、シーケンサはオン状態に続け、次の命令を実行す
る。
ホストMPU54か割り込みリクエストとに応答したと
き、入出力プロセッサlOは次のように進行する。多層
レベル特徴が設けられている場合、入出力プロセッサは
、まず、少なくとも1つのINERRUPT命令か実行
される、すなわち、対応する肯定応答かまた受け取られ
ていない最高優先位レベルを選ぶ0次いて、入出力プロ
セッサlOは割り込みキュー(INTTAB)から選ば
れた最も早い割り込み命令についての割り込み情報を読
み出し、そのベクトル値をデータ・びん28上の置く、
入出力プロセッサ10は、バス・インターフェース24
を経て、ホストMPU54に応答し、割り込みキュー(
INTTAB)から読み出されたチャンネル番号を割り
込みチャンネル・レジスタ(INTCHN)へ転送し、
そこから、次いてホストMPU54によって読み出され
得る。
き、入出力プロセッサlOは次のように進行する。多層
レベル特徴が設けられている場合、入出力プロセッサは
、まず、少なくとも1つのINERRUPT命令か実行
される、すなわち、対応する肯定応答かまた受け取られ
ていない最高優先位レベルを選ぶ0次いて、入出力プロ
セッサlOは割り込みキュー(INTTAB)から選ば
れた最も早い割り込み命令についての割り込み情報を読
み出し、そのベクトル値をデータ・びん28上の置く、
入出力プロセッサ10は、バス・インターフェース24
を経て、ホストMPU54に応答し、割り込みキュー(
INTTAB)から読み出されたチャンネル番号を割り
込みチャンネル・レジスタ(INTCHN)へ転送し、
そこから、次いてホストMPU54によって読み出され
得る。
JUMP IF C0UNT ZERO命令この命令は
、現行のチャンネルについてのメモリ・カウント・テー
ブル(MCT)エントリがゼロの場合に新しい値をプロ
グラム・カウンタ(pc)にロードする。この命令は、
普通は、INPUT、 OUTPUTまたは5END
TOMEMORY命令の後に使用されて、現在のメモリ
・バッファがその命令によって完了したかどうかを決定
する。この命令は1つのサブフィールド、すなわち、メ
モリ・カウント・テーブル(MCT)がゼロの場合に引
き続いて実施されるべき命令のアドレスを包含する。
、現行のチャンネルについてのメモリ・カウント・テー
ブル(MCT)エントリがゼロの場合に新しい値をプロ
グラム・カウンタ(pc)にロードする。この命令は、
普通は、INPUT、 OUTPUTまたは5END
TOMEMORY命令の後に使用されて、現在のメモリ
・バッファがその命令によって完了したかどうかを決定
する。この命令は1つのサブフィールド、すなわち、メ
モリ・カウント・テーブル(MCT)がゼロの場合に引
き続いて実施されるべき命令のアドレスを包含する。
JUMP IF C0UNT ZERO命令を示す命令
ワードを取り出した後、シーケンサ32は現行チャンネ
ルについてのメモリ・カウント・テーブル(MCT)エ
ントリをテストする。もしそれかゼロならば、シーケン
サ32は命令ラッチ/デコーダからのサブフィールドを
内部データ・バス上に置き、その値を捕獲すべきことを
プログラム・カウンタ(pc)に知らせる。次に、シー
ケンサ32は作動し続けて(おそらくは再ロードされて
いる)プログラム・カウンタ(PC)によって指示され
た命令を実行する。このメモリ・カウント・テーブル(
MCT)エントリがゼロでない場合、JUMP IF
C0UNT ZELOの後の次の命令が実行される。
ワードを取り出した後、シーケンサ32は現行チャンネ
ルについてのメモリ・カウント・テーブル(MCT)エ
ントリをテストする。もしそれかゼロならば、シーケン
サ32は命令ラッチ/デコーダからのサブフィールドを
内部データ・バス上に置き、その値を捕獲すべきことを
プログラム・カウンタ(pc)に知らせる。次に、シー
ケンサ32は作動し続けて(おそらくは再ロードされて
いる)プログラム・カウンタ(PC)によって指示され
た命令を実行する。このメモリ・カウント・テーブル(
MCT)エントリがゼロでない場合、JUMP IF
C0UNT ZELOの後の次の命令が実行される。
JUMP IF C0UNT N0NZERO命令この
命令は、メモリ・カウント・テーブル(MCT)エント
リがゼロでない場合にプログラム・カウンタ(pc)が
再ロードされることを除いて先の命令と同様である。
命令は、メモリ・カウント・テーブル(MCT)エント
リがゼロでない場合にプログラム・カウンタ(pc)が
再ロードされることを除いて先の命令と同様である。
JUMP命令
この命令は、プログラム・カウンタ(pc)か常に再ロ
ードされることを除いて、先の2つの命令と同様である
。
ードされることを除いて、先の2つの命令と同様である
。
LOAD 5TART ADDRESS命令この命令は
或るチャンネルについてのプログラム・カウンタ・テー
ブル(PCT)へ新しい値をロードする。それによって
、実行が後に行われ得るエントリ・ポイントを与える。
或るチャンネルについてのプログラム・カウンタ・テー
ブル(PCT)へ新しい値をロードする。それによって
、実行が後に行われ得るエントリ・ポイントを与える。
この命令は、常用翻訳またはデータ翻訳あるいはメモリ
・バッファの満了が入出力コントローラまたはそれに組
合わせた装置の状態あるいは入出力プロセスが主として
変化しつつあるかあるいは変更されてしまっていて入出
力プロセッサlOが将来のリクエストとに応答しなけれ
ばならないことを示すときに有用である9 この命令は2つのサブフィールドを含み、その1つは将
来実施されるべき最初の命令のアドレスを示す。もう一
方のサブフィールドはこの命令アドレスか出発チャンネ
ル(RQNn−0ラインに基づくCHANにロードされ
るチャンネル)あるいは現行のチャンネル(CHANが
ロードされているためにINTERRUPT命令によっ
て修正されたようなチャンネル)についてPCTエント
リにロードされるべきかどうかを示す。第1の形態では
、RQNn−0ラインに応答して実行が開始される゛ア
ドレスを変更し、第2の形態はINTERRUPT命令
の’1oad PCand PCT(C)IAN)」特
徴と関連して使用されて多重チャンネル入出力コントロ
ーラ内の各チャンネルに対して個別の文脈/状態を維持
する。
・バッファの満了が入出力コントローラまたはそれに組
合わせた装置の状態あるいは入出力プロセスが主として
変化しつつあるかあるいは変更されてしまっていて入出
力プロセッサlOが将来のリクエストとに応答しなけれ
ばならないことを示すときに有用である9 この命令は2つのサブフィールドを含み、その1つは将
来実施されるべき最初の命令のアドレスを示す。もう一
方のサブフィールドはこの命令アドレスか出発チャンネ
ル(RQNn−0ラインに基づくCHANにロードされ
るチャンネル)あるいは現行のチャンネル(CHANが
ロードされているためにINTERRUPT命令によっ
て修正されたようなチャンネル)についてPCTエント
リにロードされるべきかどうかを示す。第1の形態では
、RQNn−0ラインに応答して実行が開始される゛ア
ドレスを変更し、第2の形態はINTERRUPT命令
の’1oad PCand PCT(C)IAN)」特
徴と関連して使用されて多重チャンネル入出力コントロ
ーラ内の各チャンネルに対して個別の文脈/状態を維持
する。
LOAD 5TART ADDRESS命令を示す命令
ワードを取9出した後、シーケンサ32はこのサブフィ
ールド値を内部データ・バス26上に置き、内部メモリ
14にこの値をチャンネル・レジスタ16または補助チ
ャンネル・レジスタ17によって指示されるチャンネル
についてプログラム・カウント・テーブル(PCT)エ
ントリに書き込む。
ワードを取9出した後、シーケンサ32はこのサブフィ
ールド値を内部データ・バス26上に置き、内部メモリ
14にこの値をチャンネル・レジスタ16または補助チ
ャンネル・レジスタ17によって指示されるチャンネル
についてプログラム・カウント・テーブル(PCT)エ
ントリに書き込む。
AND DATA、ORDATA、XORDATA命令
これらの命令は、論理的に、先行命令からのキャラクタ
・レジスタ(CHAR)の内容を命令内の或る一定のバ
イト値と組合わせ、その結果をキャラクタ・レジスタに
戻して記憶させる。入出力コントローラの設計ては、−
組の独立し・たビットまたはサブフィールドあるいはこ
れら両方からなる指令、状況レジスタを設けて、入出力
コントローラを制御するために、このようなレジスタの
内容を読み出し、ビットまたはサブフィールドのいくつ
かの値を変更し、その結果を前記レジスタに戻して書き
込むことが必要となることは普通のことである。これら
の命令はこのような入出力コントローラ内のこのような
レジスタを処理する手段を提供する。
これらの命令は、論理的に、先行命令からのキャラクタ
・レジスタ(CHAR)の内容を命令内の或る一定のバ
イト値と組合わせ、その結果をキャラクタ・レジスタに
戻して記憶させる。入出力コントローラの設計ては、−
組の独立し・たビットまたはサブフィールドあるいはこ
れら両方からなる指令、状況レジスタを設けて、入出力
コントローラを制御するために、このようなレジスタの
内容を読み出し、ビットまたはサブフィールドのいくつ
かの値を変更し、その結果を前記レジスタに戻して書き
込むことが必要となることは普通のことである。これら
の命令はこのような入出力コントローラ内のこのような
レジスタを処理する手段を提供する。
これらの命令の各々は、1つのサブフィールド、すなわ
ち、前記一定値を含む。これらの命令のうちの1つを示
す命令ワードを取り出した後、シーケンサ32はサブフ
ィールド値を論理演算ユニット(ALU)41の2つの
入力バス43.45のうちの1つに送り、キャラクタ・
レジスタ(CHAR)の内容を他方の入力バスに送り、
どの論理操作か実施されるべきかを論理演算ゆにつとに
知らせ、次いで、その結果をCHARレジスタに戻して
そこにラッチする。シーケンサ32は、常に、これらの
命令の任意のものの後に次の命令を取り出し、実行する
ように進む。
ち、前記一定値を含む。これらの命令のうちの1つを示
す命令ワードを取り出した後、シーケンサ32はサブフ
ィールド値を論理演算ユニット(ALU)41の2つの
入力バス43.45のうちの1つに送り、キャラクタ・
レジスタ(CHAR)の内容を他方の入力バスに送り、
どの論理操作か実施されるべきかを論理演算ゆにつとに
知らせ、次いで、その結果をCHARレジスタに戻して
そこにラッチする。シーケンサ32は、常に、これらの
命令の任意のものの後に次の命令を取り出し、実行する
ように進む。
RELOAD命令
この最後の命令は現在のバッファか完了したときに入出
力プロセッサ10をメモリ(56または72)内の別の
バッファに切り換え得る手段を提供する。このRELO
AD命令は1つのサブフィールド、すなわち、チャンネ
ル・レジスタ16の内容に加えられるべき値(Delt
a CHAN)であり、補助チャンネル・レジスタ17
にロードされ、「再ローデイング・チャンネル」となる
別のチャンネルの番号を得るようになっている。チャン
ネル・レジスタ16て示されるチャンネルは「再ローデ
ツド・チャンネル」と呼ぶ。
力プロセッサ10をメモリ(56または72)内の別の
バッファに切り換え得る手段を提供する。このRELO
AD命令は1つのサブフィールド、すなわち、チャンネ
ル・レジスタ16の内容に加えられるべき値(Delt
a CHAN)であり、補助チャンネル・レジスタ17
にロードされ、「再ローデイング・チャンネル」となる
別のチャンネルの番号を得るようになっている。チャン
ネル・レジスタ16て示されるチャンネルは「再ローデ
ツド・チャンネル」と呼ぶ。
RELOAD命令を示す命令ワードを取り出した後、シ
ーケンサ32は、まず、前記サブフィールド値を論理演
算ユニット41の入力バス43.45のうちの1つに送
り、チャンネル・レジスタ16からの値を他方の入力バ
スに送り、その後、その結果を補助チャンネル・レジス
タ17内にラッチする0次に、入出力プロセッサ・デー
タ・バスの幅に依存して2つまたは3つの連続したサイ
クルの各々について、l)メモリ・ワード書き込み操作
を実施すべきことをバス・インターフェース24に知ら
せ、2)再ローデイング・チャンネルのメモリ アドレ
ス・テーブル・エントリ(MAT)からアドレスを与え
、3)前記メモリ・アドレス・エントリを転送されるバ
イトの数たけ増分し、4)再ローデイング・チャンネル
のメモリ・カウント・テーブル(MCT)エントリを転
送するバイトの数だけ減分する。最初(または、最初の
2回)の書き込み操作については、シーケンサ32は再
ローデツド・チャンネルについてメモリ・アドレス値の
重要度の高い部分と低い部分として書き込まれるべきデ
ータを与える(これはこの実施例か主として意図してい
るホス)−MPU54について適切な順序で行われる)
。
ーケンサ32は、まず、前記サブフィールド値を論理演
算ユニット41の入力バス43.45のうちの1つに送
り、チャンネル・レジスタ16からの値を他方の入力バ
スに送り、その後、その結果を補助チャンネル・レジス
タ17内にラッチする0次に、入出力プロセッサ・デー
タ・バスの幅に依存して2つまたは3つの連続したサイ
クルの各々について、l)メモリ・ワード書き込み操作
を実施すべきことをバス・インターフェース24に知ら
せ、2)再ローデイング・チャンネルのメモリ アドレ
ス・テーブル・エントリ(MAT)からアドレスを与え
、3)前記メモリ・アドレス・エントリを転送されるバ
イトの数たけ増分し、4)再ローデイング・チャンネル
のメモリ・カウント・テーブル(MCT)エントリを転
送するバイトの数だけ減分する。最初(または、最初の
2回)の書き込み操作については、シーケンサ32は再
ローデツド・チャンネルについてメモリ・アドレス値の
重要度の高い部分と低い部分として書き込まれるべきデ
ータを与える(これはこの実施例か主として意図してい
るホス)−MPU54について適切な順序で行われる)
。
最後の書き込み操作については、ゼロを書き込まれるべ
きデータとして与える。
きデータとして与える。
これらの書き込み操作の完了時、シーケンサ32は再ロ
ーデイング・チャンネルについての減分されたメモリ・
カウント値をてすとする。この値がゼロの場合、シーケ
ンサ32は再ロープインタ・チャンネルについての装置
アドレス・テーブル(DAT)エントリの内容を同じチ
ャンネルについてのMATエントリに転送し、同じチャ
ンネルについてのPCTエントリの内容を同じチャンネ
ルについてのMCTエントリに転送する。
ーデイング・チャンネルについての減分されたメモリ・
カウント値をてすとする。この値がゼロの場合、シーケ
ンサ32は再ロープインタ・チャンネルについての装置
アドレス・テーブル(DAT)エントリの内容を同じチ
ャンネルについてのMATエントリに転送し、同じチャ
ンネルについてのPCTエントリの内容を同じチャンネ
ルについてのMCTエントリに転送する。
M CT 値が前記の転送を生しさせるかどうかとは無
関係に、シーケンサ32は、次に、入出力プロセッサの
データ・バスの幅に依存して、2つまたは3つの連続し
たサイクルを実施する。各サイクルにおいて、シーケン
サはバス・インターフェース34にメモリ読み出しサイ
クルを実施すべきことを知らせ、再ロープインク・チャ
ンネルについてのメモリ アドレス テーブル(MAT
)エントリからアドレスを与え、次いて、このアドレス
を転送されるバイトの数だけ増分する。バス・インター
フェース24がデータを内部データ・バス26上で利用
できることを知らせたとき、シーケンサ32はチャンネ
ル・レジスタ16によって指示されるメモリ・アドレス
・テーブル(MAT)の重用度の高い部分と低い部分へ
の2jS1.第2の転送についてのデータを捕獲する(
これは実施例が原理的に作動を意図しているホスト・プ
ロセッサにとって適切な順序で行われる) 最後の読み
出し操作では、シーケンサ32はチャンネル・レジスタ
16によって指示されるメモリ・カウント・テーブル(
MCT)へのデータを捕獲する。
関係に、シーケンサ32は、次に、入出力プロセッサの
データ・バスの幅に依存して、2つまたは3つの連続し
たサイクルを実施する。各サイクルにおいて、シーケン
サはバス・インターフェース34にメモリ読み出しサイ
クルを実施すべきことを知らせ、再ロープインク・チャ
ンネルについてのメモリ アドレス テーブル(MAT
)エントリからアドレスを与え、次いて、このアドレス
を転送されるバイトの数だけ増分する。バス・インター
フェース24がデータを内部データ・バス26上で利用
できることを知らせたとき、シーケンサ32はチャンネ
ル・レジスタ16によって指示されるメモリ・アドレス
・テーブル(MAT)の重用度の高い部分と低い部分へ
の2jS1.第2の転送についてのデータを捕獲する(
これは実施例が原理的に作動を意図しているホスト・プ
ロセッサにとって適切な順序で行われる) 最後の読み
出し操作では、シーケンサ32はチャンネル・レジスタ
16によって指示されるメモリ・カウント・テーブル(
MCT)へのデータを捕獲する。
読み出し操作か完了した後、シーケンサ32は、論理演
算ユニット41を使用して再ローデイング・チャンネル
についてのメモリ・アドレス値を再ローデツド・チャン
ネルのMAT値(の最初の部分)を読み出したアドレス
まで減じるが、あるいは、先に得ていたこびいを再ロー
デイング・チャンネルのMATエントリに転送する。
算ユニット41を使用して再ローデイング・チャンネル
についてのメモリ・アドレス値を再ローデツド・チャン
ネルのMAT値(の最初の部分)を読み出したアドレス
まで減じるが、あるいは、先に得ていたこびいを再ロー
デイング・チャンネルのMATエントリに転送する。
これら2つの作動は同等のものであり、再ローデイング
・チャンネルについてのメモリ・アドレスを読み出され
たデータの出発時点まで戻すようになっている。
・チャンネルについてのメモリ・アドレスを読み出され
たデータの出発時点まで戻すようになっている。
これはRELOAD命令の実行を完了させ、シーケンサ
32はその後に次の順序の命令を実施する。ここで、メ
モリ・バッファの完全なリングの実行が続< JUMP
IF C0LINT ZERO(または、N0N2E
RO)によって決定され得ることに注目されたい。
32はその後に次の順序の命令を実施する。ここで、メ
モリ・バッファの完全なリングの実行が続< JUMP
IF C0LINT ZERO(または、N0N2E
RO)によって決定され得ることに注目されたい。
これらの動作は入出力バッファ「リング」をセットアツ
プする主プロセッサ・ソフトウェアのための手段を提供
する。これらのバ・ソファは或る円形の回転する方法で
入出力プロセッサlOによって使用される。第4図はC
HAN−7、Delta CtlAN−2の場合にRE
LOAD命令の2つの異なった実行の効果を示している
。チャンネル7は3つの入出力バッファのリングを有し
、チャンネル9を経て再ロードされる。最初のRELO
ADはrn]ハイドがバッファ領域lからあるいはそこ
へ転送された後に発行され、この時点で、ホストMPU
かrcurrentJとなり、バッファ2.3のアドレ
ス、カウント数を提供する。他方のRELOADはいく
らか後に実行され、「m」ハイドはバッファ3か仁また
は、そこへ転送され、ホストMPUは小さいrbehi
ndJであり、バッファlについてのアドレス、カウン
ト数をリフレッシュするが、バッファ2についてはまで
それは行われていない0図示したように、再ローデイン
グ・チャンネルについての装置アドレス値および内部メ
モリ・アドレス値はシステム・メモリ内の一連のアドレ
ス/カウント対の出発アドレスであり、各バッファの1
対が再ローデツド・チャンネルに割り当てられる。再ロ
ーデイング・チャンネルについてのプログラム・カウン
タ・テーブル値と当初のM CT 4f1が入出力バッ
ファの数の6倍となるようにプログラムが組まれる。
プする主プロセッサ・ソフトウェアのための手段を提供
する。これらのバ・ソファは或る円形の回転する方法で
入出力プロセッサlOによって使用される。第4図はC
HAN−7、Delta CtlAN−2の場合にRE
LOAD命令の2つの異なった実行の効果を示している
。チャンネル7は3つの入出力バッファのリングを有し
、チャンネル9を経て再ロードされる。最初のRELO
ADはrn]ハイドがバッファ領域lからあるいはそこ
へ転送された後に発行され、この時点で、ホストMPU
かrcurrentJとなり、バッファ2.3のアドレ
ス、カウント数を提供する。他方のRELOADはいく
らか後に実行され、「m」ハイドはバッファ3か仁また
は、そこへ転送され、ホストMPUは小さいrbehi
ndJであり、バッファlについてのアドレス、カウン
ト数をリフレッシュするが、バッファ2についてはまで
それは行われていない0図示したように、再ローデイン
グ・チャンネルについての装置アドレス値および内部メ
モリ・アドレス値はシステム・メモリ内の一連のアドレ
ス/カウント対の出発アドレスであり、各バッファの1
対が再ローデツド・チャンネルに割り当てられる。再ロ
ーデイング・チャンネルについてのプログラム・カウン
タ・テーブル値と当初のM CT 4f1が入出力バッ
ファの数の6倍となるようにプログラムが組まれる。
エンデイング・メモリ・アドレスのライl−ハックは主
プロセッサ・ソフトウェアか各バッファに実際に転送さ
れるデータ量を検出できるようにする。これは、特に、
いっばいになる前に読了し得る入力バッファにとって重
要である。すなわち、状況翻訳またはデータ翻訳を原因
とする場合である。ここて、カウント値へのライティン
グ・パック・ゼロは入出力プロセッサ10が完全なリン
ク「についてルーピングする」のを防ぐと共に、主プロ
セッサ・ソフトウェアかバッファの入力データを処理す
る前あるいはバッファを新しい出力データで満たす前に
回しバッファを再処理するのを防ぐ。RELOAD命令
の後ニJIIMP IF C0UNT ZERO(また
は、N0NZERO)命令か続き、この状態についてて
すとを行う。
プロセッサ・ソフトウェアか各バッファに実際に転送さ
れるデータ量を検出できるようにする。これは、特に、
いっばいになる前に読了し得る入力バッファにとって重
要である。すなわち、状況翻訳またはデータ翻訳を原因
とする場合である。ここて、カウント値へのライティン
グ・パック・ゼロは入出力プロセッサ10が完全なリン
ク「についてルーピングする」のを防ぐと共に、主プロ
セッサ・ソフトウェアかバッファの入力データを処理す
る前あるいはバッファを新しい出力データで満たす前に
回しバッファを再処理するのを防ぐ。RELOAD命令
の後ニJIIMP IF C0UNT ZERO(また
は、N0NZERO)命令か続き、この状態についてて
すとを行う。
初期具体例
入出力プロセッサlOの初期具体例では、先に述べたよ
うに、チャンネルが32であり、16ビツトの外部、内
部データ・バスと24ビツトのメモリ、入出力アトレス
を使用する。メモリ・カウント値は14ビツトであり、
単ビット・メモリ・Xfer幅パラメータと単ビウト装
置データ幅パラメータを持つ同じ16ビウト・ワードに
おいてプログラムか組まれると便利である。
うに、チャンネルが32であり、16ビツトの外部、内
部データ・バスと24ビツトのメモリ、入出力アトレス
を使用する。メモリ・カウント値は14ビツトであり、
単ビット・メモリ・Xfer幅パラメータと単ビウト装
置データ幅パラメータを持つ同じ16ビウト・ワードに
おいてプログラムか組まれると便利である。
初期具体例ては、リクエストと入力部RQN4−0は5
つである、入出力プロセッサ10の制御レジスタ(CT
RL)のプログラマツル・ビットはこれらの入力部が外
部的に符号化されるが、あるいは、入出力コントローラ
のリクエストと出力部に直結されるかどうかを示す。
つである、入出力プロセッサ10の制御レジスタ(CT
RL)のプログラマツル・ビットはこれらの入力部が外
部的に符号化されるが、あるいは、入出力コントローラ
のリクエストと出力部に直結されるかどうかを示す。
初期実現化は命令テーブルまたは決定テーブルについて
の内部メモリをなんら持たない。むしろ、13ビツトの
プログラム・カウンタ・ベース・レジスタを方眼紙手織
、その内容か10ビツト・プログラム・カウンタの内容
に連結されて命令取り出しのための23ビツト・ワード
・アドレスを発生する。さらに、11ビツト決定テーブ
ル・レジスタを方眼紙手織、その内容が4ビツト決定テ
ーブル数および8ビツト・データ・キャラクタの内容と
連結され、決定テーブル・ワードが取り出される23ビ
ツト・ワード・アドレスを発生する。
の内部メモリをなんら持たない。むしろ、13ビツトの
プログラム・カウンタ・ベース・レジスタを方眼紙手織
、その内容か10ビツト・プログラム・カウンタの内容
に連結されて命令取り出しのための23ビツト・ワード
・アドレスを発生する。さらに、11ビツト決定テーブ
ル・レジスタを方眼紙手織、その内容が4ビツト決定テ
ーブル数および8ビツト・データ・キャラクタの内容と
連結され、決定テーブル・ワードが取り出される23ビ
ツト・ワード・アドレスを発生する。
これらすべての命令ワード、決定テーブル・ワードはこ
の実施例ては16ビツト幅である。
の実施例ては16ビツト幅である。
バードウエサを簡略化するために、種々の命令は各命令
の重要度の高い方法4ビット分のオブコートを復号する
ことによって微分される。たたし、2つのrJUMP
IF C0UNT・・・」命令は次に重要度の高いビッ
トによって微分され、3つのr Logic4命令は2
つの次に重要度の高いビットによって微分される。
の重要度の高い方法4ビット分のオブコートを復号する
ことによって微分される。たたし、2つのrJUMP
IF C0UNT・・・」命令は次に重要度の高いビッ
トによって微分され、3つのr Logic4命令は2
つの次に重要度の高いビットによって微分される。
サラニ、5END To MEMORY命令は、5EN
D TODEVICEバスかすべて1を含む装置オフセ
ット・サブフィールドによって微分されると同じオプコ
ートを使用する。
D TODEVICEバスかすべて1を含む装置オフセ
ット・サブフィールドによって微分されると同じオプコ
ートを使用する。
上述したように、プログラム・カウンタ(pc)または
プログラム・カウンタ・テーブル(PCT)にロードさ
れるサブフィールドは10ビツトを含み、決定テーブル
数すツフィールドは4ビツトを含む。INPUTまたは
OUTPUT命令の決定テーブル数すツフィールト内の
値ゼロは「無翻訳」を識別するが、決定テーブル0はI
NTERPRET命令内で意味をもって使用され得る。
プログラム・カウンタ・テーブル(PCT)にロードさ
れるサブフィールドは10ビツトを含み、決定テーブル
数すツフィールドは4ビツトを含む。INPUTまたは
OUTPUT命令の決定テーブル数すツフィールト内の
値ゼロは「無翻訳」を識別するが、決定テーブル0はI
NTERPRET命令内で意味をもって使用され得る。
装置オフセット・サブフィールドは6ビツトを含む。I
NTERPRET、 INPUT、 OUTPUT命令
におイテ、すべて1である装置オフセット値(10進法
で63)は入出力コントローラが読み出されたり。
NTERPRET、 INPUT、 OUTPUT命令
におイテ、すべて1である装置オフセット値(10進法
で63)は入出力コントローラが読み出されたり。
書き込まれたりしてはいけないことを示す。
INTERPRET命令についての決定テーブル・ワー
ドおよびRELOAD命令ては、チャンネル番号に加え
られるサブフィールドは5ビツトを含む。
ドおよびRELOAD命令ては、チャンネル番号に加え
られるサブフィールドは5ビツトを含む。
上記のリクエストと・モード・ビットに加えて、入出力
プロセッサのブローパル・コントロール(CTRL)レ
ジスタはリクエストと・ラインのビット・イネイブリン
グまたはディスエイブリング認識を含み、これは装置リ
セット信号が与えられたときにディスエイプル認識につ
いて状態調整され、その結果、入出力プロセッサは主プ
ロセッサが必要とする前に種々のレジスタ、記憶場所を
セットア・ンブする前にリクエストとのサービスを行う
ことはない。また、入出力プロセッサかそれ自身のプラ
イベイト・バスを持っているかどうが、あるいは主プロ
セッサのバスを分かち合っているかどうかを示すサブフ
ィールドも含む。このサブフィールドはバス・インター
フェースの調停ロジックかどのような作動するかを決定
する。
プロセッサのブローパル・コントロール(CTRL)レ
ジスタはリクエストと・ラインのビット・イネイブリン
グまたはディスエイブリング認識を含み、これは装置リ
セット信号が与えられたときにディスエイプル認識につ
いて状態調整され、その結果、入出力プロセッサは主プ
ロセッサが必要とする前に種々のレジスタ、記憶場所を
セットア・ンブする前にリクエストとのサービスを行う
ことはない。また、入出力プロセッサかそれ自身のプラ
イベイト・バスを持っているかどうが、あるいは主プロ
セッサのバスを分かち合っているかどうかを示すサブフ
ィールドも含む。このサブフィールドはバス・インター
フェースの調停ロジックかどのような作動するかを決定
する。
入出力プロセッサおよび主プロセッサか同じバスを共有
している場合には、制御レジスタも2つのフィールドを
有し、これか入出力プロセッサのバス・アクセスを絞っ
て制限する。これは主プロセッサかシステム全体が正し
く作用するようにあるパーセンテージのバス・アクセス
を保証しなければならない用途にとって必要である。こ
れら2つのフィールドは、それぞれ、入出力プロセッサ
10がシステム・バス58の制御を保つことになる最長
時間と、入出力プロセッサ10が制御を放棄した後にシ
ステム・バス58の次の要求制御を抑制することになる
最短時間とを表わす。
している場合には、制御レジスタも2つのフィールドを
有し、これか入出力プロセッサのバス・アクセスを絞っ
て制限する。これは主プロセッサかシステム全体が正し
く作用するようにあるパーセンテージのバス・アクセス
を保証しなければならない用途にとって必要である。こ
れら2つのフィールドは、それぞれ、入出力プロセッサ
10がシステム・バス58の制御を保つことになる最長
時間と、入出力プロセッサ10が制御を放棄した後にシ
ステム・バス58の次の要求制御を抑制することになる
最短時間とを表わす。
ここで、種々の変更、追加および省略が発明の範囲内で
本発明の好ましい初期具体例の細部に関して可能である
ことは了解されたい。
本発明の好ましい初期具体例の細部に関して可能である
ことは了解されたい。
第1図は本発明のインテリジェント入出力プロセッサの
ブロック図である。 第2図は本発明のインテリジェント入出力プロセッサを
用いる比較的小型のシステムのブロック図である。 第3図は本発明のインテリジェント入出力プロセッサを
用いる比較的大型のシステムのブロック図である。 第4図はRELOAD命令の多重実行の効果を示す一連
の部分メモリ・マツプである。 図面にお□いて、lO・・・インテリジェント入出力プ
ロセッサ、12・・・リクエスト・ロジック。 14・・・内部ランダム・アクセス・メモリ、16・・
・チャンネル・レジスタ、17・・・補助チャンネル・
レジスタ、18・・・内部レジスタ、20・・・テーブ
ル・ワード・ラッチ、22・・・命令ラッチ/デコーダ
、24・・・バス・インターフェース、26・・・内部
データ・バス、28・・・アドレス・データ部分。 30・・・接続部、32・・・シーケンサ、41・・・
論理演算ユニット G 2
ブロック図である。 第2図は本発明のインテリジェント入出力プロセッサを
用いる比較的小型のシステムのブロック図である。 第3図は本発明のインテリジェント入出力プロセッサを
用いる比較的大型のシステムのブロック図である。 第4図はRELOAD命令の多重実行の効果を示す一連
の部分メモリ・マツプである。 図面にお□いて、lO・・・インテリジェント入出力プ
ロセッサ、12・・・リクエスト・ロジック。 14・・・内部ランダム・アクセス・メモリ、16・・
・チャンネル・レジスタ、17・・・補助チャンネル・
レジスタ、18・・・内部レジスタ、20・・・テーブ
ル・ワード・ラッチ、22・・・命令ラッチ/デコーダ
、24・・・バス・インターフェース、26・・・内部
データ・バス、28・・・アドレス・データ部分。 30・・・接続部、32・・・シーケンサ、41・・・
論理演算ユニット G 2
Claims (24)
- (1)、データ処理装置で用いることのできる入出力プ
ロセッサであって、主プロセッサと、各々が1つまたは
それ以上の入出力チャンネルを制御する複数の入出力コ
ントローラであり、各々がそこへのおよびそこからのデ
ータの転送のようなサービスの必要性を指示するサービ
ス・リクエスト信号を発行する手段を有すると共に、そ
れの制御するチャンネルの状況を示す内部状況レジスタ
手段を有する入出力コントローラと、各チャンネルにつ
いてのアドレス指定可能なバッファ領域を有する外部メ
モリと、前記主プロセッサ、外部メモリ、入出力コント
ローラおよび入出力プロセッサを相互接続する外部バス
とを包含する入出力プロセッサにおいて、 前記サービス・リクエスト信号を受け取るリクエスト受
け取り手段と、 各チャンネルと前記外部メモリの間でのデータ転送を制
御する制御情報を記憶する内部メモリ手段であって、チ
ャンネル・プログラム・アドレスと各チャンネルのため
の外部メモリ・バッファ・アドレスを包含し、前記主プ
ロセッサによる読み出し、書き込みにアクセスできる内
部メモリ手段と、 それぞれのサービス・リクエスト信号に応答して前記チ
ャンネル・プログラムを実施する実行手段であって、入
出力コントローラへの、そして、そこからのデータ転送
作業に特有の命令セットを実施するようになっており、
この命令セットが翻訳手段を呼び出す命令を含み、この
翻訳手段が或る入出力コントローラの前記状況レジスタ
あるいは前記入出力コントローラからのデータ値または
これら両方の入出力プロセッサによる審査を可能とし、
次いで、この審査に基づく別の作業のコースを決定する
実行手段と、 前記主プロセッサ、前記入出力プロセッサの間での前記
外部バスの使用を調停する調停手段とを包含することを
特徴とする入出力プロセッサ。 - (2)、請求項1記載の入出力プロセッサにおいて、さ
らに、1ブロック分のデータの転送の完了についての事
象を含めて、外部メモリと或る任意の入出力コントロー
ラとの間でのデータの転送に関する事象について主プロ
セッサに信号を送るように前記入出力プロセッサによっ
てインタラプト手段を包含することを特徴とする入出力
コントローラ。 - (3)、請求項2記載の入出力プロセッサにおいて、前
記内部メモリがさらに主プロセッサ割込についてのキュ
ーを包含し、このキューの各エントリが前記主プロセッ
サについてのインタラプト・ベクトルとチャンネル番号
とを包含し、エントリによって示される事象を完全に識
別することを特徴とする入出力プロセッサ。 - (4)、請求項1記載の入出力プロセッサにおいて、前
記リクエスト受け取り手段が複数の独立して主張できる
サービス・リクエスト入力部を包含し、さらに、これら
入力部間の所定の優先順位に従ったサービスのためのチ
ャンネルを選定する優先化手段を包含することを特徴と
する入出力プロセッサ。 - (5)、請求項1記載の入出力プロセッサにおいて、前
記リクエスト受け取り手段が複数のサービス・リクエス
ト入力部と、これらの入力部がチャンネル番号要求サー
ビスに対応するコードを提供するか、あるいは、複数の
独立して主張できる可能サービス・リクエストを提供す
るかを入出力プロセッサに信号で知らせる目的のために
主プロセッサによって制御できる手段とを包含し、前記
可能サービス・リクエストの各々が前記サービス・リク
エスト入力のそれぞれに対応することを特徴とする入出
力プロセッサ。 - (6)、請求項1記載の入出力プロセッサにおいて、前
記内筒メモリが、各チャンネル毎に、そのチャンネルに
対応する外部メモリのバッファ領域における、未転送に
留まっているデータ記憶場所のカウント数を記憶するこ
とを特徴とする入出力プロセッサ。 - (7)、請求項1記載の入出力プロセッサにおいて、前
記内部メモリが、さらに、各チャンネル毎に、対応した
入出力コントローラのアドレスまたはその一部を記憶す
ることを特徴とする入出力プロセッサ。 - (8)、請求項1記載の入出力プロセッサにおいて、前
記翻訳手段が内部メモリあるいは外部メモリに記憶され
たテーブルを利用し、各テーブルが前記状況あるいはデ
ータ項目の各可能値について1つのエントリからなり、
また、或る選定したテーブルへのインデックスとして前
記値を使用し、このテーブルから対応したエントリを抽
出する手段を包含することを特徴とする入出力プロセッ
サ。 - (9)、請求項8記載の入出力プロセッサにおいて、前
記翻訳手段が任意の入出力コントローラからの状況値に
ついてINTERPRET命令によって呼び出され、抽
出されたエントリが次に実行されるべき命令を選ぶか、
あるいは、さらなる命令と共に使用するチャンネル番号
を増分あるいは減分するか、または、これら両方の作業
を行い得ることを特徴とする入出力プロセッサ。 - (10)、請求項8記載の入出力プロセッサにおいて、
前記翻訳手段が任意の入出力コントローラからのデータ
値についてINPUT命令によって呼び出され得、抽出
されたエントリが前記データ値をメモリに書き込むべき
かどうかを指示し、さらに、チャンネル・プログラム実
行が現行のリクエストについて継続すべきかどうかを指
示することを特徴とする入出力プロセッサ。 - (11)、請求項8記載の入出力プロセッサにおいて、
前記翻訳手段がメモリからのデータ値についてOUTP
UT命令によって呼び出され得、抽出されたエントリが
前記データ値を任意の入出力コントローラに書き込むべ
きかどうかを指示し、さらに、チャンネル・プログラム
実行が現行リクエストについて継続すべきかどうかを指
示することを特徴とする入出力プロセッサ。 - (12)、請求項1記載の入出力プロセッサにおいて、
前記実行手段が命令セットを実行する手段を包含し、こ
の命令セットが、 a、任意の入出力コントローラから状況値を読み出し、
翻訳手段を呼び出すINTERPRET命令タイプと、 b、任意の入出力コントローラからデータを読み出すこ
と、翻訳手段を呼び出すことならびに(翻訳毎にオプシ
ョンであるが)主メモリにデータを書き込むことの3つ
の作業の任意の組合わせを実施するINPUT命令タイ
プと、 c、主メモリからデータを読み出すこと、翻訳手段を呼
び出すことならびに(翻訳毎にオプションであるが)任
意の入出力コントローラにデータを送ることの3つの作
業の任意の組合わせを実施するOUTPUT命令タイプ
と、 d、任意の入出力コントローラに一定値を送るSEND
TO DEVICE命令タイプと、e、システム・メ
モリに一定値を書き込むSEND TO MEMORY
命令タイプと、 f、システム・メモリのバッファ領域にどれだけ記憶場
所が残っているかに依存して、次の続く命令アドレス以
外のものとして次の実行されるべき命令を条件付き選択
するJUMP IF COUNT ZERO、JUMP
IF COUNT NONZERO命令タイプと、g
、次の続く命令アドレス以外のものとして次の実行され
るべき命令を無条件選択するJUMP命令タイプと、 h、実行開始となるアドレス修正し、次に、現行チャン
ネルに対応するリクエスト信号を対応する入出力コント
ローラによって主張させるLOADSTART ADD
RESS命令タイプと、i、一定値と先の命令からの値
との間で論理演算を実施するAND DATA、OR
DATA、XOR DATA命令タイプと、 j、チャンネルに対するシステム・メモリのバッファ領
域を変更するRELOAD命令タイプとを包含すること
を特徴とする入出力プロセッサ。 - (13)、 各々が1つまたはそれ以上の入出力チャンネルを制御す
る複数の入出力コントローラと、主プロセッサと、 各チャンネルに対して1つのバッファ領域を有する外部
メモリと、 入出力プロセッサと、 前記主プロセッサ、外部メモリ、入出力コントローラお
よび入出力プロセッサをデータ転送可能に接続する制御
可能なバス手段と、 前記入出力コントローラと前記入出力プロ セッサを接続し、それによって、各入出力コントローラ
がサービスの必要性を示す、前記入出力プロセッサへの
リクエスト信号を発行できるようにしたリクエスト受け
取り手段であって、前記サービスが状況をチェックする
こと、前記入出力プロセッサと前記外部メモリとの間で
データを条件付きで転送することを含むリクエスト受け
取り手段と、 前記入出力プロセッサが前記バス手段の支配をリクエス
トし、許されるように前記入出力プロセッサおよび前記
主プロセッサを接続する調停手段と を包含し、前記入出力プロセッサが、 各チャンネルと前記外部メモリとの間の、 チャンネル・プログラムならびに各チャンネル毎の外部
メモリ・バッファ・アドレスを含むデータの転送を制御
する情報を記憶する内部メモリ手段と、 それぞれのリクエスト信号に応答して前記 チャンネル・プログラムを実施するようになっており、
また、任意の入出力コントローラと外部メモリの間での
データ転送作業に特有の命令セットを実施する実行手段
と を包含することを特徴とするデータ処理装置。 - (14)、請求項13記載のデータ処理装置において、
前記リクエスト受け取り手段が前記入出力プロセッサに
通じる複数のリクエスト入力ラインを包含し、各入出力
コントローラと前記入出力プロセッサからの1本のライ
ンが同時に主張されたリクエスト入力ラインのうちいず
れかを優先順位で選定する手段を包含することを特徴と
するデータ処理装置。 - (15)、請求項13記載のデータ処理装置において、
前記リクエスト受け取り手段が前記入出力プロセッサに
通じる複数本のリクエスト入力ラインを包含し、これら
のラインが任意の入出力コントローラからの外部的に選
定されたリクエストを示すコートを搬送することを特徴
とするデータ処理装置。 - (16)、請求項13記載のデータ処理装置において、
前記バス手段が、前記主処理ユニットと前記外部メモリ
の一部とを相互接続するシステム・バスと、前記入出力
プロセッサ、前記入出力コントローラならびに前記外部
メモリの別の部分を相互接続するローカル・バスと、前
記システム・バスと前記ローカル・バスの間の制御可能
な結合手段とを包含し、主プロセッサが通常はシステム
・バスの支配を主張するが、入出力プロセッサにシステ
ム・バスの一時的な支配を選択的に許すことができ、ま
た、入出力プロセッサが通常はローカル・バスの支配を
主張するが、前記主プロセッサにローカル・バスの一時
的な支配を選択的に許すことができるように前記調停手
段が構成してあることを特徴とするデータ処理装置。 - (17)、請求項16記載のデータ処理装置において、
前記外部メモリのローカル・バスに接続された部分が前
記チャンネル・プログラムを記憶し、これらチャンネル
・プログラムのアドレスが前記内部メモリ手段に記憶さ
れていることを特徴とするデータ処理装置。 - (18)、請求項16記載のデータ処理装置において、
各チャンネルに対する前記外部メモリ・バッファ領域が
ローカル・バスに接続された外部メモリ部分に設けてあ
ることを特徴とするデータ処理装置。 - (19)、請求項16記載のデータ処理装置において、
各チャンネルに対する前記外部メモリ・バッファ領域が
システム・バスに接続された外部メモリ部分に設けてあ
ることを特徴とするデータ処理装置。 - (20)、請求項16記載のデータ処理装置において、
前記制御可能な結合手段が主プロセッサまたは入出力プ
ロセッサのいずれかによって選択的に制御され得るよう
に構成してあることを特徴とするデータ処理装置。 - (21)、請求項13記載のデータ処理装置において、
前記命令セットが翻訳手段を呼び出す命令を含み、前記
翻訳手段が任意の入出力コントローラからあるいはメモ
リからの状況値またはデータ値について入出力プロセッ
サに審査させることができ、このときに、メモリに記憶
された多数のテーブルのうち選定されたテーブルへのイ
ンデックスとして前記状況値またはデータ値を用い、対
応するワードを抽出し、このワードの内容を用いて将来
の作業のコースを決定することを特徴とするデータ処理
装置。 - (22)、請求項21記載のデータ処理装置において、
INTERPRET命令が入出力コントローラから状況
値を読み出し、この状況値を決定テーブルへのインデッ
クスとして用い、前記テーブルから対応するワードを抽
出し、このワードが現行チャンネル番号を増分あるいは
減分して前記状況値によって示される前記入出力コント
ローラ内のチャンネルに将来命令を送る符号付きの値を
有し、前記ワードがさらに入出力コントローラのプログ
ラム・カウンタへ条件付きでロードされ得るブランチ・
アドレスを包含し、このブランチ・アドレスが前記状況
値にとって適切な命令シーケンスのそれであり、また、
前記ワードが前記ブランチ・アドレスをプログラム・カ
ウンタへ実際にロードすべきかどうかの指示を包含する
ことを特徴とするデータ処理装置。 - (23)、請求項21記載のデータ処理装置において、
INPUT命令が任意の入出力コントローラからデータ
値を読み出し、このデータ値を決定テーブルへのインデ
ックスとして使用し、前記テーブルから対応するワード
を抽出し、前記ワードが前記データ値をメモリ内のチャ
ンネルの現行バッファ領域へ書き込むべきかどうかの指
示を包含し、前記ワードがさらに入出力プロセッサのプ
ログラム・カウンタへ条件付きでロードできるブランチ
・アドレスを包含し、このブランチ・アドレスが前記デ
ータ値にとって適切な命令シーケンスのそれであり、さ
らに、前記ワードが前記ブランチ・アドレスをプログラ
ム・カウンタに実際にロードすべきかどうかの指示を包
含することを特徴とするデータ処理装置。 - (24)、請求項21記載のデータ処理装置において、
OUTPUT命令がチャンネルの現行メモリ内バッファ
領域からデータ値を読み出し、このデータ値を決定テー
ブルへのインデックスとして使用し、前記テーブルから
対応するワードを抽出し、このワードが前記データ値を
チャンネルの入出力コントローラへ送るべきかどうかの
指示を含み、前記ワードがさらに入出力プロセッサのプ
ログラム・カウンタへ条件付きでロードできるブランチ
・アドレスを含み、このブランチ・アドレスが前記デー
タ値にとって適切である命令シーケンスのそれであり、
前記ワードがさらに前記ブランチ・アドレスをプログラ
ム・カウンタへ実際にロードすべきかどうかの指示を含
むことを特徴とするデータ処理装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/327,845 US5131081A (en) | 1989-03-23 | 1989-03-23 | System having a host independent input/output processor for controlling data transfer between a memory and a plurality of i/o controllers |
| US327845 | 1989-03-23 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02284252A true JPH02284252A (ja) | 1990-11-21 |
| JP3335172B2 JP3335172B2 (ja) | 2002-10-15 |
Family
ID=23278321
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07174390A Expired - Fee Related JP3335172B2 (ja) | 1989-03-23 | 1990-03-20 | データ処理システム及びそれに使用するための入出力プロセッサ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5131081A (ja) |
| EP (1) | EP0389046B1 (ja) |
| JP (1) | JP3335172B2 (ja) |
| DE (1) | DE69032862T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010001526A1 (ja) * | 2008-07-01 | 2010-01-07 | パナソニック株式会社 | 集積回路及び電子機器 |
Families Citing this family (69)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE3546683C3 (de) * | 1985-02-22 | 2003-10-09 | Bosch Gmbh Robert | Verfahren zum Betreiben einer Datenverarbeitungsanlage |
| JPH0776950B2 (ja) * | 1990-06-22 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ処理方法及び装置 |
| US5276809A (en) * | 1990-06-26 | 1994-01-04 | Digital Equipment Corporation | Method and apparatus for capturing real-time data bus cycles in a data processing system |
| US5335335A (en) * | 1991-08-30 | 1994-08-02 | Compaq Computer Corporation | Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed |
| JPH05134960A (ja) * | 1991-11-08 | 1993-06-01 | Nec Corp | ローカルプロセツシング方式 |
| US5333276A (en) * | 1991-12-27 | 1994-07-26 | Intel Corporation | Method and apparatus for priority selection of commands |
| JP2568017B2 (ja) * | 1992-03-12 | 1996-12-25 | 株式会社東芝 | マイクロプロセッサ及びそれを使用したデータ処理システム |
| JP3515142B2 (ja) * | 1992-06-11 | 2004-04-05 | セイコーエプソン株式会社 | データ転送制御装置 |
| US5488694A (en) * | 1992-08-28 | 1996-01-30 | Maspar Computer Company | Broadcasting headers to configure physical devices interfacing a data bus with a logical assignment and to effect block data transfers between the configured logical devices |
| TW390446U (en) * | 1992-10-01 | 2000-05-11 | Hudson Soft Co Ltd | Information processing system |
| US5483640A (en) * | 1993-02-26 | 1996-01-09 | 3Com Corporation | System for managing data flow among devices by storing data and structures needed by the devices and transferring configuration information from processor to the devices |
| US5682551A (en) * | 1993-03-02 | 1997-10-28 | Digital Equipment Corporation | 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 |
| JPH06274463A (ja) * | 1993-03-19 | 1994-09-30 | Hitachi Ltd | データ通信システム |
| US6289402B1 (en) * | 1993-07-23 | 2001-09-11 | Amiga Development Llc | Bidirectional data transfer protocol primarily controlled by a peripheral device |
| US5551052A (en) * | 1993-08-02 | 1996-08-27 | Xerox Corporation | Data bus protocol for high speed chip to chip data transfer |
| US5734924A (en) * | 1993-08-27 | 1998-03-31 | Advanced System Products, Inc. | System for host accessing local memory by asserting address signal corresponding to host adapter and data signal indicating address of location in local memory |
| JP3619532B2 (ja) * | 1993-11-08 | 2005-02-09 | 株式会社ルネサステクノロジ | 半導体集積回路装置 |
| JPH07210500A (ja) * | 1994-01-25 | 1995-08-11 | Fujitsu Ltd | データ転送制御装置 |
| US5517439A (en) * | 1994-02-14 | 1996-05-14 | Matsushita Electric Industrial Co., Ltd. | Arithmetic unit for executing division |
| US5781187A (en) * | 1994-05-31 | 1998-07-14 | Advanced Micro Devices, Inc. | Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system |
| US5564023A (en) * | 1994-06-30 | 1996-10-08 | Adaptec, Inc. | Method for accessing a sequencer control block by a host adapter integrated circuit |
| US5625800A (en) * | 1994-06-30 | 1997-04-29 | Adaptec, Inc. | SCB array external to a host adapter integrated circuit |
| US5592684A (en) * | 1994-07-22 | 1997-01-07 | Dell Usa, L.P. | Store queue including a byte order tracking mechanism for maintaining data coherency |
| US5613156A (en) * | 1994-09-27 | 1997-03-18 | Eastman Kodak Company | Imaging system with 1-N Parallel channels, each channel has a programmable amplifier and ADC with serial controller linking and controlling the amplifiers and ADCs |
| FR2726383A1 (fr) * | 1994-10-26 | 1996-05-03 | Trt Telecom Radio Electr | Systeme de traitement d'informations comportant au moins deux processeurs |
| US5864712A (en) * | 1995-03-17 | 1999-01-26 | Lsi Logic Corporation | Method and apparatus for controlling (N+I) I/O channels with (N) data managers in a homogenous software programmable environment |
| DE69614291T2 (de) * | 1995-03-17 | 2001-12-06 | Lsi Logic Corp., Fort Collins | (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung |
| US5799207A (en) * | 1995-03-28 | 1998-08-25 | Industrial Technology Research Institute | Non-blocking peripheral access architecture having a register configure to indicate a path selection for data transfer between a master, memory, and an I/O device |
| US5592622A (en) * | 1995-05-10 | 1997-01-07 | 3Com Corporation | Network intermediate system with message passing architecture |
| US5802278A (en) * | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
| EP0775347B1 (en) * | 1995-05-26 | 2002-03-06 | National Semiconductor Corporation | Integrated primary bus and secondary bus controller with reduced pin count |
| US5603051A (en) * | 1995-06-06 | 1997-02-11 | Hewlett-Packard Company | Input/output processor with a local memory providing shared resources for a plurality of input/output interfaces on an I/O bus |
| US5913028A (en) * | 1995-10-06 | 1999-06-15 | Xpoint Technologies, Inc. | Client/server data traffic delivery system and method |
| US5671365A (en) * | 1995-10-20 | 1997-09-23 | Symbios Logic Inc. | I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events |
| FR2741174B1 (fr) * | 1995-11-14 | 1998-01-16 | Matra Communication | Dispositif de transfert d'informations numeriques |
| US5809285A (en) * | 1995-12-21 | 1998-09-15 | Compaq Computer Corporation | Computer system having a virtual drive array controller |
| US6044225A (en) * | 1996-03-13 | 2000-03-28 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller |
| US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
| EP0803803B1 (en) * | 1996-04-26 | 2008-10-01 | Texas Instruments Incorporated | Method of configuring a data packet transfer device |
| DE69735614T2 (de) * | 1996-10-18 | 2006-09-07 | Matsushita Electric Industrial Co., Ltd., Kadoma | Datenübertragungsgerät und Datenübertragungssystem zur Arbitrierung von mehreren E/A Ports in DMA |
| US5797016A (en) * | 1996-10-29 | 1998-08-18 | Cheyenne Software Inc. | Regeneration agent for back-up software |
| US5984498A (en) * | 1996-11-21 | 1999-11-16 | Quantum Conveyor Systems, Inc. | Device controller with intracontroller communication capability, conveying system using such controllers for controlling conveying sections and methods related thereto |
| US6784890B1 (en) * | 1998-03-02 | 2004-08-31 | Intel Corporation | Accelerated graphics port expedite cycle throttling control mechanism |
| US6085278A (en) * | 1998-06-02 | 2000-07-04 | Adaptec, Inc. | Communications interface adapter for a computer system including posting of system interrupt status |
| US6449709B1 (en) | 1998-06-02 | 2002-09-10 | Adaptec, Inc. | Fast stack save and restore system and method |
| US6202106B1 (en) | 1998-09-09 | 2001-03-13 | Xilinx, Inc. | Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller |
| US6192424B1 (en) * | 1998-12-11 | 2001-02-20 | Oak Technology, Inc. | Bus arbiter for facilitating access to a storage medium in enhanced burst mode using freely specifiable address increments/decrements |
| US6292856B1 (en) | 1999-01-29 | 2001-09-18 | International Business Machines Corporation | System and method for application influence of I/O service order post I/O request |
| US6842457B1 (en) * | 1999-05-21 | 2005-01-11 | Broadcom Corporation | Flexible DMA descriptor support |
| US20090100295A1 (en) * | 2000-01-06 | 2009-04-16 | Super Talent Electronics, Inc. | Reliable memory module testing and manufacturing method |
| US6757291B1 (en) | 2000-02-10 | 2004-06-29 | Simpletech, Inc. | System for bypassing a server to achieve higher throughput between data network and data storage system |
| US7032228B1 (en) * | 2001-03-01 | 2006-04-18 | Emc Corporation | Common device interface |
| JP3870717B2 (ja) * | 2001-05-14 | 2007-01-24 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
| US6779050B2 (en) * | 2001-09-24 | 2004-08-17 | Broadcom Corporation | System and method for hardware based reassembly of a fragmented packet |
| US6920574B2 (en) | 2002-04-29 | 2005-07-19 | Apple Computer, Inc. | Conserving power by reducing voltage supplied to an instruction-processing portion of a processor |
| US6880040B2 (en) | 2002-06-27 | 2005-04-12 | International Business Machines Corporation | Virtual sequential data storage (VSDS) system with router conducting data between hosts and physical storage bypassing VSDS controller |
| JP2004356673A (ja) * | 2003-05-26 | 2004-12-16 | Sony Corp | 動きベクトル検出方法及び同方法を用いた画像処理装置 |
| US6826640B1 (en) * | 2003-06-04 | 2004-11-30 | Digi International Inc. | Bus bandwidth control system |
| US7321985B2 (en) * | 2004-02-26 | 2008-01-22 | International Business Machines Corporation | Method for achieving higher availability of computer PCI adapters |
| US20060293782A1 (en) * | 2005-06-27 | 2006-12-28 | Rees Steven D | Method for regulating the flow of product along an accumulation conveyor |
| US8214574B2 (en) * | 2006-09-08 | 2012-07-03 | Intel Corporation | Event handling for architectural events at high privilege levels |
| US20090063725A1 (en) * | 2007-08-31 | 2009-03-05 | O2Micro Inc. | Direct memory access system |
| DE102016005026B3 (de) * | 2016-04-24 | 2017-05-18 | Sami Haddadin | System und Verfahren zum Steuern eines Roboters |
| US10585674B2 (en) * | 2016-08-22 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Connected devices information |
| CN113366457B (zh) | 2019-01-31 | 2024-06-14 | 国际商业机器公司 | 处理输入/输出存储指令 |
| TWI773959B (zh) * | 2019-01-31 | 2022-08-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
| TWI767175B (zh) | 2019-01-31 | 2022-06-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
| SG11202104428PA (en) | 2019-01-31 | 2021-05-28 | Ibm | Handling an input/output store instruction |
| CN116521095B (zh) * | 2023-07-03 | 2023-09-08 | 摩尔线程智能科技(北京)有限责任公司 | 响应输出系统、方法、电子设备、存储介质及程序产品 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2261567B1 (ja) * | 1974-02-20 | 1977-09-23 | Honeywell Bull Soc Ind | |
| US4336588A (en) * | 1977-01-19 | 1982-06-22 | Honeywell Information Systems Inc. | Communication line status scan technique for a communications processing system |
| US4296466A (en) * | 1978-01-23 | 1981-10-20 | Data General Corporation | Data processing system including a separate input/output processor with micro-interrupt request apparatus |
| US4246637A (en) * | 1978-06-26 | 1981-01-20 | International Business Machines Corporation | Data processor input/output controller |
| US4268906A (en) * | 1978-12-22 | 1981-05-19 | International Business Machines Corporation | Data processor input/output controller |
| US4271468A (en) * | 1979-11-06 | 1981-06-02 | International Business Machines Corp. | Multiprocessor mechanism for handling channel interrupts |
| IT1149252B (it) * | 1980-09-09 | 1986-12-03 | Sits Soc It Telecom Siemens | Modulo di ingresso-uscita per un elaboratore elettronico |
| US4514823A (en) * | 1982-01-15 | 1985-04-30 | International Business Machines Corporation | Apparatus and method for extending a parallel channel to a serial I/O device |
| US4901232A (en) * | 1983-05-19 | 1990-02-13 | Data General Corporation | I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor |
| US4591973A (en) * | 1983-06-06 | 1986-05-27 | Sperry Corporation | Input/output system and method for digital computers |
| US4587609A (en) * | 1983-07-01 | 1986-05-06 | Honeywell Information Systems Inc. | Lockout operation among asynchronous accessers of a shared computer system resource |
| US4602327A (en) * | 1983-07-28 | 1986-07-22 | Motorola, Inc. | Bus master capable of relinquishing bus on request and retrying bus cycle |
| US4682304A (en) * | 1983-08-04 | 1987-07-21 | Tektronix, Inc. | Asynchronous multiple buffered communications interface having an independent microprocessor for controlling host/peripheral exchanges |
| US4688166A (en) * | 1984-08-03 | 1987-08-18 | Motorola Computer Systems, Inc. | Direct memory access controller supporting multiple input/output controllers and memory units |
| US4987530A (en) * | 1985-11-15 | 1991-01-22 | Data General Corp. | Input/output controller for a data processing system |
| JPS6336461A (ja) * | 1986-07-31 | 1988-02-17 | Pfu Ltd | 汎用チャネル制御方式 |
-
1989
- 1989-03-23 US US07/327,845 patent/US5131081A/en not_active Expired - Fee Related
-
1990
- 1990-03-19 EP EP90200629A patent/EP0389046B1/en not_active Expired - Lifetime
- 1990-03-19 DE DE69032862T patent/DE69032862T2/de not_active Expired - Fee Related
- 1990-03-20 JP JP07174390A patent/JP3335172B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2010001526A1 (ja) * | 2008-07-01 | 2010-01-07 | パナソニック株式会社 | 集積回路及び電子機器 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0389046A2 (en) | 1990-09-26 |
| US5131081A (en) | 1992-07-14 |
| EP0389046B1 (en) | 1998-12-30 |
| DE69032862T2 (de) | 1999-07-01 |
| DE69032862D1 (de) | 1999-02-11 |
| EP0389046A3 (en) | 1991-12-11 |
| JP3335172B2 (ja) | 2002-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3335172B2 (ja) | データ処理システム及びそれに使用するための入出力プロセッサ | |
| US6334162B1 (en) | Efficient data transfer mechanism for input/out devices having a device driver generating a descriptor queue and monitoring a status queue | |
| US5701495A (en) | Scalable system interrupt structure for a multi-processing system | |
| US5448702A (en) | Adapters with descriptor queue management capability | |
| EP0550164B1 (en) | Method and apparatus for interleaving multiple-channel DMA operations | |
| US6564271B2 (en) | Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter | |
| US6021458A (en) | Method and apparatus for handling multiple level-triggered and edge-triggered interrupts | |
| US5386532A (en) | Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels | |
| US5638535A (en) | Method and apparatus for providing flow control with lying for input/output operations in a computer system | |
| US4485438A (en) | High transfer rate between multi-processor units | |
| US4905145A (en) | Multiprocessor | |
| WO1993006553A1 (en) | Multi-media signal processor computer system | |
| EP0644489A2 (en) | Method and apparatus for signalling interrupt information in a data processing system | |
| US5805930A (en) | System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs | |
| EP0150767B1 (en) | Program controlled bus arbitration for a distributed array processing system | |
| JPH0640321B2 (ja) | 割込み処理のためのシステムおよび方法 | |
| US5072365A (en) | Direct memory access controller using prioritized interrupts for varying bus mastership | |
| US6789142B2 (en) | Method, system, and program for handling interrupt requests | |
| EP0118669B1 (en) | Channel subsystem | |
| JPS623361A (ja) | ステ−タス通報方式 | |
| EP0546354B1 (en) | Interprocessor communication system and method for multiprocessor circuitry | |
| US5721954A (en) | Intelligent SCSI-2/DMA processor | |
| US20030065833A1 (en) | Initiative passing in an I/O operation without the overhead of an interrupt | |
| US7111301B1 (en) | Request and completion queue load balancing | |
| JPS61240355A (ja) | 入出力デ−タ処理方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |