JP4121527B2 - データ処理方法 - Google Patents

データ処理方法 Download PDF

Info

Publication number
JP4121527B2
JP4121527B2 JP2006045572A JP2006045572A JP4121527B2 JP 4121527 B2 JP4121527 B2 JP 4121527B2 JP 2006045572 A JP2006045572 A JP 2006045572A JP 2006045572 A JP2006045572 A JP 2006045572A JP 4121527 B2 JP4121527 B2 JP 4121527B2
Authority
JP
Japan
Prior art keywords
instruction
interrupt
data processing
execution
bus
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
Application number
JP2006045572A
Other languages
English (en)
Other versions
JP2006196013A (ja
Inventor
ジェームス・エム・シビグトロス
ジェイ・グレッグ・ビオット
マーラン・エル・ウィンター
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Publication of JP2006196013A publication Critical patent/JP2006196013A/ja
Application granted granted Critical
Publication of JP4121527B2 publication Critical patent/JP4121527B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Description

本発明は、一般に、データ処理システムにおける命令に関し、さらに詳しくは、データ処理システムにおける再開可能な(resumable) 命令に関する。
データ処理システムの複雑さが増加するにつれて、データ処理システムによって実行される命令は、より多くの命令サイクルを完全に実行させることが必要なことがある。命令サイクルを増加することは、より長い実行時間に相当し、そのため、機能の実行に割り込む信号の必要性に相当する。一般に割り込み信号は、より緊急なデータ処理機能を実行すべきであることを示す。長い待ち時間(latency) を有する現在の命令では、命令が完全に実行される前に割り込みがアサートされた場合に、2つの方法のうち1つが一般に行われる。
第1の方法では、データ処理システムは、命令が完全に実行されるまで、割り込みを無視する。命令が実行された後、割り込みは処理される。除算,乗算,累算および複雑なファジー論理命令などのデータ処理命令では、割り込みを処理する前に費やされる時間はデータ処理システムの適正動作にとって重要となりうる。割り込みのタイミングが重要でない他のシステムでは、システムの効率は、現在実行中の命令の長い実行時間によって低下する。
第2の方法では、割り込みを受けると、データ処理システムは命令の実行を単純に停止する。命令の実行に必要なデータは、一般に、データ処理システム内のスタック・メモリまたは他のメモリ・デバイスに格納され、ついで割り込みが即刻処理される。割り込みを処理した後、データ処理システムはスタック・メモリまたは他のメモリ・デバイスに格納されたデータを取り出し、命令の実行を最初から再開する。前に計算された中間結果は取り出され、同じ命令の以降の実行において再び用いられる。この第2の割り込み処理方法を実行するデータ処理システムでは、命令実行のための初期化(initialization)を一連の追加命令中に実行しなければならない。命令の実行中に初期化ステップを実行すると、すべての初期化ステップは命令が割り込まれる度に繰り返されることになる。ここでも、データ処理システムの効率は最適化されない。命令実行の前に必要な初期化ステップを挿入することは、第2の割り込み処理方法を実行するシステムの機能性を向上させずに、貴重なメモリ・スペースを消費する。
割り込みを効率的に処理でき、しかもシステムの最適性能を維持するデータ処理システムに対する必要性が生じている。これまで、従来の方法では、緊急度または優先度にかかわりなく、命令実行まで割り込みを単純に無視するか、あるいは命令実行に割り込み、即刻割り込みを処理し、すべての中間命令計算を失っていた。概して、上記の従来の方法は、これらの方法が実施されるデータ処理システムの最適性能を提供していない。
上記問題点を解決するために、請求項1に記載の発明は、データ処理装置において再開可能な命令を実行するための方法であって、第1命令部分及び第2命令部分を有した、再開可能な命令を受信するステップと、長い計算を開始することによって前記第1命令部分の実行を開始するステップと、前記第1命令部分の実行中に割り込みが受け付けられた場合には、前記長い計算の中間結果を格納し、及び前記割り込みを処理する前に前記第2命
令部分を指すようにプログラム・カウンタを設定するステップと、前記第1命令部分の実行中に割り込みが受け付けられなかった場合には、前記第2命令部分を実行することなく前記再開可能な命令の実行を完了させるステップとを備えることを要旨とする。
請求項2に記載の発明は、データ処理装置において再開可能な命令を実行するための方法であって、第1命令部分及び第2命令部分を有した、再開可能な命令を受信するステップと、前記第1命令部分を指すようにプログラム・カウンタをイネーブルするステップと、前記プログラム・カウンタが第1命令部分を指すことに応答して、長い計算を開始するステップと、前記第1命令部分の実行中に割り込みに応答した割り込み信号が発生した場合には、前記長い計算の中間データを一時的に格納し、及び前記割り込みを処理する前に前記第2命令部分を指すようにプログラム・カウンタを設定するステップと、前記割り込みを処理するステップと、前記割り込みを処理した後に、前記第2命令部分の実行を開始するステップと、前記第2命令部分の実行の間に、前記一時的に格納された中間データを復元し、及び前記プログラム・カウンタを再び前記第1命令部分を指すように設定するステップと、他の割り込みが受信されるまで、又は前記長い計算が完了するまで、前記第1命令部分の実行を再開するステップと、前記第1命令部分の実行中に割り込み信号が発生されなかった場合には、前記第2命令部分を実行することなく前記再開可能な命令の実行を完了させるステップとを備えることを要旨とする。
第1の形態では、データ処理システムが提供される。このデータ処理システムは、再開可能な(resumable) 命令を受けるインタフェース回路を含む。再開可能な命令は、第1命令バイトおよび第2命令バイトを有する。また、データ処理システムは、複数の制御値を与えるため再開可能な命令を解読する命令解読回路を含む。命令解読回路は、再開可能な命令を受けるためインタフェース回路に接続される。プログラム・カウンタは、再開可能な命令を指すプログラム・カウンタ値を格納する。プログラム・カウンタは、再開可能な命令の第1命令バイトおよび第2命令バイトのうち一方を選択的に指す。レジスタ回路は、プログラム・カウンタ値が再開可能な命令の第1命令バイトを指したときに、複数の初期化値と、計算された複数の中間値とを格納する。演算論理ユニットは、複数の初期化値および複数の中間値を受けるためレジスタ回路に接続される。演算論理ユニットは、複数の初期化値および複数の中間値を選択的に利用して、複数の制御値に応答して再開可能な命令の結果を算出する。スタック・メモリは、割り込み信号がアサートされ、かつプログラム・カウンタ値が再開可能な命令の第1命令バイトを指したときに、レジスタ回路に格納された複数の中間値を格納する。スタック・メモリは、プログラム・カウンタ値が再開可能な命令の第2命令バイトを指したときに、複数の中間値をレジスタ回路に与える。
さらに、第2の形態では、データ・プロセッサにおいて再開可能な命令を実行する方法が提供される。この方法は、第1命令バイトおよび第2命令バイトを有する再開可能な命令を受ける段階を含む。プログラム・カウンタは、第1命令バイトおよび第2命令バイトのうち一方を指すためイネーブルされる。第1データ処理機能は、プログラム・カウンタが第1命令バイトを指したときに実行される。第2データ処理機能は、プログラム・カウンタが第2命令バイトを指したときに実行され、この場合、第2データ処理機能により、データ・プロセッサは第1データ処理機能の実行を再開できる。
これらおよび他の特徴および利点は、添付の図面とともに以下の詳細な説明から明らかになろう。ただし、図面は本発明の唯一の形態を表すものではないことに留意されたい。
本発明は、一時的に割り込み可能であり、かつ後で再開可能な命令を実行するデータ処理システムを提供する。命令の割り込み前に計算された中間結果は、スタック・メモリに
格納され、命令のアドレスを示すプログラム・カウンタ値は繰り上げられ、割り込みは前回定義されたプログラムに基づいて処理される。
プログラム・カウンタは、命令の第2バイトをアクセスするため1だけ繰り上げられる。次に、データ処理システムは割り込みルーチンを実行する。割り込みルーチンを実行した後、繰り上げられたプログラム・カウンタは命令の第2命令バイトを指し、命令実行を再開する。命令の第2バイトがアクセスされると、命令の再開部分は実行され、ここでデータ処理演算の中間結果はスタック・メモリからアクセスされ、データ処理システム内のそれぞれの格納番地に復元される。また、プログラム・カウンタは、命令の第1バイトを指すため1だけ繰り下げられる。中間結果が復元された後、命令は、あたかも割り込みが発生しなかったように、データ処理演算の実行を継続する。
本明細書で説明するデータ処理システムにより、処理システムのユーザは命令に割り込み、割り込みルーチンを実行し、それから命令の実行を、サイクル時間を失わずに完了できる。従来の方法とは異なり、ユーザは、割り込み信号に応答して割り込みルーチンを実行するため、命令が完全に実行されるまで待つ必要はない。また、ユーザは中間結果を失わない。
本明細書で説明するシステムは、効率的に命令に割り込むことができ、しかも最適性能および効率的動作を維持できる。データ処理動作の適正動作は、割り込み信号を即座に処理することによって維持される。さらに、命令の実行中に生成される中間結果はスタック・メモリに格納されるため、前回計算された値を求めることに処理時間が費やされない。長い実行時間を有する命令の最適化された実行を可能にする本発明の実施例および回路についてさらに詳しく説明する。
(接続についての説明)
上記の命令および動作方法の1つの構成を図1に示す。図1は、再開可能な命令を実行できるデータ処理システム10を示す。データ処理システム10は、一般に、中央処理ユニット(CPU)12,発振器24,電力回路26,タイミング回路28,外部バス・インタフェース30および内部メモリ32を含む。一般に、CPU12は、実行ユニット14,バス制御論理回路16,命令解読論理回路18,制御ユニット20およびシーケンサ22を有する。
動作中、「OSC1]信号は、水晶などの外部発生源を介して発振器24に与えられる。水晶は、OSC1信号とOSC2信号との間に接続され、水晶が発振することを可能にする。OSC1は、データ処理システム10の残りの部分に「クロック(CLOCK) 」信号を与える。水晶発振器の動作はデータ処理の技術分野で周知であり、当業者に明らかである。
同様に、電力回路26は、外部電源から「Vdd」および「Vss」信号の両方を受ける。Vdd信号は正の5ボルトを供給し、Vss信号は基準または接地電圧を供給する。VddおよびVss信号は、データ処理システム10の各残りの部分に与えられる。これらの信号の供給はデータ処理の技術分野で周知であり、当業者に明らかである。
タイミング回路28は、クロック信号を受け、その後適切なタイミング信号をCPU12,外部バス・インタフェース30および内部メモリ32にタイミング制御バス38を介して与える。
複数のアドレス値は、外部バス・インタフェース30から外部アドレス・バス35を介して与えられる。同様に、複数のデータ値は外部データ・バス33を介して外部バス・イ
ンタフェース30に交信される。外部バス・インタフェース30は、外部ユーザとデータ処理システム10との間でアドレスおよびデータ値を交信すべく機能する。複数のアドレスおよびデータ値は、内部アドレス・バス36および内部データ・バス34をそれぞれ介して、外部バス・インタフェース30とデータ処理システム10の残りの部分との間で交信される。内部メモリ32は、データ処理システム10の適正動作のために必要な情報値を格納すべく機能する。さらに、他のデータ値も、ユーザ・プログラムで指定されれば、内部メモリに格納できる。
CPU12は、データ処理システム10の動作中に必要とされる各命令を実行する。内部アドレス・バス36および内部データ・バス34は、実行ユニット14とデータ処理システム10の残りの部分との間で情報を交信する。バス制御論理回路16は、命令およびオペランドをフェッチする。各命令は、命令解読論理回路18によって解読され、制御ユニット20およびシーケンサ22に与えられる。制御ユニット20およびシーケンサ22は、データ処理システム10の演算能力を最も効率的に利用するため、各命令の実行のシーケンスを維持する。さらに、制御ユニット20は、マイクロROMメモリ(図示せず)を含み、これは複数の制御情報を各実行ユニット14,バス制御論理16および命令解読論理18にマイクロROM制御バス65を介して与える。
図2は、データ処理システム10の実行ユニット14の一実施例を示す。実行ユニット14は、一般に、演算論理ユニット(ALU)52,状態コード・レジスタ(CCR:condition code register))54,累算器A(ACCA)56,累算器B(ACCB)58,インデックスXレジスタ60,インデックスYレジスタ62,第1一時レジスタ(TEMP1)64,第2一時レジスタ(TEMP2)66,第3一時レジスタ(TEMP3)68,プログラム・カウンタ70およびスタック・ポインタ72を含む。
各ALU52,状態コード・レジスタ54,累算器A56,累算器B85,インデックスXレジスタ60,インデックスYレジスタ62,TEMP1 64,TEMP2 66,TEMP3 68,プログラム・カウンタ70およびスタック・ポインタ72は、データおよびアドレス情報を受けるためAバス74に結合される。さらに、各ALU52,状態コード・レジスタ54,累算器A56,累算器B85,インデックスXレジスタ60,インデックスYレジスタ62,TEMP1 64,TEMP2 66,TEMP3 68,プログラム・カウンタ70およびスタック・ポインタ72は、データおよびアドレス情報を与えるためBバス76に結合される。Aバス74およびBバス76はともに、内部アドレス・バス36および内部データ・バス34に双方向的に結合される。
(動作の説明)
本発明の実施例では、加重平均演算を行うために用いられる命令が再開可能な命令として実施される。この場合、加重平均演算を実行するために用いられる命令は、「WAV」という簡略記号形式(mnemonic form) を有し、かつ2バイト・オプコード$18 31を有すると想定する。オプコードの第1バイトは$18であり、オプコードの第2バイトは$31である。
プログラムすると、WAV命令は加重平均を求めるため次式を実行する:
Figure 0004121527
加重平均の計算中に、数1におけるBに等しい数の反復(iterations)が実行される。各反復において、第1値Si がFi と乗ぜられ、積となる。すべてのB回の反復の積の和は、最終結果の分子をなすために用いられる。最終結果の分母は、すべてのFi 値の和に等しい。次に、分子は分母で除せられ、最終的な加重平均値となる。
数1の複雑さの結果、本質的に長い実行時間の命令となる。WAV命令が割り込み可能でない場合、反復回数Bの7倍と、定数値10の和に等しい過剰な時間の間、割り込みは処理されない。従って、反復回数が10に等しい場合、WAV命令を完全に実行するためには80タイミング・サイクルが必要になる。このような遅延は長すぎて、割り込み処理で待つことができない。
さらに、WAV命令の長さのため、加重平均演算の実行中に割り込みが発生する可能性が高くなる。従来の構成で行われるように、割り込みが即刻処理され、命令が再初期化され、再実行されると、WAV命令を部分的に実行するためにすでに費やされた処理時間は実質的に無駄になる。WAV命令は、最初から実行しなければならず、加重平均演算の前回処理された反復は再び実行しなければならない。
しかし、本発明では、WAV命令は、加重平均演算の実行中に命令に割り込むことができ、割り込まれたところから後で再開できる。
前に述べたように、本明細書で説明するデータ処理システムは、2つの命令バイト、すなわち$18 31を利用してWAV命令を実行する。プログラム・カウンタが$18を指すと、第1命令バイトはアクセスされ、データ処理システムにWAV命令を実行させるために用いられる。割り込みが発生しなければ、WAV演算は完全に実行される。しかし、データ処理演算の実行中に割り込みが発生すると、WAV演算の結果として算出された中間データがスタック・メモリに格納される。さらに、プログラム・カウンタは、命令の第2バイトである$31をアクセスするため、1だけ繰り上げられる。
次に、データ処理システムは割り込みルーチンを実行する。割り込みルーチンを実行した後、繰り上げられたプログラム・カウンタは、WAV命令の実行を再開するため、命令の第2命令バイトを指す。WAV命令の第2バイトがアクセスされると、命令の再開部分が実行され、データ処理演算の中間結果がスタック・メモリからアクセスされ、データ処理システム内のそれぞれの格納番地に復元される。また、プログラム・カウンタは、命令の第1バイトを指すように1だけ繰り下げられる。中間結果が復元されると、WAV命令は、あたかも割り込みが発生しなかったかのように、データ処理演算の実行を継続する。
本明細書で説明するデータ処理システムにより、処理システムのユーザはWAV命令に割り込み、割り込みルーチンを実行し、そしてサイクル時間を失わずにWAV命令の実行を完了できる。従来の構成とは異なり、ユーザは、割り込み信号に応答して割り込みルーチンを実行するために、命令が完全に実行されるまで待つ必要がない。また、ユーザは中
間結果を失わない。
本発明の実施例におけるWAV命令の実行のさらに詳しい説明を以下で行う。本発明の構成の以下の説明では、「アサート(assert)」および「ニゲート(negate)」ならびにそのさまざまな文法上の形式は、「アクティブ・ハイ(active high) 」および「アクティブ・ロー(active low)」論理信号の組合せに伴う混乱を避けるために用いられる。「アサート」は、論理信号またはレジスタ・ビットをアクティブまたは論理真状態にすることを意味する。「ニゲート」は、論理信号またはレジスタ・ビットを非アクティブまたは論理偽状態にすることを意味する。さらに、値の前の「」記号は、この値が16進数であることを表す。
図1に示すデータ処理システムの動作中、WAV命令が実行される前に多くの演算を行わなければならない。数1で用いられる各Si およびFi 値は、内部メモリ32などのメモリ番地に格納しなければならない。さらに、複数のSi 値のうち第1値を格納するメモリ番地のアドレス値は、インデックスXレジスタ60に格納される。複数のFi 値の第1値を格納するメモリ番地のアドレス値は、インデックスYレジスタ62に格納される。さらに、データ処理システム10のユーザは、実行される加重平均演算の反復回数Bを指定しなければならない。反復回数は一般に、WAV命令の実行の前に累算器B58に格納される。値をメモリに格納する動作,値をインデックス・レジスタに格納する動作および値を累算器に格納する動作は、データ処理の技術分野で周知であるので、これらの動作についてさらに詳しく説明しない。
各Si およびFi 値が内部メモリ32に格納され、適切な開始アドレス値がインデックスXレジスタ60およびインデックスYレジスタ62に格納されると、WAV命令はデータ処理システム10のユーザによって与えることができる。WAV命令は一般に、内部メモリ32に格納されるか、あるいは外部バス・インタフェース30を介して外部ソースから与えられるプログラムの一部である。
WAV命令が内部メモリ32に格納されると、WAV命令のオプコード表現が内部データ・バス34を介してCPU12に転送される。本発明の実施例では、オプコード表現は$18 31に等しい。実行ユニット14は、マイクロROM制御バス65を介してWAV命令を命令解読論理18に渡し、ここでこの命令は解読され、実行ユニット14において加重平均演算の実行を制御するための複数の制御信号となる。
同様に、WAV命令が外部ソースによって与えられると、外部バス・インタフェース30は、WAV命令のオプコード表現を内部データ・バス34を介してCPU12に与える。ここでも、実行ユニット14はマイクロROM制御バス65を介してWAV命令を命令解読論理18に渡し、ここで命令は解読され、加重平均演算の実行を制御するために必要な複数の制御信号となる。
WAV命令の開始時に、プログラム・カウンタ70は、WAV命令の第1バイトである16進数値$18のアドレスを保持する。WAV命令の実行における第1段階では、各TEMP1 64,TEMP2 66,TEMP3 68をクリアする必要がある。次に、累算器B58の内容、すなわちユーザが必要とする加重平均演算の反復回数は、値1だけ繰り下げられ、この繰り下げられた値は累算器B58に格納される。累算器B58の内容がゼロに等しい場合、状態コード・レジスタ54のZビットがアサートされ、加重平均演算の最後の反復が現在進行中であることを示すことに留意されたい。ただし、加重平均演算を完全に完了するためには、分子と分母を除算しなければならない。
累算器B58の内容がゼロに等しくない場合、インデックスXレジスタ60は、そこに
格納された第1アドレスをBバス76に与える。Bバス76は、この第1アドレスを内部アドレス・バス36を介して内部メモリ32に転送する。第1アドレスは、内部メモリ32に格納された第1Si 値のメモリ番地をアクセスする。次に、内部メモリ32は、内部データ・バス34およびAバス74の両方を介して、Si 値をALU52の第1入力に与える。 同様に、インデックスYレジスタ62は、そこに格納された第2アドレスをBバス76に与える。Bバス76は、この第2アドレスを内部アドレス・バス36を介して内部メモリ32に転送する。第2アドレスは、内部メモリ32に格納された第1Fi 値のメモリ番地をアクセスする。次に、内部メモリ32は、内部データ・バス34およびBバス76の両方を介して、Fi 値をALU52の第2入力に与える。また、Fi 値は、後で用いるためにTEMP1 64に格納された値に追加される。本発明の実施例では、TEMP1 64は、数1の分母を格納するために用いられる16ビット・レジスタである。
ALU52は、第1Si およびFi 値を乗算して、第1積を与える。この第1積は、後で用いるためにTEMP2 66およびTEMP3 68に追加され、格納される。本発明の実施例では、各TEMP2 66およびTEMP3 68は、数1の分子の部分を格納するために用いられる16ビット・レジスタである。TEMP2 66およびTEMP3 68は連結され、分子を格納する32ビット・レジスタとなる。
積が生成され、TEMP2 66およびTEMP3 68に格納され、第1Fi 値がTEMP1 64に格納された後、各インデックスXレジスタ60およびインデックスYレジスタ62に格納されたアドレスは1だけ繰り上げられる。
次に、加重平均演算は実行を継続する。累算器B58の内容は1だけ繰り下げられ、状態コード・レジスタ54のZビットは再び調べられ、データ処理システム10のユーザによって要求された加重平均演算の反復回数が実行されたかどうか判定する。Zビットがアサートされると、もう一回乗算・累算反復が実行される。最後の乗算・累算反復が実行されると、TEMP2 66およびTEMP368に格納された分子はTEMP1 64に格納された分母によって除され、最終的な加重平均値となる。
B累算器58が繰り下げられるごとに、CPU12は、データ処理システム10において割り込み信号がアサートされたかどうか調べる。割り込み信号がアサートされていない場合、インデックスXレジスタ60は、第1の繰り上げられたアドレスを、Bバス76および内部アドレス・バス36を介して内部メモリ32に与える。繰り上げられたアドレスは、内部メモリ32に格納された次のSi +1値のメモリ番地をアクセスする。内部メモリ32は、内部データ・バス34およびAバス74の両方を介して、Si +1値をALU52の第1入力に与える。
同様に、インデックスYレジスタ62は、そこに格納された第2の繰り上げられたアドレスをBバス76および内部アドレス・バス36を介して内部メモリ32に与える。この第2アドレスは、内部メモリ32に格納された次のFi +1値のメモリ番地をアクセスする。次に、内部メモリ32は、内部データ・バス34およびBバス76の両方を介して、Fi +1値をALU52の第2入力に与える。
ALU52は、Si +1およびFi +1を乗じて、次の積を与える。TEMP2 66およびTEMP3 68の内容は、Aバス74を介してALU52に与えられる。ALU52は、TEMP2 66およびTEMP3 68の現在の内容を、Si +1とFi +1の積と加算する。この反復計算の結果として生成された分子は、後で用いるためTEMP2 66およびTEMP3 68に転送され、格納される。
次に、TEMP1 64の内容は、Fi +1値と加算される。この加算の結果として生
成された分母は、後で用いるためTEMP1 64に転送され、格納される。分子が生成されTEMP2 66およびTEMP3 68に格納され、分母がTEMP1 64に格納されると、各インデックスXレジスタ60およびインデックスYレジスタ62に格納されたアドレスは1だけ繰り上げられる。本明細書で説明してきた乗算および累算演算は、Zビットが設定されるまで、あるいは割り込み信号が保留になるまで、反復的に実行される。
割り込み信号が保留になると、各TEMP1 64,TEMP2 66,TEMP3 68に格納された値は、スタック・ポインタ・レジスタ72に格納されたスタック・ポインタ値によって指された内部メモリ32内のアドレスに格納される。スタック・ポインタ値は繰り下げられ、TEMP1 64に格納された分母は、スタック・ポインタ値によって指されたメモリ番地に格納される。次に、スタック・ポインタ値は繰り下げられ、TEMP2 66に格納された分子の第1部分が格納された次のメモリ番地を指す。スタック・ポインタ値は再び繰り下げられ、TEMP3 68に格納された分子の第2部分は、繰り下げられたスタック・ポインタ値によって指されたメモリ番地に格納される。次に、プログラム・カウンタは1だけ繰り上げられ、$18ではなく$31を指す。TEMP164,TEMP2 66,TEMP3 68の内容だけでなく、プログラム・カウンタ70,インデックスYレジスタ62,インデックスXレジスタ60,累算器A56,累算器B58および状態コード・レジスタ54の内容も、スタック・ポインタ値によって指定された番地で内部メモリ32に格納される。
次に、割り込み信号は肯定応答(acknowledge) され、適切な割り込みルーチンに基づいて処理される。このような割り込み処理はデータ処理の技術分野で周知であり、さらに詳しく説明しない。
プログラム・カウンタが$31を指すと、WAVRという再開可能なWAV命令がアクセスされる。WAVR命令により、ユーザは、あたかも割り込みが発生しなかったかのようにWAV命令の処理を再開できる。WAVR命令がアクセスされると、実行ユニット14はWAV命令をマイクロROM制御バス65を介して命令解読論理18に渡す。解読論理18は、WAVR命令を解読して、実行ユニット14において再開可能な加重平均演算の実行を制御するための複数の制御信号を与える。
各状態コード・レジスタ54,累算器B58,累算器A56,インデックスXレジスタ60,インデックスYレジスタ62およびプログラム・カウンタ70の内容も、内部メモリ32から取り出され、実行ユニット内のそれぞれのレジスタに格納される。スタック・ポインタは、内部メモリ32から分子の第2部分をアクセスするために用いられる。分子の第2部分は、内部データ・バス34およびAバス74を介して転送され、TEMP3 68に格納される。次に、スタック・ポインタは、内部メモリ32から分子の第1部分をアクセスするために繰り上げられる。分子の第1部分は、内部データ・バス34およびAバス74を介して転送され、TEMP2 66に格納される。スタック・ポインタは、内部メモリ32から分母をアクセスするために再び繰り上げられる。分母は、内部データ・バス34およびAバス74によって転送され、TEMP1 64に格納される。レジスタの内容をWAV命令の実行における中間状態に復元することの他に、WAVR命令は、WAV命令の第1バイトである$18を再び指すように、プログラム・カウンタ値を1だけ繰り下げる。従って、加重平均演算が再び割り込まれると、本明細書で説明する格納・再開動作が適切に実行される。
レジスタが復元され、プログラム・カウンタが繰り上げられると、WAV命令の実行は、あたかも割り込みが発生しなかったかのように継続する。オペランドは、インデックスXレジスタ60およびインデックスYレジスタ62によって指された内部メモリ32内の
番地からアクセスされ、反復的に用いられ、加重平均演算を実行するために必要な乗算および累算演算を行う。前述のように、乗算および累算反復は、状態コード・レジスタ内のZビットがアサートされるまで行われる。この時点で、もう一回乗算・累算反復が実行され、分子が分母によって除されて、加重平均値となる。
前述の動作は、図3に示すフローチャートでまとめられる。各ボックス80〜90内の数値は、加重平均演算の各部分を実行するために必要なタイミング・サイクルの回数を示すことに留意されたい。
図3において、ボックス80は、WAV命令の開始ポイントである。このポイントで、各TEMP1 64,TEMP2 66,TEMP3 68の内容が1タイミング・サイクルでクリアされる。ボックス82において、累算器B58の内容が繰り下げられ、内容コード・レジスタ54のZビットが更新される。これらのステップは1タイミング・サイクルを必要とする。
ボックス83において、CPU12は、割り込み保留であるかどうか調べる。割り込み保留でない場合、WAV命令の実行は、ボックス84によって表されるように、メモリからオペランドを読み出す段階,オペランドを乗算し、オペランドを分子および分母として累算する段階で継続する。インデックス・レジスタも、メモリから次のオペランドをアクセスするために繰り上げられる。ボックス84に示す段階は、7タイミング・サイクルを必要とする。
ボックス85において、状態コード・レジスタ内のZビットが調べられる。Zビットが設定されていなければ、WAV命令の実行の流れは、すべての反復が行われるまで、ボックス82とボックス84との間で往復する。
ボックス86は、WAV命令の実行における最後の段階を示す。状態コード・レジスタ54内のZビットが設定されると、すべての乗算・累算演算の反復の結果として算出された分子および分母は、6タイミング・サイクルを必要とする処理で除される。
しかし、ボックス82の段階の実行後に割り込み保留であるとCPU12が判断すると、ボックス88が次にアクセスされる。ボックス88において、各TEMP1 64,TEMP2 66,TEMP3 68は、スタック・ポインタ・レジスタ72に格納されたスタック・ポインタによって指定された番地で内部メモリ32にスタックされる。TEMP3 68,TEMP2 66,TEMP164の内容を格納する段階は、4タイミング・サイクルを必要とする。
次に、割り込み信号が肯定応答され、割り込みルーチンが実行される。割り込みルーチンの実行後、WAV命令の実行を再開するためWAVR命令がアクセスされる。ボックス90に示すように、各TEMP1 64,TEMP2 66,TEMP3 68の内容は、割り込み前の値に復元され、プログラム・カウンタは1だけ繰り下げられる。
図3のフロー図が示すように、WAV命令は2回以上割り込み、再開できる。プログラム・カウンタは、WAVR命令が実行された後、WAVオプコードの第1バイト($18)を指すため復元される。従って、割り込みが発生し、WAVR命令($31)がアクセスされると、プログラム・カウンタは、割り込みが処理された後、かつ乗算・累算反復を開始する前に、値を指すために復元される。よって、別の割り込みがアサートされても、WAVR命令は再びアクセスできる。
本明細書で説明してきたデータ処理システムは、2つの命令バイトを利用して命令を実
行する。プログラム・カウンタがメモリ内の命令のアドレスを指すと、第1命令バイトがアクセスされ、これを用いて、データ処理システムに特定のデータ処理演算を実行させることができる。割り込みが発生しなければ、データ処理演算は完全に実行される。しかし、データ処理演算の実行中に割り込みが発生すると、データ処理演算の結果として算出され、かつ複数の一時レジスタに保持された中間データは、スタック・ポインタ・レジスタ72に格納された値によって指された番地でスタック・メモリに格納される。さらに、プログラム・カウンタは、命令の第2バイトを指すように1だけ繰り上げられる。
次に、データ処理システムは割り込みルーチンを実行する。割り込みルーチンを実行した後、繰り上げられたプログラム・カウンタは、命令実行を再開するため命令の第2命令バイトを指す。命令の第2バイトがアクセスされると、命令の再開部分が実行され、ここでデータ処理演算の中間結果がスタック・メモリからアクセスされ、データ処理システム内のそれぞれの格納番地に復元される。また、プログラム・カウンタは、命令の第1バイトを指すように、1だけ繰り下げられる。中間結果が復元されると、命令は、あたかも割り込みが発生しなかったかのようにデータ処理演算の実行を継続する。
本データ処理システムにより、処理システムのユーザは命令に割り込み、割り込みルーチンを実行し、サイクル時間を失わずに命令の実行を完了することができる。従来の構成とは異なり、ユーザは、割り込み信号に応答して割り込みルーチンを実行するため、命令が完全に実行されるまで待つ必要がない。また、ユーザは中間結果を失わない。
本明細書で説明した発明の構成は一例にすぎない。ここで説明した機能を実行するための多くの他の構成も存在する。例えば、本発明の実施例は、WAV、すなわち加重平均命令に限定されない。多くの他の命令も、割り込み後に命令実行の再開を可能にする2バイト命令符号化を利用して実行できる。概して、本発明は、実行時間が長く、初期化が多数のタイミング・サイクルを必要とするような命令で最も有効である。
本明細書で説明してきた概念を他の命令に適用するだけでなく、説明してきた実施例は、データ処理システム10および実行ユニット14を構築する上で別の回路も利用できる。さらに、説明してきた再開可能な命令は2バイト長以上でもよい。命令実行に対して複数の入力を与えるため、多重バイトも利用できる。
以上、本発明の原理について説明してきたが、この説明は一例にすぎず、本発明を制限するものではないことは当業者に明らかである。よって、特許請求の範囲は、本発明の真の精神および範囲内の一切の修正を網羅するものとする。
本発明によるデータ処理システムの実施例を示すブロック図。 図1のデータ処理システムの実行ユニットを示すブロック図。 図1のデータ処理システムにおける再開可能な命令の実行フローを示すフローチャート。
符号の説明
10…データ処理システム、12…中央処理ユニット、14…実行ユニット、16…バス制御論理回路、18…命令解読論理回路、20…制御ユニット、22…シーケンサ、24…発振器、26…電力回路、28…タイミング回路、30…外部バス・インタフェース、32…内部メモリ、33…外部データ・バス、34…内部データ・バス、35…外部アドレス・バス、36…内部アドレス・バス、38…タイミング制御バス、52…演算論理ユニット(ALU)、54…状態コード・レジスタ(CCR)、56…累算器A(ACCA)、58…累算器B(ACCB)、60…インデックスXレジスタ、62…インデックス
Yレジスタ、64…第1一時レジスタ(TEMP1)、65…マイクロROM制御バス、66…第2一時レジスタ(TEMP2)、68…第3一時レジスタ(TEMP3)、70…プログラム・カウンタ、72…スタック・ポインタ、74…Aバス、76…Bバス。

