CN112948314B - 中断控制器和核间通信系统 - Google Patents
中断控制器和核间通信系统 Download PDFInfo
- Publication number
- CN112948314B CN112948314B CN202110240513.XA CN202110240513A CN112948314B CN 112948314 B CN112948314 B CN 112948314B CN 202110240513 A CN202110240513 A CN 202110240513A CN 112948314 B CN112948314 B CN 112948314B
- Authority
- CN
- China
- Prior art keywords
- interrupt
- signal
- register
- counting unit
- unit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种中断控制器和核间通信系统。该中断控制器包括计数单元和与计数单元连接的中断信号产生单元;计数单元用于在中断控制器接收到中断请求信号时计数;中断信号产生单元用于获取计数单元的计算,并在计数单元的计数值由0变为1时产生中断信号。计数单元对中断请求信号的数量进行计数,中断信号产生单元在计数单元的计数值由0变为1时产生中断信号,使得中断信号产生单元在计数单元接收多个中断请求信号时只产生一次中断信号,降低了中断信号产生的数量和频率,从而可以减少发送端的多个中断请求信号的等待,同时可以减少中断信号中断接收端的次数和频率,加大接收端处理中断请求信号的吞吐量,提高接收端处理中断请求信号的效率。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种中断控制器和核间通信系统。
背景技术
核间中断请求一般包括两个主要步骤:数据传输和消息通知。图1为现有技术提供的一种通信系统的核间通信的结构示意图。如图1所示,当内核A向内核B发送中断请求时,在数据传输过程中,发送数据的内核A可以把要发送的数据存储到共享内存(sharememory,SM)中。当数据存储完成后,发送数据的内核A发送核间中断(Inter-ProcessorInterrupt,IPI)请求至接收数据的内核B,通知接收数据的内核B接收数据。接收数据的内核B保存中断相关信息,同时从共享内存SM中获取数据,通知内核B的后处理模块进行数据处理。一般情况下,通信系统中的中断资源比较少,尤其是核间中断资源更少,通常只会保留一组中断用于核间通信。当内核A中包括多个用户,且多个用户需要并行通信请求时,大量通信请求在发送时,不同用户间要相互等待,抢占有限资源,从而导致通信请求发送时带来一定延迟和通信系统开销。而且,大量的通信请求会导致接收数据的内核B产生大量的中断,中断会打断内核B的正常运行,从而导致内核B进行数据处理的效率比较低。示例性地,当通信系统可以支持最大16路视频流并行处理,单路视频流为30fps时,也就是单路每33ms会有一次中断请求的发送需求,则16路视频数据传输每秒就有480次中断请求。按照软件工具开发包(Software Development Kit,SDK)的设计需求,每路视频流还有额外三个并行通道分别用来传送控制命令、神经网络数据、系信息查询等任务,也就是有48个通道,此时通信系统同一时刻可能会有64个中断请求。现有技术中,可以将多帧数据组合成一个大数据进行传输,由此可以减少数据传输的次数,即减少内核A的中断请求次数。例如,在16路视频数据传输每秒就有480次中断请求时,通过将两帧数据组合后一次性发送,则中断请求可以减半至240次。当多帧数据组合成一个大数据进行传输时,数据处理延迟会增加,且增加了数据处理的复杂性,会导致内核B在数据处理时性能降低。
发明内容
本发明提供一种中断控制器和核间通信系统,以降低中断信号的数量和频率,提高中断信号接收端的处理数据效率。
第一方面,本发明实施例提供了一种中断控制器,包括计数单元和与所述计数单元连接的中断信号产生单元;
所述计数单元用于在所述中断控制器接收到中断请求信号时计数;所述中断信号产生单元用于获取所述计数单元的计数,并在所述计数单元的计数值由0变为1时产生中断信号。
可选地,所述中断信号产生单元包括状态寄存器和中断信号产生器;
所述状态寄存器与所述计数单元连接,所述中断信号产生器与所述状态寄存器连接,所述状态寄存器包括使能状态和失效状态,当所述状态寄存器为所述使能状态时,所述状态寄存器在所述计数单元加1时产生第一触发信号以触发所述中断信号产生器,并自动设置所述状态寄存器为所述失效状态,当所述状态寄存器为所述失效状态时,所述状态寄存器在所述计数单元加1时不动作;所述中断信号产生器用于在接收到所述第一触发信号时产生中断信号。
可选地,中断控制器还包括写入寄存器;
所述写入寄存器用于接收所述中断请求信号,并根据所述中断请求信号形成第二触发信号;所述计数单元与所述写入寄存器连接,用于根据所述第二触发信号加1计数。
可选地,中断控制器还包括读取寄存器;
所述读取寄存器与所述计数单元连接,所述读取寄存器用于中断信号接收端接收所述中断信号后读取所述计数单元的当前值,并返回所述当前值至所述计数单元;所述计数单元还用于在接收到返回的所述当前值时判断所述当前值是否大于0,若所述当前值大于0,则计数减1。
可选地,所述中断信号产生单元包括状态寄存器和中断信号产生器时,所述状态寄存器还用于在所述计数单元的当前值减为0时设置为使能状态。
可选地,中断控制器还包括第一计时器;
所述第一计时器与所述读取寄存器连接,所述第一计时器用于在所述读取寄存器读取所述计数单元的当前值从1变为0时开始计时至第一预设时间;
在所述第一预设时间内,所述中断信号接收端还用于持续接收所述中断信号,所述写入寄存器还用于持续接收所述中断请求信号,所述计数单元用于持续对所述中断请求信号计数;
所述中断信号产生单元包括状态寄存器和中断信号产生器时,当计时至所述第一预设时间时,所述读取寄存器还用于再次读取所述计数单元的当前值,若所述计数单元的当前值为0,则设置所述状态寄存器为所述使能状态。
可选地,所述第一计时器还用于当所述写入寄存器在所述第一预设时间内接收到所述中断请求信号时,重新开始计时。
可选地,中断控制器还包括第二计时器;
所述第二计时器与所述中断信号产生单元连接,所述第二计时器用于在所述中断信号产生单元产生中断信号时开始计时至第二预设时间,所述读取寄存器与所述第二计时器连接,所述读取寄存器还用于在所述第二预设时间后读取所述计数单元的当前值。
可选地,所述计数单元与所述写入寄存器之间,以及所述计数单元与所述读取寄存器之间并行通信。
可选地,中断控制器还包括存储单元;所述存储单元用于存储所述计数单元当前值对应的待处理中断请求信息。
可选地,所述存储单元的存储方式为先入先出队列。
第二方面,本发明实施例还提供了一种核间通信系统,包括第一核、第二核和本发明任意实施例提供的中断控制器;
所述第一核与所述中断控制器连接,用于为所述中断控制器提供中断请求信号;所述中断控制器用于根据所述中断请求信号计数,并在所述计数值由0变为1时产生中断信号;所述第二核与所述中断控制器连接,用于根据所述中断信号处理所述中断请求信号。
可选地,核间通信系统还包括存储模块;
所述存储模块与所述第一核连接,用于存储所述中断请求信号对应的数据,所述第二核还与所述存储模块连接,用于根据所述中断信号读取所述中断请求信号对应的数据。
可选地,所述中断控制器包括存储单元,所述存储单元用于存储所述计数单元当前值对应的待处理中断请求信息;所述存储单元集成于所述存储模块内。
可选地,所述中断控制器还包括读取寄存器;所述读取寄存器与所述计数单元连接,所述读取寄存器用于读取所述计数单元的当前值并返回所述当前值至所述计数单元,所述计数单元在所述当前值大于0时减1;所述第二核还用于根据所述中断信号和所述计数单元的当前值调取所述中断请求信号对应的数据。
本发明实施例的技术方案,通过设置中断控制器包括计数单元和中断信号产生单元,计数单元对中断请求信号的数量进行计数,中断信号产生单元在计数单元的计数值由0变为1时产生中断信号,使得中断信号产生单元在计数单元接收多个中断请求信号时只产生一次中断信号,降低了中断信号产生的数量和频率,从而可以减少发送中断请求信号的发送端的多个中断请求信号的等待,同时可以减少中断信号中断接收中断信号的接收端的次数和频率,加大接收端处理中断请求信号的吞吐量,提高接收端处理中断请求信号的效率。
附图说明
图1为现有技术提供的一种通信系统的核间通信的结构示意图;
图2为本发明实施例提供的一种中断控制器的结构示意图;
图3为本发明实施例提供的另一种中断控制器的结构示意图;
图4为本发明实施例提供的另一种中断控制器的结构示意图;
图5为本发明实施例提供的另一种中断控制器的结构示意图;
图6为本发明实施例提供的另一种中断控制器的结构示意图;
图7为本发明实施例提供的另一种中断控制器的结构示意图;
图8为状态寄存器在手动模式下时中断流程处理的流程示意图;
图9为本发明实施例提供的另一种中断控制器的结构示意图;
图10为本发明实施例提供的一种核间通信系统的结构示意图;
图11为本发明实施例提供的另一种核间通信系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图2为本发明实施例提供的一种中断控制器的结构示意图。如图2所示,该中断控制器包括计数单元110和与计数单元110连接的中断信号产生单元120;计数单元110用于在中断控制器接收到中断请求信号时计数,中断信号产生单元120用于获取计数单元110的计数,并在计数单元110的计数值由0变为1时产生中断信号。
具体地,中断控制器可以用于通信系统的核间通信,控制核间中断。在核间通信中,通信系统可以包括中断信号发送端和中断信号接收端,中断控制器连接在中断信号发送端和中断信号接收端之间。在中断信号发送端和中断信号接收端之间通信时,中断信号发送端发送中断请求信号,中断控制器中的计数单元110接收到中断请求信号,从0开始对中断请求信号的数量进行计数,中断信号产生单元120在计数单元110的数值由0变为1时产生中断信号,中断信号接收端根据中断信号处理中断请求信号,执行相应的中断程序,实现中断信号发送端和中断信号接收端的通信。当中断信号发送端发送多个中断请求信号时,计数单元110的数值与中断请求信号的数量相等。中断信号产生单元120只在计数单元110的数值由0变为1时产生中断信号后,中断信号接收端根据计数单元110的数值一次性处理所有待处理的中断请求信号,从而可以减少中断信号发送端多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断中断信号接收端的执行程序,提高中断信号接收端处理中断请求信号的效率。
需要说明的是,中断信号发送端和中断信号接收端可以为内核。中断信号发送端可以包括多个用户,多个用户需要并行通信请求时,中断信号发送端可以产生多个中断请求信号。当中断信号发送端和中断信号接收端位于同一芯片上时,中断信号发送端和中断信号接收端可以是同构处理器,当中断信号发送端和中断信号接收端位于不同的芯片内时,中断信号发送到和中断信号接收端可以是异构处理器。
示例性地,计数单元110包括计数器111;计数器111用于根据中断请求信号的数量计数。
具体地,计数器111能够实现计数。在计数器111接收中断请求信号之前,计数器111初始化为0。在计数器111接收到中断请求信号时,计数器111从0开始计数,计数器111每接收到一中断请求信号,计数器111加1,从而实现计数器111对中断请求信号的数量进行计数。而且,计数器111的数值由0变为1时,中断信号产生单元120产生中断信号,中断信号接收端根据中断信号开始处理中断请求信号,并一次性处理计数器111进行计数的所有中断请求信号,从而可以减少中断信号发送端多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断中断信号接收端的执行程序,提高中断信号接收端处理中断请求信号的效率。
图3为本发明实施例提供的另一种中断控制器的结构示意图。如图3所示,中断信号产生单元120包括状态寄存器121和中断信号产生器122;状态寄存器121与计数单元110连接,中断信号产生器122与状态寄存器121连接,状态寄存器121包括使能状态和失效状态,当状态寄存器121为使能状态时,状态寄存器121在计数单元110加1时产生第一触发信号以触发中断信号产生器122,并自动设置状态寄存器121为失效状态;状态寄存器121为失效状态时,状态寄存器121在计数单元110加1时不动作;中断信号产生器122用于在接收到第一触发信号时产生中断信号。
具体地,状态寄存器121具有使能状态和失效状态。当状态寄存器121位于使能状态,且计数单元110加1时,状态寄存器121根据计数单元110的加1动作产生第一触发信号,第一触发信号触发中断信号产生器122产生中断信号,中断信号接收端根据中断信号开始处理待处理的中断请求信号。在状态寄存器121产生第一触发信号后,自动设置为失效状态。在失效状态下,当计数单元110根据中断请求信号继续计数进行加1时,状态寄存器121不会产生第一触发信号用于触发中断信号产生器122产生中断信号,使得中断信号产生器122只在计数单元110的数值由0变为1时产生中断信号,当计数单元110对多个中断请求信号进行计数时,可以避免中断信号产生器122根据计数单元110的加1动作多次产生中断信号,减少了中断信号的数量,从而可以减少中断信号发送端多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断中断信号接收端的执行程序,提高中断信号接收端处理中断请求信号的效率。
需要说明的是,上述过程可以为状态寄存器121为自动控制模式下的工作过程。在初始化时,状态寄存器121为自动控制模式,且为使能状态。当计数单元110开始计数时,状态寄存器121可以只在计数单元110的计数值由0变为1时产生第一触发信号,触发中断信号产生器122产生中断信号。状态寄存器121还可以为手动控制模式。
图4为本发明实施例提供的另一种中断控制器的结构示意图。如图4所示,中断控制器还包括写入寄存器130;写入寄存器130用于接收中断请求信号,并根据中断请求信号形成第二触发信号;计数单元110与写入寄存器130连接,用于根据第二触发信号加1计数。
具体地,写入寄存器130可以与中断信号发送端连接,用于接收中断信号发送端的中断请求信号。当写入寄存器130接收到中断请求信号时,写入寄存器130会形成第二触发信号,第二触发信号输出至计数单元110,计数单元110根据第二触发信号加1进行计数。写入寄存器130具有自动清零功能,当写入寄存器130写入中断请求信号形成第二触发信号后,写入寄存器130自动清零,因此,写入寄存器130每一次接收到中断请求信号,写入寄存器130均会形成第二触发信号输出至计数单元110,计数单元110根据第二触发信号加1进行计数,实现了中断请求信号的计数。
图5为本发明实施例提供的另一种中断控制器的结构示意图。如图5所示,中断控制器还包括读取寄存器140;读取寄存器140与计数单元110连接,读取寄存器140用于在中断信号接收端接收中断信号后读取计数单元110的当前值,并返回当前值至计数单元110,计数单元110还用于在接收到返回的当前值时判断当前值是否大于0,若当前值大于0,则计数减1。
具体地,读取寄存器140与计数单元110连接,读取寄存器140还与中断信号接收端连接。当中断信号产生单元120产生中断信号后,中断信号接收端接收根据中断信号处理中断请求信号,此时读取寄存器140可以在中断信号接收端接收中断信号后读取计数单元110内的计数值。另外,读取寄存器140读取的计数单元110的当前值会返回至计数单元110,计数单元110在接收到返回的当前值时判断当前值是否大于0,当当前值大于0时,可以根据当前值确定未处理的中断请求信号的数量,中断信号接收端持续处理未处理的中断请求信号。读取寄存器140每读取一次计数单元110的计数值并返回至计数单元110,计数单元110判断当前值是否大于0,中断信号接收端在计数值大于0时处理未处理的中断请求信号。读取寄存器140每次读取计数单元110内的计数值时,都会向计数单元110发送读取信号。并在读取计数单元110的计数值后返回计数值。当计数单元110的当前值大于0时,计数单元110在当前计数值的基础上减1,由此实现读取寄存器140每读取一次计数单元110的计数值,中断信号接收端在计数值大于0时处理一个中断请求信号,同时计数单元110的计数值在当前计数值的基础上减1,直至计数单元110的计数值为0,中断信号接收端处理所有的中断请求信号。且计数单元110可以在中断信号发送端下次发送中断请求信号时进行计数。
需要说明的是,计数单元110可以包括计数器,计数器可以为双向计数器,既可以实现加1计数,也可以实现减1计数。
继续参考图5,中断信号产生单元120包括状态寄存器121和中断信号产生器122时,状态寄存器121还用于在计数单元110的当前值减为0时设置为使能状态。
具体地,当计数单元110的当前值为0时,中断信号接收端处理所有的中断请求信号。中断信号接收端退出中断,此时状态寄存器121自动设置为使能状态,以便于中断控制器为下次中断做准备,实现了中断控制器的自动控制模式。
图6为本发明实施例提供的另一种中断控制器的结构示意图。如图6所示,中断控制器还包括第一计时器150;第一计时器150与读取寄存器140连接,第一计时器150用于在读取寄存器140读取计数单元110的当前值从1变为0时开始计时至第一预设时间;
在第一预设时间内,中断信号接收端还用于持续接收中断信号,写入寄存器130还用于持续接收中断请求信号,计数单元110用于持续对中断请求信号计数;
中断信号产生单元120包括状态寄存器和中断信号产生器时,当计时至第一预设时间时,读取寄存器140还用于再次读取计数单元110的当前值,若计数单元110的当前值为0,则设置状态寄存器为使能状态。
具体地,第一计时器150用于计时。读取寄存器140在中断信号产生单元120产生中断信号后读取计数单元110的当前值。当读取寄存器140读取计数单元110的当前值从1变为0时,中断信号发送端发送的中断请求信号均被处理,此时第一计时器150开始计时。当第一计时器150计时在第一预设时间内,中断信号接收端持续接收中断信号,即处于处理中断请求状态。写入寄存器130持续接收中断请求信号。如果写入寄存器130在第一预设时间内未接收到新的中断请求信号,计数单元110对中断请求信号计数的当前值仍为0,则读取寄存器140再次读取计数单元110的当前值为0,即没有待处理的中断请求信号。中断信号接收端可以退出处理中断请求状态。如果写入寄存器130在第一预设时间内接收到新的中断请求信号,计数单元110对中断请求信号计数的当前值大于0,则读取寄存器140再次读取计数单元110的当前值大于0,中断信号接收端可以继续处理新的中断请求信号,从而可以在中断信号发送端某一时刻密集发送中断请求信号时,中断信号产生单元120只产生一次中断信号,进一步地减少中断信号产生单元120产生的中断信号数量,从而进一步地减少中断信号发送端多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断中断信号接收端的执行程序,提高中断信号接收端处理中断请求信号的效率。
在上述技术方案的基础上,第一计时器150还用于当写入寄存器130在第一预设时间内接收到中断请求信号时,重新开始计时。
具体地,如果写入寄存器130在第一预设时间内接收到新的中断请求信号,计数单元110对中断请求信号计数的当前值大于0,则读取寄存器140再次读取计数单元110的当前值大于0,中断信号接收端可以继续处理新的中断请求信号。此时第一计时器150重新开始计时,并在第一预设时间内,重复上述过程,进一步地在中断信号发送端某一时刻密集发送中断请求信号时,减少中断信号产生单元120产生的中断信号数量。
图7为本发明实施例提供的另一种中断控制器的结构示意图。如图7所示,中断控制器还包括第二计时器160;第二计时器160与中断信号产生单元120连接,第二计时器160用于在中断信号产生单元120产生中断信号时开始计时至第二预设时间,读取寄存器140与第二计时器160连接,读取寄存器140还用于在第二预设时间后读取计数单元110的当前值。
具体地,第二计时器160用于计时。当中断信号产生单元120产生中断信号时,第二计时器160开始计时。当第二计时器160计时至第二预设时间时,读取寄存器140开始读取计数单元110的当前值,中断信号接收端根据读取寄存器140输出的信号处理未处理的中断请求信号。当中断控制器接收的中断请求信号不密集时,可以通过第二计时器160延时第二预设时间后,读取寄存器140开始读取计数单元110的当前值,同时中断信号接收端处理未处理的中断请求信号,可以延长中断信号产生单元120产生中断信号后计数单元110接收中断请求信号的时间,延长中断信号接收端轮询处理中断请求信号的周期,降低中断信号产生单元120总体产生中断信号的数量,从而进一步地减中断信号少发送端多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断中断信号接收端的执行程序,提高中断信号接收端处理中断请求信号的效率。
在其他实施例中,当中断信号产生单元包括状态寄存器和中断信号产生器时,其具体连接关系如图3所示。状态寄存器还可以在手动模式下工作。图8为状态寄存器在手动模式下时中断流程处理的流程示意图。如图8所示,在中断信号产生器产生中断信号后,当状态寄存器在手动控制模式下时,先通过第二计时器计时至第二预设时间,然后读取寄存器读取计数单元的当前值,当计数单元的当前值大于0时,中断信号接收端处理一个中断请求信号,即处理一笔待处理数据。当计数单元的当前值等于0时,则启动第一计时器开始计时至第一预设时间,在第一预设时间内,如果读取寄存器再次读取计数单元的当前值大于0,则中断控制器接收到新的中断请求信号,中断信号接收端继续处理新的中断请求信号,减少中断信号产生单元产生的中断信号数量。如果读取寄存器140再次读取计数单元的当前值等于0,则中断控制器未接收到新的中断请求信号,中断信号接收端退出中断,并设置状态寄存器为自动控制模式并且使能,以便于状态寄存器为下次中断程序做准备,并使中断信号接收端退出中断。
可选地,计数单元110与写入寄存器130之间,以及计数单元110与读取寄存器140之间并行通信。
具体地,计数单元110可以具有硬件锁功能,当计数单元110与写入寄存器130之间进行写入通信,同时计数单元110与读取寄存器140之间进行读取通信,计数单元110可以先执行一个步骤并锁存另外一个步骤实现硬件等候,当计数单元110执行完一个步骤后,再执行另外一个步骤。例如,当计数单元110与写入寄存器130之间进行写入通信,同时计数单元110与读取寄存器140之间进行读取通信时,计数单元110可以先进行与写入寄存器130之间的写入通信,同时锁存计数单元110与读取寄存器140之间的读取功能,当计数单元110完成写入通信,计数单元110的计数值加1后,计数单元110再进行与读取寄存器140之间的读取通信,并在读取通信结束后,计数单元110的计数值在大于0时减1。
图9为本发明实施例提供的另一种中断控制器的结构示意图。如图9所示,中断控制器还包括存储单元170;存储单元170用于存储计数单元110当前值对应的待处理中断请求信息。
具体地,存储单元170与中断信号发送端连接,当中断信号发送端输出中断请求信号时,存储单元170可以记录待处理中断请求信号对应的中断请求信息。例如,中断请求信息可以包括中断请求信号对应的中断信号接收端的硬件驱动信息,中断信号接收端的硬件驱动可以为中断信号接收端内的一个子程序。存储单元170还与中断信号接收端连接,在中断信号接收端依次处理中断请求信号时,中断信号接收端从存储单元170依次获取中断请求信号对应的中断请求信息,以使中断信号接收端对应的硬件驱动处理相应的中断请求信号。
可选地,存储单元170的存储方式为先入先出队列。
具体地,先入先出(First Input First Output,FIFO)队列是一种传统的按序执行方法。FIFO队列可以实现先进入的指令先完成并引退,跟着才执行第二条指令。当存储单元170存储中断请求信息时,存储单元170根据中断请求信号的先后顺序依次存储对应的中断请求信息。在中断信号接收端依次处理中断请求信号时,中断信号接收端根据存储单元170的先入先出队列存储方式可以依次获取待处理的中断请求信号对应的中断请求信息,使得中断信号接收端能够根据待处理中断请求信号对应的中断请求信息处理中断请求信号。
本发明实施例还提供一种核间通信系统。图10为本发明实施例提供的一种核间通信系统的结构示意图。如图10所示,该核间通信系统包括第一核200、第二核300和本发明任意实施例提供的中断控制器100;第一核200与中断控制器100连接,用于为中断控制器100提供中断请求信号;中断控制器100用于根据中断请求信号计数,并在计数值由0变为1时产生中断信号;第二核300与中断控制器100连接,用于根据中断信号处理中断请求信号。
具体地,第一核200可以为中断信号发送端,用于发送中断请求信号。第二核300可以为中断信号接收端,用于接收中断控制器100产生的中断信号,并根据中断信号处理中断请求信号。中断控制器100包括计数单元110和中断信号产生单元120,当第一核200输出中断请求信号后,计数单元110根据中断请求信号进行计数,确定中断请求信号的数量。计数单元110在数值由0变为1时,中断信号产生单元120产生中断信号,第二核300根据中断信号处理第一核200输出的中断请求信号,实现第一核200和第二核300的中断通信。当第一核200发送多个中断请求信号时,计数单元110的数值与中断请求信号的数量相等。计数单元110在数值由0变为1时,中断信号产生单元120产生中断信号后,第二核300根据计数单元110的数值一次性处理所有待处理的中断请求信号,从而可以减少第一核200多个中断请求信号的等待,降低中断信号的产生数量和频率,避免中断信号多次中断第二核300的执行程序,提高第二核300处理中断请求信号的效率。
另外,继续参考图10,中断信号产生单元120输出的中断信号可以输出至控制单元400,控制单元400根据中断信号输出控制信号控制第二核300处理中断请求信号。示例性地,控制单元400可以为中央处理器(Central Processing Unit,CPU)。
图11为本发明实施例提供的另一种核间通信系统的结构示意图。如图11所示,核间通信系统还包括存储模块500;存储模块500与第一核200连接,用于存储中断请求信号对应的数据,第二核300还与存储模块500连接,用于根据中断信号读取中断请求信号对应的数据。
具体地,存储模块500可以为共享存储器。在第一核200向第二核300发送中断请求时,第一核200将中断请求对应的数据发送至存储模块500进行存储。在数据存储结束后,第一核200发送中断请求信号至中断控制器100,中断控制器100根据中断请求信号产生中断信号,控制第二核300从存储模块500中获取数据,并对数据进行处理,执行相应的中断程序,实现第一核200和第二核300的中断通信。
继续参考图11,中断控制器100包括存储单元170,存储单元170用于存储计数单元110当前值对应的待处理中断请求信息;存储单元170集成于存储模块500内。
具体地,存储单元170可以记录待处理中断请求信号对应的中断请求信息。在第二核300依次处理中断请求信号时,第二核300从存储单元170依次获取中断请求信号对应的中断请求信息,以使第二核300对应的硬件驱动处理相应的中断请求信号。存储单元170可以集成于存储模块500内,即在存储模块500内设置部分存储区域用于存储计数单元110当前值对应的待处理中断请求信息,作为中断控制器100的存储单元170,从而可以避免额外设置存储单元170,简化了核间通信系统的结构。
继续参考图11,中断控制器还包括读取寄存器140;读取寄存器140与计数单元110连接,读取寄存器140用于读取计数单元110的当前值并返回当前值至计数单元110,计数单元110在当前值大于0时减1;第二核300还用于根据中断信号和计数单元110的当前值调取中断请求信号对应的数据。
具体地,读取寄存器140可以读取计数单元110的当前值并输出至第二核300,第二核300根据计数单元110的当前值调取存储模块500中中断请求信号对应的数据,并对中断请求信号对应的数据进行处理,实现响应第一核200的中断请求信号。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种中断控制器,其特征在于,包括计数单元和与所述计数单元连接的中断信号产生单元;
所述计数单元用于在所述中断控制器接收到中断请求信号时计数;
所述中断信号产生单元用于获取所述计数单元的计数,并在所述计数单元的计数值由0变为1时产生中断信号;
其中,所述中断控制器还包括写入寄存器;所述写入寄存器用于接收所述中断请求信号,并根据所述中断请求信号形成第二触发信号;所述计数单元与所述写入寄存器连接,用于根据所述第二触发信号加1计数;
所述中断控制器还包括读取寄存器;所述读取寄存器与所述计数单元连接,所述读取寄存器用于在中断信号接收端接收所述中断信号后读取所述计数单元的当前值,并返回所述当前值至所述计数单元;所述计数单元还用于在接收到返回的所述当前值时判断所述当前值是否大于0,若所述当前值大于0,则计数减1;
所述中断控制器还包括第一计时器;所述第一计时器与所述读取寄存器连接,所述第一计时器用于在所述读取寄存器读取所述计数单元的当前值从1变为0时开始计时至第一预设时间;
在所述第一预设时间内,所述中断信号接收端还用于持续接收所述中断信号,所述写入寄存器还用于持续接收所述中断请求信号,所述计数单元用于持续对所述中断请求信号计数;
所述中断信号产生单元包括状态寄存器和中断信号产生器时,当计时至所述第一预设时间,所述读取寄存器还用于再次读取所述计数单元的当前值,若所述计数单元的当前值为0,则设置所述状态寄存器为使能状态。
2.根据权利要求1所述的中断控制器,其特征在于,所述中断信号产生单元包括状态寄存器和中断信号产生器;
所述状态寄存器与所述计数单元连接,所述中断信号产生器与所述状态寄存器连接;所述状态寄存器包括使能状态和失效状态,当所述状态寄存器为所述使能状态时,所述状态寄存器在所述计数单元加1时产生第一触发信号以触发所述中断信号产生器,并自动设置所述状态寄存器为所述失效状态,当所述状态寄存器为所述失效状态时,所述状态寄存器在所述计数单元加1时不动作;
所述中断信号产生器用于在接收到所述第一触发信号时产生中断信号。
3.根据权利要求1所述的中断控制器,其特征在于,所述中断信号产生单元包括状态寄存器和中断信号产生器时,所述状态寄存器还用于在所述计数单元的当前值减为0时设置为使能状态。
4.根据权利要求1所述的中断控制器,其特征在于,所述第一计时器还用于当所述写入寄存器在所述第一预设时间内接收到所述中断请求信号时,重新开始计时。
5.根据权利要求1所述的中断控制器,其特征在于,还包括第二计时器;
所述第二计时器与所述中断信号产生单元连接,所述第二计时器用于在所述中断信号产生单元产生中断信号时开始计时至第二预设时间,所述读取寄存器与所述第二计时器连接,所述读取寄存器还用于在所述第二预设时间后读取所述计数单元的当前值。
6.根据权利要求1所述的中断控制器,其特征在于,所述计数单元与所述写入寄存器之间,以及所述计数单元与所述读取寄存器之间并行通信。
7.根据权利要求1所述的中断控制器,其特征在于,还包括存储单元;所述存储单元用于存储所述计数单元当前值对应的待处理中断请求信息。
8.根据权利要求7所述的中断控制器,其特征在于,所述存储单元的存储方式为先入先出队列。
9.一种核间通信系统,其特征在于,包括第一核、第二核和权利要求1-8任一项所述的中断控制器;
所述第一核与所述中断控制器连接,用于为所述中断控制器提供中断请求信号;所述中断控制器用于根据所述中断请求信号计数,并在所述计数值由0变为1时产生中断信号;所述第二核与所述中断控制器连接,用于根据所述中断信号处理所述中断请求信号。
10.根据权利要求9所述的核间通信系统,其特征在于,还包括存储模块;
所述存储模块与所述第一核连接,用于存储所述中断请求信号对应的数据,所述第二核还与所述存储模块连接,用于根据所述中断信号读取所述中断请求信号对应的数据。
11.根据权利要求10所述的核间通信系统,其特征在于,所述中断控制器包括存储单元,所述存储单元用于存储所述计数单元当前值对应的待处理中断请求信息;所述存储单元集成于所述存储模块内。
12.根据权利要求10所述的核间通信系统,其特征在于,所述中断控制器还包括读取寄存器;所述读取寄存器与所述计数单元连接,所述读取寄存器用于读取所述计数单元的当前值并返回所述当前值至所述计数单元,所述计数单元在所述当前值大于0时减1;所述第二核还用于根据所述中断信号和所述计数单元的当前值调取所述中断请求信号对应的数据。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110240513.XA CN112948314B (zh) | 2021-03-04 | 2021-03-04 | 中断控制器和核间通信系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110240513.XA CN112948314B (zh) | 2021-03-04 | 2021-03-04 | 中断控制器和核间通信系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112948314A CN112948314A (zh) | 2021-06-11 |
| CN112948314B true CN112948314B (zh) | 2025-02-14 |
Family
ID=76247646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110240513.XA Active CN112948314B (zh) | 2021-03-04 | 2021-03-04 | 中断控制器和核间通信系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112948314B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101558395A (zh) * | 2006-12-15 | 2009-10-14 | 密克罗奇普技术公司 | 中断控制器 |
| CN110427337A (zh) * | 2019-09-29 | 2019-11-08 | 广东高云半导体科技股份有限公司 | 基于现场可编程门阵列的处理器内核及其运行方法 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0743653B2 (ja) * | 1990-07-25 | 1995-05-15 | 株式会社東芝 | 割込みコントローラ |
| JP3572650B2 (ja) * | 1994-01-24 | 2004-10-06 | 株式会社リコー | 割込みコントローラおよびその制御方法 |
| US5937199A (en) * | 1997-06-03 | 1999-08-10 | International Business Machines Corporation | User programmable interrupt mask with timeout for enhanced resource locking efficiency |
| CN2528080Y (zh) * | 2001-09-28 | 2002-12-25 | 威盛电子股份有限公司 | 支持信息信号式中断的芯片组以及控制器 |
| US7500039B2 (en) * | 2005-08-19 | 2009-03-03 | International Business Machines Corporation | Method for communicating with a processor event facility |
| JP5099215B2 (ja) * | 2008-03-31 | 2012-12-19 | 富士通株式会社 | 情報処理装置、割込み制御装置、割込み制御回路及び割込み制御方法 |
| CN202454220U (zh) * | 2012-01-06 | 2012-09-26 | 矽恩微电子(厦门)有限公司 | 一种连续图像播放led显示屏驱动芯片 |
| CN106292256B (zh) * | 2016-08-10 | 2018-12-18 | 北京空间飞行器总体设计部 | 一种秒中断间隔可控的校时装置 |
| CN109032818B (zh) * | 2018-07-27 | 2021-11-16 | 北京计算机技术及应用研究所 | 一种同构系统核间同步与通信的方法 |
| CN110765045B (zh) * | 2019-09-19 | 2021-08-03 | 苏州浪潮智能科技有限公司 | 一种基于fpga的中断延时计数系统及方法 |
| CN111444123B (zh) * | 2020-03-28 | 2021-01-15 | 珠海市一微半导体有限公司 | 基于硬件加速的spi接口的自动读取控制系统及方法 |
| CN111831419A (zh) * | 2020-07-17 | 2020-10-27 | 四川长虹电器股份有限公司 | 一种用于risc-v架构的中断控制方法 |
-
2021
- 2021-03-04 CN CN202110240513.XA patent/CN112948314B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101558395A (zh) * | 2006-12-15 | 2009-10-14 | 密克罗奇普技术公司 | 中断控制器 |
| CN110427337A (zh) * | 2019-09-29 | 2019-11-08 | 广东高云半导体科技股份有限公司 | 基于现场可编程门阵列的处理器内核及其运行方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112948314A (zh) | 2021-06-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3922070B2 (ja) | 分散制御方法及び装置 | |
| CN115941382B (zh) | 一种spi通信的流控方法、装置、终端设备及存储介质 | |
| JP2006195823A (ja) | Dma装置 | |
| CN104854845B (zh) | 使用高效的原子操作的方法和装置 | |
| JPH04312160A (ja) | マルチプロセッサシステムおよびそのメッセージ送受信制御装置 | |
| JPH03123952A (ja) | アービトレーシヨンを制御するための方法及び装置 | |
| JP2007079789A (ja) | 計算機システム及びイベント処理方法 | |
| CN112711550A (zh) | Dma自动配置模块和片上系统soc | |
| US20070240011A1 (en) | FIFO memory data pipelining system and method for increasing I²C bus speed | |
| EP1335293A1 (en) | System and method for low-overhead monitoring of transmit queue empty status | |
| US6477600B1 (en) | Apparatus and method for processing isochronous interrupts | |
| CN112948314B (zh) | 中断控制器和核间通信系统 | |
| US5613076A (en) | System and method for providing uniform access to a SCSI bus by altering the arbitration phase associated with the SCSI bus | |
| WO2019013926A1 (en) | I3C ACCELERATED BY THIRD PARTY INITIATED | |
| KR20170024876A (ko) | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 | |
| CN115884229B (zh) | 传输时延的管理方法、电子设备和存储介质 | |
| US6446150B1 (en) | Method of and system for managing reselection on a SCSI bus | |
| JP2734246B2 (ja) | パイプラインバス | |
| CN118426926A (zh) | 任务的处理方法和装置、存储介质及电子设备 | |
| CN117667822A (zh) | 一种基于amp架构的多核启动及核间通信方法 | |
| JP2012203911A (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
| CN118519776B (zh) | 基于chi协议的请求重试方法、装置、电子设备及存储介质 | |
| JP2000322278A (ja) | プロセス実行制御方法 | |
| JP2004334840A (ja) | システムバスの制御方法及び関連装置 | |
| CN121077987B (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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |