JPH04357526A - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH04357526A
JPH04357526A JP3107074A JP10707491A JPH04357526A JP H04357526 A JPH04357526 A JP H04357526A JP 3107074 A JP3107074 A JP 3107074A JP 10707491 A JP10707491 A JP 10707491A JP H04357526 A JPH04357526 A JP H04357526A
Authority
JP
Japan
Prior art keywords
register
instruction
arithmetic processing
alu
content
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
JP3107074A
Other languages
English (en)
Inventor
Takashi Yokota
隆史 横田
Kazuo Seo
瀬尾 和男
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 JP3107074A priority Critical patent/JPH04357526A/ja
Publication of JPH04357526A publication Critical patent/JPH04357526A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、主記憶装置に格納さ
れたプログラムをフェッチ、デコードすることによって
実行内容を決定し処理を行う演算処理装置に関するもの
である。
【0002】
【従来の技術】図5は、例えば文献「電子情報通信ハン
ドブック第2分冊」(オーム社発行)のP.1579〜
1584に示された演算処理装置の構成図である。図に
おいて、1は主記憶装置からの命令語、2は命令語を格
納するための命令レジスタ、3は命令語中でレジスタ群
7のなかのレジスタを指定する領域(レジスタ識別子)
、4は命令語中で命令の種類を表す領域(命令識別子)
、5は命令の実行内容を具体的に決め、各部への制御信
号を生成するデコーダ、6はデコーダ5によって生成さ
れた制御信号、7は演算処理に使われるレジスタ群、7
−1,7−2・・・7−nはレジスタ群7内にある各レ
ジスタ、8,9はレジスタの読み出しポート、10は算
術論理演算回路(以下ALUと略称する)、11はAL
Uでの演算結果をレジスタに書き込むための書き込みポ
ート、12はALUで行われる演算に対する状態、13
はALUの状態を保持するための状態レジスタ、14は
状態レジスタ13の内容である。
【0003】次にこのような従来装置において、レジス
タ7−1の内容にレジスタ7−2の絶対値を加えるプロ
グラムを実行した場合の動作について説明する。
【0004】図7はこのためのプログラム例である。図
中ではレジスタ7−1、7−2を各々R1、R2として
表している。
【0005】まず第1行のTEST命令でレジスタ7−
2を読み出す。読み出した内容は読み出しポート8また
は9を介してALU10に伝えられ、これによってAL
U状態12が変化し、状態レジスタ13に保持される。 第2行の条件分岐命令では、第1行の演算で変化した状
態レジスタ13の内容を調べ、結果が負であることを示
していればラベルLabel1のついた命令、すなわち
第5行に分岐する。結果が負でなければ分岐せず、第3
行のADD命令が実行される。ここではレジスタ7−1
が読み出しポート8に、7−2が読み出しポート9に読
み出され、ALU10に伝えられ加算が行われる。加算
結果は書き込みポート11を介してレジスタ群7に伝え
られ、レジスタ7−1に書き込まれる。次に第4行でL
abel2なるラベルを付せられた命令に分岐し、後続
の処理を行う。
【0006】第2行で負と判定された場合、第5行に分
岐し、第3行と同様の方法で減算が行われ、その結果が
レジスタ7−1に書き込まれる。
【0007】マイクロプログラム方式の従来装置では、
上記の例を1つの命令として実行できるものもあるが、
実際の処理は複数のマイクロプログラム・ステップで上
記と同様の動作が行われる。
【0008】
【発明が解決しようとする課題】従来の演算処理装置は
以上のように構成されているので、処理状態あるいは保
持しているデータの内容によって、処理内容を選択的に
変更する必要がある場合、プログラムによってそれに適
合した何らかの条件を設定し、その条件の成立の可否で
分岐し、実行内容を変えることが必要となる。すなわち
、条件演算や条件の判定のために命令を加えることが必
要で、コード量が増えるほか、条件判定のオーバーヘッ
ドのために実行性能が抑えられるという問題があった。 さらにパイプライン方式の演算処理装置では、分岐動作
のためにパイプライン動作に乱れが生じ、処理効率向上
の妨げになるという問題があった。
【0009】この発明は上記のような問題点を解消する
ためになされたもので、条件判定のための命令を用いる
ことなく、レジスタの保持内容に従って処理内容を変え
る手段を備えた演算処理装置を得ることを目的とする。
【0010】
【課題を解決するための手段】この発明に係る演算処理
装置は、レジスタの読み出し内容によって命令の実行内
容を変える手段を備えたものである。
【0011】また、並列に複数の操作を実行できる手段
と、レジスタの読み出し内容によって複数の実行されて
いる操作の内のいくつかを選択する手段を備えたもので
ある。
【0012】
【作用】この発明における演算処理装置は、レジスタの
読み出し内容によって実行内容を変えられるため、分岐
動作を伴うことなく条件に応じた異なる処理を実行でき
、高速に処理を行えるほか、コード量を削減でき、さら
にパイプライン方式の演算処理装置においてはパイプラ
インの乱れを抑えることができる。
【0013】また、前もって実行される可能性のある操
作の実行を開始しておくため、命令の実行内容の切り替
えを高速に実現できる.
【0014】
【実施例】
実施例1.以下、この発明の一実施例を図について説明
する。図1は本発明の一実施例による演算処理装置を示
す。図において、1〜14は上記図5に示した従来装置
と同一のものであり、同一符合を付して説明は省略する
。15はレジスタの読み出し内容の一部をデコーダ5に
伝える信号線である。
【0015】次に本実施例でレジスタ7−1にレジスタ
7−2の絶対値を加えるプログラムを実行した場合の動
作について説明する。このためのプログラムを図6に示
す。図中、R1、R2は図5と同様に各々レジスタ7−
1、7−2を表す。
【0016】AADDは絶対値を加算する命令である。 AADD命令がフェッチされると、まず命令レジスタ2
のレジスタ識別子3をレジスタ群7に伝えることによっ
てレジスタ7−1(R1)、7−2(R2)を各々読み
出しポート9、9に読み出す。レジスタ7−2の符号ビ
ットは15を介してデコーダ5に伝えられる。デコーダ
5は15の符号ビットによってALU10での演算内容
を決め、制御信号6を生成する。もし15の符号ビット
が1、すなわちレジスタ7−2が負であるなら、ALU
10に対して、減算を行う制御信号が、符号ビットが0
ならば加算を行う制御信号が生成される。従ってALU
10ではレジスタ7−1にレジスタ7−2の絶対値を加
算する演算が行われ、その結果が書き込みポート11を
介してレジスタ群7に伝えられ、レジスタ7−1に書き
込まれる。
【0017】なお、上記実施例ではレジスタ読み出しポ
ートの1部をデコーダに伝えるものを示したが、読み出
しポート全体でもよい。また、読み出しポートが複数あ
る場合も同様に1部ないしすべてのポートをデコーダに
伝えてもよい。
【0018】また、図2に示すように、デコーダ5を命
令レジスタ2の命令識別子を直接デコードするもの5−
2、レジスタの読み出し内容も含めてデコードするもの
5−1に分割しても同様の効果を奏することができる。
【0019】レジスタの読み出し内容は直接デコーダに
伝えられなくてもよく、図3に示すように論理回路16
をおき、その結果17をデコーダ5−1に伝えてもよい
。論理回路16の入力は、図中に示されるような1読み
出しポートと限らず、複数の読み出しポート、さらに状
態レジスタ13など他の部分からであってもよい。
【0020】また、上記実施例では、マイクロプログラ
ム方式でない演算処理装置についての例を示したが、こ
れはマイクロプログラム方式による演算処理装置につい
て適応できることはいうまでもない。
【0021】実施例2.次に、第2の発明の実施例を図
について説明する。図4は本発明の一実施例による演算
処理装置を示す。図において、1〜15は実施例1の図
1に示した演算処理装置と同一のものであり、同一符合
を付して説明は省略する。17はメモリをアクセスする
場合のアドレスを保持するアドレス・レジスタ、18は
メモリに書き込み操作を行う場合に書き込むデータを保
持するデータ・レジスタである。
【0022】次に、本実施例で論理型言語Prolog
の単一化操作をレジスタ7−1に保持されたデータ型が
不明のデータ(R)と、レジスタ7−2に保持された定
数データ(C)に対して実行した場合の動作について説
明する。この操作の手順を示すフローチャートを図8に
示す。図中、R、Cは図4と同様に各々レジスタ7−1
、7−2を表す。単一化の操作は操作過程19で判断さ
れるRのデータ型によって変わり、Rが参照の場合には
操作過程20のロード操作、Rが変数の場合には操作過
程21のストア操作、Rがそれ以外の場合には操作過程
22の比較操作が行われる。操作過程20が選択された
場合だけ、再度操作過程19にもどることになるが、こ
れについてはこの発明の範囲外の処理であるためここで
は省略する。
【0023】単一化の命令がフェッチされると、まず命
令レジスタ2のレジスタ識別子3をレジスタ群7に伝え
ることによってレジスタ7−1(R)、7−2(C)を
各々読み出しポート9、8に読み出す。次いで、図8で
示される各操作実行のために、R1から読み出されたデ
ータはALU10の片方のポートおよびアドレス・レジ
スタ17に、R2から読み出されたデータはALU10
の他方のポートおよびデータ・レジスタ18にセットさ
れ、ロード、ストア、比較の各操作が一斉に起動され、
並列実行が開始される。これと並行して、レジスタ7−
2のデータ型を示すビットは15を介してデコーダ5に
伝えられる。デコーダ5は15のデータ型を示すビット
によってどの操作を選択するかを決定し、それ以外の操
作を無効化する。この無効化は、例えばメモリ操作の場
合にはロード/ストア信号を出さないことによって、A
LU10による比較操作の場合には状態レジスタ13へ
の比較結果のセットを行わないことによって実現される
【0024】なお、上記実施例ではPrologの単一
化操作の場合について説明したが、他のプログラミング
言語で書かれた並列に実行できる複数の操作からいくつ
かを選択する場合についても同様の効果が得られる。ま
た、実施例1に対して示したすべての変形例と同様の変
形例が実施例2についても可能である。
【0025】
【発明の効果】以上のように、この発明によればストア
ド・プログラム方式の演算処理装置をレジスタの読み出
し内容に応じて命令の実行内容を変えられる構成にした
ため、レジスタに保持されている内容に応じて異なった
動作を実現でき、従来装置で必要とされた条件演算や条
件の判定のための命令を省くことができ、処理速度が向
上するほかコード量が削減される。さらにパイプライン
方式の演算処理装置においては、パイプラインの乱れが
なくなり高効率処理が保てる効果がある。
【0026】また、前もって実行される可能性のある操
作の実行を開始しておくため、命令の実行内容の切り替
えを高速に実現でき、特にパイプライン処理を行ってい
る場合などそのサイクル時間を短くできる効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例による演算処理装置を示す
構成図である。
【図2】この発明の他の実施例による演算処理装置を示
す構成図である。
【図3】この発明のさらに他の実施例による演算処理装
置を示す構成図である。
【図4】第2の発明の一実施例による演算処理装置を示
す構成図である。
【図5】従来の演算処理装置を示す構成図である。
【図6】図1の実施例によるプログラムの例を示す説明
図である。
【図7】図6のプログラムと同等の処理を従来装置で行
うためのプログラム例を示す説明図である。
【図8】Prologの単一化操作を説明したフローチ
ャートである。
【符号の説明】
2  命令レジスタ 5、5−1、5−2  デコーダ 7  レジスタ群 10  算術論理演算器(ALU) 13  状態レジスタ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  主記憶装置に格納されたプログラムを
    フェッチ、デコード、実行することによって処理を行う
    ストアド・プログラム方式の演算処理装置において、上
    記フェッチした命令で指定されたレジスタを読み出し、
    このレジスタの内容に従って実行内容を変える手段を有
    することを特徴とする演算処理装置。
  2. 【請求項2】  複数の操作を並列に実行できる手段を
    有し、上記実行内容の切り替えの対象となる複数の操作
    の実行を、上記レジスタの読み出しと並行して行い、ど
    の操作を選択すかが確定した時点において該並列に実行
    されている操作の内のいくつかを選択する方法によって
    、上記命令の実行内容の切り替えを実現することを特徴
    とする請求項1記載の演算処理装置。
