JP2835103B2 - 命令指定方法及び命令実行方式 - Google Patents
命令指定方法及び命令実行方式Info
- Publication number
- JP2835103B2 JP2835103B2 JP1285471A JP28547189A JP2835103B2 JP 2835103 B2 JP2835103 B2 JP 2835103B2 JP 1285471 A JP1285471 A JP 1285471A JP 28547189 A JP28547189 A JP 28547189A JP 2835103 B2 JP2835103 B2 JP 2835103B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- word
- register
- format
- designation
- 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 - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000010365 information processing Effects 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 3
- 101150110872 ric-3 gene Proteins 0.000 description 2
- 101100396933 Pseudomonas aeruginosa (strain ATCC 15692 / DSM 22644 / CIP 104116 / JCM 14847 / LMG 12228 / 1C / PRS 101 / PAO1) imm2 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3853—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or 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)
Description
【発明の詳細な説明】 〔概要〕 情報処理装置で実行する命令を指定し、これを実行す
る命令指定方法及び命令実行方式に関し、 ビット使用効率が向上し、大きな即値データを指定で
き、複数の命令を同時実行するためのハードウェア構成
が簡単となることを目的とし、 情報処理装置で実行する命令を指定する命令指定方法
において、少なくとも命令コードと1つの演算を指定す
るオペランド指定部とを持つ可変長の演算指定命令を少
なくとも一つ有し、前記演算指定命令は、第1,第2レジ
スタの内容を演算して第3レジスタに格納する第1命令
形成と、第1レジスタの内容と即値データとを演算して
第3レジスタに格納する第2命令形式と、即値データを
第3レジスタに格納する第3命令形式を持つ構成とし、
タイプコードと少なくとも1つの演算指定命令とから固
定長の大命令語を構成し、前記タイプコードは前記大命
令語を構成する少なくとも1つの演算指定命令を指定す
る構成とし、大命令語で複数の演算を指定し、各演算指
定命令をタイプコードに応じ複数の演算手段の中で対応
するものに割り当て、割り当てられた演算手段で独立し
て演算指定命令を実行し、情報処理装置に於いて、一つ
の演算を指定する演算指定命令を少なくとも一つ有し、
且つ前記演算指定命令が幾つあるか且つどの様な演算指
定部の組合せかの演算形式を指定するタイプコードを有
する固定長の大命令語を入力する入力手段と、前記タイ
プコードより、前記大命令語の演算指定命令の組合せ且
つ演算指定命令の数を判断する演算形式判断部と、複数
の演算手段と、演算形式判断部の形式判断に従い、前記
大命令語内の演算指定命令のそれぞれを前記複数の演算
手段の内適当な演算手段に割り当て、送出する演算割り
当て手段を有し構成する。
る命令指定方法及び命令実行方式に関し、 ビット使用効率が向上し、大きな即値データを指定で
き、複数の命令を同時実行するためのハードウェア構成
が簡単となることを目的とし、 情報処理装置で実行する命令を指定する命令指定方法
において、少なくとも命令コードと1つの演算を指定す
るオペランド指定部とを持つ可変長の演算指定命令を少
なくとも一つ有し、前記演算指定命令は、第1,第2レジ
スタの内容を演算して第3レジスタに格納する第1命令
形成と、第1レジスタの内容と即値データとを演算して
第3レジスタに格納する第2命令形式と、即値データを
第3レジスタに格納する第3命令形式を持つ構成とし、
タイプコードと少なくとも1つの演算指定命令とから固
定長の大命令語を構成し、前記タイプコードは前記大命
令語を構成する少なくとも1つの演算指定命令を指定す
る構成とし、大命令語で複数の演算を指定し、各演算指
定命令をタイプコードに応じ複数の演算手段の中で対応
するものに割り当て、割り当てられた演算手段で独立し
て演算指定命令を実行し、情報処理装置に於いて、一つ
の演算を指定する演算指定命令を少なくとも一つ有し、
且つ前記演算指定命令が幾つあるか且つどの様な演算指
定部の組合せかの演算形式を指定するタイプコードを有
する固定長の大命令語を入力する入力手段と、前記タイ
プコードより、前記大命令語の演算指定命令の組合せ且
つ演算指定命令の数を判断する演算形式判断部と、複数
の演算手段と、演算形式判断部の形式判断に従い、前記
大命令語内の演算指定命令のそれぞれを前記複数の演算
手段の内適当な演算手段に割り当て、送出する演算割り
当て手段を有し構成する。
本発明は命令指定方法及び命令実行方式に関し、情報
処理装置で実行する命令を指定し、これを実行する命令
指定方法及び命令実行方式に関する。
処理装置で実行する命令を指定し、これを実行する命令
指定方法及び命令実行方式に関する。
近年、半導体の集積度,スピードの向上に伴いプロセ
ッサの性能向上は著しいが、一層の性能向上が要求され
ている。この性能向上の要求に応えるため、RISC(Redu
ced Instruction Set Computer)と呼ばれるアーキ
テクチャが普及しつつある。このアーキテクチャは一般
的に32bit固定長の命令語で、演算はレジスタ間のみで
行ない、メモリアクセスはメモリとレジスタの間の転送
のみに限りプログラムの使用頻度が高い命令のみを持つ
ものである。これらの制限により命令実行に必要な物量
の削減及び制御の簡単化ができ、ひいては動作クロック
の高速化あるいは1命令実行に必要なサイクル数の短縮
により性能向上が図れる。また一層の性能向上を進める
ために、複数の命令を同時に実行する試みも進められて
いる。
ッサの性能向上は著しいが、一層の性能向上が要求され
ている。この性能向上の要求に応えるため、RISC(Redu
ced Instruction Set Computer)と呼ばれるアーキ
テクチャが普及しつつある。このアーキテクチャは一般
的に32bit固定長の命令語で、演算はレジスタ間のみで
行ない、メモリアクセスはメモリとレジスタの間の転送
のみに限りプログラムの使用頻度が高い命令のみを持つ
ものである。これらの制限により命令実行に必要な物量
の削減及び制御の簡単化ができ、ひいては動作クロック
の高速化あるいは1命令実行に必要なサイクル数の短縮
により性能向上が図れる。また一層の性能向上を進める
ために、複数の命令を同時に実行する試みも進められて
いる。
第6図(A)〜(C)夫々は従来のRISCアーキテクチ
ャによる命令形式の各例を示す。
ャによる命令形式の各例を示す。
第6図(A)に示す第1の形式の命令は命令コードOP
に基づき、第2レジスタ指定フィールドR2Xで指定する
レジスタの内容と、第3レジスタ指定フィールドR3Xで
指定するレジタの内容とを演算して第1レジスタ指定フ
ィールドR1Xで指定するレジスタに格納することを指示
する。
に基づき、第2レジスタ指定フィールドR2Xで指定する
レジスタの内容と、第3レジスタ指定フィールドR3Xで
指定するレジタの内容とを演算して第1レジスタ指定フ
ィールドR1Xで指定するレジスタに格納することを指示
する。
同図(B)に示す第2の形式の命令は演算命令を場合
に第2レジスタ指定フィールドR2Xの指定レジスタの内
容と16ビットの即値データIMM16とを演算して第1レジ
スタ指定フィールドR1Xのレジスタに格納し、ロード命
令の場合に上記R2Xのレジスタの内容であるアドレスとI
MM16として与えられた変位とを加算して得られるメモリ
上のアドレスのデータを第1レジスタ指定フィールドR1
Xのレジスタに格納することを指定する。
に第2レジスタ指定フィールドR2Xの指定レジスタの内
容と16ビットの即値データIMM16とを演算して第1レジ
スタ指定フィールドR1Xのレジスタに格納し、ロード命
令の場合に上記R2Xのレジスタの内容であるアドレスとI
MM16として与えられた変位とを加算して得られるメモリ
上のアドレスのデータを第1レジスタ指定フィールドR1
Xのレジスタに格納することを指定する。
同図(C)に示す第3の形式の命令は21ビットの即値
データIMM21を第1レジスタ指定フィールドR1Xの指定レ
ジスタに格納することを指示する。
データIMM21を第1レジスタ指定フィールドR1Xの指定レ
ジスタに格納することを指示する。
従来の第1の形式の命令は第21〜第31ビットが使用さ
れておらずビット使用効率が悪いという問題がある。第
2又は第3の形式では16又は21ビットを越える大きな即
値データ及び変位を必要とするとき複数命令で指定しな
ければならない。また、複数命令を並列実行しようとす
るとき、この並列実行する命令の組合せの数が多いた
め、制御が複雑になり並列実行するハードウェア構成が
大規模化するという問題があった。
れておらずビット使用効率が悪いという問題がある。第
2又は第3の形式では16又は21ビットを越える大きな即
値データ及び変位を必要とするとき複数命令で指定しな
ければならない。また、複数命令を並列実行しようとす
るとき、この並列実行する命令の組合せの数が多いた
め、制御が複雑になり並列実行するハードウェア構成が
大規模化するという問題があった。
本発明は上記の点に鑑みなされたもので、ビット使用
効率が向上し、大きな即値データを指定でき、複数の命
令を同時実行するためのハードウェア構成が簡単となる
命令指定方法及び命令実行方式を提供することを目的と
する。
効率が向上し、大きな即値データを指定でき、複数の命
令を同時実行するためのハードウェア構成が簡単となる
命令指定方法及び命令実行方式を提供することを目的と
する。
本発明の命令指定方法は、情報処理装置で実行する命
令を指定する命令指定方法において、 少なくとも命令コードと1つの演算を指定するオペラ
ンド指定部とを持つ可変長の演算指定命令を少なくとも
一つ有し、前記演算指定命令は、第1,第2レジスタの内
容を演算して第3レジスタに格納する第1命令形成と、
第1レジスタの内容と即値データとを演算して第3レジ
スタに格納する第2命令形式と、即値データを第3レジ
スタに格納する第3命令形式を持つ構成とし、 タイプコードと少なくとも1つの演算指定命令とから
固定長の大命令語を構成し、前記タイプコードは前記大
命令語を構成する少なくとも1つの演算指定命令を指定
する構成とし、 大命令語で複数の演算を指定し、 各演算指定命令をタイプコードに応じ複数の演算手段
の中で対応するものに割り当て、 割り当てられた演算手段で独立して演算指定命令を実
行する。
令を指定する命令指定方法において、 少なくとも命令コードと1つの演算を指定するオペラ
ンド指定部とを持つ可変長の演算指定命令を少なくとも
一つ有し、前記演算指定命令は、第1,第2レジスタの内
容を演算して第3レジスタに格納する第1命令形成と、
第1レジスタの内容と即値データとを演算して第3レジ
スタに格納する第2命令形式と、即値データを第3レジ
スタに格納する第3命令形式を持つ構成とし、 タイプコードと少なくとも1つの演算指定命令とから
固定長の大命令語を構成し、前記タイプコードは前記大
命令語を構成する少なくとも1つの演算指定命令を指定
する構成とし、 大命令語で複数の演算を指定し、 各演算指定命令をタイプコードに応じ複数の演算手段
の中で対応するものに割り当て、 割り当てられた演算手段で独立して演算指定命令を実
行する。
また、本発明の命令実行方式は、情報処理装置に於い
て、 一つの演算を指定する演算指定命令を少なくとも一つ
有し、且つ前記演算指定命令が幾つあるか且つどの様な
演算指定部の組合せかの演算形式を指定するタイプコー
ドを有する固定長の大命令語を入力する入力手段と、 前記タイプコードより、前記大命令語の演算指定命令
の組合せ且つ演算指定命令の数を判断する演算形式判断
部と、 複数の演算手段と、 演算形式判断部の形式判断に従い、前記大命令語内の
演算指定命令のそれぞれを前記複数の演算手段の内適当
な演算手段に割り当て、送出する演算割り当て手段を有
する。
て、 一つの演算を指定する演算指定命令を少なくとも一つ
有し、且つ前記演算指定命令が幾つあるか且つどの様な
演算指定部の組合せかの演算形式を指定するタイプコー
ドを有する固定長の大命令語を入力する入力手段と、 前記タイプコードより、前記大命令語の演算指定命令
の組合せ且つ演算指定命令の数を判断する演算形式判断
部と、 複数の演算手段と、 演算形式判断部の形式判断に従い、前記大命令語内の
演算指定命令のそれぞれを前記複数の演算手段の内適当
な演算手段に割り当て、送出する演算割り当て手段を有
する。
本発明においては、固定長の大命令語をタイプコード
と複数の命令語とで構成することで大命令語の未使用ビ
ットがなくなりビット使用効率が向上する。また、大命
令語を構成する命令語の数を少なくして大きな即値デー
タを指定することができる。更にタイプコードにより大
命令語を構成する命令語の構成つまり組合せを規定でき
この組合せの規定により複数命令を並列実行する際の制
御及びハードウェア構成が簡単となる。
と複数の命令語とで構成することで大命令語の未使用ビ
ットがなくなりビット使用効率が向上する。また、大命
令語を構成する命令語の数を少なくして大きな即値デー
タを指定することができる。更にタイプコードにより大
命令語を構成する命令語の構成つまり組合せを規定でき
この組合せの規定により複数命令を並列実行する際の制
御及びハードウェア構成が簡単となる。
第1図(A)〜(D)は本発明方式の命令形式の各実
施例を示す。
施例を示す。
第1図(A)に示す第1の形式(語形式)の大命令語
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜23,24〜43,44〜63夫々の形式Aの3つの
命令語よりなる。ビット4〜23の形式A(第1命令形
式)の命令語は5ビットの命令コードOPaと、オペラン
ド指定部としての5ビットの第1レジスタ指定フィール
ドRa1、及び5ビットの第2レジスタ指定フィールドRa
2、及び5ビットの第3レジスタ指定フィールドRa3とよ
り構成されており、第1レジスタ指定フィールドRa1の
指定するレジスタの内容を第2レジスタ指定フィールド
Ra2の指定するレジスタの内容とを演算して第3レジス
タ指定フィールドRa3の指定するレジスタに格納するこ
とを指示する。ビット24〜43の形式Aの命令語は5ビッ
トの命令コードOPbに対応して、オペランド指定部とし
ての5ビットの第1レジスタ指定フィールドRb1、及び
5ビットの第2レジスタ指定フィールドRb2、及び5ビ
ットの第3レジスタ指定フィールドRb3とより構成され
ており、第1レジスタ指定フィールドRb1の指定するレ
ジスタの内容を第2レジスタ指定フィールドRb2の指定
するレジスタの内容とを演算して第3レジスタ指定フィ
ールドRb3の指定するレジスタに格納することを指示す
る。
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜23,24〜43,44〜63夫々の形式Aの3つの
命令語よりなる。ビット4〜23の形式A(第1命令形
式)の命令語は5ビットの命令コードOPaと、オペラン
ド指定部としての5ビットの第1レジスタ指定フィール
ドRa1、及び5ビットの第2レジスタ指定フィールドRa
2、及び5ビットの第3レジスタ指定フィールドRa3とよ
り構成されており、第1レジスタ指定フィールドRa1の
指定するレジスタの内容を第2レジスタ指定フィールド
Ra2の指定するレジスタの内容とを演算して第3レジス
タ指定フィールドRa3の指定するレジスタに格納するこ
とを指示する。ビット24〜43の形式Aの命令語は5ビッ
トの命令コードOPbに対応して、オペランド指定部とし
ての5ビットの第1レジスタ指定フィールドRb1、及び
5ビットの第2レジスタ指定フィールドRb2、及び5ビ
ットの第3レジスタ指定フィールドRb3とより構成され
ており、第1レジスタ指定フィールドRb1の指定するレ
ジスタの内容を第2レジスタ指定フィールドRb2の指定
するレジスタの内容とを演算して第3レジスタ指定フィ
ールドRb3の指定するレジスタに格納することを指示す
る。
ビット44〜63の形式Aの命令語は5ビットの命令コー
ドOPcに対応して、オペランド指定部としての5ビット
の第1レジスタ指定フィールドRc1、及び5ビットの第
2レジスタ指定フィールドRc2、及び5ビットの第3レ
ジスタ指定フィールドRc3とより構成されており、第1
レジスタ指定フィールドRc1の指定するレジスタの内容
を第2レジスタ指定フィールドRc2の指定するレジスタ
の内容とを演算して第3レジスタ指定フィールドRc3の
指定するレジスタに格納することを指示する。演算の種
類は4ビットのタイプコードTypeと5ビットの命令コー
ドOPa,OPb,OPcとの組合せによって指定され、これは後
述する形式B,C,Dについても同様である。
ドOPcに対応して、オペランド指定部としての5ビット
の第1レジスタ指定フィールドRc1、及び5ビットの第
2レジスタ指定フィールドRc2、及び5ビットの第3レ
ジスタ指定フィールドRc3とより構成されており、第1
レジスタ指定フィールドRc1の指定するレジスタの内容
を第2レジスタ指定フィールドRc2の指定するレジスタ
の内容とを演算して第3レジスタ指定フィールドRc3の
指定するレジスタに格納することを指示する。演算の種
類は4ビットのタイプコードTypeと5ビットの命令コー
ドOPa,OPb,OPcとの組合せによって指定され、これは後
述する形式B,C,Dについても同様である。
第1図(B)に示す第2の形式(語形式)の大命令語
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜23の形式Aの命令語と、ビット24〜63の
形式Bの命令語よりなる。形式Aの命令語はタイプコー
ドTypeと5ビットの命令コードOPaとに応じて5ビット
の第1レジスタ指定フィールドRa1の指定するレジスタ
の内容を5ビットの第2レジスタ指定フィールドRa2の
指定するレジスタの内容とを演算して5ビットの第3レ
ジスタ指定フィールドRa3の指定するレジスタに格納す
ることを指示する。形式B(第2命令形式)の命令語は
ビット24〜28の命令コードOPbが演算命令の場合にビッ
ト29〜33の第1レジスタ指定フィールドRb1の指定レジ
スタの内容とビット34〜58の即値データIMM25とを演算
してビット59〜63の第3レジスタ指定フィールドRb3の
指定レジスタに格納し、ロード命令の場合にRb1のレジ
スタの内容であるアドレスとIMM25として与えられた変
位とを加算して得られるメモリ上のアドレスのデータを
Rb3の指定レジスタに格納することを指示する。
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜23の形式Aの命令語と、ビット24〜63の
形式Bの命令語よりなる。形式Aの命令語はタイプコー
ドTypeと5ビットの命令コードOPaとに応じて5ビット
の第1レジスタ指定フィールドRa1の指定するレジスタ
の内容を5ビットの第2レジスタ指定フィールドRa2の
指定するレジスタの内容とを演算して5ビットの第3レ
ジスタ指定フィールドRa3の指定するレジスタに格納す
ることを指示する。形式B(第2命令形式)の命令語は
ビット24〜28の命令コードOPbが演算命令の場合にビッ
ト29〜33の第1レジスタ指定フィールドRb1の指定レジ
スタの内容とビット34〜58の即値データIMM25とを演算
してビット59〜63の第3レジスタ指定フィールドRb3の
指定レジスタに格納し、ロード命令の場合にRb1のレジ
スタの内容であるアドレスとIMM25として与えられた変
位とを加算して得られるメモリ上のアドレスのデータを
Rb3の指定レジスタに格納することを指示する。
第1図(C)に示す第3の形式(語形式)の大命令語
は64ビット構成で、ビット0〜3のタイプコードType
と、ビットビット4〜23の形式Aの命令語と、ビット24
〜63の形式C(第3命令形式)の命令語とよりなる。形
式Aの命令語はタイプコードTypeと5ビットの命令コー
ドOPaとに応じて5ビットの第1レジスタ指定フィール
ドRa1の指定するレジスタの内容を5ビットの第2レジ
スタ指定フィールドRa2の指定するレジスタの内容とを
演算して5ビットの第3レジスタ指定フィールドRa3の
指定するレジスタに格納することを指示する。形式Cの
命令語はタイプコードTypeと、ビット24〜26の命令コー
ドOPbとに応じてビット27〜58の即値データIMM32をビッ
ト59〜63の第3レジスタ指定フィールドRb3の指定レジ
スタに格納することを指示する。
は64ビット構成で、ビット0〜3のタイプコードType
と、ビットビット4〜23の形式Aの命令語と、ビット24
〜63の形式C(第3命令形式)の命令語とよりなる。形
式Aの命令語はタイプコードTypeと5ビットの命令コー
ドOPaとに応じて5ビットの第1レジスタ指定フィール
ドRa1の指定するレジスタの内容を5ビットの第2レジ
スタ指定フィールドRa2の指定するレジスタの内容とを
演算して5ビットの第3レジスタ指定フィールドRa3の
指定するレジスタに格納することを指示する。形式Cの
命令語はタイプコードTypeと、ビット24〜26の命令コー
ドOPbとに応じてビット27〜58の即値データIMM32をビッ
ト59〜63の第3レジスタ指定フィールドRb3の指定レジ
スタに格納することを指示する。
第1図(D)に示す第4の形式(語形式)の大命令語
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜63の形式D(第3命令形式)の60ビット
の命令語で構成されている。形式Dの命令語はタイプコ
ードTypeとビット4〜8の命令コードOPaに応じてビッ
ト9〜40の即値データIMM32をビット59〜63の第3レジ
スタ指定フィールドRa3の指定レジスタに格納すること
を指示している。
は64ビット構成で、ビット0〜3のタイプコードType
と、ビット4〜63の形式D(第3命令形式)の60ビット
の命令語で構成されている。形式Dの命令語はタイプコ
ードTypeとビット4〜8の命令コードOPaに応じてビッ
ト9〜40の即値データIMM32をビット59〜63の第3レジ
スタ指定フィールドRa3の指定レジスタに格納すること
を指示している。
上記の形式A〜DはタイプコードTypeの値によって区
別される。
別される。
第2図は本発明方式を適用した情報処理装置の一実施
例のブロック図を示す。
例のブロック図を示す。
同図中、インストラクション・メモリ20から読出され
た64ビットの大命令語はプロセッサ21内の命令レジスタ
(IR)22に格納され、格納された大命令語の各ビットが
制御回路23に供給される。
た64ビットの大命令語はプロセッサ21内の命令レジスタ
(IR)22に格納され、格納された大命令語の各ビットが
制御回路23に供給される。
制御回路23は第3図に示す構成であり、デコーダ(DE
C)25はIR22の0〜3ビットつまりタイプコードTypeを
デコードし、デコーダ26,27,28夫々はIR22の0〜3ビッ
ト(タイプコードType)を付加して4〜8ビット,24〜2
8ビット,44〜48ビット(第1の形式の命令コードOPa,OP
b,OPcに相当)夫々のデコードを行なって第1〜第3演
算器制御信号を生成する。セレクタ24はデコーダ25の出
力に応じてIR22のビット19〜23又はビット59〜63のいず
れかを選択し、選択されたビットがEサイクルでラッチ
回路(LT)29にラッチされる。IR22のビット59〜63はE
サイクルでラッチ回路30にラッチされる。セレクタ31は
デコーダ25の出力に応じてIR22のビット59〜63又はビッ
ト39〜43のいずれかを選択し、選択されたビットがEサ
イクルでラッチ回路32にラッチされる。ラッチ回路29,3
2,30夫々の出力はWサイクルでラッチ回路35,36,37にラ
ッチされ、デコーダ40,41,42夫々でデコードされる。ま
たラッチ36の出力はAサイクルでラッチ回路43にラッチ
され、デコーダ44でデコードされる。デコーダ40〜42,4
4夫々はデコーダ26〜28の出力する演算器制御信号の一
部によって動作可能となるよう制御されている。32個の
オア回路450〜4531夫々はデコーダ40〜42,44の出力より
クロック・ゲート・イネーブル信号(CGE)0〜31を作
成する。
C)25はIR22の0〜3ビットつまりタイプコードTypeを
デコードし、デコーダ26,27,28夫々はIR22の0〜3ビッ
ト(タイプコードType)を付加して4〜8ビット,24〜2
8ビット,44〜48ビット(第1の形式の命令コードOPa,OP
b,OPcに相当)夫々のデコードを行なって第1〜第3演
算器制御信号を生成する。セレクタ24はデコーダ25の出
力に応じてIR22のビット19〜23又はビット59〜63のいず
れかを選択し、選択されたビットがEサイクルでラッチ
回路(LT)29にラッチされる。IR22のビット59〜63はE
サイクルでラッチ回路30にラッチされる。セレクタ31は
デコーダ25の出力に応じてIR22のビット59〜63又はビッ
ト39〜43のいずれかを選択し、選択されたビットがEサ
イクルでラッチ回路32にラッチされる。ラッチ回路29,3
2,30夫々の出力はWサイクルでラッチ回路35,36,37にラ
ッチされ、デコーダ40,41,42夫々でデコードされる。ま
たラッチ36の出力はAサイクルでラッチ回路43にラッチ
され、デコーダ44でデコードされる。デコーダ40〜42,4
4夫々はデコーダ26〜28の出力する演算器制御信号の一
部によって動作可能となるよう制御されている。32個の
オア回路450〜4531夫々はデコーダ40〜42,44の出力より
クロック・ゲート・イネーブル信号(CGE)0〜31を作
成する。
第2図に示すプロセッサ21はパイプライン動作を行な
う。この場合、第4図(A)に示すクロックに同期し
て、1番目の大命令語は同図(B)の如くフェッチ
(F),デコード(D),イグゼキュート(E),ライ
ト(W)の各サイクルが実行され、2番目,3番目の大命
令語は同図(C),(D)夫々に示す如く各サイクルが
実行される。つまり連続して実行される各大命令語は各
サイクルが1サイクルずれている。
う。この場合、第4図(A)に示すクロックに同期し
て、1番目の大命令語は同図(B)の如くフェッチ
(F),デコード(D),イグゼキュート(E),ライ
ト(W)の各サイクルが実行され、2番目,3番目の大命
令語は同図(C),(D)夫々に示す如く各サイクルが
実行される。つまり連続して実行される各大命令語は各
サイクルが1サイクルずれている。
但し大命令語内のロード命令はEサイクルの代りにア
ドレス計算が行なわれ、Wサイクルの代りにメモリアク
セスが行なわれ(Aサイクル)、この次にWサイクルが
実行される。
ドレス計算が行なわれ、Wサイクルの代りにメモリアク
セスが行なわれ(Aサイクル)、この次にWサイクルが
実行される。
ここで、IR22に第1の形式の大命令語が格納れている
場合、デコーダ25はタイプコードTypeをデコードし、デ
コーダ26,27,28夫々はタイプコードTypeを付加した命令
コードOPa,OPb,OPc夫々をデコードする。また、Eサイ
クルでラッチ回路29,32,30夫々に第3レジスタ指定フィ
ールドRa3,Rb3,Rc3夫々がラッチされ、Wサイクルでラ
ッチ回路35,36,37夫々に上記第3レジスタ指定フィール
ドRa3,Rb3,Rc3夫々がラッチされてデコーダ40,41,42夫
々でデコードされる。
場合、デコーダ25はタイプコードTypeをデコードし、デ
コーダ26,27,28夫々はタイプコードTypeを付加した命令
コードOPa,OPb,OPc夫々をデコードする。また、Eサイ
クルでラッチ回路29,32,30夫々に第3レジスタ指定フィ
ールドRa3,Rb3,Rc3夫々がラッチされ、Wサイクルでラ
ッチ回路35,36,37夫々に上記第3レジスタ指定フィール
ドRa3,Rb3,Rc3夫々がラッチされてデコーダ40,41,42夫
々でデコードされる。
IR22に第2の形式の大命令語が格納されている場合、
デコーダ25はタイプコードTypeをデコードし、デコーダ
26,27夫々はタイプコードTypeを付加して命令コードOP
a,OPb夫々をデコードする。また、セレクタ31がデコー
ダ25の出力によりIR22のビット59〜63を選択してEサイ
クルでラッチ回路29,32夫々に第3レジスタ指定フィー
ルドRa3,Rb3夫々がラッチされ、更にWサイクルでラッ
チ回路35,36夫々にラッチされてデコーダ40,41夫々でデ
コードされる。デコーダ42はデコーダ28の出力する演算
器制御信号の一部によって非動作状態とされる。また、
ラッチ回路36の出力する第3レジスタ指定フィールドRb
3はAサイクルでラッチ回路43にラッチされ、形式Bの
命令語がロード命令の場合にのみデコーダ27の出力する
演算器制御信号の一部で動作状態とされるデコーダ44で
デコードされる。
デコーダ25はタイプコードTypeをデコードし、デコーダ
26,27夫々はタイプコードTypeを付加して命令コードOP
a,OPb夫々をデコードする。また、セレクタ31がデコー
ダ25の出力によりIR22のビット59〜63を選択してEサイ
クルでラッチ回路29,32夫々に第3レジスタ指定フィー
ルドRa3,Rb3夫々がラッチされ、更にWサイクルでラッ
チ回路35,36夫々にラッチされてデコーダ40,41夫々でデ
コードされる。デコーダ42はデコーダ28の出力する演算
器制御信号の一部によって非動作状態とされる。また、
ラッチ回路36の出力する第3レジスタ指定フィールドRb
3はAサイクルでラッチ回路43にラッチされ、形式Bの
命令語がロード命令の場合にのみデコーダ27の出力する
演算器制御信号の一部で動作状態とされるデコーダ44で
デコードされる。
IR22に第3の形式の大命令語が格納されている場合、
デコーダ25はタイプコードTypeをデコードし、デコーダ
26,27夫々はタイプコードTypeを付加して命令コードOP
a,OPb夫々をデコードする。また、セレクタ31がデコー
ダ25の出力によりIR22のビット59〜63を選択してEサイ
クルでラッチ回路29,32夫々に第3レジスタ指定フィー
ルドRa3,Rb3夫々がラッチされ、更にWサイクルでラッ
チ回路35,36夫々にラッチされてデコーダ40,41夫々でデ
コードされる。デコーダ40,41夫々でデコードされる。
デコーダ42はデコーダ28の出力する演算器制御信号の一
部によって非動作状態とされる。また、ラッチ回路36の
出力する第3レジスタ指定フィールドRb3はAサイクル
でラッチ回路43にラッチされ、形式Cの命令語がロード
命令の場合にのみデコーダ27の出力する演算器制御信号
の一部で動作状態とされるデコーダ44でデコードされ
る。
デコーダ25はタイプコードTypeをデコードし、デコーダ
26,27夫々はタイプコードTypeを付加して命令コードOP
a,OPb夫々をデコードする。また、セレクタ31がデコー
ダ25の出力によりIR22のビット59〜63を選択してEサイ
クルでラッチ回路29,32夫々に第3レジスタ指定フィー
ルドRa3,Rb3夫々がラッチされ、更にWサイクルでラッ
チ回路35,36夫々にラッチされてデコーダ40,41夫々でデ
コードされる。デコーダ40,41夫々でデコードされる。
デコーダ42はデコーダ28の出力する演算器制御信号の一
部によって非動作状態とされる。また、ラッチ回路36の
出力する第3レジスタ指定フィールドRb3はAサイクル
でラッチ回路43にラッチされ、形式Cの命令語がロード
命令の場合にのみデコーダ27の出力する演算器制御信号
の一部で動作状態とされるデコーダ44でデコードされ
る。
IR22に第4の形式の大命令語が格納されている場合、
デコーダ25はタイプコードTypeをデコードし、デコーダ
26はタイプコードTypeを付加して命令コードOPaをデコ
ードする。また、セレクタ24がデコーダ25の出力により
IR22のビット59〜63を選択してEサイクルでラッチ回路
29に第3レジスタ指定フィールドR3aがラッチされ、更
にWサイクルでラッチ回路35にラッチされてデコーダ40
でデコードされる。デコーダ41,42,44はデコーダ28の出
力する演算器制御信号の一部によって非動作状態とされ
る。
デコーダ25はタイプコードTypeをデコードし、デコーダ
26はタイプコードTypeを付加して命令コードOPaをデコ
ードする。また、セレクタ24がデコーダ25の出力により
IR22のビット59〜63を選択してEサイクルでラッチ回路
29に第3レジスタ指定フィールドR3aがラッチされ、更
にWサイクルでラッチ回路35にラッチされてデコーダ40
でデコードされる。デコーダ41,42,44はデコーダ28の出
力する演算器制御信号の一部によって非動作状態とされ
る。
制御回路23出力によって制御されるレジスタファイル
50は第5図に示す構成である。第5図中、端子RIa3,RIb
3,RIc3,RI L夫々に入来する各32ビットのデータはセレ
クタ510〜5131に供給される。セレクタ510〜5131夫々は
デコーダ40〜42,44の出力により制御されて上記4系統
のいずれかを選択し、32個のレジスタR0〜R31夫々に供
給する。レジスタR0〜R31夫々はオア回路450〜4531より
CGE信号を供給されたとき入来データを格納する。レジ
スタR0〜R31出力は6個のセレクタ52a〜52f夫々に供給
される。セレクタ52a〜52fは夫々IR22のビット9〜13
(Ra1に相当),ビット14〜18(Ra2に相当),ビット29
〜33(Rb1に相当),ビット34〜38(Rb2に相当),ビッ
ト49〜53(Rc1に相当),ビット54〜58(Rc2に相当)に
よって制御され、これらのIR22の各ビットで指定された
レジスタR0〜R31のいずれかのデータが端子ROa1,ROb1,R
Ob2,ROc1,ROc2夫々より出力される。
50は第5図に示す構成である。第5図中、端子RIa3,RIb
3,RIc3,RI L夫々に入来する各32ビットのデータはセレ
クタ510〜5131に供給される。セレクタ510〜5131夫々は
デコーダ40〜42,44の出力により制御されて上記4系統
のいずれかを選択し、32個のレジスタR0〜R31夫々に供
給する。レジスタR0〜R31夫々はオア回路450〜4531より
CGE信号を供給されたとき入来データを格納する。レジ
スタR0〜R31出力は6個のセレクタ52a〜52f夫々に供給
される。セレクタ52a〜52fは夫々IR22のビット9〜13
(Ra1に相当),ビット14〜18(Ra2に相当),ビット29
〜33(Rb1に相当),ビット34〜38(Rb2に相当),ビッ
ト49〜53(Rc1に相当),ビット54〜58(Rc2に相当)に
よって制御され、これらのIR22の各ビットで指定された
レジスタR0〜R31のいずれかのデータが端子ROa1,ROb1,R
Ob2,ROc1,ROc2夫々より出力される。
第2図に戻って説明するにレジスタファイルRO2a,50
の端子ROa1の出力データはラッチ回路55aでラッチさ
れ、端子ROa2の出力データ及びIR22のビット9〜40の即
値データIMM32のうちセレクタ54で選択されたデータが
ラッチ回路55bにラッチされ、第1演算器56で演算さ
れ、その結果がラッチ回路57にラッチされる。
の端子ROa1の出力データはラッチ回路55aでラッチさ
れ、端子ROa2の出力データ及びIR22のビット9〜40の即
値データIMM32のうちセレクタ54で選択されたデータが
ラッチ回路55bにラッチされ、第1演算器56で演算さ
れ、その結果がラッチ回路57にラッチされる。
端子ROb1の出力データはラッチ回路59aにラッチさ
れ、端子ROb2の出力データ及びIR22のビット34〜58,27
〜58の即値データIMM25,IMM32のうちセレクタ58で選択
されたデータがラッチ回路59bにラッチされ、第2演算
器60で演算され、その結果がラッチ回路61にラッチされ
る。
れ、端子ROb2の出力データ及びIR22のビット34〜58,27
〜58の即値データIMM25,IMM32のうちセレクタ58で選択
されたデータがラッチ回路59bにラッチされ、第2演算
器60で演算され、その結果がラッチ回路61にラッチされ
る。
端子ROc1,ROc2の出力はラッチ回路62a,62bでラッチさ
れて第3演算器63で演算され、その結果がラッチ回路64
にラッチされる。
れて第3演算器63で演算され、その結果がラッチ回路64
にラッチされる。
ここで、第1の形式の大命令語を実行する場合にはレ
ジスタファイル50のROa1,ROa2,ROb1,ROb2,ROc1,ROc2夫
々よりレジスタ指定フィールドRa1,Ra2,Rb1,Rb2,Rc1,Ro
2夫々で指定されたレジスタの格納データが出力され、
かつセレクタ58が端子ROb2の出力データを選択すること
により上記の各データがラッチ回路55a,55b,59a,59b,62
a,62b夫々にラッチされ、演算器56,60,63夫々で同時に
演算される。その演算結果は夫々レジスタファイル50の
端子RIa3,RIb3,RIc3に供給される。
ジスタファイル50のROa1,ROa2,ROb1,ROb2,ROc1,ROc2夫
々よりレジスタ指定フィールドRa1,Ra2,Rb1,Rb2,Rc1,Ro
2夫々で指定されたレジスタの格納データが出力され、
かつセレクタ58が端子ROb2の出力データを選択すること
により上記の各データがラッチ回路55a,55b,59a,59b,62
a,62b夫々にラッチされ、演算器56,60,63夫々で同時に
演算される。その演算結果は夫々レジスタファイル50の
端子RIa3,RIb3,RIc3に供給される。
第2の形式の大命令語を実行する場合にはレジスタフ
ァイル50のROa1,ROa2,ROb1,ROb2夫々よりレジスタ指定
フィールドRa1,Ra2,Rb1夫々で指定されたレジスタの格
納データが出力され、かつセレクタ58が即値データIMM2
5を選択することにより上記の各データがラッチ回路55
a,55b,59a,59b夫々にラッチされ、演算器56,60夫々で同
時に演算される。その演算結果は夫々レジスタファイル
50の端子RIa3,RIb3に供給される。但し形式Bの命令語
がロード命令の場合には演算器60で行なったアドレス計
算結果がオペランドメモリ70に供給され、ロードデータ
はオペランドメモリ70からレジスタファイル50の端子RI
Lに供給される。
ァイル50のROa1,ROa2,ROb1,ROb2夫々よりレジスタ指定
フィールドRa1,Ra2,Rb1夫々で指定されたレジスタの格
納データが出力され、かつセレクタ58が即値データIMM2
5を選択することにより上記の各データがラッチ回路55
a,55b,59a,59b夫々にラッチされ、演算器56,60夫々で同
時に演算される。その演算結果は夫々レジスタファイル
50の端子RIa3,RIb3に供給される。但し形式Bの命令語
がロード命令の場合には演算器60で行なったアドレス計
算結果がオペランドメモリ70に供給され、ロードデータ
はオペランドメモリ70からレジスタファイル50の端子RI
Lに供給される。
第3の形式の大命令語を実行する場合にはレジスタフ
ァイル50のRO1a,RO2a,ROb1,ROb2夫々よりレジスタ指定
フィールドRa1,Ra2,Rb1夫々で指定されたレジスタの格
納データが出力され、かつセレクタ58が即値データIMM3
2を選択することにより上記の各データがラッチ回路55
a,55b,59a,59b夫々にラッチされ、演算器56,60夫々で同
時に演算される。その演算結果は夫々レジスタファイル
50の端子RIa3,RIb3に供給される。但し形式Bの命令語
がロード命令の場合には演算器60で行なったアドレス計
算結果がオペランドメモリ70に供給され、ロードデータ
はオペランドメモリ70からレジスタファイル50の端子RI
Lに供給される。
ァイル50のRO1a,RO2a,ROb1,ROb2夫々よりレジスタ指定
フィールドRa1,Ra2,Rb1夫々で指定されたレジスタの格
納データが出力され、かつセレクタ58が即値データIMM3
2を選択することにより上記の各データがラッチ回路55
a,55b,59a,59b夫々にラッチされ、演算器56,60夫々で同
時に演算される。その演算結果は夫々レジスタファイル
50の端子RIa3,RIb3に供給される。但し形式Bの命令語
がロード命令の場合には演算器60で行なったアドレス計
算結果がオペランドメモリ70に供給され、ロードデータ
はオペランドメモリ70からレジスタファイル50の端子RI
Lに供給される。
第4の形式の大命令語を実行する場合にはレジスタフ
ァイル50のRO1aよりレジスタ指定フィールドRa1で指定
されたレジスタの格納データが出力され、かつセレクタ
54が即値データIMM32を選択することにより上記の各デ
ータがラッチ回路55a,55b夫々にラッチされ、演算器56
で演算される。その演算結果は夫々レジスタファイル50
の端子RIa3に供給される。なお、この実施例では、プロ
セッサ21が32ビット構成であるため第3の形式の大命令
語のビット41〜58は未使用であるが、プロセッサ21を64
ビット構成とした場合には第3の形式の大命令語のビッ
ト9〜58を即値データIMM51として全ビット使用でき
る。
ァイル50のRO1aよりレジスタ指定フィールドRa1で指定
されたレジスタの格納データが出力され、かつセレクタ
54が即値データIMM32を選択することにより上記の各デ
ータがラッチ回路55a,55b夫々にラッチされ、演算器56
で演算される。その演算結果は夫々レジスタファイル50
の端子RIa3に供給される。なお、この実施例では、プロ
セッサ21が32ビット構成であるため第3の形式の大命令
語のビット41〜58は未使用であるが、プロセッサ21を64
ビット構成とした場合には第3の形式の大命令語のビッ
ト9〜58を即値データIMM51として全ビット使用でき
る。
プログラムカウンタ(PC)の出力する命令アドレスと
ラッチ回路61よりの分岐アドレスとのいずれかはセレク
タ72で選択されてインストラクション・メモリ20に供給
され、次の大命令語が読出される。
ラッチ回路61よりの分岐アドレスとのいずれかはセレク
タ72で選択されてインストラクション・メモリ20に供給
され、次の大命令語が読出される。
第2図では第1演算器56は論理演算及び加算器を行な
うALUと乗算器とで構成し、第2演算器60はALUとシフト
回路とで構成し、第3演算器63はALUで構成しており第
1〜第4の形式夫々の命令コードOPa,OPb,OPcは各演算
器56,60,63で可能な命令だけを規定しておくことが並列
実行が容易とされる。
うALUと乗算器とで構成し、第2演算器60はALUとシフト
回路とで構成し、第3演算器63はALUで構成しており第
1〜第4の形式夫々の命令コードOPa,OPb,OPcは各演算
器56,60,63で可能な命令だけを規定しておくことが並列
実行が容易とされる。
このように、固定長の大命令語をタイプコードと複数
の命令語とで構成することで大命令語の未使用ビットが
なくなりビット使用効率が向上する。また、大命令語を
構成する命令語の数を少なくして大きな即値データを指
定することができる。更にタイプコードにより大命令語
を構成する命令語の構成つまり組合せが規定され、この
組合せの規定により複数命令を並列実行する際の制御及
びハードウェア構成を簡単とすることができる。
の命令語とで構成することで大命令語の未使用ビットが
なくなりビット使用効率が向上する。また、大命令語を
構成する命令語の数を少なくして大きな即値データを指
定することができる。更にタイプコードにより大命令語
を構成する命令語の構成つまり組合せが規定され、この
組合せの規定により複数命令を並列実行する際の制御及
びハードウェア構成を簡単とすることができる。
上述の如く、本発明の命令指定方法及び命令実行方式
によれば、未使用ビットが少なくビット使用効率が向上
し、大きな即値データを単一の大命令語で指定でき、大
命令語を構成する命令語の規定によりハードウェア構成
が簡単となり実用上きわめて有用である。
によれば、未使用ビットが少なくビット使用効率が向上
し、大きな即値データを単一の大命令語で指定でき、大
命令語を構成する命令語の規定によりハードウェア構成
が簡単となり実用上きわめて有用である。
第1図は本発明方式の命令形式の各実施例を示す図、 第2図は本発明方式を適用した情報処理装置の一実施例
のブロック図、 第3図は制御回路のブロック図、 第4図はパイプライン動作を示す図、 第5図はレジスタファイルのブロック図、 第6図は従来方式の命令形式の各例を示す図である。 図において、 20はインストラクション・メモリ、 21はプロセッサ、 22は命令レジスタ、 23は制御回路、 50はレジスタファイル、 56,60,63は演算器、 70はオペランド・メモリ、 Typeはタイプコード、 OPa,OPb,OPcは命令コード、 Ra1〜Rc3はレジスタ指定フィールド、 IMM25,IMM32は即値データ を示す。
のブロック図、 第3図は制御回路のブロック図、 第4図はパイプライン動作を示す図、 第5図はレジスタファイルのブロック図、 第6図は従来方式の命令形式の各例を示す図である。 図において、 20はインストラクション・メモリ、 21はプロセッサ、 22は命令レジスタ、 23は制御回路、 50はレジスタファイル、 56,60,63は演算器、 70はオペランド・メモリ、 Typeはタイプコード、 OPa,OPb,OPcは命令コード、 Ra1〜Rc3はレジスタ指定フィールド、 IMM25,IMM32は即値データ を示す。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 OPERATING SYSTEMS REVIEW,vol.21,no. 4,pp.180−192 SIGMICRO Newsl,vo l.20,No.3,pp.35−42 (58)調査した分野(Int.Cl.6,DB名) G06F 9/30,9/38,9/32,9/22,15/16,7 /00 JOIS,WPI/L,EPAT
Claims (6)
- 【請求項1】情報処理装置で実行する命令を指定する命
令指定方法において、 少なくとも命令コードと1つの演算を指定するオペラン
ド指定部とを持つ可変長の演算指定命令を少なくとも一
つ有し、前記演算指定命令は、第1,第2レジスタの内容
を演算して第3レジスタに格納する第1命令形成と、第
1レジスタの内容と即値データとを演算して第3レジス
タに格納する第2命令形式と、即値データを第3レジス
タに格納する第3命令形式を持つ構成とし、 タイプコードと少なくとも1つの演算指定命令とから固
定長の大命令語を構成し、前記タイプコードは前記大命
令語を構成する少なくとも1つの演算指定命令を指定す
る構成とし、 大命令語で複数の演算を指定し、 各演算指定命令をタイプコードに応じ複数の演算手段の
中で対応するものに割り当て、 割り当てられた演算手段で独立して演算指定命令を実行
する ことを特徴とする命令指定方法。 - 【請求項2】前記大命令語は、 前記タイプコードと3つの前記第1命令形式の演算指定
命令とからなる第1の語形式と、 前記タイプコードと、前記タイプコードと前記第1命令
形式の演算指定命令と、前記第2命令形式の演算指定命
令とからなる第2の語形式と、 前記タイプコードと前記第1命令形式の演算指定命令と
前記第3命令形式の演算指定命令とからなる第3の語形
式と、 前記タイプコードと前記第3命令形式の演算指定命令と
からなる第4の語形成とを有する特許請求の範囲第1項
記載の命令指定方法。 - 【請求項3】情報処理装置に於いて、 一つの演算を指定する演算指定命令を少なくとも一つ有
し、且つ前記演算指定命令が幾つあるか且つどの様な演
算指定部の組合せかの演算形式を指定するタイプコード
を有する固定長の大命令語を入力する入力手段(22)
と、 前記タイプコードより、前記大命令語の演算指定命令の
組合せ且つ演算指定命令の数を判断する演算形式判断部
(25)と、 複数の演算手段(56,60,63)と、 演算形式判断部(25)の形式判断に従い、前記大命令語
内の演算指定命令のそれぞれを前記複数の演算手段(5
6,60,63)の内適当な演算手段に割り当て、送出する演
算割り当て手段(52a〜52f)を有することを特徴とする
命令実行方式。 - 【請求項4】情報処理装置に於いて、 少なくとも命令コードと一つの演算を指定するオペラン
ド指定部とを持つ演算指定命令を少なくとも一つ有し、
且つ前記演算指定命令が幾つあるか且つどの様な演算指
定命令の組合せかの演算形式を指定するタイプコードを
有する固定長の大命令語を入力する入力手段(22)と、 前記タイプコードより、前記大命令語の演算指定命令の
組合せ且つ演算指定命令の数を判断する演算形式判断部
(25)と、 複数のオペランドレジスタと(R0〜R31)と、 複数の演算手段(56,60,63)と、 演算形式判断部(25)の形式判断に従い、前記大命令語
の演算指定部のそれぞれを前記複数の演算手段(56,60,
63)の内適当な演算手段を割り当て、且つそれぞれの演
算指定命令内の前記オペランド指定部により、複数のオ
ペランドレジスタ(R0〜R31)を演算指定命令毎に指定
する演算割り当て手段(52a〜52f)を有することを特徴
とする命令実行方式。 - 【請求項5】複数の演算手段(56,60,63)では、ひとつ
の大命令語内の演算指定命令を同時に実行することを特
徴とする特許請求の範囲第3項の命令実行方式。 - 【請求項6】複数の演算手段(56,60,63)では、ひとつ
の大命令語の演算指定命令を同時に実行することを特徴
とする特許請求の範囲第4項の命令実行方式。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1285471A JP2835103B2 (ja) | 1989-11-01 | 1989-11-01 | 命令指定方法及び命令実行方式 |
DE69031899T DE69031899T2 (de) | 1989-11-01 | 1990-10-26 | Befehlsmethode und Ausführungssystem |
EP90311767A EP0426393B1 (en) | 1989-11-01 | 1990-10-26 | Instructing method and execution system |
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 JPH03147021A (ja) | 1991-06-24 |
JP2835103B2 true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101464809B1 (ko) * | 2010-06-22 | 2014-11-27 | 인터내셔널 비지네스 머신즈 코포레이션 | 두 개의 피연산자에 대해 연산을 수행하고 후속적으로 피연산자의 원래 값을 저장시키는 명령어 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
EP0547240B1 (en) * | 1991-07-08 | 2000-01-12 | Seiko Epson Corporation | Risc microprocessor architecture implementing fast trap and exception state |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
WO1993001546A1 (en) | 1991-07-08 | 1993-01-21 | Seiko Epson Corporation | Extensible risc microprocessor architecture |
JP2746775B2 (ja) * | 1991-08-05 | 1998-05-06 | シャープ株式会社 | 中央処理装置 |
JPH05100897A (ja) * | 1991-10-03 | 1993-04-23 | Agency Of Ind Science & Technol | 命令トレース方式 |
EP0551090B1 (en) * | 1992-01-06 | 1999-08-04 | Hitachi, Ltd. | Computer having a parallel operating capability |
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 |
JP3644959B2 (ja) | 1992-09-29 | 2005-05-11 | セイコーエプソン株式会社 | マイクロプロセッサシステム |
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 |
US6360313B1 (en) | 1993-11-05 | 2002-03-19 | Intergraph Corporation | Instruction cache associative crossbar switch |
EP0974894B1 (en) * | 1993-11-05 | 2002-02-27 | Intergraph Corporation | Instruction cache associative cross-bar 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 |
CA2118201C (en) * | 1994-10-14 | 2003-02-04 | Patrick M. Hayden | Photon windowing kernel |
US6397262B1 (en) | 1994-10-14 | 2002-05-28 | Qnx Software Systems, Ltd. | Window kernel |
US5867726A (en) | 1995-05-02 | 1999-02-02 | Hitachi, Ltd. | Microcomputer |
JP2931890B2 (ja) * | 1995-07-12 | 1999-08-09 | 三菱電機株式会社 | データ処理装置 |
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 |
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 |
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 |
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 |
JP3790607B2 (ja) * | 1997-06-16 | 2006-06-28 | 松下電器産業株式会社 | Vliwプロセッサ |
JP3412462B2 (ja) | 1997-07-30 | 2003-06-03 | 松下電器産業株式会社 | プロセッサ |
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 |
EP0942357A3 (en) | 1998-03-11 | 2000-03-22 | Matsushita Electric Industrial Co., Ltd. | Data processor compatible with a plurality of instruction formats |
US6324639B1 (en) | 1998-03-30 | 2001-11-27 | Matsushita Electric Industrial Co., Ltd. | Instruction converting apparatus using parallel execution code |
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 |
EP0992892B1 (en) * | 1998-10-06 | 2015-12-02 | Texas Instruments Inc. | Compound memory access instructions |
US6681319B1 (en) | 1998-10-06 | 2004-01-20 | Texas Instruments Incorporated | Dual access instruction and compound memory access instruction with compatible address fields |
US6366998B1 (en) | 1998-10-14 | 2002-04-02 | Conexant Systems, Inc. | Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model |
US7526630B2 (en) * | 1999-04-09 | 2009-04-28 | Clearspeed Technology, Plc | Parallel data processing apparatus |
US20070242074A1 (en) * | 1999-04-09 | 2007-10-18 | 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 |
US8174530B2 (en) * | 1999-04-09 | 2012-05-08 | Rambus Inc. | Parallel date processing apparatus |
US20080008393A1 (en) * | 1999-04-09 | 2008-01-10 | Dave Stuttard | Parallel data processing apparatus |
WO2000062182A2 (en) | 1999-04-09 | 2000-10-19 | Clearspeed Technology Limited | Parallel data processing apparatus |
US8762691B2 (en) | 1999-04-09 | 2014-06-24 | Rambus Inc. | Memory access consolidation for SIMD processing elements using transaction identifiers |
US7966475B2 (en) | 1999-04-09 | 2011-06-21 | Rambus Inc. | Parallel data processing apparatus |
US8169440B2 (en) | 1999-04-09 | 2012-05-01 | Rambus Inc. | Parallel data processing apparatus |
US20080162875A1 (en) * | 1999-04-09 | 2008-07-03 | Dave Stuttard | Parallel Data Processing Apparatus |
US20080162874A1 (en) * | 1999-04-09 | 2008-07-03 | Dave Stuttard | Parallel data processing apparatus |
US7802079B2 (en) | 1999-04-09 | 2010-09-21 | Clearspeed Technology Limited | 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 |
US9678754B2 (en) * | 2010-03-03 | 2017-06-13 | Qualcomm Incorporated | System and method of processing hierarchical very long instruction packets |
JP5625903B2 (ja) * | 2010-12-29 | 2014-11-19 | 富士通株式会社 | 演算処理装置および演算処理方法 |
Family Cites Families (10)
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 |
-
1989
- 1989-11-01 JP JP1285471A patent/JP2835103B2/ja not_active Expired - Fee Related
-
1990
- 1990-10-26 DE DE69031899T patent/DE69031899T2/de not_active Expired - Fee Related
- 1990-10-26 EP EP90311767A patent/EP0426393B1/en not_active Expired - Lifetime
- 1990-10-31 AU AU65722/90A patent/AU625008B2/en not_active Ceased
- 1990-10-31 CA CA002029088A patent/CA2029088C/en not_active Expired - Fee Related
- 1990-11-01 KR KR1019900017654A patent/KR930007041B1/ko not_active Expired - Fee Related
-
1994
- 1994-02-25 US US08/202,668 patent/US5442762A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
OPERATING SYSTEMS REVIEW,vol.21,no.4,pp.180−192 |
SIGMICRO Newsl,vol.20,No.3,pp.35−42 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101464809B1 (ko) * | 2010-06-22 | 2014-11-27 | 인터내셔널 비지네스 머신즈 코포레이션 | 두 개의 피연산자에 대해 연산을 수행하고 후속적으로 피연산자의 원래 값을 저장시키는 명령어 |
Also Published As
Publication number | Publication date |
---|---|
EP0426393A3 (en) | 1991-08-07 |
US5442762A (en) | 1995-08-15 |
KR930007041B1 (ko) | 1993-07-26 |
EP0426393A2 (en) | 1991-05-08 |
CA2029088A1 (en) | 1991-05-02 |
EP0426393B1 (en) | 1998-01-07 |
CA2029088C (en) | 1994-05-03 |
AU6572290A (en) | 1991-08-01 |
KR910010301A (ko) | 1991-06-29 |
AU625008B2 (en) | 1992-06-25 |
DE69031899T2 (de) | 1998-04-16 |
DE69031899D1 (de) | 1998-02-12 |
JPH03147021A (ja) | 1991-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2835103B2 (ja) | 命令指定方法及び命令実行方式 | |
US6446190B1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
KR100236527B1 (ko) | 벡터 레지스터의 복수 뱅크를 사용한 단일 명령복수 데이터 처 리 | |
TWI861131B (zh) | 用於矩陣運算加速器的指令之設備、方法及系統 | |
JP2021108102A (ja) | 行列演算アクセラレータの命令のための装置、方法、およびシステム | |
CN112099852A (zh) | 可变格式、可变稀疏矩阵乘法指令 | |
JPH10134036A (ja) | マルチメディア信号プロセッサの単一命令多重データ処理 | |
JPH0850575A (ja) | プログラマブルプロセッサ、前記プログラマブルプロセッサを用いてデジタル信号処理を行なうための方法およびその改良 | |
US6209078B1 (en) | Accelerated multimedia processor | |
JP2012174016A (ja) | データ処理装置およびそのデータ処理方法 | |
CN114791795A (zh) | 用于复数乘法的装置和方法 | |
CN109947481A (zh) | 用于处理分数倒数操作的装置和方法 | |
CN114691217A (zh) | 用于8位浮点矩阵点积指令的装置、方法和系统 | |
JP3578883B2 (ja) | データ処理装置 | |
TW201732568A (zh) | 用於巷道為主的跨類收集的系統、設備與方法 | |
JPH10143494A (ja) | スカラ/ベクトル演算の組み合わせられた単一命令複数データ処理 | |
JP3479385B2 (ja) | 情報処理装置 | |
US7395408B2 (en) | Parallel execution processor and instruction assigning making use of group number in processing elements | |
JPH02240768A (ja) | 算術要素制御装置 | |
KR100267092B1 (ko) | 멀티미디어신호프로세서의단일명령다중데이터처리 | |
JP2000207210A (ja) | マイクロプロセッサ | |
JP2004171530A (ja) | 並列実行プロセッサ、命令割当方法 | |
USRE41012E1 (en) | Register file indexing methods and apparatus for providing indirect control of register addressing in a VLIW processor | |
WO2006083768A2 (en) | Same instruction different operation (sido) computer with short instruction and provision of sending instruction code through data | |
JP3186095B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |