JPS6330937A - Microprogram control device - Google Patents

Microprogram control device

Info

Publication number
JPS6330937A
JPS6330937A JP17503586A JP17503586A JPS6330937A JP S6330937 A JPS6330937 A JP S6330937A JP 17503586 A JP17503586 A JP 17503586A JP 17503586 A JP17503586 A JP 17503586A JP S6330937 A JPS6330937 A JP S6330937A
Authority
JP
Japan
Prior art keywords
code
register
micro
code register
repeatable
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.)
Pending
Application number
JP17503586A
Other languages
Japanese (ja)
Inventor
Shinichi Habata
幅田 伸一
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP17503586A priority Critical patent/JPS6330937A/en
Publication of JPS6330937A publication Critical patent/JPS6330937A/en
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

PURPOSE:To increase processing speed, by introducing a retry code register which holds a recursive code, and enabling the retry of a recursive micro- operation to be performed. CONSTITUTION:In case of selecting the micro-operation executed at just prior step, a register file, and an arithmetic circuit are controlled by using a micro code held by the retry code register 2 which holds a recursive code field used at the just prior step, and the micro code held by a non-recursive code register 4. To select the outputs of a recursive code register 3, and the retry code register 2, a code selector 5 is used. The control of the code selector 5 is performed by using a designation bit 21 which designates a recursive micro-operation designating method held by the non-recursive code register 4, and the code selector 5 selects the output of the recursive code register 3 when the designation bit 21 is reset, but when the designation bit 21 is set, it selects the output of the retry code register 2, and repeats the micro-operation executed at the just prior step.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は直前のステップで実行したマイクロ操作の再実
行機能を備えたマイクロ命令で記述したマイクロプログ
ラムの制御を行なうマイクロプログラム制御装置に関す
る。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control device that controls a microprogram written in microinstructions and has a function of re-executing a microoperation executed in the immediately previous step.

〔従来の技術〕[Conventional technology]

知識情報処理に対する研究が進むにつれ、計算機システ
ムに対して要求される機能も高度化している。例えば、
知識情報処理の分野で注目されているプログラミング言
語プロローグの基本機能であるユニフィケーション処理
がその1つである。
As research into knowledge information processing progresses, the functions required of computer systems also become more sophisticated. for example,
One of these is unification processing, which is a basic function of the programming language Prolog, which is attracting attention in the field of knowledge information processing.

計算機システムの実現手段として広く使用されているマ
イクロプログラム制御方式は、前記高度な機能の実現に
適している。マ・イク口プログラム制御方式を使用した
計算機システムの機能の高度化とは、従来の汎用計算機
システムにおいて、ソフトウェアで実現していた機能を
マイクロプログラム化することである。高度な機能のマ
イクロプロゲラ11化はマイクロプログラム量を増加し
、構造と複雑にする為、多数の機能ルーチンに細分化し
、主ルーチンが機能ルーチンを呼び出す形式の構造を採
る傾向にある。
The microprogram control method, which is widely used as a means for realizing computer systems, is suitable for realizing the above-mentioned advanced functions. Improving the functionality of a computer system using a microprogram control method means converting functions that were previously realized by software in a conventional general-purpose computer system into microprograms. In order to increase the amount of microprograms and complicate the structure, the integration of advanced functions into microprograms has tended to be subdivided into a large number of functional routines, with a structure in which the main routine calls the functional routines.

