JP2741594B2 - I/oプロセツサ用の実行装置 - Google Patents

I/oプロセツサ用の実行装置

Info

Publication number
JP2741594B2
JP2741594B2 JP62317620A JP31762087A JP2741594B2 JP 2741594 B2 JP2741594 B2 JP 2741594B2 JP 62317620 A JP62317620 A JP 62317620A JP 31762087 A JP31762087 A JP 31762087A JP 2741594 B2 JP2741594 B2 JP 2741594B2
Authority
JP
Japan
Prior art keywords
register
register set
pointer
instruction
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62317620A
Other languages
English (en)
Other versions
JPS63238631A (ja
Inventor
ウイリアム・レーマー・ベイン,ジユニア
マルコス・ド・オリヴエラ・カマルゴ
ロバート・カルバイン・ドウゼツト
アーサー・ハンス・レーダーホツフア
クレイグ・ビイ・ピーターソン
ジヨン・レオナルド・ウイプフリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of JPS63238631A publication Critical patent/JPS63238631A/ja
Application granted granted Critical
Publication of JP2741594B2 publication Critical patent/JP2741594B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program 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)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はデータ処理装置に関するものであり、更に詳
しくいえば計算サブシステムとI/Oサブシステムの間の
データの流れを制御する命令を実行する装置に関するも
のである。 〔背景技術およびその問題点〕 未決の米国特許出願SN921,313は、2種類のバスをど
のようにして結合するかという基本的なI/O問題を取扱
つている。I/Oバスにおいては、種々の周辺装置により
発生されたある範囲のデータ速度を有する種々の装置が
バスにより取扱われる。ある種の装置では、忙しくない
期間の後で非常に忙しい期間が続き、忙しくない期間と
非常に忙しい期間の間の移り変わりが急であるという問
題も生じている。その問題は、プロセツサバスシーケン
サと、I/Oバスシーケンサ、実行装置とを設けることに
より解決される。それらのプロセツサバスシーケンサと
I/Oバスシーケンサおよび実行装置は非同期で動作し、
共通のレジスタフアイルメモリを用いる。 未決の米国特許出願SN046,633は、I/Oバスシーケンサ
についてのものである。I/OバスシーケンサはI/Oバスと
レジスタフアイルへ接続される。レジスタは一様にアド
レスされ、実行装置とシステムバスシーケンサおよびI/
Oバスシーケンサにより共用されるようになつている。
レジスタフアイルは複数のマルチポートレジスタセツト
で構成される。 本発明は、前記米国特許出願に記載されている装置の
残りを制御する実行装置に関するものである。最近のVL
SI技術においては、高い性能を達成するために考慮せね
ばならないクロツク速度と、チツプ面積と、消費電力と
が制限されている。それらの制限は、装置を並列に設計
することにより対処でき、実行装置の場合には、このこ
とはいくつかのタスクを1度に取扱う能力を意味する。 〔目 的〕 したがつて、本発明の目的は、マルチタクス動作を支
持する実行装置を得ることによりI/Oチヤネルプロセツ
サにおける並列構成を達成することである。 〔問題点を解決するたの手段〕 簡単にいえば、この目的は、プロセツサで実行されて
いるタスクの間をレジスタセツト記述子をメツセージの
形で通すことにより、それらのタスクの間にレジスタセ
ツトを割当てる手段を有するプログラムされたプロセツ
サを含む実行装置を設けることにより本発明に従つて達
成される。 本発明の1つの面に従つて、タスクがレジスタセツト
(バツフア)をサーバーの間で通せるようにするために
レジスタセツトロツキングが設けられる。サーバーは複
数のタクスまたはバスシーケンスの1つとすることがで
き、あるサーバーはレジスタセツトに使用するエージエ
ントである。 レジスタフアイルをレジスタセツトに区分することに
より各タクスがいくつかのセツトを持つことができると
いう利点を本発明は有する。そうすると、あるセツトは
プライベート状態のデータを含むことができ、かつある
特定のタスクに常に割当てられ、他のセツトはバツフア
またはメツセージとして使用でき、かつタスクの間を通
すことができる。 レジスタセツトロツキングは、マルチタスクが同じレ
ジスタセツトを同時に取扱うことができないようにしな
がら、タスクがレジスタセツトを共用できる(たとえば
パイプラインされたアルゴリズムのために)という利点
を有する。 〔実施例〕 以下、図面を参照して本発明を詳しく説明する。 実行装置〔Execution Unit(EU)〕 まず第1図を参照する。実行装置10は、チヤネルプロ
セツサ(CP)を通じてのデータの転送を管理するプログ
ラムを実行する。実行装置はマルチタスクを行う。この
マルチタクスはデータ転送の制御と、ローカルバス上の
計算サブシステム(CS)およびI/Oバス上のI/Oサブシス
テムに対するインターフエイス動作のような背景機能と
を簡単にする。 アドレス空間〔Address Spaces〕 EUは5つのローカルアドレス空間、すなわち、命令空
間と、全体的なレジスタ空間と、CSデータ空間と、I/O
空間と、ローカルレジスタ空間とを有する。 命令空間〔Instruction Space〕 EUの命令空間は64K命令である。下側部分の1.5Kはオ
ンチツプROMであつて、CPの核を構成する共通の副機能
を含む。上側の部分は場所1.5Kから64Kまで拡がり、CS
メモリから動的にキヤツシユされる。 全てのタスクは同じ64K命令空間に共用する。物理的
にはCPはCSメモリ内にロツクされる1つの固定された命
令領域を有する。全てのタスクの符号はその領域の内側
になければならない。その領域はCSメモリのアドレス空
間内の4Kバイト境界に位置する。固定された符号の場所
はシステムメモリ内のCPへ与えられる。 全体的なレジスタ空間〔General register space〕 各タスクはそれの全体的なレジスタ空間内の32個の33
ビツトの全体的レジスタ(33番目のビツトはタグ用であ
る)までアクセスできる。その空間はレジスタセツトと
呼ばれる8個の4語群に編成される。各レジスタセツト
はレジスタセツトポインタ(第2図)を介して間接的に
アクセスされる。全体的なレジスタ空間のデータはバイ
ト、半語(16ビツト)または語として取扱うことがで
き、全てのデータはそれの自然の境界上に整列せねばな
らない。 CSデータ空間〔CS data space〕 計算サブシステム(CS)データ空間は4ギガバイト長
までとすることができる。その空間はACCESS命令により
アクセスできる。そのACCESS命令は物理的アドレスを構
成するためにレジスタフアイル16内のエントリイを用い
る。ACCESS命令は全体的レジスタとCSメモリの間のデー
タ転送を行う。 I/O空間〔I/O space〕 CPのI/Oバス側のアドレス空間は直線的にアドレスで
き、16メガバイト長までの大きさとすることができる。
アドレス空間はACCESS命令を用いてアクセスすることも
できる。この命令はアドレス計算のためにレジスタフア
イル内のレジスタを用い、全体的なレジスタとI/O装置
の間でデータ転送を行う。 ローカルレジスタ空間〔Local register space〕 ローカルアドレス空間により、 −−マイクロコード、たとえば命令キヤツシユのアドレ
ス表エントリイにより通常はアクセスされない特殊なCP
レジスタと、 −−別のやり方ではアクセスできないCP格納領域、たと
えばタスクフレームレジスタと、 を含めたいくつかの種類の記憶装置のアクセスを行う。 ローカルアドレス空間内のレジスタはACCESS LOCAL命
令を用いてアクセスされる。 レジスタフアイル〔Register File〕 CPはレジスタファイルに含まれている1組のオンチッ
プ汎用レジスタを有する。レジスタファイル16は128個
の33ビット場所を含むRAMである。それらの128個のレジ
スタは32個の4語レジスタセットとして編成される。 第2図を参照して、それらのレジスタセツトと、それ
ら内のデータとは、各タスクのレジスタセットポインタ
50を介して論理アドレス92により間接的にアクセスされ
る。したがって、レジスタは物理的にではなくて論理的
にアドレスされる。適切である場合にはレジスタはバイ
ト単位で指定される(byte granularity)。命令は、半
語オペランドおよび語オペランドが適切な境界で配置さ
れると仮定する。 レジスタセツトポインタ〔Register set pointers〕 第2図を参照して、物理的レジスタセットアドレスRR
R53をタスクのレジスタセットポインタの1つにロード
することにより、レジスタセットを動的または静的にタ
スクへ割当てることができる。レジスタセツトポインタ
は、(命令中で用いられる)論理的アドレス93と物理的
レジスタセットアドレス56の間でマッピングを行う機構
を構成する。各タスクは8個のレジスタセツトポインタ
50を有する。それらのポインタはローカル空間内でアク
セスできる。それらの書式(フォーマット)が第2図に
示されている。下位の6ビットは(0〜5)は、第1図
のレジスタファイル16内のレジスタセットの物理的アド
レス52を含む。上記の3ビット(6〜8)はアクセス制
御のために用いられる。 シーケンサ(第1図の12または14)がレジスタセツト
で動作している問題を有していた時に誤りビット6がセ
ットされる。たとえば、ローカルバスシーケンサ14が16
バイトをレジスタセツトにロードする予定であったが、
何らかの理由で9バイトだけをロードできるものとする
と、そのシーケンサは、誤りビツトをセツトしてからレ
ジスタセットを宛先のタスクへ送る(パッシングをす
る)。誤りビツトがセツトされたレジスタセツトを、タ
スクがアクセスしようとしているものとすると、ハード
ウエアがコンテキストレベルの誤りを生ずる。 妥当(valid)ビツト7は、レジスタセツトポインタ
に妥当なビツトなアドレスが含まれていることを示し、
後で説明する除外機構(exclusion mechanism)におい
ても用いられる。 妥当ビツト7のセツトがなされていないレジスタセツ
トを、タスクがアクセスしようとすると、ブロックビッ
ト8がセットされる。このブロックビットは、どのレジ
スタセットにタスクがブロックされているかをハードウ
ェアに指示する。言い換えると、特定のレジスタセット
を指示するレジスタセットポインタについてブロックビ
ットがセットされていると、そのレジスタセットポイン
タに割り当てられたタスクは、その特定のレジスタセッ
トをアクセスできない。ブロックされたレジスタセット
ポインタが更新され、妥当ビットがセットされると、タ
スクは、そのレジスタセット用のブロックビットがセッ
トされていても、ブロックを解除され、当該レジスタセ
ットをアクセスできる。 MOVE POINTER命令により、レジスタセットポインタを
ロードし、格納できるようにする。この命令は、メッセ
ージをベースとするレジスタセットのパッシングを行う
時に主として用いられる。 レジスタセツトロツキング〔Register set locking〕 この明細書においては用語「タスク」と「サーバー」
をないまぜにして使用するものとする。「サーバー」は
レジスタセツトに作用する「エージエント「agent)」
とここでは定義する。サーバーは8個のタスクの1つま
たはバスシーケンサとすることができる。 妥当ビツトがリセツトされているレジスタセツトポイ
ンタを介してレジスタセツトをアクセスしようと試みる
どのサーバーもブロツクする。この機構は、それ自体の
間でレジスタセツトを通すタスクに対するレジスタセツ
トのアクセスを制御するために設けられる。 1つのタスクから別のタスクへレジスタセツトを論理
的に送る命令により妥当ビツトはセツトされ、リセツト
される。送り手の側のタスクのレジスタセツトポインタ
妥当ビツトはリセツトされ、宛先のタスクのレジスタセ
ツトポインタ妥当ビツトはセツトされる。妥当ビツトは
ACCESS命令によつてもリセツトされ、バスシーケンサか
らのレジスタセツト応答によつてセツトされて、EUとシ
ーケンサの間でレジスタセツト同期を行う。 スタツクオペレーション〔Stack Operations〕 ハードウエアは8個の各タスク(0〜7)に対するス
タツクをサポートする。スタツクはタスクの論理レジス
タ空間内に配置される。スタツクは、タスクのタスクフ
アイルレジスタ25内に配置されているスタツクポインタ
を介してアクセスされる。タスクフアイルレジスタにつ
いては前記未決の米国特許出願SN921313に詳しく記載さ
れている。スタツクポインタは、レジスタフアイル中の
半語を指す論理アドレスを含む。 スタツクにおけるあらゆるエントリイは半語である。
呼出し命令が実行されると、スタツクポインタは減少さ
せられ、プログラムカウンタ(PC)がそのスタツクに押
しあげられる。復帰が起るとスタツクポインタは増加さ
せられる。スタツクはタスクの全論理的レジスタ空間に
わたつて及ぶことができる。ポインタが論理的アドレス
の範囲をこえて増加または減少させられたとすると、ス
タツクはタスクの論理的空間内でラツプアラウンドす
る。 スタツクは、誤りハンドラーアドレスのような16ビツ
ト値を保持するために使用できる。Push命令とPop命令
がレジスタフアイルとスタツクの間でデータを動かし
て、スタツクポインタを適切に更新する。 典型的には、タスクのレジスタ空間の高い方の端部
(すなわち、論理的レジスタセツト7の最後の半語)を
指すためにスタツクポインタは初期設定される。 スタツクアーキテクチヤには、呼出しスタツクのトツ
プエントリイの内容のコピーを含むスタツクの1番上の
レジスタが含まれる。このレジスタはスタツクに対する
キヤツシユとして作用する復帰命令の性能を最適にす
る。 命令セツトアーキテクチヤ〔Instruction Set Architec
ture〕 命令のEUセツトが下記の群に区分される。 −−レジスタオペレーシヨン命令 −−流れ制御命令 −−メモリおよびI/Oアクセス命令 −−タスク制御命令 −−タスク間通信命令 −−その他の命令 これら命令群について以下に説明する。 “レジスタオペレーシヨン命令(Register Operation I
nstructions)” レジスタオペレーシヨン命令はレジスタオペランドの
取扱いにおいてALU22を用いる全ての命令を含む。それ
らの命令はソースオペランドと宛先オペランドでオペレ
ーシヨンを行い、結果を宛先に置く。全てのオペレーシ
ヨンは8ビツト量、16ビツト量および32ビツト量で実行
できる。 算術演算(ARITHMETIC OP)……この命令はそれのオペ
ランドに対して算術演算を実行する。それらの演算には
加算、減算、乗算、比、左桁移動および右桁移動が含ま
れる。ほとんどの演算は符号付きまたは符号無しの算術
設定フラツグまたは算術設定フラツグを用いて実行でき
る。 論理演算(LOGICAL OP)……この命令はそれのオペラン
ドに対して論理演算を行う。それらの演算にはAND,OR,X
OR等が含まれる。 ビツト演算(BIT OP)……この命令は2つの機能を行
う。第1の機能は任意の種類のオペランド内の任意の1
つのビツトをテストし、セツトし、クリヤする性能であ
る。第2の機能はビツトに対して分割できないテストお
よびセツト動作を行い、したがつて臨界領域を実現する
2進スマフオを与える性能である。 回転(ROTATE)……この命令は32ビツト宛先オペランド
を希望のビツト位置数だけ回転させる。ソースオペラン
ドはビツト位置の数を含み、命令は左回転と右回転を指
定する。 ロードリテラル(LOAD LITERAL)……この命令は16ビツ
トまたは32ビツト宛先オペランドに16ビツト値をロード
する。 “流れ制御命令(Flow Control Instructions)” 流れ制御命令は流れを分岐させる命令である。 分岐および呼出し(BRANCH and CALL)……それらの命
令の目標アドレスがその命令中に符号化される。分岐ま
たは呼出しは条件付きであるように指定でき、その場合
にはオペレーシヨンフラツグが適正にセツトされた時の
み分岐が行われる。呼出し命令は復帰アドレスをタスク
の呼出しスタツクにプチシユオンもさせる。 ケース(CASE)……この命令の目標アドレスは実行時に
計算される。この命令はベースアドレスを含み、オペラ
ンドがそのアドレスからのオフセツトを指定する。ケー
ス命令は常に分岐をとる。 復帰(RETURN)……この命令はタスクの呼出しスタツク
の1番上に含まれているアドレスまで分岐させる。復帰
命令は呼出しスタツクをポツプする。 デバツグからの復帰……この命令は、復帰が実行された
時にICEモードがリセツトされることを除き、復帰命令
と同じである。 例外(EXCEPTION)……この命令はCPの例外機構をイン
ボークするために用いられる。タスクはこの命令を用い
てコンテキストレベル例外を上げることができる。この
命令はタスクをソフトウエアが定めた誤り分岐アドレス
へ分岐させる。誤りハンドラーへの分岐は呼出しとして
実現されるから、復帰アドレスを呼出しスタツクにプツ
シユオンする。 デバツグブレーク(DEBUG BREAK)……この命令はICEモ
ードに入るためのプログラマのやり方である。この命令
は条件付きと無条件の2つのモードを有する。無条件デ
バツグブレークは常にプロセツサレベルを誤りにし、CP
はICEモードに入る。条件付デバツグブレーキは、TRACE
ENABLEフラツグがセツトされた時に、CPをICEモードに
入らせる。 “ACCESS命令” ACCESS命令を用いることにより、タスクは、そのレジ
スタファイルと、メモリ中またはIO装置上のデータ格納
場所との間で(ローカルバス又はI/Oバスを介して)デ
ータを動かす。ACCESS命令は1〜16バイトのデータを動
かす。送り側のタスクは、オペレーションの終了時にど
のタスクに通知すべきかを指定できる。宛先タスクに対
しては、レジスタセツトを基にした同期またはメッセー
ジを基にした同期によって、通知できる。 ACCESS命令の変形としての供給変形(supply varian
t)命令は、I/O側でのブロック転送のために用いられ
る。 ACCESS命令の定義 フイールド記述: IDDDDDD −フル語パラメータreg.,整列された語 ISSSSSS −8ビツトリテラル変位またはレジスタに含
まれるフル語変位 L −リテラル変位を示す P −物理的アドレツシングを示す(アドレス計算
なし):物理アドレスとして変位オペランドが用いら
れ、パラメータレジスタのBBBBBフイールドが無視され
る M −応答の種類−レジスタはマツパをセツトし
(0)、またはマイクロポートをセツトする(1)。こ
のビツトはローカルバスに対するアクセスに対して無視
される。 S −供給命令(supply instruction)を示す(1
供給、0=アクセス)。供給はI/O側に対するアクセス
に対してのみ用いることができる。Sがアサートされる
ものとするとP,Lもアサートさせねばならない。 EEEE −バスシーケンサチヤネル(0〜9はI/Oバス
チヤネル、14〜15はローカルバスチヤネル) MFFFRRR −応答を受けるレジスタセツトに対する論理
ポインタ(MFFF=フレームid(M=0は私のタスクを意
味する)。RRR=レジスタセツト) BBBBB −ベースアドレスを含むレジスタ語に対する
ポインタ LLLL −アクセスの長さ(#バイト−1) CCCC −specビツトまたは指令ビツト AAAAAAA −現在のタスクフレーム中のデータブロツク
の論理アドレス(第1のバイトのアドレス) ローカルバスアクセスspecビツトは下記のようにして
符号化される。CWPR オペレーシヨン −100 書込み −000 読出し −101 RMW読込み −001 RMW読出し −110 プリフエツチ書込み(プリフエツチ設定) −010 プリフエツチ読出し 1−−− 上記のいずれか、キヤシユ可能 1011 要求解除 C−キヤツシユ可能−これは、言及されているデータを
CPの外部のキヤツシユ内に配置できることを示す。 W−書込み。 P−プリフエツチ−これは、バス拡張器ユニツト(BX
U)(またはCPUの外部の他の部品)のプリフエツチチヤ
ネルを与えるバス拡張器ユニツトのプリフエツチチヤエ
ルを使用できることを示す。 R−RMW−読出し修正書込み。 I/O命令ビット(CCCC)の符号化は、与えられたI/Oバ
ス・アプリケーションに対して、I/OシーケンサPLAのプ
ログラマにより定められる。 ACCESS命令は指定されたバスシーケンサユニツトに対
する要求を生じさせ、それによりCP(チャネルプロセッ
サ)と、付属されたバス上のエージェントの間に要求/
応答チャネルを作成する。レジスタファイル16中のデー
タブロックの場所と長さが、ACCESS命令のパラメータレ
ジスタフィールド中に示される。データブロック場所は
論理レジスタアドレスであって、ハードウエアにより物
理的アドレスに翻訳されてからバスシーケンサへ送られ
る。 それが翻訳されると、レジスタセツトマツパー中の論
理レジスタセツトポインタ24が無効にされる。というの
は、バスシーケンサは今はレジスタセットを制御できる
からである。(第5図参照)パラメータレジスタ42はレ
ジスタファイル中のベースレジスタ86のアドレスBBBBB
も含む。ベースはベース/オフセット・アドレッシング
のために用いられ、メモリ中のどのベージすなわちセグ
メントをアドレスすべきかを示す。パラメータレジスタ
のインデックスフィールドEEEEは、I/Oサービス表27、
サービス行列ID82またはLBシーケンサ中へのインデック
スであって、I/Oバス上の利用できる10個のI/Oチャネル
の1つ、またはローカルバス上の3つのシステムメモリ
チャネルを示す。 EEEEフィールドは下記のように符号化される。 アドレス変位(displacement)はISSSSSSレジスタ内
に配置され、またそれは命令(ISSSSSSX)中に含まれて
いる8ピットリテラル94である。その変位は、物理的ア
ドレスを得るためにセグメントのベース(レジスタファ
イルから得た語アドレスBBBBB)86に加えられる。パラ
メータレジスタ中のCCCCフィールド88は実行すべきアク
セスオペレーションの種類(読出し、書込み、rmw等)
を一層十分に指定する。 パラメータレジスタ42は、さらに、応答を受けるタス
クフレームID80と、応答を受けるタスクに属する(応答
で妥当にされて特定のデータを含む)応答レジスタセツ
ト84とを含む。 2種類の応答機構をプログラムは利用できる。一方の
機構が物理的データポインタを応答タスクの指定された
論理レジスタセットポインタに書込むと同時に、そのポ
インタを妥当にする。この「レジスタセツトマッパーへ
の応答」機構については以下に説明する。 応答データの物理レジスタアドレスが、応答タスクの
指定された論理レジスタセットポインタに明確に書き込
まれる。指定された応答タスクが、レジスタセットへの
フルアクセスを与えられるように妥当される。したがっ
て、レジスタセットの制御を、アクセスを求めたタスク
から、別のタスク(このタクはアクセスが行われた時に
レジスタセットに対する他の処理を実行する)へ送るこ
とができる。このようにして、各タスクがレジスタセッ
ト内のデータを取り扱い、それからそのデータをバスシ
ーケンサまたは別のタスクへ送るように、タスクのパイ
プラインを構成できる。 シーケンサが誤りその他の異常な状態に遭遇すると、
レジスタセツトポインタの誤りビットが応答の一部とし
てアサートされる。 第3図を参照して、第2の応答機構は、応答メッセー
ジ60を示された応答タスクのマイクロポートへ送り、メ
ッセージを引き渡すことができるようになるまで、バス
シーケンサに向けるメッセージをバッファする。比渡さ
れたメッセージは物理的データアドレス64と論理レジス
タセットアドレス62を含む。 マイクロポートへ送られた応答メッセージ60は第3図
に示すように書式化される。 最初の応答計画で利用できる同じタスクパイプライン
機構をここでも利用できる。パイプラインが実現できな
いとすると、現在のタスクを(MFFF=0……にセツトす
ることにより)応答タスクとしてもちろん指定でき、そ
の場合には応答論理レジスタセツトは論理データポイン
タにおけるのと同じであると仮定される(AAAAAAA)。
いいかえると、パラメータレジスタのFFFフイールドとR
RRフイールドは、M=0であれば、無視される。 ACCESS命令の特殊なバージヨンが、レジスタセツトを
I/Oサービス表ラインへ単に供給するアクセスのために
実現され、アドレス計算(「供給レジスタセツト」アク
セス)を必要としない。このバージヨンは命令中の
「S」ビツト(供給変形(supply variant)により指示
される。それは、ベースレジスタまたはどのようなアド
レス計算もなしに実行される。 ACCESS命令の「P」ビツトにより簡単な物理的アドレ
ツシングが可能にされる。可能にされると、ベース/オ
フセツト計算は実行されない。その代りに、物理的アド
レスは変位オペランドから直接とられる。 ACCESS命令が実行される時は、レジスタセツトの境界
を横切る試みは検出されない。しかし、ハードウエアは
レジスタセツト境界を横切らず、レジスタセツト内をラ
ツプアラウンドする。 命令またはパラメータレジスタを介してアクセスされ
た誤りレジスタセツトは命令を誤らせる。誤つたI/O表
ラインは供給命令を誤らせる。 無効(invalid)のレジスタセツトはタスクをブロツ
クする。また、指定されたサービス表エントリイまたは
LBバス行列が一杯であれば現在のタスクがブロツクす
る。ラインまたは行列を利用できるようになると、タス
クはブロツクを解除され、実行はACCESS命令を再びと
る。 ACCESS命令の「供給レジスタセツト」の態様がセツト
されたとすると、アドレスは供給する必要はない。変位
とパラメータレジスタの少くとも一方における間接的な
やり方で余分のサイクルが1つ加えられることになる。
ローカルバスの仲裁のために任意の数の付加サイクルを
送ることができる。そのローカルバスはアクセス要求を
バスシーケンサへ送る。その仲裁が必要な理由は、非同
期事象もバスで送られるからである(すなわち、アクセ
ス応答)。 “タスク制御命令(Task Control Instructions)” タスク制御命令によりタスクの状態の点検および制御
を行える。 セツト状態(SET STATUS)……この命令により、タスク
フレーム中のスケジユール可能なビツトと誤りモードビ
ツトをセツトまたはリセツトできる。オペレーシヨンが
誤りモードビツトをセツトしたとすると、選択されたタ
スクはソフトウエアにより生じさせられた誤り分岐アド
レスへの分岐も行う。 発信命令と受信命令によりタスク自体の間の通信を行
うことができるようにされる。メツセージをマイクロポ
ートへ送ることにより通信は行われる。 “他の命令” 次に、他の命令について簡単に説明する。 NOP−NOP……この命令はオペレーシヨンの実行と、状態
の変更を行わない。この命令は1サイクルで常に実行す
る。 PUSH……この命令は値をスタツク上にブツシユする。値
はレジスタフアイルからのリテラル値または16ビツト値
とすることができる。 POP……この命令はスタツクからのトツプエントリイを
ポツプする。 ACCESS TAGS……この命令はレジスタフアイル中のタグ
ビツトを取扱うために用いられる。レジスタセツト中の
4個のタグビツト(すなわち、レジスタセツト中の4語
の33番目のビツト)を、命令で指定されているバイトか
ら(へ)ロード(すなわち格納)できる。 TIME OP……タイマOP命令はタスクのタイマの動作を制
御する。この命令はタイマのローデイング,スタート,
ストツプおよび格納の諸機能を行う。この命令は、タイ
マが時間切れとなるまで、(希望によつて)タスクをブ
ロツクさせることもできる。 MOVE POINTER……この命令はタスクのレジスタセツトポ
インタとレジスタフアイルの間でデータを動かす。この
命令はメツセージを基にした同期において主として用い
られる。 ACCESS LOCAL……この命令によりプログラマは相互接続
およびローカルレジスタ空間に対してアクセスできる。
この命令によりローカルレジスタとレジスタフアイルの
間でデータを動かすことができる。 TEST RESOURCE……この命令はバイト中の最上位の1の
インデツクスを見つける。そのバイトで実行される「テ
ストリソース」は最初に利用できるリソースに対応する
値を戻す。それはリソース割合にとつて有用である。そ
の場合にはバイト中のビツトはあるリソースを利用でき
ることを意味する。 LOAD CACHE……この命令によりキヤツシユ中のラインを
プレロードできるようにされる。プログラマはキヤツシ
ユ内にあるべきアドレスを指定し、そのアドレスを含む
ラインがフエツチされる。指定されたアドレスを含むラ
インは希望によりロツクでき、またはロツクを解除でき
る。 READ INSTRUCTION……この命令は命令をレジスタフアイ
ルにロードさせる。プログラマは命令アドレスおよび32
ビツト宛先レジスタを指定し、そのアドレスにおける命
令がレジスタフアイル中に置かれる。これにより、ROM
およびキヤツシユ内の命令および外部命令が取扱われ
る。これは部品のテストに有用である。 アドレスシングモード ほとんどのCP命令はソースと宛先の2つのオペランド
を持つように構成される。全てのオペランドはレジスタ
フアイルから来る。全てのレジスタオペランドは間接的
にアクセスできる。 命令はISSSSSSSまたはIDDDDDDDの形であるオペランド
指定子を含む。それらのオペランド指定子は、リテラ
ル、直接リテラルまたは間接リテラルの3つのやり方を
うちの1つでオペランドを参照できる。命令がリテラル
オペランドを指定したとすると、オペランド指定子は8
ビツトリテラルとして用いられる。 直接オペランドはI=0を有し、フイールドの残りは
論理アドレスとして解される。語寸法のオペランド(4
バイト)を用いる命令は、0に等しいオペランド指定子
の1番下の2ビットを持たなければならない。半語オペ
ランドは0に等しい1番下のビツトを有しなければなら
ない。 命令が間接オペランドI=1を有する時は、命令中の
オペランドは、オペランドの論理アドレスであるレジス
タフアイル中の半語を指す。レジスタフアイル中の論理
アドレスの書式を第4図に示す。フル語オペランドを使
用するだけである或る命令は、半語ポインタである間接
アドレスを許すから、形がISSSSSOOではなくてISSSSSSO
であるオペランド指定子を有する。 間接的に用いられる論理アドレスは、Mビツト(第4
図に示されているビツト7)が1であると、整列させら
れた半語で常になければならない。Mビツトが0であれ
ば半語の上半分は無視され、現在のタスクのレジスタセ
ツトポインタが用いられる。その他の場合には、アドレ
スを分解する時にどのタスクのレジスタセツトポインタ
を用いるかをFFFビツトは示す。RRRビツトはどのレジス
タセツトポインタを用いるかを示し、下の4ビツトがレ
ジスタセツト内のバイトアドレスを与える。 命令キヤツシユオペレーシヨン 第1図に示されている命令キヤツシユ20は256個の命
令を保持する。その命令キヤツシユは完全に関連するア
ドレスマツピングを行う。そのアドレスマツピングは32
個のアドレスブロツクを有し、1ブロツク当り2ライン
で、1ライン当り4命令である。各命令は28ビツト幅で
あるが、主メモリにおいては、各命令は0が先にくる32
ビツト語で置かれる。 CSメモリ中のセグメントとキヤツシユの間の最初の結
合が行われた時は、命令キヤツシユの管理はタスクにと
つて明らかである。タスクがキヤツシユミスを有する
と、命令を含んでいるラインがCSメモリからフエツチさ
れるまでタスクはブロツクされる。この時間中に他のタ
スクを実行できる。キヤツシユラインがフエツチされる
とタスクのブロツクは解除される。 プリフエツチ 「アドレスブロツク内のタグされたプリフエツチ」 と呼ばれるやり方を用いてキヤツシユラインはプリフエ
ツチされる。このことは、最初のラインがひとたびアク
セスされた時に、アドレスブロツク中の2番目のライン
が直ちにプリフエツチされることを意味する。 キヤツシユ要求行列が一杯である時はプリフエツチは
起らない。 ラインロツキング ある用途の符号がキヤツシユ内に完全にあつて、それ
の実行の前と実行中に常に利用できることをそれらの用
途が求めることがある。時間的に厳しい転送ループがそ
れの例である。 LOAD CACHE命令によりプログラマは、特定の命令を含
んでいるラインをロードすること、および希望によつて
はそれをキヤツシユにロツクすることができるようにさ
れる。ラインを解除するために同じ命令が用いられる。
ロツクされたラインは交換されない。 ローカルバスシーケンサおよびI/Oバスシーケンサ 他の装置と通信するためにローカルバスシーケンサ
(LBS)14と、I/Oバスシーケンサ(IOS)12との2つの
モジュールがある(第1図)。それらのバスシーケンサ
により計算サブシステム(CS)とI/Oサブシステムとの
通信が容易となる。 転送を行うために下記のステップが行われる(注:3番
目と4番目のステップは下記とは逆の順次で行うことも
できる。)。 1.EUはACCESS命令を実行する。これによりシーケンサの
1つ(12又は14)に対して要求が発せられる。そのシー
ケンサが要求を受けることができるまでタスクはブロッ
クできる。 2.シーケンサは要求されたオペレーションを行う。そう
すると、データがレジスタファイル16との間で転送され
る結果となるのが普通である。 3.終了をシーケンサが合図するまでブロックする命令を
タスクは実行する。このタスクはその要求を出したタス
クのこともあれば、そうでないこともある。 4.シーケンサはオペレーションの終了を合図する。 5.タスクはブロックを解除し、同期命令で実行を再開す
る。 上記のACCESS命令は、IOS12とLBS14に対して要求を行
うEUの乗物である。第5図は典型的なACCESS命令40とパ
ラメータレジスタ42、およぴシーケンサが必要とする情
報がどのようにして発生されるかを示すものである。AC
CESS命令は、シーケンサがデータ転送を行えるように、
必要な情報をいずれかのシーケンサへ与える。与えられ
る情報は下記の通りである。 −シーケンサ符号 −応答法 −供給変形(IOSに対してのみ) −長さ −指令 −応答タスク −応答レジスタセット −物理アドレス(LBSに対して32ビツト、IOSに対して24
ビット) −データポインタ 「シーケンサ符号」すなわち「サービス待ち行列ID
(82)」は、どのシーケンサに対してアクセスが行われ
るかを知らせる。0から9までの符号はI/Oシーケンサ
サービス行列中のラインを指定する。符号14,15はLBS10
2に対するものであって、下記に定義する。 「応答法」ビット(98)は、要求の終了をどのように
して合図するかをシーケンサに知らせる。すなわち、応
答法には後述のメッセージをベースとする同期による応
答法と、レジスタセットをベースとする同期による応答
法の2つがあり、何れかを選択することによって応答法
がセットされる。「供給ビット」(図5の命令制御100
の一部)は、IOSによってのみ用いられる(LBSでは無視
される)。また、供給ビットは、アクセスがブロック転
送の一部であることIOSに知らせる。 「長さ」90は、転送において移動されるバイト数を知
らせる。「指令」88は、何を行おうとしているかをシー
ケンサに知らせる。 「応答タスク」80は、応答すべきタスクがどれかを知
らせる。「応答レジスタセツト」84は、応答タスク中の
どのレジスタセットに応答すべきかを知らせる。「物理
的アドレス」は、転送が開始されるCPのいずれかの側の
場所である。「データポインタ」は、データの第1のバ
イトについてのレジスタファイルの物理的アドレスであ
る。 上記情報は、ACCESS命令のフィールドおよびパラメー
タから発生される。その命令40は、シーケンサにとって
必要な情報のいくらかを保持する32ビットパラメータレ
ジスタ42に対するポインタ41を含む。 上記情報の初めの6つの部分は命令40またはパラメー
タレジスタ42から直接くる。パラメータレジスタ中の論
理バイトをとり、それをレジスタセットマッパー104を
通して送って、レジスタアアイルの物理的アドレスを発
生することによりデータポインタは発生される。 シーケンサが必要とする32ビツトの物理的アドレスは
3種類のやり方で発生できる。第5図は、32ビットベー
スアドレス86に32ビットの変位87を加えること(89)に
より物理的アドレスが発生される様子を示す。変位レジ
スタに対するポインは命令40に含まれ、ベースアドレス
に対するポインタはパラメータレジスタ42中にある。 32ビツト変位レジスタに対するポインタ94をリテラル
値として用いることにより物理的アドレスを発生するこ
ともできる。この8ビツトリテラル値は32ビツトベース
アドレス86に加えられて、255までの正のリテラル変位
を行えるようにする。 第3のやり方は直接物理的アドレッシングである。パ
ラメータレジスタ42中のベースポインタ86は無視され、
変位レジスタ中の32ビツト値87または8ビットリテラル
94が物理的アドレスとして用いられる。 物理的アドレスを発生するやり方はACCESS命令中のビ
ットにより選択される。あるシーケンサがアクセス要求
を受けることができないとすると、アクセス命令はブロ
ックし、シーケンサが要求を受けることができる時に再
び試みる。 ACCESS命令は、タスクによりシーケンサへ送られる論
理レジスタセツトを、常にロックさせる。これによりタ
スクとシーケンサが同時にレジスタセットで動作するこ
とが阻止される。 EU同期のためのバスシーケンサ バスシーケンサとEUの間の転送を同期させるのに、レ
ジスタセツトロッキングとマイクロポートメッセージと
の2つの方法がある。希望の方法の選択は、特定のバス
オペレーションのためのACCESS命令を出すEU符号により
行われる。供給変形は方法を変更できないから、特定の
データストリームでは、レジスタセットロッキングまた
はマイクロポートメッセージのいずれかが用られ、両方
は用いられない。 メッセージをベースとする同期 この方法を選択した時は、シーケンサはマイクポート
メッセージを目標タスクへ送る。その目標タスクは、AC
CESS命令を実行するタスクにより指定される。メッセー
ジは第6図に示されるシーケンサ書式で送られる。 メッセージ120は16ビツト長であって、最上位ビット
は常に0である。メッセージの下位バイトの下の6ビツ
トは、転送に含まれていたレジスタセットの物理的アド
レスを含む。レジスタセットの物理的アドレスの上のビ
ツト(下位バイト中のビツト6)には、異常な終端ビッ
トを含む。この終端ビットは、シーケンサのオペレーシ
ョンが異常に終ると、シーケンサによってセツトされ
る。下位バイトにおいてはトップのビツト(ビット7)
は常に1である。次の4ビツト(8〜11)はどのシーケ
ンサチャネルからメッセージが来たかを識別する。次の
3ビツト(12〜14)は、応答レジスタセツトとしてシー
ケンサに送られた値を含む。プログラマは、ACCESS命令
を実行する時に、このフィールドの値を指定するから、
応答レジスタセツト以外の情報を希望により送ることが
できる。 メッセージはムーブポインタ命令に適合するよう設計
される。その命令を、受けたものの直後に直後に置くこ
とにより、転送にちょうど関与したレジスタセットを目
標タスクの論理空間内にマップできる。 レジスタセツトをベースとする同期 この種の同期が求められる時は、シーケンサは含まれ
ているレジスタセツトの物理的アドレスを「応答タス
ク」の「応答レジスタセツト」ポインタに書込む。「応
答レジスタセツト」と「応答タスク」は、要求が開始さ
れた時に、シーケンサに対して指定される。それがレジ
スタセツトポインタに書込むと、アクセスが異常に終つ
たのであれば、それはそのポインタへの異常終了ビツト
のセツトも行う。全ての場合に、レジスタセツトポイン
タはそれの妥当ビツトを有する(すなわち、レジスタセ
ツトはロツクを解除される)。 ローカルバスシーケンサ CPのシステム側との間の全ての通信および転送はロー
カルバスシーケンサ(LBS)を経由して行われる。これ
はEUとキヤツシユの両方で用いられる。 LBS要求のキユーイング EUとキヤツシユによるLBSの使用を制御する機構はい
くつかある。 システムメモリに対するアクセス要求はLBSにより処
理される。それらの要求は低優先度の待ち行列(以下行
列という)と、高優先度の行列との2つの行列の一方に
置かれる。プログラマは、ACCESS命令を実行する時に、
チヤネル番号を与えることによりいずれかの行列を指定
する。低優先度の行列はチヤネル14であり、高優先度の
行列はチヤネル15である。それらの各行列は深さ2であ
り、それぞれの名称が意味するように、高優先度の行列
中のどの要求も低優先度行列の中の要求よりも先にサー
ビスされる。 アクセス要求以外に、LBSはキヤツシユを満す要求も
取扱うから、他の2つの行列とは別のキヤツシユ要求行
列も与える。キヤツシユ行列の深さは3である。キヤツ
シユ行列とアクセス行列の間のサービス順位はラウンド
ロビンである、すなわち、アクセス要求行列からの要求
がサービスされ、それからキヤツシユ行列からの要求が
サービスされ、次にアクセス行列からの要求が再びサー
ビスされる、等というようにしてサービスされる。 キヤツシユから来る要求はキヤツシユミスまたはライ
ンプリフエツチにより発生される。要求がキヤツシユか
らくると、その要求はキヤツシユ要求行列中に並べられ
る。この行列の深さは3であつて、各エントリイはキヤ
ツシユラインを満すために要求を保持できる。要求がキ
ヤツシユミスによるものとすると、そのミスを生じたタ
スクはブロツクされ、それのキヤツシユブロツクされた
ビツトがセツトされる。キヤツシユ要求が終るとそのタ
スクのブロツクは解除される。 キヤツシユ要求行列が一杯で、タスクがキヤツシユミ
スを経験したとすると、タスクはブロツクされ、「キヤ
ツシユ行列がブロツクされた」ビツトがセツトされる。
いずれかキヤツシユ行列が一杯にされたとすると、その
行列は利用できるようになつて、ブロツクされてスロツ
トを持つていた全てのタスクのブロツクは解除される。
それから、並べられているキヤツシユ要求を得るために
そのタスクは再びキヤツシユミスを起させる。キヤツシ
ユ要求行列が一杯であればプリフエツチは行われない。 データ整列制約 計算サブシステムメモリアクセスの実行にはいくつか
の制約がある。計算サブシステムメモリ空間内の16バイ
ト境界を横切るメモリ要求は許されない。また、その要
求に関連する全てのデータは1つのレジスタセツトから
来なければならず、または1つのレジスタセツトに置か
なければならない。 LBSを介して読出され、または書込まれる全てのバイ
トは、それらのバイトがレジスタフアイル内にある時と
同様に、メモリ内で整列せねばならない。このことは、
メモリ内の物理的アドレスの下位2ビツトと、レジスタ
のアドレスの下位2ビツトが同じでなければならないこ
とを意味する。 LBSおよびACCESS命令 シーケンサ符号14または15を有するACCESS命令はLBS
へ送られる。14は低優先度チヤネルに対する符号であ
り、15は高優先度チヤネルに対する符号である。 エージエント間通信(IAC)受信 IOSは、CPがIACを受けることができるようにするため
に設定できる特殊なIAC要求線を有する。その線は、IAC
がいつ到達し、応答タスクにどのようにして応答するか
についてどのタスクへ通知するか(常にタスク7)につ
いての情報を含む。 IAC要求線は他のIOS線とは別であり、IACピンがトリ
ガされた時にタスク7のマイクロポートに応答するため
にハードワイヤされる。IACチヤネルは常にイネイブル
され、かつ妥当である。IACが受けられると、タスク7
はそれのマイクロポートを介して通知される。
【図面の簡単な説明】 第1図は本発明が実施されているI/Oチヤネルの機能ブ
ロツク図、第2図はレジスタセツトポインタを用いるア
ドレス・インダイレクシヨンを示す線図、第3図はマイ
クロポートへ与えられる応答メツセージの書式の線図、
第4図はレジスタフアイル中の論理アドレスの書式の線
図、第5図はACCESS命令オペレーシヨンを示す線図、第
6図はシーケンサメツセージの書式の線図である。 10……実行装置、14……ローカルバスシーケンサ、16…
…レジスタフアイル、18……ROM、20……命令キヤツシ
ユ、22……ALU。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・カルバイン・ドウゼツト アメリカ合衆国97124オレゴン州・ヒル ズボロ・ノースイースト リンカーン・ 1130 (72)発明者 アーサー・ハンス・レーダーホツフア ドイツ連邦共和国バイエルン・8522・ヘ ルツオーゲナウラツハ・ヴオルフスベル ガー シユトラーセ・34 (72)発明者 クレイグ・ビイ・ピーターソン アメリカ合衆国97229オレゴン州・ポー トランド・ノースウエスト リアイ ロ ード・10490 (72)発明者 ジヨン・レオナルド・ウイプフリ アメリカ合衆国97123オレゴン州・ヒル ズボロ・サウスイースト 34テイエイチ アヴエニユウ・1284 (56)参考文献 特開 昭54−98134(JP,A) 特開 昭58−94038(JP,A) 特開 昭57−106938(JP,A) 特開 昭57−768(JP,A) 特開 昭61−94166(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.I/Oプロセッサであって、このI/Oプロセッサ上で動
    作する各タスクに対して割り当てられたレジスタセット
    ポインタ群(50)を介して間接的にアクセスされる複数
    のレジスタセットを含むレジスタファイル(16)と、前
    記レジスタセットのうちの1つの物理アドレス(52)を
    含むレジスタセットポインタ(24)と、I/Oバスシーケ
    ンサ(12)及びローカルバスシーケンサ(14)と、命令
    を復号する手段(20)とを備えており、これらの命令の
    うちの1つは多数のフィールドを有するACCESS命令であ
    り、これらのフィールドのうちの1つ(41)は多数のフ
    ィールドを有するパラメータレジスタ(42)に対するポ
    インタであり、さらに、 A. 格納をする手段(25)にして、 データ転送中にデータを入出力するシーケンサ(12,1
    4)を識別するシーケンサ符号(82)と、 論理バイト(92)にして、その第1のビット群(53)が
    前記レジスタセットポインタ群(50)の中の特定のレジ
    スタセットポインタを指定し、その第2のビット群(5
    4)が、前記特定のレジスタセットポインタ内の物理レ
    ジスタセットアドレスで指令されるレジスタセット内の
    バイトアドレスを指定する、論理バイト(92)と、 前記ACCESS命令に対する応答を受信するよう指定された
    前記レジスタファイル(16)中のレジスタセットに対す
    る応答レジスタセットポインタ(84)と、 前記データ転送中に移動するデータのバイト数を指定す
    る長さ(90)と を格納する場所を有している前記パラメータレジスタフ
    ィールドの格納をする手段(25)と、 B. 前記パラメータレジスタに対するポインタを格納す
    る手段を含む命令レジスタ手段と、 C. 前記パラメータレジスタ(42)に結合され、前記論
    理バイト(92)に応答してレジスタファイルの物理レジ
    スタアドレス(56)を生成するレジスタセットマッパ
    (104)に対して、前記第1のビット群(53)によって
    指定された前記特定のレジスタセットポインタ(24)内
    の前記物理レジスタセットアップ(52)と、妥当ビット
    (51)及びブロックビット(55)を含む前記特定のレジ
    スタセットポインタ(24)内の物理レジスタセットアド
    レス(52)によって指定されたレジスタセット内のバイ
    トアドレスを指定する第2のビット群(54)と、を組み
    合わせてレジスタファイルの物理レジスタアドレス(5
    6)を生成する、レジスタセットマッパ(104)と、 D. 妥当ビット(51)がセットされていないレジスタセ
    ットに対して前記ACCESS命令がアクセスしようとすると
    き、前記ブロックビット(55)をセットする手段と、 E. ブロックビット及び妥当ビットがセットされている
    レジスタセットに対してACCESS命令を実行するタスクが
    アクセスしようとするとき、前記ブロックビット(55)
    をリセットする手段と を備えているI/Oプロセッサ。 2.前記レジスタセットポインタに対応するレジスタセ
    ットの内容が前記シーケンサ符号(82)によって指定さ
    れたバスシーケンサに送られるよう、前記レジスタセッ
    トポインタがレジスタセットマッパ(104)によって変
    換されたとき、前記レジスタセットポインタ(24)の妥
    当ビット(51)をオフにする手段を、前記レジスタセッ
    トマッパ(104)内に、備えている請求項1に記載のI/O
    プロセッサ。 3.応答タクスに対応する前記パラメータレジスタ(4
    2)の応答レジスタセットポインタ(84)によって指定
    された論理レジスタセットポインタに応答データの物理
    レジスタアドレスを書き込む手段と、 応答タクスポインタ(80)によって指定された応答タス
    クが応答レジスタセットに対して十分なアクセスが行え
    るように前記レジスタセットポインタ(24)の妥当ビッ
    ト(51)をセットする手段と を更に備えている請求項2に記載のI/Oプロセッサ。
JP62317620A 1986-12-17 1987-12-17 I/oプロセツサ用の実行装置 Expired - Lifetime JP2741594B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US942608 1986-12-17
US06/942,608 US4853849A (en) 1986-12-17 1986-12-17 Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction

Publications (2)

Publication Number Publication Date
JPS63238631A JPS63238631A (ja) 1988-10-04
JP2741594B2 true JP2741594B2 (ja) 1998-04-22

Family

ID=25478349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62317620A Expired - Lifetime JP2741594B2 (ja) 1986-12-17 1987-12-17 I/oプロセツサ用の実行装置

Country Status (3)

Country Link
US (1) US4853849A (ja)
JP (1) JP2741594B2 (ja)
DE (1) DE3741850A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293594A (en) * 1986-05-24 1994-03-08 Hitachi, Ltd. Data processing system having a plurality of register groups and a logical or circuit for addressing one register of one of the register groups
US5307494A (en) * 1987-08-05 1994-04-26 Fuji Xerox Co., Ltd. File name length augmentation method
JP2553698B2 (ja) * 1989-03-28 1996-11-13 松下電器産業株式会社 時分割マルチタスク実行装置
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
JP2665081B2 (ja) * 1991-07-08 1997-10-22 三菱電機株式会社 マイクロコンピュータのレジスタ間データ転送方式
CA2078913A1 (en) * 1991-12-12 1993-06-13 John J. Reilly Interprocessor communication system and method for multiprocessor circuitry
US5379392A (en) * 1991-12-17 1995-01-03 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
US5414821A (en) * 1991-12-17 1995-05-09 Unisys Corporation Method of and apparatus for rapidly loading addressing environment by checking and loading multiple registers using a specialized instruction
US5325496A (en) * 1991-12-24 1994-06-28 Intel Corporation Selectable pointer validation in a computer system
US5522051A (en) * 1992-07-29 1996-05-28 Intel Corporation Method and apparatus for stack manipulation in a pipelined processor
US6073231A (en) * 1993-10-18 2000-06-06 Via-Cyrix, Inc. Pipelined processor with microcontrol of register translation hardware
US5666556A (en) * 1993-12-30 1997-09-09 Intel Corporation Method and apparatus for redirecting register access requests wherein the register set is separate from a central processing unit
WO1995032466A1 (en) * 1994-05-19 1995-11-30 Vlsi Technology, Inc. Flexible register mapping scheme
US5734817A (en) * 1995-03-01 1998-03-31 Unisys Corporation Method for making a data base available to a user program during data base recovery
US6356918B1 (en) 1995-07-26 2002-03-12 International Business Machines Corporation Method and system for managing registers in a data processing system supports out-of-order and speculative instruction execution
US5761740A (en) * 1995-11-30 1998-06-02 Unisys Corporation Method of and apparatus for rapidly loading addressing registers
JPH1011352A (ja) * 1996-06-19 1998-01-16 Hitachi Ltd データ処理装置およびそのレジスタアドレス変換方法
US5893928A (en) * 1997-01-21 1999-04-13 Ford Motor Company Data movement apparatus and method
US6105051A (en) * 1997-10-23 2000-08-15 International Business Machines Corporation Apparatus and method to guarantee forward progress in execution of threads in a multithreaded processor
US6212544B1 (en) 1997-10-23 2001-04-03 International Business Machines Corporation Altering thread priorities in a multithreaded processor
US6567839B1 (en) 1997-10-23 2003-05-20 International Business Machines Corporation Thread switch control in a multithreaded processor system
US6076157A (en) * 1997-10-23 2000-06-13 International Business Machines Corporation Method and apparatus to force a thread switch in a multithreaded processor
US6697935B1 (en) 1997-10-23 2004-02-24 International Business Machines Corporation Method and apparatus for selecting thread switch events in a multithreaded processor
US6134650A (en) * 1997-12-12 2000-10-17 Advanced Micro Devices, Inc. Apparatus and method for predicting a first scanned instruction as microcode instruction prior to scanning predecode data
US6061775A (en) * 1997-12-12 2000-05-09 Advanced Micro Devices, Inc. Apparatus and method for predicting a first microcode instruction of a cache line and using predecode instruction data to identify instruction boundaries and types
US5890006A (en) * 1997-12-12 1999-03-30 Advanced Micro Devices, Inc. Apparatus for extracting instruction specific bytes from an instruction
US6134653A (en) * 1998-04-22 2000-10-17 Transwitch Corp. RISC processor architecture with high performance context switching in which one context can be loaded by a co-processor while another context is being accessed by an arithmetic logic unit
JP3763518B2 (ja) * 2001-05-29 2006-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーション コンパイラ、そのコンパイル方法およびプログラム
US9626294B2 (en) * 2012-10-03 2017-04-18 International Business Machines Corporation Performance-driven cache line memory access

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3651482A (en) * 1968-04-03 1972-03-21 Honeywell Inc Interlocking data subprocessors
US3760365A (en) * 1971-12-30 1973-09-18 Ibm Multiprocessing computing system with task assignment at the instruction level
FR2253428A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4099229A (en) * 1977-02-14 1978-07-04 The United States Of America As Represented By The Secretary Of The Navy Variable architecture digital computer
JPS5443644A (en) * 1977-09-13 1979-04-06 Fujitsu Ltd Processing system for deadlock automatic release at exclusive control time
JPS5498134A (en) * 1978-01-20 1979-08-02 Toshiba Corp Input/output control system
US4320453A (en) * 1978-11-02 1982-03-16 Digital House, Ltd. Dual sequencer microprocessor
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
JPS57768A (en) * 1980-06-04 1982-01-05 Hitachi Ltd Message transmission and reception system between processor
JPS57106938A (en) * 1980-12-24 1982-07-03 Fujitsu Ltd Continuous processing system for undefined-length data
JPS5894038A (ja) * 1981-11-30 1983-06-04 Nec Corp 電子計算機
US4460061A (en) * 1982-08-30 1984-07-17 Pennwalt Corporation Apparatus for increasing directivity of a sound source
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
US4661900A (en) * 1983-04-25 1987-04-28 Cray Research, Inc. Flexible chaining in vector processor with selective use of vector registers as operand and result registers
GB8329509D0 (en) * 1983-11-04 1983-12-07 Inmos Ltd Computer
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPS6194166A (ja) * 1984-10-16 1986-05-13 Fujitsu Ltd ダイレクトメモリアクセスにおけるアドレス変換回路
US4727510A (en) * 1985-05-24 1988-02-23 Unisys Corporation System for addressing a multibank memory system
US4777588A (en) * 1985-08-30 1988-10-11 Advanced Micro Devices, Inc. General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
US4794515A (en) * 1986-01-17 1988-12-27 International Business Machines Corporation Protection of data in a multiprogramming data processing system
US4791566A (en) * 1987-03-27 1988-12-13 Digital Equipment Corporation Terminal device session management protocol

Also Published As

Publication number Publication date
DE3741850A1 (de) 1988-06-30
US4853849A (en) 1989-08-01
JPS63238631A (ja) 1988-10-04

Similar Documents

Publication Publication Date Title
JP2741594B2 (ja) I/oプロセツサ用の実行装置
US4297743A (en) Call and stack mechanism for procedures executing in different rings
US4369494A (en) Apparatus and method for providing synchronization between processes and events occurring at different times in a data processing system
US4395757A (en) Process synchronization utilizing semaphores
US4084224A (en) System of controlling procedure execution using process control blocks
US4084228A (en) Process management structures and hardware/firmware control
US6029212A (en) Method of handling arbitrary size message queues in which a message is written into an aligned block of external registers within a plurality of external registers
US4432051A (en) Process execution time accounting system
JPH08314733A (ja) 2つのエンディアンをサポートするコンピュータシステム及び方法
EP2718830B1 (en) Managing operator message buffers in a coupling facility
JPS6339931B2 (ja)
EP3924817A1 (en) Directed interrupt virtualization
EP2718819B1 (en) Operator message commands for testing a coupling facility
KR20190082079A (ko) 원격 원자 연산들의 공간적 및 시간적 병합
KR20050058240A (ko) 프로세서를 코프로세서에 인터페이싱하기 위한 방법 및 장치
US20170351441A1 (en) Non-blocking flow control in multi-processing-entity systems
EP2718812B1 (en) Executing a start operator message command
US8752068B2 (en) Transmitting operator message commands to a coupling facility
US4351024A (en) Switch system base mechanism
US4991083A (en) Method and system for extending address space for vector processing
US8930963B2 (en) Processing operator message commands
US6738837B1 (en) Digital system with split transaction memory access
CN108255520B (zh) N路监测器
US20230070995A1 (en) Modular accelerator function unit (afu) design, discovery, and reuse
US20220206945A1 (en) Adaptive remote atomics

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term