一种实现计算机接口扩展切换的方法和装置与流程

专利检索2025-03-01  23


本发明涉及计算机接口设备的,具体地,是一种实现计算机接口扩展切换的方法,以及实现这种方法的装置。


背景技术:

1、随着计算机技术的发展,越来越多的计算机设备应用计算机接口扩展技术来扩展计算机接口。其中,pcie和cxl是两种常见的计算机接口扩展技术。

2、pcie,也就是pci-express(peripheral component interconnect express),是pci-sig组织提出的一种用于连接计算机内部组件的标准接口技术,其体系架构由根组件rc(root complex)、交换器(switch)和端点设备(endpoint/ep)等类型的pcie设备组成。其中交换器用于拓展pcie接口,从而使得主机或者根组件连接更多的端点设备。

3、cxl(compute express link)技术是一种新型的高速互联技术,它采用了pcie物理层规范,引入了cxl.io、cxl.cache和cxl.mem协议来满足现代计算机处理器核加速器之间的高带宽、低延迟通信需求。它的体系架构也是由根组件rc(root complex)、交换器(switch)和端点设备(sld或者mld)等类型的cxl设备组成。与pcie技术相同的,交换器也是用于拓展cxl接口,从而使得主机或者根组件能够连接更多的端点设备。

4、例如,公开号为cn116521596a的发明专利申请公开了一种基于qemu虚拟环境的pcie switch模拟器的实现方法和装置,该方法可以实现虚拟的交换器,通过虚拟的交换器实现计算机接口的扩展。然而,该方案仅仅实现交换器的虚拟化,并不能够实现工作模式的切换,例如在一些场景下,用户希望主机仅仅连接一台端点设备,而在另外的场景下,用户希望主机能够连接多台端点设备,则该方案并不能够实现不同场景下对于计算机接口扩展的灵活变换。


技术实现思路

1、本发明的第一目的是提供一种能够灵活切换工作模式的实现计算机接口扩展切换的方法。

2、本发明的第二目的是提供一种实现上述实现计算机接口扩展切换的方法的装置。

3、为实现本发明的第一目的,本发明提供的实现计算机接口扩展切换的方法包括:主机获取计算机接口设备的工作模式信息,根据计算机接口设备的工作模式信息确定是否需要更换计算机接口设备的工作模式;主机将计算机接口设备的工作模式从单一设备模式切换至虚拟交换器模式后,向主机呈现一个虚拟交换器,虚拟交换器包括有一个上行端口以及二个以上的下行端口,还呈现二个以上的第一工作设备,且所呈现的每一第一工作设备对应于一个下行端口,上行端口、每一下行端口和每一第一工作设备被配置有对应的配置空间,上行端口、每一下行端口和每一第一工作设备被分配对应的基址寄存器空间;主机将计算机接口设备的工作模式从虚拟交换器模式切换至单一设备模式后,仅向主机呈现一个第二工作设备,第二工作设备被配置有对应的配置空间,并被分配对应的基址寄存器空间。

4、由上述方案可见,计算机接口设备可以工作在单一设备模式以及虚拟交换器模式,并且可以灵活的对计算机接口设备的工作模式进行切换,这样,在主机仅仅需要连接单一一台工作设备的情况下,将计算机接口设备的工作模式设定为单一设备模式,在主机需要连接多台工作设备时,将计算机接口设备设置为虚拟交换器模式。由于计算机接口设备可以被灵活的设置为两种不同的工作模式,使得计算机接口设备能够适应不同场景下的使用需求。

5、一个优选的方案是,主机将计算机接口设备的工作模式从单一设备模式切换至虚拟交换器模式包括:主机对计算机接口设备的非易失性存储器的数据进行修改,重新启动主机,主机重新启动时根据更新后的工作模式对配置空间和基址寄存器空间进行初始化;其中,每一个第一工作设备对应于至少一个第一功能,每一第一工作设备具有唯一的设备号,且每一第一工作设备的每一第一功能具有对应的功能号,使用设备号与功能号标识各第一工作设备的各第一功能。

6、由此可见,通过主机对计算机接口设备的非易失性存储器的数据进行修改即可以实现计算机接口设备的工作模式的切换,因此,用户可以方便的通过主机发送简单的命令实现计算机接口设备的工作模式切换,使得计算机接口设备的工作模式切换非常灵活。

7、可选的方案是,主机将计算机接口设备的工作模式从单一设备模式切换至虚拟交换器模式包括:主机对计算机接口设备的非易失性存储器的数据进行修改;其中,上行端口的各个功能的各基址寄存器空间、下行端口的各个功能的各基址寄存器空间、每一第一工作设备的各个第一功能的各基址寄存器空间均被配置有对应基址号。

8、可见,用户还可以通过主机对计算机接口设备的非易失性存储器的数据进行修改来实现计算机接口设备的工作模式的切换,也可以灵活的实现计算机接口设备的工作模式切换。

9、进一步的方案是,每一个第一工作设备对应于至少一个第一功能,每一第一工作设备的每一第一功能具有对应的功能号,使用设备号、功能号和基址号标识各第一工作设备的各第一功能的特定基址寄存器空间。

10、可见,通过设定每一个第一工作设备的第一功能的功能号,能够快速的查找到相应工作设备的功能对应的存储地址。

11、进一步的方案是,该方法还包括对计算机接口设备的配置空间进行初始化:在第一次收到主机发送的配置请求信息并读取寄存器id,如是,判断当前工作模式是否为虚拟交换器模式,如是虚拟交换器模式,则初始化上行端口、下行端口和第一工作设备的配置空间,根据配置请求信息中的目标总线和所需要呈现的拓扑结构推导出对应的上行端口、下行端口、第一工作设备和对应的第一功能。

