JPH02224124A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH02224124A
JPH02224124A JP1329412A JP32941289A JPH02224124A JP H02224124 A JPH02224124 A JP H02224124A JP 1329412 A JP1329412 A JP 1329412A JP 32941289 A JP32941289 A JP 32941289A JP H02224124 A JPH02224124 A JP H02224124A
Authority
JP
Japan
Prior art keywords
instruction
unit
type
instructions
register
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
Application number
JP1329412A
Other languages
English (en)
Other versions
JPH0776922B2 (ja
Inventor
Ming-Tzer Miu
ミン―ツザー・ミウ
Thomas F Joyce
トーマス・エフ・ジョイス
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.)
Bull HN Information Systems Inc
Original Assignee
Bull HN Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bull HN Information Systems Inc filed Critical Bull HN Information Systems Inc
Publication of JPH02224124A publication Critical patent/JPH02224124A/ja
Publication of JPH0776922B2 publication Critical patent/JPH0776922B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3873Variable length pipelines, e.g. elastic pipeline
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Processing (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (関連出願) 下記の米国特許出願は、本願と同日付で出願され本願と
同じ譲受け人に論減された関連出願である。
1、  R,P、  KellySJian−にuo 
5henSR,V、  Lcdouxおよびり、 K、
 5taplinの未国特許出願第号[多重ソースから
の制御ストアのアドレス指定]2、 R,p、 Kel
lySJian−にuo 5henSR,V、 Lcd
ouxおよびC,M、 N1bbyの米国特許出願第 
   号[制御ストアの2倍ポンプ・オペレーション」
3、  R,P、  Kelly およびR,V、  
Ledoux の米国特許出願第     号[一義的
な命令実行介しアドレスを生成する制御ストア・アドレ
ス・ジェネレータ」 4、 D、  E、  Cushing、 R,Kha
rilchSJian−Ku。
5hen  およびWing−Tzer Miu  の
米国特許出願第    号[2重ポート読出し/書込み
レジスタ・ファイル・メモリー] 5、 D、 E、 Cushing、 R,P、 Ke
llySR,V、 LedouxおよびJian−にu
o 5henの米国特許出願第号「多重ユニットのレジ
スタ・ファイル・メモリーを自動的に更新する機構」 (技術分野) 本発明は、データ処理システムに関し、特にパイプライ
ン方式で命令を実行するシステムに関する。
(従来技術) データ処理システムが、命令およびオペランドを格納す
るためのメモリーおよび命令を実行するための処理装置
を含むことは周知である。この、処理装置は、メモリー
から命令を取り出し、オペランドアドレスを生成し、オ
ペランド(単数または複数)をメモリーから取り出す。
処理装置は、次に命令を実行し、その結果前るオペラン
ド(単数または複数)を再びメモリーの指定された場所
へ格納する。次いで処理装置は、次の命令を取り出す。
逐次操作、特にメモリーをアクセスする必要は、しばし
ばシステムの処理能力における制約となっていた。従っ
て、キャッシュが性能向上のためシステムに付設された
。最初に、キャッシュは命令とオペランドの両方を格納
したが、最近の設計では命令キャッシュとデータ・キャ
ッシュを含むことになった。
略々同じ時期に、このデータ処理システムの設計は、パ
イプライン操作において実現された。
これまでは、命令は順次実行され、即ち前の命令の実行
が完了した後で始めて次の命令が取り出されたが、新し
い設計では、命令の実行はパイプライン化された。パイ
プライン操作においては、システムは、命令が取り出さ
れて分析される命令段、オペランドのアドレスが生成さ
れるアドレス段、オペランドが取り出されるメモリーあ
るいはキャッシュ段、および命令が完了される実行段の
如き多数の段に構成されている。命令はパイプラインに
対して順次入れられる。命令の処理が命令段において完
了すると直ちに、命令はアドレス段へ送られて、次の処
理されるべき命令が取り出される。従って、上記の4段
のシステムにおいては、4つの命令の異なる部分が同時
に実行することができた。
しかし、上記の種類のパイプライン操作の処理能力は、
各命令の実行がパイプラインの各段を通ることを必要と
するため制限される。性能を改善するために、あるシス
テムは、可能な場合はパイプラインのある段により実行
されつつある操作を重複させる。
このようなパイプライン装置の一例は、米国特許第4.
760.519号「競合の検出および予測を用いるデー
タ処理装置および方法」において記載されている。この
システムは、2つの独立的なパイプライン、即ち3段の
命令パイプラインと3段の実行パイプラインとを含む。
命令パイプラインの最終段は、実行パイプラインの最初
の段に重なるように接続される。この種のシステムにお
いては、命令は依然として完了のため最低5サイクル・
タイムを必要とした。
従って、本発明の主な目的は、高性能のパイプライン・
システムの提供にある。
本発明の別の目的は、命令の実行をできる限り最少数の
パイプライン段を用いて完了するシステムの提供にある
(発明の要約) 上記および他の目的は、プロダクションライン・システ
ムとして構成されプロダクションパイプラインを通過す
る各命令についてそれぞれ異なる1つの操作を実行する
多数の装置を含む処理装置の望ましい本発明の実施態様
において達成される。
ある種の命令は、上段の装置により実行され、プロダク
ションラインから落とされる。これは、以降の命令を実
行するよう」−段の装置を解放する。
池の種類の命令は、プロダクションラインの終りに実行
される。このため、システムの全体的な処理能力が改善
される。
更に詳細には、最初のサイクルにおいて、第1の装置で
ある命令ユニットが命令をメモリーから取り出し、第2
のサイクルの間、この命令ユニットが命令を復号しであ
る分岐命令を実行する。アドレス(A)ユニットに対応
する第2ののユニットが、命令ユニットから命令を受け
取り、第3のサイクルの間に、以降のサイクルにおいて
「メモリー」命令の実行の完了に必要なメモリー内のオ
ペランドの場所を指定するアドレスを生成するかまたは
「レジスタ」命令を実行する。このオペランドは、「メ
モリー」命令に対する第4のサイクルの間にメモリーか
ら取り出され、一連のプロダクションラインの装置の更
に別の装置により実行され、第5のサイクルの間にプロ
ダクションから除外される。第2の操作サイクルの間に
実行された分岐命令、および第3の操作サイクルの間に
実行された「レジスタ」命令は、プロダクションライン
から有効に落とされ即ち除外され、従ってプロダクショ
ンラインにおけるそれ以上のサイクルを必要とせず、こ
れによりシステムの処理能力を改善するのである。
(実施例) 第1図は、プロダクション・パイプライン・データ処理
システムのブロック図を示している。
中央処理装置(CPU)2と、仮想メモリー管理装置Z
 (VMMU)4と、キャッシュ装置6と、メモリー・
サブンステム8と、入出力周辺装置器とが含まれる。キ
ャッシュ装置6と、記憶装置M/ 8と、入出力周辺装
置10とは、全て一緒に1つのシステム・バスに接続さ
れる。メモリー8は、命令およびオペランドを格納する
。即時に実行される最も高い可能性を有するこれらのオ
ペランドおよび命令は、メモリー・サブンステムからキ
ャッシュ格納6へ転送される。
CPU2は、キャッシュ格納6から命令を受け取り、こ
れらの命令の実行時に、命令の仮想アドレス部分をVM
MU4へ送出する。VMMU4は、仮想アドレスをCP
U2が命令を実行することを許すのに必要なオペランド
を取り出すためにキャッシュ装置6へ与えられる物理的
アドレスへ転送する。
入出力装置IOは、典型的には自らの装置を有するいく
つかの周辺コントローラ、または周辺コントローラおよ
び装置を制御する入出カプロセッサを表し、あるいは本
装置10は通信サブンステムを表す。
第2図は、ブロンク図形態において、CPU2およびキ
ャッシュ装置6を構成する主要な要素を示している。C
PU2は、命令(r)ユニット22、Δユニット2−4
、および多数の実行(E)ユニット2−6を含む。実行
ユニット2−6は、科学演算命令プロセッサあるいは商
用の命令プロセッサでよい。しかし、記述を簡単にする
タメ、このQ 令ユニ7ト2−6の1つの動作について
のみ説明すれば、本発明の理解に充分である。
キャッシュ装置6は、2キャッシュ6−2およびEキャ
ッシュ6−4を含む。夏キャッシュ6−2は、実行され
るべき命令を格納し、IEキャッシュ6−4は命令がそ
れについて実行するオペランドを格納する。1ユニット
2−2は、実質的に2つの機能を行う。この装置は、!
キャッシュ6−2から命令を予め取り出し、次いでこれ
らの命令を分解して他の装置、即ちAユニット2−4お
よび1シュニット2−6が如何にして命令を更に処理す
るかを決定する。
更に、■ユニット2−2はある分岐命令を実行し、この
命令は次にプロダクション・ラインから除外される。
Δユニット2−41;t、lユニット2−2から命令を
受け取り、もしこの命令がレジスタ間命令ならばこれを
実行する。この命令がEユニット2−6により実行され
るべきならば、Aユニット2−4は仮想アドレスをVM
MU4へ送出し、これがこのアドレスをEキャッシュ装
置6−4に対する物理的アドレスへ転送する。Cキャッ
シュ6−4は、■キャッシュ装置6−2から命令ユニッ
ト2−2によって最初に受け取った命令実行を完了する
ため、オペランドをEユニット2−6へ送出する。
A装置2−4はまた、分岐命令の実行を確認して、この
分岐アドレスを再び命令ユニット22へ戻し、この命令
ユニットは既に!ユニット2−2の事前取り出し分岐ア
ドレスにより指定された1キャッシュ6−2における場
所の次の命令を要求している。Δユニット2−4および
Eユニット2−6は、プログラマがアクセスできるレジ
スタ、即ちいわゆるソフトウェア・ビジブル・レジスタ
の内容を格納するレジスタ・ファイルを含む。1キャッ
シュ6−2とCキャッシュ6−4の双方は、システム・
バス12と接続され、その内容はメモリー8から受け取
られる命令およびオペランドで更新される。
命令は、CPU2の各要素によってプロダクション・パ
イプライン方式で実行される。即ち、■ユニット2−2
は1キャッシュ6−2から命令を受け取り、これを分解
した後、この命令をΔユニット2−4へ送出する。この
Aユニット2−4は、命令を実行するか、あるいはCキ
ャッシュ6−4をアドレス指定するため翻訳するために
仮想アドレスをVMMU4へ送出する。
Cキャッシュ6−4は、指定されたオペランドをEユニ
ット2−6へ送出する。
Aユニツ) 2−41;! l !ニット2−2からの
最初の命令のその部分を実行中、■ユニット2−2は2
番目の命令および以降の命令を!キャッシュ6−2から
取り出しつつある。
Aユニット2−4が最初の命令により指定される仮想ア
ドレスをVMMU4へ送出してこの事象について夏ユニ
ット2−2へ通知する時、lユニット2−2は2番目の
命令をAユニット2−4へ送出する。VMMU4は、A
ユニット2−4が2番目の命令をパイプラインで処理中
、Cキャッシュ6−4をアドレス指定する。Eユニット
2−6が最初の命令を実行中、Aユニット2−4が第3
の命令の仮想アドレスを生成しつつある間、VMMU4
は2番1」の命令のオペラン下を取り出すEキャッシュ
でよい。
その間、!ユニット2−2は第4の命令を分解して以降
の命令の1つを取り出しつつある。
従って、このような典型事例においては、プロダクショ
ン・ラインを流れる5つの命令があり得る。
しかし、■ユニット2−2はある分岐命令を実行するこ
とができ、またAユニット2−4はあるソフトウェア・
ビジプルなレジスタ命令を実行することができるため、
これらはこの命令の実行が完了すると直ちに、プロダク
ション・ラインから除外される。同様に、Aユニット2
−4が分岐命令を処理しつつあり分岐の条件が満たされ
る時、Δユニット2−4は直ちに!ユニット2−2の分
岐アドレスを確認し、この分岐命令はプロダクション・
ラインから取除かれる。この作動モードおよび方法は、
結果として従来技術と比較して処理能力が増大すること
になる。
第3図は、命令ユニット2−2、Δユニット2−4、実
行ユニット2−6の諸要素およびその谷々の相互接続を
更に詳細に示している。
QI令ユニット2−2のPカウンタ2−200は、Aユ
ニット2−4によって仮想アドレスをロードされる。こ
の仮想アドレスは、パイプラインに入れられるべき次の
命令の場所の■キャッシュ6−2におけるアドレスであ
る。[−FETC11サイクルの間、仮想アドレスは加
算器2−202  およびレジスタVAO2−204あ
るいはレジスタVAI2−206  のいずれか一方を
介して、■キャッシュ6−2へ転送される。レジスタV
Δ0 2−204あるいはレジスタV A 1 2−2
06の一方が、分岐命令が取り出されるまで使用される
次いで、もしレジスタVΔ0 2−204が付勢される
ならば、分岐命令により求められるアドレスがレジスタ
V A 1 2−206に格納されることになる。
分岐アドレスがPカウンタ2−200およびプログラム
・カウンタ2−416レジスタに別々に保持される理由
は、もしこれが条件付き分岐であれば、この条件は満た
されるかあるいは満たされない故である。もしこの条件
が満たされなければ、分岐は結果として生じない。この
ため、システムに分岐により求められたアドレスを使用
するか使用しない選択を与える。ファームウェアの制御
下にあるPカウンタ2−200は、1ワード命令に対し
工1ずつ増分され、1つの2倍ワード命令毎に2つずつ
増分され、あるいはAユニット2−4からの分岐アドレ
スにより置換される。
命令は、!キヤ・ンシュ6−2からストリング・バッフ
ァA 2−220あるいはストリング・バッファB 2
−221のいずれかへ読出される。ここで再び、分岐命
令が存在するまで、1組のストリング・バッファがlキ
ャッシュ6−2から連続的な命令を受け取る。次いで、
この分岐命令に続(命令が、1山のストリングにおける
バンフ7に格納される。例えば、もしこのストリング・
バッフ1Δ 2−220が使用されていたならば、分岐
命令に続く命令が、ストリング・バッフy I’3 2
−221に格納されることになる。処理能力は、分岐条
件が満たされ夏ユニット2−4がストリング・バッファ
B  2−221から分岐ストリングを取り出す場合に
、両方の命令セットを格納することによって改善される
この命令は、次に、これがどんな種類の命令であるかを
判定する命令分解ロジック2−210へ送られる。即ち
、もしこれがソフトウェア・ビジプルなレジスタ間命令
であれば、この命令は、Eユニット2−6により実行さ
れることになるメモリー命令であるならば、Aユニット
2−4によって実行されることになる。
この命令は、分解ロジック2−210からAユニット制
御ストア2−430をアドレス指定するAユニット・フ
ァームウェア・アドレス・ジェネレータ2−208へ送
られる。このアドレス指定された場所の内容は、Aユニ
ット2−4におけるRDR(A)レジスタ2−406に
格納される。
ストリング・バッファ2−220または2−221から
の命令信号1 1NSTR0−31は、Aユニシト2−
4における命令(R[N5TR)レジスタ2−400へ
転送される。もしこの命令がEユニット2−6により実
行されるならば、これはまたEユニット2−6における
命令先入れ先出しレジスタ(F I F O) 2−6
00に格納される。
コノ命令1;jまた、■ユニット2−4からの信号r−
BEGINの制御下でAユニット2−4の0P−COD
Eレジスタ2−402に格納される。
RI N5TRレジスタ2−/100  および0P−
CODEレジスタ2−402の双方は、それぞれ32ピ
ントの2倍ワードを格納する。もし命令が2つまたは3
つの2倍ワードを要求するならば、この命令に対する0
P−CODEレジスタ2−/102に止まるが、この命
令の各2倍ワードは更に命令レジスタ2−400に格納
される。
0P−CODEレジスタ2−402の出力は、主として
0P−CODEレンスタ2−402およびレジスタRD
R(A)2−406にそれぞれ格納された0P−COD
Eおよびファームウェア・ビットの制御下でレジスタ・
ファイル2−404をアドレス指定するために使用され
る。レジスタ・ファイル2−404は、ソフトウェア・
ビジブル・レジスタを含む。もし実行中の命令がメモリ
ー命令であれば、仮想アドレスが生成され、演算論理ユ
ニット(ALU)2−412を介してVMMU4へ送出
される。Aユニシト2−6により実行される命令に応じ
て、ALU2−412に対する入力はRINSTRレジ
スタ2−400.0P−CODEレジスタ2−402、
レジスタ・ファイル2−404、あるいはプログラム・
カウンタ2−416により、A側へ与えることができる
。ALU2−412のB刺入力は、加算器2−408を
介して、あるいはレジスタ・ファイル2−404  か
ら指標あるいはオフセット操作のため指標シフタ2−4
10により与えられる。もしこれがレジスタ命令、例え
ばレジスタ・ファイル2−404におけるソフトウェア
・ビジブル・レジスタの内容のシフト操作であれば、レ
ジスタ・ファイル2−404の出力はシフタ2−414
へ与えられ、命令により指定されるビット数にシフトさ
れ、これが読出された同じレジスタのレジスタ・ファイ
ル2−404  に再び格納され得る。
指標レジスタ2−412は、分岐命令を含むある命令に
対するプログラム状態標識を含む。このレジスタのビッ
トは、このビットをオフセットするための最後の操作の
桁溢れ標識(または)、桁上げ標識(C)、テストされ
た最後のビットの状態を表すビット・テスト操作、およ
び最後の周辺照会の状態を表す入出力標識(1)を含む
。また、最後の比較の結果を表す、より大きい(G)、
より小さい(L)および似ていない(U)の記号も含ま
れる。
類似の標識ビットは、科学計算および商業的演算命令の
ため使用される。
従って1、池の条件付き分岐命令は標識ビットをテスト
して、もし条件が真であれば分岐する。
他の条件付き分岐命令は、レジスタ・ファイル2−40
4および2−610における選択されたソフトウェア・
ビジプルなレジスタの条件をテストすることになる。分
岐命令の0P−CODEは、選択されたソフトウェア・
ビジブル・レジスタの真の状態、即ち、これがゼロより
小さいか、ゼロより大きいか、ゼロに等しいか、ゼロに
等しくないか、ゼロより小さくも等しくもないか、ある
いは奇数か偶数かを指定することになる。
分岐命令のタイプは、16ビツトまでの短い変位、30
ビツトの大きい変位を含む。分岐命令は、力1(条件分
岐タイプあるいは条件付き分岐タイプがあり得る。■ユ
ニット2−2は、全ての短い変位分岐命令に対する分岐
ア°ドレスを生成することになる。このユニットは、ス
トリング・バッファ2−220あるいは2−221にあ
る変位フィールドの内容を加算器2−202によりPカ
ウンタ2−200の内容へ加算することによりこれを行
う。
分岐ストリームは、!キャッシュ6−2からストリング
・バッファ2−220または2−221へ読出される。
もし分岐命令が無条件分岐を指定するならば、■ユニッ
ト2−2は分岐命令を実行し、分岐命令ストリームにお
ける次の命令の分解を開始する。
もしこの分岐命令が条件付き分岐命令であれば、■ユニ
ット2−2はAユニット2−4を待機して、どの命令ス
トリームを■ユニット2−2が分解するかの判定を行う
。0P−CODE2−402、レジスタ・ファイル2−
404および標識レジスタ2−417からの信号が分岐
ロジック2−401へ与えられる。RDR(A)2−4
06は信号A−P−LDを生じ、次いでA L U 2
−412からの分岐アドレス(i 号がPカウンタ2−
200ヘロードされ、分岐ロジック2−401がビット
位置46〜50あるいは!6進数07を生成する。信号
A −B RA N C[−1およびA−P−LDがP
カウンタ2−200へ与えられ、信号A −B RA 
N CHが0P−CODEレジスタ信号から生成されて
分岐の種類、指定された標識レジスタ2−417の状態
、およびあるソフトウェア・ビジブル・レジスタの状態
を指示する。もし両方の信号が真ならば、!ユニット2
−2が分岐命令ストリームにおける命令の分解を開始す
る。もし信号A−P−LDが真でありかつA −B R
A S CI−1が偽ならば、■ユニット2−2は元の
命令ストリームの分解を開始する。
元の夏ユニット2−2において命令が分岐を求めかつ変
位を有するならば、分解ユニット2−210 からの変
位がPカウンタ2−200の内容に加算されるべく加算
器2−202へ与えられ、レジス9 V A O2−2
04またlet L/ジス9 VA 12−206のい
ずれか一方に格納されてIキャッシュ6−2へ与えられ
る。
Aユニット2−4が命令の実行を完了した時、Δ−DO
NE信号がlユニット2−2の分解ロジック2−210
へ送出される。これは、1ユニット2−2に対しストリ
ング・バッファ2−220または2−221に格納され
次の命令をAユニット2−4へ、また必要ならばEユニ
ット2−6へ送ることを通知する。もしある命令がEユ
ニット2−6による実行を求めるならば、1ユニット2
−2はこの命令を信号[−E−LASTおよび信号1−
E−F [?STの制御下で命令F I FO2−60
0へ送出する。これらの信号は命令FIFO2−600
のロードを制御する。
信号について説明するプール式が付属書(At”PEN
DIX)に示されており、適当な時に参照すべきである
。+−nEc+N(g号は、CRACK信号が生成され
、システムが保持モードになく、クロック・ロジックを
含む論理ブロックがストール・モードにない時、Aユニ
ット2−4により受け取られる。
作動可能ロジックおよびフリップフロップ2−222が
命令の分解の用意があり、ストリング・バッフy A 
 2−220あるいはストリング・バッファB  2−
221が少なくとも1つの命令を格納し、またΔユニッ
ト2−4がADONE信号を生成してこのAユニットが
次の命令の処理のため使用可能である時、CRA CK
信号が生成される。
lユニット2−2は、分解されつつある命令がEユニッ
ト2−6により実行されるならば、作動可能ロジックお
よびフリップフロップ2−222によりI−E−FIR
3Tおよびl −E −LΔS′「信号を生成する。両
方の信号は、I−FIFO2−600へ与えられる。信
号1−E−F’1R8Tは、このI−E−F I R5
T信号はI−F I FO2−600が2倍ワード命令
を格納することを可能にする。
1−E−LAST信号は、I −F I F 02−6
00がJ1′1−ワード命令を格納することを可能にす
る。
■ユニット2−2はAユニット2−4において実行すべ
き命令を送出し、またもしこの命令がEユニット2−6
において実行されるべきであるならば、I −F I 
F 02−600のみに対して送出する。Eユニット2
−6においては、IF I F 02−600が実行す
る次の命令Iは、Eユニット制御ストア2−604のア
ドレス格納場所を生成する次のアドレス・ジェネレータ
2−602へ与えられる。ファームウェア・ワードはレ
ジスタRDR(E)2−606に格納される。I−FI
FO2−600は4つまでの命令を格納する。
Aユニット2−4がその仮想アドレスをvMMU4へ送
出する時、コ(7) V M M U 41;!Eキャ
ッシュ6−4をアドレス指定する物理的アドレスを生成
する。このアドレス指定された場所の内容は、単一ワー
ドの転送のため、あるいは2倍ワードの転送のため、信
号LD−DAT−0015およびLD−DAT−163
1によりEユニ、ット2−6におけるデータPIF02
−630に格納される。信号L D −D A T −
0015はまた、データF I F O2−630の書
込みアドレスを1だけ増分して、次の転送を受け入れる
このデータは、命令がそれについて演算するオペランド
である。Eユニット2−6は、そのオペランドがデータ
F I 1” 02−630のソフトウェア・ビジプル
なレジスタに格納される命令を実行する。
Eユニット2−6による命令の実行中、標識の状態は、
AlO2−608から受け取った信号から信号E−I 
DATO−8を生成する標識ロジック2−623により
変更することができる。信号E−IDATQ−3はAユ
ニ・ソト2−41こお1する標識レジスタ2−417を
更新する。
Eユニット2−〇により実行され、オペランドを要求し
ないある命令の場合は、Aユニット2−4は仮想アドレ
ス、16進数40をVMMU4へ送出することによりダ
ミー・サイクルを生成する。
この結果Eキャッシュ6−4を生じて、「ダミー」オペ
ランドにより信号LD−DAT−1631をデータF 
I F O2−630へ送ることによりダミー・サイク
ルを生じる。
乗算器2−616がレジスタ・ファイル2−610のA
およびBと接続されて、シック2−618およびQレジ
スタ2−G20と関連して部分積を生じてこれを格納す
る。この部分積は、結果マルチプレクサ(MUX)2−
622に与えられ、レジスタ・ファイル2−610の蓄
積場所に格納される。乗算が完了すると、最後の結果が
レジスタ・ファイル2−610のソフトウェア・ビジブ
ル・レジスタの1つに格納される。
スワップ・ロジック2−612は、レジスタ・ファイル
2−610のB側から2倍ワード内のワードのスワツピ
ングおよび単一ワード内のバイトのスワツピングのため
オペランドを受け取る。
16ビツト・ワードは8ビツトのバイトからなっている
。2倍ワードは、2つの16ビツトの単一ワードあるい
は4つの8ビツト・バイトからなっている。符号エクス
テンダ2−614は、2倍ワードの最上位ビットの左側
に2倍ワードの全ての上位位置の符号を反復する。
CTIおよびCT2カウンタ2−624は、結果として
生じる浮動小数点の指数の計算に用いられる。
浮動小数点オペランドの仮数は、A L U 2−60
8およびシフタ2−618によって処理される。これら
は周知の方法で行われる。
E ユ=7)2−6g、:お1するA−Lニラ)2−4
および2−610を有する両方のレジスタ・ファイル2
−404  におけるソフトウェア・ビジブル・レジス
タは、これらが共に同じ情報を含むように連続するサイ
クルにおいて更新される。これは、RDR(A)レジス
タ2−406からのファームウェア信号により行われ、
これらの信号は、レジスタ・ファイル2−610を使用
可能にする更新信号A−UPDTと、レジスタ・ファイ
ル2−404のDターミナルからのデータをレジスタ・
ファイル2−610のDターミナルへ格納するためレジ
スタ・ファイル2−610のアドレス・ターミナルに与
えられる6つのA−ADH信号とを生成するためロジッ
ク2−420に与えられる。同様に、RDR(E)2−
606からのE−UPDT信号は、ロジック2−601
からの信号E−ADRにより指定されるアドレスにレジ
スタ・ファイル2−404がデータを格納することを可
能にする。レジスタ2−601  は、I −F I 
F 02−600からの命令信号およびレジスタRDR
(E)2−606からのファームウェア信号から信号E
−ADRを生成する。
Aユニット2−4のプログラム・カウンタ2−416は
、次の命令のアドレスを格納する。
Iユニット2−2におけるPカウンタ2−200もまた
、次の命令のアドレスを格納する。このレジスタが2つ
である理由は、条件付き分岐の場合に、■ユニット2−
2のPカウンタ2−200  が使用される場合に分岐
アドレスを格納するが、プログラム・カウンタ2−41
6はこの分岐アドレスを格納しないでその時実行中のシ
ーケンスにおける次のアドレスを格納する。
下記の事例は、本発明のプロダクション・ラインの運転
の利点を示す。第4図は、!キャッシュ6−2の多数の
格納場所の内容を示している。
この格納場所およびデータは、16進数の形態で示され
ている。本例においては、場所1000および1001
は、16進数の4Fのオフセントを持つ32ビツトの2
倍ワードのロードBルジスタの命令を格納する。このた
め、VMMU4に与えられる仮想アドレスとして100
0プラス1プラス4F即ち16進数1050のアドレス
を与える。この仮想アドレスは、Eキャッシュ6−4の
物理的アドレスの場所を指示する。
この物理的アドレスの場所の内容はレジスタB1へロー
ドされるが、このレジスタはAユニット2−4における
レジスタ・ファイル2−404およびEユニット2−6
におけるレジスタ・ファイル2−610の両方における
ソフトウェア・ビジブル・レジスタである。同様に、レ
ジスタB2は、場所1002および1003に格納され
た32ビツトの2倍ワード命令ロード・レジスタB2か
らロードされることになる。場所1004は、レジスタ
・ファイル2−404および2−610における別のソ
フトウェア・ビジブル・レジスタであるレジスタR1の
内容である単一ワード命令の5HIFT  0PEN 
 LEFT  3を格納する。場所1005は、プログ
ラム・カウンタ2−416の内容に対してプラス5を加
えて夏キャッシュ6−2における場所100Aおよび1
0013にある2倍ワード命令ロード・レジスタR7を
指示するため、分岐命令を格納する。
場所1006および1007は、レジスタR3の内容が
格納場所0010(Eキャッシュ6−4)の内容に加え
られ、その答えがレジスタR3に格納される加算命令A
DD  R30010を格納する。場所1008および
1009は、レジスタR6の内容がオペランド6731
により乗じられてその結果が再びレジスタR6に格納さ
れる乗算命令MUL  R66731を格納する。
加算あるいは乗算命令はいずれも実行されないが、その
理由は、如何に両命令が!キャッシュ6−2から取り出
されても分解されず、場所1005におけるj!!(条
件分岐の故である。
第5図は、命令がパイプラインの各段を経由する際の命
令の実行状態を示している。第5図に示される各段は、
■キャッシュ6−2から命令を取り出すI−CACHE
段、命令を調べてどのユニットがこの命令を実行すべき
かを判定する1−CACHE段、仮想アドレスを生成す
るかあるいはレジスタまたは分岐命令を実行するAユニ
ット段、仮想アドレスを物理的アドレスへ変換するvM
MU段、Eユニット2−6ヘアドレス指定された場所の
オペランドを送出するE−CACHE段、および命令を
実行するEユニット段である。
第5図に戻り、サイクル1の間、■ FETCHが命令ロードB1即ち16進数の9CC00
04FをIキャッシュ6−2のレジスタV A O2−
204の内容である16進数1000により指定される
場所から取り出し手、これをストリング・バッファA 
2−220に格納する。
Pカウンタ2−200は、Aユニット2−4により初期
化され、その内容1000が加算器2−202を介して
レジスタV A 0 2−204へ転送される。
■キャッシュ6−2は、場所1000および1001に
おける2倍ワードを読出す。
I  CRACKは、サイクル2の間ロードB1命令を
「分解コする。これは記憶命令であるため、■ユニット
2−2は信号I  BEGINをAユニ、ト2−4へ送
り、01) −COD Eレジスタ2−402を使用可
能状態にし、信号IE F I RS ′rオヨびI 
−E L A S TをE ユニ’yト2−6へ送って
[−1” I F 02−600  を使用可能状態に
する。また、この命令は、Aユニット2−4の命令レジ
スタ2−400およびEユニット2−6のI −F I
 1” 02−600へ送られる。OPC01) I’
:レジスタ2−7102は、この命令のOl)C01)
 +ζ部分、ピント(L−8(2進数100111、0
01 )でロードされる1、Aユニット制御ストア2−
430がアドレス指定され、ファームウェア・ワードが
RDR(A)レジスタ2−/106に格納される。
サイクル3の間、Aユニットが仮想アドレスを生成する
。A【、U2−412  は、プログラム・カウンタ2
−116の内容即ち16進数1000に命令レジスタ2
−4110  に格納された下位のワード、16進数0
04Fを加えて、vMMU4へ送られる仮想アドレスの
16進数1050を生じるため1を加え、これはvMM
U4へ送られる。
vMMUのサイクル4において、V M M U 4 
ハEキャンンユ6−4をアドレス指定する物理的アドレ
スである16進数201050(任、はのアドレス)を
生1戊する。
サイクル5において、16進¥112345678であ
るアドレス指定されたオペランドのECA CLI I
εがデータF I F O2−630に格納される。
[ζユニットのサイクル6においては、このオペランド
は、符「シエクステング2−614、AI、U2−60
8および結果マルチプレクサ(MLIX)2622ヲ介
して、レジスタ・ファイル2−610に格納される。
ロードB2命令である16進数ACCO0050が、同
様にフログクンヨン・ラインを経て処理される。この場
合、]キャッシュ6−2のアドレスである16進M10
0IがVAO22()2に格納される。命令ロードB2
は2 (H’zワードであるため、Pカウンタ2−20
0の内容が2だけ増分される。
Eのサイクル7において、オペランドの16進数246
81357がレジスタ・ファイル2−61.0のレジス
タ口2に格納される。
1  F[!:TCIIのサイクル3においては、場所
1004の内容が1キャッシュ6−2から読出される。
アドレス指定された奇数の各場所は、それぞれ読出され
る16ビツトの2つのワードを結果として生じる。命令
ロード+3は2倍ワードの命令であるが、場所1004
がアドレス指定された時読出された2倍ワードは、2つ
の命令、即ち、16進数01” 85であるS HI 
l” ”l”  RL!、t’: l” 1’ 3と、
16進数01” 85である分岐命令とを何する。両命
令ともストリング・バッファΔ2−220にロードされ
る。
I  CRA CKのサイクル4において、lユニット
2−2はAユニット2−4をアクセスするのみであるが
、これはこの命令が専らΔユニット2−4において実行
されるためである。
信号[−[3EGINが0P−COClシを0P−CO
DEレジスタ2−402ヘロードする。この命令1−n
l?:GINは命令レジスタ2−/100  ヘロード
され、ファームウェア・ワードがRDR(A)レジスタ
2−406ヘロードされる。
へのサイクル5において、R1の内容である16進数1
2345678は、シフタ2−414を通過させられ、
16進数91Δ2B3GOとしてR1へ戻り格納される
シフト命令は3つのサイクルの後に実行され、次いでパ
イプラインから落とされることに注意されたい。
I  CRACKのサイクル5が、命令レジスタ2−4
00  を分岐命令の16進数0F85でロードする。
この時、レジスタVAI  2−206は16進1dr
100A (1005プラス5)を格納する。命令分解
ロジック2−210からの変位5が    に加算され
る。
例え場所1005から場所100Aへの無条件分岐があ
ろうとも、サイクル4のI−FIETCllの間、加算
命令nAOo  0010が取り出されて、ストリング
・バッファA2−202に格納される。これは、サイク
ル6のI  CRACKの間は分解されないが、これは
ストリング・バッファB2−221がこの時アクティブ
な状態にないためである。I  CRACKサイクル6
はダミー・サイクルである。
サイクル6の間、Aユニ・ントは信号A−P〜L I)
およびA −B RA N CHを生じてPカウンタ2
−200を分岐アクセスでロードする。このへユニット
はまた、プログラム・カウンタ2−416を分岐アドレ
スでロードする。
乗算命令がストリング・バッファ2−220にロードさ
れるサイクル5の1−1” E T CIの間、この命
令もまた分解されない。しかし、1−CRACKのサイ
クル7の間、命令【、DR7が分解される。
第6A図および第6B図は、ブロック図形態で、それぞ
れ第4図の命令ロードBlを実行中のAユニット2−4
およびEユニット2−6により行われるファームウェア
・ステップを示している。
各プロ“ツクは、このファームウェア・ビ・ントおよび
RDR(A)レジスタ2−/106あるいはレジスタR
DR(E)2−606におけるその鎖を示している。フ
ァームウェアにより認識された数字は、ブロックにより
行われる機能と共に、このブロック内でアンダーライン
を付して示されている。
事例として、第6A図のブロック2−458は、RDR
(Δ)レジスタ2−406のビット34乃至37が16
進数1の値〔2進数0001)を有することを示してい
る。行われる機能は、ALU2−412の六入力の値を
ALU2−412のB入力の値に加えて、■を足して仮
想アドレスを生じることである。
第6A図においては、Aユニット2−4がオペランドの
仮想アドレスを起生じて、これをVMMU4に送り、■
ユニット2−2に対してAユニット2−4が命令ロード
Blのその部分を完了したことを通知する。全てのファ
ームウェア・ステップが1サイクル、即ち第5図のへの
サイクル3内に完了される。このファームウェア・プロ
・ツクは、略々これらが実行される順序で示されている
ブロック2−/150から判るように、RDR(A)レ
ジスタ2−406のビット16が2進数0にある。
マイクロ動作RB−OPWが、RI NSTRレジスタ
2−106の内容である16進数9CC0004Fをブ
ロック2−452に転送する。
ブロック2−7152のMICROINDXO(+<0
R(A)レジスタ2−406のビット19および20が
2進数00にある)が、この命令の右側のワード、16
進数0050を選択し、ブロック2−454のMICR
OΔU B −R1116:31 (ビット29−31
が2進数0)が右側のワードをALU2−/112のB
側人力へ与える。
ブロック2−456のMICROAUΔ−P(ビット2
6−28が2進数0)が、プログラム・カウンタ2−/
I 16  の内容である16進数1000をALU2
−412のへ入力側へ与える。
ブロック2−458のM I CROA U −A +
 8 +■(ビット34−37が16進数1)がALU
2−/112において仮想アドレスの16進数1050
(1000+4F+1)を生成する。
ブロック2−4612−461)(7)  VALUl
) (ビット41−42が16進数3)が、MUX(図
示せず)に工すALU2−412から仮想アドレスを選
択する。
ブロック2−462のMICRO0FFSET(ビット
32−33が2進数0)が、Eキャッシュ6−4におけ
るオペランドがワードの境界に現れることをテストする
。さもなければ、ファームウェアは2つのIζ−CへC
IIEサイクルを呼び出し、このオペランドを格納する
2つの2倍ワードの内容を読出す。従って、E−OFF
SETは2進数0である。このE−01” I” S 
E Tは指標シフタ2−410からオフセットFIFO
2−63/Iへ加えられる。
ブロック2−464のMICROQLD(ビット43が
2進数1)が仮想アドレスをバンクアッフとしてQレジ
スタ2−418に対してロードする。
ブロック2−468のMICROPP2 (ビット44
−45が2進数10)がプログラム・カウンタ2−41
6を増分C1更に1ユニット2−2のPカウンタ2−2
00を増分して1キャッシュ6−2から次の命令を読出
す。
ブロック2−470のMICROA−DONE(ビット
53が2進数1)が信号Δ−DONEを1ユニット2−
2へ送出する。次いで、1ユニツトが次の命令をAユニ
ット2−4へ送出する。
第6B図においては、Eユニット2−6が、このEキャ
ッシュ6−4からオペランドを受け取ってこれをレジス
タ・ファイル2−610の81に格納することにより、
命令LDI31の実行を完了する。
プロ・ツク2−650は、レジスタRDR(lシ)2−
606のビット45−46が2進数01にあることを示
す。MICRODWは、データF I FO2−630
に2倍ワードのオペランドを整合する。
2進数0のE−OFFSETがオフセットなしを表示す
る。
ブロック2−652のMICROAUΔDATA(ビッ
ト47が2進数1)が、データFIFO2−630から
のオペランドをA L U 2−608のA人カへ転送
する。
ブロック2−658のM I CROΔLU−DW(ビ
ット88−89が2進数01)がΔLU2−608を構
成して、このオペランドを2倍ワードとして処理する。
ブロック2−660のMfCROR3LTPTR(ビッ
ト6ロー67が2進数01)においては、結果マルチプ
レクサ(MUX)2−622がオペランドのピント0お
よび1、REFF I FO2−632からのリング数
、およびΔLU2−608カラのオペランドのビット2
−31を選択する。
ブロック2−662のM I CROΔ−BX(ビット
31−37が2進数1)においては、0010 001
が、ファームウェア・ワードからのビット001、およ
び命令ワードからのビット1−3からの131のレジス
タ・ファイル2−610のAアドレスである16進数0
9を起生ずる。
ブロック2−664のMICRORFW(A)(ビット
79−82が16進数01)が、2倍ワードオペランド
を結果マルチプレク”J−(MUX)2−622からの
レジスタ・ファイル2−610の81へ書込む。
ブロック2−666のMICRODONE(ビット63
が2進数1)が、E−DONE信号を1ユニット2−2
へ送出し、これが命令ロードB1と関連する命令分解ロ
ジック2−210をリセットする。
ブロック2−668のMICr(OMBFMTMBR(
ビット29.1−3が16進数04)が、次のEユニッ
ト制御ストア2−604の場所へ分岐し、レジスタRD
R(E)2−606を次のファームウェア・ワードでロ
ードする。
第7図は、ブロック図形態で、命令S I−f I F
 TRI  LEFT3の実行のためAユニット2−4
により行われるファームウェア・ステップを示す。
第7図においては、I  FETCl−[段のサイクル
3が命令S HI F T  RI  L E F T
3 (SQL)の16進数1003を夏キャッシュ6−
2から取り出し、これをストリング・バッファA 2−
220にロードし、この命令はサイクル4において分解
され、命令レジスタ2−400および0P−CODEレ
ジスタ2−402ヘロードされる。
信号H−BEGINは、0P−CODEレジスタ2−4
02を付勢する。サイクル5が、レジスタ・ファイル2
−404  におけるR1の内容(16進数12345
678)を読出し、LEFT3ビットをシフトし、その
結果(16進数91A2I33CO)を再びR1に格納
することにより、命令SOCの実行を完了する。
Aユニット2−4は、Aユニット制御ストア2−430
から読出されたファームウェア・ワードにより制御され
、RDR(A)レジスタ2−406に格納される。
ブロック2−7180から判るように、RDR(A)レ
ジスタ2−406における16進数04のビット6−1
1により指定されるマイクロ命令MICROB−DXは
、レジスタ・ファイル2−404にRFBアドレスであ
る16進数01を起生ずる。このアドレスは、0P−C
ODEレジスタ2−402のビット1乃至3を000に
付加えることによりR1のアドレス(000001)を
得る。
ブロック2−482のMICRO5IN2−RB(ビッ
ト27−29が16進数0)が、シフタ2−618に対
しR1の内容を読出す。ブロック2−484のMICR
O5IN3−0(ビット30−31が2進数11)が、
0をシフタ2−618の32の下位位置にロードする。
ブロック2−486のMICRO5HIF−L (ビッ
ト16が2進数0)が、左方のシフト操作のためシフタ
2−618を条件付ける。ブロック2−488のM I
 CRO31(31(ビット17−19が16進数2)
が、OP−C,OD Eレジスタ2−402のビット1
215により指定される如く、シフタ27618をセッ
トアツプして3だけシフトさせる。
ブロック2−490のMICRORF:B−3HFT(
ビット位置12−13が2進数10)が、オペランドを
3ビツトだけシフトして、これを再びレジスタ・ファイ
ル2−404のR1に格納する。
ブロック2−492のMICROl−C−8HFT (
ビット位置46−51が16進数38)が、シフトの大
きさに対して標識レジスタ2−417の標1fkC(図
示せず)をセットする。
ブロック2−494のMICROA−DONE(ビット
53が2″進数1)が、信号A−DONE’1−TLニ
ット2−2へ送ル。この■ユニッl−2−2は、次に実
行されるべき命令を分解して、これをAユニット2−4
へ送出する。
ブロック2−496のMICROPPI (ビット44
−45が2進数01)が、プログラム・カウンタ2−4
16を1だけ増分するが、これはSQLが単一ワード命
令であるためである。
本発明については、その望ましい実施態様に関して示し
記したが、当業者は形態および細部における上記および
池の変更が本発明の趣旨および範囲から逸脱することな
く可能であることが理解されよう。
【図面の簡単な説明】
第1図は、本発明の装置を含むシステム全体を示すブロ
ック図、第2図は第1図の全システムの更に詳細なブロ
ック図、第3図はプロダクション・パイプライン・サイ
クルの主な要素を示す論理ブロック図、第4図は本発明
を示す命令の■キャッシュにおける格納場所を示す図、
第5図はプロダクション・パイプライン・サイクルにお
いて処理されつつある一連の命令を示す図、第6Δ図は
、実行ユニットにおける命令の実行に用いられるオペラ
ンドのメモリー・アドレスを生成するアドレス・ユニッ
トにおける論理素子を制御するファームウェアの動作の
流れを示すブロック図、第6B図は、実行ユニットにお
ける命令の実行を完了する論理素子を制御するファーム
ウェアの動作の流れを示すブロック図、および第7図は
ソフトウェア・ビジプルなレジスタ命令を実行するよう
ロジックを制御するファームウェアを示すブロック図で
ある。 1・・・パイプライン・データ処理システム、2・・・
中央処理装置(CPU) 、2−2・・・命令(r)ユ
ニット、2−4・・・Aユニット、2−6・・・実行(
E)ユニット、4・・・仮想メモリー管理装置(VMM
[J) 、6・・・キャッシュ装置、6−2・・・Iキ
ャッシュ、6−4・・・Eキャッシュ、8・・・メモリ
ー・サブシステム、10・・・入出力周辺装置、12・
・・システム・バス、2−200・・・Pカウンタ、2
−202・・・ストリング・バッファA、2−204・
・・レジスタVAO12−206・・・レジスタVAI
、2−208  ・・・Aユニット・ファームウェア・
アドレス・ジヱネレーク、2−210・・・命令分解ロ
ジック、2−220.2−221・・・ストリング・バ
ッファ、2−222・・・作動可能ロジックおよびフリ
ップフロップ、2−/100・・・命令レジスタ、2−
401  ・・・分岐ロジック、2−402・・・0P
−CODEレジスタ、2−/104・・・レジスタ・フ
ァイル、2−406・・・RD I< CΔ)レジスタ
、2−408・・・加算器、2−410・・・指標シフ
タ、2−/112・・・演算論理装置(ALU) 、2
−414・・・シフタ、2−416・・・プログラム・
カウンタ、2−/117・・・標識レジスタ、2−42
0・・・ロジック、2−/130・・・Aユニット制御
ストア、2−600・・・I−FIFOレジスタ、2−
601・・・ロジック、2−60/l・・・Eユニット
制御ストア、2−606  ・・・RDR(E)レジス
タ、2−608・・・ALU、2−610・・・レジス
タ・ファイル、2−612・・・スワップ・ロジック、
2−614・・・符号エクステンダ、2−6)6・・・
乗算器、2−618・・・シフタ、2−620・・・Q
レジスタ、2−622・・・結果マルチプレクサ(MU
X) 、2−623・・・標識ロジック、2−624・
・・CTカウンタ、2−630・・・データFIFO1
2−632・・・REF−FIFO。 コ5「6A 」ワ76B

Claims (1)

  1. 【特許請求の範囲】 1、プロダクションラインを構成するように配置され、
    各段がプロダクションライン装置に与えられる複数の命
    令の各々について異なる動作を実行する、複数の直列に
    接続されたパイプライン・ユニットを備えたデータ処理
    システムにおいて、 オペランドと、前記複数の命令およびオペランドとを格
    納する記憶手段と、 前記記憶手段と接続され、一連のアドレス 信号に応答して前記記憶手段から受け取った前記複数の
    命令の前記各々を取り出して格納する取り出し手段を備
    えた第1のユニットとを設け、該第1のユニットは更に
    、前記取り出し手段と接続されて前記複数の命令の前記
    各々を復号しかつ第1のタイプの命令を表す第1の信号
    と、第2のタイプの命令を表す第2の信号の双方を生成
    する分解手段を備え、 前記第1の信号に応答して、前記第1および第2のタイ
    プの命令を格納しかつ前記第1のタイプの命令を実行す
    ることにより前記第1のタイプの命令をプロダクション
    ラインから除去する第1の手段を含むレジスタ手段を備
    えた第2のユニットを設け、該第2のユニットは更に、
    前記第2のタイプの命令の実行に際して使用される前記
    記憶手段におけるオペランドの場所を示す仮想アドレス
    信号を生成する手段を 備え、 前記第2のユニットと接続されて、前記仮想アドレス信
    号を物理的アドレス信号に変換する第3のユニットと、 該第3のユニットと接続されて、前記物理的アドレス信
    号に応答して前記記憶手段から前記オペランドを受け取
    る第4のユニットと、 前記第1および第4のユニットと接続されて、前記第2
    の信号に応答して前記第2のタイプの命令を格納しかつ
    前記第2のタイプの命令および前記オペランドに応答し
    て前記第2のタイプの命令を実行する第2の手段を備え
    た第5のユニットと を設けてなることを特徴とするデータ処理システム。 2、前記第2のユニットが更に、第3の信号を生じて該
    第2のユニットが前記第1および第2のタイプの命令に
    ついての処理を完了した時を表示する手段を含むことを
    特徴とする請求項1記載のデータ処理システム。 3、前記分解手段が前記第3の信号に応答して前記複数
    の命令の次のものを復号することを特徴とする請求項2
    記載のデータ処理システム。 4、前記記憶手段が、 前記複数の命令を格納する命令キャッシュと、前記オペ
    ランドを格納するデータ・キャッシュとを含むことを特
    徴とする請求項1記載のデータ処理システム。 5、前記取り出し手段が、 前記命令キャッシュにおける一連の命令の 各々の場所のアドレスを生成するアドレス・カウンタ手
    段を含み、該命令キャッシュは前記アドレスに応答して
    前記場所を読出し、 前記命令キャッシュから受け取る前記一連の命令の前記
    各々を格納するストリング・バッファ手段を含むことを
    特徴とする請求項4記載のデータ処理システム。 6、前記分解手段が、 前記第3の信号に応答して前記第1の信号を生成する作
    動可能手段と、 前記第3の信号および前記ストリング・ バッファ手段からの複数の命令信号に応答して、前記第
    2の信号を生成する命令分解手段とを含むことを特徴と
    する請求項5記載のデータ処理システム。 7、前記第1の実行手段が、 第1の複数の制御信号を生成する第1の制御ストア手段
    と、 前記第1の複数の制御信号および前記レジスタに格納さ
    れた前記第1のタイプの命令からの第1の信号に応答し
    て、前記第1のタイプの命令を実行する第1のロジック
    手段とを含むことを特徴とする請求項6記載のデータ処
    理システム。 8、前記第1の実行手段が更に、 第2の複数の制御信号を生成する第1の制御ストア手段
    と、 前記第2の複数の制御信号と前記第2の タイプの命令からの第2の信号に応答して前記記憶アド
    レスを生成する第2のロジック手段とを含むことを特徴
    とする請求項7記載のデータ処理システム。 9、前記第2の実行手段が、 第3の複数の制御信号を生成する第2の制御ストア手段
    と、 前記第3の複数の制御信号と、前記命令レ ジスタに格納された前記第2のタイプの命令からの第3
    の信号と、前記データ・レジスタに格納された前記オペ
    ランドとに応答して、 前記命令を実行する第3のロジック手段とを含むことを
    特徴とする請求項8記載のデータ処理システム。 10、命令を実行するための二重パイプラインを備えた
    データ処理システムにおいて、 各ユニットが与えられた複数の命令の各々について異な
    る動作を行う第1の複数の直列に接続されたパイプライ
    ン・ユニットと、 前記第1のパイプラインと直列に接続され、各ユニット
    が異なる動作を行う第2の複数の直列に接続されたパイ
    プライン・ユニットを備えた第2のパイプラインと、 前記第1のパイプラインの第1のユニットが、前記複数
    の命令の前記各々が第1のタイプの命令であるか第2の
    タイプの命令であるかを判定し、該第1のタイプの命令
    を前記第1の複数の直列に接続されたパイプライン・ユ
    ニットの第1の予め定めたユニットへ選択的にロードし
    、また前記第2のタイプの命令を前記第1の予め定めた
    ユニットおよび前記第2の複数の直列に接続されたパイ
    プライン・ユニットの第2の予め定めたユニットへ選択
    的にロードする手段を備え、 前記第1の予め定めたユニットが、前記第1のタイプの
    命令を実行する手段と、前記第2の予め定めたユニット
    において使用されるオペランドのメモリーにおける場所
    のアドレスを生成して前記第2のタイプの命令を実行す
    る手段とをを備える ことを特徴とするデータ処理システム。 11、プロダクションライン方式で一連の命令を処理す
    るデータ処理システムにおいて、 命令およびオペランドを格納する記憶手段 と、 該記憶手段と接続され、該記憶手段から 読出された複数の命令を格納する手段を備えた取り出し
    手段と、 前記格納手段と接続され、前記複数の命令の各々の第1
    および第2のタイプの命令を表し、該第1および第2の
    タイプの命令を第1のレジスタに格納しかつ該第1のタ
    イプの命令を第2のレジスタに格納する復号手段と、 前記第1のタイプの命令からの第1の信号に応答して前
    記命令を実行し、かつ前記プロダクションラインから前
    記第1のタイプの命令を落とし、かつ前記第2のタイプ
    の命令からの第2の信号に応答してメモリーのアドレス
    を生成する第1の実行手段とを設け、 前記記憶手段は、前記メモリー・アドレスに応答してデ
    ータ・レジスタに格納するためにオペランドを読出し、 第2のタイプの命令からの第3の信号に応答して、前記
    第2のタイプの命令を実行する第2の実行手段を 設けてなることを特徴とするデータ処理システム。 12、前記記憶手段が、 命令を命令キャッシュに格納する手段と、 オペランドをデータ・キャッシュに格納する手段とを含
    むことを特徴とする請求項11記載のデータ処理システ
    ム。 13、前記取り出し手段が、 前記命令キャッシュにおける一連の命令の 各々の場所のアドレスを生成するアドレス・カウンタ手
    段を含み、該命令キャッシュは前記アドレスに応答して
    前記場所を読出し、 前記命令キャッシュから受け取る前記一連の命令の前記
    各々を格納するストリング・バッファ手段を含むことを
    特徴とする請求項12記載のデータ処理システム。 14、前記復号手段が、 前記一連の命令の前記各々のビットの第1のセットを表
    す信号に応答して、前記第1のタイプの命令を表す第1
    の信号と前記第2のタイプの命令を表す第2の信号とを
    生成する分解手段を含むことを特徴とする請求項13記
    載のデータ処理システム。 15、前記第1の実行手段が、 第1の複数の制御信号を生成する第1の制御ストア手段
    と、 前記第1の複数の制御信号および前記レジ スタに格納された命令の前記第1のロジックからの前記
    第1の信号に応答して前記第1のタイプの命令を実行す
    る第1のロジック手段とを含むことを特徴とする請求項
    14記載のデータ処理システム。 16、前記第1の実行手段が更に、 第2の複数の制御信号を生成する第1の制御ストア手段
    と、 該第2の複数の制御信号および前記第2の タイプの命令からの前記第2の信号に応答して、前記メ
    モリーのアドレスを生成する第2のロジック手段とを含
    むことを特徴とする請求項15記載のデータ処理システ
    ム。 17、前記第2の実行手段が、 第3の複数の制御信号を生成する第2の制御ストア手段
    と、 該第3の複数の制御信号と、前記命令レジスタに格納さ
    れた前記第2のタイプの命令からの第3の信号と、前記
    データ・レジスタに格納された前記オペランドとに応答
    して、前記命令を実行する第3のロジック手段とを含む
    ことを特徴とする請求項16記載のデータ処理システム
    。 18、各々のユニットが複数の命令の各々について異な
    る動作を行うプロダクションラインとして作動するよう
    構成された複数の直列に接続されたパイプライン・ユニ
    ットを備えたデータ処理システムにおいて、 前記複数の命令と複数のオペランドとを格納する記憶手
    段と、 第1のサイクルの間作動し、前記記憶手段と接続されて
    、取り出し手段と、第1のユニットからの一連の第1の
    アドレス信号に応答して、前記記憶手段から受け取る前
    記複数の命令の前記各々を格納する第1の手段とを備え
    た第1のユニットと、 第2のサイクル段の間作動し、前記第1の 格納手段と接続されて、前記複数の命令の前記各々を復
    号しかつ第1および第2の信号を生成する分解手段を備
    えた第2のユニットと、 第3のサイクルの間作動し、前記第1の信号に応答して
    、前記第1および第2のタイプの命令を格納する第2の
    手段を備えた第3のユニットとを設け、該第3のユニッ
    トは、前記第2の格納手段と接続されて、前記第1のタ
    イプの命令を実行することにより前記第1のタイプの命
    令を前記プロダクションラインから除去する第1の手段
    を含み、 前記第3のユニットは更に、前記第2の 格納手段と接続されて、前記第2のタイプの命令の実行
    に際して使用されるオペランドの場所を表す第2のアド
    レス信号を生成する手段を 備え、 前記記憶手段は、第4のサイクルの間前記 第3のユニットと接続され、前記第2のアドレス信号に
    応答して前記オペランドを受け取り、前記第2のユニッ
    トと接続され、前記第2の信号に応答して前記第2の作
    動サイクルの間前記第2のタイプの命令を格納する第3
    の手段を備えた第4のユニットを設け、該第4のユニッ
    トは更に、前記記憶手段と接続されて前記オペランドを
    格納する第4の手段を備え、該第4のユニットは、前記
    第3および第4の格納手段に接続されて第5の作動サイ
    クルの間前記第2のタイプの命令を実行する第2の手段
    を備えることを特徴とするデータ処理システム。 19、各ユニットが自らに与えられる複数の命令の各々
    について異なる動作を行う直列パイプライン状に作動す
    るよう構成された複数のユニットを備えたデータ処理シ
    ステムを構成する方法において、 A)第1のユニットにより、前記複数の命令の前記各々
    を1つのメモリーから取り出して、第1の作動サイクル
    の間ストリング・バッファに格納し、 B)前記第1のユニットにより、前記ストリング・バッ
    ファに格納された前記複数の命令の第1のものを復号し
    、前記複数の命令の該第1のものが第1または第2のタ
    イプの命令であることの表示を提供して、前記第1およ
    び前記第2のタイプの命令を第2のユニットのレジスタ
    にロードし、かつ第2の作動サイクルの間前記第1のタ
    イプの命令を第5のユニットにおける命令レジスタにロ
    ードし、 C)第3の作動サイクルの間前記第2のタイプの命令を
    実行し、D)前記第3の作動サイクルの間、前記第2の
    ユニットによりオペランドの仮想アドレスを生成し、該
    オペランドは、以降の作動サイクルの間前記第1のタイ
    プの命令を実行するに際して使用され、 E)前記第1のタイプの命令に対する第4の作動サイク
    ルの間、第3のユニットにより、前記仮想アドレスを物
    理的アドレスに変換し、 F)第5の作動サイクルの間、前記第4の ユニットにおけるデータ・レジスタに格納するため、前
    記メモリーから、前記物理的アドレスにより指定される
    場所に格納された前記オペランドを読出し、 G)前記の以降の作動サイクルの間、前記第4のユニッ
    トにより前記第1のタイプの命令を実行するステップか
    らなることを特徴とする方法。 20、各ユニットがプロダクションライン装置に与えら
    れる複数の命令の各々について異なる動作を実行する、
    プロダクションラインを構成するように配置された複数
    の直列に接続されたパイプライン・ユニットを備えたデ
    ータ処理システムにおいて、 オペランドと、前記複数の命令とを格納する記憶手段と
    、 前記記憶手段と接続され、該記憶手段から 取り出された前記複数の命令の各々を格納する第1の手
    段を備えた第1のユニットとを設け、該第1のユニット
    は更に、前記格納手段と 接続されて、第1、第2および第3のタイプの命令を指
    定する復号手段を備え、 前記第1のユニットおよび前記記憶手段に 接続され、かつ第1、第2および第3のタイプの命令を
    格納する第2の手段を備えた第2のユニットを設け、 該第2のユニットは、前記第2のタイプの 命令を実行することにより前記プロダクションラインか
    ら前記第2のタイプの命令を除去する第1の手段を備え
    、該第2のユニットは、前記第1のタイプの命令に応答
    して第1のアドレスを生成する第1の手段を有し、前記
    第1のユニットは前記第1のアドレスに応答して前記第
    1のタイプの命令を実行することにより前記プロダクシ
    ョンラインから前記第1のタイプの命令を除去する第2
    の手段を有し、 前記第2のユニットは更に、前記第3の タイプの命令に応答して前記オペランドの前記記憶手段
    における場所の第2のアドレスを生成する第2の手段を
    有し、 前記記憶手段は、前記第2のユニットと接続されて前記
    第2のアドレスに応答して前記オペランドを読出し、 前記第1のユニットおよび前記記憶手段と 接続され、前記第3のタイプの命令および前記オペラン
    ドを格納する第3の手段を有する第3のユニットを設け
    、該第3のユニットは更に、前記第3のタイプの命令を
    実行することにより前記第3のタイプの命令を前記プロ
    ダクションラインから除去する第3の手段を有すること
    を特徴とするデータ処理システム。 21、前記記憶手段が、 前記複数の命令を格納する命令キャッシュ と、 前記オペランドを格納するデータ・キャッシュとを含む
    ことを特徴とする請求項20記載のデータ処理システム
    。 22、前記第1の格納手段が、 前記複数の命令の前記各々の前記命令キャッシュにおけ
    る場所のアドレスを格納する第1のカウンタ手段と、 前記命令キャッシュから受け取る前記複数の命令の前記
    各々を格納するストリング・バッファ手段とを含むこと
    を特徴とする請求項21記載のデータ処理システム。 23、前記復号手段が、前記ストリング・バッファ手段
    と接続されて命令バス上に転送される前記複数の命令の
    前記各々に対する第1の信号を生成し、かつ前記命令バ
    ス上に転送される前記第3のタイプの命令の各々に対す
    る第2の信号を生成することを特徴とする請求項22記
    載のデータ処理システム。 24、前記第2の格納手段が、 前記第1の信号に応答して、前記命令バス から受け取る前記複数の命令の前記各々を格納する第1
    のレジスタ手段を含むことを特徴とする請求項23記載
    のデータ処理システム。 25、前記第1の実行手段が、 前記第2のタイプの命令を格納する前記第1のレジスタ
    手段と、 第1の複数のファームウェア信号を生成する第1の制御
    ストア手段と、 複数のソフトウェア・ビジブル・レジスタを備えた第1
    のレジスタ・ファイル手段と、 前記第1のレジスタ手段、前記第1のレジ スタ・ファイル手段および前記第1の制御ストア手段と
    接続され、前記第1の複数のファームウェア信号、前記
    第2のタイプの命令信号および前記ソフトウェア・ビジ
    ブル・レジスタの指定された1つからの信号に応答して
    、前記第2のタイプの命令に従って前記ソフトウェア・ ビジブル・レジスタの前記指定された1つの内容を更新
    することにより、前記第2のタイプの命令を実行する第
    1の演算論理ユニット手段とを含むことを特徴とする請
    求項24記載のデータ処理システム。 26、前記第1の生成手段が、 前記第1のタイプの命令を格納する前記第1のレジスタ
    手段と、 第2の複数のファームウェア信号を生成する前記第1の
    制御ストア手段とを含み、 前記第1の演算論理ユニット手段は、前記 第2の複数のファームウェア信号および前記第1のタイ
    プの命令からの信号に応答して前記第1のアドレスを生
    成し、 前記第1の演算論理ユニット手段と接続され、前記第2
    の複数のファームウェア信号に応答して前記第1のアド
    レスを格納する第2のレジスタ手段と、 前記第1のレジスタ手段および前記第1の 制御ストア手段と接続されて第3の信号を生成するロジ
    ック手段とを含むことを特徴とする請求項25記載のデ
    ータ処理システム。 27、前記第2の実行手段が、 前記第2のレジスタ手段と接続され、前記 第3の信号に応答して前記第1のアドレスを格納する第
    3のレジスタ手段と、 該第3のレジスタ手段と接続され、前記第1のアドレス
    と、前記第1のタイプの命令に続く命令ストリームにお
    いて後続する命令のアドレスを指定する第3のアドレス
    とを格納する第4のレジスタ手段とを含み、 前記命令キャッシュは、前記ストリング・ バッファ手段に格納するため、前記第1のアドレスによ
    り指定される場所における次の命令を読出し、これによ
    り前記プロダクションラインから前記第1のタイプの命
    令を除去することを特徴とする請求項25記載のデータ
    処理システム。 28、前記第2の生成手段が、 第3の複数のファームウェア信号を生成する前記第1の
    制御ストア手段と、 前記第3の複数のファームウェア信号と、 前記第3のタイプの命令に応答して、前記第2のアドレ
    スを生成する前記第1の演算論理ユニット手段とを含む
    ことを特徴とする請求項27記載のデータ処理システム
    。 29、前記第3の格納手段が、 前記第2の信号に応答して、前記命令バスを介して受け
    取られる前記第3のタイプの命令を格納する命令FIF
    O手段と、 前記データ・キャッシュから受け取られる 前記オペランドを格納するデータFIFO手段と、 前記複数のソフトウェア・ビジブル・レジスタを備えた
    第2のレジスタ・ファイル手段とを含むことを特徴とす
    る請求項28記載のデータ処理システム。 30、前記第3の実行手段が、 第4の複数のファームウェア信号を生成する第2の制御
    ストア手段と、 前記命令FIFO手段と、前記データ FIFO手段と、前記第2のレジスタ手段と接続されて
    、前記複数のファームウェア信号、前記第3のタイプの
    命令信号および前記ソフトウェア・ビジブル・レジスタ
    信号に応答して、前記第3のタイプの命令を実行する第
    2の演算論理ユニット手段とを含むことを特徴とする請
    求項29記載のデータ処理システム。 31、前記第1のタイプの命令は分岐命令であり、前記
    第2のタイプの命令はソフトウェア・ビジブル・レジス
    タ命令であり、前記第3のタイプの命令は記憶命令であ
    ることを特徴とする請求項30記載のデータ処理システ
    ム。
JP1329412A 1988-12-19 1989-12-19 データ処理システム Expired - Lifetime JPH0776922B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28658088A 1988-12-19 1988-12-19
US286580 1988-12-19

Publications (2)

Publication Number Publication Date
JPH02224124A true JPH02224124A (ja) 1990-09-06
JPH0776922B2 JPH0776922B2 (ja) 1995-08-16

Family

ID=23099255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1329412A Expired - Lifetime JPH0776922B2 (ja) 1988-12-19 1989-12-19 データ処理システム

Country Status (15)

Country Link
EP (1) EP0378816B1 (ja)
JP (1) JPH0776922B2 (ja)
KR (1) KR940000027B1 (ja)
CN (1) CN1026037C (ja)
AU (1) AU615364B2 (ja)
BR (1) BR8906579A (ja)
CA (1) CA2005907C (ja)
DE (1) DE68928300T2 (ja)
DK (1) DK648189A (ja)
FI (1) FI896044A0 (ja)
IL (1) IL92605A0 (ja)
MX (1) MX171941B (ja)
NO (1) NO895068L (ja)
NZ (1) NZ231766A (ja)
ZA (1) ZA899554B (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JP3510729B2 (ja) * 1996-02-29 2004-03-29 三洋電機株式会社 命令実行方法および命令実行装置
FR2770662B1 (fr) * 1997-11-03 1999-12-10 Inside Technologies Microprocesseur pipeline a saut conditionnel en un cycle d'horloge
FR2770660B1 (fr) * 1997-11-03 2000-08-25 Inside Technologies Microprocesseur, notamment pour carte a puce
US8082467B2 (en) 2009-12-23 2011-12-20 International Business Machines Corporation Triggering workaround capabilities based on events active in a processor pipeline
US9104399B2 (en) 2009-12-23 2015-08-11 International Business Machines Corporation Dual issuing of complex instruction set instructions
US9135005B2 (en) 2010-01-28 2015-09-15 International Business Machines Corporation History and alignment based cracking for store multiple instructions for optimizing operand store compare penalties
US8495341B2 (en) 2010-02-17 2013-07-23 International Business Machines Corporation Instruction length based cracking for instruction of variable length storage operands
US8938605B2 (en) 2010-03-05 2015-01-20 International Business Machines Corporation Instruction cracking based on machine state
US8464030B2 (en) 2010-04-09 2013-06-11 International Business Machines Corporation Instruction cracking and issue shortening based on instruction base fields, index fields, operand fields, and various other instruction text bits
US8645669B2 (en) 2010-05-05 2014-02-04 International Business Machines Corporation Cracking destructively overlapping operands in variable length instructions

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6395539A (ja) * 1986-10-09 1988-04-26 Nec Corp パイプライン処理方式
JPS63167935A (ja) * 1986-12-29 1988-07-12 Matsushita Electric Ind Co Ltd 可変パイプラインプロセツサ
JPS63197232A (ja) * 1987-02-12 1988-08-16 Toshiba Corp マイクロプロセツサ

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4598365A (en) * 1983-04-01 1986-07-01 Honeywell Information Systems Inc. Pipelined decimal character execution unit
CA1250667A (en) * 1985-04-15 1989-02-28 Larry D. Larsen Branch control in a three phase pipelined signal processor
US4991080A (en) * 1986-03-13 1991-02-05 International Business Machines Corporation Pipeline processing apparatus for executing instructions in three streams, including branch stream pre-execution processor for pre-executing conditional branch instructions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6395539A (ja) * 1986-10-09 1988-04-26 Nec Corp パイプライン処理方式
JPS63167935A (ja) * 1986-12-29 1988-07-12 Matsushita Electric Ind Co Ltd 可変パイプラインプロセツサ
JPS63197232A (ja) * 1987-02-12 1988-08-16 Toshiba Corp マイクロプロセツサ

Also Published As

Publication number Publication date
KR940000027B1 (ko) 1994-01-05
DK648189A (da) 1990-06-20
CN1026037C (zh) 1994-09-28
AU4670489A (en) 1990-06-21
NZ231766A (en) 1992-01-29
MX171941B (es) 1993-11-24
DK648189D0 (da) 1989-12-19
EP0378816A2 (en) 1990-07-25
NO895068L (no) 1990-06-20
EP0378816B1 (en) 1997-09-03
NO895068D0 (no) 1989-12-15
AU615364B2 (en) 1991-09-26
EP0378816A3 (en) 1992-05-06
CN1044354A (zh) 1990-08-01
ZA899554B (en) 1990-10-31
KR900010587A (ko) 1990-07-09
DE68928300T2 (de) 1998-04-02
FI896044A0 (fi) 1989-12-18
CA2005907C (en) 1994-05-31
JPH0776922B2 (ja) 1995-08-16
CA2005907A1 (en) 1990-06-19
BR8906579A (pt) 1990-09-04
IL92605A0 (en) 1990-08-31
DE68928300D1 (de) 1997-10-09

Similar Documents

Publication Publication Date Title
TWI761347B (zh) 可中斷及可重啟矩陣乘法指令、處理器、方法和系統
RU2636675C2 (ru) Команды, процессоры, способы и системы доступа множественных регистров к памяти
US5113515A (en) Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer
CN107003921B (zh) 具有有限状态机控制的可重配置测试访问端口
US9201801B2 (en) Computing device with asynchronous auxiliary execution unit
US5758176A (en) Method and system for providing a single-instruction, multiple-data execution unit for performing single-instruction, multiple-data operations within a superscalar data processing system
US10678541B2 (en) Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
JP2678527B2 (ja) キャッシュメモリ装置
TW201741871A (zh) 原子式儲存至寬於原生支援資料寬度之記憶體資料的處理器、方法、系統與指令
US20080082755A1 (en) Administering An Access Conflict In A Computer Memory Cache
TWI733760B (zh) 記憶體複製指令、處理器、方法及系統
JP2575219B2 (ja) データ処理システム及びその命令実行を促進する方法
JPH02224124A (ja) データ処理システム
TW201804319A (zh) 用以校驗具有指示校驗位元值之位元的位元校驗處理器、方法、系統與指令
US5742755A (en) Error-handling circuit and method for memory address alignment double fault
Islam et al. Design of High-Speed-Pipelined Execution Unit of 32-bit RISC Processor
US5197133A (en) Control store addressing from multiple sources
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
US6408381B1 (en) Mechanism for fast access to control space in a pipeline processor
TWI844900B (zh) 原子式儲存至寬於原生支援資料寬度之記憶體資料的處理器與系統
US20210200538A1 (en) Dual write micro-op queue
Islam et al. 32-bit RISC Processor
JPH03141429A (ja) 電子計算機
IE901517A1 (en) Virtual instruction cache refill algorithm