機能ルーチンの呼び出しを実現する為には、主ルーチン
と機能ルーチン間のデータの受は渡しが必要である。こ
れは主ルーチンと機能ルーチンとでデータの格納場所(
レジスタ又は、メモリの特定番地)が異なる為である。
In order to call a functional routine, it is necessary to exchange data between the main routine and the functional routine. This is where data is stored for main routines and functional routines (
This is because the registers or specific addresses in memory are different.

主ルーチンと機能ルーチン間のデータ受は渡しを実現す
る従来技術の1つとしてデータ受は渡しに使用するレジ
スタを特定しておく方式がある。
One of the conventional techniques for realizing data reception and passing between a main routine and a functional routine is a method in which a register to be used for data reception and passing is specified.

この方式では、主ルーチンは、機能ルーチンを呼び出す
直前に、特定したレジスタにデータをセットする必要が
ある。この方式を第1の従来技術と呼ぶ。
In this method, the main routine must set data in a specified register immediately before calling the functional routine. This method is called the first conventional technique.

もう1つの従来技術として主ルーチンでデータを保持し
ているレジスタの指定番号を機能ルーチンに渡す方式が
ある。この方式では、レジスタの指定番号を受は渡すレ
ジスタを特定しておき、機能ルーチンがデータをアクセ
スする時は、レジスタ間接指定のレジスタアクセス又は
メモリアクセスを行なう。第3図に、レジスタ間接指定
レジスタアクセスの場合を示す。1はマイクロプログラ
ムを格納する制御コードメモリで、10は処理中のマイ
クロ命令を保持するマイクロコードレジスタ(MCR>
である。主ルーチンはマイクロコードレジスタ10を使
用し、直接レジスタファイル13内のレージスタを指定
し、データのアクセスを行なう。機能ルーチンを呼び出
す場合は、間接指定用レジスタ11にレジスタ指定番号
をセットする。機能ルーチンでは、間接指定用レジスタ
11を使用し、レジスタファイル13内のレジスタを指
定し、データのアクセスを行なう。この方式では、主ル
ーチンは、機能ルーチンを呼び出す直前に特定したレジ
スタにレジスタ指定番号をセットする必要がある。この
方式を第2の従来技術と呼ぶ。
Another conventional technique is a method in which the main routine passes the designated number of the register holding data to the functional routine. In this method, a register is specified for receiving and passing a designated register number, and when a functional routine accesses data, register access or memory access is performed by register indirect designation. FIG. 3 shows the case of register indirect specification register access. 1 is a control code memory that stores a microprogram, and 10 is a microcode register (MCR>) that holds a microinstruction being processed.
It is. The main routine uses the microcode register 10 to directly specify registers in the register file 13 and access data. When calling a function routine, a register designation number is set in the register 11 for indirect designation. In the functional routine, the indirect designation register 11 is used to designate a register in the register file 13 and access data. In this method, the main routine must set a register designation number in the specified register immediately before calling the function routine. This method is called the second conventional technique.

〔発明が解決しようとする間圧点〕[The pressure point that the invention seeks to solve]

機能ルーチン呼び出しを実現する為に主ルーチと機能ル
ーチン間のデータ受は渡しに使用していた従来技術の方
式は、常に機能ルーチン呼び出し直前に、主ルーチンが
特定レジスタ群にデータ又はレジスタ指定番号をセット
する必要があった。
In the conventional technology, which used data transfer between the main routine and the function routine to realize a function routine call, the main routine always inputs data or a register specification number to a specific register group immediately before calling the function routine. I needed to set it up.

この主ルーチンが特定レジスタにセットする操作は、主
ルーチンと機能ルーチン間で受は渡しを行なう全てのデ
ータに対して行なう必要がある。
The operations set in specific registers by the main routine must be performed on all data received and passed between the main routine and the functional routines.

従来技術を使用した場合に発生する前記主ルーチンの特
定レジスタに対するセット操作は、マイクロプログラム
の実行ステップ数を増加する場合が多い。この中には、
ユニフィケーション処理の様に、機能ルーチンへ渡す2
個のデータを比較した結果を使用し、複数の機能ルーチ
ンのなががら1つの機能ルーチンを2択し、その機能ル
ーチンへ分岐する場合がある。機能ルーチンを呼び出す
ステップに機能ルーチンへ渡すデータを使用する処理の
場合、従来技術が行なっていた主ルーチンによる特定レ
ジスタのセット繰作はマイクロプログラムの実行ステ・
ツブ数を増加し計算機システム全体の処理速度を低下さ
せるという問題点があった。
When using the prior art, the main routine's set operations on specific registers often increase the number of execution steps of the microprogram. Among these are
Pass to function routine like unification processing 2
In some cases, one function routine is selected from among a plurality of function routines using the results of comparing the data, and the process branches to that function routine. In the case of processing that uses data passed to a function routine in the step of calling the function routine, the main routine's setting of specific registers, which was done in the prior art, is done by the microprogram execution step.
This has the problem of increasing the number of knobs and reducing the processing speed of the entire computer system.

本発明の目的は直前のステップに実行したマイクロ命令
の特定フィールドが指定するマイクロ操作の再実行を指
定する特定ビットを備えたマイクロ命令で記述したマイ
クロプログラムの実行制御を行なうことで、主ルーチン
と機能ルーチン間のデータ受は渡し操作のなかで、ユニ
フィケーション処理でみられる様なIR能ルーチン呼び
出しを行なうステップに機能ルーチンへ渡すデータを使
用する処理におけるマイクロプログラムの実行ステップ
数増加の問題を解決するマイクロプログラム制御装置を
提供することにある。
An object of the present invention is to control the execution of a microprogram written using a microinstruction that has a specific bit that specifies re-execution of a microoperation specified by a specific field of a microinstruction executed in the previous step. Data exchange between function routines solves the problem of an increase in the number of microprogram execution steps in processing that uses data passed to a function routine in a step that calls an IR function routine, as seen in unification processing. The object of the present invention is to provide a microprogram control device.

〔問題点を解決するための手段〕[Means for solving problems]

本発明のマイクロプログラム制御装置は、マイクロプロ
グラムを格納する制御コードメモリと、直前のステップ
で実行したマイクロ命令の特定フイールドを保持する再
実行コードレジスタと、前記再実行コードレジスタが保
持の対象とする特定フィールドを保持する反復可能コー
ドレジスタと、前記反復可能コードレジスタが保持する
特定フィールド以外のフィールドを保持する反復不可コ
ードレジスタと、前記反復不可コードレジスタが保持す
る特定ビットの値に応じて前記反復可能コートレジスタ
と前記再実行コートレジスタの出力とのいづれか一方を
選択し選択したコードを前記反復可能コードレジスタと
外部とへ供給するコード選択器とを備え、前記反復不可
コードレジスタが保持する特定ビットをセットすること
で、直前のステップで実行した前記特定フィールドが指
定するマイクロ操作の繰り返しを可能にして構成される
The microprogram control device of the present invention includes a control code memory that stores a microprogram, a re-execution code register that retains a specific field of a micro-instruction executed in the immediately previous step, and a re-execution code register that is to be retained. a repeatable code register that holds a specific field; a non-repeatable code register that holds a field other than the specific field held by the repeatable code register; and a repeatable code register that holds a field other than the specific field held by the repeatable code register; a code selector that selects either one of the output of the repeatable code register and the re-execution code register and supplies the selected code to the repeatable code register and the outside; and a specific bit held by the non-repeatable code register. By setting , the micro-operation specified by the specific field executed in the previous step can be repeated.

〔作用〕[Effect]

本発明のマイクロプログラム制御装置は、直前のステッ
プで実行したマイクロ命令の特定フィールドを保持する
再実行コードレジスタの導入と、マイクロ命令に制御コ
ードメモリの出力を保持する反復可能コードレジスタと
前記再実行コードレジスタのどちらかの出力で前記特定
フィールドのマイクロ操作指定を行なうかを指定する指
定ビットを追加することで、前記ビットのセットにより
直前のステップで実行した前記特定フィルドのマイクロ
操作の再実行を可能にする。
The microprogram control device of the present invention includes the introduction of a re-execution code register that holds a specific field of the micro-instruction executed in the immediately previous step, a repeatable code register that holds the output of the control code memory in the micro-instruction, and a re-execution code register that holds the output of the control code memory in the micro-instruction. By adding a specification bit that specifies whether to specify the micro-operation for the specific field with either output of the code register, setting the bit allows re-execution of the micro-operation for the specific field that was executed in the previous step. enable.

主ルーチンが機能ルーチンの呼び出しを行なったステッ
プに実行したマイクロ操作の一部を再実行することで、
機能ルーチンは主ルーチンと受は渡しを行なうデータを
、直接、操作することができる。例えば、ユニフィケー
ション処理の場合、主ルーチンと機能ルーチン間で受は
渡しを行なう2個のデータのデータタイプの組み合せに
より処理内容が異なる。この例では、主ルーチンは機能
ルーチン呼び出しを行なうステップに前記2個のデータ
のデータタイプの組み合せを調べ、データタイプの組み
合せにより複数個の機能ルーチンから1個の機能ルーチ
ンを決定し、前記決定した機能ルーチンヘジャンブする
。したがって機能ルーチンの第1ステツプで直前のステ
ップ(主ルーチンが機能ルーチン呼び出しを行なったス
テップ〉で行なった前記2個のデータのアクセス指定マ
イクロ操作を再実行することで、前記2個のデータのア
クセスを行なうことができる。例えば前記2個のデータ
をレジスタが保持している場合、レジスタを指定するマ
イクロ操作を再実行することで、機能ルーチンは前記2
個のデータ分アクセスできる。
By re-executing some of the micro-operations executed in the step where the main routine called the function routine,
Functional routines can directly manipulate data that is passed to and from the main routine. For example, in the case of unification processing, the processing contents differ depending on the combination of data types of two pieces of data exchanged between the main routine and the functional routine. In this example, in the step of calling a function routine, the main routine checks the combination of data types of the two data types, determines one function routine from a plurality of function routines based on the combination of data types, and Jump to function routine. Therefore, in the first step of the function routine, by re-executing the micro-operation specifying the access to the two data that was performed in the previous step (the step where the main routine called the function routine), the access to the two data can be performed. For example, if a register holds the above two pieces of data, the functional routine can perform the above two pieces of data by re-executing the micro-operation that specifies the register.
data can be accessed.

〔実施例〕〔Example〕

本発明の実施例について、図面を参照して説明する。 Embodiments of the present invention will be described with reference to the drawings.

第2図はこれから説明する本発明のマイクロプログラム
制御装置の実施例が処理するマイクロ命令のフォーマッ
ト図である。21は、直前のステップに実行したマイク
ロ命令の特定フィールドが指定するマイクロ操作の再実
行と該当ステップに実行するマイクロ命令の特定フィー
ルドが指定するマイクロ操作の実行とのいずれか一方を
選択する為の指定ビットである。22は、前記指定ビッ
ト21により直前のステップで実行したマイクロ操作の
再実行が可能なマイクロ操作を指定する反復可能コード
フィールド(RMC)である。20は前記指定ビット2
1による直前のステップで実行したマイクロ操作の再実
行が不可能なマイクロ操作を指定する反復不可コードフ
ィールド(NMC)である。
FIG. 2 is a format diagram of microinstructions processed by the embodiment of the microprogram control device of the present invention which will now be described. 21 is for selecting either re-execution of the micro-operation specified by the specific field of the micro-instruction executed in the previous step or execution of the micro-operation specified by the specific field of the micro-instruction executed in the relevant step. This is a designated bit. Reference numeral 22 is a repeatable code field (RMC) that specifies a micro-operation that allows the re-execution of the micro-operation executed in the previous step using the specification bit 21. 20 is the specified bit 2
This is a non-repeatable code field (NMC) that specifies a micro-operation that cannot be re-executed in the previous step.

第1図は本発明の一実施例を示す構成図である。FIG. 1 is a block diagram showing an embodiment of the present invention.

図中、1はマイクロプログラムを格納する制御コードメ
モリである。3は制御コードメモリ1から読み出したマ
イクロ命令の反復可能コードフィールドを保持する反復
可能コートレジスタである。
In the figure, 1 is a control code memory that stores a microprogram. 3 is a repeatable code register that holds the repeatable code field of the microinstruction read from the control code memory 1;

4は制御コードメモリ1から読み出したマイクロ命令の
反復不可コードフィールドと反復可能なマイクロ操作の
実行を指定するビットを保持する反復不可コードレジス
タである。
Reference numeral 4 denotes a non-repeatable code register that holds a non-repeatable code field of a microinstruction read from the control code memory 1 and a bit specifying execution of a repeatable micro-operation.

従来のマイクロプログラム制御装置では、直前のステッ
プで実行したマイクロ操作の再実行は不可能であるから
、マイクロ命令のなかに反復可能なマイクロ操作の再実
行を指定するビットは存在せず、反復可能なコードフィ
ールドと反復不可コ−ドフィールドの区別が存在しない
。すなわち、従来のマイクロプログラム制御装置は、マ
イクロ命令の全てのフィールドに、反復不可コードフィ
ールドと同じ制御を行なう。
In conventional microprogram controllers, it is not possible to re-execute the micro-operation executed in the previous step, so there is no bit in the micro-instruction that specifies the re-execution of a repeatable micro-operation. There is no distinction between regular code fields and non-repeatable code fields. That is, conventional microprogram controllers provide the same control over all fields of a microinstruction as the non-repeatable code field.

反復可能なマイクロ操作として直前のステップで実行し
たマイクロ操作を選択する場合は、直前のステップで使
用した反復可能コードフィールドを保持する再実行コー
ドレジスタ2が保持するマイクロコードと反復不可コー
ドレジスタ4が保持するマイクロコードを使用し、レジ
スタファイル及び演算回路を制御する。
When selecting the micro-operation executed in the previous step as a repeatable micro-operation, the micro-code held by the re-execution code register 2 which holds the repeatable code field used in the previous step and the non-repeatable code register 4 are selected. The stored microcode is used to control register files and arithmetic circuits.

反復可能コードレジスタ3と再実行コードレジスタ2の
出力を選択する為にコード選択器5を使用する。コード
選択器5の制御は反復不可コードレジスタ4が保持する
反復可能なマイクロ操作指定法を指定する指定ビット2
1を使用し、コード選択器5は指定ビット21がリセッ
トされているときには反復可能コードレジスタ3の出力
を選択するが、指定ビット21がセットされているとき
には再実行コードレジスタ2の出力を選択し直前のステ
ップで実行したマイクロ操作の繰返しを行なうこととな
る。
A code selector 5 is used to select the outputs of the repeatable code register 3 and the rerun code register 2. The code selector 5 is controlled by a designation bit 2 held in the non-repeatable code register 4 that designates a repeatable micro-operation designation method.
1, the code selector 5 selects the output of the repeatable code register 3 when the specified bit 21 is reset, but selects the output of the rerun code register 2 when the specified bit 21 is set. This will repeat the micro-operation that was executed in the previous step.

〔発明の効果〕〔Effect of the invention〕

本発明のマイクロプログラム制御装置には、直前のステ
ップで実行した反復可能なマイクロ操作を制御した反復
可能コードを保持する再実行コードレジスタを導入し、
直前のステップで実行した反復可能なマイクロ操作の再
実行を可能にしたことで、ユニフィケーション処理の例
で見られる様な主ルーチンと機能ルーチン間でデータ受
は渡しをレジスタ指定マイクロ操作の再実行で実現する
ことで機能ルーチン呼び出しによるマイクロプログラム
の実行ステップ数の増加を防止し処理速度を向上できる
という効果がある。
The microprogram control device of the present invention introduces a re-execution code register that holds repeatable code that controlled the repeatable micro-operation executed in the previous step,
By making it possible to re-execute the repeatable micro-operations executed in the previous step, data passing between the main routine and the functional routine as seen in the unification processing example can be done by re-executing the register-specified micro-operations. This has the effect of preventing an increase in the number of microprogram execution steps due to function routine calls and improving processing speed.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例を示す構成図、第2図は本発
明のマイクロプログラム制御装置が制御するマイクロ命
令のフォーマット図、第3図は従来のマイクロプログラ
ム制御装置の構成図である。 1・・・制御コードメモリ、2・・・再実行コードレジ
スタ(LMCR)、3・・・反復可能コートレジスタ(
RMCR>、4・・・反復不可コードレジスタ(NMC
R)、5・・・コード選択器、10・・・マイクロコー
ドレジスタ(MCR> 、11・・・間接指定用レジス
タ、12・・・レジスタ指定番号選択器、13・・・レ
ジスタファイル、20・・・反復不可コードフィールド
、21・・指定ビット、22・・・反復可能コードフィ
ールド。 $ / 図 $ 2 面
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a format diagram of microinstructions controlled by the microprogram control device of the present invention, and FIG. 3 is a block diagram of a conventional microprogram control device. . 1... Control code memory, 2... Re-execution code register (LMCR), 3... Repeatable code register (
RMCR>, 4...Non-repeatable code register (NMC
R), 5...Code selector, 10...Microcode register (MCR>, 11...Register for indirect specification, 12...Register specification number selector, 13...Register file, 20... ...Non-repeatable code field, 21...Specified bit, 22...Repeatable code field. $ / Figure $ 2 side

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラムを格納する制御コードメモリと、直
前のステップで実行したマイクロ命令の特定フィールド
を保持する再実行コードレジスタと、前記再実行コード
レジスタが保持の対象とする特定フィールドを保持する
反復可能コードレジスタと、前記反復可能コードレジス
タが保持する特定フィールド以外のフィールドを保持す
る反復不可コードレジスタと、前記反復不可コードレジ
スタが保持する特定ビットの値に応じて前記反復可能コ
ードレジスタと前記再実行コードレジスタの出力とのい
づれか一方を選択し選択したコードを前記反復可能コー
ドレジスタと外部とへ供給するコード選択器とを備え、
前記反復不可コードレジスタが保持する特定ビットをセ
ットすることで直前のステップで実行した前記特定フィ
ールドが指定するマイクロ操作の繰り返しが可能である
ことを特徴とするマイクロプログラム制御装置。
A control code memory that stores a microprogram, a re-execution code register that retains specific fields of the micro-instruction executed in the immediately previous step, and a repeatable code register that retains specific fields that the re-execution code register is intended to retain. and a non-repeatable code register that holds fields other than the specific field held by the repeatable code register, and the repeatable code register and the re-execution code register depending on the value of the specific bit held by the non-repeatable code register. a code selector that selects one of the outputs of the repeatable code register and supplies the selected code to the repeatable code register and the outside;
A microprogram control device characterized in that by setting a specific bit held in the non-repeatable code register, it is possible to repeat the micro-operation specified by the specific field executed in the previous step.
JP17503586A 1986-07-24 1986-07-24 Microprogram control device Pending JPS6330937A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17503586A JPS6330937A (en) 1986-07-24 1986-07-24 Microprogram control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17503586A JPS6330937A (en) 1986-07-24 1986-07-24 Microprogram control device

Publications (1)

Publication Number Publication Date
JPS6330937A true JPS6330937A (en) 1988-02-09

Family

ID=15989079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17503586A Pending JPS6330937A (en) 1986-07-24 1986-07-24 Microprogram control device

Country Status (1)

Country Link
JP (1) JPS6330937A (en)

Similar Documents

Publication Publication Date Title
US5261101A (en) Method for calling and returning from subroutine that is invoked by either a near call or a far call
US5095426A (en) Data processing system for effectively handling exceptions during execution of two different types of instructions
JPS61160176A (en) Vector processor
US4656581A (en) Vector mask control system
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS60136832A (en) Logical type data processor for handling data having tag
JPS6330937A (en) Microprogram control device
JPS6330938A (en) Microprogram control device
JPS6330939A (en) Microprogram control device
JPS60126736A (en) Data processor
JPH0222413B2 (en)
JPS62120542A (en) Information processor
JPS6217840A (en) Microprogram control system based upon attribution flag
JPH03127171A (en) Vector processor
JPS607295B2 (en) data processing equipment
JPH0424731B2 (en)
JPS5936838A (en) Controlling method of interface
JPS6375833A (en) Information processor
JPH0338613B2 (en)
JPS629932B2 (en)
JPS6250854B2 (en)
JPH05127894A (en) Instruction executing system
JPS58151651A (en) Data processing device
JPS59218557A (en) Data processing device by microprogram control
JPH0658632B2 (en) Data processing device