JPH0135367B2 - - Google Patents

Info

Publication number
JPH0135367B2
JPH0135367B2 JP59242563A JP24256384A JPH0135367B2 JP H0135367 B2 JPH0135367 B2 JP H0135367B2 JP 59242563 A JP59242563 A JP 59242563A JP 24256384 A JP24256384 A JP 24256384A JP H0135367 B2 JPH0135367 B2 JP H0135367B2
Authority
JP
Japan
Prior art keywords
cpu
bus
instruction
data
bit
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
Application number
JP59242563A
Other languages
English (en)
Other versions
JPS60142743A (ja
Inventor
Edowaado Fuisuku Deeru
Uiriamu Periira Roorensu
Radein Jooji
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60142743A publication Critical patent/JPS60142743A/ja
Publication of JPH0135367B2 publication Critical patent/JPH0135367B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
〔産業上の利用分野〕 本発明は、通常の計算機アーキテクチヤにおけ
る命令セツトよりずつと小規模の命令セツト(以
下、基本命令セツトという)しか持たない計算機
システムに係る。 〔従来技術〕 最近のVLSI技術の発達により、マイクロプロ
セツサの設計に関しては、相反する2つのアプロ
ーチが可能になつてきた。第1のアプローチは、
VLSIを十二分に利用して、これまではソフトウ
エアで実現されていた機能をハードウエアで実現
させるものである。当然の結果として、マイクロ
プロセツサの物理的な構成は複雑になる。これに
対して第2のアプローチは、これまでより多くの
機能をソフトウエアで実現させることによつて、
簡単で且つ高速のマイクロプロセツサを構成しよ
うとするものである。後者のアプローチの代表的
な例が下記の文献に記載されている。 (1) ジヨージ・ラデインによる“801ミニコンピ
ユータ(The 801 Minicomputer)”エーシー
エム・シグプラン・ノーテイシズ(ACM
SIGPLAN NOTICES)、第17巻、第4号、
1982年4月、39〜47頁 (2) パターソン、セグインによる“RISC 1:小
規模命令セツトVLSIコンピユータ(RISC
1:a Reduced Instruction Set VLSI
Computer)”IEEEコンピユータ
(Computer)、1982年9月、8〜20頁 第1のアプローチは、ソフトウエアの開発費用
およびその実行速度を考えた場合、年ごとに安く
なつているVLSI回路を用いてシステムを構成し
た方が全体として価格性能比を上げることができ
る、という考えに基いている。従つて、第1のア
プローチをとるシステム設計者は、VLSI回路の
潜在能力に合わせてアーキテクチヤをより複雑に
している。これは、最近の計算機とその前の計算
機、例えばVAX−11とPDP−11、IBMシステ
ム/38とIBMシステム/3、インテルAPX−432
と8086、などを比較してみれば明らかである。た
だしアーキテクチヤが複雑になると、それだけシ
ステム設計に要する時間が長くなり、設計ミスの
可能性も増える。この型のシステムは大規模命令
セツト計算機システム、略してCISCシステムと
呼ばれている。 これに対して、前記の文献に記載されているよ
うな第2のアプローチに従つて構成されたシステ
ムは大規模命令セツト計算機(RISC)システム
あるいは基本命令セツト計算機システム(以下、
PRISMシステムという)と呼ばれる。PRISMシ
ステムの中心はCPUである。システム設計の大
部分は、ユーザに対してCPUの基本能力を使用
可能にする、ということに向けられている。全体
的な構成は従来のCPUとは幾分異なつている。 以下前記の文献に記載されているCPUの設計
原理および従来のCPUとの違いについて、本発
明に関係する範囲内で少し詳しく説明する。 小型ないし中型の汎用計算機システムにおける
通常のCPUは、アーキテクチヤを“解釈”する
配線マイクロプロセツサで構成されている。この
ようなCPUでは、1つのCPU命令を実行するた
めに、制御記憶装置にある幾つかのマイクロ命令
が実行される。1つの平均的なCPU命令を実行
するのに必要なマイクロ命令(マシンサイクル)
の数は、使用されているマイクロプロセツサの能
力(従つて価格)CPUアーキテクチヤの複雑さ、
および実行中のアプリケーシヨン(即ち命令ミツ
クス)によつて左右される。例えば、IBMシス
テム/370モデル168は1つのシステム/370命令
当り3〜6サイクルを要し、モデル148は10〜15
サイクルを要し、システム/360モデル30はサイ
クル以上になる。 CPUの設計によつては、ルツクアヘツド、並
列処理および分岐の記録といつた技術を用いるこ
とにより、1命令当りのマシンサイクル数を1に
近づけることができる。 アプリケーシヨンによる相違については、例え
ば一般に科学技術計算は浮動小数点命令を使用す
るが、事務計算は10進演算を使用する。ところ
が、アプリケーシヨンコードの代りに走行システ
ム全体を追跡してみると、最も頻繁に使用される
命令に顕著な類似性があることがわかる。これら
の命令は、ロード、記憶、分岐、比較、整数演
算、論理桁送りといつた比較的簡単な命令であ
り、基礎となるマイクロプロセツサの命令セツト
にもこれらと同じ機能を持つた命令がある。従つ
て、マイクロプロセツサのアーキテクチヤが
CPUのアーキテクチヤと正確には一致しない場
合であつても、そのような機能についてまで
CPUアーキテクチヤをマイクロプロセツサで
“解釈”することは無駄であると考えられた。 従つて、PRISMシステムのために設計された
基本命令セツトはハードウエアで直接実行するこ
とができる。即ち、各々の基本命令は1マシンサ
イクルしか必要としない。複雑な機能は、通常の
CPUの場合と同じく、マイクロコードで実現さ
れる。ただし、PRISMシステムにおけるマイク
ロコードは正にコードであつて、関連する機能は
基本命令セツト上で走行するソフトウエアサブル
ーチンによつて実現される。 高速の制御記憶装置に記憶されていることから
生じるマイクロコードの利点は、キヤツシユをデ
ータ用と命令用とに分けた記憶階層では、事実上
消滅する。命令キヤツシユは“ページ可能”制御
記憶装置として働く。通常のCPUでは、すべて
のアプリケーシヨンにわたつてどの機能が最も頻
繁に使用されるかは、設計者が前もつて決める。
従つて、例えば倍精度の浮動小数点除算命令は常
に高速の制御記憶装置にあるが、第1レベル割込
みハンドラは主記憶装置にある。命令キヤツシユ
を用いた場合は、最近の使用状況によつて、どの
機能がより速く使用できるかが決まる。 このアプローチによれば、特定のジヨブを実行
するのに要するサイクル数は、最悪の場合であつ
ても、複雑な命令がマイクロプログラムされてい
る通常の小型ないし中型CPUにおけるサイクル
数以下である。更に、基本命令の定義づけをうま
く行えば、必要なサイクル数がより少なくなるこ
とがわかつた。 大部分の命令ミツクスによれば、データの書込
みまたは読取りに関する命令が全体の20〜40%を
占め、分岐命令が15〜30%を占めている。更に、
多くのアプリケーシヨンにおいては、記憶装置帯
域幅のかなりの部分がI/Oのためにさかれてい
る。記憶装置アクセスのためにCPUが多くのサ
イクルにわたつて待ち状態へ強制されると、その
間の処理時間が無駄になる。 従つて、PRISMシステムの第2の目的は、記
憶装置アクセスに起因するCPUの遊休時間をで
きるだけ短くするように記憶階層およびシステム
アーキテクチヤを構築することであつた。まず、
CPUのマシンサイクルに匹敵するアクセス時間
を持つたキヤツシユが必要なことは明らかであ
る。次に、記憶命令が出されても直ちに主記憶装
置への記憶を行わなくてもよいということから、
ストアイン方式のキヤツシユが採用された。かり
に1つのワードを記憶するのに10サイクルを要
し、且つ命令全体の10%が記憶命令であるとする
と、記憶命令およびそれに続く命令を並行して実
行できない限り、CPUの遊休時間は全体の約半
分に達する。 しかし、サイクルごとに新しい命令を必要と
し、且つ2サイクルおきにデータをアクセスする
CPU構成においては、サイクルごとにワードを
供給する通常のキヤツシユを用いるこ 性能が低
下する。従つて、キヤツシユはデータを含む部分
と、命令を含む部分とに分けられた。このように
してキヤツシユへの帯域幅は実質的に倍にされ、
外部記憶装置からの命令およびデータの非同期的
取出しが可能になつた。 通常のアーキテクチヤでは、データの記憶は命
令を変更することがあるため、2つのキヤツシユ
が適切に同期していることをハードウエアが保証
しなければならない。これはコスト高になり、ま
た性能の低下にもつながる。命令先取り機構でさ
え、記憶有効アドレスと命令アドレスレジスタの
内容を比較しなければならないので、複雑にな
る。 ところが指標レジスタが計算機に導入されるよ
うになつて、命令を変更する頻度が大幅に減少さ
れ、今日に至るまで事実上命令が変更されること
はなくなつた。従つてPRISMアーキテクチヤは、
上述のようなハードウエア同期通信を必要としな
い。その代りに分割キヤツシユの存在がソフトウ
エアに対して明示され、必要なときにキヤツシユ
を同期させるための命令がソフトウエアに与えら
れた。同期が必要なのは、例えばプログラム取出
しのような特別の機能の場合だけである。 同様に、キヤツシユの存在がソフトウエア側か
らはわからない通常のシステムにおいては、I/
Oオペレーシヨンもキヤツシユを介して行う必要
がある。その間CPUは待機していなければなら
ず、またI/Oオペレーシヨンが終了した後のキ
ヤツシユの内容は、実行中のプロセスの実効ペー
ジセツトではなくなるので、キヤツシユを強制的
に一時モードへ戻さなければならない。高価なシ
ステムにおいてすら、デイレクトリを重複して設
けると性能の低下を招く。 現在のシステムでは、I/Oオペレーシヨンを
開始する責任は、サブシステム・バツフアとユー
ザ領域との間で固定ブロツク転送を行うシステム
アクセス方式(IMS、VSAM、VTAM、ページ
ングなど)に移つてきている。これは、アクセス
方式がバツフアの位置および範囲だけでなく、
I/O転送が処理される時も知つていることを意
味する。従つて、このソフトウエアはキヤツシユ
を適切に同期させることができ、チヤネル
(PRISMシステムにおける直接メモリアダプタ)
は外部記憶装置との間で直接転送を行うことがで
きる。この結果、記憶装置帯域幅の半分がI/O
のために使用中であつても、CPUの性能が低下
することはない。 これまでの説明で云えることは、実現させるの
に費用がかかるか、または低速のシステム機能が
あり、且つソフトウエアが頻繁に生じる性能低下
要因を認識できる(あるいは機能全体を走行時間
からコンパイル時間へ移すことができる)場合に
は、その機能はハードウエアからソフトウエアへ
移され、それによつてコスト低減および性能改善
が達成される、ということである。 上述の設計原理をキヤツシユ自身の管理に適用
した例について説明する。PRISMシステムにお
いては、キヤツシユの各データ・ブロツク(ライ
ンと呼ばれている)は32バイトであり、これに対
して最大記憶単位は4バイトである。ラインの大
きさが記憶単位よりも大きいストア・イン式のキ
ヤツシユでいわゆるキヤツシユ・ミスが生じる
と、要求されたワードを含むライン全体を外部記
憶装置からキヤツシユへ取出さなければならな
い。これは、同じラインに含まれる別のワードが
続いて要求される可能性が高いためである。とこ
ろが記憶動作の場合は、プログラムが新しく獲得
したスペースへの1回の記憶で終ることが多い。
このようなスペースの例としては、プロシージヤ
呼出し時にプツシユされたプロセス・スタツク、
ゲツトメイン要求によつて得られた領域、第1レ
ベル割込みハンドラによつて使用されるレジスタ
記憶域などがある。いずれの場合も、ハードウエ
アは当該ラインの再度のアクセスが不要であるこ
とを知り得ないが、ソフトウエアにとつては、こ
の状況は極めて明白である。 従つて、PRISMシステムでは、要求されたラ
インをキヤツシユのデイレクトリ中で確立する
が、外部記憶装置からはそのラインの内容を取出
さないデータ・キヤツシユ・ライン設定命令が定
義されている。記憶のために新しいラインが必要
なときは常にこの命令を実行するようにすると、
外部記憶装置からの不必要な取出しは避けられる
が、今度は命令実行のための余分のマシンサイク
ルが必要になる。従つて、全体的にみれば、この
命令の実行には一長一短がある。 同様に、スクラツチ記憶域が不要になつたとき
にデータ・キヤツシユ・ライン無効化命令を実行
して、デイレクトリ中の指定されたラインに対応
するエントリの変更ビツトをターンオフすると、
不必要な書戻しが避けられる。詳細は1982年12月
30日付のPCT出願U.S.82/01830に記載されてい
る。 PRISMシステムの優れた性能は前述のとおり
であるが、その潜在的な設計目標を十分に実現す
るためには、単一マシンサイクルで実行可能な多
数の命令を利用することができるようにハードウ
エアを変更するのが有利であることが判つた。 歴史的にみれば、IBMシステム/360セレクタ
チヤネルのように、明確に定められたチヤネルに
よつてコンピユータは複数の装置を主CPUに接
続するというのが通例であつた。このチヤネルは
CPUと広範な周辺装置との間でデータを転送す
るための融通性のある媒体である。こうした周辺
装置は、通常、たとえば印刷、オンラインデータ
記憶、カードリーダ等の特定のシステム機能を提
供する。他に、CPUの内部においては、各種の
内部機構が互いに通信できるよう多くの特定のデ
ータ経路(通常は母線と呼ばれる)が存在する。
算術レジスタユニツト、制御ラツチ等のこれらの
内部機構は、計算およびデータ移動の制御に関す
るCPUの要件を支援するよう設計されている。
これらの2つのタイプの通信の主な相違点は、デ
ータ転送速度および転送を達成するに必要な一般
的なオーバーヘツドである。一般的には、チヤネ
ルは内部データ経路に比べて、低速でありしかも
データ転送を達成するにはかなりのオーバーヘツ
ドを要する。 内部母線によつてCPUの内部データ経路は、
チヤネルと同様な方法で、一連の機構にとつて利
用できるようになる。従来、内部データ経路は、
ほとんどの場合、CPUの特定の機構を支援する
のに必要なものとして取扱われている。CPUは、
多くの場合、多目的母線を有するよう設計され
る。この場合、複数の機構のためのデータは共通
のワイヤーのセツトを介して通信されるが、これ
は常に、こうした機構を支援するために特別に設
計されたCPUのハードウエアの制御下にある。
場合によつては、浮動小数点ユニツトのような選
択的な機能ユニツトがCPUに接続されることも
あるが、この場合でも、これは常に、この機能ユ
ニツトを支援するために特別に設計されたCPU
のハードウエアの制御下にある。さらにほとんど
のコンピユータは、CPUの内部データ経路の途
中に接続された一連の支援機構を有する。通常こ
の接続は特別に設計された、その支援機構固有の
回路である。支援機構は、たとえば、浮動小数点
ユニツト、実時間クロツク、割込み制御機、エミ
ユレータユニツト、およびキヤツシユメモリサブ
システムである。 拡張可能な多重バスを備えたコンピユータはこ
れまで多数設計されてきた。そのようなバスによ
り、そのコンピユータの制御の下で内部データ経
路に直接に付加的な機能を接続することができ
る。コンピユータをうまく設計すればオペレーシ
ヨンの速度は向上する。これを達成するため、デ
ータ経路は短くされ、内部接続の数は最小にされ
る。しかしながらデータ経路を簡単にすれば、そ
の分、内部CPUは複雑になり、コンピユータの
性能は落ちる。 〔発明が解決しようとする問題点〕 以上説明したように、従来の内部母線は汎用性
がなく、そのためCPUに様々な機能ユニツトを
接続するのが困難であり、またCPUとそれらの
機能ユニツトとの間のデータ通信の効率も悪い。 したがつて本発明の目的は内部母線アーキテク
チヤを改善することである。 〔問題点を解決するための手段〕 本発明に基づく計算機システムは内部母線に置
かれる母線命令をデコードするための命令デコー
ド機構を含む。これにより特定の母線がアドレス
指定され、特定のオペレーシヨンが要求され、指
定された命令に関連する特定のオペランドを識別
するために必要な全てのデータが完全に識別され
る。母線ユニツトは、指定されたオペレーシヨン
を遂行するためにその母線ユニツトが要求されて
いるということを認識するための手段を各々備え
る。CPUは特定の母線オペレーシヨンに応答し
て指定されたオペレーシヨンが完了するまで
CPUを待たせるか、または要求された母線オペ
レーシヨンと並行してCPUに別の命令の実行を
継続させるかを選択的に指示する手段を含む。 〔実施例〕 (A) PRISMシステムアーキテクチヤの概要 前述のように、PRISMシステムの中心は
CPUであるが、PRISMシステムはCPUの他
に、主記憶装置、キヤツシユ機構、母線ユニツ
トおよびシステムI/Oを含んでいる(第1図
参照)キヤツシユ機構はデータ部と命令部に分
かれている。 CPUアーキテクチヤは従来のものに比べて
非常に簡単である。本PRISMシステムの特徴
として、各々の命令はハードウエアにより単一
マシンサイクルで実行される。このような命令
を基本命令という。基本命令は記憶装置アクセ
ス(普通は並行処理される)を除くと、マシン
サイクルを1つしか必要としない。ここで“基
本”という語は、簡単さというよりもむしろ時
間、即ち単一マシンサイクルに関係している。
基本命令自体は単一マシンサイクル内で実行可
能であるが、それに伴う実際の機能は複雑なこ
とがある。 “単一マシンサイクル”という語も幾つかの
定義が可能である。例えば、単一マシンサイク
ルは“継続的に繰返される基本システムクロツ
クの期間であつて、その間に基本システムオペ
レーシヨンが遂行されるもの”である。もう少
し別の云い方をすれば、単一マシンサイクルは
“基本クロツク期間に含まれるすべてのクロツ
クパルスをシステムが1回完全に使用するのに
必要な時間”である。従つて、単一マシンサイ
クル内でCPUのすべてのデータフロー機構を
1回使用することができる。 PRISMシステムのアーキテクチヤおよびそ
の命令セツトは下記の3つを達成するものであ
る。 (1) 命令当り1サイクルの高速CPUをコンパ
イルに適した命令セツトを用いて定義する。 (2) 記憶階層、I/O、割振りおよびソフトウ
エアの活動がCPUでの命令実行と並行して
行われる。これにより待ち時間が短くなる。 (3) すべてのプログラムをうまくコンパイルで
きるコードを生成する最適化コンパイラを開
発する。 単一マシンサイクルで実行可能であるという
ことに加えて、命令に関する重要なテーマにそ
の規則性がある。これはハードウエアによる実
施を容易にしていた。例えば、すべてのオペラ
ンドは自分の大きさに合つた境界を持つていな
ければならない(半ワードの場合は半ワード境
界、ワードの場合はワード境界)。命令はすべ
てフルワードであり、従つてその境界もフルワ
ード境界である。 レジスタ各フイールドはシステム/370の4
ビツトに対し、1ビツト増えて5ビツトであ
る。これによりレジスタを32個まで装備でき
る。従つて、PRISMシステムを用いて、例え
ばシステム/370のように16個の汎用レジスタ
を備えた他のアーキテクチヤをエミユレートす
ることができる。システム/370の命令セツト
における基本命令サブセツトを用いて複雑な命
令をエミユレートする場合は、レジスタ各フイ
ールドの長さ(4ビツト)がネツクになる。 更に、命令の長さが4バイトあるので、各命
令の目的レジスタを明示指定することができ、
従つて入力オペランドを壊す必要はない。これ
は一般に“3アドレス”形式と呼ばれている。 PRISMシステムは真の32ビツトアーキテク
チヤであり、16ビツトアーキテクチヤに拡張レ
ジスタを加えたものではない。アドレスは32ビ
ツト長であり、算術演算には32ビツトの2の補
数が使用され、論理命令および桁送り命令は32
ビツトのワードを取扱う。桁送りは31ビツトま
で可能である。 PRISMシステムのCPUの主構成要素は、
ALU、汎用レジスタフアイル(32ビツトのレ
ジスタを32個含む)、および本発明による32ビ
ツトの件条レジスタを含む条件論理である。条
件レジスタはオペレーシヨンに関する種々の条
件を示すもので、検査および分岐を可能にす
る。条件レジスタの各ビツトの意味は下記の表
1のとおりである。
【表】
【表】 条件レジスタの各ビツトは命令によつて変更
されない限り、前の値を保つ。 ビツト0(SO)は合計あふれビツトで、次の
あふれビツトが命令によつてセツトされるとき
は常に“1”にセツトされる。除算ステツプに
おける特別の標識としてあふれを使用する場合
は、合計あふれは変更されない。 ビツト1(OV)はあふれビツトで、命令実
行中にあふれが生じたときにセツトされる。あ
ふれビツトは、加算および減算においてビツト
0からの桁上げとビツト1からの桁上げとが異
なつていると“1”にセツトされ、さもなけれ
ば“0”にセツトされる。これは除算ステツプ
のための専用標識としても使用される。ただし
比較命令によつて変更されることはない。 ビツト2〜6は実行された命令の計算結果
(大小関係)を示す。そのうちビツト2(LT)、
ビツト3(GT)およびビツト4(EQ)は、2
つのオペランドを2の補数形式の符号付き整数
と考えてセツトされ、ビツト5(LL)およびビ
ツト6(LG)は、2つのオペランドを32ビツト
の無符号整数と考えてセツトされる。ビツト2
〜6は比較および論理命令によつてもセツトさ
れる。 ビツト7〜15はいずれも桁上げビツトであ
る。そのうちビツト7(CA)は、加算および減
算においてビツト0からの桁上げがあると
“1”にセツトされ、さもなければ“0”にセ
ツトされる。これは除算および乗算命令のため
の専用標識としても使用されるが、比較命令に
よつて変更されることはない。これに対して、
ビツト8〜14はALUにおける各ニブルの桁上
げを示す。例えばビツト8(C4)はビツト4か
らの桁上げがあると“1”にセツトされ、さも
なければ“0”にセツトされる。ビツト9〜14
も同様である。これらの桁上げは10進演算で使
用される。ビツト15(CD)は任意の4ビツトニ
ブルにおいて桁上げが生じると“1”にセツト
され、さもなければ“0”にセツトされる。こ
れを利用すれば、10進デイジツトの有効性を検
証することができる。 ビツト16(PZ)は常時ゼロビツトであつて、
“1”にセツトされることはない。これは、常
時ゼロビツトを参照する分岐命令による無条件
分岐を可能にする。 ビツト17〜25は予約ビツトである。これらは
本実施例では使用されないが、将来の使用に備
えて設けられている。 ビツト26〜29(EC0〜EC3)は外部条件ビツ
トであり、外部条件が有効なときにCPUへの
対応する外部条件入力の値にセツトされる。 ビツト30(BB)は母線使用中ビツトであり、
母線ユニツトが使用中のためにそこで母線オペ
レーシヨンに関する命令を実行できないときに
“1”にセツトされ、さもなければ“0”にセ
ツトされる。 ビツト31(HO)は半ワードあふれビツトで
あり、下位の16ビツトのあふれ状態を示す。こ
れは、加算および減算においてビツト15および
16の桁上げが異なつていると“1”にセツトさ
れ、さもなければ“0”にセツトされる。この
ビツトは比較命令によつて変更されることはな
い。 前述のように、命令はすべて4バイト長であ
る。PRISMシステムでは、D形式、UL形式、
M形式およびX形式の命令が使用される。これ
らの命令形式を下記の表2に示す。
【表】 命令中の各フイールドの意味は次の通りであ
る。 OPCD(0〜5):命令のOPコード。 RT(6〜10):命令の実行結果を受取る目的レ
ジスタの名前。 RS(6〜10):命令実行のためのソースレジス
タの名前。 RA(11〜15):第1オペランドレジスタ、また
は回転命令の場合は目的レジスタとして使用
されるレジスタの名前。 RB(16〜20):第2オペランドレジスタの名
前。 BI(6〜10):レジスタビツトまたはトラツプ
マスクを指定する即値フイールド。 SH(16〜20):シフト量を指定する即値フイー
ルド。 D(16〜31):16ビツトの符号付き整数を2の補
数形式で指定する即値フイールド。拡張のた
め32ビツトの長さを持つた別のフイールドと
組合わせて使用することができる。 M(21〜31):“0”によつて囲まれた“1”の
サブストリングまたは“1”によつて囲まれ
た“0”のサブストリングから成る32ビツト
のマスクを指定する即値フイールド。ビツト
21が“0”であれば前者のサブストリングが
指定され、“1”であれば後者のサブストリ
ングが指定される。ビツト22〜26はサブスト
リングの左端ビツトへのインデツクス、ビツ
ト27〜31はサブストリングの右端ビツトへの
インデツクスである。“10000011111”のマス
クフイールドはすべて“0”のマスクを発生
し、“00000011111”のマスクフイールドはす
べて“1”のマスクを発生する。 EO(21〜31):拡張OPコード。 (B) 内部母線アーキテクチヤ/機構の概要 本発明に基づく内部母線機構は下記の論理母
線を有するCPUと共に用いることができる。 −要求された機能を記述するための指令母線 −アドレス母線 −記憶用のソースデータ母線 −ロード用の目的データ母線 前述のように、こうした母線を介してCPU
のボード外に他の機能ユニツトを装備しCPU
に接続することができる(たとえば浮動小数点
ユニツト)。このために、或る命令によつてこ
れらの母線がCPUに対し可用となつている。
この命令のことを以下、内部母線オペレーシヨ
ン(IBO)命令という。IBO命令は下記のもの
を指定するオペランドを有する。 −要求された母線ユニツト −指令 −アドレス母線に出力を供給するために加えら
れる2つのオペランド(BおよびD、または
BおよびX) −ソースレジスタ −目的レジスタ、必要ならば、下記の3つのフ
ラグ: −特権指令か否か(1ビツト) −目的レジスタが要求されているか否か(1ビ
ツト) −基底レジスタへ返送されるアドレスバスか否
か(1ビツト) こうして一般的なIBO命令を定義すれば、命
令・データキヤツシユ、外部割込みコントロー
ラ、タイマ、および再配置コントローラにユニ
ツト名が与えられる。IBOオペコードは、こう
したユニツトへ指示される全ての命令に割り当
てられている。 条件付母線オペレーシヨン(CBO)クラス
の命令の場合、データは内部母線に置かれ、装
置からCBO肯定応答が返つてくるまではCPO
は停止する。ここでは、装置が要求されたオペ
レーシヨンをCBO肯定応答の返送前で完了し
たか、またはそれを返送しているときに条件レ
ジスタのビツト30(母線使用中を表わすビツト)
のセツトを完了した、と仮定する。 パイプライン式母線オペレーシヨン(PBO)
クラスの命令の場合、データは1サイクルの間
に内部母線に置かれ、装置からの何らの応答を
待たずにCPUはオペレーシヨンを続行する。
内部母線の競合および衝突を回避するためにプ
ロトコルが制定される。複数のPBO命令が異
なる装置に対して活動化されることがある;第
1のPBO命令を完了していない装置に第2の
PBO命令が与えられたときは、第1のPBO命
令を完了するまではCPUは停止される。 存在しない装置をアドレス指定する特別の
PBO命令の場合について言うと、各装置は、
内部母線を介してPBO命令がいつ送られてく
るかを認識すること、有効な応答がいつなされ
たかを判断することが当然に要求される。装置
がアドレス指定され、かつ前のPBO命令が応
答されなかつたとわかると、その装置はPBO
命令に応答しない。 CPUに対して定義された命令をデコードし
実行することがCPUに要求されている一方で、
システムの他の構成要素で実行される付加的な
多くの機能を実行できるようにCPUのアーキ
テクチヤを構成する。“母線ユニツト”と呼ば
れるこれらの要素は本実施例ではA母線、B母
線、C母線、およびT母線を介してCPUに接
続される。これらの母線は、たとえば記憶装置
とのデータの受渡しのような特定の目的に用い
る。これらの母線はCPU内部母線の一部でも
ある。CPU内部母線は以下に示すラインの集
りである。A母線、B母線、C母線、およびT
母線が内部母線と共存(実際にはこれと同じ広
がりを有する)するという要件のために、内部
母線のデータ転送プロトコルは非常に複雑であ
る。言い換えれば、CPUとメモリの間で単に
データの転送を行うためにだけ母線を用いるな
らば、それ程複雑なプロトコルは必要ではな
い。 多くのコンピユータシステムは1つのタイプ
または他のタイプの母線を使用し、要求される
ハードウエアと共に母線の定義は共通である。
本発明に基づく内部母線アーキテクチヤはこれ
と異なり、システムの融通性を高め同時に性能
も維持することを狙いとしている。ほとんどの
コンピユータの命令セツトは、割込み制御、メ
モリ制御、およびCPUの外部で遂行される他
の機能のような特定の機能のための多数の命令
を識別する。本PRISMシステムの場合は、内
部母線が設けられ、この内部母線を用いるため
に限られた数の命令のセツトが定義される。こ
うして内部母線はCPUとそれに関連する装置
との間で通信を行うための極めて効果的で適用
範囲の広い機構を提供できる。データおよび指
令を制限または解釈することなくそれらを装置
に転送するための共通の指令構造を与えること
で、これを実現できる。したがつて任意の装置
を容易に付加することができる。 本発明に基づく内部母線はCPUの効率を高
めてCPUと装置との間の通信を可能にするこ
とを意図するものである。これ以外の母線はプ
リンタまたはデイスクドライブのような外部装
置とCPUとの間の通信を可能にし、同時に、
システムの内部母線は浮動小数点ユニツト、プ
ロセツサ、およびタイマのようなCPUの拡張
部分と接続できる。内部母線はデータの取出し
および記憶のためのプロトコルと共存して、デ
ータキヤツシユとのデータおよびアドレスの受
渡しに必要な母線を共有する。したがつて内部
母線により装置とシステムのデータフローとを
密接に関連付けることができる。 BBビツト(条件レジスタのビツト30)は、
CBOクラスのIBO命令に状況情報を与えるた
めに割り振られている。内部母線が使用中であ
るために装置がIBO命令を実行できないときに
このBBビツトは1にセツトされる。装置が
IBO命令を受諾できるときはBBビツトは0に
セツトされる。装置によつては或る機能、たと
えば、データを一定の装置レジスタへロードす
る指令、を実行することが保証されることもあ
る。内部母線指令は2つ定義されている。1つ
の指令、すなわち条件付指令はユニツト使用中
かどうかを調べて、その結果に応じてBBビツ
トをセツトする。もう1つの指令はパイプライ
ン式指令である。これら2つの指令については
後で詳述する。 指定した期間内に装置が応答しない場合に割
込みをかけられるよう、内部母線に関連するタ
イマがセツトされる。 内部母線アーキテクチヤ/機構の詳細 一般的なCPUの動作は当業者には周知であ
ろうから、本節ではCPUの中で本発明に基づ
く内部母線機構の動作に関係する部分について
のみ記述する。内部母線機構はPRISMシステ
ムにおいてとりわけ有益なものであるが、一般
的な同じ内部母線構成を有し、IBO命令を認識
できるデコーダおよび命令形式を有するあらゆ
るタイプのCPUに対しても同様に適用可能で
ある。 本実施例ではPRISMシステムのホストCPU
は装置と通信するために2つのプロトコルを有
するよう設計されている。CBOクラスのIBO
命令(以下CBO命令という)の場合、CPUは
CBOプロトコルを用いる。CPUは命令の実行
を継続する前に装置からの応答(CBO肯定応
答)を待機する。PBOクラスのIBO命令(以
下PBO命令という)、ロード命令、または記憶
命令の場合、CPUはPBOプロトコルを用いて
装置の状況を監視し、条件に応じて命令の実行
を継続する。(装置の状況はユニツト使用中お
よびユニツト肯定応答なる状態である。) CBOプロトコルは装置がA母線、B母線、
およびC母線の状態を保管しなくてもいいよう
に設けられている。回復状況および装置使用中
状況はソフトウエアで処理される。 PBOプロトコルはロード命令および記憶命
令のために与えられ、これによりCPUが命令
実行を継続しながら装置は自身のオペレーシヨ
ンを完了することができる。回復情報は必要な
らば装置によつて提供される。使用中状況はハ
ードウエアで処理される。 PBOプロトコルを使用する場合、CPUは
PBO要求ラインを活動化し、全ての装置がア
イドルのときは、命令実行を継続する。装置は
A母線、B母線、およびC母線の状態、ならび
に、PBO要求ラインまたはデータ要求ライン
のいずれが活動化されたかに関する状態を保管
しなければならない。こうしたパラメータはオ
ペレーシヨンを遂行するために保管される。 装置はその状況をCPUへ連続的に送つて他
の装置の状況を監視する。CPUによつて継続
される命令実行および装置の始動は装置状況ラ
インおよびCPU出力ラインの状態に依存する。 2つのタイプの応答が可能である。それは基
本的なものと補助的なものである。基本的な応
答はユニツト使用中またはユニツト肯定応答で
ある。補助的な応答は、多重サイクルのオペレ
ーシヨンの最初のサイクルでユニツト肯定応答
が活動化されることを除いて、基本的な応答と
同じである。 データがCPUに戻される場合は、ユニツト
使用中またはユニツト肯定応答が活動化されて
いる間に“T母線有効”が必ず活動化される。 基本的な応答は装置に関する状況情報を
CPUへ提供する。この情報により、ロード命
令、記憶命令、またはPBO命令がデコードさ
れたときに、CPUは命令実行を継続しまたは
停止することができる。“ユニツト使用中”が
活動化しているために命令実行が停止したとき
は、全ての装置の状況ラインが非活動化される
までCPUが命令実行を継続できるような基本
的な応答はない。 多重装置の環境では、アイドル装置は、他の
装置が“ユニツト使用中”を示す場合は、オペ
レーシヨンを開始できる。“ユニツト使用中”
を示すということは、すなわち、それらの装置
がCPUに命令実行を停止するよう、信号を送
ることである。補助的な応答は、データ記憶装
置が使用中で“データ要求”が活動化している
ときは、CPUを解放するのに用いることがで
きない。補助的な応答はアイドル装置を始動す
ることを意図するにすぎない。 装置が補助的な応答のうちの任意の1つを用
いる場合、1つのPBO命令に対して連続する
2つのサイクルでこれに応答することはできな
い。この制限は、装置が“ユニツト使用中”ラ
インの活動状態をみてその補助的な応答を用い
ることを決定した場合はCPUは“ユニツト使
用中”ラインをみてそのPBO命令を別のサイ
クルで遂行する、という理由による。もし装置
が次のサイクルで或るPBO命令に応答したと
すれば、その命令はその直前で実行したばかり
の同じPBO命令である。 PBOプロトコルを使用する装置は全て基本
的な応答を提供することが要求される。基本的
な応答の他に補助的な応答を設けることを推奨
しておくが、これらは設計者の自由である。 ロード命令および記憶命令はPBOプロトコ
ルを使用する。ただし“データ記憶要求”が活
動化されることを除く(“PBOの要求”の代わ
りに)。 (a) 基本CBOプロトコル CBOプロトコルを用いる場合、CPUは
CBO要求ラインを活動化し、装置からの
CBO肯定応答を待機する。CBO肯定応答は
CBO要求と同じサイクルで活動化されるこ
ともある。(CBO要求が装置からのデータの
ためであるときはCBO要求と同じサイクル
で“T母線有効”を活動化することはできな
い)。装置が64サイクル以内にCBO肯定応答
を活動化しないときは、CPUはプログラム
チエツク割込みをかける。 CPU肯定応答が活動化されるか、64サイ
クルの間に応答がないという理由でCPUが
プログラムチエツク割込みをかけるまでは、
CPUは自身の出力を変更しない。 装置が使用中でCBO要求を受諾できない
ときは、その装置はCBO肯定応答および
CBO使用中を活動化することがある。条件
レジスタのBBビツトがセツトされてCPUは
命令実行を継続する。CBO要求が、CPUへ
返送されるべきデータのためであるときは、
その要求は取り消され、CPUは装置からの
データの返送を待機することはない。CBO
肯定応答およびCBO使用中はCBO要求と同
じサイクルで活動化されることもある(第1
2図および第13図参照)。 ソフトウエアは、装置がCBO指令を実行
したかどうかを見るためにBBビツトを調べ
る。 (b) CBO装置切断 装置が長期間、使用中になるときは、その
装置はCPUを解放するためにCBO肯定応答
を活動化することができる。CPUはオペレ
ーシヨンが完了するのを待つて、CBO要求
がCPUへ返送されるべきデータのためであ
つたときは、必要ならば、CPUは装置から
のデータの返送を待機する。CBO肯定応答
はCBO要求と同じサイクルで活動化できる。 装置はオペレーシヨンを実行するため、A
母線、B母線、およびC母線の状態を保管す
る。 (c) CPUシステムの全体的な要件 CPUはロード命令および記憶命令のため
のPBOプロトコルを実現する必要がある。
基本的および補助的応答の機能は前述のとお
りである。 装置(母線ユニツト)がCBOプロトコル
またはPBOプロトコルを具備するか否かは、
CPUが命令の実行を継続できる一方で装置
がそのアドレスをデコードし同時に装置が
CBO肯定応答を活動化する前にそのオペコ
ードが有効かどうかをみる、ということにど
れだけの価値があるかで決まる。 PBO命令を実行する場合は、装置の状況
ラインは必ず監視され各装置によつて活動化
することができる。したがつて装置のこうし
たラインは双方向性である。 装置がCBOプロトコルを用いるときの1
つの要件はその装置が64より少ないサイクル
で全ての指令を実行できるか否かである。も
しこれが実行可能なら、CBO使用中ライン
を用いることを要望する必要はなく(何故な
らCBO要求発行のための時間およびコード
が必要であるので)、装置は条件レジスタの
BBビツトがセツトされていたかどうかを見
て必要ならCBO要求を再発行する。CPUレ
ジスタを用いて、CBO肯定応答が活動化さ
れるまではオペレーシヨンの間、データを保
持できる。CBOプロトコルを用いる装置は、
CBO要求が活動化されたときにオペレーシ
ヨンを開始できるかどうかを見るために、わ
ざわざラインを監視する必要はない。 (d) CBOプロトコルとPBOプロトコルの複合
PBOプロトコルを用いる装置とCBOプロト
コルを用いる装置は同じシステムで組み合わ
せることができる。 CBOプロトコルの場合、装置の状況の監視
はCPUが担当する。PBOプロトコルの場合、
装置の状況の監視はCPUおよび装置が担当す
る。 第3図に示すように、内部母線はCPU、デ
ータキヤツシユ機構20、および様々な母線ユ
ニツトと接続する。ロード命令および記憶命令
(CPUとデータ記憶装置との間のデータ転送
用)ならびにCBO命令またはPBO命令(各種
母線ユニツトとの通信用)が内部母線を使用す
る。 第4図に示すシステム内部母線を構成する、
CPUに入るおよびCPUから出る全てのライン
について以下に説明する。 PRISMシステムを制御する基本的なシステ
ムクロツクは、8つのサブサイクルに分けられ
る前述の基本マシンサイクルから成るとする。
T0、T47およびT63は基本マシンサイクル内の
特定の時間枠に生ずるタイミング事象に関係す
るものである。たとえば時間T6で生ずる事象
は6番目のサブサイクルの開始点から始まり6
番目のサブサイクルの終了点で終わる。言い換
えれば、これは8分の1の基本マシンサイクル
である。 T47のような表現は事象が4番目のクロツク
パルスの開始点から始まり7番目のクロツクパ
ルスの終了点で終わることを意味する。その事
象の全時間は全マシンサイクルの半分(すなわ
ちサブクロツクパルス4、5、6、および7)
である。 入力ライン T母線<0〜31> T01 T母線PAR<0〜3> T01 この母線はデータ記憶装置および母線ユニツ
トからデータおよびパリテイをCPUへ伝える。 T母線有効 この入力ラインはT01の間T母線上のデータ
が有効でそれをCPUへロードしてもよいとい
うことを示す。 CBO肯定応答 この入力ラインは母線ユニツトがCBO指令
を認識したことを示す。この入力ラインは
CBO要求があるたびごとに必ず活動化される。 この入力ラインがCBO要求の後のサイクル
で引き続き活動状態にあるときは、その指令は
継続して出されCPUは64サイクルのタイムア
ウトを続行する。 CBO使用中 CBO肯定応答が活動化しているときはこの
ラインの状態は条件レジスタのBBビツトへセ
ツトされる。BBビツトが1のときはCBO要求
が母線ユニツトによつて実行できなかつたこと
を示し、BBビツトが0のときはCBO要求が受
諾されたことを示す。 ユニツト使用中 母線ユニツトがデータ要求またはPBO要求
を1マシンサイクルで完了できないことを示す
場合にこの入力ラインを用いる。 ユニツト肯定応答 母線ユニツトがデータ要求またはPBO要求
を受諾したことを示す場合にこの入力ラインを
用いる。一定の状況のもとではこの入力ライン
はさらに母線ユニツトが要求を完了したことも
示す。(PBOオペレーシヨン参照) 出力ライン A母線<0〜31< T05 A母線PAR<0〜3> T05 CPUからデータ記憶装置へデータ記憶要求
のためのアドレスを転送する場合にA母線を用
いる。CBO命令またはPBO命令の間にCPUか
ら母線ユニツトにデータを転送する場合にもA
母線を用いる。 B母線<0〜31> T05 B母線PAR<0〜3> T05 CPUからデータ記憶装置にデータを転送す
る場合にB母線を用いる。CBO命令または
PBO命令の間にCPUから母線ユニツトにデー
タを転送する場合にもB母線を用いる。 C母線<0〜10> T47 CBO命令およびPBO命令の間アドレス情報
およびオペレーシヨン情報を送るため、ロード
命令および記憶命令の間に記憶関連情報を送る
ため、にC母線を用いる。 ロード命令または記憶命令の場合、C母線は
下記のようにして記憶関連情報を送る。
【表】 i21ないしi25 命令のビツト21ないし25 a、b、c、d B母線にあるマークビツト。それぞれバイト
C0、C1、C2、およびC3に対応。対応バイトが
記憶されるときはマークビツトは1、そうでな
いときはマークビツトは0。 u 実行されている命令がロード非再配置命令ま
たは記憶再配置命令のときは1、または、
MSR11=0でかつ実行されている命令が間接
的ロード(LIX)命令であるときは1、そうで
ないときは0。 l オペレーシヨンがロードオペレーシヨンであ
るときは1、そうでないときは0。 CBO命令またはPBO命令を含む他の全ての
命令の場合は、C母線は下記の形成を有する。
〔発明の効果〕
以上説明したように本発明によれば、CPUの
内部データ経路に多種多様な機能ユニツトを接続
することができ、CPUとそれらの機能ユニツト
との間でデータを極めて効率良く通信することが
できる。さらに、内部CPUのオペレーシヨンの
速度が影響されないようなやり方でこれらの機能
ユニツトは内部データ経路から分離される。内部
母線はCPUの要求する多数の機能をサポートす
るだけでなく、後で機能を加える際にも融通性の
ある経路となる。また設計ミスが減り、CPUの
オペレーシヨンは容易に理解でき(したがつて
CPUの構成は比較的簡単にすることができる)、
CPUの保守要件も少なくなる。内部CPUの機能
ユニツトの間で通信の方法が標準化されるので、
必要な回路数、およびそれらの機能ユニツトを制
御するのに要するワイヤーの数は少なくてよい。
【図面の簡単な説明】
第1図は本発明を利用することのできる
PRISMシステムの構成例を示すブロツク図、第
2図は第2A図および第2B図のつながりを示す
図、第2A図および第2B図はCPUの構成例を
示すブロツク図、第3図は内部母線の接続の様子
を示すブロツク図、第4図は内部母線インターフ
エースを示すブロツク図、第5図はCPUのうち
内部母線オペレーシヨンの間に働く部分を示すブ
ロツク図、第6図は母線ユニツトのうち内部母線
オペレーシヨン要求に応答して働く部分を示すブ
ロツク図、第7図はPBOプロトコルおよびデー
タ要求プロトコルを示す流れ図、第8図、第9A
図および第9B図、第10A図および第10B
図、ならびに第11A図および第11B図は、そ
れぞれ、PBOオペレーシヨンの間に発生される
内部母線インターフエース制御信号のタイミング
を表わす図、第9図は第9A図および第9B図の
つながりを示す図、第10図は第10A図および
第10B図のつながりを示す図、第11図は第1
1A図および第11B図のつながりを示す図、第
12図および第13図は、それぞれ、CBOオペ
レーシヨンの間に発生される内部母線インターフ
エース制御信号のタイミングを表わす図である。

Claims (1)

  1. 【特許請求の範囲】 1 CPUと、独立に動作可能な1または複数の
    母線ユニツトと、該すべての母線ユニツトと前記
    CPUとを接続する内部母線とを有する計算機シ
    ステムにおいて、 前記CPUで実行されるCPUオペレーシヨン、
    前記母線ユニツトで実行される母線ユニツト・オ
    ペレーシヨン、該母線ユニツト・オペレーシヨン
    が要求される母線ユニツト、前記母線ユニツト・
    オペレーシヨンで必要なオペランドを生成するた
    めのデータが少なくとも定義された命令を受け取
    つて前記CPUオペレーシヨンを定義するフイー
    ルドをデコードして前記CPUおよび前記要求さ
    れる母線ユニツトの間の通信プロトコル・データ
    を生成するデコード手段と、該通信プロトコル・
    データに応じて前記母線ユニツトがわとの通信を
    制御する手段とを前記CPUに設け、さらに、 前記要求される母線ユニツトおよび前記母線ユ
    ニツト・オペレーシヨンを定義するフイールドを
    受け取つてデコードし対応する母線ユニツトのオ
    ペレーシヨンを制御する手段と、前記通信プロト
    コル・データに応じて前記CPUがわとの通信を
    制御する手段とを前記母線ユニツトの各々に設け
    るようにしたことを特徴とする内部母線システ
    ム。
JP59242563A 1983-12-29 1984-11-19 内部母線システム Granted JPS60142743A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/566,925 US4947316A (en) 1983-12-29 1983-12-29 Internal bus architecture employing a simplified rapidly executable instruction set
US566925 1990-08-14

Publications (2)

Publication Number Publication Date
JPS60142743A JPS60142743A (ja) 1985-07-27
JPH0135367B2 true JPH0135367B2 (ja) 1989-07-25

Family

ID=24264994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59242563A Granted JPS60142743A (ja) 1983-12-29 1984-11-19 内部母線システム

Country Status (8)

Country Link
US (1) US4947316A (ja)
EP (1) EP0148975B1 (ja)
JP (1) JPS60142743A (ja)
AU (1) AU574737B2 (ja)
BR (1) BR8406533A (ja)
CA (1) CA1217869A (ja)
DE (1) DE3483152D1 (ja)
ES (1) ES536181A0 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2606750B2 (fr) * 1986-07-07 1989-03-03 Oreal Recipient comprenant un col et une capsule manoeuvrable avec une seule main
JPS63259727A (ja) * 1987-04-17 1988-10-26 Hitachi Ltd コプロセツサのインタ−フエイス方式
JPH02190930A (ja) * 1988-12-29 1990-07-26 Internatl Business Mach Corp <Ibm> ソフトウエア命令実行装置
JPH02188866A (ja) * 1989-01-17 1990-07-24 Fujitsu Ltd コプロセッサにおける事象管理方式
JPH0314025A (ja) * 1989-06-13 1991-01-22 Nec Corp 命令実行制御方式
JP2879607B2 (ja) * 1990-03-15 1999-04-05 サン・マイクロシステムズ・インコーポレーテッド 機能停止キャッシュを提供する装置と方法
US5418956A (en) * 1992-02-26 1995-05-23 Microsoft Corporation Method and system for avoiding selector loads
US5535405A (en) * 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
US6151661A (en) * 1994-03-03 2000-11-21 International Business Machines Corporation Cache memory storage space management system and method
US5787472A (en) * 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
JP2933027B2 (ja) * 1996-08-30 1999-08-09 日本電気株式会社 複数命令並列発行/実行管理装置
KR100417398B1 (ko) * 1996-09-11 2004-04-03 엘지전자 주식회사 디에스피의명령어블록반복처리방법
US6256693B1 (en) * 1999-07-15 2001-07-03 3Com Corporation Master/slave data bus employing undirectional address and data lines and request/acknowledge signaling
US6658510B1 (en) * 2000-10-18 2003-12-02 International Business Machines Corporation Software method to retry access to peripherals that can cause bus timeouts during momentary busy periods
US20060136608A1 (en) * 2004-12-22 2006-06-22 Gilbert Jeffrey D System and method for control registers accessed via private operations
US9110657B2 (en) 2013-01-21 2015-08-18 Tom Yap Flowchart compiler for a compound complex instruction set computer (CCISC) processor architecture
US9405534B2 (en) 2013-01-21 2016-08-02 Tom Yap Compound complex instruction set computer (CCISC) processor architecture
GB201709752D0 (en) * 2017-06-19 2017-08-02 Advanced Risc Mach Ltd Graphics processing systems
WO2020157594A1 (en) 2019-01-31 2020-08-06 International Business Machines Corporation Handling an input/output store instruction
TWI767175B (zh) * 2019-01-31 2022-06-11 美商萬國商業機器公司 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品
TWI773959B (zh) 2019-01-31 2022-08-11 美商萬國商業機器公司 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品
WO2020156797A1 (en) 2019-01-31 2020-08-06 International Business Machines Corporation Handling an input/output store instruction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49100938A (ja) * 1972-10-10 1974-09-24
JPS53135530A (en) * 1977-04-28 1978-11-27 Ibm Interface
JPS5563418A (en) * 1978-11-06 1980-05-13 Toshiba Corp Option connecting system
JPS55150041A (en) * 1979-05-11 1980-11-21 Hitachi Ltd Arithmetic processor

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3753234A (en) * 1972-02-25 1973-08-14 Reliance Electric Co Multicomputer system with simultaneous data interchange between computers
US4014006A (en) * 1973-08-10 1977-03-22 Data General Corporation Data processing system having a unique cpu and memory tuning relationship and data path configuration
US4270167A (en) * 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4493020A (en) * 1980-05-06 1985-01-08 Burroughs Corporation Microprogrammed digital data processor employing microinstruction tasking and dynamic register allocation
JPS57164340A (en) * 1981-04-03 1982-10-08 Hitachi Ltd Information processing method
US4467412A (en) * 1981-05-18 1984-08-21 Atari, Inc. Slave processor with clock controlled by internal ROM & master processor
US4530051A (en) * 1982-09-10 1985-07-16 At&T Bell Laboratories Program process execution in a distributed multiprocessor system
US4594660A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Collector
US4638453A (en) * 1983-03-28 1987-01-20 Motorola, Inc. Signal processing unit
US4564901A (en) * 1983-07-21 1986-01-14 Burroughs Corporation Method of performing a sequence of related activities via multiple asynchronously intercoupled digital processors

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS49100938A (ja) * 1972-10-10 1974-09-24
JPS53135530A (en) * 1977-04-28 1978-11-27 Ibm Interface
JPS5563418A (en) * 1978-11-06 1980-05-13 Toshiba Corp Option connecting system
JPS55150041A (en) * 1979-05-11 1980-11-21 Hitachi Ltd Arithmetic processor

Also Published As

Publication number Publication date
EP0148975B1 (en) 1990-09-05
ES8603095A1 (es) 1985-10-16
CA1217869A (en) 1987-02-10
DE3483152D1 (de) 1990-10-11
JPS60142743A (ja) 1985-07-27
US4947316A (en) 1990-08-07
BR8406533A (pt) 1985-10-15
EP0148975A3 (en) 1988-02-03
AU3548884A (en) 1985-07-04
AU574737B2 (en) 1988-07-14
ES536181A0 (es) 1985-10-16
EP0148975A2 (en) 1985-07-24

Similar Documents

Publication Publication Date Title
JPH0135367B2 (ja)
US4802085A (en) Apparatus and method for detecting and handling memory-mapped I/O by a pipelined microprocessor
US5375216A (en) Apparatus and method for optimizing performance of a cache memory in a data processing system
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
US6230259B1 (en) Transparent extended state save
US5727227A (en) Interrupt coprocessor configured to process interrupts in a computer system
US20010010072A1 (en) Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them
EP0405495B1 (en) Instruction unit logic management apparatus included in a pipelined processing unit and method therefor
JPH0228173B2 (ja)
JPH0135366B2 (ja)
US5263153A (en) Monitoring control flow in a microprocessor
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
JPH08278918A (ja) エンディアンタスクを実行するシステム及び方法
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
US5802359A (en) Mapping processor state into a millicode addressable processor state register array
US5021991A (en) Coprocessor instruction format
EP0525831B1 (en) Method and apparatus for enabling a processor to coordinate with a coprocessor in the execution of an instruction which is in the intruction stream of the processor.
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US6012138A (en) Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US4914578A (en) Method and apparatus for interrupting a coprocessor
JP4865960B2 (ja) データ処理装置およびその制御方法
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US4994961A (en) Coprocessor instruction format