JPH05289870A - 並列命令実行制御方式 - Google Patents

並列命令実行制御方式

Info

Publication number
JPH05289870A
JPH05289870A JP11521692A JP11521692A JPH05289870A JP H05289870 A JPH05289870 A JP H05289870A JP 11521692 A JP11521692 A JP 11521692A JP 11521692 A JP11521692 A JP 11521692A JP H05289870 A JPH05289870 A JP H05289870A
Authority
JP
Japan
Prior art keywords
instruction
parallel
assembly
flag
instructions
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
JP11521692A
Other languages
English (en)
Other versions
JP2797833B2 (ja
Inventor
Saori Nakamura
さおり 中村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4115216A priority Critical patent/JP2797833B2/ja
Publication of JPH05289870A publication Critical patent/JPH05289870A/ja
Application granted granted Critical
Publication of JP2797833B2 publication Critical patent/JP2797833B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】 複雑なハードウェアを用いることなく、プロ
セッサの並列実行制御を容易に行えるようにする。 【構成】 複数の演算部を有するプロセッサの各々の演
算部を目的プログラムであるアセンブリ命令列に含まれ
る各アセンブリ命令によって並列に制御する並列命令実
行制御方式において、前記アセンブリ命令のフィールド
内に命令群の終りであるか否かを示すフラグを設け、前
記プロセッサの実行時には、サイクル毎にそのフラグが
セットされている命令までを取り出して前記各演算部で
並列に実行させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の演算部を有する
プロセッサの各演算部を並列に制御するための並列命令
実行制御方式に関するものである。
【0002】
【従来の技術】前記のようなプロセッサにおいては、コ
ンパイラが目的プログラムを生成する時点で命令及びデ
ータの依存関係が解析され、その結果に基づいてアセン
ブリ命令の配置が行なわれる。生成される目的プログラ
ムたるアセンブリ命令列は並列アセンブリ命令の並び
で、並列アセンブリ命令の各々は演算部の数に等しい数
のアセンブリ命令を含むが、一個又はそれ以上の演算部
で実行すべき命令が存在しないサイクルにおいては、並
列アセンブリ命令中の対応する箇所には何も実行しない
ことを示す空命令が置かれる。実行時にはサイクル毎
に、目的プログラムたるアセンブリ命令列から1個の並
列アセンブリ命令即ち演算部の数に等しい数のアセンブ
リ命令群を取り出してデコードし、その結果に基づいて
各々の演算部が制御される。
【0003】
【発明が解決しようとする課題】しかしながら、従来に
あっては実際には各サイクルにおいて全ての演算部に対
してアセンブリ命令を実行させることは不可能であるこ
とが多く、特に並列性の低いプログラムの場合、目的プ
ログラムは多くの空命令を含むことになる。こうした問
題を解決する手段として、例えばClowell R.
P.,Nix R.P.,O’donnell J.J.,P
apworth D.B.and Rodman P.
K.:“A VLIW architecture f
or atrace scheduling comp
iler”,IEEE Trans.Computer
s,37,8,pp.967−979(1988−0
8)に、展開後の命令の位置情報を付加して目的プログ
ラムの圧縮を行ない、実行時に専用のハードウェアを用
いてキャッシュメモリ上で圧縮された目的プログラムを
展開する方式が提唱されている。ところが、この方式で
は展開用ハードウェアの構成が非常に複雑になるという
難点がある。
【0004】また、前記の問題がコンパイラが静的に目
的プログラムの配置を行なうことに起因するものである
ことから、それとは全く異なる側面からの並列実行制御
の手段として、実行時に動的に命令の依存関係の解析を
行ないそれに基づいて複数の演算部を持つプロセッサの
実行制御を行なおうとするsuperscalarとい
う方式が、McGeady S.:“The i960
CA superscalar implementa
tion of the 80960 archite
cture”,Compcon Spring 90
digestof papers,pp.232−24
0,IEEE(1990)等により提案されている。し
かし、このsuperscaler方式では命令の依存
関係及び資源の利用可能性の解析のための複雑で膨大な
ハードウェアが必須であり、また命令の依存関係の解析
が狭い範囲に限定されるという難点があった。
【0005】本発明の目的は、前記の問題を解消して、
不要な空命令を含まないサイズの小さな目的プログラム
によって、複雑なハードウェアを用いることなく前記の
ようなプロセッサの並列実行制御を容易に行なえるよう
にした並列命令実行制御方式を提供することにある。
【0006】
【課題を解決するための手段】本発明における並列命令
実行制御方式は、アセンブリ命令のフィールド内に命令
群の終りを示すフラグを設けて、各サイクル毎にそのフ
ラグがセットされている命令までを取り出して実行する
ことにより、従来のような不要な空命令を含むことなく
容易に並列実行制御を行なうことを特徴とするものであ
る。
【0007】
【実施例】次に、本発明の実施例について図面を参照し
て詳細に説明する。図1は本発明の並列命令実行制御方
式に基づく目的プログラムの一実施例を示した図であ
る。以下、図1の実施例の手順について具体的に説明す
る。なお、ここで対象としているプロセッサは、1サイ
クルに整数演算命令(またはロード/ストア命令)を2
個、浮動小数点演算命令を1個、分岐命令を1個同時に
実行することが可能であるとし、また簡略化のため遅延
は生じないものとする。
【0008】図1において、11.12.13.14は
それぞれ1サイクルで同時に実行されるべき並列アセン
ブリ命令を示す。この並列アセンブリ命令は可変個のア
センブリ命令を含んでいる。例えば、11の並列アセン
ブリ命令は各々の整数演算器で実行されるべきアセンブ
リ命令111と113を含む。ここで、111はレジス
タr8の内容に整数10を加算して結果をr8に置くこ
とを表し、113はレジスタr10の内容から整数1を
減算して結果をr10に置くことを表す。また、11
2,114は各々命令111,113が並列アセンブリ
命令の終りか否かを示すフラグである。112はセット
されていないフラグで、114はセットされているフラ
グである。同様に、12の並列アセンブリ命令は、r8
の内容を変数aへストアする命令121とr8とr10
の内容を加算して結果をr8へ置く命令122を含んで
いる。また、13の並列アセンブリ命令はr8の内容が
0と等しいならば、ラベルlabelで示されるアドレ
スへ分岐する命令131を含み、14の並列アセンブリ
命令はaの内容をレジスタr9へロードする命令141
を含むことを示している。
【0009】図1では、まず4個のアセンブリ命令、す
なわち111,113,121,122が読み込まれる
が、命令113はフラグ114がセットされているの
で、このサイクルでは111及び113すなわち並列ア
センブリ命令11が実行され、121,122は次のサ
イクルまで実行しない。次のサイクルでは、122にフ
ラグがセットされているので、121及び122すなわ
ち並列アセンブリ命令12が実行される。同様にして、
それ以降のサイクルで並列アセンブリ命令13,14が
実行される。ここで命令131にはフラグが存在しない
が、これは分岐命令では必ず並列アセンブリ命令が区切
れるものと仮定しているためである。
【0010】対比のため、図2に従来方式による目的プ
ログラムの例を示す。図2の21,22,23,24は
並列アセンブリ命令を示すが、この場合1個の並列アセ
ンブリ命令は常に4個のアセンブリ命令から構成され
る。その4個の中にはNOPで表される空命令が1個ま
たはそれ以上含まれることもある。例えば、並列アセン
ブリ命令21は211,212,213,214のアセ
ンブリ命令を含むが、213,214は空命令である。
従来方式では、サイクル毎に21,22,23,24の
順に読み込まれて実行されるが、この場合半分以上が空
命令であり、本発明にくらべて2倍程のメモリ及びバス
等の資源を浪費することになる。
【0011】
【発明の効果】以上に示した如く本発明は、不要な空命
令を含まない目的プログラムを用いて、前記のようなプ
ロセッサに対する並列実行制御を容易に行なえるという
効果がある。
【図面の簡単な説明】
【図1】本発明の並列命令実行制御方式に基づく目的プ
ログラムの一実施例を示した図である。
【図2】従来方式による目的プログラムを示した図であ
る。
【符号の説明】
11〜14 並列アセンブリ命令 111,113,121,122,131,141 各
演算器で実行されるべきアセンブリ命令 112,114 フラグ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数の演算部を有するプロセッサの各々
    の演算部を目的プログラムであるアセンブリ命令列に含
    まれる各アセンブリ命令によって並列に制御する並列命
    令実行制御方式において、前記アセンブリ命令のフィー
    ルド内に命令群の終りであるか否かを示すフラグを設
    け、前記プロセッサの実行時には、サイクル毎にそのフ
    ラグがセットされている命令までを取り出して前記各演
    算部で並列に実行させることを特徴とする並列命令実行
    制御方式。
JP4115216A 1992-04-09 1992-04-09 並列命令実行制御方式 Expired - Fee Related JP2797833B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4115216A JP2797833B2 (ja) 1992-04-09 1992-04-09 並列命令実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4115216A JP2797833B2 (ja) 1992-04-09 1992-04-09 並列命令実行制御方式

Publications (2)

Publication Number Publication Date
JPH05289870A true JPH05289870A (ja) 1993-11-05
JP2797833B2 JP2797833B2 (ja) 1998-09-17

Family

ID=14657241

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4115216A Expired - Fee Related JP2797833B2 (ja) 1992-04-09 1992-04-09 並列命令実行制御方式

Country Status (1)

Country Link
JP (1) JP2797833B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951674A (en) * 1995-03-23 1999-09-14 International Business Machines Corporation Object-code compatible representation of very long instruction word programs
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
USRE41751E1 (en) 1998-03-30 2010-09-21 Panasonic Corporation Instruction converting apparatus using parallel execution code

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61245239A (ja) * 1985-04-23 1986-10-31 Toshiba Corp 論理回路方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61245239A (ja) * 1985-04-23 1986-10-31 Toshiba Corp 論理回路方式

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5951674A (en) * 1995-03-23 1999-09-14 International Business Machines Corporation Object-code compatible representation of very long instruction word programs
USRE41751E1 (en) 1998-03-30 2010-09-21 Panasonic Corporation Instruction converting apparatus using parallel execution code
US6880150B1 (en) 1998-04-28 2005-04-12 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976245B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US6976250B2 (en) 1998-04-28 2005-12-13 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7080367B2 (en) 1998-04-28 2006-07-18 Matsushita Electric Industrial Co., Ltd. Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor
US7823142B2 (en) 1998-04-28 2010-10-26 Panasonic Corporation Processor for executing instructions in units that are unrelated to the units in which instructions are read, and a compiler, an optimization apparatus, an assembler, a linker, a debugger and a disassembler for such processor

Also Published As

Publication number Publication date
JP2797833B2 (ja) 1998-09-17

Similar Documents

Publication Publication Date Title
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
US9355061B2 (en) Data processing apparatus and method for performing scan operations
JP2918631B2 (ja) デコーダ
US8386754B2 (en) Renaming wide register source operand with plural short register source operands for select instructions to detect dependency fast with existing mechanism
EP0312764A2 (en) A data processor having multiple execution units for processing plural classes of instructions in parallel
US6330657B1 (en) Pairing of micro instructions in the instruction queue
US4967338A (en) Loosely coupled pipeline processor
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
JPH02227730A (ja) データ処理システム
JPH03286332A (ja) デジタルデータ処理装置
JPH01310441A (ja) データ処理装置
JPH09152973A (ja) カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JPH05289870A (ja) 並列命令実行制御方式
KR20040111559A (ko) 주소 레지스터의 내용을 스와핑하기 위한 방법 및 장치
JP2620505B2 (ja) スーパースカラ・プロセッサ・システムの同期化効率を向上させる方法およびシステム
JPH1153189A (ja) 演算装置、演算方法及びコンピュータ読み取り可能な記録媒体
US7107478B2 (en) Data processing system having a Cartesian Controller
JP2551163B2 (ja) 命令処理制御方式
JP2004287919A (ja) 演算装置及び制御装置及び演算処理装置及び演算方法及び演算プログラム
JP2851192B2 (ja) 並列演算処理装置におけるキャリー付き加減算処理方式
JP3079090B2 (ja) プロセッサ及びプログラム変換装置
JPS5971542A (ja) 演算処理装置
JPH0353322A (ja) 情報処理装置
JPS62226336A (ja) マイクロプログラム制御方式

Legal Events

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20070703

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

Free format text: PAYMENT UNTIL: 20080703

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090703

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees