一种原子操作装置制造方法及图纸

技术编号:39433635 阅读:8 留言:0更新日期:2023-11-19 16:17
本公开实施例提供的一种原子操作装置

【技术实现步骤摘要】
一种原子操作装置、方法、设备及介质


[0001]本公开实施例涉及数据处理领域,具体地涉及一种原子操作装置

方法

设备及介质


技术介绍

[0002]原子操作是指,当一个线程(
Thread
)要对同一个显存变量依次进行“读

计算

写”的操作时,这个“读

计算

写”的操作必须连贯地执行且不能被任何其他操作打断

[0003]现有技术大多从原子操作多线程访问存储器的整体架构的角度进行优化,但对原子操作的基本实现单元优化不足,导致原子操作效率低下,导致处理器性能下降


技术实现思路

[0004]本专利技术的目的在于提供一种原子操作装置

方法

设备及介质,用以提高原子操作效率

[0005]根据本公开的一个方面,提出一种原子操作装置,其特征在于,包括,第一判断模块,用于判断常规操作和原子操作,第二判断模块,用于判断原子操作是否合法,缓存模块,所述缓存模块包含多个
FIFO
,用于缓存总线协议各通道对应的数据,其中读请求
FIFO
被设置为非空即读,写入数据控制模块,用于控制一个原子操作对应的所有比特位数据被同时写入存储设备

[0006]在一些实施例中,该装置还包括,保序模块,用于确保针对同一地址的不同类型的操作保持预期的操作顺序<br/>。
[0007]在一些实施例中,所述总线协议为
AXI
协议

[0008]在一些实施例中,该装置还包括,计算模块,用于基于原子操作指令对数据进行计算

[0009]根据本公开的另一个方面,提出一种原子操作处理方法,包括:基于上述原子操作装置,接收主设备发送来的原子操作请求,响应于原子操作请求合法,将合法的原子操作请求的操作数从存储设备中读出,基于原子操作的操作码进行操作数的计算,将计算完成的操作数重新写回到存储设备中,向主设备模块回复原子操作完成信号

[0010]在一些实施例中,该方法还包括,响应于所述原子操作请求不合法,丢弃接收的数据,并向主设备报错

[0011]在一些实施例中,该方法还包括,所述将合法的原子操作请求的操作数从存储设备中读出,具体为,读请求
FIFO
接收到读请求后立刻发出

[0012]在一些实施例中,该方法还包括,所述基于原子操作的操作码进行操作数的计算,具体为,从存储设备读回的数据和操作数被送到计算模块,基于原子操作指令进行计算

[0013]在一些实施例中,该方法还包括,所述将计算完成的操作数重新写回到存储设备中,具体为,将计算后的结果写入对应的
FIFO
中,并将不参与计算的部分也写入对应的
FIFO
,同时将
wstrb
全部置为
1。
[0014]在一些实施例中,该方法还包括,响应于接收到常规操作,比较常规操作与各
FIFO
中地址信息,若地址一致或部分交叠,则将常规操作请求挂起,原子操作完成后再处理所述常规操作请求

[0015]本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例方法中的步骤

[0016]本申请实施例还提供一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如上任一实施例方法中的步骤

[0017]本公开实施例提供的一种原子操作装置

方法

设备及介质,原子操作处理方法包括,接收主设备发送来的原子操作请求,响应于原子操作请求合法,将合法的原子操作请求的操作数从存储设备中读出,基于原子操作的操作码进行操作数的计算,将计算完成的操作数重新写回到存储设备中,向主设备模块回复原子操作完成信号

附图说明
[0018]图1为本申请实施例提供的原子操作装置示意图

[0019]图2为本申请实施例提供缓存模块的示意图

[0020]图3为本申请实施例提供的原子操作方法示意图

[0021]图4为本申请实施例提供的电子设备的结构示意图

具体实施方式
[0022]下面结合附图对本专利技术的具体实施方式作进一步说明

在此需要说明的是,对于这些实施方式的说明用于帮助理解本专利技术,但并不构成对本专利技术的限定

此外,下面所描述的本专利技术各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合

[0023]对于本技术方案中的“第一”和“第二”,仅为对相同或相似结构,或者起相似功能的对应结构的称谓区分,不是对这些结构重要性的排列,也没有排序

或比较大小

或其他含义

[0024]实施例一具体地,请参阅图1,为本公开提供的一种原子操作装置

现有技术大多从原子操作多线程访问存储器的整体架构的角度进行优化,但对原子操作的基本实现单元优化不足,实施例着重介绍一种原子操作基本单元的设计与优化

[0025]该原子操作装置内置第一判断模块,用于判断常规操作和原子操作,常规操作和原子操作可能访问的存储器地址是相同的,但是原子操作往往比从常规操作花费的时间长,针对不同操作类型,需要采用不同的控制方式;第二判断模块,用于判断原子操作是否合法

该原子内置操作缓存模块,所述缓存模块包含多个
FIFO
,用于缓存总线协议各通道对
应的数据

缓存模块包括多个原子操作
FIFO
,可以缓存多笔原子操作请求,并保证每笔操作的顺序,
FIFO
的个数可以视需要设置,可以理解的是,为了能够顺序处理多笔原子操作请求,可以对应为总线协议通道设置一个或多个
FIFO。
如图2所示,示出了本公开的一个实施例,以
AMABAXI
协议为例,该协议通常包括五个通道,定义如下:
AW
写地址通道,
AR
读地址通道,
W
写数据通道,
R
读数据通道,
B
写响应通道

如图2所示,多个
FIFO
配合实现处理多笔原子操作请求

其中,
pre_addr_fifo
存储器,用来存储原子操作的地址,指令,如果监测到指令不合法,即原子操作请不合法,那么数据将会被丢掉;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种原子操作装置,其特征在于,包括,第一判断模块,用于判断常规操作和原子操作,第二判断模块,用于判断原子操作是否合法,缓存模块,所述缓存模块包含多个
FIFO
,用于缓存总线协议各通道对应的数据,其中读请求
FIFO
被设置为非空即读,写入数据控制模块,用于控制一个原子操作对应的所有比特位数据被同时写入存储设备
。2.
根据权利要求1所述的装置,其特征在于,还包括,保序模块,用于确保针对同一地址的不同类型的操作保持预期的操作顺序
。3.
根据权利要求1所述的装置,其特征在于,还包括,所述总线协议为
AXI
协议
。4.
根据权利要求1所述的装置,其特征在于,还包括,计算模块,用于基于原子操作指令对数据进行计算
。5.
一种原子操作处理方法,其特征在于,基于权利要求1‑4任一项所述一种原子操作装置,包括,接收主设备发送来的原子操作请求,响应于原子操作请求合法,将合法的原子操作请求的操作数从存储设备中读出,基于原子操作的操作码进行操作数的计算,将计算完成的操作数重新写回到存储设备中,向主设备模块回复原子操作完成信号
。6.
根据权利要求5所述的方法,其特征在于,所述方法还包括:响应于所述原子操作请求不合法,丢弃接收的数据,并向主设备报错
。7.
根据权利要求5所述的方法,其特征在于,所述方法还包括:所述将合法的...

【专利技术属性】
技术研发人员:朱亚青芦亚文
申请(专利权)人:沐曦集成电路上海有限公司
类型:发明
国别省市:

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

1