JPS6125169B2 - - Google Patents

Info

Publication number
JPS6125169B2
JPS6125169B2 JP56069458A JP6945881A JPS6125169B2 JP S6125169 B2 JPS6125169 B2 JP S6125169B2 JP 56069458 A JP56069458 A JP 56069458A JP 6945881 A JP6945881 A JP 6945881A JP S6125169 B2 JPS6125169 B2 JP S6125169B2
Authority
JP
Japan
Prior art keywords
instruction
store
address
start address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP56069458A
Other languages
English (en)
Other versions
JPS57185545A (en
Inventor
Kanji Kubo
Tsuguo Momose
Chikahiko Izumi
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 JP56069458A priority Critical patent/JPS57185545A/ja
Priority to EP82302322A priority patent/EP0066376B1/en
Priority to US06/375,587 priority patent/US4500959A/en
Priority to DE8282302322T priority patent/DE3277423D1/de
Publication of JPS57185545A publication Critical patent/JPS57185545A/ja
Publication of JPS6125169B2 publication Critical patent/JPS6125169B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3812Instruction prefetching with instruction modification, e.g. store into instruction stream

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)

Description

【発明の詳細な説明】
この発明は先行制御方式の情報処理装置に関す
る。 先行制御方式の情報処理装置は通常、現在実行
中の命令の他にこれに続く命令を予め主記憶装置
からいくつか読出して命令バツフアと呼ばれる高
速記憶装置にバツフアしておき、現在実行中の命
令終了後に次の命令をこの命令バツフアから取り
出して実行処理する。これによつて、命令実行と
命令実行の間に発生する命令読出しのオーバーヘ
ツドの減少をはかつている。 一般に、メモリ(主記憶装置)から命令バツフ
アへの読出しは、メモリの読出し巾、例えば8バ
イト毎読み出されるために、命令以外にオペラン
ドとしてのデータも読出され得る。更に命令バツ
フアの容量が大きくなるに従つてオペランドとし
てのデータが命令バツフア内に取り込まれる傾向
は増大する。この様な状況で、先行する命令がメ
モリにストア動作を行ない、命令やデータを変更
し、しかもそのストア領域の命令やデータが既に
命令バツフアに取り込まれている場合、メモリと
命令バツフアとの間に不一致が生じる。 これに対しては、命令バツフアに取り込まれて
いる内容がメモリ上で変更された時点で命令バツ
フアの内容を全て無効化し、実行中の命令のアド
レスと変更された命令やデータのアドレスとの間
の命令(前述したごとくメモリの読み出し巾や命
令バツフアの容量の関係でデータも含まれ得る)
を再びメモリから読出すことにより、メモリと命
令バツフアとの間の不一致を解消することができ
る。 ところが、変更された命令やデータの前に分岐
命令があり、分岐成功により分岐を行なうような
場合や、変更されたのが命令でなくデータの場合
(データが命令バツフアに取り込まれていても、
命令でないため無視される)、変更された内容が
命令として全く実行されないことがある。この様
な場合、命令バツフア内の有効な命令を含めて全
て無効化し、メモリから再読み出しすることは、
命令処理効率上望ましくない。 特開昭54−82140号公報は上述のごとき一義的
な命令バツフアの無効化による命令処理効率の低
下を防ぐために、命令バツフアに先取りされてい
る内容がストアによりメモリ上において変更され
た場合には以後の先取りを抑止し、そして命令の
実行がこの変更された命令に進んだ時に命令バツ
フアの内容を無効化する手段を開示している。命
令の実行がこの変更された命令に進んだことを検
出するために、ストアを行なつたアドレスと実行
命令アドレスを比較し、一致した場合に命令の実
行が変更された命令に進んだとしている。しかし
ながら、アドレスのみの比較であり、比較の最小
単位がメモリからのデータの読出し巾(例えば8
バイト)であるため、8バイト単位で一致すれ
ば、実際にはストアしたバイト位置と実行する命
令のバイト位置が一致していなくても命令バツフ
アの無効化が発生し、依然として変更された内容
が命令として実行されない場合にも無効化するケ
ースがある。 本発明の目的は命令処理効率を上げた先行制御
方式の情報処理装置を提供することにある。 本発明の他の目的は、命令バツフアの不必要な
無効化を減少させる情報処理装置を提供すること
にある。 本発明は、メモリから命令バツフアへ読出すべ
き命令の読出しアドレス、実行すべき命令の実行
命令アドレス、実行すべき命令が配置されている
バイト位置情報、ストア命令によるストアアドレ
ス、およびストアにより変更されるバイト位置情
報とに基いて、命令バツフアに先取りされている
内容がメモリ上において変更されたことを検出す
ると共に、命令の実行が変更された命令に進んだ
ことを検出する。 従つて本発明によれば、命令バツフアに取込ま
れている内容がメモリ上に変更された場合、実際
にその変更された内容が命令として実行されるに
至つた場合のみ命令バツフアの無効化が行なわ
れ、命令バツフアの不必要な無効化と、メモリか
らの不必要な読出しが減少され、命令処理効率が
向上される。 以下本発明を実施例をもつて詳細に説明する。 第1図は先行制御方式の情報処理装置における
命令制御ユニツト(IU;Instruction Unit)1、
演算ユニツト(EU;Execution Unit)2及び記
憶制御ユニツト(SCU;Storage Control Unit)
3と主記憶装置(MS;Main Storage)4のユニ
ツト相互間のインタフエース信号と、その方向を
簡略化して図示したものである。第1図において
本発明に直接関係がないインタフエース信号は省
略してある。 第1図において、EU2からIU1への制御パス
5と6はそれぞれIU1の起動(スタートIU)と
リセツト(リセツトIU)を指示する。スタート
IU5がオンになると、IU1の命令読出し制御を
起動し、命令読出し動作を開始する。最初の命令
読出しアドレスはスタート・アドレス13にて決
定される。命令読出しリクエスト(IFリクエス
ト)7と命令読出しアドレス(IFアドレス)8
がIU1よりSCU3へ送られると、SCU3とMS4
の制御が起動され、メモリ上のIFアドレス8に
よつて指定された命令データ9がメモリより読出
されてIU1へ送られる。この命令データは後述
の命令バツフアに一旦バツフアされた後、IU1
にて個々の命令に分けられ順次解読される。解読
済みの命令は次に実行する為EU2を起動する。
IU1によるEU2の起動制御信号はIRDY
(Instruction Ready)10であり、これに付随し
て制御記憶装置(CS;Control Storage)のアド
レス(CS Address)11がEU2に送られ、該
当命令の実行を制御する最初のマイクロ・プログ
ラムが読み出される。オペランドを操作する命令
の場合は、IRDY10に付随して更にアドレス計
算によつて求めたオペランドのアドレス(アペラ
ンド・アドレス)12がEU2に送られる。EU2
で実行される命令がフエツチ・タイプの場合、既
ちメモリよりオペランドを読出して操作し、結果
をレジスタに格納する命令の場合は、EU2から
SCU3に対してオペランド読出しリクエスト
(OFリクエスト)14とメモリ上のオペランド位
置を指定するオペランド読出しアドレス(OFア
ドレス)15が送られる。OFリクエスト14に
よつて起動されたSCU3はOFアドレス15によ
つて示されるメモリ上の位置よりオペランドを読
出し、オペランドパス16にてEU2に転送す
る。EU2で実行される命令がストア・タイプの
場合、既ちレジスタ又はメモリよりオペランドを
読出して操作し、結果をメモリにストア(書込
み)する命令の場合は、まず必要なレジスタの読
出し又は上記のオペランド読出し動作を行ない、
オペランドを操作してストア・データを作成す
る。ストア・データが確定すると、EU2はSCU
3にストア・リクエスト17、ストア・アドレス
18、ストア・データ19及び8バイト内のどの
バイト位置にストアするかを示すストアのマーク
情報ストア・マーク20を送る。SCU3はスト
ア・リクエスト17によつてストア動作を開始
し、ストア・アドレス18とストア・マーク20
によつて示されるメモリのバイト位置にストア・
データ19を書込む。EU2からSCU3へ送られ
るストア情報のうち、ストア・リクエスト17と
ストア・アドレス18はこのストアによつてIU
1が既に命令バツフア内に取込んでいる命令を変
更したか否かをチエツクするためにIU1にも送
られる。このチエツクをPSC(Program Store
Compare)チエツクと呼ぶ。更に、PSCチエツ
クのために、ストア・マーク20の情報をコード
化したストア長コード(SLC;Store Length
Code)21がEU2で作成され、IU1へ送られ
る。 第2図はIU1の詳細を示す図である。 EU2からのIU1を起動およびリセツトするス
タートIU5およびリセツトIU6は命令読出
(IF)制御部22に与えられる。メモリから読出
された命令データは命令バツフア23に取込まれ
る。命令バツフア23内の命令列は順次命令レジ
スタ34に取出され、デコーダ35で解読され
る。命令が分岐命令の場合、分岐命令の解読によ
るリセツト(リセツトIF)24、および分岐命
令の解読によるスタート(スタートIF)27が
IF制御部22に与えられる。命令バツフア23
は命令バツフア中にメモリ読出巾(例えば8バイ
ト)の空があれば、命令バツフア空信号23aを
IF制御部22へ与える。IF制御部22へはさら
にPSC制御部25からPSCリセツトIU26およ
びPSCスタートIU28が与えられる。PSCリセ
ツトIU26およびPSCスタートIU28について
は後で詳述されるが、PSC発生、即ち変更された
内容が命令として実行されるに至つた場合にPSC
リセツトIU26がオンとなり、引き続いてPSC
リセツトIU26がオフにされると共にPSCスタ
ートIU28がオンにされる。 第3図はIF制御部22の詳細を示す。IF制御
部22はEU2によるスタートIU5、分岐命令の
解読によるスタートIF27およびPSC制御部2
5によるPSCスタートIU28により起動され、
ORゲート221を介してフリツプフロツプ
(FF)223をセツトする。またEU2によるリ
セツトIU6、分岐命令の解読によるリセツトIF
24およびPSC制御部25によるPSCリセツト
IU26によりリセツトされ、ORゲート222を
介してFF223をリセツトする。ORゲート22
2の出力は命令バツフア23へも与えられ、命令
バツフアを無効化する。EU2によるIU1のリセ
ツトとスタート要求は例えば割込みが発生して
IUの処理する命令アドレスを変更する場合(通
常のプログラムから割込み処理プログラムへ)等
に発生する。分岐命令よるIF制御部22のリセ
ツトとスタート要求は例えば分岐命令が他のプロ
グラムへ分岐する時に、それまで処理していた命
令列の処理を中止して、分岐先の命令列の処理を
開始する場合等に発生する。更にPSC制御部25
によるIF制御部22のリセツトとスタート要求
は変更された内容が命令として実行されるに至つ
た時、変更後の命令をメモリより再び読出す為
に、変更された命令の処理を一時中止して、変更
後の命令の処理を開始する場合に発生する。IF
制御部22がリセツトされるとIF制御部22の
状態を示す信号アクテイブ29がオフとなり、
IF制御部22が起動されるとアクテイブ29は
オンとなる。アクテイブ29はPSC制御部25へ
送られて、命令読出し動作が有効であることを知
らせる。第3図において、アクテイブ29は
ANDゲート226に与えられる。ANDゲート2
26には命令バツフア空信号23a、反転回路N
を介して命令読出中を示す信号、および反転回路
Nを介して制御フリツプフロツプPDARV71
(第4図)の出力42が与えられる。PDARV7
1は第4図にて後述されるが、PSC保留条件、即
ち命令バツフアに先取りされている内容がストア
によりメモリ上において変更された場合にセツト
される。従つてANDゲート226はアクテイブ
時、命令バツフアに空があり、命令読出中でな
く、かつPSC保留条件が発生していなければ開
き、命令読出し(IF)リクエスト7を発行す
る。IF制御部22はさらにORゲート224およ
びANDゲート225を具備する。ORゲート22
4はスタートIU5、スタートIF27もしくは
PSCスタートIU28によつて信号30を、AND
ゲート225はスタートIU5とスタートIF27
が共にオフの時に信号32を出力する。 再び第2図を参照するに、スタートIU5がオ
ンの時、信号30もオンであり、ANDゲート3
1a,33a(41aも開くが後述する)が開
き、スタート・アドレス13が命令読出しアドレ
スレジスタ(IF)33に取込まれる。IF33に
スタート・アドレス13が確定すると、第3図で
示したごとくIF制御部22はIFリクエストを発
し、SCU3にIFリクエスト7とIFアドレス8
(IF33の出力線)を送る。SCU3、MS4によ
り命令が読出されると、命令データ9が命令バツ
フア23に取込まれる。命令バツフア23内の命
令列は順次取出され命令レジスタ34に取込まれ
て解読される。命令の解読はデコーダ35によつ
て行なわれ、その結果命令長コード(ILC;
Instruction Length Code)、CSアドレス及びレ
デイ信号(IRDY;Instruction Ready)が命令待
機レジスタ36にキユーイングされる。命令待機
レジスタ36は命令の解読が完了した時点でEU
2が先行の命令の実行を完了していない場合に解
読済の命令とその付随情報を待機させておく為の
レジスタで、EU2が先行命令の実行を完了し次
第、IRDY10、CSアドレス11をEU2に送
り、次の命令の実行を起動する。一方、オペラン
ド・アドレスは命令レジスタ34にて指定された
インデツクス・レジスタとベース・レジスタを汎
用レジスタ37から読出し、これらの値と命令レ
ジスタ34にて指定されるデイスプレースメント
値をアドレス加算器(AA;Address Adder)3
8にて加算して求められる。加算結果はAA38
の出力ラツチ(AAL;Address Adder Latch)
39を経由してアドレス待機レジスタ40にキユ
ーイングされる。アドレス待機レジスタ40はア
ドレス加算が完了した時点でEU2が先行の命令
の実行を完了していない場合にオペランド・アド
レスを待機させておく為のレジスタで、EU2の
先行命令の実行を完了し次第オペランド・アドレ
ス12をEU2に送る。 命令カウンタ(IC;Instruction Counter)4
1は実行中の命令の次の命令の先頭アドレスを保
持するレジスタで、割込みの発生やPSC一致条件
が成立した場合等に該当命令の命令アドレスを求
めるのに使用される。スタートIU5がオンの時
のIC41の初期設定動作はIF33の場合と同様
に行なわれる。既ちIF制御部22が信号30を
オンにしてANDゲート41aを開き、IC41に
スタート・アドレス13が確定する。パス43は
IC41の出力線であり、IC41のアドレス増加
器(ICAI;IC Address Incrementer)44の入
力に接続される。ICAI44は命令の実行を開始
する時、IC41の内容に命令長を加算して次の
命令の先頭アドレスを求める為のアドレス増加器
である。命令長は命令待機レジスタ36より送ら
れる命令長コードILC45を解読することにより
求められる。命令長を加算した結果はICAI44
のラツチ(ICAIL;ICAI Latch)46を経由し
て、信号30がオフ時、ANDゲート41bが開
いてIC41に入力される。IC41の更新は命令
の実行を開始する毎に行なわれる。 IF33は最初のスタート・アドレスによる命
令読出し要求完了後、要求した命令データ長
(8Bとする)の分だけアドレスを増加する為、IF
アドレス8をIF33のアドレス増加器(IFAI;
IF Address Incrementer)47へ送り8バイト
分アドレスを増加させ、IFAI47のラツチ
(IFAIL;IFAI Latch)48を経由し、信号30
がオフ時、ANDゲート33bが開いてIF33に
入力する。IF33の更新値は次に命令バツフア
23に8バイトの空きが生じた場合、命令バツフ
ア23に次の命令データを読出す為の命令読出し
アドレスとして使用される。命令の処理が進むと
命令バツフア23より順次命令が取出され、これ
により命令バツフア23に8バイトの空きが生じ
るのでこの毎にIF33を更新して命令読出しを
行なう。 分岐命令が解読された場合はAA38にて分岐
先アドレスが計算され、分岐する場合はAAL3
9を経由して分岐先アドレスをANDゲート31
bに送る。ANDゲート31bは分岐命令解読に
よるスタートIF27がオンになつて開き、IF制
御部22はスタートIF27がオンになることに
より信号30をオンにしてANDゲート33a,
41aを開き、AAL39の出力をIF33とIC4
1に取込み、それぞれ分岐先アドレスを確定させ
る。分岐先命令の読出しはIF制御部22により
リクエスト線IFリクエスト7とアドレス線IFア
ドレス8を用いて行なわれる。分岐先の命令が読
出されて解読され、EU2で実行を開始するとIC
41が命令長の分加算される。 PSC制御部25は命令読出アドレスレジスタ
(IF)33の命令読出アドレス、命令カウンタ
(IC)41の実行命令アドレス、命令長コード
(ILC)、EU2からのストアアドレスおよびスト
ア長コード(SLC)に基いてPSCチエツクを行な
う。そしてPSC発生を検出すると、即ち、ストア
命令により変更された命令の実行に至ると、PSC
制御部によるIU1のリセツト信号、PSCリセツ
トIU26がオンとなり、IF制御部22をリセツ
トする。第3図で説明したごとく、PSCリセツト
IU26により命令バツフアの無効化が行なわれ
る。リセツト動作が完了すると、次にパス49に
よりIF33とIC41の初期設定動作を開始す
る。パス49には後述するごとくPSCが発生した
命令の命令アドレスが確定しており、このアドレ
スはIC41のパス43から与えられるものであ
る。従つてPSCが発生した場合には、常にパス4
9にストア命令の次の命令アドレスが確定してい
るので、PSC制御部25によるIU1のスタート
信号、PSCスタートIU28がオンになると、IF
制御部22はパス30,32をオンにしてAND
ゲート31C,33a,41aを開き、IF33
とIC41にパス49の内容を移す。IF制御部2
2はIFリクエスト7をオンにし、IFアドレス8
を用いて命令読出し動作を開始する。 第4図はPSC制御部25の詳細を示す。第4図
において、ストア・マスク発生器50はストアア
ドレス18の最下位3ビツト(ビツト29〜3
1)とSLC21を用いて、ストアより変更される
バイトが8バイト境界内のどのバイト位置かを2
バイト単位で示すG,H,I,Jの各信号を作成
する回路であ。第5図aおよびbにSLCの定義と
ストア・マスク発生器50の論理を説明する図を
示す。 第5図aにおいて、SLCは2ビツトで構成さ
れ、ストアが行なわれた時意味を持ち、この2ビ
ツトが“OO”の時、ストアがメモリ上のストア
アドレスが示すバイト位置から始まる8バイトを
変更することを表わし、“01”の時2バイト、
“10”の時4バイト、“11”の時1バイトをそれぞ
れ変更することを表わす。第5図bはストア・マ
スク発生器50の入力と出力の関係(左側の図)
とそれに関係付けたストア・マスクG〜Jが
“1”になる様子(右側の図)を示す。第5図b
の左側の図において、入力はストア・アドレスの
下位3ビツト(ビツト29〜31)とSLCのビツ
ト0,1であり、出力はストア・マスクビツト
G,H,I,Jの4ビツトでる。×印は条件とし
て不要であることを示し、図の最上位の行は
SLCO、1が“00”の時、ストアアドレスのビツ
ト29〜31に無関係にストア・マスクG〜Jが
全“1”(オン)になることを示す。右側の図
で、長方形の部分がストアによつて変更されるメ
モリ上のオペランド位置を表わしている。ある8
バイト境界内において、Gビツトはストアするバ
イトが0か1のときオンにされ、Hビツトはバイ
ト2か3、Iビツトはバイト4か5、Jビツトは
バイト6か7がそれぞれストアされる時オンにさ
れる。従つて8バイト・ストアの時は全てのバイ
トが変更されるので、G〜Jが全て“1”とな
る。他の例として上から6行目をみると、スト
ア・アドレスのビツト29〜31が“001”、
SLCO、1が“10”となつており、これは右側の
図で示される通り、バイト1から始まる4バイト
のオペランドが変更されることがわかる。従つて
オンにされるストア・マスクはG,H,Iの3ビ
ツトとなる。他の行も上に述べた例と同様の方法
で判断することができる。但し、この例ではスト
アは8バイト境界をまたがつたオペランドを1度
で変更できず、8バイト境界内のバイトしか変更
できないものとしているため、ストア・アドレス
のビツト29〜31が8バイト境界内の後方のバ
イト位置(例えばバイト5,6または7)を示し
ている場合、SLCO、1が示すオペランド長のう
ち8バイト境界をまたぐ部分は除かれることにな
る。 第4図を参照するに、命令マスク発生器51は
パス43を介して与えられるIC41のビツト2
9,30とILC45及びIRDY10を用いて次に
実行する命令がIC41で指定する8バイト境界
内のどのバイト位置に配置されているかを2バイ
ト単位で表示するA,B,C,Dの各信号と、次
に実行する命令が8バイト境界をまたいでいる場
合、命令の後半が次の8バイト境界内のどのバイ
ト位置に配置されているかを2バイト単位で表示
するE,Fの各信号を作成する回路である。第6
図aおよびbにILCの定義と命令マスク発生器5
1の論理を説明する図を示す。 第6図aにおいて、ILCは2ビツトで構成さ
れ、制御信号IRDY10がオンの時意味を持ち、
この2ビツトが“01”の時、実行を開始しようと
している命令の命令長が2バイトであることを表
わし、“10”の時4バイト、“11”の時6バイトで
あることそれぞれ表わしている。“00”の場合は
不当コード(invalid)である。第6図bは命令
マスク発生器51の入力と出力の関係(左側の
図)とそれに関係付けた命令マスクA〜Fが
“1”になる様子(右側の図)を示す。第6図b
の左側の図において、入力はICのビツト29,
30とILCのビツト0,1及びIRDYであり、出
力は命令マスクビツトA,B,C,D,E,Fの
6ビツトである。×印は条件として不要であるこ
とを示す。例えば最上位の行はICのビツト2
9,30が“00”でIRDYが“0”でオフの時
ILCO、1に無関係に命令マスクビツトAを
“1”にし他で全て“0”にすることを表わす。
これはIRDYが“0”の時のILCO、1は一般に
保障されていない為、命令長を2バイトと仮定し
ていることによる。右側の図はA〜Fが1になる
様子を表わしたもので長方形の部分が次に実行さ
れる命令が占めるメモリ上のバイト位置を表わし
ている。或る8バイト境界内においてAビツトは
命令が占めるバイトが0と1の時オンにされ、B
ビツトはバイト2と3、Cビツトはバイト4と
5、Dビツトはバイト6と7の時それぞれオンに
される。EビツトとFビツトは命令が8バイト境
界をまたいで配置されている場合に次の8バイト
境界内における命令の後半が占めるメモリ上のバ
イト位置を表わす。従つてEビツトは命令の後半
が次の8バイト境界内の0と1バイト、Fビツト
は2と3バイトをそれぞれ占める時オンにされ
る。他の例として例えば下から2行目の行を見る
と、ICのビツト29,30が“11”、ILCO、1
が“10”、IRDYが“1”となつており、これは
右側の図で示される通り次に実行される命令前半
がバイト位置6と7を占め、命令の後半が次の8
バイト境界内のバイト位置0と1を占めているこ
とがわかる。従つてオンにされる命令マスクはD
とEの2ビツトとなる。他の行も上に述べた例と
同様の方法で判断することができる。 再び第4図を参照する。ストア・アドレス18
はPSCデステイネーシヨン・アドレス・レジスタ
(PDAR;PSC Destination Address Register)
52に接続され、またストア・マスク発生器50
からのストア・マスクビツトG〜Jはレジスタ5
3に接続されており、後述のPSC保留条件の成立
により1サイクルだけオンにされる制御フリツプ
フロツプPDARVT(PDAR Valid Trigger)6
9のオン出力によつてセツトされるようにされ
る。即ち、PDAR52はPSC保留条件が成立した
時の該条件を成立させたストアのアドレス(スト
ア・アドレス18)を一時保持する。レジスタ5
3はPSC保留条件が成立した時の該条件を成立さ
せたストアのGビツト、Hビツト、Iビツト、J
ビツトを一時保持しておくもので、出力としては
PG、PH、PI、PJとして表わされる。PSCの保留
条件はストア命令が命令バツフアに既に取込まれ
ている命令をメモリ上において変更したが、その
変更された命令がストア命令の次の命令ではない
場合に成立する。この場合に、PDAR52および
レジスタ53にて変更された命令のアドレス(こ
れはPSC保留条件を成立させたストアアドレスに
等しい)とストア・マスクとを覚えておく。 セレクタ(SEL)56にはIFアドレスとPDAR
52の出力パス59とが接続され、後述の制御フ
リツプフロツプ(PDARV)71の状態によつて
選択動作が行なわれる。PDARV71がリセツト
されているとき即ち、PSC保留条件がない時は
IFアドレス8を選択し、PDARV71がセツトさ
れているとき、即しPSC保留条件がある時は
PDAR52の出力パス59を選択する。 PSC保留条件は先取り命令変更検出論理
(CPID;Chenged Prefetch Instruction
Detecting Logic)55にて検出される。CPID論
理55にはIC41の出力パス43、ストアアド
レス18およびセレクタ56の出力パス57が接
続されており、CPID論理はストアが行なわれる
毎にストア・アドレス18がIC41がパス43
に示すアドレスとSEL56の出力パス57に示す
アドレスの間にあるかどか、即ち、 ICパス43<ストアアドレス18<パス57 をテストし、成立すると出力線58をオンにす
る。SEL56の選択は前述したとおりであるの
で、PSC保留条件がない時は、CPID論理55の
テストは、 ICパス43<ストアアドレス18<IFアドレス
8 となり、次に実行する命令のアドレス(ICパス
43上に表われる)と次に命令バツフアに読出そ
うとしている命令のアドレス(IFアドレス8上
に表われる)の間にストアが行なわれた、即ち命
令バツフア23に先取り済の命令がメモリ上で変
更されたかどうかを検出することになる。一方、
PSC保留条件がある時はCPID論理55のテステ
トは、 ICパス43<ストアアドレス18<PDAR52 となり、次に実行する命令のアドレス(ICパス
43上に表われる)と既に変更された命令のアド
レス(PDAR52)の間にストアが行なわれた、
即ち、先取り済の命令のうち、次にPSC保留条件
を発生させたストアによつて変更を受けた命令よ
りも先に実行される命令がメモリ上で変更された
かどうかを検出することになる。前述したごと
く、PDAR52およびレジスタ53はPSC保留条
件成立によるPDARVT69がセツト時にその入
力を取込むから、複数個のストア命令が順次PSC
保留条件を発生させた場合に常に変更された命令
のうち最初に実行される命令のアドレスとスト
ア・マスクを保持する。 第7図は先取り命令変更検出論理(CPID)5
5の詳細を示す。第7図において、一致検出回路
81はSEL出力パス57とストア・アドレス18
のビツト0−25に対して対応するビツトが全て
等しい場合に出力線82をオンにする。従つて出
力線82がオンの時SEL出力パス57とストア・
アドレス18は64バイト単位で一致している、即
ち、両アドレスが同一の64バイト境界内にあるこ
とを表わす。64バイトは本実施例において、命令
バツフアの容量が64バイトであることからきてい
る。他の一致検出回路83はストア・アドレス1
8とICパス43のビツト0−25に対して対応
するビツトが全て等しい場合に出力線84をオン
にする。従つて出力線84がオンの時、ストアア
ドレス18とICパス43は64バイト単位で一致
している、即ち両アドレスが同一の64バイト境界
内にあることを表わす。大小比較回路85はSEL
出力パス57とストア・アドレス18のビツト2
6−28に対して大小比較を行ない、SEL出力パ
ス57がストア・アドレス18より大きい時、出
力線86をオンにする。従つて出力線86がオン
の時64バイト境界内、8バイトバイト単位でSEL
出力パス57がストア・アドレス18より大きい
ことを表わす。他の大小比較回路87はストア・
アドレス18とICパス43のビツト26−31
に対して大小比較を行ない、ストア・アドレス1
8がICパス43より大きい時、出力線88をオ
ンにする。従つて出力線88がオンの時64バイト
境界内、バイト単位でストア・アドレス18が
ICパス43より大きいことを表わす。ANDゲー
ト89は出力線82,84,86,88が全てオ
ンの時出力線90をオンにする。第8図aは
ANDゲート89の機能を説明したものである。
出力線82および84がともにオンの状態はIC
パス43、ストア・アドレス18及びSEL出力パ
ス57のアドレスが全て同一の64バイト境界内に
存在していることを示し、出力線86と87がと
もにオンの状態はこの64バイト境界内において
ICパス43とSEL出力パス57の間にストア・
アドレス18が存在していることを表わす(この
例ではIU1よる命令の先取り量が64バイトを越
えないものとしている為、ICパス43とSEL出
力パス57の距離は64バイトを越えない)これは
IU1が命令バツフア23に先取りしている命令
がストアによつてメモリ上において変更されたこ
とを示している。ANDゲート91は出力線82
がオフで出力線84と88がともにオンの時出力
線92をオンにする。否定ゲート93は出力線8
2がオンの時オフを出力し、出力線82がオフの
時オンを出力するオン/オフ反転回路である。第
8図bはANDゲート91の機能を説明したもの
である。出力線82がオフで出力線84がオンの
状態はストア・アドレス18とSEL出力パス57
のアドレスが別の64バイト境界内に存在し、IC
パス43とストア・アドレス18が同一の64バイ
ト境界内に存在していることを示し、出力線88
がオンの状態はICパス43とストア・アドレス
18が存在する64バイト境界内においてストア・
アドレス18がICパス43よりも大きいことを
示す。SEL出力パス57のアドレスはICパス4
3のアドレスと等しいか又は進んでいるので、第
8図bのケースではストア・アドレス18とSEL
出力パス57の大小比較は不要となる。第8図b
のケースもIU1が先取りした命令がストアによ
つて変更されたことを示している。他のANDゲ
ート94は出力線82がオンで出力線84がオ
フ、出力線86がオンの時出力線95をオンにす
る。否定ゲート96は出力線84のオン/オフ反
転回路である。第8図cはANDゲート94の機
能を説明したものである。出力線82がオンで出
力線86がオフの状態は、ICパス43とスト
ア・アドレス18が別の64バイト境界内に存在
し、ストア・アドレス18とSEL出力パス57が
同一の64バイト境界内に存在していることを示
し、出力線86がオンの状態はストア・アドレス
18とSEL出力パス57が存在する64バイト境界
内においてSEL出力パス57がストア・アドレス
18よりも大きいことを示す。SEL出力パス57
のアドレスはICパス43のアドレスと等しいか
又は進んでいるので、第8図cのケースではスト
ア・アドレス18とICパス43の大小比較は不
要となる。第8図cのケースもIU1が先取りし
た命令がストアによつて変更されたことを示して
いる。ANDゲート89,91,94の各出力線
90,92,95はORゲート97にてオアさ
れ、ORゲート97の入力のいずれかがオンの時
出力線58をオンにする。 再び第4図を参照する。次命令変更検出論理
(CNID;Chenged Next Instruction Detecting
Logic)60はトストア命令が次の命令を変更し
た場合にこれを検出し、出力線61をオンにす
る。CNID論理60の入力はストア・アドレス1
8、ストア・マスク発生器50の出力線53、
ICパス43および命令マスク発生器51の出力
線63である。前述したごとく、ストア・マスク
発生器50からのストア・マスクG〜Jは8バイ
ト境界内のどのバイトがストアによつて変更され
るかを2バイト単位で表示しており、ストア・ア
ドレス18はストアによつて変更するメモリ上の
オペランドを8バイト単位で指定する。一方、命
令マスク発生器51からの命令マスクA〜Dは次
に実行する命令がICパス43にて指定される8
バイト境界内のどのバイト位置に配置されている
かを2バイト単位で表示しており、EおよびFは
次に実行する命令が8バイト境界をまたいでいる
場合、命令の後半が次の8バイト境界内のどのバ
イト位置に配置されているかを2バイト単位で表
示している。 ストア・アドレス18とICパス43のアドレ
スが8バイト単位で一致している場合は更にスト
ア・マスクG〜Jと命令マスクA〜Dの付合せが
行われる。この付合せ(A・G+B・H+C・I
+D・J)の結果がオンであると次に実行される
命令がストアによつて変更を受けたことになり、
出力線61をオンにする。次に実行する命令が8
バイト境界をまたいでいる場合は更にストア・ア
ドレス18とICパス43のアドレスに8バイト
を加えたアドレス、即ち次の8バイト境界のアド
レスを比較し、一致している場合はストア・マス
クG〜Hと命令マスクE〜Fの付合せ(E・G+
F・H)を行なう。この付合せの結果がONであ
ると次に実行される命令の後半がストアによつて
変更を受けたことになり、出力線61をオンにす
る。CNID論理60を設けることにより、ストア
命令が直後の命令を変更した場合に検出時期が遅
れることなく、ただちに検出することができる。 第9図は次命令変更検出論理(CNID)60の
詳細を示す。第9図において、一致検出回路98
はストア・アドレス18とICパス43のビツト
0−28に対して対応するビツトが全て等しい場
合に出力線99をオンにする。従つて出力線99
がオンの時、ストア・アドレス18とICパス4
3は8バイト単位で一致している(両アドレスが
同一の8バイト境界内にある)ことを表わす。他
の一致検出回路100はストア・アドレス18と
NIC103のビツト0−28に対して対応するビ
ツトが全て等しい場合に出力線101をオンにす
る。NIC103はICパス43のアドレスをアドレ
ス増加器(NIAI;Next Instnuction Address
Incrementer)102にて8バイト増加したアド
レスでICパス43の存在する8バイトの次の8
バイトのアドレスを指定する。従つて出力線10
1がオンの時、ストア・アドレス18はICパス
43の示す8バイトの次の8バイト境界内に存在
していることを表わす。ANDゲート104〜1
09はそれぞれAとG、BとH、CとI、Dと
J、EとG、FとHのアンド条件が成立すると出
力線をオンにする回路である。ANDゲート10
4〜107の出力線はORゲート110の入力に
つながり、いずれかの入力がオンの時ORゲート
110の出力線111をオンにする。ANDゲー
ト108,109の出力線はORゲート112の
入力につながり、いずれかの入力がオンの時OR
ゲート112の出力線113をオンにする。
ANDゲート114は出力線99と111がとも
にオンの時出力線115をオンにし、ANDゲー
ト116は出力線101と113がともにオンの
時出力線117をオンにする。第10図aは
ANDゲート114の機能を説明したものであ
る。出力線99がオンの状態はストア・アドレス
18とICパス43のアドレスが同一の8バイト
境界内に存在することを示し、出力線111がオ
ンの状態は命令マスクA,B,C,Dとストア・
マスクG,H,I,Jの対応するビツトのアンド
がとれた。即ち命令とストアしたオペランドがメ
モリ上でオーバーラツプしていることを示してい
る。 第10図bはANDゲート116の状態を説明
したものである。出力線101がオンの状態はス
トア・アドレス18が存在する8バイトがICパ
ス43が示すアドレスの存在する8バイトの次で
あるとを示し、出力線113がオンの状態は8バ
イト境界をまたいだ命令の後半(命令マスクE,
Fのいずれか又は両方のビツトがオン)とスト
ア・マスクG,Hの対応するビツトのアンドがと
れた、即ち命令の後半とストアしたオペランドが
メモリ上でオーバーラツプしていることを示して
いる。従つてANDゲート114の出力線115
又はANDゲート116の出力線117のいずれ
かがオンの時ORゲート118の出力線61をオ
ンにしてストア命令が次に実行される命令を変更
したことを知らせる。 また再び第4図を参照する。IC−PDAR一致検
出論理(IPCD;IC−PDAR Coincidence
Detecting Logic)64はPSC保留条件が成立し
た後のPSCチエツタを行なう。IPCD64におい
て、入力線59および65は変更された命令のう
ち最初に実行される命令に関する変更部分を示す
アドレスとストア・マスクを与え、他の入力線4
3と63は次に実行する命令アドレスと配置(命
令マスク)を与える。従つて、入力線59と43
の比較およびストア・マスクPG〜PJと命令マス
クA〜Fの付合せにより、保留になつていたPSC
条件が真に成立するか否かのテストが行なわれ、
成立する場合は出力線66をオンにする。 第11図はIC−PDAR一致検出論理(IPCD)
64の詳細を示す。第11図において、一致検出
回路119はPDAR出力パス59とICパス43の
ビツト0−28に対して対応するビツトが全て等
しい場合に出力線120をオンにする。従つて出
力線120がオンの時PDAR出力パス59とICパ
ス43のアドレスは8バイト単位で一致している
(両アドレスが同一の8バイト境界内にある)こ
とを表わす。他の一致検出回路121はPDAR出
力パス59とNIC103のビツト0−28に対し
て対応するビツトが全て等しい場合に出力線12
2をオンにする。NIC103はIC43のアドレス
をアドレス増加器NIAI102にて8バイト増加
したアドレスで、ICパス43のアドレスの存在
する8バイトの次の8バイトのアドレスを指定す
る。従つて出力線122がオンの時PDAR出力5
9が示すアドレスはICパス43の示す8バイト
の次の8バイト境界内に存在していることを表わ
す。ANDゲート123〜128はそれぞれAと
PG、BとPH、CとPI、DとPJ、EとPG、Fと
PHのアンド条件が成立すると出力線をオンにす
る回路である。ANDゲート123〜126の出
力線はORゲート129の入力につながり、いず
れかの入力がオンの時ORゲート129の出力線
130をオンにする。ANDゲート127,12
8の出力線はORゲート131の入力につなが
り、いずれかの入力がオンの時ORゲート132
の出力線132をオンにする。ANDゲート13
3は出力線120と130がともにオンの時出力
線134をオンにし、ANDゲート135は出力
線122と132がともにオンの時出力線136
をオンにする。第12図aはANDゲート133
の機能を説明したものである。出力線120がオ
ンの状態はPDAR出力パス59とICパス43が同
一の8バイト境界内に存在することを示し、出力
線130がオンの状態は命令マスクA,B,C,
DとPDARのストアマスクPG,PH,PI,PJの対
応するビツトのアンドがとれた、即ち命令とPSC
保留条件を発生したストア命令がストアしたオペ
ランドがメモリ上でオーバーラツプしていること
を示している。 第12図bはANDゲート135の状態を説明
したものである。出力線122がオンの状態は
PDAR出力パス59が存在する。8バイトがICパ
ス43の存在する8バイトの次であることを示
し、出力線132がオンの状態は8バイト境界を
またいだ命令の後半(命令マスクE,Fのいずれ
か又は両方のビツトがオン)とPDARのストアマ
スクPG,PHの対応するビツトのアンドがとれ
た、即ち命令の後半とPSC保留条件を発生したス
トア命令がストアしたオペランドがメモリ上でオ
ーバーラツプしていることを示している。従つて
ANDゲート133の出力線134又はANDゲー
ト135の出力線136のいずれかがオンの時
ORゲート137の出力線66をオンにして、
PSC保留条件を発生したストア命令が次に実行さ
れる命令を変更していることを知らせる。 第4図において、ANDゲート67はPSC保留
条件を検出するためのもので、ストア・リクエス
ト17がオンの時、CPID論理55の出力線58
がオンで、CNID論理60の出力線61がオフ
(ストア命令が次に実行される命令を変更してい
ない)の時、出力線68をオンにして制御フリツ
プフロツプ(PDARVT;PDAR Valid
Trigger)69をセツトする。PDARVT69は
ANDゲート67の出力線68がオンの時、オン
となり、オフの時、但ちにオフとなる位相調整用
のフリツプフロツプである。従つてPDARVT6
9はPSC保留条件が成立する毎に1サイクルだけ
オンになる。PDARVT69の出力線70は制御
フリツプフロツプPDARV;(PDAR Valid)7
1をセツトし、更に、PDAR52、レジスタ53
に接続されPSC保留条件を成立させたストア・ア
ドレス18とストア・マスクG〜JをPDAR52
とレジスタ53に入力させる。従つてPDAR52
とレジスタ53には先に説明したごとく、常に変
更された命令のうち、最初に実行される命令のア
ドレスとストア・マスクを保持させる。PDARV
71はPSC保留条件を継続的に覚えておく為の状
態フリツプフロツプでIF制御部22の有効性を
表わす制御線アクテイブ29がオンの時に
PDARVT69の出力線70がオンになつた時セ
ツトされ、アクテイブ29がオフになると但ちに
リセツトされてオフとなる。PDARV71の出力
線42はIF制御部22とセレクタ(SEL)56
に与えられる。IF制御部22は第3図で説明し
たごとく、IFリクエストの発行を阻止し、メモ
リから命令バツフアへの命令の先取りを抑止す
る。SEL56においては、CPID論理55の入力
の切替えを行なう。PDARV71の出力線42が
オフの時、線57上にIFアドレス8を選択し、
オンの時アドレス線PDAR59を選択する。
PDARV71の出力線42は更にANDゲート73
に入力される。従つてIPCD論理64の出力線6
6はPDAR52及びストアマスクのレジスタ53
の有効性(PSC保留条件が成立している)を表わ
す制御フリツプフロツプPDARV71がオンの時
のみANDゲート73の出力線74をオンにする
ことができる。ANDゲート75はCNID論理60
の出力線61とストア・リクエスト17のアンド
条件をとる為のゲートである。従つてCNID論理
60の出力線61はストア・リクエスト17がオ
ンの時のみANDゲート75の出力線76をオン
にすることができる。ANDゲート75の出力線
76とANDゲート73の出力線74はORゲート
77の入力となり、いずれか一方がオンの時PSC
発生を示すORゲート77の出力線78をオンに
する。従つてORゲート77の出力線78がオン
となるのは、ストア・リクエストが発行された時
(ストア・リクエスト17がオン)に、該ストア
がストア命令の次の命令を変更した場合(CNID
論理60の出力線61がオン)又はPSC保留条件
が成立している時(PDARV71がオン)に、変
更された命令が次に実行されようとしている場合
(IPCD論理64の出力線66がオン)のいずれか
であり、いずれの場合もPSCを発生する必要があ
る。ORゲート77の出力線78がオンになる
と、PSC状態制御部79を起動し、PSCの処理を
開始する。第13図にPSC状態制御部79の詳細
を第13図に示す。 第13図において、ANDゲート791はPSC
検出信号78がオンでアクテイブ29がオンの時
に開いてフリツプフロツプ792をセツトする。
フリツプフロツプ792はこれによりPSCリセツ
トIU26をオンにし、IF制御部22(第2図、
第3図)に与えて命令バツフアの無効化を行なわ
せる。PSCリセツトIU26はDタイプトリガラ
ブルフリツプフロツプ793のD端子に与えられ
ている。フリツプフロツプ793は位相調整のた
めのもので、T端子へのクロツクが与えられた時
にD端子の状態を取り込む。従つてフリツプフロ
ツプ793はPSCリセツトIU26がオンになる
とセツトされ、これによつてフリツプフロツプ7
92をリセツトすると共に、フリツプフロツプ7
93と同タイプのフリツプフロツプ794をセツ
トする。フリツプフロツプ794はこれにより
PSCスタートIU28をオンにし、IF制御部22
に与えられる。ORゲート795はPSCリセツト
IU26とPSCスタートIU28のORをとり、ホー
ルドICL80をオンにする。 第4図を参照するに、ホールドICL80はICラ
ツチ(ICL)54に与えられている。ホールド
ICL80はICL54の入力禁止信号であり、ICL
54に取り込まれているICパス43の内容を保
持するように指示する。これにより、ICL54は
PSCを発生させる原因となつた命令(ストアによ
つて変更された命令)の命令アドレスを保持する
ことになり、PSCスタートIU28がオンの時、
ANDゲート31C(第2図)を介してIF33と
IC41の初期設定アドレスとして使用される。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロツク図、
第2図は第1図の命令制御ユニツトの詳細を示す
ブロツク図、第3図は第2図の命令読出し制御部
の詳細を示すブロツク図、第4図は第2図のPSC
制御部の詳細を示すブロツク図、第5図は第4図
のストア・マスク発生器を説明するための図、第
6図は第4図の命令マスク発生器を説明するため
の図、第7図は第4図の先取り命令変更検出論理
の詳細を示すブロツク図、第8図は第7図を説明
するための図、第9図は第4図の次命令変更検出
論理の詳細を示すブロツク図、第10図は第9図
を説明するための図、第11図は第4図のIC−
PDAR一致検出論理の詳細を示すブロツク図、第
12図は第11図を説明するための図、第13図
は第4図のPSC状態制御部の詳細を示す図であ
る。 1……命令制御ユニツト(IU)、2……演算ユ
ニツト(EU)、3……記憶制御ユニツト
(SCU)、4……主記憶装置(MS)、22……命
令読出し制御部、23……命令バツフア、25…
…PSC制御部、33……命令読出しアドレス・レ
ジスタ(IF)、41……命令カウンタ(IC)、5
0……ストア・マスク発生器、51……命令マス
ク発生器、52……PSCデステイネーシヨン・ア
ドレス・レジスタ(PDAR)、55……先取り命
令変更検出論理(CPID)、60……次命令変更検
出論理(CNID)、64……IC−PDAR一致検出論
理(IPCD)。

