Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0776920B2 - 命令処理装置 - Google Patents
[go: Go Back, main page]

JPH0776920B2 - 命令処理装置 - Google Patents

命令処理装置

Info

Publication number
JPH0776920B2
JPH0776920B2 JP1117617A JP11761789A JPH0776920B2 JP H0776920 B2 JPH0776920 B2 JP H0776920B2 JP 1117617 A JP1117617 A JP 1117617A JP 11761789 A JP11761789 A JP 11761789A JP H0776920 B2 JPH0776920 B2 JP H0776920B2
Authority
JP
Japan
Prior art keywords
instruction
stack
execution
instructions
data
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
JP1117617A
Other languages
English (en)
Other versions
JPH0232424A (ja
Inventor
ダニエル・ジヨセフ・バーケレ
ジヨン・デヴイド・ジヤブツシユ
エイミイ・クワングピイ・ジエーン
アグネス・イー・ナーイ
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH0232424A publication Critical patent/JPH0232424A/ja
Publication of JPH0776920B2 publication Critical patent/JPH0776920B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3814Implementation provisions of instruction buffers, e.g. prefetch buffer; banks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明の主題はコンピュータ・システムに関し、具体的
には、マルチプロセッサ及びユニプロセッサ・データ処
理システムの命令処理装置において命令処理装置で実行
される1組の命令の実行時間を減少させる技術に関す
る。
B.従来技術とその課題 コンピュータ・システムの設計及び開発において、こう
したシステムの性能が重視されつつある。その性能はし
ばしば、コンピュータ・システムの命令処理装置(IP
U)内で実行される単位時間当りの命令の数の関数であ
る。したがって、性能を改善するには、IPU内で実行さ
れる1組の命令の実行時間を縮小、減少、または圧縮さ
せなければならない。さらに、コンピュータの能力に対
する要求が増大し、コンピュータ設計の開発サイクルが
減少しているので、コンピュータ・システムの設計者
は、引き続き代替設計を探し、ある設計と別の設計の比
較検討を行なっている。望ましい設計とは、以前の設計
よりも複雑さが少なく、短い開発スケジュールで完成
し、以前の設計に比べて性能が増大するものである。従
来技術のプロセッサの「パイプライン化」という概念
は、コンピュータの性能を増大させた。コンピュータの
設計者は現在、コンピュータ・システムの性能をさらに
改善するための他の創意的な技術を開発しつつある。
パイプライン式プロセッサは、処理を連続的に流れさせ
て、各命令の処理時間を最小にするように設計されてい
る。これが実現可能なのは、通常のパイプライン式命令
列の実行に割込みがない場合である。パイプライン方式
への2つの主要な割込みの1つが記憶データに対する依
存性である。処理を継続する前に記憶サブシステムから
データを要求し、記憶媒体にアクセスし、データをプロ
セッサに戻すのに時間を要する。もう1つの割込みは、
分岐によって生じるものであるが、それは本発明の主題
ではない。データ依存性がすべて解決されない限り、命
令は実行できない。命令に対するすべてのデータ・オペ
ランドが利用可能な場合でさえ、次の命令に進めない。
このデータ依存性の問題を解決するための1つの方法
は、順序外れ実行と呼ばれ、未解決のデータ依存性をも
つ命令をセーブし、データ依存性の問題が解決された後
でそれを実行するものである。セーブされた命令及び関
連するレジスタに後で実行するためのタグが指定され
る。このデータ依存性の問題を解決するためのもう1つ
の方法は、データ可用性インターロック設計と呼ばれ、
必要な記憶データが戻されるのを待ってから実行を続行
するものである。しかし、この「データ解決時間」と呼
ばれる待ち時間は、最初にパイプラインを「充填」する
ときに性能を犠牲にして支払わなければならないオーバ
ーヘッド時間である。
本発明の目的は、マルチプロセッサ及びユニプロセッサ
・データ処理システム用の改良された命令処理装置(IP
U)を提供することである。
C.課題を解決するための手段 本発明の上記及びその他の目的によれば、マルチプロセ
ッサまたはユニプロセッサ・コンピュータ・システム用
の改良されたIPUは、「データ解決時間」からある時間
増分を差し引くことにより、そこで実行される1組の命
令の総実行時間を圧縮する。ある期間中に、IPUが現在N
OOP命令(無演算命令)を実行中であるため、IPUの実行
装置は使用されていない。この「データ解決時間」から
時間増分を差し引くのは、(IPUがNOOP命令を実行して
いるので)実行装置が使用されてないとき、IPUの実行
装置を利用して他の命令を実行することにより行なわれ
る。NOOP命令とは、IPUによるその実行中にIPUの実行装
置を使用しない命令である。通常の命令ストリームに
は、いくつかのこうしたNOOP命令がある。したがって、
IPUが各NOOP命令を実行しているとき、IPUの実行装置は
使用されない。通常、命令列中で各NOOP命令の後には、
その実行中に実行装置を利用する他の非NOOP命令が続
く。したがって、コンピュータ・システムで実行される
1組の命令の総実行時間を圧縮または減少させるための
1つの技法は、NOOP命令の実行中にIPUの実行装置を利
用して、命令列中の後続の非NOOP命令を実行するもので
ある。NOOP命令がIPUによって実行される度にこの技法
を使用する場合、IPUで実行される1組の命令の総実行
時間は、従来技術のIPUで実行されるその1組の命令の
総実行時間に比べて減少する。
本発明が適用可能なより詳しい範囲は、以下に示す詳細
な説明から明らかになるはずである。ただし、以下に示
す詳細な説明を読めば、当業者には本発明の精神及び範
囲内の様々な変更及び修正が自明になるはずなので、本
発明の好ましい実施例を示す詳細な説明と具体的な例は
例示にすぎないことを了解されたい。
D.実施例 第4図に、本発明を適用しうるユニプロセッサシステム
の例を示す。
第4図で、ユニプロセッサ・システムは、記憶制御装置
(SCL)12に接続されたL3メモリ10を含む。記憶制御装
置12はその一端が統合入出力サブシステム制御装置14に
接続され、制御装置14は統合アダプタ及び単一カード・
チャンネル16に接続されている。記憶制御装置12の他端
はI/Dキャッシュ(L1)18に接続される。キャッシュ18
は、命令キャッシュとデータ・キャッシュを含み、「L
1」キャッシュともいう。I/Dキャッシュ18は、命令装置
(IU)、実行装置(EU)、制御記憶装置(C/S)を含む
ブロック20及びベクトル・プロセッサ(VP)22に接続さ
れている。ベクトル・プロセッサ22は、1983年9月9日
付の米国特許出願第530842号、「高性能並列ベクトル・
プロセッサ(High Performance Parallel Vector Proce
ssor)」に記載されている。この記載を、引用により本
明細書に組み込む。第4図のユニプロセッサ・システム
はまた、マルチシステム・チャネル通信装置24を含む。
L3メモリ10は、2枚のインテリジェント・メモリ・カー
ドを含む。このカードが「インテリジェント」と形容さ
れるのは、エラー検査/訂正、拡張エラー検査/訂正
(ECC)再生アドレス・レジスタ及びカウンタ、及びビ
ット予備機能という特定の機能を備えているためであ
る。L3メモリ10へのインターフェースは8バイト幅であ
る。L3メモリは記憶制御装置(SCL)12に接続されてい
る。
記憶制御装置12は、L3メモリ10、入出力サブシステム制
御装置14及びI/Dキャッシュ18に対するアクセスを仲裁
する3つのバス・アービタを含む。記憶制御装置はさら
に、データを求めてI/Dキャッシュ18(L1キャッシュと
も呼ばれる)を探索することを担当するディレクトリを
含む。データがL1キャッシュ18にあるがそのデータが古
くなっている場合、記憶制御装置12はL1キャッシュ18内
の古くなったデータを無効にして、入出力サブシステム
制御装置14がL3メモリ10のデータを更新できるようにす
る。その後、命令/実行装置20は、L3メモリ10から更新
されたデータを獲得しなければならない。記憶制御装置
12はさらに、入出力サブシステム制御装置14からL3メモ
リ10に入力されるデータ及び命令/実行装置20からL3メ
モリ10に入力されるデータをバッファする複数のバッフ
ァを含む。命令/実行装置20に関連するバッファは、順
次動作などいくつかの形式の命令に対して、一時に8バ
イトの項目を作成できる256バイトの行バッファであ
る。この行バッファは、一杯のとき、L3メモリへのデー
タ・ブロック転送を行なう。したがって、メモリ動作
は、多数の個別記憶動作からより少数の行転送へと減少
する。
I/Dキャッシュ(L1)18は、それぞれ16Kバイト・キャッ
シュである。記憶制御装置12とのインターフェースは8
バイト幅である。すなわち、記憶制御装置12からのイン
ページ動作は、8データ転送サイクルかかる。データ・
キャッシュ18は、「ストアスルー」型キャッシュであ
り、命令/実行装置20からのデータがL3メモリに記憶さ
れ、かつ対応する古くなったデータがL1キャッシュ18に
ない場合、そのデータはL1キャッシュに入力されず記憶
されない。この動作を支援するため、最高8個の記憶動
作をバッファすることができるL1データ・キャッシュ18
を備えた「記憶バッファ」が設けられる。
ベクトル・プロセッサ(VP)22は、データ・キャッシュ
18に接続されている。ベクトル・プロセッサ(VP)22
は、命令/実行装置20から記憶制御装置12に入るデータ
・フローを共用するが、その動作中は、命令/実行装置
20によるデータの取出しのための記憶制御装置12へのア
クセスを禁止する。
統合入出力サブシステム制御装置14は、8バイト・バス
を介して記憶制御装置12に接続されている。I/Oサブシ
ステム制御装置14は、I/Oサブシステム制御装置14から
のデータを記憶制御装置12と同期させるのに使用する3
つの64バイト・バッファを含む。すなわち、命令/実行
装置20と入出力サブシステム制御装置14は異なるクロッ
クで動作し、この2つのクロックの同期は3つの64バイ
ト・バッファ構造によって実現される。
マルチシステム・チャネル通信装置24は、チャネル・ア
ダプタへの4ポート・チャネルであり、システムの外部
に実装されている。
第2図に、本発明を適用しうるマルチプロセッサシステ
ムの例を示す。
第2図で、L3メモリ10A/10Bの対は、バス切替え装置(B
SU)26に接続されている。BSU26はL2キャッシュ26Aを含
む。BSU26は統合入出力サブシステム14、共用チャネル
・プロセッサ28、及び3つのプロセッサに接続される。
3つのプロセッサとは、I/Dキャッシュ18Aと命令/実行
装置/制御記憶装置20Aを含む第1のプロセッサ、I/Dキ
ャッシュ18Bと命令/実行装置/制御記憶装置20Bを含む
第2のプロセッサ、及びI/Dキャッシュ18Cと命令/実行
装置/制御記憶装置20Cを含む第3のプロセッサであ
る。I/Dキャッシュ18A、18B、18Cのそれぞれを「L1」キ
ャッシュと呼ぶ。BSU26のキャッシュは、L2キャッシュ2
6Aと呼び、主記憶装置10A/10BはL3メモリと呼ぶ。
BSU26は、3つのプロセッサ18A/20A、18B/20B及び18C/2
0C、2つのL3メモリ・ポート10A/10B、2つの共用チャ
ネル・プロセッサ28及び統合入出力サブシステム制御装
置14に接続されている。BSU26は、3つのプロセッサの
それぞれからL3メモリへの要求や入出力サブシステム制
御装置14または共用チャネル・プロセッサからの要求な
どの処理すべき要求の優先順位を決定する回路、インタ
ーフェースを動作させる回路、及びL2キャッシュ26Aに
アクセスする回路を含む。L2キャッシュ26Aは「ストア
イン」型キャッシュであり、データを変更するためにL2
キャッシュにアクセスする動作が、L2キャッシュに存在
するデータをも変更しなければならないことを意味する
(この法則の唯一の例外として、その動作が入出力サブ
システム制御装置14から発する場合、及びデータがL2キ
ャッシュ26AにはなくL3メモリ10A/10Bにしか存在しない
場合、データはL2キャッシュでは変更されずL3メモリで
のみ変更される)。
BSU26とL3メモリ10A/10Bの間のインターフェースは、第
4図の単一8バイト・ポートの代わりに、2つの16バイ
ト線/ポートを含む。ただし、第1図のメモリ10は、第
2図のメモリ・カード10A/10Bと同じである。第2図の
2枚のメモリ・カード10A/10Bは並行にアクセスされ
る。
共用チャネル・プロセッサ28は、2つのポートを介して
BSU26に接続されている。各ポートは8バイト・インタ
ーフェースである。共用チャネル・プロセッサ28はBSU2
6から独立した周波数で動作し、BSU内のクロックは、前
記制御装置12と第4図の統合入出力サブシステム制御装
置14の間のクロック同期と同様な方式で共用チャネル・
プロセッサ28のクロックと同期される。以下の諸段で
は、第4図を参照して第4図のユニプロセッサシステム
の動作の機能的説明を行なう。普通、命令は命令キャッ
シュ(L1キャッシュ)18中に存在し、実行されるのを待
つ。命令/実行装置20は、L1キャッシュ18内に配置され
たディレクトリを探索して、典型的な命令がそこに記憶
されているかどうかを判定する。命令がL1キャッシュ18
に記憶されていない場合、命令/実行装置20は記憶制御
装置12に対する記憶要求を生成する。命令のアドレス、
または命令を含むキャッシュ行が、記憶制御装置12に送
られる。記憶制御装置12は、L3メモリ10に接続されたバ
スへのアクセスを調停する。最終的には、命令/実行装
置20からの要求は、L3メモリ10に送られる。この要求
は、命令/実行装置20へ転送するためにL3メモリの行を
取り出すよう指示するコマンドを含む。L3メモリはその
要求をラッチし、復号し、その命令が記憶されるメモリ
・カードの位置を選択し、数サイクルの遅延後に、命令
が8バイトずつL3メモリから記憶制御装置12に送られ
る。命令は次いで記憶制御装置12から命令キャッシュ
(L1キャッシュ)18に送られ、そこで一時的に記憶され
る。命令は、命令キャッシュ18から命令/実行装置20内
の命令バッファに再び送られる。命令は、命令装置20内
の復号器によって復号される。その命令を実行するため
にオペランドが必要な場合がよくある。オペランドはメ
モリ10中にある。
命令/実行装置20が、データ・キャッシュ18中のディレ
クトリを探索する。データ・キャッシュ18のディレクト
リ中でそのオペランドが見つからない場合、命令キャッ
シュ・ミスに関して上記に述べた通りの方式で、L3メモ
リ10にアクセスする別の記憶アクセスが命令/実行装置
20から出される。オペランドはデータ・キャッシュに記
憶され、命令/実行装置20はそのオペランドを求めてデ
ータ・キャッシュ18を探索する。その命令がマイクロコ
ードを使用する必要がある場合、命令/実行装置20は命
令実行装置20カードに存在するマイクロコードを使用す
る。入出力動作を実行する必要がある場合、命令/実行
装置20は、命令キャッシュ18に存在する入出力命令を復
号する。情報は、L3メモリ10の命令実行から分離された
補助部分に記憶されている。この時点で、命令/実行装
置20は、こうした情報がL3メモリに記憶されていると統
合入出力サブシステム制御装置14に伝え、入出力サブシ
ステム制御装置14のプロセッサは情報を取り出すためL3
メモリ10にアクセスする。
以下の諸段では、第2図を参照して第2のマルチプロセ
ッサシステムの動作の機能的説明を行なう。
第2図で、20A、20Bまたは20Cのうちの1つである特定
の命令/実行装置は、ある要求を必要とし、所期の命令
を求めて、18A、18Bまたは18Cのうちの1つである自己
のL1キャッシュを探索するものと仮定する。さらに、所
期の命令はL1キャッシュには存在しないと仮定する。次
いで、その特定の命令/実行装置は、そこに配置された
L2キャッシュを探索するため、BSU26へのアクセスを要
求する。BSU26は、命令/実行装置20A、20Bまたは20Cの
それぞれと共用チャネル・プロセッサ28及び統合入出力
サブシステム制御装置14から要求を受け取るアービタを
含み、アービタは一時にこれらの装置のうちの1つにア
クセスを許可する。特定の命令/実行装置(20A-20Cの
うちの1つ)がL2キャッシュ26Aを探索するためのBSUへ
のアクセスを許可されると、その命令/実行装置は、所
期の命令を求めてBSU26内に配置されたL2キャッシュ26A
のディレクトリを探索する。所期の命令がL2キャッシュ
で見つかると仮定する。その場合、所期の命令が、その
特定の命令/実行装置に戻される。所期の命令がL2キャ
ッシュ内にないことがそのディレクトリによって示され
る場合、所期の命令に対する要求が、10Aまたは10Bのう
ちの1つであるL3メモリに対して行なわれる。所期の命
令がL3メモリにある場合、それは直ちに一時に16バイト
ずつBSU26に送られ、特定の命令/実行装置(20A-20Cの
1つ)にバイパスされ、同時にBSU26のL2キャッシュ26A
に記憶される。BSU内に存在する追加の機能は、マルチ
プロセッサ・システム内の記憶の整合性に関する法則に
関するものである。たとえば、特定の命令/実行装置20
C(「プロセッサ」20Cとも呼ばれる)がデータを変更し
たとき、そのデータが、複合体中の他のずての命令/実
行装置または「プロセッサ」20A、20Bに見えるようにな
らなければならない。プロセッサ20CがそのL1キャッシ
ュ18Cに現在記憶されているデータを変更する場合、そ
の特定のデータの探索が、BSU26のL2キャッシュ・ディ
レクトリ26Aで行なわれる。見つかった場合、そのデー
タはL1キャッシュ18Cでの変更を反映するように変更さ
れる。さらに、他のプロセッサ20Aと20Bが、現在L2キャ
ッシュ26A中に存在する変更された正しいデータを見る
ことができ、そのL1キャッシュ18Aと18Bに存在する対応
するデータを変更することができる。問題のプロセッサ
20Cは、他のプロセッサ20Aと20Bがその対応するデータ
を適宜変更する機会を得るまで、そのデータに再アクセ
スできない。
第3図に、L1キャッシュ18A-18C、I装置/E装置/制御
記憶装置20A-20C及びベクトル・プロセッサ22A-22Cのよ
り単純化した構成を示す。第3図で、L1キャッシュはそ
れぞれ、命令キャッシュ装置(ICU)18−1及びデータ
・キャッシュ装置(DCU)18−2を含む。本発明の命令
処理装置(IPU)(第2図ないし第4図ではI装置/E装
置/制御記憶装置20A-20Cと呼ぶ)は、浮動小数点装置
(FPU)20−5、制御記憶装置(CSU)20−1、命令事前
処理装置(IPPU)20−3及び実行処理装置(EPU)20−
4を含む。DCU18−2は、VPバス(VPBUS)を介してベク
トル処理装置(VPU)22A-22Cに接続されている。第3図
の固定小数点実行装置20−4は実行処理装置(EPU)20
−4で代表されている。ICU18−1及びDCU18−2は、浮
動小数点装置(FPU)20−5に接続されている。第3図
の制御記憶装置(CSU)20−1は、制御記憶装置(CSU)
である。
第1図に、第3図のEPU20−4内に配置された本発明を
実施するための命令スタック(IS)を示す。
第1図で、EPU20−4は命令スタック(IS)20-4Aを含
み、IS20-4Aは、命令列、すなわち、IR30に接続された
スタック1と2及びスタック3から成る命令待ち行列33
から1つの命令を受け取るように命令バスに接続された
命令レジスタ(IR)30を含む。スタック3からEPU20−
4で実行される命令を表す出力が生成される。スタック
3中の命令は通常、実行中のものである。しかし、また
IR30のスタック1及びスタック2から別の出力がゲート
される。したがって、IR30のスタック1またはスタック
2中のどの命令もスタック3中の命令の代わりに実行す
ることができる。
命令は、記憶装置から直接EPU20−4で受け取られ、命
令スタックIS20-4Aにセーブされる。IS20-4Aは、復号し
実行すべき命令をセーブ(記憶)する命令レジスタ(I
R)30を含む。必要な記憶データが得られるまで実行で
きない命令もある。RXタイプの命令を含む命令は、オペ
ランドと実行論理が準備できるまで命令待ち行列(スタ
ック1と2)にセーブ(記憶)される。命令待ち行列
は、命令事前処理速度をEPUの実行速度と一致(緩衝)
させるために使用される。IR30は、有効ビットVを含
む。有効ビットは、有効な命令がIR30に提示されている
ことを示す命令バスによって1にセットされる。命令待
ち行列のスタック1−3はそれぞれ有効ビットV1、V2及
びV3も含む。有効ビットV1、V2及びV3は、その命令がEP
Uによる実行を必要としているものであるかどうかを指
示する。第1図で、IR30、命令スタックのスタック1と
2、及び命令スタックのスタック3から個別の出力線が
出ていることに留意されたい。各出力線は実行装置(EP
U)のALU部分に接続されている。その結果、IRに入れら
れた命令が直接実行され、スタック1中の命令が直接実
行され、スタック2中の命令が直接実行され、あるいは
スタック3中の命令が直接実行される。
第6図に、第1図の新規な命令スタックを制御するため
の制御ラッチを示す。制御ラッチC1とC2は、それがスタ
ック2または1を実行するのに好都合なとき、それぞれ
スタック2及び1をアセンブラ34にゲートする。同様
に、ゲート48は、すべての有効ビットV1、V2及びV3がオ
フ(ゼロ)のとき命令レジスタIR30をゲートするため
に、スタック1、2及び3から、命令が命令レジスタIR
30から直接実行されるのでスタックは不要なことを示す
有効ビットV1、V2、V3を受け取る。
以下の諸段では、第1図、第3図、第5図及び第6図を
参照して実行処理装置(EPU)20−4とその中に配置さ
れたれ新規な命令スタックを含む、本発明の第3図の新
規な命令処理装置(IPU)の機能的説明を行なう。
第3図に示した本発明のIPUは、命令事前処理装置(IPP
U)と実行装置(EPU)から構成されている。EPUは、命
令の実行を担当する。EPU20−4は、汎用レジスタ(GP
R)、演算論理機構(ALU)、ローテート(Rotate)(RM
U)及び条件コード論理回路を含む。命令事前処理装置
は、記憶データ・オペランド要求、争奪及びインターロ
ックの検出、及び全体的パイプライン制御を担当してい
る。
マイクロコードなしにハードウェアによって完全に処理
され実行される命令は、ハードワイヤ式命令と呼ばれ
る。本発明のIPU(または「プロセッサ」)の設計に使
用されるハードワイヤ式命令用の通常のパイプライン構
造は、7つのセクションから構成される。
ただし、 Iは命令取出し Rは命令コード復号及びGPR/LS読取り Aは記憶アドレス計算 DはTLB及びディレクトリ・アクセス Fはデータ・キャッシュ・アクセス Eは実行 WはGPR/LS更新である。
理想的な状態では、これらのセクションはそれぞれ1マ
シン・サイクルで完了する。しかし、全てのハードワイ
ヤ式命令が上記の動作のすべてを必要とするわけではな
い。様々なハードワイヤ式命令の実行中に実際、様々な
マシン・サイクル数が消費され、様々なパイプライン列
が利用される。したがって、このプロセッサに対する最
高の「性能」を実現するには、新しいハードワイヤ式命
令の実行を、マシン・サイクルごとに(順次命令処理モ
ードで)開始しなければならない。「性能」の語は「ス
ループット」と同義である。これは、サイクル当りの命
令の数、すなわち、1マシン・サイクルで完了される命
令の数を記録することによって測定される。この測定値
は、命令のバッチまたはプログラムがプロセッサで処理
されるときに得られる平均の数であり、命令のバッチま
たはプログラムを完了するのに要するマシン・サイクル
数の逆数である。マシン・サイクル数が小さいほど、
「性能」すなわち「スループット」は向上する。
本明細書では、NOOP命令とは、EPUからの「能動関与」
を必要としないものである。EPUの「能動関与」という
語は、EPUの加算器、桁送り器、または条件コード論理
回路あるいはそれらの組合せが関与することを言う。た
だし、外部データを入力レジスタで受け取る動作は、
「能動関与」とは見なされない。
パイプライン式プロセッサは、処理を継続的に流れさ
せ、各命令の処理時間を最小にするように設計されてい
る。これが実現されるのは、正常のパイプライン命令列
の実行中に割込みがない場合である。パイプライン方式
への2つの主要な割込みのうちの1つが記憶データ依存
性である。処理を続行する前に記憶サブシステムからデ
ータを要求し、記憶媒体にアクセスし、データをプロセ
ッサに戻すために時間を要する。もう1つの割込みは分
岐によって生じるものであるが、それは本発明の主題で
はない。
データ依存性がすべて解決されない限り、命令は実行で
きない。この命令に対するすべてのデータ・オペランド
が利用可能な場合でさえ、次の命令に進めない。このデ
ータ依存性の問題を解決するための1つの方法は、デー
タ可用性インターロック設計と呼ばれ、解決すべき記憶
データを待ってから、実行を続行するものである。上記
の命令待ち行列は、同じ命令バッチの期間中この記憶ア
クセス・オーバーヘッドを最小にする。この待ち行列に
より、EPUが停止されてデータ・オペランドを待ってい
る間に命令事前処理を継続することが可能となる。同時
に、この設計は、命令が最初に指名されたのと同じ順序
で命令実行を維持する。しかし、「データ解決時間」
は、最初にパイプラインを「充填」するときに支払わな
ければならないオーバーヘッド時間である。
本発明のIPUは、「データ解決時間」(オペランドが記
憶装置からシークされている間の待機時間)からある時
間増分を差し引いて、IPUの実行装置で実行される1組
の命令の総実行時間を圧縮することにより、上記のデー
タ可用性インターロック設計に改良を加えるものであ
る。この差引きは、実行装置が通常使用されてない時に
それを使用することにより行なわれる。NOOP命令の実行
中にはIPUの実行装置は使用されず、NOOP命令は第3図
のIPPU20−3で実行される。命令ストリーム列中の次の
命令は、実行装置を使用する必要があるが、以前のNOOP
命令の実行が完了するまで待たなければならない。本発
明の改良されたIPUによると、IPPUが前のNOOP命令を実
行しているときに次の命令が実行装置を利用することが
できる。したがって、次の命令の実行が、以前に予想さ
れたより1サイクル早く完了する。こうして、命令スト
リーム全体の実行時間が「圧縮される」。
IPUで実行される命令ストリームの総経過実行時間を短
くする方法はいくつかある。
1.データ検索時間をカットする。
2.実行時間とデータ検索時間をオーバーラップさせる。
3.実行時間をカットする。
本発明の改良されたIPUの目的は、IPUの実行装置で実行
される1組の命令の実行時間をカットすることである。
NOOP命令は、実行中に、IPUのプロセッサ論理の大半を
利用しない。したがって、NOOP命令の実行中に後続の他
の命令がこのプロセッサ論理を使用できる場合、命令ス
トリームの総実行時間を減らすことができる。たとえ
ば、NOOP命令と呼ばれるある一般的な命令のグループ
は、活動実行段階を必要としないもので、ロード、ロー
ド・ハーフ、ロード・アドレスの各命令がそれに含まれ
る。これらの命令は外部装置からデータを検索し、指定
されたレジスタを受け取ったデータで更新する。外部装
置には、記憶サブシステム、アドレス処理論理機構、ま
たはEPU自体以外の任意の機能ユニットが含まれる。EPU
の中心(加算器、桁送り器、条件コード論理回路、他の
データ処理論理回路)は、こうしたNOOP命令の実行中に
は不要である。これらの命令は第3図に示す中央演算処
理装置のIPPUで実行される。
性能を測定するのに使用される代表的な追跡プログラム
は、17%のロード命令、5%のロード・アドレス命令及
び2.5%のロード・ハーフ命令を含む。したがって、追
跡プログラムの命令のうち合計17+5+2.5=24.5%
が、NOOP命令である。したがって、総実行時間の24.5%
のNOOP命令が実行されている間中、IPUのEPUは使用され
ない。このEPU遊休時間が後続の命令の実行時間と組合
せ可能である場合、後続の命令の実行を1サイクル早く
開始させることができる。言い換えれば、IPUによって
実行されるプログラム中の各NOOP命令(IPUがいわゆる
「スタック」または「待ち行列」モードにある間)ごと
に1マシン・サイクルが削減される。
以下の命令列を考える。
A R2、(LOC) L R4、LOOPCNT AR R5、R6 これらの命令の最初のものはEPU中でのRX命令の実行、
第2のものはNOOP命令、第3のものはRX命令より短い実
行時間しか必要としないRR命令と見なされる。
従来技術の命令スタックを用いて、この命令列のタイミ
ング図を以下に示す。
本発明による第1図の命令スタックを用いて、この命令
列のタイミング図を、以下に示す。
前者のタイミング図では、マシン・サイクル6の間に、
実行装置「E」は使用されておらず(IPUは頭字語
「W」で示したGPR/LS更新を実行する)、マシン・サイ
クル7の間に、実行装置「E」は命令AR R5、R6を実行
するのに使用されている。しかし、後者のタイミング図
では、マシン・サイクル6の間に、実行装置「E」は遊
休であるため、後続の命令AR R5、R6を実行するのに使
用され、同時に、IPUは、頭字語「W」で示した前の命
令、GPR/LS更新を実行している。
上記のような機能を実施するには、単一入力/複数出力
(SIMO)命令スタック(命令待ち行列)が必要である。
さらに、命令待ち行列中の命令のフローを制御するため
の制御回路も必要である。
第1図で、本発明のIPU20のEPU20−4内に配置された新
規な命令スタック20-4Aが示されている。上記のよう
に、この新規なスタック20-4Aは、命令レジスタIR30及
び命令待ち行列33を含む。命令待ち行列33はスタック1
ないし3を含み、通常はスタック3に実行される命令が
含まれている。スタック3は、命令スタック20-4Aから
通常実行される命令を表す出力をもつ。しかし、IR30、
スタック1、及びスタック2がそれぞれ別々の出力をも
つことに留意されたい。したがって、IR30、スタック1
またはスタック2中の命令が、スタック2中の命令の代
わりに実行できる。各出力は、汎用レジスタ(GPR)に
アクセスし、EPU中の実行論理回路及び条件コード論理
回路を案内するための局所制御信号を生成するのに使用
される命令を表す。
通常の命令スタック33は、単一入力単一出力構成をもつ
(新しい命令が入力端に入り、そのスタック中の最古の
命令が出力端から実行される)。命令は、それらがEPU
が受け取ったのと同じ順序で実行される。第4図の単一
入力複数出力式命令スタックは、すべてのレベルが出力
に利用できる点以外は、上記に示した通常の命令スタッ
クと同じである。一時にこれらの出力のうちの1つだけ
がEPUによって使用される。
RXタイプの命令は、オペランドとして記憶データを必要
とし、スタック33にセーブされる。RRタイプの命令は、
オペランドとして記憶データを必要とせず、RXタイプの
命令より早く完了できる。しかし、「スタック・モー
ド」で動作するときは、命令の正確な実行順序を保証す
るために、RX命令に続くRRタイプの命令もそのスタック
にセーブされ、後でスタックの出力で実行される。「ス
タック・モード」とは、EPUが出力信号Dを介してスタ
ック3の出力から命令を実行するときの状態である。第
1図のスタックで無効な命令しかなく、命令レジスタ30
(スタック1、スタック2、スタック3)にRX命令がな
い)すなわち、NOOP命令だけの)とき、EPU20−4は
「スタック・モード」から「非スタック・モード」に切
り替わる。「非スタック・モード」のとき、命令は、エ
ネーブル信号Aを介してIS20-4Aの命令レジスタ(IR)
から実行される。「可変スタック・モード」というもの
がある。「可変スタック・モード」中には、RRタイプの
命令が、エネーブル信号Bを介してスタック1の出力
(スタック2と3が共にNOOP命令を含むとき)から、ま
たはエネーブル信号Cを介してスタック2の出力(スタ
ック3がNOOP命令を含むとき)から実行される。
IRは、バスからの命令を有効なものとして識別する有効
ビットVを含む。スタック1は有効ビットV1を含み、ス
タック2は有効ビットV2を含み、スタック3は有効ビッ
トV3を含む。有効ビットV1、V2、V3は、関連するレジス
タ/スタック中の命令が実行装置(EPU)の使用を必要
とするものであるかどうかを判定するのに使用される。
その命令がEPUの使用を必要としないものである(NOOP
命令である)場合、有効ビットV1、V2、V3は、第5図に
示す復号論理回路41、46、47によってオフ(0)にセッ
トされる。その命令がEPUの使用を必要とする(NOOP命
令でない)場合、有効ビットV1、V2、V3はこの復号論理
回路によってオン(1)にセットされる。IS20-4Aが受
け取った命令が、有効なハードワイヤ式命令でないと命
令バスにより判定された場合、それは無効命令であり、
その無効命令に関連する有効ビットV1、V2またはV3はオ
フ(0)になる。有効ビットは、第5図に示す制御ラッ
チの出力に応じてセットまたはリセットされる。非スタ
ック・モードでは、IS20-4AのIR中の有効ビットVの値
が、V1、V2またはV3に伝播できない。可変スタック・ビ
ット(以下でより詳しく定義する)中には、命令レジス
タ中の有効ビットVの値だけが、命令待ち行列の深部に
(すなわち、第5図の制御ラッチに応じてV1、V2または
V3まで)伝播して、そのスタックの各レベルの有効非NO
OP命令を識別することができる。
第6図に、第1図のIS20-4Aの命令待ち行列中の命令フ
ローを制御するのに利用される制御論理回路を示す。こ
の制御論理回路は、2つの制御ラッチ、制御ラッチC1と
C2を含む。各制御ラッチは、命令待ち行列中のスタック
の1つのレベルを制御する。すなわち、第6図の制御ラ
ッチC1は第1図の命令待ち行列のスタック2をゲート
し、制御ラッチC2は命令待ち行列のスタック1をゲート
する。これらの制御ラッチC1とC2は、プログラム中の命
令の履歴及び現在の命令状況に基づいてセット及びリセ
ットされる。
第1図のアセンブラ34は、複数の入力、すなわち命令レ
ジスタ30の出力または命令待ち行列からのスタック・レ
ベル1、2または3のいずれかを受け取る。
通常の動作では、命令レジスタ30中の最初の命令が、EP
Uが演算動作を実行することを必要とするRX命令として
復号されるまで、命令待ち行列は使用されない。第6図
に示す復号器53は、第5図の当該の制御論理回路41によ
ってRX命令の存在を検出する。これは、スタック1のV1
ビットを有効ビットにセットする効果をもつ。この状況
の下で命令レジスタ30に関連するVビットを含むラッチ
40からのVビットを復号RXとANDすることによって、ラ
ッチ42がセットされる。
こうして最初のRX命令の存在が復号されると、V1ビット
がセットされ、命令がスタック33に入り、完全スタック
・モードに入る。次にRX命令がスタック・レベル3に到
達するまで、すべての命令がスタック中を伝播する。
以下の命令がそれぞれ検査されて、それがNOOP命令であ
るかそれとも非NOOP命令か、すなわち、EPUによる実行
を必要とするRXまたはRR命令であるかどうかが判定され
る。
最初のRX命令は、スタック・レベル中をスタック3まで
伝播し、各場合に、命令がそれぞれスタック2と3に到
達したとき、当該の有効ビットV2、V3が1にセットされ
る。
ANDゲート46と47は、前のスタックからの命令を検査
し、以前のスタック命令がV2またはV3まで伝播されたと
き、スタック2または3中に存在する命令がNOOPまたは
非NOOP命令かどうかをラッチ43と44が確実に識別できる
ようにするためにセットされる。
最初のRX命令が検出されるまで、命令レジスタ30は、第
6図で生成される論理信号Aによってアセンブラ34にゲ
ートされる。この非スタック・モードは、RR命令及びIR
レジスタ30にロードされるNOOP命令を含めて各命令を実
行するのに利用される。最初のRX命令が復号論理回路53
によって復号され、ラッチ42によって識別されたとき、
スタック・モードが始まる。
RX命令の存在を検出することによってスタック・モード
に入ると、スタック・モードが利用され、スタック・レ
ベル3、2または1のうちの1つがエネーブル信号B、
CまたはDの制御の下でアセンブラ34にゲートされる。
通常、最初のRX命令が復号された後、スタック3にある
命令だけが、EPU20−4の一部としてのEPUプロセッサ35
により実行される。すなわち、最初のRX命令がスタック
3に到達すると、スタック3中のこの命令に関連する有
効ビットV3の検出により実行される。
後続の命令がスタック1、2、3を含む命令待ち行列中
を伝播するにつれて、NOOP命令が、EPU35が実行に必要
でないスタック3に最初に到達したとき、その有効ビッ
トV3が0にセットされる。スタック1または2も命令レ
ジスタ30もRX命令を含まないと第6図の制御論理回路に
よって判定された場合に、次のRR命令を含む次に高位の
スタック・レベル、すなわちスタック2または1が、第
6図に示す制御論理回路によって使用可能になる。この
実施例の制御論理回路は、RX命令が任意のスタック・レ
ベルまたは命令レジスタ30にあると判定された場合、ス
タックを完全スタック・モードに維持する。出力Cが使
用可能になるのは、スタック2の命令が有効なRR命令
で、スタック1または命令レジスタ30がRX命令を含まな
いときである。スタック2の命令もNOOP命令であること
がビットV2によって判定された場合、出力Bは第6図の
回路によって使用可能になり、スタック1がRR命令を含
む場合、スタック1をEPU35による実行のためアセンブ
ラ34に提示することが可能となる。もちろん、エネーブ
ル信号Bが生成されるのは、スタック1の命令に関連す
るV1ビットが1にセットされて、実行を必要とする非NO
OP命令がスタック1にあり、その命令がRR命令であるこ
とを示す場合だけである。
スタック1、2及び3のすべてがNOOP命令を含む場合、
第6図のNORゲート48は、命令レジスタ30からの出力が
その後のすべての実行に使用される、すなわち非スタッ
ク・モードで動作することを示す、エネーブル信号Aを
生成する。この非スタック・モードは、次のRX命令が命
令レジスタ30で検出されるまで継続する。すなわち、実
行装置35と命令フローの速度を一致させるために通常使
用される命令待ち行列33を使用せずに、非NOOP並びにRR
命令を連続してアセンブラ34に提示することができる。
第6図ではさらに2つの制御ラッチ49と50が示されてい
る。これらの制御ラッチは、復号回路51と52にも接続さ
れている。復号器53は、生成された各命令がRXであるか
否かを判定するために命令レジスタ30に接続されてい
る。命令レジスタ30が復号されて、いつでもRX命令を含
むことが判明した場合、RX命令がレベル3に到達して実
行されるまで、命令待ち行列はスタック・モードのまま
となり、あるいはスタック・モードに変わる。第6図の
論理回路51、52は、ラッチ49と50の両方をリセット状態
に保持して、レベル3のRX命令が実行される前に別のRX
命令を命令レジスタ30で受け取った場合にシステムを完
全スタック・モードに保持する。RX命令がスタック・レ
ジスタ3から実行され、次の3つの連続する命令がRX命
令でない場合、ラッチ49と50は、スタック・レベル1、
2または3の内容に応じてセットされる。スタック・レ
ベル3がNOOP命令を含むことがビットV3によって判定さ
れ、スタック2が有効な非NOOP命令を含むことがビット
V2によって判定された場合、ラッチ49はエネーブル信号
Cを生成する。ビットV3とV2が無効で、スタック・レベ
ル2と3がNOOP命令を含むことを示す場合、ANDゲート5
4は、スタック・レベル1がRR命令を含むことが有効ビ
ットV1によって判定されると、エネーブル信号Bを生成
する。
明らかに、どのスタックも有効ビットを含まない、すな
わち、V1、V2、V3=0の場合、NORゲート48は線Aを使
用可能にする。
すなわち、スタック1、2及び3中の命令列に応じて、
完全スタック・モード、部分スタック・モードまたは非
スタック・モードでシステムを動作させることができ
る。
再び第1図に戻ると、図のMUX31は、EPUプロセッサ35に
命令有効指示も送る。当然のことながら、この命令有効
指示は、アセンブラ34のためのエネーブル信号A、B、
C、Dの生成と同時に生成される。
以上の説明では、EPUはNOOP命令を実行する必要はない
と述べてきた。しかし、これらのNOOP命令は、第1図及
び第3図に示すIPPU20−3によって実行することができ
る。ただし、上記のシステムは、スタック・モードで動
作するとき、RX命令及びRR命令を実行すべきときにRX命
令、RR命令及びNOOP命令の順序を維持する。
E.発明の効果 単一入力複数出力(SIMO)ハードウェア命令スタックを
設計することにより、プロセッサ遊休時間をスタック・
モードでの後続の命令の実行と組み合わせた。この装置
は、命令Nと命令Iの有効な実行の間の時間を圧縮す
る。ただし、Nは任意の整数で、I≧N+1である。こ
のスタックは、同時にそのプロセッサで異なる命令列が
一時に実行されることによって変動が導入されることに
よる、2つの実行動作の間のギャップを動的に調整する
ことができる。この形の圧縮は、並列決定処理が制御論
理回路により実行中のプログラムの命令の履歴に応じて
実行されるために、ハードウェア手段によってしか効果
的に実行できない。この装置は、EPUのプロセッサ遊休
時間を減らすことができる。順次実行では、確かに複雑
な設計の量が制限される。有効な動作の間の遊休時間の
圧縮によりシステム性能が向上する。その2つの組合せ
(順次実行と有効な動作の間の遊休時間のzX圧縮)によ
り、システム性能がさらに向上する。
【図面の簡単な説明】
第1図は、本発明に基づく命令処理装置の作用を説明す
る図である。 第2図は、本発明を適用しうるマルチプロセッサシステ
ムを示す図である。 第3図は、第2図のL1キャッシュ18A-18C、I装置/E装
置/制御記憶装置20A-20C、及びベクトル・プロセッサ2
2A-22Cのより簡単にした構成を示す図である。 第4図は、本発明を適用しうるユニプロセッサシステム
を示す図である。 第5図は、第3図の実行処理装置(EPU)20−4の命令
スタックで使用される有効ビットを形成するための装置
を示す図である。 第6図は、第3図の実行処理装置(EPU)20−4の制御
回路を示す図である。
フロントページの続き (72)発明者 エイミイ・クワングピイ・ジエーン アメリカ合衆国ニユーヨーク州ヴエスタ ル、エヴアグリーン・ストリート8‐3シ イー201番地 (72)発明者 アグネス・イー・ナーイ アメリカ合衆国ニユーヨーク州エンドウエ ル、ヒルサイド・テラス311番地 (56)参考文献 特開 昭61−16335(JP,A) 特開 昭58−101346(JP,A) 特開 昭61−180370(JP,A)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】無演算命令を含む順次的な命令ストリーム
    を実行するパイプライン式プロセッサにおける1つの演
    算実行装置の実行効率を向上させる命令処理装置であっ
    て、 上記パイプライン式プロセッサで処理される各命令を受
    取るための命令レジスタと、 上記命令レジスタに接続され、受け取られた命令をデコ
    ードし、該命令が無演算命令であるかどうかを判断して
    その結果に応じて該受取られた命令に関連する所定のビ
    ットをセットするデコード手段と、 順次的な命令をそれぞれ各スタックが保持できるように
    直列的に接続され、かつその各々が保持する命令を供給
    するための独自の出力を有する複数のスタックからなる
    スタックレジスタと、 上記スタックレジスタの各出力に接続され、選択信号に
    応答して選択された命令を上記演算実行装置に供給する
    命令マルチプレクサと、 上記命令レジスタ及び上記スタックレジスタの各スタッ
    クに接続され、各命令に関連する上記所定のビットの状
    態を判断して、上記スタックの次に実行されるべき命令
    が無演算命令でない場合には該命令を上記実行装置に供
    給するよう上記選択信号を上記マルチプレクサに供給
    し、上記スタックの次に実行されるべき命令が無演算命
    令である場合にはその次以降のスタックの非無演算命令
    を上記実行装置に供給するよう上記選択信号を上記マル
    チプレクサに供給する制御手段と、 を有する命令処理装置。