Claims (1)

  1. データ処理装置において再開可能な命令を実行するための方法であって、
    第1命令部分及び第2命令部分を有した、再開可能な命令を受信するステップと、
    前記第1命令部分を指すようにプログラム・カウンタをイネーブルするステップと、
    前記プログラム・カウンタが第1命令部分を指すことに応答して、複雑な処理を開始するステップと、
    前記第1命令部分の実行中に割り込みに応答した割り込み信号が発生した場合には、
    前記複雑な処理の中間データを一時的に格納し、及び前記割り込みを処理する前に前記第2命令部分を指すようにプログラム・カウンタを設定するステップ、
    前記割り込みを処理するステップ、
    前記割り込みを処理した後に、前記第2命令部分の実行を開始するステップ、
    前記第2命令部分の実行の間に、前記一時的に格納された中間データを復元し、及び前記プログラム・カウンタを再び前記第1命令部分を指すように設定するステップ、及び
    前記第1命令部分の実行を再開し、他の割り込みが受信されるまで、又は前記複雑な処理が完了するまでの間実行するステップを行うステップと、
    前記第1命令部分の実行中に割り込み信号が発生されなかった場合には、前記第2命令部分を実行することなく前記再開可能な命令の実行を完了させるステップとを備える、命令の実行方法。