Claims (1)

  1. 【特許請求の範囲】 1 命令の実行に先行して命令をメモリから命令
    バツフアに先取りし、該命令バツフアから命令を
    取出して実行する情報処理装置であつて、 メモリから命令バツフアへ読出すべき命令の読
    出先頭アドレスを示し、上記命令読出先頭アドレ
    スを一定数ずつ増加して上記メモリから命令バツ
    フアへ次々と命令の読出しを行う手段と、 実行すべき命令の実行命令先頭アドレスと命令
    長を示し、命令が実行される毎に上記命令長に従
    つて上記実行命令先頭アドレスを更新する手段
    と、 ストア命令によるストア先頭アドレスとストア
    長を示す手段と、 上記読出先頭アドレス、実行命令先頭アドレ
    ス、命令長、ストア先頭アドレス、およびストア
    長に基づいて、上記命令バツフアに先取りされて
    いる内容が上記メモリ上において変更されたこと
    を検出すると共に、命令の実行が上記変更された
    命令に進んだことを検出する検出手段であつて、 上記ストア先頭アドレスとストア長から上記メ
    モリ上の変更されるバイト位置を示すストアマス
    クを発生する手段と、 上記実行命令先頭アドレスと命令長から上記実
    行命令が存在するバイト位置を示す命令マスクを
    発生する手段と、 上記ストア先頭アドレスとストアマスクを保持
    する保持手段と、 上記読出先頭アドレスと上記保持手段に保持さ
    れているストア先頭アドレスの一方を選択する選
    択手段と、 上記選択手段からのアドレスと実行命令先頭ア
    ドレスとを上記ストア先頭アドレスと比較し、選
    択手段からのアドレスと実行命令アドレスとが示
    す範囲の内容がメモリ上で変更されたことを検出
    し、かつ、この検出を行う毎に上記保持手段にそ
    の時のストア先頭アドレスとストアマスクを保持
    させ、さらに、一度この検出を行つた後は上記選
    択手段に上記保持手段が保持するストア先頭アド
    レスを選択させる第1の検出手段と、および 上記保持手段が保持するストア先頭アドレスお
    よびストアマスクと、上記実行命令先頭アドレス
    および命令マスクとを比較して命令の実行が変更
    された命令に進んだことを検出する第2の検出手
    段と、を含む検出手段と、 上記第1の検出手段の検出に応じてメモリから
    命令バツフアへの先取りを抑止する手段と、およ
    び 上記第1の検出手段による検出後の第2の検出
    手段の検出に応じて、上記命令バツフアの内容を
    無効にする手段と、 を有することを特徴とする情報処理装置。 2 上記検出手段はさらに第3の検出手段を含
    み、該第3の検出手段はストア先頭アドレス、ス
    トアマスク、実行命令先頭アドレスおよび命令マ
    スクに基づいて、上記ストア命令の次の命令がメ
    モリ上において変更されたことを検出し、上記無
    効手段は上記第2の検出手段および第3の検出手
    段に応答することを特徴とする特許請求の範囲第
    1項記載の情報処理装置。