JP1117617A 1988-06-30 1989-05-12 命令処理装置 Expired - Lifetime JPH0776920B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US213565 1988-06-30
US07/213,565 US5031096A (en) 1988-06-30 1988-06-30 Method and apparatus for compressing the execution time of an instruction stream executing in a pipelined processor

Publications (2)

Publication Number Publication Date
JPH0232424A JPH0232424A (ja) 1990-02-02
JPH0776920B2 true JPH0776920B2 (ja) 1995-08-16

Family

ID=22795594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1117617A Expired - Lifetime JPH0776920B2 (ja) 1988-06-30 1989-05-12 命令処理装置

Country Status (3)

Country Link
US (1) US5031096A (ja)
EP (1) EP0348728A3 (ja)
JP (1) JPH0776920B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0583089B1 (en) * 1992-08-12 2000-01-26 Advanced Micro Devices, Inc. Instruction decoder
EP0625746A1 (de) * 1993-05-19 1994-11-23 Siemens Nixdorf Informationssysteme Aktiengesellschaft Befehlsaufbereitungseinheit für Verarbeitungsprozessoren in Datenverarbeitungsanlagen
US5519864A (en) * 1993-12-27 1996-05-21 Intel Corporation Method and apparatus for scheduling the dispatch of instructions from a reservation station
JPH07248974A (ja) * 1994-03-10 1995-09-26 Hitachi Ltd 情報処理装置
US5619408A (en) * 1995-02-10 1997-04-08 International Business Machines Corporation Method and system for recoding noneffective instructions within a data processing system
US5689674A (en) * 1995-10-31 1997-11-18 Intel Corporation Method and apparatus for binding instructions to dispatch ports of a reservation station
US5940859A (en) * 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
JP3705022B2 (ja) * 1999-07-09 2005-10-12 株式会社日立製作所 低消費電力マイクロプロセッサおよびマイクロプロセッサシステム
US7149878B1 (en) * 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
US6826681B2 (en) * 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
EP1378824A1 (en) 2002-07-02 2004-01-07 STMicroelectronics S.r.l. A method for executing programs on multiple processors and corresponding processor system
US20070063745A1 (en) * 2003-04-16 2007-03-22 Koninklijke Philips Electronics N.V. Support for conditional operations in time-stationary processors

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4025771A (en) * 1974-03-25 1977-05-24 Hughes Aircraft Company Pipe line high speed signal processor
GB1506972A (en) * 1976-02-06 1978-04-12 Int Computers Ltd Data processing systems
SE403322B (sv) * 1977-02-28 1978-08-07 Ellemtel Utvecklings Ab Anordning i en styrdator for forkortning av exekveringstiden for instruktioner vid indirekt adressering av ett dataminne
JPS5466048A (en) * 1977-11-07 1979-05-28 Hitachi Ltd Information processor
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
JPS58101346A (ja) * 1981-12-11 1983-06-16 Fujitsu Ltd 命令実行制御方式
US4608633A (en) * 1983-04-01 1986-08-26 Honeywell Information Systems Inc. Method for decreasing execution time of numeric instructions
JPS6116335A (ja) * 1984-07-02 1986-01-24 Nec Corp 情報処理装置
JPS61180370A (ja) * 1986-01-10 1986-08-13 Hitachi Ltd データ処理装置
US5099421A (en) * 1988-12-30 1992-03-24 International Business Machine Corporation Variable length pipe operations sequencing

Also Published As

Publication number Publication date
EP0348728A3 (en) 1992-08-05
US5031096A (en) 1991-07-09
JPH0232424A (ja) 1990-02-02
EP0348728A2 (en) 1990-01-03

Similar Documents

Publication Publication Date Title
KR100875252B1 (ko) 고성능 알아이에스씨 마이크로프로세서 구조
KR100294276B1 (ko) 고속트랩및예외상태를구현한알아이에스씨마이크로프로세서구조
Hunt Advanced Performance Features of the 64-bit PA-8000
KR100299691B1 (ko) 확장가능알아이에스씨마이크로프로세서구조
US5430884A (en) Scalar/vector processor
US5898866A (en) Method and apparatus for counting remaining loop instructions and pipelining the next instruction
US6772327B2 (en) Floating point unit pipeline synchronized with processor pipeline
US5544337A (en) Vector processor having registers for control by vector resisters
JPH0776920B2 (ja) 命令処理装置
US5623650A (en) Method of processing a sequence of conditional vector IF statements
JPWO1996027833A1 (ja) 情報処理装置
US5598547A (en) Vector processor having functional unit paths of differing pipeline lengths
US6209083B1 (en) Processor having selectable exception handling modes