JP7031930B2 - Program generator, information processing device, program generation method, and program - Google Patents

Program generator, information processing device, program generation method, and program Download PDF

Info

Publication number
JP7031930B2
JP7031930B2 JP2018051582A JP2018051582A JP7031930B2 JP 7031930 B2 JP7031930 B2 JP 7031930B2 JP 2018051582 A JP2018051582 A JP 2018051582A JP 2018051582 A JP2018051582 A JP 2018051582A JP 7031930 B2 JP7031930 B2 JP 7031930B2
Authority
JP
Japan
Prior art keywords
voltage
program
instruction
core
information
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
JP2018051582A
Other languages
Japanese (ja)
Other versions
JP2019164527A (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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2018051582A priority Critical patent/JP7031930B2/en
Priority to PCT/JP2019/011345 priority patent/WO2019181904A1/en
Priority to EP19771160.9A priority patent/EP3770753A4/en
Priority to US16/981,014 priority patent/US11656858B2/en
Publication of JP2019164527A publication Critical patent/JP2019164527A/en
Application granted granted Critical
Publication of JP7031930B2 publication Critical patent/JP7031930B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、プログラム生成部、情報処理装置、プログラム生成方法、及びプログラムに関する。 The present invention relates to a program generation unit, an information processing device, a program generation method, and a program.

情報処理装置では、消費電力を削除するように制御することが知られている。
例えば、特許文献1及び特許文献2では、消費電力を削減するように制御するために、動作電圧を変更することが開示されている。
Information processing devices are known to control power consumption to be deleted.
For example, Patent Document 1 and Patent Document 2 disclose that the operating voltage is changed in order to control so as to reduce power consumption.

特開2010-250858号公報Japanese Unexamined Patent Publication No. 2010-250858 特開2003-202942号公報Japanese Unexamined Patent Publication No. 2003-202942

ところで、特許文献1には、プログラム毎の電力制御情報を格納する電力コンテキストに基づき、動作電圧を変更することが開示されている。
特許文献1の情報処理装置は、電力コンテキストである電力制御情報の成功率あるいは失敗率に基づいて、プログラムを実行する際の動作電圧の変更を行っている。しかし、特許文献1では、電力コンテキストを生成するために、少なくとも一度プログラムを実行させて成功率あるいは失敗率を事前に確認する必要があり、ユーザープログラムに合わせた動作電圧の変更が負担となっている。
By the way, Patent Document 1 discloses that the operating voltage is changed based on the power context in which the power control information for each program is stored.
The information processing apparatus of Patent Document 1 changes the operating voltage when executing a program based on the success rate or the failure rate of the power control information which is the power context. However, in Patent Document 1, in order to generate a power context, it is necessary to execute the program at least once and confirm the success rate or the failure rate in advance, and changing the operating voltage according to the user program becomes a burden. There is.

また、特許文献2では、同じ最低動作電圧の命令が連続している命令群を検出した場合、プログラムを実行する際の動作電圧の変更を行っている。
しかし、特許文献2では、同じ最低動作電圧の命令が連続しない限り動作電圧が変更されないため、事前にプログラムに合った動作電圧を確認する必要があり、ユーザープログラムに合わせた動作電圧の変更が負担となっている。
Further, in Patent Document 2, when a group of instructions in which the instructions having the same minimum operating voltage are continuous is detected, the operating voltage when executing the program is changed.
However, in Patent Document 2, since the operating voltage is not changed unless the instruction of the same minimum operating voltage is continuous, it is necessary to confirm the operating voltage suitable for the program in advance, and it is burdensome to change the operating voltage according to the user program. It has become.

この発明の目的は、上述した課題を鑑みて、ユーザープログラムに合わせた動作電圧の変更が負担となりにくいプログラム生成部、情報処理装置、プログラム生成方法、及びプログラムを提供することにある。 An object of the present invention is to provide a program generation unit, an information processing apparatus, a program generation method, and a program in which changing the operating voltage according to a user program is less likely to be a burden in view of the above-mentioned problems.

本発明に係る一態様のプログラム生成部は、LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成するプログラム生成部であって、ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成する第一コンパイラと、前記命令列の命令密度を分析し、前記電圧情報を生成する第二コンパイラと、前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するリンカと、を備える。 The program generation unit of one aspect according to the present invention is a program generation unit that generates voltage information for executing an LSI at an operating voltage based on a voltage context, compiles a source program, and generates an object including an instruction sequence. It includes a first compiler, a second compiler that analyzes the instruction density of the instruction sequence and generates the voltage information, and a linker that combines the object and the voltage information to generate a user program.

本発明に係る一態様のプログラム生成方法は、LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成するプログラム生成方法であって、ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成するステップと、前記命令列の命令密度を分析し、前記電圧情報を生成するステップと、前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するステップと、を含む。 One aspect of the program generation method according to the present invention is a program generation method for generating voltage information for executing an LSI at an operating voltage based on a voltage context, in which a source program is compiled and an object including an instruction sequence is generated. It includes a step, a step of analyzing the instruction density of the instruction sequence and generating the voltage information, and a step of combining the object and the voltage information to generate a user program.

本発明に係る一態様のプログラムは、コンピュータに、LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成させるプログラムであって、ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成するステップと、前記命令列の命令密度を分析し、前記電圧情報を生成するステップと、前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するステップと、を実行させる。 The program of one aspect according to the present invention is a program that causes a computer to generate voltage information for executing an LSI at an operating voltage based on a voltage context, and is a step of compiling a source program and generating an object including an instruction sequence. And, the step of analyzing the instruction density of the instruction sequence and generating the voltage information, and the step of combining the object and the voltage information to generate a user program are executed.

本発明によれば、ユーザープログラムに合わせた動作電圧の変更が負担となりにくい。 According to the present invention, changing the operating voltage according to the user program is less likely to be a burden.

第一実施形態に係る情報処理装置のブロック図である。It is a block diagram of the information processing apparatus which concerns on 1st Embodiment. 第一実施形態に係るプログラム生成部の機能を示す図である。It is a figure which shows the function of the program generation part which concerns on 1st Embodiment. 第一実施形態に係る情報処理装置の動作のタイムチャートである。It is a time chart of the operation of the information processing apparatus which concerns on 1st Embodiment. 第二実施形態に係る情報処理装置のブロック図である。It is a block diagram of the information processing apparatus which concerns on 2nd Embodiment. 第二実施形態に係る情報処理装置の動作のタイムチャートである。It is a time chart of the operation of the information processing apparatus which concerns on 2nd Embodiment. 各実施形態に係るプログラム生成方法のフローチャートである。It is a flowchart of the program generation method which concerns on each embodiment. 各実施形態に係るプログラム生成部のハードウェア構成図である。It is a hardware block diagram of the program generation part which concerns on each embodiment. 各実施形態に係るプログラム生成部の最小構成図である。It is a minimum block diagram of the program generation part which concerns on each embodiment.

以下、本発明に係る各種実施形態について、図面を用いて説明する。 Hereinafter, various embodiments according to the present invention will be described with reference to the drawings.

<第一実施形態>
第一実施形態の情報処理装置について図1~図3を参照して説明する。
図1に示すように、情報処理装置1は、プログラム生成部10と、ホスト部20と、システムユニット30と、を備える。
<First Embodiment>
The information processing apparatus of the first embodiment will be described with reference to FIGS. 1 to 3.
As shown in FIG. 1, the information processing apparatus 1 includes a program generation unit 10, a host unit 20, and a system unit 30.

(構成)
プログラム生成部10は、第一コンパイラ101と、第二コンパイラ102と、リンカ103と、を備える。
ホスト部20は、OSデスパッチャ201と、電圧送信部202と、を備える。
システムユニット30は、電圧制御回路301と、メモリ307と、LSI309と、を備える。
システムユニット30は、第一コア電源303Aと、第二コア電源303Bと、第三コア電源303Cと、第四コア電源303Dと、メモリ制御電源303Eと、IO電源303Fと、をさらに備える。本実施形態において、これら各電源は、DC/DCコンバータであって、電圧制御回路301の制御によって、出力電圧が制御される。
(Constitution)
The program generation unit 10 includes a first compiler 101, a second compiler 102, and a linker 103.
The host unit 20 includes an OS despatcher 201 and a voltage transmission unit 202.
The system unit 30 includes a voltage control circuit 301, a memory 307, and an LSI 309.
The system unit 30 further includes a first core power supply 303A, a second core power supply 303B, a third core power supply 303C, a fourth core power supply 303D, a memory control power supply 303E, and an IO power supply 303F. In the present embodiment, each of these power supplies is a DC / DC converter, and the output voltage is controlled by the control of the voltage control circuit 301.

LSI309は、第一コア309Aと、第二コア309Bと、第三コア309Cと、第四コア309Dと、ホストIF306と、メモリ制御部310と、を備える。 The LSI 309 includes a first core 309A, a second core 309B, a third core 309C, a fourth core 309D, a host IF 306, and a memory control unit 310.

(プログラム生成部)
第一コンパイラ101は、ユーザーが作成したソースプログラムを受け付ける。
第一コンパイラ101は、受け付けたソースプログラムのコンパイルを行い、命令列を含むオブジェクトOJTを生成する。
第一コンパイラ101は、生成したオブジェクトOJTを第二コンパイラ102及びリンカ103のそれぞれに送る。
(Program generator)
The first compiler 101 accepts a source program created by the user.
The first compiler 101 compiles the received source program and generates an object OJT including an instruction sequence.
The first compiler 101 sends the generated object OJT to each of the second compiler 102 and the linker 103.

第二コンパイラ102は、第一コンパイラ101からオブジェクトOJTを受け付ける。
第二コンパイラ102は、受け付けたオブジェクトOJTの命令密度を分析して電圧情報VIFを生成する。
第二コンパイラ102は、生成した電圧情報VIFをリンカ103に送る。
The second compiler 102 accepts the object OJT from the first compiler 101.
The second compiler 102 analyzes the instruction density of the received object OJT and generates voltage information VIF.
The second compiler 102 sends the generated voltage information VIF to the linker 103.

リンカ103は、第一コンパイラ101からオブジェクトOJTを受け付ける。また、リンカ103は、第二コンパイラ102から電圧情報VIFを受け付ける。
リンカ103は、オブジェクトOJTと電圧情報VIFとを結合して、ユーザープログラムPGM(プログラム)を順次生成する。
リンカ103は、生成したユーザープログラムPGMをホスト部20に順次送る。
The linker 103 accepts the object OJT from the first compiler 101. Further, the linker 103 receives voltage information VIF from the second compiler 102.
The linker 103 combines the object OJT and the voltage information VIF to sequentially generate a user program PGM (program).
The linker 103 sequentially sends the generated user program PGM to the host unit 20.

(ホスト部)
OSデスパッチャ201は、リンカ103が生成したユーザープログラムPGMを順次受け付ける。
OSデスパッチャ201は、順次受け付けた各ユーザープログラムPGMの割付けを行う。OSデスパッチャ201は、第一コア309Aと、第二コア309Bと、第三コア309Cと、第四コア309Dの各コアの空き具合を見て、各ユーザープログラムPGMをどのコアに割り付けるかを決定する。
OSデスパッチャ201は、電圧送信部202に各ユーザープログラムPGMの電圧情報VIFを順次送る。
(Host part)
The OS despatcher 201 sequentially accepts the user program PGM generated by the linker 103.
The OS Despatcher 201 allocates each user program PGM that has been sequentially received. The OS Despatcher 201 determines which core the user program PGM is assigned to by looking at the availability of each core of the first core 309A, the second core 309B, the third core 309C, and the fourth core 309D. ..
The OS Despatcher 201 sequentially sends the voltage information VIF of each user program PGM to the voltage transmission unit 202.

電圧送信部202は、OSデスパッチャ201から各ユーザープログラムPGMの電圧情報VIFを順次受け付ける。
電圧送信部202は、各ユーザープログラムPGMの電圧情報VIFに基づき設定電圧を生成し、電圧制御回路301に設定電圧を送る。
The voltage transmission unit 202 sequentially receives the voltage information VIF of each user program PGM from the OS Despatcher 201.
The voltage transmission unit 202 generates a set voltage based on the voltage information VIF of each user program PGM, and sends the set voltage to the voltage control circuit 301.

(システムユニット)
システムユニット30は、各ユーザープログラムPGMを実行する前に、各コア及びホストIF306の動作電圧を電圧送信部202から送信された設定電圧に設定する。
以下、各ユーザープログラムPGMを実行する前とは、各コアでユーザープログラムPGMの実行を開始する前のコンテキストスイッチ(CSW)時間のことを言う。
(System unit)
Before executing each user program PGM, the system unit 30 sets the operating voltage of each core and the host IF 306 to the set voltage transmitted from the voltage transmission unit 202.
Hereinafter, the term "before executing each user program PGM" means the context switch (CSW) time before starting execution of the user program PGM in each core.

電圧制御回路301は、電圧送信部202から設定電圧を受け付ける。電圧制御回路301は受け付けた設定電圧に基づき、第一コア電源303Aと、第二コア電源303B、第三コア電源303C、第四コア電源303D、IO電源303Fの各出力電圧をそれぞれ制御する。
第一コア電源303Aは、電圧制御回路301に制御に応じて、所定の直流電圧である第一コア動作電圧Vc1を出力し、第一コア309Aに電力を供給する。
第二コア電源303Bは、電圧制御回路301に制御に応じて、所定の直流電圧である第二コア動作電圧Vc2を出力し、第二コア309Bに電力を供給する。
第三コア電源303Cは、電圧制御回路301に制御に応じて、所定の直流電圧である第三コア動作電圧Vc3を出力し、第三コア309Cに電力を供給する。
第四コア電源303Dは、電圧制御回路301に制御に応じて、所定の直流電圧である第四コア動作電圧Vc4を出力し、第四コア309Dに電力を供給する。
メモリ制御電源303Eは、電圧制御回路301に制御に応じて、所定の直流電圧であるメモリ制御動作電圧Vcmを出力し、メモリ制御部310に電力を供給する。
IO電源303Fは、電圧制御回路301に制御に応じて、所定の直流電圧であるIO動作電圧Vciを出力し、ホストIF306に電力を供給する。
メモリ307は、各コアがいずれもアクセスしてデータの読み書きができる共通のメモリである。
The voltage control circuit 301 receives the set voltage from the voltage transmission unit 202. The voltage control circuit 301 controls the output voltages of the first core power supply 303A, the second core power supply 303B, the third core power supply 303C, the fourth core power supply 303D, and the IO power supply 303F, respectively, based on the received set voltage.
The first core power supply 303A outputs the first core operating voltage Vc1, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies power to the first core 309A.
The second core power supply 303B outputs the second core operating voltage Vc2, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies power to the second core 309B.
The third core power supply 303C outputs the third core operating voltage Vc3, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies power to the third core 309C.
The fourth core power supply 303D outputs the fourth core operating voltage Vc4, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies power to the fourth core 309D.
The memory control power supply 303E outputs a memory control operating voltage Vcm, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies electric power to the memory control unit 310.
The IO power supply 303F outputs an IO operating voltage Vci, which is a predetermined DC voltage, to the voltage control circuit 301 in response to control, and supplies power to the host IF 306.
The memory 307 is a common memory that can be accessed by each core to read / write data.

(LSI)
第一コア309A、第二コア309Bと、第三コア309Cと、第四コア309Dはそれぞれ、OSデスパッチャ201から割り当てられたユーザープログラムPGMを処理する。
ホストIF306は、OSデスパッチャ201との間で通信を行い、ユーザープログラムPGMを各コアのうち、割り当てられたコアに供給する。
メモリ制御部310は、第一コア309Aと、第二コア309Bと、第三コア309Cと、第四コア309Dの各コアによるメモリ307へのアクセスを制御する。
(LSI)
The first core 309A, the second core 309B, the third core 309C, and the fourth core 309D each process the user program PGM assigned by the OS despatcher 201.
The host IF 306 communicates with the OS despatcher 201 and supplies the user program PGM to the assigned core among the cores.
The memory control unit 310 controls access to the memory 307 by the first core 309A, the second core 309B, the third core 309C, and the fourth core 309D.

(第一コンパイラ及び第二コンパイラ)
第一コンパイラ101及び第二コンパイラ102の機能について詳しく説明する。
第一コンパイラ101は、オブジェクトOJTとして、システムユニット30で処理できる命令列SQCを生成する。
本実施形態の場合、図2に示すように命令列SQCの命令A、命令B、命令C・・・命令XXは、それぞれ、固定小数点命令、論理演算命令、シフト演算命令、浮動小数点命令、LDST命令(ロードおよびストア命令)のいずれかに分類される。
第二コンパイラ102は、以下のように命令列の命令密度を分析し、以下のように電圧情報VIFを作成する。
(1st compiler and 2nd compiler)
The functions of the first compiler 101 and the second compiler 102 will be described in detail.
The first compiler 101 generates an instruction sequence SQC that can be processed by the system unit 30 as an object OJT.
In the case of the present embodiment, as shown in FIG. 2, the instruction A, the instruction B, the instruction C ... The instruction XX of the instruction sequence SQC are a fixed-point instruction, a logical operation instruction, a shift operation instruction, a floating-point instruction, and an LDST, respectively. Classified as one of the instructions (load and store instructions).
The second compiler 102 analyzes the instruction density of the instruction sequence as follows, and creates voltage information VIF as follows.

(命令密度分析)
第二コンパイラ102は、命令列SQCの命令A、命令B、命令C・・・命令XXの各命令を、それぞれ、固定小数点命令、論理演算命令、シフト演算命令、浮動小数点命令、LDST命令(ロードおよびストア命令)の命令種のうち、いずれかの命令種に分類する。
第二コンパイラ102は、命令密度分析の結果として、命令種のうち、命令列SQCに含まれる各命令が分類された比率の最も高い命令種を判断する。
(Command density analysis)
The second compiler 102 loads each instruction of instruction A, instruction B, instruction C ... instruction XX of the instruction sequence SQC into a fixed-point instruction, a logical operation instruction, a shift operation instruction, a floating-point instruction, and an LDST instruction (load). And store instructions), classify into one of the instruction types.
As a result of the instruction density analysis, the second compiler 102 determines, among the instruction types, the instruction type having the highest ratio in which each instruction included in the instruction sequence SQC is classified.

