JPH0769818B2 - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPH0769818B2
JPH0769818B2 JP59227773A JP22777384A JPH0769818B2 JP H0769818 B2 JPH0769818 B2 JP H0769818B2 JP 59227773 A JP59227773 A JP 59227773A JP 22777384 A JP22777384 A JP 22777384A JP H0769818 B2 JPH0769818 B2 JP H0769818B2
Authority
JP
Japan
Prior art keywords
store
data
instruction
area
store 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
JP59227773A
Other languages
English (en)
Other versions
JPS61107434A (ja
Inventor
洋一 新谷
亨 庄内
栄樹 釜田
茂雄 武内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP59227773A priority Critical patent/JPH0769818B2/ja
Priority to US06/793,545 priority patent/US4760520A/en
Publication of JPS61107434A publication Critical patent/JPS61107434A/ja
Publication of JPH0769818B2 publication Critical patent/JPH0769818B2/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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution

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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はデイジタルコンピユータに係り、特に概念的に
先行する命令の実行が終了しないうちにその結果等を予
測しながら後続の命令を並列に実行することで高速化を
図るデータ処理装置におけるストア処理方式に関する。
〔発明の背景〕
従来より、汎用大型デイジタルコンピユータにおいて
は、高速化のためにパイプライン方式や並列処理方式の
ような、複数の命令を同時に処理するのが一般的となつ
ている。この例としては、日経エレクトロニクス「汎用
コンピユータ」p.251〜263“IBM3033プロセツサの内部
設計とパフオーマンズ”で挙げられているIBM3033,“An
Efficient Algorithm for Exploiting Multiple Arith
metic Units",IBM Journal Jan,1967で挙げられているI
BM360/91がある。
3033では高速化のために、分岐命令の処理においては、
分岐判定が下る前に後続の命令の処理を開始するため
に、分岐が成立か不成立かの予測を立て、分岐判定が下
るまでは後続命令を予測状態のまま処理する方式をとつ
ている。
一方、360/91では高速化のために独立に命令の演算を行
える演算器を複数設け、入力オペランドが揃い次第、概
念的に後の命令であつても直ちに演算を始めるという方
式をとつている。
さてより一層の高速化を図るためには、これら予測処理
方式と並列演算方式の両方を採用することが望ましい
が、この場合次のような問題が生ずる。すなわち、予測
状態でストア命令の処理を行い結果を主記憶に書き込ん
だ後で実は予測が誤つていたことが判明する、というケ
ースが起るとすると、2つの理由で好ましくない。第1
の理由は、結局該ストア命令は実行してはいけなかつた
わけであるから、主記憶の内容をその書き込みの前の状
態に復元する必要が生ずるため、このための制御論理を
設ける必要が生じ、またこの復元のための余分な時間ロ
スが生じるため高速化を妨げる可能性があることであ
る。また第2の理由は、主記憶を複数のCPU(中央処理
装置)やチヤネルが共有する場合、上記のストア命令が
誤つて書き込んだ結果を、該CPUが主記憶の復元を完了
する前に他のCPUやチヤネルが読み出してしまう可能性
があるが、これは多くの場合許されないことである。
〔発明の目的〕
本発明の目的は予測処理方式と並列演算方式を供に採用
しているデータ処理装置において上記従来技術の問題点
のない、すなわち、予測中のストア命令による誤つた主
記憶書き込みによる復元動作がなく、また誤つた主記憶
の内容を他CPUやチヤネルから読み出されることのな
い、高速な命令処理方式を提供することにある。
〔発明の概要〕
本発明においては、ストアすべきデータ,アドレス情報
を保持するストアバツフアを1つ以上設け,各ストアバ
ツフアにストア命令の処理が予測中か否かの状態フラグ
を付与する。ストア命令の処理にあたつては、演算ステ
ージまでは予測中か否かに関わらず、並列演算方式にの
つとつて処理を続けるが、主記憶書き込みステージにお
いては予測状態が解消するまでは主記憶への書き込みを
行わず、ストアバツフアにデータ等を保持するのみにし
ておく。そして予測状態が解消した時点で、予測が誤つ
ていればストアバツフアのストア命令をキヤンセルし、
予測が正しければ主記憶に書き込みを行う。
〔発明の実施例〕
以下本発明の実施例を説明する。説明の都合上IBMのシ
ステム370アーキテクチヤに基づくマシンを前提とす
る。
第1図は典型的な命令フオーマツトを示している。第1
図(a)は、浮動小数点加算命令ADや、ストア命令STの
フオーマツトであり、OP部は演算の内容を、R1部は命令
の第1オペランドが格納されるレジスタ番号を、X2部,
B2部,D2部は、第2オペランドアドレスを作成するため
のインデクスレジスタ番号,ベースレジスタ番号,デイ
スプレイスメントをそれぞれ示す。第1図(b)は、Br
anch on Condition命令(BCと略記)のフオーマツトで
あり、OP部はBC命令であることを、M1部は分岐成立とす
べき条件コードの値を示すマクスを、X2,B2,D2部は分岐
先命令アドレスを作成するためのインデクスレジスタ番
号,ベースレジスタ番号,デイスプレイスメントをそれ
ぞれ示す。
第2図は本発明を用いたデータ処理装置において、高速
処理が可能な命令列の主記憶上の配置である。第1の命
令はAD命令であり、演算結果に基づいて条件コードが設
定される。第2のBC命令はこの条件コードの値によつて
分岐成立/不成立を判定する。第3のST命令は、該BC命
令が分岐不成立であつた場合実行される。このST命令
は、該BC命令の分岐判定により実行されるか否かが定ま
る点を除けば、該BC,AD命令とデータの依存関係はな
く、またオペランドレジスタの値は十分前に確定してい
るものとする。
第3図は、本発明を適用したデータ処理装置の全体構成
の概略図である。1及び2はCPU,3はプログラム及びデ
ータを格納する主記憶とその制御を行う主記憶装置(以
下MSと略記する)、4はチヤネルであり、入出力装置5
とMSとの間のデータ転送を制御する。CPU1,2,チヤネル
4は、いずれもMS3と接続されており、それぞれ主記憶
に対して読み出しと書き込みを行う。
CPU-1の内部は命令制御ユニツト(以下IUと略す)6,演
算ユニツト(以下EUと略す)7,記憶制御ユニツト(以下
SCUと略す)8から成る。
IU6はSCU8に対して命令読み出し要求を発行しSCU8経由
で読み出された命令を解読しオペランド読み出し要求を
再びSCU8に発行する。読み出されたオペランドはSCU8及
びIU6経由にてEU7に送出される。IU6によつてオペラン
ドと伴に命令の解読情報がEU7に渡されると、EU7では複
数個設けられている演算器E0,E1…のうち空いているも
のにこれをセツトアツプし演算を行う。命令がストア命
令である場合は、演算器はSCU8に対してストア要求を発
行し、ストアデータ,アドレス情報を送出する。SCU8は
IU6からの命令読み出し、オペランド読み出しEU7からの
ストア要求を受け付け、必要ならアドレス変換を行い、
MS3に対してこれらの主記憶参照を行う。SCU8には通常
の制御回路の他に本発明によるストアバツフア9とスト
アバツフア制御回路10が設けられている。
第4図は、上記CPU1がMS3上に置かれた第2図の命令列
を処理した時の概略のタイムチヤートである。横軸はマ
シンサイクルを単位とした時間を表わし、縦軸は命令処
理を行う各論理ユニツト/論理回路である。本タイムチ
ヤートでは、各論理ユニツト/論理回路において各命令
の処理が行われている時間帯を、該命令のニーモニツク
を矩形で囲むことにより表している。またIU6にてAD命
令の解読の始まる時刻からST命令によるMS3への書き込
みの終了時刻までを、順にC1,C2,…,C6と呼ぶことに
する。
C1にてAD命令の解読、オペランド読み出しが行われ、C2
からC5の間、演算器E0にて演算が行われる。本タイムチ
ヤートでは示していないがC6にて結果を浮動小数点レジ
スタにまた条件コードをPSWに書き込む。またBC命令はC
2にて解読が行われ、C3にて演算器E1にセツトアツプさ
れるが、先行するAD命令の処理が完了していないため、
AD命令が設定する条件コードを用いて行うべき分岐判定
ができず、従つてC5まで保留される。C6にてAD命令の条
件コードが設定されるので同サイクルにおいてBC命令の
分岐判定が行われる。本例においては分岐不成立であつ
たものとする。一方ST命令はC3において解読を行う。本
来C3ではBC命令の分岐判定が下つていないため、ST命令
を実行すべきか否か決定できないが、BC命令は分岐不成
立になるという予測のもとにST命令の処理を開始する。
ST命令はC4にて演算器E2にセツトアツプされ、C5にてス
トアデータやアドレス情報がストアバツフアに一時的に
格納される。この時このST命令が予測状態であることを
示す予測フラグをセツトする。一方C6にてBC命令の分岐
判定が下るが、本例では上述のように分岐不成立である
ため、予測が正しかつたことが判明する。ゆえに、スト
アバツフア内に格納されていた該ST命令の予測フラグを
リセツトしさらにストアデータを、アドレス情報に従つ
てC7にて主記憶に書き込む。仮に上記BC命令の分岐判定
により、予測が誤つていたとすると、この場合は、スト
アバツフア内の該ST命令をキヤンセルする。このように
することで、演算器E2はC5にて空き状態にすることがで
き、後続命令の演算に使用可能となり、他の演算器が使
用である時には命令処理の高速化に役立つ。
次に第5図,第6図を用いてストアバツフア及びストア
バツフア制御回路の構成を説明する。
まず第5図はストアバツフアの構成を示す。501〜502は
m+1個のストアデータレジスタ及びストアアドレスレ
ジスタである。演算ユニツトにてST命令が実行される
と、演算ユニツトより信号線503を介してストア要求信
号REQが発行され、同時に信号線504,505を介して演算ユ
ニツトから送られてくるストアデータ及びストアアドレ
スを501〜502のいずれかのレジスタに格納する。この場
合何番のレジスタに格納するかは、ストアバツフア制御
回路10より信号線506を介して送られてくる入力ポイン
タIPで示される。507はセレクタであり、ストアバツフ
ア出力制御回路より信号線508を介して送られてくる出
力ポインタOPで示される番号のストアデータレジスタ及
びストアアドレスレジスタの内容を選択し、これを信号
線509を介して主記憶装置に送出する。
第6図はストアバツフア制御回路10の構成を示す。601
はストアバツフア状態制御回路であり、上述した501〜5
02のm+1個のレジスタ対応して、ストア要求の有無を
示す要求フラグと、ストア要求が予測状態か否かを示す
予測フラグ602〜603とを有する。すなわち、602は、ス
トアバツフア内の0番のレジスタに対応してストア要求
が有ることを示す要求フラグREQ0及び、該ストア要求が
予測状態で処理しているST命令によるものであることを
示す予測フラグP0である。また603はm番のレジスタに
対応する要求フラグREQmと予測フラグPmである。
604はストアバツフア入力制御回路である。604は601か
ら信号線605を介してREQ0〜REQmを受けとり、このうち
オフであるものの中から1つを選択しその番号をストア
バツフアの入力ポインタIPとして信号線506に出力す
る。信号線506はストアバツフア9及びストアバツフア
状態制御回路601に送出される。EU7(第3図)から信号
線503を介してストアバツフア状態制御回路にREQ信号が
送出されると、入力ポインタIPで示される番号の要求フ
ラグを1にセツトし、同時に信号線606を介してEU7から
送出される予測状態信号Pの値を入力ポインタIPで示さ
れる予測フラグの値としてセツトする。
607はストアバツフア出力制御回路である。607は601か
ら信号線605を介してREQ0〜REQmを、また信号線608を介
してP0〜Pmを受けとり、このうち予測フラグがオフでか
つ要求フラグがオンであるレジスタの番号をストアバツ
フアの出力ポインタOPとして信号線508に出力する。信
号線508は、ストアバツフア9及びストアバツフア状態
制御回路601に送出される。また実際に予測フラグがオ
フでかつ要求フラグがオンであるレジスタが存在した場
合は、607はMS3(第3図)に対するストア要求信号MREQ
を発行する。MREQは信号線609を介して、3及び601に送
出される。607がMREQを発行した時、601はOPで示される
番号の要求フラグ及び予測フラグを0にリセツトする。
一方、ストアバツフア状態制御回路601は、EU7から信号
線610を介して送られてくる分岐判定信号BJを受けとる
と、もし分岐予測が正しければ、すなわち本実施例にお
いては、BJが分岐不成立を示していたならば、P0〜Pm
すべて0にリセツトする。こうすることにより、今まで
要求フラグはオンであつたにも係らず予測フラグがオン
であつたがためにMREQを発行できないでいたストア要求
は、予測フラグがオフとなるためMREQを発行することが
でき、MSに書き込みが行われることとなる。またもしBJ
信号を受け取つた時に分岐予測が誤つていたとすれば、
REQ0〜REQmのうち、対応する予測フラグがオンであるも
のを全て“0"にリセツトする。同時にP0〜Pmも全て“0"
にリセツトする。こうすることにより、ストアバツフア
内の、実は実行してはいけなかつたストア要求はキヤン
セルされたことになる。
演算ユニツトから記憶制御ユニツトSCU8に信号線503,50
4,505,610を介して送出される信号REQ,ストアデータ,
ストアアドレス,BJはいずれも従来技術で容易に作成す
ることができるのでその説明は省略する。また信号線60
6上の信号Pは例えば次のようにして作成できる。すな
わち、命令制御ユニツト6からEU-7への命令セツトアツ
プは命令の概念的実行順序通りだとした場合、EU7へ分
岐命令がセツトアツプされたと同時に“1"にセツトさ
れ、分岐判定が行われたと同時に“0"にセツトされるフ
リツプフロツプの値をPとすればよい。
またSCU8からMS3に信号線609,509を介して送出される信
号MREQ,ストアデータ,ストアアドレスに対するMS-3の
構成とこれらを受けとつた時の、動作は従来技術と同様
であるので説明を省略する。
なお上記実施例における予測としては、分岐命令の分岐
判定だけではなく、次に述べるような各種のものが考え
られ、いずれに対しても本発明を適用可能である。すな
わち、特公昭54-9456にあるように、分岐命令における
分岐先命令データを予測するもの、特願昭58-237778に
あるように、レジスタコンフリクトを生じる2命令の処
理において先行命令の演算結果を予測するものがある。
〔発明の効果〕
本発明によれば、予測処理方式と並列演算方式を供に採
用しているデータ処理装置において、予測中であつても
ストア命令の演算処理を完了し、該ストア命令の演算処
理を行つた演算器がさらに別の命令の演算処理に使用可
能となるため、高速化に効果がある。しかも本発明によ
れば予測中の命令によつて誤つて主記憶に書き込みが行
われることがないため、復元動作が必要なく、これによ
る処理速度低下も生じない。さらに誤つて主記憶に書き
込みが行われることがないため、他CPUやチヤンネルか
らこの予測の誤つたストア命令の結果が見えてしまうこ
とも妨げるため、この点についてIBMシステム370アーキ
テクチヤ等の仕様を守ることも可能である。
しかも、予測で実行された命令により生成されたストア
データを複数保持出来るので、複数のストアデータを生
成する命令を続けて予測で実行できる。
さらに、予測状態ではなく通常の状態で実行された複数
の命令により生成された複数のストアデータだけでな
く、予測により実行された複数の命令により生成された
ストアデータも混ぜて一時的に保持することが出来る。
言い替えると、予測で実行された命令の前に実行されて
いた命令の中に、ストアデータを生成する命令が一つあ
るいは複数ある場合でも、その一つ又は複数の命令のス
トアの完了を待たないで、後続の予測で実行する命令を
実行することが出来る。
とくに、命令の実行時間が命令により異なる汎用の計算
機では、先行する、ストアデータを生成する命令の実行
の終了を待たないで後続の、ストアデータを生成する命
令を実行できるということは、命令の実行の高速化とい
う点で利点が大きい。しかも、このことが上記で述べた
ごとく予測で実行されている複数の命令間でも当てはま
ること、さらに上記で述べた、予測でなく実行される命
令とその後の予測で実行される命令の間で当てはまると
いう効果も大きい。
これらの効果は、予測で実行された命令によるストアデ
ータとそうでない命令によるそれとの区別を同じストア
バツフア上で行なつていることに直接的あるいは間接的
に生じている。
【図面の簡単な説明】
第1図は典型的な命令フオーマツトを示す図、第2図は
高速化される命令列の例を示す図、第3図はデータ処理
装置の全体構成例を示す図、第4図は第2図の命令列を
処理した時のタイムチヤート、第5図はストアバツフア
の構成図、第6図はストアバツフア制御回路図である。 3……主記憶装置、7……演算ユニツト、8……記憶制
御ユニツト、9……ストアバツフア、10……ストアバツ
フア制御回路、601……ストアバツフア状態制御回路、6
04……ストアバツフア入力制御回路、607……ストアバ
ツフア出力制御回路。
フロントページの続き (72)発明者 釜田 栄樹 東京都国分寺市東恋ヶ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 武内 茂雄 東京都小平市上水本町1479番地 日立マイ クロコンピユータエンジニアリング株式会 社内 (56)参考文献 特開 昭58−178464(JP,A) 特開 昭58−9274(JP,A) 特公 昭60−49339(JP,B2)

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】プログラムを構成する複数の命令を並列に
    実行するとともに、実行の可否の判別した後に実行すべ
    き特定の命令をその判別の結果を待たないで予測により
    実行開始し、もしくは先行する命令の実行結果により値
    が変わるデータを使用する命令を、そのデータが確定す
    るのを待たないで、そのデータの予測値を使用して実行
    するように構成されたデータ処理装置であって、 該複数の命令を実行した結果得られ、プログラムおよび
    データを格納する主記憶もしくはその写しを保持するキ
    ャッシュ記憶に書込むべき複数のストアデータとそれぞ
    れのストアアドレスを保持するためのストアバッファ
    と、 該ストアバッファに保持された複数のストアデータを該
    主記憶または該キャッシュ記憶に書き込むストアバッフ
    ァ制御回路とを有し、 ストアバッファ制御回路は、 該ストアバッファ内の、ストアデータ保持用の複数の領
    域の各々に対応して設けられた、第1および第2のフラ
    グと、 いずれかの命令の実行の結果生成されたストアデータを
    該複数の領域の一つに記憶するときに、その領域に、該
    主記憶または該キャッシュ記憶に書込むべきストアデー
    タが保持されていることを指示するように、その領域に
    対応して設けられた第1のフラグを更新する第1の更新
    手段と、 そのストアデータを生成した命令が予測により実行され
    た命令であるか否かに応じて、その領域に保持されたス
    トアデータが、それぞれ予測状態および非予測状態を指
    示するように、その領域に対応して設けられた第2のフ
    ラグを更新する第2の更新手段と、 該ストアバッファのいずれかの領域に保持されたストア
    データが、予測状態のストアデータである場合におい
    て、後にそのストアデータを生成した命令の予測実行が
    成功したことが該データ処理装置により判別されたとき
    に、そのストアデータが非予測状態のストアデータであ
    ることを指示するように、その領域に対応して設けられ
    た第2のフラグを更新する第3の更新手段と、 該ストアバッファのいずれかの領域に保持されたストア
    データが、予測状態のストアデータである場合におい
    て、後に予測が失敗したことが該データ処理装置により
    判別されたときに、その領域に、該主記憶または該キャ
    ッシュ記憶に書込むべきストアデータが保持されていな
    いことを指示するように、その領域に対応して設けられ
    た第1のフラグを更新する第4の更新手段と、 該第1および該第2のフラグを参照して、該ストアバッ
    ファの該複数の領域に保持されたストアデータの内、該
    主記憶または該キャッシュ記憶に書込むべき有効なスト
    アデータであって、かつ、非予測状態であるストアデー
    タを選択して、該主記憶または該キャッシュ記憶に書込
    む手段とを有するデータ処理装置。
JP59227773A 1984-10-31 1984-10-31 デ−タ処理装置 Expired - Lifetime JPH0769818B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59227773A JPH0769818B2 (ja) 1984-10-31 1984-10-31 デ−タ処理装置
US06/793,545 US4760520A (en) 1984-10-31 1985-10-31 Data processor capable of executing instructions under prediction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59227773A JPH0769818B2 (ja) 1984-10-31 1984-10-31 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPS61107434A JPS61107434A (ja) 1986-05-26
JPH0769818B2 true JPH0769818B2 (ja) 1995-07-31

Family

ID=16866154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59227773A Expired - Lifetime JPH0769818B2 (ja) 1984-10-31 1984-10-31 デ−タ処理装置

Country Status (2)

Country Link
US (1) US4760520A (ja)
JP (1) JPH0769818B2 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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.
US5440704A (en) * 1986-08-26 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Data processor having branch predicting function
US5265220A (en) * 1986-12-23 1993-11-23 Nec Corporation Address control device for effectively controlling an address storing operation even when a request is subsequently cancelled
JPS63245525A (ja) * 1987-03-31 1988-10-12 Toshiba Corp マイクロプログラム処理装置
US5134561A (en) * 1987-07-20 1992-07-28 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
US4901233A (en) * 1987-07-20 1990-02-13 International Business Machines Corporation Computer system with logic for writing instruction identifying data into array control lists for precise post-branch recoveries
JPS6488844A (en) * 1987-09-30 1989-04-03 Takeshi Sakamura Data processor
JP2810043B2 (ja) * 1987-11-13 1998-10-15 株式会社日立製作所 データ処理装置
US4943908A (en) * 1987-12-02 1990-07-24 International Business Machines Corporation Multiple branch analyzer for prefetching cache lines
GB8728493D0 (en) * 1987-12-05 1988-01-13 Int Computers Ltd Jump prediction
JP2723238B2 (ja) * 1988-01-18 1998-03-09 株式会社東芝 情報処理装置
US5228131A (en) * 1988-02-24 1993-07-13 Mitsubishi Denki Kabushiki Kaisha Data processor with selectively enabled and disabled branch prediction operation
JPH07113890B2 (ja) * 1988-06-24 1995-12-06 日本電気株式会社 情報処理装置
GB8817912D0 (en) * 1988-07-27 1988-09-01 Int Computers Ltd Data processing apparatus
GB8817911D0 (en) * 1988-07-27 1988-09-01 Int Computers Ltd Data processing apparatus
US5125083A (en) * 1989-02-03 1992-06-23 Digital Equipment Corporation Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
DE69030931T2 (de) * 1989-04-24 1998-01-15 Ibm Mehrfachsequenzprozessorsystem
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
CA2016068C (en) * 1989-05-24 2000-04-04 Robert W. Horst Multiple instruction issue computer architecture
JP2570859B2 (ja) * 1989-05-25 1997-01-16 日本電気株式会社 データ処理装置
US5197137A (en) * 1989-07-28 1993-03-23 International Business Machines Corporation Computer architecture for the concurrent execution of sequential programs
JP2680899B2 (ja) * 1989-08-28 1997-11-19 日本電気株式会社 情報処理装置及びその制御方法
US5163140A (en) * 1990-02-26 1992-11-10 Nexgen Microsystems Two-level branch prediction cache
EP0545927B1 (en) * 1990-05-04 2000-06-28 International Business Machines Corporation System for preparing instructions for instruction parallel processor and system with mechanism for branching in the middle of a compound instruction
US5303356A (en) * 1990-05-04 1994-04-12 International Business Machines Corporation System for issuing instructions for parallel execution subsequent to branch into a group of member instructions with compoundability in dictation tag
JP2845578B2 (ja) * 1990-06-19 1999-01-13 甲府日本電気 株式会社 命令制御方式
US5235697A (en) * 1990-06-29 1993-08-10 Digital Equipment Set prediction cache memory system using bits of the main memory address
US5257354A (en) * 1991-01-16 1993-10-26 International Business Machines Corporation System for monitoring and undoing execution of instructions beyond a serialization point upon occurrence of in-correct results
US5253349A (en) * 1991-01-30 1993-10-12 International Business Machines Corporation Decreasing processing time for type 1 dyadic instructions
US5630157A (en) * 1991-06-13 1997-05-13 International Business Machines Corporation Computer organization for multiple and out-of-order execution of condition code testing and setting instructions
JPH056274A (ja) * 1991-06-27 1993-01-14 Mitsubishi Electric Corp データ処理装置
ATE200357T1 (de) 1991-07-08 2001-04-15 Seiko Epson Corp Risc-prozessor mit dehnbarer architektur
US5649097A (en) * 1991-10-25 1997-07-15 International Business Machines Corporation Synchronizing a prediction RAM
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5442767A (en) * 1992-10-23 1995-08-15 International Business Machines Corporation Address prediction to avoid address generation interlocks in computer systems
US5463746A (en) * 1992-10-30 1995-10-31 International Business Machines Corp. Data processing system having prediction by using an embedded guess bit of remapped and compressed opcodes
US5465373A (en) * 1993-01-08 1995-11-07 International Business Machines Corporation Method and system for single cycle dispatch of multiple instructions in a superscalar processor system
TW242673B (ja) * 1993-08-18 1995-03-11 Ibm
US5584009A (en) * 1993-10-18 1996-12-10 Cyrix Corporation System and method of retiring store data from a write buffer
US5524220A (en) * 1994-08-31 1996-06-04 Vlsi Technology, Inc. Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems
US6604190B1 (en) * 1995-06-07 2003-08-05 Advanced Micro Devices, Inc. Data address prediction structure and a method for operating the same
US7051192B2 (en) * 2000-05-31 2006-05-23 Sun Microsystems, Inc. Facilitating value prediction to support speculative program execution
KR20040045467A (ko) * 2001-10-02 2004-06-01 코닌클리케 필립스 일렉트로닉스 엔.브이. 자바 하드웨어 가속기에 대한 추론적 실행

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3881173A (en) * 1973-05-14 1975-04-29 Amdahl Corp Condition code determination and data processing
JPS5466048A (en) * 1977-11-07 1979-05-28 Hitachi Ltd Information processor
JPS6024985B2 (ja) * 1978-08-31 1985-06-15 富士通株式会社 デ−タ処理方式
JPS56149646A (en) * 1980-04-21 1981-11-19 Toshiba Corp Operation controller
JPS6028015B2 (ja) * 1980-08-28 1985-07-02 日本電気株式会社 情報処理装置
US4370711A (en) * 1980-10-21 1983-01-25 Control Data Corporation Branch predictor using random access memory
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor
JPS589274A (ja) * 1981-07-10 1983-01-19 Nec Corp 書込デ−タバツフア制御装置
JPS5858653A (ja) * 1981-10-02 1983-04-07 Hitachi Ltd デ−タ処理装置
JPS5896349A (ja) * 1981-12-02 1983-06-08 Hitachi Ltd マイクロ命令制御のデータ処理装置
US4532589A (en) * 1981-12-02 1985-07-30 Hitachi, Ltd. Digital data processor with two operation units
US4435756A (en) * 1981-12-03 1984-03-06 Burroughs Corporation Branch predicting computer
JPS58178464A (ja) * 1982-04-14 1983-10-19 Hitachi Ltd 並列演算処理装置
US4604691A (en) * 1982-09-07 1986-08-05 Nippon Electric Co., Ltd. Data processing system having branch instruction prefetching performance
US4651276A (en) * 1982-10-06 1987-03-17 Mcdonnell Douglas Corporation Computer read next instruction system
US4594659A (en) * 1982-10-13 1986-06-10 Honeywell Information Systems Inc. Method and apparatus for prefetching instructions for a central execution pipeline unit
JPS5984292A (ja) * 1982-11-08 1984-05-15 富士通株式会社 Crtデイスプレイ制御装置
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
US4608633A (en) * 1983-04-01 1986-08-26 Honeywell Information Systems Inc. Method for decreasing execution time of numeric instructions
JPS6043751A (ja) * 1983-08-18 1985-03-08 Hitachi Ltd 情報処理装置
JPS6049339A (ja) * 1983-08-30 1985-03-18 Dainippon Screen Mfg Co Ltd 複製画像の編集装置
US4571673A (en) * 1983-09-29 1986-02-18 Tandem Computers Incorporated Enhanced CPU microbranching architecture
JPS60120439A (ja) * 1983-12-05 1985-06-27 Nec Corp 演算処理装置

Also Published As

Publication number Publication date
JPS61107434A (ja) 1986-05-26
US4760520A (en) 1988-07-26

Similar Documents

Publication Publication Date Title
JPH0769818B2 (ja) デ−タ処理装置
EP0368332B1 (en) Pipeline data processor
JP2539199B2 (ja) デジタルプロセッサ制御装置
US5293500A (en) Parallel processing method and apparatus
EP0135844B1 (en) A data processor with a branch target instruction storage
US4679140A (en) Data processor with control of the significant bit lengths of general purpose registers
US5155817A (en) Microprocessor
JPH0766329B2 (ja) 情報処理装置
US4807113A (en) Microprogrammed control data processing apparatus in which operand source and/or operand destination is determined independent of microprogram control
JPH03286332A (ja) デジタルデータ処理装置
JPH0752390B2 (ja) 命令処理装置
JPH0743648B2 (ja) 情報処理装置
JPH0461390B2 (ja)
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
JPH06168263A (ja) ベクトル処理装置
JPH02123442A (ja) 高速化メモリ
JPH0377137A (ja) 情報処理装置
JPH08263289A (ja) 複数命令流パイプライン計算機
JPH06131180A (ja) 命令処理方式および命令処理装置
JP3102399B2 (ja) データ処理装置及び方法
JP2856784B2 (ja) 電子計算機
JPH06332700A (ja) 情報処理装置
JPH06332701A (ja) 情報処理装置
JPH01271842A (ja) 情報処理装置
JPH0679296B2 (ja) 多重仮想アドレス空間アクセス方法およびデータ処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term