CN106575275A - 用于异构多处理器系统中处理器间中断的机制 - Google Patents
用于异构多处理器系统中处理器间中断的机制 Download PDFInfo
- Publication number
- CN106575275A CN106575275A CN201580044766.2A CN201580044766A CN106575275A CN 106575275 A CN106575275 A CN 106575275A CN 201580044766 A CN201580044766 A CN 201580044766A CN 106575275 A CN106575275 A CN 106575275A
- Authority
- CN
- China
- Prior art keywords
- processor
- depositor
- ipi
- processing device
- bit
- 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.)
- Granted
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
Abstract
本公开提供了用于在异构多处理器系统(100)中处理处理器间中断(IPI)的设备和方法。此处提供的可扩展IPI机制需要最少的逻辑,并且可以用于异构处理器间(诸如应用处理器、实时处理器和FPGA加速器间)的通信。这种机制在逻辑面积和可编程复杂度两方面也是低成本的。一个示例系统(100)通常包括第一处理器(102),具有与第一处理器不同的处理器类型的第二处理器(104)和IPI电路(108)。IPI电路通常包括与第一处理器相关联的第一寄存器(2020),其中第一寄存器中的第一比特指示第一处理器是否已请求中断第二处理器;以及与所述第二处理器相关联的第二寄存器(2021),其中所述第二寄存器中的第二比特指示所述第二处理器是否已请求中断所述第一处理器。
Description
技术领域
本公开的例子总体上涉及处理器中断,具体而言,涉及异构多处理器系统中的处理器间中断。
背景技术
集成电路(IC)可以被实施用来执行特定的功能。一种类型的IC为可编程IC,例如现场可编程门阵列(FPGA)。FPGA通常包括可编程片(programmable tiles)的阵列。这些可编程片可以包括,例如,输入/输出模块(IOB)、可配置逻辑模块(CLB)、专用随机存取存储器模块(BRAM)、乘法器、数字信号处理模块(DSP)、处理器、时钟管理器、延迟锁定环(DLL)等等。
每个可编程片通常都包括可编程互连电路和可编程逻辑电路两者。可编程互连电路通常包括通过可编程互连点(PIP)互连的不同长度的大量互连线。可编程逻辑电路使用可编程元件来实现用户设计的逻辑,可编程元件可以包括例如函数发生器、寄存器、算术逻辑等等。
可编程互连电路和可编程逻辑电路通常通过将配置数据流加载到内部配置存储器单元中来被编程,该内部配置存储器单元定义了可编程元件如何被配置。配置数据可以从存储器(例如,从外部PROM)读取或通过外部设备写入FPGA。从而各个存储器单元的集合状态确定了FPGA的功能。
另一种类型的可编程IC是复杂可编程逻辑器件或CPLD。CPLD包括通过互连开关矩阵连接在一起并连接到输入/输出(I/O)资源的两个或更多个“功能块”。CPLD的每个功能块包括类似于在可编程逻辑阵列(PLA)和可编程阵列逻辑(PAL)器件中使用的两级AND/OR结构。在CPLD中,配置数据通常片上地存储在非易失性存储器中。在一些CPLD中,配置数据片上地存储在非易失性存储器中,然后作为初始配置(编程)序列的一部分下载到易失性存储器。
对于所有这些可编程IC,器件的功能由为此目的提供给器件的数据比特控制。数据比特可以存储在易失性存储器(例如,静态存储器单元,如在FPGA和一些CPLD中的)、非易失性存储器(例如,FLASH存储器,如在一些CPLD中的)或任何其它类型的存储器单元中。
通过应用处理层(processing layer),例如金属层,可以对其它可编程IC进行编程,该应用处理层可编程地互连器件上的各种元件。这些可编程IC被称为掩模可编程器件(mask programmable device)。可编程IC还可以以其他方式(例如,使用熔丝或反熔丝技术)来实施。词组“可编程IC”可以包括但不限于这些器件,并且还可以包括仅部分可编程的器件,包括例如专用集成电路(ASIC)。例如,另一种类型的可编程IC包括硬编码晶体管逻辑(hard-coded transistor logic)和与该硬编码晶体管逻辑可编程互连的可编程开关结构(programmable switch fabric)的组合。
一些现代IC(包括上面讨论的IC的一些变形)包括能够执行程序代码的嵌入式处理器。该处理器可以作为一部分被制造在包括可编程逻辑电路和可编程互连电路(也统称为IC的“可编程电路”)的相同裸片(die)上。应当理解,处理器内的程序代码的执行可区别于在IC上可用的对可编程电路的“编程”或“配置”。编程或配置IC的可编程电路的动作导致了由可编程电路中的配置数据指定的不同实体电路的实施。
发明内容
本公开的示例大体上涉及管理异构多处理器系统中的处理器间中断。
本公开的一个示例为一种系统。所述系统大体包括:第一处理器;具有与所述第一处理器不同的处理器类型的第二处理器;以及与所述第一处理器和所述第二处理器耦接的处理器间中断(IPI)电路。所述IPI电路通常包括:与所述第一处理器相关联的第一寄存器,其中所述第一寄存器中的第一比特指示所述第一处理器是否正在请求中断所述第二处理器;以及与所述第二处理器相关联的第二寄存器,其中所述第二寄存器中的第二比特指示所述第二处理器是否正在请求中断所述第一处理器。
本公开的另一个示例为一种集成电路(IC)。所述IC通常包括:具有一个或多个硬连线处理器的处理系统(PS)部分,具有一个或多个具有实体可配置电路的软处理器的可编程逻辑(PL)部分,以及一个或多个处理器间中断(IPI)电路。每个IPI电路通常被配置为在不同处理器之间生成一个或多个中断信号,其中至少一个中断信号在所述PS部分中的所述硬连线处理器之一与所述PL部分中的所述软处理器之一之间。
本公开的又一个示例是用于处理IPI的方法。所述方法通常包括:在IPI电路处接收来自第一处理器用以中断第二处理器的请求,其中所述第二处理器具有与所述第一处理器不同的处理器类型;基于所接收的请求,更新与所述第一处理器相关联的第一寄存器中的第一比特,其中所述第一比特指示所述第一处理器正在请求中断所述第二处理器;以及基于所述更新从所述IPI电路向所述第二处理器发送中断信号。
附图说明
为了可以详细地理解本公开的上述特征,可以通过参考示例来对上面简要概述的实施方式进行更具体的描述,其中一些示例在附图中示出。然而,应当注意,附图仅示出本公开的典型示例,因此不应被认为是对其范围的限制,因为本公开可以允许其他等效的示例。
图1A示出了根据本公开的一个示例的示例异构多处理器系统;
图1B示出了根据本公开的一个示例的使用互连的图1A的所述示例异构多处理器系统;
图2示出了根据本公开的一个示例的图1A和1B的系统中的处理器间中断(IPI)控制器中的示例寄存器;
图3示出了根据本公开的一个示例的用于基于图2中寄存器的内容产生中断的IPI控制器中的示例逻辑;
图4示出了根据本公开的一个示例的具有可配置为实施不同实体电路的硬连线处理系统(PS)和可编程逻辑(PL)的示例集成电路(IC);
图5示出了根据本公开的一个示例的图4的系统中的IPI控制器之一中的示例寄存器;
图6示出了根据本公开的一个示例的用于基于图5中寄存器的内容产生中断的IPI控制器之一中的示例逻辑;
图7是根据本公开的一个示例的用于在异构多处理器系统中处理中断的示例操作的流程图。
具体实施方式
本公开的示例提供了用于在异构多处理器系统中处理处理器间中断的技术和装置,其中至少一些处理器具有不同的特性并且可能不能直接中断另外的处理器。这里描述的处理器间中断(IPI)机制提供了IPI控制器作为各种处理器之间的IPI接口。IPI控制器包括用于每个IPI源的触发寄存器、用于每个IPI目标的状态寄存器和用于每个IPI目标的清除寄存器(clear register),其中寄存器根据系统中的处理器的数量增加而扩展。这种可扩展的IPI机制使得诸如应用处理器、实时处理器和现场可编程门阵列(FPGA)加速器的多种处理器能够经由中断彼此通信。IPI机制在逻辑面积和可编程复杂度方面也都是低成本的。
通用异构多处理器系统中的示例性IPI机制
在具有多个处理器的系统中,可能期望各种处理器能彼此中断。IPI机制通常用于实施例如高速缓存一致性同步点(coherency synchronization point)、通信信道或邮箱。然而,多处理器系统可能包括不同性质的各种处理器,这些处理器可能不具有用于同步的内置结构并且不能彼此直接中断。如本文所使用的,词组“直接中断”通常是指一个处理器能够在没有中介的情况下中断另一个处理器(例如,通过从一个处理器向另一个处理器发送中断信号)。
图1A示出了根据本公开的一个示例的示例异构多处理器系统100。如本公开所使用的,异构多处理器系统通常指具有多个处理器的处理系统,其中至少两个处理器具有不同的处理器类型(即,具有不同种类或性质)。在某些情况下,异构多处理器系统还可以指具有多个处理器的处理系统,其中至少两个处理器在不同的处理器集群中(无论相同或不同的处理器类型)。作为示例,系统100包括三个不同的处理单元102、104、106:处理器类型为A的处理单元0、处理器类型为B的处理单元1和处理器类型为C的处理单元2。为了使这些异构处理单元能彼此中断,IPI控制器108与每个处理单元102、104、106连接,例如,使得处理单元0可以中断处理单元1或处理单元2。如下所述,IPI控制器108可以包括寄存器110和用于处理寄存器内容的逻辑112。
图2和3示出了IPI控制器108的一个示例性实施例。在本文中所使用的IPI术语中,中断处理器被称为源、源处理器或IPI源,而被中断的处理器被称为目标、目标处理器或IPI目标。处理单元102、104、106中的任何一个都可以用作为源或目标。这里描述的IPI机制以模块化方式设计,这允许该机制在将来能够容易地扩展。最小的模块化单元被称为“组(set)”,其包括用于每个IPI源(或每个IPI目标,取决于寄存器的类型)的一个寄存器。对于图1的示例系统100,一组包括三个寄存器。
图2示出了根据本公开的一个示例的IPI控制器108中的示例寄存器。IPI控制器108包括一组三个触发寄存器2020到2022(统称为“寄存器202”或“触发寄存器202”)、一组三个状态寄存器2040到2042(统称为“寄存器204”或“状态寄存器204”)以及一组三个清除寄存器2060至2062(统称为“寄存器206”或“清除寄存器206”)。寄存器202、204和206至少具有足够的比特来覆盖多处理器系统100中的潜在目标(或源)的数量,并且剩余的比特(如果有的话)可以被保留用于将来的扩展。例如,触发寄存器202、状态寄存器204和清除寄存器206可以是8比特寄存器,其中保留五个最高有效比特(MSB),并且三个最低有效比特(LSB)与多处理器系统100中的处理单元相关联。
IPI控制器108可以仅允许与触发寄存器202中特定的一个触发寄存器相关联的源访问该寄存器。例如,IPI控制器108可以仅允许处理单元1访问触发寄存器2021。任何其他源的访问可能产生地址解码错误。以这种方式,IPI控制器108控制对各寄存器的访问,从而提供了保护机制。该组中的所有三个触发寄存器202具有相同的格式,该格式为每个IPI目标从总共三个比特(例如,三个LSB)中分配一个比特。通过将逻辑“1”写入这些比特中的任一个,与触发寄存器202中的特定一个寄存器相关联的源可在由该比特表示的目标处产生中断。例如,为了指示处理单元1正在请求中断处理单元2,IPI控制器108允许处理单元1向触发寄存器2021的IPI目标比特2写入逻辑“1”。IPI源可以通过从与其相关联的触发寄存器读取以获得其触发器的状态(例如,处理单元1可以从触发寄存器2021读取以获得其触发器的状态)。
为了产生用于特定IPI目标的中断,该组的每个触发寄存器202中的特定IPI目标比特可以在IPI控制器108中进行逻辑上的组合(例如,由逻辑112的或门302进行或运算,或者异或运算)。对于如图3所示的另一些例子,或门302(或其他逻辑门)可以对该组的每个触发寄存器202中的特定IPI目标比特进行逻辑或运算(或以其它逻辑进行组合),除非与特定触发寄存器相关联的IPI源是与要被中断的该特定IPI目标相同的处理单元(例如,在给定的处理单元不经由IPI控制器108中断自己的情况下)。例如,如果与处理单元0相关联的触发寄存器2020的比特1是逻辑“1”,或者如果与处理单元2相关联的触发寄存器2022的比特1是“1”,则IPI控制器108可以为处理单元1生成中断逻辑。IPI控制器108中的逻辑112可以包括用于每个潜在IPI目标的类似配置的或门(或其他逻辑),用于示例IPI控制器108中总共三个单独的中断生成或门。IPI控制器108中的逻辑112可以包括用于其他处理单元(例如,处理单元0和处理单元2)的类似的逻辑配置。
回到图2,当目标处理器被中断时,目标处理器可以读取分配给该目标的只读状态寄存器204中相关联的一个寄存器,以确定哪个IPI源产生了该中断。例如,在被中断之后,处理单元2可以读取状态寄存器2042的比特1,以确定处理单元1对该中断负责。该组中的所有三个状态寄存器204具有相同的格式,从总共3个比特(例如,三个LSB)为每个IPI源分配一个比特。只写清除寄存器206中类似的一个被用来清除状态寄存器204的相应一个中来自IPI源的请求。如果逻辑“1”被写入给定清除寄存器206中的任何比特,则与该源相关联的中断的请求被清除。在这种情况下写入逻辑“0”没有影响。一个组中存在与每个IPI目标相关联的单独的状态寄存器204和单独的清除寄存器206。与相同目标相关联的状态和清除寄存器被映射到相同的地址。通过与状态或清除寄存器不相关联的任何IPI目标进行的访问都可能导致地址解码错误。
对于一些例子,触发寄存器202可以直接写入到状态寄存器204。在这种情况下,实际存储可能发生在状态寄存器204中,而不是在如图2所示的触发寄存器202中。在这种情况下,状态寄存器204的相应比特,而不是来自触发寄存器202的那些比特,可以在IPI控制器108中逻辑组合(例如,被或运算)以产生中断。
图1A旨在示出异构多处理器系统的逻辑实施例,对于一些例子,各种处理单元102、104、106可以经由单独的专用端口与IPI控制器108连接。对于如图1B的示例性异构多处理器系统150所描绘的其他示例,各种处理单元102、104、106和IPI控制器108之间的访问可以通过互连152(例如,总线)进行,而不是通过单独的端口。为了使用来自互连152的共享端口,IPI控制器108可以检查源标识符(ID)或目标ID,并确定哪个IPI源或目标正尝试访问各寄存器202、204、206。通过检查IPI源或目标ID,IPI控制器108可以限制特定IPI源仅访问与该IPI源相关联的寄存器,并防止该IPI源访问其他寄存器。这种受限访问提供了上述保护机制。
在具有硬连线(hard-wired)和软处理器的IC中的示例IPI机制
如在2011年2月28日提交的名称为“具有可编程电路和嵌入式处理器系统的集成电路”的Allaire等人的美国专利(专利号8,667,192)中所描述的,集成电路(IC)可以包括嵌入式处理器系统和可编程电路。被配置为执行程序代码的处理器系统可以是硬连线的并且包括处理器硬件资源。可编程电路可配置为实施不同的实体电路(physical circuitry)并且可以耦接到处理器系统。可编程电路可以被配置为共享使用处理器系统的处理器硬件资源。处理器系统可以控制可编程电路系统的诸如通电和/或断电等方面,以及可编程电路的配置以在其中实施一个或多个不同的实体电路。利用嵌入式处理器系统中的硬连线处理器和可编程电路中的软处理器两者,这样的IC能作为异构多处理器系统,并且可以实施此处描述的IPI机制。
图4示出了根据本公开的一个示例的示例IC 400,其具有可配置为实施不同实体电路的硬连线处理系统(PS)402和可编程逻辑(PL)404。PS 402,也称为专用集成电路(application specific integrated circuit,ASIC)部分,可以包括应用和处理单元(APU)子系统中的四个处理器4060到4063(标记为APU_0,APU_1,APU_2和APU_3,并统称为“APU处理器406”),实时处理单元(RPU)子系统中的两个处理器4080和4081(标记为RPU_0和RPU_1,并统称为“RPU处理器408”),一个电源管理单元(PMU)处理器410和一个配置和安全单元(CSU)处理器412。PL 404,也称为FPGA部分,可以包括四个软处理器4140至4143(标记为PL_0,PL_1,PL_2和PL_3,并统称为“软处理器414”)。APU子系统中的APU处理器406、RPU子系统中的RPU处理器408、PMU处理器410、CSU处理器412和软处理器414分别具有不同的处理器类型。在没有中介的情况下,特定子系统中(或特定处理器类型)的处理器可能不能中断不同子系统中(或不同处理器类型)的处理器。
为了使这些异构处理器能互相中断,IPI控制器4160与处理器406、408、410、412、414中的每一个连接,使得,例如,PL_2可以中断APU_3。IPI控制器4160可以如图所示比特于PS 402中。对于一些示例,各处理器406、408、410、412、414和IPI控制器4160之间的访问可以通过总线,而不是通过单独的线路。
对于一些示例,可以创建不同的中断类型或“类”,其中IC包括用于每个中断类的一个IPI控制器。例如,可以根据优先级或排他性(exclusivity)来区分中断类。因此,可以为同一组处理器实例化多于一个的IPI控制器。例如,类可以包括基于Linux的中断类或与电源相关的中断类。在图4的示例IC 400中,存在四个不同的中断类,因此IC包括四个不同的IPI控制器4160至4163(标记为IPI_0,IPI_1,IPI_2和IPI_3,并统称为“IPI控制器416”)。IPI控制器4160的示例实施(如图5和图6所示)可以在每个IPI控制器中被复制。
图5和图6示出了IPI控制器4160的示例实施例。如上所述,发起中断的处理器被称为IPI源,而被中断的处理器被称为IPI目标。处理器406、408、410、412、414中的任一个可以作为源或目标。这里描述的IPI机制以模块化方式设计,这允许该机制在未来几代的IC 400中可以容易地扩展,并且保持与当前代IC代码兼容。最小的模块单元称为“组”,其包括用于每个IPI源(或每个IPI目标)的一个寄存器。对于图4的示例IC 400,一组包括12个寄存器。
图5示出了根据本公开的一个示例的IPI控制器4160中的示例寄存器。IPI控制器4160包括一组12个触发寄存器502,一组12个状态寄存器504和一组12个清除寄存器506。寄存器502、504和506至少具有足够的比特以覆盖潜在目标(或源)的数量,并且可以保留剩余比特(如果有的话)用于将来扩展。例如,触发寄存器502、状态寄存器504和清除寄存器506可以是32比特寄存器,其中20个最高有效比特(MSB)12-31被保留。
IPI控制器4160可以仅允许与触发寄存器502中的一个特定寄存器相关联的IPI源访问该寄存器。例如,IPI控制器4160可以仅允许PL_3访问触发寄存器50211。任何其他源的访问可能产生地址解码错误。该组中的所有12个触发寄存器502具有相同的格式,其从总共12比特(例如,LSBs 0-11)为每个IPI目标分配一个比特。通过将逻辑“1”写入触发寄存器502中的特定触发寄存器中的这些比特中的任何一个,相关联的源可以在在该比特表示的目标处产生中断。例如,为了允许PL_1中断APU_3,IPI控制器4160可以允许PL_1向触发寄存器5029的IPI目标比特5写入逻辑“1”。如果触发寄存器502被与该寄存器相关联的IPI源读取,则该源可以读回其触发器的状态。
为了产生用于特定IPI目标的中断,如图6所示,该组的每个触发寄存器502中的特定IPI目标比特可以由IPI控制器4160的或门602进行逻辑或运算。例如,如果与PL_1相关联的触发寄存器5029的比特5为逻辑“1”,或者如果与RPU_0相关联的触发寄存器5020的比特5为逻辑“1”,则可以为APU_3生成中断。IPI控制器4160可以包括用于每个潜在IPI目标的类似配置的或门,用于对示例IPI控制器4160中的总共12个单独的中断生成或门。IPI控制器4160可以包括用于其他处理单元的类似的逻辑配置。
回到图5,当目标处理器被中断时,目标处理器可以读取被分配给该目标的只读状态寄存器504,以确定哪个IPI源导致该中断。例如,在被中断之后,APU_3可以读取其相关联的状态寄存器5045的比特9,以确定PL_1负责该中断。该组中的所有十二个状态寄存器504具有相同的格式,其从总共12比特(例如,12个LSBs)中为每个IPI源分配一个比特。类似的只写清除寄存器506(例如,与APU_3关联的5065)被用来清除来自相应状态寄存器504(与APU_3关联的5045)中的IPI源的请求。如果逻辑“1”被写入清除寄存器506中的特定一个寄存器的任何比特,则与该源相关联的中断请求被清除。在这种情况下写入逻辑“0”没有影响。一组中的每个IPI目标都具有与其相关联的单独的状态寄存器504和单独的清除寄存器506。与相同目标相关联的状态和清除寄存器被映射到相同的地址。与状态或清除寄存器不相关联的任何IPI目标的访问可能导致地址解码错误。
根据一些示例,IC 400还可以包括有效载荷寄存器(payload register)。有效载荷寄存器可以保存在IC 400的存储器中或位于IPI控制器中。如果存储在存储器中,则有效载荷寄存器可以在存储器映射表(memory map)中具有固定地址。有效载荷寄存器可以是一组通用寄存器。对于一些示例,每个IPI控制器416可以具有与其相关联的有效载荷寄存器。有效负载寄存器存储的数据可以在一个处理器中断另一个处理器(例如,经由IPI控制器)时被读取。对于一些示例,该数据可以指示特定处理器在从IPI控制器接收到中断信号时该做什么。
与用于触发、状态和清除寄存器的保护机制类似,还可以通过使用源(或目标)ID来限制对有效载荷寄存器的访问。该机制可以仅允许特定的IPI源写入某个有效载荷寄存器,并且仅允许特定的IPI目标读取特定的有效载荷寄存器。
IPI操作示例
图7是用于在异构多处理器系统中处理中断的示例操作700的流程图。操作700可以由IPI电路执行,例如IPI控制器108或IPI控制器416之一。
操作700可以在702开始,其中IPI电路从第一处理器接收中断第二处理器的请求。第二处理器具有与第一处理器不同的处理器类型。
在704,IPI电路可以基于在702接收的请求更新与第一处理器相关联的第一寄存器中的第一比特。该第一比特指示第一处理器正在请求中断第二处理器。第一寄存器可以位于IPI电路中,并且例如可以是触发寄存器。更新第一比特可能涉及到将逻辑“1”写入第一比特。
在706,IPI电路可以基于在704的更新向第二处理器发送中断信号。
根据一些示例,IPI电路可以检查第一处理器的标识符,并且只有在第一处理器的标识符正确时才可以更新第一比特。
根据一些示例,操作700还可以包括IPI电路,其从第二处理器接收请求,以确定哪个处理器已请求中断第二处理器。在这种情况下,IPI电路可以读取与第二处理器相关联的第二寄存器中的第二比特。第二比特指示第二处理器被第一处理器中断。第二寄存器可以位于IPI电路中,并且例如可以是状态寄存器。在从第二处理器接收到请求之后,IPI电路可以向第二处理器发送基于第二比特的指示。对于一些示例,IPI电路可以检查第二处理器的标识符,并且仅当第二处理器的标识符正确时才基于第二比特发送指示。
本申请描述了异构多处理器系统中的处理器间中断的机制。在一个示例中,系统通常包括第一处理器,与第一处理器具有不同的处理器类型的第二处理器,以及耦接到第一和第二处理器的处理器间中断(IPI)电路。IPI电路通常包括:与第一处理器相关联的第一寄存器,其中第一寄存器中的第一比特指示第一处理器是否正在请求中断第二处理器;以及与所述第二处理器相关联的第二寄存器,其中所述第二寄存器中的第二比特指示所述第二处理器是否正在请求中断所述第一处理器。
根据一些示例,IPI电路还包括:与第一处理器相关联的第三寄存器,其中第三寄存器中的第三比特指示第一处理器是否被第二处理器中断;以及与所述第二处理器相关联的第四寄存器,其中所述第四寄存器中的第四比特指示所述第二处理器是否被所述第一处理器中断。对于一些示例,IPI电路还包括:与第一处理器相关联的第五寄存器,其中第五寄存器中的第五比特指示第三寄存器中的第三比特是否要被清除;以及与第二处理器相关联的第六寄存器,其中第六寄存器中的第六比特指示第四寄存器中的第四比特是否要被清除。
根据一些示例,所述系统进一步包括耦接到所述IPI电路的第三处理器,其中第一寄存器中的第三比特指示第一处理器是否正请求中断第三处理器,且其中第二寄存器中的第四比特指示第二处理器是否正在请求中断第三处理器。第三处理器可以具有与第一处理器相同的处理器类型。对于一些示例,IPI电路包括逻辑门,以在第一寄存器中的第三比特和第二寄存器中的第四比特之间执行逻辑或运算,以产生用于第三处理器的中断信号。
根据一些示例,系统还包括一个或多个附加处理器,其中第一寄存器包括一个或多个附加比特,用于指示第一处理器是否正在请求生成用于中断该一个或多个附加处理器的相应中断信号。在这种情况下,第二寄存器可以包括一个或多个附加比特,用于指示第二处理器是否正在请求生成用于中断一个或多个附加处理器的相应中断信号。对于一些实例,第一寄存器中的一个或多个附加比特的至少一部分和第二寄存器中的一个或多个附加比特的至少一部分被保留(例如,用于中断不在当前系统的一个或多个处理器)。
根据一些示例,系统还包括具有第一处理器、第二处理器和IPI电路的集成电路(IC)。对于一些示例,IC包括处理系统(PS)部分和可编程逻辑(PL)部分。在这种情况下,第一处理器可以位于PS部分中,并且第二处理器可以设置在PL部分中。
根据一些示例,第一处理器是硬连线处理器,并且第二处理器包括可配置为实施不同实体电路(例如,软处理器)的可编程电路。
根据一些示例,第二处理器不能直接中断第一处理器,并且第一处理器不能直接中断第二处理器。
根据一些示例,IPI电路被配置为在允许更新第一寄存器之前检查第一处理器的标识符,并且在允许更新第二寄存器之前检查第二处理器的标识符。
根据一些示例,IPI电路通过互连被耦接到第一处理器和第二处理器。
本发明的另一个示例为集成电路(IC)。该IC通常包括:具有一个或多个硬连线处理器的处理系统(PS)部分,具有一个或多个具有实体可配置电路的软处理器的可编程逻辑(PL)部分,以及一个或多个处理器间中断(IPI)电路。每个IPI电路通常被配置为在不同处理器之间生成一个或多个中断信号,其中至少一个中断信号在PS部分中的硬连线处理器之一与PL部分中的软处理器之一之间。
根据一些示例,每个IPI电路包括第一组寄存器;第一组中的每个寄存器与硬连线处理器和软处理器中的每个处理器相关联;第一组中的每个寄存器包括大于或等于所述集成电路中的硬连线处理器和软处理器的数量的比特数;并且在与硬连线处理器和软处理器中的特定处理器相关联的第一组中的特定寄存器中,每个比特指示该特定处理器是否正在请求中断硬连线处理器和软处理器中的一个不同的处理器。
对于一些示例,每个IPI电路包括第二组寄存器;第二组中的每个寄存器与硬连线处理器和软处理器中的每个处理器相关联;第二组中的每个寄存器包括大于或等于所述集成电路中的硬连线处理器和软处理器的数量的比特数;并且在与硬连线处理器和软处理器中的特定处理器相关联的第二组中的特定寄存器中,每个比特指示该特定处理器是否被硬连线处理器和软处理器中的一个不同的处理器所中断。
根据一些示例,每个IPI电路包括第三组寄存器;第三组中的每个寄存器与硬连线处理器和软处理器中的每个处理器相关联;第三组中的每个寄存器包括大于或等于所述集成电路中的硬连线处理器和软处理器的数量的比特数;并且在与硬连线处理器和软处理器中的特定处理器相关联的第三组中的特定寄存器中,每个比特指示第二组的寄存器中的相应比特是否要被清除。第一组寄存器可以是读/写寄存器,第二组寄存器可以是只读寄存器,并且第三组寄存器可以是只写寄存器。对于一些示例,硬连线处理器包括四个应用处理单元(APU)、两个实时处理单元(RPU)、一个配置和安全单元(CSU)以及一个电源管理单元(PMU);PL部分包括的四个软处理器,两部分总共12个处理器;并且第一、第二和第三组寄存器中的每个寄存器为32比特寄存器,其仅使用12位以用于总共12个处理器。
根据一些示例,每个IPI电路都与不同的中断类相关联。
根据一些示例,IPI电路设置在PS部分中。
根据一些实例,集成电路进一步包括有效负载寄存器,其被配置为存储当IPI电路中的一个在不同处理器之间产生所述中断信号中的一个时所读取的数据。
本发明的又一个示例是一种用于处理IPI的方法。该方法通常包括:在IPI电路处接收来自第一处理器用以中断第二处理器的请求,其中第二处理器具有与第一处理器不同的处理器类型;基于所接收的请求,更新与第一处理器相关联的第一寄存器中的第一比特,其中所述第一比特指示第一处理器正在请求中断第二处理器;以及基于所述更新从IPI电路向第二处理器发送中断信号。
虽然前述内容涉及本公开的示例,但是在不脱离本公开的基本范围的情况下可以设计本公开的其他和进一步的示例,并且本公开的范围由所附的权利要求确定。
Claims (15)
1.一种系统,其特征在于,所述系统包括:
第一处理器;
第二处理器,具有与所述第一处理器不同的处理器类型;以及
处理器间中断(IPI)电路,与所述第一处理器和所述第二处理器耦接,并且包括:
第一寄存器,与所述第一处理器相关联,其中所述第一寄存器中的第一比特指示所述第一处理器是否正在请求中断所述第二处理器;以及
第二寄存器,与所述第二处理器相关联,其中所述第二寄存器中的第二比特指示所述第二处理器是否正在请求中断所述第一处理器。
2.根据权利要求1所述的系统,其特征在于,所述IPI电路还包括:
第三寄存器,与所述第一处理器相关联,其中所述第三寄存器中的第三比特指示所述第一处理器是否被所述第二处理器中断;以及
第四寄存器,与所述第二处理器相关联,其中所述第四寄存器中的第四比特指示所述第二处理器是否被所述第一处理器中断。
3.根据权利要求2所述的系统,其特征在于,所述IPI电路还包括:
第五寄存器,与所述第一处理器相关联,其中所述第五寄存器中的第五比特指示所述第三寄存器中的所述第三比特是否要被清除;以及
第六寄存器,与所述第二处理器相关联,其中所述第六寄存器中的第六比特指示所述第四寄存器中的所述第四比特是否要被清除。
4.根据权利要求1所述的系统,其特征在于,所述系统还包括耦接到所述IPI电路的第三处理器,其中所述第一寄存器中的第三比特指示所述第一处理器是否正在请求中断所述第三处理器,并且其中所述第二寄存器中的第四比特指示所述第二处理器是否正在请求中断所述第三处理器。
5.根据权利要求4所述的系统,其特征在于,所述IPI电路包括逻辑门,用于在所述第一寄存器中的所述第三比特与所述第二寄存器中的所述第四比特之间应用逻辑或运算以产生用于所述第三处理器的中断信号。
6.根据权利要求1所述的系统,其特征在于,所述系统还包括一个或多个附加处理器,其中所述第一寄存器包括一个或多个附加比特,用于指示所述第一处理器是否正在请求生成用于中断所述一个或多个附加处理器的相应中断信号,并且其中所述第二寄存器包括一个或多个附加比特,用于指示所述第二处理器是否正在请求生成用于中断所述一个或多个附加处理器的相应中断信号。
7.根据权利要求6所述的系统,其特征在于,所述第一寄存器中所述一个或多个附加比特的至少一部分以及所述第二寄存器中所述一个或多个附加比特的至少一部分被保留。
8.根据权利要求1所述的系统,其特征在于,所述第一处理器包括硬连线处理器,并且所述第二处理器包括可配置为实施不同实体电路的可编程电路。
9.根据权利要求1所述的系统,其特征在于,所述第二处理器不能直接中断所述第一处理器,并且所述第一处理器不能直接中断所述第二处理器。
10.根据权利要求1所述的系统,其特征在于,所述IPI电路被配置为:
在允许对所述第一寄存器进行更新之前检查所述第一处理器的标识符;以及
在允许对所述第二寄存器进行更新之前检查所述第二处理器的标识符。
11.根据权利要求1所述的系统,其特征在于,所述IPI电路通过互连被耦接到所述第一处理器和所述第二处理器。
12.一种方法,其特征在于,所述方法包括:
在处理器间中断(IPI)电路处接收来自第一处理器用以中断第二处理器的请求,其中所述第二处理器具有与所述第一处理器不同的处理器类型;
基于所述接收的请求,更新与所述第一处理器相关联的第一寄存器中的第一比特,其中所述第一比特指示所述第一处理器正在请求中断所述第二处理器;以及
基于所述更新从所述IPI电路向所述第二处理器发送中断信号。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
通过所述IPI电路检查所述第一处理器的标识符,以及
仅在所述第一处理器的所述标识符正确时更新所述第一比特。
14.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在处理器间中断(IPI)电路处接收来自所述第二处理器且用于标识哪个处理器请求中断所述第二处理器的请求;
通过所述IPI电路读取与所述第二处理器相关联的第二寄存器中的第二比特,其中所述第二比特指示所述第二处理器被所述第一处理器中断。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
通过所述IPI电路基于所述第二比特向所述第二处理器发送指示;以及
通过所述IPI电路检查所述第二处理器的标识符,并且仅在所述第二处理器的所述标识符正确时基于所述第二比特发送所述指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/464,654 | 2014-08-20 | ||
US14/464,654 US9665509B2 (en) | 2014-08-20 | 2014-08-20 | Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system |
PCT/US2015/045575 WO2016028715A1 (en) | 2014-08-20 | 2015-08-17 | Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106575275A true CN106575275A (zh) | 2017-04-19 |
CN106575275B CN106575275B (zh) | 2020-11-06 |
Family
ID=54066186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580044766.2A Active CN106575275B (zh) | 2014-08-20 | 2015-08-17 | 用于异构多处理器系统中处理器间中断的机制 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9665509B2 (zh) |
EP (1) | EP3183652B1 (zh) |
JP (1) | JP6785222B2 (zh) |
KR (2) | KR102544392B1 (zh) |
CN (1) | CN106575275B (zh) |
WO (1) | WO2016028715A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112363972A (zh) * | 2020-10-20 | 2021-02-12 | 青岛信芯微电子科技股份有限公司 | 支持多cpu间通信的电子设备及方法 |
WO2021208149A1 (zh) * | 2020-04-13 | 2021-10-21 | Tcl华星光电技术有限公司 | 异构计算系统及采用该系统的异构计算方法 |
WO2024065829A1 (en) * | 2022-09-30 | 2024-04-04 | Intel Corporation | User interrupt moderation for user inter-processor-interrupts |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10585826B2 (en) * | 2016-01-25 | 2020-03-10 | Advanced Micro Devices, Inc. | Using processor types for processing interrupts in a computing device |
KR101936942B1 (ko) * | 2017-08-28 | 2019-04-09 | 에스케이텔레콤 주식회사 | 분산형 컴퓨팅 가속화 플랫폼 장치 및 분산형 컴퓨팅 가속화 플랫폼 운영 방법 |
US10528513B1 (en) | 2018-04-30 | 2020-01-07 | Xilinx, Inc. | Circuit for and method of providing a programmable connector of an integrated circuit device |
US10877766B2 (en) * | 2018-05-24 | 2020-12-29 | Xilinx, Inc. | Embedded scheduling of hardware resources for hardware acceleration |
US10705993B2 (en) | 2018-11-19 | 2020-07-07 | Xilinx, Inc. | Programming and controlling compute units in an integrated circuit |
KR101973946B1 (ko) * | 2019-01-02 | 2019-04-30 | 에스케이텔레콤 주식회사 | 분산형 컴퓨팅 가속화 플랫폼 장치 |
KR102702543B1 (ko) * | 2019-01-25 | 2024-09-05 | 삼성전자주식회사 | 이기종 프로세서들을 위해 전자 장치의 프로세서에 의해 구현되는 방법 및 전자 장치를 동작시키기 위한 프로세서 |
US11487594B1 (en) | 2019-09-24 | 2022-11-01 | Meta Platforms Technologies, Llc | Artificial reality system with inter-processor communication (IPC) |
US11474970B2 (en) * | 2019-09-24 | 2022-10-18 | Meta Platforms Technologies, Llc | Artificial reality system with inter-processor communication (IPC) |
US11520707B2 (en) | 2019-11-15 | 2022-12-06 | Meta Platforms Technologies, Llc | System on a chip (SoC) communications to prevent direct memory access (DMA) attacks |
US11190892B2 (en) | 2019-11-20 | 2021-11-30 | Facebook Technologies, Llc | Audio sample phase alignment in an artificial reality system |
US11386034B2 (en) | 2020-10-30 | 2022-07-12 | Xilinx, Inc. | High throughput circuit architecture for hardware acceleration |
CN113377701B (zh) * | 2021-06-22 | 2023-04-11 | 东莞华贝电子科技有限公司 | 基于复杂可编程逻辑器件cpld的串口控制系统及其通信方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202998A (en) * | 1990-08-31 | 1993-04-13 | International Business Machines Corporation | Fast, simultaneous multi-processor system status communication interface |
US5987538A (en) * | 1997-08-15 | 1999-11-16 | Compaq Computer Corporation | Apparatus for initiating generation of an inter-processor interrupt by a peripheral device not directly connected to any of the multi-processor local interrupt controllers |
CN101000593A (zh) * | 2006-06-23 | 2007-07-18 | 华为技术有限公司 | 实现处理器之间进行通讯的装置和方法 |
CN102169449A (zh) * | 2010-02-25 | 2011-08-31 | 三星电子株式会社 | 具有中断代理功能的片上系统及其中断处理方法 |
CN103761145A (zh) * | 2009-01-26 | 2014-04-30 | 超威半导体公司 | 用于各个处理器的辅助中断虚拟化的访客中断控制器 |
US20140136746A1 (en) * | 2012-11-13 | 2014-05-15 | Keshavan Tiruvallur | Technique for communicating interrupts in a computer system |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215399A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Special function control system for a dual microprocessor programmable process control system |
US5210828A (en) * | 1988-12-29 | 1993-05-11 | International Business Machines Corporation | Multiprocessing system with interprocessor communications facility |
US5136714A (en) * | 1989-12-04 | 1992-08-04 | International Business Machines Corporation | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system |
WO1993000638A1 (en) * | 1991-06-26 | 1993-01-07 | Ast Research, Inc. | Automatic distribution of interrupts controller for a multiple processor computer system |
EP0535821B1 (en) * | 1991-09-27 | 1997-11-26 | Sun Microsystems, Inc. | Method and apparatus for dynamically steering undirected interrupts |
US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
US5513346A (en) | 1993-10-21 | 1996-04-30 | Intel Corporation | Error condition detector for handling interrupt in integrated circuits having multiple processors |
EP0685798B1 (en) * | 1994-05-31 | 2003-07-16 | Advanced Micro Devices, Inc. | Interrupt controllers in symmetrical multiprocessing systems |
US5761516A (en) * | 1996-05-03 | 1998-06-02 | Lsi Logic Corporation | Single chip multiprocessor architecture with internal task switching synchronization bus |
US5790850A (en) * | 1996-09-30 | 1998-08-04 | Intel Corporation | Fault resilient booting for multiprocessor computer systems |
US6219743B1 (en) | 1998-09-30 | 2001-04-17 | International Business Machines Corporation | Apparatus for dynamic resource mapping for isolating interrupt sources and method therefor |
KR100313945B1 (ko) * | 1999-03-03 | 2001-11-15 | 김영환 | 다단 인터럽트 제어 장치 |
US6845419B1 (en) * | 2000-01-24 | 2005-01-18 | Freescale Semiconductor, Inc. | Flexible interrupt controller that includes an interrupt force register |
US20010037426A1 (en) * | 2000-05-31 | 2001-11-01 | Pawlowski Chester W. | Interrupt handling via a proxy processor |
US20020091826A1 (en) * | 2000-10-13 | 2002-07-11 | Guillaume Comeau | Method and apparatus for interprocessor communication and peripheral sharing |
US6829660B2 (en) * | 2001-12-12 | 2004-12-07 | Emulex Design & Manufacturing Corporation | Supercharge message exchanger |
US8984199B2 (en) * | 2003-07-31 | 2015-03-17 | Intel Corporation | Inter-processor interrupts |
KR100817047B1 (ko) * | 2004-02-27 | 2008-03-26 | 삼성전자주식회사 | 인터럽트 컨트롤러 |
US20060020852A1 (en) * | 2004-03-30 | 2006-01-26 | Bernick David L | Method and system of servicing asynchronous interrupts in multiple processors executing a user program |
US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
US7617346B2 (en) * | 2007-02-27 | 2009-11-10 | Integrated Device Technology, Inc. | Rapid input/output doorbell coalescing to minimize CPU utilization and reduce system interrupt latency |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
US8285904B2 (en) * | 2009-08-14 | 2012-10-09 | Advanced Micro Devices, Inc. | Flexible notification mechanism for user-level interrupts |
US8234431B2 (en) * | 2009-10-13 | 2012-07-31 | Empire Technology Development Llc | Interrupt masking for multi-core processors |
US8489789B2 (en) * | 2010-02-05 | 2013-07-16 | Advanced Micro Devices, Inc. | Interrupt virtualization |
US8601193B2 (en) * | 2010-10-08 | 2013-12-03 | International Business Machines Corporation | Performance monitor design for instruction profiling using shared counters |
US8667192B2 (en) | 2011-02-28 | 2014-03-04 | Xilinx, Inc. | Integrated circuit with programmable circuitry and an embedded processor system |
US9021146B2 (en) * | 2011-08-30 | 2015-04-28 | Apple Inc. | High priority command queue for peripheral component |
US9552313B2 (en) | 2011-12-28 | 2017-01-24 | Intel Corporation | Delivering real time interrupts with an advanced programmable interrupt controller |
US9009508B2 (en) * | 2012-08-28 | 2015-04-14 | Advanced Micro Devices, Inc. | Mechanism for reducing interrupt latency and power consumption using heterogeneous cores |
US9582346B2 (en) * | 2013-09-04 | 2017-02-28 | Oracle International Corporation | Selecting I/O interrupt target for multi-core server systems |
-
2014
- 2014-08-20 US US14/464,654 patent/US9665509B2/en active Active
-
2015
- 2015-08-17 EP EP15760540.3A patent/EP3183652B1/en active Active
- 2015-08-17 KR KR1020227041255A patent/KR102544392B1/ko active IP Right Grant
- 2015-08-17 WO PCT/US2015/045575 patent/WO2016028715A1/en active Application Filing
- 2015-08-17 KR KR1020177007397A patent/KR102536596B1/ko active IP Right Grant
- 2015-08-17 CN CN201580044766.2A patent/CN106575275B/zh active Active
- 2015-08-17 JP JP2017509753A patent/JP6785222B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5202998A (en) * | 1990-08-31 | 1993-04-13 | International Business Machines Corporation | Fast, simultaneous multi-processor system status communication interface |
US5987538A (en) * | 1997-08-15 | 1999-11-16 | Compaq Computer Corporation | Apparatus for initiating generation of an inter-processor interrupt by a peripheral device not directly connected to any of the multi-processor local interrupt controllers |
CN101000593A (zh) * | 2006-06-23 | 2007-07-18 | 华为技术有限公司 | 实现处理器之间进行通讯的装置和方法 |
CN103761145A (zh) * | 2009-01-26 | 2014-04-30 | 超威半导体公司 | 用于各个处理器的辅助中断虚拟化的访客中断控制器 |
CN102169449A (zh) * | 2010-02-25 | 2011-08-31 | 三星电子株式会社 | 具有中断代理功能的片上系统及其中断处理方法 |
US20140136746A1 (en) * | 2012-11-13 | 2014-05-15 | Keshavan Tiruvallur | Technique for communicating interrupts in a computer system |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021208149A1 (zh) * | 2020-04-13 | 2021-10-21 | Tcl华星光电技术有限公司 | 异构计算系统及采用该系统的异构计算方法 |
CN112363972A (zh) * | 2020-10-20 | 2021-02-12 | 青岛信芯微电子科技股份有限公司 | 支持多cpu间通信的电子设备及方法 |
CN112363972B (zh) * | 2020-10-20 | 2022-09-23 | 青岛信芯微电子科技股份有限公司 | 支持多cpu间通信的电子设备及方法 |
WO2024065829A1 (en) * | 2022-09-30 | 2024-04-04 | Intel Corporation | User interrupt moderation for user inter-processor-interrupts |
Also Published As
Publication number | Publication date |
---|---|
CN106575275B (zh) | 2020-11-06 |
US9665509B2 (en) | 2017-05-30 |
KR102544392B1 (ko) | 2023-06-15 |
JP2017527903A (ja) | 2017-09-21 |
JP6785222B2 (ja) | 2020-11-18 |
US20160055106A1 (en) | 2016-02-25 |
KR20220160709A (ko) | 2022-12-06 |
EP3183652B1 (en) | 2021-09-29 |
WO2016028715A1 (en) | 2016-02-25 |
EP3183652A1 (en) | 2017-06-28 |
KR102536596B1 (ko) | 2023-05-24 |
KR20170042762A (ko) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106575275A (zh) | 用于异构多处理器系统中处理器间中断的机制 | |
US11016906B2 (en) | GPU virtualisation | |
CN103678991B (zh) | 多线程处理器中的全局寄存器保护 | |
CN104424008A (zh) | 安全引导 rom 补丁的系统及方法 | |
CN101573687B (zh) | 重新配置安全系统 | |
US20150363517A1 (en) | Techniques for generating physical layouts of in silico multi mode integrated circuits | |
CN105938466A (zh) | 用于处理器间通信的电路和方法 | |
US9767024B2 (en) | Cache closure and persistent snapshot in dynamic code generating system software | |
Gantel et al. | Module relocation in heterogeneous reconfigurable systems-on-chip using the xilinx isolation design flow | |
JP7402798B2 (ja) | データセンタにおけるプログラマブルデバイス向けのセキュリティ | |
US8479042B1 (en) | Transaction-level lockstep | |
JP2021520542A (ja) | 集積回路のためのデータ処理エンジンタイルアーキテクチャ | |
TWI649654B (zh) | 用於多處理器核心裝置分配裝置引腳所有權之裝置及方法 | |
CN103246554A (zh) | 基于图形处理单元的布线方法及其系统 | |
CN112912881B (zh) | 用于将密钥数据存储在电子构件中的方法 | |
JP6603304B2 (ja) | 種々のタイプの構成メモリを有するプログラマブル集積回路 | |
US8468536B2 (en) | Multiple level linked LRU priority | |
Ebrahim | Dynamic partial reconfiguration management for high performance and reliability in FPGAs | |
Milanesi | Study and Development of RISC-V Mitigation Approach Based on Redundancy | |
JP2006351047A (ja) | データ処理装置および方法、コンピュータプログラム、情報記憶媒体、並列演算装置、データ処理システム | |
Bishop | Configurable computing for mainstream software applications | |
TW202244734A (zh) | 具事件識別可配置互連位址重映射器 | |
Abel | A Solder-Defined Computer Architecture for Backdoor and Malware Resistance | |
UA104039C2 (uk) | Система для розподілу програми користувача |
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 |