发明名称 |
基于双环形队列、非中断式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广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部 |