CN112115092A - 一种pcie总线号的分配方法、装置、设备及存储介质 - Google Patents
一种pcie总线号的分配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112115092A CN112115092A CN202010989139.9A CN202010989139A CN112115092A CN 112115092 A CN112115092 A CN 112115092A CN 202010989139 A CN202010989139 A CN 202010989139A CN 112115092 A CN112115092 A CN 112115092A
- Authority
- CN
- China
- Prior art keywords
- pcie
- pcie bus
- bus number
- preset
- numbers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种PCIE总线号的分配方法、装置、设备及计算机可读存储介质,该方法包括:在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;获取每个PCIE设备各自对应的预设PCIE总线号集;根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个PCIE设备对应的预设PCIE总线号不相同;本发明在BIOS初期为每个PCIE设备动态分配一个独一无二的暂时性的PCIE总线号,从而避免了PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配,减少维护次数,一次性开发永久使用,节省人力时间成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种PCIE总线号的分配方法、装置、设备及计算机可读存储介质。
背景技术
在Intel(英特尔)计算器架构,PCIE(Peripheral Component InterconnectExpress,一种高速串行计算机扩展总线标准)是芯片用来与设备沟通的主要汇流排。为使PCIE设备正常驱动,BIOS(Basic Input/Output System,基本输入输出系统)将控制权递交操作系统前,会将PCIE硬件要求参数初始化完毕。
某些情况,PCIE设备初始化时间必须提前。如BIOS遭受破坏需读取SATA(SerialAdvanced Technology Attachment,串行高级技术附件)、USB(UniversalSerialBus,通用串行总线)当中的韧体恢复系统;以及,Intel雷电(Thunderbolt)等设备,需在BIOS前期使用指令唤醒开机支持等功能。
现有技术中,BIOS对PCIE设备的初始化采用固定写死方法,指定PCIE总线号(Busnumber)给各个PCIE设备;如图1所示,以一台Intel E5系列服务器或是一部AMD ROME(一种服务器芯片)平台为例,皆包含1至多个处理器,每个处理器更包含多个IO Die(输入输出裸片),每个IO Die上可能经过不同厂商设计有数个不相等PCIE接口,BIOS初期若需使用它们,现有作法不论Intel代码或是各大BIOS供货商,皆指定一个PCIE总线号(BUS#)给PCIE接口底下的PCIE设备;通常会采用现有代号上限“加1”授予PCIE设备;CPU-0IO Die2的Bus#128~191,可以用129或直接授予最后一个191;随着PCIE设备增加,BIOS驱动的开发人员没有规划妥善,就会造成图1问题,Port 2A和Port 2C使用PCIE总线号(Temp BUS)相同产生冲突,最终结果导致两个PCIE设备失效,除错费时。并且若多个BIOS驱动的开发人员都有希望BIOS初期运行PCIE的需求,必须协议PCIE总线号分配,添增了合作上的复杂度。
因此,如何能够避免PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配,是现今急需解决的问题。
发明内容
本发明的目的是提供一种PCIE总线号的分配方法、装置、设备及计算机可读存储介质,以避免PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配。
为解决上述技术问题,本发明提供一种PCIE总线号的分配方法,包括:
在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;
获取每个所述PCIE设备各自对应的预设PCIE总线号集;
根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个所述PCIE设备对应的预设PCIE总线号不相同。
可选的,所述获取每个所述PCIE设备各自对应的预设PCIE总线号集,包括:
获取每个所述PCIE设备所连接的所述IO Die对应的预设PCIE总线号集。
可选的,所述根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号,包括:
扫描当前预设PCIE总线号集,确定未占用PCIE总线号;其中,当前预设PCIE总线号集为当前PCIE设备对应的预设PCIE总线号集,当前PCIE设备为任一所述PCIE设备,所述未占用PCIE总线号为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号;
从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中所述目标预设PCIE总线号标记为已占用;其中,所述目标预设PCIE总线号为当前PCIE设备对应的所述未占用PCIE总线号中的一个预设PCIE总线号。
可选的,所述从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,包括:
按由小到大的顺序,从所述未占用PCIE总线号中选择所述目标预设PCIE总线号;其中,所述目标预设PCIE总线号为所述未占用PCIE总线号中数值最小的一个预设PCIE总线号。
本发明还提供了一种PCIE总线号的分配装置,包括:
检测模块,用于在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;
获取模块,用于获取每个所述PCIE设备各自对应的预设PCIE总线号集;
分配模块,用于根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个所述PCIE设备对应的预设PCIE总线号不相同。
可选的,所述获取模块具体用于获取每个所述PCIE设备所连接的所述IO Die对应的预设PCIE总线号集。
可选的,所述分配模块,包括:
扫描子模块,用于扫描当前预设PCIE总线号集,确定未占用PCIE总线号;其中,当前预设PCIE总线号集为当前PCIE设备对应的预设PCIE总线号集,当前PCIE设备为任一所述PCIE设备,所述未占用PCIE总线号为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号;
分配子模块,用于从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中所述目标预设PCIE总线号标记为已占用;其中,所述目标预设PCIE总线号为当前PCIE设备对应的所述未占用PCIE总线号中的一个预设PCIE总线号。
可选的,所述分配子模块,包括:
分配单元,用于按由小到大的顺序,从所述未占用PCIE总线号中选择所述目标预设PCIE总线号;其中,所述目标预设PCIE总线号为所述未占用PCIE总线号中数值最小的一个预设PCIE总线号。
本发明还提供了一种PCIE总线号的分配设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的PCIE总线号的分配方法的步骤。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的PCIE总线号的分配方法的步骤。
本发明所提供的一种PCIE总线号的分配方法,包括:在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;获取每个PCIE设备各自对应的预设PCIE总线号集;根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个PCIE设备对应的预设PCIE总线号不相同;
可见,本发明通过根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号,能够在BIOS初期为每个PCIE设备动态分配一个独一无二的暂时性的PCIE总线号,从而避免了PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配,减少维护次数,一次性开发永久使用,节省人力时间成本。此外,本发明还提供了一种PCIE总线号的分配装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的PCIE总线号分配冲突的示意图;
图2为本发明实施例所提供的一种PCIE总线号的分配方法的流程图;
图3为本发明实施例所提供的一种PCIE总线号的分配方法的示意图;
图4为本发明实施例所提供的一种PCIE总线号的分配装置的结构框图;
图5为本发明实施例所提供的一种PCIE总线号的分配设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图2,图2为本发明实施例所提供的一种PCIE总线号的分配方法的流程图。该方法可以包括:
步骤101:在BIOS初期检测IO Die上PCIE接口连接的PCIE设备。
其中,本步骤中的PCIE设备可以为与CPU(中央处理器)中的IO Die上PCIE接口连接的设备。
可以理解的是,本实施例是以一个CPU中的IO Die上PCIE接口连接的PCIE设备的PCIE总线号分配为例进行的展示,如本步骤中处理器(如BIOS)可以检测一个CPU中多个IODie各自的多个PCIE接口分别连接的PCIE设备;对于其他CPU中的IO Die上PCIE接口连接的PCIE设备的PCIE总线号分配可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不做任何限制。
具体的,对于本步骤中处理器在BIOS初期检测IO Die上PCIE接口连接的PCIE设备的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如服务器的BIOS可以服务器开机启动时,根据早期PCIE访问(Early PCIE access),检测IO Die上PCIE接口连接的PCIE设备;例如BIOS可以在PEI(Pre-EFI Initialization,EFI前期初始化)开始和芯片组早期初始化(Chipset early initialization)后,根据获取的早期PCIE访问,确定IO Die上PCIE接口连接的PCIE设备;也就是说,服务器的BIOS可以在每次服务器开机启动时的PEI阶段,为IO Die上PCIE接口连接的每个PCIE设备分配一个独一无二的暂时性的预设PCIE总线号(Temp Bus No.),即每次服务器开机启动时每个PCIE设备各自对应的PCIE总线号可以重新分配。
步骤102:获取每个PCIE设备各自对应的预设PCIE总线号集。
可以理解的是,本步骤中的预设PCIE总线号集可以为预设PCIE总线号的集合,如以C语言描述的一个1维矩阵;如图3所示,预设PCIE总线号集可以为预先设置的PCIE总线号的区间范围(如BUS#0~63)。对于本实施例中预设PCIE总线号集的具体设置方式和内容,可以由设计人员根据实用场景和用户需求自行设置,如本实施例中可以设置多个预设PCIE总线号集;例如设置每个IO Die各自对应的一个预设PCIE总线号集,如图3所示,为CPU-0中的4个IO Die(IO Die 0-3)分别设置各自对应的一个预设PCIE总线号集,如IO Die 0的BUS#0~63对应的64个不同的预设PCIE总线号的集合。本实施例中也可以设置一个预设PCIE总线号集,例如设置每个CPU各自对应的一个预设PCIE总线号集,即处理器可以从CPU对应的一个预设PCIE总线号集中的预设PCIE总线号,为该CPU中多个IO Die上PCIE接口连接的PCIE设备分配相应的预设PCIE总线号。本实施例对此不做任何限制。
具体的,本实施例中每个预设PCIE总线号集中的预设PCIE总线号可以各不相同,且不同预设PCIE总线号集中不存在相同的预设PCIE总线号,以保证每个PCIE设备可以分配到一个独一无二的预设PCIE总线号,符合PCIE总线号标准规范,即保证任意两个PCIE设备分配到的预设PCIE总线号不相同。。
也就是说,每个IO Die各自对应的一个预设PCIE总线号集时,一个CPU中多个IODie所对应的多个预设PCIE总线号中可以不包括相同的预设PCIE总线号,以使分配后同一CPU连接的任意两个PCIE设备对应的预设PCIE总线号不相同。相应的,多个CPU中全部IODie所对应的全部预设PCIE总线号也可以不包括相同的预设PCIE总线号。本实施例对此不作任何限制。
需要说明的是,对于本步骤中处理器获取每个PCIE设备各自对应的预设PCIE总线号集的具体方式,可以由设计人员自行设置,如每个IO Die各自对应的一个预设PCIE总线号集时,本步骤中处理器可以获取每个PCIE设备所连接的IO Die对应的预设PCIE总线号集;即处理器检测到当前PCIE设备后,可以获取当前PCIE设备所连接的IO Die对应的一个预设PCIE总线号集,从而利用该预设PCIE总线号集中选择一个预设PCIE总线号分配给当前PCIE设备。
步骤103:根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个PCIE设备对应的预设PCIE总线号不相同。
可以理解的是,本步骤的目的可以为处理器利用每个PCIE设备各自对应的预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号,使任意两个PCIE设备对应的预设PCIE总线号不相同,从而避免如图1所示的PCIE总线号分配冲突问题。
具体的,对于本步骤中处理器根据根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以利用对预设PCIE总线号集中的预设PCIE总线号的标记,确定该预设PCIE总线号集中的每个预设PCIE总线号是否已占用,即是否已经被分配给对应的PCIE设备,从而避免一个预设PCIE总线号被分配给两个PCIE设备的情况,并且使得进行BIOS代码整合时,不需额外的工作量来检查PCIE总线号的使用情形;如图2所示,本实施例中可以以C语言描述每个IO Die各自对应的一个预设PCIE总线号集(如1维矩阵),初始将预设PCIE总线号集中的预设PCIE总线号标记为0,一旦预设PCIE总线号被占用,即分配给对应的PCIE设备,则以1标记该预设PCIE总线号地址,降低代码运算所需时间。处理器也可以按预设顺序依次分配预设PCIE总线号集中的预设PCIE总线号,通过记录当前分配的预设PCIE总线号对应的当前分配信息,从而根据预设顺序和记录的当前分配信息,确定该预设PCIE总线号集中的每个预设PCIE总线号是否已被分配,即预设顺序中当前分配的预设PCIE总线号和该预设PCIE总线号之前的预设PCIE总线号已被分配,之后使用预设顺序中当前分配的预设PCIE总线号之后的预设PCIE总线号进行分配。
对应的,本步骤中处理器可以扫描当前预设PCIE总线号集,确定未占用PCIE总线号;从未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中目标预设PCIE总线号标记为已占用;其中,当前预设PCIE总线号集可以为当前PCIE设备对应的预设PCIE总线号集,如当前PCIE设备所连接的IO Die对应的一个预设PCIE总线号集;当前PCIE设备可以为任一检测到的PCIE设备;未占用PCIE总线号可以为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号,如标记为0的预设PCIE总线号;目标预设PCIE总线号可以为当前PCIE设备对应的未占用PCIE总线号中的一个预设PCIE总线号。
具体的,本实施例并不限定上述从未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备的具体方式,如处理器可以按由小到大的顺序,从未占用PCIE总线号中选择目标预设PCIE总线号;其中,目标预设PCIE总线号为未占用PCIE总线号中数值最小的一个预设PCIE总线号。也就是说,处理器可以将当前预设PCIE总线号集中数值最小的未占用的预设PCIE总线号分配给当前PCIE设备。
对应的,上述从未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中目标预设PCIE总线号标记为已占用之后,还可以包括判断是否存在未分配到预设PCIE总线号的PCIE设备(即剩余PCIE设备)的步骤;若存在,则从剩余PCIE设备中选择一个PCIE设备作为当前PCIE设备,并返回步骤102继续进行PCIE设备的PCIE总线号分配过程;若不存在,则结束本流程并继续进行其他进程,如继续PCIE设备初始化的其他进程。
本实施例中,本发明实施例通过根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号,能够在BIOS初期为每个PCIE设备动态分配一个独一无二的暂时性的PCIE总线号,从而避免了PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配,减少维护次数,一次性开发永久使用,节省人力时间成本。
请参考图4,图4为本发明实施例所提供的一种PCIE总线号的分配装置的结构框图。该装置可以包括:
检测模块10,用于在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;
获取模块20,用于获取每个PCIE设备各自对应的预设PCIE总线号集;
分配模块30,用于根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个PCIE设备对应的预设PCIE总线号不相同。
可选的,获取模块10可以具体用于获取每个PCIE设备所连接的IO Die对应的预设PCIE总线号集。
可选的,分配模块30,可以包括:
扫描子模块,用于扫描当前预设PCIE总线号集,确定未占用PCIE总线号;其中,当前预设PCIE总线号集为当前PCIE设备对应的预设PCIE总线号集,当前PCIE设备为任一PCIE设备,未占用PCIE总线号为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号;
分配子模块,用于从未占用PCIE总线号中选择目标预设PCIE总线号,并将当前预设PCIE总线号集中目标预设PCIE总线号标记为已占用;其中,目标预设PCIE总线号为当前PCIE设备对应的未占用PCIE总线号中的一个预设PCIE总线号。
可选的,分配子模块,可以包括:
分配单元,用于按由小到大的顺序,从未占用PCIE总线号中选择目标预设PCIE总线号;其中,目标预设PCIE总线号为未占用PCIE总线号中数值最小的一个预设PCIE总线号。
本实施例中,本发明实施例通过分配模块30根据预设PCIE总线号集,为每个PCIE设备分配各自对应一个预设PCIE总线号,能够在BIOS初期为每个PCIE设备动态分配一个独一无二的暂时性的PCIE总线号,从而避免了PCIE设备的PCIE总线号分配冲突问题,使开发人员不需事前协议PCIE总线号分配,减少维护次数,一次性开发永久使用,节省人力时间成本。
请参考图5,图5为本发明实施例所提供的一种PCIE总线号的分配设备的结构示意图。该设备1可以包括:
存储器11,用于存储计算机程序;处理器12,用于执行该计算机程序时实现如上述实施例所提供的PCIE总线号的分配方法的步骤。
设备1可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,该可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备1的内部存储单元。存储器11在另一些实施例中也可以是设备1的外部存储设备,例如服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备1的应用软件及各类数据,例如:执行PCIE总线号的分配方法的程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行PCIE总线号的分配方法的程序的代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备1与其他电子设备之间建立通信连接。
可选地,该设备1还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如按键,可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备1中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-15的设备1,本领域技术人员可以理解的是,图5示出的结构并不构成对设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
此外,本申请实施例还公开了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述实施例所提供的PCIE总线号的分配方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种PCIE总线号的分配方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种PCIE总线号的分配方法,其特征在于,包括:
在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;
获取每个所述PCIE设备各自对应的预设PCIE总线号集;
根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个所述PCIE设备对应的预设PCIE总线号不相同。
2.根据权利要求1所述的PCIE总线号的分配方法,其特征在于,所述获取每个所述PCIE设备各自对应的预设PCIE总线号集,包括:
获取每个所述PCIE设备所连接的所述IO Die对应的预设PCIE总线号集。
3.根据权利要求1所述的PCIE总线号的分配方法,其特征在于,所述根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号,包括:
扫描当前预设PCIE总线号集,确定未占用PCIE总线号;其中,当前预设PCIE总线号集为当前PCIE设备对应的预设PCIE总线号集,当前PCIE设备为任一所述PCIE设备,所述未占用PCIE总线号为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号;
从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中所述目标预设PCIE总线号标记为已占用;其中,所述目标预设PCIE总线号为当前PCIE设备对应的所述未占用PCIE总线号中的一个预设PCIE总线号。
4.根据权利要求3所述的PCIE总线号的分配方法,其特征在于,所述从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,包括:
按由小到大的顺序,从所述未占用PCIE总线号中选择所述目标预设PCIE总线号;其中,所述目标预设PCIE总线号为所述未占用PCIE总线号中数值最小的一个预设PCIE总线号。
5.一种PCIE总线号的分配装置,其特征在于,包括:
检测模块,用于在BIOS初期检测IO Die上PCIE接口连接的PCIE设备;
获取模块,用于获取每个所述PCIE设备各自对应的预设PCIE总线号集;
分配模块,用于根据所述预设PCIE总线号集,为每个所述PCIE设备分配各自对应一个预设PCIE总线号;其中,任意两个所述PCIE设备对应的预设PCIE总线号不相同。
6.根据权利要求5所述的PCIE总线号的分配装置,其特征在于,所述获取模块具体用于获取每个所述PCIE设备所连接的所述IO Die对应的预设PCIE总线号集。
7.根据权利要求5所述的PCIE总线号的分配装置,其特征在于,所述分配模块,包括:
扫描子模块,用于扫描当前预设PCIE总线号集,确定未占用PCIE总线号;其中,当前预设PCIE总线号集为当前PCIE设备对应的预设PCIE总线号集,当前PCIE设备为任一所述PCIE设备,所述未占用PCIE总线号为当前预设PCIE总线号集中未标记为已占用的预设PCIE总线号;
分配子模块,用于从所述未占用PCIE总线号中选择目标预设PCIE总线号分配给当前PCIE设备,并将当前预设PCIE总线号集中所述目标预设PCIE总线号标记为已占用;其中,所述目标预设PCIE总线号为当前PCIE设备对应的所述未占用PCIE总线号中的一个预设PCIE总线号。
8.根据权利要求7所述的PCIE总线号的分配装置,其特征在于,所述分配子模块,包括:
分配单元,用于按由小到大的顺序,从所述未占用PCIE总线号中选择所述目标预设PCIE总线号;其中,所述目标预设PCIE总线号为所述未占用PCIE总线号中数值最小的一个预设PCIE总线号。
9.一种PCIE总线号的分配设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述的PCIE总线号的分配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的PCIE总线号的分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989139.9A CN112115092A (zh) | 2020-09-18 | 2020-09-18 | 一种pcie总线号的分配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010989139.9A CN112115092A (zh) | 2020-09-18 | 2020-09-18 | 一种pcie总线号的分配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115092A true CN112115092A (zh) | 2020-12-22 |
Family
ID=73801607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010989139.9A Pending CN112115092A (zh) | 2020-09-18 | 2020-09-18 | 一种pcie总线号的分配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115092A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327864A (zh) * | 2021-11-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种bus号分配方法、系统、装置及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108604209A (zh) * | 2016-03-04 | 2018-09-28 | 英特尔公司 | 扁平化端口桥 |
CN109684084A (zh) * | 2018-12-12 | 2019-04-26 | 浪潮(北京)电子信息产业有限公司 | 一种总线资源的分配方法、系统及相关组件 |
-
2020
- 2020-09-18 CN CN202010989139.9A patent/CN112115092A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108604209A (zh) * | 2016-03-04 | 2018-09-28 | 英特尔公司 | 扁平化端口桥 |
CN109684084A (zh) * | 2018-12-12 | 2019-04-26 | 浪潮(北京)电子信息产业有限公司 | 一种总线资源的分配方法、系统及相关组件 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327864A (zh) * | 2021-11-30 | 2022-04-12 | 苏州浪潮智能科技有限公司 | 一种bus号分配方法、系统、装置及介质 |
CN114327864B (zh) * | 2021-11-30 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 一种bus号分配方法、系统、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10496388B2 (en) | Technologies for securing a firmware update | |
CN1185218A (zh) | 用于pci总线计算机具有有效/无效扩充rom的内插式板卡 | |
US8762695B2 (en) | Computing device and method for registering identification information of network interface card in operating system | |
CN109656630B (zh) | 配置空间的访问方法、装置、架构及储存介质 | |
US8621481B2 (en) | Apparatus and method for performing a rebalance of resources for one or more devices at boot time | |
US20100122009A1 (en) | I/o space request suppressing method for pci device | |
US6963947B2 (en) | Driver supporting bridge method and apparatus | |
US8312257B2 (en) | System and method for performing hardware resource assignment in a large-scaled system | |
CN112115092A (zh) | 一种pcie总线号的分配方法、装置、设备及存储介质 | |
CN114817115A (zh) | 串口通信方法及相关装置 | |
CN116028455A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN109561134B (zh) | 电子装置、分布式集群服务分配方法及存储介质 | |
CN108958837B (zh) | 一种动态配置me固件的方法、系统及介质 | |
CN115794690A (zh) | 一种基于服务器中外接设备的处理方法及装置 | |
CN112069113B (zh) | I2c设备配置方法和系统 | |
US7228263B2 (en) | Method for representing root busses using object oriented abstractions | |
CN107301037B (zh) | 操作系统内核的加载方法和装置 | |
CN113111025B (zh) | Pci设备映射方法、装置、设备及存储介质 | |
US6081861A (en) | PCI migration support of ISA adapters | |
CN113158172A (zh) | 一种基于芯片的密码获取方法、装置、设备及存储介质 | |
US8631221B2 (en) | Method and apparatus for allocating host memory for a memory-less add-on devices | |
CN110750328A (zh) | 一种设备访问方法、装置及终端设备 | |
CN112783562B (zh) | 一种显示设备选择方法和装置 | |
US7512730B2 (en) | Method for dynamically allocating interrupt pins | |
CN114579195B (zh) | 一种操作系统重启方法、系统及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201222 |