【技术实现步骤摘要】
本专利技术涉及数据通信领域,具体地,涉及一种用于读取内存数据的基于高速串行总线的通用DMA结构及预读方法。
技术介绍
目前,随着计算机技术的发展,总线也由并行总线发展到高速串行总线。总线的读写带宽已经达到了 lGB/s以上,大数据量的读写多依靠DMA来处理,所以DMA工作模式,读写方式会直接影响总线带宽的利用率。现有的DMA多为并行总线设计,仅适合于并行总线读写方式。如果应用到高速串行总线,会极大地影响读写效率,无法发挥高速串行总线的高带宽。以总线的读过程为例,总线主端会先发送读请求,从端收到读请求,然后响应请求数据,传输数据直到完成。并行·总线的响应速度很快,仅几个时钟,IOOns内响应读请求,但是传输数据相对较慢。而高速串行总线,由于总线延时较大,读请求响应很慢,Ius以上,但是数据传输比较快。
技术实现思路
本专利技术的目的在于,针对上述问题,提出一种基于高速串行总线的通用DMA结构及预读方法,以实现数据传输快并且响应快的优点。为实现上述目的,本专利技术采用的技术方案是 一种基于高速串行总线的通用DMA结构,包括负责DMA数据读写的LIS总线、提供DMA数据发送与接收的StreamLink (为快速数据传输所设计的高速数据总线)接口、DCR寄存器、DMA控制模块以及DCR寄存器访问接口 DCR总线; 所述DCR寄存器负责DMA状态检测,寄存器管理; 所述DMA控制模块负责DMA控制逻辑。根据本专利技术的优选实施例,所述DMA控制模块包括端口状态机、RX状态机、TX/RX仲裁器和TX状态机; 所述端口状态机:为DMA的核心控制端;所有的描述符读写 ...
【技术保护点】
一种基于高速串行总线的通用DMA结构,其特征在于,包括负责DMA数据读写的LIS总线、提供DMA数据发送与接收的StreamLink(为快速数据传输所设计的高速数据总线)接口、DCR寄存器、DMA控制模块以及DCR寄存器访问接口DCR总线;所述DCR寄存器:负责DMA状态检测,寄存器管理;所述DMA控制模块:负责DMA控制逻辑。
【技术特征摘要】
1.一种基于高速串行总线的通用DMA结构,其特征在于,包括负责DMA数据读写的LIS总线、提供DMA数据发送与接收的StreamLink (为快速数据传输所设计的高速数据总线)接口、DCR寄存器、DMA控制模块以及DCR寄存器访问接口 DCR总线; 所述DCR寄存器负责DMA状态检测,寄存器管理; 所述DMA控制模块负责DMA控制逻辑。2.根据权利要求I所述的基于高速串行总线的通用DMA结构,其特征在于,所述DMA控制模块包括端口状态机、RX状态机、TX/RX仲裁器和TX状态机; 所述端口状态机:为DMA的核心控制端;所有的描述符读写控制和数据读写控制都在端口状态机中进行,完成从TX/RX仲裁器发来的读写请求; 所述RX状态机从内存中读描述符,或通过StreamlLink接口收集数据和写数据到内存,将描述符状态回写到内存; 所述TX状态机从内存中读描述符,将从内存中读取的数据发送到StreamLink接口,并将描述符状态回写到内存中; 所述TX/RX仲裁器对TX状态机和RX状态机读写描述符或数据的次序进行裁决,一次只允许一个读或写操作通过。3.根据权利要求2所述的基于高速串行总线的通用DMA结构,其特征在于,所述DCR寄存器包括寄存器文件仲裁器、DCR接口和中断寄存器; 所述寄存器文件仲裁器对寄存器中的文件访问次序进行裁决,一次只允许一个状态机访问; 所述中断寄存器中断控制/状态寄存器; 所述DCR接口 上述寄存器文件仲裁器通过DCR接口访问寄存器。4.一种利用权利要求I至3所述的DMA结构数据预读方法,其特征在于,所述数据读取分为TX操作和RX操作,所述TX操作和RX操作采用双工并行的方式,其具体步骤如下 所述TX操作主机通过DCR接口设置TX_CURBUF_PTR寄存器和TAIL寄存器,设置当前描述符地址和结尾描述符地址; DMA的TX状态机比较上述TX_CURBUF_PTR寄存器和TX_TAILDESC_PTR寄存器中的当前描述符地址和结尾描述符地址,如上述当前描述符地址和结尾描述符地址不同,所述TX状态机则发送读描述符操作给端口状态机; 上述端口状态机从LIS总线上读取描述符,并读取描述符所对应的数据,然后将上述数据发送到TX_streamlink接口上; 上述TX状态机发出写描述符请求,即由上述端口状态机将寄存器文件更新,上述写描述符状态通过LIS接口回写到所述主机,并对上述TX_CURBUF_PTR寄存器和TX_TAILDESC_PTR寄存器中的当前描述符地址进行更新; 所述TX状态机重新比较上述TX_CURBUF_PTR寄存器和TX_TAILDESC_PTR寄存器中当前描述符地址与尾地址是否相同,如果上述两个地址不同,则继续发起TX操作请求,直到两地址相同为止; 所述RX操作由主机通过DCR接口设置RX_CURBUF_PTR寄存器和RX_TAILDESC_PTR寄存器,设置当前描述符地址和结尾描述符地址; DMA的RX状态机比较上述RX_CURBUF_PTR寄存器和RX_TAILDESC_PTR寄存器当前描述符地址和结尾描述符地址,如上述两个地址不同,则所述RX状态机发起读描述操作给端口状态机; 上述端口状态机从LIS总线上读取描述符,并接收RX_streamlink接口上的数据,通过LIS总线接口将数据写到描述符指定的数据地址里; 所述TX状态机对上述TX_CURBUF_PTR寄存器和TX_TAILDESC_PTR寄存器中的描述符更新,并比较上述TX_CURBUF_PTR寄存器和TX_TAILDESC_PTR寄存器中的当前描述符与尾描述符地址,如果上述两个地址不同,则继续发起RX操作请求,直到上述两地址相同为止。5.根据权利要求4所述的DMA结构数据预读方法,其特征在于,所述TX状态机读取描述符,包括以下步骤 步骤I:判断TX状态机是否处于空闲状态,若处于空闲状态则由主机通过DCR写TX描述符寄存器,TX状态机检测TX寄存器, 步骤2 :如果检测到TX寄存器中当前描述符与结尾...
【专利技术属性】
技术研发人员:张庆敏,张衡,胡刚,宋君,
申请(专利权)人:无锡众志和达存储技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。