(電圧情報生成)
電圧情報VIFは、LSIを電圧コンテキストに基づく動作電圧で実行させるための情報である。
第二コンパイラ102は、命令密度分析の結果に応じて、以下(ケース1)~(ケース5)のいずれかを実施して電圧情報VIFを生成し、生成した電圧情報VIFをリンカ103に送る。
(ケース1)LDST命令の比率が最も高い場合、電圧情報VIFとして、「IO動作電圧を上げる旨の設定情報」を生成する。
(ケース2)論理演算命令の比率が最も高い場合、電圧情報VIFとして、「コア動作電圧を下げる旨の設定情報」を生成する。
(ケース3)シフト演算命令の比率が最も高い場合、電圧情報VIFとして、「コア動作設定電圧を中間の電圧に設定する旨の設定情報」を生成する。
(ケース4)固定小数点命令の比率が最も高い場合、電圧情報VIFとして、「コア動作電圧を中間の電圧に設定する旨の設定情報」を生成する。
(ケース5)浮動小数点命令の比率が高い場合、電圧情報VIFとして、「コア動作電圧を最大にするように設定する旨の設定情報」を生成する。
(Voltage information generation)
Voltage information VIF is information for causing the LSI to execute at an operating voltage based on the voltage context.
The second compiler 102 performs any of the following (case 1) to (case 5) according to the result of the instruction density analysis to generate the voltage information VIF, and sends the generated voltage information VIF to the linker 103.
(Case 1) When the ratio of LDST instructions is the highest, "setting information for raising the IO operating voltage" is generated as voltage information VIF.
(Case 2) When the ratio of logical operation instructions is the highest, "setting information for lowering the core operating voltage" is generated as voltage information VIF.
(Case 3) When the ratio of shift operation instructions is the highest, "setting information for setting the core operation setting voltage to an intermediate voltage" is generated as voltage information VIF.
(Case 4) When the ratio of fixed-point instructions is the highest, "setting information for setting the core operating voltage to an intermediate voltage" is generated as voltage information VIF.
(Case 5) When the ratio of floating-point instructions is high, "setting information for setting to maximize the core operating voltage" is generated as voltage information VIF.