JP56069458A 1981-05-11 1981-05-11 Information processor Granted JPS57185545A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP56069458A JPS57185545A (en) 1981-05-11 1981-05-11 Information processor
EP82302322A EP0066376B1 (en) 1981-05-11 1982-05-06 Data processing system
US06/375,587 US4500959A (en) 1981-05-11 1982-05-06 Apparatus for invalidating the content of an instruction buffer by program store compare check
DE8282302322T DE3277423D1 (en) 1981-05-11 1982-05-06 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56069458A JPS57185545A (en) 1981-05-11 1981-05-11 Information processor

Publications (2)

Publication Number Publication Date
JPS57185545A JPS57185545A (en) 1982-11-15
JPS6125169B2 true JPS6125169B2 (ja) 1986-06-14

Family

ID=13403221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56069458A Granted JPS57185545A (en) 1981-05-11 1981-05-11 Information processor

Country Status (4)

Country Link
US (1) US4500959A (ja)
EP (1) EP0066376B1 (ja)
JP (1) JPS57185545A (ja)
DE (1) DE3277423D1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59231652A (ja) * 1983-06-13 1984-12-26 Hitachi Ltd メモリアクセス・オ−バラツプ検出方式
EP0155275B1 (en) * 1983-09-12 1989-04-05 Motorola, Inc. Prefetch validation
US4710866A (en) * 1983-09-12 1987-12-01 Motorola, Inc. Method and apparatus for validating prefetched instruction
US4757445A (en) * 1983-09-12 1988-07-12 Motorola, Inc. Method and apparatus for validating prefetched instruction
JPH0827718B2 (ja) * 1983-10-05 1996-03-21 株式会社日立製作所 情報処理装置
AU560378B2 (en) * 1983-11-11 1987-04-02 Fijitsu Limited Method of controlling pipeline
JPS6154541A (ja) * 1984-08-24 1986-03-18 Fujitsu Ltd 命令先取り制御方式
US4691277A (en) * 1984-10-24 1987-09-01 International Business Machines Corp. Small instruction cache using branch target table to effect instruction prefetch
JPS6263339A (ja) * 1985-09-13 1987-03-20 Fujitsu Ltd パイプライン制御方式
US4763245A (en) * 1985-10-30 1988-08-09 International Business Machines Corporation Branch prediction mechanism in which a branch history table is updated using an operand sensitive branch table
JPH01205228A (ja) * 1988-02-10 1989-08-17 Hitachi Ltd 命令バツフアシステム
US5210834A (en) * 1988-06-01 1993-05-11 Digital Equipment Corporation High speed transfer of instructions from a master to a slave processor
US4965718A (en) * 1988-09-29 1990-10-23 International Business Machines Corporation Data processing system incorporating a memory resident directive for synchronizing multiple tasks among plurality of processing elements by monitoring alternation of semaphore data
GB8828817D0 (en) * 1988-12-09 1989-01-18 Int Computers Ltd Data processing apparatus
US4985825A (en) * 1989-02-03 1991-01-15 Digital Equipment Corporation System for delaying processing of memory access exceptions until the execution stage of an instruction pipeline of a virtual memory system based digital computer
US5075844A (en) * 1989-05-24 1991-12-24 Tandem Computers Incorporated Paired instruction processor precise exception handling mechanism
JPH03139726A (ja) * 1989-10-26 1991-06-13 Hitachi Ltd 命令読出し制御方式
US5224214A (en) * 1990-04-12 1993-06-29 Digital Equipment Corp. BuIffet for gathering write requests and resolving read conflicts by matching read and write requests
JP2682264B2 (ja) * 1991-05-21 1997-11-26 日本電気株式会社 プログラムカウンタ装置
JP4837247B2 (ja) * 2003-09-24 2011-12-14 パナソニック株式会社 プロセッサ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS522139A (en) * 1975-06-24 1977-01-08 Hitachi Ltd Information processing apparatus
JPS5482140A (en) * 1977-12-14 1979-06-30 Hitachi Ltd Information processor

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4040031A (en) * 1973-04-13 1977-08-02 Compagnie Honeywell Bull (Societe Anonyme) Computer instruction control apparatus and method
FR2226079A5 (ja) * 1973-04-13 1974-11-08 Honeywell Bull Soc Ind
US4050058A (en) * 1973-12-26 1977-09-20 Xerox Corporation Microprocessor with parallel operation
US4042912A (en) * 1975-06-19 1977-08-16 Honeywell Information Systems Inc. Database set condition test instruction
US4044334A (en) * 1975-06-19 1977-08-23 Honeywell Information Systems, Inc. Database instruction unload
US4179737A (en) * 1977-12-23 1979-12-18 Burroughs Corporation Means and methods for providing greater speed and flexibility of microinstruction sequencing
US4245302A (en) * 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
US4298927A (en) * 1978-10-23 1981-11-03 International Business Machines Corporation Computer instruction prefetch circuit
US4371924A (en) * 1979-11-09 1983-02-01 Rockwell International Corp. Computer system apparatus for prefetching data requested by a peripheral device from memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS522139A (en) * 1975-06-24 1977-01-08 Hitachi Ltd Information processing apparatus
JPS5482140A (en) * 1977-12-14 1979-06-30 Hitachi Ltd Information processor