JP2006045572A 1993-11-15 2006-02-22 データ処理方法 Expired - Lifetime JP4121527B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/151,635 US5475822A (en) 1993-11-15 1993-11-15 Data processing system for resuming instruction execution after an interrupt and method therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP30266294A Division JP3853851B2 (ja) 1993-11-15 1994-11-14 データ処理システム

Publications (2)

Publication Number Publication Date
JP2006196013A JP2006196013A (ja) 2006-07-27
JP4121527B2 true JP4121527B2 (ja) 2008-07-23

Family

ID=22539605

Family Applications (2)

Application Number Title Priority Date Filing Date
JP30266294A Expired - Fee Related JP3853851B2 (ja) 1993-11-15 1994-11-14 データ処理システム
JP2006045572A Expired - Lifetime JP4121527B2 (ja) 1993-11-15 2006-02-22 データ処理方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP30266294A Expired - Fee Related JP3853851B2 (ja) 1993-11-15 1994-11-14 データ処理システム

Country Status (3)

Country Link
US (1) US5475822A (ja)
EP (1) EP0655678A1 (ja)
JP (2) JP3853851B2 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671332A (en) * 1994-12-22 1997-09-23 Motorola, Inc. Data processing system for performing efficient fuzzy logic operations and method therefor
US5784534A (en) * 1995-03-31 1998-07-21 Motorola, Inc. Circuit and method for representing fuzzy rule weights during a fuzzy logic operation
US5923887A (en) * 1996-05-20 1999-07-13 Advanced Micro Devices, Inc. Interrupt request that defines resource usage
JP3767085B2 (ja) * 1996-09-04 2006-04-19 セイコーエプソン株式会社 情報処理回路及びマイクロコンピュータ
US6317796B1 (en) * 1997-10-06 2001-11-13 Sun Microsystems, Inc. Inline database for receiver types in object-oriented systems
US6009517A (en) 1997-10-06 1999-12-28 Sun Microsystems, Inc. Mixed execution stack and exception handling
JP3872196B2 (ja) * 1998-01-09 2007-01-24 株式会社ルネサステクノロジ マイクロコンピュータ
EP0953898A3 (en) * 1998-04-28 2003-03-26 Matsushita Electric Industrial Co., Ltd. A processor for executing Instructions from memory according to a program counter, and a compiler, an assembler, a linker and a debugger for such a processor
US6332199B1 (en) 1998-10-29 2001-12-18 International Business Machines Corporation Restoring checkpointed processes including adjusting environment variables of the processes
US6665743B2 (en) * 2001-04-18 2003-12-16 International Business Machines Corporation Method, system, and program for initializing a storage space
DE10133913A1 (de) * 2001-07-12 2003-01-30 Infineon Technologies Ag Programmgesteuerte Einheit
US20040167786A1 (en) * 2002-03-08 2004-08-26 Grace John J. System for optimizing selection of a college or a university and a method for utilizing the system provided by a program
US20040015676A1 (en) * 2002-07-17 2004-01-22 Pierre-Yvan Liardet Sharing of a logic operator having a work register
US7313797B2 (en) * 2002-09-18 2007-12-25 Wind River Systems, Inc. Uniprocessor operating system design facilitating fast context switching
US8006221B2 (en) * 2007-09-11 2011-08-23 International Business Machines Corporation System and method for testing multiple processor modes for processor design verification and validation
US8099559B2 (en) * 2007-09-11 2012-01-17 International Business Machines Corporation System and method for generating fast instruction and data interrupts for processor design verification and validation
US8019566B2 (en) * 2007-09-11 2011-09-13 International Business Machines Corporation System and method for efficiently testing cache congruence classes during processor design verification and validation
US20090070570A1 (en) * 2007-09-11 2009-03-12 Shubhodeep Roy Choudhury System and Method for Efficiently Handling Interrupts
KR102401271B1 (ko) * 2015-09-08 2022-05-24 삼성전자주식회사 메모리 시스템 및 그 동작 방법
US10275243B2 (en) * 2016-07-02 2019-04-30 Intel Corporation Interruptible and restartable matrix multiplication instructions, processors, methods, and systems
CN106648549B (zh) * 2017-01-03 2019-03-19 北京华胜信泰数据技术有限公司 线程栈的处理方法及系统
US11360770B2 (en) 2017-03-20 2022-06-14 Intel Corporation Systems, methods, and apparatuses for zeroing a matrix
US11275588B2 (en) 2017-07-01 2022-03-15 Intel Corporation Context save with variable save state size
US11023235B2 (en) 2017-12-29 2021-06-01 Intel Corporation Systems and methods to zero a tile register pair
US11809869B2 (en) 2017-12-29 2023-11-07 Intel Corporation Systems and methods to store a tile register pair to memory
US11816483B2 (en) 2017-12-29 2023-11-14 Intel Corporation Systems, methods, and apparatuses for matrix operations
US11789729B2 (en) 2017-12-29 2023-10-17 Intel Corporation Systems and methods for computing dot products of nibbles in two tile operands
US11093247B2 (en) 2017-12-29 2021-08-17 Intel Corporation Systems and methods to load a tile register pair
US11669326B2 (en) 2017-12-29 2023-06-06 Intel Corporation Systems, methods, and apparatuses for dot product operations
US10664287B2 (en) 2018-03-30 2020-05-26 Intel Corporation Systems and methods for implementing chained tile operations
US11093579B2 (en) 2018-09-05 2021-08-17 Intel Corporation FP16-S7E8 mixed precision for deep learning and other algorithms
US11579883B2 (en) 2018-09-14 2023-02-14 Intel Corporation Systems and methods for performing horizontal tile operations
US10970076B2 (en) 2018-09-14 2021-04-06 Intel Corporation Systems and methods for performing instructions specifying ternary tile logic operations
US10866786B2 (en) 2018-09-27 2020-12-15 Intel Corporation Systems and methods for performing instructions to transpose rectangular tiles
US10990396B2 (en) 2018-09-27 2021-04-27 Intel Corporation Systems for performing instructions to quickly convert and use tiles as 1D vectors
US10719323B2 (en) 2018-09-27 2020-07-21 Intel Corporation Systems and methods for performing matrix compress and decompress instructions
US10929143B2 (en) 2018-09-28 2021-02-23 Intel Corporation Method and apparatus for efficient matrix alignment in a systolic array
US10963256B2 (en) 2018-09-28 2021-03-30 Intel Corporation Systems and methods for performing instructions to transform matrices into row-interleaved format
US10896043B2 (en) 2018-09-28 2021-01-19 Intel Corporation Systems for performing instructions for fast element unpacking into 2-dimensional registers
US10831503B2 (en) * 2018-11-06 2020-11-10 International Business Machines Corporation Saving and restoring machine state between multiple executions of an instruction
US10963246B2 (en) 2018-11-09 2021-03-30 Intel Corporation Systems and methods for performing 16-bit floating-point matrix dot product instructions
US10929503B2 (en) 2018-12-21 2021-02-23 Intel Corporation Apparatus and method for a masked multiply instruction to support neural network pruning operations
US11294671B2 (en) 2018-12-26 2022-04-05 Intel Corporation Systems and methods for performing duplicate detection instructions on 2D data
US11886875B2 (en) 2018-12-26 2024-01-30 Intel Corporation Systems and methods for performing nibble-sized operations on matrix elements
US20200210517A1 (en) 2018-12-27 2020-07-02 Intel Corporation Systems and methods to accelerate multiplication of sparse matrices
US10922077B2 (en) 2018-12-29 2021-02-16 Intel Corporation Apparatuses, methods, and systems for stencil configuration and computation instructions
US10942985B2 (en) 2018-12-29 2021-03-09 Intel Corporation Apparatuses, methods, and systems for fast fourier transform configuration and computation instructions
US11016731B2 (en) 2019-03-29 2021-05-25 Intel Corporation Using Fuzzy-Jbit location of floating-point multiply-accumulate results
US11269630B2 (en) 2019-03-29 2022-03-08 Intel Corporation Interleaved pipeline of floating-point adders
US10990397B2 (en) 2019-03-30 2021-04-27 Intel Corporation Apparatuses, methods, and systems for transpose instructions of a matrix operations accelerator
US11175891B2 (en) 2019-03-30 2021-11-16 Intel Corporation Systems and methods to perform floating-point addition with selected rounding
US11403097B2 (en) 2019-06-26 2022-08-02 Intel Corporation Systems and methods to skip inconsequential matrix operations
US11334647B2 (en) 2019-06-29 2022-05-17 Intel Corporation Apparatuses, methods, and systems for enhanced matrix multiplier architecture
US11714875B2 (en) 2019-12-28 2023-08-01 Intel Corporation Apparatuses, methods, and systems for instructions of a matrix operations accelerator
US12112167B2 (en) 2020-06-27 2024-10-08 Intel Corporation Matrix data scatter and gather between rows and irregularly spaced memory locations
US11972230B2 (en) 2020-06-27 2024-04-30 Intel Corporation Matrix transpose and multiply
US11941395B2 (en) 2020-09-26 2024-03-26 Intel Corporation Apparatuses, methods, and systems for instructions for 16-bit floating-point matrix dot product instructions
US12001887B2 (en) 2020-12-24 2024-06-04 Intel Corporation Apparatuses, methods, and systems for instructions for aligning tiles of a matrix operations accelerator
US12001385B2 (en) 2020-12-24 2024-06-04 Intel Corporation Apparatuses, methods, and systems for instructions for loading a tile of a matrix operations accelerator

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4409653A (en) * 1978-07-31 1983-10-11 Motorola, Inc. Method of performing a clear and wait operation with a single instruction
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4493035A (en) * 1982-12-07 1985-01-08 Motorola, Inc. Data processor version validation
JPS6280743A (ja) * 1985-10-01 1987-04-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション アドレス変換例外処理方法
US4709324A (en) * 1985-11-27 1987-11-24 Motorola, Inc. Data processor control unit having an interrupt service using instruction prefetch redirection
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US5125087A (en) * 1988-11-07 1992-06-23 Microsoft Corporation Method of resetting sequence of access to extended memory disrupted by interrupt processing in 80286 compatible system using code segment register
JPH02187829A (ja) * 1989-01-13 1990-07-24 Mitsubishi Electric Corp ディジタル信号処理プロセッサ
US5197138A (en) * 1989-12-26 1993-03-23 Digital Equipment Corporation Reporting delayed coprocessor exceptions to code threads having caused the exceptions by saving and restoring exception state during code thread switching
US5287523A (en) * 1990-10-09 1994-02-15 Motorola, Inc. Method for servicing a peripheral interrupt request in a microcontroller
US5297282A (en) * 1991-05-29 1994-03-22 Toshiba America Information Systems, Inc. Resume processing function for the OS/2 operating system
JPH07501431A (ja) * 1991-11-26 1995-02-09 エアタッチ・コミュニケーションズ リアルタイム移動平均値算出装置

