CN108614799B - 实时操作***中在主核和次核之间进行数据交换的方法 - Google Patents
实时操作***中在主核和次核之间进行数据交换的方法 Download PDFInfo
- Publication number
- CN108614799B CN108614799B CN201711287673.XA CN201711287673A CN108614799B CN 108614799 B CN108614799 B CN 108614799B CN 201711287673 A CN201711287673 A CN 201711287673A CN 108614799 B CN108614799 B CN 108614799B
- Authority
- CN
- China
- Prior art keywords
- data
- flag
- freeze
- core
- path
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60K—ARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
- B60K6/00—Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00
- B60K6/20—Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs
- B60K6/22—Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs characterised by apparatus, components or means specially adapted for HEVs
- B60K6/26—Arrangement or mounting of plural diverse prime-movers for mutual or common propulsion, e.g. hybrid propulsion systems comprising electric motors and internal combustion engines ; Control systems therefor, i.e. systems controlling two or more prime movers, or controlling one of these prime movers and any of the transmission, drive or drive units Informative references: mechanical gearings with secondary electric drive F16H3/72; arrangements for handling mechanical energy structurally associated with the dynamo-electric machine H02K7/00; machines comprising structurally interrelated motor and generator parts H02K51/00; dynamo-electric machines not otherwise provided for in H02K see H02K99/00 the prime-movers consisting of electric motors and internal combustion engines, e.g. HEVs characterised by apparatus, components or means specially adapted for HEVs characterised by the motors or the generators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
- B60W10/08—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units including control of electric propulsion units, e.g. motors or generators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种在实时操作***中在多核处理器的主核和次核之间交换数据的方法,包括经由主核执行主路径和经由次核执行次路径。主路径被配置为相对较快的处理任务,并且次路径被配置为相对较慢的处理任务。该方法包括设计冻结处理标记以使主路径设置和清除相应的标记状态。该方法包括设计数据冻结标记以使主路径和次路径设置和清除相应标记状态。可以至少部分地基于由主核和次核分别执行的第一组计算和第二组计算之间的差值来控制可操作地连接至多核处理器的部件。
Description
背景技术
本公开涉及在实时操作***中在多核处理器的主核和次核之间交换 数据的方法。***可以采用多个核或处理器以各种处理速度执行相应相互 独立的路径。该***可能需要相应路径之间的数据交换或传输。
发明内容
一种在实时操作***中在多核处理器的主核和次核之间交换数据的 方法,包括经由主核执行主路径和经由次核执行次路径。主路径配置为相 对更快的处理任务,而次路径配置为相对较慢的处理任务。该方法包括设 计冻结处理标记以使主路径设置和清除相应的标记状态。该方法包括设计 数据冻结标记以使主路径和次路径两者设置和清除相应标记状态。可以至 少部分地基于由主核和次核分别执行的第一组计算和第二组计算之间的 差值来控制可操作地连接至多核处理器的部件。
该方法能够避免由于主路径(更快的处理任务)和次路径(更慢的处 理任务)之间的***中的重叠任务而导致的错误,其中较慢的处理任务要 求输入数据从更快的处理任务被复制或冻结。次路径包括确定由主核执行 的第一组计算与第二组计算之间的差值是否等于或小于阈值。如果差值等 于或小于阈值,则可以调整部件。该部件可以包括但不限于内燃机或混合 动力推进***。
主路径包括至少部分地基于数据冻结标记和冻结处理标记的相应状 态来确定输入数据是否应该被冻结。主路径包括对输入数据执行第一组计 算以获得输出数据。次路径包括至少部分地基于数据冻结标记的相应状态 对输入数据执行第二组计算。次路径需要将输入数据从主核传输到次核以 执行第二组计算。
该方法包括如果在所述确定输入数据是否应该被冻结以及所述执行 第一组计算之间的时间段期间执行次路径,则经由冻结处理标记和数据冻 结标记防止在第二组计算中使用输入数据。
至少部分地基于数据冻结标记和冻结处理标记的相应状态确定输入 数据是否应该被冻结包括:如果数据冻结标记和冻结处理标记两者的相应 状态均为假,则冻结输入数据并将冻结处理标记的相应状态设置为真。冻 结输入数据可以从主核传输到次核。如果数据冻结标记的相应状态为真, 并且冻结处理标记为真,则主路径将重新设置冻结处理标记和数据冻结标 记的相应状态为假。
主路径包括至少部分地基于数据冻结标记和冻结处理标记的相应标 记状态来确定输入数据是否适用于与第二组计算比较。确定输出数据是否 适用于比较包括,如果数据冻结标记的相应状态为假并且冻结处理标记为 真,则冻结输出数据并将数据冻结标记的相应状态设置为真,并且将冻结 过程标记设置为假。冻结输出数据可以从主核传输到次核。如果冻结处理 标记和数据冻结标记两者的相应状态均为真,则主路径将把冻结处理标记 和数据冻结标记的相应状态重新设置为假。
至少部分地基于数据冻结标记的相应状态对输入数据执行第二组计 算包括,如果数据冻结标记的相应状态为真,则通过次核对冻结输入数据 执行第二组计算。之后,可以将数据冻结标记设置为假。
一种监测具有多核处理器和部件的牵引***中的扭矩的方法,所述多 核处理器具有主核和次核,所述方法包括经由主核执行主路径并经由次核 执行次路径。主路径包括用于获得原始扭矩值组的第一组计算。次路径包 括用于获得冗余的一组扭矩值的第二组计算。诸如内燃机或混合动力电力 推进***的部件可操作地连接到多核处理器。如果第一组计算和第二组计 算之间的差值处于或小于阈值,则可以调整部件。
从下面结合附图对用于执行本公开的最佳模式的详细描述中,本公开 的上述特征和优点以及其他特征和优点是显而易见的。
附图说明
图1是具有多核处理器的实时操作***的示意图,该多核处理器具有 主核和次核;
图2是在主核和次核之间交换数据的方法的示意性流程图;
图3是次核可执行的次路径的示意性流程图;以及
图4是主核可执行的主路径的示意性流程图。
具体实施方式
参照附图,其中相同的附图标记表示相同的部件。图1示意性地示出 了可以是设备12的一部分的实时操作***10。设备12可以是移动平台, 例如但不限于标准乘用车、越野车、轻型卡车、重型车辆、沙滩车、面包 车、公共汽车、运输车辆、自行车、机器人、农具、相关设备、船、飞机、 火车或其他运输工具。设备12可以是许多不同的形式并且包括多个和/或 替代的部件和设施。
参考图1,***10包括可操作地连接到部件14(例如,内燃机)的 控制器C,。控制器C包括具有至少两个执行单元的多核处理器16,诸如 主核20和次核22。主核20和次核22可以并排定位在单个集成电路上。 应该理解,可以采用其他的布置。
在***10中,可以以近似同步的方式执行多个不同的处理任务。如 本文所使用的,“任务”是周期性地执行计算机代码例程,该任务可操作来 执行一个或多个计算功能。每个任务可以包括可以对可用于多核处理器16 的数据执行的多个计算。
参考图1,控制器C包括至少一个存储器18(或非暂时性有形计算机 可读存储介质),其上记录有用于执行在主核20与次核22之间交换数据 的方法50的指令。存储器18可以存储控制器可执行指令集,并且处理器 16可以执行存储在存储器18中的控制器可执行指令集。图1的控制器C 被具体编程为执行方法50。控制器C(以及方法50的执行)改善了设备12的功能。
参考图2,示出了存储在图1的控制器C上并可由其执行的方法50 的流程图。方法50不需要以这里列举的特定顺序应用。而且,应该理解 的是,可以省略一些方框。方法50包括方框52、54和56。
在方框52中,方法50包括经由主核20执行主路径100(以下参考图 4详细讨论)并且经由次核22执行次路径200(以下参考图3详细讨论)。 主路径100配置为作为相对更快的处理任务,而次路径200配置为作为相 对较慢的处理任务。可以使用方法50来避免主路径100和次路径200的 执行的重叠期间的错误。
该部件14可以包括但不限于内燃机或混合动力推进***。在一个实 施例中,主路径100包括以相对较快的速率进行主要转矩计算(即,用于 获得原始的一组转矩值),并且次路径200涉及以相对较慢的速率监测转 矩计算(即,用于获得一组冗余的转矩值)。次核22需要从主核20复制 或冻结输入数据以执行监视或冗余扭矩计算。输入数据可以通过可操作地 连接到部件14的各种传感器24获得。例如,传感器14可以包括发动机 速度传感器。多余的扭矩计算确保设备12的操作完整性。
分别需要专门执行主核20和次核22上的主路径100和次路径200以 防止重叠。重叠执行或重叠任务可以部分略过主要数据冻结任务,并导致 扭矩监视中的错误。例如,如果次核22的次路径200在主核20的功能正 在完成的过程中运行,则主核20将不冻结或复制输入数据。然而,次路 径200将继续使用“旧”冻结数据来计算冗余扭矩计算。这会导致数据一致 性问题。如下所述,即使当主路径100和次路径200在执行中继续被重叠 时,通过采用两个不同的标记,也可以恢复数据冻结的部分略过。
参考图2的方框54,方法50包括设计冻结处理标记以使主路径100 设置和清除各自的状态,并且设计数据冻结标记以使主路径100和次路径 200两者设置和清除各自的状态。数据冻结标记为真表示用于次核22的绿 灯执行第二组计算。第二组计算是对输入数据的冗余计算。换句话说,次 核22(在图3的方框220中)复制主核20的计算(在图4的方框120中)。 相反,数据冻结标记为假指示次核22需要在执行第二组计算时推迟。
冻结处理标记为真指示主路径100当前正参与冻结输入数据。相反, 冻结处理标记为假指示主路径100当前不参与冻结输入数据。冻结处理标 记被设置并被清除,以确保如果在主路径100的方框110和方框120之间 的时间段期间执行次路径200,则该输入数据集将不被用于第二组计算(方 框220),并且将在主路径100的下一个循环或迭代中收集数据。因此,冻 结处理标记保持数据一致性。
在图2的方框56中,方法50包括如果第一组计算(由主路径100获得)和第二 组计算(由次路径200获得)之间的差值等于或小于阈值,则控制或调整部件14。
图3和图4可以体现本方法50用于避免主路径100和次路径200的 执行的重叠期间的错误。现在参考图4,示出了主路径100的示例性流程 图。在图4的方框110中,主路径100至少部分地基于数据冻结标记和冻 结处理标记的相应状态来确定输入数据是否应该被冻结。在图4的方框120 中,主路径100包括对输入数据执行第一组计算来获得输出数据。在图4 的方框130中,主路径100包括至少部分地基于数据冻结标记和冻结处理 标记的相应标记状态来确定输出数据是否适用于与第二组计算进行比较。
如图4所示,在方框110中确定输入数据是否应该被冻结可以包括子 方框112、114、116和118。子方框112包括确定数据冻结标记和冻结处 理标记两者的相应状态是否均为假。如果是,则主路径100前进到子方框 114,其中输入数据被冻结并且冻结处理标记被设置为真。如果不是,则主 路径100前进到子方框116以确定冻结处理标记是否为真。如果冻结处理 标记为“真”,则主路径100从子方框116前进到子方框118,其中处理冻 结标记和数据冻结标记两者的相应状态被设置为假。在方框115中,控制 器C被配置为将冻结输入数据从主核20传输或复制到次核22。
如图4所示,方框130(确定输出数据是否适用于与第二组计算进行 比较)可以包括子方框132、134、136和138。在子方框132中,主路径 100确定数据冻结标记是否为假,以及冻结处理标记是否为真。如果是, 则主路径100前进到子方框134。如果否,则主路径100前进到子方框136。 在子方框134中,输出数据被冻结,数据冻结标记的相应状态被设置为真, 并且冻结处理标记被设置为假。在子方框136中,主路径100确定冻结处 理标记和数据冻结标记是否均为真。如果是,则主路径100前进到子方框 138,在子方框138中,冻结处理标记和数据冻结标记两者的相应状态被 设置为假。如果否,则主路径100结束。在方框135中,控制器C被配置 为将来自主核20的冻结输出数据传输或复制到次核22。
现在参考图3,示出了次路径200的示例性流程图。在图3的方框210 中,次路径200包括确定数据冻结标记的相应状态是否为真。如果数据冻 结标记在方框210中为真,则次路径200前进到方框220,在方框220中, 次核22将对输入数据执行第二组计算,即,使用在图3-4的方框115中传 输的冻结输入数据来重复由主核20完成的所有计算。次路径200要求将 输入数据从主核20传输到次核22以执行第二组计算(参见图3-4的方框 115)。
在图3的方框230中,次路径200包括比较第一组计算(来自图4的 方框120)和第二组计算(来自图3的方框220)。如果第一组计算(即, 输出数据)与第二组计算之间的差值等于或小于阈值,则可调整或以其他 方式控制部件14(见方框56)。如果部件14是发动机,则调整可以包括 转换到另一个预定义的操作模式,在用户界面上显示“检查发动机”消息或本领域技术人员采用的其他调整。在图3的方框240中,次路径200包括 将数据冻结标记的相应状态设置为假。
总之,方法50能够避免由于主路径100(更快的处理任务)和次路径 200(更慢的处理任务)之间的***10中的重叠任务而导致的错误,其中 较慢的处理任务要求输入数据从更快的处理任务被复制或冻结。方法50 经由经过图4所示的方框112和方框132的相应路径来确保数据一致性。 另外,经过方框116和方框136的各个路径对不应发生的状态进行错误检 查。如果确实发生,所有事情都会被重置(经由数据冻结标记和冻结处理 标记),并重复循环。
控制器C包括计算机可读介质(也被称为处理器可读介质),该计算 机可读介质包括参与提供数据(例如,指令)的非暂时性(例如,有形) 介质,该数据可由计算机(例如,通过计算机的处理器)读取。这样的介 质可以是多种形式,包括但不限于非易失性介质和易失性介质。非易失性 介质可以包括例如光盘或磁盘以及其他持久存储器。易失性介质可以包括 例如可以构成主存储器的动态随机存取存储器(DRAM)。这样的指令可 以通过包括同轴电缆、铜线和光纤在内的一个或多个传输介质来传输,所 述传输介质包括包含耦合到计算机的处理器的***总线的导线。计算机可 读介质的一些形式包括,例如软盘、软磁盘、硬盘、磁带、其它磁介质、 CD-ROM、DVD、其他光介质、打孔卡、纸带、具有孔图案的其他物理介质、RAM、PROM、EPROM、FLASH-EEPROM、其他存储器芯片或盒式 磁带或计算机可从其读取的其他介质。
本文所述的查找表、数据库、数据存储库或其他数据存储可以包括用 于存储、访问和检索各种数据的各种机制,包括分层数据库、文件***中 的一组文件、专有格式的应用程序数据库、关系数据库管理***(RDBMS) 等。每个这样的数据存储可以被包括在采用计算机操作***的计算设备 中,所述计算机操作***例如是上述计算机操作***之一,并且可以经由 网络以一种或多种各种方式被访问。可以从计算机操作***访问文件系 统,并且文件***可以包括以各种格式存储的文件。RDBMS除了用于创 建、存储、编辑和执行存储过程(例如上面提到的PL/SQL语言)的语言 之外,还可以采用结构化查询语言(SQL)。
具体实施方式和附图或者图示,是对本公开的支持和描述,但是本公 开的范围仅由权利要求限定。虽然已经详细描述了用于执行所要求保护的 公开内容的一些最佳模式和其他实施例,但是存在用于实践所附权利要求 中限定的公开内容的各种替代设计和实施例。此外,附图中所示的实施例 或本说明书中提及的各种实施例的特性不一定被理解为彼此独立的实施 例。而是,实施例的一个示例中描述的每个特征可以与来自其他实施例的一个或多个其他期望特征相结合,导致其他实施例没有通过文字或者参考 附图描述。因此,这样的其他实施例落入所附权利要求的范围内。
本发明的实质由以下的权利要求确定。
Claims (7)
1.一种***,包括:
控制器,其具有带有至少两个执行单元的处理器,包括被配置为分别执行主路径和次路径的主核和次核;
其中所述主路径被配置为相对较快的处理任务,并且所述次路径被配置为相对较慢的处理任务;
可操作地连接到所述控制器的部件;
其中所述控制器包括其上记录有用于执行在所述主核和所述次核之间交换数据的方法的指令的有形非暂时性存储器;
其中由所述处理器执行所述指令使得所述控制器:
设计冻结处理标记以使所述主路径设置和清除相应的状态;
设计数据冻结标记以使所述主路径和所述次路径两者设置和清除相应状态;以及至少部分地基于所述数据冻结标记和所述冻结处理标记的所述相应状态来控制所述部件;
其中所述控制器被编程为:经由所述次路径确定由所述主核执行的第一组计算与由所述次核执行的第二组计算之间的差值是否等于或小于阈值;以及如果所述差值等于或小于所述阈值,则调整所述部件;
其中所述控制器被编程为:经由所述主路径确定是否应当至少部分地基于所述数据冻结标记和所述冻结处理标记的所述相应状态来冻结输入数据;
经由所述主路径对所述输入数据执行第一组计算以获得输出数据;
经由所述次路径至少部分地基于所述数据冻结标记的所述相应状态对所述输入数据执行所述第二组计算;以及其中所述次路径需要将所述输入数据从所述主核传输到所述次核以执行所述第二组计算。
2.根据权利要求1所述的***,其中所述控制器被编程为:如果在所述确定所述输入数据是否应该被冻结以及所述执行所述第一组计算之间的时间段期间执行所述次路径,则经由所述冻结处理标记和所述数据冻结标记防止在所述第二组计算中使用所述输入数据。
3.根据权利要求2所述的***,其中所述确定是否应当至少部分地基于所述数据冻结标记和所述冻结处理标记的所述相应状态来冻结所述输入数据包括:如果所述数据冻结标记和所述冻结处理标记的所述相应状态均为假,则冻结所述输入数据,并经由所述主核将所述冻结处理标记的所述相应状态设置为真;
将冻结输出数据从所述主核传输到所述次核;以及如果所述数据冻结标记的所述相应状态不为假,并且所述冻结处理标记的所述相应状态为真,则经由所述主核将所述冻结处理标记和所述数据冻结标记的所述相应状态设置为假。
4.一种监测具有多核处理器和部件的牵引***中的扭矩的方法,所述多核处理器具有主核和次核,所述方法包括:经由所述主核执行主路径,所述主路径包括用于获得原始扭矩值集的第一组计算;
经由所述次核执行次路径,所述次路径包括用于获得冗余的扭矩值集的第二组计算;
其中所述主路径被配置为相对较快的处理任务,并且所述次路径被配置为相对较慢的处理任务;
设计冻结处理标记以使所述主路径设置和清除相应状态;
设计数据冻结标记以使所述主路径和所述次路径设置和清除相应状态;
确定所述第一组计算与所述第二组计算之间的差值是否等于或小于阈值;以及如果所述差值等于或小于阈值,则调整所述部件;
经由所述主路径确定是否应当至少部分地基于所述数据冻结标记和所述冻结处理标记的所述相应状态来冻结输入数据;
经由所述主路径对所述输入数据执行所述第一组计算以获得输出数据;
经由所述次路径至少部分地基于所述数据冻结标记的所述相应状态对所述输入数据执行所述第二组计算;以及其中所述次路径需要将所述输入数据从所述主核传输到所述次核以执行所述第二组计算。
5.根据权利要求4所述的方法,进一步包括:
如果在所述确定所述输入数据是否应该被冻结以及所述执行所述第一组计算之间的时间段期间执行所述次路径,则经由所述冻结处理标记和所述数据冻结标记防止在所述第二组计算中使用所述输入数据。
6.根据权利要求4所述的方法,其中所述确定是否应当至少部分地基于所述数据冻结标记和所述冻结处理标记的所述相应状态来冻结所述输入数据;
如果所述数据冻结标记和所述冻结处理标记的所述相应状态均为假,则冻结所述输入数据,并经由所述主核将所述冻结处理标记的所述相应状态设置为真;
将冻结输出数据从所述主核传输到所述次核;以及如果所述数据冻结标记的所述相应状态不为假,并且所述冻结处理标记为真,则经由所述主核将所述冻结处理标记和所述数据冻结标记的所述相应状态设置为假。
7.根据权利要求6所述的方法,进一步包括:
经由所述主路径确定至少部分地基于所述数据冻结标记和所述冻结处理标记的相应标记状态来确定所述输出数据是否适用于与所述第二组计算进行比较包括:如果所述数据冻结标记的所述相应状态为假、所述冻结处理标记的所述相应状态为真,则冻结所述输出数据,并经由所述主核将所述数据冻结标记的所述相应状态设置为真,将所述冻结处理标记的所述相应状态设置为假;
将所述冻结输出数据从所述主核传输到所述次核;以及如果所述冻结处理标记和所述数据冻结标记的状态均为真,则经由所述主核将所述冻结处理标记和所述数据冻结标记两者的状态均设置为假。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/376730 | 2016-12-13 | ||
US15/376,730 US10162680B2 (en) | 2016-12-13 | 2016-12-13 | Control of data exchange between a primary core and a secondary core using a freeze process flag and a data frozen flag in real-time |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108614799A CN108614799A (zh) | 2018-10-02 |
CN108614799B true CN108614799B (zh) | 2021-10-08 |
Family
ID=62201934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711287673.XA Active CN108614799B (zh) | 2016-12-13 | 2017-12-07 | 实时操作***中在主核和次核之间进行数据交换的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10162680B2 (zh) |
CN (1) | CN108614799B (zh) |
DE (1) | DE102017128650A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117093531A (zh) * | 2022-05-13 | 2023-11-21 | 广州汽车集团股份有限公司 | 一种用于车辆智驾的多核异构通信方法与***、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1684168A2 (en) * | 2005-01-21 | 2006-07-26 | Hewlett-Packard Development Company, L.P. | Synchronizing registers |
US7103889B2 (en) * | 2002-07-23 | 2006-09-05 | Sun Microsystems, Inc. | Method, system, and article of manufacture for agent processing |
CN101320362A (zh) * | 2008-06-27 | 2008-12-10 | 北京大学深圳研究生院 | 支持异步传输的阵列处理***及其时钟管理方法 |
CN101329702A (zh) * | 2008-07-22 | 2008-12-24 | 中国科学院计算技术研究所 | 一种满足SystemC语法的多核处理器的先进先出队列单元组 |
TW201432436A (zh) * | 2012-11-29 | 2014-08-16 | Hewlett Packard Development Co | 多核電路中之容錯 |
CN104025095A (zh) * | 2011-10-05 | 2014-09-03 | 奥普唐公司 | 用于监视和/或生成动态环境的方法、装置和*** |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US6347368B1 (en) * | 1997-12-30 | 2002-02-12 | Jerry David Harthcock | Microcomputing device for exchanging data while executing an application |
JP5285828B2 (ja) * | 1999-04-09 | 2013-09-11 | ラムバス・インコーポレーテッド | 並列データ処理装置 |
US7254815B2 (en) * | 2003-04-24 | 2007-08-07 | International Business Machines Corporation | Method and apparatus for implementing distributed event management in an embedded support processor computer system |
US7239581B2 (en) * | 2004-08-24 | 2007-07-03 | Symantec Operating Corporation | Systems and methods for synchronizing the internal clocks of a plurality of processor modules |
US7689331B2 (en) * | 2004-12-01 | 2010-03-30 | Ise Corporation | Method of controlling engine stop-start operation for heavy-duty hybrid-electric and hybrid-hydraulic vehicles |
US7487215B2 (en) * | 2004-12-17 | 2009-02-03 | International Business Machines Corporation | Method and system for distributing a nested electronic communication to a plurality of recipients |
FR2894547B1 (fr) * | 2005-12-08 | 2009-06-05 | Renault Sas | Procede et dispositif de controle et de supervision d'un vehicule hybride du type comportant quatre roues motrices |
US7594077B2 (en) * | 2006-09-08 | 2009-09-22 | Intel Corporation | System, method and apparatus to accelerate raid operations |
JP4776610B2 (ja) * | 2007-11-26 | 2011-09-21 | 三菱電機株式会社 | 監視制御回路を有する車載電子制御装置 |
US8109073B2 (en) * | 2008-10-08 | 2012-02-07 | The Invention Science Fund I, Llc | Hybrid propulsive engine including at least one independently rotatable compressor stator |
US8458676B2 (en) * | 2009-06-30 | 2013-06-04 | International Business Machines Corporation | Executing platform-independent code on multi-core heterogeneous processors |
US8511192B2 (en) * | 2010-03-29 | 2013-08-20 | Hitec Luxembourg S.A. | System and method of positional control with backlash compensation |
CN103503424B (zh) * | 2010-12-20 | 2016-08-10 | 思杰***有限公司 | 用于实现多核***中的连接镜像的***和方法 |
WO2013008325A1 (ja) * | 2011-07-13 | 2013-01-17 | 富士通株式会社 | マルチコアプロセッサシステム、および制御方法 |
US9740999B2 (en) * | 2011-10-11 | 2017-08-22 | Mobiwork, Llc | Real time customer access to location, arrival and on-site time data |
WO2014080457A1 (ja) * | 2012-11-20 | 2014-05-30 | 株式会社安川電機 | プログラマブルコントローラ |
US8904050B1 (en) * | 2013-03-13 | 2014-12-02 | Emc Corporation | Techniques for automated data storage system port initialization |
US9904579B2 (en) * | 2013-03-15 | 2018-02-27 | Advanced Elemental Technologies, Inc. | Methods and systems for purposeful computing |
CN115946858A (zh) * | 2014-08-29 | 2023-04-11 | 峰鸟航空科技公司 | 使用混合电动飞机实现区域性空中运输网络的***和方法 |
US9817601B1 (en) * | 2016-07-07 | 2017-11-14 | Nxp Usa, Inc. | Method and apparatus for determining feasibility of memory operating condition change using different back bias voltages |
-
2016
- 2016-12-13 US US15/376,730 patent/US10162680B2/en active Active
-
2017
- 2017-12-01 DE DE102017128650.0A patent/DE102017128650A1/de active Pending
- 2017-12-07 CN CN201711287673.XA patent/CN108614799B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103889B2 (en) * | 2002-07-23 | 2006-09-05 | Sun Microsystems, Inc. | Method, system, and article of manufacture for agent processing |
EP1684168A2 (en) * | 2005-01-21 | 2006-07-26 | Hewlett-Packard Development Company, L.P. | Synchronizing registers |
CN101320362A (zh) * | 2008-06-27 | 2008-12-10 | 北京大学深圳研究生院 | 支持异步传输的阵列处理***及其时钟管理方法 |
CN101329702A (zh) * | 2008-07-22 | 2008-12-24 | 中国科学院计算技术研究所 | 一种满足SystemC语法的多核处理器的先进先出队列单元组 |
CN104025095A (zh) * | 2011-10-05 | 2014-09-03 | 奥普唐公司 | 用于监视和/或生成动态环境的方法、装置和*** |
TW201432436A (zh) * | 2012-11-29 | 2014-08-16 | Hewlett Packard Development Co | 多核電路中之容錯 |
Also Published As
Publication number | Publication date |
---|---|
US10162680B2 (en) | 2018-12-25 |
DE102017128650A1 (de) | 2018-06-14 |
CN108614799A (zh) | 2018-10-02 |
US20180165127A1 (en) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6147244B2 (ja) | シングルチャネル畳み込み層のための処理方法及び処理装置、並びにマルチチャネル畳み込み層のための処理方法及び処理装置 | |
US20170277635A1 (en) | Conditional data caching transactional memory in a mulitple processor system | |
CN109491934B (zh) | 一种集成计算功能的存储管理***控制方法 | |
US20210097079A1 (en) | Method, apparatus and system for determining accessible paths between two nodes | |
CN113743941A (zh) | 一种在区块链中执行交易的方法、区块链和主节点 | |
CN111104224B (zh) | 一种基于fpga的动态图处理方法 | |
CN104718531A (zh) | 并行计算装置 | |
US20210082213A1 (en) | Fault diagnosis support device | |
CN108614799B (zh) | 实时操作***中在主核和次核之间进行数据交换的方法 | |
CN108228678B (zh) | 一种多副本数据恢复方法及装置 | |
CN113743942A (zh) | 交易执行方法、区块链、主节点和主存储设备 | |
CN107521490B (zh) | 动力传动系总成中在至少两个控制器上控制多台扭矩致动器 | |
CN112559483A (zh) | 基于hdfs的数据管理方法、装置、电子设备及介质 | |
CN105808210A (zh) | 共享资源的访问方法和装置 | |
US20230176853A1 (en) | Onboard device, vehicle, control method and non-transitory computer readable recording medium storing an onboard program | |
US8688428B2 (en) | Performance evaluation device, performance evaluation method and simulation program | |
US10988112B2 (en) | Distributed vehicle authorized operations | |
CN109032821A (zh) | 主题消息处理方法、装置、设备及存储介质 | |
CN112288077B (zh) | 卷积神经网络的诊断调整方法、***、设备及介质 | |
US8150806B2 (en) | Idempotent storage replication management | |
WO2022021459A1 (zh) | 数据预加载装置及其预加载方法、计算机可读存储介质 | |
CN105637483A (zh) | 线程迁移方法、装置和*** | |
JP2020188407A (ja) | 電子制御装置および移動体制御システム | |
US20210081958A1 (en) | Vehicle wheel custody | |
US10623202B1 (en) | System and method of controlling network traffic for a network with in a device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |