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

データ処理装置

Info

Publication number
JPH03186935A
JPH03186935A JP1326253A JP32625389A JPH03186935A JP H03186935 A JPH03186935 A JP H03186935A JP 1326253 A JP1326253 A JP 1326253A JP 32625389 A JP32625389 A JP 32625389A JP H03186935 A JPH03186935 A JP H03186935A
Authority
JP
Japan
Prior art keywords
data
instruction
address
memory
register
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
JP1326253A
Other languages
English (en)
Other versions
JP2696578B2 (ja
Inventor
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 JP1326253A priority Critical patent/JP2696578B2/ja
Publication of JPH03186935A publication Critical patent/JPH03186935A/ja
Application granted granted Critical
Publication of JP2696578B2 publication Critical patent/JP2696578B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はデータ処理装置に関し、更に詳述ずれば、タス
クスイッチング用のメモリを内蔵することにより、タス
クスイッチングに要する時間を短縮し得るデータ処理装
置に関する。
[従来の技術] 近年のデータ処理装置の動作速度の高速化に伴って主メ
モリの高速化が要求され、このためメモリシステムの実
現コストが増大するという問題が生している。この問題
を解決するための一手法として、データ処理装置と主メ
モリとの間に高速メモリであるキャッシュメモリを介在
させることによりデータ処理装置と主メモリとの速度差
を埋め合わせる技術が用いられている。
また、キャッシュメモリをデータ処理装置と同一の集積
回路内に実現することにより高速なキャンシュメモリを
実現する提案も、たとえば特開昭63−193230号
公報に詳細に開示されている。
しかし、キャッシュメモリを用いて平均的にメモリアク
セス時間を短くするのみにては、タスクスイッチング等
のような特に高速動作が必要とされる際にヰヤ・ッシュ
ミスが発生ずる可能性もあり、結果的にタスクスイッチ
ングに要する時間の最大値を小さくすることはできない
この問題を解決するために、タスクスイッチング時のコ
ンテキスト退避用のメモリを通常のメモリ空間とは別に
定義しておき、そのコンテキスト退避用メモリ空間とし
て使用されるメモリを高速メモリでI威したり、あるい
はデータ処理装置と同し集積回路内に実現したりするこ
とにより、タスクスイッチングに要する時間を短縮する
提案もなされている。このような技術は例えば、特開昭
64−91253号公報に詳細に開示されている。
[発明が解決しようとする課題] しかし、キャッシュメモリとして高速メモリを用いても
、キャッシュミスが発生した場名には高速なメモリアク
セスが実現できない。また、コンテキスト退避用に通常
のメモリ空間とは別のメモリ空間を定義しても、そのメ
モリ空間を構成するメモリが他のメモリよりも高速動作
可能でなければタスクスイッチングに要する時間を短縮
することは出来ない。
このような問題は、キャッシュメモリは全メモリアクセ
スに対して平均してアクセス時間を短縮するためのもの
であって、コンテキスト退避時などの特に高速のメモリ
アクセスが必要な場合に高速なメモリアクセスを確実に
保証することは出来ないという理由に起因している。
ところで、キャッシュメモリは高速なメモリ装置ではあ
るが、高価であるため単一の機能のみではそのコストに
見合う有効な利用ができない。特に、キャッシュメモリ
をデータ処理装置と同一の集積回路に内蔵する場合には
、高価なキャッシュメモリの有効利用が望まれる。
[課題を解決するための手段] 本発明のデータ処理装置は以上のような事情に鑑みてな
されたものであり、命令をデコードする命令デコード部
と、命令デコード部の出力に従って命令を実行する命令
実行部と、データキャッシュとしての動作モード又は制
御空間用のメモリとしての動作モードのいずれかに切換
えられて動作するデータバッファ (メモリ)と、デー
タバッファの動作モードを指定するバッツァメモリ制御
しジスク(メモリ制御情報保持手段)と、データバッフ
ァをアクセスするオペランドアクセス部とを備えている
[作用〕 本発明のデータ処理装置では、ハソファメモリ制御しジ
スクの内蔵データバッファ制御フィールドに所定の情報
をセットすると、データバッファはライトスルー制御の
データキャッシュとして動作する。この場合、データバ
ッファは、命令実行部が実行すべき命令のオペランドと
なるデータを保持してキャッシングし、オペランドアク
セス部から出力されたアドレスとデータキャッシュ内の
タグアドレスとが一致することによりデータキャッシュ
がヒントすると、アクセスされたアドレスに対応するデ
ータを出力する。
一方、バッツァメモリ制御レジスタの内蔵データバ・ノ
ファ制御フィールドに別の所定の情報をセントすると、
データバッファはアドレスがたとえばH’ FFFFE
OOO〜H’ FFFFFFFFである制御空間領域の
ランダムアクセスメモリとして動作する。この場合、デ
ータバッファは、オペランドアクセス部から出力された
制御空間のアドレスが上記アドレス領域の範囲内であれ
ばそのアドレスに保持された[発明の実施例] 以下、本発明をその実施例を示す図面を参照して詳述す
る。
(1)「本発明のデータ処理装置を用いたシステムの構
成」 第6図に本発明のデータ処理装置を用いたシステムの構
成例を示す。
この構成例では、本発明のデータ処理装置100命令キ
ヤンシユ106.  データキャッシュ107及び10
8、  主メモリ109がアドレスバス101.  デ
ータバス102.  命令バス103.  メモリアド
レスバス104メモリデータバス105で結合されてい
る。
アドレスバス101は本発明のデータ処理装置100か
ら出力されるアドレスを命令キャッシュ106とデータ
キャッシュ107.108とに入力する。命令バス10
3は命令キャンシュ106から出力される命令コードを
本発明のデータ処理装置100に転送する。
データバス102は本発明のデータ処理装置100から
出力されるデータをデータキャッシュ107.108に
転送したり、データキャッシュ107.108から出力
されるデータを本発明のデータ処理装置100に転送し
たりする。メモリアドレスバス104は命令キャッシュ
106またはデータキャッシュ107.108から出力
されるアドレスを主メモリ109に転送する。メモリデ
ータバス105は主メモリ109と命令キャッシュ10
6またはデータキャッシュ107.108間での命令ま
たはデータを転送する。
命令キャッシュ106及びデータキャッシュ107゜1
08が旦スした場合はそれぞれのキャッシュ106また
は107がメモリアドレスバス104とメモリデータバ
ス105とのバス権を調停して主メモリ109をアクセ
スする。
データキャッシュ107.108は本発明のデータ処理
装置100の側では64ビツトのバスに結合するために
2つのチップが協調して動作する。各データの64ビア
)それぞれの内の上位32ビツトのデータをデータキャ
ッシュ107が、下位32ビツトのデータをデータキャ
ッシュ108が分担して受持つ。
以下、本発明のデータ処理装置100の命令体系及び処
理機構について最初に記述し、次に内蔵制御空間メモリ
を使用したタスクスイッチ処理の手法について説明する
(2)「本発明のデータ処理装置の命令フォーマント」
本発明のデータ処理装置の命令は16ビツト単位で可変
長となっており、奇数バイト長の命令はない。
本発明のデータ処理装置では高頻度に使用される命令を
短いフォーマットとするため、特に工夫された命令フォ
ーマット体系を有する。例えば、2オペランド命令に対
して、基本的に“4バイト十拡張部”の構成を有して総
てのアドレッシングモードが利用可能な一船形フメーマ
ソトと、高頻度の命令及びアドレッシングモードのみを
使用可能な短縮形フォーマットとの2つのフォーマント
を有する。
第9図から第13図に示す本発明のデータ処理装置の命
令フォーマット中に現われる記号の意味は以下の通りで
ある。
:オペレーションコードが入る部分 Ea:8ミニ8ビツト形のアドレソシングモードでオペ
ランドが指定される部分 5ho6ビツトの短縮形のアドレッシングモードでオペ
ランドが指定される部分 Rnニレジスタフアイル上のオペランドがレジスタ番号
で指定される部分 フォーマットは、第9図に示す如く、 側で且つ高いアドレスになっている。
アドレスNとアドレスN+1との2バイトを見ないと命
令フォーマ・7トが判別できないようになっているが、
これは、命令が必ず16ビツト(ハーフワード)単位で
フェッチ及びデコードされることを前提としているから
である。
本発明のデータ処理装置の命令ではいずれのフォーマッ
トの場合も、各オペランドのEaまたはshの拡張部は
必ずそのEaまたはshの基本部を含む■6ビツト (
ハーフワード)の直後に置かれる。これは、命令により
暗黙に指定される即値データ及び命令の拡張部に優先す
る。従って、4バイト以上の命令では、Eaの拡張部に
より命令のオペレーションコードが分断される場合があ
る。
右側がLSB また、後述する如く、多段間接モードによりEaの拡張
部に更に拡張部が付加される場合にも、次の命令オペコ
ードよりもそちらの方が優先される。
例えば、第1ハーフワードにEalを含み、第2ハーフ
ワードにEa2を含み、第3ハーフワードまである6ハ
イト命令の場合を考える。Ealに多段間接モードを使
用したために通常の拡張部の他に多段間接モードの拡張
部も付加されるものとする。
この際、実際の命令ビットパターンは、命令の第1ハー
フワード(Ea 1の基本部・を含む)、Ealの拡張
部、Ealの多段間接モート拡張部、命令の第2ハーフ
ワード(Ea2の基本部を含む)、l1a2の拡張部、
命令の第3ハーフワードの順となる。
(2,1)  r短縮形2オペランド命令」第10図は
2オペランド命令の短縮形フォーマットを示す模式図で
ある。
このフォーマットには、ソースオペランド側がメモリと
なるL−formatとデスティネーションオペランド
側がメモリとなるS4ormatとがある。
L−formatでは、shはソースオペラン1′の指
定フィールド、Rnはデスティネーションオペランドの
レジスタの指定フィールド、RRはshのオペランドサ
イズの指定をそれぞれ表す。
レジスタ上に置かれたデスティネーションオペランドの
サイズは32ビツトに固定されている。レジスタ側とメ
モリ側とのサイズが異なり、ソース側のサイズが小さい
場合に符号拡張が行なわれる。
S−formatではshはデスティネーションオペラ
ンドの指定フィールド、Rnはソースオペランドのレジ
スタ指定フィールド、RRはshのオペランドサイズの
指定をそれぞれ表す。
レジスタ上に置かれたソースオペランドのサイズは32
ビツトに固定されている。レジスタ側とメモリ側とのサ
イズが異なり、ソース側のサイズが大きい場合に、濡れ
た部分の切捨てとオーバーフローチエツクとが行われる
(2,2)  r−船形1オペランド命令」第11図は
1オペランド命令の一船形フオーマツ) (Gl−fo
rmat)を示す模式図テアル。
問はオペランドサイズの指定フィールドである。
一部のGl−format命令では、Eaの拡張曲以外
にも拡張部を有する。また、聞を使用しない場合もある
(2,3)  r−船形2オペランド命令」第12図は
2オペランド命令の一船形フオーマノドを示す模式図で
ある。
このフォーマントに含まれるのは、8ビットで指定され
る一船形アドレッシングモードのオペランドが最大2つ
存在する命令である。オペランドの総数自体は3つ以上
になる場合がある。
EaMはデスティネーションオペランドの指定フィール
ド、間はデスティネーションオペランドサイズの指定フ
ィールド、EaRはソースオペランド指定フィールド、
RRはソースオペランドサイズの指定フィールドをそれ
ぞれ示している。
一部のG−format命令では、EaM及びEaRの
拡張曲以外にも拡張部を有する。
第13図はショートブランチ命令のフォーマントを示す
模式図である。
ccccは分岐条件指定フィールド、disp:8はジ
ャンブ先との変位指定フィールドをそれぞれ示している
本発明のデータ処理装置では8ビツトで変位を指定する
場合には、ビットパターンでの指定値を2倍して変位値
とする。
(2,4)  rアドレッシングモード」本発明のデー
タ処理装置の命令のアドレッシングモード指定方法には
、レジスタを含めて6ビノトで指定する短縮形と、8ビ
ツトで指定する一般形とがある。
未定義のアドレッシングモードを指定した場合、あるい
は意味的に考えて明らかに不合理なアドレッシングモー
ドの組合わせが指定された場合には、未定義命令を実行
した場合と同しく予約命令例外が発生され、例外処理が
起動される。
これに該当するのは、デスティネーションが即値モード
である場合、アドレス計算を伴うべきアドレシングモー
ド指定フィールドで即値モードが使用された場合等であ
る。
第14図から第24図に示すフォーマントの模式図中で
使用されている記号の意味は以下の通りである。
Rn;  レジスタ指定 (Sh) :  6 ヒツトの短縮形アトレンジングモ
ードでの指定方法 (Ea):  8ビツトの一般形アドレッシングモード
での指定方法 フォーマントを示す模式図中で点線で囲まれた部分は拡
張部を示す。
(2,4,1)  r基本アドレッシングモード」本発
明のデータ処理装置の命令では種々のアドレッシングモ
ードをサポートする。その内の本発明のデータ処理装置
でサポートする基本アドレ・。
シングモードには、レジスタ直接モード、レジスタ間接
モード、レジスタ相対間接モード、即値モード、絶対モ
ード、PC相対間接モード、スタックポツプモード及び
スタックブツシュモードがある。
レジスタ直接モードは、レジスタの内容をそのままオペ
ランドとする。フォーマットの模式図を第14図に示す
。図中、Rnは汎用レジスタまたはFT’Uレジスタの
番号を示す。
レジスタ間接モードは、汎用レジスタの内容をアドレス
とするメモリの内容をオペランドとする。
フォーマットの模式図を第15図に示す。図中、Rnは
汎用レジスタの番号を示す。
レジスタ相対間接モードは、ディスプレースメント値が
16ビ71・であるか32ビツトであるかにより2種類
に分かれる。それぞれ、汎用レジスタの内容に16ピン
トまたは32ビツトのディスプレースメント値を加えた
値をアドレスとするメモリの内容をオペランドとする。
フォーマントの模式図を第16図に示す。図中、Rnは
汎用レジスタの番号を示す。disp:16とdisp
:32とは、それぞれ、16ビツトのディスプレースメ
ント値、32ビツトのディスプレースメント値を示す。
ディスプレースメント値は符号付きとして扱われる。
即値モードは、命令コード中で指定されるビ・ノトパク
ンをそのまま2進数と見なしてオペランドとする。フォ
ーマットの模式図を第17図に示す。
図中、imm  dataは即値を示し、そのサイズは
オペランドサイズとして命令中で指定される。
絶対モードは、アドレス値が16ビツトで示されるか3
2ビツトで示されるかにより2種類に分かれる。それぞ
れ命令コード中で指定される16ビソトまたは32ビツ
トのビットパタンをアドレスとしたメモリの内容をオペ
ランドとする。フォーマ・2トの模式図を第18図に示
す。図中、abs:16とabs:32とはそれぞれ1
6ビツト、32ビツトのアドレス値を示す。abs:1
6でアドレスが示される場合は指定されたアドレス値を
32ビツトに符号拡張する。
PC相対間接モードは、ディスプレースメント値が16
ビツトか32ビツトかにより2種類に分かれる。
それぞれプログラムカウンタの内容に16ビツトまたは
32ビツトのディスプレースメント値を加えた値をアド
レスとするメモリの内容をオペランドとする。フォーマ
ントの模式図を第19図に示す。図中、disp : 
16とdisp : 32とはそれぞれ16ビソトのデ
ィスプレースメント値、32ビットのディスプレースメ
ント値を示す。ディスプレースメント値は符号付きとし
て扱われる。PC相対間接モードにおいて参照されるプ
ログラムカウンタの値は、そのオペランドを含む命令の
先頭アドレスである。多段間接アドレッシングモードに
おいてプログラムカウンタの値が参照される場合にも、
同様に命令先頭のアドレスがPC相対の基準値として使
用される。
スタックポツプモードは、SP(スタックポインタ)の
内容をアドレスとするメモリの内容をオペランドとする
。オペランドアクセス後、SPをオペランドサイズだけ
インクリメントする。例えば、32ビントデークを扱う
場合は、オペランドアクセス後にSPが+4だけ更新さ
れる。8,16,64ビツトのサイズのオペランドに対
するスクノクボソプモドの指定も可能であり、それぞれ
SPが村、 +2. +8だけ更新される。フォーマッ
トの模式図を第20図に示す。オペランドに対しスタッ
クポツプモードが意味を持たないものについては、予約
命令例外が発生される。予約命令例外となるのは具体的
には、writeオペランド及びread−modif
y−writeオペランドに対するスタックポツプモー
ド指定である。
9 スタックブツシュモードは、SPの内容をオペランドサ
イズだけデクリメントした内容をアドレスとするメモリ
の内容をオペランドとする。スタックブツシュモードで
はオペランドアクセス前にSPがデクリメントされる。
例えば、32ビットデータを扱う場合は、オペランドア
クセス前にSPが−4だけ更新される。8.16,64
ビツトのサイズのオペランドに対するスタックブツシュ
モードの指定も可能であり、それぞれSPが−1,−2
,−8だけ更新される。
フォーマ・ノドの模式図を第21図に示す。オペランド
に対してスタックブツシュモードが意味を持たないもの
に対しては、予約命令例外1が発生される予約命令例外
となるのは具体的には、readオペランド及びrea
d−+nodify−wri teオペランドに幻ずス
タックブツシュモード指定である。
(2,4,2)  r多段間接アドレッシングモード」
複雑なアドレッシングも、基本的には加算と間接参照の
組み合わせに分解することができる。従って、加算と間
接参照のオペレーションとをアドレッシングのプリ砧テ
ィブとして与えておき、そ0 れを任意に組合わせることが出来れば、いかに複雑なア
トレンジングモートをも実現することが出来る。本発明
のデータ処理装置の命令の多段間接アドレッシングモー
ドはこのような考え方に立脚したアトレンジングモート
である。複雑なアドレッシングモードは、モジュール間
のデータ参照及びAI言語の処理系に特に有用である。
多段間接アドレッシングモードを指定する際、基本アド
レッシングモード指定フィールドでは、レジスタヘース
多段間接モード、PCベース多段間接モード及び絶対ヘ
ース多段間接モードの3種類の指定方法の内のいずれか
1つを指定する。
レジスタヘース多段間接モードは、汎用レジスタの値を
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。フォマントの模式図を第22
図に示す。図中、Rnは汎用レジスタの番号を示す。
PCベース多段間接モードは、プログラムカウンタの値
を拡張する多段間接アドレッシングのベース値とするア
ドレッシングモードである。フォーマ7)の模式図を第
23図に示す。
絶対ヘース多段間接モードは、ゼロを拡張する多段間接
アドレッシングのベース値とするアトレンジングモート
である。フォーマツ1−の模式図を第24図に示す。
拡張される多段間接モード指定フィールドは、16ビツ
トを単位としており、これが任意回反復される。1段の
多段間接モードにより、ディスプレースメントの加算、
インデクスレジスクのスケーリング(XL  X2.X
4.X8)と加算、メモリの間接参照が行われる。多段
間接モードのフォーマットの模式図を第25図に示す。
図中の各フィールドは以下に示す意味を有する。
E・0 :多段間接モード継続 E=I  ニアドレス計算終了 tmp ==> address  of opera
nd■・0 :メモリ間接参照なし tmp十+Hsp+Rx*Scale==)tmpI−
1:メモリ間接参照あり mem [tmp + disp + Rx * 5c
ale ]==>  tmp M=O: <RX>をインデクスとして使用列、1 ;
特殊なインデクス <RX〉・0 インデクス値を加算しない(Rx=0) <RX〉・1 プログラムカウンタをインデクス値とし
て使用 (Rx=PC) <Rx>= 2−  reservedD−0:多段間
接モード中の4ビツトのフィールドd4の値を4倍して
ディスブレースメント値とし、これを加算する。d4は
符号伺きとして扱い、オペランドのサ イズとは関係なく必ず4倍して使用す る D・1 :多段間接モードの拡張部で指定されたdis
px (16/32ビツト)をディスブレースメンI・
値とし、これを加算する。
拡張部のサイズはd4フィールドで指定する 3 d4−0001  dispxは16ビソトd4=00
]0  dispxは32ピッ1〜xX:インデクスの
スケール(scale = 1/2/478) プログラムカウンタに幻してX2.X4.x3のスケー
リングを行なった場合には、その段の処理終了後の中間
値(tmp)として不定値が入る。
この多段間接モードによって得られる実効アドレスは予
測できない値となるが、例外は発生しない。プログラム
カウンタに対するスゲ−リングの指定は行なってはいけ
ない。
多段間接モードによる命令フォーマットのバリエーショ
ンを第26図及び第27図の模式図に示す。
第26図は多段間接モードがm続するか終了するかのバ
リエーションを示す。第27図はディスブレースメント
のサイズのバリエーションを示す。
任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が軽減されるというメリットがある。多段の間
接参照の頻度が非常に少な4 いとしても、コンパイラとしては必ず正しいコードを発
生できなければならないからである。このため、フォー
マント上では任意の段数を可能としく3)「メモリ空間
とコンテキストスインチ」本発明のデータ処理装置10
0は、プログラム及びデータを格納するメモリ空間であ
る論理空間と各種のレジスタ及び一部の命令により操作
されるデータを格納するメモリ空間である制御空間との
2つのメモリ空間をサポートする。
本発明のデータ処理装置100の論理空間は、従来のデ
ータ処理装置においてプログラム、データを格納するメ
モリ空間と同しである。
本発明のデータ処理装置100の制御空間は、制御空間
操作命令によりデータを書込むこと及び読出すことが可
能であり、各種のレジスタがバイトアドレスでマツプさ
れているレジスタ領域とデータを格納するためのデータ
領域とがある。なお、制御空間のデータ領域はコンテキ
スト操作命令でもアクセス可能である。
本発明のデータ処理装置とR(iuした手法で論理区間
と制御空間とをサポートして制御空間にコンテキストを
保持する技術としては、たとえば特開昭64−9125
3号公報に詳細に開示されている。
(3,1)  rコンテキストブロックフォーマノ)・
」第30図は本発明のデータ処理装置のコンテキストス
イノヂング命令であるLDCTX命令と5TCTX命令
とで操作されるコンテキスl−ブロックのフメマノトを
示ず模式図である。
コンテキストブロックは、浮動小数点レジスタ12、汎
用レジスタ10.11等にて構成されており、先頭アド
レスは第34図の模式図にその構成を示すCTXBBレ
ジスタに保持される。
LDCTX命令と5TCTX命令とで操作されるコンテ
キストブロックのフォーマットは第31図の模式図にそ
の構成を示ずC3Wレジスクで指定される。
C3WレジスタのFRビット13とRGビット14とが
共に“1”である場合は、コンテキストブロックは第3
0図に示すフォーマットになる。
FRビット13が”O”でRGビット14が“1″であ
る場合は、第30図に示されている浮動小数点レジスタ
12はLDCTX命令と5TCTX命令とによる操作対
象とはならない。
PRビット13とRGビット14とが共に“0”である
場7 台は、第30図に示されている浮動小数点レジスタ12
、汎用レジスタ10.11がL D CT X命令と5
TCTX命令とによる操作対象とならない。この場合は
、CSWレジスタと4つのスタノクボインク5PI(S
I’0.5PISP2.5P3)及びアドレス変換テー
ブルベースを示ずUATBレジスタが操作対象となる。
11ATBレジスタの構成は第35図の模式図に示され
ている。
(3,2)  rコンテキスト操作命令」LIICTX
命令のビンドパクンを第32図の模式図に示す。
LDCTX命令(D CTXBADR’7 イー ルド
16はロートすべきコンテキストブロックの先頭アドレ
スを8ビツトの一船形アドレッシングモードで指定する
フィールドである。
Xビット15はロードずべきコンテキストブロックが論
理空間又は制御空間のいずれにあるのかを示すビットで
ある。Xビット15が”0”である場合はコンテキスト
ブロックは論理空間にあり、Xビット15が”l”であ
る場合はコンテキストブロックは制御空間にあることを
それぞれ示す。
LDCTX命令が実行された場合、CTXBADRフィ
ールド16にて指定されるアドレスがCTXBBレジス
タにロードされ、Xビット15で指定される空間内のC
TXBADR16フイールドで指定されるアドレスにあ
り且つ先頭のCS−値で指定されるフォーマットの操作
対象コンテキストブロックが対応するレジスタにロード
される。
STCTX命令のピノドパクンを第33図の模式図に示
す。
STCTX命令)Xビット17はコンテキストブロック
をストアすべき空間を指定する。このSTCTX命令の
Xビット17が0”であればコンテキストブロックを論
理空間にストアすることが指定され、Xビット17が°
ドであればコンテキストブロックを制御空間にストアす
ることが指定される。ストアずべきメモリアドレスはC
TXRRレジスタで指定される。
STCTX命令が実行されると、Xビ・7ト17で指定
される空間内OCTXBBレジスタで指定されるアドレ
スにCSWレジスタで指定されるフォーマットのコンテ
キストブロックに含まれるレジスタの内容が退避される
(4)「本発明のデータ処理装置の機能ブロックの構成
」 第4図は本発明のデータ処理装置の一構成例を示すブロ
ック図である。
本発明のデータ処理装置の内部を機能的に大きく分ける
と、命令人力部110,  命令フエノヂ部】11命令
デコ一ド部112,  第1マイクロROM部113第
2マイクロROM部114,  オペランドアドレス計
算部115.  PCC計算量116整数演算部117
,  浮動小数点演算部118,  アドレス入出力部
119,  オペランドアクセス部120,  データ
人出力部121に分かれる。
アドレス入出力部119をアドレスバス101に結合し
、データ入出力部121をデータバス102に結合し、
命令人力部110を命令ハス103に結合することによ
り前述の第6図に示すシステム構成をとることができる
(,1,1,)  r命令入力部」 命令入力部110は外部の命令バス103から32ビツ
トごとに命令コードを本発明にデータ処理装置へ入力す
る。
命令キャッシュ106のアクセス方法には、1つのアド
レスに対して32ビツトの命令コードをアクセスする標
準アクセスモードと1つのアドレスに対して4回連続で
32ビットの命令コードをアクセスするクワソ1−アク
セスモードとがあり、いずれの場合も命令入力部〕10
は人力した命令コードを命令フェフヂ部111へ出力す
る。
(4,2)  r命令フェッチ部」 命令フェッチ部11.1には命令アドレスのアドレス変
換機構、内蔵命令キャッシュ、命令用TLB、命令キュ
ーとそれらの制御部がある。
命令フェッチ部111は、次にフェッチすべき命令のp
c値を物理アドレスに変換し、内蔵命令キャッシュから
命令コードをフェッチし、命令デコド部1]2へ出力す
る。内蔵命令キャッシュがミスした場合には、アドレス
入出力部119へ物理アドレスを出力して外部への命令
アクセスを要求し、命令人力部110を通して入力され
た命令コードを内蔵命令キャッシュに登録する。
次にフェッチすべき命令のpc値は命令キューに人力ず
べき命令のpc値として専用のカウンタで計算される。
ジャンプが生した場合には、新たな命令(7) P C
値がオペランI・アドレス馴算部1.+5.  P(’
31算部116あるいは整数演算部117から転送され
てくる。
命令用TLBがミスした場合のページングによるアドレ
ス変換及び命令用T1.11更新も命令フエ・ッチ部1
11の内部の制御回路により行われる。
また、本発明のデータ処理装置がハスウJソチモードで
ある場合は、アドレス入出力部119を通して入力され
た物理アドレスがヒソ)・する内蔵命令キャッシュのエ
ンI・りを無効化する。
(4,3)  r命令デコード部」 命令デコード部112では基本的に16ビノl(ハフワ
ード)単位に命令コートをデコードする。
このブロックには第1ハーフワードに含まれる2 オペレーションコードをデコードするF)IWデコーダ
、第2及び第3ハーフワードに含まれるオペレーション
コードをデコードするNFHWデコーダ、アドレッシン
グモードをデコードするアドレッシングモードデコーダ
が含まれる。
更に、FIIWデコーダ及びN F +1 Wデコーダ
の出力を更にデコードしてマイクロROMのエントリア
ドレスを計算する第2デコーダ、条件分岐命令の分岐予
測を行う分岐予測機構、オペランドアドレス計算の際の
パイプラインコンフリクI・をチエツクするアドレス計
算コンフリクトチエツク機構も含まれる。
命令デコード部112は命令フェッチ部111から出力
された命令コードを1クロツクにつき0〜6バイトデコ
ードする。デコード結果の内の、整数演算部1.17で
の演算に関する情報が第1マイクロROM部113へ、
浮動小数点演算部118での演算に関する情報が第2マ
イクロROM部114へ、オペランドアドレス計算に関
係する情報がオペランドアトlメス計算部115へ、p
c計算に関係する情報がpc計算部116へそれぞれ出
力される。
(4,4)  r第1マイクロR叶部」第1マイクロR
ol1部113には整数演算部117の制御を行う種々
のマイクロプログラムルーチンが格納されているマイク
ロROM、  マイクロシーケンサ、マイクロ命令デコ
ーダ等とが含まれる。
マイクロ命令はマイクロROMから1クロツクに1度読
出される。マイクロシーケンサは命令大行に関するマイ
クロプログラム実行のためのシーケンス処理の他に、例
外1割込、  l・ラップ〈この3つ併せてBITと総
称する)の受付けと各EITに対応するマイクロプログ
ラムのシーケンス処理も行う。
第1マイクロROM部113へは命令コードに偽作しな
い外部割込みや整数演算実行結果によるマイクロプログ
ラムの分岐条件も入力される。
マイクロデコーダの出力は主に整数演算部117に対し
て出力されるが、ジャンプ命令の実行時及び例外受付時
には一部の情報を他の機能フグコックへも出力する。
(4,5)  r第2マイクロROM部」第2マイクI
IIIOM部114には浮動小数点演算部118の制御
を行う種々のマイクロプログラムルーチンが格納されて
いるマイクロROM、  マイクロシーケンサ、マイク
ロ命令デコーダ等が含まれる。
マイクロ命令はマイクロROMからlクロックに1度読
出される。マイクロシーケンサはマイクロプログラムで
示されるシーケンス処理の他に、浮動小数点演算に関係
する例外の処理も行い、マスクされていない浮動小数点
例外が検出された場合には第1マイクロROM部113
へ例外処理を要求する。第2マイクOR0M部114の
マイクロシーケンサは第1マイクロROM部113のマ
イクロシーケンサと並列に動作し、整数演算部117と
並列に浮動小数点演算部118を制御する。
第2マイクロR叶部113には浮動小数点演算実行結果
によるフラッグ情報も入力される。
マイクロデコーダの出力は主に浮動小数点演算部118
に対して出力されるが、浮動小数点演算に関係する例外
の検出等の一部の情報は他の機能ブ5 0ツクへも出力される。
(4,6)  rオペランドアドレス計算部jオペラン
ドアドレス計算部115は、命令デコード部112のア
ドレッシングモードデコーダ等から出力されたオペラン
ドアドレス計算に関係する情報によりハードワイヤード
制御される。このブロックではメモリ間接アトレンジン
グのためのメモリアクセス以外のオペランドのアドレス
耐算とジャンプ命令のジャンプ先アドレスの計算とが行
われる。
オペランドアドレスの計算結果は整数演算部117へ出
力される。オペランF′アドレス計算終了段階での先行
ジャンプ処理では、ジャンプ先アドレスの計算結果が命
令フェッチ部111とpc計算部とへ出力される。
即値オペランドは整数演算部117及び浮動小数点演算
部118へ出力される。アドレス31算に必要な汎用レ
ジスタ及びプログラムカウンタの値は整数演算部117
又はpc計算部116から人力される。
(4,7)  rpc計算部」 pc計算部116は命令デコード部112から出力され
るPC計算に関係する情報でハードワイヤードに制御さ
れ、命令のpc値を計算する。
本発明のデータ処理装置の命令は前述の如く、可変長命
令であり、命令をデコードしてみないとその命令の長さ
が判らない。PC計算部116は、命令デコード部11
2から出力される命令長をデコード中の命令のpc値に
加算することにより次の命令のpc値を計算する。
また、PC計算部116では命令アドレスのブレイクポ
イントレジスタあるいはトリガポイントレジスタの値と
実行された命令のpc値との比較も行われる。
pc計算部116の計算結果は各命令のpc値として命
令のデコード結果とともに出力される。
命令デコードステージでの先行ブランチ処理では、命令
デコード部11から出力されるブランチ幅をpc値に加
算することによりブランチ先命令のアドレスが計算され
る。
また、PC計算部116にはサブルーチンへのジャンプ
命令の実行時にスタックにブツシュしておいたサブルー
チンからの戻り先PC値のコピーを保持するPCスタッ
クが用意されている。pctI算部116は、サブルー
チンからのリターン命令に対してはPCスクソクから戻
光PCを読出すことにより、プリリターン先命令のアド
レスを生成する処理も行う。
(4,8)  r整数演算部」 整数演算部117は第1マイクロROM部113のマイ
クロROMに格納されたマイクロプログラムにより制御
され、各整数演算命令の機能を実現するために必要な演
算を整数演算部117の内部にあるレジスタファイルと
演算器とを使用して実行する。
レジスタファイルには汎用レジスタ及び作業用レジスタ
が含まれる。また、整数演算部117には整数演算の結
果により変化するフラッグ及び外部割込みのマスクレヘ
ルを定めるビット等を含むプロセッサ状態語(PSW)
、  C3Wレジスク、 [IATBレジスタ、  C
TXBBレジスタ、ハソファメモリ制御レジスタ等も含
まれる。
命令の演算対象となるオペランドがアドレスあるいは即
値である場合は、オペランドアドレス計算部115から
即値あるいは計算されたアドレスが人力される。また、
命令の演算対象となるオペランドがメモリ上のデータで
ある場合は、アドレス計算部115で計算されたアドレ
スがオペランドアクセス部120へ出力され、データバ
ッファあるいは外部からフェッチされたオペランドが整
数演算部117へ入力される。
演算に際して、データバッファ、外部のデータキャッシ
ュ107.108あるいは主メモリ109をリードする
必要がある場合は、整数演算部117はマイクロプログ
ラムの指示によりオペランドアクセス部120ヘアドレ
スを出力して目的のデータをフェッチする。
演算結果をデータバッファ、外部のデータキャッシュ1
07.108あるいは主メモリ109ヘスドアする必要
がある場合は、整数演算部117はマイクロプログラム
の指示によりオペランドアクセス部120ヘアドレスと
データとを出力する。この際、PC計算部116からは
そのストア動作を行った命令のPC9 値がオペランドアクセス部120へ出力される。
外部割込み1例外の処理等が行われて新たな命令アドレ
スを整数演算部117が得た場合は、整数演算部117
はこれを命令フエソヂ部111とpc計算部116とへ
出力する。
(4,9)  r浮動小数点演算部」 浮動小数点演算部118は第2マイクロROF部114
のマイクロROMに格納されたマイクロプログラムによ
り制御され、各浮動小数点演算命令の機能を実現するた
めに必要な演算を浮動小数点演算部118の内部にある
レジスタファイルと演算器とを使用して実行する。
また浮動小数点演算部118には浮動小数点演算の丸め
処理方法及び浮動小数点演算例外の検出許可をモード設
定する浮動小数点演算モード制御レジスタFMCと、浮
動小数点演算結果に対するフラグ及び浮動小数点演算例
外の発生状態を示すステータスビットからなる浮動小数
点演算状態語FSWとが備えられている。
命令の演算対象となるオペランドが即値である0 場合は、オペランドアドレス計算部115から浮動小数
点演算部118へ即値が入力される。また、命令の演算
対象となるオペランドがメモリ上のデータである場合は
、アドレス計算部115で計算されたアドレスがオペラ
ンドアクセス部120へ出力され、データバッファまた
は外部からフェッチされたオペランドが浮動小数点演算
部118へ人力される。
オペランドを内蔵データキャッシュ、外部のデータキャ
ッシュ107.108あるいは主メモリ109ヘスドア
する必要がある場合は、浮動小数点演算部118はマイ
クロプログラムの指示によりオペランドアクセス部12
0ヘデータを出力する。ストア動作では浮動小数点演算
部11Bと整数演算部117とがtalMして動作し、
オペランドアクセス部120に対して整数演算部117
からオペランドのアドレスが出力され、浮動小数点演算
部118からオペランドが出力される。この際、PC計
算部116からはそのストア動作を行った命令のPC値
がオペランドアクセス部120へ出力される。
(4,10) rオペランドアクセス部」オペランドア
クセス部120にはオペランドアドレスのアドレス変換
機構、データバンファ、データ用TLB、  ストアバ
ッファ、オペランドブレイクポイントレジスタとそれら
の制御部とがある。
なお、データバッファはモード切換えにより内蔵データ
キャッシュまたはPC(直のトレースメモリとして動作
する。
データバッファを内蔵データキャッシュとして動作させ
る場合、データのロード動作に際しては、オペランドア
クセス部120はオペランドアドレス計算部115また
は整数演算部117から出力されたロードすべきデータ
の論理アドレスを物理アドレスに変換し、データバッフ
ァからデータをフェッチし、整数演算部117または浮
動点小数演算部118へ出力する。
データバッファが主スした場合には、オペランドアクセ
ス部120はアドレス入出力部119へ物理アドレスを
出力し、外部へのデータアクセスを要求し、データ入出
力部122を通して入力されたデ−クをデータバッファ
に登録する。
データのストア動作に際しては、オペランドアクセス部
120は整数演算部117から出力されたストアすべき
データの論理アドレスを物理アドレスに変換し、整数演
算部117あるいは浮動小数点演算部118から出力さ
れたデータをデルタバッファにストアすると共に、スト
アバッファを通じてアドレス入出力部119へ物理アド
レスを出力し、データ入出力部122を通してデータを
外部へ出力する。ストア動作で5スが発生した場合には
、データの更新は行われない。
スI・アバフファではス]・アずべきデータとそのアド
レス、更にそのストア動作を行った命令のPC値とが1
組にして管理される。ストアバッファでのストア動作は
先入れ先出し制御方式で管理される。
データバッファをコンテキスト退避用メモリとして動作
さセる場合、デルタバッファはアドレスがH’ FFP
P[!000〜H’FFFFFFFF (H“は16進
数を表す)の制御空間となる(ランダムアクセスメモリ
)RAYI3 として動作し、コンテキストスイッチング命令又は制御
空間操作命令でアクセスすることが可能である。
データ用TLBがミスした場合のベージングによるアド
レス変換及びデータ用TLBの更新もオペランドアクセ
ス部120の内部の制御回路により行われる。また、メ
モリアクセスアドレスがメモリにマツプされたl10j
i域に入るか否かのチエツクも行われる。
また、データバッファを内蔵データキャッシュ。
として動作さゼる際に、本発明のデータ処理装置がバス
ウォッチモードである場合ムこは、オペランドアクセス
部120はアドレス入出力部1】9を通して入力された
物理アドレスがヒツトするデータバッファのエントリを
無効化する。
(4,11) rアドレス入出力部」 アドレス入出力部119は命令フェッチ部I11とオペ
ランドアクセス部120とから出力されたアドレスを本
発明のデータ処理袋!+00の外部へ出力する。
4 アドレスの出力は本発明のデータ処理装置100で定め
られたバスプロトコルに従って実行される。
バスプロトコルの制御はアドレス入出力部119内にあ
る外部バス制御回路で行われる。外部バス制御回路では
ページ不在例外及びハスアクセス例外、外部割込みの受
付けも行う。
また、本発明のデータ処理装置100以外の外部デバイ
スがバスマスクになっており、本発明のデータ処理装置
100がハスウォッチモードである場合には、アドレス
入出力部119は外部デバイスがデータライトサイクル
を実行した際にアドレスバス101上へ出力されたアド
レスを取込んで命令フェッチ部111とオペランドアク
セス部120とへ転送する。
(4,12) rデータ入出力部」 データ入出力部121はオペランドのロード動作に際し
ては、データバス102からデータを取込みオペランド
アクセス部120へ転送する。オペランドのストア動作
に際しては、オペランドアクセス部120から出力され
たオペランドをデータバス102へ出力する。
データキャッシュ107.108のアクセス方法には、
1つのアドレスに対して64ビツトのデータをアクセス
する標準アクセスモートと1つのアドレスに対して4回
連続で64ビ・ノドのデータをアクセスするクワッドア
クセスモードとがあり、いずれの場合もデータ入出力部
121はオペランドアクセス部120と外部のメモリと
の間で遣取りするデータを(5)「パイプライン処理」 本発明のデータ処理装置100は各種のバッファ記憶と
、命令バス103、 データバス102を使用したメモ
リの効率的アクセスにより命令をパイプライン処理して
高性能に動作する。
ここでは、本発明のデータ処理装置100のパイプライ
ン処理方法について説明する。
(5,1)  rパイ194フ機構」 本発明のデータ処理装置looのパイプライン処理機構
は第5図に模式的に示すように構成されている。
命令のプ、リフエッチを行う命令フェッチステージ(I
Fステージ)31.  命令のデコードを行うデコード
ステージ(Dステージ)32.  オペランドのアドレ
ス計算を行うオペランドアドレス計算ステージ(Aステ
ージ)33.  マイクロROMアクセス(特にRステ
ージ37と称す)とオペランドのブリフェッチ(特にO
Fステージ38と称す)を行うオペランドフェッチステ
ージ(Fステージ)34.  命令の実行を行う実行ス
テージ(Eステージ)35.  メモリ7 オペランドのストアを行うストアステージ(Sステージ
)36の6段構成でパイプライン処理を実行する。
Sステージ36には3段のストアバッファがある。
各ステージは他のステージとは独立に動作し、理論上は
6つのステージが完全に独立動作する。
Sステージ36以外の各ステージは1回の処理を最小1
クロンクで行うことができる。Sステージ36は1回の
オペランドストア処理を最小2クロックで行うことがで
きる。従ってメモリオペランドのストア処理がない場合
、理想的には1クロツクごとに次々とパイプライン処理
が進行する。
本発明のデータ処理装置にはメモリーメモリ間演算ある
いはメモリ間接アドレッシング等のような1回の基本パ
イプライン処理のみでは処理出来ない命令があるが、こ
れらの処理に対してもなるべく均衡したパイプライン処
理が行えるように構成されている。
複数のメモリオペランドを有する命令に対しては、メモ
リオペランドの数に基づいてデコード段8 階で複数のパイプライン処理単位(ステップコード)に
分解してパイプライン処理が行われる。
IPステージ31からDステージ32へ渡される情報は
命令コードそのものである。
Dステージ32からAステージ33へ渡される情報は、
命令で指定された演算に関するコード(Dコード41と
称す)と、オペランドのアドレス計算に関係するコード
(Aコード42と称す)と処理中命令のプログラムカウ
ンタ値(PC)との3つである。
Aステージ33からFステージ34に渡される情報は、
マイクロプログラムルーチンのエントリ番地及びマイク
ロプログラムへのパラメータ等を含むRコード43と、
オペランドのアドレスとアクセス方法指示情報等を含む
Fコード44と、処理中命令のプログラムカウンタ(i
(pc)との3つである。
Fステージ34からEステージ35へ渡される情報は、
演算制御情報とリテラル等を含むEコード45と、オペ
ランド及びオペレータアドレス等を含むSコード(46
a、 46b)と、処理中命令のプログラムカウンタ(
i(pc)との3つである。
Sコード46a、 46bはアドレス46a とデータ
46bとからなる。
Eステージ35からSステージ36へ渡される情報は、
ストアすべき演算結果であるWコード47a、47bと
、その演算結果を出力した命令のプログラムカウンタ値
(pc)との2つである。
Wコード47a、 47bはアドレス47a とデータ
47bとからなる。
なお、トレース動作中はオペランドストアが行われなく
ても、実行得された命令のPC(!がEステージ35か
らSステージ36へ渡される。
Eステージ35以前のステージで検出されたBITはそ
のコードがEステージ35に到達するまでEIT処理を
起動しない。Eステージ35で処理されている命令のみ
が実行段階の命令であり、IFステージ31〜Fステー
ジ34で処理されている命令は未だ実行段階に至ってい
ないからである。従ってEステージ35以前で検出され
たBITは検出されたことがステップコード中に記録さ
れて次のステージに伝えられるのみである。
Sステージ36で検出されたBITはEステージ35で
処理中命令の実行が完了した時点またはその命令の処理
がキャンセルされた時点で受付けられ、Eステージ35
に戻って処理される。
(5,2)  r各パイプラインステージの処理」各バ
イブラインステージへの入出カステップコードには第4
図に示したように便宜上名称がイ」与されている。また
ステップコードには、オペレージジンコードに関する処
理を行ってマイクロROMのエントリ番地やEステージ
35に対するバラメーク等になる系列と、Eステージ3
5の処理対象のオペランドに、なる系列との2系列があ
る。
また、Dステージ32からSステージ36までの間では
処理中命令のプログラムカウンタ値が受渡される。
(5,2,1)  r命令フェッチステージ」命令フェ
ッチステージ(IFステージ)31で命令フェッチ部I
Hが動作する。
命令フェッチ部111ば内蔵命令キャッシュあるいは外
部から命令をフェッチして命令キューに入力し、Dステ
ージ32に幻して2〜6ハイl−単位に命令コードを出
力する。命令キューの入力は整置された4ハイ1−単位
で行われる。
命令フェッチ部111がlii準アクセスモードで夕■
部から命令をフェッチする場合は整置された4バイトに
つき最小2クロックを要する。
クワッドアクセスモードでは16バイトにつき最小5ク
ロツクを要する。
内蔵命令キャッシュがヒノトシた場合は整置された8バ
イトにつきlクロックでフェッチ可能である。
命令キューの出ノ〕単位は2ハイドごとに可変であり、
1クロツクの間に最大6ハイI・まで出力できる。また
ジャンプの直後には命令キューをバイパスして命令基本
部2バイトを直接命令デコーダに転送することもできる
命令の論理アト°レスの物理アドレスへの変換。
内蔵命令キャッシュや命令用TLBの制御5ブリフエツ
チ先命令アドレスの管理あるいは命令キ、。
の制御もIFステージ31で行われる。
(5,2,2)  r命令デコードステージ」命令デコ
ードステージ(Dステージ)32はIFステージ31か
ら入力された命令コードをデコードする。
命令コードのデコードは、命令デコード部112のFI
IWデコーダ、 NI’llWデコーダ、アトレンジン
グモードデコーダを使用して1クロツクに1度行なわれ
、1回のデコード処理で0〜6ハイトの命令コードが消
費される(リターンサブルーヂン命令の復帰先アドレス
を含むステップコードの出力処理等では命令コードは消
費されない)。
1回のデコードでAステージ33に対してアドレス計算
情報であるAコード42とオペコードの中間デコード結
果であるDコード41とが出力される。
Dステージ32ではPC計算部116の制御、命令キュ
ーからの命令コード出力処理も行われる。
Dステージ32ではブランチ命令あるいはサブルーチン
からのリターン命令に対して先行ジャンプ処理が行われ
る。先行ジャンプを行った無条件ブランチ命令に幻して
はDコード41及びAコード42は出力されず、Dステ
ージ32において命令の処理を終了する。
(5,2,3)  rオペランドアドレス計算ステージ
」オペランドアドレス計算ステージ(Aステージ)33
の処理は大きく2つに分かれる。
1つは命令デコード部112の第2デコーダを使用して
オペレーションコードの後段デコードを行う処理で、他
方はオペランドアドレス計算部54でオペランドアドレ
スの計算を行う処理である。
オペレーションコードの後段デコード処理はDコード4
1を入力とし、レジスタ、メモリの書込み予約及びマイ
クロプログラムルーチンのエントリ番地とマイクロプロ
グラムに対するパラメータ等を含むRコード43を出力
する。
なお、レジスタあるいはメモリの書込み予約は、アドレ
ス計算で参照したレジスタあるいはメモリの内容がバイ
ブライン上を先行する命令で書換えられていた場合に、
誤ったアドレス計算が行われ゛ることを防ぐためのもの
である。
オペランドアドレス計算処理はAコード42を人力とし
、Aコード42に従ってオペランドアドレス計算部54
でオペランドのアドレス計算を行い、その計算結果がF
コード44として出力される。
またジャンプ命令に対してはジャンプ先アドレスの計算
が行われて先行ジャンプ処理が実行される。この際、ア
ドレス計算に伴うレジスタの読出し時に書込み予約のチ
エツクも行われ、先行命令がレジスタあるいはメモリに
対する書込み処理を終了していないために予約があるこ
とが指示されていれば、先行命令がEステージ35で書
込み処理を終了するまで待機状態になる。
Aステージ33ではDステージ32で先行ジャンプを行
わなかったジャンプ命令に対して先行ジャンプ処理が行
われる。
絶対値アドレスへのジャンプあるいはレジスタ間接アド
レッシングのジャンプ等に対してはAステージ33で先
行ジャンプが行われる。先行ジャンプを行った無条件ジ
ャンプ命令に対してはRコド43及びFコード44は出
力されず、Aステージ33において命令の処理を終了す
る。
(5,2,4)  rマイクロROMアクセスステージ
」オペランドフェッチステージ(Fステージ)34の処
理も大きく2つに分かれる。
1つはマイク[:+ ROMのアクセス処理であり、特
にRステージ37と称す。他方はオペランドプリフェッ
チ処理であり、特にOFステージ38と称す。
Rステージ37とOFステージ38とは必ずしも同時に
動作するわけではなく、データキャッシュの稟ス及びヒ
ント、データTLBのξス及びヒツト等に依存して動作
タイミングが異なる。
Rステージ37の処理であるマイクl:l ROMアク
セス処理は、Rコード43に対して次のEステージ35
での実行に使用する実行制御コーl′であるEコード4
5を作り出ずためのマイクロll0Mアクセスとマイク
ロ命令デコード処理である。
1つのRコードに対する処理が2つ以上のマイクロプロ
グラムステップに分解される場合、第1マイクロROM
部113及び第2マイクロROM部114がEステージ
35で使用され、次のRコード43がマイクロROMア
クセス待ちになる場合がある。
Rコード43に対するマイクロROMアクセスが行われ
るのはEステージ35でのマイクロROMアクセスが行
われない場合である。
本発明のデータ処理装置100では多くの整数演算命令
が1マイクロプログラムステノブで行われ、多くの浮動
小数点演算命令が2マイクロプログラムステツプで行わ
れるため、実際にはRコード43に対するマイクロRO
Mアクセスが次々と行われる頻度が高い。
(5,2,5)  rオペランドフェッチステージ」オ
ペランドフェッチステージ(OFステージ)38はFス
テージ34で行う上記の2つの処理の内のオペランドプ
リフェッチ処理を行う。
オペランドフェッチステージ38ではFコード44の論
理アドレスをデータTLBで物理アドレスに変換し、そ
の物理アドレスで内蔵データキャッシュをアクセスして
オペランドをフェノヂし、そのオペランドとFコード4
4として転送されてきたその論理アドレスとを組合わセ
てSコード46a、 46bとして出力する。
1つのFコード44では8ハイド境界をクロスしてもよ
いが、8バイト以下のオペランドフェッチを指定する。
Fコード44にはオペランドのアクセスを行・うか否か
の指定も含まれており、Aステージ33で引算されたオ
ペランドアドレス自体あるいは即値をEステージ35へ
転送する場合にはオペランドプリフェッチは行わず、F
コート44の内容をSコード46a46bとして転送す
る。
プリフェッチしようとするオペランドとEステプ35が
書込み処理を行おうとするオペランドとが一致する場合
は、オペランドプリフェッチは内蔵データキャッシュか
らは行われず、バイパスして行なわれる。
(5,2,6)  r実行ステージ」 実行ステージ(Eステージ)35はEコード45及びS
コード46a、 46bを人力として動作する。
このEステージ35が命令を実行するステージであり、
Fステージ34以前のステージで行われた処理は総てE
ステージ35のための前処理である。
Eステージ35でジャンプが実行されたりあるいはBI
T処理が起動されたりした場合は、IFステージ31〜
Fステージ34まででの処理はすべて無効化される。
Eステージ35はマイクロプログラムにより制御され、
Rコード45に示されたマイクロプログラムルーチンの
エン)・り番地からの一連のマイクロ命令を実行するこ
とにより命令を実行する。
Eコード45には整数演算部117を制御するコード 
(特にElコードと称す)と浮動小数点演算部118を
制御するコード (特にEFコードと称す)とがある。
ElコードとEFコードとは独立に出力可能であり、こ
の際Eステージ35では整数演算部117と浮動小数点
演算部118とが並列に動作する。
例えば浮動小数点演算部118でメモリオペランドを有
さない浮動小数点命令を実行する場合はこの動作は整数
演算部117の動作と並行して実行される。
整数演算でも浮動小数点演算でもマイクロROMの読出
しとマイクロ命令の実行とはパイプライン9 化されて行われる。従って、マイクロプログラムで分岐
が発生した場合は1マイクロステツプの空きができる。
Eステージ35ではAステージ33で行ったレジスタあ
るいはメモリに対する書込み予約をオペランドの書込み
の後に解除する。
各種の割込は命令の切目でEステージ35に直接受付け
られ、マイクロプログラムにより必要な処理が実行され
る。その他の各種BITの処理もEステージ35でマイ
クロプログラムにより行われる。
演算の結果をメモリにストアする必要がある場合は、E
ステージ35はSステージ36へWコード47a47b
とストア処理を行う命令のプログラムカウンタ値とを出
力する。
(5,2,7)  rオペランドストアステージ」オペ
ランドストアステージ(Sステージ)36はWコードの
論理アドレス47aをデータTLBで物理アドレスに変
換し、そのアドレスでWコードのデータ47bをデータ
バッファにストアする。同時にオペランドストアステー
ジ36はWコート’47a、 47bと0 プログラムカウンタ値とをストアバッファに入力し、デ
ータTLBから出力された物理アドレスを用いて外部の
メモリへWコードのデータ47bをストアする処理を行
う。
また、トレース動作中はオペランドストアステージ36
はEステージ35から転送されたPC値をデータバッフ
ァに蓄える。
オペランドストアステージ36の動作はオペランドアク
セス部120で行われ、データTLBあるいはデータバ
ッファがミスした際のアドレス変換処理及びデータバッ
ファの入換え処理も行う。
オペランドストアステージ36がオペランドのストア処
理でBITを検出した場合はストアバッファにWコード
47a、 47bとプログラムカウンタ値とを保持した
ままでEステージ35にEFTを通知する。
(5,3)  r各パイプラインステージの状態制御」
パイプラインの各ステージは入力ラッチと出力う、チを
有し、他のステージとは独立に動作することを基本とす
る。
各ステージは1つ前に行った処理が終了し、その処理結
果を出力ランチから次のステージの入力ランチへ転送し
、自分のステージの人力ランチに次の処理に必要な入力
信号の総てがそろえば次の処理を開始する。
つまり、各ステージは1つ前段のステージから出力され
てくる次の処理に対する入力信号の総てが有効になり、
その時点の処理結果を後段のステジの人力ランチへ転送
し、出力ラソチが空になると次の処理を開始する。
各ステージが動作を開始する直前のタイミングで入力信
号が総てそろっている必要がある。入力信号がそろって
いなければ、そのステージは待機状態(入力待ち)にな
る。
出力ランチから次のステージの人力ランチへの転送を行
われる際は次のステージの人力ランチが空き状態になっ
ている必要があり、次のステージの入力ランチが空きで
ない場合もパイプラインステージは待機状B(出力待ち
)になる。
また、キャッシュあるいはTLBがミスしたり、パイプ
ラインで処理中の命令間にデータ干渉が生しると、1つ
のステージの処理に複数クロック必要となってパイプラ
イン処理が遅延する。
(6)「オペランドアクセス部の詳細動作」(6,1)
  rオペランドアクセス部の構成」第1図はオペラン
ドアクセス部120の一構成例を示す詳細なブロック図
である。
オペランドアクセス部120は、データの論理アドレス
と物理アドレスとをペアにしてバッファリングするTL
R201,物理アドレスとデータとをペアにしてバ・7
フアリングする内蔵のデータキャッシュとして動作する
かまたはコンテキスト退避用の制御空間のメ、そりとし
て動作するデータバッファ202  アクセスされたデ
ータの論理アドレスの上位とTLB201の論理アドレ
スタグとを比較する論理アドレス比較器203.  T
LB201から出力された物理アドレスとデータバッフ
ァ202から出力された物理アドレスタグとを比較する
物理アドレス比較器204、  データ人出力回路20
7.  アドレス出力回路206  スhアバノファ部
208.  更に論理アドレス比較器203及び物理ア
ドレス比較器204の比較結果に従って全体を制御する
オペランドアクセス制御回路205等にて構成されてい
る。
(6,2)  rオペランドアクセス部のデータリード
動作」 整数演算部】17から出力された論理アドレスのアドレ
ス変換対象となる上位20ビツトの内の下位側(8ビツ
ト)でT1.B201のエントリが指定される。
TLB201の指定されたエントリからは論理アドレス
タグ(12ピッl−) と物理アドレス(20ビツト)
とが出力される。この際、論理アドレスの上位側(12
ビット)と論理アドレスタグとが一致すればTLB20
1はヒツトしたことになり、TLB201から出力され
た物理アドレスは有効である。
データバッファ202が内蔵データキャッシュとして動
作する場合は、論理アドレスの内のページオフセットを
示し物理アドレスに変換されない下位ビット (12ビ
ツト)でデータバッファ202のエントりが指定される
。データバッファ202の指定されたエントりからは物
理アドレスタグ(20ビツト)とデータとが出力される
。この際、TLB201か4 ら出力された物理アドレスが有効で且つそれが物理アド
レスフグと一致すればデータバッファ202はヒツトし
たことになり、データバッファから出力されたデータは
有効である。
TLB201がミスした場合は、オペランドアクセス制
御部205の制御により、本発明のデータ処理装置10
0の外部のメモリにあるアドレス変換チーフルがアクセ
スされ、論理アドレスが物理アドレスに変換され、TL
B201のエントリが更新される。TLB201のエン
トリの更新後、再びTLB201がアクセスされ、TL
B201はヒツトする。
TLB20]がヒントしたが内蔵データキャッシュとし
て動作したデータバッファ202がごスした場合は、オ
ペランドアクセス制御部205の制御により、物理アド
レスで外部のメモリがアクセスされ、データバッファ2
02のエントリが更新される。
TLB201がミスした場合は、TLB201から読出
された物理アドレスとデータバッファの物理アドレスフ
グとが一致してもデータバッファ202はヒントとはな
らない。この場合、データバッファ202のヒy I・
/ ’Eニスの判定はTLB20]のエントリが更新さ
れてTLB201がヒソI・シた後に行われる。
データバッファ202が制御空間のメモリとして動作す
る場合は、論理空間のアクセスに対してTL11201
で変換された物理アドレスが本発明のデータ処理装置1
00の外部に出力されることにより外部からデータがフ
ェッチされる。
(6,3)  rオペランドアクセス部のデータライト
動作」 オペランドアクセス部120に対するデータのライト動
作はTLB201のアクセスに関してはデータリード動
作時と同様である。
データバッファ202が内蔵データキャッシュとして動
作する場合、データバッファ202のアクセス動作もデ
ータリード動作と類似しているが、データバッファ20
2からデータが読出されることはない。
データライト動作ではデータバッファ202がヒントし
た場合はヒントしたエントリにデータが書込まれる。ミ
スした場合はデータバッファ202にはデータは書込ま
れず、エントリの更新動作も行われない。
本発明のデータ処理装置100のデータバッファ202
はライトスルー制御のデータキャッシュとして動作し、
データライト動作時にデータバッファ202がヒツトし
た場合もミスした場合もストアデータが外部へ出力され
る。
データバッファ202が制御空間のメモリとして動作す
る場合は論理空間へのオペランドライト時にデータバッ
ファがアクセスされることはない。
この場合、TLB201で変換された物理アドレスが本
発明のデータ処理装置+00の外部へ出力されると共に
ストアデータが外部へ出力される。
外部へのデータのストア処理は最小でも2クロツクを必
要とし、本発明のデータ処理装置100のEステージ3
5のストア動作速度に比べて低速である。このため、ス
トアデータはそのストア動作を行った命令のPC値、ス
トア先の物理アドレス、ストア先の論理アドレスと共に
ストアバソファに一旦登録され、その後にストアバッフ
ァがストア動7 作を行う。ストアバッファに登録されるストア動作を行
った命令のpc値はpc計算部116から入力された命
令のpc値である。
(6,4)  r制御空間アクセス部の動作」データバ
ッファ202が、アドレスが11’ FFFFEOOO
〜+1’ FFFFFFFFの制御空間のメモリとして
動作する場合は、アドレスが11’ FFFFEOOO
〜It’ FFFFFFFFである制御空間に対するア
クセスはデータバッファ202に対して行われる。
制御空間のアクセスではアドレス変換は行われず、TL
B201は動作しない。またデータバッファ202はア
ドレス範囲がH″FFFFEOOO〜11’ FFFF
FFFFであるランダムアクセスメモリ(RAM) と
して動作する。
リード動作時には、AAババス24から入力されたアド
レスに従ってデータバッファ202の内容が読出され、
DDババス25を通して整数演算部】17または浮動小
数点演算部118へ出力される。また、ライト動作時に
は、Δ^ハス124から人力されたアドレスに従ってD
Dババス25を通してデータ人出力回路207に入力さ
れたデータがデータバッファ2028 に書込まれる。
アドレス範囲がII’FFPFEOOO〜H’ FFF
FFFFF以外である領域の制御空間に対するアクセス
は、本発明のデータ処理装置100の外部に対して行わ
れる。
制御空間のアクセスをデータバッファ202に対して行
うか又は外部に対して行うかは、制御空間アドレスの上
位20ビツトに従ってオペランドアクセス部120内で
判断される。この判断は、論理アドレス比較器203で
TLB201側の20ビツトを総て“1″にし、その値
とAAババス24から入力されたアドレスの上位の20
ビツト内のの最下位ビットをdon’tcareにした
19ビツト分とを比較することにより行(7)「外部ア
クセス動作」 (7,1)  r入出力信号線」 第7図は本発明のデータ処理装置100の入出力信号を
示す模式図である。
本発明のデータ処理装置100は、電源Vccと接地G
ND、  64本のデータピンと32本のアトルスピン
と32本の命令ピン及び入力クロックCLKの他に種々
の制御信号を入出力する。
命令アクセスの場合もデータアクセスの場合も、アドレ
スピンへは物理アドレスが出力される。
CLKは外部入力クロックであり、本発明のデータ処理
装置100の動作クロックと同一周波数のクロックであ
る。
データアドレスストローブDASI (lは負論理を表
す)はアドレスピンに出力されたデータアドレスが有効
であることを示す。
リードライトR/Wlはデータピンでのバスサイクルが
入力であるか出力であるかを区別する。
データストローブDS#は本発明のデータ処理装置10
0がデータ入力準備を完了したことまたは木発明のデー
タ処理装置100からデータが出力されたことを示す。
DCIIは本発明のデータ処理装置100にデータアク
セスサイクルを終了してもよいことを通知する信号であ
る。
BAT(O二2)は第28図に示す様に、アドレスピン
とデータピンとの値の意味を示す。
命令アドレスストローブIAS叫まアドレスピンに出力
された命令アドレスが有効であることを示す。
命令ストローブ■S#は本発明のデータ処理装置100
が命令入力準備を完了したことを示す。
ICIは本発明のデータ処理装置100に命令アクセス
勺イクルを終了してもよいことを通知する信号である。
ホールドリクエストHREQ#は本発明のデータ処理装
置100にバス権を要求する信号であり、HACKII
は本発明のデータ処理語2100がホールトリクニス)
 HREQIを受付けてバス権を他のデバイスに渡した
ことを示す信号である。
IREQ(0:2)は外部割込み要求信号である。
IACKtlは本発明のデータ処理語W100が外部割
込みを受付け、割込みベクトルアクセスサイクルを行っ
ていることを示す信号である。
また、WDビンは本発明のデータ処理装置のデータバス
を64ビツト総て有効にするか、または32ビツトのみ
を有効にするかをシステムリセット時に設定するために
使用されるピンである。
なお、第6図にはデータバスを64ビツト総て有効にし
た場合の例が示されているが、本発明のデータ処理装置
ではデータバスを32ビツトのみ有効にして動作させる
ことにより、低コストのシステムを構成することが可能
なようになっている。
(7,2)「外部デバイスのアクセス」本発明のデータ
処理装置100を用いた第6図に示したシステムの例で
は、本発明のデータ処理装置100とデータキャッシュ
107.108とがデータピンに接続するデータバス1
02.  アドレスピンに接続するアドレスバス101
の他、IIAT(0:2)、 DASII。
R/Wll、 DSI、 DCIIでも接続されている
本発明のデータ処理装置100と命令キヤ・ノシュ9 11とは命令ピンに接続する命令バス103.  アド
レスバス101の他、BAT(0:2)、 IASII
、 TSII、 ICIでも接続されている。
C1,にはシステム全体に供給されシステムの基本タイ
ミングを決定するクロックである。
標準アクセスモードでのバスアクセスに際しては、デー
タバス102を用いたデータアクセスと命令バス103
を用いた命令アクセスとをそれぞれ十分高速な外部のメ
モリに対して外部入力クロックCLKの2サイクルに1
度の速度で行う。
クワッドアクセスモードでのバスアクセスに際しては、
データバス102を用いたデータアクセスと命令ハス1
03を用いた命令アクセスとをそれぞれ十分高速な外部
のメモリに対して外部人カクロフクCLKの5サイクル
に4度の速度で行う。
アドレスバス101はデータキャッシュ107 108
のアクセスと命令キャッシュ106のアクセスとの両方
に利用される。
(8)「各種制御レジスタ」 (8,1)  rプロセッサ状態語PShの構成」第3
6図は本発明のデータ処理装置100の整数演算部11
7にあるプロセッサ状態語(PSW)の構成を示す模式
図である。
第36図において、5Mビット20はリング0で割込み
処理用スタックポインタを使用中であるかりフグ0用ス
タックポイりタを使用中であるかを示す。
RNGフィールド21はプログラムが実行されているリ
ング番号を示す。
ATフィールド22はアドレス変換とメモリ保護とのモ
ードを示す。
FBビフト23は浮動小数点演算トラップの起動モード
を示す。
DBビット24はデバッグ環境を示す。DB・1であれ
ばデバッグサポート機構がオンで、デバッグ条件が成立
すればセルフデバッグトラップが起動される。DBJで
あればデバッグサポート機構がオフで、デバッグ条件が
成立してもセルフデバッグトラップは起動されない。
IMASKフィールド25は外部割込みのマスクレヘル
を示す。IMASKフィールド25で示されたマスクレ
ヘルより優先度の高い外部割込みが本発明のデータ処理
装置100に入力されると割込み処理が起動される。
PRNGフィールド26は現在のリングを呼出したリン
グのリング番号を示す。
FLAGフィールド27は整数演算に関するフラグを示
す。
PSWはリセット時にはオールゼロにクリアされる。ま
た、PSWばLDC命令とSTC命令とでその内容を読
出ずこと及び指定した内容を書込むことがそれぞれ可能
である。
(8,2)  rバッファメモリ制御レジスタ」第3図
は本発明のデータ処理装置100の内蔵データバッファ
202及び内蔵命令バッファの制御を行うバッファメモ
リ制御レジスタの構成を示す模式図である。
第3図において、肺フィールド3は内蔵データバッファ
202の制御を行うフィールドであり、以下に示す意味
を有する。
DM=OO:データバッファを動作させない。
5 DM・01−データバッファをアドレスがH’FFFF
EOOO〜11″FFFFFFFFである制御空間のメ
モリとして動作さセる。
DM−10:データバッファをライ]・スルー制御のデ
ータキャッシュとして動作 させる。
DM・Iに未定義。
RPフィールド1はデータハ・7フア202がデータキ
ャッシュとして動作する際の制御を行うフィルドであり
、以下に示す意味を有する。
RP=OO:データキャンシュをフリーズ状態にする。
R1’=01 :未定義。
RP=10 :データキャッシュをラインサイズ16ハ
イトで動作させる。
RP=11 :データキャンシュをラインサイズ32バ
イトで動作させる。
1Mフィールド4は内蔵命令バッファの制御を行うフィ
ールドであり、以下に示す意味を有する。
IM=OO:命令バッファを動作させない。
6 1M=01 +命令バッファを命令キューが空のときフ
ェフチした命令を選択的に 登録するセレクティブキャソシュ として動作させる。
■・10:未定義。
rM=11 :命令バッファをラインサイズ16ハイト
の命令キャッシュとして動作 させる。
LENフィールド2は命令バッファをセレクティブキャ
ノシュとして動作させた際の命令の登録条件を制御する
フィールドであり、以下に示す意味を有する。
LEN=000 :命令の登録は行わず命令キャンシュ
をフリーズする。
LEN・001:命令キューが空になってから連続して
1ライン入換える。
LEN=010 :命令キューが空になってから連続し
て2ライン人換える。
LEN・011〜111:未定義。
(8,3)  Iバージ指定レジスタ」第29図は本発
明のデータ処理装置1.00の内蔵データバッファ20
2及び内蔵命令バッファのパージ動作を制御するパージ
指定レジスフの構成を示す模式図である。
図中、DS5,0116.IS7.IO2の各ビットは
内蔵データバッファ202のパージ動作を制御するため
のビットであり、これらの各ビットに”1”を書込むと
それぞれのビットに対応するバッファメモリの内容がパ
ージされる。また、これらの各ビットに”0″を書込む
とそれぞれのビットに対応するバッファメモリの内容は
パージされない。更に、このレジスタの値が読出された
場合には全ビットがゼロになる。
n5=o  :負の物理アドレスのデータバッファエン
トリをパージしない。
DS=1  :負の物理アドレスのデータバッファエン
トリをパージする。
nu=o  :正の物理アドレスのデータバッファエン
トリをパージしない。
DU=1;正の物理アドレスのデータハノフアニントリ
をパージする。
Is・0 :負の物理アドレスの命令キャッシュエント
リをパージしない。
l5=1  :負の物理アドレスの命令キャソシュエン
トりをパージする。
IU=O:正の物理アドレスの命令キャンシュエントリ
をパージしない。
1[1=1  :正の物理アドレスの命令キャッシュエ
ントリをパージする。
(9)「本発明のデータ処理装置の例外処理機能」(9
,1)  r本発明のデータ処理装置で検出されるBI
Tの種類」 本発明のデータ処理装置100で発生ずるETTには、
命令に依存しないBITとして、アクセスした論理アド
レスに対応するデータ及び命令が主メモリ109上にな
くページフォールトが発生した場合に検出されるページ
不在例外、論理アドレスを物理アドレスに変換中に発生
ずるエラー、メモリ保護違反及びI10領域に関する不
当なアクセスが生した場合に発生ずるアドレス変換例外
、命令また9 はオペランドアクセスにおいて一定時間以内にハスから
の応答がなくメモリアクセスが実行されなかった場合に
発生ずるバスアクセス例外がある。
また、命令に依存して発生するBITとして、ジャンプ
命令のジャンプ先アドレスが奇数であった場合に発生ず
る奇数アドレスジャンプ1−ランプ。
割当てられていない命令及びアドレッシングモードのビ
ットパターンを実行しようとした場合に発生ずる予約命
令例外、整数演算で0除算を行なった場合に発生するゼ
ロ除算トラップ、浮動小数点命令を実行した際にマスク
されていない例外を検出した場合に発生する浮動小数点
演算トラップ。
TRAPA命令により発生ずる無条件トラップ、 TR
AP/cc命令により発生する条件トラップがある。
(9,2)  r[+IT処理ハンドラを起動する際の
動作j本発明のデータ処理装置100ではBITを検出
すると、以下の手順に従うマイクロプログラムが実行さ
れ、BIT処理ハンドラが起動される。
まず、検出したBITに応したベクトル番号が本発明の
データ処理装置100内部で生成される。
0 次に、メモリ空間上にあり、それぞれのBITに対する
処理ハンドラの先頭アドレスとBITのベクトルとがベ
アにして記憶されているETTベクトルテーブルがアク
セスされる。
E■Tベクトルテーブルの各エントリは8バイトで構成
されており、[T処理ハンドラに処理が移る前に本発明
のデータ処理装置100のプロセッサステータスワード
(PSW)を更新するためのデータが含まれている。
次に、BIT処理ハンドラから復帰した後に元の命令列
に戻るための戻り先命令のpc値であるNEXTPC,
BITを起動する前のpsw、  及び検出したETT
の番号等の検出したBITに関する各種の情報であるI
!ITINFがスタックに退避される。
更に必要であれば、EJTを検出した命令のpc値等の
情報もスタックに退避される。
これらの処理にまり生成されるスタックフレームはBI
Tの種類に依存しており、5種類のフォーマットに分か
れる。
次に、読込まれたBITベクトルテーブルエントリに基
づいてPS−が更新される。この際、PSWにrese
rvedの値がセントされようとするとシステムエラー
となる。このPSWの更新により、メモリ保護情報とな
るリング番号の更新、アドレス変換の有無の切換え、デ
バッグ環境の切換え1割込みマスクレベルの切換え、浮
動小数点演算トラップ受付モードの切換えを行うこと可
能になる。
次に、ETTテーブルのエントリからフェッチされたp
c値へのジャンプが行われ、BIT処理ハンドラが起動
する。多重にBITが検出されており、未処理のBIT
が抑止されていない場合はBIT処理ハンドラの先頭命
令を実行する以前にその未処理のBITに対するBIT
処理ハンドラを起動するための処理が行われる。
(9,3)  r HIT処理ハンドラから元の命令列
への復帰動作」 BIT処理ハンドラによる各EITに対応する処理が終
了した後、BIT処理ハンドラで最後に実行されるRE
TT命令では以下のような処理を行うマイクロプログラ
ムが実行されて元の命令列に復帰する処理を行う。
まず、スタ、りからBITが検出された時点のPSW値
とBITINFとが読込まれる。続いてスタックから戻
光命令の論理アドレスが読込まれる。
更に、BITINF中のツメ−マント情報により追加情
報の有無が判定され、追加情報があればスタックからそ
れが読込まれる。追加情報は前述の如く5つのフォーマ
ットに依存してそれぞれ異なる。
次に、スタックから読込まれたEITが検出された時点
のpsw (!に従ってPS−の全フィールドがUXI
T発生前の値に復帰される。
BITを発生したストアバッファによるライトサイクル
の再実行をREIT命令の実行中に行なう場合がある。
次に、スタックから読込まれた戻り先命令の論理アドレ
スへのジャンプが実行され、元の命令列3 (10) rデータバッファの詳細動作」(10,1)
データバッファの構成 第8図はデータバッファ202と物理アドレス比較器2
04との一構成例を示すブロック図である。
データバッファ202のタグアドレス部とデータ部とか
らなるメモリアレイ部はWブロック230. Xブロッ
ク231. ’lブロック232. Zブロック233
の4ブロツクにて構成されている。なお、各ブロック2
30 231 232 233には20ビットのタグア
ドレスと16バイトのデータとで一組に構成されるエン
トりが128個ずつある。
データはWD234. XD235. Y[]236.
 ZD237の4つのデータ入出力レジスタを介して入
出力される。
タグアドレスはWC23B、 XC239,YC240
,ZC241(7)4つのアドレス比較器へ出力される
TAレジスタ242はTLB201又はアドレス入出力
回路246からデータバッファ202へ入力されるアド
レスを保持し、上位20ビツトが4つのアドレス比較器
238.239.240.241へ出力され、下位の5
ビツト目から13ビット目の9ビツトがメモリアレイ4 部へ出力される。また、IAレジスタ242の下位から
12ビツト目及び下位5ピントがマルチプレクサ制御回
路244へ出力される。
マルチプレクサ243は、4つのデータ入出力レジスタ
234.235.236.237とデータ人出力回路2
07とのインターフェイスとなる8バイトのIODバッ
ファ245に接続されている。マルチプレクサ制御回路
244は4つのアドレス比較器238.239.240
241 とIAレジスタ242との内容に従ってマルチ
プレクサ243をI1口卸する。
(10,2) rデータキャッシュとしての動作」バッ
ファメモリ制御レジスタの叶フィールド3を“10″と
し、RPフィールド1を”10”とするとデータバッフ
ァ202は容量が8 kB、  ラインサイズが16バ
イトで4ウエイセツトアソシアテイブのデータキャッシ
ュとして動作する。また、メモリアレイの4つのブロッ
ク230.23L 232.233はそれぞれ1つのコ
ンパートメントとして動作する。
この場合、リードアクセスではIAレジスタ242に入
力されたアドレスの5ビツト目から11ピント目の7ビ
ツトで各コンパートメントのエントりが選択され、4つ
のタグアドレスが4つのアドレス比較器238.239
.240.241にそれぞれ出力され、4つのバイトデ
ータが4つのデータ入出力レジスタ234.235.2
36.237にそれぞれ読出される。
4つのアドレス比較器238.239.240.241
では4つのタグアドレスがTAレジスク242の」二値
20ビットのアドレスとそれぞれ比較される。IAレジ
スタ242の下位4ビツトのアドレスと比較結果とに従
って、一致したコンパートメントの出力データから必要
なデータがマルチプレクサ243により選択されてIO
Dバッファ245に読出される。
ライトアクセスでは、ヒソトシたコンパートメントに同
様な動作で■ODバッファ245からマルチプレクサ2
43とデータ入出力レジスタ234.235236、2
67とを通してデータが書込まれる。
データキャッシュがミスした場合は、4バイトウ4回の
クワッドアクセスモードで外部のメモリがアクセスされ
、4つのコンパートメントの内の対応する1つのエント
リが書換えられる。このため、RPI−“10″の16
バイトラインサイズモードでは、データバス102を3
2ビツトで使用するシステムで有効に動作する。
バッファメモリ制御レジスタの[1Mフィールド3を“
10”とし、RPフィールド1を“11”とすると、デ
ータバッファ202は容量が8kB、  ラインサイズ
が32バイトで2ウエイ七)1−アソシアティブのデー
タキャッシュとして動作する。この場合、メモリアレイ
はWブロック230とXブロック23] とが組合わさ
って1つのコンパートメントとして動作し、またYブロ
ック232とXブロック233とが組合わさって1つの
コンパートメントとして動作する。
Wブロック230とXブロック231との同一エントリ
のタグアドレス部には同一の値が記憶され、同一エント
リのデータ部には32バイトのデータが16バイトずつ
記憶される。同様に、Yブロック232とXブロック2
33との同一エントリのタグアドレス部には同一の値が
記憶され、同一エントリのデータ部には32バイトのデ
ータが16ハイトずつ記憶される。
7 この場合、リードアクセスではIAレジスタ242に入
力されたアドレスの6ビツト目から12ビツト目の7ビ
ソトで各コンパートメントのエントリが選択され、4つ
のタグデータが4つのアドレス比較器238.239.
240.241にそれぞれ出力され、4つの16ハイト
データが4つのデータ入出力レジスタ234.235.
236.237にそれぞれ読出される。
4つのアドレス比較器238.239.240.241
では4つのタグアドレスがIAレジスタ242の上位2
0ビツトのアドレスとそれぞれ比較される。+4レジス
タ242の下位5ビツトのアドレスと比較結果とに従っ
て、一致したコンバートメントとなる2つのブロックの
出力データである32ハイドから必要なデータがマルチ
プレクサ243により選択され、100バツフア245
に読出される。
ライトアクセスでは、ヒノトシたコンバートメンI・に
同様な動作でIODバッファ245からマルチプレクサ
243とデータ入出力レジスタ234.235236、
267とを通してデータが書込まれる。
データキャッシュがξスしたときは8ハイド×4回のク
ワッドアクセスモードで外部のメモリがアクセスされ、
2つのコンパートメントの内の対応する1つのエンI・
りが書換えられる。このため、RP1=”11″の際の
32バイトラインサイズモードでは、データバス102
の64ピツ1へで使用するシステムで有効に動作する。
(10,3) r制御空間メモリとしての動作」バッフ
ァメモリ制御レジスタの聞フィールド3を”01”とす
るとRPフィールドIの値には拘わらずに、データバッ
ファ202はアドレスがH’ FFPFEOOO〜II
’FFFFFFFFである容1i8kBの制御空間メモ
リとして動作する。
この場合、メモリアレイのタグアドレス部は使用されず
、データ部のみが使用される。
データバッファは4つのブロック230.231,23
2゜233が全体で256エントリ×32バイトのメモ
リアレイとして動作し、TAレジスタ242で指定され
た制御空間アドレスの6ビノト目から13ビツト目でエ
ントリが指定され、メモリアレイがアクセスされる。
リード動作では、読出された32バイトのデータの内の
必要なハイドがIAレジスタ242の下位5ビツトのア
ドレスに従ってマルチプレクサで選ばれ、IODバッフ
ァ245に入力される。
ライト動作では、IODバッファ245に保持された8
バイトのデータの内の必要なバイトがマルチプレクサで
対応するデータ入出力レジスタ234,235236、
237に転送され、メモリアレイの対応する場所に書込
まれる。
(11) rコンテキストスイッチ動作の詳細」本発明
のデータ処理装置100では第30図に示すコンテキス
トブロック情報をコンテキストスイッチング命令である
LDCTX命令と5TCTX命令とで操作する場合、8
バイト単位でデータを処理し、高速にコンテキストスイ
ッチングを行う。
(11,1)整数演算部の詳細構成 第2図はコンテキストスイッチング動作に関係する整数
演算部117の構成例の詳細を、オペランドアドレス計
算部115.  浮動小数点演算部118オペランドア
クセス部120と共に示すブロック図である。
SAレジスタ210はオペランドアドレス計算部115
から整数演算部117に出力されるオペランドアドレス
及び即値を保持するレジスタである。
AAレジスタ211は整数演算部117からオペランド
アクセス部120にアドレスを出力するためのレジスタ
であり、保持内容に対するI、 2.4.8のインクリ
メント・デクリメント機能を有する。
汎用レジスタファイル213と専用レジスタ・作業用レ
ジスタファイルとは整数演算部117内の各種のデータ
を保持し、演算回路214及び補助ALU212とそれ
ぞれ3木の4バイトのバスで結合されており、2つのレ
ジスフ上のオペランドに関する加算、比較等の演算が演
算回路214または補助ALU212で行える。
DDレジスク213は整数演算部117とオペランドア
クセス部120とがデータを入出力するためのインタフ
ェイスレジスタであり、8ハイドのDDババス23でオ
ペランドアクセス部120と結合されている。
1 FFレジスク217は整数演算部117と浮動小数点演
算部11Bとのインクフェイスレジスタである。
(11,2) rコンテキストのロード動作」コンテキ
ストロード動作の一例として、C3Wレジスタに格納さ
れるべきデータのFRビ・ノド13とRGビット14と
が共に′1”であるコンテキストブロックに対してLD
CTX/C5命令を実行した場合の動作を説明する。こ
の場合、コンテキストブロックはアドレスがH’ FF
FFFOOOである制御空間におかれているとする。ま
た、LDCTχ/C5命令はXビ・ノド15が1”であ
るLDCTX命令である。
まず、CTXBADHフィールドで指定されたアドレッ
シングモードに従ってオペランドアドレス計算部115
で計算されてSAレジスタ240に転送されたコンテキ
ストブロックの先頭アドレスII’ FFFFFOOO
がS1バス221 とAAレジスタ211 とを通して
AAハスに出力されると共に、S1バス22J、  演
算回路215及び旧バス225を通して専用レジスタ・
作業用レジスタファイル214中にあるCTXBBレジ
スタに格納される。
2 AAレジスク211ば内容を出力後、その値を8インク
リメントする。
オペランドアクセス部120ではデータバッファ202
がアクセスされ、コンテキストブロックの先頭の8バイ
トがDDババス23を通してDDレジスタに転送される
次に、DDレジスタ216に格納された8バイトのデー
タの内の上位4バイトが32バス222.  演算回路
215.  DIババス25を通して専用レジスタ・作
業用レジスタファイル214中にあるC3−レジスタに
格納される。この際、演算回路215はPRピント13
とRGビフ目4との内容をチエツクし、第1マイクロR
OM部113へその結果を伝えてマイクロプログラムで
のコンテキストブロックフォーマットの判断に使用する
また同時に、DIllレジスタ216に格納された8バ
イトのデータの内の下位4バイトがS1バス221.補
助^Lυ212. D3バス226を通して汎用レジス
フファイル213中にあるSPOレジスタに格納される
。更に、同しく同時にAAレジスタ211はII ’ 
FFFFFOO8をAAババス22を通じてオペランド
アクセス部120に転送し、データバッファ202から
コンテキストブロックの2番目の8バイトをDDレジス
タ216へ読出す。
静レジスタ211は値を出力した後、内容を8インクリ
メントする。
次に、DDレジスタ216に格納された8バイトのデー
タの内の上位4バイトがS2バス222.  /3ii
算回路215.  DIババス25を通じて汎用レジス
タファイル213中にあるSPルジスクに格納される。
この際、同時にDDレジスタ216に格納された8バイ
トのデータの内の下位4バイトが81バス221.  
補助ALU212. D3バス226を通して汎用レジ
スフファイル213中にあるSP2レジスタに格納され
る。また同時に、AAレジスタ211はアドレスII’
 FFFFFOIOをAAババス22を通してオペラン
ドアクセス部120に転送し、データバッファ202か
らコンテキストブロックの3番目の8バイトをDDレジ
スタ216へ読出す。
AAレジスタ211は値を出力した後、内容を8イツク
リメントする。
同様の動作が反復され、csy、 spo〜3. υA
TBRO〜14の各レジスタに値がロードされる。この
際、SF3とUATB、 R1と112. R3とR4
,R5と176、 R7とR8R9とRIOR11とR
121113とR14とのそれぞれに口Dレジスタ21
6の上位4バイトと下位4バイトとが一度にロードされ
る。レジスタROにD3バス226から値がロードされ
る際は対応する」三位4バイトのロードは行われない。
FR0−FR]5の各レジスタについてはオペランドア
クセス部120から浮動小数点演算部118に転送され
た8バイトのデータが浮動小数点演算部118で各浮動
小数点レジスタに格納される。但し、アドレスは整数演
算部117のAAレジスク211から出力される。
オペランドアクセス部120から転送された8バイトの
データがFR15レジスタに格納される際には、AAレ
ジスク211からはアドレスは出力されず、デクバッフ
ァ202のアクセスは行われない。
データバッファ202ではなく、外部のメモリからコン
テキストがロードされる際は、オペランドアクセス部1
20が外部のメモリをアクセスするため、データバッフ
ァ202からコンテキストをロドする場合に比してより
多くのクロックサイクルを必要とする。
(11,3) rコンテキストのストア動作」コンテキ
スI−ストア動作の一例としてC3WレジスタのFRピ
ノ143とRGI4ビットとが共に1”である場合に5
TCTX/CS命令を実行した際の動作を説明する。な
おこの場合、CTXBBレジスクの内容は11FFFF
FOOOとする。また、5TCTX/C5命令はXピノ
I・15が”1パであるLDCTX命令である。
まず、CTXBBレジスタに保持されているコンテキス
トブロックの先頭アドレスH’FFFF1iOOOがS
3バス213を通して^Aレジスタ211に転送される
と共に、C3Wレジスタの内容が31ハス221を通し
てDDレジスタ216の上位4バイトに転送され、5i
loレジスタの内容が32ハス222を通してDDレジ
スタ216の下位4バイトに転送される。また同時にC
3Wレジスタの内容が31ハス221から演算回路21
5にも入力され、演算回路215はFRビット13とR
Gビット14との内容をチエツクして第1マイクロRO
M部113へその結果を伝え、マイクロプログラムでの
コンテキストブロックフォーマントの判断に使用する。
次に、AAレジスク211からアドレスH’ FFFF
FOOOがAAババス22を通してオペランドアクセス
部120に転送され、DDレジスタ216からはコンテ
キストブロックの先頭の8バイトデータとなるC3Wレ
ジスタ値とSPOレジスタ値とがDDババス23を通し
てオペランドアクセス部120へ転送され、データバッ
ファ202に格納される。
AAレジスタ211は値を出力した後、内容を8インク
リメントする。この際、コンテキストブロックの2番目
の8ハイド情報の上位4バイトとなるSPIレジスタの
内容が31バス221を通して汎用レジスタファイル2
13からDDレジスタ216の上位に転送され、下位4
バイトとなるSP2レジスタの内容が32ハス222.
を通して汎用レジスフファイル213からDDレジスタ
216の下位に転送される。
次に、AAレジスタ211 からアドレスII’FFF
FFOO8がAAババス22を通してオペランドアクセ
ス部120に転送され、DDレジスタ216からはコン
テキス1−フ゛ロンクの2番目の8バイトデータとなる
Sl’lレジスタ値とSP2レジスタ値とがOOハス1
23を通してオペランドアクセス部120へ転送され、
データバッファ202に格納される。
AΔレジスタ211は値を出力した後、内容を8インク
リメントする。この際、コンテキス1−ブロックの3番
目の8バイト情報の上位4バイトとなるSP3レジスタ
の内容が31ハス221を通じて汎用レジスタファイル
213から00レジスタ216の」1位に転送され、下
位4バイトとなるUATBレジスタの内容が32バス2
22を通して専用レジスタ・作業用レジスタファイル2
14からDDレジスタ216の下位に転送される。
同様の動作が反復され、CS匈、 spo〜3.  I
IATBRO〜14の各レジスタの値がデータバッファ
202にストアされる。この際、SF3とUATB、 
R1とR2,R3とR4,R5とI?5. I?7とR
8,1+9とI?I0.110と1112 1113と
RI4の(直がそれぞれからDDレジスタ2+6の」二
位4バイトと下位4バイトとに一度に値が転送される。
ROレジスタの値がDDレジスタ216に転送される際
は対応する上位4バイトの転送は行われない。
また、ROレジスクの値がDDレジスタ216からオペ
ランドアクセス部120に転送される際、対応する上位
4バイトはゼロが転送される。
FRO〜FR15の各レジスタについては、浮動小数点
演算部11Bの各浮動小数点レジスタから読出された値
がオペランドアクセス部120へ転送される。
但し、アドレスは整数演算部117のへ^レジスタ21
1から出力される。
データバッファ202ではなく、外部のメモリへコンテ
キストをストアする場合は、オペランドアクセス部12
0が外部のメモリをアクセスするため、データバッファ
202ヘコンテキストをストアする場合に比してより多
くのクロンクサイクルを必要とする。
(12) r本発明の他の実施例」 上記実施例ではモード切換えによりデータバノ9 ファをコンテキストブロックを保持する制御空間となる
ランダムアクセスメモリまたはデータキャッシュのいず
れかとして動作させる例を述べたが、同様の方法でモー
ド切換えにより1つのバッファメモリをコンテキストブ
ロックを保持する制御空間となるランダムアクセスメモ
リまたは命令キャッシュのいずれかとして動作させる構
成を採ってもよい。
また、バッファメモリがランダムアクセスメモリとして
動作する際はコンテキストブロックを保持する制御空間
として動作するのではなく、論理メモリ空間の一部とし
て動作させるII域を採って 00 なお上記実施例では、オペランドアクセス部−アドレス
を出力するアドレスレジスタと、オペランドアクセス部
との間でデータを人出力する汎用レジスタの2倍のバイ
ト幅のデータレジスタとを備え、レジスタファイルとデ
ータレジスタ間は複数のバスからなり2つのデータを同
時に転送する転送経路を有し、2つ以上のレジスタにメ
モリからデータをロードする命令であるLDCTX命令
を実行する場合、命令実行制御部の制御により、オペラ
ンドアクセス部から2つのレジスタにロードすべき2つ
のデータが連結されたデータがデータレジスタへ転送さ
れ、データレジスタの上位4バイトと下位4バイトとが
2つ転送経路をそれぞれ通して2つのレジスタに同時に
転送されるように構成されている。このため、データが
1つずつ転送される場合に比して2倍の転送速度でレジ
スタの内容をメモリへ転送することが可能になるので、
コンテキストのロード行うLDCTX命令の実行が高速
化されてクスクスイソチングに要する時間が短縮される
また、2つ以上のレジスタからメモリへデータをストア
する命令である5TCTX命令を実行する場合、命令実
行制御部の制御により、2つのレジスタの内容が2つの
転送経路からデータレジスタの上位4バイトと下位4バ
イトとに同時に転送され、データレジスタで2つのデー
タが連結され、この連結されたデータがオペランドアク
セス部へ1つのメモリアクセスとして転送されるように
構成されている。これにより、データが1つずつ転送さ
れる場合に比して2倍の転送速度でレジスタの内容を転
送することが可能になるので、コンテキストのストア行
う5TCTX命令の実行が高速化されてクスクスイソチ
ングに要する時間が短縮される。
更に、上述の実施例の如く、データバッファがデータ処
理装置本体と同一の集積回路上に内蔵されている構成を
採る場合は、データバッファに対するアクセス時間は集
積回路外のメモリに対するそれに比して特に短いため、
上述の効果が特に大きい。
[発明の効果] 以上に詳述した如く本発明のデータ処理装置は、命令を
デコードする命令デコード部と、命令デコード部の出力
に従って命令を実行する命令実行部と、データキャッシ
ュとしての動作モード又は制御空間用のメモリとしての
動作モードのいずれかに切換えられて動作するデータバ
ッファ (メモリ)と、データバッファの動作モードを
指定するバッファメモリ制御レジスタ(メモリ制御情報
保持手段)と、データバッファをアクセスするオペラン
ドアクセス部とを備え、バッファメモリ制御レジスタの
内蔵データバッファ制御フィールドでデータバッファを
データキャッシュとして動作させることを指定すると、
データバッファはライトスルー制御のデータキャッシュ
として動作するように構成されている。この場合、デー
タバッファは、命令実行部で実行すべき命令のオペラン
ドとなるデータを保持してキャッシングし、オペランド
アクセス部に出力されたアドレスとデータキャッシュ内
のタグアドレスが一敗することによりデータキャッシュ
がヒツトすればアクセスされたアドレ 03 スに対応するデータを出力する。
一方、バッファメモリ制御レジスタの内蔵データバッフ
ァ制御フィールドでデータバッファを制御空間のメモリ
として動作させることを指定すると、データバッファは
アドレスがたとえばH’ FFFF[000〜H’ F
FFFFFFFである制御空間領域のランダムアクセス
メモリとして動作するように構成されている。この場合
、データバッファは、オペランドアクセス部に出力され
た制御空間のアドレスがアドレス領域の範囲内であれば
そのアドレスに保持されているデータを出力する。
このため、本発明のデータ処理装置では、物理的には1
つのデータバッファがデータキャッシュとして動作する
ことも、特定アドレス領域のランダムアクセスメモリと
して動作することも可能なため、データバッファが効率
的に利用出来る。従って、コンテキストスイソヂング命
令等ではコンテキスト退避用のデータバッファの領域を
特に高速なメモリ領域として利用することが可能になり
、クスクスイノチング時間の最大値を小さくするこ04 とができる。
【図面の簡単な説明】
第1図は本発明のデータ処理装置のオペランドアクセス
部の一構成例を示すブロック図、第2図は本発明のデー
タ処理装置の整数演算部の部分的詳細構成を示すブロッ
ク図、 第3図は本発明のデータ処理装置のバッファメモリ制御
レジスタの構成を示す模式図、第4図は本発明のデータ
処理装置の全体の構成例を示すブロック図、 第5図は本発明のデータ処理装置のパイプライン処理ス
テージの説明のためのブロック図、第6図は本発明のデ
ータ処理装置を用いたデータ処理システムの構成例を示
すブロック図、第7図は本発明のデータ処理装置の入出
力信号ピンを示す模式図、 第8図は本発明のデータ処理装置のデータバッファの詳
細な構成例を示すブロック図、第9図乃至第13図は本
発明のデータ処理装置の命令のフォーマットを示す模式
図、 第14図乃至第27図は本発明のデータ処理装置の命令
中のアドレッシングモード指定部のフォーマントを示す
模式図、 第28図は本発明のデータ処理装置のBAT(O:2)
信号の意味を表す表を示す図、 第29図は本発明のデータ処理装置のバッファメモリの
パージ指定のためのパージ指定レジスタの構成を示す模
式図、 第30図は本発明のデータ処理装置のコンテキストブロ
ックのフォーマットの一例を示す模式図、第31図は本
発明のデータ処理装置のコンテキストブロックフォーマ
ットを指定するC3−レジスタの構成を示す模式図、 第32図は本発明のデータ処理装置のコンテキストロー
ド命令のビットパタンを示す模式図、第33図は本発明
のデータ処理装置のコンテキストストア命令のビットバ
タンを示す模式図、第34図は本発明のデータ処理装置
により実行中のコンテキストブロックの先頭アドレスを
保持するCTXBBレジスタの構成を示す模式図、第3
5図は本発明のデータ処理装置のユーザ用アドレス変換
テーブルの先頭アドレスを保持するためのUATBレジ
スタの構成を示す模式図、第36図は本発明のデータ処
理装置のPSW (プロセッサ状態後)の構成を示す模
式図である。 3・・・聞フィールド 112・・・命令デコード部 
117・・・整数演算部 118・・・浮動小数点演算
部 120・・・オペランドアクセス部 202・・・
データバッファなお、各図中同一符号は同−又は相当部
分を示す。

Claims (1)

    【特許請求の範囲】
  1. (1)命令をデコードする命令デコード部と、前記命令
    デコード部の出力に従って命令を 実行する命令実行部と、 第1のモード又は第2のモードで動作する メモリと、 前記メモリに前記第1のモード又は前記第 2のモードのいずれかの動作をさせる情報を保持するメ
    モリ制御情報保持手段と、 アドレスを出力して前記メモリをアクセス するメモリアクセス部と を備え、 前記メモリは、 前記メモリ制御情報保持手段が第1の値 を保持している場合は、前記メモリは第1 のモードにより前記命令デコード部がデコ ードすべき命令のコード又は前記命令実行 部が実行すべき命令のオペランドの少なく とも一方となるデータを保持するキヤッシ ュメモリとして動作し、前記メモリアクセ ス部が出力する第1のアドレスと前記メモ リが保持しているタグアドレスとが一致す る場合に前記第1のアドレスに対応するデ ータを出力し、 前記メモリ制御情報保持手段が第2の値 を保持している場合は、前記メモリは第2 のモードにより前記命令実行部が実行すべ き命令のオペランドとなるデータが保持さ れるメモリ空間の一部のアドレス領域とな るランダムアクセスメモリとして動作し、 前記メモリアクセス部が出力する第2のア ドレスが前記アドレス領域の範囲内である 場合に前記第2のアドレスに保持されたデ ータを出力すべくなしてある ことを特徴とするデータ処理装置。
JP1326253A 1989-12-16 1989-12-16 データ処理装置 Expired - Lifetime JP2696578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1326253A JP2696578B2 (ja) 1989-12-16 1989-12-16 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1326253A JP2696578B2 (ja) 1989-12-16 1989-12-16 データ処理装置

Publications (2)

Publication Number Publication Date
JPH03186935A true JPH03186935A (ja) 1991-08-14
JP2696578B2 JP2696578B2 (ja) 1998-01-14

Family

ID=18185706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1326253A Expired - Lifetime JP2696578B2 (ja) 1989-12-16 1989-12-16 データ処理装置

Country Status (1)

Country Link
JP (1) JP2696578B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124049A (ja) * 1987-11-09 1989-05-16 Mitsubishi Electric Corp マイクロプロセッサ
JPH01251273A (ja) * 1988-03-31 1989-10-06 Mitsubishi Electric Corp ベクトル処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01124049A (ja) * 1987-11-09 1989-05-16 Mitsubishi Electric Corp マイクロプロセッサ
JPH01251273A (ja) * 1988-03-31 1989-10-06 Mitsubishi Electric Corp ベクトル処理装置

Also Published As

Publication number Publication date
JP2696578B2 (ja) 1998-01-14

Similar Documents

Publication Publication Date Title
JP2616182B2 (ja) データ処理装置
EP0465321B1 (en) Ensuring data integrity in multiprocessor or pipelined processor system
US5568624A (en) Byte-compare operation for high-performance processor
US5410682A (en) In-register data manipulation for unaligned byte write using data shift in reduced instruction set processor
JPH03186928A (ja) データ処理装置
US5249286A (en) Selectively locking memory locations within a microprocessor's on-chip cache
EP0463978A2 (en) Granularity hint for translation buffer in high performance processor
EP0463973A2 (en) Branch prediction in high performance processor
JPH03185530A (ja) データ処理装置
US5469551A (en) Method and apparatus for eliminating branches using conditional move instructions
JP2847974B2 (ja) データ処理装置
JPH04260950A (ja) キャッシュメモリ装置
JP2581236B2 (ja) データ処理装置
KR100682635B1 (ko) 동일한 논리 공간을 점유하는 다중 레지스터 파일을 포함하는 마이크로프로세서
JP2669158B2 (ja) データ処理装置
JP3789583B2 (ja) データ処理装置
EP0459233A2 (en) Selectively locking memory locations within a microprocessor's on-chip cache
JP3345787B2 (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JPH04260929A (ja) データ処理装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
JP2504235B2 (ja) デ―タ処理装置
JP2646855B2 (ja) データ処理装置
JPH03186935A (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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070919

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080919

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090919

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090919

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100919

Year of fee payment: 13

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100919

Year of fee payment: 13