Also Published As

Publication number Publication date
JP3853851B2 (ja) 2006-12-06
JP2006196013A (ja) 2006-07-27
US5475822A (en) 1995-12-12
JPH07191859A (ja) 1995-07-28
EP0655678A1 (en) 1995-05-31

Similar Documents

Publication Publication Date Title
JP4121527B2 (ja) データ処理方法
EP0476722B1 (en) Data processing system
US5426783A (en) System for processing eight bytes or less by the move, pack and unpack instruction of the ESA/390 instruction set
JPH07117897B2 (ja) データ処理システムのプリフェッチ回路
JP2001184336A (ja) マトリックス演算装置及びマトリックス演算機能を有するデジタル信号処理装置
US5410660A (en) System and method for executing branch on bit set/clear instructions using microprogramming flow
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
EP0140299A2 (en) Vector mask control system
US5301338A (en) System including central processing unit
EP0226991B1 (en) Data-processing device
JPH056281A (ja) 情報処理装置
JP3851008B2 (ja) プロセッサおよびそれを有する半導体集積回路、処理装置ならびに命令処理方法
JPH0560629B2 (ja)
US7421595B2 (en) Device and method for managing a standby state of a microprocessor
JPH07219766A (ja) 演算処理装置
EP0573071A2 (en) A microprocessor
US6996702B2 (en) Processing unit with cross-coupled ALUs/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention
JPS6013203B2 (ja) シ−ケンスコントロ−ラ
JPH1115660A (ja) マイクロプロセッサ
JP2781779B2 (ja) 分岐制御回路
US5768554A (en) Central processing unit
JPS6226485B2 (ja)
JPH02128223A (ja) 演算処理装置
JPH08234986A (ja) 効率的なファジー論理操作を行なうためのデータ処理システムおよびその方法
JPH06131198A (ja) データ処理装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060705

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080229

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080428

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120509

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120509

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130509

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140509

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term