(電圧送信部)
電圧送信部202の機能について詳しく説明する。
図3には、OSデスパッチャ201により、各コアに割り付けられた各ユーザープログラムPGMが実行される状況が示される。図3には、実行される各ユーザープログラムPGMが、それぞれJOB01,JOB02,JOB03,JOB11・・・と示されている。
(Voltage transmitter)
The function of the voltage transmitter 202 will be described in detail.
FIG. 3 shows a situation in which each user program PGM assigned to each core is executed by the OS despatcher 201. In FIG. 3, each user program PGM to be executed is shown as JOB01, JOB02, JOB03, JOB11, and so on, respectively.

まず、タイミング0において、OSデスパッチャ201により、第一コア309AにJOB01、第二コア309BにJOB11、第三コア309CにJOB21、第四コア309DにJOB31が割り当てられる。
このとき、タイミング0において、電圧送信部202は、第一コア設定電圧Vs1として、電圧情報VIFに基づき第一コア309Aに適した電圧値を生成する。
なお、ケース1の場合、電圧送信部202は、所定の初期設定の電圧値をそのまま第一コア設定電圧Vs1として設定する。
ケース2の場合、電圧送信部202は、所定の初期設定の電圧値に対し、初期設定の電圧値を下げた電圧値を新たな第一コア設定電圧Vs1として設定する。
ケース3~5の場合、電圧送信部202は、電圧情報VIFに基づく電圧値を新たな第一コア設定電圧Vs1として設定する。
First, at timing 0, the OS despatcher 201 assigns JOB01 to the first core 309A, JOB11 to the second core 309B, JOB21 to the third core 309C, and JOB31 to the fourth core 309D.
At this time, at timing 0, the voltage transmission unit 202 generates a voltage value suitable for the first core 309A based on the voltage information VIF as the first core set voltage Vs1.
In the case of Case 1, the voltage transmission unit 202 sets the predetermined default voltage value as it is as the first core set voltage Vs1.
In the case of Case 2, the voltage transmission unit 202 sets a voltage value obtained by lowering the initial setting voltage value with respect to the predetermined initial setting voltage value as the new first core set voltage Vs1.
In the cases 3 to 5, the voltage transmission unit 202 sets the voltage value based on the voltage information VIF as the new first core set voltage Vs1.

同様に、タイミング0において、電圧送信部202は、第二コア設定電圧Vs2として、電圧情報VIFに基づき第二コア309Bに適した電圧値、第三コア設定電圧Vs3として、電圧情報VIFに基づき第三コア309Cに適した電圧値、第四コア設定電圧Vs4として、電圧情報VIFに基づき第四コア309Dに適した電圧値を生成する。
本実施形態では、タイミング0において、電圧送信部202は、生成した第一コア設定電圧Vs1、第二コア設定電圧Vs2、第三コア設定電圧Vs3、第四コア設定電圧Vs4を、電圧制御回路301に送る。
Similarly, at timing 0, the voltage transmission unit 202 has a voltage value suitable for the second core 309B as the second core set voltage Vs2 based on the voltage information VIF, and a third core set voltage Vs3 based on the voltage information VIF. As the voltage value suitable for the three cores 309C and the set voltage Vs4 for the fourth core, a voltage value suitable for the fourth core 309D is generated based on the voltage information VIF.
In the present embodiment, at timing 0, the voltage transmission unit 202 sets the generated first core set voltage Vs1, second core set voltage Vs2, third core set voltage Vs3, and fourth core set voltage Vs4 to the voltage control circuit 301. Send to.

電圧制御回路301は、電圧送信部202から各設定電圧を受け付けると、タイミング0において、各コアの動作電圧がそれぞれ設定電圧になるように制御する。
具体的には、電圧制御回路301は、第一コア309Aに供給される第一コア動作電圧Vc1が第一コア設定電圧Vs1となるように、第一コア電源303Aを制御する。
同様に、電圧制御回路301は、第二コア309Bに供給される第二コア動作電圧Vc2が第二コア設定電圧Vs2となるように、第二コア電源303Bを制御する。
同様に、電圧制御回路301は、第三コア309Cに供給される第三コア動作電圧Vc3が第三コア設定電圧Vs3となるように、第三コア電源303Cを制御する。
同様に、電圧制御回路301は、第四コア309Dに供給される第四コア動作電圧Vc4が第四コア設定電圧Vs4となるように、第四コア電源303Dを制御する。
When the voltage control circuit 301 receives each set voltage from the voltage transmission unit 202, the voltage control circuit 301 controls so that the operating voltage of each core becomes the set voltage at timing 0.
Specifically, the voltage control circuit 301 controls the first core power supply 303A so that the first core operating voltage Vc1 supplied to the first core 309A becomes the first core set voltage Vs1.
Similarly, the voltage control circuit 301 controls the second core power supply 303B so that the second core operating voltage Vc2 supplied to the second core 309B becomes the second core set voltage Vs2.
Similarly, the voltage control circuit 301 controls the third core power supply 303C so that the third core operating voltage Vc3 supplied to the third core 309C becomes the third core set voltage Vs3.
Similarly, the voltage control circuit 301 controls the fourth core power supply 303D so that the fourth core operating voltage Vc4 supplied to the fourth core 309D becomes the fourth core set voltage Vs4.

