JPH02130634A - プロセッサシステム、コンピュータシステム及び命令処理方法 - Google Patents

プロセッサシステム、コンピュータシステム及び命令処理方法

Info

Publication number
JPH02130634A
JPH02130634A JP63283673A JP28367388A JPH02130634A JP H02130634 A JPH02130634 A JP H02130634A JP 63283673 A JP63283673 A JP 63283673A JP 28367388 A JP28367388 A JP 28367388A JP H02130634 A JPH02130634 A JP H02130634A
Authority
JP
Japan
Prior art keywords
instruction
instructions
register
address
data processing
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
JP63283673A
Other languages
English (en)
Other versions
JP2810068B2 (ja
Inventor
Takashi Hotta
多加志 堀田
Nariya Tanaka
成弥 田中
Hideo Maejima
前島 英雄
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63283673A priority Critical patent/JP2810068B2/ja
Priority to US07/433,368 priority patent/US5233694A/en
Priority to EP97103969A priority patent/EP0782071B1/en
Priority to DE68929215T priority patent/DE68929215T2/de
Priority to EP89120881A priority patent/EP0368332B1/en
Priority to DE68929483T priority patent/DE68929483T2/de
Priority to KR1019890016275A priority patent/KR0149658B1/ko
Priority to DE68928340T priority patent/DE68928340T2/de
Priority to EP99122100A priority patent/EP0996057B1/en
Publication of JPH02130634A publication Critical patent/JPH02130634A/ja
Priority to US07/979,772 priority patent/US6256726B1/en
Priority to US08/149,932 priority patent/US5404472A/en
Priority to KR1019980007835A priority patent/KR0160602B1/ko
Application granted granted Critical
Publication of JP2810068B2 publication Critical patent/JP2810068B2/ja
Priority to US09/853,769 priority patent/US7424598B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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, look ahead
    • G06F9/3802Instruction prefetching
    • 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, look ahead
    • G06F9/3824Operand accessing
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • 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, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はミニコン、マイコン等のCPUに係り、特に高
速動作に好適なデータ処理装置及び方法に関する。
〔従来の技術〕
従来より、計算機の高速化のために、種々の工夫が行な
われている。代表的な手法にパイプラインがある。パイ
プラインとは、1つの命令の処理を完全に終えてから次
の命令を始めるのではなくて、1つの命令を複数ステー
ジに分け、最初の命令が2番目のステージにさしかかっ
たところで、次の命令の最初のステージの処理を始める
というようにバケツリレー式に処理する方式である。こ
の様な方式については、富田眞治著「並列計算機。
構成論」昭晃堂p、25〜68に詳しく論じられている
。n段パイプライン方式を用いれば、それぞれのパイプ
ラインステージにて処理されている命令は1つであるが
、全体としてn個の命令を同時に処理することができ、
パイプラインピッチごとに、1つの命令の処理を終える
ことができる。
さて、計算機の命令アーキテクチャが、その処理方式、
処理性能に及ぼす影響が大であることは周知である。命
令アーキテクチャの観点から計算機を分類すると、CI
 S C(Co[l1plex In5tructio
nSet Computer)とRI S C(Red
uced In5tructionSet Compu
ter)に分けられる。Cl5Cでは複雑な命令をマイ
クロ命令を使って処理する。これに対して、RISCで
は、命令を簡単なものに絞る代わりに、マイクロ命令を
用いずに、ハードワイヤド論理による制御で高速化を計
っている。以下、従来のCl5C,RISCの両者につ
いて、ハードウェア概要とそのパイプライン動作につい
て述べる。
第2図はCl5C型計算機の一般的構成を説明する図で
ある。200はメモリインタフェース、201はプログ
ラムカウンタ(PC)、202は命令キャッシュ、20
3は命令レジスタ、204は命令デコーダ、205はア
ドレス計算制御回路、206はマイクロ命令を格納して
おく ControlStorage(CS ) 、2
07はマイクロ命令カウンタ、208はマイクロ命令レ
ジスタ、209はデコーダ、210はメモリとデータを
やり取りするレジスタM D R(Memory Da
ta Register) 、 211はメモリ上のオ
ペランドアドレスを示すレジスタMAR(Memory
 Address Register) 、 212は
アドレス加算器、213はレジスタファイル、214は
A L U (Arithmetic Logical
 Unit)である。
動作の概要を説明する。PC201によって示された命
令が、命令キャッシュより取り出され、信号217を通
して、命令レジスタ203にセットされる。命令デコー
ダ204は命令を信号218を通して受けとり、マイク
ロ命令の先頭アドレスを信号220を通して、マイクロ
プログラムカウンタ207にセットする。また、アドレ
ス計算方法を4M号219を通してアドレス計算制御回
路205に指示する。アドレス計算制御回路205は、
アドレス計算に必要なレジスタの読み出し、アドレス加
算器212の制御等を行う。アドレス計算に必要なレジ
スタは、レジスタファイル213よりバス226,22
7を通してアドレス加算器212に送出される。一方、
マイクロ命令は1マシンサイクルごとにC8206より
読み出され、デコーダ209によりデコードされ、AL
U214゜レジスタファイル213を制御するのに使わ
れる。
224は、これらの制御信号である。ALU214は、
レジスタよりバス228,229を通して送られるデー
タを演算し、再びレジスタファイル213に格納する。
メモリインターフェース200は、命令のフェッチ、オ
ペランドのフェッチ等。
メモリとのやり取りを行う回路である。
次に、第2図で示した計算機のパイプライン動作を第3
.4.5図を用いて説明する。パイプラインは6段であ
る。I F (Instruction Fetch)
ステージでは、命令キャッシュ202より命令が読み出
され、命令レジスタ203にセットされる。
D (Decocfe)ステージでは、命令デコーダ2
04により、命令のデコードが行なわれる。A (Ad
dress)ステージでは、アドレス加算器212によ
り、オペランドのアドレス計算が行なわれる。0F(O
perand Fetch)ステージでは、メモリイン
タフェース200を通して、MAR211で指されたア
ドレスのオペランドがフェッチされ、MDR210にセ
ットさ九る。次に、E X (Execution)ス
テージでは、レジスタファイル213、及び。
MDR210より、データが読み出され、ALU21−
4に送られ、演算される。最後にW (write)ス
テージでは、演算結果がレジスタファイル213の中の
1つのレジスタにバス230を通して格納される。
さて、第3図は、基本命令の1つである加算命令ADD
を連続して処理する様子を示したものである。1マシン
サイクルごとに、1命令処理されており、ALU214
.アドレス加算器212共に毎サイクル並列して動いて
いる。
第4図は、条件付分岐命令BRAccの処理の様子を示
したものである。TE、ST命令でフラグが生成される
。第4図は条件成立時のフローを示したものである。フ
ラグ生成がEXステージで行われるため、ジャンプ先命
令のフェッチまでに3サイクルの待サイクルが生じる。
パイプライン段数を増やせば増やす程、この待サイクル
は増え、性能向上のネックとなる。
第5図は、複雑な命令の実行フローを示したものである
。命令1が複雑な命令である。複雑な命令とはストリン
グコピーの様に多数のメモリアクセスがある命令等で、
通常EXステージを多数回延長することにより処理され
る。EXステージはマイクロプログラムにより制御され
る。マイクロプログラムは1マシンサイクルに1回アク
セスされる。即、複雑な命令は、マイクロプログラムを
複数回読み出すことにより処理する。この時、EXステ
ージには1つの命令しか入らないので、次の命令(第5
図命令2)は待たされる。このような時には、ALU2
14は常に動いているが、アドレス加算器212には遊
びが生じてしまう。
次にRISC型計算機について説明する。第6図はRI
 S’C型計型機算機般的構成を説明する図である。6
01はメモリインタフェース、602はプログラムカウ
ンタ、603は命令キャッシュ、604はシーケンサ、
605は命令レジスタ、606はデコーダ、607はレ
ジスタファイル、608はALU、609はMDR16
10はMARである。
第7図に基本命令の処理フローを示す。IF(Inst
ruction Fetch)ステージでは、プログラ
ムカウンタ602で指される命令が、命令キャッシュよ
り読み出され、命令レジスタ605にセットされる。ま
た、シーケンサ604は命令信号615゜ALU608
よりのフラグ信号616より、プログラムカウンタ60
2を制御する。R(Read)ステージでは、レジスタ
ファイル607より、命令で示されたレジスタが、バス
618,619を通して、ALU608に転送される。
また、E(Execution)ステージでは、ALU
608により、演算が行なわれる。最後にW(Writ
e)ステージでは、演算された結果がレジスタファイル
607に、バス620を通して格納される。
RISC型計算機では、命令を基本的な命令のみに限定
している。演算はレジスターレジスタ間に限られており
、オペランドフェッチを伴う命令はロード命令とストア
命令のみである。複雑な命令は基本命令を組み合わせる
ことによって実現する。また、マイクロ命令は使用され
ず、命令レジスタ605の内容が直接デコーダ606で
デコードされ、ALU608等を制御する。
第7図はレジスターレジスタ間演算の処理フローを示し
ている。パイプラインは命令が簡単なため、4段ですん
でいる。
第8図は条件分岐時の処理フローを示している。
Cl5C型計算機に比して、パイプライン段数が少ない
ため、待サイクルが少ない、第8図の例では、待サイク
ルは1サイクルのみである。ただし、必ずしも、レジス
タ間演算ばかりではなく、メモリからのオペランドのロ
ードや、メモリへのオペランドのストアが必要である。
Cl5C型計算機では、アドレス加算器があるため、メ
モリからのオペランドのロードが1マシンサイクルで実
行可能だが、第6図に示したRISC型計算機では、ロ
ード命令は、アドレス計算命令とロード命令に分解され
るため、2マシンサイクルを要してしまう。
〔発明が解決しようとする課題〕
上記従来技術の問題点について整理して述べる。
Cl5C型計算機では、アドレス加算器があるためメモ
リ、レジスタ間命令を1マシンサイクルで実行できるが
、パイプライン段数が多いため、分岐時のオーバヘッド
が大きい。また、複雑な命令を実行する時にはEステー
ジのみが動くので、アドレス加算器に遊びが生じてしま
うという問題点があった。
また、RISC型計算機では、パイプライン段数が少な
いため分岐時のオーバヘッドが小さい。
ところが、アドレス加算器がなく、メモリ、レジスタ間
演算のためには、ロード命令、レジスタ間。
演算命令の2命令を要するという問題点があった。
本発明の第1の目的は、複数の演算器を無駄なく動作さ
せて処理能力を高めることにある。
本発明の第2の目的は、分岐時のオーバヘッドを小さく
することにある。
また本発明の第3の目的は、メモリ、レジスタ間演算等
の複雑な命令の処理時間を短縮することにある。
〔課題を解決するための手段〕
上記目的は、主にレジスタファイルを共用する複数の演
算ユニットを設け、命令を簡単にしてパイプライン段数
を少なくし、かつ、1マシンサイクルに複数の命令を読
み出し、複数演算ユニツ+−を制御すること等により達
成される。
〔作用〕
複雑な命令は基本命令に分解され、かつ、1マシンサイ
クルで複数の命令が同時に読み出され、実行されるため
、複数の演算ユニットが同時に動き、処理能力を高める
ことができる。
また、命令の機能が簡単で、パイプライン段数を短くで
きるので、分岐時のオーバヘッドを小さくできる。
また、複数演算ユニットが並列して動くため、複雑な命
令の処理時間を短縮することができる。
〔実施例〕
以下、本発明の一実施例を説明する。
第9図は、本実施例で述べるプロセッサの命令−覧であ
る。基本命令は全てレジスタ間演算である。分岐命令に
は、無条件分岐命令BRA、条件付分岐命令BRAcc
(ccは分岐条件を示す。)、サブルーチンへの分岐命
令CALL、サブルーチンからの戻り命令RTNの4つ
がある。他に、ロード命令LOAD、とストア命令5T
ORがある。
説明の都合上、データ型は32ビツト整数のみとしたが
これに限定されるものではない。またアドレスは32ビ
ツト(4バイト)毎にふられているものとした。簡単の
ために、上記の如く命令数を制限しているが、これは、
本発明を制限するものではなく、1マシンサイクルで処
理できる内容であれば、さらに命令を増やしてもよい。
第10図に命令フォーマットを示す、命令は全て32ビ
ツトの固定長である。基本命令中の下、SL、S2.D
フィールドは、それぞれ、演算結果をフラグに反映する
かどうかを指示するビット。
第1ソースレジスタを指示するフィールド、第2ソース
レジスタを指示するフィールド、ディスティネーション
レジスタを指示するフィールドである。
本実施例の構成を示したのが、第1図である。
100はメモリインタフェース、101は32ビツトの
プログラムカウンタ、102はシーケンサ、103は命
令ユニット、104は32ビツトの第1命令レジスタ、
105は32ビツトの第2命令レジスタ、106は第1
デコーダ、107は第2デコーダ、108はMDR11
09はMARllloは第1演算ユニツト、111はレ
ジスタファイル、112は第2演算ユニツトである。
本実施例では、1マシンサイクルの間に2つの命令が並
列して読み出され実行される。本実施例でのパイプライ
ン処理の様子を示したのが、第11〜14図である。パ
イプラインはI F (Inst−ruction F
etch) 、 R(Read) 、 E X(Exe
cuticn)。
W (tyrite)の4段である。
再び、第1図を用いて、本実施例の動作について説明す
る。
IFXステージは、プログラムカウンタによって指され
る2つの命令が読み出され、バス115゜117を通し
て、それぞれ第1命令レジスタ104、第2命令レジス
タ105にセットされる。PCが偶数の時には、pc番
地の命令が第1命令レジスタに、PC+1番地の命令が
第2命令レジスタに格納される。また、PCが奇数の時
には、第1命令レジスタにはNOP命令が、第1命令レ
ジスタにはpc番地の命令がセットされる。シーケンサ
102はプログラムカウンタを制御する回路である。第
1命令レジスタ、第2命令レジスタ共に、分岐命令でな
い時には、プログラムカウンタには、前プログラムカウ
ンタ値+2の値をセットする。
分岐時には、分岐アドレスを計算してプログラムカウン
タにセットする。条件分岐時には、第1演算ユニツトよ
りのフラグ情報123、及び、第2演算ユニツトよりの
フラグ情報124より、分岐の成否を判定する。また、
命令ユニットより送出される信号116は、第1命令、
第2命令間の各種の競合を示す競合信号である。競合信
号がアサートされた場合には、競合を避けるようにハー
ドウェアで制御する。競合回避方法については、後に詳
しく述べる。
次に基本命令処理時のRステージの動作について説明す
る。Rステージでは、第1命令レジスタ104の内容が
第1デコーダ106でデコードされ、また、第2命令レ
ジスタ105の内容が第2デコーダ107でデコードさ
れる。その結果、第1命令レジスタ104の第1ソース
レジスタフイールドS1で指されるレジスタの内容がバ
ス125を通して、第2ソースレジスタフイールドS2
で指されるレジスタの内容がバス126を通して、第1
演算ユツト110へ送出される。また、第2命令レジス
タの第1ソースジスタS1で指されるレジスタの内容が
バス127を通して、第2ソースレジスタフイールドS
2で指されるレジスタの内容がバス128を通して、第
2演算ユニツト112に送出される。
次にEXステージの動作について説明する。
EXステージでは、第1命令レジスタのオペコードの内
容に従って、第1演算ユニツト110において、バス1
25,126により送られてきたデータ間の演算を行う
。並列して、第2命令レジスタ105のオペコードの内
容に従って、第2演算ユニツト112において、バス1
27,128により送られてきたデータ間の演算を行う
最後にWステージの動作を説明する。Wステージでは、
第1演算ユニット1.10の演算結果が、バス129を
通して、第1命令レジスタのディスティネーションフィ
ールドDで指されるレジスタに格納される。また、第2
演算ユニツト112の演算結果が、バス131を通して
、第2命令レジスタのディスティネーションフィールド
Dで指されるレジスタに格納される。
第11図は、基本命令を連続して処理するフローを示し
たものである。1マシンサイクルに2命令ずつ処理され
る。また、この例では、第1演算ユニツトと第2演算ユ
ニツトは常に並列して動作している。
第12図は第1命令としてロード命令、または、ストア
命令、第2命令として基本命令を連続して処理するフロ
ーを示したものである。ロード命令実行時には、Rステ
ージで、第1命令レジスタの82フイールドで指される
レジスタの内容が、バス126を通して、MAR109
に転送される6次に、EXステージで、メモリインタフ
ェース100を通して、オペランドをフェッチする。最
後に、Wステージでフェッチされたオペランドが、バス
129を通して、第1命令レジスタのディスティネーシ
ョンフィールドDで指されるレジスタに格納される。E
Xステージ、1マシンサイクルでオペランドをフェッチ
することは、メモリインタフェースに高速キャッシュを
備えていれば、可能である。特に、第1図に示す、計算
機全体が半導体基板上に集積され、命令キャッシュ、デ
ータキャッシュ共にオンチップ化されている場合などは
容易である。もちろん、キャッシュがミスヒツトした場
合には、1マシンサイクルでオペランドフェッチを終了
することができない。このような時は、システムクロッ
クを止めて、EXステージを延長すればよい。これは、
従来の計算機でも行なわれていることである。
次にストア命令実行時には、Rステージにおいて、第1
命令レジスタの第1ソースレジスタフイールドS1で指
されるレジスタの内容がデータとして、バス125を通
してMDR108に転送される。また同時に、第1命令
レジスタの第2リースレジスタフイールドS2で指され
るレジスタの内容がアドレスとして、バス126を通し
てMAII1109に転送される。次にEXステージで
、MAR109で指される番地に、MDR108内のデ
ータが書き込まれる。第12図に示すように、ロード命
令、ストア命令が第1命令にある場合についても、1マ
シンサイクルに2命令ずつ処理することができる。ロー
ド命令、ストア命令が第2命令に出現した時の処理につ
いては後に詳しく述べる。
第13図は、第2命令として無条件ジャンプBRA命令
実行時の処理フローを示したものである。BRA命令が
読み出されると、Rステージにおいてシーケンサ102
はディスプレースメントフィールドdとプログラムカウ
ンタとの加算を行い、プログラムカウンタ101にセッ
トする。この間にBRA命令の次の番地の命令、と、そ
の次の番地の命令(第13図命令1と命令2)が読み出
される。その次のサイクルに、ジャンプ先の2命令が読
み出される。本実施例では、命令1,2とも実行可能な
ハードウェアとしている。即ち、ジャンプ命令処理時も
、待サイクルが発生しない。
この手法は、遅延分岐と呼ばれるもので、RISC型の
従来計算機でも行なわれているものである。ただし、従
来のRISC型計算機では、ジャンプ命令のアドレス計
算中に、1命令しか実行できなかったが、本実施例では
、ジャンプ命令のアドレス計算中にも、2命令間時処理
されるため、より処理能力を高めることができる。CA
 L L命令。
RTN命令の処理フローも同様である。コンパイラによ
り、分岐命令のアドレス計算中にできるかぎり有効な命
令を実行できるようにコード生成するが、何もすること
がない時には第13図命令1゜2をNOP命令としてお
く、この時には、実質的に1マシンサイクルの待ちが生
ずる。しかしながら、パイプライン段数が浅いので、従
来例で述べたCl5C型の計算機に比して、分岐時のオ
ーバへ・ラドを小さくできるという利点がある。
第14図は条件分岐命令B RA ccの処理フローを
示したものである。ADDiF  と示した命令で。
フラグのセットが行なわれ、その結果に従い分岐の成否
が決められる。この時も、第13図を用いて説明した無
条件分岐命令処理時と同様にBItAcc命令のおかれ
ている番地の次の命令、第14図命令1と、その次の命
令、第14図2が読み出され処理される。ただし、この
2命令の処理フロー中Wステージにおいては、BRAc
c命令の分岐条件不成立時のみ演算結果のレジスタファ
イルへの書き込みが行なわれる。即ち、分岐命令成立時
には4演算結果の書き込みが抑制される。
以上、第11〜14図を用いて説明したように、本実施
例では、1マシンサイクルに2命令ずつ処理するので、
その処理能力が最大2倍に向上されるという利点がある
。また、命令が簡単で、ワイヤドロシックによる制御で
パイプライン段数が4段と少ないため、分岐時のオーバ
ヘッドを最大1マシンサイクルと小さくすることができ
る。さらにコンパイラによる遅延分岐の最適化が成功す
れば、上記オーバヘッドをなくすことができる。
また、複雑な処理も、簡単な命令の組み合わせで実行す
るため、従来のCl5C型計算機におけるパイプライン
並列によるアドレス加算器とALUの並列動作に比して
、第1図第1演算ユニツト110と第2演算ユニツト1
12の並列動作をより遊びなく行うことができるという
利点がある。
この点について、もう少し説明する。メモリからレジス
タへのロードを繰り返す場合、従来Cl5C型計算機で
は第15図に示すように、1マシンサイクルに1つずつ
データをロードすることができる。
これに対して本実施例においては、1つのデータのロー
ドに、アドレス計算用ADD命令と、そのアドレスを用
いたLOAD命令の2命令かかるが。
第16図に示すように1マシンサククルに2命令ずつ実
行できるので、やはり、1マシンサイクルに1つずつデ
ータをロードできる。演算器の並列動作という意味では
1両者とも2つの演算器が同時に並列して動いており、
この例では同じである。
さらに複雑な処理について比較したのが、第17図と第
18図である。従来のCl5C型計算機で6サイクルの
EXステージでの処理を要していた第17図に示す命令
1は、第18図に示すように、本実施例では3サイクル
で終了することができる。これは従来のCl5C型計算
機では、命令1の実行中、アドレス加算器の動作がとま
ってしまうが1本実施例では、2つの演算器が毎サイク
ル並列して動くことが可能となるためである。
第1図第1演算ユニツト110の中を説明したのが第1
9図である。1500はALU、1501はバレルシフ
タ、15o2はフラグ生成回路である。
バス125,126より転送されてきたデータは、加減
算、論理演算の時にはALUi500で、SFT命令の
時にはバレルシフタで処理される。
処理結果はバス130に送出される。演算結果によりフ
ラグがフラグ生成回路1502により生成され、信号1
23として送出される。
第1図第2演算ユニツト112の中を一例として説明し
たのが第20図である。1600はALU、1601は
フラグ生成回路である。第1演算ユニツトとの相違点は
バレルシフタがない点である。
これは、SFT命令は算術論理演算命令に比して出現び
ん度が低いため、省略したのである。こうすることによ
り、1マシンサイクルに、2つのSFT命令を実行する
ことができなくなるが、ハードウェア量を削減できると
いう利点がある。2つのSFT命令が出現した時の制御
方法については後述する。
第21図は第1図レジスタファイル111の中を示した
ものである。1708はレジスタ、1700〜1709
はバススイッチである。各レジスタは、4つのリードボ
ード、2つの書込みポートを持つ。
バススイッチは、前命令のディスティネーションフィー
ルドで指されたレジスタを、次命令で直ちに使う時に、
レジスタファイルをバイパスするために用いられる。例
えば、バススイッチ1702は、バス129から127
へのバイパススイッチであり、第1命令のディスティネ
ーションレジスタフィールドDと第2命令の第1ソース
レジスタフイールドS1が一致した時に開けるようにす
ればよい。
次に第1命令と第2命令の競合解消方法について第22
図から第29図を用いて説明する。第1命令と第2命令
の組み合せによっては、両命令を同時に実行できないこ
とがある。これを競合と呼ぶことにする。以下の場合に
競合がおこる。
1、ロード、ストア命令が第2命令として出現した場合
2.8FT命令が第2命令として出現した場合。
3、第1命令のディスティネーションレジスタフィール
ドDで指されるレジスタと、第2命令の第1ソースレジ
スタフイールドS1で指されるレジスタ、または、第2
命令の第2ソースレジスタフイールドS2で指されるレ
ジスタが一致する時。
上記、競合の内、1と2は、第2演算ユニツトで、ロー
ド、ストア命令、及び、SFT命令が処理できないこと
により生ずる本実施例特有の問題である。第1図におい
て、バス127に第2 MDR、バス128に第2MA
Rを追加し、メモリインタフェースにて、1マシンサイ
クルに2つのデータをアクセスできるようにすれば、第
1の競合条件は解消できる。また、第2演算ユニツトに
もバレルシフタを設ければ、第2の競合条件も解消でき
る。本実施例では、ハードウェア削減のため、上記競合
条件が生じたのである。この様な場合も、後に述べるよ
うに、容易に競合を解消できるので、必要性能と、許さ
れるハードウェア量に応じて。
同時処理大の命令に対応するハードウェアのみ2重化す
ることは、実質的に性能を落とさずに、ハードウェアを
削減できるという利点がある。
第22図を用いてSFT命令が第2命令として出現した
時の制御方法について述べる。第22図上部では、第2
命令となるアドレス“3″にSFT命令がある場合であ
る。第22図下部は、実行時の第1命令レジスタ、第2
命令レジスタに入る命令を示している。プログラムカウ
ンタ2の時、第2命令がS F T命令であることをハ
ードウェアで検出し、第1命令レジスタには2番地の命
令を、第2命令レジスタにはNOP命令をセットする。
さらに、次のマシンサイクルでは、プログラムカウンタ
をrr 1 rrだけインクリメントし、3番地をセッ
トする。そして、第1命令レジスタには、3番地のSF
T命令を第2命令レジスタにはNOP命令をセットする
。このように2マシンサイクルに分けて処理することに
より、正しく処理することができる。もちろん、コンパ
イラによる最適化を行い、できるだけ第2命令にSFT
命令が出現しないようにすることが好ましい。
別の競合解消方式について第23図を用いて述べる。即
ち、第2命令となる奇数アドレスには、・SFT命令を
おくことを禁止し、他に実行する命令のない時にはNO
P命令を入れておく。こうすれば、プログラムサイズは
若干増加するが、競合解消のためのハードウェアを省略
できるよいう利点がある。
第24図は、ロード命令が第2命令として出現した時の
処理方法を示している。3番地にロード命令がある。処
理方法は、SFT命令の時と同じである。
第25図は、レジスタ競合時の処理方式を示している。
2番地の命令が8番レジスタに書き込んでおり、同じ8
番レジスタを3番地の命令が読み出している。この場合
も、SFT命令同様、2マシンサイクルに分けて実行す
る。
ロード、ストア命令、レジスタ競合についても。
奇数番地におくことを禁止して、競合を解消してもよい
。効果はSFT命令のところで述べたのと同じである。
次に、第22〜25図で説明した処理方式を実現するハ
ードウェア方式について説明する。第26図はこのため
の、第1図命令ユニット103の構成を示した図である
。2300は競合検出回路、2301はキャッシュメモ
リ、2302は第1マスク回路、2303は第2マスク
回路である。
バス113からは、通常プログラムカウンタの値が入力
され、プログラムカウンタで指される命令とその次の番
地の命令が、バス2305.バス2306に送出される
。キャッシュミスヒツト時にはメモリインタフェース1
00により命令のフェッチが行なわれ、バス113を通
して、キャッシュ2301に書き込まれる。この時競合
検出回路が第1命令と第2命令の間の競合をチエツクし
、競合があれば、競合信号2304をアサートする。
キャッシュには2命令に1ビツトずつ両命令の競合状態
を示すビットが設けられており、キャッシュミス時に競
合信号2304を格納する。第1マスク回路は、入力と
して第1命令、第2命令、競合ビット、プログラムカウ
ンタの最下位ビットを受け、第27図に示すように、第
1命令レジスタ104への信号115を制御する。また
、第2マスク回路は、入力として第2命令、競合ビット
プログラムカウンタの最下位ビットを受け、やはり、第
27図に示すように、第2命令レジスタ105への信号
117を送出する。
第27図に示すように、競合ビット、PC最下位ともに
Oの時には第1命令レジスタに第1命令が、第2命令レ
ジスタに第2命令が送出される。
これは通常ケースである。競合ビットが1.PC最下位
がOの時には、第1命令レジスタに第1命令が、第2命
令レジスタにNOP命令が送出される。これは、競合命
令処理時の第1マシンサイクル時の処理である。次に、
競合ビットが1でPC最下位も1の時には、第1命令レ
ジスタに第2命令を、第2命令レジスタにNOPを送出
する。これは、競合命令処理時の第2マシンサイクル時
の処理である。上記処理により、第22.23゜25図
で説明した競合命令の処理フローが実現される。
分岐命令が奇数番地に分岐した時には、第27図に示す
ように、競合ビットの値によらず、第2命令のみ実効さ
れるので正しい処理が可能である。
キャッシュ読出しは毎サイクル行なわれるが、キャッシ
ュへの書き込みは、キャッシュがミスヒツトした時のみ
、しかも、数マシンサイクルかけて行なわれる。従って
、競合検出回路を、キャッシュ書込み時に動作させ、キ
ャッシュに競合ビットを保持しておくことは、マシンサ
イクルを短縮する上で有効である。
第28図は、第26図命令キャッシュ2301の構成を
示したものである。2500はディレクトリ、2501
はデータメモリ、2502はセレクタ、2503はアド
レスレジスタ、2504は書込みレジスタ、2505は
コンパレータ、2506はキャッシュ制御回路である。
第28図のキャッシュは通常のキャッシュの構成とほぼ
同じであるが、データメモリ2501に、2命令分8バ
イトに1つずつ、競合ビット保持用のフィールドがある
こと、キャッシュ読出し時に、PC最下位を無視し、常
に第1命令2305と第2命令2306と競合信号11
6を送出する点が異なっている。
第28図では、データメモリ8に語分、ブロックサイズ
32バイトとしである。プログラムカウンタより送出さ
れた信号113はアドレスレジスタ2503にセットさ
れる。アドレスの3〜12ビツトで、ディレクトリ25
00とデータメモリ25o1が引かれる。コンパレータ
2505は、ディレクトリ出力とアドレスレジスタの1
3〜32ビツトを比較する。不一致であれば、信号25
08により、キャッシュ制御回路2506にそれを知ら
せる。キャッシュ制御回路2506は、主メモリよりミ
スヒツトした命令を含むブロックを読み出し、データメ
モリ25o1にセットする。
一方、セレクタ2502は、アドレスレジスタの第1,
2ビツトを用いて、ブロックの中から必要な2命令を選
択する。第1命令と第2命令は必ず同一ブロック内にあ
り、片方のみミスヒツトすることはない。
第29図は、第1図命令ユニット103の他の構成例を
示したものである。2600はキャッシュメモリ、26
01は競合検出回路、2302は第1マスク回路、23
03は第2マスク回路である。第26図の構成との違い
は、シャツシュに競合ビット保持のフィールドがなく、
キャッシュ出力の第1命令2601と第2命令2602
を、毎サイクル競合検出回路2601が監視しているこ
とである。第1マスク回路2302.第2マスク回路2
3o3の動作は、第26図のものと同じである。本実施
例によれば、キャッシュ読み出し後に毎サイクル競合検
出回路が働くので、マシンサイクルが伸びるという欠点
があるが、キャッシュ内の競合ビットフィールドがなく
てよいという利点がある。
さらに、本実施例では、1マシンサイクルに2命令ずつ
処理されることを生かして、第30図に示すように特殊
な場合に条件付分岐命令をさらに高速化することができ
る。即ち、条件付分岐命令において、条件成立時の分岐
先が次の次の命令(第30図命令2)である時、条件の
成否にかかわらず、命令2.命令3を実行し、条件の成
否により、命令1のWステージを抑止するかどうかを制
御することにより、条件成立時の待サイクルをなくすこ
とができる。ただし、この場合、条件分岐命令は必ず第
1命令側におくこととする。通常の条件付分岐では、第
14図を用いて説明したように、分岐成立時には、1サ
イクルの待サイクルが生じる。言葉を換えて説明すれば
、本発明では1マシンサイクルに2命令ずつ処理するの
で、2命令m位での命令処理フローに影響を与えずに、
第1命令側の条件付分岐命令の条件の成否により、第2
命令側の命令の実行を制御することができる。
さらに、本実施例では、1マシンサイクルに2命令ずつ
処理されることを生かして、″アトミック″な処理を容
易に実現することができる。アトミック処理とは、必ず
−続きに行なわれる処理のことで、プロセス間の同期等
に使用される。第31図(a)は従来の計算機の場合で
あり、(b)は本実施例について説明している。(a)
では各命令の間に割込みが入る可能性があるが、(b)
では、命令1と命令2の間、及び、命令3と命令4の間
には決して割込みが入らない。このため、(a)では、
任意の命令のすき間に、他のプロセスを処理するプログ
ラムが入る可能性があるが、(b)では、命令1と命令
2.命令3と命令4は必ず−続きに実行されることが保
証されているという利点がある。
第32図は1本発明の他の実施例の構成を示した図であ
る。本実施例では、1マシンサイクルに4命令ずつ処理
することができる。3200はメモリインタフェース、
3201はプログラムカウンタ、3202はシーケンサ
、3203は命令ユニット、3204〜3207は、第
1〜4命令レジスタ、3208〜3211は、第1〜4
デコーダ、3212はMDR13213はMAR132
14。
3215.3217.3218は、第1〜4演算ユニツ
ト、3216はレジスタファイルである。
各演算ユニットはレジスタファイル3216を共有して
いる。各部の動作説明は、第1図で示した実施例と同じ
なので省略する。
同様に、さらに並列度をあげることは可能であるが、数
命令に1つの割合で分岐命令が存在するようなプログラ
ムもあり、そのようなプログラムでは、極端に並列度を
あげても、あまり効果が得られない、2〜4命令命令部
理程度が至当である。
分岐が少なく、競合も少ないプログラムでは、さらに並
列度をあげれば、効果的に性能が高まる。
また、並列度を2n (nは自然数)とすることにより
、命令ユニットの制御を容易にすることができる。
さらに、本発明の他実施例について述べる。これまでの
実施例では、常に複数命令同時処理を行っていた。通常
は1マシンサイクルに1命令ずつ処理し、部分的に複数
命令同時処理を行うことによっても利益を得ることがで
きる。第33図に3つの例を示す、第33図(a)では
、第1命令は主メモリ、第2命令はアドレス空間の先頭
部分のみにあり、かつ、ROM化されている。(b)で
は、第1命令、第2命令ともに、アドレス空間の先頭部
分でROM化されている。他の部分は第1命令のみで、
主メモリにある。(c)では、(a)とほぼ同じである
が、第2命令のROM化部分がアドレス空間の中間にあ
る。計算機全体の構成は第1図と同じであり、ただ命令
ユニット103を変更すればよい。ROM部分には、使
用ひん度が高く、並列度の高いプログラムを書いておき
、主ルーチンよりサブルーチンコールによって利用する
。ROM部分は小容量でよいので、コンパイラがなくて
も、アセンブラにより最適なプログラムを作成すること
ができる。
第34図は、第33図(a)を実現するための、第1図
命令ユニット103の構成を示したものである。290
0はキャッシュ、2901は4に語のROM、2903
はマスク回路、2902はマスク回路制御回路である。
マスク回路制御回路はアドレス113を常に監視してお
リアドレスの上位12〜31ビツトがオールゼロの時の
み、有効信号2904をアサートする。マスク回路29
03は。
有効信号2904がアサートされた時のみ、ROM出力
2905を第2命令レジスタへの出力117として送出
する。他の時はNOP命令を送出する。
第33図(c)を実現するためには、第34図マスク回
路制御回路2902を第35図のようにすればよい。3
000はコンパレータ、3001はペースレジスタであ
る。ペースレジスタの上位12〜31ビツトと、アドレ
ス113の上位12〜31ビツトが一致した時に、コン
パレータ3000は、有効信号2904をアサートする
第33図(b)を実現するためには、第1図命令ユニッ
ト103を第36図のように構成すればよい。2901
,2902.2903の機能は第29図で説明した同一
番号のものと同じである。
3100はキャッシュ、3101は4に語ノROM、3
102はセレクタ制御回路、3107はセレクタである
。セレクタ制御回路3 ]−02は、アドレス113の
上位12〜31ビツトを常に監視し、それらがオールゼ
ロの時のみROM選択信号3105をアサートする。セ
レクタ31.07は、ROM選択信号3105がアサー
トされた時のみROM出力信号3104を、第1命令レ
ジスタへの出力115として送出する。他の時には、キ
ャッシュ出力3103を送出する。
第33〜36図を用いて述べたように、部分的に複数命
令同時処理を行い、その部分をROM化することにより
ハードウェアを削減できる。また、ROM部分のみであ
ればアセンブラによって最適設計できるので、複数命令
同時処理を意識したコンパイラを開発しなくてもよいと
いう利点がある。
さらに、ROM部分を書き換えることにより、アプリケ
ーションごとに、アプリケーションに適した高速化が実
現できる。
〔発明の効果〕
本発明によれば、複雑な命令は基本命令に分解され、か
つ、1マシンサイクルで複数の命令が同時に読み出され
、実行されるために、複数の演算器が同時に動き、処理
能力を高めることができる。
また、命令の機能が簡単で、パイプライン段数を短くで
きるので、分岐時のオーバヘッドを小さくできる。
また、複数演算器が並列して動くため、複雑な処理の処
理時間を短縮することができる。
【図面の簡単な説明】
第1図は本発明の一実施例の全体ブロック図、第2図は
従来例の全体ブロック図、第3図〜第5図はその動作を
説明するタイミングチャート、第6図はもう1つの従来
例の全体ブロック図、第7図、第8図はその動作を説明
するタイミングチャート、第9図は本発明の一実施例の
命令−覧を示す図、第10図は本発明の一実施例にかか
る命令フォーマットを示す図、第11図〜第14図は本
発明の一実施例の動作を説明するタイミングチャート、
第15図は従来例の動作を説明するタイミングチャート
、第16図〜第18図は本発明の一実施例の動作を説明
するタイミングチャート、第19図は第1図の第1演算
ユニツト110の構成図、第20図は第1図の第2演算
ユニツト112の構成図、第21図は第1図のレジスタ
ファイル111の構成図、第22図〜第25図は、第1
図に示した本発明の一実施例の動作を説明する図。 第26図は第1図の命令ユニット103の構成図、第2
7図はその動作を説明する図、第28図は第26図のキ
ャッシュ2301の構成図、第29図は第1図の命令ユ
ニット103の他の構成図、第30図は本発明の一実施
例の動作を説明するタイミングチャート、第31図は命
令構成を示す図、第32図は本発明の他の実施例の全体
ブロック図。 第33図〜第36図は部分的に複数命令同時処理を行な
う本発明の他の実施例の説明図である。 103・・・命令ユニット、104・・・第1命令レジ
スタ、105・・・第2命令レジスタ、110・・・第
1演算ユニツト、111・・・レジスタファイル、11
2第2図 第1図 第3図 第4図 第5図 待サイクル 第6図 第7図 第8図 待サイクル 第10図 基本命令 分岐命令 3゜ ロードストア命令 OP        31   S2    DAL)
L) 第9図 第11図 第12図 第13図 第15図 第16図 第14図 DD (アドレス計算) IF    REX    W ジャンプ先命令2 IF    REX    W 第19図 第17図 第18図 第20図 第21図 第24図 第1命令          第2命令ADD  R(
11,R(21,R131ADD  Rt4L R(5
1,Rt61LOAD  R(31,Run)    
   LOAD  Rt61. R(IllADD  
R(51,R(21,R+31    ADD  R(
41,R(11,R+61DD LOAD LOAD ADD 第1命令 R111,Rt21. Rt31 Rt3L R11111i R161,RGI) Rf51.Rf21. R(31 第2命令 、6J)D  R(4)、 R(51゜OP OP 4八〇D Roll。 R(4)。 R(6) R(6) 第25図 第1命令          第2命令ADD  I’
2+1+、 R121,Rf31   ADD  R1
41,R151,Rf6)ADD  R111,R15
1,R(81ADD  R(81,Rf91. R+I
αADD  Rub、 R1131,R(141ADD
  Ru51. Rtla、 RQ71DD ADD ADD ADD 第1命令 R111,R(21゜ Roll、 Rt51゜ R+8)、 Rf91゜ R(13,R(13゜ 第2命令 ADD  R+41. Rf51゜ OP OP ADD R(le。 Rnり。 R(6) ROり 第22図 第1命令           第2命令5FTRHO
,Rt2L R(31ADD  R+4+、 Rt51
. Rt615FT  R+71. Rf13+、 R
1915FT  R1]01. Roll)、 ROZ
ADD  R(141,Ru151. Ru61   
 ADD  R(171,R(IIP、 R[iD↓ FT FT FT ADD Rfil。 R+71゜ Rtlol。 Ru141゜ R2)。 R+81゜ Rflli。 Ru51゜ ADD OP OP ADD R+41゜ Ru171゜ Rt51゜ Rt+81゜ R(6) R(191 第23図 FT FT FT ADD R11i。 R+71゜ Rt+01゜ R(141。 Rt21.  R(3) Rt81.  Rt91 RGIL  R112 R(+51.  Ru161 ADD OP OP ADD R141゜ RGI。 t5L R0秒。 R(6) 第26図 第27図 命令3 第28図 第30図 IF    REX    W 第29図 第31図 なとこる 第33図 第1命令 第2命令 格納   格納 場所   場所 第1命令第2命令 格納  格納 場所  場所 第1命令 第2命令 格納   格納 場所   場所 al bl cl 第34図 第35図

Claims (1)

  1. 【特許請求の範囲】 1、読み出すべき命令を指示するプログラムカウンタと
    、指示された命令を格納する命令レジスタと、データが
    格納されるレジスタファイルと、前記命令に従い、レジ
    スタファイルから該当するデータを取り出し演算を行な
    う演算ユニットを備え、パイプライン動作を行なうデー
    タ処理装置において、ワイヤド論理による命令を1マシ
    ンサイクルにm個(m=2、3・・・)同時に格納する
    m個の命令レジスタと、前記レジスタファイルを共有す
    るm個の演算ユニットを設け、前記プログラムカウンタ
    をmずつ増加させ、このプログラムカウンタの指示する
    番地から連続するm個の命令を読み出し、このm個の命
    令をm個の同一機能の演算ユニットで処理することを特
    徴とするデータ処理装置。 2、請求項第1項において、前記命令は固定長であり、
    1マシンサイクルに処理する複数の命令数m=2^n(
    n=1、2・・・)であることを特徴とするデータ処理
    装置。 3、請求項第1項において、1マシンサイクルの間に同
    時に読み出されるm個の命令の中で、所定の番地の命令
    が書き込むレジスタを、それ以降の番地の命令が読むと
    いう競合状態がレジスタファイル中で生じないように、
    命令を配置することを特徴とするデータ処理装置。 4、請求項第1項において、1マシンサイクルの間に同
    時に読み出されるm個の命令の中で、所定の番地の命令
    が書き込むレジスタを、それ以降の番地の命令が読むと
    いう競合状態がレジスタファイル中に生ずることを検出
    し、その際には、該レジスタに書き込む命令を実行した
    後に、該レジスタを読む命令を実行するように制御する
    手段を備えたことを特徴とするデータ処理装置。 5、請求項第4項において、命令のためのキャッシュメ
    モリを有し、このキャッシュメモリの中には、同時に読
    み出されるm個の命令毎に、前記競合状態を示すビット
    を設けたことを特徴とするデータ処理装置。 6、請求項第1項において、状態フラグと、状態フラグ
    を変化させる命令と、状態フラグにより分岐する命令を
    有し、プログラムカウンタにより読み出されるm個の命
    令の中の所定の番地に条件付分岐命令があることを検出
    し、条件成立時に、m個の命令の中の該当する番地より
    後の命令の実行を抑止する手段を備えたことを特徴とす
    るデータ処理装置。 7、請求項第6項において、分岐アドレスが、条件付分
    岐命令を含むm個の命令の次の番地であることを検出し
    、それが検出された時に、条件の成否にかかわらず、条
    件付分岐命令を含むm個の命令を読み出した次のサイク
    ルで、条件付分岐命令を含むm個の命令に引き続くm個
    の命令を実行する手段を備えたことを特徴とするデータ
    処理装置。 8、請求項第1項において、命令の格納されるメモリの
    1部をROMとすることを特徴とするデータ処理装置。 9、請求項第1項において、同時に読み出されるm個の
    命令間では割込みを禁止することを特徴とするデータ処
    理装置。 10、読み出すべき命令を指示するプログラムカウンタ
    と、指示された命令を格納する命令レジスタと、データ
    が格納されるレジスタファイルと、前記命令に従い、レ
    ジスタファイルから該当するデータを取り出し演算を行
    なう演算ユニットを備え、パイプライン動作を行なうデ
    ータ処理装置において、ワイヤド論理による命令を1マ
    シンサイクルにm個(m=2、3・・・)同時に格納す
    るm個の命令レジスタと、前記レジスタファイルを共有
    するm個の演算ユニットを設け、前記プログラムカウン
    タをmずつ増加させ、このプログラムカウンタの指示す
    る番地から連続するm個の命令を読み出し、このm個の
    命令を異なる機能の演算ユニットを含むm個の演算ユニ
    ットで処理することを特徴とするデータ処理装置。 11、請求項第10項において、前記命令は固定長であ
    り、1マシンサイクルに処理する複数の命令数m=2^
    n(n=1、2、・・・)であることを特徴とするデー
    タ処理装置。 12、請求項第10項において、m個の命令を、それぞ
    れm個の演算ユニットで同時に処理可能かどうかを検知
    し、処理可能な命令であれば同時に処理し、処理不可能
    な命令は、次のマシンサイクルで処理可能な演算ユニッ
    トに転送して処理する手段を備えたことを特徴とするデ
    ータ処理装置。 13、請求項第12項において、命令のためのキャッシ
    ュメモリを有し、キャッシュメモリの中には、同時に読
    み出すm個の命令が、m個の演算ユニットで同時に処理
    可能かどうかを示すビットを設けたことを特徴とするデ
    ータ処理装置。 14、請求項第10項において、少なくとも1つ異なる
    機能を有するm個の演算ユニットで同時に処理可能なよ
    うに、あらかじめ並べられたm個の命令を読み出し実行
    することを特徴とするデータ処理装置。 15、請求項第10項において、状態フラグと、状態フ
    ラグを変化させる命令と、状態フラグにより分岐する命
    令を有し、プログラムカウンタにより読み出されるm個
    の命令の中の所定の番地に条件付分岐命令があることを
    検出し、条件成立時に、m個の命令の中の該当する番地
    より後の番地の命令の実行を抑止する手段を備えたこと
    を特徴とするデータ処理装置。 16、請求項第15項において、分岐アドレスが、条件
    付分岐命令を含むm個の命令の次の番地であることを検
    出し、それが検出された時には、条件の成否にかかわら
    ず、条件付分岐命令を含むm個の命令を読み出した次の
    サイクルで、条件付分岐命令を含むm個の命令に引き続
    くm個の命令を実行する手段を備えたことを特徴とする
    データ処理装置。 17、請求項第10項において、命令の格納されるメモ
    リの1部をROMとすることを特徴とする計算機。 18、請求項第10項において、同時に読み出されるm
    個の命令間では割込みを禁止することを特徴とする計算
    機。 19、読み出すべき命令を指示するプログラムカウンタ
    と、指示された命令を格納する命令レジスタと、命令レ
    ジスタの命令をデコードするデコーダと、データが格納
    されるレジスタファイルと、デコードされた内容を従い
    、レジスタファイルから該当するデータを取り出し演算
    を行なう演算ユニットを備え、パイプライン動作を行な
    うデータ処理装置において、ワイヤド論理による命令を
    1マシンサイクルにm個(m=2、3・・・)同時に格
    納するm個の命令レジスタと、これらの命令をデコード
    するm個のデコーダと、前記レジスタファイルを共有す
    るm個の演算ユニットを設け、前記プログラムカウンタ
    が所定の限定された範囲にあるときのみ、プログラムカ
    ウンタの指示する番地から連続するm個の命令を読み出
    し、このm個の命令を前記m個の同一機能の演算ユニッ
    トで処理し、前記範囲以外の時にはl個(l≠m、l=
    1、2・・・)の命令を読み出し、このl個の命令をl
    個の同一機能の演算ユニットで処理することを特徴とす
    るデータ処理装置。 20、請求項第19項において、l=1としたことを特
    徴とするデータ処理装置。 21、請求項第19項において、前記データ処理装置全
    体を1チップの半導体基板上に集積し、かつ前記限定さ
    れた範囲のプログラムの少なくとも1部をROMとして
    半導体基板上に集積したことを特徴とするデータ処理装
    置。 22、読み出すべき命令を指示するプログラムカウンタ
    と、指示された命令を格納する命令レジスタと、データ
    が格納されるレジスタファイルと、前記命令に従い、レ
    ジスタファイルから該当するデータを取り出し演算を行
    なう演算ユニットを備えたデータ処理装置において、ワ
    イヤド論理による命令を1マシンサイクルに複数同時に
    読み出し、処理することを特徴とするデータ処理装置。
JP63283673A 1988-11-11 1988-11-11 プロセッサシステム、コンピュータシステム及び命令処理方法 Expired - Lifetime JP2810068B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP63283673A JP2810068B2 (ja) 1988-11-11 1988-11-11 プロセッサシステム、コンピュータシステム及び命令処理方法
US07/433,368 US5233694A (en) 1988-11-11 1989-11-08 Pipelined data processor capable of performing instruction fetch stages of a plurality of instructions simultaneously
DE68928340T DE68928340T2 (de) 1988-11-11 1989-11-10 Fliessband-Datenprozessor
EP89120881A EP0368332B1 (en) 1988-11-11 1989-11-10 Pipeline data processor
DE68929483T DE68929483T2 (de) 1988-11-11 1989-11-10 Datenprozessor mit einer Befehlseinheit, die einen Cachespeicher und einen ROM aufweist.
KR1019890016275A KR0149658B1 (ko) 1988-11-11 1989-11-10 데이터 처리장치 및 데이터 처리방법
EP97103969A EP0782071B1 (en) 1988-11-11 1989-11-10 Data processor
EP99122100A EP0996057B1 (en) 1988-11-11 1989-11-10 Data processor with an instruction unit having a cache and a ROM
DE68929215T DE68929215T2 (de) 1988-11-11 1989-11-10 Datenprozessor
US07/979,772 US6256726B1 (en) 1988-11-11 1992-11-20 Data processor for the parallel processing of a plurality of instructions
US08/149,932 US5404472A (en) 1988-11-11 1993-11-10 Parallel processing apparatus and method capable of switching parallel and successive processing modes
KR1019980007835A KR0160602B1 (ko) 1988-11-11 1998-03-10 데이터 처리장치
US09/853,769 US7424598B2 (en) 1988-11-11 2001-05-14 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63283673A JP2810068B2 (ja) 1988-11-11 1988-11-11 プロセッサシステム、コンピュータシステム及び命令処理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP09352657A Division JP3102399B2 (ja) 1997-12-22 1997-12-22 データ処理装置及び方法

Publications (2)

Publication Number Publication Date
JPH02130634A true JPH02130634A (ja) 1990-05-18
JP2810068B2 JP2810068B2 (ja) 1998-10-15

Family

ID=17668583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63283673A Expired - Lifetime JP2810068B2 (ja) 1988-11-11 1988-11-11 プロセッサシステム、コンピュータシステム及び命令処理方法

Country Status (5)

Country Link
US (3) US5233694A (ja)
EP (3) EP0368332B1 (ja)
JP (1) JP2810068B2 (ja)
KR (2) KR0149658B1 (ja)
DE (3) DE68929215T2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07105002A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> 計算機システム
US5680637A (en) * 1992-01-06 1997-10-21 Hitachi, Ltd. Computer having a parallel operating capability
US5713012A (en) * 1993-01-20 1998-01-27 Hitachi, Ltd. Microprocessor
US5809294A (en) * 1991-07-12 1998-09-15 Mitsubishi Denki Kabushiki Kaisha Parallel processing unit which processes branch instructions without decreased performance when a branch is taken
JP2000148483A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
JP2000330790A (ja) * 1999-05-03 2000-11-30 Stmicroelectronics Sa コンピュータシステム動作方法、コンピュータシステムにおける命令スケジューリング方法およびコンピュータシステム
JP2000353091A (ja) * 1999-05-03 2000-12-19 Stmicroelectronics Sa コンピュータシステムにおける命令実行方法およびコンピュータシステム
US6182211B1 (en) 1997-07-02 2001-01-30 Matsushita Electric Industrial Co., Ltd. Conditional branch control method
US6282630B1 (en) 1991-07-08 2001-08-28 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US6647485B2 (en) 1991-07-08 2003-11-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504932A (en) * 1990-05-04 1996-04-02 International Business Machines Corporation System for executing scalar instructions in parallel based on control bits appended by compounding decoder
EP0459232B1 (en) * 1990-05-29 1998-12-09 National Semiconductor Corporation Partially decoded instruction cache and method therefor
JP2834292B2 (ja) * 1990-08-15 1998-12-09 株式会社日立製作所 データ・プロセッサ
JPH04111127A (ja) * 1990-08-31 1992-04-13 Toshiba Corp 演算処理装置
JP2532300B2 (ja) * 1990-10-17 1996-09-11 三菱電機株式会社 並列処理装置における命令供給装置
JP2682232B2 (ja) * 1990-11-21 1997-11-26 松下電器産業株式会社 浮動小数点演算処理装置
US5446849A (en) * 1990-11-30 1995-08-29 Kabushiki Kaisha Toshiba Electronic computer which executes squash branching
RU1804645C (ru) * 1991-03-27 1993-03-23 Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева Центральный процессор
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
JP2984463B2 (ja) * 1991-06-24 1999-11-29 株式会社日立製作所 マイクロコンピュータ
JP3105197B2 (ja) 1991-06-24 2000-10-30 株式会社日立製作所 除算回路及び除算方法
US5493687A (en) 1991-07-08 1996-02-20 Seiko Epson Corporation RISC microprocessor architecture implementing multiple typed register sets
KR100294276B1 (ko) * 1991-07-08 2001-09-17 야스카와 히데아키 고속트랩및예외상태를구현한알아이에스씨마이크로프로세서구조
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
JPH0546386A (ja) * 1991-08-13 1993-02-26 Hitachi Ltd データプロセツサ
GB9123271D0 (en) * 1991-11-02 1991-12-18 Int Computers Ltd Data processing system
GB2263565B (en) * 1992-01-23 1995-08-30 Intel Corp Microprocessor with apparatus for parallel execution of instructions
DE4237417C2 (de) * 1992-03-25 1997-01-30 Hewlett Packard Co Datenverarbeitungssystem
US5438668A (en) * 1992-03-31 1995-08-01 Seiko Epson Corporation System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer
WO1993020505A2 (en) 1992-03-31 1993-10-14 Seiko Epson Corporation Superscalar risc instruction scheduling
US5371864A (en) * 1992-04-09 1994-12-06 International Business Machines Corporation Apparatus for concurrent multiple instruction decode in variable length instruction set computer
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5416913A (en) * 1992-07-27 1995-05-16 Intel Corporation Method and apparatus for dependency checking in a multi-pipelined microprocessor
US6735685B1 (en) * 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US5628021A (en) 1992-12-31 1997-05-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
EP1107111A3 (en) 1992-12-31 2002-02-06 Seiko Epson Corporation System and method for register renaming
US5416911A (en) * 1993-02-02 1995-05-16 International Business Machines Corporation Performance enhancement for load multiple register instruction
US5560025A (en) * 1993-03-31 1996-09-24 Intel Corporation Entry allocation apparatus and method of same
US5673409A (en) * 1993-03-31 1997-09-30 Vlsi Technology, Inc. Self-defining instruction size
US5463748A (en) 1993-06-30 1995-10-31 Intel Corporation Instruction buffer for aligning instruction sets using boundary detection
US5878245A (en) * 1993-10-29 1999-03-02 Advanced Micro Devices, Inc. High performance load/store functional unit and data cache
DE69434669T2 (de) * 1993-10-29 2006-10-12 Advanced Micro Devices, Inc., Sunnyvale Spekulative Befehlswarteschlange für Befehle mit variabler Byteslänge
EP0651332B1 (en) * 1993-10-29 2001-07-18 Advanced Micro Devices, Inc. Linearly addressable microprocessor cache
DE69427265T2 (de) 1993-10-29 2002-05-02 Advanced Micro Devices Inc Superskalarbefehlsdekoder
US5689672A (en) * 1993-10-29 1997-11-18 Advanced Micro Devices, Inc. Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions
US5630082A (en) * 1993-10-29 1997-05-13 Advanced Micro Devices, Inc. Apparatus and method for instruction queue scanning
US5604909A (en) 1993-12-15 1997-02-18 Silicon Graphics Computer Systems, Inc. Apparatus for processing instructions in a computing system
US5974534A (en) * 1994-02-14 1999-10-26 Hewlett-Packard Company Predecoding and steering mechanism for instructions in a superscalar processor
US5537629A (en) * 1994-03-01 1996-07-16 Intel Corporation Decoder for single cycle decoding of single prefixes in variable length instructions
US5608885A (en) * 1994-03-01 1997-03-04 Intel Corporation Method for handling instructions from a branch prior to instruction decoding in a computer which executes variable-length instructions
US5586277A (en) * 1994-03-01 1996-12-17 Intel Corporation Method for parallel steering of fixed length fields containing a variable length instruction from an instruction buffer to parallel decoders
US5566298A (en) * 1994-03-01 1996-10-15 Intel Corporation Method for state recovery during assist and restart in a decoder having an alias mechanism
US5673427A (en) * 1994-03-01 1997-09-30 Intel Corporation Packing valid micro operations received from a parallel decoder into adjacent locations of an output queue
US5630083A (en) * 1994-03-01 1997-05-13 Intel Corporation Decoder for decoding multiple instructions in parallel
US5600806A (en) * 1994-03-01 1997-02-04 Intel Corporation Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer
US5559974A (en) * 1994-03-01 1996-09-24 Intel Corporation Decoder having independently loaded micro-alias and macro-alias registers accessible simultaneously by one micro-operation
US5758116A (en) * 1994-09-30 1998-05-26 Intel Corporation Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions
US5901302A (en) * 1995-01-25 1999-05-04 Advanced Micro Devices, Inc. Superscalar microprocessor having symmetrical, fixed issue positions each configured to execute a particular subset of instructions
US6237082B1 (en) 1995-01-25 2001-05-22 Advanced Micro Devices, Inc. Reorder buffer configured to allocate storage for instruction results corresponding to predefined maximum number of concurrently receivable instructions independent of a number of instructions received
JP3180175B2 (ja) * 1995-02-13 2001-06-25 株式会社日立製作所 命令レベルの並列処理制御方法およびプロセッサ
US5737550A (en) * 1995-03-28 1998-04-07 Advanced Micro Devices, Inc. Cache memory to processor bus interface and method thereof
US5859991A (en) * 1995-06-07 1999-01-12 Advanced Micro Devices, Inc. Parallel and scalable method for identifying valid instructions and a superscalar microprocessor including an instruction scanning unit employing the method
US5867701A (en) * 1995-06-12 1999-02-02 Intel Corporation System for inserting a supplemental micro-operation flow into a macroinstruction-generated micro-operation flow
US5926642A (en) * 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US5706489A (en) * 1995-10-18 1998-01-06 International Business Machines Corporation Method for a CPU to utilize a parallel instruction execution processing facility for assisting in the processing of the accessed data
US5796974A (en) * 1995-11-07 1998-08-18 Advanced Micro Devices, Inc. Microcode patching apparatus and method
US5815724A (en) * 1996-03-29 1998-09-29 Intel Corporation Method and apparatus for controlling power consumption in a microprocessor
US5862398A (en) * 1996-05-15 1999-01-19 Philips Electronics North America Corporation Compiler generating swizzled instructions usable in a simplified cache layout
CN1145099C (zh) * 1996-05-15 2004-04-07 特莱麦迪雅技术公司 用于存储混洗指令的方法与装置
US6131152A (en) * 1996-05-15 2000-10-10 Philips Electronics North America Corporation Planar cache layout and instruction stream therefor
JPH1011289A (ja) * 1996-06-19 1998-01-16 Mitsubishi Electric Corp 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ
US5884055A (en) * 1996-11-27 1999-03-16 Emc Corporation Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource
US5890207A (en) * 1996-11-27 1999-03-30 Emc Corporation High performance integrated cached storage device
US5890219A (en) * 1996-11-27 1999-03-30 Emc Corporation Redundant writing of data to cached storage system
US5852727A (en) * 1997-03-10 1998-12-22 Advanced Micro Devices, Inc. Instruction scanning unit for locating instructions via parallel scanning of start and end byte information
US6467035B2 (en) * 1997-09-08 2002-10-15 Agere Systems Guardian Corp. System and method for performing table look-ups using a multiple data fetch architecture
JP2954119B2 (ja) * 1997-11-26 1999-09-27 日本電気株式会社 命令実行サイクル可変回路
DE19802364A1 (de) * 1998-01-22 1999-07-29 Siemens Ag Vorrichtung und Verfahren zur Steuerung von Prozessen auf einem Computersystem
DE19819531C1 (de) * 1998-04-30 1999-12-02 Siemens Ag RISC-Prozessor mit einer Debug-Schnittstelleneinheit
US6233690B1 (en) * 1998-09-17 2001-05-15 Intel Corporation Mechanism for saving power on long latency stalls
US6668316B1 (en) * 1999-02-17 2003-12-23 Elbrus International Limited Method and apparatus for conflict-free execution of integer and floating-point operations with a common register file
US6442677B1 (en) * 1999-06-10 2002-08-27 Advanced Micro Devices, Inc. Apparatus and method for superforwarding load operands in a microprocessor
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
EP1387253B1 (en) * 2002-07-31 2017-09-20 Texas Instruments Incorporated Dynamic translation and execution of instructions within a processor
US7366352B2 (en) * 2003-03-20 2008-04-29 International Business Machines Corporation Method and apparatus for performing fast closest match in pattern recognition
US7698539B1 (en) * 2003-07-16 2010-04-13 Banning John P System and method of instruction modification
US6996916B2 (en) * 2004-03-09 2006-02-14 Helen Of Troy Limited Variable ion hair styling appliances
US20050224091A1 (en) * 2004-04-08 2005-10-13 Helen Of Troy Limited Ion curling iron and straightener
JP4435177B2 (ja) * 2004-11-12 2010-03-17 株式会社ジャストシステム データ処理装置およびデータ処理方法
US7985566B2 (en) 2005-04-22 2011-07-26 Mitsubishi Chemical Corporation Biomass-resource-derived polyester and production process thereof
KR101419668B1 (ko) 2006-09-06 2014-07-15 실리콘 하이브 비.브이. 데이터 처리회로 및 데이터 처리방법
US20090138890A1 (en) * 2007-11-21 2009-05-28 Arm Limited Contention management for a hardware transactional memory
US9513959B2 (en) * 2007-11-21 2016-12-06 Arm Limited Contention management for a hardware transactional memory
SE536462C2 (sv) * 2011-10-18 2013-11-26 Mediatek Sweden Ab Digital signalprocessor och basbandskommunikationsanordning
JP6106499B2 (ja) * 2013-04-11 2017-03-29 株式会社日立製作所 データ反映方法
US11599358B1 (en) * 2021-08-12 2023-03-07 Tenstorrent Inc. Pre-staged instruction registers for variable length instruction set machine
KR102449203B1 (ko) 2022-03-08 2022-09-29 주식회사 제이비티 안전상태정보 관리 방법

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573853A (en) * 1968-12-04 1971-04-06 Texas Instruments Inc Look-ahead control for operation of program loops
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US3771138A (en) * 1971-08-31 1973-11-06 Ibm Apparatus and method for serializing instructions from two independent instruction streams
US4521850A (en) * 1977-12-30 1985-06-04 Honeywell Information Systems Inc. Instruction buffer associated with a cache memory unit
JPS6043535B2 (ja) 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
US4616331A (en) * 1980-02-25 1986-10-07 Tsuneo Kinoshita Information processing system consisting of an arithmetic control unit formed into a one-chip typed by application of a highly-integrated semiconductor device
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
US4437149A (en) 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
EP0072373B1 (en) * 1981-08-19 1986-03-19 International Business Machines Corporation Improved microprocessor
EP0082903B1 (fr) * 1981-12-29 1987-05-13 International Business Machines Corporation Unité de commande pouvant être connectée à deux mémoires de vitesses différentes
JPS5932045A (ja) * 1982-08-16 1984-02-21 Hitachi Ltd 情報処理装置
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
US4546428A (en) * 1983-03-08 1985-10-08 International Telephone & Telegraph Corporation Associative array with transversal horizontal multiplexers
US4594655A (en) * 1983-03-14 1986-06-10 International Business Machines Corporation (k)-Instructions-at-a-time pipelined processor for parallel execution of inherently sequential instructions
JPS59186062A (ja) * 1983-04-07 1984-10-22 Nec Corp 分散形プロセツサシステム
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置
JPS60120439A (ja) * 1983-12-05 1985-06-27 Nec Corp 演算処理装置
JPS60136872A (ja) 1983-12-26 1985-07-20 Hitachi Ltd ベクトル処理装置
US4599708A (en) * 1983-12-30 1986-07-08 International Business Machines Corporation Method and structure for machine data storage with simultaneous write and read
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing
US4873629A (en) * 1984-06-20 1989-10-10 Convex Computer Corporation Instruction processing unit for computer
US4620275A (en) * 1984-06-20 1986-10-28 Wallach Steven J Computer system
JPS619734A (ja) * 1984-06-26 1986-01-17 Nec Corp プロセツサ制御方式
US4766564A (en) * 1984-08-13 1988-08-23 International Business Machines Corporation Dual putaway/bypass busses for multiple arithmetic units
US4677545A (en) * 1984-10-12 1987-06-30 American Telephone And Telegraph Company Microprocessor having macro-rom and main program queues
US4794517A (en) * 1985-04-15 1988-12-27 International Business Machines Corporation Three phased pipelined signal processor
US4789925A (en) * 1985-07-31 1988-12-06 Unisys Corporation Vector data logical usage conflict detection
DE3751503T2 (de) 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
US4722050A (en) * 1986-03-27 1988-01-26 Hewlett-Packard Company Method and apparatus for facilitating instruction processing of a digital computer
US4825360A (en) * 1986-07-30 1989-04-25 Symbolics, Inc. System and method for parallel processing with mostly functional languages
US4766566A (en) * 1986-08-18 1988-08-23 International Business Machines Corp. Performance enhancement scheme for a RISC type VLSI processor using dual execution units for parallel instruction processing
JPS6373332A (ja) 1986-09-16 1988-04-02 Nec Corp マイクロプログラム制御方式
JPS63131230A (ja) * 1986-11-21 1988-06-03 Hitachi Ltd 情報処理装置
JPH0810430B2 (ja) 1986-11-28 1996-01-31 株式会社日立製作所 情報処理装置
US4811296A (en) * 1987-05-15 1989-03-07 Analog Devices, Inc. Multi-port register file with flow-through of data
US5101341A (en) * 1988-08-25 1992-03-31 Edgcore Technology, Inc. Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO
US5072364A (en) * 1989-05-24 1991-12-10 Tandem Computers Incorporated Method and apparatus for recovering from an incorrect branch prediction in a processor that executes a family of instructions in parallel
EP0407911B1 (en) 1989-07-07 1998-12-09 Hitachi, Ltd. Parallel processing apparatus and parallel processing method
JPH03288246A (ja) 1990-04-04 1991-12-18 Matsushita Electric Ind Co Ltd 命令キャッシュメモリ
US5214763A (en) 1990-05-10 1993-05-25 International Business Machines Corporation Digital computer system capable of processing two or more instructions in parallel and having a coche and instruction compounding mechanism
EP0459232B1 (en) 1990-05-29 1998-12-09 National Semiconductor Corporation Partially decoded instruction cache and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DTS-EDITION SIMP=S63 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282630B1 (en) 1991-07-08 2001-08-28 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US7941635B2 (en) 1991-07-08 2011-05-10 Seiko-Epson Corporation High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution
US7555632B2 (en) 1991-07-08 2009-06-30 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US7028161B2 (en) 1991-07-08 2006-04-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US6986024B2 (en) 1991-07-08 2006-01-10 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6934829B2 (en) 1991-07-08 2005-08-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6915412B2 (en) 1991-07-08 2005-07-05 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6647485B2 (en) 1991-07-08 2003-11-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5809294A (en) * 1991-07-12 1998-09-15 Mitsubishi Denki Kabushiki Kaisha Parallel processing unit which processes branch instructions without decreased performance when a branch is taken
US5680637A (en) * 1992-01-06 1997-10-21 Hitachi, Ltd. Computer having a parallel operating capability
JP2000148490A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
JP2000148493A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
JP2000148481A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
JP2000148492A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
JP2000148483A (ja) * 1992-09-29 2000-05-30 Seiko Epson Corp コンピュ―タシステム
US5713012A (en) * 1993-01-20 1998-01-27 Hitachi, Ltd. Microprocessor
JPH07105002A (ja) * 1993-09-20 1995-04-21 Internatl Business Mach Corp <Ibm> 計算機システム
US6182211B1 (en) 1997-07-02 2001-01-30 Matsushita Electric Industrial Co., Ltd. Conditional branch control method
JP2000353091A (ja) * 1999-05-03 2000-12-19 Stmicroelectronics Sa コンピュータシステムにおける命令実行方法およびコンピュータシステム
JP2000330790A (ja) * 1999-05-03 2000-11-30 Stmicroelectronics Sa コンピュータシステム動作方法、コンピュータシステムにおける命令スケジューリング方法およびコンピュータシステム

Also Published As

Publication number Publication date
EP0368332A2 (en) 1990-05-16
EP0996057B1 (en) 2003-08-13
KR0160602B1 (ko) 1999-10-01
KR900008394A (ko) 1990-06-04
US5233694A (en) 1993-08-03
US20010021970A1 (en) 2001-09-13
EP0368332B1 (en) 1997-09-24
EP0782071A2 (en) 1997-07-02
JP2810068B2 (ja) 1998-10-15
DE68928340D1 (de) 1997-10-30
EP0996057A1 (en) 2000-04-26
DE68929483T2 (de) 2004-07-01
KR0149658B1 (ko) 1998-10-15
US7424598B2 (en) 2008-09-09
DE68929483D1 (de) 2003-09-18
DE68929215T2 (de) 2001-01-25
EP0782071B1 (en) 2000-05-24
US6256726B1 (en) 2001-07-03
DE68929215D1 (de) 2000-06-29
EP0368332A3 (en) 1992-07-15
DE68928340T2 (de) 1998-02-12
EP0782071A3 (en) 1997-07-30

Similar Documents

Publication Publication Date Title
JPH02130634A (ja) プロセッサシステム、コンピュータシステム及び命令処理方法
JP2550213B2 (ja) 並列処理装置および並列処理方法
US5649145A (en) Data processor processing a jump instruction
JP2834837B2 (ja) プログラマブルコントローラ
US4648034A (en) Busy signal interface between master and slave processors in a computer system
JP3842474B2 (ja) データ処理装置
US5167026A (en) Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers
US5142633A (en) Preprocessing implied specifiers in a pipelined processor
JP2834292B2 (ja) データ・プロセッサ
US5905881A (en) Delayed state writes for an instruction processor
JP3543181B2 (ja) データ処理装置
JPH07120284B2 (ja) データ処理装置
US5363490A (en) Apparatus for and method of conditionally aborting an instruction within a pipelined architecture
JP3182591B2 (ja) マイクロプロセッサ
JP3102399B2 (ja) データ処理装置及び方法
JP3147884B2 (ja) 記憶装置及び情報処理装置
JP2636821B2 (ja) 並列処理装置
JP2785820B2 (ja) 並列処理装置
JP2927281B2 (ja) 並列処理装置
JPS6346856B2 (ja)
JPS61112240A (ja) デ−タ処理装置
JP2001067335A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080731

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090731

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090731

Year of fee payment: 11