JPS6389932A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS6389932A
JPS6389932A JP23645686A JP23645686A JPS6389932A JP S6389932 A JPS6389932 A JP S6389932A JP 23645686 A JP23645686 A JP 23645686A JP 23645686 A JP23645686 A JP 23645686A JP S6389932 A JPS6389932 A JP S6389932A
Authority
JP
Japan
Prior art keywords
operand
stage
instruction
pipeline
processing
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.)
Pending
Application number
JP23645686A
Other languages
English (en)
Inventor
Tatsuya Ueda
達也 上田
Toyohiko Yoshida
豊彦 吉田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP23645686A priority Critical patent/JPS6389932A/ja
Publication of JPS6389932A publication Critical patent/JPS6389932A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、オペランドに対するアドレス修飾方法を示
すオペランド指定子を1つの命令内に複数個もつ命令を
パイプライン処理するデータ処理装置に関するものであ
る。
〔従来の技術〕
第3図は、従来のパイプライン処理機構を備えた計算機
におけるデータの流れを示す。図において、1はデコー
ドステージ1.2はアドレス計算ステージ1.3はオペ
ランドフェッチステージ1.4は実行ステージ1である
。第4図は、従来の計算機における命令フォーマットを
示す図である。
図において、(a)はオペランドの一方がメモリで他方
がレジスタのフォーマット(第1フオーマツト)であり
、Φ)はオペランドの両方がメモリのフォーマット(第
2フオーマツト)である。ここで、5はオペレーション
コード指定フィールド、6はソ″−−スオペランド指定
フィールド、7はデスティネーションレジスタ指定フィ
ールド、8はデスティネーションオペランド指定フィー
ルドを示す。
第5図は、従来のパイプライン方式の計算機におけるパ
イプラインの流れを示す図であ、る。図において、9は
デコードステージ1を示す行、10はアドレス計算ステ
ージ1を示す行、11はオペランドフェッチステージ1
を示す行、12は実行ステージ1を示す行である。Tl
、T2.・・・はパイプライン中を命令が流れる基本ク
ロックを示す。
11、I2.・・・はパイプラインを流れる命令を示す
次に前記計算機の動作について説明する。計算機におい
て、1つの命令の処理がすべて完了した後に次の命令の
処理に取りかかるのでは効率が悪い。そこで、命令の処
理を4つのステージ(デコードステージ1(1)、アド
レス計算ステージ1(2)、オペランドフェッチステー
ジ1(3)、実行ステージ[4))に分け、命令が各ス
テージを順に流れてゆき各ステージで別の命令が並列に
処理されるようにする。これはパイプライン処理と呼ば
れており、計算機の実効的な速度を上げるのに役立って
いる。
第5図の(a)は第1フオーマツトの命令がパイプライ
ンを流れる様子を示している。第1フオーマツトの命令
は、オペランド指定フィールドが1つであるため、アド
レス計算が1回、メモリアクセスが1回、実行が1回と
なり各パイプラインステージにおける処理はすべて1基
本クロックで行われ、各ステージの均等性は保たれる。
第5図の(b)は第2フオーマツトの命令がパイプライ
ンを流れる様子を示している。第2フオーマツトの命令
は、オペランド指定フィールドが2つであるため、アド
レス計算が2回、メモリアクセスが2回、実行が1回必
要である。また、命令長が第1フオーマツトに比べて長
いことによりデコードに時間がかかり、デコードステー
ジで2基本クロック、アドレス計算ステージで2基本ク
ロック、オペランドフェッチステージで2基本クロック
、実行ステージで1基本クロックが必要となる。
よって、第2フオーマツトの命令は処理されるのに7基
本クロックが必要となる。
ここで、第2フオーマツトの命令の処理を速く行えるよ
うにするため、デコードを1基本タロツクで行えるよう
にし、アドレス計算を2つ並列に行えるようなハードウ
ェアにして1基本クロックで行えるようにしてみる。こ
の場合、デコードステージ、アドレス計算ステージ、実
行ステージが1基本クロックで実行できてもオペランド
フェッチステージが2基本クロックかかるため、これが
ボトルネックとなってしまう。
〔発明が解決しようとする問題点〕
従来のパイプライン処理方式の計算機においては、2つ
あるオペランドの一方がレジスタであるフォーマットの
命令では、アドレス計算が1回、メモリアクセスが1回
、実行が1回であるのでパイプラインの各ステージが均
等に動作する。ところが、オペランドの両方がメモリで
あるフォーマットの命令では、アドレス計算が2回、メ
モリアクセスが2回、実行が1回必要となり、パイプラ
インの各ステージの均等性がくずれ効率が悪くなる。
この発明は、上記のような従来のものの問題点に鑑みて
なされたもので、複数オペランドの全てがメモリを示す
命令であっても各パイプラインステージの均等性がくず
れることのないデータ処理装置を得ることを目的として
いる。
〔問題点を解決するための手段〕
この発明におけるデータ処理装置は、1命令を1つ以上
の処理単位に分割してパイプラインに流すことを特徴と
する。以後、このパイプラインを流れる処理単位をステ
ップコードとよぶことにすると、パイプラインの各ステ
ージは1つのステップコードに対する処理を行うように
したものである。
〔作用〕
この発明においては、デコードステージにおいて1つの
命令を1つ以上のステップコードに分割し、以後のステ
ージでは処理が1ス、テップコードに対して行われる。
各ステップコードは1つまたはゼロ個のオペランドに関
する情報をもつように構成されているので、アドレス計
算、メモリアクセスが高々1回でよくなり、パイプライ
ンの各ステージの均等性が保たれ計算機の実効速度が速
くなる。
〔実施例〕
以下この発明の実施例を図について説明する。
第1図は、本発明の一実施例によるデータ処理装置を示
し、本発明のパイプライン処理を備えた計算機における
データの流れを示す。図において、13は命令デコード
処理手段としてのデコードステージ2.14.15はオ
ペランド処理手段としてのアドレス計算ステージ2.オ
ペランドフェッチステージ2.16は命令処理手段とし
ての実行ステージ2である。
デコードステージ2 aSは1つの命令を1つ以上のス
テップコードに分割する操作を行う。他のステージは従
来の計算機では1つの命令に対する処理を行っていたが
、本発明の計算機では1つのステップコードに対する処
理を行う。
第2図は、本発明におけるパイプラインをそなえた計算
機におけるパイプラインの流れを示す図である。図にお
いて、IS、2S、・・・はソースオペランドの情報を
含むステップコードであり、ID、2D、・・・はデス
ティネーションオペランドの情報を含むステップコード
である。
デコードステージ2(13)において1つの命令がSス
テップコードとDステップコードとに分割される。
次に、ソースオペランドがペースアドレスを示すレジス
タ1と変位1との和から求まるアドレスにあり、デステ
ィネーションオペランドがベースアドレスを示すレジス
タ2と変位2との和から求まるアドレスにある加算命令
を例にして本発明におけるパイプラインの流れを示す。
この命令がデコードステージ2 Q31に入ってくると
オペレーションコードとソースオペランド指定フィール
ドからSステップコード(第1の内部コード)が作成さ
れ、オペレーションコードとデスティネーションオペラ
ンド指定フィールドからDステップコード(第1の内部
コード)が作成される。
Sステップコードがアドレス計算ステージ2 (14)
に入るとレジスタ1の値と変位1とが加算されオペラン
ドをフェッチするためのアドレスが求められ第2の内部
コードとなってオペランドフェッチステージ2(5)に
送られる。オペランドフェッチステージ2αつではソー
スオペランドの値がメモリから取り込まれる。実行ステ
ージ2(2)では、メモリからフェッチされたソースオ
ペランドの値がワーキングレジスタに退避される。Dス
テップコードはSステップコードに続いて各ステージを
流れる。
Dステップコードがアドレス計算ステージ2 (14)
に入るとレジスタ2の値と変位2とが加算されオペラン
ドをフェッチするためのアドレスが求められ第2の内部
コードとなってオペランドフェッチステージ2 a’J
に送られる。オペランドフェッチステージ2 (151
ではデスティネーションオペランドの値がメモリから取
り込まれる。Dステップコードが実行ステージ2(至)
に入ると、前もってワーキングレジスタに退避されてい
たソースオペランドの値とデスティネーションオペラン
ドの値とが加算されその結果がデスティネーションで指
定された場所にストアされる。1つの命令は各ステージ
において2基本クロックで処理されることになる。
本発明では第2フオーマツトの命令はすべて5基本タロ
ツクで処理される。
また、ペースレジスタとインデックスレジスタと変位と
を加えて1つのオペランドアドレスを指定するような複
雑なアドレス指定を行うものとして、米国特許第423
6206号で述べられているように、オペランド指定フ
ィールドを2つ使って一方のフィールドでペースレジス
タ番号を指定し他方のフィールドでインデックスレジス
タを指定するようなアドレス指定方法がある。このよう
な命令を本実施例が処理する場合、デコードステージ2
α■においてはペースレジスタの番号を含むオペランド
指定フィールドから1つのステップコードを作成し、イ
ンデックスレジスタ番号と変位とを含むオペランド指定
フィールドから1つのステップコードを作成する。即ち
、1つのオペランドに関する情報を複数の第1のステッ
プコードに分割する。アドレス計算ステージ2 Qaで
はこの2つのステップコードのうちの第1番目のステッ
プコードに対してはオペランドフェッチステージ20つ
に送るステップコードを作成せず、続く2番目のステッ
プコードが入ってきた時に最終的なオペランドアドレス
を求めてオペランドフェッチステージ2α9に第2のス
テップコードを1つ送る。このような場合、1つのパイ
プラインステージにおいて、複数のステップコードから
1つのステップコードを作成することになる。
なお、オペランドを3つ以上もつ命令フォーマットがあ
る場合には、各ステップコードが1つのオペランドフェ
ッチステージに関する情報をもつように命令を分割すれ
ば、パイプラインの均等性は保たれる。
また上記実施例では第1の内部コードを複数個作成する
場合のみを示したが、オペランド指定子が全てレジスタ
を示す場合には第1の内部コードは1つ作成すればよく
、上記実施例と同様の効果を奏する。
〔発明の効果〕
以上のように、本発明に係るデータ処理装置によれば、
1つの命令を1つまたは複数個のステップコードに分割
し1つのステップコードが1つまたはゼロ個のオペラン
ドに関する情報を持つようにしたので、各ステップコー
ドはアドレス計算が1回、メモリアクセスが1回となっ
てパイプラインの均等性が保たれ、計算機の実効速度は
速くなる。また、パイプラインの各ステージでは1つの
ステージに対してアドレス計算やメモリアクセスを複数
回する必要がなくなり、各ステージの制御が簡単になる
という効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例によるデータ処理装置におけ
るデータの流れを示す図、第2図は零発明におけるパイ
プラインをそなえた計算機におけるパイプラインの流れ
を示す図、第3図は従来のパイプライン処理を備えた計
算機におけるデータの流れを示す図、第4図は従来の計
算機における命令フォーマットを示す図、第5図は従来
のパイプライン処理を備えた計算機におけるパイプライ
ンの流れを示す図である。 図において、1はデコードステージ1.2はアドレス計
算ステージ1.3はオペランドフェッチステージ1.4
は実行ステージ1.5はオペレーションコード指定フィ
ールド、6.7.8はソースオペレーションコード指定
フィールド、デスティネーションレジスタ指定フィール
ド、デスティネーションオペランド指定フィールド(オ
ペランド指定子)、9はデコードステージ1を示す行、
10はアドレス計算ステージ1を示す行、11はオペラ
ンドフェッチステージ1を示す行、12は実行ステージ
1を示す行、13はデコードステージ2(命令デコード
処理手段)、14.15はアドレス計算ステージ2.オ
ペランドフェッチステージ2(オペランド処理手段)、
16は実行ステージ2(命令実行手段)、17はデコー
ドステージ2を示す行、18はアドレス計算ステージ2
を示す行、19はオペランドフェッチステージ2を示す
行、20は実行ステージ2を示す行である。 なお図中同一符号は同−又は相当部分を示す。

Claims (2)

    【特許請求の範囲】
  1. (1)演算対象となるオペランドのアドレス修飾方法を
    一定規則に従って示すオペランド指定子を2つ以上もつ
    複数オペランド命令を含む命令群を処理するデータ処理
    装置において、 注目複数オペランド命令を、1つまたはゼロ個のオペラ
    ンド指定子に対する処理結果を含む第1の内部コード1
    つまたは複数個に分解して出力する命令デコード処理手
    段と、 注目複数オペランド命令より生成された1つまたは複数
    個の上記第1の内部コードに従ってオペランドに関する
    処理を行い該第1の内部コードの全てまたは一部に対し
    第2の内部コード1つを出力するオペランド処理手段と
    、 上記注目複数オペランド命令に対応する1つまたは複数
    個の上記第2の内部コードの処理を行って当該注目複数
    オペランド命令に対する処理を完結する命令実行手段と
    を備えたことを特徴とするデータ処理装置。
  2. (2)上記命令デコード手段と上記オペランド処理手段
    と上記命令実行手段とをパイプライン動作させ上記複数
    オペランド命令の処理を行わせるパイプライン制御手段
    を備えたことを特徴とする特許請求の範囲第1項記載の
    データ処理装置。
JP23645686A 1986-10-03 1986-10-03 デ−タ処理装置 Pending JPS6389932A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23645686A JPS6389932A (ja) 1986-10-03 1986-10-03 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23645686A JPS6389932A (ja) 1986-10-03 1986-10-03 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS6389932A true JPS6389932A (ja) 1988-04-20

Family

ID=17001016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23645686A Pending JPS6389932A (ja) 1986-10-03 1986-10-03 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS6389932A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254335A (ja) * 1988-08-18 1990-02-23 Mitsubishi Electric Corp データ処理装置
JPH0391029A (ja) * 1989-09-04 1991-04-16 Mitsubishi Electric Corp データ処理装置
US5361338A (en) * 1988-10-14 1994-11-01 Mitsubishi Denki Kabushiki Kaisha Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand
US5615349A (en) * 1990-09-04 1997-03-25 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5745723A (en) * 1989-09-04 1998-04-28 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
JP2010532063A (ja) * 2007-06-27 2010-09-30 クゥアルコム・インコーポレイテッド 条件命令を無条件命令および選択命令へと拡張する方法およびシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0254335A (ja) * 1988-08-18 1990-02-23 Mitsubishi Electric Corp データ処理装置
US5361338A (en) * 1988-10-14 1994-11-01 Mitsubishi Denki Kabushiki Kaisha Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand
JPH0391029A (ja) * 1989-09-04 1991-04-16 Mitsubishi Electric Corp データ処理装置
US5745723A (en) * 1989-09-04 1998-04-28 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5812809A (en) * 1989-09-04 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US5615349A (en) * 1990-09-04 1997-03-25 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of execution of plural instructions in parallel
US6058471A (en) * 1990-09-04 2000-05-02 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of executing groups of instructions in parallel
US6131158A (en) * 1990-09-04 2000-10-10 Mitsubishi Denki Kabushiki Kaisha Data processing system capable of executing groups of instructions, including at least one arithmetic instruction, in parallel
JP2010532063A (ja) * 2007-06-27 2010-09-30 クゥアルコム・インコーポレイテッド 条件命令を無条件命令および選択命令へと拡張する方法およびシステム

Similar Documents

Publication Publication Date Title
JP3906003B2 (ja) プロセッサおよびその命令処理方法
US7028170B2 (en) Processing architecture having a compare capability
JP2931890B2 (ja) データ処理装置
US9355061B2 (en) Data processing apparatus and method for performing scan operations
JP5789319B2 (ja) 複数データ要素対複数データ要素比較プロセッサ、方法、システム、および命令
JP2002333978A (ja) Vliw型プロセッサ
WO2017021678A1 (en) An apparatus and method for transferring a plurality of data structures between memory and a plurality of vector registers
JP2013522749A (ja) 複数の命令セットにより使用されるレジスタ間のマッピング
KR20000076285A (ko) 기계 판독가능 매체 및 초대형 인스트럭션 워드 프로세서와, 컴퓨터 프로그램의 실행 방법 및 컴파일 방법
US9965275B2 (en) Element size increasing instruction
US9021236B2 (en) Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution
US7139899B2 (en) Selected register decode values for pipeline stage register addressing
CN108139911B (zh) 在vliw处理器的同一执行包中使用有条件扩展槽的指令的有条件执行规格
JP2019519865A (ja) 並べ替え動作を実行するための装置および方法
JPH0769795B2 (ja) コンピュータ
US20020032710A1 (en) Processing architecture having a matrix-transpose capability
JPH05150979A (ja) 即値オペランド拡張方式
JPS6389932A (ja) デ−タ処理装置
JP2008108220A (ja) 演算装置
EP1499956B1 (en) Method and apparatus for swapping the contents of address registers
JP7213095B2 (ja) ベクトルレジスタのアクセス
US5774740A (en) Central processing unit for execution of orthogonal and non-orthogonal instructions
JP2003280921A (ja) 並列性抽出装置
JPS5899868A (ja) 並列処理方式
JPH04137169A (ja) 情報処理装置