基于AHB总线的多核SOC中实现原子操作系统及方法技术方案

技术编号:15704817 阅读:112 留言:0更新日期:2017-06-26 09:50
本发明专利技术公开了一种基于AHB总线的多核SOC中实现原子操作系统及方法,该系统包括第一CUP模块、第二CUP模块、总线模块、AOC本体模块等,第一CUP模块、第二CUP模块都与总线模块相连,第一CUP模块位于第二CUP模块左侧,总线模块通过AOC本体模块与原子存储模块相连,第一正常存储模块、第二正常存储模块都与总线模块相连,第一正常存储模块位于第二正常存储模块左侧,AOC本体模块、原子存储模块都位于第一正常存储模块左侧。本发明专利技术能够提高总线利用效率。

【技术实现步骤摘要】
基于AHB总线的多核SOC中实现原子操作系统及方法
本专利技术涉及一种操作系统及方法,特别是涉及一种基于AHB总线的多核SOC中实现原子操作系统及方法。
技术介绍
在基于AHB(AHB是AdvancedHighperformanceBus的缩写,高级高性能总线)总线的SOC(SystemonChip,片上系统)芯片中,要实现多个主设备对共享变量的原子操作,通常采用锁定(LOCK)传输,但是这种传输通常只允许一个主设备占用总线。这样一来,如果有两个主设备向两个不同的从设备同时发送操作,其中一个主设备操作共享变量,另一个主设备访问的是非共享变量,操作共享变量的主设备会锁定总线,导致另一个访问非共享变量的主设备发送的操作无法使用总线,必须要等操作共享变量的主设备完成所有的锁定传输后,才能使用总线,导致总线的使用效率降低。一、假设第三CUP模块和第四CUP模块都对第十正常存储模块的某个共享变量K进行加1计数操作,则需要先读出变量K的初始值(假设为2),然后在CUP将加操作后的结果3,重新写回第十正常存储模块内部。这样一来,如果不使用原子操作,可能会导致最终结果出错(期望的结果为4,实际结果为本文档来自技高网...
基于AHB总线的多核SOC中实现原子操作系统及方法

【技术保护点】
一种基于AHB总线的多核SOC中实现原子操作系统,其特征在于,其包括其包括第一CUP模块、第二CUP模块、总线模块、AOC本体模块、原子存储模块、第一正常存储模块、第二正常存储模块,第一CUP模块、第二CUP模块都与总线模块相连,第一CUP模块位于第二CUP模块左侧,总线模块通过AOC本体模块与原子存储模块相连,第一正常存储模块、第二正常存储模块都与总线模块相连,第一正常存储模块位于第二正常存储模块左侧,AOC本体模块、原子存储模块都位于第一正常存储模块左侧。

【技术特征摘要】
1.一种基于AHB总线的多核SOC中实现原子操作系统,其特征在于,其包括其包括第一CUP模块、第二CUP模块、总线模块、AOC本体模块、原子存储模块、第一正常存储模块、第二正常存储模块,第一CUP模块、第二CUP模块都与总线模块相连,第一CUP模块位于第二CUP模块左侧,总线模块通过AOC本体模块与原子存储模块相连,第一正常存储模块、第二正常存储模块都与总线模块相连,第一正常存储模块位于第二正常存储模块左侧,AOC本体模块、原子存储模块都位于第一正常存储模块左侧。2.一种基于AHB总线的多核SOC中实现原子操作方法,其特征在于,其包括以下步骤:步骤一,第一CUP模块、第二CUP模块对第一正常存储模块的某个共享变量K同时进行加1计数操作,则需要先向AOC本体模块申请原子操作权限,如果此空间未被占用,则申请成功,然后开始对共享变量K进行加1计数操作,加1计数操作完成后,再向AOC本体模块发送释放原子操作空间的命令;如果此空间正在被占用,则申请失败,不能对共享变量进行加1计数操作,需要继续申请此空间,直到此空间被释放,申请成功,然后再进行加1计数操作;步骤二,第一CUP模块对第一正常存储模块的某个共享变量K进行加1计数操作,第四CUP模块同时对第二正常存储模块的另外一个共享变量M进行加1计数操作;步骤三,第一CUP模块对第一正常存储模块的某个共享变量K进行加1计数操作,而第二CUP模块同时对第二正常存储模块的某个非共享变量N进行加1计数操作,K和N是自然数。3.如权利要求2所述的基于AHB总线的多核SOC中实现原子操作方法,其特征在于,所述步骤一包括以下步骤:步骤十一,第一CUP模块、第二CUP模块都需要对第一正常存储模块空间的第二地址B进行操作,则需要先向AOC本体模块的第一地址A发送申请对第二地址B的操作权限,当AOC本体模块检测到CUP对第一地址A的读操作后,会向原子存储模块的第一地址A发送一个读操作,然后判断读回数据的值,如果是0,则表示此时没有CUP对第二地址B进行操作,然后将0返回给CUP;同时,会向原子存储模块的第一地址A发送一个写操作,对该地址写入1,表示已经有CUP在对第二地址B进行操作了,如果从原子存储模块的第一地址A返回的读数据为1,则表示此时已经有CUP在对第二地址B进行操作,直接将1返回第一CUP模块或第二CUP模块;步骤十二,当第一CUP模块或第二CUP模块收到AOC本体模块返回的结果后,会进行判断,如果结果为0,表示此时第一CUP模块或第二CUP模块享有对第二地址B的操作权,则会对第二地址B进行各种操作,由于AOC本体模块已经保证了不会同时给多个第一CUP模块或第二CUP模块返回0,所以得到权限的第一CUP模块或第二CUP模块对第二地址B的任何操作都不需要锁定总线模块;如果收到的返回结...

【专利技术属性】
技术研发人员:王强聂中平
申请(专利权)人:上海矽奥微电子有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1