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
Links
- 230000015654 memory Effects 0.000 claims abstract description 163
- 239000000872 buffer Substances 0.000 abstract description 155
- 238000004364 calculation method Methods 0.000 description 80
- 238000010586 diagram Methods 0.000 description 53
- 238000000034 method Methods 0.000 description 34
- 230000008569 process Effects 0.000 description 21
- 238000006073 displacement reaction Methods 0.000 description 16
- 238000010926 purge Methods 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- GSDSWSVVBLHKDQ-UHFFFAOYSA-N 9-fluoro-3-methyl-10-(4-methylpiperazin-1-yl)-7-oxo-2,3-dihydro-7H-[1,4]oxazino[2,3,4-ij]quinoline-6-carboxylic acid Chemical compound FC1=CC(C(C(C(O)=O)=C2)=O)=C3N2C(C)COC3=C1N1CCN(C)CC1 GSDSWSVVBLHKDQ-UHFFFAOYSA-N 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 240000000662 Anethum graveolens Species 0.000 description 1
- 101100524550 Arabidopsis thaliana RGI4 gene Proteins 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 241001083492 Trapa Species 0.000 description 1
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000000078 claw Anatomy 0.000 description 1
- OOYGSFOGFJDDHP-KMCOLRRFSA-N kanamycin A sulfate Chemical group OS(O)(=O)=O.O[C@@H]1[C@@H](O)[C@H](O)[C@@H](CN)O[C@@H]1O[C@H]1[C@H](O)[C@@H](O[C@@H]2[C@@H]([C@@H](N)[C@H](O)[C@@H](CO)O2)O)[C@H](N)C[C@@H]1N OOYGSFOGFJDDHP-KMCOLRRFSA-N 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
め要約のデータは記録されません。
Description
クスイッチング用のメモリを内蔵することにより、タス
クスイッチングに要する時間を短縮し得るデータ処理装
置に関する。
モリの高速化が要求され、このためメモリシステムの実
現コストが増大するという問題が生している。この問題
を解決するための一手法として、データ処理装置と主メ
モリとの間に高速メモリであるキャッシュメモリを介在
させることによりデータ処理装置と主メモリとの速度差
を埋め合わせる技術が用いられている。
回路内に実現することにより高速なキャンシュメモリを
実現する提案も、たとえば特開昭63−193230号
公報に詳細に開示されている。
セス時間を短くするのみにては、タスクスイッチング等
のような特に高速動作が必要とされる際にヰヤ・ッシュ
ミスが発生ずる可能性もあり、結果的にタスクスイッチ
ングに要する時間の最大値を小さくすることはできない
。
ンテキスト退避用のメモリを通常のメモリ空間とは別に
定義しておき、そのコンテキスト退避用メモリ空間とし
て使用されるメモリを高速メモリでI威したり、あるい
はデータ処理装置と同し集積回路内に実現したりするこ
とにより、タスクスイッチングに要する時間を短縮する
提案もなされている。このような技術は例えば、特開昭
64−91253号公報に詳細に開示されている。
、キャッシュミスが発生した場名には高速なメモリアク
セスが実現できない。また、コンテキスト退避用に通常
のメモリ空間とは別のメモリ空間を定義しても、そのメ
モリ空間を構成するメモリが他のメモリよりも高速動作
可能でなければタスクスイッチングに要する時間を短縮
することは出来ない。
スに対して平均してアクセス時間を短縮するためのもの
であって、コンテキスト退避時などの特に高速のメモリ
アクセスが必要な場合に高速なメモリアクセスを確実に
保証することは出来ないという理由に起因している。
るが、高価であるため単一の機能のみではそのコストに
見合う有効な利用ができない。特に、キャッシュメモリ
をデータ処理装置と同一の集積回路に内蔵する場合には
、高価なキャッシュメモリの有効利用が望まれる。
されたものであり、命令をデコードする命令デコード部
と、命令デコード部の出力に従って命令を実行する命令
実行部と、データキャッシュとしての動作モード又は制
御空間用のメモリとしての動作モードのいずれかに切換
えられて動作するデータバッファ (メモリ)と、デー
タバッファの動作モードを指定するバッツァメモリ制御
しジスク(メモリ制御情報保持手段)と、データバッフ
ァをアクセスするオペランドアクセス部とを備えている
。
スクの内蔵データバッファ制御フィールドに所定の情報
をセットすると、データバッファはライトスルー制御の
データキャッシュとして動作する。この場合、データバ
ッファは、命令実行部が実行すべき命令のオペランドと
なるデータを保持してキャッシングし、オペランドアク
セス部から出力されたアドレスとデータキャッシュ内の
タグアドレスとが一致することによりデータキャッシュ
がヒントすると、アクセスされたアドレスに対応するデ
ータを出力する。
ファ制御フィールドに別の所定の情報をセントすると、
データバッファはアドレスがたとえばH’ FFFFE
OOO〜H’ FFFFFFFFである制御空間領域の
ランダムアクセスメモリとして動作する。この場合、デ
ータバッファは、オペランドアクセス部から出力された
制御空間のアドレスが上記アドレス領域の範囲内であれ
ばそのアドレスに保持された[発明の実施例] 以下、本発明をその実施例を示す図面を参照して詳述す
る。
成」 第6図に本発明のデータ処理装置を用いたシステムの構
成例を示す。
ヤンシユ106. データキャッシュ107及び10
8、 主メモリ109がアドレスバス101. デ
ータバス102. 命令バス103. メモリアド
レスバス104メモリデータバス105で結合されてい
る。
ら出力されるアドレスを命令キャッシュ106とデータ
キャッシュ107.108とに入力する。命令バス10
3は命令キャンシュ106から出力される命令コードを
本発明のデータ処理装置100に転送する。
出力されるデータをデータキャッシュ107.108に
転送したり、データキャッシュ107.108から出力
されるデータを本発明のデータ処理装置100に転送し
たりする。メモリアドレスバス104は命令キャッシュ
106またはデータキャッシュ107.108から出力
されるアドレスを主メモリ109に転送する。メモリデ
ータバス105は主メモリ109と命令キャッシュ10
6またはデータキャッシュ107.108間での命令ま
たはデータを転送する。
08が旦スした場合はそれぞれのキャッシュ106また
は107がメモリアドレスバス104とメモリデータバ
ス105とのバス権を調停して主メモリ109をアクセ
スする。
装置100の側では64ビツトのバスに結合するために
2つのチップが協調して動作する。各データの64ビア
)それぞれの内の上位32ビツトのデータをデータキャ
ッシュ107が、下位32ビツトのデータをデータキャ
ッシュ108が分担して受持つ。
理機構について最初に記述し、次に内蔵制御空間メモリ
を使用したタスクスイッチ処理の手法について説明する
。
本発明のデータ処理装置の命令は16ビツト単位で可変
長となっており、奇数バイト長の命令はない。
短いフォーマットとするため、特に工夫された命令フォ
ーマット体系を有する。例えば、2オペランド命令に対
して、基本的に“4バイト十拡張部”の構成を有して総
てのアドレッシングモードが利用可能な一船形フメーマ
ソトと、高頻度の命令及びアドレッシングモードのみを
使用可能な短縮形フォーマットとの2つのフォーマント
を有する。
令フォーマット中に現われる記号の意味は以下の通りで
ある。
ランドが指定される部分 5ho6ビツトの短縮形のアドレッシングモードでオペ
ランドが指定される部分 Rnニレジスタフアイル上のオペランドがレジスタ番号
で指定される部分 フォーマットは、第9図に示す如く、 側で且つ高いアドレスになっている。
令フォーマ・7トが判別できないようになっているが、
これは、命令が必ず16ビツト(ハーフワード)単位で
フェッチ及びデコードされることを前提としているから
である。
トの場合も、各オペランドのEaまたはshの拡張部は
必ずそのEaまたはshの基本部を含む■6ビツト (
ハーフワード)の直後に置かれる。これは、命令により
暗黙に指定される即値データ及び命令の拡張部に優先す
る。従って、4バイト以上の命令では、Eaの拡張部に
より命令のオペレーションコードが分断される場合があ
る。
部に更に拡張部が付加される場合にも、次の命令オペコ
ードよりもそちらの方が優先される。
ワードにEa2を含み、第3ハーフワードまである6ハ
イト命令の場合を考える。Ealに多段間接モードを使
用したために通常の拡張部の他に多段間接モードの拡張
部も付加されるものとする。
フワード(Ea 1の基本部・を含む)、Ealの拡張
部、Ealの多段間接モート拡張部、命令の第2ハーフ
ワード(Ea2の基本部を含む)、l1a2の拡張部、
命令の第3ハーフワードの順となる。
2オペランド命令の短縮形フォーマットを示す模式図で
ある。
なるL−formatとデスティネーションオペランド
側がメモリとなるS4ormatとがある。
定フィールド、Rnはデスティネーションオペランドの
レジスタの指定フィールド、RRはshのオペランドサ
イズの指定をそれぞれ表す。
サイズは32ビツトに固定されている。レジスタ側とメ
モリ側とのサイズが異なり、ソース側のサイズが小さい
場合に符号拡張が行なわれる。
ンドの指定フィールド、Rnはソースオペランドのレジ
スタ指定フィールド、RRはshのオペランドサイズの
指定をそれぞれ表す。
ビツトに固定されている。レジスタ側とメモリ側とのサ
イズが異なり、ソース側のサイズが大きい場合に、濡れ
た部分の切捨てとオーバーフローチエツクとが行われる
。
1オペランド命令の一船形フオーマツ) (Gl−fo
rmat)を示す模式図テアル。
にも拡張部を有する。また、聞を使用しない場合もある
。
2オペランド命令の一船形フオーマノドを示す模式図で
ある。
る一船形アドレッシングモードのオペランドが最大2つ
存在する命令である。オペランドの総数自体は3つ以上
になる場合がある。
ド、間はデスティネーションオペランドサイズの指定フ
ィールド、EaRはソースオペランド指定フィールド、
RRはソースオペランドサイズの指定フィールドをそれ
ぞれ示している。
拡張曲以外にも拡張部を有する。
模式図である。
ャンブ先との変位指定フィールドをそれぞれ示している
。
場合には、ビットパターンでの指定値を2倍して変位値
とする。
タ処理装置の命令のアドレッシングモード指定方法には
、レジスタを含めて6ビノトで指定する短縮形と、8ビ
ツトで指定する一般形とがある。
は意味的に考えて明らかに不合理なアドレッシングモー
ドの組合わせが指定された場合には、未定義命令を実行
した場合と同しく予約命令例外が発生され、例外処理が
起動される。
である場合、アドレス計算を伴うべきアドレシングモー
ド指定フィールドで即値モードが使用された場合等であ
る。
使用されている記号の意味は以下の通りである。
ードでの指定方法 (Ea): 8ビツトの一般形アドレッシングモード
での指定方法 フォーマントを示す模式図中で点線で囲まれた部分は拡
張部を示す。
明のデータ処理装置の命令では種々のアドレッシングモ
ードをサポートする。その内の本発明のデータ処理装置
でサポートする基本アドレ・。
モード、レジスタ相対間接モード、即値モード、絶対モ
ード、PC相対間接モード、スタックポツプモード及び
スタックブツシュモードがある。
ランドとする。フォーマットの模式図を第14図に示す
。図中、Rnは汎用レジスタまたはFT’Uレジスタの
番号を示す。
とするメモリの内容をオペランドとする。
汎用レジスタの番号を示す。
16ビ71・であるか32ビツトであるかにより2種類
に分かれる。それぞれ、汎用レジスタの内容に16ピン
トまたは32ビツトのディスプレースメント値を加えた
値をアドレスとするメモリの内容をオペランドとする。
汎用レジスタの番号を示す。disp:16とdisp
:32とは、それぞれ、16ビツトのディスプレースメ
ント値、32ビツトのディスプレースメント値を示す。
ンをそのまま2進数と見なしてオペランドとする。フォ
ーマットの模式図を第17図に示す。
オペランドサイズとして命令中で指定される。
2ビツトで示されるかにより2種類に分かれる。それぞ
れ命令コード中で指定される16ビソトまたは32ビツ
トのビットパタンをアドレスとしたメモリの内容をオペ
ランドとする。フォーマ・2トの模式図を第18図に示
す。図中、abs:16とabs:32とはそれぞれ1
6ビツト、32ビツトのアドレス値を示す。abs:1
6でアドレスが示される場合は指定されたアドレス値を
32ビツトに符号拡張する。
ビツトか32ビツトかにより2種類に分かれる。
32ビツトのディスプレースメント値を加えた値をアド
レスとするメモリの内容をオペランドとする。フォーマ
ントの模式図を第19図に示す。図中、disp :
16とdisp : 32とはそれぞれ16ビソトのデ
ィスプレースメント値、32ビットのディスプレースメ
ント値を示す。ディスプレースメント値は符号付きとし
て扱われる。PC相対間接モードにおいて参照されるプ
ログラムカウンタの値は、そのオペランドを含む命令の
先頭アドレスである。多段間接アドレッシングモードに
おいてプログラムカウンタの値が参照される場合にも、
同様に命令先頭のアドレスがPC相対の基準値として使
用される。
内容をアドレスとするメモリの内容をオペランドとする
。オペランドアクセス後、SPをオペランドサイズだけ
インクリメントする。例えば、32ビントデークを扱う
場合は、オペランドアクセス後にSPが+4だけ更新さ
れる。8,16,64ビツトのサイズのオペランドに対
するスクノクボソプモドの指定も可能であり、それぞれ
SPが村、 +2. +8だけ更新される。フォーマッ
トの模式図を第20図に示す。オペランドに対しスタッ
クポツプモードが意味を持たないものについては、予約
命令例外が発生される。予約命令例外となるのは具体的
には、writeオペランド及びread−modif
y−writeオペランドに対するスタックポツプモー
ド指定である。
イズだけデクリメントした内容をアドレスとするメモリ
の内容をオペランドとする。スタックブツシュモードで
はオペランドアクセス前にSPがデクリメントされる。
クセス前にSPが−4だけ更新される。8.16,64
ビツトのサイズのオペランドに対するスタックブツシュ
モードの指定も可能であり、それぞれSPが−1,−2
,−8だけ更新される。
に対してスタックブツシュモードが意味を持たないもの
に対しては、予約命令例外1が発生される予約命令例外
となるのは具体的には、readオペランド及びrea
d−+nodify−wri teオペランドに幻ずス
タックブツシュモード指定である。
複雑なアドレッシングも、基本的には加算と間接参照の
組み合わせに分解することができる。従って、加算と間
接参照のオペレーションとをアドレッシングのプリ砧テ
ィブとして与えておき、そ0 れを任意に組合わせることが出来れば、いかに複雑なア
トレンジングモートをも実現することが出来る。本発明
のデータ処理装置の命令の多段間接アドレッシングモー
ドはこのような考え方に立脚したアトレンジングモート
である。複雑なアドレッシングモードは、モジュール間
のデータ参照及びAI言語の処理系に特に有用である。
レッシングモード指定フィールドでは、レジスタヘース
多段間接モード、PCベース多段間接モード及び絶対ヘ
ース多段間接モードの3種類の指定方法の内のいずれか
1つを指定する。
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。フォマントの模式図を第22
図に示す。図中、Rnは汎用レジスタの番号を示す。
を拡張する多段間接アドレッシングのベース値とするア
ドレッシングモードである。フォーマ7)の模式図を第
23図に示す。
アドレッシングのベース値とするアトレンジングモート
である。フォーマツ1−の模式図を第24図に示す。
トを単位としており、これが任意回反復される。1段の
多段間接モードにより、ディスプレースメントの加算、
インデクスレジスクのスケーリング(XL X2.X
4.X8)と加算、メモリの間接参照が行われる。多段
間接モードのフォーマットの模式図を第25図に示す。
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・
値とし、これを加算する。
]0 dispxは32ピッ1〜xX:インデクスの
スケール(scale = 1/2/478) プログラムカウンタに幻してX2.X4.x3のスケー
リングを行なった場合には、その段の処理終了後の中間
値(tmp)として不定値が入る。
測できない値となるが、例外は発生しない。プログラム
カウンタに対するスゲ−リングの指定は行なってはいけ
ない。
ンを第26図及び第27図の模式図に示す。
リエーションを示す。第27図はディスブレースメント
のサイズのバリエーションを示す。
の中で段数による場合分けが不要になるので、コンパイ
ラの負担が軽減されるというメリットがある。多段の間
接参照の頻度が非常に少な4 いとしても、コンパイラとしては必ず正しいコードを発
生できなければならないからである。このため、フォー
マント上では任意の段数を可能としく3)「メモリ空間
とコンテキストスインチ」本発明のデータ処理装置10
0は、プログラム及びデータを格納するメモリ空間であ
る論理空間と各種のレジスタ及び一部の命令により操作
されるデータを格納するメモリ空間である制御空間との
2つのメモリ空間をサポートする。
ータ処理装置においてプログラム、データを格納するメ
モリ空間と同しである。
操作命令によりデータを書込むこと及び読出すことが可
能であり、各種のレジスタがバイトアドレスでマツプさ
れているレジスタ領域とデータを格納するためのデータ
領域とがある。なお、制御空間のデータ領域はコンテキ
スト操作命令でもアクセス可能である。
と制御空間とをサポートして制御空間にコンテキストを
保持する技術としては、たとえば特開昭64−9125
3号公報に詳細に開示されている。
」第30図は本発明のデータ処理装置のコンテキストス
イノヂング命令であるLDCTX命令と5TCTX命令
とで操作されるコンテキスl−ブロックのフメマノトを
示ず模式図である。
用レジスタ10.11等にて構成されており、先頭アド
レスは第34図の模式図にその構成を示すCTXBBレ
ジスタに保持される。
キストブロックのフォーマットは第31図の模式図にそ
の構成を示ずC3Wレジスクで指定される。
共に“1”である場合は、コンテキストブロックは第3
0図に示すフォーマットになる。
る場合は、第30図に示されている浮動小数点レジスタ
12はLDCTX命令と5TCTX命令とによる操作対
象とはならない。
場7 台は、第30図に示されている浮動小数点レジスタ12
、汎用レジスタ10.11がL D CT X命令と5
TCTX命令とによる操作対象とならない。この場合は
、CSWレジスタと4つのスタノクボインク5PI(S
I’0.5PISP2.5P3)及びアドレス変換テー
ブルベースを示ずUATBレジスタが操作対象となる。
ている。
命令のビンドパクンを第32図の模式図に示す。
16はロートすべきコンテキストブロックの先頭アドレ
スを8ビツトの一船形アドレッシングモードで指定する
フィールドである。
理空間又は制御空間のいずれにあるのかを示すビットで
ある。Xビット15が”0”である場合はコンテキスト
ブロックは論理空間にあり、Xビット15が”l”であ
る場合はコンテキストブロックは制御空間にあることを
それぞれ示す。
ールド16にて指定されるアドレスがCTXBBレジス
タにロードされ、Xビット15で指定される空間内のC
TXBADR16フイールドで指定されるアドレスにあ
り且つ先頭のCS−値で指定されるフォーマットの操作
対象コンテキストブロックが対応するレジスタにロード
される。
す。
をストアすべき空間を指定する。このSTCTX命令の
Xビット17が0”であればコンテキストブロックを論
理空間にストアすることが指定され、Xビット17が°
ドであればコンテキストブロックを制御空間にストアす
ることが指定される。ストアずべきメモリアドレスはC
TXRRレジスタで指定される。
される空間内OCTXBBレジスタで指定されるアドレ
スにCSWレジスタで指定されるフォーマットのコンテ
キストブロックに含まれるレジスタの内容が退避される
。
」 第4図は本発明のデータ処理装置の一構成例を示すブロ
ック図である。
と、命令人力部110, 命令フエノヂ部】11命令
デコ一ド部112, 第1マイクロROM部113第
2マイクロROM部114, オペランドアドレス計
算部115. PCC計算量116整数演算部117
, 浮動小数点演算部118, アドレス入出力部
119, オペランドアクセス部120, データ
人出力部121に分かれる。
、データ入出力部121をデータバス102に結合し、
命令人力部110を命令ハス103に結合することによ
り前述の第6図に示すシステム構成をとることができる
。
トごとに命令コードを本発明にデータ処理装置へ入力す
る。
レスに対して32ビツトの命令コードをアクセスする標
準アクセスモードと1つのアドレスに対して4回連続で
32ビットの命令コードをアクセスするクワソ1−アク
セスモードとがあり、いずれの場合も命令入力部〕10
は人力した命令コードを命令フェフヂ部111へ出力す
る。
換機構、内蔵命令キャッシュ、命令用TLB、命令キュ
ーとそれらの制御部がある。
c値を物理アドレスに変換し、内蔵命令キャッシュから
命令コードをフェッチし、命令デコド部1]2へ出力す
る。内蔵命令キャッシュがミスした場合には、アドレス
入出力部119へ物理アドレスを出力して外部への命令
アクセスを要求し、命令人力部110を通して入力され
た命令コードを内蔵命令キャッシュに登録する。
べき命令のpc値として専用のカウンタで計算される。
値がオペランI・アドレス馴算部1.+5. P(’
31算部116あるいは整数演算部117から転送され
てくる。
ス変換及び命令用T1.11更新も命令フエ・ッチ部1
11の内部の制御回路により行われる。
ある場合は、アドレス入出力部119を通して入力され
た物理アドレスがヒソ)・する内蔵命令キャッシュのエ
ンI・りを無効化する。
ード)単位に命令コートをデコードする。
、第2及び第3ハーフワードに含まれるオペレーション
コードをデコードするNFHWデコーダ、アドレッシン
グモードをデコードするアドレッシングモードデコーダ
が含まれる。
の出力を更にデコードしてマイクロROMのエントリア
ドレスを計算する第2デコーダ、条件分岐命令の分岐予
測を行う分岐予測機構、オペランドアドレス計算の際の
パイプラインコンフリクI・をチエツクするアドレス計
算コンフリクトチエツク機構も含まれる。
された命令コードを1クロツクにつき0〜6バイトデコ
ードする。デコード結果の内の、整数演算部1.17で
の演算に関する情報が第1マイクロROM部113へ、
浮動小数点演算部118での演算に関する情報が第2マ
イクロROM部114へ、オペランドアドレス計算に関
係する情報がオペランドアトlメス計算部115へ、p
c計算に関係する情報がpc計算部116へそれぞれ出
力される。
ol1部113には整数演算部117の制御を行う種々
のマイクロプログラムルーチンが格納されているマイク
ロROM、 マイクロシーケンサ、マイクロ命令デコ
ーダ等とが含まれる。
出される。マイクロシーケンサは命令大行に関するマイ
クロプログラム実行のためのシーケンス処理の他に、例
外1割込、 l・ラップ〈この3つ併せてBITと総
称する)の受付けと各EITに対応するマイクロプログ
ラムのシーケンス処理も行う。
い外部割込みや整数演算実行結果によるマイクロプログ
ラムの分岐条件も入力される。
て出力されるが、ジャンプ命令の実行時及び例外受付時
には一部の情報を他の機能フグコックへも出力する。
IIIOM部114には浮動小数点演算部118の制御
を行う種々のマイクロプログラムルーチンが格納されて
いるマイクロROM、 マイクロシーケンサ、マイク
ロ命令デコーダ等が含まれる。
出される。マイクロシーケンサはマイクロプログラムで
示されるシーケンス処理の他に、浮動小数点演算に関係
する例外の処理も行い、マスクされていない浮動小数点
例外が検出された場合には第1マイクロROM部113
へ例外処理を要求する。第2マイクOR0M部114の
マイクロシーケンサは第1マイクロROM部113のマ
イクロシーケンサと並列に動作し、整数演算部117と
並列に浮動小数点演算部118を制御する。
によるフラッグ情報も入力される。
に対して出力されるが、浮動小数点演算に関係する例外
の検出等の一部の情報は他の機能ブ5 0ツクへも出力される。
ドアドレス計算部115は、命令デコード部112のア
ドレッシングモードデコーダ等から出力されたオペラン
ドアドレス計算に関係する情報によりハードワイヤード
制御される。このブロックではメモリ間接アトレンジン
グのためのメモリアクセス以外のオペランドのアドレス
耐算とジャンプ命令のジャンプ先アドレスの計算とが行
われる。
力される。オペランF′アドレス計算終了段階での先行
ジャンプ処理では、ジャンプ先アドレスの計算結果が命
令フェッチ部111とpc計算部とへ出力される。
部118へ出力される。アドレス31算に必要な汎用レ
ジスタ及びプログラムカウンタの値は整数演算部117
又はpc計算部116から人力される。
るPC計算に関係する情報でハードワイヤードに制御さ
れ、命令のpc値を計算する。
令であり、命令をデコードしてみないとその命令の長さ
が判らない。PC計算部116は、命令デコード部11
2から出力される命令長をデコード中の命令のpc値に
加算することにより次の命令のpc値を計算する。
イントレジスタあるいはトリガポイントレジスタの値と
実行された命令のpc値との比較も行われる。
令のデコード結果とともに出力される。
デコード部11から出力されるブランチ幅をpc値に加
算することによりブランチ先命令のアドレスが計算され
る。
命令の実行時にスタックにブツシュしておいたサブルー
チンからの戻り先PC値のコピーを保持するPCスタッ
クが用意されている。pctI算部116は、サブルー
チンからのリターン命令に対してはPCスクソクから戻
光PCを読出すことにより、プリリターン先命令のアド
レスを生成する処理も行う。
クロROMに格納されたマイクロプログラムにより制御
され、各整数演算命令の機能を実現するために必要な演
算を整数演算部117の内部にあるレジスタファイルと
演算器とを使用して実行する。
が含まれる。また、整数演算部117には整数演算の結
果により変化するフラッグ及び外部割込みのマスクレヘ
ルを定めるビット等を含むプロセッサ状態語(PSW)
、 C3Wレジスク、 [IATBレジスタ、 C
TXBBレジスタ、ハソファメモリ制御レジスタ等も含
まれる。
値である場合は、オペランドアドレス計算部115から
即値あるいは計算されたアドレスが人力される。また、
命令の演算対象となるオペランドがメモリ上のデータで
ある場合は、アドレス計算部115で計算されたアドレ
スがオペランドアクセス部120へ出力され、データバ
ッファあるいは外部からフェッチされたオペランドが整
数演算部117へ入力される。
ュ107.108あるいは主メモリ109をリードする
必要がある場合は、整数演算部117はマイクロプログ
ラムの指示によりオペランドアクセス部120ヘアドレ
スを出力して目的のデータをフェッチする。
07.108あるいは主メモリ109ヘスドアする必要
がある場合は、整数演算部117はマイクロプログラム
の指示によりオペランドアクセス部120ヘアドレスと
データとを出力する。この際、PC計算部116からは
そのストア動作を行った命令のPC9 値がオペランドアクセス部120へ出力される。
スを整数演算部117が得た場合は、整数演算部117
はこれを命令フエソヂ部111とpc計算部116とへ
出力する。
のマイクロROMに格納されたマイクロプログラムによ
り制御され、各浮動小数点演算命令の機能を実現するた
めに必要な演算を浮動小数点演算部118の内部にある
レジスタファイルと演算器とを使用して実行する。
処理方法及び浮動小数点演算例外の検出許可をモード設
定する浮動小数点演算モード制御レジスタFMCと、浮
動小数点演算結果に対するフラグ及び浮動小数点演算例
外の発生状態を示すステータスビットからなる浮動小数
点演算状態語FSWとが備えられている。
点演算部118へ即値が入力される。また、命令の演算
対象となるオペランドがメモリ上のデータである場合は
、アドレス計算部115で計算されたアドレスがオペラ
ンドアクセス部120へ出力され、データバッファまた
は外部からフェッチされたオペランドが浮動小数点演算
部118へ人力される。
ッシュ107.108あるいは主メモリ109ヘスドア
する必要がある場合は、浮動小数点演算部118はマイ
クロプログラムの指示によりオペランドアクセス部12
0ヘデータを出力する。ストア動作では浮動小数点演算
部11Bと整数演算部117とがtalMして動作し、
オペランドアクセス部120に対して整数演算部117
からオペランドのアドレスが出力され、浮動小数点演算
部118からオペランドが出力される。この際、PC計
算部116からはそのストア動作を行った命令のPC値
がオペランドアクセス部120へ出力される。
クセス部120にはオペランドアドレスのアドレス変換
機構、データバンファ、データ用TLB、 ストアバ
ッファ、オペランドブレイクポイントレジスタとそれら
の制御部とがある。
キャッシュまたはPC(直のトレースメモリとして動作
する。
る場合、データのロード動作に際しては、オペランドア
クセス部120はオペランドアドレス計算部115また
は整数演算部117から出力されたロードすべきデータ
の論理アドレスを物理アドレスに変換し、データバッフ
ァからデータをフェッチし、整数演算部117または浮
動点小数演算部118へ出力する。
ス部120はアドレス入出力部119へ物理アドレスを
出力し、外部へのデータアクセスを要求し、データ入出
力部122を通して入力されたデ−クをデータバッファ
に登録する。
120は整数演算部117から出力されたストアすべき
データの論理アドレスを物理アドレスに変換し、整数演
算部117あるいは浮動小数点演算部118から出力さ
れたデータをデルタバッファにストアすると共に、スト
アバッファを通じてアドレス入出力部119へ物理アド
レスを出力し、データ入出力部122を通してデータを
外部へ出力する。ストア動作で5スが発生した場合には
、データの更新は行われない。
レス、更にそのストア動作を行った命令のPC値とが1
組にして管理される。ストアバッファでのストア動作は
先入れ先出し制御方式で管理される。
さセる場合、デルタバッファはアドレスがH’ FFP
P[!000〜H’FFFFFFFF (H“は16進
数を表す)の制御空間となる(ランダムアクセスメモリ
)RAYI3 として動作し、コンテキストスイッチング命令又は制御
空間操作命令でアクセスすることが可能である。
レス変換及びデータ用TLBの更新もオペランドアクセ
ス部120の内部の制御回路により行われる。また、メ
モリアクセスアドレスがメモリにマツプされたl10j
i域に入るか否かのチエツクも行われる。
ウォッチモードである場合ムこは、オペランドアクセス
部120はアドレス入出力部1】9を通して入力された
物理アドレスがヒツトするデータバッファのエントリを
無効化する。
ランドアクセス部120とから出力されたアドレスを本
発明のデータ処理袋!+00の外部へ出力する。
られたバスプロトコルに従って実行される。
る外部バス制御回路で行われる。外部バス制御回路では
ページ不在例外及びハスアクセス例外、外部割込みの受
付けも行う。
スがバスマスクになっており、本発明のデータ処理装置
100がハスウォッチモードである場合には、アドレス
入出力部119は外部デバイスがデータライトサイクル
を実行した際にアドレスバス101上へ出力されたアド
レスを取込んで命令フェッチ部111とオペランドアク
セス部120とへ転送する。
ては、データバス102からデータを取込みオペランド
アクセス部120へ転送する。オペランドのストア動作
に際しては、オペランドアクセス部120から出力され
たオペランドをデータバス102へ出力する。
1つのアドレスに対して64ビツトのデータをアクセス
する標準アクセスモートと1つのアドレスに対して4回
連続で64ビ・ノドのデータをアクセスするクワッドア
クセスモードとがあり、いずれの場合もデータ入出力部
121はオペランドアクセス部120と外部のメモリと
の間で遣取りするデータを(5)「パイプライン処理」 本発明のデータ処理装置100は各種のバッファ記憶と
、命令バス103、 データバス102を使用したメモ
リの効率的アクセスにより命令をパイプライン処理して
高性能に動作する。
ン処理方法について説明する。
は第5図に模式的に示すように構成されている。
Fステージ)31. 命令のデコードを行うデコード
ステージ(Dステージ)32. オペランドのアドレ
ス計算を行うオペランドアドレス計算ステージ(Aステ
ージ)33. マイクロROMアクセス(特にRステ
ージ37と称す)とオペランドのブリフェッチ(特にO
Fステージ38と称す)を行うオペランドフェッチステ
ージ(Fステージ)34. 命令の実行を行う実行ス
テージ(Eステージ)35. メモリ7 オペランドのストアを行うストアステージ(Sステージ
)36の6段構成でパイプライン処理を実行する。
6つのステージが完全に独立動作する。
クロンクで行うことができる。Sステージ36は1回の
オペランドストア処理を最小2クロックで行うことがで
きる。従ってメモリオペランドのストア処理がない場合
、理想的には1クロツクごとに次々とパイプライン処理
が進行する。
いはメモリ間接アドレッシング等のような1回の基本パ
イプライン処理のみでは処理出来ない命令があるが、こ
れらの処理に対してもなるべく均衡したパイプライン処
理が行えるように構成されている。
リオペランドの数に基づいてデコード段8 階で複数のパイプライン処理単位(ステップコード)に
分解してパイプライン処理が行われる。
命令コードそのものである。
命令で指定された演算に関するコード(Dコード41と
称す)と、オペランドのアドレス計算に関係するコード
(Aコード42と称す)と処理中命令のプログラムカウ
ンタ値(PC)との3つである。
マイクロプログラムルーチンのエントリ番地及びマイク
ロプログラムへのパラメータ等を含むRコード43と、
オペランドのアドレスとアクセス方法指示情報等を含む
Fコード44と、処理中命令のプログラムカウンタ(i
(pc)との3つである。
演算制御情報とリテラル等を含むEコード45と、オペ
ランド及びオペレータアドレス等を含むSコード(46
a、 46b)と、処理中命令のプログラムカウンタ(
i(pc)との3つである。
46bとからなる。
ストアすべき演算結果であるWコード47a、47bと
、その演算結果を出力した命令のプログラムカウンタ値
(pc)との2つである。
47bとからなる。
ても、実行得された命令のPC(!がEステージ35か
らSステージ36へ渡される。
のコードがEステージ35に到達するまでEIT処理を
起動しない。Eステージ35で処理されている命令のみ
が実行段階の命令であり、IFステージ31〜Fステー
ジ34で処理されている命令は未だ実行段階に至ってい
ないからである。従ってEステージ35以前で検出され
たBITは検出されたことがステップコード中に記録さ
れて次のステージに伝えられるのみである。
処理中命令の実行が完了した時点またはその命令の処理
がキャンセルされた時点で受付けられ、Eステージ35
に戻って処理される。
イブラインステージへの入出カステップコードには第4
図に示したように便宜上名称がイ」与されている。また
ステップコードには、オペレージジンコードに関する処
理を行ってマイクロROMのエントリ番地やEステージ
35に対するバラメーク等になる系列と、Eステージ3
5の処理対象のオペランドに、なる系列との2系列があ
る。
処理中命令のプログラムカウンタ値が受渡される。
ッチステージ(IFステージ)31で命令フェッチ部I
Hが動作する。
部から命令をフェッチして命令キューに入力し、Dステ
ージ32に幻して2〜6ハイl−単位に命令コードを出
力する。命令キューの入力は整置された4ハイ1−単位
で行われる。
部から命令をフェッチする場合は整置された4バイトに
つき最小2クロックを要する。
ロツクを要する。
イトにつきlクロックでフェッチ可能である。
1クロツクの間に最大6ハイI・まで出力できる。また
ジャンプの直後には命令キューをバイパスして命令基本
部2バイトを直接命令デコーダに転送することもできる
。
チ先命令アドレスの管理あるいは命令キ、。
ードステージ(Dステージ)32はIFステージ31か
ら入力された命令コードをデコードする。
IWデコーダ、 NI’llWデコーダ、アトレンジン
グモードデコーダを使用して1クロツクに1度行なわれ
、1回のデコード処理で0〜6ハイトの命令コードが消
費される(リターンサブルーヂン命令の復帰先アドレス
を含むステップコードの出力処理等では命令コードは消
費されない)。
情報であるAコード42とオペコードの中間デコード結
果であるDコード41とが出力される。
ーからの命令コード出力処理も行われる。
からのリターン命令に対して先行ジャンプ処理が行われ
る。先行ジャンプを行った無条件ブランチ命令に幻して
はDコード41及びAコード42は出力されず、Dステ
ージ32において命令の処理を終了する。
」オペランドアドレス計算ステージ(Aステージ)33
の処理は大きく2つに分かれる。
オペレーションコードの後段デコードを行う処理で、他
方はオペランドアドレス計算部54でオペランドアドレ
スの計算を行う処理である。
1を入力とし、レジスタ、メモリの書込み予約及びマイ
クロプログラムルーチンのエントリ番地とマイクロプロ
グラムに対するパラメータ等を含むRコード43を出力
する。
ス計算で参照したレジスタあるいはメモリの内容がバイ
ブライン上を先行する命令で書換えられていた場合に、
誤ったアドレス計算が行われ゛ることを防ぐためのもの
である。
、Aコード42に従ってオペランドアドレス計算部54
でオペランドのアドレス計算を行い、その計算結果がF
コード44として出力される。
が行われて先行ジャンプ処理が実行される。この際、ア
ドレス計算に伴うレジスタの読出し時に書込み予約のチ
エツクも行われ、先行命令がレジスタあるいはメモリに
対する書込み処理を終了していないために予約があるこ
とが指示されていれば、先行命令がEステージ35で書
込み処理を終了するまで待機状態になる。
わなかったジャンプ命令に対して先行ジャンプ処理が行
われる。
レッシングのジャンプ等に対してはAステージ33で先
行ジャンプが行われる。先行ジャンプを行った無条件ジ
ャンプ命令に対してはRコド43及びFコード44は出
力されず、Aステージ33において命令の処理を終了す
る。
」オペランドフェッチステージ(Fステージ)34の処
理も大きく2つに分かれる。
にRステージ37と称す。他方はオペランドプリフェッ
チ処理であり、特にOFステージ38と称す。
動作するわけではなく、データキャッシュの稟ス及びヒ
ント、データTLBのξス及びヒツト等に依存して動作
タイミングが異なる。
セス処理は、Rコード43に対して次のEステージ35
での実行に使用する実行制御コーl′であるEコード4
5を作り出ずためのマイクロll0Mアクセスとマイク
ロ命令デコード処理である。
グラムステップに分解される場合、第1マイクロROM
部113及び第2マイクロROM部114がEステージ
35で使用され、次のRコード43がマイクロROMア
クセス待ちになる場合がある。
るのはEステージ35でのマイクロROMアクセスが行
われない場合である。
が1マイクロプログラムステノブで行われ、多くの浮動
小数点演算命令が2マイクロプログラムステツプで行わ
れるため、実際にはRコード43に対するマイクロRO
Mアクセスが次々と行われる頻度が高い。
ペランドフェッチステージ(OFステージ)38はFス
テージ34で行う上記の2つの処理の内のオペランドプ
リフェッチ処理を行う。
理アドレスをデータTLBで物理アドレスに変換し、そ
の物理アドレスで内蔵データキャッシュをアクセスして
オペランドをフェノヂし、そのオペランドとFコード4
4として転送されてきたその論理アドレスとを組合わセ
てSコード46a、 46bとして出力する。
いが、8バイト以下のオペランドフェッチを指定する。
の指定も含まれており、Aステージ33で引算されたオ
ペランドアドレス自体あるいは即値をEステージ35へ
転送する場合にはオペランドプリフェッチは行わず、F
コート44の内容をSコード46a46bとして転送す
る。
書込み処理を行おうとするオペランドとが一致する場合
は、オペランドプリフェッチは内蔵データキャッシュか
らは行われず、バイパスして行なわれる。
コード46a、 46bを人力として動作する。
Fステージ34以前のステージで行われた処理は総てE
ステージ35のための前処理である。
T処理が起動されたりした場合は、IFステージ31〜
Fステージ34まででの処理はすべて無効化される。
Rコード45に示されたマイクロプログラムルーチンの
エン)・り番地からの一連のマイクロ命令を実行するこ
とにより命令を実行する。
(特にElコードと称す)と浮動小数点演算部118を
制御するコード (特にEFコードと称す)とがある。
の際Eステージ35では整数演算部117と浮動小数点
演算部118とが並列に動作する。
さない浮動小数点命令を実行する場合はこの動作は整数
演算部117の動作と並行して実行される。
しとマイクロ命令の実行とはパイプライン9 化されて行われる。従って、マイクロプログラムで分岐
が発生した場合は1マイクロステツプの空きができる。
るいはメモリに対する書込み予約をオペランドの書込み
の後に解除する。
られ、マイクロプログラムにより必要な処理が実行され
る。その他の各種BITの処理もEステージ35でマイ
クロプログラムにより行われる。
ステージ35はSステージ36へWコード47a47b
とストア処理を行う命令のプログラムカウンタ値とを出
力する。
ランドストアステージ(Sステージ)36はWコードの
論理アドレス47aをデータTLBで物理アドレスに変
換し、そのアドレスでWコードのデータ47bをデータ
バッファにストアする。同時にオペランドストアステー
ジ36はWコート’47a、 47bと0 プログラムカウンタ値とをストアバッファに入力し、デ
ータTLBから出力された物理アドレスを用いて外部の
メモリへWコードのデータ47bをストアする処理を行
う。
はEステージ35から転送されたPC値をデータバッフ
ァに蓄える。
セス部120で行われ、データTLBあるいはデータバ
ッファがミスした際のアドレス変換処理及びデータバッ
ファの入換え処理も行う。
理でBITを検出した場合はストアバッファにWコード
47a、 47bとプログラムカウンタ値とを保持した
ままでEステージ35にEFTを通知する。
パイプラインの各ステージは入力ラッチと出力う、チを
有し、他のステージとは独立に動作することを基本とす
る。
果を出力ランチから次のステージの入力ランチへ転送し
、自分のステージの人力ランチに次の処理に必要な入力
信号の総てがそろえば次の処理を開始する。
てくる次の処理に対する入力信号の総てが有効になり、
その時点の処理結果を後段のステジの人力ランチへ転送
し、出力ラソチが空になると次の処理を開始する。
号が総てそろっている必要がある。入力信号がそろって
いなければ、そのステージは待機状態(入力待ち)にな
る。
われる際は次のステージの人力ランチが空き状態になっ
ている必要があり、次のステージの入力ランチが空きで
ない場合もパイプラインステージは待機状B(出力待ち
)になる。
ラインで処理中の命令間にデータ干渉が生しると、1つ
のステージの処理に複数クロック必要となってパイプラ
イン処理が遅延する。
rオペランドアクセス部の構成」第1図はオペラン
ドアクセス部120の一構成例を示す詳細なブロック図
である。
と物理アドレスとをペアにしてバッファリングするTL
R201,物理アドレスとデータとをペアにしてバ・7
フアリングする内蔵のデータキャッシュとして動作する
かまたはコンテキスト退避用の制御空間のメ、そりとし
て動作するデータバッファ202 アクセスされたデ
ータの論理アドレスの上位とTLB201の論理アドレ
スタグとを比較する論理アドレス比較器203. T
LB201から出力された物理アドレスとデータバッフ
ァ202から出力された物理アドレスタグとを比較する
物理アドレス比較器204、 データ人出力回路20
7. アドレス出力回路206 スhアバノファ部
208. 更に論理アドレス比較器203及び物理ア
ドレス比較器204の比較結果に従って全体を制御する
オペランドアクセス制御回路205等にて構成されてい
る。
動作」 整数演算部】17から出力された論理アドレスのアドレ
ス変換対象となる上位20ビツトの内の下位側(8ビツ
ト)でT1.B201のエントリが指定される。
タグ(12ピッl−) と物理アドレス(20ビツト)
とが出力される。この際、論理アドレスの上位側(12
ビット)と論理アドレスタグとが一致すればTLB20
1はヒツトしたことになり、TLB201から出力され
た物理アドレスは有効である。
作する場合は、論理アドレスの内のページオフセットを
示し物理アドレスに変換されない下位ビット (12ビ
ツト)でデータバッファ202のエントりが指定される
。データバッファ202の指定されたエントりからは物
理アドレスタグ(20ビツト)とデータとが出力される
。この際、TLB201か4 ら出力された物理アドレスが有効で且つそれが物理アド
レスフグと一致すればデータバッファ202はヒツトし
たことになり、データバッファから出力されたデータは
有効である。
御部205の制御により、本発明のデータ処理装置10
0の外部のメモリにあるアドレス変換チーフルがアクセ
スされ、論理アドレスが物理アドレスに変換され、TL
B201のエントリが更新される。TLB201のエン
トリの更新後、再びTLB201がアクセスされ、TL
B201はヒツトする。
て動作したデータバッファ202がごスした場合は、オ
ペランドアクセス制御部205の制御により、物理アド
レスで外部のメモリがアクセスされ、データバッファ2
02のエントリが更新される。
された物理アドレスとデータバッファの物理アドレスフ
グとが一致してもデータバッファ202はヒントとはな
らない。この場合、データバッファ202のヒy I・
/ ’Eニスの判定はTLB20]のエントリが更新さ
れてTLB201がヒソI・シた後に行われる。
る場合は、論理空間のアクセスに対してTL11201
で変換された物理アドレスが本発明のデータ処理装置1
00の外部に出力されることにより外部からデータがフ
ェッチされる。
動作」 オペランドアクセス部120に対するデータのライト動
作はTLB201のアクセスに関してはデータリード動
作時と同様である。
作する場合、データバッファ202のアクセス動作もデ
ータリード動作と類似しているが、データバッファ20
2からデータが読出されることはない。
た場合はヒントしたエントリにデータが書込まれる。ミ
スした場合はデータバッファ202にはデータは書込ま
れず、エントリの更新動作も行われない。
はライトスルー制御のデータキャッシュとして動作し、
データライト動作時にデータバッファ202がヒツトし
た場合もミスした場合もストアデータが外部へ出力され
る。
る場合は論理空間へのオペランドライト時にデータバッ
ファがアクセスされることはない。
発明のデータ処理装置+00の外部へ出力されると共に
ストアデータが外部へ出力される。
要とし、本発明のデータ処理装置100のEステージ3
5のストア動作速度に比べて低速である。このため、ス
トアデータはそのストア動作を行った命令のPC値、ス
トア先の物理アドレス、ストア先の論理アドレスと共に
ストアバソファに一旦登録され、その後にストアバッフ
ァがストア動7 作を行う。ストアバッファに登録されるストア動作を行
った命令のpc値はpc計算部116から入力された命
令のpc値である。
ッファ202が、アドレスが11’ FFFFEOOO
〜+1’ FFFFFFFFの制御空間のメモリとして
動作する場合は、アドレスが11’ FFFFEOOO
〜It’ FFFFFFFFである制御空間に対するア
クセスはデータバッファ202に対して行われる。
B201は動作しない。またデータバッファ202はア
ドレス範囲がH″FFFFEOOO〜11’ FFFF
FFFFであるランダムアクセスメモリ(RAM) と
して動作する。
レスに従ってデータバッファ202の内容が読出され、
DDババス25を通して整数演算部】17または浮動小
数点演算部118へ出力される。また、ライト動作時に
は、Δ^ハス124から人力されたアドレスに従ってD
Dババス25を通してデータ人出力回路207に入力さ
れたデータがデータバッファ2028 に書込まれる。
FFFFF以外である領域の制御空間に対するアクセス
は、本発明のデータ処理装置100の外部に対して行わ
れる。
うか又は外部に対して行うかは、制御空間アドレスの上
位20ビツトに従ってオペランドアクセス部120内で
判断される。この判断は、論理アドレス比較器203で
TLB201側の20ビツトを総て“1″にし、その値
とAAババス24から入力されたアドレスの上位の20
ビツト内のの最下位ビットをdon’tcareにした
19ビツト分とを比較することにより行(7)「外部ア
クセス動作」 (7,1) r入出力信号線」 第7図は本発明のデータ処理装置100の入出力信号を
示す模式図である。
ND、 64本のデータピンと32本のアトルスピン
と32本の命令ピン及び入力クロックCLKの他に種々
の制御信号を入出力する。
スピンへは物理アドレスが出力される。
装置100の動作クロックと同一周波数のクロックであ
る。
す)はアドレスピンに出力されたデータアドレスが有効
であることを示す。
入力であるか出力であるかを区別する。
0がデータ入力準備を完了したことまたは木発明のデー
タ処理装置100からデータが出力されたことを示す。
セスサイクルを終了してもよいことを通知する信号であ
る。
とデータピンとの値の意味を示す。
された命令アドレスが有効であることを示す。
が命令入力準備を完了したことを示す。
勺イクルを終了してもよいことを通知する信号である。
置100にバス権を要求する信号であり、HACKII
は本発明のデータ処理語2100がホールトリクニス)
HREQIを受付けてバス権を他のデバイスに渡した
ことを示す信号である。
込みを受付け、割込みベクトルアクセスサイクルを行っ
ていることを示す信号である。
を64ビツト総て有効にするか、または32ビツトのみ
を有効にするかをシステムリセット時に設定するために
使用されるピンである。
た場合の例が示されているが、本発明のデータ処理装置
ではデータバスを32ビツトのみ有効にして動作させる
ことにより、低コストのシステムを構成することが可能
なようになっている。
処理装置100を用いた第6図に示したシステムの例で
は、本発明のデータ処理装置100とデータキャッシュ
107.108とがデータピンに接続するデータバス1
02. アドレスピンに接続するアドレスバス101
の他、IIAT(0:2)、 DASII。
。
レスバス101の他、BAT(0:2)、 IASII
、 TSII、 ICIでも接続されている。
ミングを決定するクロックである。
タバス102を用いたデータアクセスと命令バス103
を用いた命令アクセスとをそれぞれ十分高速な外部のメ
モリに対して外部入力クロックCLKの2サイクルに1
度の速度で行う。
データバス102を用いたデータアクセスと命令ハス1
03を用いた命令アクセスとをそれぞれ十分高速な外部
のメモリに対して外部人カクロフクCLKの5サイクル
に4度の速度で行う。
のアクセスと命令キャッシュ106のアクセスとの両方
に利用される。
6図は本発明のデータ処理装置100の整数演算部11
7にあるプロセッサ状態語(PSW)の構成を示す模式
図である。
処理用スタックポインタを使用中であるかりフグ0用ス
タックポイりタを使用中であるかを示す。
ング番号を示す。
ードを示す。
を示す。
ばデバッグサポート機構がオンで、デバッグ条件が成立
すればセルフデバッグトラップが起動される。DBJで
あればデバッグサポート機構がオフで、デバッグ条件が
成立してもセルフデバッグトラップは起動されない。
を示す。IMASKフィールド25で示されたマスクレ
ヘルより優先度の高い外部割込みが本発明のデータ処理
装置100に入力されると割込み処理が起動される。
グのリング番号を示す。
す。
た、PSWばLDC命令とSTC命令とでその内容を読
出ずこと及び指定した内容を書込むことがそれぞれ可能
である。
は本発明のデータ処理装置100の内蔵データバッファ
202及び内蔵命令バッファの制御を行うバッファメモ
リ制御レジスタの構成を示す模式図である。
202の制御を行うフィールドであり、以下に示す意味
を有する。
EOOO〜11″FFFFFFFFである制御空間のメ
モリとして動作さセる。
ータキャッシュとして動作 させる。
ャッシュとして動作する際の制御を行うフィルドであり
、以下に示す意味を有する。
イトで動作させる。
イトで動作させる。
ールドであり、以下に示す意味を有する。
ェフチした命令を選択的に 登録するセレクティブキャソシュ として動作させる。
の命令キャッシュとして動作 させる。
ノシュとして動作させた際の命令の登録条件を制御する
フィールドであり、以下に示す意味を有する。
をフリーズする。
1ライン入換える。
て2ライン人換える。
明のデータ処理装置1.00の内蔵データバッファ20
2及び内蔵命令バッファのパージ動作を制御するパージ
指定レジスフの構成を示す模式図である。
内蔵データバッファ202のパージ動作を制御するため
のビットであり、これらの各ビットに”1”を書込むと
それぞれのビットに対応するバッファメモリの内容がパ
ージされる。また、これらの各ビットに”0″を書込む
とそれぞれのビットに対応するバッファメモリの内容は
パージされない。更に、このレジスタの値が読出された
場合には全ビットがゼロになる。
トリをパージしない。
トリをパージする。
トリをパージしない。
をパージする。
リをパージしない。
トりをパージする。
をパージしない。
ントリをパージする。
,1) r本発明のデータ処理装置で検出されるBI
Tの種類」 本発明のデータ処理装置100で発生ずるETTには、
命令に依存しないBITとして、アクセスした論理アド
レスに対応するデータ及び命令が主メモリ109上にな
くページフォールトが発生した場合に検出されるページ
不在例外、論理アドレスを物理アドレスに変換中に発生
ずるエラー、メモリ保護違反及びI10領域に関する不
当なアクセスが生した場合に発生ずるアドレス変換例外
、命令また9 はオペランドアクセスにおいて一定時間以内にハスから
の応答がなくメモリアクセスが実行されなかった場合に
発生ずるバスアクセス例外がある。
命令のジャンプ先アドレスが奇数であった場合に発生ず
る奇数アドレスジャンプ1−ランプ。
ットパターンを実行しようとした場合に発生ずる予約命
令例外、整数演算で0除算を行なった場合に発生するゼ
ロ除算トラップ、浮動小数点命令を実行した際にマスク
されていない例外を検出した場合に発生する浮動小数点
演算トラップ。
AP/cc命令により発生する条件トラップがある。
動作j本発明のデータ処理装置100ではBITを検出
すると、以下の手順に従うマイクロプログラムが実行さ
れ、BIT処理ハンドラが起動される。
データ処理装置100内部で生成される。
処理ハンドラの先頭アドレスとBITのベクトルとがベ
アにして記憶されているETTベクトルテーブルがアク
セスされる。
されており、[T処理ハンドラに処理が移る前に本発明
のデータ処理装置100のプロセッサステータスワード
(PSW)を更新するためのデータが含まれている。
に戻るための戻り先命令のpc値であるNEXTPC,
BITを起動する前のpsw、 及び検出したETT
の番号等の検出したBITに関する各種の情報であるI
!ITINFがスタックに退避される。
情報もスタックに退避される。
Tの種類に依存しており、5種類のフォーマットに分か
れる。
づいてPS−が更新される。この際、PSWにrese
rvedの値がセントされようとするとシステムエラー
となる。このPSWの更新により、メモリ保護情報とな
るリング番号の更新、アドレス変換の有無の切換え、デ
バッグ環境の切換え1割込みマスクレベルの切換え、浮
動小数点演算トラップ受付モードの切換えを行うこと可
能になる。
c値へのジャンプが行われ、BIT処理ハンドラが起動
する。多重にBITが検出されており、未処理のBIT
が抑止されていない場合はBIT処理ハンドラの先頭命
令を実行する以前にその未処理のBITに対するBIT
処理ハンドラを起動するための処理が行われる。
への復帰動作」 BIT処理ハンドラによる各EITに対応する処理が終
了した後、BIT処理ハンドラで最後に実行されるRE
TT命令では以下のような処理を行うマイクロプログラ
ムが実行されて元の命令列に復帰する処理を行う。
とBITINFとが読込まれる。続いてスタックから戻
光命令の論理アドレスが読込まれる。
報の有無が判定され、追加情報があればスタックからそ
れが読込まれる。追加情報は前述の如く5つのフォーマ
ットに依存してそれぞれ異なる。
のpsw (!に従ってPS−の全フィールドがUXI
T発生前の値に復帰される。
の再実行をREIT命令の実行中に行なう場合がある。
スへのジャンプが実行され、元の命令列3 (10) rデータバッファの詳細動作」(10,1)
データバッファの構成 第8図はデータバッファ202と物理アドレス比較器2
04との一構成例を示すブロック図である。
らなるメモリアレイ部はWブロック230. Xブロッ
ク231. ’lブロック232. Zブロック233
の4ブロツクにて構成されている。なお、各ブロック2
30 231 232 233には20ビットのタグア
ドレスと16バイトのデータとで一組に構成されるエン
トりが128個ずつある。
ZD237の4つのデータ入出力レジスタを介して入
出力される。
,ZC241(7)4つのアドレス比較器へ出力される
。
回路246からデータバッファ202へ入力されるアド
レスを保持し、上位20ビツトが4つのアドレス比較器
238.239.240.241へ出力され、下位の5
ビツト目から13ビット目の9ビツトがメモリアレイ4 部へ出力される。また、IAレジスタ242の下位から
12ビツト目及び下位5ピントがマルチプレクサ制御回
路244へ出力される。
234.235.236.237とデータ人出力回路2
07とのインターフェイスとなる8バイトのIODバッ
ファ245に接続されている。マルチプレクサ制御回路
244は4つのアドレス比較器238.239.240
241 とIAレジスタ242との内容に従ってマルチ
プレクサ243をI1口卸する。
ファメモリ制御レジスタの叶フィールド3を“10″と
し、RPフィールド1を”10”とするとデータバッフ
ァ202は容量が8 kB、 ラインサイズが16バ
イトで4ウエイセツトアソシアテイブのデータキャッシ
ュとして動作する。また、メモリアレイの4つのブロッ
ク230.23L 232.233はそれぞれ1つのコ
ンパートメントとして動作する。
力されたアドレスの5ビツト目から11ピント目の7ビ
ツトで各コンパートメントのエントりが選択され、4つ
のタグアドレスが4つのアドレス比較器238.239
.240.241にそれぞれ出力され、4つのバイトデ
ータが4つのデータ入出力レジスタ234.235.2
36.237にそれぞれ読出される。
では4つのタグアドレスがTAレジスク242の」二値
20ビットのアドレスとそれぞれ比較される。IAレジ
スタ242の下位4ビツトのアドレスと比較結果とに従
って、一致したコンパートメントの出力データから必要
なデータがマルチプレクサ243により選択されてIO
Dバッファ245に読出される。
様な動作で■ODバッファ245からマルチプレクサ2
43とデータ入出力レジスタ234.235236、2
67とを通してデータが書込まれる。
クワッドアクセスモードで外部のメモリがアクセスされ
、4つのコンパートメントの内の対応する1つのエント
リが書換えられる。このため、RPI−“10″の16
バイトラインサイズモードでは、データバス102を3
2ビツトで使用するシステムで有効に動作する。
10”とし、RPフィールド1を“11”とすると、デ
ータバッファ202は容量が8kB、 ラインサイズ
が32バイトで2ウエイ七)1−アソシアティブのデー
タキャッシュとして動作する。この場合、メモリアレイ
はWブロック230とXブロック23] とが組合わさ
って1つのコンパートメントとして動作し、またYブロ
ック232とXブロック233とが組合わさって1つの
コンパートメントとして動作する。
のタグアドレス部には同一の値が記憶され、同一エント
リのデータ部には32バイトのデータが16バイトずつ
記憶される。同様に、Yブロック232とXブロック2
33との同一エントリのタグアドレス部には同一の値が
記憶され、同一エントリのデータ部には32バイトのデ
ータが16ハイトずつ記憶される。
力されたアドレスの6ビツト目から12ビツト目の7ビ
ソトで各コンパートメントのエントリが選択され、4つ
のタグデータが4つのアドレス比較器238.239.
240.241にそれぞれ出力され、4つの16ハイト
データが4つのデータ入出力レジスタ234.235.
236.237にそれぞれ読出される。
では4つのタグアドレスがIAレジスタ242の上位2
0ビツトのアドレスとそれぞれ比較される。+4レジス
タ242の下位5ビツトのアドレスと比較結果とに従っ
て、一致したコンバートメントとなる2つのブロックの
出力データである32ハイドから必要なデータがマルチ
プレクサ243により選択され、100バツフア245
に読出される。
同様な動作でIODバッファ245からマルチプレクサ
243とデータ入出力レジスタ234.235236、
267とを通してデータが書込まれる。
ワッドアクセスモードで外部のメモリがアクセスされ、
2つのコンパートメントの内の対応する1つのエンI・
りが書換えられる。このため、RP1=”11″の際の
32バイトラインサイズモードでは、データバス102
の64ピツ1へで使用するシステムで有効に動作する。
ァメモリ制御レジスタの聞フィールド3を”01”とす
るとRPフィールドIの値には拘わらずに、データバッ
ファ202はアドレスがH’ FFPFEOOO〜II
’FFFFFFFFである容1i8kBの制御空間メモ
リとして動作する。
、データ部のみが使用される。
2゜233が全体で256エントリ×32バイトのメモ
リアレイとして動作し、TAレジスタ242で指定され
た制御空間アドレスの6ビノト目から13ビツト目でエ
ントリが指定され、メモリアレイがアクセスされる。
必要なハイドがIAレジスタ242の下位5ビツトのア
ドレスに従ってマルチプレクサで選ばれ、IODバッフ
ァ245に入力される。
バイトのデータの内の必要なバイトがマルチプレクサで
対応するデータ入出力レジスタ234,235236、
237に転送され、メモリアレイの対応する場所に書込
まれる。
のデータ処理装置100では第30図に示すコンテキス
トブロック情報をコンテキストスイッチング命令である
LDCTX命令と5TCTX命令とで操作する場合、8
バイト単位でデータを処理し、高速にコンテキストスイ
ッチングを行う。
演算部117の構成例の詳細を、オペランドアドレス計
算部115. 浮動小数点演算部118オペランドア
クセス部120と共に示すブロック図である。
から整数演算部117に出力されるオペランドアドレス
及び即値を保持するレジスタである。
アクセス部120にアドレスを出力するためのレジスタ
であり、保持内容に対するI、 2.4.8のインクリ
メント・デクリメント機能を有する。
ジスタファイルとは整数演算部117内の各種のデータ
を保持し、演算回路214及び補助ALU212とそれ
ぞれ3木の4バイトのバスで結合されており、2つのレ
ジスフ上のオペランドに関する加算、比較等の演算が演
算回路214または補助ALU212で行える。
クセス部120とがデータを入出力するためのインタフ
ェイスレジスタであり、8ハイドのDDババス23でオ
ペランドアクセス部120と結合されている。
算部11Bとのインクフェイスレジスタである。
ストロード動作の一例として、C3Wレジスタに格納さ
れるべきデータのFRビ・ノド13とRGビット14と
が共に′1”であるコンテキストブロックに対してLD
CTX/C5命令を実行した場合の動作を説明する。こ
の場合、コンテキストブロックはアドレスがH’ FF
FFFOOOである制御空間におかれているとする。ま
た、LDCTχ/C5命令はXビ・ノド15が1”であ
るLDCTX命令である。
シングモードに従ってオペランドアドレス計算部115
で計算されてSAレジスタ240に転送されたコンテキ
ストブロックの先頭アドレスII’ FFFFFOOO
がS1バス221 とAAレジスタ211 とを通して
AAハスに出力されると共に、S1バス22J、 演
算回路215及び旧バス225を通して専用レジスタ・
作業用レジスタファイル214中にあるCTXBBレジ
スタに格納される。
リメントする。
がアクセスされ、コンテキストブロックの先頭の8バイ
トがDDババス23を通してDDレジスタに転送される
。
タの内の上位4バイトが32バス222. 演算回路
215. DIババス25を通して専用レジスタ・作
業用レジスタファイル214中にあるC3−レジスタに
格納される。この際、演算回路215はPRピント13
とRGビフ目4との内容をチエツクし、第1マイクロR
OM部113へその結果を伝えてマイクロプログラムで
のコンテキストブロックフォーマットの判断に使用する
。
イトのデータの内の下位4バイトがS1バス221.補
助^Lυ212. D3バス226を通して汎用レジス
フファイル213中にあるSPOレジスタに格納される
。更に、同しく同時にAAレジスタ211はII ’
FFFFFOO8をAAババス22を通じてオペランド
アクセス部120に転送し、データバッファ202から
コンテキストブロックの2番目の8バイトをDDレジス
タ216へ読出す。
メントする。
タの内の上位4バイトがS2バス222. /3ii
算回路215. DIババス25を通じて汎用レジス
タファイル213中にあるSPルジスクに格納される。
トのデータの内の下位4バイトが81バス221.
補助ALU212. D3バス226を通して汎用レジ
スフファイル213中にあるSP2レジスタに格納され
る。また同時に、AAレジスタ211はアドレスII’
FFFFFOIOをAAババス22を通してオペラン
ドアクセス部120に転送し、データバッファ202か
らコンテキストブロックの3番目の8バイトをDDレジ
スタ216へ読出す。
リメントする。
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バイトのロードは行われない。
クセス部120から浮動小数点演算部118に転送され
た8バイトのデータが浮動小数点演算部118で各浮動
小数点レジスタに格納される。但し、アドレスは整数演
算部117のAAレジスク211から出力される。
データがFR15レジスタに格納される際には、AAレ
ジスク211からはアドレスは出力されず、デクバッフ
ァ202のアクセスは行われない。
テキストがロードされる際は、オペランドアクセス部1
20が外部のメモリをアクセスするため、データバッフ
ァ202からコンテキストをロドする場合に比してより
多くのクロックサイクルを必要とする。
スI−ストア動作の一例としてC3WレジスタのFRピ
ノ143とRGI4ビットとが共に1”である場合に5
TCTX/CS命令を実行した際の動作を説明する。な
おこの場合、CTXBBレジスクの内容は11FFFF
FOOOとする。また、5TCTX/C5命令はXピノ
I・15が”1パであるLDCTX命令である。
トブロックの先頭アドレス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へその結果を伝え、マイクロプログラムでの
コンテキストブロックフォーマントの判断に使用する。
FOOOがAAババス22を通してオペランドアクセス
部120に転送され、DDレジスタ216からはコンテ
キストブロックの先頭の8バイトデータとなるC3Wレ
ジスタ値とSPOレジスタ値とがDDババス23を通し
てオペランドアクセス部120へ転送され、データバッ
ファ202に格納される。
リメントする。この際、コンテキストブロックの2番目
の8ハイド情報の上位4バイトとなるSPIレジスタの
内容が31バス221を通して汎用レジスタファイル2
13からDDレジスタ216の上位に転送され、下位4
バイトとなるSP2レジスタの内容が32ハス222.
を通して汎用レジスフファイル213からDDレジスタ
216の下位に転送される。
FFOO8がAAババス22を通してオペランドアクセ
ス部120に転送され、DDレジスタ216からはコン
テキス1−フ゛ロンクの2番目の8バイトデータとなる
Sl’lレジスタ値とSP2レジスタ値とがOOハス1
23を通してオペランドアクセス部120へ転送され、
データバッファ202に格納される。
リメントする。この際、コンテキス1−ブロックの3番
目の8バイト情報の上位4バイトとなるSP3レジスタ
の内容が31ハス221を通じて汎用レジスタファイル
213から00レジスタ216の」1位に転送され、下
位4バイトとなるUATBレジスタの内容が32バス2
22を通して専用レジスタ・作業用レジスタファイル2
14からDDレジスタ216の下位に転送される。
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バイトとに一度に値が転送される。
は対応する上位4バイトの転送は行われない。
ランドアクセス部120に転送される際、対応する上位
4バイトはゼロが転送される。
演算部11Bの各浮動小数点レジスタから読出された値
がオペランドアクセス部120へ転送される。
1から出力される。
キストをストアする場合は、オペランドアクセス部12
0が外部のメモリをアクセスするため、データバッファ
202ヘコンテキストをストアする場合に比してより多
くのクロンクサイクルを必要とする。
ランダムアクセスメモリまたはデータキャッシュのいず
れかとして動作させる例を述べたが、同様の方法でモー
ド切換えにより1つのバッファメモリをコンテキストブ
ロックを保持する制御空間となるランダムアクセスメモ
リまたは命令キャッシュのいずれかとして動作させる構
成を採ってもよい。
動作する際はコンテキストブロックを保持する制御空間
として動作するのではなく、論理メモリ空間の一部とし
て動作させるII域を採って 00 なお上記実施例では、オペランドアクセス部−アドレス
を出力するアドレスレジスタと、オペランドアクセス部
との間でデータを人出力する汎用レジスタの2倍のバイ
ト幅のデータレジスタとを備え、レジスタファイルとデ
ータレジスタ間は複数のバスからなり2つのデータを同
時に転送する転送経路を有し、2つ以上のレジスタにメ
モリからデータをロードする命令であるLDCTX命令
を実行する場合、命令実行制御部の制御により、オペラ
ンドアクセス部から2つのレジスタにロードすべき2つ
のデータが連結されたデータがデータレジスタへ転送さ
れ、データレジスタの上位4バイトと下位4バイトとが
2つ転送経路をそれぞれ通して2つのレジスタに同時に
転送されるように構成されている。このため、データが
1つずつ転送される場合に比して2倍の転送速度でレジ
スタの内容をメモリへ転送することが可能になるので、
コンテキストのロード行うLDCTX命令の実行が高速
化されてクスクスイソチングに要する時間が短縮される
。
する命令である5TCTX命令を実行する場合、命令実
行制御部の制御により、2つのレジスタの内容が2つの
転送経路からデータレジスタの上位4バイトと下位4バ
イトとに同時に転送され、データレジスタで2つのデー
タが連結され、この連結されたデータがオペランドアク
セス部へ1つのメモリアクセスとして転送されるように
構成されている。これにより、データが1つずつ転送さ
れる場合に比して2倍の転送速度でレジスタの内容を転
送することが可能になるので、コンテキストのストア行
う5TCTX命令の実行が高速化されてクスクスイソチ
ングに要する時間が短縮される。
理装置本体と同一の集積回路上に内蔵されている構成を
採る場合は、データバッファに対するアクセス時間は集
積回路外のメモリに対するそれに比して特に短いため、
上述の効果が特に大きい。
デコードする命令デコード部と、命令デコード部の出力
に従って命令を実行する命令実行部と、データキャッシ
ュとしての動作モード又は制御空間用のメモリとしての
動作モードのいずれかに切換えられて動作するデータバ
ッファ (メモリ)と、データバッファの動作モードを
指定するバッファメモリ制御レジスタ(メモリ制御情報
保持手段)と、データバッファをアクセスするオペラン
ドアクセス部とを備え、バッファメモリ制御レジスタの
内蔵データバッファ制御フィールドでデータバッファを
データキャッシュとして動作させることを指定すると、
データバッファはライトスルー制御のデータキャッシュ
として動作するように構成されている。この場合、デー
タバッファは、命令実行部で実行すべき命令のオペラン
ドとなるデータを保持してキャッシングし、オペランド
アクセス部に出力されたアドレスとデータキャッシュ内
のタグアドレスが一敗することによりデータキャッシュ
がヒツトすればアクセスされたアドレ 03 スに対応するデータを出力する。
ァ制御フィールドでデータバッファを制御空間のメモリ
として動作させることを指定すると、データバッファは
アドレスがたとえばH’ FFFF[000〜H’ F
FFFFFFFである制御空間領域のランダムアクセス
メモリとして動作するように構成されている。この場合
、データバッファは、オペランドアクセス部に出力され
た制御空間のアドレスがアドレス領域の範囲内であれば
そのアドレスに保持されているデータを出力する。
つのデータバッファがデータキャッシュとして動作する
ことも、特定アドレス領域のランダムアクセスメモリと
して動作することも可能なため、データバッファが効率
的に利用出来る。従って、コンテキストスイソヂング命
令等ではコンテキスト退避用のデータバッファの領域を
特に高速なメモリ領域として利用することが可能になり
、クスクスイノチング時間の最大値を小さくするこ04 とができる。
部の一構成例を示すブロック図、第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のモード又は第2のモードで動作する メモリと、 前記メモリに前記第1のモード又は前記第 2のモードのいずれかの動作をさせる情報を保持するメ
モリ制御情報保持手段と、 アドレスを出力して前記メモリをアクセス するメモリアクセス部と を備え、 前記メモリは、 前記メモリ制御情報保持手段が第1の値 を保持している場合は、前記メモリは第1 のモードにより前記命令デコード部がデコ ードすべき命令のコード又は前記命令実行 部が実行すべき命令のオペランドの少なく とも一方となるデータを保持するキヤッシ ュメモリとして動作し、前記メモリアクセ ス部が出力する第1のアドレスと前記メモ リが保持しているタグアドレスとが一致す る場合に前記第1のアドレスに対応するデ ータを出力し、 前記メモリ制御情報保持手段が第2の値 を保持している場合は、前記メモリは第2 のモードにより前記命令実行部が実行すべ き命令のオペランドとなるデータが保持さ れるメモリ空間の一部のアドレス領域とな るランダムアクセスメモリとして動作し、 前記メモリアクセス部が出力する第2のア ドレスが前記アドレス領域の範囲内である 場合に前記第2のアドレスに保持されたデ ータを出力すべくなしてある ことを特徴とするデータ処理装置。
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)
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 | ベクトル処理装置 |
-
1989
- 1989-12-16 JP JP1326253A patent/JP2696578B2/ja not_active Expired - Lifetime
Patent Citations (2)
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 |