JPH04109338A - プライオリティエンコーダ及びそれを備えたデータ処理装置 - Google Patents
プライオリティエンコーダ及びそれを備えたデータ処理装置Info
- Publication number
- JPH04109338A JPH04109338A JP2231968A JP23196890A JPH04109338A JP H04109338 A JPH04109338 A JP H04109338A JP 2231968 A JP2231968 A JP 2231968A JP 23196890 A JP23196890 A JP 23196890A JP H04109338 A JPH04109338 A JP H04109338A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- register
- stage
- address
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
め要約のデータは記録されません。
Description
データ処理装置に関し、更に詳述すれば、複数のレジス
タ内容を転送する命令を実行する際に、その内容を転送
すべき2つ(あるいはそれ以上)のレジスタ番地をレジ
スタリストからエンコードするプライオリティエンコー
ダ及びそれを備えることにより2つ(あるいはそれ以上
)のレジスタ内容を同時に転送することを可能としたデ
ータ処理装置に関するものである。
高速にかつ重線な機構でアクセスする目的で、16木程
度の数の汎用レジスタにて構成されるI/ジスタフアイ
ルを飾え、卸繁にアクセスするデータ1演算の中間結果
等をレジスタファイルに保持するようにしている。
は、レジスタファイルの各レジスタに配置したデータを
一連の処理の区切り目で入れ換える手法を用いる。この
ため、レジスタ上に配置されたデータが一度に複数個ず
つ連続してメモリにストアされたり、メモリからロード
されたりする処理が顛繁に反復される。
用する変数をプロシージャ毎にレジスタに再配置する手
法が用いられることが多く、これらの高級言語で設計さ
れたソフトウェアではレジスタから複数のデータをメモ
リにストアしたり、逆に複数のデータをメモリからレジ
スタにロードする関度が高い。
に退避したりあるいは1命令で複数のデータをメモリか
らレジスタにロードする複数データ転送命令を有するデ
ータ処理装置が従来から提案されている。このような複
数データ転送命令では、データを転送すべき対象となる
レジスタを“0”と“1”とのビット列に対応させたレ
ジスタリストで示す手法が用いられている。従って、レ
ジスタリストをサーチして転送すべきL/レジスタ番号
高速にエンコードする必要があり、この目的のためにプ
ライオリティエンコーダと称されるエンコード回路がハ
ードウェアとして提案されている。
転送すべきレジスタ番号を高速にエンコードする手法は
例えばtlsP4,348,741等に詳細に開示され
ている。
置では、プライオリティエンコーダを用いてレジスタリ
ストをサーチして“1′(または“0′)のビット位置
を2進数にエンコードする際に、エンコードした“1”
(または“0”)のビット位置に隣接するビットが“1
”(または“0“)であるか否かが不明であったため、
“1”(または“O”)の位置を1つエンコードしてこ
の結果得られたレジスタ番号に対応するレジスタのデー
タを1つ転送するという処理を逐次的に行っている。こ
のため、最低でも転送すべきデータ数と等しい数の転送
動作を反復する必要がある。
解決するためなされたものであり、レジスタリストであ
るビット列を保持するレジスタと、このレジスタに保持
されたビット列の各ビットについて隣接した上位(又は
下位)ビットとの論理積演算を行う論理積回路と、この
論理積回路の出力ビット列中の“1”(または“0″)
の位置をサーチしてそのビット位置をエンコードするエ
ンコード回路とを備えている。
ドを操作する命令をデコードする命令デコード手段と、
データを保持する複数の汎用レジスタと、上述のプライ
オリティエンコーダとを備え、命令デコード手段の出力
信号に従って命令を実行する命令実行手段とを備えてい
る。
されたレジスタリストの各ビットについて隣接した上位
(又は下位)ビットとの論理積演算が論理積回路で行わ
れ、その演算結果であるピッI・列がエンコード回路に
入力され、“1”(または“01)の先頭の位置がサー
チされることにより、ジスクリスト中の“1”(または
“0”)が2ビット連続するビット位置がエンコードさ
れる。
複数データ転送命令がデコードされ、命令実行手段で、
複数データ転送命令のレジスタリストがプライオリティ
エンコーダによりエンコードされてレジスタリスト中の
“ビ(または°0”)が連続した位置から複数データ転
送命令のオペランドとなるデータを保持する2つのレジ
スタの番地が特定される。そして、これらの2つのレジ
スタに対して同時にアクセスが行われることにより2つ
[発明の実施例] 以下、本発明をその実施例を示す図面を参照して詳述す
る。
成」 第6図は本発明のデータ処理装置を用いたシステムの構
成例を示すブロック図である。
キャッシュ106. データキャ・ノシュ1.07及
び108゜主メモ1月09がアドレスバス101.
データバス102命令バス103. メモリアドレス
バス104. メモリデータバス105で結合されて
いる。
ら出力されるアドレスを命令キヤ・7シユ106とデー
タキャッシュ107.1.08とに入力する。命令ノマ
ス103は命令キャッシュ106から出力される命令コ
ードを本発明のデータ処理装置100へ転送する。
出力されたデータをデータキャッシュ107.108へ
転送したりあるいはデータキャッシュ107.108か
ら出力されたデータを本発明のデータ処理装置100へ
転送したりする。メモリアドレスバス104は命令キャ
ッシュ106またはデータキャッシュ107108から
出力されるアドレスを主メモ1月09へ転送する。メモ
リデータバス105は主メモリ109と命令キャッシュ
106またはデータキャッシュ107との間で命令また
はデータを転送する。
8がミスした場合はそれぞれのキャッシュがメモリアド
レスバス104とメモリデータバス105とのバス権を
調停して主メモリ109をアクセスする。
装置100の側では64ビットのバスに結合するため、
2つのチップが協調して動作する。各64ビットデータ
のデータの上位32ビットのデータをデータキャッシュ
107が、下位32ビットのデータをデータキャッシュ
108がそれぞれ分担して受持つ。
理機構について最初に説明し、次に複数個のレジスタ中
のデータを転送する命令であるL[1M命令と57M命
令とを実行した場合のプライオリティエンコーダとデー
タ演算部との動作を詳細に説明する。
本発明のデータ処理装置の命令は16ビノト単位で可変
長となっており、奇数ハイド長の命令はない。
令を短いフォーマットとするために特に工夫された命令
フォーマット体系を有する0例えば、2オペランド命令
に対して、基本的に「4バイト」+「拡張部」の構成を
有し、全てのアドレッシングモードが利用可能な一般形
フオーマノドと、関度の高い命令とアドレッシングモー
ドとのみを使用可能な短縮形フォーマントとの2つのフ
ォーマットがある。
令フォーマット中に現われる記号の意味は以下の如くで
ある。
ペランドを指定する部分 Sh:6ビットの短縮形のアドレノシングモドでオペラ
ンドを指定する部分 Rn+nフレジスタフアイル上ペランドをレジスタ番号
で指定する部分 フォーマットは、第9Hに示す如く、右側がLSB側で
且つ高いアドレスになっている。アドレスNとアドレス
N+1との2ハイドを見ないと命令フォーマントが判別
できないようになっているが、これは、命令が必ず16
ビット(ハーフワード)単位でフェッチ、デコードされ
ることを前提としているためである。
ットの場合も、各オペランドのEaまたはshの拡張部
は必ずそのEaまたはshの基本部を含む16ビット
(ハーフワード)の直後に配置される。
は命令の拡張部に優先する。従って、4ハイド以上の命
令では、Eaの拡張部により命令のオペレーションコー
ドが分断される場合がある。
拡張部に更に拡張部が付加される場合にも次の命令オペ
レーションコードよりもそちらの方が優先される。例え
ば、第1ハーフワードにEalを含み、第2ハーフワー
ドにEa2を含み、第3ハーフワードまである6バイト
命令の場合について考える。なおここでは、Ealに多
段間接モードを使用したため、普通の拡張部の他に多段
間接モードの拡張部も付加されるものとする。この場合
、実際の命令ビットパターンは、命令の第1ハーフワー
ド(Ea fの基本部を含む)、Ealの拡張部Eal
の多段間接モード拡張部、命令の第2ハーフワード(E
a 2の基本部を含む)+ Ea2の拡張部命令の第
3ハーフワードの順となる。
2オペランド命令の短縮形フォーマントを示す模式図で
ある。
るL−formatとデスティネーションオペランド側
かメモリとなるS−formatとがある。
フィールドを、llnはデスティネーションオペランL
′のレジスタの指定フィールドを、I?Rはshのオペ
ランドサイズの指定フィールドをそれぞれ表す。レジス
ターFに置かれたデスティネーションオペランドのサイ
ズは32ビットに固定されている。レジスタ側とメモリ
側とのサイズが異なり、且つソース側のサイズが小さい
場合に符号拡張が行われる。
ランドの指定フィールドを、Rnはソースオペランドの
レジスタ指定フィールドを、IlRはshのオペランド
サイズの指定フィールドをそれぞれ表す。レジスタ上に
置かれたソースオペランドのサイズは32ビットに固定
されている。レジスタ側とメモリ側とのサイズが異なり
且つソース側のサイズが大きい場合に、オーバフローし
た部分の切捨てとオーバーフローチエツクとが行われる
。
1オペランド命令の一般形フォーマソト(Gl、4or
mat)を示す模式図である。
ィールドを表している。一部のGl−format命令
ではEaの拡張部以外にも拡張部かを有する。
2オペランド命令の一船形フオーマン]・を示ず模式図
である。
る一般形アドレッシングモードのオペランドが最大2つ
存在する命令である。オペランドの総数自体は3つ以上
になる場合もある。
ンオペランドの指定フィールドを、?1M4よデスティ
享−ションオペランドサイズの指定フィールドを、Ea
Rはソースオペランド指定フィールドを、RRはソース
オペランドサイズの指定フィールドをそれぞれ表してい
る。
の拡張部以外にも拡張部がある。
ず模式図である。
ルドを、disp:8はジャンプ先との変位指定フィー
ルドをそれぞれ表している。本発明のデータ処理装置で
は、8ビットで変位を指定する場合にはビットパターン
での指定値を2倍して変位値とする (2.4) rアドレッシングモード」本発明のデー
タ処理装置の命令のアドレッシングモード指定方法には
、レジスタを含めて6ビノトで指定する短縮形と、8ビ
ットで指定する一般形とがある。
は意味的に考えて明らかに不合理なアドレッシングモー
ドの組合わせが指定された場合には、未定義命令を実行
した場合と同様に予約命令例外が発生して例外処理が起
動される。これに該当するのは、デスティネーションが
即(直モードである場合、アドレス計算を伴うべきアド
レッシングモード指定フィールドで即値モードが使用さ
れた場合などである。
いて使用されている記号の意味は以下の如くである。
モードでの指定方法 (Ea) : 8ビットの一般形アドレッシングモード
での指定方法 なお、各フォーマントの模式図において破線にて表され
ている部分は拡張部を示す。
発明のデータ処理装置の命令は種々のアトレンジングモ
ードをサポートする。それらの内、本発明のデータ処理
1zでサポートする基本アドレッシングモードには、レ
ジスタ直接モード、レジスタ間接モード、レジスタ相対
間接モード、即値モード、絶対モード、PC相対間接モ
ード1 スタックポツプモード、スタックブツシュモー
ドがある。
ランドとするアドレッシングモードである。フォーマン
トの模式図を第14図に示す。図中、Rnは汎用レジス
タまたはFPIIレジスタの番号を示す。
とするメモリの内容をオペランドとするアドレッシング
モードである。フォーマットの模式図を第15図に示す
。図中、Rnは汎用レジスタの番号を示す。
ノトであるか32ビットであるかにより2種類に分かれ
る。いずれも、汎用レジスタの内容に16ビノトまたは
32ビットのディスプレースメント値を加えた値をアド
レスとするメモリの内容をオペランドとするアドレッシ
ングモードである。フォーマyl−の模式図を第16図
に示す。図中、Rnは汎用レジスタの番号を示す。di
sp : 16とdisp : 32とは、それぞれ1
6ビットのディスプレースメント値、32ビットのディ
スプレースメント値を示す。
れる。
ンをそのまま2進数と見なしてオペランドとするアトレ
ッシングモートである。フォーマットの模式図を第17
図に示す。図中、imm dataは即値を示ず。i
mm dataのサイズは、オペランドサイズとして
命令中で指定される。
2ビットで示されるかにより2種類に分かれる。いずれ
も、命令コード中で指定される16ビソトまたは32ビ
ットのピノ)・パターンをアドレスとしたメモリの内容
をオペランドとするアドレッシングモードである。フォ
ーマットの模式図を第18図に示す。図中、abs:1
6とabs:32とは、それぞれ16ビソt・、32ビ
ットのアドレス値を示す。abs : 16にてアドレ
スが示される場合は指定されたアドレス値が32ビット
に符号拡張される。
ビットであるか32ビットであるかにより2種類に分か
れる。いずれも、プログラムカウンタの内容に16ビノ
トまたは32ビットのディスプレースメント値を加えた
値をアドレスとするメモリの内容をオペランドとするア
ドレッシングモードである。フォーマットの模式図を第
19図に示す。図中、disp : 16とdisp
: 32とは、それぞれ、16ビノトのデイスフ゛レー
スメント(直、32ビットのテ゛イスフ“レースメント
値を示す。ここではディスプレースメント値は符号付き
として扱われる。pc相対間接モードにおいて参照され
るプログラムカウンタの値は、そのオペランドを含む命
令の先頭アドレスである。多段間接アドレシングモード
においてプログラムカウンタの値が参照される場合にも
、同様に命令先頭のアドレスがPC相対の基準値として
使用される。
容をアドレスとするメモリの内容をオペランドとするア
ドレッシングモードである。オペランドアクセス後にS
Pがオペランドサイズだけインクリメントされる。例え
ば、32ビットデータが扱われる場合には、オペランド
アクセス後にSPが44だけ更新される。8 、1.6
.64ビットのサイズのオペランドに対するスタックポ
ツプモードの指定も可能であり、それぞれSPが+1.
+2.+8だけ更新される。
対してスタックポツプモート′が意味を持たない場合に
は予約命令例外が発生ずる。具体的に予約命令例外とな
るのは、wr i teオペランド、 readmod
ify−writeオペランドに対するスタックポツプ
モード指定である。
イズだけデクリメントした内容をアドレスとするメモリ
の内容をオペランドとするアトレンジングモードである
。スタックブツシュモードではオペランドアクセス前に
SPがデクリメントされる。例えば、32ビットデータ
が扱われる場合には、オペランドアクセス前にSPが−
4だけ更新される。
タックブツシュモードの指定も可能であり、それぞれS
Pが−1,−2,−8だけ更新される。フォーマットの
模式図を第21図に示す。オペランドに対してスタック
ブツシュモードが意味を持たない場合には予約命令例外
が発生される。具体的に予約命令例外となるのは、re
adオペランド、 read−modifywrite
オペランドに対すスタックブツシュモー1・指定である
。
複雑なアドレッシングも基本的には加算と間接参照との
組合わせに分解することが可能である。
シングのプリミティブとして与えておき、それらを任意
に組合わせることができれば、どのような複雑なアドレ
ッシングモードをも実現可能になる。
グモートは上述のような考え方に基づいたアトレッシン
グモートである。複雑なアドレッシングモードは、モジ
ュール間のデータ参照あるいはAI(人工知能)言語の
処理系に特に有用である。
ドレッシングモード指定フィールドではレジスタヘース
多段間接モード、PCヘース多段間接モード、 !f!
!対ヘースベー間接モードの3種類の指定方法の内のい
ずれか1つを指定する。
張する多段間接アドレッシングのベース(直とするアド
レッシングモードである。フォーマットの模式図を第2
2図に示す。図中、Rnは汎用レジスタの番号を示す。
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。フォーマットの模式図を第2
3図に示す。
アドレッシングのベース値とするアドレッシングモード
である。フォーマットの模式図を第24図に示す。
を単位としており、これを任意回反復して付加される。
レースメントの加算、インデクスレジスタのスケーリン
グ(xl、X2.X4×8)と加算、メモリの間接参照
を行う。多段間接モードのフォーマントの模式図を第2
5図に示す。
nd■・0 :メモリ間接参照なし imp + disp + RX * 5cale =
=> tmpI・1 :メモリ間接参照あり men [tmp + disp + Rx * 5c
ale];二> tmp 門・Q : <RX>をインデクスとして使用i・
1 :特殊なインデクス <Rx>−〇 インデクス値を加算しない(Rx・
0) <RX>=1 プログラムカウンタをインデクス値
として使用 (RX・PC) <Rx>=2〜 reserved D・0 :多段間接モード中の4ビットのフィールドd
4の値を4倍してディスプレースメント値とし、これを
加算する。d4は符号付きとして扱われ、オペランドの サイズとは関係なく必ず4倍して使用 する。
px(16/32ビット)をディスプレースメント値と
し、これを加算する。
0010 dispxは32ビットXX=インデク
スのスケール (scale = 1/2/4/8) プログラムカウンタに対してX2.X4.x3のスケー
リングを行った場合には、その段の処理終了後の中間値
(tap)として不定値が入る。この多段間接モードに
よって得られる実効アドレスは予測できない値となるが
、例外は発生しない。プログラムカウンタに対するスケ
ーリングの指定は禁しられている。
のバリエーションを第26図、第27図の模式図に示す
。第26図は多段間接モードが継続するか終了するかの
バリエーションを、第27図はディスプレースメントの
サイズのハリエーソヨンをそれぞれ示す。
ばコンパイラの中で段数による場合分けが不要になるの
で、コンパイラの負担が軽減されるというメリットがあ
る。多段の間接参照の頻度が非常に少ないとしても、コ
ンパイラとしては必ず正しいコードを発生できなければ
ならないからである。このため、フォーマ、)・」二、
任意の段数が可能になっている。
明のデータ処理装置100は複数のレジスタの内容をス
タック領域等のメモリ領域に退避させる命令である37
M命令と、スタック領域等のメモリ領域に退避されてい
る複数のレジスタの内容を復帰させるLDl’l命令と
を備えている。
ている。LD!+命令では5rcsフイールドで示され
ているアドレッシングモードに従って計算されたアドレ
スのメモリからreglistフィールドで示されたレ
ジスクヘデータが転送さるる。転送されるべきデータを
格納するレジスタはreglistフィールドによりビ
ットバタンで示される。各レジスタに転送されるデータ
はそれぞれ4ハイドである。
ている。37M命令では、reglistフィールドで
示されているレジスタ中のデータがdes tsフィー
ルドで示されたアドレッシングモードに従って計算され
たアドレスのメモリへ転送される。転送すべきデータを
格納しているレジスタはreglistフィールドによ
りビットパタンで示される。第29図に示す如く、ST
V命令のreglistフィールドの意味はdes t
sフィールドで示されるアドレッシングモードにより異
なる。これは複数個のレジスフ内容がメモリに格納され
る場合に、大きな番号のレジスタが常に大きな番地に格
納される凄うに統一するためである。各レジスタから転
送されるデータはそれぞれ4バイトである。
」 第4図は本発明のデータ処理装置100の構成を示すブ
ロック図である。
と、命令人力部1】0. 命令フェッチ部111゜命
令デコード部112. 第1マイクロl’lOM部1
13第2マイクロROM部114. オペランドアド
レス計算部115. PC計算部116. 整数演
算部II7. 浮動小数点演算部118. アドレ
ス入出力部月9. オペランドアクセス部120.
データ入出力部121に分かれる。
、データ人出力部121をデータバス102に結合し、
命令人力部110を命令バス103に結合することによ
り第6図に示すシステム構成をとることができる。
)41位で命令コードを本発明のデータ処理装置100
に入力する。命令キヤツシユ106のアクセス方法には
、1つのアドレスに対して32ビットの命令コードをア
クセスする標Yトアクセスモート′と、1つのアドレス
に対して4回連続で32ビットの命令コートをアクセス
するクワットアクセスモードとがあり、いずれの場合も
命令入力部110は入力した命令コードを命令フェッチ
部111へ出力する。
換機構、内蔵命令キャンツユ、命令用子LB命令キュー
及びそれらの制御部等が備えられている。
PC値を物理アドレスに変換し、内蔵命令キャッシュか
ら命令コードをフェッチして命令デコード部112へ出
力する。内蔵命令キャッシュがミスした場合にはアドレ
ス入出力部11.9へ物理アドレスを出力し、外部への
命令アクセスを要求し、命令入力部110を通じて入力
された命令コードを内蔵命令キャッシュに登録する。
べき命令のPCIJとして専用のカウンタで計算される
。ジャンプが発生した場合は、新たな命令のPCifi
がオペランドアドレス計算部115. PC計算部1
16. 整数演算部117等から転送されて来る。
ス変換及び命令用TLBの更新も命令フェッチ部111
の内部にある制御回路により行われる。
ードである場合は、アドレス入出力部119を通じて入
力された物理アドレスがヒツトした内蔵命令キャッシュ
のエントリが無効化される。
フワード)単位で命令コードをデコードする。
ションコードをデコードするFHW(First Ha
lfWoed)デコーダ、第2及び第3ハーフワードに
含まれるオペレージロンコードをデコードするNFI(
W(Not First HaIf Word)デコー
ダ、アドレッシングモードをデコードするアドレノンン
グモードデコーダが含まれる。
を更にデコードしてマイクロROFのエン[・リアI・
レスを計算する第2デコーダ、条件分岐命令の分岐予測
を行う分岐子ij、l1機構1 オペラン1ア)ルス計
算の際のパイプラインコンフリクトをチエツクするアド
レス計算コンフリクトチエツク機構も侃えられている。
ロツクにつき0〜6ハイトがデコートされる。
る情報が第1マイクロROM部113へ、浮動小数点演
算部118での演算に関係する情報が第2マイクロRO
一部114へ、オペランドアドレス計算に関係する情報
がオペランドア1゛レス計算部115へ、pc計算に関
係する情報がpc計算部116へ、それぞれ出力される
。
ROM部113には、整数演算部117の制御を行う種
々のマイクロプログラムルーチンが格納されているマイ
クロ命令門、 マイクロシーケンサ、マイクロ命令デコ
ーダ等が備えられている。
度読出される。マイクロシーケンサは命令実行に関する
マイクロプログラム実行のためのシーケンス処理の他に
、例外1割込及びトラ・7ブ(この3つを併せてBIT
と称す)の受付けと各BITに対応するマイクロプログ
ラムのシーケンス処理も行う。
い外部割込み及び整数演算実行結果によるマイクロプロ
グラムの分岐条件も入力される。
されるが、ジャンプ命令の実行時9例外受付時には一部
の情報を他の機能ブロックへも出力する。
クロROj’l @114には、浮動小数点演算部1.
18の制御を行う種々のマイクロプログラムルーチンが
格納されているマイクロll0M、 マイクロシーケ
ン4ノ、マイクロ命令デコーダ等が備えられている。マ
イクロ命令はマイクロROMから1クロツクに1度読み
出される。マイクロシーケンサはマイクロプログラムで
示されるシーケンス処理の他に、浮動小数点演算に関係
する例外の処理も行い、マスクされていない浮動小数点
例外が検出された場合には第1マイクロR〇一部113
へ例外処理を要求する。第2マイクロROM部114の
マイクロシーケンサは第1マイクロROM部113のマ
イクロシーケンサと並列に動作し、整数演算部117と
並列に浮動小数点演算部118を制御する。
行結果によるフラッグ情報も入力される。
に対して出力されるが、浮動小数点演算に関係する例外
の検出等の一部の情報は他の機能ブロックへも出力され
る。
ドレス計算部11.5は、命令デコード部112のア1
ルノンングモードデコーダ等から出力されたオペランド
アドレスε1算に関係する情報によりハードワイヤード
に制1111される。このオペランドアドレス計算部1
15ではメモリ間接アドレノソングのためのメモリアク
セス以外のオペランドのアドレス計算とジャンプ命令の
ジャンプ先アドレスの計算とが行われる。
力される。オペランドアドレス計′!:1終了段階での
先行ジャンプ処理ではジャンプ先アドレスの計算結果が
命令フェッチ部111 とpc計算部116とへ出力さ
れる。
算部118へ出力される。アドレス計算に必要な汎用レ
ジスタ、プログラムカウンタの値は整数演算部117.
PC計算部116から人力される。
るPC計算に関係する情報でハードワイヤードに制御さ
れ、命令のpc値を計算する0本発明のデータ処理装置
100の命令は可変長命令であり、命令をテコ−1′シ
た後でなければ命令の長さが判明しない。pc計算部1
16は、命令デコード部112がら出力された命令長を
デコード中の命令のpc(、へに加算することにより次
に実行すべき命令のpc値を計算する。
令のデコード結果と共に出力される。
デコード部11から出力されるブランチ幅をpc値に加
算することによりブランチ先命令のアドレスが計算され
る。
命令の実行時にスクノクにブツシュされているサブルー
チンからの戻り先PC値のコピーを保持したPCスタッ
クが備えられており、サブルーチンからのr)ターン命
令に対してはPCスタックから戻り先pcを読出すこと
により、ブリリターン先命令のアドレスを生成する処理
も行う。
イクロl?OMに格納されたマイクロプログラムにより
制御され、各整数演算命令の機能を実現するために必要
な演算を整数演算部117の内部にあるレジスタファイ
ルと演算器とで実行する。レジスタファイルには汎用レ
ジスタと作業用レジスタとが含まれる。
イオリティエンコーダ等を備えている6整数演算部11
7には整数演算の結果により変化するフラグ、り)部側
込みのマスクレベルを定めるビット等を含むプロセッサ
状w詔(psw)、 バッファメモリ制御レジスタ等
が含まれる。
である場合は、オペランドアドレス計算部115から即
値または計算されたアドレスが入力される。また、命令
の演算対象となるオペランドがメモリ」二のデータであ
る場合は、アドレス計算部115で81算されたアドレ
スがオペランドアクセス部120へ出力され、内蔵デー
タキャッシュまたはり(部からフェッチしたオペランド
が整数演算部117へ人力される。
データキャッシュ107.108あるいは主メモリ10
9をリードする必要がある場合は、マイクロプログラム
の指示によりオペランドアクセス部1.20ヘアドレス
を出力することにより、目的のデータをフェッチする。
ッシュ107.108あるいは主メモリ109ヘスドア
する必要がある場合には、マイクロプログラムの指示に
よりオペランドアクセス部120ヘアドレスとデータと
を出力する。この際、PC計算部116からはそのスト
ア動作を行った命令のpc値がオペランドアクセス部1
20へ出力される。
スを整数演算部117が得た場合は、これが命令フェッ
チ部111 とpc計算部116とへ出力される。
のマイクロROMに格納されたマイクロプログラムによ
り制御され、各浮動小数点演算命令の機能を実現するた
めに必要な演算を浮動小数点演算部11Bの内部にある
レジスタファイルと演算器とで実行する。浮動小数点演
算部118には浮動小数点演算の丸め処理方法及び浮動
小数点演算例外の検出許可のモードを設定する浮動小数
点演算モード制御レジスタ(F?IC) と、浮動小数
点演算結果に対するフラグ、浮動小数点例外の発生状態
を示すステタスビ7)からなる浮動小数点演算状態語(
FS誉)とがある。
オペランドアドレス計算部115から即値が人力される
。また、命令の演算対象となるオペランドがメモリ上の
データである場合は、アドレス計算部115で計算され
たアドレスがオペランドアクセス部120へ出力され、
内蔵データキャッシュまたは外部からフェッチしたオペ
ランドが浮動小数点演算部118に入力される。
シュ107.108あるいは主メモ1月09ヘスドアす
る必要がある場合には、マイクロプログラムの指示によ
りオペランドアクセス部120へデータを出力する。ス
トア動作では浮動小数点(′i5算部11.8と整数演
算部117とがμ則して動作し、オペランドアクセス部
120に対して整数演算部117からオペランドのアド
レスが出力され、浮動小数点演算部118からオペラン
ドが出力される。この際、PC計算部1.16からはそ
のストア動作を行った命令のPC値がオペランドアクセ
ス部120へ出力される。
クセス部120には、オペランドアドレスのアドレス変
換機構、データバッファ、データ用TLB、 ストア
バッファ、オペラン1゛ブレイクポイントレジスタ及び
それらの制御部がある。
シュまたはコンテキスト退避用メモリとして動作する。
る場合、データのロード動作ではオペランドアドレス計
算部115または整数演算部117から出力されたロー
ドすべきデータの論理アドレスが物理アドレスに変換さ
れ、内蔵データキャッシュからデータがフェッチされて
整数演算部117あるいは浮動小数点演算部118に入
力される。
出力部119へ物理アドレスが出力されて外部へのデー
タアクセスが要求され、データ入出力部122を通して
入力されたデータが内蔵データキャッシュに登録される
。
出力されたストアすべきデータの論理アドレスが物理ア
ドレスに変換され、整数演算部117あるいは浮動小数
点演算部118から出力されたデータが内蔵データキャ
ッシュにストアされると共に、ストアバッファを通して
アドレス人出力部119へ物理アドレスが出力され、デ
ータ入出力部122を通してデータが外部へ出力される
。
われない。ストアバッファではストアすべきデータとそ
のアドレス、更にそのストア動作を行った命令のPC値
とが1組として管理される。
で管理される。
ス変換及びデータ用TLHの更新もオペランドアクセス
部120の内部の制御回路により行われる。また、メモ
リアクセスアドレスがノ千り空間にマツピングされてい
るI10領域に入るか否かのチエツクも行われる。
作させる場合、本発明のデータ処理装置がバスウォッチ
モードであれば、アドレス人出力部119を通じて入力
された物理アドレスがヒツトする内蔵データキャッシュ
のエントリは無効化される。
ペランドアクセス部120 とから出力されたアドレス
を本発明のデータ処理装置100の外部へ出力する。ア
ドレスの出力は本発明のデータ処理装置100で定めら
れたハスプロ1−コルに従って行われる。ハスプロトコ
ルの制御はアドレス入出力部119内にある外部バス制
御回路が行う。外部バス制御回路ではページ不在例外ま
たはバスアクセス例外外部割込みの受付も行う。
スがハスマスクになっており、本発明のデータ処理装置
100がバスウォッチモードであれば外部デバイスがデ
ータライトサイクルを実行した場合にアドレスバス10
11へ出力されたアドレスを取込んで命令フェッチ部1
11 とオペランドアクセス部120とへ転送する。
データバス102からデータを取込んでオペランドアク
セス部120へ転送し、またオペランドのストア動作の
際にオペランドアクセス部120から出力されたオペラ
ンドをデータバス102へ出力する。データキャッシュ
107.108のアクセス方法には、1つのアドレスに
対して64ビットのデータをアクセスする標準アクセス
モードと、1つのアドレスに対して4回連続で64ピノ
)・のデータをアクセスするクワッドアクセスモードと
があり、いずれの場合もデータ人出力部121はオペラ
ンドアクセス部120と外部のメモリとで送受されるデ
ータの入出力を制御する。
装置と、命令バス103及びデータバス102を使用し
たメモリの効率的アクセスとにより、命令をパイプライ
ン処理して高性能に動作する。ここでは、本発明のデー
タ処理装置】00のパイプライン処理方法について説明
する。
第5図の模式図に示す。
構は、命令のブリフェッチを行う命令フェッチステージ
(IFステージ)31. 命令のデコートを行うデコ
ードステージ(Dステージ)32. オペランドのア
ドレス計算を行うオペランドアドレス計算ステージ(A
ステージ)33. マイクロROMアクセス(特にR
ステージ37と称す)とオペランドのブリフェッチ (
特にOFステージ38と称す)とを行うオペランドフェ
ッチステージ(Fステージ)34命令の実行を行う実行
ステージ(Eステージ)35メモリオペランドのストア
を行うストアステージ(Sステージ)36の6段構成で
パイプライン処理を行う。なお、Sステージ36には3
段のストアバッファがある。
6つのステージが完全に独立動作する。
クロツクで行うことができる。Sステージ36は1回の
オペランドストア処理を最小2クロックで行うことがで
きる。従って、メモリオペランドのストア処理が行われ
ない場合、理想的には1クロツクごとに次々とパイプラ
イン処理が進行する。
算あるいはメモリ間接アドレッシング等、基本パイプラ
イン処理1回だけでは処理が行えない命令があるが、こ
れらの処理に対してもなるべく均衡したパイプライン処
理が行えるように設計されている。複数のメモリオペラ
ンドを有する命令に対してはメモリオペランドの数に基
づいてデコード段階で複数のパイプライン処理単位(ス
テ7プコード)に分解してバイブライン処理を行う。
命令コードそのものである。
令で指定された演算に関する情1ft(1)コード41
と称す)と、オペランドのアドレス計算に関係する情I
[f (Aコード42と称す)と、処理中の命令のプロ
グラムカウンタ値(PC)との3つである。
イクロプログラムルーチンのエントリ番地マイクロプロ
グラムへのパラメータなどを含むRツー1′43と、オ
ペランドのアドレス、アクセス方法指示情報等を含むF
コード44と、処理中の命令のブログラム力つンクイ直
(PC)との3つである。
算制御情報、リテラル等を含むEコード45と、オペラ
ンド、オペランドアドレス等を含むSコード46a、
46bと、処理中命令のプログラムカウンタ(直(PC
)との3つである。Sコード46a、 46bはアドレ
ス46a とデータ46bとからなる。
トアずべき演算結果であるWコード47a、 47bと
その演算結果を出力した命令のプログラムカウンタ値(
PC)との2つである。Wコード47a、 47bはア
ドレス47a とデータ47+))とからなる。
実行した命令のPC値がEステージ35からSステージ
36へ渡される。
のコードがEステージ35に到達するまでEIT処理を
起動しない。Eステージ35で処理されている命令のみ
が実行段階の命令であり、IFステージ31〜Fステー
ジ34で処理されている命令は未だ実行段階に至ってい
ないからである。従って、Eステージ35以前で検出さ
れたBITはそれが検出されたことがステップコード中
に記録されて次のステージに伝えられるのみである。S
ステージ36で検出されたBITはEステージ35で処
理中の命令の処理が完了した時点またはその命令の処理
がキャンセルされた場合に受付けられ、Eステージ35
に戻って処理される。
イブラインステージの入出カステップコードには第4図
に示したように便宜上名前が付与されている。またステ
ップコードはオペレーションコードに関する処理を行い
、マイクロROMのエントリ番地1 Eステージ35に
対するパラメータなどになる系列と、Eステージ35の
処理対象のオペランドになる系列との2系列がある。ま
た、Dステージ32からSステージ36までの間では処
理中の命令のプログラムカウンタ値が受渡される。
ェッチステージ(IFステージ31)では命令フェッチ
部111が動作する。内蔵命令キャッシュからあるいは
外部メモリから命令をフェッチし、命令キューに入力し
て、Dステージ32に対して2〜6バイト単位で命令コ
ードを出力する。命令キューの入力は整置された4バイ
ト単位で行われる。
は整置された4バイトにつき最小2クロックを要する。
ロツクを要する。内蔵命令キャッシュがヒ・7トした場
合は整置された8ハイドにつき1クロツクでフェッチ可
能である。命令キューの出力単位は2バイ1−ごとに可
変であり、1クロツクの間に最大6バイトまで出力可能
である。
コード2ハイドを直接命令デコーダに転送することも可
能である。
ヤツシユ及び命令用TI、Bの制御、ブリフェッチ先命
令アドレスの管理、命令キューの制御もIFステージ3
1で行われる。
ードステージ(Dステージ32)はIFステージ31か
ら入力された命令コードをデコードする。命令コードの
デコードは命令デコード部112のFHWデコータ、
NFI(Wデコーダ及びアドレッシングモードデコーダ
を使用して1クロツクに1度の割合で行われ、1回のデ
コード処理で0〜6ハイトの命令コードを消費する (
リターンサブルーチン命令の復介先アドレスを含むステ
ップコードの出力処理等では命令コードを消費しない)
。Dステージ32は1回のデコートでAステージ33に
対してア)・レス計算情報であるへコード42とオペレ
ーションコードの中間デコード結果であるDコード41
とを出力する。
令キューからの命令コードの出力処理も行う。Dステー
ジ32ではブランチ命令及びサブルーチンからのリター
ン命令に対して先行ジャンプ処理を行う。
コード41もAコード42も出力セず、Dステージ32
で命令の処理を終了する。
」オペランドアドレス計算ステージ(Aステージ)33
での処理は大きく2つに分かれる。第1は、命令デコー
ド部112の第2デコーダを使用してオペレーションコ
ードの後段デコードを行う処理で、第2はオペランドア
ドレス計算部54でオペランドアドレスの計算を行う処
理である。
1を人力とし、レジスタ及びメモリの書込め予約及びマ
イクロプログラムルーチンのエントノ番地及びマイクロ
プログラムに対するパラメータ等を含むRコード43の
出力を行う。なお、レジスタ及びメモリの書込み予約は
、アドレス計算で参照したレジスタ及びメモリの内容が
、バイブライン上を先行する命令で書換えられてしまっ
て誤ったアドレス計算が行われることを防止するための
ものである。
、Aコード42に従ってオペランドアドレス81算部5
4でオペランドのアドレス旧算を行い、その計算結果を
Fニー)・44として出力する。またジャンプ命令に対
してはジャンプ先アドレスの計算を行って先行ジャンプ
処理を行う。この際、アドレス計算に伴うレジスタの読
出し時に書込み予約のチエツクが行われ、先行命令がレ
ジスタまたはメモリに対して書込み処理を終了していな
いために予約があることが指示されれば、先行命令のE
ステージ35での書込み処理が終了するまで待機状態に
なる。
行わなかったジャンプ命令に対して先行ジャンプ処理を
行う。絶対値アドレスへのジャンプあるいはレジスタ間
接アドレッシングのジャンプ等に対してはAステージ3
3で先行ジャンプが行われる。先行ジャンプを行った無
条件ジャンプ命令に対してはRコード43やFコード4
4は出力されず、Aステージ33で命令の処理を終了す
る。
ジ」オペランドフェッチステージ(Fステージ)34で
の処理も大きく2つに分かれる。第1はマイクロROM
のアクセス処理であり、特にRステージ37と称す。第
2はオペランドプリフェッチ処理であり、特にOFステ
ージ38と称す。Rステージ37とOFステージ38と
は必ずしも同時に動作するわけではなく、データキャッ
シュのミス、ヒント、データTLBのミス、ヒント等に
依存して、動作タイミングが異なる。
理はRコード43に対して次のEステージ35での実行
に使用される実行制御コードであるEコード45を作り
出すためのマイクロROMアクセスとマイクロ命令デコ
ード処理とである。
グラムステップに分解される場合、第1マイクロROP
部113及び第2マイクロROM部114がEステージ
35で使用され、次のR:I−ド43がマイクロROM
アクセス待ちになる場合がある。Rコード43に対する
マイクロROMアクセスが行われるのは、Eステージ3
5でのマイクロROMアクセスが行われない場合である
。本発明のデータ処理装置100では多くの整数演算命
令が1マイクロプログラムステツプで行われ、多くの浮
動小数点演算命令が2マイクロプログラムステツプで行
われるため、実際にはRコード43に対するマイクロR
OMアクセスが次々と行われる可能性が高い。
ペランドフェッチステージ(OFステージ)38はFス
テージ34が行う」二連の2つの処理の内のオペランド
プリフェッチ処理を行う。
ータTLBで物理ア[゛レスに変換してその物理アドレ
スで内蔵データキャッシュあるいは外部のメモリをアク
セスしてオペランドをフェッチし、そのオペラン)・と
Fコード44として転送されてきたその論理アドレスと
を組合わせてSコード46a46bとして出力する。
いが、8バイト以下のオペランドフェッチを指定する。
定も含まれており、Aステージ33が計算したオペラン
ドアドレス自体あるいは即値をEステージ35へ転送す
る場合にはオペラン)・プリフェッチは行われず、Fコ
ード44の内容をSコード46a、 46bとして転送
する。プリフェッチしようとするオペランドとEステー
ジ35が書込み処理を行おうとするオペランドとが一致
する場合は、オペランドプリフェッチは内蔵データキヤ
ノンユからも外部からも行われず、バイパスして行われ
る。
Eステージ)35はEニート45とSコード46a、
4Gbとを入力として動作する。このEステージ35が
命令を実行するステージであり、Fステージ34以前の
ステージで行われた処理は全てFステージ35のための
前処理である。Eステージ35でジャンプが実行された
り、EIT処理が起動されたりした場合は、IFステー
ジ31〜トスう−−ン34までの処理しよずべて無効化
される。Eステージ35はマイクロプログラムにより制
御され、1マコート45にて示されたマイクロプログラ
ムルーチンのエントリ番地からの一連のマイクロ命令を
実行することにより命令を実行する。
特にElコードと称す)と浮動小数点演算部118を制
御するコード(特にEFコニーと称す)とがある。El
コードとEFコニーとは独立に出力されることも可能で
あり、両コードが独立して出力された場合には、Eステ
ージ35では整数演算部117と浮動小数点演算部11
8とが並列に動作する。例えば浮動小数点演算部118
でメモリオペランドを持たない浮動小数点演算命令を実
行する場合、この動作は整数演算部117の動作と並行
して実行される。
ロROMの読出しとマイクロ命令の実行とはパイプライ
ン化されて行われる。従って、マイクロプログラムで分
岐が発生した場合はIマイクロステップの空きが生しる
。Eステージ35ではAステージ33が行ったレジスタ
またはメモリに対する書込み予約をオペランドの書込み
の後に解除する。
ジ35が直接受付け、マイクロプログラムにより必要な
処理が実行される。その他の各種EITの処理もEステ
ージ35でマイクロプログラムにより行われる。
ステージ35はSステージ36へWコード47a47b
とストア処理を行う命令のプログラムカウンタ値との両
方を出力する。また、トレース動作中はオペランドのス
トア動作とは関係なしに、実行した命令のプログラムカ
ウンタ値がEステージ35からSステージ36へ出力さ
れる。
ペランドストアステージ(Sステージ)36はWツー1
′の論理アドレス47aをデータT1、Bで物理アドレ
スに変換し、そのアドレスでWコードのデータ47bを
内蔵デークキャノシュにストアする。
値とをストアバッファに入力し、データT1、Bから出
力された物理アドレスを用いて外部のメモリへWコード
のデータ47bをストアする処理が行われる。
行われ、データTLBまたは内蔵データキャッシュがミ
スした場合のアドレス変換処理及び内蔵データキャッシ
ュの入替え処理も行う。
ストアバッファにWコード47a、 47bとプログラ
l、カウンタ値とが保持されたままの状態で、Eステー
ジ35にEITの検出が通知される。
パイプラインの各ステージは人力ランチと出力ラッチと
を有し、他のステージとは独立に動作することを基本と
する。各ステージは1つ0ijに行った処理が終了し、
その処理結果を出力ラッチから次のステージの人カラ、
ヂヘ転送し、自ステージの人力ランチに次の処理に必要
な入力信号が全て揃えば次の処理を開始する。
れてくる次の処理に対する入力信号が全て有効となり、
現在の処理結果を後段のステージの入力ラノチヘ転送し
て出力ラッチが空になった場合に次の処理を開始する。
号が全て揃っている必要がある。人力信号が揃っていな
い場合には、そのステージは待ち状態(入力待ち)にな
る。出力ランチから次のステージの入力ランチへの転送
が行われる場合には次のステージの人力ランチが空き4
JSEになっている必要があり、次のステージの人力ラ
ンチが空き状態でない場合もパイプラインステージは待
ち状!さ(出力待ち)になる。また、キャッシュ、 T
LBがミスしたり、パイプラインで処理中の命令相互間
にデータ干渉が生じたような場合には、1つのステージ
の処理に複数クロックが必要となり、パイプライン処理
が遅延する。
発明のデータ処理装置100の整数演算部117の詳細
なブロック図であり、オペランドアドレス計算部115
. 浮動小数点演算部118. オペランドアクセ
ス部120も共に示されている。
から整数演算部117へ出力されるオペランドアドレス
及び即値を保持するレジスタである。
アクセス部120ヘアドレスを出力するためのレジスタ
であり、保持内容に対する1、 2.4.8のインクリ
メント/デクリメント機能を有する。8をインクリメン
ト/デクリメントする機能は、8バイト浮動小数点数を
浮動小数点レジスタとメモリとの間で転送する際に4バ
イトの2つの整数を汎用レジスタとメモリとの間で同時
に転送する場合に有意義な機能である。
データを保持する。またレジスタファイル213は主A
LU215と補助ALU212とにそれぞれ3本の4バ
イトのバスで結合されており、2つのレジスタ上のオペ
ランドを対象として加算、比較等の演算を主ALU2]
5または補助ALU212に行わせることが可能である
。
クセス部120との間でデータを人出力するためのイン
タフェイスレジスタであり、8バイトのDrlバス12
3でオペランドアクセス部と結合している。
算部118とのインタフェイスレジスタである。
頭の”12または“0″の位置をサーチしたり、連続し
た2ビットが“ビまたは0″であるフィールドの先頭の
位置をサーチする。
113の指示に従って第1マイクロROM部113が指
定したレジスタ番地またはプライオリティエンコーダ部
214が指定したレジスタ番地に従ってレジスタファイ
ル213に対するデータの読み書きを制御する。
地指定回路218との詳細構成及びLD?I命令とST
F命令との動作を述べる。
成」第1図はプライオリティエンコーダ部214の詳細
なブロック図である。
路I、オフセット値指定回路2.2つのブライメリティ
エンコード回路3及び4.エンコード結果判定回路7等
にて構成されている。
16ビノトまたは32ビットのビット列を保持する機能
、“0”と“どとを反転する機能、ビット順序を逆転す
る機能、隣接ビット間の論理積をとる機能を有し、これ
らの変換が加えられたビット列を第1エンコード回路3
及び第2エンコード回路4へ出力する。
ク図である。
0に入力される他、インバータにより反転されたビット
列としてもセレクタ10に入力される。セレクタ10は
反転されたビット列または反転されていないビット列の
いずれかを1して出力し、大カラソチ11に保持させる
。
定回路12でビット順序を逆転して第1エンコード回路
3に入力される。ビット正順逆順指定回路12の出力は
また、論理積回路13により各ビットについてそれぞれ
の上位側に隣接するビットとの論理積がとられて第2エ
ンコード回路4に入力される。
た5ヒ゛ソトのオフセット(直をイ呆持し、そのイ直を
第1エンコード回路3及び第2エンコード回路4へ出力
する。また命令デコード部2は、エンコード結果判定回
路7から出力されるオフセット値を入力し、その値に”
1”または”2”を加算する加算機能がある。
に回路構成されたプライオリティエンコード回路であり
、ビット列生成回路1から入力されたビット列を対象と
してオフセット指定回路2で指定されたビット位置以降
でサーチして最初の“ビのピッI・位置を出力する組合
せ論理回路である。
2エンコード回路4とから出力されるエンコード値とA
Aババス22の下位3ビットとを入力とし、オフセット
値指定回路2ヘエンコード結果と加算すべき値とを出力
し、レジスタ番地指定回路218へレジスタ番号と2つ
のレジスタとを同時アクセスすべきか否かを示す並列ア
クセス信号8を出力する他、第1エンコード回路3から
出力されたエンコード値をD1バス225へ出力するこ
ともできる。また、エンコード結果判定回路7は第1エ
ンコード回路3の出力の“1″ と“01 とを反転し
た値をレジスタ番地指定回路218へ出力することもで
きる。
すべて“0″で且つ第1エンコード回路3と第2エンコ
ード回路4とのエンコード結果が同じ値である場合にア
サートされる。
スタ番地指定回路218の詳細な構成を示すブロック図
である。
113で指定されたレジスタ番地またはプライオリティ
エンコーダ部214で指定されたレジスタ番号をデコー
ドし、S1バス22L S2バス222. 旧ハス
225. 113バス226に対するレジスタファイル
213の人出力を制御する。
用レジスタとのアクセスが可能で各バスについて5ビッ
トで入力または出力するレジスタ番地が指定される。プ
ライオリティエンコーダ部214からはレジスタファイ
ル213中の入力または出力を行う汎用レジスタ番号が
4ビットで指定され、レジスタ番地指定回路218のセ
レクタ(17,18,1920)への入力段階で上位に
“0″を拡張してレジス夕番地とされる。
ジスタ番地とプライオリティエンコーダ部214で指定
されたレジスタ番号とはセレクタ17.1819、20
によりいずれかが選IJ<されてそれぞれのハス用のデ
コード回路17°、 1B’、 19’、 20“へ入
力される。
は加算命令等の単純な命令では第1マイクロROM部1
13から出力されたレジスタ番地に従って各バスに入出
力するレジスタを制御するため、レジスタ番地が各バス
毎のデコード回路17’、 1B’。
てレジスタファイル216をアクセスするが、一部の高
機能命令ではデコード回路17’、 1B’、 +9’
、 20から出力された制御信号をシフトすることによ
り、本来のデコード結果とは異なるデコード結果にてレ
ジスタファイル213をアクセスする。
行に際して2つのレジスタを並列アクセスする場合に、
プライオリティエンコーダ部214により指定されたレ
ジスタ番号より1つ大きなレジスタ番号のレジスタをア
クセスするためにデコード結果を1ビット上位側ヘシフ
トしてレジスタファイル213へ出力する。この機能は
デコーダ18′ と20゛ とがデコード結果のビ
ット列を出力する制御信号線群と、そのビット列を1ビ
ット上位側にソフトしたビット列を出力する制御信号線
群とをセレクタ1516でそれぞれ1ビットシフl−1
,たビット列を出力する制御信号線群を選択することに
より実現される。
レジスタを並列アクセスする場合、プライオリティエン
コーダ部214により指定されたレジスタ番号より1つ
小さなレジスタ番号のレジスタをアクセスするためにデ
コーダ17゛ のデコード結果を1ビット下位側ヘシフ
トしてレジスタファイル213へ出力する。この機能は
デコーダ+7’ がデコード結果のビット列を出ノjす
る制御信号線群とそのビット列を1ビット下位側にシフ
トしたビット列を出力する制御信号線群とをセレクタ1
4でそれぞれ1ビットシフl−t、たビット列を出力す
る制御信号線群を選択することにより実現される。
示す模式R1第32図はLMD命令を実行する場合の整
数演算部117の動作手順を示すフローヂャーl−であ
る。
5R6,R7,R8にスタック顛域から6個の4バイト
データをロードする命令である。本発明のデータ処理装
置100でこの命令を実行する場合、第1マイクロRO
M部113の制御により第32図に示すフローチャート
に従って整数演算部117が動作する。
00111110000000’が変換され、第1エン
コード回路3がエンコードするビット列は“01001
1111000000000000000000000
00″となり、第2エンコード回路4がエンコードする
ビット列は“0000111100000000000
0000000000000”となる。これらのビット
列をサーチすると、レジスタ番号「4゜5.7」で2つ
のサーチ結果が一致するが、レジスタ番号「4」の場合
は静バス122の下位3ビット力じ0”ではないため、
レジスタR1とR4とには1回の操作で4バイトずつデ
ータがロードされ、レジスタR5とR6,R7とR8に
はそれぞれ並列にデータがロードされることとなる。
する場合、エンコード結果判定回路7から出力される並
列アクセス信号8がアサートされる。この並列アクセス
信号8に従って、デコード結果のビット列を1ビット上
位側ヘシフトしたビット列が転送される制御線をセレク
タ16が選iRすることにより、エンコード結果判定回
路7から出力されたレジスタ番号より1つ大きな番号の
レジスタに値がロードされる。
モード以外の37M命令を実行する場合、LDM命令と
同じフォーマ7トレジスタリストを処理するだめにプラ
イオリティエンコーダ部214の動作ハLDM命令の場
合と同様である。また、レジスタ番地指定回路218で
はS2バス222へ出力するレジスタ番地として、人力
されたレジスタ番地よりも1つ大きな番地のレジスタを
アクセスするため、デコード結果のビット列を1ビット
上位側ヘシフトシたビット列が転送される制御線をセレ
クタ15が選択する。
+モードである37M命令を実行する場合、L[]?1
命令と異なるフォーマノトレジスクリス]・を処理する
ので、プライオリティエンコーダ部214の動作が一部
異なる。この場合、エンコード結果判定回路7からオフ
セット値指定回路2へは第1エンコード回路3から出力
された値がそのまま転送されるが、レジスタ番地指定回
路218へは第1エンコード回路3から出力された値の
“0′と“1″とを反転した値が出力される。つまり、
オフセット値指定回路2にはサーチしてエンコードした
ビット番号そのものが転送されるが、レジスタ番地指定
回路218へは捜査してエンコードしたビット番月に対
応するレジスタ番号が出力されることになる。
アクセス信号8がアサートされた場合、S2ハス222
へは人力されたレジスタ番地のレジスタから値が出力さ
れ、S1ハス221へは入力されたレジスタ番地より1
つレジスタ番地が小さいレジスタから値が出力される。
シフl−したビット列を転送する制御線をセレクタ14
が選択することにより行われる。
コード回路3のサーチ対象となるビット列は“0000
0001111100100000000000000
000”であり、第2エンコード回路4のサーチ対象と
なるビット列は°00000001111000000
000000000000000”である。最初のエン
コード動作では、エンコード結果判定回路7へは第1エ
ンコード回路3と第2エンコード回路4とからは共に値
「7」が入力され、静バス122からは出力されるアド
レス“H”0O001FF8”の下位3ビットの“0”
が人力される。エンコード結果判定回路7はこれらの入
力に基づいてオフセット指定回路には値「7」と加算値
「2」とを出。
表現した値“0111″の反転である°1000”に対
応するレジスタ番号「8」を出力し、並列アクセス信号
8をアサートする。
号「8」をデコードし、S2バス222へはレジスタR
8からデータを続出し、Slバス221へはデコード結
果を1ビット下位側へシフトしたビット列を転送する制
御線をセレクタ14で選択することによりレジスタR7
からデータを続出す。S1バス221とS2バス222
とへ読出された2つのデータはDDレジスタ216で連
結され、1つの8バイトデータとしてDDババス通じて
オペランドアクセス部120へ転送され、内蔵データキ
ャッシュあるいは外部メモリにストアされる。
示す模式図である。
D、 64本のデータピンと32本のアドレスピンと
32木の命令ピン、入カクロソクCLKの他に種々の制
御信月を入出力する。
スピンには物理アドレスが出力される。
装置100の動作クロックと同一周波数のクロックであ
る。
出力されたデータアドレスが有効であることを示す。
が入力であるか出力であるかを区別する。
0がデータ入力準備を完了したことまたは本発明のデー
タ処理装置100からデータが出力されたことを示す。
クセスサイクルを終了してもよいことを通知する信号で
ある。
とデータピンとの値の意味を示す。
れた命令アドレスがイラ効であることを示す。
が命令入力準備を完了したことを示す。
サイクルを終了してもよいことを通知する信号である。
置lOOにバス権を要求する信号である。
EQ#を受付けてバス権を他のデバイスに渡したことを
示す信号である。
込みを受付け、割込みベクトルアクセスサイクルを行っ
ていることを示す信号である。
ータ処理装置100を用いた第6図に示すシステム構成
例では、本発明のデータ処理装置100とデータキャッ
シュ1.07.1.08とはデータビンに接続されてい
るデータバス102. アドレスビンに接続されてい
るアドレスバス101 の他、BAT(0:2)、 D
ASIl、 R/WL DSII、 DCロ とでも接
続されている。本発明のデータ処理装置100と命令キ
ャッシュ106とは命令ピンに接続されている命令ハス
I03. アドレスバス101の他、BAT(0+2
)、 14sIlI81. Iceとでも接続されて
いる。
本タイミングを決定する。
でのバスアクセスではデータバス102を用いたデータ
アクセスと命令バス103を用いた命令アクセスとを、
それぞれ十分高速な外部メモリに対して外部入力クロッ
クCLKの2サイクルに1度の割合で行える。
スモードでのバスアクセスではデータバス102を用い
たデータアクセスと命令バス103を用いた命令アクセ
スとを、それぞれ十分高速な外部のメモリに対して外部
入力クロックCLKの5サイクルに4度の割合で行える
。
8のアクセスと命令キャッシュ106のアクセスとのビ
し。
ストのビット列の各ビットについて隣接した2ビットの
論理積をとった結果から“1”をサーチしてそのビット
位置をエンコードすることにより、2つのレジスタを同
時に操作しているが、3人力またはそれ以上の人力を有
する論理積演算回路で連続する3つまたはそれ以上ビッ
トの論理積をとり、その結果から“1”をサーチしてそ
のビット位置をエンコードすることにより、3つまたは
それ以上のレジスタを同時に操作する構成を採ることの
可能である。
に対応するレジスタが操作対象となるレジスタである命
令の例について説明したが、レジスタリストで“0″の
ビットに対応するレジスタが操作対象となるレジスタで
ある命令であってもプライオリティエンコーダにサーチ
対象となるビット列を反転した上で入力すれば全く同様
に処理可能である。
命令とST?l命令とを例として説明したが、プロシー
ジャの入口で複数のレジスタ中のデータの退避を行うと
共にスタックフレームの形成を行う命令、あるいはプロ
シージャの出口で複数のレジスタへのデータの復、14
とスタックフレームの解消とを行う命令等、レジスタリ
ストを用いて転送すべきレジスタを指定する命令であれ
ば上記実施例と同様の処理が可能である。
ダ及びそれを備えたデータ処理装置は、レジスタリスト
であるビット列を保持するレジスタと、このレジスタに
保持されたビット列の各ビットについて隣接した上位ビ
ットとの論理積演算を行う演算回路と、この演算回路の
出力ビット列中から“1”(または“0″)の先頭の位
置をサーチしてそのビット位置をエンコードするエンコ
ード回路を備えることにより、レジスタリスト中の“1
#(または“0“)が2ビット連続するビット位置をエ
ンコードする。このため、レジスタリストに指定された
連続する2つのレジスタを一度に特定することが可能に
なる。この機能は2つのレジスタに保持された2つのデ
ータを同時にアクセスするためには必須の機能であり、
データ処理装置等において2つのデータに対して並列操
作を行うことを可能にする。
持する複数の汎用レジスタと上述のプライオリティエン
コーダとを有し、命令デコーダの出力信号に従って命令
を実行する命令実行手段を備え、命令デコーダが複数デ
ータ転送命令をデコードした場合に、命令実行手段が、
複数データ転送命令のレジスタリストを上記プライオリ
ティエンコーダでエンコードし、レジスタリスト中の0
1′(または“0”)が連続した位置から複数データ転
送命令のオペランドとなるデータを保持する2つのレジ
スタの番地を特定して2つのレジスタを同時にアクセス
することにより、2つのデータを同時に操作する。この
ため、例えば連続したレジスタ番号の複数のレジスタの
内容をレジスタとメモリとの間で転送する場合、連続し
たレジスタ番号の2つのレジスタの内容を同時に処理し
て2つのデータを並列に処理することが可能になる。従
って、コンパイラではプロシージャの出入口で退避ある
いは復帰を行うべきデータは連続した番号のレジスタに
割振る場合が多いので、従来のデータ処理装置に比べ本
発明のデータ処理v装置は最大で2倍の速度でデータを
レジスタからメモリへ退避し、またメモリからレジスタ
へ復帰することが可能になる。
コーダ部の詳細な構成を示すブロック図、第2図は本発
明のデータ処理装置のプライオリティエンコーダ部の構
成要素であるビット列生成回路の詳細な構成を示すブロ
ック図、 第3図は本発明のデータ処理装置の整数演算部の構成を
示すブロック図、 第4図は本発明のデータ処理装置の全体構成を示すブロ
ック図、 第5図は本発明のデータ処理装置のパイプライン処理ス
テージの説明のための模式図、第6図は本発明のデータ
処理装置を用いたデータ処理システムの構成例を示すブ
ロック図、第7図は本発明のデータ処理装置の入出力信
号ピンを示す模式図、 第8図は本発明のデータ処理装置のレジスタ番地指定回
路の詳細な構成を示ずブロック図、第9図、第10図、
第11図、第12図及び第13図は本発明のデータ処理
装置の命令のフォーマントを示す模式図、 第14図、第15図、第16図、第17図、第18図、
第19図1第20図1第21図1第22図、第23図、
第24図第25図、第26図及び第27図は本発明のデ
ータ処理装置の命令中のアドレッシングモード指定部の
フォーマットを示す模式図、 第28図は本発明のデータ処理装置の複数データロード
命令である10M命令のフォーマントを示す模式図、 第29図は本発明のデータ処理装置の複数データストア
命令であるST?I命令のフォーマントを示す模式図、 第30図は本発明のデータ処理装置の複数データロード
命令であるLDM命令の具体的オペレーションコードの
構成例を示す模式図、 第31図は本発明のデータ処理装置の複数データストア
命令である37M命令の具体的オペレーションコードの
構成例を示す模式図、 第32図fal、 (′b)及びfclは第30図に示
されティるL[]?1命令の具体例を実行した場合に本
発明のデータ処理装置の命令実行部が行う処理のアルゴ
リズムを示すフローチャートである。 1・・・ビット列生成回路 2・・・オフセット値指
定回路 3・・・第1エンコード回B 4・・・第
2エンコード回路 7・・・エンコード結果判定回路
17、18.19.20・・・セレクタ 1.4.15
.16・・・セレクタ 17’、 1B’、 19’
、 20・・・デコード回路 +09・・・主メモリ
107,1.08・・・データキャッシュ 112
・・命令デコード部 117・・・整数演算部 118
・・・浮動小数点演算部 212・・・レジスタファイ
ル 214・プライオリティエンコーダ部 215・・
・主ALLI 218・・・レジスタ番地指定回路
216・・・DDレジスタなお、図中、同一符号は同一
、又は相当部分を示す。
Claims (2)
- (1)“1”のビットと“0”のビットとで構成されて
いるビット列を保持するレジスタと、 該レジスタに保持されたビット列中の各ビ ットについて、それぞれに隣接した少なくとも1ビット
との論理積演算を行う演算回路と、該演算回路の各論理
積演算の結果の出力ビ ット列中の“1”または“0”のいずれかの先頭をサー
チしてそのビット位置を2進数にエンコードすることに
より、前記レジスタに保持されたビット列中の“1”ま
たは“0”が2ビット以上連続した位置を出力するエン
コード回路と を備えたこと特徴とするプライオリティエ ンコーダ。 - (2)命令をデコードする命令デコード手段と、データ
を保持する複数のデータレジスタ “1”のビットと“0”のビットとで構成 されているビット列を保持するレジスタ と、前記レジスタに保持されたビット列 中の複数のビットについて隣接した2つ 以上のビットの論理積演算を行う演算回 路と、該演算回路の出力ビット列の“1” または“0”のいずれかの先頭をサーチし てそのビット位置を2進数にエンコード することにより、前記レジスタに保持さ れたビット列中の“1”または“0”が2ビット以上連
続した位置を出力するエンコ ード回路とにて構成されたプライオリテ ィエンコーダと を有し、前記命令デコード手段の出力信 号に従って命令を実行する命令実行手段と を備え、 前記命令実行手段は、前記命令デコード手 段がビット列で表現されたレジスタリストに従って前記
データレジスタの内容を複数のオペランドとして操作す
る命令をデコードした場合に、前記プライオリティエン
コーダが出力した“1”または“0”が2ビット以上連
続した位置を、前記命令のオペランドとなるデータが保
持されているデータレジスタを同時に複数特定した番地
として前記命令を実行すべくなしてあることを特徴とす
るデータ処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2231968A JP2504312B2 (ja) | 1990-08-29 | 1990-08-29 | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 |
| US08/324,313 US5519881A (en) | 1990-08-29 | 1994-10-17 | Priority encoder for accessing multiple registers simultaneously and a data processing system which uses it |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2231968A JP2504312B2 (ja) | 1990-08-29 | 1990-08-29 | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04109338A true JPH04109338A (ja) | 1992-04-10 |
| JP2504312B2 JP2504312B2 (ja) | 1996-06-05 |
Family
ID=16931875
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2231968A Expired - Lifetime JP2504312B2 (ja) | 1990-08-29 | 1990-08-29 | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5519881A (ja) |
| JP (1) | JP2504312B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115733873A (zh) * | 2022-11-21 | 2023-03-03 | 青岛东软载波科技股份有限公司 | 一种基于能源路由器设备模型化配置文件的数据抄读方法 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH07248918A (ja) * | 1994-03-10 | 1995-09-26 | Matsushita Electric Ind Co Ltd | マイクロプロセッサ |
| JPH1097423A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | ループ処理の並列実行制御に適したレジスタ構成を有するプロセッサ |
| US6028452A (en) * | 1998-02-27 | 2000-02-22 | Digital Equipment Corporation | Method and apparatus for a fast variable precedence priority encoder with optimized round robin precedence update scheme |
| JP3417472B2 (ja) * | 1999-10-25 | 2003-06-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プライオリティ・エンコーダ及びそのエンコード方法 |
| US8195923B2 (en) * | 2009-04-07 | 2012-06-05 | Oracle America, Inc. | Methods and mechanisms to support multiple features for a number of opcodes |
| US9424276B2 (en) * | 2014-05-30 | 2016-08-23 | Avaya Inc. | Efficient state change support for hierarchical data models in a virtualized system |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4028684A (en) * | 1975-10-16 | 1977-06-07 | Bell Telephone Laboratories, Incorporated | Memory patching circuit with repatching capability |
| US4187551A (en) * | 1975-11-21 | 1980-02-05 | Ferranti Limited | Apparatus for writing data in unique order into and retrieving same from memory |
| US4339797A (en) * | 1978-06-30 | 1982-07-13 | International Business Machines Corporation | Microcontroller with auxiliary register for duplicating storage of data in one memory location |
| US4348741A (en) * | 1980-07-17 | 1982-09-07 | Motorola, Inc. | Priority encoder |
| US4389636A (en) * | 1980-11-03 | 1983-06-21 | Riddle H S Jun | Encoding/decoding syncronization technique |
| JPS59167165A (ja) * | 1983-03-11 | 1984-09-20 | Toshiba Corp | 可変長符号化復号化方式 |
| US4573118A (en) * | 1983-03-31 | 1986-02-25 | Fairchild Camera & Instrument Corporation | Microprocessor with branch control |
| WO1985000453A1 (en) * | 1983-07-11 | 1985-01-31 | Prime Computer, Inc. | Data processing system |
| US4613860A (en) * | 1983-12-14 | 1986-09-23 | Sperry Corporation | Coder-decoder for purged binary block codes |
| US4599723A (en) * | 1984-02-14 | 1986-07-08 | Pulse Electronics, Inc. | Method of encoding data for serial transmission |
| US4785393A (en) * | 1984-07-09 | 1988-11-15 | Advanced Micro Devices, Inc. | 32-Bit extended function arithmetic-logic unit on a single chip |
| US4841300A (en) * | 1986-06-18 | 1989-06-20 | Mitsubishi Denki K.K. | Error correction encoder/decoder |
| US4894772A (en) * | 1987-07-31 | 1990-01-16 | Prime Computer, Inc. | Method and apparatus for qualifying branch cache entries |
| US4905002A (en) * | 1988-03-09 | 1990-02-27 | Eastman Kodak Company | Delta modulation encoder/decoder method and system |
| US5142634A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
| US5123105A (en) * | 1990-06-25 | 1992-06-16 | Advanced Micro Devices, Inc. | Priority encoder for a content addressable memory |
-
1990
- 1990-08-29 JP JP2231968A patent/JP2504312B2/ja not_active Expired - Lifetime
-
1994
- 1994-10-17 US US08/324,313 patent/US5519881A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115733873A (zh) * | 2022-11-21 | 2023-03-03 | 青岛东软载波科技股份有限公司 | 一种基于能源路由器设备模型化配置文件的数据抄读方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2504312B2 (ja) | 1996-06-05 |
| US5519881A (en) | 1996-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2616182B2 (ja) | データ処理装置 | |
| US5717946A (en) | Data processor | |
| US6760832B2 (en) | Data processor | |
| JP2581236B2 (ja) | データ処理装置 | |
| JPH03186928A (ja) | データ処理装置 | |
| JP2834292B2 (ja) | データ・プロセッサ | |
| JP3543181B2 (ja) | データ処理装置 | |
| JP2507638B2 (ja) | デ―タ処理装置 | |
| JP2847974B2 (ja) | データ処理装置 | |
| JP2669158B2 (ja) | データ処理装置 | |
| JPH0215331A (ja) | データ処理装置 | |
| JPH0391029A (ja) | データ処理装置 | |
| JP2556182B2 (ja) | デ−タ処理装置 | |
| US5870596A (en) | Data processor allowing multifunctional instruction execution | |
| JP3345787B2 (ja) | データ処理装置 | |
| JPH04109338A (ja) | プライオリティエンコーダ及びそれを備えたデータ処理装置 | |
| JPH04260926A (ja) | ビット検索回路及びそれを備えたデータ処理装置 | |
| JP2504235B2 (ja) | デ―タ処理装置 | |
| JP2646855B2 (ja) | データ処理装置 | |
| JPH0769806B2 (ja) | データ処理装置 | |
| JP2522048B2 (ja) | マイクロプロセッサ及びそれを使用したデ―タ処理装置 | |
| JP2696578B2 (ja) | データ処理装置 | |
| EP0507958A1 (en) | Device for processing information | |
| Gupta | Computer Organization and Architecture | |
| JP2004152049A (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: 20080402 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 15 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 15 |