図3には示さないが、情報処理装置1は、ホストIF動作電圧Vciも同様に設定する。
すなわち、タイミング0において、電圧送信部202は、ホストIF設定電圧Vsiとして、電圧情報VIFに基づきホストIF306に適した電圧値を生成し、生成したホストIF設定電圧Vsiを、電圧制御回路301に送る。さらに、電圧制御回路301は、ホストIF306に供給されるホストIF動作電圧VciがホストIF設定電圧Vsiとなるように、IO電源303Fを制御する。
なお、ケース1の場合、電圧送信部202は、所定の初期設定の電圧値に対し、初期設定の電圧値を上げた電圧値を新たなホストIF設定電圧Vsiとして設定する。
また、本実施形態では、電圧制御回路301は、メモリ制御動作電圧Vcmを所定の初期設定の電圧値となるように制御する。
Although not shown in FIG. 3, the information processing apparatus 1 also sets the host IF operating voltage Vci in the same manner.
That is, at timing 0, the voltage transmission unit 202 generates a voltage value suitable for the host IF 306 based on the voltage information VIF as the host IF set voltage Vsi, and sends the generated host IF set voltage Vsi to the voltage control circuit 301. .. Further, the voltage control circuit 301 controls the IO power supply 303F so that the host IF operating voltage Vci supplied to the host IF 306 becomes the host IF set voltage Vsi.
In the case of Case 1, the voltage transmission unit 202 sets a voltage value obtained by raising the initial setting voltage value as a new host IF set voltage Vsi with respect to the predetermined initial setting voltage value.
Further, in the present embodiment, the voltage control circuit 301 controls the memory control operating voltage Vcm so as to have a predetermined initial setting voltage value.

続いて、タイミング1において、第一コア309AでJOB01、第二コア309BでJOB11、第三コア309CでJOB21、第四コア309DでJOB31の実行がそれぞれ開始される。 Subsequently, at timing 1, execution of JOB01 on the first core 309A, JOB11 on the second core 309B, JOB21 on the third core 309C, and JOB31 on the fourth core 309D is started.

続いて、タイミング8においてJOB02の実行が第一コア309Aで開始される。このとき、JOB02の実行を開始するタイミングの1タイミング前において、電圧送信部202は、第一コア設定電圧Vs1として、電圧情報VIFに基づき第一コア309Aに適した電圧値を生成する。
本実施形態では、情報処理装置1は、JOB02の実行を開始するタイミングの1タイミング前において、第一コア309Aに供給する電圧を下げている。
例えば、JOB02の電圧情報VIFが「コア動作電圧を下げる旨の設定情報」であれば、電圧送信部202は、タイミング1において設定された第一コア設定電圧Vs1より電圧を低い電圧を新たな第一コア設定電圧Vs1として生成し、電圧制御回路301に送る。これにより、情報処理装置1は、JOB02の実行を開始するタイミングの1タイミング前において、第一コア309Aに供給する電圧を下げる。
Subsequently, at timing 8, the execution of JOB02 is started at the first core 309A. At this time, one timing before the timing at which the execution of JOB02 is started, the voltage transmission unit 202 generates a voltage value suitable for the first core 309A based on the voltage information VIF as the first core set voltage Vs1.
In the present embodiment, the information processing apparatus 1 lowers the voltage supplied to the first core 309A one timing before the timing at which the execution of the JOB 02 is started.
For example, if the voltage information VIF of JOB02 is "setting information for lowering the core operating voltage", the voltage transmission unit 202 sets a new voltage lower than the first core set voltage Vs1 set at timing 1. It is generated as one core set voltage Vs1 and sent to the voltage control circuit 301. As a result, the information processing apparatus 1 lowers the voltage supplied to the first core 309A one timing before the timing at which the execution of the JOB 02 is started.

同様に、タイミング15においてJOB03の実行が第一コア309Aで開始される。このとき、JOB3の実行を開始するタイミングの1タイミング前において、電圧送信部202は、新たな第一コア設定電圧Vs1として、電圧情報VIFに基づき第一コア309Aに適した電圧値を生成する。
本実施形態では、情報処理装置1は、JOB03の実行を開始するタイミングの1タイミング前において、第一コア309Aに供給する電圧を上げている。
Similarly, at timing 15, the execution of JOB03 is started in the first core 309A. At this time, one timing before the timing of starting the execution of JOB3, the voltage transmission unit 202 generates a voltage value suitable for the first core 309A based on the voltage information VIF as a new first core set voltage Vs1.
In the present embodiment, the information processing apparatus 1 raises the voltage supplied to the first core 309A one timing before the timing at which the execution of the JOB 03 is started.

同様に、タイミング10においてJOB12、タイミング18においてJOB13の実行が第二コア309Bでそれぞれ開始される。このとき、各JOBの実行を開始するタイミングの1タイミング前において、電圧送信部202は、新たな第二コア設定電圧Vs2として、電圧情報VIFに基づき第二コア309Bに適した電圧値をそれぞれ生成する。 Similarly, the execution of JOB12 at timing 10 and JOB13 at timing 18 is started at the second core 309B, respectively. At this time, one timing before the timing of starting the execution of each JOB, the voltage transmission unit 202 generates a voltage value suitable for the second core 309B as a new second core set voltage Vs2 based on the voltage information VIF. do.

同様に、タイミング7においてJOB22、タイミング13においてJOB23の実行が第三コア309Cでそれぞれ開始される。このとき、各JOBの実行を開始するタイミングの1タイミング前において、電圧送信部202は、新たな第三コア設定電圧Vs3として、電圧情報VIFに基づき第三コア309Cに適した電圧値をそれぞれ生成する。
ただし、本実施形態の場合、JOB22とJOB23とは、適した電圧値が同じなので、JOB22に対して生成される第三コア設定電圧Vs3と、JOB23に対して生成される第三コア設定電圧Vs3とは、同じ電圧である。
Similarly, the execution of JOB22 at timing 7 and JOB23 at timing 13 is started at the third core 309C, respectively. At this time, one timing before the timing at which the execution of each JOB is started, the voltage transmission unit 202 generates a voltage value suitable for the third core 309C based on the voltage information VIF as a new third core set voltage Vs3. do.
However, in the case of this embodiment, since the suitable voltage values of JOB22 and JOB23 are the same, the third core set voltage Vs3 generated for JOB22 and the third core set voltage Vs3 generated for JOB23 Is the same voltage.

同様に、タイミング7でJOB32、タイミング12でJOB33、タイミング17でJOB34の実行が第四コア309Dでそれぞれ開始される。このとき、各JOBの実行を開始するタイミングの1タイミング前において、電圧送信部202は、第四コア設定電圧Vs4として、電圧情報VIFに基づき第四コア309Dに適した電圧値をそれぞれ生成する。
ただし、本実施形態の場合、JOB33とJOB34とは適した電圧値が同じなので、JOB33に対して生成される第四コア設定電圧Vs4と、JOB34に対して生成される第四コア設定電圧Vs4とは、同じ電圧である。
Similarly, the execution of JOB32 at timing 7, JOB33 at timing 12, and JOB34 at timing 17 is started at the fourth core 309D, respectively. At this time, one timing before the timing at which the execution of each JOB is started, the voltage transmission unit 202 generates a voltage value suitable for the fourth core 309D based on the voltage information VIF as the fourth core set voltage Vs4.
However, in the case of this embodiment, since the suitable voltage values are the same for JOB33 and JOB34, the fourth core set voltage Vs4 generated for JOB33 and the fourth core set voltage Vs4 generated for JOB34 Is the same voltage.

(作用及び効果)
本実施形態の情報処理装置1は、第二コンパイラ102が、命令列の命令密度を分析している。このため、事前に各ユーザープログラムPGMに合った動作電圧を確認することなく、各ユーザープログラムPGMに適した電圧を各コア及びホストIFに供給することができるので、無駄な消費電力を削除する事が可能となる。
したがって、情報処理装置1は、各ユーザープログラムPGMに合わせた動作電圧の変更が負担となりにくい。
また、本実施形態では、各ユーザープログラムPGMに必要な電圧値が供給されるので、情報処理装置1は、無駄な電力を抑制でき、低消費電力を実現できる。
さらに、本実施形態では、各コアの電源が分離されており、各コア及びホストIF別に動作電圧を制御することができる。このため、情報処理装置1は、割り付けられたユーザープログラムPGMに適した電圧をコア別及びホストIFに動作電圧を設定し、コア別及びホストIFに電力を供給することができる。
したがって、情報処理装置1は、より無駄がなく最適な電力を供給することができる。
(Action and effect)
In the information processing apparatus 1 of the present embodiment, the second compiler 102 analyzes the instruction density of the instruction sequence. Therefore, it is possible to supply a voltage suitable for each user program PGM to each core and host IF without confirming the operating voltage suitable for each user program PGM in advance, so that unnecessary power consumption can be eliminated. Is possible.
Therefore, the information processing apparatus 1 is less likely to be burdened with changing the operating voltage according to each user program PGM.
Further, in the present embodiment, since the voltage value required for each user program PGM is supplied, the information processing apparatus 1 can suppress wasteful power consumption and can realize low power consumption.
Further, in the present embodiment, the power supply of each core is separated, and the operating voltage can be controlled for each core and the host IF. Therefore, the information processing apparatus 1 can set the operating voltage for each core and the host IF with a voltage suitable for the assigned user program PGM, and can supply power to each core and the host IF.
Therefore, the information processing apparatus 1 can supply the optimum power with less waste.

