JP2696578B2 - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JP2696578B2 JP2696578B2 JP1326253A JP32625389A JP2696578B2 JP 2696578 B2 JP2696578 B2 JP 2696578B2 JP 1326253 A JP1326253 A JP 1326253A JP 32625389 A JP32625389 A JP 32625389A JP 2696578 B2 JP2696578 B2 JP 2696578B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- data
- memory
- unit
- 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.)
- Expired - Lifetime
Links
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
スクスイッチング用のメモリに内蔵することにより、タ
スクスイッチングに要する時間を短縮し得るデータ処理
装置に関する。
メモリの高速化が要求され、このためメモリシステムの
実現コストが増大するという問題が生じている。この問
題を解決するための一手法として、データ処理装置と主
メモリとの間に高速メモリであるキャッシュメモリを介
在させることによりデータ処理装置と主メモリとの速度
差を埋め合わせる技術が用いられている。
積回路内に実現することにより高速なキャッシュメモリ
を実現する提案も、たとえば特開昭63-193230号公報に
詳細に開示されている。
クセス時間を短くするのみにては、複数のデータ処理プ
ロセスを時分割で実行している場合のタスクスイッチン
グ等のような特に高速動作が必要とされる際にキャッシ
ュミスが発生する可能性もあり、結果的にタスクスイッ
チングに要する時間の最大値を小さくすることはできな
い。
コンテキスト退避用のメモリを通常のメモリ空間とは別
に定義しておき、このコンテキスト退避用メモリ空間と
して使用されるメモリを高速メモリで構成したり、ある
いはデータ処理装置と同じ集積回路内に実現したりする
ことにより、タスクスイッチングに要する時間を短縮す
る提案もなされている。このような技術は例えば、特開
昭64-91253号公報に詳細に開示されている。
も、キャッシュミスが発生した場合には高速なメモリア
クセスが実現できない。また、コンテキスト退避用に通
常のメモリ空間とは別のメモリ空間を定義しても、その
メモリ空間を構成するメモリが他のメモリよりも高速動
作可能でなければタスクスイッチングに要する時間を短
縮することは出来ない。
セスに対して平均してアクセス時間を短縮するためのも
のであって、コンテキスト退避時などの特に高速のメモ
リアクセスが必要な場合に高速なメモリアクセスを確実
に保証することは出来ないという理由に起因している。
あるが、高価であるため単一の機能のみではそのコスト
に見合う有効な利用ができない。特に、キャッシュメモ
リをデータ処理装置と同一の集積回路に内蔵する場合に
は、高価なキャッシュメモリの有効利用が望まれる。
なされたものであり、命令をデコードする該命令デコー
ド部の出力に従って命令を実行する命令実行部と、アド
レスデコーダ、タグアドレスを格納するタグアドレスメ
モリ及びデータ又は命令コードを格納するデータメモリ
を備え、第1のモード又は第2のモードで動作するメモ
リと、該メモリの動作モードを規定する第1の値又は第
2の値を保持するメモリ制御情報保持手段と、前記命令
実行部及びメモリ間に接続され、データ又は命令コード
を転送するバスと、前記命令実行部からの支持を受けて
アドレスを生成して前記メモリへ出力するアドレス生成
部と、前記メモリ制御情報保持手段が第1の値を保持し
ている場合に、前記アドレス生成部が出力したアドレス
を前記タグアドレスメモリに格納されているタグアドレ
スと比較し、そのいずれかと一致したときに前記データ
メモリから対応するデータ又は命令コードを前記バスへ
出力させる手段と、前記メモリ制御情報保持手段が第2
の値を保持している場合に、前記アドレス生成部が出力
したアドレスを、命令によってアクセス可能なメモリ空
間の一部として前記メモリに割り付けたアドレスと比較
し、該アドレスの範囲内であるときに、前記データメモ
リから対応するデータ又は命令コードを前記バスへ出力
させる手段とを備える。
るメモリ空間である。またコンテキストを退避させる命
令で使用するメモリ空間でもある。
段が第1の値を保持している場合、前記メモリは命令デ
コード部がデコードすべき命令コード又は命令実行部が
実行すべき命令のオペランドの少なくとも一方となるデ
ータを保持するキャッシュメモリとして動作し、アドレ
ス生成部が出力したアドレスを前記タグアドレスメモリ
に格納されているタグアドレスと比較し、そのいずれか
と一致したとき(キャッシュヒット時)に前記データメ
モリから対応するデータ又は命令コードを前記バスへ出
力させる。データの場合は命令実行部へ、命令コードの
場合は命令フェッチ部へ与えられる。
保持している場合、前記メモリは命令デコード部がデコ
ードすべき命令コード又は命令実行部が実行すべき命令
のオペランドの少なくとも一方となるデータを保持す
る、命令によってアクセス可能なメモリ空間の一部とし
てアドレスが割付けられたランダムアクセスメモリとし
て動作し、アドレス生成部が出力したアドレスをメモリ
に割付けたアドレスと比較し、該アドレスの範囲内であ
るときに、データメモリから対応するデータ又は命令コ
ードを前記バスへ出力させる。
する。
構成」 第6図に本発明のデータ処理装置を用いたシステムの
構成例を示す。
ャッシュ106,データキャッシュ107及び108,主メモリ109
がアドレスバス101,データバス102,命令バス103,メモリ
アドレスバス104,メモリデータバス105で結合されてい
る。
力されるアドレスを命令キャッシュ106とデータキャッ
シュ107,108とに入力する。命令バス103は命令キャッシ
ュ106から出力される命令コードを本発明のデータ処理
装置100に転送する。データバス102は本発明のデータ処
理装置100から出力されるデータをデータキャッシュ10
7,108に転送したり、データキャッシュ107,108から出力
されるデータを本発明のデータ処理装置100に転送した
りする。メモリアドレスバス104は命令キャッシュ106ま
たはデータキャッシュ107,108から出力されるアドレス
を主メモリ109に転送する。メモリデータバス105は主メ
モリ109と命令キャッシュ106またはデータキャッシュ10
7,108間での命令またはデータを転送する。
スした場合はそれぞれのキャッシュ106または107がメモ
リアドレスバス104とメモリデータバス105とのバス権を
調停して主メモリ109をアクセスする。
00の側では64ビットのバスに結合するために2つのチッ
プが協調して動作する。各データの64ビットそれぞれの
内の上位32ビットのデータをデータキャッシュ107が、
下位32ビットのデータをデータキャッシュ108が分担し
て受持つ。
理機構について最初に記述し、次に内蔵制御空間メモリ
を使用したタスクスイッチ処理の手法について説明す
る。
ト」 本発明のデータ処理装置の命令は16ビット単位で可変
長となっており、奇数バイト長の命令はない。
を短いフォーマットとするため、特に工夫された命令フ
ォーマット体系を有する。例えば、2オペランド命令に
対して、基本的に“4バイト+拡張部”の構成を有して
総てのアドレッシングモードが利用可能な一般形フォー
マットと、高頻度の命令及びアドレッシングモードのみ
を使用可能な短縮形フォーマットとの2つのフォーマッ
トを有する。
令フォーマット中に現われる記号の意味は以下の通りで
ある。
ドが指定される部分 Sh:6ビットの短縮形のアドレッシングモードでオペラン
ドが指定される部分 Rn:レジスタファイル上のオペランドがレジスタ番号で
指定される部分 フォーマットは、第9図に示す如く、右側がLSB側で
且つ高いアドレスになっている。
命令フォーマットが判別できないようになっているが、
これは、命令が必ず16ビット(ハーフワード)単位でフ
ェッチ及びデコードされることを前提としているからで
ある。
ットの場合も、各オペランドのEaまたはShの拡張部は必
ずそのEaまたはShの基本部を含む16ビット(ハーフワー
ド)の直後に置かれる。これは、命令により暗黙に指定
される即値データ及び命令の拡張部に優先する。従っ
て、4バイト以上の命令では、Eaの拡張部により命令の
オペレーションコードが分断される場合がある。
部に更に拡張部が付加される場合にも、次の命令オペコ
ードよりもそちらの方が優先される。
ワードにEa2を含み、第3ハーフワードまである6バイ
ト命令の場合を考える。Ea1に多段間接モードを使用し
たために通常の拡張部の他に多段間接モードの拡張部も
付加されるものとする。この際、実際の命令ビットパタ
ーンは、命令の第1ハーフワード(Ea1の基本部を含
む)、Ea1の拡張部、Ea1の多段間接モード拡張部、命令
の第2ハーフワード(Ea2の基本部を含む)、Ea2の拡張
部、命令の第3ハーフワードの順となる。
す模式図である。
となるL−formatとデスティネーションオペランド側が
メモリとなるS−formatとがある。
ルド、Rnはデスティネーションオペランドのレジスタの
指定フィールド、RRはShのオペランドサイズの指定をそ
れぞれ表す。
のサイズは32ビットに固定されている。レジスタ側とメ
モリ側とのサイズが異なり、ソース側のサイズが小さい
場合に符号拡張が行なわれる。
指定フィールド、Rnはソースオペランドのレジスタ指定
フィールド、RRはShのオペランドサイズの指定をそれぞ
れ表す。
ビットに固定されている。レジスタ側とメモリ側とのサ
イズが異なり、ソース側のサイズが大きい場合に、溢れ
た部分の切捨てとオーバーフローチェックとが行われ
る。
-format)を示す模式図である。
のG1-format命令では、Eaの拡張部以外にも拡張部を有
する。また、MMを使用しない場合もある。
す模式図である。
れる一般形アドレッシングモードのオペランドが最大2
つ存在する命令である。オペランドの総数自体は3つ以
上になる場合がある。
ド、MMはデスティネーションオペランドサイズの指定フ
ィールド、EaRはソースオペランド指定フィールド、RR
はソースオペランドサイズの指定フィールドをそれぞれ
示している。
にも拡張部を有する。
模式図である。
との変位指定フィールドをそれぞれ示している。
る場合には、ビットパターンでの指定値を2倍して変位
値とする。
ド指定方法には、レジスタを含めて6ビットで指定する
短縮形と、8ビットで指定する一般形とがある。
いは意味的に考えて明らかに不合理なアドレッシングモ
ードの組合わせが指定された場合には、未定義命令を実
行した場合と同じく予約命令例外が発生され、例外処理
が起動される。
ドである場合、アドレス計算を伴うべきアドレシングモ
ード指定フィールドで即値モードが使用された場合等で
ある。
用されている記号の意味は以下の通りである。
方法 (Ea):8ビットの一般形アドレッシングモードでの指定
方法 フォーマットを示す模式図中で点線で囲まれた部分は
拡張部を示す。
ングモードをサポートする。その内の本発明のデータ処
理装置でサポートする基本アドレッシングモードには、
レジスタ直接モード、レジスタ間接モード、レジスタ相
対間接モード、即値モード、絶対モード、PC相対間接モ
ード、スタックポップモード及びスタックプッシュモー
ドである。
ペランドとする。フォーマットの模式図を第14図に示
す。図中、Rnは汎用レジスタまたはFPUレジスタの番号
を示す。
スとするメモリの内容をオペランドとする。フォーマッ
トの模式図を第15図に示す。図中、Rnは汎用レジスタの
番号を示す。
が16ビットであるか32ビットであるかにより2種類に分
かれる。それぞれ、汎用レジスタの内容に16ビットまた
は32ビットのディスプレースメント値を加えた値をアド
レスとするメモリの内容をオペランドとする。フォーマ
ットの模式図を第16図に示す。図中、Rnは汎用レジスタ
の番号を示す。disp:16とdisp:32とは、それぞれ、16ビ
ットのディスプレースメント値、32ビットのディスプレ
ースメント値を示す。ディスプレースメント値は符号付
きとして扱われる。
ンをそのまま2進数と見なしてオペランドとする。フォ
ーマットの模式図を第17図に示す。図中、imm_dataは即
値を示し、そのサイズはオペランドサイズとして命令中
で指定される。
ビットで示されるかにより2種類に分かれる。それぞれ
命令コード中で指定される16ビットまたは32ビットのビ
ットパタンをアドレスとしたメモリの内容をオペランド
とする。フォーマットの模式図を第18図に示す。図中、
abs:16とabs:32とはそれぞれ16ビット,32ビットのアド
レス値を示す。abs:16でアドレスが示される場合は指定
されたアドレス値を32ビットに符号拡張する。
ットか32ビットかにより2種類に分かれる。それぞれプ
ログラムカウンタの内容に16ビットまたは32ビットのデ
ィスプレースメント値を加えた値をアドレスとするメモ
リの内容をオペランドとする。フォーマットの模式図を
第19図に示す。図中、disp:16とdisp:32とはそれぞれ16
ビットのディスプレースメント値,32ビットのディスプ
レースメント値を示す。ディスプレースメント値は符号
付きとして扱われる。PC相対間接モードにおいて参照さ
れるプログラムカウンタの値は、そのオペランドを含む
命令の先頭アドレスである。多段間接アドレッシングモ
ードにおいてプログラムカウンタの値が参照される場合
にも、同様に命令先頭のアドレスがPC相対の基準値とし
て使用される。
内容をアドレスとするメモリの内容をオペランドとす
る。オペランドアクセス後、SPをオペランドサイズだけ
インクリメントする。例えば、32ビットデータを扱う場
合、オペランドアクセス後にSPが+4だけ更新される。
8,16,64ビットのサイズのオペランドに対するスタック
ポップモードの指定も可能であり、それぞれSPが+1,+
2,+8だけ更新される。フォーマットの模式図を第20図
に示す。オペランドに対しスタックポップモードが意味
を持たないものについては、予約命令例外が発生され
る。予約命令例外となるのは具体的には、writeオペラ
ンド及びread-modify-writeオペランドに対するスタッ
クポップモード指定である。
イズだけデクリメントした内容をアドレスとするメモリ
の内容をオペランドとする。スタックプッシュモードで
はオペランドアクセス前にSPがデクリメントされる。例
えば、32ビットデータを扱う場合は、オペランドアクセ
ス前にSPが−4だけ更新される。8,16,64ビットのサイ
ズのオペランドに対するスタックプッシュモードの指定
も可能であり、それぞれSPが−1,−2,−8だけ更新され
る。フォーマットの模式図を第21図に示す。オペランド
に対してスタックプッシュモードが意味を持たないもの
に対しては、予約命令例外が発生される予約命令例外と
なるのは具体的には、readオペランド及びread-modify-
writeオペランドに対するスタックプッシュモード指定
である。
の組み合わせに分解することができる。従って、加算と
間接参照のオペレーションとをアドレッシングのプリミ
ティブとして与えておき、それを任意に組合わせること
が出来れば、いかに複雑なアドレッシングモードをも実
現することが出来る。本発明のデータ処理装置の命令の
多段間接アドレッシングモードはこのような考え方に立
脚したアドレッシングモードである。複雑なアドレッシ
ングモードは、モジュール間のデータ参照及びAI言語の
処理系に特に有用である。
ドレッシングモード指定フィールドでは、レジスタベー
ス多段間接モード,PCベース多段間接モード及び絶対ベ
ース多段間接モードの3種類の指定方法の内のいずれか
1つを指定する。
を拡張する多段間接アドレッシングのベース値とするア
ドレッシングモードである。フォーマットの模式図を第
22図に示す。図中、Rnは汎用レジスタの番号を示す。
を拡張する多段間接アドレッシングのベース値とするア
ドレッシングモードである。フォーマットの模式図を第
23図に示す。
接アドレッシングのベース値とするアドレッシングモー
ドである。フォーマットの模式図を第24図に示す。
トを単位としており、これが任意回反復される。1段の
多段間接モードにより、ディスプレースメントの加算,
インデクスレジスタのスケーリング(×1,×2,×4,×
8)と加算,メモリの間接参照が行われる。多段間接モ
ードのフォーマットの模式図を第25図に示す。図中の各
フィールドは以下に示す意味を有する。
て使用 (Rx=PC) <Rx>=2〜 reserved D=0:多段間接モード中の4ビットのフィールドd4の値
を4倍してディスプレースメント値とし、これを加算す
る。d4は符号付きとして扱い、オペランドのサイズとは
関係なく必ず4倍して使用する D=1:多段間接モードの拡張部で指定さたdispx(16/32
ビット)をディスプレースメント値とし、これを加算す
る。拡張部のサイズはd4フィールドで指定する d4=0001 dispxは16ビット d4=0010 dispx32ビット XX :インデスクのスケール(scal=1/2/4/8) プログラムカウンタに対して×2,×4,×8のスケーリ
ングを行なった場合には、その段の処理終了後の中間値
(tmp)として不定値が入る。
予測できない値となるが、例外は発生しない。プログラ
ムカウンタに対するスケーリングの指定は行なってはい
けない。
ョンは第26図及び第27図の模式図に示す。
リエーションを示す。第27図はディスプレースメントの
サイズのバリエーションを示す。
ラの中で段数による場合分けが不要になるので、コンパ
イラの負担が軽減されるというメリットがある。多段の
間接参照の頻度が非常に少ないとしても、コンパイラと
しては必ず正しいコードを発生できなければならないか
らである。このため、フォーマット上では任意の段数を
可能としている。
タを格納するメモリ空間である論理空間と各種のレジス
タ及び一部の命令により操作されるデータを格納するメ
モリ空間である制御空間との2つのメモリ空間をサポー
トする。
ータ処理装置においてプログラム,データを格納するメ
モリ空間と同じである。
操作命令によりデータを書込むこと及び読出すことが可
能であり、各種のレジスタがバイトアドレスでマップさ
れているレジスタ領域とデータを格納するためのデータ
領域とがある。なお、制御空間のデータ領域はコンテキ
スト操作命令でもアクセス可能である。
制御空間とをサポートして制御空間にコンテキストを保
持する技術としては、たとえば特開昭64-91253号公報に
詳細に開示されている。
ッチング命令であるLDCTX命令とSTCTX命令とで操作され
るコンテキストブロックのフォーマットを示す模式図で
ある。
用レジスタ10,11等にて構成されており、先頭アドレス
は第34図の模式図にその構成を示すCTXBBレジスタに保
持される。
ロックのフォーマットは第31図の模式図にその構成を示
すCSWレジスタで指定される。
である場合は、コンテキストブロックは第30図に示すフ
ォーマットになる。
第30図に示されている浮動小数点レジスタ12はLDCTX命
令とSTCTX命令とによる操作対象とはならない。
第30図に示されている浮動小数点レジスタ12,汎用レジ
スタ10,11がLDCTX命令とSTCTX命令とによる操作対象と
ならない。この場合は、CSWレジスタと4つのスタック
ポインタSPI(SP0,SP1,SP2,SP3)及びアドレス変換テー
ブルベースを示すUATBレジスタが操作対象となる。
る。
テキストブロックの先頭アドレスを8ビットの一般形ア
ドレッシングモードで指定するフィールドである。
理空間又は制御空間のいずれにあるのかを示すビットで
ある。Xビット15が“0"である場合はコンテキストブロ
ックは論理空間にあり、Xビット15が“1"である場合は
コンテキストブロックは制御空間にあることをそれぞれ
示す。
て指定されるアドレスがCTXBBレジスタにロードされ、
Xビット15で指定される空間内のCTXBADR16フィールド
で指定されるアドレスにあり且つ先頭のCSW値で指定さ
れるフォーマットの操作対象コンテキストブロックが対
応するレジスタにロードされる。
トアすべき空間を指定する。このSTCTX命令のXビット1
7が“0"であればコンテキストブロックを論理空間にス
トアすることが指定され、Xビット17が“1"であればコ
ンテキストブロックを制御空間にストアすることが指定
される。ストアすべきメモリアドレスはCTXBBレジスタ
で指定される。
空間内のCTXBBレジスタで指定されるアドレスにCSWレジ
スタで指定されるフォーマットのコンテキストブロック
に含まれるレジスタの内容が退避される。
成」 第4図は本発明のデータ処理装置の一構成例を示すブ
ロック図である。
ると、命令入力部110,命令フェッチ部111,命令デコード
部112,第1マイクロROM部113,第2マイクロROM部114,オ
ペランドアドレス計算部115,PC計算部116,整数演算部11
7,浮動小数点演算部118,アドレス入出力部119,オペラン
ドアクセス部120,データ入出力部121に分かれる。
ータ入出力部121をデータバス102に結合し、命令入力部
110を命令バス103に結合することにより前述の第6図に
示すシステム構成をとることができる。
に命令コードを本発明にデータ処理装置へ入力する。
レスに対して32ビットの命令コードをアクセスする標準
アクセスモードと1つのアドレスに対して4回連続で32
ビットの命令コードをアクセスするクワッドアクセスモ
ードとがあり、いずれの場合も命令入力部110に入力し
た命令コードを命令フェッチ部111へ出力する。
機構,内蔵命令キャッシュ,命令用TLB,命令キューとそ
れらの制御部がある。
値を物理アドレスに変換し、内蔵命令キャッシュから命
令コードをフェッチし、命令デコード部112へ出力す
る。内蔵命令キャッシュがミスした場合には、アドレス
入出力部119へ物理アドレスを出力して外部への命令ア
クセスを要求し、命令入力部110を通じて入力された命
令コードを内蔵命令キャッシュに登録する。
べき命令のPC値として専用のカウンタで計算される。ジ
ャンプが生じた場合には、新たな命令のPC値がオペラン
ドアドレス計算部115,PC計算部116あるいは整数演算部1
17から転送されてくる。
ス変換及び命令用TLB更新も命令フェッチ部111の内部の
制御回路により行われる。
である場合は、アドレス入出力部119を通じて入力され
た物理アドレスがヒットする内蔵命令キャッシュのエン
トリを無効化する。
ード)単位に命令コードをデコードする。
ーションコードをデコードするFHWデコーダ,第2及び
第3ハーフワードに含まれるオペレーションコードをデ
コードするNFHWデコーダ,アドレッシングモードをデコ
ードするアドレッシングモードデコーダが含まれる。
コードしてマイクロROMのエントリアドレスを計算する
第2デコーダ,条件分岐命令の分岐予測を行う分岐予測
機構,オペランドアドレス計算の際のパイプラインコン
フリクトをチェックするアドレス計算コンフリクトチェ
ック機構も含まれる。
た命令コードを1クロックにつき0〜6バイトデコード
する。デコード結果の内の、整数演算部117での演算に
関する情報が第1マイクロROM部113へ、浮動小数点演算
部118での演算に関する情報が第2マイクロROM部114
へ、オペランドアドレス計算に関係する情報がオペラン
ドアドレス計算部115へ、PC計算に関係する情報がPC計
算部116へそれぞれ出力される。
う種々のマイクロプログラムルーチンが格納されている
マイクロROM,マイクロシーケンサ,マイクロ命令デコー
ダ等どが含まれる。
出される。マイクロシーケンサは命令実行に関するマイ
クロプログラム実行のためのシーケンス処理の他に、例
外,割込,トラップ(この3つ併せてEITと総称する)
の受付けと各EITに対応するマイクロプログラムのシー
ケンス処理も行う。
部割込みや整数演算実行結果によるマイクロプログラム
の分岐条件も入力される。
て出力されるが、ジャンプ命令の実行時及び例外受付時
には一部の情報を他の機能ブロックへも出力する。
御を行う種々のマイクロプログラムルーチンが格納され
ているマイクロROM,マイクロシーケンサ,マイクロ命令
デコーダ等が含まれる。
出される。マイクロシーケンサはマイクロプログラムで
示されるシーケンス処理の他に、浮動小数点演算に関係
する例外の処理も行い、マスクされていない浮動小数点
例外が検出された場合には第1マイクロROM部113へ例外
処理を要求する。第2マイクロROM部114のマイクロシー
ケンサは第1マイクロROM部113のマイクロシーケンサと
並列に動作し、整数演算部117と並列に浮動小数点演算
部118を制御する。
よるフラッグ情報も入力される。
に対して出力されるが、浮動小数点演算に関係する例外
の検出等の一部の情報は他の機能ブロックへも出力され
る。
のアドレッシングモードデコーダ等から出力されたオペ
ランドアドレス計算に関係する情報によりハードワイヤ
ード制御される。このブロックではメモリ間接アドレッ
シングのためのメモリアクセス以外のオペランドのアド
レス計算とジャンプ命令のジャンプ先アドレスの計算と
が行われる。
力される。オペランドアドレス計算終了段階での先行ジ
ャンプ処理では、ジャンプ先アドレスの計算結果が命令
フェッチ部111とPC計算部とへ出力される。
部118へ出力される。アドレス計算に必要な汎用レジス
タ及びプログラムカウンタの値は整数演算部117又はPC
計算部116から入力される。
算に関係する情報でハードワイヤードに制御され、命令
のPC値を計算する。
命令であり、命令をデコードしてみないとその命令の長
さが判らない。PC計算部116は、命令デコード部112から
出力される命令長をデコード中の命令のPC値に加算する
ことにより次の命令のPC値を計算する。
ントレジスタあるいはトリガポインタレジスタの値と実
行された命令のPC値との比較も行われる。
デコード結果とともに出力される。
令デコード部11から出力されるブランチ幅をPC値に加算
することによりブランチ先命令のアドレスが計算され
る。
令の実行時にスタックにプッシュしておいたサブルーチ
ンからの戻り先PC値のコピーを保持するPCスタックが用
意されている。PC計算部116は、サブルーチンからのリ
ターン命令に対してはPCスタックから戻先PCを読出すこ
とにより、プリリターン先命令のアドレスを生成する処
理も行う。
に格納されたマイクロプログラムにより制御され、各整
数演算命令の機能を実現するために必要な演算を整数演
算部117の内部にあるレジスタファイルと演算部とを使
用して実行する。
タが含まれる。また、整数演算部117には整数演算の結
果により変化するフラッグ及び外部割込みのマスクレベ
ルを定めるビット等を含むプロセッサ状態語(PSW),CS
Wレジスタ,UATBレジスタ,CTXBBレジスタ,バッファメモ
リ制御レジスタ等も含まれる。
即値である場合は、オペランドアドレス計算部115から
即値あるいは計算されたアドレスが入力される。また、
命令の演算対象となるオペランドがメモリ上のデータで
ある場合は、アドレス計算部115で計算されたアドレス
がオペランドアクセス部120へ出力され、データバッフ
ァあるいは外部からフェッチされたオペランドが整数演
算部117へ入力される。
シュ107,108あるいは主メモリ109をリードする必要があ
る場合は、整数演算部117はマイクロプログラムの指示
によりオペランドアクセス部120へアドレスを出力して
目的のデータをフェッチする。
107,108あるいは主メモリ109へストアする必要がある場
合は、整数演算部117はマイクロプログラムの指示によ
りオペランドアクセス部120へアドレスとデータとを出
力する。この際、P計算部116からはそのストア動作を
行った命令のPC値がオペランドアクセス部120出力され
る。
レスを整数演算部117が得た場合は、整数演算部117はこ
れを命令フェッチ部111とPC計算部116とへ出力する。
クロROMに格納されたマイクロプログラムにより制御さ
れ、各浮動小数点演算命令の機能を実現するために必要
な演算を浮動小数点演算部118の内部にあるレジスタフ
ァイルと演算部とを使用して実行する。
処理方法及び浮動小数点演算例外の検出許可をモード設
定する浮動小数点演算モード制御レジスタFMCと、浮動
小数点演算結果に対するフラグ及び浮動小数点演算例外
の発生状態に示すステータスビットからなる浮動小数点
演算状態語FSWとが備えられている。
は、オペランドアドレス計算部115から浮動小数点演算
部118へ即値が入力される。また、命令の演算対象とな
るオペランドがメモリ上のデータである場合は、アドレ
ス計算部115で計算されたアドレスがオペランドアクセ
ス部120へ出力され、データバッファまたは外部からフ
ェッチされたオペランドが浮動小数点演算部118へ入力
される。
ャッシュ107,108あるいは主メモリ109へストアする必要
がある場合は、浮動小数点演算部118はマイクロプログ
ラムの指示によりオペランドアクセス部120へデータを
出力する。ストア動作では浮動小数点演算部118と整数
演算部117とが協調して動作し、オペランドアクセス部1
20に対して整数演算部117からオペランドのアドレスが
出力され、浮動小数点演算部118からオペランドが出力
される。この際、PC計算部116からはそのストア動作を
行った命令のPC値がオペランドアクセス部120へ出力さ
れる。
アドレス変換機構,データバッファ,データ用TLB,スト
アバッファ,オペランドブレイクポイントレジスタとそ
れらの制御部とがある。
タキャッシュまたはPC値のトレースメモリとして動作す
る。
せる場合、データのロード動作に際しては、オペランド
アクセス部120はオペランドアドレス計算部115または整
数演算部117から出力されたロードすべきデータの論理
アドレスを物理アドレスに変換し、データバッファから
データをフェッチし、整数演算部117または浮動小数点
演算部118へ出力する。
セス部120はアドレス入出力部119へ物理アドレスを出力
し、外部へのデータアクセスを要求し、データ入出力部
122を通じて入力されたデータをデータバッファに登録
する。
部120は整数演算部117から出力さたストアすべきデータ
の論理アドレスを物理アドレスに変換し、整数演算部11
7あるいは浮動小数点演算部118から出力されたデータを
データバッファにストアすると共に、ストアバッファを
通じてアドレス入出力部119へ物理アドレスを出力し、
データ入出力部122を通じて出たを外部へ出力する。ス
トア動作でミスが発生した場合には、データの更新は行
われない。
ス,更にそのストア動作を行た命令のPC値とが1組にし
て管理される。ストアバッファでのストア動作は先入れ
先出し制御方式で管理される。
作させる場合、データバッファはアドレスがH'FFFFE000
〜H'FFFFFFFF(H'は16進数を表す)の制御空間となる
(ランダムアクセスメモリ)RAMとして動作し、コンテ
キストスイッチング命令又は制御空間操作命令でアクセ
スすることが可能である。
レス変換及びデータ用TLBの更新もオペランドアクセス
部120の内部の制御回路により行われる。また、メモリ
アクセスアドレスがメモリにマップされたI/O領域に入
るか否かのチェックも行われる。
動作させる際に、本発明のデータ処理装置のバスウォッ
チモードである場合には、オペランドアクセス部120は
アドレス入出力部119を通じて入力された物理アドレス
がヒットするデータバッファのエントリを無効化する。
ドアクセス部120とか出力されたアドレスを本発明のデ
ータ処理装置100の外部へ出力する。
られたバスプロトコルに従って実行される。
る外部バス制御回路で行われる。外部バス制御回路では
ページ不在例外及びバスアクセス例外,外部割込みの受
付けも行う。
スがバスマスタになっており、本発明のデータ処理装置
100がバスウォッチモードである場合には、アドレス入
出力部119は外部デバイスがデータライトサイクルを実
行した際にアドレスバス101上へ出力されたアドレスを
取込んで命令フェッチ部111とオペランドアクセス部120
とへ転送する。
ては、データバス102からデータを取込みオペランドア
クセス部120へ転送する。オペランドのストア動作に際
しては、オペランドアクセス部120から出力されたオペ
ランドをデータバス102へ出力する。
のアドレスに対して64ビットのデータをアクセスする標
準アクセスモードと1つのアドレスに対して4回連続で
64ビットのデータをアクセスするクワッドアクセスモー
ドとがあり、いずれの場合もデータ入出力部121はオペ
ランドアクセス部120と外部のメモリとの間でやり取り
するデータを入出力する。
と、命令バス103,データバス102を使用したメモリの効
率的アクセスにより命令をパイプライン処理して高性能
に動作する。
ン処理方法について説明する。
は第5図に模式図に示すように構成されている。
ステージ)31,命令のデコードを行うデコードステージ
(Dステージ)32,オペランドのアドレス計算を行うオ
ペランドアドレス計算ステージ(Aステージ)33,マイ
クロROMアクセス(特にRステージ37と称す)とオペラ
ンドのプリフェッチ(特にOFステージ38と称す)を行う
オペランドフェッチステージ(Fステージ)34,命令の
実行を行う実行ステージ(Eステージ)35,メモリオペ
ランドのストアを行うストアステージ(Sステージ)36
の6段構成でパイプライン処理を実行する。
は6つのステージが完全に独立動作する。
クロックで行うことができる。Sステージ36は1回のオ
ペランドストア処理を最小2クロックで行うことができ
る。従ってメモリオペランドのストア処理がない場合、
理想的には1クロックごとに次々にパイプライン処理が
進行する。
るいはメモリ間接アドレッシング等のような1回の基本
パイプライン処理のみでは処理出来ない命令があるが、
これらの処理に対してもなるべく均衡したパイプライン
処理が行えるように構成されている。
モリオペランドの数に基づいてデコード段階で複数のパ
イプライン処理単位(ステップコード)に分解してパイ
プライン処理が行われる。
コードそのものである。
令で指定された演算に関するコード(Dコード41と称
す)と、オペランドのアドレス計算に関係するコード
(Aコード42と称す)と処理中命令のプログラムカウン
タ値(PC)との3つである。
イクロプログラムルーチンのエントリ番地及びマイクロ
プログラムへのパラメータ等を含むRコード43と、オペ
ランドのアドレスとアクセス方法指示情報等を含むFコ
ード44と、処理中命令のプログラムカウンタ値(PC)と
の3つである。
算制御情報とリテラル等を含むEコード45と、オペラン
ド及びオペランドアドレス等を含むSコード(46a,46
b)と、処理中命令のプログラムカウンタ値(PC)との
3つである。
る。
トアすべき演算結果であるWワード47a,47bと、その演
算結果を出力した命令のプログラムカウンタ値(PC)と
の2つである。
る。
コードがEステージ35に到達するまでEIT処理を起動し
ない。Eステージ35で処理されている命令のみが実行段
階の命令であり、IFステージ31〜Fステージ34で処理さ
れている命令は未だ実行段階に至っていないからであ
る。従ってEステージ35以前で検出されたEITは検出さ
れたことがステップコード中に記録されて次のステージ
に伝えられるのみである。
中命令の実行が完了した時点またはその命令の処理がキ
ャンセルされた時点で受付けられ、Eステージ35に戻っ
て処理される。
は第5図に示したように便宜上名称が付与されている。
またステップコードには、オペレーションコードに関す
る処理を行っているマイクロROMのエントリ番地やEス
テージ35に対するパラメータ等になる系列と、Eステー
ジ35の処理対象のオペランドになる系列との2系列があ
る。
理中命令のプログラムカウンタ値が受渡される。
チ部111が動作する。
部から命令をフェッチして命令キューに入力し、Dステ
ージ32に対して2〜6バイト単位に命令コードを出力す
る。命令キューの入力は整置された4バイト単位で行わ
れる。
命令をフェッチする場合は整置された4バイトにつき最
小2クロックを要する。
ロックを要する。
バイトにつき1クロックでフェッチ可能である。
1クロックの間に最大6バイトまで出力できる。またジ
ャンプの直後には命令キューをバイパスして命令基本部
2バイトを直接命令デコーダに転送することもできる。
令キャッシュや命令用TLBの制御,プリフェッチ先命令
アドレスの管理あるいは命令キューの制御もIFステージ
31で行われる。
31から入力された命令コードをデコードする。
コーダ,NFHWデコーダ,アドレッシングモードデコーダ
を使用して1クロックに1度行なわれ、1回のデコード
処理で0〜6バイトの命令コードが消費される(リター
ンサブルーチン命令の復帰先アドレスを含むステップコ
ードの出力処理等では命令コードは消費されない)。
情報であるAコード42とオペコードの中間デコード結果
であるDコード41とが出力される。
らの命令コード出力処理も行われる。
からのリターン命令に対して先行ジャンプ処理が行われ
る。先行ジャンプを行った無条件ブランチ命令に対して
はDコード41及びAコード42は出力されず、Dステージ
32において命令の処理を終了する。
処理は大きく2つに分かれる。
オペレーションコードの後段デコードを行う処理で、他
方はオペランドアドレス計算部54でオペランドアドレス
の計算を行う処理である。
41を入力とし、レジスタ,メモリの書込み予約及びマイ
クロプログラムルーチンのエントリ番地とマイクロプロ
グラムに対するパラメータ等を含むRコード43を出力す
る。
レス計算で参照したレジスタあるいはメモリの内容がパ
イプライン上を先行する命令で書換えられていた場合
に、誤ったアドレス計算が行われることを防ぐためのも
のである。
し、Aコード42に従ってオペランドアドレス計算部54で
オペランドのアドレス計算を行い、その計算結果がFコ
ード44として出力される。
算が行われて先行ジャンプ処理が実行される。この際、
アドレス計算に伴うレジスタの読出し時に書込み予約の
チェックも行われ、先行命令がレジスタあるいはメモリ
に対する書込み処理を終了していないために予約がある
ことが指示されていれば、先行命令がEステージ35で書
込み処理を終了するまで待機状態になる。
なかったジャンプ命令に対して先行ジャンプ処理が行わ
れる。
ドレッシングのジャンプ等に対してはAステージ33で先
行ジャンプが行われる。先行ジャンプを行った無条件ジ
ャンプ命令に対してはRコード43及びFコード44は出力
されず、Aステージ33において命令の処理を終了する。
も大きく2つに分かれる。
テージ37と称す。他方はオペランドプリフェッチ処理で
あり、特にOFステージ38と称す。
するわけではなく、データキャッシュのミス及びヒッ
ト,データTLBのミス及びヒット等に依存して動作タイ
ミングが異なる。
は、Rコード43に対して次のEステージ35での実行に使
用する実行制御コードであるEコード45を作り出すため
のマイクロROMアクセスとマイクロ命令デコード処理で
ある。
ログラムステップに分解される場合、第1マイクロROM
部113及び第2マイクロROM部114がEステージ35で使用
され、次のRコード43がマイクロROMアクセス待ちにな
る場合がある。
のはEステージ35でのマイクロROMアクセスが行われな
い場合である。
が1マイクロプログラムステップで行われ、多くの浮動
小数点演算命令が2マイクロプログラムステップで行わ
れるため、実際にはRコード43に対するマイクロROMア
クセスが次々と行われる頻度が高い。
テージ34で行う上記の2つの処理の内のオペランドプリ
フェッチ処理を行う。
アドレスをデータTLBで物理アドレスに変換し、その物
理アドレスで内蔵データキャッシュをアクセスしてオペ
ランドをフェッチし、そのオペランドとFコード44とし
て転送されてきたその論理アドレスとを組合わせてSコ
ード46a,46bとして出力する。
いが、8バイト以下のオペランドフェッチを指定する。
指定も含まれており、Aステージ33で計算されたオペラ
ンドアドレス自体あるいは即値をEステージ35へ転送す
る場合にはオペランドプリフェッチは行わず、Fコード
44の内容をSコード46a,46bとして転送する。
が書込み処理を行おうとするオペランドとが一致する場
合は、オペランドプリフェッチは内蔵データキャッシュ
からは行われず、バイパスして行なわれる。
ード46a,46bを入力として動作する。
Eステージ34以前のステージで行われた処理は総てEス
テージ35のための前処理である。
処理が起動されたりした場合は、IFステージ31〜Fステ
ージ34まででの処理はすべて無効化される。
Eコード45に示されたマイクロプログラムルーチンのエ
ントリ番地からの一連のマイクロ命令を実行することに
より命令を実行する。
にEIコードと称す)と浮動小数点演算部118を制御する
コード(特にEFコードと称す)とがある。EIコードとEF
コードとは独立に出力可能であり、この際Eステージ35
では整数演算部117と浮動小数点演算部118とが並列に動
作する。
さない浮動小数点命令を実行する場合はこの動作は整数
演算部117の動作と並行して実行される。
しとマイクロ命令の実行とはパイプライン化されて行わ
れる。従って、マイクロプログラムで分岐が発生した場
合は1マイクロステップの空きができる。
いはメモリに対する書込み予約をオペランドの書込みの
後に解除する。
られ、マイクロプログラムにより必要な処理が実行され
る。その他の各種EITの処理もEステージ35でマイクロ
プログラムにより行われる。
Eステージ35はSステージ36へWコード47a,47bとスト
ア処理を行う命令のプログラムカウンタ値とを出力す
る。
ドの論理アドレス47aをデータTLBで物理アドレスに変換
し、そのアドレスでWコードのデータ47bをデータバッ
ファにストアする。同時にオペランドストアステージ36
はWコード47a,47bとプログラムカウンタ値とをストア
バッファに入力し、データTLBから出力された物理アド
レスを用いて外部のメモリへWコードのデータ47bをス
トアする処理を行う。
セス部120で行われ、データTLBあるいはデータバッファ
がミスした際のアドレス変換処理及びデータバッファの
入換え処理も行う。
理でEITで検出した場合はストアバッファにWコード47
a,47bとプログラムカウンタ値とを保持したままでEス
テージ35にEITを通知する。
を有し、他のステージとは独立に動作することを基本と
する。
結果を出力ラッチから次のステージの入力ラッチへ転送
し、自分のステージの入力ラッチに次の処理に必要な入
力信号の総てがそろえば次の処理を開始する。
れてくる次の処理に対する入力信号の総てが有効にな
り、その時点の処理結果を後段のステージの入力ラッチ
へ転送し、出力ラッチが空になると次の処理を開始す
る。
信号が総てそろっている必要がある。入力信号がそろっ
ていなければ、そのステージは待機状態(入力待ち)に
なる。
行われる際は次のステージの入力ラッチが空き状態にな
っている必要があり、次のステージの入力ラッチが空き
でない場合もパイプラインステージは待機状態(出力待
ち)になる。
ラインで処理中の命令間にデータ干渉が生じると、1つ
のステージの処理に複数クロック必要となってパイプラ
イン処理が遅延する。
詳細なブロック図である。
と物理アドレスとをペアにしてバッファリングするTLB2
01,物理アドレスとデータとをペアにしてバッファリン
グする内蔵のデータキャッシュとして動作するかまたは
コンテキスト退避用の制御空間のメモリとして動作する
データバッファ202,アクセスされたデータの論理アドレ
スの上位とTLB201の論理アドレスタグとを比較する論理
アドレス比較器303,TLB201から出力された物理アドレス
とデータバッファ202から出力された物理アドレスタグ
とを比較する物理アドレス比較器204,データ入出力回路
207,アドレス出力回路206,ストアバッファ部208,更に論
理アドレス比較器203及び物理アドレス比較器204の比較
結果に従って全体を制御するオペランドアクセス部制御
回路205等にて構成されている。
ス変換対象となる上位20ビットの内の下位側(8ビッ
ト)でTLB201のエントリが指定される。
(12ビット)と物理アドレス(20ビット)とが出力され
る。この際、論理アドレスの上位側(12ビット)と論理
アドレスタグとが一致すればTLB201はヒットしたことに
なり、TLB201から出力された物理アドレスは有効であ
る。
作する場合は、論理アドレスの内のページオフセットを
示し物理アドレスに変換されない下位ビット(12ビッ
ト)でデータバッファ202のエントリが指定される。デ
ータバッファ202の指定されたエントリからは物理アド
レスタグ(20ビット)とデータとが出力される。この
際、TLB201から出力された物理アドレスが有効で且つそ
れが物理アドレスタグと一致すればデータバッファ202
はヒットしたことになり、データバッファから出力され
たデータは有効である。
205の制御により、本発明のデータ処理装置100の外部の
メモリにあるアドレス変換テーブルがアクセスされ、論
理アドレスが物理アドレスに変換され、TLB201のエント
リが更新される。TLB201のエントリの更新後、再びTLB2
01がアクセスされ、TLB201はヒットする。
作したデータバッファ202がミスした場合は、オペラン
ドアクセス部制御回路205の制御により、物理アドレス
で外部のメモリがアクセスされ、データバッファ202の
エントリが更新される。
アドレスとデータバッファの物理アドレスタグとが一致
してもデータバッファ202はヒットとはならない。この
場合、データバッファ202のヒット/ミスの判定はTLB20
1のエントリが更新されてTLB201がヒットした後に行わ
れる。
る場合は、論理空間のアクセスに対してTLB201で変換さ
れた物理アドレスが本発明のデータ処理装置100の外部
に出力されることにより外部からデータがフェッチされ
る。
作はTLB201のアクセスに関してはデータリード動作時と
同様である。
作する場合、データバッファ202のアクセス動作もデー
タリード動作と類似しているが、データバッファ202か
らデータが読出されることはない。
た場合はヒットしたエントリにデータが書込まれる。ミ
スした場合はデータバッファ202にはデータは書込まれ
ず、エントリの更新動作も行われない。
イトスルー制御のデータキャッシュとして動作し、デー
タライト動作時にデータバッファ202がヒットした場合
もミスした場合もストアデータが外部へ出力される。
る場合は論理空間へのオペランドライト時にデータバッ
ファがアクセスされることはない。この場合、TLB201で
変換された物理アドレスが本発明のデータ処理装置100
の外部へ出力されると共にストアデータが外部へ出力さ
れる。
必要とし、本発明のデータ処理装置100のEステージ35
のストア動作速度に比べて低速である。このため、スト
アデータはそのストア動作を行った命令のPC値,ストア
先の物理アドレス,ストア先の論理アドレスと共にスト
アバッファに一旦登録され、その後にストアバッファが
ストア動作を行う。ストアバッファに登録されるストア
動作を行った命令のPC値はPC計算部116から入力された
命令のPC値である。
FFFFFの制御空間のメモリとして動作する場合は、アド
レスがH'FFFFE000〜H'FFFFFFFFである制御空間に対する
アクセスはデータバッファ202に対して行われる。
B201動作しない。またデータバッファ202はアドレス範
囲がH'FFFFE000〜H'FFFFFFFFであるランダムアクセスメ
モリ(RAM)として動作する。
スに従ってデータバッファ202の内容が読出され、DDバ
ス125を通じて整数演算部117または浮動小数点演算部11
8へ出力される。また、ライン動作時には、AAバス124か
ら入力されたアドレスに従ってDDバス125を通じてデー
タ入出力回路207に入力されたデータがデータバッファ2
02に書込まれる。
域の制御空間に対するアクセスは、本発明のデータ処理
装置100の外部に対して行われる。
うか又は外部に対して行うかは、制御空間アドレスの上
位20ビットに従ってオペランドアクセス部120内で判断
される。この判断は、論理アドレス比較器203でTLB201
側の20ビットで総て“1"にし、その値とAAバス124から
入力されたアドレスの上位の20ビットの内の最下位ビッ
トをdon't careにした19ビット分とを比較することによ
り行われる。
示す模式図である。
本のデータピンと32本のアドレスピンと32本の命令ピン
及び入力クロックCLKの他に種々の制御信号を入出力す
る。
レスピンへは物理アドレスが出力される。
装置100の動作クロックと同一周波数のクロックであ
る。
す)はアドレスピンに出力されたデータアドレスが有効
であることを示す。
力であるか出力であるかを区別する。
がデータ入力準備を完了したことまたは本発明のデータ
処理装置100からデータが出力されたことを示す。
サイクルを終了してもよいことを通知する信号である。
タピンと命令ピンとの値の意味を示す。
された命令アドレスが有効であることを示す。
命令入力準備を完了したことを示す。
イクルを終了してもよいことを通知する信号である。
100にバス権を要求する信号であり、HACK#は本発明の
データ処理装置100がオールドリクエストHREQ#を受付
けてバス権を他のデバイスに渡したことを示す信号であ
る。
受付け、割込みベクトルアクセスサイクルを行っている
ことを示す信号である。
を64ビット総て有効にするか、または32ビットのみを有
効にするかをシステムリセット時に設定するために使用
されるピンである。
た場合の例が示されているが、本発明のデータ処理装置
ではデータバスを32ビットのみ有効にして動作させるこ
とにより、低コストのシステムを構成することが可能な
ようになっている。
システムの例では、本発明のデータ処理装置100とデー
タキャッシュ107,108とがデータピンに接続するデータ
バス102,アドレスピンに接続するアドレスバス101の
他、BAT(0:2),DAS#,R/W#,DS#,DC#でも接続されて
いる。
命令ピンに接続する命令バス103,アドレスバス101の
他、BAT(0:2),IAS#,IS#,IC#でも接続されている。
ングを決定するクロックである。
ータバス102を用いたデータアクセスと命令バス103を用
いた命令アクセスとをそれぞれ十分高速な外部のメモリ
に対して外部入力クロックCLKの2サイクルに1度の速
度で行う。
は、データバス102を用いたデータアクセスと命令バス1
03を用いた命令アクセスとをそれぞれ十分高速な外部の
メモリに対して外部入力クロックCLKの5サイクルに4
度の速度で行う。
スと命令キャッシュ106のアクセスとの両方に利用され
る。
にあるプロセッサ状態語(PSW)の構成を示す模式図で
ある。
用スタックポインタを使用中であるかリング0用スタッ
クポインタを使用中であるかを示す。
グ番号を示す。
ドを示す。
示す。
バッグサポート機構がオンで、デバッグ条件が成立すれ
ばセルフデバッグトラップが起動される。DB=0であれ
ばデバッグサポート機構がオフで、デバッグ条件が成立
してもセルフデバッグトラップは起動されない。
す。IMASKフィールド25で示されたマスクレベルより優
先度の高い外部割込みが本発明のデータ処理装置100に
入力されると割込み処理が起動される。
リング番号を示す。
た、PSWはLDC命令とSTC命令とでその内容を読出すこと
及び指定した内容をを書込むことがそれぞれ可能であ
る。
ッファ202及び内蔵命令バッファの制御を行うバッファ
メモリ制御レジスタの構成を示す模式図である。
202の制御を行うフィールドであり、以下に示す意味を
示す。
FFFFFである制御空間のメモリとして動作させる。
ャッシュとして動作させる。
シュとして動作する際の制御を行うフィールドであり、
以下に示す意味を有する。
作させる。
作させる。
ールドであり、以下に示す意味を有する。
した命令を選択的に登録するセレクティブキャッシュと
して動作させる。
ャッシュとして動作させる。
ッシュとして動作させた際の命令の登録条件を制御する
フィールドであり、以下に示す意味を有する。
ズする。
ン入換える。
ン入換える。
ッファ202及び内蔵命令バッファのパージ動作を制御す
るパージ指定レジスタの構成を示す模式図である。
ファ202のパージ動作を制御するためのビットであり、
これらの各ビットに“1"を書込むとそれぞれのビットに
対応するバッファメモリの内容がパージされる。また、
これらの各ビットに“0"を書込むとそれぞれのビットに
対応するバッファメモリの内容はパージされない。更
に、このレジスタの値が読出された場合には全ビットが
ゼロになる。
ージしない。
ージする。
ージしない。
ージする。
ージしない。
ージする。
ージしない。
ージする。
種類」 本発明のデータ処理装置100で発生するEITには、命令
に依存しないEITとして、アクセスした論理アドレスに
対応するデータ及び命令が主メモリ109上になくページ
フォールトが発しした場合に検出されるページ不在例
外,論理アドレスを物理アドレスに変換中に発生するエ
ラー,メモリ保護違反及びI/O領域に関する不当なアク
セスが生じた場合に発生するアドレス変換例外,命令ま
たはオペランドアクセスにおいて一定時間以内にバスか
らの応答がなくメモリアクセスが実行されなかった場合
に発生するバスアクセス例外がある。
命令のジャンプ先アドレスが奇数であった場合に発生す
る奇数アドレスジャンプトラップ,割当てられていない
命令及びアドレッシングモードのビットパターンを実行
しようとした場合に発生する予約命令例外,整数演算で
0除算を行なった場合に発生するゼロ除算トラップ,浮
動小数点命令を実行した際にマスクされていない例外を
検出した場合に発生する浮動小数点演算トラップ,TRAPA
命令により発生する無条件トラップ,TRAP/cc命令により
発生する条件トラップがある。
下の手順に従うマイクロプログラムが実行され、EIT処
理ハイドラが起動される。
データ処理装置100内部で生成される。
処理ハイドラの先頭アドレスとEITのベクトルとがペア
にして記憶されているEITベクトルテーブルがアクセス
される。
されており、EIT処理ハイドラに処理が移る前に本発明
のデータ処理装置100のプロセッサステータスワード(P
SW)を更新するためのデータが含まれている。
に戻るための戻り先命令のPC値であるNEXTPC,EITを起動
する前のPSW,及び検出したEITの番号等の検出したEITに
関する各種の情報であるEITINFがスタックに退避され
る。
報もスタックに退避される。
Tの種類に依存しており、5種類のフォーマットに分か
れる。
づいてPSWが更新される。この際、PSWにreservedの値が
セットされようとするとシステムエラーとなる。このPS
Wの更新により、メモリ保護情報となるリング番号の更
新,アドレス変換の有無の切換え、デバッグ環境の切換
え,割込みマスクレベルの切換え,浮動小数点演算トラ
ップ受付モードの切換えを行うことが可能になる。
値へのジャンプが行われ、EIT処理ハンドラが起動す
る。多重にEITが検出されており、未処理のEITが抑止さ
れていない場合はEIT処理ハンドラの先頭命令を実行す
る以前にその未処理のEITに対するEIT処理ハンドラを起
動するための処理が行われる。
作」 EIT処理ハンドラによる各EITに対応する処理が終了し
た後、EIT処理ハンドラで最後に実行されるREIT命令で
は以下のような処理を行うマイクロプログラムが実行さ
れて元の命令列に復帰する処理を行う。
TINFとが読込まれる。続いてスタックから戻先命令の論
理アドレスが読込まれる。
有無が判定され、追加情報があればスタックからそれが
読込まれる。追加情報は前述の如く5つのフォーマット
に依存してそれぞれ異なる。
のPSW値に従ってPSWの全フィールドがEIT発生前の値に
復帰される。
の再実行をREIT命令の実行中に行なう場合がある。
レスへのジャンプが実行され、元の命令列に復帰する。
との一構成例を示すブロック図である。
らなるメモリアレイ部はWブロック230,Xブロック231,Y
ブロック232,Zブロック233の4ブロックにて構成されて
いる。なお、各ブロック230,231,232,233には20ビット
のタグアドレスと16ビットのデータとで一組に構成され
るエントリが128個ずつある。
出力レジスタを介して入出力される。
ドレス比較器へ出力される。
らデータバッファ202へ入力されるアドレスを保持し、
上位20ビットが4つのアドレス比較器238,239,240,241
へ出力され、下位の5ビット目から13ビット目の9ビッ
トがメモリアレイ部へ出力される。また、IAレジスタ24
2の下位から12ビット目及び下位5ビットがマルチプレ
クサ制御回路244へ出力される。
34,235,236,237とデータ入出力回路207とのインターフ
ェイスとなる8バイトのIODバッファ245に接続されてい
る。マルチプレクサ制御回路244は4つのアドレス比較
器238,239,240,241とIAレジスタ242との内容に従ってマ
ルチプレクサ243を制御する。
0"とし、RPフィールド1を“10"とするとデータバッフ
ァ202は容量が8kB,ラインサイズが16バイトで4ウエイ
セットアソシアティブのデータキャッシュとして動作す
る。また、メモリアレイの4つのブロック230,231,232,
233はそれぞれ1つのコンパートメントとして動作す
る。
されたアドレスの5ビット目から11ビット目の7ビット
で各コンパートメントのエントリが選択され、4つのタ
グアドレスが4つのアドレス比較器238,239,240,241に
それぞれ出力され、4つのバイトデータが4つのデータ
入出力レジスタ234,235,236,237にそれぞれ読出され
る。
グアドレスがIAレジスタ242の上位20ビットのアドレス
とそれぞれ比較される。IAレジスタ242の下位4ビット
のアドレスと比較結果とに従って、一致したコンパート
メントの出力データから必要なデータがマルチプレクサ
243により選択されてIODバッファ245に読出される。
同様な動作でIODバッファ245からマルチプレクサ243と
データ入出力レジスタ234,235,236,267とを通じてデー
タが書込まれる。
のクワッドアクセスモードで外部のメモリがアクセスさ
れ、4つのコンパートメントの内の対応する1つのエン
トリが書換えられる。このため、RPフィールド1=“1
0"の16バイトラインサイズモードでは、データバス102
を32ビットで使用するシステムで有効に動作する。
0"とし、RPフィールド1を“11"とすると、データバッ
ファ202は容量が8kB,ラインサイズが32バイトで2ウエ
イセットアソシアティブのデータキャッシュとして動作
する。この場合、メモリアレイはWブロック230とXブ
ロック231とが組み合わさって1つのコンパートメント
として動作し、またYブロック232とZブロック233とが
組合わさって1つのコンパートメントとして動作する。
グアドレス部には同一の値が記憶され、同一エントリの
データ部には32バイトのデータが16バイトずつ記憶され
る。同様に、Yブロック232とZブロック233との同一エ
ントリのタグアドレス部には同一の値が記憶され、同一
エントリのデータ部には32バイトのデータが16バイトず
つ記憶される。
されたアドレスの6ビット目から12ビット目の7ビット
で各コンパートメントのエントリが選択され、4つのタ
グデータが4つのアドレス比較器238,239,240,241にそ
れぞれ出力され、4つの16バイトデータが4つのデータ
入出力レジスタ234,235,236,237にそれぞれ読出され
る。
グアドレスがIAレジスタ242の上位20ビットのアドレス
とそれぞれ比較される。IAレジスタ242の下位5ビット
のアドレスと比較結果とに従って、一致したコンパート
メントとなる2つのブロックの出力データである32バイ
トから必要なデータがマルチプレクサ243により選択さ
れ、IODバッファ245に読出される。
同様な動作で、IODバッファ245からマルチプレクサ243
とデータ入出力レジスタ234,235,236,237とを通じてデ
ータが書込まれる。
クワッドアクセスモードで外部のメモリがアクセスさ
れ、2つのコンパートメントの内の対応する1つのエン
トリが書換えられる。このため、RP1=“11"の際の32バ
イトラインサイズモードでは、データバス102の64ビッ
トで使用するシステムで有効に動作する。
1"とするとRPフィールド1の値には拘わらず、データバ
ッファ202はアドレスがH'FFFFE000〜H'FFFFFFFFである
容量8kBの制御空間メモリとして動作する。
ず、データ部のみが使用される。
全体で256エントリ×32バイトのメモリアレイとして動
作し、IAレジスタ242で指定された制御空間アドレスの
6ビット目から13ビット目でエントリが指定され、メモ
リアレイがアクセスされる。
必要なバイトがIAレジスタ242の下位5ビットのアドレ
スに従ってマルチプレクサで選ばれ、IODバッファ245に
入力される。
トのデータの内の必要なバイトがマルチプレクサで対応
するデータ入出力レジスタ234,235,236,237に転送さ
れ、メモリアレイの対応する場合に書込まれる。
キストブロック情報をコンテキストスイッチング命令で
あるLDCTX命令とSTCTX命令とで操作する場合、8バイト
単位でデータを処理し、高速でコンテキストスイッチン
グを行う。
数演算部117の構成例の詳細を、オペランドアドレス計
算部115,浮動小数点演算部118,オペランドアクセス部12
0と共に示すブロック図である。
数演算部117に出力されるオペランドアドレス及び即値
を保持するレジスタである。
ス部120にアドレスを出力するためのレジスタであり、
保持内容に対する1,2,4,8のインクリメント・デクリメ
ント機能を有する。
ジスタファイルとは整数演算部117内の各種のデータを
保持し、演算回路215及び補助ALU212とそれぞれ3本の
4バイトのバスで結合されており、2つのレジスタ上の
オペランドに関する加算,比較等の演算が演算回路215
または補助ALU212で行える。
部120とがデータを入出力するためのインタフェイスレ
ジスタであり、8バイトのDDバス123でオペランドアク
セス部120と結合されている。
8とのインタフェイスレジスタである。
に格納されるべきデータのFRビット13とRGビット14とが
共に“1"であるコンテキストブロックに対してLDCTX/CS
命令を実行した場合の動作を説明する。この場合、コン
テキストブロックはアドレスがH'FFFFF000である制御空
間におかれているとする。また、LDCTX/CS命令はXビッ
ト15が“1"であるLDCTX命令である。
グモードに従ってオペランドアドレス計算部115で計算
されてSAレジスタ210に転送されたコンテキストブロッ
クの先頭アドレスH'FFFFF000がS1バス221とAAレジスタ2
11とを通じてAAバスに出力されると共に、S1バス221,演
算回路215及びD1バス225を通じて専用レジスタ・作業用
レジスタファイル214中にあるCTXBBレジスタに格納され
る。
メントする。
クセスされ、コンテキストブロックの先頭の8バイトが
DDバス123を通じてDDレジスタに転送される。
の内の上位4バイトがS2バス222,演算回路215,D1バス22
5を通じて専用レジスタ・作業用レジスタファイル214中
にあるCSWレジスタに格納される。この際、演算回路215
はFRビット13とRGビット14との内容をチェックし、第1
マイクロROM部113へその結果を伝えてマイクロプログラ
ムでのコンテキストブロックフォーマットの判断に使用
する。
データの内の下位4バイトがS1バス221,補助ALU212,D3
バス226を通じて汎用レジスタファイル213中にあるSP0
レジスタに格納される。更に、同じく同時にAAレジスタ
211はH'FFFFF008をAAバス122を通じてオペランドアクセ
ス部120に転送し、データバッファ202からコンテキスト
ブロックの2番目の8バイトをDDレジスタ216へ読出
す。
メントする。
の内の上位4バイトがS2バス222,演算回路215,D1バス22
5を通じて汎用レジスタファイル213中にあるSP1レジス
タに格納される。この際、同時にDDレジスタ216に格納
された8バイトのデータの内の下位4バイトがS1バス22
1,補助ALU212,D3バス226を通じて汎用レジスタファイル
213中にあるSP2レジスタに格納される。また同時に、AA
レジスタ211はアドレスH'FFFFF010をAAバス122を通じて
オペランドアクセス部120に転送し、データバッファ202
からコンテキストブロックの3番目の8バイトをDDレジ
スタ216へ読出す。
メントする。
レジスタに値がロードされる。この際、SP3とUATB,R1と
R2,R3とR4,R5とR6,R7とR8,R9とR10,R11とR12,R13とR14
とのそれぞれにDDレジスタ216の上位4バイトと下位4
バイトとが一度にロードされる。レジスタR0にD3バス22
6から値がロードされる際は対応する上位4バイトのロ
ードは行われない。
ス部120から浮動小数点演算部118に転送された8バイト
のデータが浮動小数点演算部118で各浮動小数点レジス
タに格納される。但し、アドレスは整数演算部117のAA
レジスタ211から出力される。
データがFR15レジスタに格納される際には、AAレジスタ
211からはアドレスは出力されず、データバッファ202の
アクセスは行われない。
テキストがロードされる際は、オペランドアクセス部12
0が外部のメモリをアクセスするため、データバッファ2
02からコンテキストをロードする場合に比してより多く
のクロックサイクルを必要とする。
ト13とRGビット14とが共に“1"である場合にSTCTX/CS命
令を実行した際の動作を説明する。なおこの場合、CTXB
Bレジスタの内容はH'FFFFF000とする。また、STCTX/CS
命令はXビット15が“1"であるSTCTX命令である。
ブロックの先頭アドレスH'FFFFF000がS3バス213を通じ
てAAレジスタ211に転送されると共に、CSWレジスタの内
容がS1バス221を通じてDDレジスタ216の上位4バイトに
転送され、SP0レジスタの内容がS2バス222を通じてDDレ
ジスタ216の下位4バイトに転送される。また同時にCSW
レジスタの内容がS1バス221から演算回路215にも入力さ
れ、演算回路215はFRビット13とRGビット14との内容を
チェックして第1マイクロROM部113へその結果を伝え、
マイクロプログラムでのコンテキストブロックフォーマ
ットの判断に使用する。
ス122を通じてオペランドアクセス部120に転送され、DD
レジスタ216からはコンテキストブロックの先頭の8バ
イトデータとなるCSWレジスタ値とSP0レジスタ値とがDD
バス123を通じてオペランドアクセス部120へ転送され、
データバッファ202に格納される。
メントする。この際、コンテキストブロックの2番目の
8バイト情報の上位4バイトとなるSP1レジスタの内容
がS1バス221を通じて汎用レジスタファイル213からDDレ
ジスタ216の上位に転送され、下位4バイトとなるSP2レ
ジスタの内容がS2バス222を通じて汎用レジスタファイ
ル213からDDレジスタ216の下位に転送される。
ス122を通じてオペランドアクセス部120に転送され、DD
レジスタ216からはコンテキストブロックの2番目の8
バイトデータとなるSP1レジスタ値とSP2レジスタ値とが
DDバス123を通じてオペランドアクセス部120へ転送さ
れ、データバッファ202に格納される。
メントする。この際、コンテキストブロックの3番目の
8バイト情報の上位4バイトとなるSP3レジスタの内容
がS1バス221を通じて汎用レジスタファイル213からDDレ
ジスタ216の上位に転送され、下位4バイトとなるUATB
レジスタの内容がS2バス222を通じて専用レジスタ・作
業用レジスタファイル214からDDレジスタ216の下位に転
送される。
レジスタの値がデータバッファ202にストアされる。こ
の際、SP3とUATB,R1とR2,R3とR4,R5とR6,R7とR8,R9とR1
0,R11とR12,R13とR13の値がそれぞれからDDレジスタ216
の上位4バイトと下位4バイトとに一度に値が転送され
る。
応する上位バイトの転送は行われない。
ドアクセス部120に転送される際、対応する上位4バイ
トはゼロが転送される。
部118の各浮動小数点レジスタから読出された値がオペ
ランドアクセス部120へ転送される。但し、アドレスは
整数演算部117のAAレジスタ211から出力される。
キストをストアする場合は、オペランドアクセス部120
が外部のメモリをアクセスするため、データバッファ20
2へコンテキストをストアする場合に比してより多くの
クロックサイクルを必要とする。
コンテキストブロックを保持する制御空間となるランダ
ムアクセスメモリまたはデータキャッシュのいずれかと
して動作させる例を述べたが、同様の方法でモード切換
えにより1つのバッファメモリをコンテキストブロック
を保持する制御空間となるランダムアクセスメモリまた
は命令キャッシュのいずれかとして動作させる構成を採
ってもよい。
て動作する際はコンテキストブロックを保持する制御空
間として動作するのではなく、論理メモリ空間の一部と
して動作させる構成を採ってもよい。
スを出力するアドレスレジスタと、オペランドアクセス
部との間でデータを入出力する汎用レジスタの2倍のバ
イト幅のデータレジスタとを備え、レジスタファイルと
データレジスタ間は複数のバスからなり2つのデータを
同時に転送する転送経路を有し、2つ以上のレジスタに
メモリからデータをロードする命令であるLDCTX命令を
実行する場合、命令実行制御部の制御により、オペラン
ドアクセス部から2つのレジスタにロードすべき2つの
データが連結されたデータがデータレジスタへ転送さ
れ、データレジスタの上位4バイトと下位4バイトとが
2つ転送経路をそれぞれ通じて2つのレジスタに同時に
転送されるように構成されている。このため、データが
1つずつ転送される場合に比して2倍の転送速度でレジ
スタの内容をメモリへ転送することが可能になるので、
コンテキストのロード行うLDCTX命令の実行が高速化さ
れてタスクスイッチングに要する時間が短縮される。
アする命令であるSTCX命令を実行する場合、命令実行制
御部の制御により、2つのレジスタの内容が2つの転送
経路からデータレジスタの上位4バイトと下位4バイト
とに同時に転送され、データレジスタで2つのデータが
連結され、この連結されたデータがオペランドアクセス
部へ1つのメモリアクセスとして転送されるように構成
されている。これにより、データが1つずつ転送される
場合に比して2倍の転送速度でレジスタの内容を転送す
ることが可能になるので、コンテキストのストア行うST
CTX命令の実行が高速化されてタスクスイッチングに要
する時間が短縮される。
処理装置本体と同一の集積回路上に内蔵されている構成
を採る場合は、データバッファに対するアクセス時間は
集積回路外のメモリに対するそれに比して特に短いた
め、上述の効果が特に大きい。
は、メモリ制御情報保持手段、つまりバッファメモリ制
御レジスタの内蔵データバッファ制御フィールドで第1
の値を保持させた場合は、メモリ(データバッファ)
は、命令実行部で実行すべき命令のオペランドとなるデ
ータを保持してキャッシングし、オペランドアクセス部
に出力されたアドレスとデータキャッシュ内のタグアド
レスが一致することによりデータキャッシュがヒットす
ればアクセスされたアドレスに対応するデータを出力す
る。
た場合は、メモリは、命令によってアクセス可能なメモ
リ、それもユーザ空間のみならず、制御空間(ユーザ空
間以外の空間、つまりシステムプログラムが使用するメ
モリ空間)のメモリとして動作する。この場合、メモリ
(データバッファ)は、オペランドアクセス部に出力さ
れた制御空間のアドレスがアドレス領域の範囲内であれ
ばそのアドレスに保持されているデータを出力する。
1つのデータバッファがデータキャッシュとして動作す
ることも、特定アドレス領域のランダムアクセスメモリ
として動作することも可能なため、データバッファが効
率的に利用出来る。従って、コンテキストスイッチング
命令等ではコンテキスト退避用のデータバッファの領域
を特に高速なメモリ領域として利用することが可能にな
り、タスクスイッチング時間の最大値を小さくすること
ができる。
部の一構成例を示すブロック図、 第2図は本発明のデータ処理装置の整数演算部の部分的
詳細構成を示すブロック図、 第3図は本発明のデータ処理装置のバッファメモリ制御
レジスタの構成を示す模式図、 第4図は本発明のデータ処理装置の全体の構成例を示す
ブロック図、 第5図は本発明のデータ処理装置のパイプライン処理ス
テージの説明のためのブロック図、 第6図は本発明のデータ処理装置を用いたデータ処理シ
ステムの構成例を示すブロック図、 第7図は本発明のデータ処理装置の入出力信号ピンを示
す模式図、 第8図は本発明のデータ処理装置のデータバッファの詳
細な構成例を示すブロック図、 第9図乃至第13図は本発明のデータ処理装置の命令のフ
ォーマットを示す模式図、 第14図乃至第27図は本発明のデータ処理装置の命令中の
アドレッシングモード指定部のフォーマットを示す模式
図、 第28図は本発明のデータ処理装置のBAT(0:2)信号の意
味を表す表を示す図、 第29図は本発明のデータ処理装置のバッファメモリのパ
ージ指定のためのパージ指定レジスタの構成を示す模式
図、 第30図は本発明のデータ処理装置のコンテキストブロッ
クのフォーマットの一例を示す模式図、 第31図は本発明のデータ処理装置のコンテキストブロッ
クフォーマットを指定するCSWレジスタの構成を示す模
式図、 第32図は本発明のデータ処理装置のコンテキストロード
命令のビットパタンを示す模式図、 第33図は本発明のデータ処理装置のコンテキスト命令の
ビットパタンを示す模式図、 第34図は本発明のデータ処理装置により実行中のコンテ
キストブロックの先頭アドレスを保持するCTXBBレジス
タの構成を示す模式図、 第35図は本発明のデータ処理装置のユーザ用アドレス変
換テーブルの先頭アドレスを保持するためのUATBレジス
タの構成を示す模式図、 第36図は本発明のデータ処理装置のPSW(プロセッサ状
態後)の構成を示す模式図である。 3……DMフィールド、112……命令デコード部、117……
整数演算部、118……浮動小数点演算部、120……オペラ
ンドアクセス部、202……データバッファ なお、各図中同一符号は同一又は相当部分を示す。
Claims (4)
- 【請求項1】命令をフェッチする命令フェッチ部と、 該命令フェッチ部がフェッチした命令をデコードする命
令デコード部と、 該命令デコード部の出力に従って命令を実行する命令実
行部と、 アドレスデコーダ、タグアドレスを格納するタグアドレ
スメモリ及びデータを格納するデータメモリを備え、第
1のモード又は第2のモードで動作するメモリと、 該メモリの動作モードを規定する第1の値又は第2の値
を保持するメモリ制御情報保持手段と、 前記命令実行部及びメモリ間に接続された内部アドレス
バス及び内部データバスと、 前記命令実行部からの指示を受けてアドレスを生成して
前記メモリへ出力するアドレス生成部と、 前記メモリ制御情報保持手段が第1の値を保持している
場合に、前記アドレス生成部が出力したアドレスを前記
タグアドレスメモリに格納されているタグアドレスと比
較し、そのいずれかと一致したときに前記データメモリ
から対応するデータを前記内部データバスへ出力させる
手段と、 前記メモリ制御情報保持手段が第2の値を保持している
場合に、前記アドレス生成部が出力したアドレスを、命
令によってアクセス可能なメモリ空間の一部として前記
データメモリに割り付けたアドレスと比較し、該アドレ
スの範囲内であるときに、前記アドレス生成部は出力し
たアドレスを前記内部アドレスバスを介して前記データ
メモリへ転送し、前記データメモリから対応するデータ
を前記内部データバスへ出力させ、また転送したアドレ
スに対応する記憶位置に、内部データバスを介して命令
実行部から前記メモリに命令実行部で実行中の命令のオ
ペランドを転送して書き込む手段と を備えることを特徴とするデータ処理装置。 - 【請求項2】命令をフェッチする命令フェッチ部と、 該命令フェッチ部がフェッチした命令をデコードする命
令デコード部と、 該命令デコード部の出力に従って命令を実行する命令実
行部と、 アドレスデコーダ、タグアドレスを格納するタグアドレ
スメモリ及びデータ又は命令コードを格納するデータメ
モリを備え、第1のモード又は第2のモードで動作する
メモリと、 該メモリの動作モードを規定する第1の値又は第2の値
を保持するメモリ制御情報保持手段と、 前記命令実行部及びメモリ間に接続された内部アドレス
バス及び内部データバスと、 前記命令実行部からの指示を受けてアドレスを生成して
前記メモリへ出力するアドレス生成部と、 前記メモリ制御情報保持手段が第1の値を保持している
場合に、前記アドレス生成部が出力したアドレスを前記
タグアドレスメモリに格納されているタグアドレスと比
較し、そのいずれかと一致したときに前記データメモリ
から対応する命令コードを前記命令フェッチ部へ出力さ
せる手段と、 前記メモリ制御情報保持手段が第2の値を保持している
場合に、前記アドレス生成部が出力したアドレスを、命
令によってアクセス可能なメモリ空間の一部として前記
データメモリに割り付けたアドレスと比較し、該アドレ
スの範囲内であるときに、前記アドレス生成部は出力し
たアドレスを前記内部アドレスバスを介して前記データ
メモリへ転送し、前記データメモリから対応するデータ
を前記内部データバスへ出力させ、また転送したアドレ
スに対応する記憶位置に、内部データバスを介して命令
実行部から前記メモリに命令実行部で実行中の命令のオ
ペランドを転送して書き込む手段と を備えることを特徴とするデータ処理装置。 - 【請求項3】前記メモリ空間は、システムプログラムが
使用するメモリ空間である請求項1又は2記載のデータ
処理装置。 - 【請求項4】複数のデータ処理プロセスを時分割で実行
する手段を備え、前記メモリ空間は、前記データ処理プ
ロセスの実行に係るコンテキストを退避させる命令で使
用するメモリ空間である請求項1又は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 JPH03186935A (ja) | 1991-08-14 |
JP2696578B2 true 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) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0690732B2 (ja) * | 1987-11-09 | 1994-11-14 | 三菱電機株式会社 | マイクロプロセッサ |
JPH0656611B2 (ja) * | 1988-03-31 | 1994-07-27 | 三菱電機株式会社 | ベクトル処理装置 |
-
1989
- 1989-12-16 JP JP1326253A patent/JP2696578B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH03186935A (ja) | 1991-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2616182B2 (ja) | データ処理装置 | |
US5652900A (en) | Data processor having 2n bits width data bus for context switching function | |
US5568624A (en) | Byte-compare operation for high-performance processor | |
US5367705A (en) | In-register data manipulation using data shift in reduced instruction set processor | |
US5249286A (en) | Selectively locking memory locations within a microprocessor's on-chip cache | |
US5717946A (en) | Data processor | |
JPS6339931B2 (ja) | ||
JP2581236B2 (ja) | データ処理装置 | |
US5469551A (en) | Method and apparatus for eliminating branches using conditional move instructions | |
JPH1091443A (ja) | 情報処理回路、マイクロコンピュータ及び電子機器 | |
JPH0766324B2 (ja) | データ処理装置 | |
JP2847974B2 (ja) | データ処理装置 | |
KR20000076310A (ko) | 리스크 구조를 갖는 8 비트 마이크로콘트롤러 | |
JPH07120278B2 (ja) | データ処理装置 | |
JP2669158B2 (ja) | データ処理装置 | |
JP2004086837A (ja) | データ処理装置 | |
US6757809B1 (en) | Data processor having 2n bits width data bus for context switching functions | |
JP2556182B2 (ja) | デ−タ処理装置 | |
JP3345787B2 (ja) | データ処理装置 | |
JPH04260929A (ja) | データ処理装置 | |
JP2668456B2 (ja) | ビット検索回路及びそれを備えたデータ処理装置 | |
JP2504312B2 (ja) | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 | |
JP2504235B2 (ja) | デ―タ処理装置 | |
JP2696578B2 (ja) | データ処理装置 | |
JP2646855B2 (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 |