【技术实现步骤摘要】
一种基于多核处理器访问的自旋锁硬件及方法
[0001]本专利技术属于多核芯片
,尤其涉及一种基于多核处理器访问的自旋锁硬件及方法。
技术介绍
[0002]随着半导体工艺的不断提高和全球化的进展,多核处理器逐渐成为SoC芯片的必备选项。多核处理器芯片在正常工作场景中需要支持多个线程同时工作,传统的单核单线程不需要考虑改变访问区域数据值的影响,多线程在对同一共享资源需要访问时,需要互斥访问,保证数据的一致性。
[0003]在软件底层逻辑中有丰富的锁机制保证在多线程运行时共享数据的一致性。从实现机制上主要分为互斥锁和自旋锁两类。互斥锁在进程请求访问临界区域时未果,线程会被挂起,放弃等待。自旋锁在进程未获取访问临界区域之前,一直处于查询锁状态(自旋)状态。自旋锁相比较于互斥锁,进程之间的转换更加快速,更加适合实际工作场景。
[0004]传统的自旋锁机制:其中一个进程尝试去获取某一临界区域对应的锁,若该锁未被其他进程占用,则该进程获取这把锁;若该锁被其他进程占用,则该进程无法获得该锁,每隔一段时间重新访问该锁,确 ...
【技术保护点】
【技术特征摘要】
1.一种基于多核处理器访问的自旋锁硬件,其特征在于,包括选择逻辑、锁池队列逻辑和锁状态逻辑;所述选择逻辑用于在硬件锁模块中指示是哪个CPU发起请求;所述锁池队列逻辑用于保存硬件锁被占用期间,其他CPU对硬件锁的访问顺序;所述锁状态逻辑用于结合锁池队列状态和选择逻辑,确认该共享区域对应锁状态。2.根据权利要求1所述的基于多核处理器访问的自旋锁硬件,其特征在于,所述选择逻辑结合CPU通过总线访问形式,将总线地址中3bit信号指示哪个CPU访问,每个CPU有独一无二的访问硬件锁的号码ID,即支持8个CPU共享临界区域。3.根据权利要求1所述的基于多核处理器访问的自旋锁硬件,其特征在于,所述选择逻辑根据实际CPU个数调整指示信号位宽;将总线中多个bit位作为共享区域的选择信号。4.根据权利要求1所述的基于多核处理器访问的自旋锁硬件,其特征在于,所述锁池队列逻辑:每个共享区域逻辑互相独立,队列逻辑保存硬件锁被占用期间,其他CPU对硬件锁的访问顺序,即下一次获取锁的优先级,越早访问的优先级越高。5.根据权利要求1所述的基于多核处理器访问的自旋锁硬件,其特征在于,所述锁状态逻辑:结合队列状态和选择逻辑,确认该共享区域对应锁状态:锁或者非锁,在确定锁状态的同时,根据CPU访问状态确认在请求锁时是否发生错误。6.根据权利要求5所述的基于多核处理器访问的自旋锁硬件,其特征在于,所述错误状态包括:1)当前CPU在获取锁的前提下,该CPU重复请求获取锁;2)当前CPU在获取锁的前提下,其他CPU尝试解锁。7.一种权利要求1
‑
6任一项所述的基于多核处理器访问的自旋锁硬件的自旋锁方法,其特征在于,包括如下步骤:步骤1...
【专利技术属性】
技术研发人员:黄凯,梁继虎,王轲,蒋小文,张晓旭,刘智力,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。