[发明专利]基于PCI/PCIe总线多CPU系统启动方法及模块有效

专利信息
申请号: 200910249673.X 申请日: 2009-12-11
公开(公告)号: CN101876911A 公开(公告)日: 2010-11-03
发明(设计)人: 金伟;赵先林;胡扬忠;邬伟琪 申请(专利权)人: 杭州海康威视数字技术股份有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F9/48;G06F13/20
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 逯长明;王宝筠
地址: 310012*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 pci pcie 总线 cpu 系统启动 方法 模块
【说明书】:

技术领域

发明涉及自动控制领域,特别涉及一种基于PCI/PCIe总线多CPU系统启动方法及模块。

背景技术

PCI(外部设备互连总线)总线或PCIe(PCI Express,高速外部设备互连总线)上可以连接好多设备,通常,在同一段总线内最多可接255个设备,每种设备最多只能有8个功能,不同的PCI总线之间的互连通过PCI to PCI桥接芯片实现。因此每个设备都有BUS号(总线号),DEV号(设备号),及FUNC号(功能号),一般而言,每个设备只有1个功能,即只有FUNC0。

目前,大型系统中常常会由几百甚至上千个CPU组成,如何让这些CPU全部尽快的进入工作状态,大大关系到整个系统的性能。现有的启动方法依靠在主控CPU上启用多线程的方法去初始化系统中的所有CPU,其中,主控CPU针对每个从CPU都启动一个线程,在各个线程中下载启动对应从CPU初始化所必须的二进制文件。

在实施本发明过程中,发明人发现现有技术中至少存在如下问题:现有多线程启动方法中,因为主控CPU的指令是一条一条顺序执行的,多线程在主控CPU上其实也是串行的。也就是说,虽然在宏观上看起来是多个线程是并行的,但是在微观上看仍然是串行的。因此这样仅靠主控CPU来承担整个系统的初始化任务会影响到整个系统的性能。

发明内容

为解决上述技术问题,本发明提供一种基于PCI/PCIe总线多CPU系统启动方法及模块。

本发明提供一种基于PCI/PCIe总线的多CPU系统启动方法,预先建立包括各从CPU初始化信息、所在PCI空间的基址和PCI拓扑位置、及状态信息的数据结构,并在每条总线上选定至少一个从CPU作为该总线的组长CPU,所述方法包括:

主CPU将数据结构加载到自身内存,并将自身内存映射到PCI空间;

主CPU加载所述数据结构至各总线的组长CPU;各总线的组长CPU在接收到所述数据结构后,依据所述数据结构中本CPU的初始化信息启动初始化,并在初始化成功后通知主CPU更新本CPU的状态信息;

各总线上,完成初始化的组长CPU在主CPU的控制下,加载所述数据结构至本总线上其它从CPU;其它从CPU在接收到所述数据结构后,依据所述数据结构中本CPU的初始化信息启动初始化,并在初始化成功后通知主CPU更新本CPU的状态信息;至全部CPU均初始化成功,完成所述系统的启动。

所述方法还包括:

主CPU初始化系统中其它从CPU,具体为:

主CPU查找数据结构中的状态信息,选出一个待初始化CPU,加载数据结构至该待初始化CPU;该待初始化CPU在接收到所述数据结构后,依据所述数据结构中本CPU的初始化信息启动初始化,并在初始化成功后通知主CPU更新本CPU的状态信息。

其它从CPU在初始化成功后,还包括:

初始化成功的从CPU获取主CPU赋予其初始化其所在总线上其它从CPU的权利,并在主CPU的控制下,按照组长CPU初始化其它从CPU的步骤初始化其所在总线上的其它从CPU。

完成初始化的组长CPU或初始化成功的从CPU在主CPU的控制下,加载所述数据结构至本总线上其它从CPU具体为:

完成初始化的组长CPU或初始化成功的从CPU作为请求CPU向主CPU发出请求,主CPU查找所述数据结构,根据请求CPU的PCI空间的基址和PCI拓扑位置,选出该请求CPU所在总线上的一个待初始化CPU,判断该待初始化CPU是否已经被其它CPU请求,是则重新选择一个待初始化CPU再次执行上述判断步骤,否则将该待初始化CPU作为被请求CPU,赋予该请求CPU初始化该被请求CPU的权利;请求CPU加载所述数据结构至被请求CPU后,继续向主CPU发出请求。

主CPU与各从CPU之间的通讯通过PCI内存读写及PCI中断实现,所述通讯格式为共享缓冲格式,且保证主CPU与各从CPU的缓冲区不重叠。

所述主CPU将自身内存映射到PCI空间具体为:通过设置主CPU的用于映射到PCI空间的寄存器中相关参数,将自身内存映射到PCI空间。

在每条总线上选定设备号为0的从CPU作为该总线的组长CPU。

本发明还提供了一种基于PCI/PCIe总线的多CPU系统启动模块,包括:

数据结构建立单元,用于建立包括各从CPU初始化信息、所在PCI空间的基址和PCI拓扑位置、及状态信息的数据结构;

组长CPU选定单元,用于在每条总线上选定至少一个从CPU作为该总线的组长CPU;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910249673.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top