JPH07105126A - インターフェース・システムおよび方法 - Google Patents
インターフェース・システムおよび方法Info
- Publication number
- JPH07105126A JPH07105126A JP6186201A JP18620194A JPH07105126A JP H07105126 A JPH07105126 A JP H07105126A JP 6186201 A JP6186201 A JP 6186201A JP 18620194 A JP18620194 A JP 18620194A JP H07105126 A JPH07105126 A JP H07105126A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- program
- instruction
- bus
- 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; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
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)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 高速の中央演算処理装置から比較的低速の多
数の入出力アダプタ装置へのプログラム入出力記憶命令
の発行を非同期で管理するためのシステムおよび方法。 【構成】 中央演算処理装置と入出力アダプタ装置との
間のインターフェースは、プログラム入出力記憶待ち行
列と、状態機械と、入出力制御装置の並行処理能力にそ
のカウントが関係するトークン・プールとを含む。イン
ターフェース待ち行列が、エラー回復を管理するため、
アダプタ装置の宛先とユーザ・アプリケーション・プロ
グラムとによってプログラム入出力記憶命令を一意的に
識別する情報を含む。そのように実施することが好まし
いが、このインターフェース・システムおよび方法はま
た、プログラム入出力ロード命令などの同期的実行を必
要とするプログラム入出力命令を明確に管理する。
数の入出力アダプタ装置へのプログラム入出力記憶命令
の発行を非同期で管理するためのシステムおよび方法。 【構成】 中央演算処理装置と入出力アダプタ装置との
間のインターフェースは、プログラム入出力記憶待ち行
列と、状態機械と、入出力制御装置の並行処理能力にそ
のカウントが関係するトークン・プールとを含む。イン
ターフェース待ち行列が、エラー回復を管理するため、
アダプタ装置の宛先とユーザ・アプリケーション・プロ
グラムとによってプログラム入出力記憶命令を一意的に
識別する情報を含む。そのように実施することが好まし
いが、このインターフェース・システムおよび方法はま
た、プログラム入出力ロード命令などの同期的実行を必
要とするプログラム入出力命令を明確に管理する。
Description
【0001】
【産業上の利用分野】本発明は、一般に高速コンピュー
タにおいて処理される命令の管理を対象とする。より詳
細には、本発明は、入出力空間に書き込まれる命令の非
同期管理のために、高速プロセッサと1つまたは複数の
入出力バス制御装置のインターフェースを取るために用
いられるシステムおよび方法に関する。
タにおいて処理される命令の管理を対象とする。より詳
細には、本発明は、入出力空間に書き込まれる命令の非
同期管理のために、高速プロセッサと1つまたは複数の
入出力バス制御装置のインターフェースを取るために用
いられるシステムおよび方法に関する。
【0002】
【従来の技術】クロック速度および1クロック周期あた
り実行される命令数から見たプロセッサ技術の目覚まし
い進歩により、中央演算処理装置による命令実行ではな
く動作によってプログラムの実行速度が制限される、コ
ンピュータ・アーキテクチャ環境が造り出された。特に
重要な1つの領域は、プログラムで定義された入出力命
令のプロセッサ管理に関するものである。プロセッサ同
期プログラム入出力動作によって引き起こされる性能の
低下は、クロック同期入出力動作がほぼ1桁遅い入出力
実行速度で行われるものとして、100MHzに近いか
またはそれを上回るクロック速度を有する最新のプロセ
ッサでは特に明白である。この速度の差は、従来の実施
方法では入出力バス制御装置および関連入出力装置がそ
の動作を終了するまで中央演算処理装置が待機すること
が必要である点で、入出力アドレス空間への同期プログ
ラム・ロード/記憶の場合に典型的である。その結果、
プログラム入出力命令は、高速コンピュータにとって非
常に望ましくないことが立証されている。
り実行される命令数から見たプロセッサ技術の目覚まし
い進歩により、中央演算処理装置による命令実行ではな
く動作によってプログラムの実行速度が制限される、コ
ンピュータ・アーキテクチャ環境が造り出された。特に
重要な1つの領域は、プログラムで定義された入出力命
令のプロセッサ管理に関するものである。プロセッサ同
期プログラム入出力動作によって引き起こされる性能の
低下は、クロック同期入出力動作がほぼ1桁遅い入出力
実行速度で行われるものとして、100MHzに近いか
またはそれを上回るクロック速度を有する最新のプロセ
ッサでは特に明白である。この速度の差は、従来の実施
方法では入出力バス制御装置および関連入出力装置がそ
の動作を終了するまで中央演算処理装置が待機すること
が必要である点で、入出力アドレス空間への同期プログ
ラム・ロード/記憶の場合に典型的である。その結果、
プログラム入出力命令は、高速コンピュータにとって非
常に望ましくないことが立証されている。
【0003】プログラム入出力命令を排除しまたは最小
限に抑えるプロセッサ命令の新しい公式化は可能である
が、同期プログラム入出力動作を支援する既存のソフト
ウェアとの互換性を維持する必要性が圧倒的に存在す
る。したがって、既存のプログラムの多量のライブラリ
を直接実行することができるハードウェア・アーキテク
チャを実現することが重要である。
限に抑えるプロセッサ命令の新しい公式化は可能である
が、同期プログラム入出力動作を支援する既存のソフト
ウェアとの互換性を維持する必要性が圧倒的に存在す
る。したがって、既存のプログラムの多量のライブラリ
を直接実行することができるハードウェア・アーキテク
チャを実現することが重要である。
【0004】通常、プログラム入出力「ロード」動作の
後に、ロードされたデータを使用するプロセッサ命令が
続く、すなわちプログラム入出力「ロード」命令と後続
の処理命令との間に強い依存性がある場合、プログラム
入出力「ロード」命令の精巧な管理からほとんど利益を
得ることができない。それとは対照的に、本発明は、中
央演算処理装置と入出力システムとの間にインターフェ
ースを使用することによって、入出力空間への入出力
「記憶」動作の管理を改善することに焦点を当てる。
後に、ロードされたデータを使用するプロセッサ命令が
続く、すなわちプログラム入出力「ロード」命令と後続
の処理命令との間に強い依存性がある場合、プログラム
入出力「ロード」命令の精巧な管理からほとんど利益を
得ることができない。それとは対照的に、本発明は、中
央演算処理装置と入出力システムとの間にインターフェ
ースを使用することによって、入出力空間への入出力
「記憶」動作の管理を改善することに焦点を当てる。
【0005】プログラム入出力記憶動作を管理するイン
ターフェースは、プロセッサの効率を大幅に改善する可
能性を秘めている。しかしながら、そのインターフェー
スは、既存のソフトウェアで正確に実行することがで
き、プロセッサと非同期的に実行される入出力動作のエ
ラー回復を管理するための機構を提供しなければならな
い。
ターフェースは、プロセッサの効率を大幅に改善する可
能性を秘めている。しかしながら、そのインターフェー
スは、既存のソフトウェアで正確に実行することがで
き、プロセッサと非同期的に実行される入出力動作のエ
ラー回復を管理するための機構を提供しなければならな
い。
【0006】したがって、中央演算処理装置または基本
プロセッサが、入出力アドレス空間に記憶命令を発行す
ることができ、入出力システムの相対速度が低い結果と
して停止に陥らず、しかも完全なソフトウェア互換性を
保ち、エラー回復を管理することができる、システム・
アーキテクチャおよび動作方法の必要性が存在する。
プロセッサが、入出力アドレス空間に記憶命令を発行す
ることができ、入出力システムの相対速度が低い結果と
して停止に陥らず、しかも完全なソフトウェア互換性を
保ち、エラー回復を管理することができる、システム・
アーキテクチャおよび動作方法の必要性が存在する。
【0007】
【発明が解決しようとする課題】本発明の目的は、最新
のコンピュータ・システムの高速中央演算処理装置と比
較的低速の入出力システムとの間のインターフェースを
提供することである。プロセッサ同期プログラム入出力
動作を受け入れ、入出力システム内でのプログラム入出
力の実行を非同期的に管理することがその目的である。
のコンピュータ・システムの高速中央演算処理装置と比
較的低速の入出力システムとの間のインターフェースを
提供することである。プロセッサ同期プログラム入出力
動作を受け入れ、入出力システム内でのプログラム入出
力の実行を非同期的に管理することがその目的である。
【0008】
【課題を解決するための手段】本発明の非同期動作可能
なプログラム入出力インターフェースは、プログラム入
出力命令を発行する中央演算処理装置が、比較的低速の
入出力システムによって実行されるプログラム入出力命
令の処理とは独立に、連続するプロセッサ命令の実行を
直ちに続行することができる、アーキテクチャおよび動
作方法を提供する。1つの形態において、本発明は、基
本プロセッサの入出力記憶命令の発行に同期して入出力
記憶情報を受け取る手段と、入出力バス制御装置の入出
力記憶命令の実行に同期して入出力記憶情報を送る手段
とを介して基本プロセッサを入出力バス制御装置に接続
するインターフェース・システムを含む。その際に、基
本プロセッサの入出力命令発行速度は、入出力プロセッ
サの入出力命令実行速度と異なる。別の形態において、
本発明は、入出力バス制御装置のプログラム入出力命令
の実行速度が基本プロセッサの実行速度と非同期であ
り、基本プロセッサの入出力記憶命令の発行に同期して
入出力記憶情報を受け取る段階と、入出力バス制御装置
の入出力記憶命令の実行に同期して入出力記憶情報を送
る段階とを含む、基本プロセッサと入出力バス制御装置
との間のインターフェースを操作する方法を対象とす
る。
なプログラム入出力インターフェースは、プログラム入
出力命令を発行する中央演算処理装置が、比較的低速の
入出力システムによって実行されるプログラム入出力命
令の処理とは独立に、連続するプロセッサ命令の実行を
直ちに続行することができる、アーキテクチャおよび動
作方法を提供する。1つの形態において、本発明は、基
本プロセッサの入出力記憶命令の発行に同期して入出力
記憶情報を受け取る手段と、入出力バス制御装置の入出
力記憶命令の実行に同期して入出力記憶情報を送る手段
とを介して基本プロセッサを入出力バス制御装置に接続
するインターフェース・システムを含む。その際に、基
本プロセッサの入出力命令発行速度は、入出力プロセッ
サの入出力命令実行速度と異なる。別の形態において、
本発明は、入出力バス制御装置のプログラム入出力命令
の実行速度が基本プロセッサの実行速度と非同期であ
り、基本プロセッサの入出力記憶命令の発行に同期して
入出力記憶情報を受け取る段階と、入出力バス制御装置
の入出力記憶命令の実行に同期して入出力記憶情報を送
る段階とを含む、基本プロセッサと入出力バス制御装置
との間のインターフェースを操作する方法を対象とす
る。
【0009】本発明の好ましい実施例は、基本プロセッ
サ間のインターフェースと、一般に少なくとも1個ずつ
の固定小数点装置、浮動小数点装置および分岐処理装置
を含むCPUと、主メモリと複数の入出力バス制御装置
が共用するシステム・バスとからなる。インターフェー
スは、基本プロセッサからシステム・バスに接続された
入出力バス制御装置に発行されるプログラム入出力命令
を管理する。さらに詳細には、本発明は、その好ましい
実施例では、インターフェース内に、状態機械によって
制御されかつ相互接続された、プロセッサ固有のインタ
ーフェース部分およびシステム・バス固有のインターフ
ェース部分を含む。状態機械は、基本プロセッサから受
け取ったプログラム入出力命令を待ち行列に入れ、入出
力バス制御装置の資源に従って確立されたトークン・プ
ールによってシステム・バスを維持しながら、待ち行列
からプログラム入出力命令を非同期に発行する。エラー
回復は、エラー回復を調整するための固有の識別子を、
各プログラム入出力命令と関連付けて、待ち行列内に含
めることによって実行される。そう企図しておくことが
好ましいのだが、通常主メモリまたはキャッシュに送ら
れる、アドレス空間へのプログラム記憶命令以外の基本
プロセッサ動作は、通常の手法で引き続き管理される。
同様の状況が、入出力アドレス空間からロードされるプ
ロセッサ命令にもあてはまる。
サ間のインターフェースと、一般に少なくとも1個ずつ
の固定小数点装置、浮動小数点装置および分岐処理装置
を含むCPUと、主メモリと複数の入出力バス制御装置
が共用するシステム・バスとからなる。インターフェー
スは、基本プロセッサからシステム・バスに接続された
入出力バス制御装置に発行されるプログラム入出力命令
を管理する。さらに詳細には、本発明は、その好ましい
実施例では、インターフェース内に、状態機械によって
制御されかつ相互接続された、プロセッサ固有のインタ
ーフェース部分およびシステム・バス固有のインターフ
ェース部分を含む。状態機械は、基本プロセッサから受
け取ったプログラム入出力命令を待ち行列に入れ、入出
力バス制御装置の資源に従って確立されたトークン・プ
ールによってシステム・バスを維持しながら、待ち行列
からプログラム入出力命令を非同期に発行する。エラー
回復は、エラー回復を調整するための固有の識別子を、
各プログラム入出力命令と関連付けて、待ち行列内に含
めることによって実行される。そう企図しておくことが
好ましいのだが、通常主メモリまたはキャッシュに送ら
れる、アドレス空間へのプログラム記憶命令以外の基本
プロセッサ動作は、通常の手法で引き続き管理される。
同様の状況が、入出力アドレス空間からロードされるプ
ロセッサ命令にもあてはまる。
【0010】本発明の上記その他の特徴は、以下に示す
ような詳細な実施例の記述を考慮すればさらによく理解
され評価されよう。
ような詳細な実施例の記述を考慮すればさらによく理解
され評価されよう。
【0011】
【実施例】これから、個々の図面を参照して特定の実施
例によって説明する。本発明は、基本プロセッサを、入
出力アドレス空間に送られるプログラム入出力命令の実
際の実行に伴う入出力プロセッサ遅延から解放すること
のできる所望の能力を提供する。プログラム入出力記憶
命令をインターフェース・システムが同期的に管理しな
がら、高速の基本プロセッサが新しい命令を実行し続け
る。
例によって説明する。本発明は、基本プロセッサを、入
出力アドレス空間に送られるプログラム入出力命令の実
際の実行に伴う入出力プロセッサ遅延から解放すること
のできる所望の能力を提供する。プログラム入出力記憶
命令をインターフェース・システムが同期的に管理しな
がら、高速の基本プロセッサが新しい命令を実行し続け
る。
【0012】非同期プログラム入出力(APIO)記憶
インターフェースを有するシステムが、図1に概略的に
示されている。全体的なアーキテクチャは、IBMコー
ポレーションから市販されているRISCシステム/6
000ワークステーションのアーキテクチャと類似して
いる。図1は、通常は1個または複数の固定小数点処理
装置、浮動小数点処理装置および分岐処理装置からな
る、基本プロセッサまたは中央演算処理装置(CPU)
1を含んでいる。基本プロセッサまたは中央演算処理装
置1には高速キャッシュ・メモリ2が直接接続されてお
り、そこから続いて、低速であるが大きさが拡張された
主メモリ3に接続されている。システム・バス4は、主
メモリ3を多数のバス・ユニット制御装置6と相互接続
する。前述のRISCシステム/6000の状況では、
システム・バス4はシステム入出力(SIO)バスに対
応し、バス・ユニット制御装置は機能的に、システムと
マイクロ・チャネル入出力バス7などの多数の入出力バ
スとのインターフェースを取る入出力チャネル制御装置
(IOCC)に対応する。入出力アダプタ装置8は、入
出力バス7に直接接続されており、プロセッサ1から発
行されるプログラム入出力記憶命令を最終的に受け取
る。アダプタ8は中速度の装置でよいが、より一般的に
は、比較的低速の通信装置、またはプロセッサ1よりも
少なくとも1桁低い速度でデータを処理するディスク・
ドライブなどの不揮発性記憶装置である。
インターフェースを有するシステムが、図1に概略的に
示されている。全体的なアーキテクチャは、IBMコー
ポレーションから市販されているRISCシステム/6
000ワークステーションのアーキテクチャと類似して
いる。図1は、通常は1個または複数の固定小数点処理
装置、浮動小数点処理装置および分岐処理装置からな
る、基本プロセッサまたは中央演算処理装置(CPU)
1を含んでいる。基本プロセッサまたは中央演算処理装
置1には高速キャッシュ・メモリ2が直接接続されてお
り、そこから続いて、低速であるが大きさが拡張された
主メモリ3に接続されている。システム・バス4は、主
メモリ3を多数のバス・ユニット制御装置6と相互接続
する。前述のRISCシステム/6000の状況では、
システム・バス4はシステム入出力(SIO)バスに対
応し、バス・ユニット制御装置は機能的に、システムと
マイクロ・チャネル入出力バス7などの多数の入出力バ
スとのインターフェースを取る入出力チャネル制御装置
(IOCC)に対応する。入出力アダプタ装置8は、入
出力バス7に直接接続されており、プロセッサ1から発
行されるプログラム入出力記憶命令を最終的に受け取
る。アダプタ8は中速度の装置でよいが、より一般的に
は、比較的低速の通信装置、またはプロセッサ1よりも
少なくとも1桁低い速度でデータを処理するディスク・
ドライブなどの不揮発性記憶装置である。
【0013】通常のアーキテクチャは、プロセッサ1と
システム・バス4との間に比較的直接的な結合を提供す
る。入出力に割り当てられたアドレス範囲を対照とする
プログラム記憶動作は、適切なバス制御装置6および入
出力バス7に常駐するアダプタ8が最終的に受け取るよ
うに、システム・バスに経路指定される。入出力記憶動
作は入出力アダプタの速度で達成されるので、比較的高
速のプロセッサは、プログラム入出力記憶動作が全て完
了したことをアダプタが認識するまで停止する。
システム・バス4との間に比較的直接的な結合を提供す
る。入出力に割り当てられたアドレス範囲を対照とする
プログラム記憶動作は、適切なバス制御装置6および入
出力バス7に常駐するアダプタ8が最終的に受け取るよ
うに、システム・バスに経路指定される。入出力記憶動
作は入出力アダプタの速度で達成されるので、比較的高
速のプロセッサは、プログラム入出力記憶動作が全て完
了したことをアダプタが認識するまで停止する。
【0014】ここで実施される本発明では、プロセッサ
1から発行されるプログラム記憶命令を管理するため
に、プロセッサ1とシステム・バス4との間に非同期プ
ログラム入出力インターフェース機構11を導入する。
非同期プログラム入出力(APIO)インターフェース
11は、プロセッサ同期命令の結合を切り離し、入出力
アドレスによって指定されたアダプタが非同期的に完了
できるようにする。
1から発行されるプログラム記憶命令を管理するため
に、プロセッサ1とシステム・バス4との間に非同期プ
ログラム入出力インターフェース機構11を導入する。
非同期プログラム入出力(APIO)インターフェース
11は、プロセッサ同期命令の結合を切り離し、入出力
アドレスによって指定されたアダプタが非同期的に完了
できるようにする。
【0015】APIOインターフェース11は、論理装
置を有するプログラム入出力待ち行列、バス・ユニット
制御装置トークン・プールおよび状態機械を含むことが
好ましい。この好ましい実施例を、図2に概略的に示
す。プロセッサ・インターフェース12およびシステム
・バス・インターフェース13は、APIOインターフ
ェース11に入りそこから出るアドレス、データおよび
制御信号を管理するための信号整合経路指定論理装置を
含む。APIOインターフェース内の重要な機能ブロッ
クは、待ち行列および関連論理装置14、バス・ユニッ
ト制御装置トークン・プール16、ならびに状態機械1
7である。それぞれの詳細については、以下で個々に説
明する。
置を有するプログラム入出力待ち行列、バス・ユニット
制御装置トークン・プールおよび状態機械を含むことが
好ましい。この好ましい実施例を、図2に概略的に示
す。プロセッサ・インターフェース12およびシステム
・バス・インターフェース13は、APIOインターフ
ェース11に入りそこから出るアドレス、データおよび
制御信号を管理するための信号整合経路指定論理装置を
含む。APIOインターフェース内の重要な機能ブロッ
クは、待ち行列および関連論理装置14、バス・ユニッ
ト制御装置トークン・プール16、ならびに状態機械1
7である。それぞれの詳細については、以下で個々に説
明する。
【0016】APIO待ち行列および論理装置14は、
プロセッサ1(図1)から発行されたプログラム入出力
記憶命令を受け取って記憶する。待ち行列内の各エント
リは、それと関連したデータを含む1つのプログラム入
出力記憶命令を表す。状態機械17によって操作される
1組のポインタが、プログラム入出力記憶命令の受取り
と発行を管理する。あるポインタは、プログラム入出力
記憶命令が書き込まれるとき、次の使用可能なエントリ
位置を指定するように進む。他のポインタは、状態機械
からシステム・バスに発行される次の保留エントリを識
別する。初期設定時に、両方のポインタは待ち行列の先
頭に設定される。待ち行列のサイズはシステム設計者の
判断に任され、これにより、プログラム入出力記憶動作
の大きなバーストが予想される場合に大きな待ち行列を
設けることが可能になる。
プロセッサ1(図1)から発行されたプログラム入出力
記憶命令を受け取って記憶する。待ち行列内の各エント
リは、それと関連したデータを含む1つのプログラム入
出力記憶命令を表す。状態機械17によって操作される
1組のポインタが、プログラム入出力記憶命令の受取り
と発行を管理する。あるポインタは、プログラム入出力
記憶命令が書き込まれるとき、次の使用可能なエントリ
位置を指定するように進む。他のポインタは、状態機械
からシステム・バスに発行される次の保留エントリを識
別する。初期設定時に、両方のポインタは待ち行列の先
頭に設定される。待ち行列のサイズはシステム設計者の
判断に任され、これにより、プログラム入出力記憶動作
の大きなバーストが予想される場合に大きな待ち行列を
設けることが可能になる。
【0017】トークン・プール16は、待ち行列14か
らプログラム入出力記憶命令が発行されている間にバス
・ユニット制御装置6(図1)へのアクセスをトークン
割当てによって制御する。待ち行列14内のポインタに
よって識別される命令は、そのバス・ユニット制御装置
に関連するトークンがそのときトークン・プール16で
使用可能な場合にだけ、バス・ユニット制御装置に発行
される。プール16内のトークンは、この例では"n"で
示す、バス・ユニット制御装置の数に対応してグループ
化され、各グループ内のトークンの数は、対応するバス
・ユニット制御装置によって同時に管理可能な命令の数
に基づく。たとえば、バス・ユニット制御装置が3個の
プログラム入出力記憶動作を管理できる場合は、そのバ
ス制御ユニットに関連するトークンのグループもまた3
になる。このアーキテクチャによって、プログラム入出
力記憶命令の発行をバス・ユニット制御装置の能力に最
適に適合させることができる。
らプログラム入出力記憶命令が発行されている間にバス
・ユニット制御装置6(図1)へのアクセスをトークン
割当てによって制御する。待ち行列14内のポインタに
よって識別される命令は、そのバス・ユニット制御装置
に関連するトークンがそのときトークン・プール16で
使用可能な場合にだけ、バス・ユニット制御装置に発行
される。プール16内のトークンは、この例では"n"で
示す、バス・ユニット制御装置の数に対応してグループ
化され、各グループ内のトークンの数は、対応するバス
・ユニット制御装置によって同時に管理可能な命令の数
に基づく。たとえば、バス・ユニット制御装置が3個の
プログラム入出力記憶動作を管理できる場合は、そのバ
ス制御ユニットに関連するトークンのグループもまた3
になる。このアーキテクチャによって、プログラム入出
力記憶命令の発行をバス・ユニット制御装置の能力に最
適に適合させることができる。
【0018】システムの初期設定時に、トークンは、バ
ス・ユニット制御装置の数および資源に基づいてトーク
ン・プール16内のグループに事前割振りされる。その
後は、バス・ユニット制御装置へのプログラム入出力記
憶命令の発行は、トークン・プール・グループからのト
ークンが使用可能なことを条件として行われる。命令の
完了がバス制御装置の肯定応答によって示されると、ト
ークンはトークン・プール内の対応グループに戻され
る。このアーキテクチャおよび動作方法によると、プロ
グラム入出力記憶命令がバス・ユニット制御装置間に均
等に配布されない状況で、異なるバス・ユニット制御装
置への順序外れのプログラム入出力記憶命令の発行が許
される。当然、発行の順序はトークンの数を制限するこ
とにより制約を受ける。
ス・ユニット制御装置の数および資源に基づいてトーク
ン・プール16内のグループに事前割振りされる。その
後は、バス・ユニット制御装置へのプログラム入出力記
憶命令の発行は、トークン・プール・グループからのト
ークンが使用可能なことを条件として行われる。命令の
完了がバス制御装置の肯定応答によって示されると、ト
ークンはトークン・プール内の対応グループに戻され
る。このアーキテクチャおよび動作方法によると、プロ
グラム入出力記憶命令がバス・ユニット制御装置間に均
等に配布されない状況で、異なるバス・ユニット制御装
置への順序外れのプログラム入出力記憶命令の発行が許
される。当然、発行の順序はトークンの数を制限するこ
とにより制約を受ける。
【0019】図2のAPIOインターフェース11にお
ける最後の機能要素は、状態機械17である。状態機械
は、待ち行列14とトークン・プール16を管理して、
プロセッサおよびシステム・バスへのインターフェース
を制御する。状態機械17と関連する重要な状態および
関係する移行条件が、図3に概略的に描かれ記述されて
いる。状態0〜8は次の通りである。
ける最後の機能要素は、状態機械17である。状態機械
は、待ち行列14とトークン・プール16を管理して、
プロセッサおよびシステム・バスへのインターフェース
を制御する。状態機械17と関連する重要な状態および
関係する移行条件が、図3に概略的に描かれ記述されて
いる。状態0〜8は次の通りである。
【0020】状態0 − 初期設定 *トークン・プールを初期設定する *待ち行列ポインタを初期設定する 状態1 − 次の事象を待つ *CPUによってAPIOが発行される *装置(アダプタ)から入出力完了を受ける *APIOが待ち行列中で保留中 状態2 − 待ち行列エントリを割り振る 状態3 − APIOコンテキストを待ち行列に記憶す
る 状態4 − 「作動可能」を発行してCPUを開放する 状態5 − 完了したAPIOの待ち行列エントリを開
放する 状態6 − トークンをプールに戻す 状態7 − トークンを獲得する 状態8 − 装置(アダプタ)にAPIOを発行する
る 状態4 − 「作動可能」を発行してCPUを開放する 状態5 − 完了したAPIOの待ち行列エントリを開
放する 状態6 − トークンをプールに戻す 状態7 − トークンを獲得する 状態8 − 装置(アダプタ)にAPIOを発行する
【0021】動作の流れは図4に示されている。プロセ
ッサ1(図1)によってプログラム入出力記憶命令が発
行されると、状態機械17は、待ち行列および論理装置
14においてポインタによって指定される次に使用可能
な待ち行列位置に内容を記憶し始める。待ち行列が満杯
の場合、プロセッサはエントリ位置が使用可能になるま
で待たされる。待ち行列が満杯になったことはポインタ
位置の重なりによって示され、これにより状態機械が活
動化されてプログラム入出力記憶命令のその後の入力を
禁止する。プログラム入出力記憶命令が受け入れられる
と、状態機械は作動可能信号の活動化によって受入れを
プロセッサに通知し、待ち行列14内のポインタを使用
可能な次のエントリに進める。作動可能信号により、プ
ロセッサは後続のプログラム命令の実行を再開すること
ができ、同時にAPIOインターフェース11がプログ
ラム入出力記憶命令の管理を引き継ぐ。
ッサ1(図1)によってプログラム入出力記憶命令が発
行されると、状態機械17は、待ち行列および論理装置
14においてポインタによって指定される次に使用可能
な待ち行列位置に内容を記憶し始める。待ち行列が満杯
の場合、プロセッサはエントリ位置が使用可能になるま
で待たされる。待ち行列が満杯になったことはポインタ
位置の重なりによって示され、これにより状態機械が活
動化されてプログラム入出力記憶命令のその後の入力を
禁止する。プログラム入出力記憶命令が受け入れられる
と、状態機械は作動可能信号の活動化によって受入れを
プロセッサに通知し、待ち行列14内のポインタを使用
可能な次のエントリに進める。作動可能信号により、プ
ロセッサは後続のプログラム命令の実行を再開すること
ができ、同時にAPIOインターフェース11がプログ
ラム入出力記憶命令の管理を引き継ぐ。
【0022】状態機械17または、待ち行列および論理
装置14からのプログラム入出力記憶命令の発行を管理
する。状態機械は、トークン・プール16からのトーク
ンを、待ち行列内の次の連続するプログラム入出力記憶
命令に割り振ることを試みる。プログラム入出力記憶命
令において識別されたバス・ユニット制御装置と関連す
るトークンが使用可能になると、状態機械は待ち行列か
ら命令を発行して、その発行を示すビットを設定し、ポ
インタを次の待ち行列エントリに進める。その後状態機
械は、実行されたプログラム入出力記憶動作の肯定応答
と、命令が実行されたときにアダプタ装置8によって発
行される肯定応答とを待つ。アダプタ装置からそのよう
な肯定応答を受け取ると、状態機械はバス・ユニット制
御装置と関連するトークンをプールに戻す。また、この
肯定応答により、後続の命令のために待ち行列エントリ
が使えるようにするために、肯定応答と関連する待ち行
列エントリを見つけるべく状態機械の探索が開始され
る。エントリの探索は、後でさらに詳しく説明するバス
・ユニット識別と入出力動作タグとからなる固有の識別
子を使用して達成される。肯定応答があるまで待ち行列
14内にプログラム入出力記憶命令および関連する識別
子を保持しておくことにより、アダプタによるプログラ
ム入出力記憶命令の実行中にエラーが発生した場合に回
復することができる。
装置14からのプログラム入出力記憶命令の発行を管理
する。状態機械は、トークン・プール16からのトーク
ンを、待ち行列内の次の連続するプログラム入出力記憶
命令に割り振ることを試みる。プログラム入出力記憶命
令において識別されたバス・ユニット制御装置と関連す
るトークンが使用可能になると、状態機械は待ち行列か
ら命令を発行して、その発行を示すビットを設定し、ポ
インタを次の待ち行列エントリに進める。その後状態機
械は、実行されたプログラム入出力記憶動作の肯定応答
と、命令が実行されたときにアダプタ装置8によって発
行される肯定応答とを待つ。アダプタ装置からそのよう
な肯定応答を受け取ると、状態機械はバス・ユニット制
御装置と関連するトークンをプールに戻す。また、この
肯定応答により、後続の命令のために待ち行列エントリ
が使えるようにするために、肯定応答と関連する待ち行
列エントリを見つけるべく状態機械の探索が開始され
る。エントリの探索は、後でさらに詳しく説明するバス
・ユニット識別と入出力動作タグとからなる固有の識別
子を使用して達成される。肯定応答があるまで待ち行列
14内にプログラム入出力記憶命令および関連する識別
子を保持しておくことにより、アダプタによるプログラ
ム入出力記憶命令の実行中にエラーが発生した場合に回
復することができる。
【0023】APIOインターフェース11の別の態様
は、プロセッサ1とアダプタ8(図1)の間で同期し続
ける命令の管理に関するものである。こうした命令に
は、同期的に実行されるプログラム入出力ロード命令
と、同期実行を必要とする特別なプログラム入出力記憶
命令とが含まれる。後者が管理できると、既存のソフト
ウェアとの互換性が確保される。状態機械がプログラム
入出力ロード命令または特別な同期プログラム入出力記
憶命令を認識すると、APIOインターフェースが対応
するアダプタ装置8から完了の肯定応答を受け取るま
で、プロセッサ1への作動可能信号は非活動化されたま
まになる。このとき、状態機械は作動可能信号をプロセ
ッサ1に送る。命令がプログラム入出力ロード命令であ
る場合は、使用可能になったとき入出力ロード命令が指
定された装置に発行され、プロセッサへの作動可能信号
は、ロードされたデータがAPIOインターフェースに
よってプロセッサに送られるまで遅延される。
は、プロセッサ1とアダプタ8(図1)の間で同期し続
ける命令の管理に関するものである。こうした命令に
は、同期的に実行されるプログラム入出力ロード命令
と、同期実行を必要とする特別なプログラム入出力記憶
命令とが含まれる。後者が管理できると、既存のソフト
ウェアとの互換性が確保される。状態機械がプログラム
入出力ロード命令または特別な同期プログラム入出力記
憶命令を認識すると、APIOインターフェースが対応
するアダプタ装置8から完了の肯定応答を受け取るま
で、プロセッサ1への作動可能信号は非活動化されたま
まになる。このとき、状態機械は作動可能信号をプロセ
ッサ1に送る。命令がプログラム入出力ロード命令であ
る場合は、使用可能になったとき入出力ロード命令が指
定された装置に発行され、プロセッサへの作動可能信号
は、ロードされたデータがAPIOインターフェースに
よってプロセッサに送られるまで遅延される。
【0024】特別な同期プログラム入出力記憶動作の管
理は、先に述べたRISCシステム/6000アーキテ
クチャの態様を考慮することにより、具体的に説明する
ことができる。各プログラム入出力命令は、特定バス・
ユニット制御装置アドレス空間へのアクセスを許可する
ビットを含む。そのようなフィールド内の予約ビット
は、元のアーキテクチャの定義によって0になるように
要求されているので、予約ビットを2進数の"1"に変更
することは、非同期動作が可能なプログラム入出力記憶
命令を識別するのに役立つ。APIOインターフェース
11内の状態機械17は、プロセッサによってプログラ
ム入出力記憶命令が発行されたとき、このビットを検査
する。ビットが"1"に設定されている場合、状態機械は
非同期的解決のために待ち行列内にプログラム入出力命
令をラッチし、前述の作動可能信号をプロセッサに戻
す。一方、ビット"0"の存在から、プログラム入出力命
令が同期的に管理されることを状態機械が認識する場合
は、状態機械はプロセッサを保留する。このプロセッサ
の保留は、同期プログラム入出力命令を発行する前に、
同じバス・ユニット制御装置に送られる保留中および未
解決の非同期動作可能なプログラム入出力記憶動作がす
べて完了するまで続く。同期命令がバス・ユニット制御
装置に送られる場合に、非同期プログラム入出力記憶命
令が待ち行列内でまだ保留中であることを条件とせず
に、同期プログラム入出力記憶命令または同期プログラ
ム入出力記憶ロード命令を待機中の非同期プログラム入
出力記憶命令の前に移動できることに留意されたい。
理は、先に述べたRISCシステム/6000アーキテ
クチャの態様を考慮することにより、具体的に説明する
ことができる。各プログラム入出力命令は、特定バス・
ユニット制御装置アドレス空間へのアクセスを許可する
ビットを含む。そのようなフィールド内の予約ビット
は、元のアーキテクチャの定義によって0になるように
要求されているので、予約ビットを2進数の"1"に変更
することは、非同期動作が可能なプログラム入出力記憶
命令を識別するのに役立つ。APIOインターフェース
11内の状態機械17は、プロセッサによってプログラ
ム入出力記憶命令が発行されたとき、このビットを検査
する。ビットが"1"に設定されている場合、状態機械は
非同期的解決のために待ち行列内にプログラム入出力命
令をラッチし、前述の作動可能信号をプロセッサに戻
す。一方、ビット"0"の存在から、プログラム入出力命
令が同期的に管理されることを状態機械が認識する場合
は、状態機械はプロセッサを保留する。このプロセッサ
の保留は、同期プログラム入出力命令を発行する前に、
同じバス・ユニット制御装置に送られる保留中および未
解決の非同期動作可能なプログラム入出力記憶動作がす
べて完了するまで続く。同期命令がバス・ユニット制御
装置に送られる場合に、非同期プログラム入出力記憶命
令が待ち行列内でまだ保留中であることを条件とせず
に、同期プログラム入出力記憶命令または同期プログラ
ム入出力記憶ロード命令を待機中の非同期プログラム入
出力記憶命令の前に移動できることに留意されたい。
【0025】既存の同期コードのいかなる変更も必要と
せずに、同期および非同期の記憶命令の使用を許し、同
時に入出力アクセスの精度を保証する、本発明のこの好
ましい実施態様では、既存の未割当てのビット・フィー
ルドを使用する。これにより、ビット・フィールド"0"
を有する既存のシステムおよびアプリケーション・ソフ
トウェアはすべて同期的なものとして扱われ、一方、新
しい非同期プログラム入出力記憶命令はすべて、指定フ
ィールド内に"1"が検出されると識別され迅速に処理さ
れる。
せずに、同期および非同期の記憶命令の使用を許し、同
時に入出力アクセスの精度を保証する、本発明のこの好
ましい実施態様では、既存の未割当てのビット・フィー
ルドを使用する。これにより、ビット・フィールド"0"
を有する既存のシステムおよびアプリケーション・ソフ
トウェアはすべて同期的なものとして扱われ、一方、新
しい非同期プログラム入出力記憶命令はすべて、指定フ
ィールド内に"1"が検出されると識別され迅速に処理さ
れる。
【0026】命令の非同期実行の実施、すなわちプロセ
ッサの実行と順序が異なる入出力命令の実行は、通常の
回復可能エラーがすべて回復できることを保証するため
に構造資源を必要とする。エラー回復処理を促進するた
めに、待ち行列14内の各エントリはプロセッサが直接
アクセス可能なように構成されている。非同期プログラ
ム入出力記憶動作中にエラーが発生する場合は、影響を
受けるバス・ユニット制御装置6(図1)が、通常の転
記などによって外部割込み通知信号をプロセッサ1に送
る。それに応答して、プロセッサは、エラー状況にあっ
たものとして識別された非同期プログラム入出力記憶命
令の再試行と、エラーが発生したコンテキスト内の装置
またはユーザ・プログラムへのエラーの報告とを一般に
含む、エラー回復処理を開始する。
ッサの実行と順序が異なる入出力命令の実行は、通常の
回復可能エラーがすべて回復できることを保証するため
に構造資源を必要とする。エラー回復処理を促進するた
めに、待ち行列14内の各エントリはプロセッサが直接
アクセス可能なように構成されている。非同期プログラ
ム入出力記憶動作中にエラーが発生する場合は、影響を
受けるバス・ユニット制御装置6(図1)が、通常の転
記などによって外部割込み通知信号をプロセッサ1に送
る。それに応答して、プロセッサは、エラー状況にあっ
たものとして識別された非同期プログラム入出力記憶命
令の再試行と、エラーが発生したコンテキスト内の装置
またはユーザ・プログラムへのエラーの報告とを一般に
含む、エラー回復処理を開始する。
【0027】一般的な形態では、エラーを引き起こす非
同期プログラム入出力記憶命令は、バス・ユニット制御
装置のIDビットおよび記憶された命令のタグ・ビット
のプロセッサによる探索によって識別される。装置と関
連し、バス・ユニット制御装置とタグ・ビットとの組み
合わせによって一意的に識別される、物理アドレス・フ
ィールドが障害装置を識別する。
同期プログラム入出力記憶命令は、バス・ユニット制御
装置のIDビットおよび記憶された命令のタグ・ビット
のプロセッサによる探索によって識別される。装置と関
連し、バス・ユニット制御装置とタグ・ビットとの組み
合わせによって一意的に識別される、物理アドレス・フ
ィールドが障害装置を識別する。
【0028】基本プロセッサ内での命令の実行と非同期
で実行されるプログラム入出力記憶動作のためのエラー
回復管理の鍵は、3つの情報、すなわちエラーを引き起
こした非同期プログラム入出力記憶命令、エラーが発生
したアダプタ装置、および非同期プログラム入出力記憶
命令を発行したユーザ・プログラム・プロセスを決定す
ることである。エラーを報告するためには、エラー位置
を、エラーを引き起こした命令を発行したユーザ・プロ
セスとリンクするのに十分な情報が必要である。非同期
プログラム入出力記憶命令が装置ドライバによって発行
される場合は、そのリンクを提供する直接的なユーザ・
プロセス情報がある。しかしながら、場合によってはカ
ーネル型の装置ドライバが使用されず、リンクはユーザ
・プログラムに直接戻らなければならない。エラー回復
は、両方の状況を処理できなければならない。回復可能
なアダプタ装置入出力エラーが発生する場合は、非同期
のプログラム入出力記憶命令および関連データを再発行
できることが好ましい。回復不能エラーの場合は、エラ
ーおよびエラーが発生したアダプタ装置の両方をシステ
ム・ユーザに通知しなければならない。
で実行されるプログラム入出力記憶動作のためのエラー
回復管理の鍵は、3つの情報、すなわちエラーを引き起
こした非同期プログラム入出力記憶命令、エラーが発生
したアダプタ装置、および非同期プログラム入出力記憶
命令を発行したユーザ・プログラム・プロセスを決定す
ることである。エラーを報告するためには、エラー位置
を、エラーを引き起こした命令を発行したユーザ・プロ
セスとリンクするのに十分な情報が必要である。非同期
プログラム入出力記憶命令が装置ドライバによって発行
される場合は、そのリンクを提供する直接的なユーザ・
プロセス情報がある。しかしながら、場合によってはカ
ーネル型の装置ドライバが使用されず、リンクはユーザ
・プログラムに直接戻らなければならない。エラー回復
は、両方の状況を処理できなければならない。回復可能
なアダプタ装置入出力エラーが発生する場合は、非同期
のプログラム入出力記憶命令および関連データを再発行
できることが好ましい。回復不能エラーの場合は、エラ
ーおよびエラーが発生したアダプタ装置の両方をシステ
ム・ユーザに通知しなければならない。
【0029】これらの目的を達成する好ましい実施態様
は、状態機械17(図2)、待ち行列14(図2)、主
メモリ3内の専用ブロックを組み合わせて使用するもの
であり、後者は図1における非同期ブロック18に対応
する。一般に、状態機械はエラー回復を提供するための
動作を実行し、非同期ブロック18はエラー回復を達成
するための情報を記憶し、待ち行列14は回復時に再発
行するために命令を保持する。
は、状態機械17(図2)、待ち行列14(図2)、主
メモリ3内の専用ブロックを組み合わせて使用するもの
であり、後者は図1における非同期ブロック18に対応
する。一般に、状態機械はエラー回復を提供するための
動作を実行し、非同期ブロック18はエラー回復を達成
するための情報を記憶し、待ち行列14は回復時に再発
行するために命令を保持する。
【0030】待ち行列14(図2)内の各エントリは、
図5に概略的に示したフィールドによって定義される情
報からなる。最初のフィールド、BUIDは、バス・ユ
ニット制御装置6(図1)を一意的に識別する。バス・
ユニット制御装置に対応する入出力アダプタ装置8を一
意的に識別するタグ・フィールドでは、これらのビット
は各非同期プログラム入出力記憶動作のための一意的識
別子を提供する。図5に示された次のフィールドは、将
来使用するために取っておかれる。後続のフィールド、
PとIは、待ち行列位置に記憶された非同期プログラム
入出力が保留中であるかそれとも使用可能であるか、ま
た待ち行列位置記憶命令がバス・ユニット制御装置に発
行されたかどうかを指定する。また、各エントリは、非
同期プログラム入出力記憶データの大きさを示すカウン
ト、回復可能エラーに遭遇した場合の再試行動作のため
の実際のデータおよびアドレスを有する。図5に示され
る各フィールドの内容をまとめると次の通りである。
図5に概略的に示したフィールドによって定義される情
報からなる。最初のフィールド、BUIDは、バス・ユ
ニット制御装置6(図1)を一意的に識別する。バス・
ユニット制御装置に対応する入出力アダプタ装置8を一
意的に識別するタグ・フィールドでは、これらのビット
は各非同期プログラム入出力記憶動作のための一意的識
別子を提供する。図5に示された次のフィールドは、将
来使用するために取っておかれる。後続のフィールド、
PとIは、待ち行列位置に記憶された非同期プログラム
入出力が保留中であるかそれとも使用可能であるか、ま
た待ち行列位置記憶命令がバス・ユニット制御装置に発
行されたかどうかを指定する。また、各エントリは、非
同期プログラム入出力記憶データの大きさを示すカウン
ト、回復可能エラーに遭遇した場合の再試行動作のため
の実際のデータおよびアドレスを有する。図5に示され
る各フィールドの内容をまとめると次の通りである。
【0031】BUID:BUC(バス・ユニット制御装
置)を一意的に識別する。 TAG:BUC内の入出力動作を一意的に識別する。こ
のフィールドは任意選択である。現在IOCCの実施態
様では、BUIDによって入出力動作の宛先またはソー
スを一意的に識別できるので、タグ・フィールドは必要
ない。 P:P=1の場合、APIOSはAPIOS待ち行列中
で保留されている。P=0の場合、エントリは無効であ
り使用可能である。 I:I=1の場合、APIOSはBUCに発行済みであ
る。I=0かつP=1の場合、トークンが関連BUCト
ークン・プールから獲得できるとき、状態機械はこの入
出力動作を発行する。 カウント:データ域におけるこのAPIOS用のバイト
数。 データ域:APIOSエントリと関連したデータの記憶
用 入出力アドレス:このアドレスは回復可能エラーが検出
された場合に再試行のために使用される。
置)を一意的に識別する。 TAG:BUC内の入出力動作を一意的に識別する。こ
のフィールドは任意選択である。現在IOCCの実施態
様では、BUIDによって入出力動作の宛先またはソー
スを一意的に識別できるので、タグ・フィールドは必要
ない。 P:P=1の場合、APIOSはAPIOS待ち行列中
で保留されている。P=0の場合、エントリは無効であ
り使用可能である。 I:I=1の場合、APIOSはBUCに発行済みであ
る。I=0かつP=1の場合、トークンが関連BUCト
ークン・プールから獲得できるとき、状態機械はこの入
出力動作を発行する。 カウント:データ域におけるこのAPIOS用のバイト
数。 データ域:APIOSエントリと関連したデータの記憶
用 入出力アドレス:このアドレスは回復可能エラーが検出
された場合に再試行のために使用される。
【0032】待ち行列14は、プロセッサから受け取っ
た非同期プログラム入出力記憶命令の記憶を管理するた
めの、状態機械17と相互作用する論理装置を有する。
待ち行列でエントリ位置が使用可能なとき、その中に非
同期プログラム入出力命令が記憶される。待ち行列エン
トリから発行された入出力記憶命令が首尾よく完了して
始めて、その位置が、プロセッサによる連続的な書込み
が自由にできるものとマークされる。入出力システムに
おける処理中のエントリに関してハードウェア・エラー
が検出された場合(例えば、バス・パリティの不一致、
アダプタの障害、またはタイムアウト・オーバーランな
ど)は、待ち行列エントリ内にまだ記憶されている情報
を使用して回復シーケンスが開始される。
た非同期プログラム入出力記憶命令の記憶を管理するた
めの、状態機械17と相互作用する論理装置を有する。
待ち行列でエントリ位置が使用可能なとき、その中に非
同期プログラム入出力命令が記憶される。待ち行列エン
トリから発行された入出力記憶命令が首尾よく完了して
始めて、その位置が、プロセッサによる連続的な書込み
が自由にできるものとマークされる。入出力システムに
おける処理中のエントリに関してハードウェア・エラー
が検出された場合(例えば、バス・パリティの不一致、
アダプタの障害、またはタイムアウト・オーバーランな
ど)は、待ち行列エントリ内にまだ記憶されている情報
を使用して回復シーケンスが開始される。
【0033】待ち行列14の大きさは、バス・ユニット
制御装置の数、関連するアダプタ装置の数、プロセッサ
に対するアダプタの相対速度、従来命令の予想デューテ
ィ・サイクルおよびプログラム入出力記憶命令へのその
分配などの要因を考慮に入れて、システム全体の必要性
によって決定される。その目的は基本プロセッサの停止
を最小限に抑えることである。すべての非同期プログラ
ム入出力記憶命令の順序を維持しなければならないの
で、バス・ユニット制御装置に対するアダプタ装置の配
置は妥当な配慮によって行うべきである。この点に関連
して、アダプタ装置は、企図されたアプリケーションに
関して、非同期プログラム入出力記憶命令がほぼ同時実
行できるようにバス・ユニット制御装置間で効率的に分
配されるように、バス・ユニット制御装置間で分配され
るべきである。
制御装置の数、関連するアダプタ装置の数、プロセッサ
に対するアダプタの相対速度、従来命令の予想デューテ
ィ・サイクルおよびプログラム入出力記憶命令へのその
分配などの要因を考慮に入れて、システム全体の必要性
によって決定される。その目的は基本プロセッサの停止
を最小限に抑えることである。すべての非同期プログラ
ム入出力記憶命令の順序を維持しなければならないの
で、バス・ユニット制御装置に対するアダプタ装置の配
置は妥当な配慮によって行うべきである。この点に関連
して、アダプタ装置は、企図されたアプリケーションに
関して、非同期プログラム入出力記憶命令がほぼ同時実
行できるようにバス・ユニット制御装置間で効率的に分
配されるように、バス・ユニット制御装置間で分配され
るべきである。
【0034】待ち行列14内の順序の維持は、2つのポ
インタ、つまり次に発行されるエントリを示す先頭ポイ
ンタと最後に完了したエントリを示す末尾ポインタによ
って行われるので、待ち行列が満杯になると、プロセッ
サから生じる命令がエントリが可能になるまで延期され
ることになる。この理由から、待ち行列のサイズの決定
は重要である。待ち行列内の論理装置は、エントリが使
用可能なときの非同期プログラム入出力記憶命令の受入
れを管理し、エントリにおける前の入出力命令に関連し
た入出力動作が完了したときにそのエントリを解除し、
指定されたアダプタ装置に送られる命令のプロセッサに
よる生成と整合するプログラム入出力記憶命令の発行順
序を維持する。
インタ、つまり次に発行されるエントリを示す先頭ポイ
ンタと最後に完了したエントリを示す末尾ポインタによ
って行われるので、待ち行列が満杯になると、プロセッ
サから生じる命令がエントリが可能になるまで延期され
ることになる。この理由から、待ち行列のサイズの決定
は重要である。待ち行列内の論理装置は、エントリが使
用可能なときの非同期プログラム入出力記憶命令の受入
れを管理し、エントリにおける前の入出力命令に関連し
た入出力動作が完了したときにそのエントリを解除し、
指定されたアダプタ装置に送られる命令のプロセッサに
よる生成と整合するプログラム入出力記憶命令の発行順
序を維持する。
【0035】図1におけるメモリ3内の非同期ブロック
18の目的は、ユーザ・プログラムが装置ドライバを使
用しないときに、非同期プログラム入出力記憶命令を、
プロセッサ1で実行するユーザ・プログラムにリンクさ
せることである。アダプタ装置用の装置ドライバがない
アプリケーション・プログラムでは、ユーザ・プログラ
ムに、非同期プログラム入出力記憶命令の呼出しの際に
プログラム識別子およびアダプタ装置入出力アドレスを
メモリ3の非同期ブロック18に記憶するルーチンを組
み込む。ユーザ・プログラムがプログラム入出力記憶命
令を完了した後、非同期ブロック・エントリは消去され
る。任意の後続のロード命令がアダプタ装置のアドレス
範囲から開始される前に、記憶命令が完了するように保
証するために、同期化命令を挿入しなければならない。
18の目的は、ユーザ・プログラムが装置ドライバを使
用しないときに、非同期プログラム入出力記憶命令を、
プロセッサ1で実行するユーザ・プログラムにリンクさ
せることである。アダプタ装置用の装置ドライバがない
アプリケーション・プログラムでは、ユーザ・プログラ
ムに、非同期プログラム入出力記憶命令の呼出しの際に
プログラム識別子およびアダプタ装置入出力アドレスを
メモリ3の非同期ブロック18に記憶するルーチンを組
み込む。ユーザ・プログラムがプログラム入出力記憶命
令を完了した後、非同期ブロック・エントリは消去され
る。任意の後続のロード命令がアダプタ装置のアドレス
範囲から開始される前に、記憶命令が完了するように保
証するために、同期化命令を挿入しなければならない。
【0036】バス・ユニット制御装置の構成ルーチンの
ようにアダプタ装置を必要としない動作では、ユーザ・
プロセスまたはアプリケーション・プログラムは、非同
期ブロック18内にプログラム識別を記憶するが、プロ
グラム終了前に非同期ブロック領域を無効にする。同じ
バス・ユニット制御装置に送られる連続動作の間でのデ
ータの矛盾を回避するために必要な同期化命令が挿入さ
れる。
ようにアダプタ装置を必要としない動作では、ユーザ・
プロセスまたはアプリケーション・プログラムは、非同
期ブロック18内にプログラム識別を記憶するが、プロ
グラム終了前に非同期ブロック領域を無効にする。同じ
バス・ユニット制御装置に送られる連続動作の間でのデ
ータの矛盾を回避するために必要な同期化命令が挿入さ
れる。
【0037】回復可能および回復不能なエラー回復と関
連する事象を、図6に流れ図で示す。回復不能なプログ
ラム入出力エラーが検出されたときは、ユーザ・プログ
ラムのプログラム識別子を見つけるために非同期領域が
探索される。これにより、ユーザにエラー・コードを送
るために回復ルーチンが使用可能になる。エラー回復シ
ーケンスはたとえば、以下の要素を含む。
連する事象を、図6に流れ図で示す。回復不能なプログ
ラム入出力エラーが検出されたときは、ユーザ・プログ
ラムのプログラム識別子を見つけるために非同期領域が
探索される。これにより、ユーザにエラー・コードを送
るために回復ルーチンが使用可能になる。エラー回復シ
ーケンスはたとえば、以下の要素を含む。
【0038】− エラーがアダプタ装置の割込みによっ
て報告される。
て報告される。
【0039】− プログラム入出力状況レジスタがプロ
グラム入出力エラーを識別する。
グラム入出力エラーを識別する。
【0040】− エラーが回復不能な場合、そのプログ
ラム入出力命令に関連した待ち行列エントリ内のPフィ
ールドが"0"に設定され、次にAに進む。
ラム入出力命令に関連した待ち行列エントリ内のPフィ
ールドが"0"に設定され、次にAに進む。
【0041】− また、プログラム入出力再試行カウン
トが終りになった場合も、Pを"0"に設定し、次にAに
進む。
トが終りになった場合も、Pを"0"に設定し、次にAに
進む。
【0042】− 待ち行列を探索することにより、失敗
した非同期プログラム入出力記憶命令を見つけ、次いで
失敗したエントリを再発行するために待ち行列に記憶命
令を発行する。
した非同期プログラム入出力記憶命令を見つけ、次いで
失敗したエントリを再発行するために待ち行列に記憶命
令を発行する。
【0043】− 回復プロセスを終了する。
【0044】− ユーザ・プログラムによってエラーが
引き起こされない場合はBに進む。
引き起こされない場合はBに進む。
【0045】− エラー・コードをログし、非同期ブロ
ック18内のエントリを無効にする。
ック18内のエントリを無効にする。
【0046】− ユーザ・プロセスにエラーを知らせ
る。
る。
【0047】− 回復プロセスを終了する。
【0048】− 物理入出力アドレスからアダプタ装置
の種類を獲得し、エラー・コードおよび非同期プログラ
ム入出力待ち行列情報を特定の装置ドライバに渡す。
の種類を獲得し、エラー・コードおよび非同期プログラ
ム入出力待ち行列情報を特定の装置ドライバに渡す。
【0049】− その後、装置ドライバが回復不能エラ
ーを処理する。
ーを処理する。
【0050】エラー回復を実施する際に、待ち行列エン
トリのタグ・フィールドとBUIDフィールドは、エラ
ーを引き起こす命令を識別する。非同期プログラム入出
力待ち行列は、プロセッサによりプログラム入出力動作
によってアクセスできるので、プロセッサは待ち行列の
状況およびエラー情報へのアクセス権を有する。プログ
ラム入出力ロード・エラーは、非同期プログラム入出力
インターフェースとは関係なく、ホスト・ソフトウェア
によって同期的に処理される。
トリのタグ・フィールドとBUIDフィールドは、エラ
ーを引き起こす命令を識別する。非同期プログラム入出
力待ち行列は、プロセッサによりプログラム入出力動作
によってアクセスできるので、プロセッサは待ち行列の
状況およびエラー情報へのアクセス権を有する。プログ
ラム入出力ロード・エラーは、非同期プログラム入出力
インターフェースとは関係なく、ホスト・ソフトウェア
によって同期的に処理される。
【0051】図7に、非同期プログラム入出力インター
フェースを備えたシステムと備えていないシステムの相
対的性能を、時系列比較によって示す。上側のシーケン
スは完全同期プログラム入出力記憶シーケンスを表す。
下側のシーケンスは、ここで述べた形式の非同期プログ
ラム入出力記憶命令インターフェースと関連して実行さ
れる同じプロセッサ命令に関係する。最初の命令は、プ
ロセッサの時間間隔および入出力記憶装置の時間間隔を
含むプログラム入出力記憶動作である。同様に、2番目
の命令はプログラム入出力動作である。3番目は、プロ
セッサ単独で実行される一連の非プログラム入出力命令
であると考えられる。4番目はプログラム入出力記憶命
令に関係し、5番目は再び、プロセッサによって無関係
に実行される一連の非プログラム入出力命令である。上
側のシーケンスとは対照的に、下側のシーケンスの実行
は並行に行われることに留意されたい。第一に、入出力
装置によるプログラム入出力記憶命令の実行がプロセッ
サ自体による命令の実行よりも少なくとも1桁遅い実世
界では、相対的重要度が大きくなることを理解されたい
(この例は、プロセッサの実行の1/6の速さの入出力
実行を示す)。
フェースを備えたシステムと備えていないシステムの相
対的性能を、時系列比較によって示す。上側のシーケン
スは完全同期プログラム入出力記憶シーケンスを表す。
下側のシーケンスは、ここで述べた形式の非同期プログ
ラム入出力記憶命令インターフェースと関連して実行さ
れる同じプロセッサ命令に関係する。最初の命令は、プ
ロセッサの時間間隔および入出力記憶装置の時間間隔を
含むプログラム入出力記憶動作である。同様に、2番目
の命令はプログラム入出力動作である。3番目は、プロ
セッサ単独で実行される一連の非プログラム入出力命令
であると考えられる。4番目はプログラム入出力記憶命
令に関係し、5番目は再び、プロセッサによって無関係
に実行される一連の非プログラム入出力命令である。上
側のシーケンスとは対照的に、下側のシーケンスの実行
は並行に行われることに留意されたい。第一に、入出力
装置によるプログラム入出力記憶命令の実行がプロセッ
サ自体による命令の実行よりも少なくとも1桁遅い実世
界では、相対的重要度が大きくなることを理解されたい
(この例は、プロセッサの実行の1/6の速さの入出力
実行を示す)。
【0052】本発明は、プログラム入出力記憶命令を実
行する結果、非常に高速の中央演算処理装置または基本
プロセッサの全般的な性能が低下する、新しいコンピュ
ータ・システムに関する主要な問題に取組みそれを解決
する。
行する結果、非常に高速の中央演算処理装置または基本
プロセッサの全般的な性能が低下する、新しいコンピュ
ータ・システムに関する主要な問題に取組みそれを解決
する。
【0053】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0054】(1)基本プロセッサをバス制御装置に結
合するインターフェース・システムであって、基本プロ
セッサによる入出力記憶命令の発行に同期して入出力記
憶情報を受け取る手段と、バス制御装置による入出力記
憶命令の実行に同期して入出力記憶情報を送る手段とを
備え、基本プロセッサの入出力命令発行速度がバス制御
装置の入出力命令実行速度とは異なることを特徴とす
る、インターフェース・システム。 (2)さらに、基本プロセッサから受け取った入出力記
憶情報を待ち行列に入れ、以前に待ち行列に入れた入出
力情報を、バス制御装置に送るために選択的に解放する
手段を含む、上記(1)に記載のシステム。 (3)さらに、待ち行列に入れた情報を、複数のバス制
御装置のうちの1つに一意的に関係付ける手段を含む、
上記(2)に記載のシステム。 (4)待ち行列に入れる手段および選択的に解放する手
段が、受け取られ送られた入出力記憶情報に応答する状
態機械であることを特徴とする、上記(3)に記載のシ
ステム。 (5)一意的に関連付ける手段が、待ち行列情報を割り
当てるためのトークン・プール手段を含むことを特徴と
する、上記(4)に記載のシステム。 (6)さらに、入出力割込みから回復する手段を含む、
上記(5)に記載のシステム。 (7)中央演算処理装置と複数のバス制御装置を備えた
システム・バスとの間に結合されたインターフェース・
システムであって、中央演算処理装置によって定義され
た命令処理速度で、入出力アドレス空間に発行された記
憶情報を、中央演算処理装置から受け取る手段と、バス
制御装置によって定義された命令処理速度で、中央演算
処理装置から受け取った記憶情報を、選択されたバス制
御装置に送る手段と、中央演算処理装置とは非同期のバ
ス制御装置における記憶命令の非同期処理のために、入
出力アドレス空間に送られる記憶情報を待ち行列に入れ
る手段とを備えるインターフェース・システム。 (8)待ち行列に入れる手段が、トークンを使用して、
待ち行列に入れた情報を選択されたバス制御装置に一意
的に関係付けることを特徴とする、上記(7)に記載の
システム。 (9)さらに、入出力割込みから回復する手段を含む、
上記(8)に記載のシステム。 (10)基本プロセッサと入出力バス制御装置との間の
インターフェースを操作する方法であって、基本プロセ
ッサによる入出力記憶命令の発行に同期して入出力記憶
情報を受け取る段階と、入出力バス制御装置による入出
力記憶命令の実行に同期して入出力記憶情報を送る段階
とを含み、基本プロセッサの入出力命令発行速度が入出
力バス制御装置の入出力命令実行速度とは異なることを
特徴とする方法。 (11)さらに、基本プロセッサから受け取った入出力
記憶情報を待ち行列に入れ、以前に待ち行列に入れた入
出力記憶情報を、入出力バス制御装置に送るために選択
的に解放する段階を含む、上記(10)に記載の方法。 (12)さらに、待ち行列に入れた情報を、複数の入出
力バス制御装置のうちの1つに一意的に関係付ける段階
を含む、上記(11)に記載の方法。 (13)待ち行列に入れる段階および選択的に伝送する
段階が、受け取られ送られた入出力記憶情報に反応する
状態機械によって実行されることを特徴とする、上記
(12)に記載の方法。 (14)一意的に関係付ける段階が、トークン・プール
を使用して待ち行列に入れた情報を割り当てることを特
徴とする、上記(13)に記載の方法。
合するインターフェース・システムであって、基本プロ
セッサによる入出力記憶命令の発行に同期して入出力記
憶情報を受け取る手段と、バス制御装置による入出力記
憶命令の実行に同期して入出力記憶情報を送る手段とを
備え、基本プロセッサの入出力命令発行速度がバス制御
装置の入出力命令実行速度とは異なることを特徴とす
る、インターフェース・システム。 (2)さらに、基本プロセッサから受け取った入出力記
憶情報を待ち行列に入れ、以前に待ち行列に入れた入出
力情報を、バス制御装置に送るために選択的に解放する
手段を含む、上記(1)に記載のシステム。 (3)さらに、待ち行列に入れた情報を、複数のバス制
御装置のうちの1つに一意的に関係付ける手段を含む、
上記(2)に記載のシステム。 (4)待ち行列に入れる手段および選択的に解放する手
段が、受け取られ送られた入出力記憶情報に応答する状
態機械であることを特徴とする、上記(3)に記載のシ
ステム。 (5)一意的に関連付ける手段が、待ち行列情報を割り
当てるためのトークン・プール手段を含むことを特徴と
する、上記(4)に記載のシステム。 (6)さらに、入出力割込みから回復する手段を含む、
上記(5)に記載のシステム。 (7)中央演算処理装置と複数のバス制御装置を備えた
システム・バスとの間に結合されたインターフェース・
システムであって、中央演算処理装置によって定義され
た命令処理速度で、入出力アドレス空間に発行された記
憶情報を、中央演算処理装置から受け取る手段と、バス
制御装置によって定義された命令処理速度で、中央演算
処理装置から受け取った記憶情報を、選択されたバス制
御装置に送る手段と、中央演算処理装置とは非同期のバ
ス制御装置における記憶命令の非同期処理のために、入
出力アドレス空間に送られる記憶情報を待ち行列に入れ
る手段とを備えるインターフェース・システム。 (8)待ち行列に入れる手段が、トークンを使用して、
待ち行列に入れた情報を選択されたバス制御装置に一意
的に関係付けることを特徴とする、上記(7)に記載の
システム。 (9)さらに、入出力割込みから回復する手段を含む、
上記(8)に記載のシステム。 (10)基本プロセッサと入出力バス制御装置との間の
インターフェースを操作する方法であって、基本プロセ
ッサによる入出力記憶命令の発行に同期して入出力記憶
情報を受け取る段階と、入出力バス制御装置による入出
力記憶命令の実行に同期して入出力記憶情報を送る段階
とを含み、基本プロセッサの入出力命令発行速度が入出
力バス制御装置の入出力命令実行速度とは異なることを
特徴とする方法。 (11)さらに、基本プロセッサから受け取った入出力
記憶情報を待ち行列に入れ、以前に待ち行列に入れた入
出力記憶情報を、入出力バス制御装置に送るために選択
的に解放する段階を含む、上記(10)に記載の方法。 (12)さらに、待ち行列に入れた情報を、複数の入出
力バス制御装置のうちの1つに一意的に関係付ける段階
を含む、上記(11)に記載の方法。 (13)待ち行列に入れる段階および選択的に伝送する
段階が、受け取られ送られた入出力記憶情報に反応する
状態機械によって実行されることを特徴とする、上記
(12)に記載の方法。 (14)一意的に関係付ける段階が、トークン・プール
を使用して待ち行列に入れた情報を割り当てることを特
徴とする、上記(13)に記載の方法。
【0055】
【発明の効果】本発明によれば、最新のコンピュータ・
システムの高速中央演算処理装置と比較的低速の入出力
システムとの間のインターフェースを提供できる。
システムの高速中央演算処理装置と比較的低速の入出力
システムとの間のインターフェースを提供できる。
【図1】コンピュータ・システムの概略ブロック図であ
る。
る。
【図2】非同期プログラム入出力インターフェースの概
略ブロック図である。
略ブロック図である。
【図3】状態機械の動作を概略的に描き記述した説明図
である。
である。
【図4】非同期プログラム入出力インターフェース動作
の概略流れ図である。
の概略流れ図である。
【図5】待ち行列データの構造を概略的に描き記述した
説明図である。
説明図である。
【図6】エラー回復動作の概略流れ図である。
【図7】同期と非同期のプログラム入出力命令の実行を
比較した概略タイミング図である。
比較した概略タイミング図である。
1 中央演算処理装置 2 高速キャッシュ・メモリ 3 主メモリ 4 システム・バス 6 バス・ユニット制御装置 7 入出力バス 8 入出力アダプタ装置 11 非同期プログラム入出力インターフェース機構 12 プロセッサ・インターフェース 13 システム・バス・インターフェース 14 待ち行列および論理装置 16 トークン・プール 17 状態機械
───────────────────────────────────────────────────── フロントページの続き (72)発明者 スティーヴン・マーク・サーバー アメリカ合衆国78717 テキサス州オース チン イーフリアム・ロード8308 (72)発明者 ギャリー・ユー・ツァオ アメリカ合衆国78750 テキサス州オース チン ウィンターグリーン・ヒル10803
Claims (14)
- 【請求項1】基本プロセッサをバス制御装置に結合する
インターフェース・システムであって、 基本プロセッサによる入出力記憶命令の発行に同期して
入出力記憶情報を受け取る手段と、 バス制御装置による入出力記憶命令の実行に同期して入
出力記憶情報を送る手段とを備え、 基本プロセッサの入出力命令発行速度がバス制御装置の
入出力命令実行速度とは異なることを特徴とする、イン
ターフェース・システム。 - 【請求項2】さらに、基本プロセッサから受け取った入
出力記憶情報を待ち行列に入れ、以前に待ち行列に入れ
た入出力情報を、バス制御装置に送るために選択的に解
放する手段を含む、請求項1に記載のシステム。 - 【請求項3】さらに、待ち行列に入れた情報を、複数の
バス制御装置のうちの1つに一意的に関係付ける手段を
含む、請求項2に記載のシステム。 - 【請求項4】待ち行列に入れる手段および選択的に解放
する手段が、受け取られ送られた入出力記憶情報に応答
する状態機械であることを特徴とする、請求項3に記載
のシステム。 - 【請求項5】一意的に関連付ける手段が、待ち行列情報
を割り当てるためのトークン・プール手段を含むことを
特徴とする、請求項4に記載のシステム。 - 【請求項6】さらに、入出力割込みから回復する手段を
含む、請求項5に記載のシステム。 - 【請求項7】中央演算処理装置と複数のバス制御装置を
備えたシステム・バスとの間に結合されたインターフェ
ース・システムであって、 中央演算処理装置によって定義された命令処理速度で、
入出力アドレス空間に発行された記憶情報を、中央演算
処理装置から受け取る手段と、 バス制御装置によって定義された命令処理速度で、中央
演算処理装置から受け取った記憶情報を、選択されたバ
ス制御装置に送る手段と、 中央演算処理装置とは非同期のバス制御装置における記
憶命令の非同期処理のために、入出力アドレス空間に送
られる記憶情報を待ち行列に入れる手段とを備えるイン
ターフェース・システム。 - 【請求項8】待ち行列に入れる手段が、トークンを使用
して、待ち行列に入れた情報を選択されたバス制御装置
に一意的に関係付けることを特徴とする、請求項7に記
載のシステム。 - 【請求項9】さらに、入出力割込みから回復する手段を
含む、請求項8に記載のシステム。 - 【請求項10】基本プロセッサと入出力バス制御装置と
の間のインターフェースを操作する方法であって、 基本プロセッサによる入出力記憶命令の発行に同期して
入出力記憶情報を受け取る段階と、 入出力バス制御装置による入出力記憶命令の実行に同期
して入出力記憶情報を送る段階とを含み、 基本プロセッサの入出力命令発行速度が入出力バス制御
装置の入出力命令実行速度とは異なることを特徴とする
方法。 - 【請求項11】さらに、基本プロセッサから受け取った
入出力記憶情報を待ち行列に入れ、以前に待ち行列に入
れた入出力記憶情報を、入出力バス制御装置に送るため
に選択的に解放する段階を含む、請求項10に記載の方
法。 - 【請求項12】さらに、待ち行列に入れた情報を、複数
の入出力バス制御装置のうちの1つに一意的に関係付け
る段階を含む、請求項11に記載の方法。 - 【請求項13】待ち行列に入れる段階および選択的に伝
送する段階が、受け取られ送られた入出力記憶情報に反
応する状態機械によって実行されることを特徴とする、
請求項12に記載の方法。 - 【請求項14】一意的に関係付ける段階が、トークン・
プールを使用して待ち行列に入れた情報を割り当てるこ
とを特徴とする、請求項13に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US122040 | 1993-09-15 | ||
US08/122,040 US5548735A (en) | 1993-09-15 | 1993-09-15 | System and method for asynchronously processing store instructions to I/O space |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07105126A true JPH07105126A (ja) | 1995-04-21 |
JP2557199B2 JP2557199B2 (ja) | 1996-11-27 |
Family
ID=22400250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6186201A Expired - Lifetime JP2557199B2 (ja) | 1993-09-15 | 1994-08-09 | インターフェース・システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5548735A (ja) |
EP (1) | EP0645715A1 (ja) |
JP (1) | JP2557199B2 (ja) |
KR (1) | KR0128274B1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738483B2 (en) | 2005-09-08 | 2010-06-15 | Kabushiki Kaisha Toshiba | Systems and methods for managing communication between master and slave devices |
JP2022518349A (ja) * | 2019-01-31 | 2022-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
JP2022518340A (ja) * | 2019-01-31 | 2022-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
JP2022519985A (ja) * | 2019-01-31 | 2022-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5548735A (en) * | 1993-09-15 | 1996-08-20 | International Business Machines Corporation | System and method for asynchronously processing store instructions to I/O space |
EP0764907A1 (en) * | 1995-09-22 | 1997-03-26 | International Business Machines Corporation | Method and system for error recovery in a data processing system |
US6226695B1 (en) | 1995-09-29 | 2001-05-01 | International Business Machines Corporation | Information handling system including non-disruptive command and data movement between storage and one or more auxiliary processors |
US5712986A (en) * | 1995-12-19 | 1998-01-27 | Ncr Corporation | Asynchronous PCI-to-PCI Bridge |
US5931923A (en) * | 1996-02-16 | 1999-08-03 | Advanced Micro Devices, Inc. | System for accessing control to a peripheral device utilizing a synchronization primitive within the peripheral device |
US5781897A (en) * | 1996-04-18 | 1998-07-14 | International Business Machines Corporation | Method and system for performing record searches in a database within a computer peripheral storage device |
US5926645A (en) * | 1997-07-22 | 1999-07-20 | International Business Machines Corporation | Method and system for enabling multiple store instruction completions in a processing system |
US6338090B1 (en) * | 1998-03-27 | 2002-01-08 | International Business Machines Corporation | Method and apparatus for selectively using input/output buffers as a retransmit vehicle in an information handling system |
US6366989B1 (en) * | 1998-09-17 | 2002-04-02 | Sun Microsystems, Inc. | Programmable memory controller |
US6237081B1 (en) * | 1998-12-16 | 2001-05-22 | International Business Machines Corporation | Queuing method and apparatus for facilitating the rejection of sequential instructions in a processor |
US7330480B2 (en) * | 2002-08-26 | 2008-02-12 | Telefonaktiebolaget Lm Ericcson | Adaptive network resource control |
US7162305B2 (en) | 2002-10-23 | 2007-01-09 | The Hong Kong Polytechnic University | Functional electrical stimulation system |
US7225299B1 (en) | 2003-07-16 | 2007-05-29 | Transmeta Corporation | Supporting speculative modification in a data cache |
US7237139B2 (en) * | 2003-08-07 | 2007-06-26 | International Business Machines Corporation | Services heuristics for computer adapter placement in logical partitioning operations |
US7149851B1 (en) | 2003-08-21 | 2006-12-12 | Transmeta Corporation | Method and system for conservatively managing store capacity available to a processor issuing stores |
US8943357B2 (en) * | 2008-10-27 | 2015-01-27 | Kaminario Technologies Ltd. | System and methods for RAID writing and asynchronous parity computation |
KR101640767B1 (ko) * | 2010-02-09 | 2016-07-29 | 삼성전자주식회사 | 이종 수행 환경을 위한 네트워크 기반의 실시간 가상 현실 입출력 시스템 및 가상 현실 입출력 방법 |
TWI767175B (zh) | 2019-01-31 | 2022-06-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4547849A (en) * | 1981-12-09 | 1985-10-15 | Glenn Louie | Interface between a microprocessor and a coprocessor |
JPS62226260A (ja) * | 1986-03-27 | 1987-10-05 | Toshiba Mach Co Ltd | 非同期式デ−タバスインタ−フエ−ス |
WO1988003682A1 (en) * | 1986-11-04 | 1988-05-19 | Unisys Corp | I/o system for off-loading operating system functions |
JPS63216170A (ja) * | 1987-03-05 | 1988-09-08 | Mitsubishi Electric Corp | デイジタル信号処理プロセツサ |
US4875160A (en) * | 1988-07-20 | 1989-10-17 | Digital Equipment Corporation | Method for implementing synchronous pipeline exception recovery |
DE68925696D1 (de) * | 1989-12-22 | 1996-03-28 | Ibm | Elastischer konfigurierbarer Pufferspeicher zum Puffern von asynchronen Daten |
US5548735A (en) * | 1993-09-15 | 1996-08-20 | International Business Machines Corporation | System and method for asynchronously processing store instructions to I/O space |
-
1993
- 1993-09-15 US US08/122,040 patent/US5548735A/en not_active Expired - Fee Related
-
1994
- 1994-08-09 JP JP6186201A patent/JP2557199B2/ja not_active Expired - Lifetime
- 1994-09-06 EP EP94306541A patent/EP0645715A1/en not_active Withdrawn
- 1994-09-08 KR KR1019940022650A patent/KR0128274B1/ko not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738483B2 (en) | 2005-09-08 | 2010-06-15 | Kabushiki Kaisha Toshiba | Systems and methods for managing communication between master and slave devices |
JP2022518349A (ja) * | 2019-01-31 | 2022-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
JP2022518340A (ja) * | 2019-01-31 | 2022-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
JP2022519985A (ja) * | 2019-01-31 | 2022-03-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 入出力ストア命令をハンドリングする方法、システム、およびプログラム |
US11762659B2 (en) | 2019-01-31 | 2023-09-19 | International Business Machines Corporation | Handling an input/output store instruction |
Also Published As
Publication number | Publication date |
---|---|
KR950009407A (ko) | 1995-04-21 |
JP2557199B2 (ja) | 1996-11-27 |
EP0645715A1 (en) | 1995-03-29 |
US5548735A (en) | 1996-08-20 |
KR0128274B1 (ko) | 1998-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2557199B2 (ja) | インターフェース・システムおよび方法 | |
US5224215A (en) | Message queue processing among cooperative processors having significant speed differences | |
US7234004B2 (en) | Method, apparatus and program product for low latency I/O adapter queuing in a computer system | |
US4803622A (en) | Programmable I/O sequencer for use in an I/O processor | |
JP3273202B2 (ja) | 複数のデータチャネルを介してデータを転送する方法及びその回路アーキテクチャ | |
US6105075A (en) | Scatter gather memory system for a hardware accelerated command interpreter engine | |
US6088740A (en) | Command queuing system for a hardware accelerated command interpreter engine | |
EP0241129B1 (en) | Addressing arrangement for a RAM buffer controller | |
JP3271125B2 (ja) | データを転送する方法と装置及びデータ転送をインタリーブする装置 | |
US3688274A (en) | Command retry control by peripheral devices | |
US5185868A (en) | Apparatus having hierarchically arranged decoders concurrently decoding instructions and shifting instructions not ready for execution to vacant decoders higher in the hierarchy | |
US6938253B2 (en) | Multiprocessor communication system and method | |
EP0768600B1 (en) | Locked exchange Fifo | |
US6557056B1 (en) | Method and apparatus for exchanging data between transactional and non-transactional input/output systems in a multi-processing, shared memory environment | |
EP0107449B1 (en) | Computer with multiple operating systems | |
EP0788055A2 (en) | Multipath i/o storage systems with multipath i/o request mechanisms | |
EP0141742A2 (en) | Buffer system for input/output portion of digital data processing system | |
JPH08297628A (ja) | 同次プログラミング環境において(n)のデータマネージャで(n+1)のI/Oチャネルを制御する方法及び装置 | |
CN101154202A (zh) | 管理多处理器计算机系统中的系统管理中断的系统和方法 | |
US6061757A (en) | Handling interrupts by returning and requeuing currently executing interrupts for later resubmission when the currently executing interrupts are of lower priority than newly generated pending interrupts | |
US5790887A (en) | Method and apparatus for processing programmed input/output (PIO) operations in a computer system | |
US3961312A (en) | Cycle interleaving during burst mode operation | |
JPH0340868B2 (ja) | ||
US5386560A (en) | Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens | |
US20030014558A1 (en) | Batch interrupts handling device, virtual shared memory and multiple concurrent processing device |