JPH01237837A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH01237837A
JPH01237837A JP63066267A JP6626788A JPH01237837A JP H01237837 A JPH01237837 A JP H01237837A JP 63066267 A JP63066267 A JP 63066267A JP 6626788 A JP6626788 A JP 6626788A JP H01237837 A JPH01237837 A JP H01237837A
Authority
JP
Japan
Prior art keywords
operand
address
unit decoding
instruction
stage
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
JP63066267A
Other languages
English (en)
Other versions
JPH0766324B2 (ja
Inventor
Tetsuya Watanabe
哲也 渡邉
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 JP63066267A priority Critical patent/JPH0766324B2/ja
Priority to US07/313,650 priority patent/US5129068A/en
Priority to US07/314,727 priority patent/US5091853A/en
Publication of JPH01237837A publication Critical patent/JPH01237837A/ja
Publication of JPH0766324B2 publication Critical patent/JPH0766324B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 〔曜業上の利用分野〕 この発明は晶度なパイプライン処理機構により高い処理
能力を実現したデータ処理装置に関するものである。
〔従来の技術〕
データ処理装置の処理を行うビット1−が4ビツトから
8ビツト、16ビツとを経て32ビツトへと発展すると
共にアドレッシングモード指定法、つまり−令のアドレ
ス指定部から実行アドレスを計算する方法も多様化して
きた。例えば、特公昭59−31734に汎用アドレッ
シングモードを持った命令を処理するデータ処理システ
ムについて開示されている。このデータ処理システムの
中央処理装置で処理される命令は、第6図で示すような
体系となっている。各命令は、オペレーシッンコード例
及びアドレスを指定する情報゛であるオペランド指定子
(t81)、(82、および((2))を備えており、
オペランド指定子のそれぞれは少なくとも一つのデータ
バイとを備えている。第6図の場合、三つのオペランド
指定子を持った命令の例である。各オペランド指定子は
二つのフィールドより成る。その高位ビットはレジスタ
モードフィールド例を構成し第6図で示す0から15ま
でのアドレスモードが指定でき、その5位ビットはレジ
スタアドレスフィールド(煽を構成し、汎用レジスタの
指定ができる。
オペランド指定子(&l)のレジスタモードツイールド
ラ(84A)の様にインデクスアドレスモードを指定す
ると、それに対応するレジスタフィールド(85A)に
オペランド指定子を処理する際にインチフスレジスタと
して使用すべき汎用レジスタの一つが指定される。2次
オペランド指定子はインデクスアドレス動作の命令に含
まれる。この2次オペランド指定子は指定されたインチ
フスレジスタの内容を加算すべきベースアドレスを与え
る。このようにこの中央処理装置のアドレス計算はオペ
ランド指定子の最初のバイトで市電されたインチフスレ
ジスタの内容を取り込み、オペランド指定子の第2バイ
ト及びその後のバイトに含まれた情報に基づいてアドレ
スを作り出し、最初のバイトで指定されたインチフスレ
ジスタの内容と合成しそれによってオペランドのアドレ
スを作り出している。
また、#c7図は、従来のデータ処理装置のパイプライ
ン構成図を示す。まず、命令ブリフェッチ回路′2eで
、命令のブリフェッチを行う。次に、命令バッファデコ
ード回路(8ηでブリフェッチした命令を順次デコード
する。そして、アドレス計算及びオペランドフェッチ回
路(F!Aでオペランドのアドレスを計算しオペランド
のフェッチを行って、演算実行回路(8(2)で命令の
演算を実行する。
〔発明が解決しようとする課題〕
上記のようなインデクスアドレスモードヲ指定すると、
まず、オペランド指定子のインデクスに関する情報が命
令バッファデコード回路′柄でデコ−ドされ、次に、オ
ペランド指定子の第2バイト及びその後のバイトに含ま
れた情報のデコードが終わってからアドレス計算及びオ
ペランドフェッチ回路(晒で実際のアドレス計算が行わ
れ、演算実行回路(支)で演算の実行が行われることに
なる。つまり、インデクス値からデコード処理されるの
でベース値に関する情報は後となり、デコード処理を行
いながらアドレス計算がCきないことになる。
〔課題を解決するための手段〕
上記の問題を解決するため、本発明のデータ処理装置で
は、高機能なアドレッシングモードである多段間接アド
レッシングモードをもつ。多段間接アドレッシングモー
ドのアドレス計算は、ベース値を取り込みベース値の計
算を行い、インデクスに関する情報を取り込み、インデ
クス■αをJJD算して、オペランドのアドレスを作り
出している。
この多段間接アドレッシングモードは、メモリ間接参照
アドレッシングモードも指定可能であり。
加淳と間接多照のオペレーシッンをアドレッシングのプ
リミティブとして、これを任意に組合せが可能なため、
任意回の間接参照が可能なアドレッシングモードである
また、任意回のメモリ間接多照を含むアドレス計算が行
えるアドレッシングにも処4’T能なデータ処理装置で
ある。しかも、本発明のデータ処理g、*は、パイプラ
イン処理によるデータ演算を実行する方式をとっており
各パイプライン処理構成要素の各処理の負荷が均衡に成
るような構成をとっている。
本発明のデータ処理装置は命令フェッチ部、命令デコー
ド部、アドレス計算部、オペランドフェッチ部、命令の
演算実行部からなり、パイプライン処理方式で、一つの
命令をデコード段階で波数のパイプライン処理単位に分
は6理を行い゛、その命令のアドレス計算に関する情報
のパイプライン処理単位は、上記多段間接アドレッシン
グモード指定ごとに行い、アドレス計算終了後、その命
令のオペランドに対する演算情報のパイプライン処理単
位に吸収するような手段を備えたものである。
〔作用〕
本発明におけるデータ処理装置において、オペランドの
アドレス指定が多段間接アドレッシングモードで指定さ
れた命令の場合の処理は、まず、デコード段階では、2
バイトの命令底本部がデコードされ、一つのパイプライ
ン処理単位としてアドレス計算を行う段階へ送られる。
そして、(多段間接モード千0〜4バイトのアドレッシ
ング拡張部)がデコードされ、一つのパイプライン処理
単位としてアドレス計算を行う段階へ送られる。
このとき、(多段間接モード+O〜4バイトのアドレッ
シング拡張部)が複数個存在するときは、煩数個のパイ
プライン処理単位がアドレス計算を行う19Mへ送られ
ることとなる。次に、アドレス計算を行う段階では、2
バイトの命令基本部のパイプライン処理単位が処理され
、これに続く(多段間接モード千0〜4バイトのアドレ
ッシング拡張部)のパイプライン処理単位が処理され、
(多段間接モード千0〜4バイトのアドレッシング拡張
部)のパイプライン処理単位が複数個存在する場合には
次々と処理をし、その処理が終了したとき、つまり、一
つのオペランドのアドレス計算が終了したときに、これ
らの処理結果が一つのパイプライン処理単位として、オ
ペランドのフェッチを行う段階に送られる。
〔実施例〕
(1)本発明のデータ処理装置の命令フォーマット本発
明のデータ処理装置の命令は16ビツト4位でd■変長
となっており、奇数バイト長の命令はない。
本発明のデータ処理装置Cは高頻度命令を所いフォーマ
ットとするため、特に工夫された命令フォーマット体系
をもつ。例えば、2オペランド命令に対して、基本的に
4バイト+拡張部の構成をもち、すべてのアドレッシン
グモードが利用できる一般形フオーマットと頻度の高い
命令とアドレッシングモードのみを使用できる唖縮形フ
ォーマットの2つのフォーマットがある。
4C8図から第17図に示す本発明のデータ処理装置の
命令フォーマット中に現われる記号の意味は次の涌りで
ある。
−: オペコードの入る部分 #:リテラル、または即値の入る部分 Ea:8ミニ8ビツト形のアドレッシングモードでオペ
ランドを指定する部分 Sh:6ビツトの短縮形のアドレッシングモードでオペ
ランドを指定する部分 Rn:  レジスタ上のオペランドをレジスタ番号で指
定する部分 フォーマットは、第8図に示すように右側がLSB側で
、かつ商いアドレスになっている。アドレスNとアドレ
スN+1の2バイとを見ないと命令フォーマットが判別
できないようになっているが、これは、命令が必ず16
ビツト(2バイト)単位でフェッチ、デコードされるこ
とを前提としたためである。
本発明のデータ処理装置では、いrれのフォーマットの
場合も、各オペランドのEaまたはshの拡張部は、必
ずそのEaまたはshの基本部を含む7% −フワード
の直後に置かれる。これは、命令により暗黙に指定され
る即値データや、命令の拡張部に優先する。したがって
、4バイト以上の命令では、Eaの拡張部によって命令
のオペコードが分断される場合がある。
また、後でも述べるように、多段間接モードによって、
Eaの拡張部にさらに拡張部が付く場合にも、次の命令
オペコードよりもそちらの方が優先される。例えば、第
一ハーフワードにEalを含み、第二ハーフワードにE
a2を含み、第三ハーフワードまである6バイト命令の
場合を考える。Ealに多投間接モードを使用したため
、冴通の拡張部のほかに多段間接モードの拡張部もつく
ものとする。
この時、実際の命令ピットパターンは、命令の第一ハー
フワード(Ealの基本部を含む) 、Ealの拡張部
、Ealの多段間接モード拡張部、命令の第二ハーフワ
ード(Ea2の基本部を含む) 、Ea2の拡張部、命
令の第三ハーフワード、の頓となる。
なお、ここでホベている命令フォーマットの内容は、仮
付、rTRON仕様チップの命令ピッ) 割付方法1、
電子情報通信学会第3回リアルタイムアーキテクチャT
R0N研究会資料に詳しく記されている。
(1,1)短縮形2オペランド命令 第9図から第12図に示す。2オペランド命令の短縮形
フォーマットである。
第9図はメモリーレジスタ間演算命令のフォーマットで
ある。このフォーマットにはソースオペランド側がメモ
リとなるL −formatとデスティネーシ冒ンオペ
ランド側がメモリとなるS −formatがある。
L −formatでは、Shはソースオペランドの指
定フィールド、Rhはデスティネーシッンオペランドの
レジスタのt旨定フィールド、RRはshのオペランド
サイズの指定をあられす。レジスタ上に置かれたデステ
ィネーシッンオペランドのサイズは、32ビツトに固定
されている。レジスタ側とメモリ側のサイズが異なり、
ソース側のサイズが小さい場合に符号拡張が行なわれる
S −formatではshはデスティネーシヲンオペ
ランドの指定フィールド、Rhはソースオペランドのレ
ジスタ指定フィールド、RRはshのオペランドサイズ
の指定をあられす。レジスタ上に置かれたソースオペラ
ンドのサイズは、32ビツトに固定されている。レジス
タ側とメモリ側のサイズが異なり、ソース側のサイズが
大きい場合にあふれた部分の切捨てとオーバーフローチ
エツクが行なわれる。
第10図はレジスターレジスタ間演算命令のフォーマッ
ト(R−format )である。Rnはデステイ不一
シッンレジスタの千旨定フィールドbはソースレジスタ
の指定フィールドである。オペランドサイズは32ビツ
トのみである。
第11図はリテラル−メモリ間演算命令のフォーマット
(Q −format )である。東はディスティネー
シ四ンオペランドサイズの指定フィールド、ナはリテラ
ルによるソースオペランドの指定フィールド、shはデ
スティネーシッンオペランドの中旨定フィールドである
第12図は即値−メモリ間演算命令のフォーマット(I
 −format )である。朋はオペランドサイズの
1旨定フィールド(ソース、デイステイネ−シランで共
通)、Shはデスティネーシッンオペランドの指定フィ
ールドである。I −formatの即値のサイズは、
デスティネーション側のオペランドのサイズと共通に8
.16.32 ビットとなり、ゼロ拡張、符号拡張は行
なわれない。
(1,2)−膜形1オペランド命令 第13図は1オペランド暗令の一般形フオーマット(G
l−format )である。MMはオペランドサイズ
の指定フィールドである。一部のG 1− forma
t命令では、Eaの拡張部以外にも拡張部がある。また
、MMを使用しない命令もある。
(1,3)−膜形2オペランド命令 第14図から第16図は2オペランド命令の一般形フオ
ーマットである。このフォーマットに含まれるのは、8
ビツトで指定する一膜形アドレフシングモードのオペラ
ンドが最大2つ存在する命令である。オペランドの総数
自体は3つ以上になる場合がある。
第14図は第一オペランドがメモリ読みだしヲ必要とす
る命令のフォーマット(G −format )である
EaMはデスティネーシぎンオペランドの指定フィール
ド、 MMはデスティ不−シッンオペランドサイズの指
定フィールド、EaRはソースオペランド指定フィール
ド、RRはソースオペランドサイズの指定フィールドで
ある。一部のG−format命令では、EaMやEa
Rの拡張部以外にも拡張部がある。
第15図は第一オペランドが8ビツト即値の命令のフォ
ーマット(E −format )である。EaMはデ
スティネーションオペランドの指定フィールド、MMは
デスティネーションオペランドサイズの指定フィールド
、#はソースオペランド値である。
E−formalとI −formatとは機能的には
似たものであるが、考え方の点では大きく違っている。
E−formatばあ(までも2オペランド−膜形(Q
 −format)の派生形であり、ソースオペランド
のサイズが8ビツト固定、デイステイネ−シランオペラ
ンドのサイズが8/16/32ビツトから選択となって
いる。
つまり、異種サイズ間の演算を前提とし、デスティ不−
シッンオペランドのサイズに合わせて8ビツトのソース
オペランドがゼロ拡張または符号拡張される。一方、I
 −formatは、特に転送命令、比較命令で頻度の
多い即値のパターンを短縮形にしたものであり、ソース
オペランドとディスティネーシぢンオペランドのサイズ
は等しい。
第16図は第一オペランドがアドレス計算のみの命令の
フォーマット(GA −format)である。EaW
はデスティネーションオペランドの(旨定フィールド、
WWはデスティネーションオペランドサイズの(旨定フ
ィールド、EaAはソースオペランドの干旨定フィール
ドである。ソースオペランドとしては実行アドレスの計
算結果自体が使用される。
第17図はショートブランチ命令のフォーマットである
。ccccは分岐条件指定フィールド、disp:8は
ジャンプ先との変位指定フィールド、本発明のデータ処
理装置では8ビツトで変位を指定する場合には、ビット
パターンでの指定値を2@して変位値とする ( 1.4 )アドレッシングモード 本発明のデータ処理装置のアドレッシングモード指定方
法には、レジスタを含めて6ビツトで指定する短縮形と
、8ビツトで指定する一般形がある。
未定義のアドレッシングモードを指定した場合や、意味
的に考えて明らかにおかしなアドレッシングモードの組
み合わせを指定した場合には、未定義命令を実行した場
合と同じく予約命令例外を発生し、例外処理を起動する
これに該当するのは、デスティネーションが即値モード
の場合、アドレス計痒を伴うべきアドレッシングモード
指定フィールドで即値モードを使用した場合などである
第18図から第28図に示すフォーマットの図中で使わ
れる記号つぎの通りである。
Rn  レジスタf旨定 (Sh) 6ビツトの短縮形アドレッシングモードでの
指定方法 (Ea) 8ビツトの一般形アドレッシングモードでの
指定方法 フォーマットの図で点線で囲まれた部分は、拡価部を示
す。
(1,4,1)  Ji本アドレッシングモード本発明
のデータ処理装置は様々なアドレッシングモードをサポ
ートする。そのうち、本発明のデータ処理装置でサポー
トする基本アドレッシングモードには、レジスタ直接モ
ード、レジスタ間接モード、レジスタ相対間接モード、
即値モード、絶対モード、PC相対間接モード、スタッ
クポツプモード、スタックブツシュモードがアル。
レジスタ直接モードは、レジスタの内容をそのままオペ
ランドとする。フォーマットは第18図に示す。Rnは
汎用レジスタの番号を示す。
レジスタ間接モードは、レジスタの内容をアドレスとす
るメモリの内容をオペランドとする。フォーマットは第
19図に示す。Rnは汎用レジスタの番号を示す。
レジスタ相対間接は、ディスプレースメント値が16ビ
ツトか32ビツトかにより、2種類ある。それぞれ、レ
ジスタの内容に16ビツトまたは32ビツトのディスプ
レースメント値を加えた晴をアFl/スとするメモリの
内容をオペランドとする。フォーマットは第20図に示
す。Rnは汎用レジスタの番号を示す。disp:16
とdisp:32は、それぞれ、16ビツトのディスプ
レースメント値、32ビツトのデイX 7’ I/−ス
メント値を示す。ディスプレースメント値は符号付きと
して吸う。
即値モードは、命令コード中で指定されるビットパタン
をそのまま2進数と見なしてオペランドする。フォーマ
ットは第21図に示す。imm−dataは即値を示す
。i mm−dataのサイズは、オペランドサイズと
して命令中で指定される。
絶対モードは、アドレス値が16ビツトで示されるか3
2ビツトで示されるかにより2種類ある。それぞれ、命
令コード中で指定される16ビツトまたは32ビツトの
ビットパタンをアドレスとしたメモリの内容をオペラン
ドとする。フォーマットは第22図に示す。abs :
 16とabs:32は、それぞれ、16ビツトのアド
レス値を示す。abs : 16でアドレスが示される
ときは措定されたアドレス値を32ビツトに符号拡張す
る。
PC相対間接モードは、ディスプレースメント値16ビ
ツトか32ビツトかにより、2種mある。それぞれ、プ
ログラムカウンタの内容に16ビツトまたは32ビツト
のディスプレースメント値を加えた値をアドレスとする
メモリの内容をオペランドとする。フォーマットは第2
3図に示す。disp : 16とdisp:32は、
それぞれ、16ビツトのディスプレースメント値、32
ビツトのディスプレースメント値を示す。ディスプレー
スメント値は符号付きとして扱う。PC相対間接モード
において参照されるプログラムカウンタの値は、そのオ
ペランドを含む命令の先頭アドレスである。多段間接ア
ドレシングモードにおいてプログラムカウンタの値が参
照される場合にも、同じように命令先頭のアドレスをP
C相対の基準値として使用する。 。
スタックポツプモードはスタックポインタ(sp)の内
容をアドレスとするメモリの内容をオペランドとする。
オペランドアクセス後、SPをオペランドサイズだけイ
ンクリメントする。例えは、32ビツトデータを吸う時
には、オペランドアクセス後にSPが+4たけ更新され
る。B、Hのサイズのオペランドに対するスタックポツ
プモードの指定も可能であり、それぞれSPが+1.+
2だけ更新される。フォーマットは第24図に示す。オ
ペランドに対しスタックポツプモードが意味を持たない
ものに対しては、予約命令例外を発生する。具体的に予
約命令例外となるのは、writeオペランド、rea
d−modify−writeオペランドに対するスタ
ックポツプモードf旨定である。
スタックブツシュモードはSPの内容をオペランドサイ
ズた゛けデクリメントした内容をアドレスとするメモリ
の内容をオペランドとする。スタックブツシュモードで
はオペランドアクセス前にSPがデクリメントされる。
例えば、32ビツトデータを吸う時には、オペランドア
クセス前にSPが−4だけ更新される。B、Hのサイズ
のオペランドに対するスタックブツシュモードの指定も
0T脂であり、それぞれSPが−1,−2だけ更新され
る。フォーマットは第25図に示す。オペランドに対し
てスタックブツシュモードが意味を持たないものに対し
ては、予約命令例外を発生する。具体的に予約命令例外
となるのは、readオペランド、read−modi
fy writeオペランドに対するスタックブツシュ
モード指定である。
(1,4,2)  多段間接アドレッシングモード複雑
なアドレッシングも、基本的には加算と間接参照の組み
合わせに分解することができる。したがって、加算と間
接参照のオペレージぢンをアドレッシングのプリミテ蓚
ブとして与えておき、それを任意に組み合わせることが
できれば、どんな複雑なアドレッシングモードをも実現
することができる。本発明のデータ処理装置の多段間接
アドレッシングモードはこのような考え方にたったアド
レッシングモードである。複雑なアドレッシングモード
は、モジュール間のデータ参照やAI言語の処理系に特
に有用である。
多段間接アドレッシングモードを↑旨定するとき、基本
アドレッシングモード指定フィールドでは、レジスタベ
ース多段間接モード、PCベース多段間接モード、絶対
ベース多段間接モードの3踵類の指定方法のうちいずれ
か1つを指定する。
レジスタベース多段間接モードはレジスタの値を、拡張
する多投間接アドレッシングのベース値トスルアドレッ
シングモードである。フォーマットは第26図に示す。
Rnは汎用レジスタの番号を示す。
PCヘース多段間接モードはプログラムカウンタの値を
、拡張する多段間接アドレッシングのベース値とするア
ドレっシングモードである。フォーマットは第27図に
示す。
絶対ベース多段間接モードはゼロを、拡張する多段間接
アドレッシングのベース値とするアドレッシングモード
である。フォーマットは第28図に示す。
拡張する多段間接モード指定フィールドは、16ビツと
を単位としており、これを任意回繰り返す。
1没の多段間接モードにより、ディスプレースメントの
加算、インデクスレジスタのスケーリング(Xi、×2
、×4、×8)と加算、メモリの間接参照、を行なう。
多段間接モードのフォーマットは第29図で示す。各フ
ィールドは以下に示す意味をもつ。
E=0:多段間接モード継続 E=1ニアドレス計算終了 tmp==)address of operandI
=O:メモリ間接参照なし tmp + disp + Rx * 5cale =
=) tmp■=1:メモリ間接参照あり mem[tmp+disp + Rx * 5cale
]==) tmpM=O: <Rx>をインデクスとし
て吏用M=1:特殊なインデクス <RX>=Oインデクス(直を加算しない(Rx = 
O) <Rx>=1プログラムカウンタをインデクス値として
使用 (Rx = PC) <Rx> = 2〜 reservedD=0:多段間
接モード中の4ビツトのフィールドd4の値を4倍して
ディスプレースメント哨とし、これを加算する。d4は
符号付きとして扱い、オペランドのサイズとは関係なく
必ず4@して使用する。
D=1:多段間接モードの拡張部で指定されたdisp
x(16/32ビツト)をディスプレースメント値とし
、これを加算する。
拡張部のサイズはd4フィールドでf旨定する。
d4=oo01 dispxは16ビツトd4=oo1
0 dispxは32ビツトXx :インデクスのスケ
ール(s c a 1 e = 1/2/4/8 )プ
ログラムカウンタに対して×2、×4、×8のスケーリ
ングを行なった場合には、その段の処理路r後の中間n
@ (tmp )として、不定値が入る。この多段間接
モードによって得られる実効アドレスは予測できない値
となるが、例外は発生しない。プログラムカウンタに対
するスケーリングの〒旨定は行なってはいけない。
多段間接モードによる命令フォーマットのバリエージぢ
ンを第30図、第31図に示す。第30図は多段間接モ
ードが4も続するか柊rするかのバリエーションを示す
。第31図はディスプレースメントのサイズのバリエー
ションを示す。
任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が軽1威されるというメリットがある。多段の
間接参照の頻度が非常に少ないとしても、コンパイラと
しては必ず正しいコードを発生できなければならl;い
からである。このため、フォーマット上、任意の段数が
可能になっている。
(1,5)例外処理 本発明のデータ処理装置ではソフトウェア負荷の軽減の
ため、豊富な例外処理機能をもつ、本発明のデータ処理
装置では例外処理は、命令処理を再実行するもの(例外
)、命令処理を完rするもの(トラップ)、」]込の3
挿頌に分けて名称をつけている。また本発明のデータ処
4 ’A j#では、この3踵の例外処理と、システム
障Bを聡称してEITと呼ぶ。
(2)機能ブロックの構成 第2図に本発明のデータ処理装置のブロック図を示す。
本発明のデータ処理装置の内部を機能的に太き(分ける
と、命令フェッチ部(51)、命令デコード部!52.
PC計淳部・5m、オペランドアドレス計算部自)、マ
イクロROM部(50、データ演算部′鰻、外部バスイ
ンターフェイス部5ηに分かれる。第2図では、その他
にCPU外部にアドレスを出力するアドレス出力回路側
とCPU外部とデータの人出力を行うデータ入出力回路
t+59)を他の機能ブロック部と分けて示した。
(2,1)命令フェッチ部 命令フェッチ部15ηにはブランチバッファ、命令キュ
ーとその制御品などがあり、次にフェッチすヘキ命令の
アドレスを決定して、ブランチバッファやCPU外部の
メ4 +)から命令をフェッチする。
ブランチバッファへの命令登録も行う。
ブランチバッファは小規模であるためセレクティブキャ
ッシュとして動作する。ブランチバッファの動作の詳細
は特願S 61−202041で詳しく述べられている
次にフェッチすべき命令のアドレスは命令キューに入力
すべき命令のアドレスとして専用のカウンタで計算され
る。分岐やジャンプが起きたときには、新たな命令のア
ドレスが、PCC計部531やデータ演算部((至)よ
り転送されてくる。
CPU外部のメモリから命令をフェッチするときは、外
部バスインターフェイス部・圀を通して、フェッチすべ
き命令のアドレスをアドレス出力回路′5&からCPU
外部に出力し、データ入出力回路159)をから命令コ
ードをフェッチする。
バッファリングした命令コードのうち、命令デコード部
潤で次にデコードすべき命令コードを命令デコード部匝
に出力する。
(2,2)命令デコード部 命令デコード即成では基本的に16ビツト(ハーフワー
ド)単位に命令コードをデコードする。このブロックに
は第1ハーフワードに含まれるオペコードをデコードす
るFHWデコーダ、第2、第3ハーフワードに含まれる
オペコードをデコードするNFL(Wデコーダ、アドレ
ッシングモードをデコードするアドレッシングモードデ
コーダが含まれる。
ざらにFHWデコーダやNFHWデコーダの出力をさら
にデコードして、マイクロROMのエントリアドレスを
計算するデコーダ2、条件分岐命令の分岐予測を行う分
岐予測機構、オペランドアドレス計算のときのパイプラ
インコンフリクとをチエツクするアドレス計算コンフリ
クトチエツク機構も含まれる。
命令フェッチ部より入力された命令コードを2クロツク
につきO〜6バイトのデコードする。デコード結果のう
ち、データ演疼部150での演算に関する情報がマイク
ロROM部15υに、オペランドアドレス計算に関係す
る情報がオペランドアドレス計俸部1F4)に、PC,
tt痒に関係する情報がPCC計部5(9)に、それぞ
れ出力される。
(2,3)マイクロROM部 マイクロROM部1的には主にデータ演算部561を制
御するマイクロプログラムが格納されているマイクロR
OM、マイクロシーケンサ、マイクロ命令デコーダなど
が含まれる。マイクロ命令はマイクロROMから2クロ
ツクに1度読み出される。マイクロシーケンサはマイク
ロプログラムで示されるシーケンス処理の他に、例外ミ
刷込、トラップ(この3つをあわせてEITと呼ぶ)の
処理をハードウェア的に受付ける。またマイクロROM
部はストアバッファの処理も行う。マイクロROM部に
は命令コードに依存しない刷込みや演算実行結果−によ
るフラッグ情報と、デコーダ2の出力など命令デコード
部の出力が入力される。マイクロデコーダの出力は王に
データ演算部・5Gに対して出力されるが、ジャンプ命
令の実行による他の先行逸理中止情報など一部の情報は
他のブロックへも出力される。
(2,4)オペランドアドレス計q部 オペランドアドレス計箪部54)は、命令デコード祁・
ll(2)のアドレスデコーダなどから出力されたオペ
ランドアドレス計算に関係する情報によりハードワイヤ
ードilJ mlされる。このブロックではオペランド
のアドレス計算に関するほとんどの処理が行われる。メ
モリ間接アドレシングのためのメモリアクセスのアドレ
スやオペランドアドレスがメモリにマツプされたI10
領域に入るかどうかのチエツクも行われる。
アドレス計算晧東は外部バスインターフェイス部5ηに
送られる。アドレス計算に必要な汎用レジスタやプログ
ラムカウンタの値はデータ演算部より入力される。
メモリ間接アドレッシングを行うときは外部バスインタ
ーフェイス部5ηを通してアドレス出力回路(58)か
らCPU外部に参照すべきメモリアドレスを出力し、デ
ータ入出力K teq)から入力された間接アドレス値
を命令デコード部(5謁をそのまま通過させてフェッチ
する。
(2,5)PCitt卓部 pc、tt 痒部(5(至)は命令デコード部j52)
から出力されるPC計算に関係する情報でハードワイヤ
ードに制御され、命令のPC値を計算する。本特許のデ
ータ処4装置は可変長命令セッとを持っており、命令を
デコードしてみないとその命令の長さが旬らない。
pc#Jr4部53)は、命令デコード部1園から出力
される命令長をデコード中の命令のP(Jfiに710
算することによりつぎの命令のPC値を作り出す。また
、命令デコード部1521が、分岐命令をデコードして
デコード段階での分岐を指示したときは命令長の代わり
に分岐変位を分岐命令のPCfiiIに加算することに
より分岐先暗合のPC値を計算する。分岐命令に対して
命令デコード段階で分岐を行うことを本発明のデータq
&理装置ではプリブランチと呼ぶ。プリブランチの方法
については特碩昭61−204500と特願昭61−2
00557で詳しく建べられている。
PCC計部5(9)の計算結果は各命令のPC値として
命令のデコード結果とともに出力されるほか、プリブラ
ンチ時には、次にデコードすべき命令のアドレスとして
命令フェッチ部に出力される。
また、次に命令デコード部・yizでデコードされる命
令の分岐予測のためのアドレスにも使用される。
分岐予測の方法については持1頭昭62−8394で詳
しく述べられている。
(2,6)データ演県部 データ演像部5俤はマイクロプログラムにより制御され
、マイクロROM部5(へ)の出力情報に従い、各命令
の機能を実現するに必@な演算をレジスタと演狼器で実
行する。演算対象となるオペランドがアドレスや即6f
4の場合は、オペランドアドレス計算部(間で計算され
たアドレスや即値を外部バスインターフェイス部157
)を通過させて得る。また、演算対象となるオペランド
がCPU外部のメモリにあるデータの場合は、アドレス
計4部54)で計算されたアドレスをバスインターフェ
イス部5ηがアドレス出力回路6機から出力して、CP
U外部のメモリからフェッチしたオペランドをデータ入
出力回路159)からi得る。
演疼器としてはALU、バレルシフタ、プライオリティ
エンコーダやカウンタ、シフトレジスタなどがある。レ
ジスタと主な演籐器の間は3バスで結合されてSす、1
つのレジスタ間演算を指示する1マイクロ命令を2クロ
ツクサイクルで処理する。
データ演算のときCPU外部のメモリをアクセスする必
要がある時はマイクロプログラムの指示により外部バス
インターフェイス部571を通してアドレ、ス出力回路
!層からアドレスをCPU外部に出力し、データ入出力
回路゛59)を1勇して目的のデータをフェッチする。
CPU外部のメモリにデータをストアするときは外部バ
スインターフェイス部・5ηを通してアドレス出力回路
5因よりアドレスを出力すると同時に、データ入出力回
路(59)からデータをCPU外部に出力する。オペラ
ンドストアを効率的に行うためデータ演草部′5(2)
には4バイトのストアバッファがある。
ジャンプ命令の処理や例外処4などを行って新たな命令
アドレスをデータ演痙部′5(へ)が得たときはこれを
命令フェッチ部(51)とpc!′t*部(5□□□に
出力する。
(2,7)外部バスインターフェイス部外部バスインタ
ーフェイス部・57)は本持許のデータ迅理装置責の外
部バスでの通信を制御する。メモリのアクセスはすべて
クロック同期で行われ、最/J% 2クロツクサイクル
で行うことができる。
メモリに対するアクセス要求は命令フェッチ祁150、
アドレス計算部(2)、データ演算部叫から独立に生じ
る。外部バスインターフェイス部;5カはこれらのメモ
リアクセス要求を個停する。さらにメモリとCPtJを
結ぶデータバスサイズである32ビ、ノド(ワード)の
整置境界をまたぐメモリ番地にあるデータのアクセスは
、このブロック内で自動的にワード境界をまたぐことを
検知して、2回のメモリアクセスに分解して行う。
ブリフェッチするオペランドとストアするオペランドが
市する場合の、コンフリクト防止熾理やストアオペラン
ドからフェッチオペランドへのバイパス処理も行う。
(3)パイプライン機構 本発明のデータ処、′(f! 装置のパイプライン1へ
理は第3図に示す構成となる。命令のブリフェッチを行
う暗合フェッチステージ(IFステージl:3N ) 
、 6−iJ令のデコードを行うデコードステージ(D
ステージt32 ) 、オペランドのアドレス計算を行
うオペランドアドレス計算ステージ(Aステージ+33
1 ) 、 ?イクロROMアクセス(侍にRステージ
、刻と呼ぶ)とオペランドのブリフェッチ(特にOFス
テージ・籾と呼ぶ)を行うオペランドフェッチステージ
(Fステージ134I)、命令の実行を行う実行ステー
ジ(Eステージ・雪)の5段構成をパイプライン処理の
基本とする。Eステージ、35)では1段のストアバッ
フ1があるほか、商機能命令の一部は命令実行自体をパ
イプライン化するため、実際には5段以上のパイプライ
ン処理効果がある。
各ステージは他のステージとは独立に動作し、理論上は
5つのステージが完全に独立動作する。
各ステージは1回の処理を最小2クロックで行うことが
できる。従って4想的には2クロツクごとに次々とパイ
プライン処理が進行する。
本発明のデータ処理装備にはメモリーメモリ間演算や、
メモリ間接アドレッシングなど、基本パイプライン処理
1回だけでは処理が行えない命令があるが、本発明のデ
ータ処理装置はこれらの処理に対してもなるべく均衡し
たパイプライン処理が行えるように設計されている。複
数のメモリオペランドをもつ命令に対してはメモリオペ
ランドの数をもとに、デコード段階で護数のパイプライ
ン処理単位(ステップコード)に分解してパイプライン
処理を行うのである。パイプライン処理単位の分解方法
に関しては持、傾詔61−236456で詳しく述べら
れている。
1Fステージ311からDステージ64に渡されるt#
 Mは命令コードそのものである。Dステージ瞥からA
ステージに渡される情報は命令で指定された潰算に関す
るもの(Dコード81)と呼ぶ)と、オペランドのアド
レス計算に関係するもの(AコードIzと呼ぶ)との2
つある。Aステージ(ト)からFステージに渡される情
報はマイクロプログラムルーチンのエントリ番地やマイ
クロプログラムへのパラメータなどを含むRコード轍と
、オペランドのアドレスとアクセス方法指示清報すどを
含むFコードとの2つである。Fステージ例からEステ
ージ3ば1される情報は演算制唾IH報とリテラルなど
を含むEコード40と、オペランドやオペランドアドレ
スなどを含むSコード+46)との2つである。
Eステージ30以外のステージで検出ざ几たEITはそ
のコードがEステージ鉗の到達するまではE’I T処
理を起動しない。Eステージ・35)で処理さ几ている
命令のみが実行段階の命令であり、IFステージ131
)〜Fステージ+34)で処理されている命分はまだ実
行段階に至っていないのである。従ってEスデージ3θ
以外で検出されたEITは検出したことをステップコー
ド中に記録して次のステージに伝えられるのみである。
(3,1)パイプライン処理単位 (3,1,1)  命令コードフィールドの分頃本発明
のデータ処理装置のパイプライン処理単位は命令セット
のフォーマットの特徴を利用して決定されている。(1
)の節で述べたように、本発明のデータ処理装置の命令
は2バイト単位の0T変長命令であり、基本的には(2
バイトの命令基本部子0〜4バイトのアドレッシング拡
張部)を1〜3回操り返すことにより命令が構成されて
いる。
命令基本部には多くの場合オペコード部とアドレッシン
グ指定部があり、インデックスアドレシングやメモリ、
間接アドレッシングが必要なときにはアドレッシング拡
張部の代わりに(2バイトの多段間接モード指定部+0
〜4バイトのアドレッシング拡張部)が任意側付く。ま
た、命令により2または4バイトの命令固有の拡張部が
岐後に付く。
命令基本部には命令のオペコード、基本アドレッシング
モード、リテラルなどが含まれる。アドレッシング拡張
部はディスプレースメント、参色対アドレス、即値、分
岐命令の変位のいずれかである。命令固有の拡張部には
レジスタマツプ、I−format命令の即値指定など
がある。第32図で本発明のデータ処理装置の基本的命
令フォーマットの特徴を示す。
(3,1,2)  ステップコードへの命令の分解本発
明のデータ処理装置fでは上記の命令フォーマットの特
徴を生かしたパイプライン処理を行う。
Dステージsカでは(2バイトの命令爪本部+0〜4バ
イトのアドレッシング拡張部)、(多段間接モード指定
部子アドレッシング拡張部)または命令固有の拡張部を
1つのデコード単位として処理する。各回のデコード結
果をステップコードと呼び、Aステージ關9L降ではこ
のステップコードをパイプライン%4の単位としている
。ステップコードの数は命令ごとに固有であり、多段間
接モード指定を行わないとき、1つの命令は最小1個、
最大3個のステップコードに分かれる。多段間接モード
指定があればそれだけステップコードが増える。ただし
、これは後で6ベるようにデコード段階のみである。
(3,1,3)  プログラムカウンタの管理本発明の
データ処理装置のパイプライン上に存在するステップコ
ードはすべて別命令に対するものであるoT能性があり
、プログラムカウンタの値はステップコードごとに11
する。すべてのステップコードはそのステップコードの
もとになった命令のプログラムカウンタ値をもつ。ステ
ップコードに付属してパイプラインの各ステージを流れ
るプログラムカウンタ(直はステッププログラムカウン
タ(5pc)と呼ぶ。SPCはパイプラインステージを
次々と受は渡されていく。
(3,2)各パイプラインステージの処理各パイプライ
ンステージの入出カステップコードには第3図に示した
ように[史宜上名前が付けられている。またステップコ
ードはオペコードに関する処理を行い、マイクロROM
のエントリ牌地やEステージ(至)に対するパラメータ
などになる系列とEステージ1351のマイクロ命令に
対するオペランドになる系列の2系列がある。
(3,2,1)  命令フェッチステージ命令フェッチ
ステージ(IFステージ+311 )は命令をメモリや
ブランチバッファからフェッチし、命令キューに入力し
て、Dステージのzに対して命令コードを出力する。命
令午ニーの入力は@置された4バイト単位で行う。メモ
リから命令をフェッチするときは整置された4バイトに
つき最小2クロックを姿する。ブランチバッファがヒツ
トした時は整置された4バイトにつき1クロツクでフェ
ッチ可能である。命令キューの出力単位は2バイトごと
に”T変であり、2クロツクの間に最大6バイトまで出
力できる。また分岐の直後には命令キューをバイパスし
て命令基本部2バイとを直接命令デコーダに転送するこ
ともできる。
ブランチバッファへの命令の登録やクリアなどの制御、
ブリフェッチ先命令アドレスの管理や命令キューの制御
もIFステージ1311で行う。
IFステージ1311で検出するEITには命令をメモ
リからフェッチするときのバスアクセス例外や、メモリ
保護違反などによるアドレス変換例外がある。
(3,2,2)  命令デコードステージ命令デコード
ステージ(Dステージ3カ)はIPステージ1311か
ら入力された命令コードをデコードする。デコードは命
令デコード部隨のFHWデコーダ、NFHWデコーダ、
アドレッシングモードデコーダを使用して、2クロック
単位に1度行ない、1回のデコード処理で、0〜6バイ
トの命令コードを消費する( RET命令の復帰先アド
レスを含むステップコードの出力処理などでは命令コー
ドヲ消dしない)。1回のデコードでAステージ困に対
してアドレス計算情報であるAコード潤である約35ビ
ツトの制御コードと最大32ビツトアドレス晦飾情報と
、オペコードの中間デコード結果であるDコード(40
である約50ビツトの制御コードと8ビツトのリテラル
情報と、を出力する。
Dステージ3?Jでは各命令のPC,!1″摩部153
)の制御、汁岐予測処理、プリブランチ命令に対するプ
リブランチ処理、命令キューからの命令コード出力処理
も行う。
Dステージ(34で検出するEITには予約命令例外、
プリブランチ時の奇数アドレスジャンプトラップがある
。また、IFステージ1311より転送されてきた各@
 EITはステップコード内にエンコードする処理をし
てAステージ(331に転送する。
Dステージいzにおいて、多段間接アドレッシングモー
ドを処理する場合は、2バイトの命令基本部ヲ−−)(
7)デコード単位として処理し、Dコード(41)、A
コード(ハ)を生成すると共に、(多段間接モード指定
部子アドレッシング拡張部)を1つのデコード単位とし
て処理し、Dコード1411、Aコード14カを生成す
る。
(3,2,3)  オペランドアドレス計算ステージオ
ペランドアドレス計算ステージ(Aステー’)渠)は処
理が大きく2つに分かれる。1つは命令デコード部15
2のデコーダ2を使用して、オペコードの後段デコード
を行う処理で、他方はオペランドアドレス計算部徊)で
オペランドアドレスの計算を行う処理である。
オヘコードの後段デコード処理はDコー)’(41+ヲ
入力とし、レジスタやメモリの書き込み予約及びマイク
ロプログラムのエントリ番地とマイクロプログラムに対
するパラメータなどを含むRコード(431の出力を行
う。なお、レジスタやメモリの書き込み予約は、アドレ
ス計算で珍魚したレジスタやメモリの内容が、パイプラ
イン上を先行する命令で書き換えられ、誤ったアドレス
計算が行われるのを防ぐためのものである。レジスタや
メモIJ 〕曹き込み予約はデッドロックを避けるため
、ステップコードごとに行うのではなく命令ごとに行う
レジスタやメモリの書き込み予約については特願昭62
−144394で詳しく述べられている。
オペランドアドレス計算処理はAコードt42 ヲ入力
とし、Aコード(ハ)に従いオペランドアドレス計算部
(54Jで加算やメモリ°間接参照を組み合わせてアド
レス計算を行い、その計算結果をFコード(441とし
て出力する。この際、アドレス計算に伴うレジスタやメ
モリの読み出し時にコンフリクトチエツクを行い、先行
命令がレジスタやメモリに書き込み処理を終了していな
いためコンフリクトが指示されれば、先行印令がEステ
ージ(至)で書き込み処理を終了するまで待つ。また、
オペランドアドレスヤメモリ間接参照のアドレスがメモ
IJK?ツブされた!/(l域に入るかどうかのチエツ
クも行う。
Aステージ(ハ)で検出するBITには予約命令例外、
特権命令例外、バスアクセス例外、アドレス変換例外、
メモリ間接アドレッシングのときのオペランドブレイク
ポイントヒツトによるデバッグトラップがある。Dコー
ド(41)、Aコード142自体がEITを起こしたこ
とを示しておれば、Aステージ+33)はそのコードに
対してアドレス計算処理をせず、そのEITをRコード
(43やFコード(44Iに云える。
Aステージ133)において、多投間接モードの処理を
行う場合、まず、Dステージ(32で命令基本部によっ
て生成されたDコード(41)を基にしてデコード処理
を行い、Rコード0瞬を生成してFコード(441が生
成するまでデコーダ2がRコードを保持しておく。また
、Dステージt3zで命令基本部によって生成されたA
コード14zを基にしてオペランドアドレス計算部(圓
がアドレス計算の中間結果を保持する。
次にDステージ3力で(多段間接モード指定部子アドレ
ッシング拡張部)によって生成されたDコード(41)
にはDステージ(3力でのEIT情報しか意味を持って
いないので、デコーダ2によるデコード処理は行わず、
DステージでEITが発生したか否かを検知する。また
、Dステージ(3zで(多段間接モードf旨定部十アド
レッシング拡張部)によって生成されたAコード心及び
先はどのアドレス計体中間結果を紙にして、アドレス計
算及びメモリ間接参照がある場合にはそれを行ってアド
レス計算が終了するまで次の(多段間接モード指定部子
アドレッシング拡張部)によって生成されたDコード4
1)、Aコード42を入力して処理を繰り返す。そして
、アドレス計算が終了し、Sコードに)が生成されると
デコーダ2が保持しておいたSコード(梠と共にFステ
ージ例に出力される。
(3,2,4)  マイクロROMアクセスステージオ
ペランドフヱッチステージ(Fステージ例も処理が大き
く2つに分かれる。1つはマイクロRCMのアクセス処
理であり、持にRステージ鰻と呼ぶ。
他方はオペランドプリフェッチ処理であり、持にOFス
テージ(3ηと呼ぶ。Rステージ(36)とOF’ステ
ージ37)は必ずしも同時に動作するわけではなく、メ
モリアクセス権が+*にできるかどうかなどに依存して
、独立に動作する。
Rステージ側の処理であるマイクロROMアクセス処理
はSコードに対して次のEステージでの実行に使用する
実行制御コードであるSコードを作り出すためのマイク
ロROMアクセスとマイクロ命令デコード処理である。
1つのSコードに対スル処理が2つ以上のマイクロプロ
グラムステップに分解される場合、マイクロROMはE
ステージ135+で使用され、次のSコード(431は
マイクロROMアクセス待ちになる。Rコード各3に対
するマイクロROMアクセスが行われるのはその前のE
ステージ;30での最後のマイクロ命令実行の時である
。本発明のデータ逸理装置樗ではほとんどの基本命令は
1マイクロプログラムステツプ行われるため実際にはS
コードに31に対するマイクロROMアクセスが次々と
行われることが多い。
Rステージ国で新たに検出する]ljTはない。Sコー
ド側が命令処理再実行型のBITを示しているときはそ
のBIT処理に対するマイクロプログラムが実行される
のでRステージ(鏝はそのRコード旧に従ったマイクロ
命令をフェッチする。Sコード(州が奇数アドレスジャ
ンプトラップを示しているときRステージ鰻はそれをS
コード(40に1云える。
これはプリブランチに対するもので、Eステージ姫では
そのSコード(4均で分岐が生じなければそのプリブラ
ンチを有効として奇数アドレスジャンプトラップを発生
する。
(3,2,5)  オペランドフェッチステージオペラ
ンドフェッチステージ(OFステージ!3η)はFステ
ージ例で行う上記の2つの処理のうちオペランドプリフ
ェッチ処理を行う。
オペランドプリフェッチはSコード(44Iを入力とし
、フェッチしたオペランドとそのアドレスヲSコード(
46)として出力する。1つのSコード(44ではワー
ド境界をまたいでもよいが4バイト以Fのオペランドフ
ェッチを指定する。Sコード(個にはオペランドのアク
セスを行うかどうかの指定も含まれており、Aステージ
+3aで計算したオペランドアドレス自体や即値をEス
テージ135)に転送する場合にはオペランドプリフェ
ッチは行わず、Sコード(441の内容をSコード(4
FjIとして転送する。プリフェッチしようとするオペ
ランドとEステージμsが書き込み処理を行おうとする
オペランドが一致するときは、オペランドプリフェッチ
はメモリから行わず、バイパスして行なう。またl10
fl域に対してはオペランドプリフェッチを遅硬させ、
先行命令がすべて完rするまで待ってオペランドフェッ
チを行う。
OFステージ1371で検出するBITにはバスアクセ
ス例外、アドレス94例外、オペランドプリフェッチに
対するブレイクポイントヒツトによるデバッグトラップ
がある。Sコード(44がデバッグトラップ以外のBI
Tを示しているときはそれをSコード各員に転送し、オ
ペランドプリフェッチは行わない。
Fコード(44)がデバッグトラップを示しているとき
はそのFコード(44)に対してBITを示してぃない
七きと同じ処理をすると共にデバッグトラップをSコー
ド(州に伝える。
(3,2,6)  実行ステージ 実行ステージ(Eステージ(3四はEコード(州、Sコ
ード(46)を入力として動作する。このEステージ+
351が命令を実行するステージであり、Fステージ+
3491前のステージで行われた処理はすべてEステー
ジI3(へ)のための前処理である。Eステージ(3(
へ)でジャンプ命令が実行されたり、BIT処理が起動
されたりしたときは、IFステージ(311〜Fステー
ジ(341までの処理はすべて無効化される。Eステー
ジall(へ)はマイクロプログラムにより制(社)さ
れ、Rコード(僧に示されたマイクロプログラムのエン
トリ番地からの一連のマイクロプログラムを実行するこ
とにより命令を実行する。
マイクロROMの読み出しとマイクロ命令の実行はパイ
プライン化されて行われる。従ってマイクロプログラム
でか岐が起きたときは1マイクロスチツプの空きができ
る。また、Eステージばはデータ演算部・5(至)にあ
るストアバッファを利用して、4バイト以内のオペラン
ドストアと次のマイクロ命令実行をパイプライン処理す
ることもできる。
Eステージ醸ではAステージ(簑で行ったレジスタやメ
モリに対する書き込み予約をオペランドの書き込みの後
、解除する。
また条件分岐命令がEステージ(ハ)で分岐を起こした
ときはその条件分岐命令に対する分岐予測が誤っていた
のであるから分岐Ki歴の書間えを行う。
EステージG(へ)で検出されるEITにはバスアクセ
ス例外、アドレス変換例外、デバッグトラップ、奇数ア
ドレスジャンプトラップ、予約機能例外、不正オペラン
ド例外、予約スタックフォーマット例外、ゼロ除算トラ
ップ、無条件トラップ、条件トラップ、遅低コンテ干ス
トトラップ、外部刷込、リセットρj込、システム障g
がある。
EステージG〜で検出されたEITはすべてEIT処理
されるがEステージα前のIFステージGll〜Fステ
ージ制の間で検出されるRコード(431やSコード(
刺に反映されているEITは必ずEIT処理されるとは
限らない。IFステージ(111〜Fステ一ジ例の間で
検出したが、先行の命令がEステージ(ハ)でジャンプ
命令が実行されたなどの原因でEステージ(35)まで
到達しなかったBITはすべてキャンセルされる。
そのEITを起こした命令はそもそも実行されなかった
ことになる。
外部刷込や遅延割込は命令の切れ目でEステージ3I5
1で直接受は付けられ、マイクロプログラムにより必要
な処理が実行される。その他の各種EITも処理はマイ
クロプログラムにより行われる。
(3,3)各パイプラインステージの状態制仰パイプラ
インの各ステージは入力ラッチと出力ラッチを持ち、他
のステージとは独立に動作することを基本とする。各ス
テージは1つ前に行った処理が終わり、その処理結果を
出力ラッチから次のステージの入力ラッチに転送し、自
分のステージの入力ラッチに次の処理に必f4 fl入
力信号がすべてそろえば次の処理を開始する。
つまり、各ステージは、1つ前、没のステージから出力
されてくる次の処理に対する入力信号がすべて有効とな
り、今の処理結果を後段のステージの入力ラッチに転送
して出力ラッチが空になると次の処理を開始する。
各ステージが動作を開始する1つ前のクロックタイミン
グで入力信号がすべてそろっている必要がある。入力信
号がそろっていないと、そのステージは待ち状態(入力
待ち)になる。出力ラッチから次のステージの入力ラッ
チへの転送を行うときは次のステージの入力ラッチが空
き状態にr、I:っている必要があり、次のステージの
入力ラッチが空きでない場合もパイプラインステージは
待ち状態(出力待ち)になる。必要なメモリアクセス帰
が1得できなかったり、処理しているメモリアクセスに
ウェイトが挿入されたり、その(也のパイプラインコン
フリクトが生じると、各ステージの処理自体が遅延する
(4)多段間接アドレッシングの詳細説明メモリ相対間
接アドレッシングモードの一つである多段間接アドレッ
シングモードには、(1,4,2)に述べたようにレジ
スタベース多段間接モード、PCベース多段間接モード
、杷対ベース多段間接モードがある。ここでは第33図
に示すようにアドレッシングモードをレジスタベース多
段間接モードとする二段の多段間接アドレッシングモー
ドの一膜形1オペランド命令の場合を説明する。第1の
命令ヒツトパターン(101)は、第13図に示すGl
−format命令であり、その基本アドレッシングモ
ード指定フィールドを第26図で示すレジスタベース多
段間接モードに指定する。Rnはペースレジスタを示す
。次に第2の命令ビットパターン(102)は第29図
で示す多段間接モードのフォーマットである拡張部の2
バイトである。この拡張部の内容は、多段間接モード継
続、メモリ間接参照有り、スケーリングを4としてRx
lをインデクスとして使用することを示す。そして、3
2ビツトのdispxの値をディスプレースメント値と
する。第2の命令ビットパターン(102)のあとに第
3の命令ビットパターン(103)の16ビツト、及び
第4の命令ビットパターン(104)の16ビツとを一
つの値とした32ビツトのディスプレースメントが付く
。その次の第5の命令ビットパターン(105)は、先
はどと同様な多段間接モードのフォーマットである拡張
部である。この拡張部はアドレス計算終了、メモリ間接
参照なし、スケーリングを2としてRx2をインデクス
として使用、d4の値の4@し符号拡張した値をディス
プレースメント値とすることを示す。
結局、オペランドのアドレス計算としては、mem[R
n+dispx+Rxl*4)+d4*4 +Rx2*
2 ==>address of operandが行
われる。なお、mem[A]はA番地のメモリ内4を示
す。
(5)アドレッシングモード処理部の機能ブロック構成 第1図は、本発明のデータ処理装置のアドレッシングモ
ード処理部の詳細な構成図を示す。
命令フェッチ部(う1)にある命令キュー(1)は、命
令をプリフェッチし、命令デコードB52に命令コード
を出力する。
命令デコード部1局にあるデコーダ1(2)は、FHW
デコーダ、NFHWデコーダ、アドレッシングモードデ
コーダ、Dコード、Aコード生成回路とその制御回路か
らなり、−段目のデコード処理が行われる。−段目のデ
コード結果のうち、オペランドアドレス計算に関係する
情報がオペランドアドレス計像部(54)に、二段目の
デコード処理に関係する1R報がデコーダ2(3)に、
pc、tt算に関係する清報がPC計淳部(53)に、
それぞれ出力される。
命令デコード部1521にあるデコーダ2(3)は、デ
コーダ1(2)の出力を入力として二段目のデコードす
る。二段目のデコード結果のうち、データ演算部゛′5
Gでの演算に関する情報がマイクロROM部・6均に、
オペランドフェッチに関係する情報がオペランドアドレ
ス計痙部7541に、それぞれ出力される。
Dステージプログラムカウンタ14)は、Dステージ3
りで用いられるプログラムカウンタであり、PC計阜部
、5(9)で計算された値がPOババス191を1毛っ
て人力される。
Aステージプログラムカウンタ(5)は、Aステージ1
33)で用いられるプログラムカウンタであり、Dステ
ージプログラムカウンタ(4)、POババス9)、及び
Aバス■に接続されている。
間接参照データレジスタ(6)は、メモリ間接谷照時に
メモリから間接蓼照データを、データ入出力回路159
)からDDババス171を通って格納する。また、この
間接参照データレジスタ(6)には整置回路が含まれて
いる。
オペランドアドレス計算部(54)のインデクスレジス
タ(7)は、アドレス計算時にAバス■からインデクス
値を入力し、デコーダ1(2)から出力されるスケール
値を用いてスケーリングを行う。
オペランドアドレス計像部154)のディスプレースメ
ントレジスタ(8)はDISPバスd印に接続されてお
り、即値、絶対、およびレジスタ相対アドレッシング券
のディスプレースメンとを必要とするアドレス計算部に
ディスプレースメント値が入力される。
オペランドアドレス計算部54)のペースレジスタ(9
)ハ、Aバス■に接続されており、レジスタ4431 
接、レジスタ相対アドレッシングモード時のレジスタの
内容が入力される。また、ペースレジスタ(9)は、D
ISPバス(181,Aoババスと接続されている。多
段間接アドレッシングモードでメモリ間接参照ありの時
のメモリからのデータの格納を行ったり、メモリ間接参
照f、L Lでアドレス計算速続の場合の計算結果の格
納も行う。
オペランドアドレス計俸部154)のアドレス加算器d
■は、インデクスレジスタ(71、ディスプレースメン
トレジスタ(8)、およびペースレジスタ(9)の値を
加算する。
オペランドアドレス計輌部(64)のアドレス加俸出力
ラッチ111はアドレス加算器0■の加算結果を出力す
る出力ラッチであり、AOババスに接続されている。
Aステージ間接参照アドレスレジスタ■は、AOババス
に接続されており、間接参照時にアドレスをセットし、
そのアドレスが品バスムを通ってアドレス出力回路(5
&に入り間接参照が行われる。
オペランドフェッチアドレスレジスタlは、AOババス
に接続されており、オペランドのプリフェッチを行うア
ドレス、および即値が入る。オペランドのブリフェッチ
を行う場合には、AAバス□□□を介してフェッチアド
レスをアドレス出力回路・5(へ)に出力する。
SP演算部(141は、各ステージ母のスタックポイン
タの値を計算する。
SP演曜部圓のAステージスタックポインタ(151は
、Aステージ器でブツシュ、ポツプに関するアドレス計
算を必要とするときにこの値が使用される。
Aステージスタックポインタ(151はAバス■に接続
されている。
汎用レジスタファイル印は、S1バス21)、およびA
バス■に接続されている。
DDバス面は、データ入出力回路159)を通して外部
データバスに接続され、命令キュー(1)や間接参照デ
ータレジスタ(6)と接続されている。
DISPバスuSは、Dステージ34で使用され命令キ
ュー(1)から出力された変位や即値をオペランドアド
レス計曝部(54に転送するバスである。DI SPバ
スロ&はメモリ間接アドレッシングモード時、メモリカ
ラフェッチしてきた値ヲオペランドアドレス計俸部(5
4)に転送するために使用される。
POババス1は、各ステージ間のプログラムカウンタと
接続されている。
Aバス■は、Aステージ弥で使用され汎用レジスタファ
イル061のレジスタの値をオペランドアドレス計算部
(54)に転送するバスである。
S1バス12Dは、SP演演算04)、汎用レジスタフ
ァイルue、データ演算部側に接続されている。
AOババスは、Aステージ□□□で使用されアドレス加
算出力ラッチdυの値をペースレジスタ(9)、Aステ
ージ間接参照アドレスレジスタu7J、およびオペラン
ドフェッチアドレスレジスタ(131に転送するバスで
ある。
品バスのは、Aステージ間接参照アドレスレジスタu2
1やオペランドフェッチアドレスレジスタf131の示
すアドレス値を出力してアドレス出力回路!581に転
送するために使用される。Aステージ(至)でのメモリ
間接客照アドレスのフェッチやFステージ九でのオペラ
ンドのフェッチを行うときに使用する。
(6)多段間接アドレッシングを行う命令に対するパイ
プライン動作の詳細説明 第4図にDステージ(34の動作のフローチャーとを示
す。
第5図KAステージ(331の動作のフローチャーとを
示す。
今、命令キュー(1)に第1から第5までの命令ピット
パターン((101)〜(105))が存在し、それ以
前の命令のDステージいりでのデコード処理が終わり、
その処理結果であるDコード圓、AコードlA2をAス
テージ1321に転送すると、Dステージ3カは、IF
ステージ+311から命令コードを取り込み、処理を開
始する。Dステージイカでの動作は、デコーダ1(2)
が命令キュー(1)から第一の命令ビットパターン(1
01)である16ビツとを取り込み、デコード処理を開
始する。その結果、1組のDコード圓とAコードV42
のステップコード(以下、第1DAステツプコードとす
る。)が生成される。このとき、Aステージ1331が
以前の命令のステップコードの処理が終わり、その処理
結果をFステージ(に転送し、次のステップコード待ち
の状軛であるとする。Aステージ(至)は、Dステージ
l32)から第1 DAステップコードを取り込み、処
理を開始する。このときのAステージ(331の動作は
、以下のようになる。
デコーダ2(3)は第1 DAステップコードのDコー
ド圓を用いて処理を開始する。それと共にオペランドア
ドレス計算部(財)は第1 DAステップコードのAコ
ードu2を用いてRnで指定されるレジスタの内容が汎
用レジスタファイル頭からAバス■を通って、ペースレ
ジスタ(9)に取り込まれる。このときディスプレース
メントレジスタ(8)及びインデクスレジスタ(7)は
クリアされる。ペースレジスタ(9)、ディスプレース
メントレジスタ(8)、及びインデクスレジスタ(7)
のレジスタ値がアドレス加阜器犯により加算され、その
加痒結果はアドレス加算出力ラッチUυにラッチされA
Oババ■を通って、ペースレジスタ(9)に取り込まれ
る。第1 DAステップコードの内容においてアドレッ
シングモードが多段間接モードであるが、もし多段間接
モードでなければ、Aステージ3四でのデコーダ2(3
)によるデコード処理、及びオペランドアドレス計算部
1.6(1)によるアドレス計算を終えると一組のFコ
ード讃、Rコード(2)のステップコードが生成される
。しかし、アドレッシングモードが多段間接モードの場
合、Fコード(ト)、Rコード(44Iは生成されず、
Aステージ的で必要な値を保持する。実際にはデコーダ
2の出力ラッチ(3)に値を保持する。そして、次のス
テップコードが取り込まれるのを待つ。
さて、Dステージ図では第1DAステツプコードを転送
すると、第33図の第2の命令ビットパターン(102
)である16ビツとをIFステージ1311から取り込
み、処理を開始する。このときのDステージI3zでの
動作は、デコーダ1(2)が命令キュー(1)から第二
の命令ビットパターン(102)である16ビツとを取
り込みデコード処理を開始する。デコードの結果、第3
3図の第3及び第4の命令ビットパターン((103)
、(104) )である32ピツトのディスプレースメ
ント値をも取り込み、第2の1組のDコード(41)、
Aコード14つ(以下、第2DAステツプコードとする
。)を生成する。
そして、Aステージ(ではDステージツカから第2DA
ステツプコードを取り込み、処理を開始する。
このときのAステージ(33)の動作は、以下のように
なる。
デコーダ2(3)は第2DAステツプコードのDコード
(4幻を用いて処理を開始する。このときデコード処理
は行わl’Dコード(41)中のBIT情報だけを検知
する。それと共にオペランドアドレス計算部[54)は
$IDAステップコードのAコード(42を用いて、R
XIでヤ旨定されるレジスタの内容が汎用レジスタファ
イル側からAバス■を通ってインデクスレジスタ(7)
に取り込まれ、第2DAステツプコードに含まれるスケ
ール値=10により4倍される。また、32ビツトのデ
ィスプレースメント値は、ディスプレースメントレジス
タ(8)に取り込まれる。これら三つのレジスタ、つま
り、インデクスレジスタ(7)、デイX 7” L、−
スメントレジスタ(8)、及ヒペースレシスタ(9)の
レジスタ情がアドレス加算器tl(1)により加算され
る。このとき、ペースレジスタ(9)には一つ前の演曝
柄果(この場合ペースレジスタ(9)の値)が保持され
ている。これらの加算結果はアドレス加算出力ラッチU
にラッチされ、AOババ乃を通って、Aステージ間接参
照アドレスレジスタuzに「6納されると共に、そこか
ら品バスのを1mリアドレス出力回路1581を経てメ
モリ間接参照にいく。
第2DAステツプコードを転送した後のDステージ図は
、第5の命令ビットパターンである16ビツとをIPス
テージ3+1から取り込み、処理を開始する。
このときのDステージ(32の動作は、デコーダ1(2
)でデコード処理を開始し、ディスプレースメントはd
4の晴を4倍にし32ビット符号拡張され、第3の1組
のDコードしη、AコードI42(以下、第3DAステ
ツプコードとする。)が生成される。
Aステージ的では、メモリ間接谷照を行った結果の間接
参照データがデータ入出力回路59)を径でDDバスU
ηを介して間接参照データレジスタ(6)に入る。そし
て、第3DAステツプコードを取り込み1.13DAス
テツプコードのDコード(41)を用いて処理を開始す
る。このときデコード処理は行わずDコ−ド(40中の
EIT情報だけを検知する。それと同時に、第3DAス
テツプコードのAコード4のを用いてRxで指定される
レジスタの内容が汎用レジスタファイル0(ilからA
バス圓を而ってインデクスレジスタ(7)に取り込まれ
、第3DAステツプコードに含まれるスケール値=01
により2@にされる。また、32ビツトの符号拡張され
たディスプレースメント値は、ディスプレースメントレ
ジスタ(8)に取り込まれる。間接多照データレジスタ
(6)の値は、DISPバス止を経由し、ベースレジス
タ(9)に取り込まる。
これら三つのレジスタ、つまりインデクスレジスタ(7
)、ティスプレースメントレジスタ(8)、及ヒヘース
レジスタ(9)の値がアドレス加算m t81により加
算され、その加算結果はアドレス加算出力ラッチ(]i
lにラッチされる。このステップコードによりアドレス
計厚終了でAステージでの処理が終わり、デコーダ2(
3)の出力ラッチの値とアドレス加算出力ラッチ(Il
lのC1貞が一組のRコード(431,Fコード(2)
のステップコードとして、Fステージ例に転送される。
このときFコード■中に含まれるオペランドフェッチア
ドレスは、AOババスを通ってオペランドフェッチアド
レスレジスタCl31に取り込まれ、アドレス出力回路
側を介してオペランドフェッチを開始することになる。
また、−投影1オペランド命令の基本アドレッシングモ
ードがPCベース多段間接モードである場合では、ベー
スアドレスの才旨定は、レジスタベース多段間接モード
の場合の汎用レジスタがプログラムカウンタの値となり
、Aステージプログラムカウンタ(5)の値がAバス■
ヲ通ッて、ペースレジスタ(9)に収り込まる。12t
Fの処理はレジスタベース多段間接モードの場合と同様
である。−投影1オペランド命令の基本アドレッシング
モードが絶対ベース多段間接モードの場合では、ベース
アドレスは0番地であり、ペースレジスタ(9)はクリ
アされ、以ドの処理は同様である。
本実施例では−」投影1オペランド命令の場合を示した
が一膜形2オペランド命令の場合でも同様  −の処理
となる。
このように、多段間接アドレッシングモードを使用した
命令の場合、Dステージ3力では(命令基本部+アドレ
ッシングモード指定部)、(多段間接モード指定部子ア
ドレッシング拡張部)をそれぞれ1つのデコード単位と
して処理し、1組のDコード(41)、Aコード婬のス
テップコードを生成する。ここでの説明の例の場合は、
三組のステップコードとなり、(多段間接モード指定部
子アドレッシング拡張部)のステップコードには、命令
実行に関する情報は含まれないためFステージ例以降に
このステップコードを流す必姿はない。よって、Dステ
ージcカで生成された(多段間接モード指1FK十アド
レッシング拡張部)のステップコードは、Aステージ(
331で(命令基本部子アドレッシングモード指定部)
のステップコードに吸収される。そして、それ以後−つ
のステップコードとして、Fステージ制以降処理される
第35図にここでの説明の例のパイプライン上のステッ
プコードの流れの図を示す。時間3におけるAステージ
、331の動作は、第2.3.4の命令ビットパターン
((102)、(103)、(104) )によって生
成されたステップコードでアドレス計算を行っているこ
とを示す。時間4におけるAステージ的の動作は、第2
.3.4の命令ビットパターン((102)、(103
)、(104) )によって生成されたステップコード
でメモリ間接参照を行っていることを示す。時間6にお
けるFステージ制の処理は、第1の命令のビットパター
ン(101)のステップコードに第2.3.4の命令ビ
ットパターン((102) 、(103)、(104)
 )及び第5の命令ビットパターン(105)によって
生成されたステップコードをAステージ圀)で吸収し、
その結果、生成したステップコードをFステージ制で処
理していることを示す。
(7)4バイl−121上ある命令で命令ビットパター
ンの最初の2バイトにオペランドのアドレスに対スル情
報のない命令の詳細説明 第34図で示す命令ビットパターンの処理について説明
する。本発明のデータ処4装置で処理されるPJ34図
で示される命令は、以Fのものがある。
アドレッシングモードで示される32ビツト固定のデス
ティネーシゴンを1ビツト左にシフトし、X−flag
の内容をデスティネーシ言ンのLSBに詰め、MSBか
らあふれたビッとをX−flagに入れる命令(5HX
L命令)、アドレッシングモードで示されル32ビット
固定のデスティネーシぢンを1ビツト右にシフトし、X
−flaHの内容をデスティネーシ冒ンのMSBKaめ
、LSBからあふれたビッとをX−flagに入れる命
令(5HXR命令)がある。
また、第34図の例で第9の命令ビットパターンの後に
命令固宵の拡張部のある場合がある。この命令は、スタ
ックフレームの形成、高級言語用サブルーチンジャンプ
命令(ENTER命令)や高級言語用サブルーチンリタ
ーンとパラメータ解放命令(EX I TD命令)であ
る。
第34図で示す第6の暗合ビットパターン(106)に
は命令基本部のみから成り立っている。第7の命令ビッ
トパターン(107)は(命令基本部子アドレッシング
モード指宅部)から成り立っている。アドレッシングモ
ードの拡張部のビットパターンを第8の命令ビットパタ
ーン(108)とする。基本アドレッシングモード指定
部を第20図に示すレジスタ相対間接モードに指定する
今、命令キュー(1)に第6から第9までの命令ビット
パターン((106)〜(109) )が存在し、それ
以前の命令のDステージ(3りでのデコード処理が終わ
り、その処理結果であるDコード(4N)、Aコード1
42をAステージ図に転送すると、Dステージ曽は、I
Fステージ1311から命令コードを取り込み、処理を
開始する。Dステージ3カでの動作は、デコーダ1(2
)が命令キュー(1)から第6の命令ビットパターン(
101)である16ビツとを取り込み、デコード処理を
開始する。その時果、1組のDコード(4υとAコード
14zのステップコード(12[F、第6 DAステッ
プコードとする。)が生成される。このとき、Aステー
ジ器が以前の命令のステップコードの処理が終わり、そ
の処理結果をFステージ刺に転送し、次のステップコー
ド待ちの状態であるとする。Aステージ1331は、D
ステージ鵠から第6DAステツプコードを取り込み、処
理を開始する。このときのAステージ器の動作は、以下
のようになる。デコーダ2(3)は第6DAステツプコ
ードのDコードIを用いて処理を開始する。第6DAス
テツプコードのAコード142は意味を持たないので、
オペランドアドレス計箪部(541は何もしない。デコ
ードの結果、このステップコードではRコード(43、
Fコード(個は生成さttr、次のステップコードが取
り込まれるのヲ待つ。
さて、Dステージ3りでは第6DAステツプコードを転
送すると、第34図のg7の命令ビットパターン(10
7)である16ビツとをIFステージ(+11から取り
込み、処理を開始する。このときのDステージ(3′A
での動作は、デコーダ1(2)が命令キュー(1)から
第7の命令ビットパターン(107)である16ビツと
を取り込みデコード処理を開始する。デコードの結果、
第34図の第8の命令ビットパターン(108)及び第
9の命令ビットパターン(109) ’??ある32ビ
ツトのディスプレースメント値をも取り込み、第7の1
組のDコード圓、AコードI42 (以下、第7DAス
テツプコードとする。)を生成する。
そして、Aステージ器3(至)ではDステージ9カから
第7DAステツプコードを取り込み、処理を開始する。
このときのAステージ(331の動作は、以下のように
なる。デコーダ2(3)はlX70Aステツプコードの
Dコード圓を用いて処理を開始する。それと共にオヘラ
ントアドレス計算部154)は第7DAステソフコード
のAコード142を用いて、デコード処理を開始する。
そのときのオペランドアドレス計算部[541の動作は
、Rmで指定されるレジスタの内容が汎用レジスタファ
イルG6)からAバス田を1ってペースレジスタ(9)
に取り込まれ、32ビツトのディスプレースメント値は
、ディスプレースメントレジスタ(8)に取り込まれる
。このときインデクスレジスタ(7)はクリアされる。
これら三つのレジスタ、つまり、インデクスレジスタ+
71 、ディスプレース〆ントレシスタ(8)、及びペ
ースレジスタ(9)のレジスタ値カアドレス加俸器(1
0)により加疼され、その加算結果はアドレス加算出力
ラッチtillにラッチされる。これでAステージでの
処理が終わり、−組のRコードH+3、Fコード44を
生成してFステージl341に転送される。
このよって、4バイト以上ある命令で命令ビッドパター
ンの最初の2バイトにオペランドのアドレスに対する情
報のない命令は、Dステージ6りにおいて二つ以上のス
テップコードに分離される。
しかし、Aステージ1331では、オペランドのアドレ
スに対する情報のない命令ビットパターンのステップコ
ードは後続のその命令のステップコードに吸収される。
そして、一つのステップコードとしてFステージ134
111降処理がciT能となる。
第36図にここでの説明の例のパイプライン上のステッ
プコードの流れの図を示す。時間4におけるFステージ
例の処理は、第6の命令のビットパターン(106)の
ステップコードに第7.8.9の命令ビットパターン(
(107)、(108)、(109))によって生成さ
れたステップコードをAステージ(で吸収し、その結果
、生成したステップコードをFステージ例で処理してい
ることを示す。
〔発明の効果〕
以−ヒのように、本発明の16ビツト単位で命令のデコ
ードを行うデータ処理装置において、上記命令で、多段
間接アドレッシングモードによっチーつの命令から生成
される複数のステップコードを単一のステップコードに
まとめる、つまり命令の実行に関する情報を含まないコ
ードをデコードした結果生成したステップコードは、そ
の次段で処理している命令の実行に関する情報を含むコ
ードをデコードした結果生成したステップコードに吸収
される。また、4バイト以上ある命令で命令ビットパタ
ーンの最初の2バイトにオペランドのアドレスに対する
情報のない命令のステップコードは、その命令の次のス
テップコードに吸収される。
したがって、それ以降のステージで無駄なステップコー
ドが流れることがないので、各ステージの処理の@荷が
均衡し、処理速度が向上する効果がある。
多段間接アドレッシングモードのようにベース値の計算
が終了してからインデクス値と加算してアドレス値を求
めており、このようなアドレス計曝が続くような場合で
も本発明のデータ処理装置の構成をとれば限られたハー
ドウェアで任意回のメモリ間接参照及びアドレス計算が
可能となる。
【図面の簡単な説明】
第1図は、本発明の一実施例によるデータ処理装置の構
成図、第2図は本発明のデータ処理装置の全体ブロック
図、第3図は本発明のデータ処理装置のパイプラインス
テージ概要図、第4図はDステージ(3zにおける通常
命令動作のフローチャート、第5図はAステージ(33
)における通常命令動作のフローチャート、第6図は、
従来のアドレッシングモードを含んだ命令を示す概略図
、第7図は従来のデータ処理装置のパイプラインステー
ジ概要図、第8図は本発明のデータ処理装置のメモリ上
での命令の並び方を示す図、第9図から第17図は本発
明のデータ処理装置の命令フォーマットの図、第18図
から第31図は本発明のデータ処理装置のアドレッシン
グモードの説明図、第32図は本発明のデータ処理装置
の命令フォーマットの特徴を示す図、第33図、第34
図は、本発明のデータ処理装置aの一実施例の命令ビッ
トパターンの図、第35図、第36図は各実施例のパイ
プライン上のステップコードの流れ図である。 (1)は命令キュー、(2)はデコーダ1 、(31は
デコーダ2 、+41はDステージプログラムカウンタ
、(5)はAステージプログラムカウンタ、(6)は間
接参照データレジスタ、(7)はインデクスレジスタ、
(8)はディスプレースメントレジスタ、(91はペー
スレジスタ、dlはアドレス加算器、+Eはアドレス加
算出力ラッチ、 1121は間接多照アドレスレジスタ
、(13はオペランドフェッチアドレスレジスタ、ua
はスタックポインタ演算部、UωはAステージスタック
ポインタ、qeは汎用レジスタファイル、(171はD
DババスuaはDISPハス、+191はP○ババスの
はAバス、(21+はS1バス、■はAOババス(2)
はM、バスである。(511は命令フェッチ部、fFi
’i5は命令デコード部、5粉はPC演算部、渕)はオ
ペランドアドレス計算部、160はマイクロROM部、
15(至)はデータ演算部、5ηは外部バスインターフ
ェイス部、(58はアドレス出力回路、・59)はデー
タ人d力回路である。GllはIFステージ、(3カは
Dステージ、l331はAステージ、(341はFステ
ージ、13mはRステージ、37)はOFステージ、1
3QはEステージ、(41)はD:I−)’、12はA
コード、(43)はRコード、(44)はFコード、(
45)はEコード、(4(2)はSコードである。 8輪はオペレーションコード、鈴υ、(1112、及び
(へ)はそれぞれオペランド指定子、(間はレジスタモ
ードフィールド、(晒はレジスタアドレスフィールド、
(Sa)、(85A)はアドレスモードをインデクスモ
ードにしたトキのレジスタモードフィールド、レジスタ
アドレスフィールドの内容である。いφは命令プリフェ
ッチ回路、(8ηは命令バッファデコード回路、(ハ)
はアドレス計算及びオペランドフェッチ回路、189)
は演算実行回路である。(101)は第1の命令ビット
パターン、(102)は第2の命令ビットパターン、 
(103)は第3の命令ビットパターン、(104)は
第4の命令ビットパターン、(105)は第5の命令ビ
ットパターン、(106)は第6の命令ビットパターン
、(107)は第7の命令ビットパターン、(108)
は$8の命令ビットパターン、(109)は第9の命令
ビットパターンである。 なお、図中、同一符号は、同一または相当部分を示す。

Claims (6)

    【特許請求の範囲】
  1. (1)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、上記単位デコード結果に従いオペランド
    のアドレスを計算する機能をもつ第2のパイプラインス
    テージとをパイプライン動作させる機能を備え、オペラ
    ンドに対する演算内容を指定する演算情報指定部と、オ
    ペランドのアドレスに関する情報を示す第1のアドレッ
    シングモード指定部と、上記第1のアドレッシングモー
    ド指定部で示されるオペランドのアドレスに関する情報
    を拡張する情報を示す第2のアドレッシングモード指定
    部とを持つ命令を処理するとき、上記第1のパイプライ
    ンステージは、上記演算情報指定部と、上記第1のアド
    レッシングモード指定部を第1の単位デコード処理とし
    てデコードして第1の単位デコード結果を出力し、上記
    第2のアドレッシングモード指定部を第2の単位デコー
    ド処理としてデコードして第2の単位デコード結果を出
    力し、上記第2のパイプラインステージは、上記第1の
    単位デコード結果と上記第2の単位デコード結果に従い
    、オペランドアドレスに関する処理を行い、オペランド
    アドレスを得る処理をすることを特徴とするデータ処理
    装置。
  2. (2)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、上記単位デコード結果に従いオペランド
    アドレスを計算して、オペランドのアドレスを出力する
    機能をもつ第2のパイプラインステージと、上記オペラ
    ンドアドレスに従いオペランドをフェッチする第3のパ
    イプラインステージとをパイプライン動作させる機能を
    備え、オペランドに対する演算内容を指定する演算情報
    指定部と、オペランドのアドレスに関する情報を示す第
    1のアドレッシングモード指定部と、上記第1のアドレ
    ッシングモード指定部で示されるオペランドのアドレス
    に関する情報を拡張する情報を示す第2のアドレッシン
    グモード指定部とを持つ命令を処理するとき、上記第1
    のパイプラインステージは、上記演算情報指定部と、上
    記第1のアドレッシングモード指定部を第1の単位デコ
    ード処理としてデコードして第1の単位デコード結果を
    出力し、上記第2のアドレッシングモード指定部を第2
    の単位デコード処理としてデコードして第2の単位デコ
    ード結果を出力し、上記第2のパイプラインステージは
    、上記第1の単位デコード結果に従いオペランドアドレ
    スに関する処理を行い、上記第1の単位デコード結果に
    従うオペランドアドレスに関する処理であるオペランド
    アドレス計算中間結果を保持し、上記第2の単位デコー
    ド結果に従い、かつ上記オペランドアドレス計算中間結
    果を使用して、オペランドアドレスに関する処理を行い
    、オペランドアドレスを出力することを特徴とするデー
    タ処理装置。
  3. (3)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、1つの命令の複数のオペランドに対して
    、上記単位デコード結果に従いオペランドアドレスを計
    算して、複数のオペランドの複数のアドレスを複数回に
    分けて出力する機能をもつ第2のパイプラインステージ
    と、上記オペランドアドレスに従いオペランドをフェッ
    チする第3のパイプラインステージとをパイプライン動
    作させる機能を備え、オペランドに対する演算内容の一
    部を指定する第1の演算情報指定部と、第1のオペラン
    ドのアドレスに関する情報を示す第1のアドレッシング
    モード指定部と、上記第1のアドレッシングモード指定
    部で示されるオペランドのアドレスに関する情報を拡張
    する情報を示す第2のアドレッシングモード指定部と、
    オペランドに対する演算内容の一部を指定する第2の演
    算情報指定部と、第2のオペランドのアドレスに関する
    情報を示す第3のアドレッシングモード指定部と、上記
    第3のアドレッシングモード指定部で示されるオペラン
    ドのアドレスに関する情報を拡張する情報を示す第4の
    アドレッシングモード指定部とを持つ命令を処理すると
    き、上記第1のパイプラインステージは、上記第1の演
    算情報指定部と、上記第1のアドレッシングモード指定
    部を第1の単位デコード処理としてデコードして第1の
    単位デコード結果を出力し、上記第2のアドレッシング
    モード指定部を第2の単位デコード処理としてデコード
    して第2の単位デコード結果を出力し、上記第2の演算
    情報指定部と、上記第3のアドレッシングモード指定部
    を第3の単位デコード処理としてデコードして第3の単
    位デコード結果を出力し、上記第4のアドレッシング指
    定部を第4の単位デコード処理としてデコードして第4
    の単位デコード結果を出力し、上記第2のパイプライン
    ステージは、上記第1の単位デコード結果に従いオペラ
    ンドアドレスに関する処理を行い、上記第1の単位デコ
    ード結果に従うオペランドアドレスに関する処理である
    第1のオペランドアドレス計算中間結果を保持し、上記
    第2の単位デコード結果に従い、かつ上記第1のオペラ
    ンドアドレス計算中間結果を使用して、オペランドアド
    レスに関する処理を行い、第1のオペランドアドレスを
    出力し、上記第3の単位デコード結果に従いオペランド
    アドレスに関する処理を行い、上記第3の単位コード結
    果に従うオペランドアドレスに関する処理である第2の
    オペランドアドレス計算中間結果を保持し、上記第2の
    単位デコード結果に従い、かつ上記第2のオペランドア
    ドレス計算中間結果を使用して、オペランドアドレスに
    関する処理を行い、第2のオペランドアドレスを出力す
    ることを特徴とするデータ処理装置。
  4. (4)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、上記単位デコード結果に従いオペランド
    アドレスを計算して、オペランドのアドレスを出力する
    機能と2つ以上複数の上記単位デコード結果の一部また
    は全部を1つに統合してオペランド演算情報を出力する
    機能をもつ第2のパイプラインステージと、上記オペラ
    ンドアドレスに従いオペランドをフェッチする第3のパ
    イプラインステージとをパイプライン動作させる機能を
    備え、オペランドに対する演算内容の一部を指定する第
    1の演算情報指定部と、オペランドに対する演算内容の
    一部を指定する第2の演算情報指定部と、オペランドの
    アドレスに関する情報を示すアドレッシングモード指定
    部とを持つ命令を処理するとき、上記第1のパイプライ
    ンステージは、上記第1の演算情報指定部を第1の単位
    デコード処理としてデコードして第1のデコード結果を
    出力し、上記第2の演算情報指定部と、上記アドレッシ
    ングモード指定部を第2の単位デコード処理としてデコ
    ードして第2の単位デコード結果を出力し、上記第2の
    パイプラインステージは、上記第1の単位デコード結果
    と第2の単位デコード結果に含まれるオペランドの演算
    に関する情報を統合したオペランド演算情報と、上記第
    2の単位デコード結果に従いオペランドアドレスに関す
    る処理を行い、オペランドアドレスとを出力することを
    特徴とするデータ処理装置。
  5. (5)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、上記単位デコード結果に従いオペランド
    のアドレスを計算する機能をもつ第2のパイプラインス
    テージとをパイプライン動作させる機能を備え、オペラ
    ンドに対する演算内容を指定する演算情報指定部と、基
    本アドレッシングモード指定部と、上記基本アドレッシ
    ングモード指定部の拡張部である一つまたは複数の拡張
    アドレッシングモード指定部とを持つ命令において、上
    記基本アドレッシングモード指定部、及び上記拡張アド
    レッシングモード指定部には、一つのオペランドのアド
    レス計算内容とアドレス計算が終了するか否かを表す情
    報とを含み、上記命令を処理するとき、上記第1のパイ
    プラインステージは、上記演算情報指定部と、上記基本
    アドレッシングモード指定部を一つの単位デコード処理
    としてデコードして一つの第1の種類の単位デコード結
    果を出力し、アドレス計算が終了しない情報を含んでい
    る場合の一つまたは複数の上記拡張アドレッシングモー
    ド指定部をそれぞれ一つの単位デコード処理としてデコ
    ードして、アドレス計算が終了しない情報を含んでいる
    上記拡張アドレッシングモード指定部と同数の第2の種
    類の単位デコード結果を出力し、アドレス計算が終了す
    る情報を含んでいる上記拡張アドレッシングモード指定
    部を一つの単位デコード処理としてデコードして第3の
    種類の単位デコード結果を出力し、上記第2のパイプラ
    インステージは、上記第1の種類の単位デコード結果と
    上記第2の種類の単位デコード結果がある場合は上記第
    2の種類の単位デコード結果と上記第3の種類の単位デ
    コード結果とを順次入力して、オペランドアドレスに関
    する処理を行い、オペランドアドレスを得る処理をする
    ことを特徴とするデータ処理装置。
  6. (6)1つまたは複数の単位デコード処理に分けて、1
    つの命令のデコードを行い、単位デコード処理ごとに単
    位デコード結果を出力する機能をもつ第1のパイプライ
    ンステージと、上記単位デコード結果に従いオペランド
    のアドレスを計算する機能をもつ第2のパイプラインス
    テージとをパイプライン動作させる機能を備え、オペラ
    ンドに対する演算内容を指定する演算情報指定部と、基
    本アドレッシングモード指定部と、上記基本アドレッシ
    ングモード指定部の拡張部である一つまたは複数の拡張
    アドレッシングモード指定部とを持つ命令において、上
    記基本アドレッシングモード指定部、及び上記拡張アド
    レッシングモード指定部には、一つのオペランドのアド
    レス計算内容とアドレス計算が終了するか否かを表す情
    報とを含み、上記命令を処理するとき、上記第1のパイ
    プラインステージは、上記演算情報指定部と、上記基本
    アドレッシングモード指定部を第1の単位デコード処理
    としてデコードして第1の単位デコード結果を出力し、
    第1の単位デコード結果には、アドレス計算が終了する
    か否かを表す情報を含み、アドレス計算が終了しない情
    報を含んでいる場合の一つまたは複数の上記拡張アドレ
    ッシングモード指定部をそれぞれ一つの単位デコードと
    してデコードして、アドレス計算が終了しない情報を含
    んでいる上記拡張アドレッシングモード指定部と同数の
    第2の種類の単位デコード結果を出力し、上記単位デコ
    ード結果には、アドレス計算が終了しない情報を含み、
    アドレス計算が終了する情報を含んでいる上記拡張アド
    レッシングモード指定部を一つの単位デコード処理とし
    てデコードして第3の種類の単位デコード結果を出力し
    、上記単位デコード結果には、アドレス計算が終了する
    情報を含み、上記第2のパイプラインステージは、上記
    第1の単位デコード結果に従い、オペランドアドレスに
    関する処理を行ってオペランドアドレス計算処理結果を
    生成し、アドレス計算が終了しない情報の場合には、一
    つの処理単位は生成されずに、上記オペランドアドレス
    計算処理結果をラッチに保持して、上記第2の種類の単
    位デコード結果、もしくは上記第3の種類の単位デコー
    ド結果に従い、上記ラッチの内容を使用して、オペラン
    ドアドレスに関する処理を行ってオペランドアドレス計
    算処登結果を生成し、アドレス計算が終了する情報の場
    合には、上記オペランドアドレス計算処理結果をオペラ
    ンドアドレスとし、上記オペランドアドレスを一つの処
    理単位として上記第3のパイプラインステージへ出力す
    ることを特徴とするデータ処理装置。
JP63066267A 1988-03-18 1988-03-18 データ処理装置 Expired - Fee Related JPH0766324B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP63066267A JPH0766324B2 (ja) 1988-03-18 1988-03-18 データ処理装置
US07/313,650 US5129068A (en) 1988-03-18 1989-02-21 Operand address calculation in a pipeline processor by decomposing the operand specifier into sequential step codes
US07/314,727 US5091853A (en) 1988-03-18 1989-02-22 Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63066267A JPH0766324B2 (ja) 1988-03-18 1988-03-18 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01237837A true JPH01237837A (ja) 1989-09-22
JPH0766324B2 JPH0766324B2 (ja) 1995-07-19

Family

ID=13310899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63066267A Expired - Fee Related JPH0766324B2 (ja) 1988-03-18 1988-03-18 データ処理装置

Country Status (2)

Country Link
US (2) US5129068A (ja)
JP (1) JPH0766324B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249273A (en) * 1989-01-17 1993-09-28 Fujitsu Limited Microprocessor having a variable length instruction format

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769806B2 (ja) * 1988-10-14 1995-07-31 三菱電機株式会社 データ処理装置
KR0163179B1 (ko) * 1989-03-31 1999-01-15 미다 가쓰시게 데이타 프로세서
JP2680899B2 (ja) * 1989-08-28 1997-11-19 日本電気株式会社 情報処理装置及びその制御方法
JPH03185530A (ja) * 1989-12-14 1991-08-13 Mitsubishi Electric Corp データ処理装置
EP0463973A3 (en) * 1990-06-29 1993-12-01 Digital Equipment Corp Branch prediction in high performance processor
US5249280A (en) * 1990-07-05 1993-09-28 Motorola, Inc. Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory
JP2682232B2 (ja) * 1990-11-21 1997-11-26 松下電器産業株式会社 浮動小数点演算処理装置
JP2646855B2 (ja) * 1991-01-21 1997-08-27 三菱電機株式会社 データ処理装置
JPH04263322A (ja) * 1991-02-18 1992-09-18 Mitsubishi Electric Corp マイクロコンピュータ
US5283874A (en) * 1991-10-21 1994-02-01 Intel Corporation Cross coupling mechanisms for simultaneously completing consecutive pipeline instructions even if they begin to process at the same microprocessor of the issue fee
JP2861560B2 (ja) * 1991-12-25 1999-02-24 松下電器産業株式会社 データ処理装置
JPH0713757A (ja) * 1993-06-28 1995-01-17 Mitsubishi Electric Corp データ処理装置
US5913050A (en) * 1993-12-29 1999-06-15 Intel Corporation Method and apparatus for providing address-size backward compatibility in a processor using segmented memory
US6021498A (en) * 1994-04-06 2000-02-01 Advanced Micro Devices, Inc. Power management unit including a programmable index register for accessing configuration registers
US5781187A (en) * 1994-05-31 1998-07-14 Advanced Micro Devices, Inc. Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system
US5832533A (en) * 1995-01-04 1998-11-03 International Business Machines Corporation Method and system for addressing registers in a data processing unit in an indexed addressing mode
JPH08190481A (ja) * 1995-01-06 1996-07-23 Ricoh Co Ltd 情報処理装置
US5893930A (en) * 1996-07-12 1999-04-13 International Business Machines Corporation Predictive translation of a data address utilizing sets of associative entries stored consecutively in a translation lookaside buffer
US6079002A (en) * 1997-09-23 2000-06-20 International Business Machines Corporation Dynamic expansion of execution pipeline stages
JP2000207205A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置
US6889312B1 (en) * 2001-04-02 2005-05-03 Advanced Micro Devices, Inc. Selective zero extension based on operand size
US7383420B2 (en) * 2005-03-24 2008-06-03 Qualcomm Incorporated Processor and method of indirect register read and write operations
US9465613B2 (en) * 2011-12-19 2016-10-11 International Business Machines Corporation Instruction predication using unused datapath facilities
US10671391B2 (en) * 2014-02-25 2020-06-02 MIPS Tech, LLC Modeless instruction execution with 64/32-bit addressing
US10929132B1 (en) * 2019-09-23 2021-02-23 Intel Corporation Systems and methods for ISA support for indirect loads and stores for efficiently accessing compressed lists in graph applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5717059A (en) * 1980-07-04 1982-01-28 Hitachi Ltd Processor for pipeline control data
JPS63189942A (ja) * 1987-02-02 1988-08-05 Hitachi Ltd 情報処理装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
US3946366A (en) * 1973-01-26 1976-03-23 Sanders Associates, Inc. Addressing technique employing both direct and indirect register addressing
US3943495A (en) * 1973-12-26 1976-03-09 Xerox Corporation Microprocessor with immediate and indirect addressing
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
US4241397A (en) * 1977-10-25 1980-12-23 Digital Equipment Corporation Central processor unit for executing instructions with a special operand specifier of indeterminate length
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
JPS5621240A (en) * 1979-07-27 1981-02-27 Hitachi Ltd Information processor
JPS5621242A (en) * 1979-07-28 1981-02-27 Fujitsu Ltd Pipeline control method for computer operation
JPS5725069A (en) * 1980-07-21 1982-02-09 Hitachi Ltd Vector data processing equipment
US4453212A (en) * 1981-07-13 1984-06-05 Burroughs Corporation Extended address generating apparatus and method
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4503492A (en) * 1981-09-11 1985-03-05 Data General Corp. Apparatus and methods for deriving addresses of data using painters whose values remain unchanged during an execution of a procedure
JPS58146969A (ja) * 1982-02-26 1983-09-01 Toshiba Corp インデツクス限定連続演算ベクトルプロセツサ
US4613935A (en) * 1983-02-02 1986-09-23 Couleur John F Method and apparatus for pipe line processing with a single arithmetic logic unit
JPS59174948A (ja) * 1983-03-25 1984-10-03 Toshiba Corp 情報処理装置
US4612613A (en) * 1983-05-16 1986-09-16 Data General Corporation Digital data bus system for connecting a controller and disk drives
EP0150177A1 (en) * 1983-07-11 1985-08-07 Prime Computer, Inc. Data processing system
EP0163740B1 (en) * 1983-11-11 1989-05-10 Fujitsu Limited Pipeline control system
US4837676A (en) * 1984-11-05 1989-06-06 Hughes Aircraft Company MIMD instruction flow computer architecture
US4890220A (en) * 1984-12-12 1989-12-26 Hitachi, Ltd. Vector processing apparatus for incrementing indices of vector operands of different length according to arithmetic operation results
JPS61160142A (ja) * 1984-12-29 1986-07-19 Hitachi Ltd デ−タ処理装置
JPH0789319B2 (ja) * 1985-04-22 1995-09-27 株式会社日立製作所 デ−タ処理装置における先行制御装置
JPS61245256A (ja) * 1985-04-23 1986-10-31 Mitsubishi Electric Corp 情報格納方式
DE3751503T2 (de) * 1986-03-26 1996-05-09 Hitachi Ltd Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
US4901316A (en) * 1986-05-27 1990-02-13 Nohmi Bosai Kogyo Co., Ltd. Disaster prevention monitoring and control facility
US4890218A (en) * 1986-07-02 1989-12-26 Raytheon Company Variable length instruction decoding apparatus having cross coupled first and second microengines
JPH07101385B2 (ja) * 1986-12-05 1995-11-01 株式会社東芝 情報処理装置
JPS63253433A (ja) * 1987-04-10 1988-10-20 Hitachi Ltd 演算処理装置
JPH0192851A (ja) * 1987-10-02 1989-04-12 Hitachi Ltd アドレス空間切替装置
JPH07120278B2 (ja) * 1988-07-04 1995-12-20 三菱電機株式会社 データ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5717059A (en) * 1980-07-04 1982-01-28 Hitachi Ltd Processor for pipeline control data
JPS63189942A (ja) * 1987-02-02 1988-08-05 Hitachi Ltd 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249273A (en) * 1989-01-17 1993-09-28 Fujitsu Limited Microprocessor having a variable length instruction format
EP0461257B1 (en) * 1989-01-17 1997-04-23 Fujitsu Limited Microprocessor sequencer for controlling the decoding of varable length instructions

Also Published As

Publication number Publication date
US5129068A (en) 1992-07-07
US5091853A (en) 1992-02-25
JPH0766324B2 (ja) 1995-07-19

Similar Documents

Publication Publication Date Title
JPH01237837A (ja) データ処理装置
EP0789297A2 (en) Data processor and method of processing data
JP2507638B2 (ja) デ―タ処理装置
JPH02173823A (ja) データ処理装置
JP2847974B2 (ja) データ処理装置
JP2017539008A (ja) データ投機実行のためのシステム、装置および方法
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
JPH01214932A (ja) データ処理装置
JP2669158B2 (ja) データ処理装置
JP3789583B2 (ja) データ処理装置
JPH07120284B2 (ja) データ処理装置
JP3345787B2 (ja) データ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2646855B2 (ja) データ処理装置
JPH0769806B2 (ja) データ処理装置
JP2522048B2 (ja) マイクロプロセッサ及びそれを使用したデ―タ処理装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JPH0218621A (ja) データ処理装置
JPH0290325A (ja) データ処理装置
JPH0769802B2 (ja) データ処理装置
JPH0769801B2 (ja) データ処理装置
JP2696578B2 (ja) データ処理装置
JPH0769805B2 (ja) データ処理装置
JPH0769808B2 (ja) データ処理装置
JPH01214933A (ja) データ処理装置

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees