CN103329102A - 多处理器*** - Google Patents
多处理器*** Download PDFInfo
- Publication number
- CN103329102A CN103329102A CN201180065391XA CN201180065391A CN103329102A CN 103329102 A CN103329102 A CN 103329102A CN 201180065391X A CN201180065391X A CN 201180065391XA CN 201180065391 A CN201180065391 A CN 201180065391A CN 103329102 A CN103329102 A CN 103329102A
- Authority
- CN
- China
- Prior art keywords
- resource
- multicomputer system
- function
- public resource
- public
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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]
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
一种多处理器***包括:多个处理部,其被配置为执行存储在程序存储器中的程序;公共资源,其被所述处理部共享;资源状态表,其中写入所述公共资源的占用状态;资源访问表,其中根据存储在所述程序存储器中的所述程序的函数,地址区域与所述公共资源的占用方式相关联;以及控制部,其被配置为使用所述资源状态表和所述资源访问表确定是否允许由所述处理部中的一个执行涉及对所述公共资源的占用的函数。
Description
技术领域
本文中的公开涉及包括多个处理部的多处理器***,所述多个处理部被配置为执行存储在程序存储器中的程序。
背景技术
包括多个处理部的多处理器***已经变得普及。例如,已知多核处理器以及包括多个诸如CPU等的处理器的多处理器设备,在所述多核处理器中,多个处理器核(CPU核)被并入到单个封装内并且所述处理器核独立地执行处理。
一般而言,多处理器***包括处理部可访问的公共资源。例如,公共资源包括RAM、I/O装置(I/O端口及其控制装置)以及A/D转换器等。当处理部访问此类公共资源时,需要执行独占控制以允许处理部持续特定时间段占用(保持)对该公共资源的访问而阻止其它处理部进行访问。对访问的占用权被称为信号量(semaphore)等。
专利文献1公开了一种多处理器***,该***执行独占控制,旨在防止产生死锁。当进程等待释放被其它进程之一占用的资源时,发生死锁,从而处理停止。多处理器***包括独占控制管理表和独占控制公共资源信息表,在独占控制管理表中,根据公共资源存储当前在独占控制下的任务和当前处于等待获取状态的任务的任务名称,而在独占控制公共资源信息表中,存储当前在独占控制下正被使用的公共资源的名称。在这种情况下,当特定任务发出对公共资源的获取请求的***调用时,提前根据独占控制管理表和独占控制公共资源信息表的内容确定是否会发生死锁。如果确定在对公共资源的获取请求像平常那样做出时会发生死锁,则不做出对公共资源的获取请求。
专利文献2公开了一种多处理器***,该***具有多个单元处理器并包括:HW信号量单元,其设定多个与资源对应的信号量以便成为可识别的,并且在第一单元处理器向HW信号量单元做出对正在被第二单元处理器获取的信号量的获取请求时,确定是否请求该信号量;以及程序控制单元,如果确定所述请求请求正在被获取的信号量,则该程序控制单元将来自第一单元处理器的该请求置于准备状态(standby)。
[专利文献1]公开号为7-105152的日本公开专利
[专利文献2]公开号为2007-188397的日本公开专利
近年来,在车辆上安装的车载控制装置领域中,存在将用于控制车载设备的一个控制装置与用于控制另一车载设备的另一控制装置进行集成(例如,将传输控制装置与引擎控制装置进行集成)的趋势,以减小计算机硬件大小,从而降低成本和减小重量。优选地使用带有处理部的多处理器***以便集成硬件。在这种情况下,多处理器***的处理部执行原本分别由控制装置执行的程序,每个控制装置通过单处理器实现。
在单处理器中,作为源代码的一般配置,为了保持资源(待访问的对象,例如RAM等)的一致性,在访问资源以写入数据等的期间执行DI(禁用中断)。图1是示例出在单处理器中的函数A(在图1中,由FuncA表示)访问资源时禁用中断的方式的图。在图1中,变量X、Y和Z是例如在RAM中写入的参数。此外,PE代表处理器元件,它是CPU或其它处理部的一个例子。
即使此类处理直接应用于多处理器***,也不可能实现独占控制。这是因为,即使禁用PE1的中断,其它PE2和3也可以访问公共资源。图2是示例出其中在禁用PE1的中断时PE2和3可以访问公共资源的情况的图。
就本质而言,为了在多处理器***中执行对公共资源的独占控制,应该在软件开发过程中,在***设计阶段对其进行设计。但是实际上,不容易将对独占控制的设计应用于对单处理器执行的复杂控制软件。
在此,可能很容易直接使用DI(禁用中断)与EI(允许中断)之间的区段(section)作为PE的公共资源占用区段。但是,在这种情况下,不容易区分公共资源,因此可能存在处于等待状态的PE,即使它的访问请求不与其它访问请求竞争。图3是示例出其中公共资源的占用在PE1的DI与EI之间发生,从而PE2的函数变为处于等待状态的情况的图。在图3的情况下,由于函数B访问函数A不访问的变量Z,因此函数B因其本质而可以与函数A同时访问该公共资源。
这样,如果在单处理器中执行的程序被移植(port)到多处理器***,则由于独占控制的设计,程序修改变得复杂。
诸如专利文献1等中公开的多处理器***不考虑这样的概率(即,假设程序是专门针对多处理器***而设计的),因此不具有适合从单处理器移植到多处理器***的配置。因此,进一步地,如果通过添加新程序等扩展函数,则程序修改变得复杂。
发明内容
因此,本发明的目的是提供这样一种多处理器***:其能够简化从单处理器到多处理器***的移植以及新程序的添加等。
为了解决上述问题,根据实施例,提供一种多处理器***,该多处理器***包括:多个处理部,其被配置为执行存储在程序存储器中的程序;公共资源,其被所述处理部共享;资源状态表,其中写入所述公共资源的占用状态;资源访问表,其中根据存储在所述程序存储器中的所述程序的函数,地址区域与所述公共资源的占用方式相关联;以及控制部,其被配置为使用所述资源状态表和所述资源访问表确定是否允许由所述处理部中的一个执行涉及对所述公共资源的占用的函数。
附图说明
图1是示例出在单处理器中的函数A访问资源时禁用中断的方式的图。
图2是示例出其中在禁用PE1的中断时PE2和3可以访问公共资源的情况的图。
图3是示例出其中在PE1的DI与EI之间发生公共资源的占用,从而PE2的函数变为处于等待状态的情况的图。
图4是示例出根据本发明的实施例的多处理器***1的配置实例的图。
图5是示意性地示例出其中资源竞争确定部32A确定是否发生对公共资源的访问竞争的情况的图。
图6是由微CPU30执行的处理的流程图。
图7是示例出其中当PE20A的函数A和PE20B的函数B试图访问同一公共资源时发生访问竞争的情况的序列图。
图8是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
图9是示例出其中关于函数A的信息被复制到资源状态表50的情况的图。
图10是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
图11是示例出其中当PE20A的函数A和PE20B的函数B试图访问不同公共资源时不发生访问竞争的情况的序列图。
图12是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
图13是示例出其中关于函数A的信息被复制到资源状态表50的情况的图。
图14是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
图15是示意性地示例出其中在多处理器1中安装资源访问表40的过程的图。
图16是示意性地示例出其中从源文件70生成资源访问表40的情况的图。
图17是示例出在将全部公共资源视为一个公共资源的情况下资源访问表40和资源状态表50的设定的图。
图18是示例出在资源访问表40和资源状态表50中的公共资源的单元(unit)小于图17的单元的情况下的设定的图。
图19是示例出在资源访问表40和资源状态表50中的公共资源的单元小于图18的单元的情况下的设定的图。
具体实施方式
下面,将参考附图参考实施例来描述用于本发明的实施方式。
[实施例]
在下文中,将参考附图描述根据本发明的实施例的多处理器***1。
[配置]
图4是示例出根据本发明的实施例的多处理器***1的配置实例的图。多处理器***1包括作为主要部件的程序存储器10、数据存储器12、PE(处理器元件)20A、20B、20C和20D、微CPU30、资源访问表40、资源状态表50和INTC(中断控制器)60。在下文中,在必要时,所述PE合称为“各PE”。
程序存储器10是ROM(只读存储器)、闪速ROM、EEPROM(电可擦除可编程只读存储器)等。程序存储器10存储将由PE根据函数执行的指令。程序存储器10通过指令总线10A被耦接(couple)到各PE。
数据存储器12是例如RAM(随机存取存储器)。数据存储器12存储PE的计算结果等。数据存储器12通过数据总线12A被耦接到各PE。
PE是微计算机,除了程序计数器(在图中简写为“PC”)20Aa、20Ba、20Ca和20Da,其还包括取指令单元、指令缓冲器、指令解码器、计算元件、LSU(加载存储单元)、内部寄存器等。PE将存储在程序存储器10中的地址上的由对应的程序计数器指示的指令取出并对其解码,然后执行四种算术运算等。这四种算术运算的结果被存储在内部寄存器中,并在必要时进行输出以存储在数据存储器12中。存储在数据存储器12中的指令可以被PE参照。因此,PE可以在共享信息的同时执行它们自己的处理。此外,由程序计数器20Aa、20Ba、20Ca和20Da指示的值可微CPU30参照。
微CPU30包括作为内部功能的资源外观(resource facade)31、资源锁控制部32、报告部33和信号量寄存器34#1到34#n。资源锁控制部32包括资源竞争确定部32A、资源获取/释放管理部32B和信号量寄存器管理部32C。信号量寄存器34#1到34#n被设置为使得它们与多处理器***1中的公共资源相关联。
资源外观31接收从各PE输入的资源获取请求和资源释放请求。
资源竞争确定部32A使用程序计数器20Aa、20Ba、20Ca和20Da的值、资源访问表40和资源状态表50确定对对象资源(subject resource)(针对其做出资源获取请求的公共资源)的竞争,并将确定结果输出到资源获取/释放管理部32B。
如果资源竞争确定部32A的确定结果表明存在竞争,则资源获取/释放管理部32B在队列(queue)(未示例出)中登记从各PE输入的资源获取请求。所述队列可以与信号量寄存器34#1到34#n关联,也可以在独立的寄存器等中被设定。另一方面,如果资源竞争确定部32A的确定结果表明不存在竞争,则资源获取/释放管理部32B在信号量寄存器34#1到34#n中的与该对象资源关联的一个对应信号量寄存器中登记输出资源获取请求的PE,并向报告部33报告该对象资源。
此外,当从PE输入资源释放请求时,资源获取/释放管理部32B搜索队列。然后,如果存在登记的资源获取请求,则资源获取/释放管理部32B为输出该资源获取请求的PE保留该对象资源。具体而言,与上述情况同样地,资源获取/释放管理部32B在信号量寄存器34#1到34#n中的与该对象资源关联的一个对应信号量寄存器中登记输出该资源获取请求的PE,并向报告部33报告该对象资源。另一方面,如果队列中没有登记的资源获取请求,则资源获取/释放管理部32B释放对应的信号量寄存器。
信号量寄存器管理部32C根据来自资源获取/释放管理部32B的指令执行信号量寄存器34#1到34#n的重写操作等。
在保留公共资源时,报告部33向输出资源获取请求的PE报告公共资源被保留。通过INTC60将这样的信息通知执行作为中断通知。接收公共资源被保留的通知的PE开始访问对应的公共资源。
[由微CPU30进行的竞争确定等的处理]
接下来,描述使用资源访问表40和资源状态表50的对象资源竞争确定以及与其有关的处理。
资源访问表40例如是存储在程序存储器10或另一ROM(包括闪速ROM或EEPROM)中的固定数据。资源访问表40根据函数使程序存储器中的程序的函数的地址区域与公共资源的占用方式相关联。如图4所示,资源访问表40定义包括起始地址和结束地址的独占区段(exclusivesection),以及表示公共资源类型(例如,共享RAM、***的I/O等)的资源访问信息。利用资源访问表40,可以确定当执行程序存储器10上的各个指令(函数)时将占用哪个公共资源。需要指出,在实际中,资源访问表40可以是从ROM加载到RAM、闪速存储器、寄存器等的数据。
资源状态表50是在微CPU30内的RAM、闪速存储器、寄存器等中存储的、并在必要时重写的数据,并表示公共资源在那时的占用状态。如图4所示,在资源状态表50中,根据函数ID,写入:独占区段;表示公共资源类型(例如,共享RAM、***的I/O等)的资源访问信息;与被函数占用的公共资源关联的信号量寄存器ID等。函数ID表示在那时正被执行的、并且涉及对公共资源的占用的函数。
当从各PE输入资源获取请求时,首先,资源竞争确定部32A获取对应的PE的程序计数器的值。然后,资源竞争确定部32A使用程序计数器的值搜索资源访问表40以识别对象资源。然后,资源竞争确定部32A参照资源状态表50以根据所识别的对象资源是否处于被另一PE占用中(使用中)来进行竞争确定。图5是示意性地示例出其中资源竞争确定部32A确定是否发生对公共资源的访问的竞争的情况的图。
图6是由微CPU30执行的处理的流程图。
首先,当由函数N做出资源获取请求时,微CPU30从资源访问表40获取资源访问信息(S100)。然后,微CPU30确定对应的公共资源是否被另一PE占用(S102)。如果确定对应的公共资源未被另一PE占用,则微CPU30执行用于让函数N获取对公共资源的访问权的处理。
另一方面,如果确定对应的公共资源被另一PE占用,则微CPU30使函数N保持处于等待状态,直到存在从其它PE释放的通知。
当另一PE执行的函数M输出资源释放请求时,通过资源释放处理(S200)和释放通知处理(S202)的步骤进行释放通知。
在下文中,将详细地描述上述处理。图7是示例出其中当PE20A的函数A和PE20B的函数B试图访问同一公共资源时发生访问竞争的情况的序列图。
在图7中,在从PE20A输入资源获取请求的时刻T1,微CPU30获取PE20A的程序计数器的值以识别对象资源,如上所述。然后,微CPU30参照资源状态表50以根据所识别的对象资源是否处于被PE占用中来进行竞争确定。在所示例的实例中,做出对共享RAM的资源获取请求,并且该共享RAM未被登记在资源状态表50中。由此,允许函数A占用共享RAM。图8是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。在所示例的情况中,关于函数A的信息被复制到资源状态表50,并且函数A被登记在信号量寄存器34#1到34#n中的与该共享RAM关联的一个对应信号量寄存器中。图9是示例出其中关于函数A的信息被复制到资源状态表50的情况的图。
在图7中,在从PE20B输入资源获取请求的时刻T2,微CPU30获取PE20B的程序计数器的值以识别对象资源。在所示例的实例中,做出对共享RAM和***的I/O的资源获取请求,并且该共享RAM被登记在资源状态表50中(即,处于锁定状态)。因此,不允许函数B占用该共享RAM和***的I/O。图10是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
在图7中,在从函数A输入资源释放请求的时刻T3,微CPU30从信号量寄存器34#1到34#n中的与该共享RAM关联的一个对应信号量寄存器中删除函数A以释放该信号量寄存器。然后,报告部33发出针对PE20B的释放通知中断。作为此操作的结果,PE20B再次输出资源获取请求。
图11是示例出其中当PE20A的函数A和PE20B的函数B试图访问不同公共资源时不发生访问竞争的情况的序列图。
在图11中,在从PE20A输入资源获取请求的时刻T11,微CPU30获取PE20A的程序计数器的值以识别对象资源,如上所述。然后,微CPU30参照资源状态表50以根据所识别的对象资源是否处于被另一PE占用中来进行竞争确定。在所示例的实例中,做出对共享RAM的资源获取请求,并且该共享RAM未被登记在资源状态表50中。因此,允许函数A占用该共享RAM。图12是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。在所示例的情况中,关于函数A的信息被复制到资源状态表50,并且函数A被登记在信号量寄存器34#1到34#n中的与该共享RAM关联的一个对应信号量寄存器中。图13是示例出其中关于函数A的信息被复制到资源状态表50的情况的图。
在图11中,在从PE20B输入资源获取请求的时刻T12,微CPU30获取PE20B的程序计数器的值以识别对象资源。在所示例的实例中,做出对共享RAM2的资源获取请求,并且该共享RAM2未被登记在资源状态表50中(即,不处于锁定状态)。因此,允许函数B占用共享RAM2。图14是示例出当针对共享RAM做出竞争确定时资源访问表40的相关部分和资源状态表50的状态的图。
之后,在从函数B输入资源释放请求时,微CPU30从信号量寄存器34#1到34#n中的与该共享RAM2关联的一个对应信号量寄存器中删除函数B以释放该信号量寄存器。此外,当从函数A输入资源释放请求时,微CPU30从信号量寄存器34#1到34#n中的与该共享RAM关联的一个对应信号量寄存器中删除函数A以释放该信号量寄存器。
[多处理器***的构建]
图15是示意性地示例出其中在多处理器1中安装资源访问表40的过程的图。通过使用访问分析工具80处理原来由单处理器执行的程序的源文件70以生成用于资源访问表40的原始数据40*(构建阶段),以及通过使用文件加载工具90将原始数据40*写入ROM等中(执行阶段),资源访问表40被安装在多处理器1中。
图16是示意性地示例出其中从源文件70生成资源访问表40的情况的图。如图16所示,在源文件70中,例如,按顺序记述函数的定义、资源获取指令、公共资源的指定以及资源释放指令。访问分析工具80通过为此添加程序存储器10中的地址而生成资源访问表40。需要指出,在单处理器执行函数的情况下,该函数的地址范围优选地对应于DI(禁用中断)与EI(允许中断)之间的区段。
[表中的公共资源的单元(unit)]
资源访问表40和资源状态表60中的公共资源的单元(粒度(granularity))可以根据***的大小和所需性能而被设定为介于部件单元与整体公共资源之间。
图17是示例出在将(由图中的“全局空间”指示的)整个公共资源作为一个公共资源进行处理的情况下资源访问表40和资源状态表50的设定的图。在这种情况下,资源访问表40和资源状态表50包括全局I/O区域(端口及其控制),例如CAN(控制器区域网络)、CSI、ADC(模拟数字控制器)、PWM(脉冲宽度调制),以及全局RAM区域。在这种情况下,当资源访问表40被加载到RAM等时,可以减小ROM中被资源访问表40占用的区域以及RAM等中的区域;但是,访问竞争的概率变高并会降低处理速度。
图18是示例出在资源访问表40和资源状态表50中的公共资源的单元小于图17中的单元的情况下的设定的图。在这种情况下,当资源访问表40被加载到RAM等中时,ROM中被资源访问表40占用的区域以及RAM等中的区域变大;但是,访问竞争的概率变低并可以提高处理速度。
图19是示例出在资源访问表40和资源状态表50中的公共资源的单元小于图18中的单元的情况下的设定的图。在所示例的实例中,具有多个终端的公共资源被分割并被处理为好像其是多个公共资源。在这种情况下,当资源访问表40被加载到RAM等中时,ROM中被资源访问表40占用的区域以及RAM等中的区域变大很多;但是,访问竞争的概率变小很多并可以提高处理速度。
[优点]
根据实施例的多处理器***1,进行从单处理器到多处理器***的移植以及添加新程序等变得更容易。
此外,由于多处理器***1包括资源锁控制部32,该资源锁控制部32使用资源状态表50和资源访问表40确定是否允许由PE执行涉及对公共资源的占用的函数,因此PE不需要在资源获取请求中包括指示被请求的公共资源(即,对象资源)的信息。因此,可以降低通信负荷并减小程序尺寸。
参考优选实施例公开了本发明。但是应理解,本发明并不限于上述实施例,在不偏离本发明范围的情况下,可以做出变化和修改。
本申请基于2011年1月18日提交的编号为2011-007547的日本优先权申请,该申请的全部内容通过引用被并入本文中。
Claims (15)
1.一种多处理器***,包括:
多个处理部,其被配置为执行存储在程序存储器中的程序;
公共资源,其被所述处理部共享;
资源状态表,其中写入所述公共资源的占用状态;
资源访问表,其中根据存储在所述程序存储器中的所述程序的函数,地址区域与所述公共资源的占用方式相关联;以及
控制部,其被配置为使用所述资源状态表和所述资源访问表确定是否允许由所述处理部中的一个执行涉及对所述公共资源的占用的函数。
2.根据权利要求1的多处理器***,其中,
所述资源访问表为存储在ROM中的固定数据;
所述多处理器***还包括程序计数器,所述程序计数器与对应的所述处理部相关联;
其中,所述控制部被配置为,
将所述程序计数器的值与所述资源访问表中的所述地址区域进行比较,以确定计划唤醒的函数对所述公共资源的占用方式,以及
将所确定的所述公共资源的占用方式与所述资源状态表中指示的所述占用状态进行比较,以确定是否允许由所述处理部执行涉及对所述公共资源的占用的所述函数。
3.根据权利要求2的多处理器***,其中,当所述处理部中的一个做出资源获取请求时,所述控制部使用与做出所述资源获取请求的所述处理部关联的所述程序计数器的值,将所述值与所述资源访问表中的所述地址区域进行比较。
4.根据权利要求1-3中任一项的多处理器***,其中,如果所述控制部确定不允许由所述处理部执行涉及对所述公共资源的占用的所述函数,则所述控制部执行对不被允许执行的所述函数的排队。
5.根据权利要求1-4中任一项的多处理器***,其中,所述公共资源包括多个公共资源。
6.根据权利要求5的多处理器***,其中,所述公共资源包括共享RAM和***的I/O。
7.根据权利要求5的多处理器***,其中,所述公共资源包括第一共享RAM和第二共享RAM。
8.根据权利要求5的多处理器***,其中,在所述资源状态表和所述资源访问表中规定的所述公共资源的单元对应于部件单元。
9.根据权利要求1-4中任一项的多处理器***,其中,在所述资源状态表和所述资源访问表中规定的所述公共资源的单元对应于包括多个部件单元的整体公共资源。
10.根据权利要求1-9中任一项的多处理器***,其中,在单个处理器执行所述函数的情况下,在所述资源访问表中规定的所述地址区域对应于DI(禁用中断)与EI(允许中断)之间的区段。
11.根据权利要求1-10中任一项的多处理器***,其中,当所述处理部中的一个做出资源获取请求时,所述控制部使用所述资源状态表和所述资源访问表确定是否允许由所述处理部执行涉及对所述公共资源的占用的所述函数。
12.根据权利要求11的多处理器***,其中,所述资源获取请求不包括这样的信息:该信息直接指示需要访问的所述公共资源。
13.根据权利要求1-12中任一项的多处理器***,其中,当资源释放请求来自其执行已完成的函数时,所述控制部更新所述资源状态表,使得所述公共资源被释放到另一函数。
14.根据权利要求1-13中任一项的多处理器***,其中,当所述控制部允许由所述处理部执行涉及对所述公共资源的占用的所述函数时,所述控制部更新所述资源状态表,使得所述公共资源被锁定以防止执行另一函数。
15.根据权利要求1-14中任一项的多处理器***,其中,所述处理部为处理器核,并且所述多处理器***为多核处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011007547A JP5745868B2 (ja) | 2011-01-18 | 2011-01-18 | マルチプロセッサシステム |
JP007547/2011 | 2011-01-18 | ||
PCT/JP2011/080547 WO2012098821A1 (en) | 2011-01-18 | 2011-12-21 | Multiprocessor system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103329102A true CN103329102A (zh) | 2013-09-25 |
Family
ID=45509602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180065391XA Pending CN103329102A (zh) | 2011-01-18 | 2011-12-21 | 多处理器*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US9164799B2 (zh) |
EP (1) | EP2666087A1 (zh) |
JP (1) | JP5745868B2 (zh) |
CN (1) | CN103329102A (zh) |
WO (1) | WO2012098821A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808210A (zh) * | 2014-12-31 | 2016-07-27 | 龙芯中科技术有限公司 | 共享资源的访问方法和装置 |
CN108885570A (zh) * | 2016-06-24 | 2018-11-23 | 日立汽车***株式会社 | 车辆控制装置 |
CN110554660A (zh) * | 2018-06-01 | 2019-12-10 | 发那科株式会社 | 控制装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734741B2 (en) | 2004-12-13 | 2010-06-08 | Intel Corporation | Method, system, and apparatus for dynamic reconfiguration of resources |
JP2017097633A (ja) * | 2015-11-25 | 2017-06-01 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
US10592281B1 (en) * | 2017-09-28 | 2020-03-17 | Amazon Technologies, Inc. | Wait optimizer for recording an order of first entry into a wait mode by a virtual central processing unit |
JP6995644B2 (ja) * | 2018-01-23 | 2022-01-14 | 日立Astemo株式会社 | 電子制御装置 |
JP2019161714A (ja) * | 2018-03-08 | 2019-09-19 | 株式会社東芝 | モータ制御装置およびプログラム |
JP7412235B2 (ja) * | 2020-03-17 | 2024-01-12 | 本田技研工業株式会社 | 情報処理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940828A (en) * | 1997-11-18 | 1999-08-17 | International Business Machines Corporation | Locking contention resolution for shared resources |
CN101065736A (zh) * | 2004-11-30 | 2007-10-31 | 国际商业机器公司 | 管理多处理器操作 |
CN101937365A (zh) * | 2009-06-30 | 2011-01-05 | 国际商业机器公司 | 并行程序的死锁检测方法和*** |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63146153A (ja) | 1986-12-09 | 1988-06-18 | Nec Corp | プロセツサ間排他制御処理方式 |
JPS63263557A (ja) | 1987-04-13 | 1988-10-31 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 階層リレーテツド・リソースへの同時トランザクシヨンによるアクセスを調節する方法 |
JPH07105152A (ja) | 1993-10-08 | 1995-04-21 | Fujitsu Ltd | マルチプロセッサシステムのデッドロック自動解除方法 |
JP4445621B2 (ja) * | 1999-12-08 | 2010-04-07 | 名古屋電機工業株式会社 | マルチプロセッサ型処理装置における共有メモリアクセス方法およびその装置 |
JP4257053B2 (ja) | 2001-09-14 | 2009-04-22 | 日本電気株式会社 | 共有リソース排他制御方式および方法 |
JP4559958B2 (ja) * | 2005-11-22 | 2010-10-13 | 株式会社日立国際電気 | マルチコアプロセッサにおけるマルチコア制御方法 |
JP3976065B2 (ja) | 2006-01-16 | 2007-09-12 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム |
EP1953643A3 (en) * | 2007-02-01 | 2009-12-16 | Denso Corporation | Calculation apparatus provided with a plurality of calculating units which access a single memory |
JP5216700B2 (ja) | 2009-06-24 | 2013-06-19 | 株式会社日立エンジニアリング・アンド・サービス | 音源の寄与診断装置およびこれを用いた寄与診断方法 |
-
2011
- 2011-01-18 JP JP2011007547A patent/JP5745868B2/ja not_active Expired - Fee Related
- 2011-12-21 EP EP11811172.3A patent/EP2666087A1/en not_active Withdrawn
- 2011-12-21 US US13/979,425 patent/US9164799B2/en not_active Expired - Fee Related
- 2011-12-21 WO PCT/JP2011/080547 patent/WO2012098821A1/en active Application Filing
- 2011-12-21 CN CN201180065391XA patent/CN103329102A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940828A (en) * | 1997-11-18 | 1999-08-17 | International Business Machines Corporation | Locking contention resolution for shared resources |
CN101065736A (zh) * | 2004-11-30 | 2007-10-31 | 国际商业机器公司 | 管理多处理器操作 |
CN101937365A (zh) * | 2009-06-30 | 2011-01-05 | 国际商业机器公司 | 并行程序的死锁检测方法和*** |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808210A (zh) * | 2014-12-31 | 2016-07-27 | 龙芯中科技术有限公司 | 共享资源的访问方法和装置 |
CN105808210B (zh) * | 2014-12-31 | 2018-07-31 | 龙芯中科技术有限公司 | 共享资源的访问方法和装置 |
CN108885570A (zh) * | 2016-06-24 | 2018-11-23 | 日立汽车***株式会社 | 车辆控制装置 |
CN108885570B (zh) * | 2016-06-24 | 2021-11-19 | 日立安斯泰莫株式会社 | 车辆控制装置 |
CN110554660A (zh) * | 2018-06-01 | 2019-12-10 | 发那科株式会社 | 控制装置 |
CN110554660B (zh) * | 2018-06-01 | 2023-12-19 | 发那科株式会社 | 控制装置 |
Also Published As
Publication number | Publication date |
---|---|
US9164799B2 (en) | 2015-10-20 |
JP5745868B2 (ja) | 2015-07-08 |
EP2666087A1 (en) | 2013-11-27 |
JP2012150583A (ja) | 2012-08-09 |
WO2012098821A1 (en) | 2012-07-26 |
US20130298136A1 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103329102A (zh) | 多处理器*** | |
US8996811B2 (en) | Scheduler, multi-core processor system, and scheduling method | |
US7793296B2 (en) | System and method for scheduling a multi-threaded processor | |
US20120110303A1 (en) | Method for Process Synchronization of Embedded Applications in Multi-Core Systems | |
US8024739B2 (en) | System for indicating and scheduling additional execution time based on determining whether the execution unit has yielded previously within a predetermined period of time | |
KR100902977B1 (ko) | 하드웨어 공유 시스템 및 방법 | |
CN103729480A (zh) | 一种多核实时操作***多个就绪任务快速查找及调度方法 | |
US11366689B2 (en) | Hardware for supporting OS driven observation and anticipation based on more granular, variable sized observation units | |
CN116438518A (zh) | 通过硬件加速内核线程进行微线程控制的处理器架构 | |
US8954969B2 (en) | File system object node management | |
US20090113439A1 (en) | Method and Apparatus for Processing Data | |
US10360079B2 (en) | Architecture and services supporting reconfigurable synchronization in a multiprocessing system | |
US10073783B2 (en) | Dual mode local data store | |
CN114780248A (zh) | 资源访问方法、装置、计算机设备及存储介质 | |
US7133978B1 (en) | Method and apparatus for processing data stored in a memory shared among a plurality of processors | |
US20080184258A1 (en) | Data processing system | |
EP3702911B1 (en) | Hardware for supporting os driven load anticipation based on variable sized load units | |
JP2004192052A (ja) | ソフトウェア処理方法およびソフトウェア処理システム | |
US20090320036A1 (en) | File System Object Node Management | |
US9135058B2 (en) | Method for managing tasks in a microprocessor or in a microprocessor assembly | |
US10740150B2 (en) | Programmable state machine controller in a parallel processing system | |
US7996848B1 (en) | Systems and methods for suspending and resuming threads | |
CN113238842A (zh) | 任务执行方法、装置及存储介质 | |
JP2020086807A (ja) | 車両制御装置およびプログラム実行方法 | |
JP4755232B2 (ja) | コンパイラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130925 |