Also Published As

Publication number Publication date
EP0066376A2 (en) 1982-12-08
EP0066376B1 (en) 1987-09-30
DE3277423D1 (en) 1987-11-05
EP0066376A3 (en) 1983-08-10
US4500959A (en) 1985-02-19
JPS57185545A (en) 1982-11-15

Similar Documents

Publication Publication Date Title
JPS6125169B2 (ja)
US4827402A (en) Branch advanced control apparatus for advanced control of a branch instruction in a data processing system
EP0628184B1 (en) Cpu having pipelined instruction unit and effective address calculation unit with retained virtual address capability
US6055625A (en) Pipeline computer with a scoreboard control circuit to prevent interference between registers
JPH0429093B2 (ja)
JPH03129441A (ja) 分岐命令実行装置
JPH0630075B2 (ja) キャッシュメモリを有するデータ処理装置
JP3486690B2 (ja) パイプライン方式プロセッサ
US6449713B1 (en) Implementation of a conditional move instruction in an out-of-order processor
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
US5381532A (en) Microprocessor having branch aligner between branch buffer and instruction decoder unit for enhancing initiation of data processing after execution of conditional branch instruction
JPH06161779A (ja) データ処理装置の割込み制御方式
JPH02214937A (ja) データ処理装置
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPH05241827A (ja) 命令バッファ制御装置
JP3145545B2 (ja) メモリアクセス装置
JP3493110B2 (ja) 高速分岐処理装置
JP3476314B2 (ja) マイクロプロセッサ
JP2902847B2 (ja) 自己変更コード実行方式
JPH0795288B2 (ja) マイクロコンピュータ
JPH09274612A (ja) ベクトル処理装置
JPS626328A (ja) 情報処理装置
JPS6027418B2 (ja) 命令先取り制御装置
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH07191879A (ja) デバッグ用命令の実行機能を有するマイクロプロセッサおよびデバッグ方法