本发明专利技术提供了一种AMP多核处理器间中断与共享存储方法、系统及设备,方案针对AMP类型的处理器及在AMP处理器上实际运行的系统需求,通过设置红绿灯模块及单独增设共享SSRAM的方式,多核处理器各个内核间的数据交互、中断控制及共享存储。本方案能极大的提高数据读写速度,能够满足高速、大数据量传输需求,通过环形中断设计,简化中断控制器设计,整体功能实现简单,安全性和稳定性高,且系统维护简单,无需软件设计人员时刻对内存单元进行监测。软件设计人员时刻对内存单元进行监测。软件设计人员时刻对内存单元进行监测。
【技术实现步骤摘要】
AMP多核处理器间中断与共享存储方法、系统及设备
[0001]本专利技术涉及集成电路设计及多核处理器数据处理领域,可应用于复杂的多核处理器间的数据、存储共享处理方面,特别涉及一种基于红绿灯模式的AMP多核处理器间中断与共享存储方法、系统及设备。
技术介绍
[0002]目前多核处理器中主要包括AMP(Asymmetric Multi
‑
processing)和SMP(Symmetric Multi
‑
processing)两种模式,无论哪种模式都有核间通信的需求。其中,SMP往往运行一个操作系统,每个核的地位是相同的,各核间共享系统资源,因此SMP类型的处理器一般可以通过获取处理器核编号来对资源进行分配。而AMP类型处理器对于软件和硬件资源分配并不是完全共享和相同的,在实际使用中往往在每个核上各运行一个系统,相互之间通过受限的共享内存进行通信,但是这往往需要用户参与系统的资源分配,这给有共享资源分配需求的应用场景中的使用造成了较大的麻烦。
[0003]目前的现有技术在共享存储设备方面的方式大致有以下几种,其结构简单,存在显著的缺陷:1、现有技术中多使用通用内存芯片(DDR)作为共享存储设备:该种方式相较于使用SSRAM单独作为共享存储设备读写速度慢、安全性较差;由于共享存储部分和各个核的系统都运行在DDR上,因此各个核上的系统软件需要花费大量精力来维护系统在内存DDR上运行的稳定性,无论哪一方出现问题都可能带来灾难性后果。
[0004]2、在通用处理器上添加数据寄存器作为共享存储设备:该种方式对数据大小有一定限制,在数据量大、高速传输的情况下无法满足要求。
[0005]3、使用某些处理器提供的一些核间通信功能:现有的该种形式在核间通信方面,最终还是归结到处理器核与内存间的通信,缺点与上文第1点相同,而且大部分实现较复杂,使用困难。
[0006]4、中断方面基本使用现有通用处理器上的中断控制器:该种中断形式在核数多的时候需占用大量的中断资源,在中断资源短缺的情况下,只适合在双核或者核数较少的系统中使用。
技术实现思路
[0007]为了解决上述现有技术中存在的问题,本专利技术针对AMP类型的处理器及在AMP处理器上实际运行的系统需求,通过核间中断与共享存储方式,实现多处理器各个内核间的数据交互、共享。
[0008]具体而言,本专利技术公开了以下技术方案:一方面,本专利技术提供了一种AMP多核处理器间中断与共享存储系统,所述系统包括:多个处理器核,该多个处理器核按顺序编号;每个处理器核设置对应的私有
Cache;中断控制模块,包括软件中断生成器、CPU接口管理单元、通用中断控制器,软件中断生成器、CPU接口管理单元分别连接通用中断控制器;软件中断生成器接收处理器核发送的触发中断信号,并产生中断,所述中断经通用中断控制器发送至CPU接口管理单元,所述CPU接口管理单元将所述中断有选择性的上报给一个或多个处理器核;CPU接口管理单元通过配置为轮询模式,使得由通用中断控制器上报的所述中断轮询报告给各个处理器核,以控制多个处理器核形成环形中断;共享SSRAM,所述共享SSRAM与各个处理器核的私有Cache连接;共享SSRAM至少包括多个存储空间Space、红绿灯模块,每个Space对应一个处理器核;所述红绿灯模块用以控制每个核对各个Space的读写操作。
[0009]优选的,所述红绿灯模块进一步包括:红绿灯标志单元,该单元中的每个bit与一个处理器核及该处理器核对应的Space相对应,每个bit位的不同值分别对应红灯或绿灯,当bit为绿灯时,对应的处理器核能向对应的Space进行写操作,红灯时则只能进行读操作;发送核号单元,表示作为数据发送端的处理器核编号;接收核号单元,表示作为数据接收端的处理器核编号;数据长度单元,表示传输的数据长度。
[0010]优选的,所述软件中断生成器包含一寄存器组,该寄存器组被全部处理器核共享,每个处理器核可通过所述寄存器组生成所述中断;该中断路由至通用中断控制器,所述通用中断控制器为所述中断分配一中断号,该中断号被所述多个处理器核共享。
[0011]优选的,所述CPU接口管理单元将所述中断有选择性的上报给一个或多个处理器核,通过以下方式中的至少一种:轮询模式:CPU接口管理单元将本次中断单独上报给某个处理器核,此后每增加一次中断,则CPU接口管理单元按照处理器核编号次序将中断单独上报给下一个处理器核;第n+1次中断时,则再次上报给首次上报的处理器核,以形成环形轮询方式;n为处理器核总数;广播模式:CPU接口管理单元将本次中断上报给所有处理器核;指定模式:CPU接口管理单元将本次中断有选择的报告给某个或某几个处理器核。
[0012]优选的,所述共享SSRAM中,所述Space数量与处理器核数量一致;任一处理器核对任一Space都有读权限,只有本处理器核对其对应的Space有写操作权限。
[0013]优选的,所述通用中断控制器还连接共享中断、各处理器核的私有中断。
[0014]另一方面,本专利技术还提供了一种AMP多核处理器间中断与共享存储方法,该方法应用于如上所述的系统,该方法包括:步骤1、初始化系统,对中断回调函数进行注册,并将各个处理器核对应的红绿灯标志单元中对应的红绿灯标志位设置为绿灯;步骤2、启动发送任务,红绿灯模块判断数据发送端对应的红绿灯标志位是否为绿灯;如果不是绿灯,则进入等待环节,并在满足预设条件后再次进行任务发送;如果是绿灯,
则设置数据发送端的红绿灯标志位为红灯;步骤3、向数据发送端对应的Space首地址写入数据,并在红绿灯模块中填写发送核号、接收核号、数据长度;步骤4、触发中断,执行中断对应的中断回调函数;数据接收端读取所述数据;所述数据发送端指发送数据的处理器核,所述数据接收端指接收数据的处理器核。
[0015]优选的,所述数据接收端执行的步骤进一步包括:步骤401、接收到中断后,进入中断回调函数;步骤402、读取接收核号,并判断所述接收核号是否为数据接收端对应的编号;若否,则清除中断,退出中断回调函数;若是,则执行步骤403;步骤403、清除中断,读取发送核号、数据长度;步骤404、根据数据长度,从首地址处读取发送核号对应的Space空间;步骤405、数据读取完毕后,设置数据发送端对应的红绿灯标志位为绿灯,并退出中断回调函数。
[0016]优选的,所述初始化系统进一步包括:步骤101、系统初始化开始,初始化中断控制模块;步骤102、连接软中断的中断号,并注册中断回调函数,将中断号与中断回调函数建立连接;步骤103、使能中断控制模块;步骤104、将CPU接口管理单元的模式配置为轮询模式,完成系统初始化。
[0017]又一方面,本专利技术还提供了一种AMP多核处理器间中断与共享存储设备,所述设备包括AMP多核处理器、共享SSRAM及存储器,所述AMP多核处理器配合共享SSRAM及存储器,共同执行如上所述的AMP多核处理器间中断与共享存储方法。
[001本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.AMP多核处理器间中断与共享存储系统,其特征在于,所述系统包括:多个处理器核,该多个处理器核按顺序编号;每个处理器核设置对应的私有Cache;中断控制模块,包括软件中断生成器、CPU接口管理单元、通用中断控制器,软件中断生成器、CPU接口管理单元分别连接通用中断控制器;软件中断生成器接收处理器核发送的触发中断信号,并产生中断,所述中断经通用中断控制器发送至CPU接口管理单元,所述CPU接口管理单元将所述中断有选择性的上报给一个或多个处理器核;CPU接口管理单元通过配置为轮询模式,使得由通用中断控制器上报的所述中断轮询报告给各个处理器核,以控制多个处理器核形成环形中断;共享SSRAM,所述共享SSRAM与各个处理器核的私有Cache连接;共享SSRAM至少包括多个存储空间Space、红绿灯模块,每个Space对应一个处理器核;所述红绿灯模块用以控制每个核对各个Space的读写操作。2.根据权利要求1所述的系统,其特征在于,所述红绿灯模块进一步包括:红绿灯标志单元,该单元中的每个bit与一个处理器核及该处理器核对应的Space相对应,每个bit位的不同值分别对应红灯或绿灯,当bit为绿灯时,对应的处理器核能向对应的Space进行写操作,红灯时则只能进行读操作;发送核号单元,表示作为数据发送端的处理器核编号;接收核号单元,表示作为数据接收端的处理器核编号;数据长度单元,表示传输的数据长度。3.根据权利要求1所述的系统,其特征在于,所述软件中断生成器包含一寄存器组,该寄存器组被全部处理器核共享,每个处理器核可通过所述寄存器组生成所述中断;该中断路由至通用中断控制器,所述通用中断控制器为所述中断分配一中断号,该中断号被所述多个处理器核共享。4.根据权利要求1所述的系统,其特征在于,所述共享SSRAM中,所述Space数量与处理器核数量一致;任一处理器核对任一Space都有读权限,只有本处理器核对其对应的Space有写操作权限。5.根据权利要求1所述的系统,其特征在于,所述CPU接口管理单元将所述中断有选择性的上报给一个或多个处理器核,通过以下方式中的至少一种:轮询模式:CPU接口管理单元将本次中断单独上报给某个处理器核,此后每增加一次中断,则CPU接口管理单元按照处理器核编号次序将中断单独上报给下一个处理器核;第n+1次中断时,则再次上报给首次上报的处理器核,以形...
【专利技术属性】
技术研发人员:朱珂,王渊,徐涛,毛英杰,王盼,刘长江,常超,张明伟,
申请(专利权)人:井芯微电子技术天津有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。