JPH02300852A - 命令実行のシリアライズ制御方式 - Google Patents

命令実行のシリアライズ制御方式

Info

Publication number
JPH02300852A
JPH02300852A JP1121277A JP12127789A JPH02300852A JP H02300852 A JPH02300852 A JP H02300852A JP 1121277 A JP1121277 A JP 1121277A JP 12127789 A JP12127789 A JP 12127789A JP H02300852 A JPH02300852 A JP H02300852A
Authority
JP
Japan
Prior art keywords
instruction
unit
signal
access
vector
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
JP1121277A
Other languages
English (en)
Other versions
JP2677414B2 (ja
Inventor
Kenichi Sakai
坂井 賢一
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1121277A priority Critical patent/JP2677414B2/ja
Priority to CA002016532A priority patent/CA2016532C/en
Priority to EP90305212A priority patent/EP0398639B1/en
Priority to US07/523,567 priority patent/US5247691A/en
Priority to DE69028572T priority patent/DE69028572T2/de
Publication of JPH02300852A publication Critical patent/JPH02300852A/ja
Application granted granted Critical
Publication of JP2677414B2 publication Critical patent/JP2677414B2/ja
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 or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 スカラユニットとベクトルユニットとを備える情報処理
システムにおける命令実行のシリアライズ制御方式に関
し、 POST命令/WA I T命令を用いたシリアライズ
制御において、インタロックされているスカラ命令の実
行開始を早めることを目的とし、スカラユニットは、P
OST命令の実行時に、先行する主記憶アクセスの未終
了を表すアクセス未終了信号を強制的に発生するととも
に、この強制信号をベクトルユニットから送られてくる
アクセス未終了信号に継続させていくよう処理する手段
と、WA■T命令の実行時に、この手段がアクセス未終
了信号の存在状態を表示しているときには、後続する主
記憶アクセスに対してのインタロツタ信号を発生すると
ともに、消滅状態を表示しているときには発生しないよ
う処理するインタロック信号発生手段とを備え、ベクト
ルユニットは、スカラユニットから送られてくるPOS
T命令が発信するまでの間、アクセス未終了信号を強制
的にスカラユニソトに送出するとともに、この強制信号
を本来のアクセス未終了信号に継続させていくよう処理
する手段を備えるよう構成する。
〔産業上の利用分野〕
本発明は、スカラユニノトとスカラユニソトから送られ
るベクトル命令を処理するベクトルユニットとを備えた
科学技術用計算機等の情報処理システムにおける命令実
行のシリアライズ制御方式%式% このような科学技術用計算機システムでは、スカラ命令
とベクトル命令、あるいはベクトル命令とベクトル命令
間で命令の先行制御や並列実行が行われることがあるた
め、主記憶参照順序が保証されないことがある。これか
ら、主記憶参照順序を保証するためにはベクトルオペレ
ーションのシリアライズを行う必要がある。
ベクトルオペレーションのシリアライズとは、それ以前
に実行中である命令が生じる主記憶オペランドアクセス
をそれよりも後に実行すべき命令の主記憶オペランドア
クセスが生じる前に終了させることである。このベクト
ルオペレーションのシリアライズは、ベクトル命令同士
及びベクトル命令とスカラ命令の主記憶オペランドアク
セス間において意味をもち、スカシ命令間ではもともと
順序関係が保証されているため意味をもたない。
近年の科学技術用計算機システムにおける高速化要求に
応えるため、本発明はベクトルオペレーションのシリア
ライズに伴うオーバーヘッドの削減を図ることを意図し
ている。
〔従来の技術〕
第10閣に、本発明が適用される従来の科学技術用計算
機システムの構成例を示す。図中、1はスカラユニット
、2はベクトルユニット、3はベクトル実行部、4及び
5は乗算・加算パイプライン、6は除算パイプライン、
7はベクトルレジスタ、8及び9はロー ド・ストアバ
イブライン、10は主記憶装置、11はへり(・ル制御
部、12はベクトル命令管理部、13はベクトル記憶管
理部、14は記憶制御部である。
スカラユニット1はプログラム中の命令を順次フエンチ
し、スカラ命令については自分自身で実行し、ベクトル
命令についてはベクトルユニット2へ送って実行させる
。ベクトルユニット2のベクトル制御部11において、
ベクトル命令管理部12はスカラユニット1から送られ
てきたベクトル命令を受は取り、実行を管理する。ベク
トルI。
OAD命令、ベクトル5TORE命令の場合は、ベクト
ル記憶管理部13が起動され、記憶制御部14を介して
主記憶装置10へのアクセスが行われる。主記憶装置1
0からヘク[・ルレジスタ7へのベクトルデータのLO
AD処理、およびベク[・ルレジスタ7から主記憶装置
10へのベクトルデータの5TORE処理は、ロード・
ストアパイプライン8,9を用いて行われる。一方、ス
カラユニソト1から主記憶装置10へのアクセスは、ベ
クトルユニット2内の記憶制御部14を介して行われる
スカシユニット1とベクトルユニット2とは、可能な限
り並列に動作することがシステムの処理性能を高めるう
えで望ましい。しかし、プログラム中のベクトル命令あ
るいはスカシ命令が、先行するベクトル命令あるいはス
カシ命令の実行結果のデータを主記憶オペランドとして
使用する場合、それらの命令間での実行順序を保証する
ことが必要となる。この制御″Bが、ベクトルオペレー
ションのシリアライズ制御である。
従来のシステムにおいて、ベクトルオペレーションのシ
リアライズ制御を、POSTO3上びWACT命令を利
用して行う方法がある。この方法は、POSTO3上り
前に実行されるべき命令の主記憶オペランドの参照が、
WAIT命令より後で実行されるべき命令の主記憶オペ
ランドの参照よりも早く行われるように制御するもので
ある。
このため、PO5T命令とWAIT命令にはさまれた命
令の主記憶オペランドは、ベクトルオペレーションのシ
リアライズの対象から除外されることになる。
従来、ベクトル命令とスカシ命令の各組み合わせでのシ
リアライズの保証は、次のように行われている。
+11  ベクトル命令−ベクトル命令間のシリアライ
ズ (a) P OS T命令に先行するベクトルLOAD
命令の保証 一ブライオリティがとれるまで。
(bl P OS T命令に先行するベクトル5TOP
E命令の保証 一ブライオリティがとれるまで。
(2)  スカシ命令−ベクトル命令間のシリアライズ (al P OS T命令に先行するスカシLOAD命
令の保証 −もともと保証されている。
(bl P OS T命令に先行するスカシ5TORE
命令の保証 一ブライオリティがとれるまで。
(3)  ベクトル命令−スカシ命令間のシリアライ(
al P OS T命令に先行するヘクトルLOAD命
令の保証 一プライオリティがとれるまで。
(b) P OS T命令に先行するベクトル5TOR
E命令の保証 一スカラユニット1へのバッファ・ インバリデーシランが全てスカシ ユニット1に反映されるまで。
ここで、上記(3)の(b)は、POSTO3上先行す
るベクトル5TORE命令によって主記憶装置10にデ
ータを書き込んだ場合、スカシユニット1内のバッファ
 (キャッシュと称されている)に該当するアドレスの
旧データがあれば、それらを全て無効化するバッファ無
効化(インバリデーション)処理を行い、これが終了す
るまでは、WA[T命令の後の主記憶参照を伴うスカシ
命令を実行させないことを意味している。
次に、第11図及び第12図を使い、上記(3)の由)
に関しての従来のシリアライズ制御方式による命令シー
ケンスの処理について具体的に説明する。
第11図は、POSTO3上WA I T命令とを用い
てシリアライズ制御を行う命令シーケンスの例を示した
もので、VSTはベクトル5TORE命令、LDはスカ
シLOAD命令を表している。
この図の例では、POSTの前にある■のVSTが実行
完了するまでは、WA r To)後にある■のLDは
実行されず、これらVSTとLDとの間の主記憶参照順
序は保証される。一方、POSTとWAITの間にある
■ないし■のVSTについては、シリアライズ制御は行
われずに主記憶の参照順序は保証されないことになる。
第12図は、この第11図に示されている命令シーケン
スの処理フローを示したものである。この例では、第1
θ図のベクトルユニット2のヘクトル命令管理部12に
より、第11図中の■ないし■のベクトル命令VSTは
、2本のパイプラインを用いてこの第12図に示すよう
に順次2命令ずつ並列実行されることになる。
この第12図に示すように、従来のシリアライ文制御方
式では、ベクトル命令管理部12は、■のVSTの実行
が完了するまでの間、スカシユニット1に対して、PO
ST命令に先行する命令が未完了であることを示ずPO
ST  PENDINGを出力し、■のVSTの実行が
完了すると、このPOST  PENDINGをOFF
にする。ベクトル命令管理部12は、続いて、■のVS
Tまでの各ベクトル命令を発信した後にWAIT命令を
発信し、スカシユニットlに対して、WAIT命令の発
信を示すインタロック解除可能信号であるWAIT  
ACKを返す。そして、スカシユニット1は、ベクトル
ユニット2からのWAIT−ACKを検出すると、PO
ST  PENDINGがOFFであることを確認して
、続く■のスカシL OA D命令LDを発信する。
このように、従来のベクトル命令−スカシ命令のシリア
ライズでは、POST命令に先行する主記憶アクセス処
理の継続の認識と、WA I T命令開始の認識が、そ
れぞれベクトルユニット2内で、POST命令、WAI
T命令が発信されたタイミングで行われるよう構成され
ていたのである。
〔発明が解決しようとする課題〕
しかしながら、このような従来のベクトル命令−スカシ
命令のシリアライズでは、スカラユニソトlでは、ベク
トルユニット2から送られてくるPOST  PEND
INGがOFFになっても、更にベクトルユニット2か
らWAIT  ACKが送られて(るまでは、後続命令
を発信することができなかった。すなわち、POST命
令に先行する主記憶アクセス処理が終了しているにもか
かわらず、ベクトルユニット 信しないために、スカシユニット1側では、後続命令を
発信することができなかったのである.このため、スカ
シユニット1の後続命令が待たされる場合があり、シリ
アライズ処理によるオーバヘッドが増大するという問題
点があった。
本発明はかかる事情に鑑みてなされたものであって、P
OST命令/WAIT命令を用いたベクトル命令からス
カシ命令へのシリアライズにおいて、スカシユニット1
においてインタロックされているスカシ命令の実行開始
を早めて、ベクトル命令とスカシ命令の並列実行の0T
能性を高めるようにすることを目的とするものである。
〔課題を解決するための手段〕
第1図は本発明の原理構成図である。
図中、第10図で説明したものと同じものについては、
同一の記号で示しである.100はスカシ命令管理部で
あって、スカシ命令の実行を管理するもの、101はP
OST命令検出部であって、POST命令の実行開始を
検出するもの、102はWAIT命令検出部であって、
WAIT命令の実行開始を検出するもの、103はアク
セス未終了信号発生部であって、POST命令検出部1
01によりPOST命令が検出されるときに、そのPO
ST命令に先行する主記憶アクセスが未だ終了していな
いことを表すアクセス未終了信号を強制的に発生するも
の、104はインタロック信号発生部であって、WAI
T命令検出部102によりWAIT命令が検出されると
きに、アクセス未終了信号発生部103からのアクセス
未終了信号の出力状態に従って、そのWAIT命令に後
続する主記憶アクセスをインタロックするためのインタ
ロック信号を発生するもの、105はスカシ実行部であ
って、スカシ命令を実行するもの、106は後続命令イ
ンタロック部であって、インタロック信号発生部104
からのインタロック信号に応じて、WAIT命令に後続
する主記憶アクセスをインタロックするもの、200は
アクセス未終了信号送出部であって、スカシユニット1
からPOST命令が送られてくるときに、そのPOST
命令に先行する主記憶アクセスが未だ終了していないこ
とを表すアクセス未終了信号をスカシユニット1に対し
て送出するもの、201はシリアライズ制御部であって
、シリアライズ処理の制御を実行するものである。
〔作用〕
本発明では、スカシユニット1のアクセス未終子信号発
生部103は、スカシユニット1内でPOST命令の実
行が開始されると、ベク[・ルユニット2とは関係なく
直ちにインタロック信号発生部104に対してアクセス
未終了信号のラッチ出力を出力する。そして、スカラユ
ニット1は、このPOST命令をベクトルユニット2の
ベクトル命令管理部12に渡すよう処理する。ベクトル
命令管理部12のアクセス未終了信号送出部200は、
このPOST命令を受は取ると、直ちにスカラユニノ)
・1のアクセス未終了信号発生部103及びインタロッ
ク信号発生部104に対してアクセス未終了信号を送出
するよう処理する。そして、シリアライズ制?1部20
1は、受は取ったPO8T命令の発信に応じて記憶II
 in部14に対してシリアライズ処理を起動する。
このようにしてシリアライズ処理に入ると、シリアライ
ズ制御部201は、記憶制御部14からの情報に従って
、受は取ったPOST命令に先行する主記憶アクセスが
終了していない間、アクセス未終了信号送出部200に
対してアクセス未終了信号を出力する。この出力処理に
より、アクセス未終了信号送出部200は、POST命
令がベクトルユニット2に渡されたときからそのPO8
T命令に先行する主記憶アクセスが終了するまでの間、
アクセス未終了信号発生部103及びインタロック信号
発生部104に対してアクセス未終了信号を送出するこ
とになる。
一方、スカラユニット1のインタロック信号発生部10
4は、スカシユニット1内でWA I T命令の実行が
開始されるときにおいて、アクセス未終了信号発生部1
03からアクセス未終了信号が出力されているときには
、後続命令インタロック部106に対してインタロック
信号を出力するよう処理するとともに、アクセス未終了
信号が出力されていないときには、インタロック信号を
出力しないよう処理する。このインタロック信号に従っ
て、後続命令インタロック部106は、WAXT命令に
後続する主記憶アクセスの実行をインタロックすること
になる。このスカラユニットlの処理時にあって、アク
セス未終了信号送出部20Oからのアクセス未終了信号
が消滅するとき、すなわち、POST命令に先行する主
記憶アクセスが終了するときには、アクセス未終了信号
発生部103はそのアクセス未終了信号のラッチ出力を
リセットするとともに、インタロック信号発生部104
は、出力しているインタロック信号をリセットするよう
処理する。
このように動作することから、本発明では、スカラユニ
ット1でのWAIT命令の実行開始時に、既にPOST
命令に先行する主記憶アクセスが終了しているときには
、アクセス未終了信号発生部103のアクセス未終了信
号は既にリセットされているので、インタロック信号発
生部104がインタロック信号を出力することはなく、
従ってスカラ実行部105は直ちにWAIT命令に後続
する主記憶アクセスの実行に入れることになる。そして
、WAIT命令の実行開始時に、POST命令に先行す
る主記憶アクセスが終了していないがためにインタロッ
ク信号発生部104がインタロック信号を出力するとき
にあっては、主記憶アクセスの終了と同時にインタロッ
ク信号発生部104はそのインタロツタ信号をリセット
するので、スカラ實行部105は、POST命令に先行
する主記憶アクセスの終了と同時にWA I T命令に
後続する主記憶アクセスの実行に入れることになる。
このように、従来はベクトルユニット2におけるWへI
T命令の発信時に応じてWAIT命令に後続する主記憶
アクセスの実行に入るようにしていたのに対して、本発
明では、スカラユニット1におけるWA I T命令の
実行時に、POST命令に先行する主記憶アクセスが終
了しているのか否かを判断するよう構成して、終了して
いると判断するときには直ちにWAIT命令に後続する
主記憶アクセスの実行に入るように構成したことから、
シリアライズ処理のオーバヘッドがなくなるとともに、
POST命令とWAIT命令との間に沢山のベクトル命
令を挿入することで、ベクトル命令とスカラ命令の並列
実行による性能向上が期待できるようになるのである。
〔実施例〕
以下、実施例に従って本発明の詳細な説明する。
第2図に、本発明の一実施例システムの構成を示す0図
中、1はスカラユニット(SUと称することがある)、
2はベクトルユニット(VUと称することがある)、1
2はベクトル命令管理部(viと称することがある)、
14は記憶制御部(MCUと称することがある)であり
、第1図に示されるものと同じものである。そして、ス
カシユニット1内のBufferは、主記憶アクセスデ
ータのバッファであり、P OS T  P endi
ng、、W AI Tper+dingは、それぞれラ
ンチである。また、記憶制御部14内のBIASは、ベ
クトル5TORE命令が更新した主記憶アドレスをパフ
ファインバリデーシランのために保持しておくスタック
であり、このアドレスは後にスカシユニット1内のBu
fferに反映され、該当するアドレスのデータが無効
化される。
次に、第2図のブロック間に矢印で示される信号■ない
し■について説明する。
■ニジリアライズ起動信号(Vi→M C[J )−P
OST命令に先行するずべての5TORE命令が、すべ
てBrASに入ったことが保証できるタイミングでVi
からMCUに送る。
■:BIAS  PENDING信号(MCU−4Vi
)−シリアライズ起動信号によりシリアライズが起動さ
れてから、BIASが空になるまでONとなる。
■:POST  PENDING信号(Vi−4SU)
−3UからPOST命令を受は取るとONになる。その
後、POST命令が発信されることでシリアライズ処理
が開始され、POST命令に先行するすべての5TOR
E命令によるBIASが空になり、かつ、POST命令
に先行するすべてのLOAD命令のプライオリティがと
れるとOFFになる。
■ニジリアライズ終了信号(MCU→5U)−BIAS
が空になったところで、M CIJからS tJに送る
。SUでは、この信号によリバッファインバリデーシッ
ンBlを行い、その期間、主記憶アクセススカラ命令を
インタロックする。
第1図でも説明したように、本発明では、スカラユニッ
ト1でのWAIT命令の実行開始時に、POST命令に
先行する主記憶アクセスが終了したのか否かを判断して
、WAIT命令に後続する主記憶アクセスのインタロッ
クを決定するよう構成するものである。この構成にあっ
て、スカシユニット1側でPOST命令に先行する主記
憶アクセスが終了したのか否かを正確に判断できるよう
にするために、スカシユニット1内でPOST命令の実
行開始時にPOST  PENDING信号を強制的に
発生させるどともに、この強制的に発生させたPOST
  PENDING信号をベクトルユニット2から送ら
れてくるPOST  PENDING信号に継続させて
いくよう構成するものである。
第3図に、スカシユニット1内で実行されるこのPOS
T  PENDING信号の生成のための回路構成の一
実施例を示す0図中、30はAND回路であって、PO
ST命令の実行が開始されるときに出力信号を出力する
もの、31は第2図のp Q 3 TPendingに
相当するセット・リセットラッチであって、AND回路
30から出力信号が出力されるときにセントされてPO
ST  PENDING信号を出力するもの、32は所
定の数(バイブラインのステージ数+遅延するマシンサ
イクル数)に従って設けられるフリップフロップであっ
て、AND回路30の出力信号を)1@次遅延していく
もの、33はバイブラインのステージ数に対応させて設
けられるAND回路であって、対応するフリップフロッ
プ32の出力と各ステージにおけるPOST命令の存在
を表示するバリッドとの論理積をとるもの、34はNO
R回路であって、AND回路33とバイブラインに対応
されないフリップフロップ32とベクトルユニット2か
らのPOST  PENDING信号とがすべてOFF
になるときに、セット・リセットラッチ31に対してR
ESET  Po5T  PENDING信号を送出す
ることでセ−/ (・リセットラッチ31が出力するP
o5T  PENDING信号をリセットするものであ
る。
本発明では、このセット・リセットラッチ31が出力す
るPo3T  PENDING信号で、WAIT命令に
後続する主記憶アクセスのインタロックのためのインタ
ロック信号を生成するよう構成するものである。
第4図に、スカラユニソト1内で実行されるこのインタ
ロック信号の生成のための回路構成の一実施例を示す0
図中、40はAND回路であって、セット・リセットラ
ッチ31からのPo5T  PENDING信号がON
で1.かつWAIT命令の実行が開始されるときに出力
信号を出力するもの、41は第2図のWA I T  
Pendingに相当するセット・リセットラッチであ
って、AND回路40から出力信号が出力されるときに
セットされてWAIT  PENDING信号を出力す
るもの、42はAND回路であって、セット・リセット
ラッチ41からのWAIT  PENDING信号がO
Nで、かつWAIT命令に後続する主記憶のアクセス命
令の実行開始要求があるときにINTERLOCK信号
を発生するもの、43はAND回路であって、セノb・
・リセットラッチ41からのWAIT  PENDIN
G信号がONで、かつセット・リセットラッチ31から
のPo3T  PENDING信号がOFFになるとき
に、セット・リセットラッチ41に対してリセット信号
を送出することでセット・リセットラッチ41が出力す
るWAIT  PENDING信号をリセットするもの
である。
次に、第5図及び第6図に従って、ベクトルユニット2
で実行されるPo3T  PENDING信号の生成の
ための回路構成の一実施例について説明する。ベクトル
ユニット2のベクトル命令管理部12は、第5図に示す
ように、V F Sで示す命令フェッチステージと、■
PSで示す命令デコードステージと、VQSで示す命令
発信ステージというステージに従って、スカラユニット
1がら受は取るベクトル命令の発イεを管理するよう構
成され、命令フェッチステ・−ジと命令デコードステー
ジとの間のデータの授受のために、VFRで示される命
令フェッチのバッファが設けられるとともに、命令デコ
ードステージと命令発信ステージとの間のデータの授受
のために、VQBで示される命令発信ステージのバッフ
ァが設けられるよう構成される。図中の“V”は、その
ステージが有効であることを表示するバリッドのフラグ
であり、また、“P′は、そのステージにPo3T命令
が存在することを表示するフラグである。
第6図に、ベクトルユニット2が備えるPo5T  P
ENDING信号の生成のための回路構成の一実施例を
示す0図中、60は第5図の各ステージ(バッファ)対
応で設けられるAND回路であって、各ステージが有効
でかつ各ステージにPo3T命令が存在しているときに
出力信号を出力するもの、201は第1図で説明したシ
リアライズ制御部であって、図示しない命令発信制御部
からのPo5T命令の発信信号に従って記憶制御部14
にシリアライズ起動信号を送出するとともに、記憶制御
部14から送られてくるBIAS  PEND ING
信号に従って、Po5T命令に先行する主記憶アクセス
が終了していないことを表すPo3T  PENDIN
G信号(この信号が本来のPo3T  PENDING
信号である)を送出するもの、61はOR回路であって
、AND回路60からの出力信号とシリアライズ制御部
201からのPo3T  PENDING信号との間の
論理和出力を出力するものである。このOR回路61の
論理和出力が、スカラユニノト1に送られるPo3T 
 PENDING信号となるもので、AND回路60の
いずれか1つから出力信号が出力されているとき、すな
わち、発信される前のPo3T命令があるときと、シリ
アライズ141m部201からのPo3T  PEND
ING信号がONt、でいるときには、OR回路61か
らPo3T  PENDINC;信号がスカラユニソト
1に対して送出されることになる。
次に、第7図ないし第9図に示す処理フロー図に従って
、このように構成される本発明の動作処理について説明
する。ここで、これらの第7図、第8図、第9図におい
て、中央に示す一点鎖線を境にして上段はスカラユニッ
ト1の制御シーケシス、下段はベクトルユニット2の?
1ill?[lシーケンスを表している。図中に示すよ
・うに、スカラユニット1のバイブラインでは、POS
TO3中WAIT命令等のベクトル命令は4フローを使
用して処理されることになる。また、フロー中のり、A
、T。
B、B、Wは、パイプラインのステージを表し、Dはデ
コード、Aはオペランドアドレスの生成、Tはアドレス
変換、Bはオペランドのバッファアクセス、Eは演算、
Wは結果の書き込みである。
最初に、第7図の処理フロー図に従って、スカラユニッ
ト1及びベクトルユニット2で実行されるPOST  
PENDING信号の生成処理について説明する。
スカラユニットエのAND回路30は、PO8T命令の
第4フロー中のAステージのAリリース信号Arelの
タイミングで出力信号を出力することで、セント・リセ
ットラッチ31からP OST  PENDING信号
が出力されることになるよう処理する。このようにして
、ヘクトルユニノト2とは関係なく強制的に出力される
POST−PENDING信号は、フリップフロップ3
2の遅延動作とNOR回路34のNOR機能に従って、
図中の■に示すように、第4フローのWステージが終了
してからも3マシンザイクル後までの間リセットされる
ことなく出力されることが保証されることになる。一方
、POSTO3中、図中のIV(インストラフシラン・
バリッド)とDV(データ・バリッド)のタイミングに
従ってスカラユニント1からベクトルユニット2にと渡
される。
このようにしてPOSTO3中ベクトル命令管理部12
の命令フェッチステージVFSに入力すると、OR回路
61は、AND回i¥360からの出力信号を受けて、
図中の■に示すように、POSTO3中発信前からスカ
ラユニット1のNOR回路34に対してPOST  P
ENDING信号を強制的に送出するよう処理する。そ
して、OR回路61は、POSTO3中発信後にはシリ
アライズ制御部201からのPOST  PIENDI
NG信号に従って、スカラユニットIのNOR回路34
に対してPOST  PENDING信号を送出し続け
るよう処理することになる。、このOR回路61からの
POST  PENDING信号の送出処理を受けて、
スカラユニット1のNOR回路34は、シリアライズ制
御部201からPO8T  PENDING信号が出力
されなくなるまで、セント・リセットラッチ31に対し
てRBSET  POST  PENDING信号を出
力しないよう処理する。この処理に従って、図中の■に
示すように、スカラユニット1のセント・リセットラッ
チ31は、POSTO3中先行する主記憶アクセスが終
了するまでの間、■のPOST  PENDINGに続
けて途切れることなく POST−PENDING信号
を出力していくことになる。
次に、第8図及び第9図の処理フロー図に従って、WA
IT命令に後続する主記憶参照のスカラ命令のインタロ
ック処理について説明する。
スカラユニットlのAND回路4oは、WAIT命令の
第4フロー中のAステージのAリリース信号Are+の
タイミングで論理積を求めて出力する。このとき、セン
ト・リセットラッチ31がらPOST  PEND I
NG(3号が出力されているとき、すなわち、未だPO
STO3中先行する主記憶アクセスが終了していないと
きには、AND回路40は、第8図中の■に示すように
、セット・’)セットラyチ41がらWAIT  PE
NDING信号が出力されることになるよう出力する。
そして、AND回路42は、この出力されるWAIT 
 PENDING信号に従って、主記憶参照のスカラ命
令をインタロックするよう処理する。
、二のインタロック処理は、ベクトルユニット2がら(
DPO8T  PENDXNG信号がOFFになる時点
に同期して、セット・リセットラッチ31のPOST 
 PENr)ING信号がOFFになることでAND回
路43に従って解除され、それに応じてWAIT命令に
後続する主記憶アクセスの実行が許可されるよう処理さ
れる。
一方、AND回路40がAリリース信号Arelのタイ
ミングで論理積を求めて出力するとき、セント・リセッ
トラッチ31からPOST  PENDING信号が出
力されていないとき、すなわち、既にPOST命令に先
行する主記憶アクセスが終了しているときには、AND
回路40は、第9図中の■に示すように、WAIT  
PENDING信号を出力しないよう処理する。この処
理に従って、AND回路42からINTERLOCK信
号が出力されることはないので、スカラユニット1ばW
A I T命令に後続する主記憶アクセスを直ちに実行
できることになる。従って、ベクトルユニット2でのW
AIT命令の発信までの間待たされることがなくなり、
シリアライズ制御に伴うオーバーヘッドの問題点を大き
く改善できるようになるのであるや 〔発明の効果〕 以北説明したように、本発明によれば、スカラユニット
lは、WAIT命令による後続の主記憶参照スカラ命令
のインタロックをベクトルユニット2におけるWAIT
命令の発イsを待たずに解除可能となることから、その
後続スカラ命令の実行を早めることができることになる
。しがも、P。
ST命令とWAIT命令との間にベクトル命令が沢山設
けられるような場合には、ベクトル命令とスカラ命令と
の並列実行による処理性能の向上を図れるようになるの
である。
【図面の簡単な説明】
第1図は本発明の原理構成図、 第2図は本発明の一実施例システムの構成図、第3図は
スカラユニットでのPOST  PEN1)rNG信号
の生成論理の一実施例、第4図はスカラユニットでのI
NTERLOCK信号の生成論理の一実施例、 第5図はベクトル命令管理部のステージの説明図、 第6図はベクトルユニットでのPOST−PENDIN
G信号の生成論理の一実施例、第7図、第8図及び第9
図は本発明によるシリアライズ制御の処理フロー図、 第10図は従来の科学技術用計算機システムの構成図、 第11図ばPOST/WA I Tを用いてシリアライ
ズを行った命令シーケンス例の説明図、第12図は従来
のシリアライズ制′4n方式の処理フロー図である。 図中、1はスカラユニッI・、2はベクトルユニット、
10は主記憶装置、12はベクトル命令管理部、14は
記憶制御部、100はスカラ命令管理部、103はアク
セス未終了信号発生部、104はインタロック信号発生
部、200はアクセス未終了信号送出部、201はシリ
アライズ制御部である。

Claims (1)

  1. 【特許請求の範囲】 スカラ命令を処理するスカラユニット(1)と、該スカ
    ラユニット(1)から送られるベクトル命令を処理する
    ベクトルユニット(2)と、主記憶装置とを備え、PO
    ST命令とWAIT命令によりシリアライズ制御を行う
    情報処理システムにおいて、スカラユニット(1)は、
    POST命令の実行時に、該POST命令に先行する主
    記憶アクセスが未だ終了していないことを表すアクセス
    未終了信号を強制的に発生するとともに、該強制信号を
    ベクトルユニット(2)から送られてくるアクセス未終
    了信号に継続させていくよう処理するアクセス未終了信
    号発生部(103)と、 WAIT命令の実行時に、該アクセス未終了信号発生部
    (103)がアクセス未終了信号の存在状態を表示して
    いるときには、該WAIT命令に後続する主記憶アクセ
    スをインタロックするためのインタロック信号を発生す
    るとともに、アクセス未終了信号の消滅状態を表示して
    いるときには、該インタロック信号を発生しないよう処
    理し、かつ発生させたインタロック信号をベクトルユニ
    ット(2)から送られてくるアクセス未終了信号の消滅
    時に同期させて解除するよう処理するインタロック信号
    発生部(104)とを備え、 そして、ベクトルユニット(2)は、スカラユニット(
    1)からPOST命令が送られてくるときに、該POS
    T命令が発信するまでの間、該POST命令に先行する
    主記憶アクセスが未だ終了していないことを表すアクセ
    ス未終了信号を強制的にスカラユニット(1)に対して
    送出するとともに、該強制信号を該POST命令の発信
    に伴って発生される本来のアクセス未終了信号に継続さ
    せていくよう処理するアクセス未終了信号送出部(20
    0)を備えることを、 特徴とする命令実行のシリアライズ制御方式。
JP1121277A 1989-05-15 1989-05-15 命令実行のシリアライズ制御方式 Expired - Lifetime JP2677414B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP1121277A JP2677414B2 (ja) 1989-05-15 1989-05-15 命令実行のシリアライズ制御方式
CA002016532A CA2016532C (en) 1989-05-15 1990-05-10 Serializing system between vector instruction and scalar instruction in data processing system
EP90305212A EP0398639B1 (en) 1989-05-15 1990-05-15 Serializing system between vector instruction and scalar instruction in data processing system
US07/523,567 US5247691A (en) 1989-05-15 1990-05-15 System for releasing suspended execution of scalar instructions following a wait instruction immediately upon change of vector post pending signal
DE69028572T DE69028572T2 (de) 1989-05-15 1990-05-15 Serieller Betrieb zwischen Vektorbefehl und Skalarbefehl in einem Datenverarbeitungssystem

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1121277A JP2677414B2 (ja) 1989-05-15 1989-05-15 命令実行のシリアライズ制御方式

Publications (2)

Publication Number Publication Date
JPH02300852A true JPH02300852A (ja) 1990-12-13
JP2677414B2 JP2677414B2 (ja) 1997-11-17

Family

ID=14807272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1121277A Expired - Lifetime JP2677414B2 (ja) 1989-05-15 1989-05-15 命令実行のシリアライズ制御方式

Country Status (5)

Country Link
US (1) US5247691A (ja)
EP (1) EP0398639B1 (ja)
JP (1) JP2677414B2 (ja)
CA (1) CA2016532C (ja)
DE (1) DE69028572T2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530881A (en) * 1991-06-06 1996-06-25 Hitachi, Ltd. Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
US5809552A (en) * 1992-01-29 1998-09-15 Fujitsu Limited Data processing system, memory access device and method including selecting the number of pipeline stages based on pipeline conditions
US5872988A (en) * 1992-06-17 1999-02-16 U.S. Philips Corporation Parallel data processing device having a concatenated data path between elementary processors
JPH06168263A (ja) * 1992-11-30 1994-06-14 Fujitsu Ltd ベクトル処理装置
US6625720B1 (en) * 1999-08-17 2003-09-23 Nec Electronics, Inc. System for posting vector synchronization instructions to vector instruction queue to separate vector instructions from different application programs
US6513107B1 (en) * 1999-08-17 2003-01-28 Nec Electronics, Inc. Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US20030196072A1 (en) * 2002-04-11 2003-10-16 Chinnakonda Murali S. Digital signal processor architecture for high computation speed
US7577816B2 (en) * 2003-08-18 2009-08-18 Cray Inc. Remote translation mechanism for a multinode system
US7421565B1 (en) * 2003-08-18 2008-09-02 Cray Inc. Method and apparatus for indirectly addressed vector load-add -store across multi-processors
US8307194B1 (en) 2003-08-18 2012-11-06 Cray Inc. Relaxed memory consistency model
US7543133B1 (en) 2003-08-18 2009-06-02 Cray Inc. Latency tolerant distributed shared memory multiprocessor computer
US7519771B1 (en) 2003-08-18 2009-04-14 Cray Inc. System and method for processing memory instructions using a forced order queue
US7437521B1 (en) * 2003-08-18 2008-10-14 Cray Inc. Multistream processing memory-and barrier-synchronization method and apparatus
US7743223B2 (en) * 2003-08-18 2010-06-22 Cray Inc. Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system
US7478769B1 (en) 2005-03-09 2009-01-20 Cray Inc. Method and apparatus for cooling electronic components
US20070074008A1 (en) * 2005-09-28 2007-03-29 Donofrio David D Mixed mode floating-point pipeline with extended functions
US7694025B1 (en) 2006-03-31 2010-04-06 Integrated Device Technology, Inc. Method and device for base address sorting and entry into base address registers
US7779197B1 (en) 2006-05-09 2010-08-17 Integrated Device Technology, Inc. Device and method for address matching with post matching limit check and nullification
US7647438B1 (en) 2006-05-09 2010-01-12 Integrated Device Technology, Inc. Binary base address sorting method and device with shift vector
US7634586B1 (en) 2006-06-05 2009-12-15 Integrated Device Technology, Inc. Device for concurrent limit validity check

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
JPS6186844A (ja) * 1984-10-04 1986-05-02 Fujitsu Ltd 逐次化命令の移動方式
JPS6224366A (ja) * 1985-07-03 1987-02-02 Hitachi Ltd ベクトル処理装置
US4760518A (en) * 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
JPS63253468A (ja) * 1987-04-10 1988-10-20 Hitachi Ltd ベクトル処理装置
JPS6432379A (en) * 1987-07-29 1989-02-02 Hitachi Ltd Computer
JPS6467680A (en) * 1987-09-09 1989-03-14 Hitachi Ltd Vector processor

Also Published As

Publication number Publication date
EP0398639A2 (en) 1990-11-22
CA2016532C (en) 1994-04-26
JP2677414B2 (ja) 1997-11-17
CA2016532A1 (en) 1990-11-15
DE69028572D1 (de) 1996-10-24
DE69028572T2 (de) 1997-01-30
US5247691A (en) 1993-09-21
EP0398639A3 (en) 1991-05-29
EP0398639B1 (en) 1996-09-18

Similar Documents

Publication Publication Date Title
JPH02300852A (ja) 命令実行のシリアライズ制御方式
US7755632B2 (en) GPU internal wait/fence synchronization method and apparatus
EP0264235B1 (en) Apparatus and method for improving cache access throughput in pipelined processors
JPH0630087B2 (ja) インタ−フエ−ス回路
JPH0658631B2 (ja) デ−タ処理装置
JPH06103494B2 (ja) ベクトル処理装置の制御方式
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
US5537582A (en) Bus interface circuitry for synchronizing central processors running at multiple clock frequencies to other computer system circuitry
US5428810A (en) Allocation of resources of a pipelined processor by clock phase for parallel execution of dependent processes
US5226166A (en) Parallel operation processor with second command unit
GB2258069A (en) High speed computer graphics bus
US5504870A (en) Branch prediction device enabling simultaneous access to a content-addressed memory for retrieval and registration
JP2504536B2 (ja) 命令実行のシリアライズ制御方式
JP2875546B2 (ja) 情報処理システム
JPS6227837A (ja) 主記憶アクセス方式
US20080288967A1 (en) Procedure calling method, procedure calling program, and computer product
JP3017866B2 (ja) 割込み処理方式
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
JPH0877143A (ja) ベクトルデータ処理装置
US5694584A (en) Information processing system capable of quickly processing a parameter and a command necessary for drawing processing
JP2861053B2 (ja) 画像処理装置
JP2513846B2 (ja) ベクトル命令生成方式
JP2806690B2 (ja) マイクロプロセッサ
WO2023129236A1 (en) Issuing instructions on a vector processor