CN110520855B - 电子控制装置、逻辑电路的控制方法 - Google Patents

电子控制装置、逻辑电路的控制方法 Download PDF

Info

Publication number
CN110520855B
CN110520855B CN201880025847.1A CN201880025847A CN110520855B CN 110520855 B CN110520855 B CN 110520855B CN 201880025847 A CN201880025847 A CN 201880025847A CN 110520855 B CN110520855 B CN 110520855B
Authority
CN
China
Prior art keywords
data
unit
circuit
arithmetic
processing
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
CN201880025847.1A
Other languages
English (en)
Other versions
CN110520855A (zh
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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo 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 Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of CN110520855A publication Critical patent/CN110520855A/zh
Application granted granted Critical
Publication of CN110520855B publication Critical patent/CN110520855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • G06F15/7871Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS
    • G06F15/7882Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS for self reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

电子控制装置具备:部分可重构的逻辑电路,构成有被重构而执行运算的运算部、及储存运算部设为运算对象的运算对象数据的储存部;以及处理控制部,将用于使运算部重构的电路数据、及运算对象数据发送至逻辑电路,处理控制部若得到重构完成后的运算部即下次运算部所涉及的运算对象数据即下次运算对象数据,则无论下次运算部的重构是否完成,都开始向储存部发送下次运算对象数据,重构完成的下次运算部使用下次运算对象数据进行运算。

Description

电子控制装置、逻辑电路的控制方法
技术领域
本发明涉及电子控制装置、及逻辑电路的控制方法。
背景技术
以车辆的自动驾驶为目标的技术开发正在发展。自动驾驶需要代替驾驶员而进行周围的辨识、车辆的控制,需要庞大的信息处理。为了应对于增大的信息处理,除了CPU外,还发展了使用硬件芯片的研究。在其中,期待使用能够重构逻辑电路的FPGA(现场可编程门阵列(Field Programmable Gate Array))等PLD(可编程逻辑器件(Programmable LogicDevice))而将多个处理在一个逻辑电路上实现。在使用逻辑电路进行运算的情况下,寻求考虑了逻辑电路的重构所需的时间的恰当的处理。
在专利文献1中,公开了可编程逻辑电路装置,其特征在于,具备:可编程逻辑电路部,具备电路元件、和与该电路元件连接的设置存储器,基于被写入至所述设置存储器的电路信息而构成电路;电路信息输入控制部件,用于接受来自外部的控制信号,向所述设置存储器写入从外部输入的电路信息;数据高速缓存部件,对由基于被写入至所述设置存储器的电路信息而构成的电路处理的数据临时地进行保持;输入数据切换部件,根据来自外部的切换控制信号而切换控制,以使对基于被写入至所述设置存储器的电路信息而构成的电路,供应来自所述数据高速缓存部件的数据、和输入数据的其中一方;输出数据切换部件,根据来自外部的切换控制信号而进行切换控制,将基于被写入至所述设置存储器的电路信息而构成的电路的输出数据供应至所述数据高速缓存部件,或者作为输出数据而导出。
现有技术文献
专利文献
专利文献1:日本特开2006-333496号公报
发明内容
发明要解决的课题
在专利文献1中记载的发明中,在被重构的逻辑电路中对非连续的数据进行处理的情况下不能缩短处理时间。
用于解决课题的手段
本发明的第一方式的电子控制装置一种电子控制装置具备:部分可重构的逻辑电路,构成有被重构而执行运算的运算部、及储存所述运算部设为运算对象的运算对象数据的储存部;以及处理控制部,将用于使所述运算部重构的电路数据、及所述运算对象数据发送至所述逻辑电路,所述处理控制部若得到重构完成后的所述运算部即下次运算部所涉及的所述运算对象数据即下次运算对象数据,则无论所述下次运算部的重构是否完成,都开始向所述储存部发送所述下次运算对象数据,重构完成的所述下次运算部使用所述下次运算对象数据进行运算。
本发明的第二方式的逻辑电路的控制方法用于部分可重构的逻辑电路,该部分可重构的逻辑电路构成有使用被发送的电路数据而被重构来执行运算的运算部、及储存所述运算部设为运算对象的运算对象数据的储存部,其中,该控制方法包含:若得到重构完成后的所述运算部即下次运算部所涉及的所述运算对象数据即下次运算对象数据,则无论所述下次运算部的重构是否完成,都开始向所述储存部发送所述下次运算对象数据,若重构完成则所述下次运算部使用所述下次运算对象数据进行运算。
发明效果
根据本发明,在被重构的逻辑电路中对非连续的数据进行处理的情况下能够缩短处理时间。
附图说明
图1是车载系统1的系统结构图
图2是自主行驶控制装置2的硬件结构图
图3是第一实施方式中的自主行驶控制装置2的功能结构图
图4是表示处理信息DB3的一例的图
图5是表示运算DB管理信息211的一例的图
图6是表示结果DB管理信息212的一例的图
图7是表示状态管理信息213的一例的图
图8是表示第一实施方式中的处理控制部202的动作的流程图
图9是表示重构电路203的动作的流程图
图10是表示自主行驶控制装置2的动作的时间图
图11是表示与现有技术的比较的时间图
图12是表示变形例2中的处理控制部202的动作的流程图
图13是表示变形例3中的处理控制部202的动作的流程图
图14是表示变形例4中的处理控制部202的动作的流程图
图15是第二实施方式中的自主行驶控制装置2的功能结构图
图16是表示内部处理管理部230的动作的流程图
图17是表示外部处理管理部240的动作的流程图
具体实施方式
―第一实施方式―
以下,参照图1~图11,说明本发明所涉及的电子控制装置即自主行驶控制装置的第一实施方式。
<系统结构>
图1是包含自主行驶控制装置2的车载系统1的系统结构图。车载系统1具备:相机信息取得部101,被搭载于车辆100,通过相机而对车辆100的外界状况进行辨识;雷达信息取得部102,通过雷达而对车辆100的外界状况进行辨识;以及本车位置信息取得部103,使用卫星航法系统、例如GPS的接收机而对车辆100的位置进行检测。车载系统1还具备:自动驾驶设定部104,用于对车辆100的自动驾驶进行设定;以及无线通信部105,用于通过OTA(空中下载(Over-The-Air))而对车载系统1的信息进行更新。
车载系统1还具备:自主行驶控制装置2、辅助控制部106、制动器控制部107、引擎控制部108、动力转向(power steering)控制部109。自主行驶控制装置2、辅助控制部106、制动器控制部107、引擎控制部108、及动力转向控制部109例如是ECU(电子控制单元(Electronic ControlUnit))。
相机信息取得部101、雷达信息取得部102、本车位置信息取得部103、自动驾驶设定部104、无线通信部105、自主行驶控制装置2、辅助控制部106、制动器控制部107、引擎控制部108、及动力转向控制部109通过CAN(控制器局域网(Controller Area Network))的车载网络以能够相互通信的方式连接。
相机信息取得部101、雷达信息取得部102、及本车位置信息取得部103分别将从传感器等接收到的信息发送至自主行驶控制装置2。自动驾驶设定部104将自动驾驶时的目的地、路线、行驶速度等设定信息发送至自主行驶控制装置2。其中自动驾驶设定部104所发送的信息的一部分也可以是经由无线通信部105从服务器装置110等外部接收到的。
自主行驶控制装置2进行用于自动驾驶控制的处理并基于处理结果而将控制指令输出至制动器控制部107、引擎控制部108、及动力转向控制部109。辅助控制部106作为辅助而进行与自主行驶控制装置2同样的控制。制动器控制部107对车辆100的制动力进行控制。引擎控制部108对车辆100的驱动力进行控制。动力转向控制部109对车辆100的转向进行控制。
自主行驶控制装置2若通过自动驾驶设定部104而受理自动驾驶的设定请求,则基于来自相机信息取得部101、雷达信息取得部102、本车位置信息取得部103等的外界的信息而算出车辆100移动的轨道。并且,自主行驶控制装置2将制动力、驱动力、操舵等控制指令输出至制动器控制部107、引擎控制部108、及动力转向控制部109,以使按照所算出的轨道而使车辆100移动。制动器控制部107、引擎控制部108、及动力转向控制部109从自主行驶控制装置2接受控制指令,分别向未图示的控制对象即驱执行机构输出操作信号。
图2是自主行驶控制装置2的硬件结构图。自主行驶控制装置2具备CPU251、ROM252、RAM253、闪速存储器254、逻辑电路255、通信接口256。CPU251将在ROM252中储存的程序在RAM253中展开并执行从而实现后述的功能。闪速存储器254是非易失性的存储区域。另外CPU251也可以是具有采用了锁步方式的多个核心的处理器。
逻辑电路255是使用了FPGA(现场可编程门阵列(Field ProgrammableGateArray))等PLD(可编程逻辑器件(Programmable Logic Device))的可重构的逻辑电路。逻辑电路255是仅能够重构其一部分的所谓部分可重构的逻辑电路。通信接口256是以CAN等规定的协议进行通信的接口。自主行驶控制装置2经由通信接口256与其他装置进行连接,对数据进行发送接收。其中通信接口256也可以具备与外部的机器进行连接的两个通信端口,也可以仅具备一个通信端口。
<自主行驶控制装置的功能结构>
图3是自主行驶控制装置2的功能结构图。自主行驶控制装置2具有第一通信接口201A、第二通信接口201B、处理控制部202、重构电路203、重构管理部204、数据库管理部(以下,DB管理部)205、运算部206、处理信息数据库(以下,处理信息DB)3、运算数据库(以下,运算DB)4、结果数据库(以下,结果DB)5、及电路数据库(以下,电路DB)6。在以下,将第一通信接口201A、第二通信接口201B汇总而称为“通信接口201”。通信接口201通过图2的通信接口256而实现。处理信息DB3及电路DB6通过闪速存储器254而实现。
重构电路203通过逻辑电路255而实现。重构管理部204、DB管理部205、运算部206、运算DB4、及结果DB5被构成为重构电路203。在本实施方式中,在重构电路203中重构管理部204、DB管理部205、运算DB4、及结果DB5不被重构,而仅运算部206被重构。换言之,重构电路203能够部分地重构,在维持运算DB4等电路的状况下对相当于运算部206的电路进行重构。
自主行驶控制装置2经由第一通信接口201A与图1的相机信息取得部101、雷达信息取得部102、本车位置信息取得部103、自动驾驶设定部104、及无线通信部105连接,经由第二通信接口201B与辅助控制部106、制动器控制部107、引擎控制部108、及动力转向控制部109连接。另外在图3中,自主行驶控制装置2具备第一通信接口201A及第二通信接口201B的两个逻辑通信接口,但也可以仅具备一并具有两者的功能的一个逻辑通信接口。
处理控制部202通过由CPU251执行的程序而实现。处理控制部202具有状态管理信息213,处理控制部202一边对状态管理信息213进行参照及编辑一边以规定的处理周期T反复执行后述的处理。另外状态管理信息213通过RAM253或者闪速存储器254而实现。处理控制部202对来自相机信息取得部101、雷达信息取得部102、及本车位置信息取得部103的传感器信息、及来自自动驾驶设定部104的自动驾驶设定信息周期性地进行收集。处理控制部202参照处理信息DB3,判定对所收集到的传感器信息、自动驾驶设定信息实施的处理次数、及处理信息。处理控制部202对状态管理信息213进行存储。
处理控制部202基于根据处理信息DB3判定出的处理次数、及处理信息,判断由处理控制部202实施的运算处理的有无、由运算部206实施的运算处理的有无。在使运算部206执行运算处理的情况下,处理控制部202将包含电路数据的重构指示21发送至重构电路203,经由重构管理部204而对运算部206的逻辑电路进行重构。此外在使得由运算部206实施运算处理的情况下,处理控制部202将运算数据23发送至重构电路203,经由DB管理部205而将运算部206的运算处理所需的数据储存至运算DB4。
处理控制部202对运算部206的电路区域的重构的状态、运算DB4的写入、读出的状态、及结果DB5的写入、读出的状态进行管理,对由处理控制部202实施的运算处理、由运算部206实施的运算处理的定时进行调整。处理控制部202基于由处理控制部202自身实施的运算处理的结果、从DB管理部205取得的结果数据24,将制动力、驱动力等控制指令从通信接口201B输出。
重构管理部204从处理控制部202接收包含处理电路数据的重构指示21,对重构电路203内的电路区域的运算部206的逻辑电路进行变更。若逻辑电路的变更完成,重构管理部204则将重构完成通知22通知至处理控制部202。
DB管理部205对处理控制部202及运算部206提供向运算DB4及结果DB5的连接。例如DB管理部205若从处理控制部202接收运算数据23则将其储存至运算DB4,将该数据提供给运算部206。此外DB管理部205将运算部206输出的运算结果储存至结果DB5,将开始了储存的情况通知给处理控制部202。DB管理部205具有结果DB管理信息212及运算DB管理信息211,一边对它们进行参照及编辑一边执行处理。在后面详细叙述。结果DB管理信息212及运算DB管理信息211被构成为重构电路203的存储区域。
运算DB4及结果DB5被构成为重构电路203的存储区域。运算DB4及结果DB5与运算部206被构成于相同的重构电路203,因此在它们之间能够进行与在重构电路203的外部存在的处理控制部202相比更高速的数据的输入输出。例如在运算部206读入同一数据的情况下,与从处理控制部202读入相比,从运算DB4读入的话运算部206的读入所需的时间更短。另外在运算部206从运算DB4读入数据的情况下,另外需要从处理控制部202向运算DB4的数据的读入,但如后述那样对其定时下工夫。此外在运算部206写入同一数据的情况下,与写入至处理控制部202相比,写入至结果DB5的话运算部206的写入所需的时间更短。
在电路DB6中,储存多个处理电路数据。这些处理电路数据被写入至重构电路203内的电路区域而形成运算部206等逻辑电路。
运算部206通过重构管理部204而被重构,若重构完成则执行规定的处理。运算部206执行的规定的处理是,通过被重构的电路、换言之重构管理部204从处理控制部202接收到的处理电路数据而决定的处理。运算部206向DB管理部205请求在运算DB4内储存的运算数据23的读出,使用所取得的数据执行规定的处理。进而,运算部206请求向DB管理部205写入以使将规定的处理的执行结果储存至结果DB5内。
DB管理部205若从运算部206接收写入请求,则将执行结果储存至结果DB5。DB管理部205的结果DB管理信息212的细节参照图6而在后面叙述。处理控制部202取得在结果DB5中储存的执行结果作为结果数据24。
<处理信息数据库的结构例>
图4是表示处理信息DB3的一例的图。处理信息DB3通过处理控制部202来被参照,是供储存对所收集的传感器信息、自动驾驶设定信息实施的处理内容的数据库。处理信息DB3具有处理次数301、及处理信息302的字段。在处理次数301中,储存运算部206进行运算的次数及处理控制部202进行处理的次数之和。在处理信息302中,由多个处理信息、例如处理信息1~处理信息5构成,处理的名称及与各个处理对应的运算部206的电路的名称被储存。其中,在处理控制部202中执行处理的情况下储存“电路:无”。
例如在图4所示的例中,在次数301的字段中储存有“5”,因此示出了运算部206的处理和处理控制部202中的处理的次数之和为5次。在标号302-1~标号302-5所示的处理信息1~处理信息5的字段中储存的信息如以下那样。标号302-1所示的处理信息1示出了使用与电路DB6内的逻辑电路A对应的处理电路数据来重构运算部206,实施运算处理P1。标号302-2所示的处理信息2示出了处理控制部实施运算处理P2。标号302-3所示的处理信息3示出了使用与电路DB6内的逻辑电路B对应的处理电路数据来重构运算部206,实施运算处理P3。标号302-4所示的处理信息4示出了处理控制部实施运算处理P4。标号302-5所示的处理信息5示出了使用与电路DB6内的逻辑电路C对应的处理电路数据来重构运算部206,实施运算处理P5。另外图4所示的处理信息DB3是一例,构成处理信息302的处理信息的数目也可以是3以外。即处理信息302也可以由两个处理信息构成,也可以由4以上的处理信息构成。
在本实施方式中,设为各个运算处理基于紧前的运算处理的执行结果而取得规定的处理的执行结果。例如在运算处理P1中,基于所收集到的传感器信息、自动驾驶设定信息进行运算而取得执行结果,运算处理P2基于运算处理P1的执行结果而执行规定的处理。运算处理P3~P5的各个基于运算处理P2~P4的各自的执行结果而执行规定的处理。其中运算处理P2~P4的各个也可以使用紧前的运算处理的执行结果以外的信息进行运算。
<运算数据库管理信息>
图5是表示运算DB管理信息211的一例的图。运算DB管理信息211具有电路类别401、总运算数据数402、一运算数据尺寸403、写入数据数404、及读出数据数405的字段。在电路类别401的字段中,储存使运算部206实施处理的逻辑电路的类别信息。在总运算数据数402的字段中,储存使运算部206实施的规定的处理所需的运算数据的总数。在一运算数据尺寸403的字段中,储存在使运算部206实施多个运算的情况下使用于一个运算的数据尺寸。在写入数据数404的字段中,储存被写入至运算DB4的数据数。在读出数据数405的字段中,储存从运算DB4读出的数据数。
在总运算数据数402的字段中储存的运算数据的总数的信息既可以由处理控制部202与运算数据23一起被发送,也可以使用从处理控制部202运算数据23的发送完成时的写入数据数404的字段的值。DB管理部205若从处理控制部202接收运算数据23则储存至运算DB4,并且向写入数据数404的字段写入所接收到的运算数据23的数目。DB管理部205若从运算DB4向运算部206发送运算数据23,则向读出数据数405的字段写入所发送的运算数据23的数目。
在写入数据数404的字段中储存的值、和在总运算数据数402的字段中储存的值的一致,示出运算部206的处理所需的运算数据被全部储存。与其同样,在读入数据数405的字段中储存的值、和在总运算数据数402的字段中储存的值的一致,示出运算数据被全部读出。详细的说明省略,但写入数据数404及读出数据数405是运算DB4的地址的管理指针。
例如,在处理控制部202执行图4中标号302-1所示的处理信息1的情况下,运算部206被构成为逻辑电路A,因此在电路类别401的字段中储存“A”。在总运算数据数402的字段中,运算处理P1所需的运算数据的总数、例如“1024”被储存。在一运算数据尺寸403的字段中,运算处理P1的一个运算数据的尺寸、例如“8Byte”被储存。此外在图5所示的例中,写入数据数404的字段的值为“512”,因此示出了总运算数据数402的1024之中被写入了512。进而,读出数据数405的字段的值为“0”,因此示出了运算数据一个都没有被读出至运算部206。
<结果数据库管理信息>
图6是表示结果DB管理信息212的一例的图。结果DB管理信息212具备电路类别501、总结果数据数502、一结果数据尺寸503、写入数据数504、及读出数据数505的字段。在电路类别501的字段中,储存取得了执行结果的运算部206的逻辑电路的类别信息。在总结果数据数502的字段中,储存执行了规定的处理的运算部206的结果数据的总数。在一结果数据尺寸503的字段中,储存在从运算部206取得多个运算结果的情况下为了储存一个运算结果所需的存储区域的尺寸。在写入数据数504的字段中,储存被写入至结果DB5的数据数。在读出数据数505的字段中,储存从结果DB5读出的数据数。
总结果数据数502的字段的值也可以从运算DB管理信息211的总运算数据数402的字段转记,也可以从处理控制部202以其他途径传递。DB管理部205若从运算部206接收结果数据24则储存至结果DB5并且向写入数据数504的字段写入所接收到的结果数据24的数目。DB管理部205若向处理控制部202发送结果数据24,则向读出数据数505的字段写入所发送的结果数据24的数目。
在写入数据数504的字段中储存的值、和在总结果数据数502的字段中储存的值的一致,示出运算部206的处理完成而运算结果被全部储存。与其同样,在读入数据数505的字段中储存的值、和在总结果数据数502的字段中储存的值的一致,示出运算数据被全部读出。详细说明省略,但写入数据数504及读出数据数505是结果DB5的地址的管理指针。
例如,在处理控制部202执行图4中标号302-3所示的处理信息3的情况下,运算部206被构成为逻辑电路B因此在电路类别501的字段中储存“B”。在总结果数据数502的字段中,运算处理P3所需的运算数据的总数、例如“1024”被储存。在一结果数据尺寸503的字段中,运算处理P3的一个运算结果的尺寸、例如“4Byte”被储存。此外在图6所示的例中,写入数据数504的字段的值为“1024”,因此示出了被写入了全部结果数据。进而,读出数据数505的字段的值为“128”,因此示出了结果数据的一部分被读出。
<状态管理信息>
图7是表示状态管理信息213的一例的图。状态管理信息213表示运算部206、运算DB4、及结果DB5的状态。状态管理信息213具备表示运算部206的状态的电路类别601和重构状态602的字段、表示运算DB4的状态的运算类别603和运算DB状态604的字段、表示结果DB5的状态的结果类别605和结果DB状态606的字段。在电路类别601的字段中,储存运算部206的逻辑电路的类别信息。在重构状态602的字段中,储存运算部206的重构的状态、即表示重构的完成的“完成”或者表示重构中的“重构中”。
在运算类别603的字段中,储存对在运算DB4中储存的运算数据23进行处理的逻辑电路的类别信息。在运算DB状态604的字段中,储存表示由运算类别603的字段的值确定的逻辑电路所处理的运算数据23的对运算DB4的储存状况的值。该值是表示储存完成的“储存完毕”、或者表示储存中或者没有开始储存的“储存中”。在结果类别605的字段中,储存输出了在结果DB5中储存的执行结果的逻辑电路的类别信息。在结果DB状态606的字段中,存储表示来自结果DB5的执行结果的取得状况的值,该执行结果是通过由结果类别605的字段的值确定的逻辑电路而处理的执行结果。该值是表示处理控制部202从结果DB5取得了全部结果数据24的“取得完毕”、或者表示存在没有取得的结果数据24的“有储存”。
例如,在图7所示的例中通过电路类别601的字段的值“C”、及重构状态602的字段的值“完成”来表示运算部206被重构为逻辑电路C。此外运算类别603及运算DB状态604的字段的值示出了电路类别“C”的运算数据在运算DB4中为“储存中”。进而结果类别605及结果DB状态606的字段的值示出了处理控制部202将电路类别“B”的运算结果全部“取得完毕”。
<处理控制部的流程图>
图8是表示处理控制部202的动作的流程图。在以下说明的各步骤的执行主体是自主行驶控制装置2的CPU251。处理控制部202按规定的每个处理周期T执行以下的流程图所示的动作。
在步骤S601中,处理控制部202对循环计数器即处理ID代入“1”。接着在步骤S602中,处理控制部202参照处理信息DB3,判断处理ID所示的处理信息的处理是否使用逻辑电路。在判断为使用逻辑电路的情况下前进至步骤S603,在判断为不使用逻辑电路的情况下前进至步骤S621。例如在处理信息DB3为图4所示而处理ID为“1”的情况下,处理控制部202参照标号302-1所示的处理信息1。并且处理控制部202由于被记载为“电路:A”而判断为使用逻辑电路。
在步骤S603中,基于处理信息DB3的记载而向重构管理部204开始电路数据的转发。在本步骤中仅规定了电路数据的转发的开始,不会确认转发的结束,换言之若开始电路数据的转发则立刻前进至下一步骤S604。另外虽在本流程图中未记载,但重构管理部204若接收电路数据则立刻开始运算部206的重构。并且若重构完成,则运算部206从运算DB4取得运算数据而执行运算,向结果DB5写入结果数据24。
在接着的步骤S604中判断运算数据是否能够获得,换言之紧前的处理是否完成。若判断为能够获得则前进至步骤S605,若判断为尚未获得则在步骤S631中在待机了一定时间之后再次执行步骤S604。在接着的步骤S605中将运算数据转发至DB管理部205。
在接着的步骤S606中,判断是否向结果DB5有写入,换言之是否从运算部206开始了结果数据24的输出。在判断为有写入的情况下前进至步骤S607,在判断为尚未写入的情况下在步骤S632中待机了一定时间之后再次执行步骤S606。在步骤S607中,经由DB管理部205从结果DB5开始结果数据24的读出。在接着的步骤S608中,判断全部结果数据是否被储存至结果DB5。如前述那样该判断能够通过结果DB管理信息212的总结果数据数502的字段的值和读出数据数505的字段的值是否一致来判断。在判断为全部结果数据24被储存至结果DB5的情况下前进至步骤S609,在判断为存在没有被储存的结果数据24的情况下在步骤S633中待机了一定时间之后再次执行步骤S608。
在步骤S609中,判断处理ID是否为规定值、即是否为处理信息DB3的处理次数的字段的值以上。在判断为处理ID为该值以上的情况下,由于处理信息DB3所示的全部处理完成而结束图8所示的动作。在判断为处理ID小于该值的情况下,前进至步骤S634而对处理ID进行增量,返回至步骤S602。
若在步骤S602中被进行否定判断则在被执行的步骤S621中,参照处理信息DB3,判断为了处理ID所示的处理的执行,从结果DB5的结果数据24的读出是否为不需要。例如,在处理控制部202中的处理连续的情况、或处理ID为“1”的情况下本步骤被进行肯定判断。在进行肯定判断的情况下前进至步骤S624,在进行否定判断的情况下前进至步骤S622。在步骤S622中,判断从结果DB5的结果数据24的读出是否完成。在判断为读出完成的情况下前进至步骤S624,在判断为读出未完成的情况下在步骤S623中待机了一定时间之后再次执行步骤S622。另外本步骤中等待完成的读出处理是在步骤S607中被开始的处理。
在步骤S624中,处理控制部202执行处理ID所示的处理并前进至步骤S609。
<重构管理部的流程图>
图9是表示重构电路203的动作的流程图。如在以下说明的那样重构电路203通过重构管理部204、DB管理部205、及运算部206的协调动作而动作。重构电路203在每次从处理控制部202接收电路数据时执行以下的流程图所示的动作。
在步骤S800中,重构管理部204开始进行所接收到的电路数据的向重构电路203的写入、即运算部206的重构。在接着的步骤S801中,重构管理部204判断向重构电路203的运算部206的重构是否完成。在判断为完成的情况下前进至步骤S802,在判断为未完成的情况下返回至步骤S801。在步骤S802中,重构管理部204将重构完成的意思通知给处理控制部202。在接着的步骤S803中,DB管理部205判断在运算DB4中是否储存有运算数据。在判断为储存有运算数据的情况下前进至步骤S804,在判断为没有储存运算数据的情况下再次执行步骤S803。在步骤S804中,运算部206从运算DB4取得运算数据而执行处理,将处理结果储存至结果DB5。如以上结束处理。
<时间图>
图10是表示自主行驶控制装置2的某处理周期T中的动作的时间图。在图10所示的例中,处理控制部202参照图4中记载的处理信息DB3而动作。图10从图示左向右而时间经过。如图10的左端所示,在图10中从上起示出了处理控制部202的动作状态、状态管理信息213的标号601~606的各字段的值、重构指示21的发送状态、重构完成通知22的发送状态、运算数据23的发送状态、运算DB4的输入输出、运算部206的动作、结果DB5的输入输出、及结果数据24的发送状态。
处理控制部202在时刻t0开始周期处理,参照处理信息DB3而对处理次数301及处理信息302进行分析。在图10中仅示出了时间T的1周期量,但这些处理被反复执行。
在分析完成的时刻t1,处理控制部202将图4中标号302-1所示的处理信息1的处理电路数据、即逻辑电路A、及对运算部206的重构指示21发送至重构管理部204。由此运算部206成为重构中。此外处理控制部202将运算处理P1所需的运算数据23写入至运算DB4。在重构中将运算数据23写入至运算DB4,从而准备于重构完成后的运算处理P1的执行开始。此时处理控制部202分别在图7中记载的状态管理信息213的电路类别601中储存“A”,在重构状态602中储存“重构中”,在运算类别603中储存“A”,在运算DB状态604中储存“储存中”。
若在时刻t2运算数据23向运算DB4的写入完成,则处理控制部202将运算DB状态604变更为“设定完毕”。
若在时刻t3逻辑电路A的电路数据的发送结束而运算部206的重构完成,则重构管理部204将重构完成通知22发送至处理控制部202。此外处理控制部202将重构状态602变更为“完成”。此外,重构完成的运算部206确认在运算DB4中储存有运算处理P1所需的数据的情况,经由DB管理部205从运算DB4进行数据的读出,且开始执行运算处理P1。从运算DB4向运算部206的数据的读出被构成在相同的重构电路203上,所以能够在短时间实施。
在时刻t4,正执行运算处理P1的运算部206经由DB管理部205开始向结果DB5的执行结果的储存。处理控制部202将结果类别605变更为“A”,将结果DB状态606变更为“有储存”。处理控制部202经由DB管理部205开始结果DB5的读出,取得运算处理P1的结果数据24。从运算部206对结果DB5的数据的写入被构成在相同的重构电路203上,所以在短时间完成。
在时刻t5运算部206的向结果DB5的结果数据的写入完成。即运算部206的处理完成,所以处理控制部202开始下一电路数据、即图3中标号302-3所示的处理信息3的处理电路数据、即逻辑电路B的电路数据的发送。处理控制部202进而将对运算部206的重构指示21发送至重构管理部204。由此,运算部206再次成为重构中。此外此时处理控制部202将电路类别601变更为“B”,将重构状态602变更为“重构中”。
在时刻t6,处理控制部202完成从结果DB5读出运算处理P1的结果数据24,结果DB状态606被变更为“取得完毕”。并且,处理控制部202开始运算处理P2的执行。
在时刻t7,若逻辑电路B的电路数据的发送结束,运算部206的重构完成,则重构管理部204将重构完成通知22发送至处理控制部202。并且重构状态602被变更为“完成”。不过,由于处理信息2尚在执行中而逻辑电路B设为处理对象的运算数据未被得到,因此运算部206中的运算尚未被开始。
若在时刻t8处理控制部202完成运算处理P2的执行,则处理控制部202将运算处理P3所需的运算数据23写入至运算DB4。此时处理控制部202将运算类别603变更为“B”,将运算DB状态604变更为“储存中”。此外在时刻t7对运算部206的逻辑电路B的重构完成,所以运算部206确认在运算DB4中储存有运算处理P3所需的数据的情况,经由DB管理部205从运算DB4进行数据的读出,且开始运算处理P3的执行。
若在时刻t9对运算数据23的运算DB4的写入完成,则处理控制部202将运算DB状态604变更为“设定完毕”。另外,从运算DB4向运算部206的数据的读出能够在短时间实施,所以在相同的时刻t9设为完成读出。
在时刻t10,正执行运算处理P3的运算部206经由DB管理部205开始向结果DB5的执行结果的储存。此时由处理控制部202进行的从结果DB5的结果数据24的读出也被开始。处理控制部202将结果类别605变更为“B”,将结果DB状态606变更为“有储存”。
若在时刻t11执行结果的向结果DB5的写入完成,则处理控制部202为了构成下一运算部206而将逻辑电路C的电路数据、及重构指示21发送至重构管理部204。另外在时刻t10~时刻t11的期间中对结果DB5的写入完成,但处理控制部202存在于重构电路203的外部所以从结果DB5的读出在时刻t11未完成而继续。处理控制部202将电路类别601变更为“C”,将重构状态602变更为“重构中”。
在时刻t12,处理控制部202从结果DB5完成运算处理P3的结果数据24的读出,将结果DB状态606变更为“取得完毕”。并且处理控制部202开始运算处理P4的执行。
若在时刻t13,处理控制部202完成运算处理P4的执行,则将下一运算处理P5所需的运算数据23写入至运算DB4。此时运算部206继续重构,与该重构并行而将运算数据23写入至运算DB4,从而准备于重构完成后的运算处理P5的执行开始。此外此时处理控制部202将运算类别603变更为“C”,将运算DB状态604变更为“储存中”。
若在时刻t14逻辑电路C的电路数据的发送、及运算部206的重构完成,则重构管理部204将重构完成通知22发送至处理控制部202。处理控制部202将重构状态602变更为完成。重构完成的运算部206确认在运算DB4中储存有运算处理P5所需的数据的情况,经由DB管理部205从运算DB4进行数据的读出,且开始执行运算处理P5。
若在时刻t15运算数据23的向运算DB4的写入完成,则处理控制部202将运算DB状态604变更为“设定完毕”。另外,从运算DB4向运算部206的数据的读出能够在短时间实施,所以在相同的时刻t15读出完成。
在时刻t16,正执行运算处理P5的运算部206经由DB管理部205开始向结果DB5的执行结果的储存。此时由处理控制部202进行的从结果DB5的结果数据24的读出也被开始。处理控制部202将结果类别605变更为“C”,将结果DB状态606变更为“有储存”。
在时刻t17,执行结果的向结果DB5的写入完成。另外从结果DB5的读出在时刻t17未完成而继续。
在时刻t18,处理控制部202完成从结果DB5读出运算处理P5的结果数据24,将结果DB状态606变更为“取得完毕”。此外处理控制部202基于运算处理P5的结果数据24而输出控制指令。在时刻t19完成控制指令的输出,处理控制部202结束时间T的1周期量的处理。
<与现有技术的比较>
图11是表示第一实施方式中的自主行驶控制装置2、和以往的自主行驶控制装置(以下,以往自主行驶控制装置)的比较的时间图。以往自主行驶控制装置不具备运算DB4及结果DB5,以往运算部从以往处理控制部直接接收运算数据,直接输出结果数据。图11通过与图示中间位置程度相比稍微偏下处记载的时刻信息而被分断为上一半和下一半。在图11的上一半中,原样示出了图10所示的几个要素。在图11的下一半中,示出以往自主行驶控制装置中的以往的处理控制部(以下,以往处理控制部)及以往的运算部(以往运算部)的动作定时。其中在此,设为以往自主行驶控制装置也按照图4所示的处理信息DB3的记述而动作。
以往运算部在时刻t0至时刻t1与处理控制部202同样地参照处理信息DB3对处理次数301及处理信息302进行分析。以往运算部在时刻t1至时刻t3进行重构。并且以往运算部在重构完成的时刻t3开始P1的运算。在时刻t3以后,以往运算部从以往处理控制部接收运算数据而进行运算。并且以往运算部将通过运算而得到的结果数据输出至以往处理控制部。
以往运算部从处于重构电路203的外部的处理控制部接收运算数据,因此运算部206针对其读入需要与从运算DB4读入运算数据的时间相比更长的时间。关于以往运算部的结果数据的输出也同样。因此运算部206和以往运算部进行了相同的处理,但输入输出所需的时间不同因此所需时间不同。具体而言以往运算部结束运算处理P1的运算数据的输出的时刻t6A与处理控制部202从结果DB5结束读出全部数据的时刻t6相比更晚。
以往处理控制部从时刻t6A开始运算处理P2。该处理所需的时间与处理控制部202运算处理P2所需的时间同一。在时刻t8A中,以往处理控制部完成了运算处理P2,因此以往运算部为了下一运算处理P3而开始重构。另外此时刻t8A与运算部206开始运算处理P3的时刻t8相比更晚。在时刻t10A中,以往运算部的重构完成,以往运算部开始运算处理P3。以往运算部与运算处理P1同样地将运算数据从以往处理控制部取得且进行运算,将其结果数据输出至以往处理控制部。因此以往运算部运算处理P3所需的时间与运算部206运算处理P3所需的时间相比更长。
这样运算部206与若与以往运算部相比,则等价于能够用于输入输出的带域更宽的状态,因此在进行同一处理的情况下也在短时间完成。此外运算部206若紧前的运算部206的处理完成则立刻为了下一处理而开始重构,因此从紧前的运算完成至运算部206开始动作为止时间短。
根据上述的第一实施方式,得到下面的作用效果。
(1)自主行驶控制装置2具备:部分可重构的重构电路203,构成有被重构而执行运算的运算部206、及储存运算部206设为运算对象的运算数据的运算DB4;以及处理控制部202,将用于使运算部206重构的电路数据、及运算数据发送至重构电路203的运算DB4。处理控制部202若得到例如运算处理P1所涉及的运算数据,则无论运算部206的重构是否完成,都开始向运算DB4的运算数据的发送。运算部206使用在运算DB4中储存的运算数据进行运算。
运算DB4与运算部206被构成为同一重构电路203,因此从运算DB4向运算部206的运算数据的转发与从处理控制部202向运算部206的直接的数据转发相比在更短时间完成。处理控制部202领先于运算部206的重构完成而开始向运算DB4的运算数据的发送,因此运算部206通过从运算DB4读入运算数据而能够缩短运算数据的读入所需的时间。即,自主行驶控制装置2具有上述结构,因此在处理控制部202和运算部206交替地进行处理那样的非连续地处理数据的情况下能够缩短处理时间。此外从与图11所示的以往例的比较可知,自主行驶控制装置2使重构电路203的利用效率提高。
(2)在运算部206接下来设为运算对象的数据通过处理控制部202的例如运算处理P2而被生成的情况下,若处理控制部202中的运算处理P2完成,则处理控制部202判断为得到运算部206接下来设为运算对象的数据。
(3)处理控制部202在能够将电路数据及运算数据这双方发送至重构电路203的情况下,在图8中与S605相比先执行S603,因此将电路数据优先发送至重构电路203。即使不如图10的t8所示那样将运算数据的全部储存至运算DB4也能够开始运算部206的运算。但是若不是将电路数据的全部完成发送至重构电路203之后,就不能开始运算部206的运算。因此与运算数据相比将电路数据优先发送至重构电路203,能够使运算部206的运算提前开始。
(4)能够将电路数据发送至重构电路203的情况是,运算部206中的运算完成的情况。能够将运算对象数据发送至重构电路203的情况是,从运算DB4读出全部运算数据,且得到下次运算对象数据的情况。
(5)在重构电路203中,构成对运算部206的运算结果进行储存的结果DB5。若在结果DB5中储存运算部206的运算结果,则处理控制部202发送用于运算部206的重构的电路数据。结果DB5与运算部206被构成为同一重构电路203,因此从运算部206向结果DB5的数据转发与从结果DB5向处理控制部202的数据转发相比在更短时间完成。因此,与从运算部206向处理控制部202转发结果数据的情况相比,能够提前开始运算部206的重构。
(变形例1)
处理控制部202若在图8的步骤S603中开始电路数据的转发则判断运算数据的获得可能性,在能够获得的情况下立刻开始运算数据的转发。即在上述的实施方式中,有在开始了电路数据的转发的紧后开始运算数据的转发的情况。但是,运算数据的转发也可以以从电路数据的转发开始起经过了预先决定的时间为条件而开始运算数据的转发。
(变形例2)
处理控制部202也可以大致同时开始电路数据的发送和运算数据的发送。
图12是代替上述的实施方式中的图8而表示本变形例中的处理控制部202的动作的流程图。其中在图12中主要记载有与图8的不同点,省略的部分与图8的动作同样。此外对进行与图8同一处理的步骤赋予同一步骤号。
若在步骤S602中进行肯定判断,则处理控制部202并行开始步骤S603A和步骤S604A的处理。在步骤S603A中,处理控制部202开始电路数据的转发。在步骤S604A中,若处理控制部202进行肯定判定则进行步骤S605A的处理。处理控制部202若步骤S603A及步骤S605A这双方的处理完成,则开始步骤S606的处理。
根据该变形例2,大致同时开始电路数据的发送和运算数据的发送,能够使运算数据对运算DB4的转发稍早地完成。
(变形例3)
处理控制部202在能够发送电路数据和运算数据这双方的情况下,也可以基于后续的处理所需的时间而决定将电路数据及运算对象数据的哪个发送优先。
图13是代替上述的实施方式中的图8而表示本变形例中的处理控制部202的动作的流程图。其中在图13中主要记载有与图8的不同点,省略的部分与图8的动作同样。此外对进行与图8同一处理的步骤赋予同一步骤号。
若在步骤S602中进行肯定判断,则处理控制部202前进至步骤S604B。在步骤S604B中,处理控制部202判断是否能够获得运算数据,在进行肯定判断的情况下前进至步骤S641,在进行否定判断的情况下前进至步骤S603C。在步骤S641中,处理控制部202判断从电路数据向重构管理部204的转发开始至运算部206的重构完成为止的时间是否比运算数据向运算DB4的转发所需的时间更短。在判断为前者的时间比后者的时间短的情况下前进至步骤S605B,在进行相反的判断的情况下前进至步骤S603D。在步骤S605B中开始运算数据的转发,在接着的步骤S643中待机规定的时间。步骤S643中的待机时间例如是,从电路数据向重构管理部204的转发开始至运算部206的重构完成为止的时间、和运算数据对运算DB4的转发所需的时间之差。在接着的步骤S603B中开始电路数据的转发,前进至步骤S606。
若在步骤S604B中被进行否定判断则在被执行的步骤S603C中,处理控制部202开始电路数据的转发而前进至步骤S604A。若在步骤S641中被进行否定判断则在被执行的步骤S603D中,开始电路数据的转发而前进至步骤S642。在步骤S642中,待机规定的时间而前进至步骤S604A。步骤S643中的待机时间例如是,从电路数据向重构管理部204的转发开始至运算部206的重构完成为止的时间、和运算数据向运算DB4的转发所需的时间之差。即在该情况下,运算部206的重构完成和运算数据的转发的完成成为大致同时。
在步骤S604A中,处理控制部202重新判断运算数据是否能够获得,在进行否定判断的情况下在步骤S631A中待机后再次执行步骤S604A。在步骤S604A中进行肯定判断的情况下前进至步骤S605C。在步骤S605C中开始运算数据的转发,前进至步骤S606。步骤S606以后的处理与第一实施方式同样因此省略说明。
另外在运算部206的重构与电路数据等的转发相比在更短时间完成的情况、或如图10的时间图所示能够同时执行电路数据的转发和运算部206的重构的情况下,也可以将上述的流程图如以下那样变形。即,在步骤S641及步骤S642中,也可以代替从电路数据向重构管理部204的转发开始至运算部206的重构完成为止的时间,评价电路数据向重构管理部204的转发所需的时间。此外步骤S643中,也可以决定待机时间以使运算数据的转发的完成与运算部206的重构完成相比更早地完成。此外在步骤S643中,也可以决定待机时间以使在先开始发送的数据的转发完成的定时开始后面的数据的发送。
根据该变形例3,除了第一实施方式中的作用效果外得到下面的作用效果。
(1)处理控制部202在能够将电路数据及运算对象数据这双方发送至重构电路203的情况下,基于电路数据的发送所需的时间、及运算对象数据的发送所需的时间,决定将电路数据及运算对象数据的哪个发送优先。因此先发送需要较长的转发时间的数据,能够缩短直至运算部206的重构完成后的运算开始为止的时间。
(2)处理控制部202基于电路数据的发送所需的时间和运算对象数据的发送所需的时间,决定将电路数据及运算对象数据的哪个设为先发送的先发送数据,将另一方设为后发送数据,基于电路数据的发送所需的时间和运算对象数据的发送所需的时间之差而决定后发送待机时间,在发送了先发送数据之后,待机了后发送待机时间之后发送后发送数据。因此能够高效地发送电路数据及运算数据。
(3)处理控制部202决定后发送待机时间以使运算部206的重构的完成、和运算数据向运算DB4的转发的完成成为同时。因此能够缩短直至运算部206的重构完成后的运算开始为止的时间。
(变形例4)
处理控制部202在能够发送电路数据和运算数据这双方的情况下,也可以基于后续的处理所需的时间而优先发送运算数据。
图14是代替上述的实施方式中的图8而表示本变形例中的处理控制部202的动作的流程图。此外对进行与图8同一处理的步骤赋予同一步骤号。
步骤S601及步骤S602的处理与图8同样因此省略说明。若在步骤S602中进行肯定判断,则处理控制部202并行执行步骤S608A及步骤S651。另外在步骤S602中被进行否定判断的情况下的处理与第一实施方式同样因此省略说明。
在步骤S608A中,处理控制部202判断在结果DB5中是否储存了全部结果数据,即运算部206的运算是否完成。在判断为运算部206的运算完成的情况下前进至步骤S603E,在判断为运算部206的运算未完成的情况下再次执行步骤S608A。其中在执行步骤S608A之前也可以待机规定的时间。另外在处理ID为“1”的情况下在步骤S608A中进行肯定判断。在步骤S603E中,处理控制部202开始电路数据的转发。
在步骤S651中,处理控制部202判断从运算DB4的运算数据的读出是否完成。运算数据的读出是否完成的判断能够通过运算DB管理信息211中的总运算数据数402的字段的值和读出数据数405的字段的值是否一致来进行。在步骤S651中进行肯定判断的情况下前进至步骤S604B,在步骤S651中进行否定判断的情况下再次执行步骤S651。其中在执行步骤S651之前也可以待机规定的时间。在处理ID为“1”的情况下在步骤S651中进行肯定判断。在步骤S604B中,判断处理ID所示的运算处理所使用的运算数据是否能够获得。在判断为能够获得的情况下前进至步骤S605E而开始运算数据的转发,在判断为运算数据尚不能获得的情况下再次执行步骤S604B。
若步骤S603E及步骤S605E这双方被执行,则处理控制部202执行步骤S606。处理控制部202若执行步骤S606及步骤S607则执行步骤S609。步骤S609的处理、及在步骤S609中被进行否定判断的情况下被执行的步骤S634的处理与第一实施方式同样因此省略说明。
(变形例5)
在运算部206中连续进行处理的情况下,也可以不将在结果DB5中储存的结果数据转发至处理控制部202,而设为向接下来构成的运算部206的输入。在该情况下,运算DB4和结果DB5临时地调换作用从而能够应对。以例如在运算部206中持续处理运算处理Q1和运算处理Q2的情况为例进行说明。运算部206将运算处理Q1的运算结果储存至结果DB5。若关于运算处理Q1而将全部运算结果储存至结果DB5,则运算部206为了执行运算处理Q2而开始重构。若该重构完成,则运算部206从结果DB5读取运算处理Q1的结果数据、即运算处理Q2的运算数据而开始处理。并且运算部206将运算处理Q2的运算结果输出至运算DB4。根据本变形例,在运算部206中连续进行处理的情况下在重构电路203中对数据进行高速缓存,因此将由处理控制部202进行的读写一部分省略,能够将处理高速化。
-第二实施方式-
参照图15~图17,说明本发明所涉及的电子控制装置即自主行驶控制装置的第二实施方式。在以下的说明中,对与第一实施方式相同的结构要素赋予相同的标号而主要说明不同点。关于没有特别说明的点,与第一实施方式相同。在本实施方式中,主要在处理控制部具备对处理控制部202中的运算处理进行管理的内部处理管理部、和对重构电路中的运算处理进行管理的外部处理管理部的点上,与第一实施方式不同。
<自主行驶控制装置的功能结构>
图15是第二实施方式中的自主行驶控制装置2的功能结构图。与第一实施方式的差异是处理控制部202还具备内部处理管理部230和外部处理管理部240的点。内部处理管理部230及外部处理管理部240通过CPU251执行在ROM252中储存的程序而实现。内部处理管理部230及外部处理管理部240共享处理ID的信息,若其中一方变更处理ID的值则另一方也变更处理ID的值。
<内部处理管理部的流程图>
图16是表示内部处理管理部230的动作的流程图。内部处理管理部230按规定的每个处理周期T执行以下的流程图所示的动作。此外对进行与图8同一处理的步骤附加同一步骤号。在以下主要说明与图8不同的点。在以下说明的流程图所写的步骤的实施主体是CPU251。在开始图16所示的流程图的紧前,通过处理控制部202而对处理ID代入了“1”。
在步骤S702中,内部处理管理部230参照处理信息DB3,判断处理ID所示处理信息中的处理是否在处理控制部202中被执行。该判断在处理ID所示的处理信息中,若电路被设定为“无”则被进行肯定判断,若被设定其以外则被进行否定判断。内部处理管理部230在进行肯定判断的情况下前进至步骤S621,在进行否定判断的情况下再次执行步骤S702。另外在步骤S702中被进行否定判断的情况下,等待通过外部处理管理部240而更新处理ID。
步骤S621以下的处理与第一实施方式同样。若在步骤S609中处理ID被判断为规定值、即处理信息DB3的处理次数的字段的值以上则结束图16所示的动作。
<外部处理管理部的流程图>
图17是表示外部处理管理部240的动作的流程图。外部处理管理部240按规定的每个处理周期T而执行以下的流程图所示的动作。此外对进行与图8同一处理的步骤赋予同一步骤号。在以下主要说明与图8不同的点。在以下说明的流程图所写的步骤的实施主体是CPU251。在开始图17所示的流程图的紧前,通过处理控制部202而对处理ID代入“1”。
在步骤S752中,外部处理管理部240参照处理信息DB3,确定在处理ID的值以后的处理中最初由运算部206执行的运算。例如在处理ID为“2”而处理信息DB3为图4所示的例的情况下,“P3”被确定。原因是,处理信息2被记录为“电路:无”因此运算P2不由运算部206执行,其下一处理信息3的运算P3被记录为“电路:B”而由运算部206执行。若步骤S752的处理完成,则外部处理管理部240并行执行步骤S603F的处理和步骤S604F的处理。
在步骤S603F中,外部处理管理部240开始与在步骤S752中确定的运算对应的电路数据的转发。在步骤S604F中,外部处理管理部240判断在步骤S752中确定的运算中被使用的运算数据是否能够获得。在判断为能够获得的情况下前进至步骤S605F,在判断为尚不能获得的情况下再次执行步骤S604F。另外在步骤S604F中被进行否定判断的情况下,等待内部处理管理部230的运算完成。在步骤S605F中,外部处理管理部240开始在步骤S752中确定的运算中待使用的运算数据的向运算DB4的转发。
若步骤S603F及步骤S605F这双方的执行完成,则外部处理管理部240执行步骤S606。步骤S606至步骤S609的处理与第一实施方式同样因此省略说明。若在步骤S609中被进行否定判断,则对处理ID进行增量,即、使其增加“1”而返回至步骤S752。
根据上述的第二实施方式,得到下面的作用效果。
(1)处理控制部202具备内部处理管理部230和外部处理管理部240。内部处理管理部230及外部处理管理部240并行执行处理。外部处理管理部240确定在当前的处理ID以后最初由运算部206执行的运算。然后外部处理管理部240开始电路数据的转发,并且判断在运算部206中接下来设为运算对象的运算数据是否能够获得而在能够获得的情况下开始运算数据的转发。
因此在运算部206中的处理之后,即使处理控制部202中的处理进行2次以上的情况下,若运算部206中的处理完成则也能够开始用于运算部206的重构的电路数据的发送。
设为自主行驶控制装置2所执行的程序被储存至ROM252,但程序也可以被储存至闪速存储器254。此外,自主行驶控制装置2具备未图示的输入输出接口,在需要时也可以经由输入输出接口和ECU1能够利用的介质,从其他装置读入程序。在此介质是指,例如能够相对输入输出接口装卸的存储介质、或者通信介质、即有线、无线、光等网络、或者在该网络中传播的输送波、数字信号。
上述的各实施方式及变形例也可以分别组合。在上述中,说明了各种实施方式及变形例,但本发明并非被限定于这些内容。在本发明的技术的思想的范围内认为的其他方式也被包含于本发明的范围内。
下面的优先权基础申请的公开内容作为引用文而被编入此处。
日本专利申请2017年第085365号(2017年4月24日申请)
标号说明
1……车载系统
2……自主行驶控制装置
3……处理信息数据库
4……运算数据库
5……结果数据库
6……电路数据库
21……重构指示
22……重构完成通知
23……运算数据
24……结果数据
202……处理控制部
203……重构电路
204……重构管理部
205……数据库管理部
206……运算部
211……运算数据库管理信息
212……结果数据库管理信息
213……状态管理信息
230……内部处理管理部
240……外部处理管理部

Claims (15)

1.一种电子控制装置,其中,具备:
部分可重构的逻辑电路,构成有被重构而执行运算的运算部、及储存所述运算部设为运算对象的运算对象数据的储存部;以及
处理控制部,将用于使所述运算部重构的电路数据、及所述运算对象数据发送至所述逻辑电路,
所述处理控制部若得到重构完成后的所述运算部即下次运算部所涉及的所述运算对象数据即下次运算对象数据,则无论所述下次运算部的重构是否完成,都开始向所述储存部发送所述下次运算对象数据,
重构完成的所述下次运算部使用所述下次运算对象数据进行运算。
2.如权利要求1所述的电子控制装置,其中,
在所述下次运算对象数据通过所述运算部以外的处理而被生成的情况下,若所述处理完成则所述处理控制部判断为得到所述下次运算对象数据。
3.如权利要求1所述的电子控制装置,其中,
所述处理控制部在能够将所述电路数据及所述运算对象数据这双方发送至所述逻辑电路的情况下,将所述电路数据优先发送至所述逻辑电路。
4.如权利要求1所述的电子控制装置,其中,
所述处理控制部在能够将所述电路数据及所述运算对象数据这双方发送至所述逻辑电路的情况下,基于所述电路数据向所述逻辑电路的发送所需的时间即电路数据转发时间、及所述运算对象数据向所述逻辑电路的发送所需的时间即运算数据转发时间,决定将所述电路数据及所述运算对象数据的哪个设为先发送的先发送数据,将另一方设为后发送的后发送数据。
5.如权利要求4所述的电子控制装置,其中,
所述处理控制部基于所述电路数据转发时间和所述运算数据转发时间之差而决定后发送待机时间,
所述处理控制部在发送了所述先发送数据之后,待机了所述后发送待机时间之后发送所述后发送数据。
6.如权利要求5所述的电子控制装置,其中,
所述处理控制部决定所述后发送待机时间以使所述电路数据的发送的完成和所述运算对象数据的发送的完成成为同时。
7.如权利要求3或者权利要求4所述的电子控制装置,其中,
能够将所述电路数据发送至所述逻辑电路的情况是,所述运算部中的所述运算完成的情况,
能够将所述运算对象数据发送至所述逻辑电路的情况是,从所述储存部读出全部所述运算对象数据,且得到所述下次运算对象数据的情况。
8.如权利要求1所述的电子控制装置,其中,
在所述逻辑电路中,还构成有储存所述运算部的运算结果的结果储存部,
若在所述结果储存部中储存有所述运算部的运算结果,则所述处理控制部开始用于所述运算部的重构的所述电路数据的发送。
9.一种逻辑电路的控制方法,用于部分可重构的逻辑电路,该部分可重构的逻辑电路构成有使用被发送的电路数据而被重构来执行运算的运算部、及储存所述运算部设为运算对象的运算对象数据的储存部,其中,该控制方法包含:
若得到重构完成后的所述运算部即下次运算部所涉及的所述运算对象数据即下次运算对象数据,则无论所述下次运算部的重构是否完成,都开始向所述储存部发送所述下次运算对象数据,
若重构完成则所述下次运算部使用所述下次运算对象数据进行运算。
10.如权利要求9所述的逻辑电路的控制方法,其中,
在所述下次运算对象数据通过所述运算部以外的处理而被生成的情况下,若所述处理完成则判断为得到所述下次运算对象数据。
11.如权利要求9所述的逻辑电路的控制方法,其中,
在能够将所述电路数据及所述运算对象数据这双方发送至所述逻辑电路的情况下,将所述电路数据优先发送至所述逻辑电路。
12.如权利要求9所述的逻辑电路的控制方法,其中,
在能够将所述电路数据及所述运算对象数据这双方发送至所述逻辑电路的情况下,基于所述电路数据向所述逻辑电路的发送所需的时间即电路数据转发时间、及所述运算对象数据向所述逻辑电路的发送所需的时间即运算数据转发时间,决定将所述电路数据及所述运算对象数据的哪个设为先发送的先发送数据,将另一方设为后发送的后发送数据。
13.如权利要求12所述的逻辑电路的控制方法,其中,
基于所述电路数据转发时间和所述运算数据转发时间之差而决定后发送待机时间,
在发送了所述先发送数据之后,待机了所述后发送待机时间之后发送所述后发送数据。
14.如权利要求11或者权利要求12所述的逻辑电路的控制方法,其中,
能够将所述电路数据发送至所述逻辑电路的情况是,所述运算部中的所述运算完成的情况,
能够将所述运算对象数据发送至所述逻辑电路的情况是,从所述储存部读出全部所述运算对象数据,且得到所述下次运算对象数据的情况。
15.如权利要求9所述的逻辑电路的控制方法,其中,
在所述逻辑电路中,还构成有储存所述运算部的运算结果的结果储存部,
若在所述结果储存部中储存有所述运算部的运算结果,则发送用于所述运算部的重构的所述电路数据。
CN201880025847.1A 2017-04-24 2018-03-22 电子控制装置、逻辑电路的控制方法 Active CN110520855B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017085365A JP6810651B2 (ja) 2017-04-24 2017-04-24 電子制御装置、論理回路の制御方法
JP2017-085365 2017-04-24
PCT/JP2018/011517 WO2018198616A1 (ja) 2017-04-24 2018-03-22 電子制御装置、論理回路の制御方法

Publications (2)

Publication Number Publication Date
CN110520855A CN110520855A (zh) 2019-11-29
CN110520855B true CN110520855B (zh) 2023-01-20

Family

ID=63918915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880025847.1A Active CN110520855B (zh) 2017-04-24 2018-03-22 电子控制装置、逻辑电路的控制方法

Country Status (5)

Country Link
US (1) US11132329B2 (zh)
JP (1) JP6810651B2 (zh)
CN (1) CN110520855B (zh)
DE (1) DE112018001595T5 (zh)
WO (1) WO2018198616A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215603A (ja) * 2001-01-19 2002-08-02 Sony Corp 演算装置および並列演算装置
JP2006107532A (ja) * 2006-01-05 2006-04-20 Fuji Xerox Co Ltd 情報処理システムおよび情報処理方法
JP2006333496A (ja) * 2006-06-22 2006-12-07 Fuji Xerox Co Ltd プログラマブル論理回路装置および情報処理システム
CN1975704A (zh) * 2005-11-01 2007-06-06 株式会社日立制作所 可重构处理器或装置
JP2007228052A (ja) * 2006-02-21 2007-09-06 Nec Engineering Ltd 再構成データ制御回路および再構成データ制御方法
CN101346695A (zh) * 2005-12-27 2009-01-14 松下电器产业株式会社 具有可重构的运算器的处理器
CN102057575A (zh) * 2008-06-05 2011-05-11 松下电器产业株式会社 信号处理装置、信号处理方法、信号处理用集成电路及电视接收机
CN102567281A (zh) * 2011-12-16 2012-07-11 北京大学深圳研究生院 可重构调度算子阵列结构、集成电路阵列结构及控制模块

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020673B2 (en) 2001-01-19 2006-03-28 Sony Corporation Reconfigurable arithmetic device and arithmetic system including that arithmetic device and address generation device and interleave device applicable to arithmetic system
WO2004072796A2 (en) * 2003-02-05 2004-08-26 Arizona Board Of Regents Reconfigurable processing
JP5373620B2 (ja) * 2007-11-09 2013-12-18 パナソニック株式会社 データ転送制御装置、データ転送装置、データ転送制御方法及び再構成回路を用いた半導体集積回路
JP5994679B2 (ja) * 2013-02-26 2016-09-21 株式会社ソシオネクスト 処理装置、及び処理装置の制御方法
CN105659287B (zh) * 2013-08-28 2018-08-17 株式会社理光 图像处理装置、图像处理方法和成像系统
US20160025497A1 (en) * 2014-07-24 2016-01-28 Harman International Industries, Incorporated Pre-caching of navigation content based on cellular network coverage
JP6685694B2 (ja) 2015-10-28 2020-04-22 キヤノン株式会社 画像形成装置、情報処理装置及びその制御方法並びにコンピュータプログラム、記録媒体
JP6713410B2 (ja) * 2016-11-21 2020-06-24 日立オートモティブシステムズ株式会社 電子制御装置
US11334263B2 (en) * 2018-01-11 2022-05-17 Intel Corporation Configuration or data caching for programmable logic device
FR3086412B1 (fr) * 2018-09-20 2020-10-30 Amadeus Sas Recalcul des resultats de recherche precalcules

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215603A (ja) * 2001-01-19 2002-08-02 Sony Corp 演算装置および並列演算装置
CN1975704A (zh) * 2005-11-01 2007-06-06 株式会社日立制作所 可重构处理器或装置
CN101346695A (zh) * 2005-12-27 2009-01-14 松下电器产业株式会社 具有可重构的运算器的处理器
JP2006107532A (ja) * 2006-01-05 2006-04-20 Fuji Xerox Co Ltd 情報処理システムおよび情報処理方法
JP2007228052A (ja) * 2006-02-21 2007-09-06 Nec Engineering Ltd 再構成データ制御回路および再構成データ制御方法
JP2006333496A (ja) * 2006-06-22 2006-12-07 Fuji Xerox Co Ltd プログラマブル論理回路装置および情報処理システム
CN102057575A (zh) * 2008-06-05 2011-05-11 松下电器产业株式会社 信号处理装置、信号处理方法、信号处理用集成电路及电视接收机
CN102567281A (zh) * 2011-12-16 2012-07-11 北京大学深圳研究生院 可重构调度算子阵列结构、集成电路阵列结构及控制模块

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sequential associative information storage and reconstruction in a holographic circuit;H.J.Mager等;《Optics Communications》;19731030;第156-160页 *
基于可重构技术的数字系统再生设计;邵利兵等;《舰船电子工程》;20101130(第11期);第130-133页 *

Also Published As

Publication number Publication date
US11132329B2 (en) 2021-09-28
CN110520855A (zh) 2019-11-29
DE112018001595T5 (de) 2020-01-02
JP6810651B2 (ja) 2021-01-06
US20200050580A1 (en) 2020-02-13
JP2018186332A (ja) 2018-11-22
WO2018198616A1 (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
US20200310694A1 (en) Computational storage and networked based system
EP2482195B1 (en) Semiconductor device and host apparatus
CN104054108A (zh) 可动态配置的流水线预处理器
US11318929B2 (en) Electronic control apparatus, electronic control system, and electronic control method
WO2019094105A1 (en) High performance context switching for virtualized fpga accelerators
CN110520855B (zh) 电子控制装置、逻辑电路的控制方法
US11878704B2 (en) Electronic control device and control method
US11789730B2 (en) Electronic control device and control method
CN110291513B (zh) 电子控制装置、电子控制系统和电子控制装置的控制方法
US20230134744A1 (en) Execution State Management
CN110915138B (zh) 电子控制装置和电路的重构方法
CN105980982A (zh) 信息装置
US20220300445A1 (en) Electronic Control Unit, Vehicle Comprising the Electronic Control Unit and Computer-Implemented Method
CN109634230B (zh) 一种信号采集与控制装置及其业务配置方法
US11163605B1 (en) Heterogeneous execution pipeline across different processor architectures and FPGA fabric
WO2020059347A1 (ja) 電子制御装置
US20110063884A1 (en) Structure and method for backing up and restitution of data
JP7201381B2 (ja) 電子制御装置、並列処理方法
CN115562137A (zh) 一种飞行控制软件架构和飞行控制方法、装置及电子设备
JP2024048009A (ja) 制御システム
CN116561049A (zh) 一种基于片内处理器配置码流的fpga及码流配置方法
US20090144461A1 (en) Method and system for configuration of a hardware peripheral
CN117916715A (zh) 用于将计算功能块的执行从车辆转移到个人设备的装置、方法和计算机程序
CN116204480A (zh) 虚拟化串口通信方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Ibaraki

Applicant after: Hitachi astemo Co.,Ltd.

Address before: Ibaraki

Applicant before: HITACHI AUTOMOTIVE SYSTEMS, Ltd.

GR01 Patent grant
GR01 Patent grant