12、进一步的方案是,该方法还包括对计算机接口设备的基址寄存器空间进行初始化:主机获取各第一工作设备或者第一功能支持的内部空间映射到主机内存的物理地址。

13、可见,对配置空间和基址寄存器空间的初始化操作时,都需要针对各个第一工作设备、第一功能相应的配置空间、物理地址进行初始化的操作,后续切换至虚拟交换器模式时,在主机重新启动后将执行初始化,使用初始化的结果来实现第一工作设备的配置空间的配置、物理地址的配置等。并且,如果切换至单一设备模式,主机重新启动后,也会执行初始化操作,可以获得第二工作设备的配置空间的配置、基址寄存器空间的信息。

14、为实现上述的第二目的,本发明提供的计算机接口设备具有工作模式存储单元,用于存储该计算机接口设备的工作模式,其中,工作模式包括单一设备模式以及虚拟交换器模式;在计算机接口设备为虚拟交换器模式下,向主机呈现一个虚拟交换器,虚拟交换器包括有一个上行端口以及二个以上的下行端口,还包括二个以上的第一工作设备,且所呈现的每一第一工作设备对应于一个下行端口,上行端口以及每一下行端口、每一第一工作设备被配置有对应的配置空间,上行端口以及每一下行端口、每一第一工作设备被分配对应的基址寄存器空间;在计算机接口设备为单一设备模式下,仅向主机呈现一个第二工作设备,第二工作设备被配置有对应的配置空间,并被配置有对应的基址寄存器空间。

15、由上述方案可见,计算机接口设备的工作模式存储单元可以存储当前的工作模式,且用户可以根据实际使用的需求对工作模式进行修改,并且在修改工作模式后,向主机所呈现的拓扑结构也相应的发生改变,从而灵活的调整计算机接口设备的工作模式。

16、一个优选的方案是,计算机接口设备还设置有配置空间模拟单元;计算机接口设备为虚拟交换器模式下,配置空间模拟单元模拟出上行端口、各下行端口、各第一工作设备的各个功能对应的配置空间;计算机接口为单一设备模式下,配置空间模拟单元模拟出第二工作设备的每一第二功能对应的配置空间。

17、由上述方案可见,配置空间模拟单元分别存储有计算机接口设备在虚拟交换器模式以及单一设备模式下相应的配置空间的信息,能够适应计算机接口设备在两种不同模式下的运行需求。

18、可选的方案是,计算机接口设备还设置有基址寄存器空间模拟单元;计算机接口设备为虚拟交换器模式下,基址寄存器空间模拟单元存储有上行端口各个功能的各基址寄存器空间的基址号、每一下行端口的各功能的各基址寄存器空间的基址号、每一第一工作设备的设备号、每一第一工作设备的每一第一功能的功能号以及各个第一功能的各个基址寄存器的基址号;计算机接口设备为单一设备模式下,基址寄存器空间模拟单元存储有第二工作设备的设备号以及第二工作设备的每一第二功能的功能号、各第二功能的各基址寄存器的基址号。

19、可见,基址寄存器空间模拟单元也是存储有计算机接口设备在虚拟交换器模式以及单一设备模式下各个工作设备、功能对应的设备号、功能号,使得计算机接口设备能够灵活的在两种工作模式之间切换。

20、进一步的方案是,配置空间模拟单元所存储的上行端口、下行端口和第一工作设备的配置空间按照设备类型隔离存储;基址寄存器空间模拟单元所存储的上行端口、下行端口和第一工作设备的基址寄存器空间按照设备类型隔离存储。


技术特征:

1.一种实现计算机接口扩展切换的方法,其特征在于,包括:

2.根据权利要求1所述的实现计算机接口扩展切换的方法,其特征在于:

3.根据权利要求1所述的实现计算机接口扩展切换的方法,其特征在于:

4.根据权利要求3所述的实现计算机接口扩展切换的方法,其特征在于:

5.根据权利要求1至4任一项所述的实现计算机接口扩展切换的方法,其特征在于:

6.根据权利要求2至4任一项所述的实现计算机接口扩展切换的方法,其特征在于:

7.一种实现计算机接口扩展切换的装置,其特征在于:

8.根据权利要求7所述的实现计算机接口扩展切换的装置,其特征在于:

9.根据权利要求8所述的实现计算机接口扩展切换的装置,其特征在于:

10.根据权利要求9所述的实现计算机接口扩展切换的装置,其特征在于:


技术总结
本发明提供一种实现计算机接口扩展切换的方法和装置,该方法包括主机获取计算机接口设备的工作模式信息,根据计算机接口设备的工作模式信息确定是否需要更换计算机接口设备的工作模式;主机将计算机接口设备的工作模式从单一设备模式切换至虚拟交换器模式后,向主机呈现一个虚拟交换器,虚拟交换器包括有一个上行端口以及二个以上的下行端口,还呈现二个以上的第一工作设备,且所呈现的每一第一工作设备对应于一个下行端口;主机将计算机接口设备的工作模式从虚拟交换器模式切换至单一设备模式后,仅向主机呈现一个第二工作设备。该装置用于实现上述的方法。本发明能让用户灵活的切换计算机接口设备的工作模式。

技术研发人员:张煜斌,蒋成,张吉帅
受保护的技术使用者:芯潮流(珠海)科技有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1150542.html

最新回复(0)