動作電圧を変更しない情報処理装置は、最大電流が流れるプログラムでも動作する電圧値が設定されているので、プログラムによっては過剰な電力を供給している場合がある。
特許文献1の情報処理装置では、このような過剰な電力を削減するため、プログラム毎の電力制御情報を使用しているが、プログラムを一度走行させて成功するかの確認を実施してから電圧制御を実施している。このため、特許文献1のような情報処理装置は、プログラムの1回目の実行から、プログラムを実行するのに適した動作電圧をコアに供給することができない。さらに、プログラムが更新されると適した動作電圧をコアに供給することができない。
これに対し、本実施形態の情報処理装置1は、上述のとおり、命令列の命令密度を分析しているため、事前に各ユーザープログラムPGMに合った動作電圧を確認する必要がない。
したがって、ユーザープログラムPGMの1回目の実行から、ユーザープログラムPGMを実行するのに適した動作電圧をコアに供給することができる。さらに、ユーザープログラムPGMが更新されても、適した動作電圧をコアに供給することができる。
Since the information processing device that does not change the operating voltage has a voltage value set to operate even in a program in which the maximum current flows, excessive power may be supplied depending on the program.
In the information processing apparatus of Patent Document 1, in order to reduce such excessive power, the power control information for each program is used, but the voltage is checked after the program is run once to confirm whether it succeeds. Control is in place. Therefore, an information processing apparatus such as Patent Document 1 cannot supply an operating voltage suitable for executing the program to the core from the first execution of the program. Furthermore, when the program is updated, it is not possible to supply a suitable operating voltage to the core.
On the other hand, since the information processing apparatus 1 of the present embodiment analyzes the instruction density of the instruction sequence as described above, it is not necessary to confirm the operating voltage suitable for each user program PGM in advance.
Therefore, from the first execution of the user program PGM, an operating voltage suitable for executing the user program PGM can be supplied to the core. Further, even if the user program PGM is updated, a suitable operating voltage can be supplied to the core.

加えて、特許文献2の情報処理装置でも、過剰な電力を削減するため、命令列に合わせて動作電圧を変更しているが、命令列のうち、連続する命令の先頭に動作電圧制御命令を追加し、動作電圧の変更指示を出している。通常、電圧制御が行われる場合、動作電圧の変更指示が出されてから動作電圧が実際に変更されるまで、タイムラグが発生する。このため、特許文献2の情報処理装置では、動作電圧の変更指示が出してから、実際にコアの動作電圧が変更されるまでにタイムラグが発生する。
これに対し、本実施形態の情報処理装置1は、各ユーザープログラムPGM実行前のCSW時間に、各コアに供給する電圧を変更している。
したがって、本実施形態の情報処理装置1は、特許文献2のような電圧変更のタイムラグの発生を抑制することができる。
In addition, even in the information processing apparatus of Patent Document 2, the operating voltage is changed according to the instruction sequence in order to reduce excessive power, but the operating voltage control instruction is inserted at the beginning of consecutive instructions in the instruction sequence. In addition, an instruction to change the operating voltage is issued. Normally, when voltage control is performed, a time lag occurs from the instruction for changing the operating voltage to the actual change of the operating voltage. Therefore, in the information processing apparatus of Patent Document 2, there is a time lag between the instruction to change the operating voltage and the actual change of the operating voltage of the core.
On the other hand, the information processing apparatus 1 of the present embodiment changes the voltage supplied to each core during the CSW time before the execution of each user program PGM.
Therefore, the information processing apparatus 1 of the present embodiment can suppress the occurrence of a time lag of voltage change as in Patent Document 2.

<第二実施形態>
第二実施形態の情報処理装置について図4及び図5を参照して説明する。
本実施形態に係る情報処理装置1’は、各コアで電源を共有している点が異なる。以下説明する点を除いて情報処理装置1’の構成は、第一実施形態に係る情報処理装置1と同様である。
<Second embodiment>
The information processing apparatus of the second embodiment will be described with reference to FIGS. 4 and 5.
The information processing apparatus 1'according to the present embodiment is different in that the power source is shared by each core. Except for the points described below, the configuration of the information processing apparatus 1'is the same as that of the information processing apparatus 1 according to the first embodiment.

(構成)
図4に示すように、情報処理装置1’は、プログラム生成部10と、ホスト部20’と、システムユニット30’と、を備える。
ホスト部20’は、OSデスパッチャ201と、電圧送信部202’と、を備える。
システムユニット30’は、電圧制御回路301’と、メモリ307と、LSI309’と、を備える。
システムユニット30’は、内部電源303A’と、IO電源303Fと、をさらに備える。本実施形態において、これら各電源は、DC/DCコンバータであって、電圧制御回路301’の制御によって、出力電圧が制御される。
(Constitution)
As shown in FIG. 4, the information processing apparatus 1'includes a program generation unit 10, a host unit 20', and a system unit 30'.
The host unit 20'includes an OS despatcher 201 and a voltage transmission unit 202'.
The system unit 30'includes a voltage control circuit 301', a memory 307, and an LSI 309'.
The system unit 30'further includes an internal power supply 303A'and an IO power supply 303F. In the present embodiment, each of these power supplies is a DC / DC converter, and the output voltage is controlled by the control of the voltage control circuit 301'.

電圧送信部202’は、OSデスパッチャ201から各ユーザープログラムPGMの電圧情報VIFを順次受け付ける。
電圧送信部202’は、各ユーザープログラムPGMの電圧情報VIFに基づき設定電圧を生成し、電圧制御回路301’に設定電圧を送る。
The voltage transmission unit 202'successively receives the voltage information VIF of each user program PGM from the OS Despatcher 201.
The voltage transmission unit 202'generates a set voltage based on the voltage information VIF of each user program PGM, and sends the set voltage to the voltage control circuit 301'.

(システムユニット)
システムユニット30’は、各ユーザープログラムPGMを実行する前に、各コアの動作電圧を電圧送信部202’から送信された設定電圧に設定する。
(System unit)
The system unit 30'sets the operating voltage of each core to the set voltage transmitted from the voltage transmission unit 202' before executing each user program PGM.

電圧制御回路301’は、電圧送信部202’から設定電圧を受け付ける。電圧制御回路301’は受け付けた設定電圧に基づき、内部電源303A’、IO電源303Fの各出力電圧をそれぞれ制御する。
内部電源303A’は、第一コア309A、第二コア309B、第三コア309C、第四コア309D、及びメモリ制御部310の共通の電源である。
内部電源303A’は、電圧制御回路301’に制御に応じて、所定の直流電圧である共通動作電圧Vccを出力し、第一コア309A、第二コア309B、第三コア309C、第四コア309D、及びメモリ制御部310に電力を供給する。
The voltage control circuit 301'receives a set voltage from the voltage transmission unit 202'. The voltage control circuit 301'controls each output voltage of the internal power supply 303A'and the IO power supply 303F based on the received set voltage.
The internal power supply 303A'is a common power supply for the first core 309A, the second core 309B, the third core 309C, the fourth core 309D, and the memory control unit 310.
The internal power supply 303A'outputs a common operating voltage Vcc, which is a predetermined DC voltage, to the voltage control circuit 301' in response to control, and the first core 309A, the second core 309B, the third core 309C, and the fourth core 309D. , And supplies power to the memory control unit 310.

(電圧送信部)
電圧送信部202’の機能について詳しく説明する。
図5に示すように、まず、タイミング0において、第一コア設定電圧Vs1、第二コア設定電圧Vs2、第三コア設定電圧Vs3、第四コア設定電圧Vs4を生成する。
続いて、タイミング0において、生成した第一コア設定電圧Vs1、第二コア設定電圧Vs2、第三コア設定電圧Vs3、及び第四コア設定電圧Vs4を合算して、共通設定電圧Vscを算出する。
(Voltage transmitter)
The function of the voltage transmitter 202'will be described in detail.
As shown in FIG. 5, first, at timing 0, the first core set voltage Vs1, the second core set voltage Vs2, the third core set voltage Vs3, and the fourth core set voltage Vs4 are generated.
Subsequently, at timing 0, the generated first core set voltage Vs1, second core set voltage Vs2, third core set voltage Vs3, and fourth core set voltage Vs4 are added up to calculate the common set voltage Vsc.

