发明名称 基于双环形队列、非中断式PCI通信方法
摘要 本发明公开了一种基于双环形队列、非中断式PCI通信方法,用于数据通信领域里的PCI总线紧耦合型多CPU系统中CPU间的通讯,包括:在每两个CPU之间的PCI总线上建立一个双环形队列缓冲区,并进行数据处理流程,具体包括发送数据流程和接收数据流程,其中接收数据流程包括:首先取写指针和读指针;然后设置变量N=读指针+1,对队列长度取余;同时判断变量N是否等于写指针;如果N不等于写指针,则将读指针指向的数据从双环形队列缓冲区中取出,将读指针加1,设置N=读指南针+1,对队列长度取余。本发明所述方法比现有技术具有更高的效率,同时极大降低对系统性能的影响、不会中断CPU的任务运行、不干扰CPU的正常流程处理。
申请公布号 CN1529256A 申请公布日期 2004.09.15
申请号 CN200310101813.1 申请日期 2003.10.17
申请人 中兴通讯股份有限公司 发明人 于学鸿;马立军;冯海英
分类号 G06F15/163;G06F12/00 主分类号 G06F15/163
代理机构 北京金硕果知识产权代理事务所 代理人 张玫
主权项 1、一种基于双环形队列、非中断式PCI通信方法,用于PCI总线紧耦合型多CPU系统中CPU间的通讯,其特征在于,包括以下步骤:首先,在每两个CPU之间的PCI总线上建立一个双环形队列缓冲区,该缓冲区设置两个环形队列,分别作为发送通道和接收通道;每个环形队列设置一个读指针和一个写指针;其次,进行数据处理流程,具体包括发送数据流程和接收数据流程,其中发送数据流程包括以下步骤:步骤一:如果写指针等于读指针,则返回失败,否则将通信数据拷贝到写指针指向的通信缓冲区;步骤二:写指针加一,同时对队列长度取余;步骤三:结束发送数据;接收数据流程包括以下步骤:步骤一:取写指针;步骤二:取读指针;步骤三:设置变量N=读指针+1,对队列长度取余;步骤四:判断变量N是否等于写指针;步骤五:如果N不等于写指针,则将读指针指向的数据从双环形队列缓冲区中取出,将读指针加1,设置N=读指南针+1,对队列长度取余;返回步骤四;步骤六:结束接收数据。
地址 518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部