[发明专利]一种基于PCIE的主机通讯方法和主机有效
申请号: | 201310001525.2 | 申请日: | 2013-01-04 |
公开(公告)号: | CN103077148A | 公开(公告)日: | 2013-05-01 |
发明(设计)人: | 王少锋;吴庆民 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F13/38 | 分类号: | G06F13/38;G06F13/24 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 栗若木;曲鹏 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pcie 主机 通讯 方法 | ||
技术领域
本发明涉及主机通讯技术,具体涉及一种基于PCIE的主机通讯方法和主机。
背景技术
实现两主机系统之间通讯有很多种方法,可以通过TCP/IP协议、IB协议等。
主机系统之间最常用的通信方式是使用TCP/IP协议,设置网卡IP地址,使用IP地址实现数据传输,但由于TCP/IP为互联网通信协议,封装了很多层协议包,传输性能比不高。适合于长距离、不可靠的传输环境,不适用于本地系统之间高速互联通信。
IB(InfiniBand)协议适用于本地服务器之间互联通信,但其成本高,系统复杂,布局繁琐。适用于大规模的主机系统之间通信,不适用于少量主机系统之间的通信。
PCI Express(PCIE)是外设部件外连标准,用于替代PCI总线标准,具有高速率,低延迟的特性,可用于高速数据的传输。
但是相关技术中还没有一种基于PCIE协议的主机之间通信的方法。
发明内容
有待于此,本发明要解决的技术问题是提供一种基于PCIE的主机通讯方法和主机,以提供另一种实现两主机系统之间内部互连通信方式。
为了解决上述问题,本发明实施例采用如下技术方案:
一种基于PCIE的主机通讯方法,本端主机的PCIE设备包括中断寄存器、暂存寄存器和基址寄存器,该方法包括如下步骤:
步骤A、通过读取本端主机的PCIE设备的配置空间,在本端主机的内存虚拟地址空间为所述PCIE设备映射出一段与所述配置空间对应的虚拟内存;在本端主机的内存虚拟地址空间为所述中断寄存器和所述暂存寄存器映射出一段相应的虚拟内存;在本端主机的内存虚拟地址空间为所述基址寄存器映射出一段与所述基址寄存器相应的虚拟内存,映射出的所有虚拟内存形成内存映射窗口,所述基址寄存器中存储有与所述基址寄存器相应的虚拟内存对应的空间地址;对对端主机进行同样的配置,将本端主机与对端主机通过PCIE总线进行互连;
步骤B、本端主机根据与所述配置空间对应的虚拟内存和与所述暂存寄存器相应的虚拟内存将要发送的数据缓存在所述暂存寄存器中;
步骤C、本端主机将所述基址寄存器中存储的空间地址翻译成对端主机的对应空间地址,将缓存在所述暂存寄存器中的数据发送到对端主机的相应地址、对端主机的暂存寄存器通过与对端主机的PCIE设备的配置空间对应的虚拟内存和与该暂存寄存器对应的虚拟内存将接收到的数据进行缓存;本端主机发送的数据达到预定量或者发送完所有的数据时,由本端主机的中断寄存器通过相应的虚拟内存向对端主机发送中断;
步骤D、对端主机接收到所述中断后,开始将缓存的数据写入自身的内存映射窗口对应的区域中。
可选地,所述步骤B之前,该方法还包括:将本端主机的内存映射窗口对应的区域以固定大小为单位顺序分成K个包,所述K为将要分成的包的个数;
所述步骤B包括:本端主机将根据与所述配置空间对应的虚拟内存和与所述暂存寄存器映相应的虚拟内存缓存在所述暂存寄存器中的缓存数据以所述固定大小为单位顺序分成K个包;
所述步骤C包括:本端主机以包为单位进行数据发送,将所述基址寄存器中存储的空间地址翻译成对端主机的对应空间地址,将包发送到对端主机的相应地址,对端主机的暂存寄存器通过与所述配置空间对应的虚拟内存和与所述暂存寄存器对应的虚拟内存将接收到的包进行缓存;本端主机发送的包的个数达到预定个数或者发完最后一个包时,由本端主机的中断寄存器通过相应的虚拟内存向对端主机发送中断。
可选地,本端主机和对端主机的内存映射窗口对应的区域均包括两个逻辑上的队列,一个为发送队列,另外一个为接收队列,发送队列用于存储要发送的数据,接收队列用于存储接收到的数据,发送队列和接收队列均为循环队列。
可选地,该方法还包括:将本端主机的内存映射窗口对应的区域以固定大小为单位顺序分成K个包之前,在本端主机的内存映射窗口对应的区域中设置以下变量:发送端最大传输序号TxPktSn;
本端主机将缓存在所述暂存寄存器中的缓存数据以所述固定大为单位顺序分成K个包的步骤还包括:本端主机在顺序分成的K个包的头部顺序加上包序号PktSn;
本端主机发送的包的个数达到预定个数或者发完最后一个包时,该方法还包括:将TxPktSn设置为相应的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310001525.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:EGR冷却器芯体
- 下一篇:一种中间嵌件和包括该中间嵌件的玻璃窗