続いて、タイミング0において、電圧送信部202’は、生成した共通設定電圧Vscを、電圧制御回路301’に送る。
電圧制御回路301’は、電圧送信部202’から共通設定電圧Vscを受け付けると、タイミング0において、共通動作電圧Vccが共通設定電圧Vscになるように、内部電源303A’を制御する。
Subsequently, at timing 0, the voltage transmission unit 202'sends the generated common set voltage Vsc to the voltage control circuit 301'.
When the voltage control circuit 301'receives the common set voltage Vsc from the voltage transmission unit 202', the voltage control circuit 301'controls the internal power supply 303A' so that the common operating voltage Vcc becomes the common set voltage Vsc at timing 0.

図5には示さないが、情報処理装置1’は、ホストIF動作電圧Vciも同様に、共通動作電圧Vccとは別に設定する。
すなわち、タイミング0において、電圧送信部202’は、ホストIF設定電圧Vsiとして、電圧情報VIFに基づきホストIF306に適した電圧値を生成し、生成したホストIF設定電圧Vsiを、電圧制御回路301’に送る。さらに、電圧制御回路301’は、ホストIF306に供給されるホストIF動作電圧VciがホストIF設定電圧Vsiとなるように、IO電源303Fを制御する。
Although not shown in FIG. 5, the information processing apparatus 1'sets the host IF operating voltage Vci separately from the common operating voltage Vcc.
That is, at timing 0, the voltage transmission unit 202'generates a voltage value suitable for the host IF 306 based on the voltage information VIF as the host IF set voltage Vsi, and uses the generated host IF set voltage Vsi as the voltage control circuit 301'. Send to. Further, the voltage control circuit 301'controls the IO power supply 303F so that the host IF operating voltage Vci supplied to the host IF 306 becomes the host IF set voltage Vsi.

(共通設定電圧算出)
本実施形態では、電圧送信部202’は、各ユーザープログラムPGMを実行する前(ユーザープログラムPGM実行前のCSW時間)に、共通設定電圧Vscを算出する。電圧送信部202’は、各タイミングの第一コア設定電圧Vs1、第二コア設定電圧Vs2、第三コア設定電圧Vs3、第四コア設定電圧Vs4の4コア分の各設定電圧を合算して、共通設定電圧Vscを算出する。
(Common set voltage calculation)
In the present embodiment, the voltage transmission unit 202'calculates the common set voltage Vsc before executing each user program PGM (CSW time before executing the user program PGM). The voltage transmission unit 202'totals the set voltages for the four cores of the first core set voltage Vs1, the second core set voltage Vs2, the third core set voltage Vs3, and the fourth core set voltage Vs4 at each timing. Calculate the common set voltage Vsc.

ここで各設定電圧の合算の例を説明する。
まず、電圧送信部202’は、4コア分の各設定電圧について、図5に示すように、設定電圧を低下する指示の個数(電圧値低下指示個数)を数える。電圧送信部202’は、電圧値低下指示個数が3個以上(電圧値低下指示個数≧3)になったら、設定された共通設定電圧Vscより低い電圧を新たな共通設定電圧Vscとして生成し、新たな共通設定電圧Vscを、電圧制御回路301’に送る。
電圧制御回路301’は、電圧送信部202’から新たな共通設定電圧Vscを受け付けると、共通動作電圧Vccが新たな共通設定電圧Vscになるように、各ユーザープログラムを実行する前(ユーザープログラムPGM実行前のCSW時間)に、内部電源303A’を制御する。
情報処理装置1’において、元の共通動作電圧Vccは、最大電流が流れるユーザープログラムPGMでも動作するように設定されている。このため、「4コア分の電圧値低下指示個数≧3」の判断基準で共通動作電圧Vccを低下させれば、ユーザープログラムPGMの動作を妨げることなく、ユーザープログラムPGMを実行することができる。
Here, an example of summing up the set voltages will be described.
First, the voltage transmission unit 202'counts the number of instructions for lowering the set voltage (number of voltage value lowering instructions) for each set voltage for the four cores, as shown in FIG. When the number of voltage value decrease instructions becomes 3 or more (voltage value decrease instruction number ≧ 3), the voltage transmission unit 202'generates a voltage lower than the set common set voltage Vsc as a new common set voltage Vsc. A new common set voltage Vsc is sent to the voltage control circuit 301'.
When the voltage control circuit 301'receives a new common set voltage Vsc from the voltage transmission unit 202', the common operating voltage Vcc becomes the new common set voltage Vsc before executing each user program (user program PGM). The internal power supply 303A'is controlled during the CSW time before execution).
In the information processing apparatus 1', the original common operating voltage Vcc is set to operate even in the user program PGM through which the maximum current flows. Therefore, if the common operating voltage Vcc is reduced based on the criterion of "the number of voltage value reduction instructions for 4 cores ≥ 3", the user program PGM can be executed without interfering with the operation of the user program PGM.

逆に、電圧値低下指示個数が再び3個未満(電圧値低下指示個数<3)になったら、図5のタイミング15に示すように、情報処理装置1’は、共通動作電圧Vccを高くする。 On the contrary, when the number of voltage value decrease instructions becomes less than 3 again (voltage value decrease instruction number <3), the information processing apparatus 1'increases the common operating voltage Vcc as shown in the timing 15 of FIG. ..

(作用及び効果)
本実施形態の情報処理装置1’は、情報処理装置1と同様、第二コンパイラ102が、命令列の命令密度を分析している。このため、事前に各ユーザープログラムPGMに合った動作電圧を確認することなく、各ユーザープログラムPGMに適した電圧を各コア及びホストIFに供給することができるので、無駄な消費電力を削除する事が可能となる。
したがって、情報処理装置1’は、各ユーザープログラムPGMに合わせた動作電圧の変更が負担となりにくい。
また、本実施形態の情報処理装置1’は、情報処理装置1と同様、各ユーザープログラムPGM実行前のCSW時間に、共通動作電圧を変更している。
(Action and effect)
In the information processing device 1'of the present embodiment, the second compiler 102 analyzes the instruction density of the instruction sequence as in the information processing device 1. Therefore, it is possible to supply a voltage suitable for each user program PGM to each core and host IF without confirming the operating voltage suitable for each user program PGM in advance, so that unnecessary power consumption can be eliminated. Is possible.
Therefore, the information processing apparatus 1'is less likely to be burdened with changing the operating voltage according to each user program PGM.
Further, the information processing apparatus 1'of the present embodiment changes the common operating voltage to the CSW time before the execution of each user program PGM, as in the information processing apparatus 1.

<プログラム生成方法>
上述の各実施形態におけるプログラム生成方法を、図6を参照して説明する。
本プログラム生成方法では、電圧情報VIFに基づく動作電圧でLSIを実行させるユーザープログラムPGMを生成する。
最初に、ユーザーが作成したソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成する(ST10:オブジェクトを生成するステップ)。
ST10におけるオブジェクトの生成に続いて、命令列の命令密度を分析し、電圧情報VIFを生成する(ST20:電圧情報を生成するステップ)。
ST20における電圧情報の生成に続いて、オブジェクトOJTと電圧情報VIFとを結合して、ユーザープログラムPGMを生成する(ST30:プログラムを生成するステップ)。
ST30における電圧情報の生成が終わると、処理を終了して、次のソースプログラムが提供されると再び処理を開始する。
<Program generation method>
The program generation method in each of the above-described embodiments will be described with reference to FIG.
In this program generation method, a user program PGM that executes LSI with an operating voltage based on voltage information VIF is generated.
First, the user-created source program is compiled to create an object containing the instruction sequence (ST10: Step to create an object).
Following the generation of the object in ST10, the instruction density of the instruction sequence is analyzed and voltage information VIF is generated (ST20: step of generating voltage information).
Following the generation of voltage information in ST20, the object OJT and the voltage information VIF are combined to generate a user program PGM (ST30: step of generating a program).
When the generation of the voltage information in ST30 is completed, the processing is terminated, and when the next source program is provided, the processing is started again.

<ハードウェア構成>
図7には、上述の各実施形態において、プログラム生成部10を実現するためのハードウェア構成の一例が示されている。この図が示すようにプログラム生成部10は、CPU(Central Processing Unit)105、メモリ106、記憶/再生装置107、HDD(Hard Disk Drive)108、IO I/F(Input Output Interface)109等の各ハードウェアを備えたコンピュータである。
<Hardware configuration>
FIG. 7 shows an example of a hardware configuration for realizing the program generation unit 10 in each of the above-described embodiments. As shown in this figure, the program generation unit 10 includes a CPU (Central Processing Unit) 105, a memory 106, a storage / playback device 107, an HDD (Hard Disk Drive) 108, an IO I / F (Input Output Interface) 109, and the like. It is a computer equipped with hardware.

