JPH03147021A - 命令指定方法及び命令実行方式 - Google Patents

命令指定方法及び命令実行方式

Info

Publication number
JPH03147021A
JPH03147021A JP1285471A JP28547189A JPH03147021A JP H03147021 A JPH03147021 A JP H03147021A JP 1285471 A JP1285471 A JP 1285471A JP 28547189 A JP28547189 A JP 28547189A JP H03147021 A JPH03147021 A JP H03147021A
Authority
JP
Japan
Prior art keywords
instruction
instructions
instruction word
word
register
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
JP1285471A
Other languages
English (en)
Other versions
JP2835103B2 (ja
Inventor
Takao Kato
加藤 高夫
Hideo Tamura
秀夫 田村
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 JP1285471A priority Critical patent/JP2835103B2/ja
Priority to DE69031899T priority patent/DE69031899T2/de
Priority to EP90311767A priority patent/EP0426393B1/en
Priority to AU65722/90A priority patent/AU625008B2/en
Priority to CA002029088A priority patent/CA2029088C/en
Priority to KR1019900017654A priority patent/KR930007041B1/ko
Publication of JPH03147021A publication Critical patent/JPH03147021A/ja
Priority to US08/202,668 priority patent/US5442762A/en
Application granted granted Critical
Publication of JP2835103B2 publication Critical patent/JP2835103B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/22Microcontrol or microprogram arrangements
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound 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, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 情報処理装置で実行する命令を指定し、これを実行する
命令指定方式及び命令実行方式に関し、ビット使用効率
が向上し、大きな即値データを指定でき、複数の命令を
同時実行するためのハードウェア構成が簡単となること
を目的とし、情報処理装置で実行する命令を指定する命
令指定方式に於いて、少なくとも命令コードとオペラン
ド指定部とを持ち単一の命令を指定する1又は複数の命
令語と、該一又は命令語の構成を指定するタイプコード
とで大命令語を形成し、単一の大命令語で並列実行する
一又は複数の命令を指定し、情報処理装置において前記
大命令語を入力する入力手段と、前記タイプコードより
、前記大命令語の演算指定命令の組合せ且つ演算指定命
令の数を判断する演算形式判断部と、複数の演算形式判
断部と、演算形式判断部の形式判断に従い、前記大命令
語内の演算指定命令のそれぞれを前記複数の演算手段の
内適当な演算手段に割り当て、送出する演算割り当て手
段を有し構成する。
〔産業上の利用分野〕
本発明は命令指定方式及び命令実行方式に関し、情報処
理装置で実行する命令を指定し、これを実行する命令指
定方式に関する。
近年、半導体の集積度、スピードの向上に伴いプロセッ
サの性能向上は著しいが、−層の性能向上が要求されて
いる。この性能向上の要求に応えるため、RI S C
(Reduced  l n5tructionS e
t  C01111Lltf3r)と呼ばれるアーキテ
クチャが普及しつつある。このアーキテクチャは一般的
に32b目固定長の命令語で、演算はレジスタ間のみで
行ない、メモリアクセスはメモリとレジスタの間の転送
のみに限りプログラムの使用V4麿が高い命令のみを持
つものである。これらの制限により命令実行に必要な物
量の削減及び1illlH1の簡単化ができ、ひいては
動作クロックの高速化あるいは1命令実行に必要なサイ
クル数の短縮により性能向上が図れる。また−層の性能
向上を進めるために、複数の命令を同時に実行する試み
も進められている。
〔従来の技術〕
第6図(A)〜(C)夫々は従来のRISCアーキテク
チャによる命令形式の各個を示す。
第6図(A>に示す第1の形式の命令は命令コードOP
に基づき、第2レジスタ指定フイールドR2Xで指定す
るレジスタの内容と、第3レジスタ指定フイールドR3
Xで指定するレジスタの内容とを演算して第2レジスタ
指定フイールドR2Xで指定するレジスタに格納するこ
とを指示する。
同図(B)に示す第2の形式の命令は演算命令を場合に
第2レジスタ指定フイールドR2Xの指定レジスタの内
容と16ビツトの即値データIMM16とを演算して第
ルジスタ指定フィールドRIXのレジスタに格納し、ロ
ード命令の場合に上記R2Xのレジスタの内容であるア
ドレスと1MM16として与えられた変位とを加算して
得られるメモリ上のアドレスのデータを第2レジスタ指
定フイールドRa2のレジスタに格納することを指定す
る。
同図(C)に示す第3の形式の命令は21ビツトの即値
データIMM21を第2レジスタ指定フイールドRa2
の指定レジスタに格納することを指示する。
〔発明が解決しようとする課題〕
従来の第1の形式の命令は第21〜第31ビツトが使用
されておらずビット使用効率が悪いという問題がある。
第2又は第3の形式では16又は21ビツトを越える大
きな即値データ及び変位を必要とするとき複数命令で指
定しなければならない。また、複数命令を並列実行しよ
うとするとき、この並列実行する命令の組合せの数が多
いため、制御が複雑になり並列実行するハードウェア構
成が大規模化するという問題があった。
本発明は上記の点に鑑みなされたもので、ビット使用効
率が向上し、大きな即値データを指定でき、複数の命令
を同時実行するためのハードウェア構成が簡単となる命
令指定方式及び命令実行方式を提供することを目的とす
る。
〔課題を解決するための手段〕
本発明の命令指定方式は、 情報処理装置で実行する命令を指定する命令指定方式に
於いて、 少なくとも命令コードとオペランド指定部とを持ち単一
の命令を指定する1又は複数の命令語と、該一又は命令
語の構成を指定するタイプ」−ドとで大命令語を形成し
、単一の大命令3Bで並列実行する一又は複数の命令を
指定する。
また、本発明の命令実行方式は、 情報処理装置に於いて、 演算を指定する演算指定命令を1又は複数個有し、且つ
前記演算指定命令が幾つあるか且つどの様な演算指定部
の組合せかの演算形式を指定するタイプコードを有する
大命令語を設定し、前記大命令語を入力する入力手段と
、 前記タイプコードより、前記大命令語の演算指定命令の
組合せ且つ演算指定命令の数を判断する演算形式判断部
と、 複数の演算形式判断部と、 演算形式判断部の形式判断に従い、前記大命令語内の演
算指定命令のそれぞれを前記複数の演算手段の内適当な
演算手段に割り当て、送出する演粋割り当て手段を有す
る。
〔作用〕
本発明においては、固定長の大命令語をタイプコードと
複数の命令語とで構成することで大命令語の未使用ビッ
トがなくなりビット使用効率が向上する。また、大命令
語を構成する命令語の数を少なくして大きな即値データ
を指定することができる。更にタイプコードにより大命
令語を構成する命令語の構成つまり組合せを規定できこ
の組合せの規定により複数命令を並列実行する際の!1
1@及びハードウェア構成が簡単となる。
〔実施例〕
第1図(A)〜(D)は本発明方式の命令形式の各実施
例を示す。
第1図(A>に示す第1の形式の大命令語は64ビツト
構成で、ビットO〜3のタイプコードTyρ0と、ビッ
ト4〜23.24〜43.44−63夫々の形式Aの3
つの命令語よりなる。ビット4〜23の形式Aの命令語
は5ビツトの命令」−ドOPaと、オペランド指定部と
しての5ビツトの第2レジスタ指定フイールドRa2、
及び5ビツトの第2レジスタ指定フイールドRa2、及
び5ビツトの第3レジスタ指定フイールドRa3とより
構成されており、第2レジスタ指定フイールドRa2の
指定するレジスタの内容を第2レジスタ指定フイールド
Ra2の指定するレジスタの内容とを演算して第3レジ
スタ指定フイールドRa3の指定するレジスタに格納す
ることを指示する。ビット24〜43の形式への命令語
は5ビツトの命令コードOPbに対応して、オペランド
旧定部としての5ビツトの第ルジスタ指定フィールドR
b1、及び5ビツトの第2レジスタ指定フイールドRb
2、及び5ビツトの第3レジスタ指定フイールドRb3
とより構成されており、第ルジスタ指定フィールドRb
1の指定するレジスタの内容を第2レジスタ指定フイー
ルドRb2の指定するレジスタの内容とを演算して第3
レジスタ指定フイールドRb3の指定するレジスタに格
納することを指示する。
ビット44〜63の形式Aの命令語は5ビツトの命令コ
ードOPCに対応して、オペランド指定部としての5ビ
ツトの第ルジスタ指定フィールドRC1、及び5ビツト
の第2レジスタ指定フイールドRc2、及び5ビツトの
第3レジスタ指定フイールドRc3とより構成されてお
り、第ルジスタ指定フィールドRC1の指定するレジス
タの内容を第2レジスタ指定フイールドRc2の指定す
るレジスタの内容とを演算して第3レジスタ指定フイー
ルドRc3の指定するレジスタに格納することを指示す
る。演算の種類は4ビットのタイプコードT ypeと
5ビツトの命令コードOPa。
OPb、OPcとの組合せによって指定され、これは後
述する形式B、C,Dについても同様である。
第1図(B)に示す第2の形式の大命令語は64ビツト
構成で、ビットO〜3のタイプコードT ypeと、ビ
ット4〜23の形式Aの命令語と、ビット24〜63の
形式Bの命令語よりなる。形式Aの命令語はタイプコー
ドT ypeと5ビツトの命令コードOPaとに応じて
5ビツトの第2レジスタ指定フイールドRa2の指定す
るレジスタの内容を5ビツトの第2レジスタ指定フイー
ルドRa2の指定するレジスタの内容とを演算して5ビ
ツトの第3レジスタ指定フイールドRa3の指定するレ
ジスタに格納することを指示する。形式Bの命令語はビ
ット24〜28の命令コードOPbが演算命令の場合に
ビット29〜33の第ルジスタ指定フィールドRt)1
の指定レジスタの内容とビット34〜58の即値データ
IMM25とを演算してビット59・−63の第3レジ
スタ指定フイールドRb3の1b定レジスタに格納し、
ロード命令の場合にRb1のレジスタの内容であるアド
レスと1MM25として与えられた変位とを加算して得
られるメモリ上のアドレスのデータをRb3の指定レジ
スタに格納することを指示する。
第1図(C)に示す第3の形式の大命令語は64ビツト
構成で、ビットO〜3のタイプコードT ypeと、ビ
ット4〜23の形式Aの命令語と、ビット24〜63の
形式Cの命令語とよりなる。
形式Aの命令語はタイプコードT ypeと5ビツトの
命令コードOPaとに応じて5ビツトの第2レジスタ指
定フイールドRa2の指定するレジスタの内容を5ビツ
トの第2レジスタ指定フイールドRa2の指定するレジ
スタの内容とを演算して5ビツトの第3レジスタ指定フ
イールドRa3の指定するレジスタに格納することを指
示する。形式Cの命令語はタイプコードT ypeと、
ビット24〜26の命令コードOPbとに応じてビット
27〜58の即値データIMM32をビット59〜63
の第3レジスタ指定フイールドRb3の指定レジスタに
格納することを指示する。
第1図(D)に示す第4の形式の大命令語は64ビツト
構成で、ビットO〜3のタイプコードT ypeと、ビ
ット4〜63の形式りの60ピッ1−の命令語で構成さ
れている。形式りの命令語はタイプコードT ypeと
ビット4〜8の命令コードOpaに応じてビット9〜4
0の即値データIMM32をビット59〜63の第3レ
ジスタ指定フイールドRa3の指定レジスタに格納する
ことを指示している。
上記の形式A−DはタイプコードT ypeの値によっ
て区別される。
第2図は本発明方式を適用した情報処理装置の一実施例
のブロック図を示す。
同図中、インストラクション・メモリ20から読出され
た64ビツトの大命令語はプロセッサ21内の命令レジ
スタ(IR)22に格納され、格納された大命令語の各
ビットが制御回路23に供給される。
制御回路23は第3図に示す構成であり、デコーダ(D
EC)25はlR22の0〜3ビツトつまりタイプコー
ドT Ypeをデコードし、デコーダ26.27.28
夫々はlR22のO〜3ビット(タイプコードType
)を付加して4〜8ビツト。
24〜28ビツト、44〜48ビツト(第1の形式の命
令コードOPa、OPb、OPcに相当)夫々のデコー
ドを行なって第1〜第3演算器制御信号を生成する。セ
レクタ24はデコーダ25の出力に応じてlR22のビ
ット19〜23又はビット59〜63のいずれかを選択
し、選択されたビットがEサイクルでラッチ回路(LT
)29にラッチされる。lR22のビット59〜63は
Eサイクルでラッチ回路30にラッチされる。セレクタ
31はデコーダ25の出力に応じてlR22のビット5
9〜63又はビット39〜43のいずれかを選択し、選
択されたビットがEサイクルでラッチ回路32にラッチ
される。ラッチ回路29゜32.30夫々の出力はWサ
イクルでラッチ回路35.36.37にラッチされ、デ
コーダ40゜41.42夫々でデコードされる。またラ
ンチ36の出力はAサイクルでラッチ回路43にラッチ
され、デコーダ44でデコードされる。デコーダ40〜
42.44夫々はデコーダ26〜28の出力する演算器
制御信号の一部によって動作可能となるよう制御されて
いる。32個のオア回路45゜〜4531夫々はデコー
ダ40〜42.44の出力よりクロック・ゲート・イネ
ーブル信号(CGE)O〜31を作成する。
第2図に示すブロセッザ21はバイブライン動作を行な
う。この場合、第4図(A>に示すクロックに同11シ
て、1番目の大命令語は同図(B)の如くフェッチ(F
)、デコード(D)、イグビキュート(E)、ライト(
W>の各サイクルが実行され、2番目、3番目の大命令
語は同図(C)。
(D)夫々に示す如く各サイクルが実行される。
つまり連続して実行される各大命令語は各サイクルが1
サイクルずれている。
但し大命令語内のロード命令はEサイクルの代りにアド
レス計算が行なわれ、Wサイクルの代りにメモリアクセ
スが行なわれ(Aサイクル)、この次にWサイクルが実
行される。
ここで、lR22に第1の形式の大命令語が格納れてい
る場合、デコーダ25はタイプコードT ypeをデコ
ードし、デコーダ26.27.28夫々はタイプコード
T ypeを付加した命令コードOPa、OPb、OP
c夫々をデコードする。また、Eサイクルでラッチ回路
29.32.30夫々に第3レジスタ指定フイールドR
a3.Rb3゜RC3夫々がラッチされ、Wサイクルで
ラッチ回路35.36.37夫々に上記第3レジスタ指
定フイールドRa3.Rb3.Rc3夫々がラッチされ
てデコーダ40,41.42夫々でデコードされる。
lR22に第2の形式の大命令語が格納されている場合
、デ」−ダ25はタイプコードT l/Deをデコード
し、デコーダ26.27夫々はタイプコード丁ypeを
付加して命令コードopa、opb夫々をデコードする
。また、セレクタ31がデコーダ25の出力によりTR
22のビット59・〜63を選択してEサイクルでラッ
チ回路29゜32夫々に第3レジスタ指定フイールドR
a3゜Rb3夫々がラッチされ、更にWサイクルでラッ
チ回路35.36夫々にラッチされてデコーダ40.4
1夫々でデコードされる。デコーダ42はデコーダ28
の出力する演算器υIm信号の一部によって非動作状態
とされる。また、ラッチ回路36の出力する第3レジス
タ指定フイールドRb3はAサイクルでラッチ回路43
にラッチされ、形式Bの命令語がロード命令の場合にの
みデコーダ27の出力する演算器制御信号の一部で動作
状態とされるデコーダ44でデコードされる。
[R22に第3の形式の大命令語が格納されている場合
、デコーダ25はタイプ」−ドT ’/Fleをデコー
ドし、デコーダ26.27夫々はタイプコードT yp
eを付加して命令コードOPa、OPb夫々をデコード
する。また、セレクタ31がデコーダ25の出力により
lR22のビット59・〜63を選択してEサイクルで
ラッチ回路29゜32夫々に第3レジスタ指定フイール
ドRa3゜Rb3夫々がラッチされ、更にWサイクルで
ラッチ回路35.36夫々にラッチされてデコーダ40
.41夫々でデコードされる。デコーダ42はデコーダ
28の出力する演算器制御信号の一部によって非動作状
態とされる。また、ラッチ回路36の出力する第3レジ
スタ指定フイールドRb3はAサイクルでラッチ回路4
3にラッチされ、形式〇の命令語がロード命令の場合に
のみデコーダ27の出力する演算器制御信号の一部で動
作状態とされるデコーダ44でデコードされる。
lR22に第4の形式の大命令語が格納されている場合
、デコーダ25はタイプコードT Ml)eをデコード
し、デコーダ26はタイプコードT ypeを付加して
命令コードOPaをデコードする。また、セレクタ24
がデコーダ25の出力によりlR22のピット59〜6
3を選択してEせイクルでラッチ回路29に第3レジス
タ指定フイールドRa3がラッチされ、更にWサイクル
でラッチ回路35にラッチされてデコーダ40でデコー
ドされる。デコーダ41,42.44はデコーダ28の
出力する演算器制御信号の一部によって非動作状態とさ
れる。
制御回路23出力によって制御されるレジスタファイル
50は第5図に示す構成である。第5図口、端子RIc
3.Rlb3.RIc3.RII。
夫々に入来する各32ビツトのデータはセレクタ51o
〜5131に供給される。セレクタ51o〜5131夫
々はデコーダ40〜42.44の出力により制御されて
上記4系統のいずれかを選択し、32個のレジスタR0
〜R31夫々に供給する。
レジスタR0〜R31夫々はオア回路45o〜4531
よりCGE信号を供給されたとき入来データを格納する
。レジスタR0〜R31出力は6個のセレクタ52a〜
52f夫々に供給される。セレクタ52a〜52fは夫
々1R22のピッl”9〜13(Ra1に相当)、ピッ
ト14〜18(Ra2に相当)、ピット29〜33(R
b1に相当)、ピット34〜38 (Rb2に相当)、
ピット49〜53 (Rclに相当)、ピット54・〜
58(Ra2に相当)によって制御され、これらのlR
22の各ピットで指定されたレジスタR0〜R31のい
ずれかのデータが端子ROa1゜RObl、ROb2.
ROcl、ROc2夫々より出力される。
第2図に戻って説明するにレジスタファイルROa2,
50の端子ROa1の出力データはラッチ回路55aで
ラッチされ、端子ROa2の出力データ及びlR22の
ピット9〜40の即値データIMM32のうちセレクタ
54で選択されたデータがラッチ回路55bにラッチさ
れ、第1演算器56で演算され、その結果がラッチ回路
57にラッチされる。
端子ROblの出力データはラッチ回路59aにラッチ
され、端子ROb2の出力データ及びlR22のピット
34〜58.27〜58の即値データIMM25.IM
M32のうらセレクタ58で選択されたデータがラッチ
回路59bにラッチされ、第2演算器60で演算され、
その結果がラッチ回路61にラッチされる。
端子ROc1.ROc2の出力はラッチ回路62a、6
2bでラッチされて第3演算器63で演算され、その結
果がラッチ回路64にラッチされる。
ここで、第1の形式の大命令語を実行する場合にはレジ
スタファイル50のROal、ROa2゜RObl、R
Ob2.ROcl、ROc2夫々よりレジスタ指定フィ
ールドRa1.Ra2゜Rb1.Rb2.Rcl、Ra
2夫々で指定されたレジスタの格納データが出力され、
かつセレクタ58が端子ROb2の出力データを選択す
ることにより上記の各データがラップ回路55a。
55b、59a、59b、62a、62b夫々ニラツチ
され、演算器56,60.63夫々で同時に演算される
。その演算結果は夫々レジスタフフィル50の端子RI
a3.RIb3.R1c3に供給される。
第2の形式の大命令語を実行する場合にはレジスタファ
イル50のROal、ROa2゜RObl、ROb2夫
々よりレジスタ指定フィールドRa1.Ra2.Rb1
夫々で指定されたレジスタの格納データが出力され、か
つセレクタ58が即値データIMM25を選択すること
により上記の各データがラッチ回路55a、55b。
59a、59b夫々にラッチされ、演算器56゜60夫
々で同時に演算される。その演算結果は夫々レジスタフ
ァイル50の端子RIa3゜RIb3に供給される。但
し形式Bの命令語がロード命令の場合には演算器60で
行なったアドレス計算結果がオペランドメモリ70に供
給され、ロードデータはオペランドメモリ70からレジ
スタファイル50の端子RILに供給される。
第3の形式の大命令語を実行する場合にはレジスタファ
イル50のROal、ROa2゜RObl、ROb2夫
々よりレジスタ指定フィールドRa1.Ra2.Rb1
夫々で指定されたレジスタの格納データが出力され、か
つセレクタ58が即値データIMM32を選択すること
により上記の各データがラッチ回路55a、55b。
59a、59b夫々にラッチされ、演算器56゜60夫
々で同時に演算される。その演算結果は夫々レジスタフ
ァイル50の端子RI a3゜R[)3に供給される。
但し形式Bの命令語がロード命令の場合には演算器60
で行なったアドレス計算結果がオペランドメモリ70に
供給され、ロードデータはオペランドメモリ70がらレ
ジスタファイル50の端子RfLに供給される。
第4の形式の大命令語を実行する場合にはレジスタファ
イル50のROalよりレジスタ指定フィールドRal
で指定されたレジスタの格納データが出力され、かつセ
レクタ54が即値データIMM32を選択することによ
り上記の各データがラッチ回路55a、55b夫々にラ
ッチされ、演算器56で演算される。その演算結果は夫
々レジスタフフィル50の端子RIa3に供給される。
なお、この実施例では、プロセッサ21が32ビツト構
成であるため第3の形式の大命令語のビット41〜58
は未使用であるが、プロセッサ21を64ビツト構成と
した場合には第3の形式の大命令語のビット9〜58を
即値データIMM51として全ビット使用できる。
プログラムカウンタ(PC)の出力する命令アドレスと
ラッチ回路61よりの分岐アドレスとのいずれかはセレ
クタ72で選択されてインストラクション・メモリ20
に供給され、次の大命令語が読出される。
第2図では第1演算器56は論理演算及び加粋器を行な
うALUと乗算器とで構成し、第2演算器60はALU
とシフト回路とで構成し、第3演算器63はALtJで
構成しており第1〜第4の形式夫々の命令コードOPa
、OPb、OPcは各演算器56.60.63で可能な
命令だけを規定しておくことが並列実行が容易とされる
このように、固定長の大命令語をタイプコードと複数の
命令語とで構成することで大命令語の未使用ビットがな
くなりビット使用効率が向上する。
また、大命令語を構成する命令語の数を少なくして大き
な即値データを指定することができる。更にタイプコー
ドにより大命令語を構成する命令語の構成つまり組合せ
が規定され、この組合せの規定により複数命令を並列実
行する際の制御及びハードウェア構成を簡単とすること
ができる。
〔発明の効果〕
上述の如く、本発明の命令指定方式及び命令実行方式に
よれば、未使用ビットが少なくビット使用効率が向上し
、大きな即値データを単一の大命令語で指定でき、大命
令語を構成する命令語の規定によりハードウェア構成が
簡単となり実用上きわめて有用である。
【図面の簡単な説明】
第1図は本発明方式の命令形式の各実施例を示す図、 第2図は本発明方式を適用した情報処理装置の一実論例
のブロック図、 第3図は制御回路のブロック図、 第4図はパイプライン動作を示す図、 第5図はレジスタファイルのブロック図、第6図は従来
方式の命令形式の各個を示す図である。 図において、 20はインストラクション・メモリ、 21はプロセッサ、 22は命令レジスタ、 23は制腫回路、 50はレジスタファイル、 56.60.63は演算器、 70はオペランド・メモリ、 T ypeはタイプコード、 OPa、OPb、OPcは命令コード、Ra1〜Rc3
はレジスタ指定フィールド、1MM25,1MM32は
即値データ を示す。 第2図 @#回路のフ゛℃・72図 (A) CLOCに パイブ2Aフ動作区ホ↑図 第4図

Claims (5)

    【特許請求の範囲】
  1. (1)情報処理装置で実行する命令を指定する命令指定
    方式に於いて、 少なくとも命令コードとオペランド指定部とを持ち単一
    の命令を指定する1又は複数の命令語と、 該一又は命令語の構成を指定するタイプコードとで大命
    令語を形成し、単一の大命令語で並列実行する一又は複
    数の命令を指定することを特徴とする命令指定方式。
  2. (2)情報処理装置に於いて、 演算を指定する演算指定命令を1又は複数個有し、且つ
    前記演算指定命令が幾つあるか且つどの様な演算指定部
    の組合せかの演算形式を指定するタイプコードを有する
    大命令語を設定し、前記大命令語を入力する入力手段(
    22)と、前記タイプコードより、前記大命令語の演算
    指定命令の組合せ且つ演算指定命令の数を判断する演算
    形式判断部(25)と、 複数の演算手段(56、60、63)と、 演算形式判断部(25)の形式判断に従い、前記大命令
    語内の演算指定命令のそれぞれを前記複数の演算手段(
    56、60、63)の内適当な演算手段に割り当て、送
    出する演算割り当て手段(52a〜52f)を有するこ
    とを特徴とする命令実行方式。
  3. (3)情報処理装置に於いて、 少なくとも命令コードとオペランド指定部とを持ち一つ
    の演算を指定する演算指定命令を1又は複数個有し、且
    つ前記演算指定部が幾つあるか且つどの様な演算指定命
    令の組合せかの演算形式を指定するタイプコードを有す
    る大命令語を設定し、 前記大命令語を入力する入力手段と(25)と、 前記タイプコードより、前記大命令語の演算指定命令の
    組合せ且つ演算指定命令の数を判断する演算形式判断部
    (25)と、 複数のオペランドレジスタと(R0〜R31)と、 複数の演算手段と(56、60、63)と、演算形式判
    断部(25)の形式判断に従い、前記大命令語内の演算
    指定部のそれぞれを前記複数の演算手段(56、60、
    63)の内適当な演算手段を割り当て、且つそれぞれの
    演算指定命令内の前記オペランド指定部により、複数の
    オペランドレジスタ(R0〜R31)を演算指定命令毎
    に指定する演算割り当て手段 (52a〜52f)を有することを特徴とする命令実行
    方式。
  4. (4)複数の演算手段(56、60、63)では、ひと
    つの大命令語内の演算指定命令を同時に実行することを
    特徴とする特許請求の範囲第2項の命令実行方式。
  5. (5)複数の演算手段(56、60、63)では、ひと
    つの大命令語内の演算指定命令を同時に実行することを
    特徴とする特許請求の範囲第3項の命令実行方式。
JP1285471A 1989-11-01 1989-11-01 命令指定方法及び命令実行方式 Expired - Fee Related JP2835103B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP1285471A JP2835103B2 (ja) 1989-11-01 1989-11-01 命令指定方法及び命令実行方式
EP90311767A EP0426393B1 (en) 1989-11-01 1990-10-26 Instructing method and execution system
DE69031899T DE69031899T2 (de) 1989-11-01 1990-10-26 Befehlsmethode und Ausführungssystem
CA002029088A CA2029088C (en) 1989-11-01 1990-10-31 Instructing method and execution system
AU65722/90A AU625008B2 (en) 1989-11-01 1990-10-31 Instructing method and execution system
KR1019900017654A KR930007041B1 (ko) 1989-11-01 1990-11-01 명령 지정방법 및 실행장치
US08/202,668 US5442762A (en) 1989-11-01 1994-02-25 Instructing method and execution system for instructions including plural instruction codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1285471A JP2835103B2 (ja) 1989-11-01 1989-11-01 命令指定方法及び命令実行方式

Publications (2)

Publication Number Publication Date
JPH03147021A true JPH03147021A (ja) 1991-06-24
JP2835103B2 JP2835103B2 (ja) 1998-12-14

Family

ID=17691950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1285471A Expired - Fee Related JP2835103B2 (ja) 1989-11-01 1989-11-01 命令指定方法及び命令実行方式

Country Status (7)

Country Link
US (1) US5442762A (ja)
EP (1) EP0426393B1 (ja)
JP (1) JP2835103B2 (ja)
KR (1) KR930007041B1 (ja)
AU (1) AU625008B2 (ja)
CA (1) CA2029088C (ja)
DE (1) DE69031899T2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540630A (ja) * 1991-08-05 1993-02-19 Sharp Corp 中央処理装置
JPH05100897A (ja) * 1991-10-03 1993-04-23 Agency Of Ind Science & Technol 命令トレース方式
US6085306A (en) * 1997-06-16 2000-07-04 Matsushita Electric Industrial Co., Ltd Processor for executing highly efficient VLIW
US6115806A (en) * 1995-07-12 2000-09-05 Mitsubishi Denki Kabushiki Kaisha Data processor having an instruction decoder and a plurality of executing units for performing a plurality of operations in parallel
US6209080B1 (en) 1997-07-30 2001-03-27 Matsushita Electric Industrial Co., Ltd. Constant reconstruction processor that supports reductions in code size and processing time
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
USRE41751E1 (en) 1998-03-30 2010-09-21 Panasonic Corporation Instruction converting apparatus using parallel execution code
JP2012141810A (ja) * 2010-12-29 2012-07-26 Fujitsu Ltd 演算処理装置および演算処理方法
JP2014238859A (ja) * 2010-03-03 2014-12-18 クアルコム,インコーポレイテッド 階層型の超長命令パケットを処理するシステムおよび方法

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
ATE200357T1 (de) 1991-07-08 2001-04-15 Seiko Epson Corp Risc-prozessor mit dehnbarer architektur
JP3333196B2 (ja) * 1991-07-08 2002-10-07 セイコーエプソン株式会社 トラップ処理方法
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
EP0855647A1 (en) * 1992-01-06 1998-07-29 Hitachi, Ltd. Computer for performing data fetch and data prefetch in parallel
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
KR100248903B1 (ko) 1992-09-29 2000-03-15 야스카와 히데아키 수퍼스칼라마이크로프로세서에서의 적재 및 저장연산처리방법 및 시스템
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
WO1994027216A1 (en) * 1993-05-14 1994-11-24 Massachusetts Institute Of Technology Multiprocessor coupling system with integrated compile and run time scheduling for parallelism
EP0974894B1 (en) * 1993-11-05 2002-02-27 Intergraph Corporation Instruction cache associative cross-bar switch
US6360313B1 (en) 1993-11-05 2002-03-19 Intergraph Corporation Instruction cache associative crossbar switch
US5860085A (en) * 1994-08-01 1999-01-12 Cypress Semiconductor Corporation Instruction set for a content addressable memory array with read/write circuits and an interface register logic block
US6397262B1 (en) 1994-10-14 2002-05-28 Qnx Software Systems, Ltd. Window kernel
CA2118201C (en) * 1994-10-14 2003-02-04 Patrick M. Hayden Photon windowing kernel
US5867726A (en) * 1995-05-02 1999-02-02 Hitachi, Ltd. Microcomputer
US5848288A (en) * 1995-09-20 1998-12-08 Intel Corporation Method and apparatus for accommodating different issue width implementations of VLIW architectures
US5864704A (en) * 1995-10-10 1999-01-26 Chromatic Research, Inc. Multimedia processor using variable length instructions with opcode specification of source operand as result of prior instruction
JP3201716B2 (ja) * 1996-02-22 2001-08-27 シャープ株式会社 コンピュータ装置
US5867681A (en) * 1996-05-23 1999-02-02 Lsi Logic Corporation Microprocessor having register dependent immediate decompression
US5896519A (en) * 1996-06-10 1999-04-20 Lsi Logic Corporation Apparatus for detecting instructions from a variable-length compressed instruction set having extended and non-extended instructions
US5794010A (en) * 1996-06-10 1998-08-11 Lsi Logic Corporation Method and apparatus for allowing execution of both compressed instructions and decompressed instructions in a microprocessor
US5890009A (en) * 1996-12-12 1999-03-30 International Business Machines Corporation VLIW architecture and method for expanding a parcel
US6219779B1 (en) * 1997-06-16 2001-04-17 Matsushita Electric Industrial Co., Ltd. Constant reconstructing processor which supports reductions in code size
JP3327818B2 (ja) * 1997-08-29 2002-09-24 松下電器産業株式会社 プログラム変換装置及び記録媒体
US6012138A (en) * 1997-12-19 2000-01-04 Lsi Logic Corporation Dynamically variable length CPU pipeline for efficiently executing two instruction sets
US6112299A (en) * 1997-12-31 2000-08-29 International Business Machines Corporation Method and apparatus to select the next instruction in a superscalar or a very long instruction word computer having N-way branching
US6081884A (en) * 1998-01-05 2000-06-27 Advanced Micro Devices, Inc. Embedding two different instruction sets within a single long instruction word using predecode bits
US6076154A (en) * 1998-01-16 2000-06-13 U.S. Philips Corporation VLIW processor has different functional units operating on commands of different widths
US6237076B1 (en) * 1998-08-19 2001-05-22 International Business Machines Corporation Method for register renaming by copying a 32 bits instruction directly or indirectly to a 64 bits instruction
US6681319B1 (en) 1998-10-06 2004-01-20 Texas Instruments Incorporated Dual access instruction and compound memory access instruction with compatible address fields
EP0992892B1 (en) * 1998-10-06 2015-12-02 Texas Instruments Inc. Compound memory access instructions
US6366998B1 (en) * 1998-10-14 2002-04-02 Conexant Systems, Inc. Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model
US20080008393A1 (en) * 1999-04-09 2008-01-10 Dave Stuttard Parallel data processing apparatus
EP1181648A1 (en) 1999-04-09 2002-02-27 Clearspeed Technology Limited Parallel data processing apparatus
US20080162875A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel Data Processing Apparatus
US8171263B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US8169440B2 (en) 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US8762691B2 (en) 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US20070242074A1 (en) * 1999-04-09 2007-10-18 Dave Stuttard Parallel data processing apparatus
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US8174530B2 (en) * 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
US7526630B2 (en) * 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US20080162874A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel data processing apparatus
US6928073B2 (en) * 1999-10-01 2005-08-09 Stmicroelectronics Ltd. Integrated circuit implementing packet transmission
US6675285B1 (en) * 2000-04-21 2004-01-06 Ati International, Srl Geometric engine including a computational module without memory contention
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
KR100636596B1 (ko) 2004-11-25 2006-10-23 한국전자통신연구원 고에너지 효율 병렬 처리 데이터 패스 구조
US8495341B2 (en) * 2010-02-17 2013-07-23 International Business Machines Corporation Instruction length based cracking for instruction of variable length storage operands
US20110314263A1 (en) * 2010-06-22 2011-12-22 International Business Machines Corporation Instructions for performing an operation on two operands and subsequently storing an original value of operand

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488219A (en) * 1982-03-18 1984-12-11 International Business Machines Corporation Extended control word decoding
US4569016A (en) * 1983-06-30 1986-02-04 International Business Machines Corporation Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system
US5179680A (en) * 1987-04-20 1993-01-12 Digital Equipment Corporation Instruction storage and cache miss recovery in a high speed multiprocessing parallel processing apparatus
US5036454A (en) * 1987-05-01 1991-07-30 Hewlett-Packard Company Horizontal computer having register multiconnect for execution of a loop with overlapped code
JP2635057B2 (ja) * 1987-11-04 1997-07-30 株式会社日立製作所 マイクロプロセッサ
US5115500A (en) * 1988-01-11 1992-05-19 International Business Machines Corporation Plural incompatible instruction format decode method and apparatus
US5202967A (en) * 1988-08-09 1993-04-13 Matsushita Electric Industrial Co., Ltd. Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
US5051885A (en) * 1988-10-07 1991-09-24 Hewlett-Packard Company Data processing system for concurrent dispatch of instructions to multiple functional units
US5293592A (en) * 1989-04-07 1994-03-08 Intel Corporatino Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US5197137A (en) * 1989-07-28 1993-03-23 International Business Machines Corporation Computer architecture for the concurrent execution of sequential programs

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0540630A (ja) * 1991-08-05 1993-02-19 Sharp Corp 中央処理装置
JPH05100897A (ja) * 1991-10-03 1993-04-23 Agency Of Ind Science & Technol 命令トレース方式
US6115806A (en) * 1995-07-12 2000-09-05 Mitsubishi Denki Kabushiki Kaisha Data processor having an instruction decoder and a plurality of executing units for performing a plurality of operations in parallel
US6397323B1 (en) 1995-07-12 2002-05-28 Mitsubishi Denki Kabushiki Kaisha Data processor having an instruction decoder
US7533243B2 (en) 1997-06-16 2009-05-12 Panasonic Corporation Processor for executing highly efficient VLIW
US6085306A (en) * 1997-06-16 2000-07-04 Matsushita Electric Industrial Co., Ltd Processor for executing highly efficient VLIW
US6397319B1 (en) 1997-06-16 2002-05-28 Matsushita Electric Ind. Co., Ltd. Process for executing highly efficient VLIW
US6834336B2 (en) 1997-06-16 2004-12-21 Matsushita Electric Industrial Co., Ltd. Processor for executing highly efficient VLIW
US6209080B1 (en) 1997-07-30 2001-03-27 Matsushita Electric Industrial Co., Ltd. Constant reconstruction processor that supports reductions in code size and processing time
US7194602B2 (en) 1998-03-11 2007-03-20 Matsushita Electric Industrial Co., Ltd. Data processor
US7664934B2 (en) 1998-03-11 2010-02-16 Panasonic Corporation Data processor decoding instruction formats using operand data
US7979676B2 (en) 1998-03-11 2011-07-12 Panasonic Corporation Method for instructing a data processor to process data
US8443173B2 (en) 1998-03-11 2013-05-14 Panasonic Corporation Method for instructing a data processor to process data
US8650386B2 (en) 1998-03-11 2014-02-11 Panasonic Corporation Data processor including an operation unit to execute operations in parallel
USRE41751E1 (en) 1998-03-30 2010-09-21 Panasonic Corporation Instruction converting apparatus using parallel execution code
JP2014238859A (ja) * 2010-03-03 2014-12-18 クアルコム,インコーポレイテッド 階層型の超長命令パケットを処理するシステムおよび方法
US9678754B2 (en) 2010-03-03 2017-06-13 Qualcomm Incorporated System and method of processing hierarchical very long instruction packets
JP2012141810A (ja) * 2010-12-29 2012-07-26 Fujitsu Ltd 演算処理装置および演算処理方法
US9043581B2 (en) 2010-12-29 2015-05-26 Fujitsu Limited Storing in other queue when reservation station instruction queue reserved for immediate source operand instruction execution unit is full

Also Published As

Publication number Publication date
AU6572290A (en) 1991-08-01
JP2835103B2 (ja) 1998-12-14
DE69031899D1 (de) 1998-02-12
EP0426393A3 (en) 1991-08-07
KR930007041B1 (ko) 1993-07-26
EP0426393A2 (en) 1991-05-08
DE69031899T2 (de) 1998-04-16
AU625008B2 (en) 1992-06-25
KR910010301A (ko) 1991-06-29
CA2029088C (en) 1994-05-03
EP0426393B1 (en) 1998-01-07
US5442762A (en) 1995-08-15
CA2029088A1 (en) 1991-05-02

Similar Documents

Publication Publication Date Title
JPH03147021A (ja) 命令指定方法及び命令実行方式
KR101812569B1 (ko) 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑
JP4879307B2 (ja) プロセッサでの条件付き実行をサポートする装置及びその方法
US6356994B1 (en) Methods and apparatus for instruction addressing in indirect VLIW processors
EP1267256A2 (en) Conditional execution of instructions with multiple destinations
US5787025A (en) Method and system for performing arithmetic operations with single or double precision
JP3781519B2 (ja) プロセッサの命令制御機構
GB2402764A (en) Instruction endcoding within a data processing apparatus having multiple instruction sets
KR100765567B1 (ko) 산술 논리 유닛 및 스택을 가지는 데이터 프로세서, 멀티미디어 장치 및 컴퓨터 판독가능 기록 매체
JPH03286332A (ja) デジタルデータ処理装置
US4649477A (en) Operand size mechanism for control simplification
US20240004663A1 (en) Processing device with vector transformation execution
US10437598B2 (en) Method and apparatus for selecting among a plurality of instruction sets to a microprocessor
EP1220089B1 (en) Method for executing conditional branch instructions in a data processor and corresponding data processor
JP3841967B2 (ja) マイクロプロセッサ
JP2000122919A (ja) プロセッサ及びメモリ制御方法
US20040093484A1 (en) Methods and apparatus for establishing port priority functions in a VLIW processor
USRE41012E1 (en) Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor
KR20010072490A (ko) 레지스터 스택을 포함하는 데이터 프로세서, 그 처리방법, 컴퓨터 프로그램 제품 및 멀티미디어 장치
JP3128843B2 (ja) 情報処理装置
JP3524240B2 (ja) 並列命令処理装置
JP2000298589A (ja) マイクロプロセッサ
JPH07200289A (ja) 情報処理装置
JP2581298B2 (ja) メモリアクセス権情報供給機構
JPH0557614B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees