JPH04109339A - レジスタ番地指定回路及びそれを備えたデータ処理装置 - Google Patents

レジスタ番地指定回路及びそれを備えたデータ処理装置

Info

Publication number
JPH04109339A
JPH04109339A JP2231967A JP23196790A JPH04109339A JP H04109339 A JPH04109339 A JP H04109339A JP 2231967 A JP2231967 A JP 2231967A JP 23196790 A JP23196790 A JP 23196790A JP H04109339 A JPH04109339 A JP H04109339A
Authority
JP
Japan
Prior art keywords
register
data
instruction
address
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
JP2231967A
Other languages
English (en)
Other versions
JP2556182B2 (ja
Inventor
Toyohiko Yoshida
豊彦 吉田
Yukari Takada
由香里 高田
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 JP2231967A priority Critical patent/JP2556182B2/ja
Priority to US07/752,129 priority patent/US5396610A/en
Publication of JPH04109339A publication Critical patent/JPH04109339A/ja
Application granted granted Critical
Publication of JP2556182B2 publication Critical patent/JP2556182B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

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)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はレジスタ番地指定回路及びそれを備えたデータ
処理装置に関し、より詳しくは、複数のレジスタ内容を
転送する命令の実行時に、指定された番地のレジスタを
アクセスする他に、指定されたレジスタ番地とは1番地
異なるレジスタ番地のレジスタもアクセスし得るレジス
タ番地指定回路を倫えることにより、2つのレジスタ内
容を同時にアクセスするデータ処理装置に関するもので
ある。
E従来の技術] 従来、データ処理装置では高頻度に使用するデータを高
速にかつ単純な機構でアクセスする目的で、16本程度
の数の汎用レジスタにて構成されるレジスタファイルを
備え、頻繁にアクセスするデータ、演算の中間結果等を
レジスタファイルに保持するようにしている。
このようなレジスタファイルを使用するソフトウェアで
は、レジスタファイルの各レジスタに配置したデータを
一連の処理の区切り目で入れ換える手法を用いる。この
ため、レジスタ上に配置されたデータが一度に複数個ず
つ連続してメモリにストアされたり、メモリからロード
されたりする処理が頻繁に反復される。
CあるいはPa5calなどの高級言語では高頻度に使
用する変数をプロシージャ毎にレジスタに再配置する手
法が用いられることが多く、これらの高級言語で設計さ
れたソフトウェアではレジスタから複数のデータをメモ
リにスト了したり、逆に複数のデータをメモリからレジ
スタにロードする鋲度が高い。
このため、1命令で複数のデータをレジスタからメモリ
に退避したりあるいは1命令で複数のデータをメモリか
らレジスタにロードする複数データ転送命令を有するデ
ータ処理装置が従来から提案されている。このような複
数データ転送命令では、データを転送すべき対象となる
レジスタを“0”と°1”とのビット列に対応させたレ
ジスタリストで示す手法が用いられている。従って、レ
ジスタリストをサーチして転送すべきレジスタ番号を高
速にエンコードする必要があり、この目的のためにプラ
イオリティエンコーダと称されるエンコード回路がハー
ドウェアとしてIzされている。
そして、複数データ転送命令を実行する際は、プライオ
リティエンコーダから出力されたレジスタ番号をデコー
ドしてレジスタを逐次的にアクセスすることによりデー
タを転送し7ていた。このため、複数の連続したレジス
タ番号のレジスタ内容を転送する場合にもレジスタ番号
のデコードは1対lで行われ、レジスタをアクセスする
レジスタ番地指定回路が入力されたレジスタ番号の次の
番号のレジスタをアクセスするようには構成されていな
い。
[発明が解決しようとする課題〕 従来のレジスタ番地指定回路では、人力されたレジスタ
番号とこれによりアクセスされるレジスタとが1対1の
対応をするため、入力されたレジスタ番号とそれに隣接
するレジスタ番号のレジスタとをアクセスする場合は、
レジスタ番地指定回路に入力するレジスタ番地をインク
リメントあるいはデクリメントする必要があった。また
、このインクリメント及びデクリメントはたとえばカウ
ンタ等のハードウェアで行う必要があり、入力されたレ
ジスタ番号とそれに隣接するレジスタとを同時にアクセ
スする場合は遅延時間が大きくなる。
また従来のデータ処理装置では、複数データ転送命令の
実行に際に、プライオリティエンコーダを用いてレジス
タリストをサーチして“l”(または“O”)のビット
位置を2進数にエンコードして得たI/ジスタ番号に従
ってレジスタを1つずつ逐次的にアクセスしてデータを
転送していた。このため、最低でも転送すべきデータ数
と等しい数の転送動作を反復する必要がある。
[課題を解決するだめの手段] 本発明のレジスタ番地指定回路はこのような課題を解決
するためなされたものであり、2進数で表現されたレジ
スタの番地を第1のビット列にデコードするデコーダと
、このデコーダのデコード結果である第1のビット列と
、デコーダのデコード結果をlビットシフトした第2の
ビット列とを入力し、いずれかのビット列を選択的に出
力するセレクタを備えている。
また本発明の第1の発明のデータ処理装置は、命令をデ
コードする命令デコード手段と、2nビットのデータを
保持するデータレジスタと、nビットのデータを保持す
る第1のI/ジスタ番地の第1のレジスタと、nビット
のデータを保持する第2のレジスタ番地の第2のレジス
タと、nビットの第1のデータを第1のレジスタからデ
ータレジスタへ転送する第1のバスと、nビットの第2
のデータを第2のレジスタからデータレジスタへ転送す
る第2のバスと、第1のバスに接続されるべきレジスタ
の番地をデコードするアドレスデコーダと、第2のバス
に接続されるべきレジスタの番地をデコードするレジス
タ番地指定回路とを有していて命令デコード手段の出力
に従って命令を実行する命令実行手段とを備えている。
更に本発明の第2の発明のデータ処理装置は、命令をデ
コードする命令デコード手段と、20バイトのデータを
保持するデータレジスタと、nビットのデータを保持す
る第1のレジスタ番地の第1のレジスタと、nビットの
データを保持する第2のレジスタ番地の第2のレジスタ
と、データレジスタからnビットの第1のデータを第1
のレジスタへ転送する第1のバスと、データレジスタか
ら残りのnビットの第2のデータを上記第2のレジスタ
へ転送する第2のバスと、第1のハスに接続されるべき
レジスタの番地をデコードするアドレスデコーダと、第
2のバスに接続されるべきレジスタの番地をデコードす
るレジスタ番地指定回路とを有していて命令デコード手
段の出力に従って命令を実行する命令実行手段とを備え
ている。
[作用] 本発明のレジスタ番地指定回路では、セレクタの選択動
作に応じて、n番地のレジスタがアクセスされるか、ま
たはn千1番地とn−1番地とのいずれかの番地のレジ
スタがアクセスされる。
また本発明の第1の発明のデータ処理装置では、命令デ
コード手段が基本演算命令(第1の命令)をデコードし
た場合は、第2のレジスタ番地に従ってレジスタ番地指
定回路が第2のレジスタをアクセスすることにより第2
のレジスタからデータレジスタへnビットのデータが転
送され、命令デコード手段が複数データ転送命令(第2
の命令)をデコードした場合は、第1のレジスタ番地が
アドレスデコーダでデコードされて第1のレジスタをア
クセスされるので第1のデータが第1のレジスタからデ
ータレジスタへ転送されると共に、第1のレジスタ番地
に従ってレジスタ番地指定回路が第2のレジスタをアク
セスするので第2のブタが第2のレジスタからデータレ
ジスタへ転送され、最後に第1のデータと第2のデータ
とが連結される。
更に本発明の第2の発明のデータ処理装置では、命令デ
コード手段が基本演算命令(第1の命令)をデコードし
た場合は、第2のレジスタ番地に従っテレシスタ番地指
定回路が第2のレジスタをアクセスするのでデータレジ
スタから第2のレジスタへnビットのデータが転送され
、命令デコード手段が複数データ転送命令(第2の命令
)をデコードした場合は、第1のレジスタ番地がアドレ
スデコーダでデコードされて第1のレジスタがアクセス
されるので第1のデータがデータレジスタがら第1のレ
ジスタへ転送されると共に、第1のレジスタ番地に従っ
てレジスタ番地指定回路が第2のレジスタをアクセスす
るので第2のデータがデータレジスタから第2のレジス
タへ転送される。
[発明の実施例〕 以下、本発明をその実施例を示す図面を参照して詳述す
る。
(1)「本発明のデータ処理装置を用いたシステムの構
成」 第6図は本発明のデータ処理装置を用いたシステムの構
成例を示すブロック図である。
この例では、本発明のデータ処理装置100.  命令
キャッシュ106.  データキナ/シュ107及び1
08主メモ1月09がアドレスバス101.  データ
バス+02命令バス103.  メモリアドレスバス1
04.  メモリデータバス105で結合されている。
アドレスバス101は本発明のデータ処理装置100か
ら出力されるアドレスを命令キャッシュ106とデータ
キャッシュ107.1.08とに入力する。命令バス1
03は命令キャッシュ106から出力される命令コード
を本発明のデータ処理装置100へ転送する。
データバス102は本発明のデータ処理袋3100がら
出力されたデータをデータキャッシュ107 108へ
転送したりあるいはデータキャッシュ107.108か
ら出力されたデータを本発明のデータ処理装置100へ
転送したりする。メモリアドレスバス104は命令キャ
ッシュ106またはデータキャッシュ107108から
出力されるアドレスを主メモリ109へ転送する。メモ
リデータバス105は主メモリ109と命令キャッシュ
106またはデータキャッジ、IQマとの間で命令また
はデータを転送する。
命令キャッシュ106.データキャッシュ107.10
8がミスした場合はそれぞれのキャッシュがメモリアド
レスバス104 とメモリデータバス105トのバス権
を調停して主メモ1月09をアクセスする。
データキャッシュ107.108は本発明のデータ処理
装置100の側では64ビツトのバスに結合するため、
2つのチップが協調して動作する。各64ビツトデータ
のデータの上位32ビツトのデータをデータキャッシュ
107が、下位32ビツトのデータをデータキャッシュ
108がそれぞれ分担して受持つ。
以下、本発明のデータ処理装置100の命令体系及び処
理機構について最初に説明し、次に複数個のレジスタ中
のデータを転送する命令であるL[l?1命令とSTM
命令とを実行した場合のプライオリティエンコーダとデ
ータ演算部との動作を詳細に説明する。
(2)[本発明のデータ処理装置の命令フォーマットj
本発明のデータ処理装置の命令は16ビノトip−位で
可変長となっており、奇数バイト長の命令はない。
本発明のデータ処理装置では高頻度に使用される命令を
短いフォーマ、トとするために特に工夫された命令フォ
ーマット体系を有する。例えば、2オペランド命令に対
して、基本的に14)\イI・」+「拡張部Jの構成を
有し、全てのア)・レッシングモードが利用可能な一般
形フオーマ7)と、tμ度の高い命令とアドレッシング
モードとのみを使用可能な短縮形フォーマットとの2つ
のフォーマy l・がある。
第9図乃至第13図に示す本発明のデータ処理装置の命
令フォーマット中に現われる記号の意味は以下の如くで
ある。
:オペレーションコードが入る部分 Ea:8ミニ8ビツト形の7ドレソシングモードでオペ
ランドを指定する部分 Sh:6ビツトの短縮形のアドレッシングモードでオペ
ランドを指定する部分 Rnニレジスタフアイル上のオペランドをレジスタ番号
で指定する部分 フォーマットは、第9図に示す如く、右側がLSB側で
且つ高いアドレスになっている。アドレスNとアドレス
Ni1との2バイトを見ないと命令フォーマットが判別
できないようになっているが、これは、命令が必ず16
ビツト(ハーフワード)単位でフェフヂ、デコードされ
ることを前提としているためである。
本発明のデータ処理装置の命令では、いずれのフォーマ
、トの場合も、各オペランドのEaまたはshの拡張部
は必ずそのEaまたはshの基本部を含む16ビツト 
(ハーフワード)の直後に配置される。
これは、命令により暗黙に指定される即値データあるい
は命令の拡張部に優先する。従って、4バイト以上の命
令では、Eaの拡張部により命令のオペレーションコー
ドが分断される場合がある。
また、後述するように、多段間接モードにおいてEaの
拡張部に更に拡張部が付加される場合にも次の命令オペ
レーションコードよりもそちらの方が優先される。例え
ば、第1ハーフワードにEalを含み、第2ハーフワー
ドにEa2を含み、第3ハーフワードまである6バイ]
・命令の場合について考える。なおここでは、Ealに
多段間接モードを使用したため、普通の拡張部の他に多
段間1妾モードの拡張部も付加されるものとする。この
場合、実際の命令ビットパターンは、命令の第1ハーフ
ワード(Ea 1の基本部を含む)、  Palの拡張
部Ealの多段間接モード拡張部、命令の第2ハーフワ
ード(Ea 2の基本部を含む)、  Ea2の拡張部
命令の第3ハーフワードの順となる。
(2,1)  r短縮形2オペランド命令」第10図は
2オペランド命令の短縮形フォーマットを示す模式図で
ある。
このフォーマントにはソースオペランド側がメモリとな
るL−formatとテ゛スティネーションオベランド
側がメモリとなるS−formatとがある。
L−formatでは、shはソースオペランドの指定
フィールドを、Rnはデスティネーションオペランドの
レジスタの指定フィールドを、RRはshのオペランド
サイズの指定フィール]・をそれぞれ表す。レジスタ上
に置かれたデスティネーションオペランドのサイズは3
2ビットに固定されている。レジスタ側とメモリ側との
サイズが異なり、且つソース側のサイズが小さい場合に
符号拡張が行われる。
5−forv+atでは、St+はデスティネーション
オペランドの指定フィールドを、Rnはソースオペラン
ドのレジスタ指定フィールドを、IIRはshのオペラ
ンドサイズの指定フィールドをそれぞれ表す。レジスタ
上に置かれたソースオペラン1′のサイズは32ビツト
に固定されている。レジスタ側とメモリ側とのサイズが
異なり且つソース側のサイズが大きい場合に、オーバフ
ローした部分の切捨てとオーハーフローチエツクとが行
われる。
(2,2)  r−船形Iオペランド命令」第11図は
1オペランド命令の一般形フオーマノド(GI4orm
at)を示す模式図テアル。
このフォーマットでは、問はオペランドサイズの指定フ
ィールドを表している。一部のGl−format命令
ではEaの拡張部以外にも拡張部かを有する。
また、■フィールドを使用しない命令もある。
(2,3)  r−船形2オペランド命令」第12図は
2オペランド命令の一般形フオーマノドを示す模式図で
ある。
このフォーマットに含まれるのは、8ビ/[・で指定さ
れる一般形アドレッシングモートのオペランドが最大2
つ存在する命令である。オペラン1の総数自体は3つ以
上になる場合もある。
このフォーマントにおいて、EaMはデスティネーショ
ンオペランドの指定フィールドを、旧はデスティ不一シ
ョンオベランドサイズの指定フィルドを、EaRはソー
スオペランド指定フィールドを、RRはソースオペラン
ドサイズの指定フィールドをそれぞれ表している。
一部の一般型フオーマノド命令では、EaM及びEaR
の拡張部以外にも拡張部がある。
第13図はショートブランチ命令のフォーマットを示す
模式図である。
このフォーマントでは、ccccは分岐条件指定フィー
ルドを、disp:8はジャンプ先との変位指定フィー
ルドをそれぞれ表している。本発明のデータ処理装置で
は、8ビツトで変位を指定する場合にはビットパターン
での指定値を2倍して変位値とする (2.4)  rアドレッシングモード」本発明のデー
タ処理装置の命令のアドレッシングモード指定方法には
、レジスタを含めて6ビソトで指定する短縮形と、8ビ
ツトで指定する一般形とがある。
未定義のアドレッシングモードを指定した場合、あるい
は意味的に考えて明らかに不合理なアドレッシングモー
ドの組合わせが指定された場合には、未定義命令を実行
した場合と同様に予約命令例外が発生して例外処理が起
動される。これに該当するのは、デスティネーションが
即値モードである場合、アドレス計算を伴うべきアドレ
ッシングモード指定フィールドで即値モードが使用され
た場合などである。
第14図乃至第24図に示すフォーマットの模式図にお
いて使用されている記号の意味は以下の如(である。
Rn=レジスタ指定 (Sh) : G ヒツトの短縮形アトレッシングモー
ドでの指定方法 (E−a) : 8ビツトの一般形アドレッシングモー
ドでの指定方法 なお、各フォーマントの模式図において破線にて表され
ている部分は拡張部を示す。
(2,4,1)  r基本アドレッシングモード」本発
明のデータ処理装置の命令は種々のアドレッシングモー
ドをサポートする。それらの内、本発明のデータ処理装
置でサポートする基本アドレッシングモードには、レジ
スタ直接モード、レジスタ間接モード、レジスタ相対間
接モード、即値モード、絶対モード、PC相対間接モー
ド、スタックポツプモード、スタックブツシュモードが
ある。
レジスタ直接モードは、レジスタの内容をそのままオペ
ランドとするアドレッシングモードである。フォーマッ
トの模式図を第14図に示す。図中、Rnは汎用レジス
タまたはFPIIレジスタの番号を示す。
レジスタ間接モードは、汎用レジスタの内容をアドレス
とするメモリの内容をオペランドとするアドレッシング
モードである。フォーマ、トの模式図を第15図に示す
。図中、Ilnは汎用レジスタの番号を示す。
レジスタ相対間接は、ディスプレースメント値が16ビ
ツトであるか32ビットであるかにより2種類に分かれ
る。いずれも、汎用レジスタの内容に16ビソトまたは
32ビツトのディスプレースメント値を加えた値をアド
レスとするメモリの内容をオペランドとするアドレッシ
ングモードである。フォーマットの模式図を第16図に
示す。図中、Rnは汎用レジスタの番号を示す。dis
p : 16とdisp : 32とは、それぞれ16
ビツトのディスプレースメント値、32ビットのディス
プレースメント値を示す。
ここでのディスプレースメント値は符号付きとして扱わ
れる。
即値モードは、命令コード中で指定されるビ。
ドパターンをそのまま2進数と見なしてオペランドとす
るアドレッシングモードである。フォーマノ!・の模式
図を第17図に示す。図中、 imm  dataは即
値を示す。 imm  dataのサイズは、オペラン
ドサイズとして命令中で指定される。
絶対モードは、アドレス値が16ビノトで示されるか3
2ビツトで示されるかにより2種類に分かねる。いずれ
も、命令コード中で指定される16ビ。
トまたは32ビツトのビットパターンをアドレスとした
メモリの内容をオペランドとするアドレッシングモード
である。フォーマットの模式図を第18図に示す。口中
、abs:16とabs:32とは、それぞれ16ビノ
ト、32ビツトのアドレスイ1へを示す。abs :1
6にてアドレスが示される場合はi:’j定されたアド
レス値が32ビツトに符号拡張される。
PC相対間接モードは、ディスブルースメンHaが16
ビツトであるか32ビットであるかにより2種類に分か
れる。いずれも、プログラムカウンタの内容に16ビソ
トまたは32ビツトのディスプレースメント値を加えた
値をアドレスとするメモリの内容をオペランドとするア
ドレッシングモードである。フォーマントの模式図を第
19図に示す。図中、disp : 16とdisp 
: 32とは、それぞれ、16ビノトのデイスフブレー
スメントイ直、32ヒ゛ノドのディスツブ1/−スメン
ト値を示す。ここではディスプレースメント値は符号付
きとして扱われる。PC相対間接モードにおいて参照さ
れるプログラムカウンタの値は、そのオペランドを含む
命令の先頭アドレスである。多段間接アドレシングモー
ドにおいてプログラムカウンタの値が参照される場合に
も、同様に命令先頭のアドレスがPC札対の基準値とし
て使用される。
スタックポツプモードはスタックポインタ(SP)の内
容をアドレスとするメモリの内容をオペランドとするア
ドレッシングモードである。オペランドアクセス後にS
Pがオペランドサイズだけインクリメントされる。例え
ば、32ビツトデータが扱われる場合には、オペランド
アクセス後にSPが+4だけ更新される。8.16.6
4ビツトのサイズのオペランドに対するスタックポツプ
モードの指定も可能であり、それぞれSPが+1.+2
.+8だけ更新される。
フォーマyl−の模式図を第20図に示す。オペランド
に対してスタックポツプモードが意味を持たない場合に
は予約命令例外が発生ずる。具体的に予約命令例外とな
るのは、Writeオペランl’、 readnodi
fy−writeオペランドに対するスクノクポ、ブモ
ード指定である。
スタックブツシュモードは、SPの内容をオペランドサ
イズだけデクリメントシた内容をアドレスとするメモリ
の内容をオペランドとするアドレッシングモードである
。スタックブツシュモードではオペランドアクセス前に
SPがデクリノンI・される。例えば、32ビツトデー
タが扱われる場合には、オペランドアクセス前にSPが
−4だけ更新される。
8、16.64ビツトのサイズのオペランドに対するス
タックブツシュモードの指定も可能であり、それぞれS
Pが−1,−2,−8だけ更新される。フォーマフトの
模式図を第21図に示す。オペランドに対してスタック
ブツシュモードが意味を持たない場合には予約命令例外
が発生される。具体的にY約命令例外となるのは、re
adオペランド、 read−modifywrite
オペランドに幻ずスタックブツシュモード指定である。
(2,4,2)  r多段間接アドレッシングモード」
複雑なアドレッシングも基本的には加算と間接参照との
組合わせに分解することが可能である。
従って、加算と間接参照とのオペレーションをアドレッ
シングのプリミティブとしで与えておき、それらを任意
に組合わせることができれば、どのような複雑なアドレ
ッシングモードをも実現可能になる。
本発明のデータ処理装置の命令の多段間接アドレッシン
グモードは上述のような考え方に基づいたアトレンジン
グモードである。複雑なアドレッシングモードは、モジ
ュール間のデータ参照あるいは^I(人工知能)言語の
処理系に特に有用である。
多段間接アドレッシングモードを指定する場合、基本ア
ドレッシングモー1゛指定フイールドではレジスタヘー
ス多段間接モート’、pcベース多段間接モード、絶対
ベース多段間接モードの3種類の指定方法の内のいずれ
か1つを指定する。
レジスタヘース多段間接モートは汎用レジスタの値を拡
張する多段間接アドレッシングのベース値とするアトレ
ンジングモードである。フメーマソ1−の模式図を第2
2図に示す。図中、Rnは汎用レジスタの番号を示す。
PCベース多段間接モードはブログラノ、カウンタの値
を拡張する多段間接アドレッシングのベース値とするア
ドレッシングモードである。フォーマントの模式図を第
23図に示す。
絶対ベース多段間接モードはゼロを拡張される多段間接
アドレッシングのベース値とするアトレンジングモード
である。フォーマットの模式図を第24図に示す。
拡張される多段間接モード指定フィールドは16ビツト
を単位としており、これを任意回反復して付加される。
1段の多段間接アト′し・ノシングモードにより、ディ
スプレースメントの加算、インデクスレジスタのスケー
リング(Xl、、  ×2.X4×8)と加算、メモリ
の間接参照を行う。多段間接モードのフォーマットの模
式図を第251に示す。
各フィールドは以下に示す意味を有する。
E・0−、多段間接モード′m続 ε・1 ニアドレス計算終了 tmp ==> address  of oper、
and■・0 :メモリ間接参照なし tmp + disp÷Rx * 5cale ==>
 tmpl・1 ;メモリ間接参照あり mem [tmp + disp + Rx * 5c
alel==>  tmp h・0  :  <Rx>をインデクスとして使用h−
1:特殊なインデクス <Rx>=Oインデクス値を加算しな い01x=o) <Rx>=1   プログラムカウンタをインデクス値
として使用 (Rx=PC) <Rx>=2〜  reserved o=0  :多段間接モード中の4ビツトのフィーlレ
ドd4のイ直を4イ合してディスブレースメント値とし
、これを加算する。d4は符号付きとして扱われ、オペ
ランドの サイズとは関係なく必ず4倍して使用 する。
D−11多段間接モードの拡張部で1旨定されたdis
px(16/32ビット)をディスプレースメント埴と
し、これを加算する。
拡張部のサイズはd4フィールドで指定する。
d4=ooo1   dispxは16ビソトd4=o
o10   dispxは32ビットxX;インデクス
のスケール (scale = 1/2/4/8) プログラムカウンタに対して×2.×4.、×8のスケ
ーリングを行った場合には、その段の処理終了後の中間
値(tlIlp>として不定値が入る。この多段間接モ
ードによって得られる実効アドレスは予測できない埴と
なるが、例外は発生しない。ブL】グラムカウンクに列
するスケーリングの指定は禁しられている。
多段間接ア[ルソンングモードによる命令フォーマット
のバリエーションを第26図、第27し1の模式図に示
す。第26図は多段間接モードが継続するか終了するか
のバリエーションを、第27図はディスプレースメント
のサイズのバリエーションをそれぞれ示す。
任意段数の多段間接アドレッシングモードが利用できれ
ばコンパイラの中で段数による場合分けが不要になるの
で、コンパイラの負担が軽減されるというメリットがあ
る。多段の間接参照の顧度がシ1:常に少ないとしても
、コンパイラとしては必ず正しいコードを発生できなけ
ればならないからである。このため、フォーマット上、
任意の段数が可能になっている。
(2,5)  rレジスタの退避命令と復帰命令」本発
明のデータ処理装置100は複数のレジスタの内容をス
タック領域等のメモリ領域に退避させる命令である37
M命令と、スタック領域等のメモリ領域に退避されてい
る複数のレジスタの内容を復帰させるLD?l命令とを
什えている。
10M命令のフォーマットは第2K]の模式図に示され
ている。Lr1M命令では5rcsフイールドで示され
ているアドレッシングモードに従って計算されたアドレ
スのメモリからreglistフィールlでボされたレ
ジスタヘデータが転送さるる。転送さ才するべきデータ
を格納するレジスタはrcglisLフィールドにより
ビットバタンで示される。各し・ジスタに転送されるデ
ータはそれぞれ4ハイドである。
sTM1M命令ォーマットは第29図の模式図に示され
ている。ST?+命令では、reglistフィールド
で示されているレジスタ中のデータがdes tsフィ
ールドで示されたアドレッシングモー1′に従って計算
されたアドレスのメモリへ転送される。転送すべきデー
タを格納しているレジスタはreglisLフィールド
によりビットバタンで示される。第29図に示す如く、
37M命令のreglistフィールドの意味はdes
 isフィールドで示されるアドレッシングモードによ
り異なる。これは複数個のレジスタ内容がメモリに格納
される場合に、大きな番号のレジスタが常に大きな番地
に格納されるように統一するためである。各レジスタか
ら転送されるデータはそれぞれ4ハイドである。
(以 (1)・・牟1: 白) ×2.−ン′ (3)「本発明のデータ処理装置の機能ブロックの構成
」 第4図は本発明のデータ処理装置100の構成を示すブ
ロック図である。
本発明のデータ処理装置の内部を機能的に大きく分ける
と、命令入力部110.  命令フェッチ部111命令
デコード部112.  第1マイクロROM部113第
2マイクロl’lOM部II4.  オペランドアドレ
ス計算部1.15.  PC計算部116.  整数演
算部117.  浮動小数点演算部118.  アドレ
ス入出力部119.  オペランドアクセス部120.
  データ入出力部121に分かれる。
アドレス入出力部119をアドレスバス101 に結合
し、データ入出力部121をデータバス102に結合し
、命令入力部110を命令バス+03に結合することに
より第6図に示すシステム構成をとることができる。
(3,1)  r命令入力部」 命令入力部110は外部の命令バス103から32ビフ
ト単位で命令コードを本発明のデータ処理装置+00に
入力する。命令キャッシュ+06のアクセス方法には、
1つのアドレスに対して32ビツトの命令コードをアク
セスする標準アクセスモードと、1つのアドレスに対し
て4回連続で32ビツトの命令コードをアクセスするク
ワッドアクセスモートとがあり、いずれの場合も命令人
力部110は入力した命令コートを命令フェッチ部il
lへ出力する。
(3,2)  r命令フェッチ部」 命令フェッチ部Illには、命令アドレスのアドレス変
換機構、内蔵命令キヤツシユ1命令用TLB命令キュー
及びそれらの制御部等が備えられている。
命令フェッチ部111は、次にフェッチすべき命令のt
’c値を物理アドレスに変換し、内蔵命令キャッシュか
ら命令コードをフェッチして命令デコド部112へ出力
する。内蔵命令キャッシュがミスした場合にはアドレス
人出力部119へ物理アドレスを出力し、外部への命令
アクセスを要求し、命令入力部110を通して入力され
た命令コードを内蔵命令キヤツシユに登録する。
次にフェッチすべき命令のrC値は命令キューに入力す
べき命令のp c 416として専用のカウンタで計算
される。ジャンプが発生した場合は、新たな命令のPC
値がオペランドアドレス計算部115.  P(4+算
部116.  整数演算部117等から転送されて来る
命令用TLBがミスした場合のページングによるアドレ
ス変換及び命令用TLBの更新も命令フェッチ部111
の内部にある制御回路により行われる。
また、本発明のデータ処理装置110がハスウォッチモ
ードである場合は、アドレス入出力部119を通して入
力された物理アドレスがヒツトした内蔵命令キャッシュ
のエンl−りが無効化される。
(3,3)  r命令デコード部」 命令デコード部112では基本的に16ビツト (ハー
フワード)+44位で命令コードをデコードする。
このブロックには第1ハーフワードに含まれるオペレー
ションコードをデコードするF)IW(First 1
lalfWoed)デコーダ、第2及び第3ハーフワー
ドに含まれるオペレーションコードをデコードするN 
F HW(Not First Half Word)
デコーダ、アドレッシングモードをデコードするアドレ
ッシングモードデコーダが含まれる。
また、FHWデコーダ、 NFII−デコーダの出力を
更にデコードしてマイクロRO11のエントリアドレス
を計算する第2デコーダ1条件分岐命令の分岐予測を行
う分岐予測機構、オペランドアドレス計算の際のパイプ
ラインコンフリクトをチエツクするアドレス計算コンフ
リクI・チエツクFl横も備えられている。
命令フェッチ部111から出力された命令コードは1ク
ロツクにつきO〜6バイトがデコードされる。
デコード結果の内、整数演算部1.17での演算に関係
する情報が第1マイクロROM部113へ、浮動小数点
演算部118での演算に関係する情報が第2マイクロR
OM部114へ、オペランドアドレス計算に関係する情
報がオペランドアドレス計算部115へ、pc計算に関
係する情報がPC計算部116へ、それぞれ出力される
(3,4)  r第1マイクロROM部」第1マイクロ
ROM部113には、整数演算部117の制御を行う種
々のマイクロプログラムルーチンが格納されているマイ
クロRO?l、  マイクロシーケンサ、マイクロ命令
デコーダ等が備えられている。
マイクロ命令はマイクロROMから1クロツク当たり1
度読出される。マイクロシーケンサは命令実行に関する
マイクロプログラム実行のためのンー/、ンス処理の他
に、例外1割込及びトラップ(この3つを併せてEIT
 と称す)の受付けと各BITに対応するマイクロプロ
グラムのシーケンス処理も行う。
第1マイクロROM部113には命令コードに依存しな
い外部割込み及び整数演算実行結果によるマイクロプロ
グラムの分岐条件も人力される。
マイクロデコーダの出力は主に整数演算部117へ出力
されるが、ジャンプ命令の実行時1例外受付時には一部
の情報を他の機能ブロックへも出力する。
(3,5)  r第2マイクロROh部」第2マイクロ
ROM部114には、浮動小数点演算部118の制御を
行う種々のマイクロプログラムルーチンが格納されてい
るマイクロROM、  マイクロシーケンサ、マイクロ
命令デコーダ等が備えられている。マイクロ命令はマイ
クロ170)Iから1クロツクに1度読み出される。マ
イクロシーケンサはマイクロプログラムで示されるシー
ケンス処理の他に、浮動小数点演算に関係する例外の処
理も行い、マスクされていない浮動小数点例外が検出さ
れた場合には第1マイクロROM部1.13へ例外処理
を要求する。第2マイクロROM部114のマイクロシ
ーケンサは第1マイクロROP部113のマイクロシー
ケンサと並列に動作し、整数演算部117 と並列に浮
動小数点演算部118をfi制御する。
第2マイクロROM部113には浮動小数点演算の実行
結果によるフラッグ情報も人力される。
マイクロデコーダの出力は主に浮動小数点演算部11.
8に対して出力されるが、浮動小数点演算に関係する例
外の検出等の一部の情報は他の機能ブロックへも出力さ
れる。
(3,6)  rオペランドアドレス計算部」オペラン
ド′アトルス計算部115は、命令デコード部112の
ア1゛レッシングモードデコーダ等から出力されたオペ
ランドアドレス旧算に関係する情報によりハードワイヤ
ードに制御される。このオペランドアドレス計算部11
5でばメモリ間接゛rじレッシングのためのメモリアク
セス以外のオペラン)・のアドレス91算とジャンプ命
令のジャンプ先アlルスの計算とが行われる。
オペランドアドレスの計算結果は整数演算部117へ出
力される。オペランドアドレス計算終了段階での先行ジ
ャンプ処理ではジャンプ先ア[レスの計算結果が命令フ
ェッチ部111 とPC計算部116とへ出力される。
即値オペランドは整数演算部117及び浮動小数点演算
部118へ出力される。アドレス計算に必要な汎用レジ
スタ、プログラムカウンタの値は整数演算部117. 
 PC計算部116がら入力される。
(3,7)  rPC計算部」 PC,i1′算部116は命令デコード部112がら出
力されるPC計算に関係する情報でハードワイヤードに
制御され、命令のpc値を計算する。本発明のデータ処
理装置100の命令は可変長命令であり、命令をデコー
ドした後でなければ命令の長さが判明しない。PC計算
部116は、命令デコード部112から出力された命令
長をデコート中の命令のpc値に加算することにより次
に実行すべき命令のPC値を計算する。
pc計算部116の計算結果は各命令のpc値として命
令のデコード結果と共に出力される。
命令デコードステージでの先行ブランチ処理では、命令
デコード部11から出力されるブランチ幅をPC値に加
算することによりブランチ先命令のアドレスが計算され
る。
また、PC計算部116にはサブルーチンへのジャンプ
命令の実行時にスタックにブツシュされているサブルー
チンからの戻り先PC値のコピーを保持したPCスタッ
クが備えられており、サブルーチンからのリターン命令
に対してはPCスタックから戻り先PCを読出すことに
より、ブリリターン先命令のアドレスを生成する処理も
行う。
(3,8)  r整数演算部」 整数演算部+17は第1マイクロROM部113ノマイ
クロROMに格納されたマイクロプログラムにより制1
111され、各整数演算命令の機能を実現するために必
要な演算を整数演算部11.7の内部にあるレジスタフ
ァイルと演算器とで実行する。レジスタファイルには汎
用レジスタと作業用レジスタとが含まれる。
また、整数演算部117は演ゴγ器としてはALtlブ
ライオリティユンコーダニー備えている。整数演算部1
17には整数演算の結果により変化するフラグ、外部割
込みのマスクレベルを定めるビット等ヲ含むプロセッサ
状態語(1’sW) 、  バッファメモリ制御レジス
タ等が含まれる。
命令の演算対象となるオペランドがアドレスまたは即値
である場合は、オペランドアドレス計算部115から即
値または計算されたアドレスが入カサレル。また、命令
の演算対象となるオペランドがメモリ上のデータである
場合は、アドレス計算部115で計算されたアドレスが
オペランドアクセス部120へ出力され、内蔵データキ
ヤノンユまたは外部からフェッチしたオペランドが整数
演算部117へ入力される。
演算に際して、内蔵デークキャソソユ、外部のデータキ
ャッシュ107. +08あるいは主メモリ109をリ
ードする必要がある場合は、マイクロプログラムの指示
によりオペランドアクセス部120ヘアドレスを出力す
ることにより、目的のデータをフェッチする。
演算結果を内蔵データキャッシュ、外部のデータキャッ
シュ107.1.08あるいは主メモリ109ヘスドア
する必要がある場合には、マイクロプログラムの指示に
よりオペランドアクセス部120ヘアドレスとデータと
を出力する。この際、PC計算部116からはそのスト
ア動作を行った命令のPC値がオペランドアクセス部1
20へ出力される。
外部割込み2例外の処理等が行われて新たな命令アドレ
スを整数演算部117が得た場合は、これが命令フェッ
チ部111 とpcε1算部116とへ出力される。
(3,9)  ri’7動小数点演算部j)7動小数点
演算部118は第2マイクロROM部114のマイクロ
ROMに格納されたマイクロプログラムにより制1ff
Uされ、各浮動小数点演算命令の機能を実現するために
必要な演算を浮動小数点演算部1111の内部にあるレ
ジスタファイルと演算器とで実行する。浮動小数点演算
部118には浮動小数点演算の丸め処理方法及び浮動小
数点演算例外の検出許可のモードを設定する浮動小数点
演算モード制御コDレジスタ(FMC)と、浮動小数点
演算結果に対するフラグ1浮動小数点例外の発生状態を
示すステタスビソトからなる浮動小数点演算状態語(F
SW)とがある。
命令の演算対象となるオペランドが即値である場合は、
オペランドアドレス計算部115から即イ1へが入力さ
れる。また、命令の演算対象となるオペランドがメモリ
上のデータである場合は、アドレス計算部115で計算
されたアドレスがオペランドアクセス部120へ出力さ
れ、内蔵データキャッシュまたは外部からフェッチした
オペランドが浮動小数点演算部118に入力される・ オペランドを内蔵データキャッシュ、外部のデクキャノ
ソユ107.10f+あるいは主メモ1月09ヘスドア
する必要がある場合には、マイクロプログラムの指示に
よりオペランドアクセス部1.20ヘプタを出力する。
ストア動作では浮動小数点演算部118と整数演算部1
17とが協調して動作し、オペランドアクセス部120
に対して整数演算部117からオペランドのアドレスが
出力され、浮動小数点演算部118からオペランドが出
力される。この際、pc計算部116からはそのストア
動作を行った命令のPC値がオペランドアクセス部1.
20へ出力される。
(3,10) rオペランドアクセス部」オペラン1′
アクセス部120には、オペランドアドレスのアドレス
変換機構、データバッファ、データ用T1.B、  ス
トアバッファ、オペランドブレイクポイントレジスタ及
びそれらの制御部がある。
データバッファはモード切替えにより内蔵データキャッ
シュまたはコンテキスト退避用メモリとして動作する。
データバッファを内蔵データキヤノンユとして動作させ
る場合、データのロード動作ではオペランドアドレス計
算部115または整数演算部117から出力されたロー
ドすべきデータの論理アドレスが物理アドレスに変換さ
れ、内蔵データキャッシュからデータがフェッチされて
整数(14算部117あるいは浮動小数点演算部118
に入力される。
内蔵データキャッシュがミスした場合には、アドレス入
出力部119へ物理アドレスが出力されて外部へのデー
タアクセスが要求され、データ入出力部122を通して
入力されたデータが内蔵データキャッシュに登録される
データのストア動作においては、整数演算部117から
出力されたストアすべきデータの論理アドレスが物理ア
ドレスに変換され、整数演算部117あるいは浮動小数
点演算部11Bから出力されたデータが内蔵データキャ
ッシュにストアされると共に、ストアバッファを通して
アドレス入出力部119へ物理アドレスが出力され、デ
ータ入出力部122を通してデータが外部へ出力される
ストア動作でミスが発生した場合にはデータの更新は行
われない。ストアバッファではストアずべきデータとそ
のアドレス、更にそのストア動作を行った命令のPC値
とが1紐として管理される。
ストアバソファでのストア動作は先入れ先だし制御方式
で管理される。
データ用TLBがミスした場合のベージングによるアド
レス変換及びデータ用TLBの更新もオペランドアクセ
ス部120の内部の制御回路により行われる。また、メ
モリアクセスアドレスがメモリ空間にマツピングされて
いるI10領域に入るか否かのチエツクも行われる。
また、データハソファを内蔵データキャッシュとして動
作させる場合、本発明のデータ処理装置がバスウォッチ
モードであれば、アドレス入出力部119を通じて入力
された物理アドレスがヒツトする内蔵データキャッシュ
のエントリは無効化される。
(3,11) rアドレス入出力部」 アドレス入出力部119は命令フェッチ部111 とオ
ペランドアクセス部120とから出力されたアドレスを
本発明のデータ処理袋T100の外部へ出力する。アド
レスの出力は本発明のデータ処理装置100で定められ
たバスプロトフルに従って行われる。ハスプロ]・フル
の制御はアl゛レス入出力部1+9内にある外部バス制
御回路が行う。外部ハス制御n回路ではページ不在例外
またはハスアクセス例り1外部割込みの受付も行う。
また、本発明のデータ処理装置100以外の外部デバイ
スがバスマスクになっており、本発明のデータ処理装置
100がハスウォッチモードであれば外部デバイスがデ
ータライトサイクルを実行した場合にアドレスバス10
1上へ出力されたアドレスを取込んで命令フェッチ部1
. ]、 1 とオペランドアクセス部120とへ転送
する。
(3,12) rデータ入出力部」 データ入出力部121はオペランドのロード動作の際に
データバス102からデータを取込んでオペランドアク
セス部120へ転送し、またオペランドのストア動作の
際にオペランドアクセス部120から出力されたオペラ
ンドをデータバス102へ出力する。データキャッシュ
107.108のアクセス方法には、1つのアドレスに
対して64ビツトのデータをアクセスする標準アクセス
モードと、1つのアドレスに対して4回連続で64ビッ
トのデータをアクセスするクワッドアクセスモードとが
あり、いずれの場合もデータ入出力部121はオペラン
ドアクセス部120と外部のメモリとで送受されるデー
タの入出力を制御する。
(以 下、7余″1白) ・、7メ (4)「パイプライン処理」 本発明のデータ処理装置100は各種のバッファ記憶装
置と、命令バス103及びデータバス102を使用した
メモリの効率的アクセスとにより、命令をパイプライン
処理して高性能に動作する。ここでは、本発明のデータ
処理′3Arlooのパイプライン処理方法について説
明する。
(4,1)  rパイプライン機構」 本発明のデータ処理装置100のパイプライン処理機構
を第5図の模式図に示す。
本発明のデータ処理袋7iloOのパイプライン処理i
tNは、命令のブリフェッチを行う命令フェノデステー
ジ(IPステージ)31.  命令のデコードを行うデ
コードステージ(Dステージ)32.  オペランドの
アドレス計算を行うオペランドアドレスjI算ステージ
(Aステージ)33.  マイクロROMアクセス(特
にRステージ37と称す)とオペランドのプリフェッチ
(特にOFステージ38と称す)とを行うオペランドフ
ェッチステージ(Fステージ)34命令の実行を行う実
行ステージ(Eステージ)35メモリオペランドのスト
アを行うス[・アステージ(Sステージ)36の6段構
成でパイプライン処理を行う。なお、Sステージ36に
は3段のスi・アハノブァがある。
各ステージは他のステージとは独立に動作し、環8^上
は6つのステージが完全に独立動作する。
Sステージ36以外の各ステージは1回の処理を最小I
クロックで行うことができる。Sステージ36は1回の
オペランドストア処理を最小2クロックで行うことがで
きる。従って、メモリオペランドのストア処理が行われ
ない場合、理想的には1クロツクごとに次々とパイプラ
イン処理が進行する。
本発明のデータ処理装置100にはメモリーメモリ間演
算あるいはメモリ間接アドレッシング等、基本バイブラ
イン処理1回だけでは処理が行えない命令があるが、こ
れらの処理に対してもなるべく均衡したパイプライン処
理が行えるように設計されている。複数のメモリオペラ
ンドを有する命令に対してはメモリオペランドの数に基
づいてデコード段階で複数のパイプライン処理単位(ス
テップコード)に分解してパイプライン処理を行う。
IFステージ31からDステージ32へ渡される情報は
命令コードそのものである。
Dステージ32からAステージ33へ渡される情tIi
は命令で指定された演算に関する情報(Dコート41と
称す)と、オペランドのアドレス1算に関係する情報(
Aコード42と称す)と、処理中の命令のプログラムカ
ウンタ値(PC)との3つである。
Aステージ33からFステージ34へ渡される情fii
はマイクロプログラムルーチンのエン)・り番地マイク
ロプログラムへのパラメータなどを含むRコード43と
、オペランドのアドレス、アクセス方法指示情報等を含
むFコード44と、処理中の命令のプログラムカウンタ
値(PC)との3つである。
Fステージ34からEステージ35へ渡される情報は演
算制御情報、リテラル等を含むEコード45と、オペラ
ンド、オペランドアドレス等を含むSコード46a、 
46bと、処理中命令のプログラムカウンタ値(PC)
との3つである。Sコード46a、 46bはアドレス
46a とデータ46bとからなる。
Eステージ35からSステージ36へ渡される情報はス
トアずべき演算結果であるWニーF47a、 47bと
その演算結果を出力した命令のプログラムカウンタ値(
PC)との2つである。Wコード47a、 47bはア
ドレス47a とデータ47b)とからなる。
l・レース動作中はオペランドストアが行われなくても
、実行した命令のPC値がEステージ35からSステー
ジ36へ渡される。
Eステージ35以前のステージで検出されたBITはそ
のコードがEステージ35に到達するまでHIT処理を
起動しない。Eステージ35で処理されている命令のみ
が実行段階の命令であり、IPステージ31〜Fステー
ジ34で処理されている命令は未だ実行段階に至ってい
ないからである。従って、Eステージ35以前で検出さ
れたEITはそれが検出されたことがステップコード中
に記録されて次のステージに伝えられるのみである。S
ステージ36で検出されたBITはEステージ35で処
理中の命令の処理が完了した時点またはその命令の処理
がキャンセルされた場合に受付けられ、Eステージ35
に戻って処理される。
(4,2)  r各パイプラインステージの処理」各バ
イブラインステージの人出カステップコードには第4図
に示したように便宜上名前が付与されている。またステ
ップコードはオペレーションコードに関する処理を行い
、マイクロROMのエントリ番地、Eステージ35に対
するパラメータなどになる系列と、Eステージ35の処
理対象のオペランドになる系列との2系列がある。また
、Dステージ32からSステージ36までの間では処理
中の命令のプログラムカウンタ値が受渡される。
(4,2,1)  r命令フェッチステージ」命令フェ
ッチステージ(IFステージ31)では命令フェッチ部
111が動作する。内蔵命令キャッシュからあるいは外
部メモリから命令をフj−’7チし、命令キューに入力
して、Dステージ32に対して2〜6バイト単位で命令
コードを出力する。命令キューの入力は整置された4バ
イト単位で行われる。
標準アクセスモードで外部から命令をフェッチする場合
は整置された4バイトにつき最小2クロツクを要する。
クワッドアクセスモードでは16ハイトにつき最小5ク
ロツクを要する。内蔵白金キャ、シュがヒツトした場合
は整置された8ハイ)・につき1クロツクでフェッチ可
能である。命令キューの出力単位は2ハイドごとに可変
であり、1クロツクの間に最大6ハイトまで出力可能で
ある。
またジャンプの直後には命令−1−ニーをバイパスして
命令コード2ハイドを直接命令デコーダに転送すること
も可能である。
命令の論理アドレスの物理アドレスへの変換内蔵命令キ
ャッシュ及び白金用TLBの制御2プリフエフチ先命令
アドレスの管理、命令キューの制御もIPステージ3I
で行われる。
(4,2,2)  r命令デコードステージ」命令デコ
ードステージ(Dステージ32)はIFステージ31か
ら入力された命令コートをデニーLする。命令コードの
デコードは命令デコード部112のFH−デコーダ、 
NPll−デコーダ及びアドレッシングモードデコーダ
を使用してlクロックに1度の割合で行われ、1回のデ
コード処理でO〜6バイトの命令コードを消費する (
リターンサブルーチン命令の復す9先アドレスを含むス
テップコードの出力処理等では命令ニーF′を消費しな
い)。I〕ステージ32は1回のデコードでAステージ
33に対してアドレス計算情報であるAニート42とオ
ペレジョンコ−1・の中間デコード結果であるしコード
41とを出力する。
Dステージ32ではpc計算部116の制御n及び命令
キューからの命令コードの出力処理も行う。Dステージ
32ではブランチ命令及びサブルーチンからのリターン
命令に対して先行ジャンプ処理を行う。
先行ジャンプを行った無条件ブランチ命令に対してはD
コード41もAコード42も出力せず、■)ステージ3
2で命令の処理を終了する。
(4,2,3)  rオペランドアドレス言1算ステー
ジ」オペランドアドレス計算ステージ(Aステージ)3
3での処理は大きく2つに分かれる。第1は、命令デコ
ード部112の第2デコーダを使用してオペレーション
コードの後段デコードを行う処理で、第2はオペランド
アドレス計算部54でオペランドアドレスの計算を行う
処理である。
オペレーションコードの後段デコード処理はDコード4
1を入力とし、レジスタ及びメモリの書込み予約及びマ
イクロプログラムルーチンのエントリ番地及びマイクロ
プログラムに対するパラメータ等を含むRコード43の
出力を行う。なお、レジスタ及びメモリの書込み予約は
、アドレス計算で参照したレジスタ及びメモリの内容が
、パイプライン上を先行する命令で書換えられてしまっ
て誤ったアドレス計算が行われることを防止するための
ものである。
オペランドアドレス計算処理はAコード42を入力とし
、Aコード42に従ってオペランドアドレス計算部54
でオペランドのアドレス計算を行い、その計算結果をF
コード44として出力する。またジャンプ命令に対して
はジャンプ先アドレスの計算を行って先行ジャンプ処理
を行う。この際、アドレス計算に伴うレジスタの読出し
時に書込み予約のチエツクが行われ、先行命令がレジス
タまたはメモリに対して書込み処理を終了していないた
めに予約があることが指示されれば、先行命令のEステ
ージ35での書込み処理が終了するまで待機状態になる
Aステージ33では、Dステージ32で先行ジャンプを
行わなかったジャンプ命令に対して先行ジャンプ処理を
行う。絶対値アドレスへのジャンプあるいはレジスタ間
接アドレッシングのジャンプ等に対してはΔステージ3
3で先行ジャンプが行われる。先行ジャンプを行った無
茶(’Iジャンプ命令に対してはRコード43やFコー
ド44は出力されず、Δステージ33で命令の処理を終
了する。
(4,2,4)  rマイクロROMアクセスステージ
」オペランドフェッチステージ(Fステージ)34での
処理も大きく2つに分かれる。第1はマイクロROMの
アクセス処理であり、特にRステージ37と称す。第2
はオペランドプリフェッチ処理であり、特にOFステー
ジ38と称す。Rステージ37とOFステージ38とは
必ずしも同時に動作するわけではな(、データキャッシ
ュのミス、ヒツト、データTLBのミス、ヒツト等に依
存して、動作タイミングが異なる。
1’?ステージ37の処理であるマイクロll0Mアク
セス処理はRコード43に対して次のEステージ35で
の実行に使用される実行制御コードであるEコード45
を作り出すためのマイクロROMアクセスとマイクロ命
令デコード処理とである。
1つのRコードに対する処理が2つ以」−のマイクロプ
ログラムステップに分解される場合、第1マイクロRO
h部1.13及び第2マイクロROI部114がEステ
ージ35で使用され、次のRコード43がマイクロl1
Orfアクセス待ちになる場合がある。Rコード43に
対するマイク0170Mアクセスが行われるのは、Eス
テージ35でのマイクロROMアクセスが行われない場
合である。本発明のデータ処理装置100では多くの整
数演算命令が1マイクロプログラムステノブで行われ、
多くの浮動小数点演算命令が2マイクロプログラムステ
ツブで行われるため、実際にはRコード43に対するマ
イクロROMアクセスが次々と行われる可能性が高い。
(4,2,5)  rオペランドフェノデステージ」オ
ペランドフェッチステージ(OFステージ)38はFス
テージ34が行う」二辺の2つの処理の内のオペランド
プリフェッチ処理を行う。
叶ステージ38では、Fコード44の論理アドレスをデ
ータTLBで物理アドレスに変換してその物理アドレス
で内蔵データキャッシュあるいは外部のメモリをアクセ
スしてオペランドをフェッチし、そのオペランドとFコ
ード44として転送されてきたその論理アドレスとを組
合わセでSニー)”46a46bとして出力する。
1つのFコード44では8ハイド境界をクロスしてもよ
いが、8バイト以下のオペランドフェッチを指定する。
Fコード44にはオペランドをアクセスするか否かの指
定も含まれており、Aステージ33が計算したオペラン
ドアドレス自体あるいは即値をEステージ35へ転送す
る場合にはオペラントプリフェッチは行われず、Fコー
ド44の内容をSコード46a、 46bとして転送す
る。プリフェッチしようとするオペランドとEステージ
35が書込み処理を行おうとするオペランドとが一致す
る場合は、オペランドプリフェッチは内蔵データキャッ
シュからも外部からも行われず、バイパスして行われる
(,1,2,6)  r実行ステージ」実行ステージ(
Eステージ)35はEコード45とSコード46a、 
46bとを入力として動作する。このEステージ35が
命令を実行するステージであり、Fステージ34以前の
ステージで行われた処理は全てEステージ35のための
前処理である。Eステージ35でジャンプが実行された
り、BIT処理が起動されたりした場合は、IPステー
ジ31〜Fステージ34までの処理はすべて無効化され
る。Eステージ35はマイクロプログラムにより制御さ
れ、Rニド45にて示されたマイクロプログラムルーチ
ンのエントリ番地からの一連のマイクロ命令を実行する
ことにより命令を実行する。
Eコード45には整数演算部117を制御するコード(
特にElコードと称す)と浮動小数点演算部118を制
御するコード(特にEFコニーと称す)とがある。El
コードとEFコニーとは独立に出力されることも可能で
あり、両コードが独立して出力された場合には、Eステ
ージ35では整数演算部117と浮動小数点演算部11
Bとが並列に動作する。例えば浮動小数点演算部118
でメモリオペランドを持たない浮動小数点演算命令を実
行する場合、この動作は整数演算部117の動作と並行
して実行される。
整数演算であっても浮動小数点演算であっても、マイク
ロRO?Iの読出しとマイクロ命令の実行とはパイプラ
イン化されて行われる。従って、マイクロプログラムで
分岐が発生した場合は1マイクロステツプの空きが生じ
る。Eステージ35ではAステージ33が行ったレジス
タまたはメモリに対する書込み予約をオペランドの書込
みの後に解除する。
各種の割込は命令の切目のタイミングにおいてEステー
ジ35が直接受付け、マイクロプログラムにより必要な
処理が実行される。その他の各種BITの処理もEステ
ージ35でマイクロプログラムにより行われる。
演算の結果をメモリにストアする必要がある場合は、E
ステージ35はSステージ36へWコード47a471
)とス[・子処理を行う命令のプログラムカウンタ値と
の両方を出力する。また、トレース動作中はオペランド
のストア動作とは関係なしに、実行した命令のプログラ
ムカウンタ値がEステージ35からSステージ36へ出
力される。
(4,2,7)  rオペランドストアステージ」オペ
ランドストアステージ(Sステージ)36はWコードの
論理アドレス47aをデータTLBで物理アドレスに変
換し、そのアドレスでWコードのデータ47bを内蔵デ
ータキャソンユにストアする。
同時にWコード41a、 47bとプログラムカウンタ
値とをストアバッファに人力し、データTLBから出力
された物理アドレスを用いて外部のメモリへWコードの
データ41bをストアする処理が行われる。
Sステージ36の動作はオペランドアクセス部120で
行われ、データTLBまたは内蔵データキャッシュがミ
スした場合のアドレス変換処理及び内蔵データキャッシ
ュの入替え処理も行う。
オペランドのストア処理でBITが検出された場合は、
ストアバッファにWコード47a、 47bとプログラ
ムカウンタ値とが保持されたままの状態で、Eステージ
35にEITの検出が通知される。
(4,3)  r各パイプラインステージの状態制御l
」パイプラインの各ステージは大カラソチと出力ラッチ
とを有し、他のステージとは独立に動作することを基本
とする。各ステージは1つ前に行った処理が終了し、そ
の処理結果を出力ラッチから次のステージの入力ラノチ
ヘ転送し、自ステージの大カラソチに次の処理に必要な
入力信号が全て揃えば次の処理を開始する。
つまり、各ステージは、1つ前段のステージから出力さ
れてくる次の処理に対する人力信号が全て有効となり、
現在の処理結果を後段のステージの入力ラッチへ転送し
て出力ラッチが空になった場合に次の処理を開始する。
各ステージが動作を開始する直前のタイミングで人力信
号が全て揃っている必要がある。人力信号が揃っていな
い場合には、そのステージは待ち状態(入力待ち)にな
る。出力ラッチから次のステージの入力ラッチへの転送
が行われる場合には次のステージの人カラノチが空き状
態になっている必要があり、次のステージの大ツノラッ
チが空き状態でない場合もパイプラインステージは待ち
状態(出力待ち)になる。また、キャッシュ、 TLR
がミスしたり、パイプラインで処理中の命令相互間にデ
ータ干渉が生じたような場合には、1つのステージの処
理に複数クロックが必要となり、パイブライン処理が遅
延する。
(以 下 余)白) 、/ (5)[データ/jir1部の動作の詳細な説明J第3
図は本発明のデータ処理装置100の整数演算部!+7
の詳細なブロック図であり、オペランドアドレス計算部
115.  浮動小数点演算部118.  オペランド
アクセス部120も共に示されている。
SAレジスタ210はオペランドアドレス計算部115
から整数演算部117へ出力されるオペランドアドレス
及び即値を保持するレジスタである。
AAレジスタ211は整数演算部117からオペランド
アクセス部120ヘアドレスを出力するためのレジスタ
であり、保持内容に対する1、 2.4.8のインクリ
メント/デクリメント機能を有する。8をインクリメン
ト/デクリメントする機能は、8ハイド浮動小数点数を
浮動小数点レジスタとメモリとの間で転送する際に4バ
イトの2つの整数を汎用レジスタとメモリとの間で同時
に転送する場合に有意義な機能である。
レジスタファイル213は整数演算部117内の種々の
データを保持する。またレジスタファイル213は主A
LU215と補助ALU212とにそれぞれ3木の4バ
イトのバスで結合されており、2つのレジスタ上のオペ
ランドを対象として加算1比較等の演算を主ALU2+
5または補助ALII212に行わセることが可能であ
る。
DDレンスタ213は整数演算部117とオペランドア
クセス部120との間でデータを人出力するためのイン
タフェイスレジスタであり、8ハイドのDDババス23
でオペランドアクセス部と結合している。
FFレジスタ217は整数演算部117 と浮動小数点
演算部118とのインタフェイスレジスタである。
プライオリティエンコーダ部214 は、ビット列中の
先頭の“1″または“O”の位置をサーチしたり、i!
!続した2ビツトが“げまたは”0”であるフィールド
の先頭の位置をサーチする。
レジスタ番地指定回路218は、第1マイクロROM部
11.3の指示に従って第1マイクロROM部113が
指定したレジスタ番地またはプライオリティエンコーダ
部214が指定したレジスタ番地に従ってレジスタファ
イル213に対するデータの読み書きを制御する。
以下プライオリティエンコーダ部2+4 とレジスタ番
地指定回路218との詳細構成及びLDM命令と57M
命令との動作を述べる。
(5,1)  rプライオリティエンコーダの詳細構成
」第1図はプライオリティエンコーダ部214の詳細な
ブ【−7ノク図である。
プライオリティエンコーダ部214 はビット列生成回
路1.オフセット値指定回路2,2つのプライオリティ
エンコード回路3及び4.エンコード結果判定回路7等
にて構成されている。
ビット列生成回路1はS1ハス221から入力された1
6ビツトまたは32ビットのビット列を保持する機能、
“O”と”1”とを反転する機能、ビット順序を逆転す
る機能、隣接ビット間の論理積をとる機能を有し、これ
らの変換が加えられたビット列を第1エンコード回路3
及び第2エンコード回路4へ出力する。
第2図はビット列生成回路1の詳細な構成を示すブロッ
ク図である。
S1ハス221から人力された値はそのままセレクタ1
0に入力される他、インバータにより反転されたビット
列としてもセレクタ10に入力される。セレクタ10は
反転されたピッ[・列または反転されていないビット列
のいずれかを選択して出力し、入カラソチ11に保持さ
せる。
入カラノチ11の出力は必要に応してビット正順逆順指
定回路12でビット順序を逆転して第1エンコーF゛回
路3に入力される。ビット正順逆順指定回路12の出力
はまた、論理積回路13により各ビットについてそれぞ
れの上位側に隣接するビットとの論理積がとられて第2
エンコード回路4に入力される。
オフセット値指定回路2はS2バス222から入力され
た5ビツトのオフセット値を保持し、その値を第1エン
コード回路3及び第2エンコード回路4へ出力する。ま
た命令デコード部2は、エンコード結果判定回路7から
出力されるオフセント値を入力し、その値にビまたは”
2″を加算する加算機能がある。
第1エンコード回路3と第2エンコード回路4とは同一
に回路構成されたプライオリテイエンコ−1’回路であ
り、ビット列生成回路1から入力されたビット列を対象
としてオフセット指定回路2で指定されたビット位置以
降でサーチして最初の“1”のビット位置を出力する組
合せ論理回路である。
エンコード結果判定回路7は第1エンコード回路3と第
2エンコード回路4とから出力されるエンコード値とA
Aババス22の下位3ビツトとを入力とし、オフセント
値指定回路2ヘエンコード結果と加算すべき値とを出力
し、レジスタ番地指定回路218へレジスタ番号と2つ
のレジスタとを同時アクセスすべきか否かを示す並列ア
クセス13号8を出力する他、第1エンコード回路3か
ら出力されたエンコード値を01バス225へ出力する
こともできる。また、エンコード結果判定回路7は第1
エンコード回路3の出力の“げと“0′とを反転した値
をレジスタ番地指定回路218へ出力することもできる
並列アクセス信号8はAAババス22の下位3ビフトが
すべて“0”で且つ第1エンコード回路3と第2エンコ
ード回路4とのエンコード結果が同し値である場合にア
サートされる。
(5,2)  rレジスタ番地指定回8j第8図はレジ
スタ番地指定回路218の詳細な構成を示すブロック図
である。
レジスタ番地指定回路218は、第1マイクロRAM部
113で指定されたレジスタ番地またはプライオリティ
エンコーダ部214で指定されたレジスタ番号をデコー
ドし、slハス221.  S2バス222.  Dl
ハス225.  D3ハス226に対スるレジスタファ
イル213の入出力を制御する。
第1マイクロROM部113からは汎用レジスタと作業
用レジスタとのアクセスが可能で各ハスについて5ビツ
トで入力または出力するレジスタ番地が指定される。プ
ライオリティエンコーダ部214からはレジスタファイ
ル213中の入力または出力を行う汎用レジスタ番号が
4ビツトで指定され、レジスタ番地指定回路218のセ
レクタ(17,18,1920)への入力段階で上位に
“0”を拡張してレジスタ番地とされる。
第1マイクロROM部113で各ハス毎に指定されたレ
ジスタ番地とプライオリティエンコーダ部214で指定
されたレジスタ番号とはセレクタ17.181!]、 
20によりいずれかが選を尺されてそれぞれのハス用の
デコード回路+7’、 +8’、 19’、 20’へ
入力される。
本発明のデータ処理装置100では、転送命令あるいは
加算命令等のjj’+純な命令では第1マイクロROM
部113から出力されたレジスタ番地に従って各バスに
入出力するレジスタを制御するため、レジスタ番地が各
バス毎のデコード回路+7’、 1819”、20′で
デコードされ、その出力信号に従ってレジスタファイル
216をアクセスするが、一部の高機能命令ではデコー
ド回路+7’、 18”、19’20から出力された制
御信号をシフトすることにより、本来のデコード結果と
は異なるデコード結果にてレジスタファイル213をア
クセスする。
S2バス222とD3バス226とは高機能命令の実行
に際して2つのレジスタを並列アクセスする場合に、プ
ライオリティエンコーダ部214により指定されたレジ
スタ番号より1つ大きなレジスタ番号のレジスタをアク
セスするためにデコード結果を1ビツト上位側ヘシフト
してレジスタファイル213へ出力する。この機能はデ
コーダ18“ と20゛  とがデコード結果のビ・7
ト列を出力する制御信号線群と、そのビット列を1ビツ
ト上位側にシフトしたビット列を出力する制御信号線群
とをセレクタ15゜16でそれぞれ1ビノトシフトシた
ビット列を出力する制御(8号線群を選択することによ
り実現される。
またS1バス221は高機能命令の実行に際して2つの
レジスタを並列アクセスする場合、プライオリティエン
コーダ部214により指定されたレジスタ番号より1つ
小さなレジスタ番号のレジスタをアクセスするためにデ
コーダ17′のデコード結果を1ビツト下位側ヘシフト
してレジスタファイル213へ出力する。この機能はデ
コーダ17’ がデコード結果のビット列を出力する制
御信号線群とそのビット列を1ビツト下位側にシフトし
たビット列を出力する制御信号線群とをセレクタI4で
それぞれ1ビツトシフトしたビット列を出力する制御信
号線群を選択することにより実現される。
(5,3)  rLDM命令の動作」 第30図は10M命令のオペレーンシンコードの一例を
示す模式図、第32図はLMD命令を実行する場合の整
数演算部117の動作手順を示すフローチャートである
このL?lD命令は6個の汎用レジスタR1,R4,R
5R6,R7,R8にスタック領域から6個の4バイト
データをロードする命令である。本発明のデータ処理装
置100でこの命令を実行する場合、第1マイクロRO
M部113の制御により第32図に示すフローチャート
に従って整数演算部117が動作する。
この例ではビット列生成回路1でレジスクリスビ010
0111110000000”が変換され、第1エンコ
ード回路3がエンコードするビット列は“010011
1110000000000000000000000
0”となり、第2エンコード回路4がエンコードするビ
ット列は“00001111000000000000
000000000000″となる。これらのビット列
をサーチすると、レジスタ番号「45,7」で2つのサ
ーチ結果が一致するが、レジスタ番号「4」の場合はA
Aババス22の下位3ビツトが”0”ではないため、レ
ジスタR1とF?4とには1回の操作で4バイトずつデ
ータがロードされ、レジスタR5と1116. R7と
R8にはそれぞれ並列にデータがロードされることとな
る。
レジスタR5とR6,R7とR8を同時にアクセスする
場合、エンコード結果判定回路7から出力される並列ア
クセス信号8がアサートされる。この並列アクセス信号
8に従って、デコード結果のピノ[・列を1ビット上位
側へンフトシたビット列が転送される制御線をセレクタ
16が選択することにより、エンコード結果判定回路7
から出力されたレジスタ番号より1つ大きな番号のレジ
スタに値がロードされる。
(5,4)  rSTM命令の動作」 デスティネーションのアドレッシングモー1′が1i−
spモード以外の37M命令を実行する場合、10M命
令と同しフォーマットレジスタリストを処理するだめに
プライオリティエンコーダ部214の動作ハLDM命令
の場合と同様である。また、レジスタ番地指定回路2+
8ではS2バス222へ出力するレジスタ番地として、
入力されたレジスタ番地よりも1つ大きな番地のレジス
タをアクセスするため、デコード結果のビット列を1ビ
ツト上位側ヘシフトしたビット列が転送される制御線を
セレクタ15が選択する。
デスティネーションのア(・レッシングモー1゛がa−
spモードである37M命令を実行する場合、1.0M
命令と異なるフォーマットレジスタリストを処理するの
で、プライオリティエンコーダ部214の動作が一部異
なる。この場合、エンコード結果判定回路7からオフセ
ット値指定回路2へは第1エンコード回B3から出力さ
れた値がそのまま転送されるが、レジスタ番地指定回路
218へは第1エンコード回路3から出力された値の“
0”と“1″とを反転した値が出力される。つまり、オ
フセット値指定回路2にはサーチしてエンコードしたビ
ット番号そのものが転送されるが、レジスタ番地指定回
路21日へは捜査してエンコードしたピッj・番号に対
応するレジスタ番号が出力されることになる。
またこの場合、レジスタ番地指定回路218では、並列
アクセス信号8がアサートされた場合、S2バス222
へは入力されたレジスタ番地のレジスタから値が出力さ
れ、S1バス221へは入力されたレジスタ番地より1
つレジスタ番地が小さいレジスタから値が出力される。
この機能はデコード結果のビット列を1ビツト下位側へ
シフトシたビット列を転送する制御線をセレクタ14が
選択することにより行われる。
例えば、第31図に示した5T)l命令の例では第1エ
ンコード回路3のサーチ対象となるビット列は“000
0000111110010000000000000
0000”であり、第2エンコード回路4のサーチ対象
となるビット列は“0000000111100000
0000000000000000″である。最初のエ
ンコード動作では、エンコード結果判定回路7へは第1
エンコード回路3と第2エンコード回路4とからは共に
値「7」が入力され、A^ババス22からは出力される
アドレス“)l’ 0OOOIPF8’の下位3ビット
の”0”が入力される。エンコード結果判定回路7はこ
れらの人力に基づいてオフセット指定回路には値r7J
と加算値「2」とを出力し、レジスタ番地指定回路21
8へは「7」を2進数表現した値“011ドの反転であ
る“1000”に対応するレジスタ番号「8」を出力し
、並列アクセス信号8をアサートする。
レジスタ番地指定回路218では人力されたレジスタ番
号「8」をデコードし、S2バス222へはレジスタR
8からデータを読出し、S1バス221へはデコード結
果を1ビツト下位側へシフトしたビット列を転送する制
御線をセレクタ14で選択することによりレジスタR7
からデータを読出す。S1バス221とS2バス222
とへ読出された2つのデータはDDレジスタ216で連
結され、1つの8バイトデータとしてDDババス通して
オペランドアクセス部120へ転送され、内蔵データキ
ャソソユあるいは外部メモリにストアされる。
(6)「外部アクセス動作」 (6,1)  r入出力信号線」 第7図は本発明のデータ処理装置100の入出力信号を
示す模式図である。
本発明のデータ処理装置100は電源VCCと接地GN
D、  64本のデータピンと32木のアドレスピンと
32本の命令ビン、入力クロックCLKの他に種々の制
御信号を入出力する。
命令アクセスの場合もデータアクセスの場合も、アドレ
スピンには物理アドレスが出力される。
CLKは外部入力クロックであり、本発明のデータ処理
装置100の動作クロックと同一周波数のクロックであ
る。
データアドレスストローブDAS#はアドレスピンへ出
力されたデータアドレスが有効であることを示す。
リードライl−R/Wllはデータピンでのバスサイク
ルが人力であるか出力であるかを区別する。
データストローブDSIは本発明のデータ処理装置10
0がデータ入力準備を完了したことまたは本発明のデー
タ処理装置looからデータが出力されたことを示す。
DCIIは本発明のデータ処理装置100にデータアク
セスサイクルを終了してもよいことを通知する信号であ
る。
BAT(0:2)は第28図に示す如く、アドレスピン
とデータピンとの値の意味を示す。
命令アドレスストローブIASIIはアドレスピンへ出
力された命令アドレスが有効であることを示す。
命令ストローブ■SIは本発明のデータ処理装置100
が命令人力i!P−備を完了したことを示す。
IcIは本発明のデータ処理装置100に命令アクセス
サイクルを終了してもよいことを通知する信号である。
ホールドリクエストHI?EQIは本発明のデータ処理
装置100にバス権を要求する信号である。
HACKIIは本発明のデータ処理装置100がHRE
IImを受付けてバス権を他のデバイスに渡したことを
示す信号である。
IREQ(0:2)は外部割込み要求信号である。
IACKIIは本発明のデータ処理装置100が外部割
込みを受付け、割込みベクトルアクセスサイクルを行っ
ていることを示す信号である。
(6,2)  r外1デバイスのアクセスコ本発明のデ
ータ処理装置100を用いた第6図に示すシステム構成
例では、本発明のデータ処理装置100とデータキャッ
シュ107.108とはデータピンに接続されているデ
ータバス+02.  アドレスピンに接続されているア
ドレスバス101の他、BAT(0:2)、 DASI
、 I?/W1. DSW、 DCI とでも接続され
ている。本発明のデータ処理装置100と命令キャッシ
ュ1.06とは命令ビンに接続されている命令バスI0
3.  アドレスバス101の他、BAT(0:2)、
 IASaI311. ICIとでも接続されている。
クロックCLKはシステム全体に供給されシステムの基
本タイミングを決定する。
本発明のデータ処理装置100は、標準アクセスモード
でのバスアクセスではデータバス102を用いたデータ
アクセスと命令バス103を用いた命令アクセスとを、
それぞれ十分高速な外部メモリに対して外部入力クロソ
クC1,にの2サイクルに1度の割合で行える。
また本発明のデータ処理装置100は、クワッドアクセ
スモードでのバスアクセスではデータバス102を用い
たデータアクセスと命令バス103を用いた命令アクセ
スとを、それぞれ十分高速な外部のメモリに対して外部
入力クロックCLKの5サイクルに4度の割合で行える
アドレスバス101 はデータキャッシュ107.10
8のアクセスと命令キャッシュ106のアクセスとの(
7)「本発明の他の実施例」 上記実施例では、人力されたレジスタ番地をデコードl
、た結果を1ビットシフトすることにより入力されたレ
ジスタ番地に隣接するレジスタ番地のレジスタをアクセ
スするレジスタ番地指定回路の例を示したが、デコード
した結果を複数ビットシフトすることにより入力された
レジスタ番地と複数番地部れたレジスタ番地のレジスタ
をアクセスするレジスタ番地指定回路も同様に構成する
ことが可能である。
また、入力されたレジスタ番地をデコードした結果のビ
ット列とそれを数ビ・7トだけシフトしたビ・2ト列と
を2組以上の制御線群により転送してセレクタでセレク
トすることにより、入力されたレジスタ番地と異なる2
種類以上の番地のレジスタをアクセスするレジスタ番地
指定回路を構成することも、セレクタを多入力にするこ
とにより同様に実現可能である。
また、上記実施例ではレジスタリストで“l”のビット
に対応するレジスタが操作対象となるレジスタである命
令の例について説明したが、レジスタリストで“0”の
ピノ]・に対応するレジスタが操作対象となるレジスタ
である命令でもプライオリティエンコーダにサーチ対象
となるビット列を反転して入力することにより、同様に
処理可能である。
また、上記実施例では複数データ転送命令としてLMD
命令と37M命令とを例として説明したが、プロジーツ
ヤの入口で複数のレジスタ中のデータの退避を行うと共
にスタックフレームの形成を行う命令あるいはプロシー
ジャの出L」で複数のレジスタへのデータの復%tとス
タックフレームの解消とを行う命令等、レジスタリスト
を用いて転送すべきレジスタを指定する命令であれば」
二記実施例と同様の処理が可能である。
[発明の効果] 以上に詳述した如く本発明レジスタ番地指定回路は、2
進数で表現されたレジスタの番地を第1のビット列にデ
コードするデコーダと、このデコーダに接続しデコード
結果である第1のどノド列と、第1のビット列を1ビツ
トシフトした第2のビット列とのいずれかを選択的に出
力するセレクタとを備え、セレクタの選択結果に応して
、n番地のレジスタをアクセスするか、またはn+1番
地とn−1番地とのどちらか一方の番地のレジスタをア
クセスするため、入力されたレジスタ番地と同しレジス
タ番地のレジスタと、そのレジスタに隣接する番地のレ
ジスタとが共に高速にアクセスされる。
また、本発明のレジスタ番地指定回路を備えたデータ処
理装置の第1の発明では、命令をデコードする命令デコ
ード手段と、20ビツトのデータを保持するデータレジ
スタと、nビットのデータを保持する第1のレジスタ番
地の第1のレジスタと、nビットのデータを保持する第
2のレジスタ番地の第2のレジスタと、nビットの第1
のデータを第1のレジスタからデータレジスタへ転送す
る第1のバスと、nビットの第2のデータを第2のレジ
スタからデータレジスタへ転送する第2のバスと、第1
のバスに接続されるべきレジスタの番地をデコードする
第1のデコーダと、第2のバスに接続されるべきレジス
タの番地をデコードする」−述のレジスタ番地指定回路
とを有していて命令デコード手段の出力信号に従って命
令を実行する命令実行1段とを備え、命令デコード機構
で基本演算命令(第1の命令)をデコードした場合は、
第2のレジスタ番地に従ってレジスタ番地指定回路が第
2のレジスタをアクセスして第2のレジスタからデータ
レジスタへnビットのデータを転送し、命令デコード手
段が複数データ転送命令(第2の命令)をデコードした
場合は、第1のレジスタ番地を第1のデコーダでデコー
ドして第1のレジスタをアクセスすることにより第1の
データを第1のレジスタからデータレジスタへ転送する
と共に第1のレジスタ番地に従ってレジスタ番地指定回
路が第2のレジスタをアクセスして第2のデータを第2
のレジスタから上記データレジスタへ転送し、第1のデ
ータと第2のデータとを連結する。
このため、連続したレジスタ番号の複数のレジスタを含
む複数のレジスタの内容をメモリ間へ退避する場合に連
続したレジスタ番号の2つのレジスタの内容が同時にア
クセスされるので2つのデータを並列に転送することが
可能になる。従って、コンパイラではプロシージャの入
口で退避を行うべきデータは連続した番号のレジスタに
割振る場合が多いので、従来のデータ処理gWに比べ本
発明のデータ処理装置は最大で2倍の速度でデータをレ
ジスタからメモリへ退避することが可能になる。
また、本発明のレジスタ番地指定回路を偏えたデータ処
理装置の第2の発明では、命令をデコドする命令デコー
ド手段と、20ビツトのデータを保持するデータレジス
タと、nピノ]・のデータを保持する第1のレジスタ番
地の第1のレジスタと、nビットのデータを保持する第
2のレジスタ番地の第2のレジスタと、データレジスタ
がらnビットの第1のデータを第1のレジスタへ転送す
る第1のバスと、データレジスタから残りのnビットの
第2のデータを第2のレジスタへ転送する第2のバスと
、第1のバスに接続されるべきレジスタの番地をデコー
ドする第1のデコーダと、第2のハスに接続されるべき
レジスタの番地をデコードする上述のレジスタ番地指定
回路とを有していて命令デコード手段の出力信号に従っ
て命令を実行する命令実行手段とを備え、命令デコード
手段で基本演算命令(第1の命令)をデコードした場合
は、第2のレジスタ番地に従ってレジスタ番地指定回路
が第2のレジスタをアクセスしてデータレジスタから第
2のレジスタへnビットのデータを転送し、命令デコー
ド手段が複数データ転送命令(第2の命令)をデコード
した場合は、第1のレジスタ番地を第1のデコーダでデ
コードして第1のレジスタをアクセスすることにより第
1のデータをデータレジスタから第1のレジスタへ転送
すると共に第1のレジスタ番地に従ってレジスタ番地指
定回路が第2のレジスタをアクセスして第2のデータを
データレジスタから第2のレジスタへ転送する。このた
めたとえば連続したレジスタ番号の複数のレジスタを含
む複数のレジスタへメモリからデータを転送する場合、
連続したレジスタ番号の2つのレジスタへ転送すべき2
つのデータを一括してメモリからフェッチし、2つのデ
ータを並列にレジスタへ転送することが可能になる。
従って、コンパイラではプロシージャの出口で連続した
レジスタへ復帰を行う場合が多いので、従来のデータ処
理装置に比べ本発明のデータ処理装置は最大で2倍の速
度でデータをメモリからレジスタへ復帰することが可能
になる。
【図面の簡単な説明】
第1回は本発明のデータ処理装置のプライオリティエン
コーダ部の詳細な構成を示すブロック図、第2図は本発
明のデータ処理装置のプライオリティエンコーダ部の構
成要素であるビット列生成回路の詳細な構成を示すブロ
ック図、 第3図は本発明のデータ処理装置の整数演算部の構成を
示すブロック図、 第4図は本発明のデータ処理装置の全体構成を示すブロ
ック図、 第5図は本発明のデータ処理装置のパイプライン処理ス
テージの説明のための模式図、第6図は本発明のデータ
処理装置を用いたデータ処理システムの構成例を示すブ
ロック図、第7図は本発明のデータ処理装置の入出力信
号ピンを示す模式図、 第8図は本発明のデータ処理装置のレジスタ番地指定回
路の詳細な構成を示すブロック図、第9図、第10図、
第11図、第12図及び第13図は本発明のデータ処理
装置の命令のフォーマントを示す模式図、 第14図、第15図、第16図、第17図、第18図、
第19図、第20図、第21図、第22図、第23図、
第24図。 第25図、第26図及び第27図は本発明のデータ処理
装置の命令中のアドレッシングモード指定部のフォーマ
ントを示す模式図、 第28図は本発明のデータ処理装置の複数データロード
命令であるLDM命令のフォーマットを示す模式図、 第29図は本発明のデータ処理装置の複数データストア
命令である57M命令のフォーマントを示す模式図、 第30図は本発明のデータ処理装置の複数データロード
命令である10M命令の具体的オペレーションコードの
構成例を示す模式図、 第31図は本発明のデータ処理装置の複数データストア
命令であるST?l命令の具体的オペレーションコート
の構成例を示す模式図、 第32図+a+、 fhl及び(C1は第30図に示さ
れている10M命令の具体例を実行した場合に本発明の
データ処理装置の命令実行部が行う処理のアルゴリズム
を示すフローチャートである。 1・・・ビット列生成回路  2・・・オフセット値指
定回路  3・・・第1エンコード回路  4・・・第
2エンコード回路  7・・・エンコード結果判定回路
17、18 19.20・・・セレクタ 14.15.
16・・・セレクタ 17”、18“、 19’、 2
0ゝ・・・テコ−1′回路 109・・・主メモリ  
107,108・・・データキャッシュ  112・・
・命令デコード部 117・・・整数演算部 11B・
・・浮動小数点演算部 212・・・レジスタファイル
 214・・・プライオリティエンコーダ部 215・
・・主ALU  218・・・レジスタ番地指定回路 
216・・・DDレジスタなお、図中、同一符号は同一
、又は相当部分を示す。 第 図 第 図 く通しのビット番号〉 (バイト毎のビット番号→ 〈アドレス〉 m=命令を読む方向−一 第 図 第 図 第 図 第 図 第 図 第 図 BYTE: N+2 BYTE : N+2 N+2+ N+2+2 N+2+M+2 第 図 YTE 第 図 第 図 第 図 第 図 (Sh) (Ea) ロロコ 第 図 +5h) (Ea) ロ工ロ 口下コ 第 図 第 図 −m可Fコ ロW房■田 dis++x:16   1 QJ−L+J−LJ−LJ−LJLJ−Jdisox:
32 LJ−LJ−LニーLJ−LJ−L+I−L+I−LJ
図 命令 レジスタリスト SP初期値 命令 レジスタリスト SP初期値 LDM  1ilsP+、  (R1,R4H’000
01000 R5,R6,R7,R8) 第 図 STM  (R1,R4,R5,R6,R7,R8)、
 @−3PH’0O002000 第 図 図(a) 第 図(b) 手 続 補 正 書(自発) 千庁長官殿 明の名称 レジスタ番地指定回路及びそれを備えたデータ処理装置
上をする者 代表者 志 岐 守 哉 埋入 住所 東京都千代口1区丸の陶工丁目2番3号第 図(c) 5、 補正の対象 明細書の「特許請求の範囲」及び「発明の詳細な説明」
の欄、並びに図面 6、補正の内容 6−1明細書の「特許請求の範囲」の種別紙の通り 6−2明細書の「発明の詳細な説明」の欄(1)明細書
の第9頁4行目に「実行に」とあるのを、[実行の」と
訂正する。 (2)明細書の第10頁16行目から177行目r2n
バイト」とあるのを、r2nビット」と訂正する。 (3)明細書の第15頁6行目に「キャッシュ107」
とあるのを、「キャッシュ107.108J と訂正す
る。 (4)明細書の第20頁4行目に「拡張部かを」とある
のを、「拡張部を」と訂正する。 (5)明細書の第32頁9行目に「転送さるる。」とあ
るのを、「転送される。Jと訂正する。 (6)明細書の第38頁15行目にrマイクロデコーダ
」とあるのを、[第1マイクロROM部113のマイク
ロデコーダ」と訂正する。 (7)明細書の第39頁14行目にrl13 Jとある
のを、 rl14」 と訂正する。 (8)  明細書の第39頁16行目に「マイクロデコ
ーダ」とあるのを、[第2マイクロROM部114のマ
イクロデコーダ」と訂正する。 (9)明細書の第41頁11行目に「11」 とあるの
を、rl12 J と訂正する。 α0) 明細書の第47頁2行目に「データの」とある
のを、[内蔵データキャッシュの」ど訂正する。 0υ 明細書の第53頁6行目から8行目に[トレース
・・・(中略)・・・渡される。」とあるのを削除する
。 02  明細書の第54頁4行目に「第4図」とあるの
を、「第5図」と訂正する。 αJ 明細書の第56頁20行目に「54」 とあるの
を、rl15」と訂正する。 Oa  明細書の第57頁14行目に「54」 とある
のを、rl15 J と訂正する。 09  明細書の第61頁13行目から144行目[R
コードJとあるのを、「Eコード」と訂正する。 aQ  明細書の第63頁2行目から5行目に「また、
・・・(中略)・・・される。ノとあるのを削除する。 07)明細書の第67頁5行目にr213 Jとあるの
を、r216 Jと訂正する。 ae  明細書の第67頁8行目に[オペランドアクセ
ス部」とあるのを、「オペランドアクセス部120」 
と訂正する。 aQ 明細書の第69頁16行目に「命令デコード部2
」とあるのを、[オフセット値指定回路2」と訂正する
。 (2)明細書の第70頁12行目に[レジスタとを同時
Jとあるのを、「レジスタを同時に」と訂正する。 (21)明細書の第70頁13行目に「信号8」とある
のを、「信号8と」と訂正する。 (22)明細書の第80頁4行目に[第28図」とある
のを、 「第7図」と訂正する。 (23)明細書の第80頁18行目にrlRBQ(0:
2) J とあるのを、r[RL#(0:2) J と
訂正する。 6−3図面 第5図を別紙の通り訂正する。 7、添付書類の目録 (1)補正後の特許請求の範囲の全文を記載した書面 
             1通(2)訂正図面   
          1通補正後の特許請求の範囲の全
文を記載した書面2、特許請求の範囲 (1)2進数で表現されたレジスタの番地nを第1のビ
ット列にデコードするデコーダと、前記第1のビット列
と、前記第1のビット列をmビットシフトした第2のビ
ット列とを入力とし、前記第1のビット列または前記第
2のビット列のいずれかを選択的に出力するセレクタと を備え、 n番地のレジスタをアクセスするか、またはn+m番地
とn−m番地とのいずれか一方のレジスタをアクセスす
べ(なしであることを特徴とするレジスタ番地指定回路
。 (2)命令をデコードする命令デコード手段と、20ビ
ツトのデータを保持するデータレジスタと、 nビットのデータを保持する第1のレジスタ番地の第1
のレジスタと、 nビットのデータを保持する第2のレジスタ番地の第2
のレジスタと、 nビットの第1のデータを前記第1のレジスタから前記
データレジスタへ転送する第1のバスと、 nビットの第2のデータを前記第2のレジスタから前記
データレジスタへ転送する第2のバスと、 前記第1のバスに接続されるべきレジスタの番地をデコ
ードするアドレスデコーダと、 前記第2のバスに接続されるべきレジスタの番地を特徴
とする請求項1に記載のレジスタ番地指定回路とを有し
、 前記命令デコード手段の出力に従って命令を実行する命
令実行手段と を備え、 前記命令デコード手段が第1の命令をデコードした場合
には、前記第2のレジスタ番地に従って前記レジスタ番
地指定回路が前記第2のレジスタをアクセスして前記第
2のレジスタから前記データレジスタへnビットのデー
タを転送し、 前記命令デコード手段が第2の命令をデコードした場合
には、前記アドレスデコーダが前記第1のレジスタ番地
をデコード出力することにより前記第1のレジスタをア
クセスして前記第1のデータを前記第1のレジスタから
前記データレジスタへ転送すると共に、前記レジスタ番
地指定回路が前記第2のレジスタをアクセスして前記第
2のデータを前記第2のレジスタから前記データレジス
タへ転送し、前記第1のデータと前記第2のデータとを
連結して出力すべ(なしである ことを特徴とする請求項1に記載のデータ処理装置。 (3)命令をデコードする命令デコード手段と、20ビ
ツトのデータを保持するデータレジスタと、 nビットのデータを保持する第1のレジスタ番地の第1
のレジスタと、 nビットのデータを保持する第2のレジスタ番地の第2
のレジスタと、 nビットの第1のデータを前記データし・ジスタから前
記第1のレジスタへ転送する第1のバスと、 nビットの第2のデータを前記データレジスタから前記
第2のレジスタへ転送する第2のバスと、 前記第1のバスに接続されるべきレジスタの番地をデコ
ードするアドレスデコーダと、 前記第2のバスに接続されるべきレジスタの番地を特徴
とする請求項1に記載のレジスタ番地指定回路とを有し
、 前記命令デコード手段の出力に従って命令を実行する命
令実行手段と を備え、 前記命令デコード手段が第1の命令をデコードした場合
には、前記レジスタ番地指定回路が前記第2のレジスタ
をアクセスして前記データレジスタから前記第2のレジ
スタへnビットのデータを転送し、 前記命令デコード手段が第2の命令をデコードした場合
には、前記アドレスデコーダが前記第1のレジスタ番地
をデコード出力することにより前記第1のレジスタをア
クセスして前記第1のデータを前記データレジスタから
前記第1のレジスタへ転送すると共に、前記レジスタ番
地指定回路が前記第2のレジスタをアクセスして前記第
2のデータを前記データレジスタから前記第2のレジス
タへ転送すべ(なしである ことを特徴とする請求項1に記載のデータ処理装置。

Claims (3)

    【特許請求の範囲】
  1. (1)2進数で表現されたレジスタの番地nを第1のビ
    ット列にデコードするデコーダと、 前記第1のビット列と、前記第1のビット 列をmビットシフトした第2のビット列とを入力とし、
    前記第1のビット列または前記第2のビット列のいずれ
    かを選択的に出力するセレクタと を備え、 n番地のレジスタをアクセスするか、また はn+m番地とn−m番地とのいずれか一方のレジスタ
    をアクセスすべくなしてあることを特徴とするレジスタ
    番地指定回路。
  2. (2)命令をデコードする命令デコード手段と、2nビ
    ットのデータを保持するデータレジ スタと、 nビットのデータを保持する第1のレジ スタ番地の第1のレジスタと、 nビットのデータを保持する第2のレジ スタ番地の第2のレジスタと、 nビットの第1のデータを前記第1のレ ジスタから前記データレジスタへ転送する 第1のバスと、 nビットの第2のデータを前記第2のレ ジスタから前記データレジスタへ転送する 第2のバスと、 前記第1のバスに接続されるべきレジス タの番地をデコードするアドレスデコーダ と、 前記第2のバスに接続されるべきレジス タの番地をデコードする前記レジスタ番地 指定回路とを有し、 前記命令デコード手段の出力に従って命令 を実行する命令実行手段と を備え、 前記命令デコード手段が第1の命令をデコ ードした場合には、前記第2のレジスタ番地に従って前
    記レジスタ番地指定回路が前記第2のレジスタをアクセ
    スして前記第2のレジスタから前記データレジスタへn
    ビットのデータを転送し、 前記命令デコード手段が第2の命令をデコ ードした場合には、前記アドレスデコーダが前記第1の
    レジスタ番地をデコード出力することにより前記第1の
    レジスタをアクセスして前記第1のデータを前記第1の
    レジスタから前記データレジスタへ転送すると共に、前
    記レジスタ番地指定回路が前記第2のレジスタをアクセ
    スして前記第2のデータを前記第2のレジスタから前記
    データレジスタへ転送し、前記第1のデータと前記第2
    のデータとを連結して出力すべくなしてある ことを特徴とする請求項1に記載のデータ 処理装置。
  3. (3)命令をデコードする命令デコード手段と、2nビ
    ットのデータを保持するデータレジ スタと、 nビットのデータを保持する第1のレジ スタ番地の第1のレジスタと、 nビットのデータを保持する第2のレジ スタ番地の第2のレジスタと、 nビットの第1のデータを前記データレ ジスタから前記第1のレジスタへ転送する 第1のバスと、 nビットの第2のデータを前記データレ ジスタから前記第2のレジスタへ転送する 第2のバスと、 前記第1のバスに接続されるべきレジス タの番地をデコードするアドレスデコーダ と、 前記第2のバスに接続されるべきレジス タの番地をデコードする前記レジスタ番地 指定回路とを有し、 前記命令デコード手段の出力に従って命令 を実行する命令実行手段と を備え、 前記命令デコード手段が第1の命令をデコ ードした場合には、前記レジスタ番地指定回路が前記第
    2のレジスタをアクセスして前記データレジスタから前
    記第2のレジスタへnビットのデータを転送し、 前記命令デコード手段が第2の命令をデコ ードした場合には、前記アドレスデコーダが前記第1の
    レジスタ番地をデコード出力することにより前記第1の
    レジスタをアクセスして前記第1のデータを前記データ
    レジスタから前記第1のレジスタへ転送すると共に、前
    記レジスタ番地指定回路が前記第2のレジスタをアクセ
    スして前記第2のデータを前記データレジスタから前記
    第2のレジスタへ転送すべくなしてある ことを特徴とする請求項1に記載のデータ 処理装置。
JP2231967A 1990-08-29 1990-08-29 デ−タ処理装置 Expired - Lifetime JP2556182B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2231967A JP2556182B2 (ja) 1990-08-29 1990-08-29 デ−タ処理装置
US07/752,129 US5396610A (en) 1990-08-29 1991-08-29 Register address specifying circuit for simultaneously accessing two registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2231967A JP2556182B2 (ja) 1990-08-29 1990-08-29 デ−タ処理装置

Publications (2)

Publication Number Publication Date
JPH04109339A true JPH04109339A (ja) 1992-04-10
JP2556182B2 JP2556182B2 (ja) 1996-11-20

Family

ID=16931859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2231967A Expired - Lifetime JP2556182B2 (ja) 1990-08-29 1990-08-29 デ−タ処理装置

Country Status (2)

Country Link
US (1) US5396610A (ja)
JP (1) JP2556182B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3203401B2 (ja) * 1993-05-21 2001-08-27 三菱電機株式会社 データ処理装置
US5694565A (en) * 1995-09-11 1997-12-02 International Business Machines Corporation Method and device for early deallocation of resources during load/store multiple operations to allow simultaneous dispatch/execution of subsequent instructions
US5850563A (en) * 1995-09-11 1998-12-15 International Business Machines Corporation Processor and method for out-of-order completion of floating-point operations during load/store multiple operations
US5913054A (en) * 1996-12-16 1999-06-15 International Business Machines Corporation Method and system for processing a multiple-register instruction that permit multiple data words to be written in a single processor cycle
US5893928A (en) * 1997-01-21 1999-04-13 Ford Motor Company Data movement apparatus and method
WO2007069000A1 (en) * 2005-12-16 2007-06-21 Freescale Semiconductor, Inc. Device and method for processing instructions
US8195923B2 (en) * 2009-04-07 2012-06-05 Oracle America, Inc. Methods and mechanisms to support multiple features for a number of opcodes
FR3090932B1 (fr) * 2018-12-20 2022-05-27 Kalray Système de multiplication de matrices par blocs

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6158058A (ja) * 1984-08-29 1986-03-25 Fujitsu Ltd 半導体記憶装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4348741A (en) * 1980-07-17 1982-09-07 Motorola, Inc. Priority encoder
US4747081A (en) * 1983-12-30 1988-05-24 Texas Instruments Incorporated Video display system using memory with parallel and serial access employing serial shift registers selected by column address
JPS6282402A (ja) * 1985-10-07 1987-04-15 Toshiba Corp シ−ケンス制御装置
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
JPH0740225B2 (ja) * 1985-12-25 1995-05-01 日本電気株式会社 プログラムスキツプ動作制御方式
JPH01204147A (ja) * 1988-02-09 1989-08-16 Toshiba Corp アドレス修飾回路
US5167026A (en) * 1989-02-03 1992-11-24 Digital Equipment Corporation Simultaneously or sequentially decoding multiple specifiers of a variable length pipeline instruction based on detection of modified value of specifier registers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6158058A (ja) * 1984-08-29 1986-03-25 Fujitsu Ltd 半導体記憶装置

Also Published As

Publication number Publication date
US5396610A (en) 1995-03-07
JP2556182B2 (ja) 1996-11-20

Similar Documents

Publication Publication Date Title
JP2616182B2 (ja) データ処理装置
JPH03186928A (ja) データ処理装置
JP6849275B2 (ja) インデックスおよび即値を用いてベクトル置換を実行するための方法および装置
JPH07114469A (ja) データ処理装置
JP6741006B2 (ja) マスクレジスタとベクトルレジスタとの間で可変に拡張するための方法および装置
JP2017538213A (ja) アウトオブオーダーハードウェアソフトウェア協調設計プロセッサにおいてスタック同期命令を用いてプレディケート値のスタックを実装し維持する方法および装置
JP6745021B2 (ja) 競合検出を実行するための方法および装置
JP2847974B2 (ja) データ処理装置
JP2018506096A (ja) ベクトルビットシャッフルを実行するための方法および装置
US4945511A (en) Improved pipelined processor with two stage decoder for exchanging register values for similar operand instructions
KR100682635B1 (ko) 동일한 논리 공간을 점유하는 다중 레지스터 파일을 포함하는 마이크로프로세서
JP2018500654A (ja) ベクトルビット反転を実行するための方法および装置
JP2669158B2 (ja) データ処理装置
KR100249631B1 (ko) 데이터 처리장치
KR20170097015A (ko) 마스크를 마스크 값들의 벡터로 확장하기 위한 방법 및 장치
JPH04109339A (ja) レジスタ番地指定回路及びそれを備えたデータ処理装置
JP5193624B2 (ja) データプロセッサ
JPH04260929A (ja) データ処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2646855B2 (ja) データ処理装置
JP2018500666A (ja) ベクトルビットギャザーを実行するための方法および装置
JPH0769806B2 (ja) データ処理装置
JP2696578B2 (ja) データ処理装置
JP2004152049A (ja) データ処理装置