メモリ106は、RAM(Random Access Memory)やROM(Read Only Memory)等の記憶媒体である。
記憶/再生装置107は、CD-ROM、DVD、フラッシュメモリ等の外部メディアへプログラム、データ等を記憶したり、外部メディアのプログラム、データ等を再生したりするための装置である。
IO I/F109は、ソースプログラムの入力、ホスト部20(20’)との間で情報等の入出力等を行うためのインターフェースである。
The memory 106 is a storage medium such as a RAM (Random Access Memory) or a ROM (Read Only Memory).
The storage / playback device 107 is a device for storing programs, data, etc. in external media such as a CD-ROM, DVD, and flash memory, and for playing back programs, data, etc. of external media.
The IO I / F 109 is an interface for inputting a source program and inputting / outputting information or the like to / from the host unit 20 (20').

<コンピュータプログラム>
上述の各実施形態において、プログラム生成部の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記憶媒体に記憶して、この記憶媒体に記憶されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記憶媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記憶媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記憶されているプログラムとの組み合わせで実現できるものであってもよい。
<Computer program>
In each of the above-described embodiments, a program for realizing all or part of the functions of the program generator is stored in a computer-readable storage medium, and the program stored in the storage medium is read into the computer system. The processing of each part may be performed by executing. The term "computer system" as used herein includes hardware such as an OS and peripheral devices.
Further, the "computer system" includes the homepage providing environment (or display environment) if the WWW system is used.
Further, the "computer-readable storage medium" refers to a storage device such as a flexible disk, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, or a hard disk built in a computer system. Further, a "computer-readable storage medium" is a communication line for transmitting a program via a network such as the Internet or a communication line such as a telephone line, and dynamically holds the program for a short period of time. In that case, it also includes those that hold the program for a certain period of time, such as the volatile memory inside the computer system that is the server or client. Further, the above-mentioned program may be a program for realizing a part of the above-mentioned functions, and may be a program for realizing the above-mentioned functions in combination with a program already stored in the computer system.

<各実施形態の最小構成>
図8には、上述の各実施形態のプログラム生成部10の最小構成が示されている。
プログラム生成部10は、LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成する。
プログラム生成部10は、第一コンパイラ101と、第二コンパイラ102と、リンカ103と、を備える。
第一コンパイラ101は、ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成する。第二コンパイラ102は、命令列の命令密度を分析し、電圧情報を生成する。リンカ103は、オブジェクトと電圧情報とを結合して、ユーザープログラムを生成する。
<Minimum configuration of each embodiment>
FIG. 8 shows the minimum configuration of the program generation unit 10 of each of the above-described embodiments.
The program generation unit 10 generates voltage information for executing the LSI at the operating voltage based on the voltage context.
The program generation unit 10 includes a first compiler 101, a second compiler 102, and a linker 103.
The first compiler 101 compiles the source program and creates an object including an instruction sequence. The second compiler 102 analyzes the instruction density of the instruction sequence and generates voltage information. The linker 103 combines the object and the voltage information to generate a user program.

<変形例>
上述の各実施形態において、LSIは、4個のコアで構成されているが、何個のコアで構成されていてもよい。変形例として、5個以上のコアで構成されていてもよい。他の変形例として、3個以下のコアで構成されていてもよい。
<Modification example>
In each of the above-described embodiments, the LSI is composed of four cores, but may be composed of any number of cores. As a modification, it may be composed of five or more cores. As another modification, it may be composed of three or less cores.

上述の各実施形態では、第二コンパイラ102が、命令列に含まれる各命令を、LDST命令、論理演算命令、シフト演算命令、固定小数点命令、及び浮動小数点命令の命令種に分類している。変形例として、第二コンパイラ102が、命令列に含まれる各命令を、LDST命令、論理演算命令、シフト演算命令、固定小数点命令、浮動小数点命令のうち、少なくとも2以上の命令種に分類するものであってもよい。 In each of the above-described embodiments, the second compiler 102 classifies each instruction included in the instruction sequence into instruction types of LDST instruction, logical operation instruction, shift operation instruction, fixed-point instruction, and floating-point instruction. As a modification, the second compiler 102 classifies each instruction included in the instruction sequence into at least two or more instruction types among an LDST instruction, a logical operation instruction, a shift operation instruction, a fixed-point instruction, and a floating-point instruction. May be.

上述の第一実施形態において、情報処理装置は、メモリ制御動作電圧Vcmを、所定の初期設定の電圧値となるように制御している。変形例として、情報処理装置は、電圧情報VIFに基づき、メモリ制御部に適したメモリ制御設定電圧を生成し、メモリ制御設定電圧となるように、メモリ制御動作電圧Vcmを制御してもよい。 In the first embodiment described above, the information processing apparatus controls the memory control operating voltage Vcm so as to have a predetermined initial setting voltage value. As a modification, the information processing apparatus may generate a memory control set voltage suitable for the memory control unit based on the voltage information VIF, and control the memory control operating voltage Vcm so as to be the memory control set voltage.

上述の第二実施形態では、4コア分の各設定電圧を合算して、共通設定電圧Vscを算出している。変形例として、4コア分の各設定電圧に加えて、ホストIF設定電圧Vsiも合算してもよい。 In the second embodiment described above, the common set voltage Vsc is calculated by adding up the set voltages for the four cores. As a modification, the host IF set voltage Vsi may be added up in addition to each set voltage for 4 cores.

以上、本発明の実施形態を説明したが、この実施形態は、例として示したものであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものとする。 Although the embodiment of the present invention has been described above, this embodiment is shown as an example and is not intended to limit the scope of the invention. This embodiment can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the gist of the invention. This embodiment and its modifications shall be included in the scope and equivalent of the invention described in the claims as well as in the scope and gist of the invention.

1 情報処理装置
1’ 情報処理装置
10 プログラム生成部
20 ホスト部
20’ ホスト部
30 システムユニット
30’ システムユニット
101 第一コンパイラ
102 第二コンパイラ
103 リンカ
106 メモリ
107 記憶/再生装置
108 HDD
109 IO I/F
201 OSデスパッチャ
202 電圧送信部
202’ 電圧送信部
301 電圧制御回路
301’ 電圧制御回路
303A 第一コア電源
303A’ 内部電源
303B 第二コア電源
303C 第三コア電源
303D 第四コア電源
303E メモリ制御電源
303F IO電源
306 ホストIF
307 メモリ
309 LSI
309’ LSI
309A 第一コア
309B 第二コア
309C 第三コア
309D 第四コア
310 メモリ制御部
SQC 命令列
Vc1 第一コア動作電圧
Vc2 第二コア動作電圧
Vc3 第三コア動作電圧
Vc4 第四コア動作電圧
Vcc 共通動作電圧
Vci ホストIF動作電圧
Vcm メモリ制御動作電圧
Vs1 第一コア設定電圧
Vs2 第二コア設定電圧
Vs3 第三コア設定電圧
Vs4 第四コア設定電圧
Vsc 共通設定電圧
Vsi ホストIF設定電圧
1 Information processing device 1'Information processing device 10 Program generation unit 20 Host unit 20'Host unit 30 System unit 30'System unit 101 First compiler 102 Second compiler 103 Linker 106 Memory 107 Storage / playback device 108 HDD
109 IO I / F
201 OS Despatcher 202 Voltage transmitter 202'Voltage transmitter 301 Voltage control circuit 301'Voltage control circuit 303A First core power supply 303A' Internal power supply 303B Second core power supply 303C Third core power supply 303D Fourth core power supply 303E Memory control power supply 303F IO power supply 306 host IF
307 Memory 309 LSI
309'LSI
309A 1st core 309B 2nd core 309C 3rd core 309D 4th core 310 Memory control unit SQC Command sequence Vc1 1st core operating voltage Vc2 2nd core operating voltage Vc3 3rd core operating voltage Vc4 4th core operating voltage Vcc Common operation Voltage Vci Host IF operating voltage Vcm Memory control operating voltage Vs1 First core set voltage Vs2 Second core set voltage Vs3 Third core set voltage Vs4 Fourth core set voltage Vsc Common set voltage Vsi Host IF set voltage

Claims (7)

LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成するプログラム生成部であって、
ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成する第一コンパイラと、
前記命令列の命令密度を分析し、前記電圧情報を生成する第二コンパイラと、
前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するリンカと、
を備えるプログラム生成部。
A program generator that generates voltage information that causes an LSI to be executed at an operating voltage based on a voltage context.
The first compiler that compiles the source program and creates an object containing the instruction sequence,
A second compiler that analyzes the instruction density of the instruction sequence and generates the voltage information,
A linker that combines the object and the voltage information to generate a user program,
Program generator.
前記第二コンパイラが、前記命令列に含まれる各命令を、複数の命令種に分類し、最も分類された比率の高い命令種を判断する請求項1に記載のプログラム生成部。 The program generation unit according to claim 1, wherein the second compiler classifies each instruction included in the instruction sequence into a plurality of instruction types, and determines the instruction type having the highest classified ratio. 前記第二コンパイラが、LDST命令、論理演算命令、シフト演算命令、固定小数点命令、浮動小数点命令のうち、少なくとも2以上の命令種に分類する請求項2に記載のプログラム生成部。 The program generation unit according to claim 2, wherein the second compiler classifies the LDST instruction, the logical operation instruction, the shift operation instruction, the fixed-point instruction, and the floating-point instruction into at least two or more instruction types. 請求項1から請求項3のいずれか一項に記載されるプログラム生成部と、
前記電圧情報に基づき電圧値を生成する電圧送信部を有するホスト部と、
前記ユーザープログラムを処理するコアを有し、前記ユーザープログラムを実行する前に、前記コアの動作電圧を前記電圧値に設定するシステムユニットと、
を備える情報処理装置。
The program generator according to any one of claims 1 to 3 and the program generator.
A host unit having a voltage transmission unit that generates a voltage value based on the voltage information, and a host unit.
A system unit having a core for processing the user program and setting the operating voltage of the core to the voltage value before executing the user program.
Information processing device equipped with.
前記電圧送信部が、前記電圧値を複数生成し、生成した前記電圧値を合算する請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the voltage transmission unit generates a plurality of the voltage values and adds up the generated voltage values. LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成するプログラム生成方法であって、
ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成するステップと、
前記命令列の命令密度を分析し、前記電圧情報を生成するステップと、
前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するステップと、
を含むプログラム生成方法。
It is a program generation method that generates voltage information that causes an LSI to be executed at an operating voltage based on a voltage context.
Steps to compile the source program and create an object containing the instruction sequence,
A step of analyzing the instruction density of the instruction sequence and generating the voltage information,
A step of combining the object and the voltage information to generate a user program,
Program generation method including.
コンピュータに、LSIを電圧コンテキストに基づく動作電圧で実行させる電圧情報を生成させるプログラムであって、
ソースプログラムのコンパイルを行い、命令列を含むオブジェクトを生成するステップと、
前記命令列の命令密度を分析し、前記電圧情報を生成するステップと、
前記オブジェクトと前記電圧情報とを結合して、ユーザープログラムを生成するステップと、
を実行させるプログラム。
A program that causes a computer to generate voltage information that causes an LSI to run at an operating voltage based on a voltage context.
Steps to compile the source program and create an object containing the instruction sequence,
A step of analyzing the instruction density of the instruction sequence and generating the voltage information,
A step of combining the object and the voltage information to generate a user program,
A program to execute.
JP2018051582A 2018-03-19 2018-03-19 Program generator, information processing device, program generation method, and program Active JP7031930B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018051582A JP7031930B2 (en) 2018-03-19 2018-03-19 Program generator, information processing device, program generation method, and program
PCT/JP2019/011345 WO2019181904A1 (en) 2018-03-19 2019-03-19 Program generation unit, information processing device, program generation method, and program
EP19771160.9A EP3770753A4 (en) 2018-03-19 2019-03-19 Program generation unit, information processing device, program generation method, and program
US16/981,014 US11656858B2 (en) 2018-03-19 2019-03-19 Program generation unit, information processing device, program generation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018051582A JP7031930B2 (en) 2018-03-19 2018-03-19 Program generator, information processing device, program generation method, and program

Publications (2)

Publication Number Publication Date
JP2019164527A JP2019164527A (en) 2019-09-26
JP7031930B2 true JP7031930B2 (en) 2022-03-08

Family

ID=67986255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018051582A Active JP7031930B2 (en) 2018-03-19 2018-03-19 Program generator, information processing device, program generation method, and program

Country Status (4)

Country Link
US (1) US11656858B2 (en)
EP (1) EP3770753A4 (en)
JP (1) JP7031930B2 (en)
WO (1) WO2019181904A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111338606A (en) * 2020-02-20 2020-06-26 北京邮电大学 Development framework of experiment system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170351318A1 (en) 2016-06-02 2017-12-07 Northwestern University System and method for associative power and clock management with instruction governed operation for power efficient computing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393377A (en) * 1980-08-12 1983-07-12 Pitney Bowes Inc. Circuit for controlling information on a display
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
KR100236876B1 (en) * 1990-03-28 2000-01-15 가나이 쓰도무 Cmos circuit with reduced signal swing
US6879341B1 (en) * 1997-07-15 2005-04-12 Silverbrook Research Pty Ltd Digital camera system containing a VLIW vector processor
JP2003202942A (en) 2001-11-05 2003-07-18 Matsushita Electric Ind Co Ltd Method for optimizing power consumption
JP4044756B2 (en) * 2001-12-11 2008-02-06 松下電器産業株式会社 Program conversion device, program conversion method, and program for realizing the program conversion device
WO2003073185A2 (en) * 2002-02-28 2003-09-04 Zetacon Corporation Predictive control system and method
JP4082706B2 (en) * 2005-04-12 2008-04-30 学校法人早稲田大学 Multiprocessor system and multigrain parallelizing compiler
JP4838240B2 (en) 2005-04-27 2011-12-14 パナソニック株式会社 Power control apparatus in information processing apparatus
US8191052B2 (en) * 2006-12-01 2012-05-29 Murex S.A.S. Producer graph oriented programming and execution
US9378181B2 (en) * 2012-11-09 2016-06-28 Intel Corporation Scalable computing array
US10180828B2 (en) * 2014-04-29 2019-01-15 Significs And Elements, Llc Systems and methods for power optimization of processors
US20160216969A1 (en) * 2015-01-28 2016-07-28 Qualcomm Incorporated System and method for adaptively managing registers in an instruction processor
US10460057B2 (en) * 2015-11-10 2019-10-29 Wei Li Apparatus and method for modelling a modular multilevel converter in an electronic simulator
JP6587996B2 (en) 2016-09-28 2019-10-09 水ing株式会社 Screw press and operating method of screw press
US10621116B2 (en) * 2017-06-08 2020-04-14 Western Digital Technologies, Inc. Non-volatile storage device with adaptive data bus inversion

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170351318A1 (en) 2016-06-02 2017-12-07 Northwestern University System and method for associative power and clock management with instruction governed operation for power efficient computing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
佐々木 広,ほか4名,"統計情報に基づく動的電源電圧制御手法",情報処理学会論文誌,社団法人情報処理学会,2006年11月15日,第47巻, 第SIG 18(ACS 16)号,pp.80-91,ISSN 0387-5806
石原 亨,ほか1名,"可変電圧プロセッサを用いた低消費電力化手法と基本定理",DAシンポジウム'98 論文集,社団法人情報処理学会,1998年07月16日,第98巻, 第9号,pp.287-292,ISSN 1344-0640

Also Published As

Publication number Publication date
US11656858B2 (en) 2023-05-23
EP3770753A4 (en) 2021-12-15
US20210019129A1 (en) 2021-01-21
WO2019181904A1 (en) 2019-09-26
JP2019164527A (en) 2019-09-26
EP3770753A1 (en) 2021-01-27

Similar Documents

Publication Publication Date Title
US20130312001A1 (en) Task allocation optimization system, task allocation optimization method, and non-transitory computer readable medium storing task allocation optimization program
KR101990411B1 (en) System for scaling resource based on priority in cloud system, apparatus and method thereof
JP6200824B2 (en) Arithmetic control apparatus, arithmetic control method, program, and OpenCL device
US8839163B2 (en) Behavioral synthesis method, behavioral synthesis program and behavioral synthesis apparatus
CN111767041A (en) Method and apparatus for inserting buffers in a data flow graph
JP2009528649A (en) Improvements on distributed computing
CN105210038A (en) Core affinity bitmask translation
JP7031930B2 (en) Program generator, information processing device, program generation method, and program
US10162798B2 (en) Method and apparatus for solving a mixed integer programming problem
JP2009026199A (en) Clock frequency control method and computer program
Das et al. Budgeted combinatorial multi-armed bandits
US20100146242A1 (en) Data processing apparatus and method of controlling the data processing apparatus
JP2007213265A (en) Device and method for operation synthesis, method for manufacturing digital circuit, operation synthesis control program, and readable storage medium
JP2022516549A (en) Chip operating frequency setting
JP5655939B2 (en) Scheduling method and scheduling system
JP2018073162A (en) Image processing device, image processing method, and control program
KR20090014601A (en) Method and system for distributing operation by using buffer
CN113837382A (en) Method and system for training graph neural network
JP5251689B2 (en) Compiler program and compiler device
JP6524733B2 (en) Parallel computing device, parallel computing system, and job control program
JP2020065407A (en) Operation planning method, operation planning device, and program
JP2018028735A (en) Movement control program, movement control device, and movement control method
WO2021152652A1 (en) Allocation device, learning device, inference device, allocation method, and allocation program
Gu et al. Improved Lagrangian relaxation based optimization procedure for scheduling with storage
CN114969636B (en) Model recommendation method and device and computer equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220217

R150 Certificate of patent or registration of utility model

Ref document number: 7031930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150