[发明专利]基于高速串行总线的DMA结构的pipeline读写方法有效
申请号: | 201210283510.5 | 申请日: | 2012-08-10 |
公开(公告)号: | CN102841871A | 公开(公告)日: | 2012-12-26 |
发明(设计)人: | 张庆敏;张衡;胡刚;宋君 | 申请(专利权)人: | 无锡众志和达存储技术股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京中恒高博知识产权代理有限公司 11249 | 代理人: | 宋敏 |
地址: | 214122 江苏省无锡市新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 高速 串行 总线 dma 结构 pipeline 读写 方法 | ||
技术领域
本发明涉及数据通信领域,具体地,涉及一种用于读取内存数据的基于高速串行总线的DMA结构的pipeline读写方法。
背景技术
目前,随着计算机技术的发展,总线也由并行总线发展到高速串行总线。总线的读写带宽已经达到了1GB/s以上,大数据量的读写多依靠DMA来处理,所以DMA工作模式,读写方式会直接影响总线带宽的利用率。
现有的DMA多为并行总线设计,仅适合于并行总线读写方式。如果应用到高速串行总线,会极大地影响读写效率,无法发挥高速串行总线的高带宽。以总线的读过程为例,总线主端会先发送读请求,从端收到读请求,然后响应请求数据,传输数据直到完成。并行总线的响应速度很快,仅几个时钟,100ns内响应读请求,但是传输数据相对较慢。而高速串行总线,由于总线延时较大,读请求响应很慢,1us以上,但是数据传输比较快。
发明内容
本发明的目的在于,针对上述问题,提出,以实现数据传输快并且响应快的优点。
为实现上述目的,本发明采用的技术方案是:
一种基于高速串行总线的DMA结构的pipeline读写方法,包括写操作和读操作:
所述读操作具体步骤如下:
主机通过DCR设置DMA寄存器,TX状态机根据所述DMA寄存器设置依次循环发送读描述符,读数据和写描述符请求,然后由端口状态机控制完成上述各种请求,所述端口状态机通过LIS总线发出读或写操作,
所述LIS总线读写操作具体如下:
所述端口状态机发送多个读描述符与读数据操作通过LIS总线处理,该LIS总线将所述多个读请求依次顺序发出,然后LIS总线依次收到数据1、数据2直至数据n,所述端口状态机将收到的数据分别更新到寄存器文件或发送到streamLink接口;
在主机设置DCR寄存器的同时,RX状态机根据所述DMA寄存器设置依次循环发送读描述符,写数据和写描述符请求,然后端口状态机控制完成上述各种请求,所述端口状态机通过LIS总线发出读或写操作。
进一步的,所述TX状态机读取描述符,包括以下步骤:
步骤1:判断TX状态机是否处于空闲状态,若处于空闲状态则由主机通过DCR写TX描述符寄存器,TX状态机检测TX寄存器,
步骤2:如果检测到TX寄存器中当前描述符与结尾描述符不同,则发送一个CL8R(读描述符)请求给TX/RX仲裁器,该CL8R请求完成后,将寄存器的完成读描述符功能位置为完成读描述符状态;
步骤3:连续发送几个B16R(读数据)请求给TX/RX仲裁器,直到描述符中要求传输的数据全部从内存读出并发送到StreamLink接口,然后将寄存器的完成数据位置位;
步骤4:所述TX状态机发送一个CL8W(写描述符)请求给TX / RX仲裁器,将完成状态信息写回内存,完成CL8W请求之后,将寄存器的继续信号置位或者将寄存器的停止信号置位,如果状态寄存器显示下一个描述符指针不是一个空指针和未设置停止结束位,则将寄存器的继续信号置位并将状态机转换到取得描述符状态,否则将寄存器的停止信号置位并将TX状态机转换到空闲状态。
进一步的,所述RX状态机读取描述符,包括以下步骤:
步骤1:判断RX状态机是否处于空闲状态,若处于空闲状态则由主机通过DCR写RX描述符寄存器,并检查RX描述符寄存器;
步骤2:如果检测到TX寄存器中当前描述符与结尾描述符不同,则发送一个CL8R请求给TX/RX仲裁器,该CL8R请求完成后,将寄存器的完成读描述符功能位置为完成读描述符状态;
步骤3:连续发送几个B16W(写数据)请求给TX/RX仲裁器,直到StreamLink接口收集到的所有数据并写入内存,将寄存器的完成数据位置位;
步骤4:所述RX状态机发送一个CL8W的请求给TX / RX仲裁器,在完成该CL8W请求之后,将寄存器的DMA继续位置位或者将寄存器的DMA停止位置位,如果状态寄存器显示下一个描述符指针不是一个空指针和未设置停止结束位,则将寄存器的DMA继续位置位并将状态机转换到取得描述符状态,否则将寄存器的DMA停止位置位并将RX状态机转换到空闲状态。
进一步的,所述端口状态机读取描述符并将数据发送到TX_streamlink和RX_streamlink接口上,包括以下步骤:
步骤1:判断端口状态机是否处于空闲状态,如端口状态机处于空闲状态,则TX/RX仲裁器发出一个CL8R请求或者B16W请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡众志和达存储技术股份有限公司,未经无锡众志和达存储技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210283510.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用于MSD中的高压连接器
- 下一篇:材料塞贝克系数的测试平台