JP7027857B2 - Control device - Google Patents

Control device Download PDF

Info

Publication number
JP7027857B2
JP7027857B2 JP2017235099A JP2017235099A JP7027857B2 JP 7027857 B2 JP7027857 B2 JP 7027857B2 JP 2017235099 A JP2017235099 A JP 2017235099A JP 2017235099 A JP2017235099 A JP 2017235099A JP 7027857 B2 JP7027857 B2 JP 7027857B2
Authority
JP
Japan
Prior art keywords
instruction
control device
division
value
multiplication
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.)
Active
Application number
JP2017235099A
Other languages
Japanese (ja)
Other versions
JP2019101962A (en
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2017235099A priority Critical patent/JP7027857B2/en
Priority to DE102018220851.4A priority patent/DE102018220851A1/en
Publication of JP2019101962A publication Critical patent/JP2019101962A/en
Application granted granted Critical
Publication of JP7027857B2 publication Critical patent/JP7027857B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence

Landscapes

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

Description

本開示は、車両に搭載され、浮動小数点演算を実施可能な制御装置に関する。 The present disclosure relates to a control device mounted on a vehicle and capable of performing floating point arithmetic.

上記の制御装置として、下記の特許文献1には、浮動小数点演算によって非数が発生した場合、非数の伝播を抑制するために、制御ブロック単位でデータを初期化するという技術が提案されている。 As the above-mentioned control device, Patent Document 1 below proposes a technique of initializing data in units of control blocks in order to suppress propagation of non-numbers when non-numbers are generated by floating-point arithmetic. There is.

特許第5379712号公報Japanese Patent No. 5379712

しかしながら、発明者の詳細な検討の結果、制御ブロック単位でデータを初期化する構成では、初期化する必要がないデータも初期化され、再演算されるため、処理に遅延が生じるなどの処理性能の劣化を招く虞があるという課題が見出された。 However, as a result of detailed examination by the inventor, in a configuration in which data is initialized in units of control blocks, data that does not need to be initialized is also initialized and recalculated, resulting in processing performance such as a delay in processing. It was found that there is a risk of deterioration of the product.

本開示の1つの局面は、車両に搭載され、浮動小数点演算を実施可能な制御装置において、非数発生時の処理性能の劣化を抑制する技術を提供することにある。 One aspect of the present disclosure is to provide a technique for suppressing deterioration of processing performance when a non-number occurs in a control device mounted on a vehicle and capable of performing floating-point arithmetic.

本開示の一態様による制御装置(20A,20B)は、演算判定部(S120,S220)と、命令実行部(S130,S150,S200,S250,S260,S310)と、を備える。演算判定部は、浮動小数点演算によって0を0で除する演算をさせる演算命令を表す除算命令の有無を判定するように構成される。 The control device (20A, 20B) according to one aspect of the present disclosure includes a calculation determination unit (S120, S220) and an instruction execution unit (S130, S150, S200, S250, S260, S310). The operation determination unit is configured to determine the presence / absence of a division instruction representing an operation instruction for performing an operation of dividing 0 by 0 by a floating-point operation.

命令実行部は、除算命令がある場合に、除算命令に含まれる各値の符号を加味して除算を乗算とした0に0を乗じる演算とする乗算命令を生成し、除算命令に換えて乗算命令を実行させるように構成される。 When there is a division instruction, the instruction execution unit generates a multiplication instruction that adds the sign of each value included in the division instruction and multiplies 0 to 0 by multiplying the division, and multiplies it in place of the division instruction. It is configured to execute an instruction.

このような構成によれば、0を0で除する演算命令である除算命令に換えて、符号を考慮した乗算命令を実行させるので、非数が伝播することを抑制しつつ、非数を所定値に置換して用いる演算を行う場合等に生じ得る処理性能の劣化を抑制することができる。 According to such a configuration, the multiplication instruction considering the sign is executed instead of the division instruction which is an operation instruction of dividing 0 by 0, so that the non-number is predetermined while suppressing the propagation of the non-number. It is possible to suppress the deterioration of processing performance that may occur when performing an operation that is used by replacing it with a value.

なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。 In addition, the reference numerals in parentheses described in this column and the scope of claims indicate the correspondence with the specific means described in the embodiment described later as one embodiment, and the technical scope of the present disclosure is defined. It is not limited.

電子制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of an electronic control system. レジスタ群およびRAMの構成例を示す模式図である。It is a schematic diagram which shows the configuration example of a register group and RAM. 演算部が実行する命令実行処理のフローチャートである。It is a flowchart of the instruction execution process executed by the arithmetic unit. 命令実行処理のうちの例外処理を示すフローチャートである。It is a flowchart which shows exception handling in instruction execution processing. 命令実行処理にて取得される命令の一例を示す模式図である。It is a schematic diagram which shows an example of the instruction acquired in the instruction execution process. 生成されるサブルーチンの一例を示す説明図である。It is explanatory drawing which shows an example of the generated subroutine. 無効演算による入出力例を示すマップである。It is a map showing an input / output example by an invalid operation.

以下、図面を参照しながら、本開示の実施形態を説明する。
[1.第1実施形態]
[1-1.構成]
図1は、本発明が適用された電子制御システム1の構成を示すブロック図である。電子制御システム1は、電子制御装置5を備える。電子制御システム1は、クランク角センサ31と、インジェクタ32とを備えてもよい。
Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.
[1. First Embodiment]
[1-1. Constitution]
FIG. 1 is a block diagram showing a configuration of an electronic control system 1 to which the present invention is applied. The electronic control system 1 includes an electronic control device 5. The electronic control system 1 may include a crank angle sensor 31 and an injector 32.

電子制御装置5は、マイクロコンピュータ10と、入出力回路7とを備え、マイクロコンピュータ10は、複数の演算部20A,20Bと、ROM12と、RAM13と、インタフェース部15とを備える。ROM12およびRAM13は、周知のメモリであり、例えば半導体メモリとして構成される。なお、入出力回路7は、電子制御装置5と外部の装置との間でデータをやり取りするための周知のインタフェース回路であり、図面においてはI/Fと表記する周知のインタフェース部15を介してマイクロコンピュータ10内外のデータのやり取りを行う。また、本実施形態では2つの演算部20A,20Bを備える構成を例示するが、演算部の数は、1でも3以上であってもよい。 The electronic control device 5 includes a microcomputer 10 and an input / output circuit 7, and the microcomputer 10 includes a plurality of arithmetic units 20A and 20B, a ROM 12, a RAM 13, and an interface unit 15. The ROM 12 and the RAM 13 are well-known memories, and are configured as, for example, semiconductor memories. The input / output circuit 7 is a well-known interface circuit for exchanging data between the electronic control device 5 and an external device, and is referred to as an I / F in the drawings via a well-known interface unit 15. Data is exchanged inside and outside the microcomputer 10. Further, in the present embodiment, a configuration including two arithmetic units 20A and 20B is illustrated, but the number of arithmetic units may be 1 or 3 or more.

複数の演算部20A,20Bとしては、演算部[A]20Aと、演算部[B]20Bとを備える。各演算部20A,20Bは、同様のハードウェア構成であり、それぞれ、CPU21A,21Bと、FPU22A,22Bと、レジスタ群23A,23Bと、を有する。演算部20A,20Bの各機能は、CPU21A,21BおよびFPU22A,22Bが不揮発性メモリに格納されたプログラムを実行することにより実現される。この例では、ROM12、RAM13が、プログラムを格納した不揮発性メモリに該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。また、電子制御装置5は、1つのマイクロコンピュータを備えてもよいし、複数のマイクロコンピュータを備えてもよい。 The plurality of calculation units 20A and 20B include a calculation unit [A] 20A and a calculation unit [B] 20B. Each of the arithmetic units 20A and 20B has the same hardware configuration, and has CPUs 21A and 21B, FPU22A and 22B, and register groups 23A and 23B, respectively. Each function of the arithmetic units 20A and 20B is realized by the CPUs 21A and 21B and the FPU 22A and 22B executing a program stored in the non-volatile memory. In this example, the ROM 12 and the RAM 13 correspond to the non-volatile memory in which the program is stored. In addition, when this program is executed, the method corresponding to the program is executed. Further, the electronic control device 5 may include one microcomputer or a plurality of microcomputers.

CPU21A,21Bは、予め定められた演算順序に従って予め定められたプログラムを実行する周知の構成であり、割り込みに対応可能である。CPU21A,21Bは、プログラムを実行することによる機能の一部として、例えば、後述する命令実行処理を実施する機能を備える。 The CPUs 21A and 21B have a well-known configuration for executing a predetermined program according to a predetermined calculation order, and can respond to interrupts. The CPUs 21A and 21B have, for example, a function of executing an instruction execution process described later as a part of the function of executing the program.

CPU21A,21Bに含まれる各部の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能は、一つあるいは複数のハードウェアを用いて実現されてもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は、デジタル回路、又はアナログ回路、あるいはこれらの組合せによって実現されてもよい。 The method for realizing the functions of each part included in the CPUs 21A and 21B is not limited to software, and some or all of the functions may be realized by using one or a plurality of hardware. For example, when the above function is realized by an electronic circuit which is hardware, the electronic circuit may be realized by a digital circuit, an analog circuit, or a combination thereof.

レジスタ群23A,23Bには、CPU21A,21Bによる演算結果等が一時的に記録される。レジスタ群23A,23Bは、一例として図2に示すように、予め定められた変数の演算結果を記録するための、R0からR31までのデータ記録領域を備える。データ記録領域には、浮動小数点型データの格納領域が確保される。 The operation results and the like by the CPUs 21A and 21B are temporarily recorded in the register groups 23A and 23B. As shown in FIG. 2 as an example, the register groups 23A and 23B include a data recording area from R0 to R31 for recording the calculation result of a predetermined variable. A storage area for floating-point data is secured in the data recording area.

クランク角センサ31は、車両の内燃機関におけるクランクの角度を検知する周知のセンサである。また、インジェクタ32は、車両の内燃機関における周知の燃料噴射装置である。インジェクタ32は、主としてCPU21A,21Bによって制御される。 The crank angle sensor 31 is a well-known sensor that detects the angle of the crank in the internal combustion engine of a vehicle. Further, the injector 32 is a well-known fuel injection device in an internal combustion engine of a vehicle. The injector 32 is mainly controlled by the CPUs 21A and 21B.

FPU22A,22Bは、プログラムに基づく演算のうち、浮動小数点演算を実行する。浮動小数点演算は浮動小数点型データを用いた演算である。FPU22A,22Bを備えることによって、浮動小数点型データによる演算が可能となり、固定小数点型データに比べて細かい精度で演算結果を得られる。演算結果の浮動小数点型データは、レジスタ群23A,23Bに記録される。FPU22A,22Bは、例えば、IEEE754規格に従ったデータ形式で、浮動小数点型データを表す。 The FPUs 22A and 22B execute floating-point arithmetic among the operations based on the program. Floating-point arithmetic is an operation using floating-point data. By providing FPU22A and 22B, it is possible to perform an operation using floating-point type data, and an operation result can be obtained with finer accuracy than fixed-point type data. The floating-point type data of the calculation result is recorded in the register groups 23A and 23B. FPU22A and 22B are, for example, data formats according to the IEEE754 standard and represent floating point type data.

つまり、IEEE754規格に従う単精度の浮動小数点型データは、1ビットの符号部、8ビットの指数部、23ビットの仮数部で構成される。この規格の浮動小数点データでは、例えば、数値として表現できない演算結果を、「非数」として表現できるようになっている。 That is, the single-precision floating-point data according to the IEEE754 standard is composed of a 1-bit sign part, an 8-bit exponent part, and a 23-bit mantissa part. In the floating-point data of this standard, for example, an operation result that cannot be expressed as a numerical value can be expressed as a "non-number".

浮動小数点型データによる演算では、非数が発生すると、この非数を用いた演算結果は全て非数となってしまう。このため、非数が発生した場合には、非数を非数でない正常値に書き換える必要がある。0で除する演算や、∞(無限大)を用いた演算等の演算結果が、数値として表現できない演算結果の一例として挙げられる。 In an operation using floating-point data, if a non-number occurs, all the operation results using this non-number will be non-number. Therefore, when a non-number occurs, it is necessary to rewrite the non-number to a normal value that is not a non-number. An operation result such as an operation divided by 0 or an operation using ∞ (infinity) can be given as an example of an operation result that cannot be expressed as a numerical value.

例えばこの規格では、指数部の8ビットが全て「1」で、すなわち指数部が10進表記の「255」で、仮数部が「0」以外の場合、この浮動小数点型データは「非数」を表す。また、前述の規格では、指数部の8ビットが全て「1」で仮数部が「0」の場合、この浮動小数点型データは「無限大」を表す。なお、以下では、0で除する演算や、無限大を用いた演算のような、数値として表現できない演算結果となる演算を、無効な演算といい、或いは無効な演算に含まれる無効な演算に命令を無効命令という。 For example, in this standard, if all 8 bits of the exponent part are "1", that is, the exponent part is "255" in decimal notation and the mantissa part is other than "0", this floating point type data is "non-number". Represents. Further, in the above-mentioned standard, when all 8 bits of the exponent part are "1" and the mantissa part is "0", this floating point type data represents "infinity". In the following, operations that result in operations that cannot be expressed as numerical values, such as operations that divide by 0 and operations that use infinity, are referred to as invalid operations, or are included in invalid operations. The command is called an invalid command.

CPU21A,21Bは、プログラムに基づく演算のうち、固定小数点演算を実行し、浮動小数点演算をFPU22A,22Bに実行させる。CPU21A,21Bは前述のように割込に対応可能である。なお、割込には、周知の割込コントローラ等からの要求に基づくハードウェア割込と、CPU21A,21B自身の命令実行に基づくソフトウェア割込とがある。本実施形態では、CPU21A,21Bはハードウェア割込に対応する。ただし、CPU21A,21Bは、ソフトウェア割込に対応するものであってもよいし、これらの両方に対応するものであってもよい。 The CPUs 21A and 21B execute fixed-point arithmetic among the operations based on the program, and cause the FPUs 22A and 22B to execute the floating-point arithmetic. The CPUs 21A and 21B can handle interrupts as described above. The interrupts include hardware interrupts based on requests from well-known interrupt controllers and the like, and software interrupts based on the execution of instructions by the CPUs 21A and 21B themselves. In this embodiment, the CPUs 21A and 21B correspond to hardware interrupts. However, the CPUs 21A and 21B may correspond to software interrupts or may correspond to both of them.

CPU21A,21Bは、プログラムに基づいて、後述する処理を実施する。また、CPU21A,21Bは、クランク角センサ31による検知結果等に基づいてインジェクタ32の作動等を制御する周知の車両制御処理も実施する。 The CPUs 21A and 21B carry out the processes described later based on the program. Further, the CPUs 21A and 21B also carry out a well-known vehicle control process for controlling the operation and the like of the injector 32 based on the detection result and the like by the crank angle sensor 31.

CPU21A,21Bは、割り込みが発生すると、割込時CPU処理を実施する。具体的にはCPU割込要求信号が入力されると、CPU21A,21Bは、現在実行中の処理を中断し、その処理を再開するのに必要な処理情報を、レジスタ群23A,23Bに退避、すなわちスタックさせる。特に、本実施形態では、図2に示すように、レジスタ群23A,23Bのうちの基準レジスタ23Dを含む領域に、処理情報を退避させる。 When an interrupt occurs, the CPUs 21A and 21B perform CPU processing at the time of interruption. Specifically, when the CPU interrupt request signal is input, the CPUs 21A and 21B interrupt the currently executing process and save the process information necessary for restarting the process to the register groups 23A and 23B. That is, they are stacked. In particular, in the present embodiment, as shown in FIG. 2, the processing information is saved in the area including the reference register 23D in the register groups 23A and 23B.

なお、基準レジスタ23Dとは、相対アドレスアクセスの際の基準アドレス13Dが記載されたレジスタを示す。また、相対アドレスアクセスとは、RAM13において設定された基準アドレス13Dからの相対パスによってRAM13における記録領域を特定する手法を表す。 The reference register 23D indicates a register in which the reference address 13D at the time of relative address access is described. Further, the relative address access represents a method of specifying a recording area in the RAM 13 by a relative path from the reference address 13D set in the RAM 13.

すなわち、CPU21A,21Bは、RAM13へのアクセスの際に、基準レジスタ23Dに記載された基準アドレス13Dを参照することによって基準アドレス13Dを認識し、基準アドレス13Dからの相対パスでRAM13内の領域を特定するように構成される。 That is, when accessing the RAM 13, the CPUs 21A and 21B recognize the reference address 13D by referring to the reference address 13D described in the reference register 23D, and use an area in the RAM 13 with a relative path from the reference address 13D. It is configured to be specific.

また、処理情報とは、例えば、フラグ等の処理状態を表す情報である。なお、本実施形態では、中断されたプログラム中で用いられていた所謂ローカル変数の内容を表す情報も処理情報に含むものとする。CPU21A,21Bは、CPU割込要求信号が入力されたときに取得した割込情報に基づいて、実行すべき割込処理、例えば後述する例外処理を特定する。 Further, the processing information is information indicating a processing state such as a flag, for example. In this embodiment, the processing information also includes information representing the contents of so-called local variables used in the interrupted program. The CPUs 21A and 21B specify interrupt processing to be executed, for example, exception handling described later, based on the interrupt information acquired when the CPU interrupt request signal is input.

CPU21A,21Bは、このようにして特定した割込処理として、例えば後述する例外処理を実行し、この割込処理が完了した後、退避しておいた情報を基準レジスタ23Dを含む領域から読み出し、その情報に基づき、先に中断した処理を再開する。なお、以下では、処理情報を基準レジスタ23Dを含む領域に退避させる処理を退避処理といい、退避しておいた情報を基準レジスタ23Dを含む領域から読み出す処理を復帰処理という。 The CPUs 21A and 21B execute, for example, an exception handling described later as the interrupt processing specified in this way, and after the interrupt processing is completed, read the saved information from the area including the reference register 23D. Based on that information, the previously interrupted process is restarted. In the following, the process of saving the processed information to the area including the reference register 23D is referred to as a save process, and the process of reading the saved information from the area including the reference register 23D is referred to as a return process.

[1-2.処理]
次に、演算部20A,20Bが実行する命令実行処理について、図3のフローチャートを用いて説明する。命令実行処理は、演算部20A,20Bが浮動小数点演算を実行する際に起動される処理であり、浮動小数点演算が終了するまで繰り返し実行される処理である。なお、下記では演算部20Aが命令実行処理を実行する構成を例示するが、演算部20Bが命令実行処理を実行してもよいし、演算部20A,20Bが協働して命令実行処理を実行してもよい。
[1-2. process]
Next, the instruction execution processing executed by the arithmetic units 20A and 20B will be described with reference to the flowchart of FIG. The instruction execution process is a process that is started when the arithmetic units 20A and 20B execute a floating-point arithmetic, and is a process that is repeatedly executed until the floating-point arithmetic is completed. Although the configuration in which the arithmetic unit 20A executes the instruction execution process is illustrated below, the arithmetic unit 20B may execute the instruction execution process, or the arithmetic units 20A and 20B cooperate to execute the instruction execution process. You may.

命令実行処理では、まず、S110で、演算部20Aが、命令が含まれる演算を選択する。演算の形態は任意であるが、例えば、プログラムの1行を演算として選択してもよい。
続いて、S120で、演算部20Aは、選択した演算に無効命令が含まれているか否かを判定する。演算部20Aは、S120で無効命令が含まれていると判定した場合には、S130へ移行し、例外設定が有効であるか否かを判定する。例外設定とは、例外処理等の割込処理を実行するか否かを決定するための設定であり、例えば、FPU22A,22Bのレジスタで管理される。特に、例外設定は、制御単位毎に設定される。制御単位とは、エアコン、燃料噴射等の制御対象毎、或いは、制御対象を制御する際の演算毎等を表す。
In the instruction execution process, first, in S110, the arithmetic unit 20A selects an arithmetic including the instruction. The form of the operation is arbitrary, but for example, one line of the program may be selected as the operation.
Subsequently, in S120, the calculation unit 20A determines whether or not the selected operation includes an invalid instruction. When it is determined in S120 that the invalid instruction is included, the arithmetic unit 20A shifts to S130 and determines whether or not the exception setting is valid. The exception setting is a setting for determining whether or not to execute interrupt processing such as exception processing, and is managed by, for example, the registers of FPU22A and 22B. In particular, the exception setting is set for each control unit. The control unit represents each control target such as an air conditioner and fuel injection, or each calculation when controlling the control target.

演算部20Aは、S130で例外設定が有効であると判定した場合には、S140へ移行し、後述する例外処理を実行した後、図3の命令実行処理を終了する。
一方、演算部20Aは、S130で例外設定が有効でないと判定した場合には、S150へ移行し、無効命令に換えてデフォルト値を出力した後、図3の命令実行処理を終了する。すなわち、演算部20Aは、例外設定が無効の際に、除算命令を含む予め設定された無効命令があると、無効命令の演算結果を規定値であるデフォルト値に置換して出力する。
When the calculation unit 20A determines in S130 that the exception setting is valid, the calculation unit 20A shifts to S140, executes the exception processing described later, and then ends the instruction execution process of FIG.
On the other hand, when the calculation unit 20A determines in S130 that the exception setting is not valid, the operation unit 20A shifts to S150, outputs a default value in place of an invalid instruction, and then ends the instruction execution process of FIG. That is, when the exception setting is invalid, if there is a preset invalid instruction including a division instruction, the arithmetic unit 20A replaces the operation result of the invalid instruction with a default value which is a default value and outputs the output.

また、演算部20Aは、S120で選択した演算に無効命令が含まれていないと判定した場合には、S160へ移行し、無効命令でない命令である有効命令を含む演算を実行した後、図3の命令実行処理を終了する。 Further, when the calculation unit 20A determines that the operation selected in S120 does not include an invalid instruction, the operation unit 20A shifts to S160, executes an operation including a valid instruction which is an instruction that is not an invalid instruction, and then shows FIG. Ends the instruction execution process of.

次に、演算部20Aが実行する例外処理について、図4のフローチャートを用いて説明する。
まず、S200で、退避処理を実行する。退避処理では、前述のように、処理情報を、基準レジスタ23Dを含む領域に退避させる。なお、この際、処理情報を基準レジスタ23Dのみを使って退避させてもよい。演算部20Aが処理情報を基準レジスタ23Dのみを使って退避させる場合には、通常の処理では利用しない基準レジスタ23Dのみが退避処理によって書き変わるため、例外処理によってレジスタ群23A,23Bに書き込まれるデータが、退避された処理情報に影響を与えることがないようにすることができる。
Next, the exception handling executed by the arithmetic unit 20A will be described with reference to the flowchart of FIG.
First, the evacuation process is executed in S200. In the save process, as described above, the process information is saved in the area including the reference register 23D. At this time, the processing information may be saved by using only the reference register 23D. When the arithmetic unit 20A saves the processing information using only the reference register 23D, only the reference register 23D, which is not used in the normal processing, is rewritten by the save processing, so that the data written to the registers 23A and 23B by the exception processing. However, it is possible to prevent the saved processing information from being affected.

続いて、S210で、演算部20Aは、無効命令と戻りアドレスとを取得する。戻りアドレスとは、無効命令を含む演算が書き込まれていたROM12上の位置を示し、この例外処理が終了した後で、再度ROM12上のプログラムを読み出す際に目印となる位置である。 Subsequently, in S210, the arithmetic unit 20A acquires an invalid instruction and a return address. The return address indicates a position on the ROM 12 in which the operation including the invalid instruction was written, and is a position that becomes a mark when reading the program on the ROM 12 again after the exception handling is completed.

続いて、S220で、演算部20Aは、無効命令に除算を含むか否かを判定する。演算部20Aは、S220で無効命令に除算を含むと判定した場合には、S230へ移行し、レジスタ群23A,23Bからこの命令での演算に用いる分子RAおよび分母RBのレジスタ番号を取得する。ここでの命令は、図5に示すように、例えば、32ビットで表現され、除算を示すコード「1011」が含まれる。また、この処理では、分子RAおよび分母RBが正の数か負の数かを表す符号も取得する。 Subsequently, in S220, the arithmetic unit 20A determines whether or not the invalid instruction includes division. When the calculation unit 20A determines in S220 that the invalid instruction includes division, the calculation unit 20A shifts to S230 and acquires the register numbers of the numerator RA and the denominator RB used for the calculation in this instruction from the register groups 23A and 23B. As shown in FIG. 5, the instruction here is represented by, for example, 32 bits, and includes a code “1011” indicating division. In this process, a code indicating whether the numerator RA and the denominator RB are positive or negative numbers is also acquired.

続いて、S240で、演算部20Aは、RA=0かつRB=0であるか否かを判定する。ここでの0は、+0または-0を表す。この処理では、演算部20Aが、除算命令の有無を判定している。なお、除算命令とは、浮動小数点演算によって0を0で除する演算をさせる演算命令を表す。 Subsequently, in S240, the arithmetic unit 20A determines whether or not RA = 0 and RB = 0. Here, 0 represents +0 or −0. In this process, the arithmetic unit 20A determines whether or not there is a division instruction. The division instruction represents an operation instruction for dividing 0 by 0 by a floating-point operation.

演算部20Aは、S240でRA=0かつRB=0であると判定した場合には、S250へ移行し、除算命令に含まれる除算を乗算に変更した乗算命令を生成する。この際、演算部20Aは、この命令での演算に用いる分子RAおよび分母RBのレジスタ番号をそのまま採用するとともに、例えば、図5に示すように、除算を示すコード「1011」を、乗算示すコード「1010」に置換する。すなわち、分子RAおよび分母RBの符号を加味しつつ0に0を乗じる演算とする乗算命令を生成する。なお、乗算命令は、除算命令に換えて、後述するS280で実行される。 When the calculation unit 20A determines in S240 that RA = 0 and RB = 0, the calculation unit 20A shifts to S250 and generates a multiplication instruction in which the division included in the division instruction is changed to multiplication. At this time, the calculation unit 20A adopts the register numbers of the numerator RA and the denominator RB used for the calculation in this instruction as they are, and, for example, as shown in FIG. 5, a code indicating multiplication by the code "1011" indicating division. Replace with "1010". That is, a multiplication instruction is generated, which is an operation of multiplying 0 by 0 while adding the signs of the numerator RA and the denominator RB. The multiplication instruction is executed in S280, which will be described later, instead of the division instruction.

続いて、S260で、演算部20Aは、乗算命令を含むサブルーチンをRAM13上に生成する。この処理で生成されるサブルーチンは、例えば、図6に示すようなデータを有する。すなわち、サブルーチンには、FPUが実行する命令、サブルーチンからのリターンする命令が含まれる。 Subsequently, in S260, the arithmetic unit 20A generates a subroutine including a multiplication instruction on the RAM 13. The subroutine generated by this process has, for example, the data shown in FIG. That is, the subroutine includes an instruction executed by the FPU and an instruction returned from the subroutine.

特に、処理の内容には、FPUが実行する命令、サブルーチンからのリターンする命令が含まれる。サブルーチンからのリターンする命令とは、サブルーチンを終了後に処理をメインルーチンに戻すための命令である。なお、サブルーチンでは、複数の演算部20A,20Bによって並列処理を行う場合に備えて、処理を行う演算部毎に処理の内容が記載される。 In particular, the contents of the process include an instruction executed by the FPU and an instruction returned from the subroutine. The instruction returned from the subroutine is an instruction for returning the process to the main routine after the subroutine is completed. In the subroutine, the content of the processing is described for each arithmetic unit to be processed in preparation for the case where the parallel processing is performed by the plurality of arithmetic units 20A and 20B.

ところで、サブルーチンを生成するS260の処理は、演算部20Aが、S220で無効命令に除算を含まないと判定した場合、およびS240でRA=0かつRB=0でないと判定した場合にも実行される。この場合には、演算に含まれる無効命令による解RDを図7に示すマップに従って決定されるデフォルト値として出力するためのサブルーチンを生成する。 By the way, the process of S260 for generating a subroutine is also executed when the arithmetic unit 20A determines in S220 that the invalid instruction does not include division, and also in S240 when it determines that RA = 0 and RB = 0. .. In this case, a subroutine is generated to output the solution RD by the invalid instruction included in the operation as the default value determined according to the map shown in FIG.

例えば、図7に示すマップの上2段では、分子RAが非数でない値、つまり±normである場合であって、分母RBが0である場合に、分子RAおよび分母RBの値の符号の組み合わせに応じて解RDを決定する例を示す。すなわち、この処理では、分子RAおよび分母RBの符号の排他的論理和が解RDの符号となり、解RDの絶対値が最大値maxになるように設定される。ここでの最大値maxは、前述の「無限大」と同じ値であってもよいが、「無限大」を除く最大値として予め規定された値であることが好ましい。 For example, in the upper two rows of the map shown in FIG. 7, when the numerator RA is a non-numerical value, that is, ± norm, and the denominator RB is 0, the signs of the values of the numerator RA and the denominator RB are signed. An example of determining the solution RD according to the combination is shown. That is, in this process, the exclusive OR of the signs of the numerator RA and the denominator RB becomes the sign of the solution RD, and the absolute value of the solution RD is set to be the maximum value max. The maximum value max here may be the same value as the above-mentioned “infinity”, but is preferably a value predetermined as a maximum value excluding “infinity”.

なお、図7に示すマップの下2段では、分子RAおよび分母RBが共に0である場合の演算結果も示している。上記に示すように除算命令を乗算命令に置換する処理を実行すれば、符号を加味した解RDが得られる。 The lower two rows of the map shown in FIG. 7 also show the calculation results when both the numerator RA and the denominator RB are 0. By executing the process of replacing the division instruction with the multiplication instruction as shown above, the solution RD with the sign added can be obtained.

続いて、S270で、演算部20Aは、例外設定を無効に設定する。例外設定を無効にすれば、例外設定が無効な間、無効命令による例外発生を抑制するので、他の処理によって生成したサブルーチン等が上書きされることを抑制できる。 Subsequently, in S270, the arithmetic unit 20A sets the exception setting to invalid. If the exception setting is invalidated, the occurrence of an exception due to an invalid instruction is suppressed while the exception setting is invalid, so that it is possible to prevent the subroutine or the like generated by other processing from being overwritten.

続いて、S280で、演算部20Aは、FPU22A,22Bによるサブルーチンを実行する。
続いて、演算部20Aは、サブルーチンの実行が終了すると、S290で、例外設定を有効に設定する。例外設定を再び有効にすることで、次に選択する命令に無効命令が含まれる場合に、例外処理を実行できるようにする。
Subsequently, in S280, the arithmetic unit 20A executes the subroutine by the FPU 22A and 22B.
Subsequently, when the execution of the subroutine is completed, the arithmetic unit 20A effectively sets the exception setting in S290. By re-enabling the exception setting, exception handling can be executed when the next selected instruction contains an invalid instruction.

続いて、S300で、演算部20Aは、戻りアドレスをインクリメントする。この処理は、同じ演算を再度実行することを抑制するためである。
続いて、S310で、演算部20Aは、前述の復帰処理を実行する。この際、基準レジスタ23Dに基準アドレス13Dを記載する。なお、基準アドレス13Dは、予めROM12内の特定の領域に記載されており、この領域を参照することで基準アドレス13Dを特定することができるように設定されている。
Subsequently, in S300, the arithmetic unit 20A increments the return address. This process is to prevent the same operation from being executed again.
Subsequently, in S310, the arithmetic unit 20A executes the above-mentioned return process. At this time, the reference address 13D is described in the reference register 23D. The reference address 13D is described in advance in a specific area in the ROM 12, and is set so that the reference address 13D can be specified by referring to this area.

この処理の後、図4の例外処理を終了する。
[1-3.効果]
以上詳述した第1実施形態によれば、以下の効果を奏する。
After this processing, the exception processing shown in FIG. 4 is terminated.
[1-3. effect]
According to the first embodiment described in detail above, the following effects are obtained.

(1a)上記の電子制御システム1において、演算部20A,20Bは、浮動小数点演算によって0を0で除する演算をさせる演算命令を表す除算命令の有無を判定するように構成される。演算部20A,20Bは、除算命令がある場合に、除算命令に含まれる各値の符号を加味して除算を乗算とした0に0を乗じる演算とする乗算命令を生成し、除算命令に換えて乗算命令を実行させるように構成される。 (1a) In the electronic control system 1 described above, the calculation units 20A and 20B are configured to determine the presence / absence of a division instruction representing an operation instruction for performing an operation of dividing 0 by 0 by a floating-point operation. When there is a division instruction, the arithmetic units 20A and 20B generate a multiplication instruction that is an operation of multiplying 0 by 0 with the division as a multiplication by adding the sign of each value included in the division instruction, and replace it with the division instruction. Is configured to execute the multiplication instruction.

このような構成によれば、0を0で除する演算命令である除算命令に換えて、符号を考慮した乗算命令を実行させるので、非数が伝播することを抑制しつつ、非数を所定値に置換して用いる演算を行う場合等に生じ得る処理性能の劣化を抑制することができる。 According to such a configuration, the multiplication instruction considering the sign is executed instead of the division instruction which is an operation instruction of dividing 0 by 0, so that the non-number is predetermined while suppressing the propagation of the non-number. It is possible to suppress the deterioration of processing performance that may occur when performing an operation that is used by replacing it with a value.

例えば、0を0で除する場合に、この演算結果を単に0に置換する構成では、分母分子の符号を判定するための場合分けが必要となる。つまり、分母分子の+-の符号の組み合わせによる排他的論理和を0に対して付加するための処理が必要となり、処理に遅延が生じるなど、処理性能の劣化が発生する虞がある。本開示の構成では、0を0で除する除算命令に換えて、符号を考慮した乗算命令を実行させるので、非数発生時の処理性能の劣化を抑制することできる。 For example, in a configuration in which 0 is divided by 0 and the calculation result is simply replaced with 0, case classification for determining the sign of the denominator numerator is required. That is, a process for adding an exclusive OR by a combination of + and-signs of the denominator numerator is required for 0, and there is a possibility that the process performance may be deteriorated, such as a delay in the process. In the configuration of the present disclosure, since the multiplication instruction considering the sign is executed instead of the division instruction in which 0 is divided by 0, the deterioration of the processing performance when a non-number occurs can be suppressed.

(1b)上記の電子制御システム1において演算部20A,20Bは、乗算命令を含むサブルーチンを予め設定されたRAM上に生成し、該サブルーチンを実行するように構成される。 (1b) In the electronic control system 1 described above, the arithmetic units 20A and 20B are configured to generate a subroutine including a multiplication instruction on a preset RAM and execute the subroutine.

このような構成によれば、乗算命令を含むサブルーチンをRAM上に生成するので、予めROM上に乗算命令を含むサブルーチンを準備しておく構成と比較して、ROM領域を節約することができる。 According to such a configuration, since the subroutine including the multiplication instruction is generated on the RAM, the ROM area can be saved as compared with the configuration in which the subroutine including the multiplication instruction is prepared in advance on the ROM.

(1c)上記の電子制御システム1において演算部20A,20Bは、予め準備された例外設定が有効であり、かつ除算命令がある場合に、乗算命令を生成するように構成される。また、例外設定が無効の際に、除算命令を含む予め設定された無効命令があると、無効命令に換えてデフォルト値を出力するように構成される。また、演算部20A,20Bは、サブルーチンに基づく乗算命令を実行する際に、例外設定を無効とし、乗算命令を実行させた後に、例外設定を有効とするように構成される。 (1c) In the electronic control system 1 described above, the arithmetic units 20A and 20B are configured to generate a multiplication instruction when the exception setting prepared in advance is valid and there is a division instruction. Further, when the exception setting is invalid, if there is a preset invalid instruction including a division instruction, the default value is output instead of the invalid instruction. Further, the arithmetic units 20A and 20B are configured to invalidate the exception setting when executing the multiplication instruction based on the subroutine, and to enable the exception setting after executing the multiplication instruction.

このような構成によれば、サブルーチンが実行されるまで例外設定を一時的に無効とするので、生成したサブルーチンが別の処理によって上書き等されないようにすることができる。 According to such a configuration, the exception setting is temporarily invalidated until the subroutine is executed, so that the generated subroutine can be prevented from being overwritten by another process.

(1d)上記の電子制御システム1は、演算によって得られるデータを保持するように構成された複数のレジスタを有するレジスタ群23A,23Bをさらに備える。該レジスタ群23A,23Bのうちの相対アドレスアクセスの際の基準アドレス13Dが記載されたレジスタを基準レジスタ23Dとして、演算部20A,20Bは、乗算命令を生成して乗算命令を実行する際に、基準レジスタ23Dを含むレジスタを、データの退避領域として利用するように構成される。 (1d) The electronic control system 1 described above further includes register groups 23A and 23B having a plurality of registers configured to hold data obtained by calculation. Of the register groups 23A and 23B, the register in which the reference address 13D for relative address access is described is used as the reference register 23D, and the arithmetic units 20A and 20B generate a multiplication instruction and execute the multiplication instruction. The register including the reference register 23D is configured to be used as a data save area.

このような構成によれば、通常の制御時には利用されない基準レジスタ23Dを用いてデータの退避を行うので、他の制御によってデータが書き換えられる等の悪影響を抑制することができる。 According to such a configuration, since the data is saved by using the reference register 23D which is not used during normal control, it is possible to suppress adverse effects such as data being rewritten by other control.

(1e)上記の電子制御システム1においては、演算部20A,20Bが実行する処理に対して、制御単位毎に予め準備された例外設定を有効とするか無効とするかを設定可能に構成されており、演算部20A,20Bは、実行する処理についての例外設定が有効であり、かつ除算命令がある場合に、乗算命令を生成し、実行する処理についての例外設定が無効の際に、除算命令を含む予め設定された無効命令があると、無効命令に換えてデフォルト値を出力するように構成される。 (1e) In the above electronic control system 1, it is possible to set whether to enable or disable the exception setting prepared in advance for each control unit for the processing executed by the arithmetic units 20A and 20B. The arithmetic units 20A and 20B generate a multiplication instruction when the exception setting for the processing to be executed is valid and there is a division instruction, and the division is performed when the exception setting for the processing to be executed is invalid. If there is a preset invalid instruction including an instruction, the default value is output instead of the invalid instruction.

このような構成によれば、制御単位毎に除算命令を乗算命令として実行するか、デフォルト値を出力するかを設定することができる。
[2.他の実施形態]
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
According to such a configuration, it is possible to set whether to execute the division instruction as a multiplication instruction or output the default value for each control unit.
[2. Other embodiments]
Although the embodiments of the present disclosure have been described above, the present disclosure is not limited to the above-described embodiments, and can be variously modified and implemented.

(2a)上記実施形態では、電子制御システム1にクランク角センサ31とインジェクタ32とが接続され、演算部20A,20Bが内燃機関の制御を実行する例について説明したが、これに限定されるものではない。例えば、クランク角センサ31およびインジェクタ32に換えて、任意のセンサおよびアクチュエータを備え、センサによる検知結果や演算部による演算結果に応じてアクチュエータを制御する構成としてもよい。 (2a) In the above embodiment, an example in which the crank angle sensor 31 and the injector 32 are connected to the electronic control system 1 and the arithmetic units 20A and 20B execute control of the internal combustion engine has been described, but the present invention is limited thereto. is not it. For example, instead of the crank angle sensor 31 and the injector 32, an arbitrary sensor and an actuator may be provided, and the actuator may be controlled according to the detection result by the sensor and the calculation result by the calculation unit.

(2b)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。 (2b) A plurality of functions possessed by one component in the above embodiment may be realized by a plurality of components, or one function possessed by one component may be realized by a plurality of components. .. Further, a plurality of functions possessed by the plurality of components may be realized by one component, or one function realized by the plurality of components may be realized by one component. Further, a part of the configuration of the above embodiment may be omitted. Further, at least a part of the configuration of the above embodiment may be added or replaced with the configuration of the other above embodiment. It should be noted that all aspects included in the technical idea specified from the wording described in the claims are embodiments of the present disclosure.

(2c)上述した電子制御システム1の他、当該電子制御システム1の構成要素となる制御装置、当該電子制御システム1としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、浮動小数点演算を伴う制御方法など、種々の形態で本開示を実現することもできる。 (2c) In addition to the electronic control system 1 described above, a control device that is a component of the electronic control system 1, a program for operating a computer as the electronic control system 1, a non-transition such as a semiconductor memory in which this program is recorded, etc. The present disclosure can also be realized in various forms such as a realistic recording medium and a control method involving floating point arithmetic.

[3.実施形態の構成と本開示の構成との関係]
上記実施形態において、演算部20A,20Bは本開示でいう制御装置に相当する。また、演算部20A,20Bが実行する処理のうちの、S120,S220の処理は本開示でいう演算判定部に相当し、S130,S150,S200,S250,S260,S310の処理は命令実行部に相当する。また、S270,S290の処理は本開示でいう設定変更部に相当する。
[3. Relationship between the configuration of the embodiment and the configuration of the present disclosure]
In the above embodiment, the arithmetic units 20A and 20B correspond to the control device referred to in the present disclosure. Further, among the processes executed by the arithmetic units 20A and 20B, the processes of S120 and S220 correspond to the arithmetic determination unit referred to in the present disclosure, and the processes of S130, S150, S200, S250, S260 and S310 are in the instruction execution unit. Equivalent to. Further, the processing of S270 and S290 corresponds to the setting change unit referred to in the present disclosure.

1…電子制御システム、5…電子制御装置、7…入出力回路、10…マイクロコンピュータ、12…ROM、13…RAM、13D…基準アドレス、20A,20B…演算部、21A,21B…CPU、22A,22B…FPU、23A,23B…レジスタ群、23D…基準レジスタ、31…クランク角センサ、32…インジェクタ。 1 ... Electronic control system, 5 ... Electronic control device, 7 ... Input / output circuit, 10 ... Microcomputer, 12 ... ROM, 13 ... RAM, 13D ... Reference address, 20A, 20B ... Calculation unit, 21A, 21B ... CPU, 22A , 22B ... FPU, 23A, 23B ... register group, 23D ... reference register, 31 ... crank angle sensor, 32 ... injector.

Claims (5)

車両に搭載され、浮動小数点演算を実行可能な制御装置(20A,20B)であって、
浮動小数点演算によって分子の値が0となり分母の値が0となる除算であって、前記分子の値の符号及び前記分母の値の符号を加味した除算をさせる演算命令を表す除算命令の有無を判定するように構成された演算判定部(S120,S220)と、
前記除算命令がある場合に、前記除算命令に含まれる前記分子の値の符号及び前記分母の値の符号を用いて、前記分子の値に前記分母の値を乗じる演算する乗算命令を生成し、前記除算命令に換えて前記乗算命令を実行させるように構成された命令実行部(S130,S150,S200,S250,S260,S310)と、
を備える制御装置。
It is a control device (20A, 20B) that is mounted on a vehicle and can execute floating-point arithmetic.
Whether or not there is a division instruction that represents an operation command that divides the numerator value to 0 and the denominator value to 0 by floating-point operation, taking into account the sign of the numerator value and the sign of the denominator value. An arithmetic determination unit (S120, S220) configured to make a determination,
When there is the division instruction , a multiplication instruction for multiplying the value of the numerator by the value of the denominator is generated by using the code of the value of the numerator and the code of the value of the denominator included in the division instruction. , An instruction execution unit (S130, S150, S200, S250, S260, S310) configured to execute the multiplication instruction in place of the division instruction.
A control device equipped with.
請求項1に記載の制御装置であって、
前記命令実行部は、前記乗算命令を含むサブルーチンを予め設定されたRAM上に生成し、該サブルーチンを実行する
ように構成された制御装置。
The control device according to claim 1.
The instruction execution unit is a control device configured to generate a subroutine including the multiplication instruction on a preset RAM and execute the subroutine.
請求項2に記載の制御装置であって、
前記命令実行部は、予め準備された例外設定が有効であり、かつ前記除算命令がある場合に、前記乗算命令を生成するように構成されるとともに、前記例外設定が無効の際に、前記除算命令を含む予め設定された無効命令があると、前記無効命令に換えてデフォルト値を出力するように構成され、
前記サブルーチンに基づく前記乗算命令を実行する際に、前記例外設定を無効とし、前記乗算命令を実行させた後に、前記例外設定を有効とするように構成された設定変更部(S270,S290)、
をさらに備える制御装置。
The control device according to claim 2.
The instruction execution unit is configured to generate the multiplication instruction when the exception setting prepared in advance is valid and the division instruction is present, and when the exception setting is invalid, the division is performed. If there is a preset invalid instruction including an instruction, it is configured to output a default value in place of the invalid instruction.
Setting change units (S270, S290) configured to invalidate the exception setting when executing the multiplication instruction based on the subroutine and to enable the exception setting after executing the multiplication instruction.
Further equipped with a control device.
請求項1から請求項3の何れか1項に記載の制御装置であって、
演算によって得られるデータを保持するように構成された複数のレジスタを有するレジスタ群(23A,23B)をさらに備え、
該レジスタ群のうちの相対アドレスアクセスの際の基準アドレス(13D)が記載されたレジスタを基準レジスタ(23D)として、
前記命令実行部は、前記乗算命令を生成して前記乗算命令を実行する際に、前記基準レジスタを含むレジスタを、データの退避領域として利用する
ように構成された制御装置。
The control device according to any one of claims 1 to 3.
It further comprises a register group (23A, 23B) having a plurality of registers configured to hold the data obtained by the operation.
The register in which the reference address (13D) at the time of relative address access in the register group is described is used as the reference register (23D).
The instruction execution unit is a control device configured to use a register including the reference register as a data save area when generating the multiplication instruction and executing the multiplication instruction.
請求項1から請求項4の何れか1項に記載の制御装置であって、
当該制御装置は、前記命令実行部が実行する処理に対して、制御単位毎に予め準備された例外設定を有効とするか無効とするかを設定可能に構成され、
前記命令実行部は、実行する処理についての例外設定が有効であり、かつ前記除算命令がある場合に、前記乗算命令を生成し、実行する処理についての例外設定が無効の際に、前記除算命令を含む予め設定された無効命令があると、前記無効命令に換えてデフォルト値を出力する
ように構成された制御装置。
The control device according to any one of claims 1 to 4.
The control device is configured to enable or disable the exception setting prepared in advance for each control unit for the process executed by the instruction execution unit.
The instruction execution unit generates the multiplication instruction when the exception setting for the process to be executed is valid and the division instruction is present, and when the exception setting for the process to be executed is invalid, the division instruction is given. A control device configured to output a default value in place of the invalid instruction when there is a preset invalid instruction including.
JP2017235099A 2017-12-07 2017-12-07 Control device Active JP7027857B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017235099A JP7027857B2 (en) 2017-12-07 2017-12-07 Control device
DE102018220851.4A DE102018220851A1 (en) 2017-12-07 2018-12-03 control unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017235099A JP7027857B2 (en) 2017-12-07 2017-12-07 Control device

Publications (2)

Publication Number Publication Date
JP2019101962A JP2019101962A (en) 2019-06-24
JP7027857B2 true JP7027857B2 (en) 2022-03-02

Family

ID=66629448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017235099A Active JP7027857B2 (en) 2017-12-07 2017-12-07 Control device

Country Status (2)

Country Link
JP (1) JP7027857B2 (en)
DE (1) DE102018220851A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7273317B2 (en) * 2020-01-28 2023-05-15 サミー株式会社 reel-type game machine
JP7273316B2 (en) * 2020-01-28 2023-05-15 サミー株式会社 reel-type game machine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003280891A (en) 2002-01-15 2003-10-02 Denso Corp Electronic controller and control program
JP2015180983A (en) 2014-03-02 2015-10-15 裕 道脇 Zero-division arithmetic processing program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0769783B2 (en) * 1987-11-16 1995-07-31 日本電気株式会社 Exception handling method
JP5379712B2 (en) 2010-02-08 2013-12-25 日立オートモティブシステムズ株式会社 In-vehicle control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003280891A (en) 2002-01-15 2003-10-02 Denso Corp Electronic controller and control program
JP2015180983A (en) 2014-03-02 2015-10-15 裕 道脇 Zero-division arithmetic processing program

Also Published As

Publication number Publication date
JP2019101962A (en) 2019-06-24
DE102018220851A1 (en) 2019-06-13

Similar Documents

Publication Publication Date Title
JP5573134B2 (en) Vector computer and instruction control method for vector computer
US8745111B2 (en) Methods and apparatuses for converting floating point representations
US20130246496A1 (en) Floating-point vector normalisation
KR20190045316A (en) Vector multiply add instruction
US20180052685A1 (en) Processor and method for executing instructions on processor
US11967952B2 (en) Electronic system including FPGA and operation method thereof
JP7027857B2 (en) Control device
US20140244987A1 (en) Precision Exception Signaling for Multiple Data Architecture
JP2019168753A (en) Source code analysis device and source code analysis program
JPH0546383A (en) Data processor
EP3716043B1 (en) Information processor, information processing method, and program
US8484446B2 (en) Microprocessor saving data stored in register and register saving method
JP2022519258A (en) Coding of special values in anchor data elements
JPS6343773B2 (en)
JP6332091B2 (en) Electronic control unit
TWI536261B (en) Apparatus, method, computer program product, and virtual machine for conditional selection of data elements
JP2006323710A (en) Data processor, data processing method and arithmetic control program
JPH01297727A (en) System for controlling normalization of floating point arithmetic operation
JP5266651B2 (en) Branch prediction apparatus and branch prediction method using local branch history
JPS61173345A (en) Computer system
US9747074B2 (en) Division circuit and microprocessor
JPS6155731A (en) Processor provided with condition code discriminating function
JPH0215089B2 (en)
JPH0553759A (en) Fixed decimal point arithmetic unit
JPH07104771B2 (en) calculator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210928

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: 20220118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220131

R151 Written notification of patent or utility model registration

Ref document number: 7027857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151