基于pci-e主从设备之间的命令交互方法及系统的制作方法
【专利摘要】本发明公开了一种基于PCI-E主从设备之间的命令交互方法及系统,该方法包括如下步骤:在主卡和从卡中分别设置PCI-E总线访问区域;在主卡中输入命令信息,当检测到有命令信息输入后,将该命令信息写入至从卡的PCI-E总线访问区域;从卡的CPU读出命令信息后对命令信息进行处理,处理完成后通过PCI-E总线将处理结果写入至主卡的PCI-E总线访问区域;主卡的CPU检测到有处理结果后,输出处理结果。该方法及系统的实现较为简单,不需要复杂的协议,不影响计算机系统的稳定性。
【专利说明】基于PC1-E主从设备之间的命令交互方法及系统
【技术领域】
[0001]本发明属于数据通信【技术领域】,具体是一种基于PC1-E主从设备之间的命令交互 方法及系统的设计。
【背景技术】
[0002]PC1-E (PCI Express)是新一代的总线接口,它采用了目前业内流行的点对点串 行连接,比起PCI (Peripheral Component Interconnect,周边元件扩张接口)以及更早期 的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带 宽,而且可以把数据传输率提高到一个很高的频率,达到PCI所不能提供的高带宽。在通 过PC1-E总线构成的PC1-E主从设备的计算机系统中主从设备可以分别为用户提供管理接 口,例如:分别为用户提供console管理口,用户可以通过console管理口分别对主从设备 进行管理。
[0003]由于PC1-E主从设备构成的计算机系统无论在物理上还是逻辑上都是一台设备, 用户对主从设备分别进行管理既不合理又麻烦,因此,所述PC1-E主从设备计算机系统中, 只需要主设备向用户提供管理接口即可,用户通过该接口也可管理从设备。
[0004]从数据通信角度考虑,可以在主从设备分别连接一个以太网卡,并且构建IP网络 接口,主设备通过TCP/IP协议访问从设备。但该方法需要主从设备上都运行TCP/IP协议, 这样无论在计算机系统的硬件构成还是软件构成都增加了系统的复杂性。
【发明内容】
[0005]本发明所要解决的技术问题是为了克服现有技术中PC1-E主从设备之间通信存 在的硬件和软件都较为复杂的缺点而提供一种基于PC1-E主从设备之间的命令交互方法 及系统。
[0006]本发明解决其技术问题采用的技术方案是:基于PC1-E主从设备之间的命令交互 方法,包括如下步骤:
[0007]S1、在主卡和从卡中分别分配一块内存区域作为PC1-E总线访问区域;
[0008]S2、在主卡中输入命令信息,当主卡的CPU检测到有命令信息输入后,通过PC1-E 总线将该命令信息写入至从卡的PC1-E总线访问区域;
[0009]S3、从卡的CPU读出命令信息后对命令信息进行处理,处理完成后通过PC1-E总线 将处理结果写入至主卡的PC1-E总线访问区域;
[0010]S4、主卡的CPU检测到有处理结果后,输出处理结果。
[0011]进一步的,所述主卡和从卡包括CPU及其内存,主卡的CPU与从卡的CPU通过 PC1-E总线连接,从卡的CPU通过PC1-E总线访问主卡的PC1-E总线访问区域,主卡的CPU 通过PC1-E总线访问从卡的PC1-E总线访问区域。
[0012]更进一步的,所述从卡的CPU通过读写PC1-E总线的地址空间从而读写主卡在内 存中分配的PC1-E总线访问区域,所述主卡的CPU通过读写PC1-E总线的地址空间从而读写从卡在内存中分配的PC1-E总线访问区域。
[0013]进一步的,所述主卡的PC1-E总线访问区域中包括两个字段:命令执行标志字段 和命令输出信息字段;
[0014]若命令执行标志字段为第一参数时,表不命令未执行;若为第二参数时,表不命令 执行成功;若为第三参数时,表示命令执行失败;
[0015]命令输出信息表不从卡上命令执行时的输出信息。
[0016]进一步的,所述从卡的PC1-E总线访问区域中包括两个字段:命令字段和命令标 志字段;
[0017]若命令标志字段为第四参数时,表示主卡通过PC1-E总线写命令至从卡的PC1-E 总线访问区域完成;若为第五参数时,表示主卡通过PC1-E总线写命令至从卡的PC1-E总线 访问区域未完成;
[0018]命令字段表示通过主卡写入至从卡的PC1-E总线访问区域的命令信息。
[0019]更进一步的,所述步骤S2具体为:主卡的CPU检测到输入的命令信息后,设置主卡 的PC1-E总线访问区域中的命令执行标志字段为第一参数,并将命令信息通过PC1-E总线 写入至从卡的PC1-E总线访问区域中的命令区域中的命令字段,再通过PC1-E总线写从卡 的命令标志字段为第四参数,等待命令执行结果。
[0020]更进一步的,所述步骤S3具体为:在从卡初始化时创建一个命令守侯任务,所述 命令守侯任务用于检测从卡的PC1-E总线访问区域中的命令标志字段;
[0021]当命令守侯任务检测到命令标志字段为第四参数时,由从卡的命令字段中读出命 令信息,并对命令信息进行解析;
[0022]若命令解析失败,则输出命令解析失败信息到主卡的PC1-E总线访问区域中的命 令输出信息字段中,再通过PC1-E总线写命令执行标志字段为第三参数;若命令解析成功, 则执行命令,并将命令执行的输出信息的通过PC1-E总线输出到命令输出信息字段,再通 过PC1-E总线写命令执行标志字段为第二参数。
[0023]本发明为解决技术问题还提供了基于PC1-E主从设备之间的命令交互系统,具体 包括:主卡、从卡以及连接主卡和从卡的PC1-E总线,所述主卡包括命令输入单元、命令输 出单元,从卡包括命令解析和执行单元、命令执行结果重定向单元;所述主卡和从卡中的 内存区域都包括一块PC1-E总线访问区域;所述命令输入单元用于输入命令信息并通过 PC1-E总线将该命令信息写入至从卡的PC1-E总线访问区域;所述命令解析和执行单元用 于读出命令信息后对命令信息进行处理;所述命令执行结果重定向单元用于将处理结果通 过PC1-E总线将处理结果写入至主卡的PC1-E总线访问区域;所述命令输出单元用于输出 处理结果。
[0024]进一步的,所述主卡和从卡包括CPU及其内存,主卡的CPU与从卡的CPU通过 PC1-E总线连接,从卡的CPU通过PC1-E总线访问主卡的PC1-E总线访问区域,主卡的CPU 通过PC1-E总线访问从卡的PC1-E总线访问区域。
[0025]更进一步的,所述从卡的CPU通过读写PC1-E总线的地址空间从而读写主卡在内 存中分配的PC1-E总线访问区域,所述主卡的CPU通过读写PC1-E总线的地址空间从而读 写从卡在内存中分配的PC1-E总线访问区域。
[0026]本发明的有益效果:本发明一种基于PC1-E主从设备之间的命令交互方法及系统,该方法基于PC1-E总线和PC1-E主从设备,不需要其它的硬件资源,从设备上也不需要 运行TCP/IP协议,从而不会增加硬件和软件的复杂性;同时该方法及系统的实现较为简 单,不需要复杂的协议,不影响计算机系统的稳定性。
【专利附图】
【附图说明】
[0027]图1为本发明实施例一种基于PC1-E主从设备之间的命令交互方法的流程框图;
[0028]图2为本发明实施例一种基于PC1-E主从设备之间的命令交互系统的结构框图;
[0029]图3为本发明实施例一种基于PC1-E主从设备之间的shell命令交互过程的框 图。
【具体实施方式】
[0030]下面结合附图和具体的实施例对本发明作进一步的阐述。
[0031]如图1所示为本发明实施例一种基于PC1-E主从设备之间的命令交互方法的流程 框图,其具体包括如下步骤:
[0032]S1、在主卡和从卡中分别分配一块内存区域作为PC1-E总线访问区域;
[0033]S2、在主卡中输入命令信息,当主卡的CPU检测到有命令信息输入后,通过PC1-E 总线将该命令信息写入至从卡的PC1-E总线访问区域;
[0034]S3、从卡的CPU读出命令信息后对命令信息进行处理,处理完成后通过PC1-E总线 将处理结果写入至主卡的PC1-E总线访问区域;
[0035]S4、主卡的CPU检测到有处理结果后,输出处理结果。
[0036]其中,主卡和从卡包括CPU及其内存,主卡的CPU作为PC1-E主设备,从卡的CPU作 为PC1-E从设备,从卡的CPU受控于主卡的CPU,主卡的CPU与从卡的CPU通过PC1-E总线 连接。从卡的CPU通过PC1-E总线访问主卡的PC1-E总线访问区域,主卡的CPU通过PC1-E 总线访问从卡的PC1-E总线访问区域。从卡的CPU通过读写PC1-E总线的地址空间从而读 写主卡在内存中分配的PC1-E总线访问区域,主卡的CPU通过读写PC1-E总线的地址空间 从而读写从卡在内存中分配的PC1-E总线访问区域。
[0037]在所述步骤S2中,主卡的CPU通过命令输入单元对输入的命令信息进行检测,并 将命令信息的字符串通过PC1-E总线写入至从卡的PC1-E总线访问区域。
[0038]在所述步骤S3中,从卡采用一个命令守候任务读取由主卡写入从卡的PC1-E总线 访问区域的命令信息,并且对该命令信息进行解析和执行。具体为:当有命令信息从主卡写 入到从卡的PC1-E总线访问区域,激活从卡上的命令守候任务,所述命令守候任务读出该 命令信息,并同时清空从卡的PC1-E总线访问区域的内容,再对该命令信息进行解析和执 行,执行结果由CPU中的命令重定向单元通过PC1-E总线写入至主卡的PC1-E总线访问区 域。
[0039]同时,基于上述方法,本发明还提供了 一种基于PC1-E主从设备之间的命令交互 系统,具体包括:主卡、从卡以及连接主卡和从卡的PC1-E总线,所述主卡包括命令输入单 元、命令输出单元,从卡包括命令解析和执行单元、命令执行结果重定向单元;所述主卡和 从卡中的内存区域都包括一块PC1-E总线访问区域;所述命令输入单元用于输入命令信息 并通过PC1-E总线将该命令信息写入至从卡的PC1-E总线访问区域;所述命令解析和执行单元用于读出命令信息后对命令信息进行处理;所述命令执行结果重定向单元用于将处理 结果通过PC1-E总线将处理结果写入至主卡的PC1-E总线访问区域;所述命令输出单元用 于输出处理结果。
[0040]为了本领域技术人员能够理解并且实施本发明技术方案,下面将结合具体的实施 例对本发明基于PC1-E主从设备之间的命令交互方法及系统进行详细说明:
[0041]如图3所示为以shell命令为例说明PC1-E主从设备之间的命令的交互过程,其 中主卡和从卡的CPU通过PC1-E总线相连接,为了简化描述,在此定义主卡上的PC1-E总线 访问区域为区域A,从卡上的PC1-E总线访问区域为B,主卡可以通过PC1-E总线访问从卡 上的区域B,同时,从卡上的CPU也可以通过PC1-E总线访问主卡上区域A。
[0042]区域A中包括两个字段:命令执行标志字段和命令输出信息字段;若命令执行标 志字段为第一参数时,表不命令未执行,若为第二参数时,表不命令执行成功;若为第三参 数时,表不命令执行失败;命令输出信息表不从卡上shell命令执行时的输出信息。
[0043]区域B中包括两个字段:命令字段和命令标志字段;若命令标志字段为第四参数 时,表示主卡通过PC1-E总线写命令至区域B完成,若命令标志字段为第五参数时,表示主 卡通过PC1-E总线写命令至区域B未完成;命令字段表示通过主卡写入至区域B的shell 命令。
[0044]具体的流程为:主卡上的命令输入单元等候用户输入shell命令,检测到用户输 入的shell命令后,设置区域A中的命令执行标志字段为第一参数,并将shell命令通过 PC1-E总线写入至区域B中的命令字段,接着通过PC1-E总线写区域B中的命令标志字段为 第四参数,然后等待shell命令执行结果;再读区域A中的命令执行标志字段,如果命令执 行成功或者失败,则输出命令执行成功或者失败的信息,并且输出命令在从卡上执行输出 的信息。
[0045]从卡上,在初始化时创建一个shell守侯任务,所述shell守侯任务用于检测区域 B中的shell命令标志字段;当shell守侯任务检测到命令标志字段为第四参数时,从区域 B中的命令字段中读出shell命令,对shell命令进行解析;
[0046]若命令解析失败,则输出命令解析失败信息到区域A中的命令输出信息字段中, 再通过PC1-E总线写命令执行标志字段为第三参数;若命令解析成功,则执行命令,并将命 令执行的输出信息的通过PC1-E输出到区域A中的命令输出信息字段,再通过PC1-E总线 写命令执行标志字段为第二参数。
[0047]本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发 明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的 普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各 种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【权利要求】
1.基于PC1-E主从设备之间的命令交互方法,其特征在于,包括如下步骤:51、在主卡和从卡中分别分配一块内存区域作为PC1-E总线访问区域;52、在主卡中输入命令信息,当主卡的CPU检测到有命令信息输入后,通过PC1-E总线将该命令信息写入至从卡的PC1-E总线访问区域;53、从卡的CPU读出命令信息后对命令信息进行处理,处理完成后通过PC1-E总线将处理结果写入至主卡的PC1-E总线访问区域; 54、主卡的CPU检测到有处理结果后,输出处理结果。
2.如权利要求1所述的方法,其特征在于,所述主卡和从卡包括CPU及其内存,主卡的 CPU与从卡的CPU通过PC1-E总线连接,从卡的CPU通过PC1-E总线访问主卡的PC1-E总线访问区域,主卡的CPU通过PC1-E总线访问从卡的PC1-E总线访问区域。
3.如权利要求2所述的方法,其特征在于,所述从卡的CPU通过读写PC1-E总线的地址空间从而读写主卡在内存中分配的PC1-E总线访问区域,所述主卡的CPU通过读写PC1-E 总线的地址空间从而读写从卡在内存中分配的PC1-E总线访问区域。
4.如权利要求1所述的方法,其特征在于,所述主卡的PC1-E总线访问区域中包括两个字段:命令执行标志字段和命令输出信息字段;若命令执行标志字段为第一参数时,表不命令未执行;若为第二参数时,表不命令执行成功;若为第三参数时,表示命令执行失败;命令输出信息表不从卡上命令执行时的输出信息。
5.如权利要求4所述的方法,其特征在于,所述从卡的PC1-E总线访问区域中包括两个字段:命令字段和命令标志字段;若命令标志字段为第四参数时,表示主卡通过PC1-E总线写命令至从卡的PC1-E总线访问区域完成;若为第五参数时,表示主卡通过PC1-E总线写命令至从卡的PC1-E总线访问区域未完成;命令字段表示通过主卡写入至从卡的PC1-E总线访问区域的命令信息。
6.如权利要求5所述的方法,其特征在于,所述步骤S2具体为:主卡的CPU检测到输入的命令信息后,设置主卡的PC1-E总线访问区域中的命令执行标志字段为第一参数,并将命令信息通过PC1-E总线写入至从卡的PC1-E总线访问区域中的命令区域中的命令字段, 再通过PC1-E总线写从卡的命令标志字段为第四参数,等待命令执行结果。
7.如权利要求6所述的方法,其特征在于,所述步骤S3具体为:在从卡初始化时创建一个命令守侯任务,所述命令守侯任务用于检测从卡的PC1-E总线访问区域中的命令标志字段;当命令守侯任务检测到命令标志字段为第四参数时,由从卡的命令字段中读出命令信息,并对命令信息进行解析;若命令解析失败,则输出命令解析失败信息到主卡的PC1-E总线访问区域中的命令输出信息字段中,再通过PC1-E总线写命令执行标志字段为第三参数;若命令解析成功,则执行命令,并将命令执行的输出信息的通过PC1-E总线输出到命令输出信息字段,再通过 PC1-E总线写命令执行标志字段为第二参数。
8.基于PC1-E主从设备之间的命令交互系统,其特征在于,具体包括:主卡、从卡以及连接主卡和从卡的PC1-E总线,所述主卡包括命令输入单元、命令输出单元,从卡包括命令解析和执行单元、命令执行结果重定向单元;所述主卡和从卡中的内存区域都包括一块 PC1-E总线访问区域;所述命令输入单元用于输入命令信息并通过PC1-E总线将该命令信息写入至从卡的PC1-E总线访问区域;所述命令解析和执行单元用于读出命令信息后对命令信息进行处理;所述命令执行结果重定向单元用于将处理结果通过PC1-E总线将处理结果写入至主卡的PC1-E总线访问区域;所述命令输出单元用于输出处理结果。
9.如权利要求8所述的系统,其特征在于,所述主卡和从卡包括CPU及其内存,主卡的 CPU与从卡的CPU通过PC1-E总线连接,从卡的CPU通过PC1-E总线访问主卡的PC1-E总线访问区域,主卡的CPU通过PC1-E总线访问从卡的PC1-E总线访问区域。
10.如权利要求9所述的系统,其特征在于,所述从卡的CPU通过读写PC1-E总线的地址空间从而读写主卡在内存中分配的PC1-E总线访问区域,所述主卡的CPU通过读写PC1-E 总线的地址空间从而读写从卡在内存中分配的PC1-E总线访问区 域。
【文档编号】G06F13/38GK103605628SQ201310633319
【公开日】2014年2月26日 申请日期:2013年11月29日 优先权日:2013年11月29日
【发明者】何三波 申请人:迈普通信技术股份有限公司