一种多处理机复用外围PCI设备的方法技术

技术编号:2876965 阅读:259 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种多处理机复用外围PCI设备的方法,通过对主处理机和从处理机进行系统初始化,使得每个处理机都加载一套PCI设备驱动程序,而只有使用该PCI设备的处理机的PCI设备中断才给予开放,切换时通过处理机之间的消息交互机制通知源处理机先屏蔽中断,再通知目的处理机开放PCI中断,启动PCI设备。本发明专利技术广泛适用于嵌入式多处理机系统,尤其是大型嵌入式设备中。采用本发明专利技术的方法由于不再需要为每个处理机配置一串口用于调试,而是直接通过PCI设备进行调试,节约了系统的成本,加快了调试速度;在处理机需要向外发送数据时,可以直接通过PCI设备输出,不需要经过主处理机转发,提高了系统的带宽利用率。(*该技术在2021年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】所属领域本专利技术涉及嵌入式多处理机领域,特别是涉及大型嵌入式设备中多处理机系统的设计,实现一种基于PCI网的多处理机复用外围PCI设备的方法。由于现行的嵌入式软件开发平台是通过网络或串口调试目标程序,如果没有调试手段将给程序员编程和查错增加了很大的困难,特别是对大型嵌入式设备的软件开发来说,没有调试通道几乎是不可能的。而目前的方法是为每个处理机增加一个串口作为调试的手段。但是这些串口在系统正常运行时是空闲的,造成系统资源的浪费,而且串口通信的带宽也限制了软件调试进度。本专利技术提出一种多处理机复用外围PCI设备的方法,包括以下步骤步骤1,主处理机系统初始化1)初始化PCI总线上的所有的处理机和PCI设备,分配地址空间和中断向量;2)主处理机加载所述PCI设备的驱动程序;3)开放主处理机上的所述PCI设备中断,启动所述PCI设备;4)向从处理机发送PCI设备已经正常运行的通知;步骤2,从处理机系统初始化1)接收PCI设备正常运行通知;2)从处理机加载所述PCI设备的驱动程序;3)关闭从主处理机上的所述PCI设备中断,禁止从处理机使用所述PCI设备的驱动程序;步骤3,PCI设备由源处理机使用切换到目的处理机使用1)目的处理机发送请求消息到源处理机;2)停止所述PCI设备的运行,屏蔽源处理机的PCI设备中断,禁止驱动程序发送数据到PCI设备的发送缓冲区;3)向目的处理机发送请求成功消息;4)目的处理机启动PCI设备,并开放PCI设备中断,允许使用PCI设备驱动程序,完成切换。采用本专利技术的多处理机复用外围PCI设备的方法,具有以下三个方面的优点(1)由于不再需要为每个处理机配置串口,减少了系统中设备的数量,降低硬件成本;(2)由于不用将数据经过主处理机进行转发而占用PCI总线的带宽,可以提高多处理机系统中通信带宽效率;(3)对每个处理机可以将PCI设备指定给其进行调试,加快软件调试进度。 附图说明图1现有技术多处理机系统的结构示意图;图2本专利技术的多处理机系统的结构示意图;图3本专利技术的多处理机复用外围PCI设备的方法流程图; 而本专利技术的系统结构(参考图2所示)由于可以将PCI设备指定给单个处理机使用,这样就不再需要增加专门的串口来调试单个处理机;而且各处理机向外发送数据时,可以直接通过PCI设备发送,不再需要经过主处理器的转发。下面再就以PCI网卡为本专利技术的PCI设备,具体介绍如何实现多处理机复用PCI网卡。首先所有的处理机和网卡都连接在PCI总线上,其中的一个处理机是PCI总线的主设备,负责为其他的处理机和网卡分配PCI空间,为了让所有的处理机都能使用同一个网卡,网卡的中断申请线要同时连接上所有的处理机。参考图3所示的实现流程图系统设计主要涉及到PCI网卡驱动的设计,主处理机初始化PCI总线上的所有的处理机和PCI设备,分配PCI空间和I/O空间;其它的处理机都不做PCI初始化。为了达到处理机之间轮换使用网卡的目的,一般由主当前使用网卡的处理机指定网卡新使用者,当前使用网卡的处理机释放网卡,新的使用者开始使用网卡。这就需要在主处理机与其他处理机之间有一种通信手段可以采用PCI共享内存或PCI的消息机制(Message Unit)。具体过程如下1.初始化过程 系统启动时,主处理机上的程序初始化PCI总线上的所有处理机和设备。 主处理机将为网卡驱动程序分配初始化信息的空间、发送和接受描述符表、接受和发送缓冲区空间。 主处理机初始化以上空间中的信息,启动网卡运行。 主处理机通过处理机之间的通信手段通告其他的处理机,设备正常运行。 其他的处理机接受到上面通告后,加载网卡驱动程序;但是不启动网卡,禁止发送数据到网卡的发送缓冲区,也不开放网卡的中断。 所有的处理机网络协议栈使用相同的IP地址。2.网卡切换过程 当前使用网卡的处理机接受到网卡切换消息后,首先停止网卡的运行,屏蔽网卡的中断,禁止驱动程序发送任何数据到网卡的发送缓冲区。 当前使用网卡的处理机通过处理机之间通信的手段通告目的处理机请求成功。 目的处理机重新初始化一次网卡初始化信息的空间、发送和接受描述符表、接受和发送缓冲区空间。 目的处理机启动网卡运行,允许发送数据,开放网卡中断。在单调某个处理机时,程序员可以直接使用PCI网卡,并指定将该网卡配置给待调处理机,通过网卡调试单个处理机上的程序,十分方便,还大大增加了软件调试的带宽,节省硬件投入。当某个处理机需要通过PCI网卡输出数据时,不再需要使用PCI总线将数据转发使用网卡的主处理机,再由其通过PCI网卡输出,而是直接申请使用网卡进行数据输出,节省了PCI总线的带宽。权利要求1.一种多处理机复用外围PCI设备的方法,其特征在于,包括以下步骤步骤1,主处理机系统初始化1)初始化PCI总线上的所有的处理机和PCI设备,分配地址空间和中断向量;2)主处理机加载所述PCI设备的驱动程序;3)开放主处理机上的所述PCI设备中断,启动所述PCI设备;4)向从处理机发送PCI设备已经正常运行的通知;步骤2,从处理机系统初始化1)接收PCI设备正常运行通知;2)从处理机加载所述PCI设备的驱动程序;3)关闭从主处理机上的所述PCI设备中断,禁止从处理机使用所述PCI设备的驱动程序;步骤3,PCI设备由源处理机使用切换到目的处理机使用1)目的处理机发送请求消息到源处理机;2)停止所述PCI设备的运行,屏蔽源处理机的PCI设备中断,禁止驱动程序发送数据到PCI设备的发送缓冲区;3)向目的处理机发送请求成功消息;4)目的处理机启动PCI设备,并开放PCI设备中断,允许使用PCI设备驱动程序,完成切换。2.根据权利要求1所述的一种多处理机复用外围PCI设备的方法,其特征在于,所述主处理机与其他处理机之间采用PCI共享内存的方式进行通讯。3.根据权利要求1所述的一种多处理机复用外围PCI设备的方法,其特征在于,所述主处理机与其他处理机之间采用PCI的消息机制(Message Unit)通讯。4.根据权利要求1所述的一种多处理机复用外围PCI设备的方法,其特征在于,所述各处理机的网络协议栈使用同一IP地址。5.根据权利要求1所述的一种多处理机复用外围PCI设备的方法,其特征在于,所述的PCI设备是PCI网卡。全文摘要本专利技术公开了一种多处理机复用外围PCI设备的方法,通过对主处理机和从处理机进行系统初始化,使得每个处理机都加载一套PCI设备驱动程序,而只有使用该PCI设备的处理机的PCI设备中断才给予开放,切换时通过处理机之间的消息交互机制通知源处理机先屏蔽中断,再通知目的处理机开放PCI中断,启动PCI设备。本专利技术广泛适用于嵌入式多处理机系统,尤其是大型嵌入式设备中。采用本专利技术的方法由于不再需要为每个处理机配置一串口用于调试,而是直接通过PCI设备进行调试,节约了系统的成本,加快了调试速度;在处理机需要向外发送数据时,可以直接通过PCI设备输出,不需要经过主处理机转发,提高了系统的带宽利用率。文档编号G06F9/48GK1430144SQ0113809公开日2003年7月16日 申请日期2001年12月31日 优先权日2001年12月31日专利技术者童小九, 张超峰, 钟卫东, 吴波 申请人:深圳市中兴通讯股份有限公司上海第二研究本文档来自技高网...

【技术保护点】
一种多处理机复用外围PCI设备的方法,其特征在于,包括以下步骤:步骤1,主处理机系统初始化:1) 初始化PCI总线上的所有的处理机和PCI设备,分配地址空间和中断向量;2) 主处理机加载所述PCI设备的驱动程序;3) 开放主 处理机上的所述PCI设备中断,启动所述PCI设备;4) 向从处理机发送PCI设备已经正常运行的通知;步骤2,从处理机系统初始化:1) 接收PCI设备正常运行通知;2) 从处理机加载所述PCI设备的驱动程序;3) 关闭从主 处理机上的所述PCI设备中断,禁止从处理机使用所述PCI设备的驱动程序;步骤3,PCI设备由源处理机使用切换到目的处理机使用:1) 目的处理机发送请求消息到源处理机;2) 停止所述PCI设备的运行,屏蔽源处理机的PCI设备中断, 禁止驱动程序发送数据到PCI设备的发送缓冲区;3) 向目的处理机发送请求成功消息;4) 目的处理机启动PCI设备,并开放PCI设备中断,允许使用PCI设备驱动程序,完成切换。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:童小九张超峰钟卫东吴波
申请(专利权)人:深圳市中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1