JP3107074A 1990-05-15 1991-05-13 演算処理装置 Pending JPH04357526A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3107074A JPH04357526A (ja) 1990-05-15 1991-05-13 演算処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12604590 1990-05-15
JP2-126045 1990-05-15
JP3107074A JPH04357526A (ja) 1990-05-15 1991-05-13 演算処理装置

Publications (1)

Publication Number Publication Date
JPH04357526A true JPH04357526A (ja) 1992-12-10

Family

ID=26447145

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3107074A Pending JPH04357526A (ja) 1990-05-15 1991-05-13 演算処理装置

Country Status (1)

Country Link
JP (1) JPH04357526A (ja)

Similar Documents

Publication Publication Date Title
KR100267098B1 (ko) 레지스터 화일 판독을 감소시키는 벡터 프로세서 디자인
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JPS6217252B2 (ja)
JPS6313215B2 (ja)
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
US11830547B2 (en) Reduced instruction set processor based on memristor
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
US4656581A (en) Vector mask control system
JPH0743648B2 (ja) 情報処理装置
US4580238A (en) Arithmetic operating system
US6289428B1 (en) Superscaler processor and method for efficiently recovering from misaligned data addresses
KR100374401B1 (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
US5293499A (en) Apparatus for executing a RISC store and RI instruction pair in two clock cycles
KR100241970B1 (ko) 파이프라인 처리를 수행하는 데이터 처리 장치
US5151993A (en) Data processor performing operation on data having length shorter than one-word length
US5812845A (en) Method for generating an object code for a pipeline computer process to reduce swapping instruction set
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
KR19980024622A (ko) 프로그램 실행 방법 및 그 방법을 이용한 장치
JPH04357526A (ja) 演算処理装置
US5893928A (en) Data movement apparatus and method
JPH0222413B2 (ja)
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
KR100515039B1 (ko) 조건부 명령어를 고려한 파이프라인 상태 표시 회로
JP2763450B2 (ja) パイプライン処理データ処理装置