输入输出扩展器、计算机系统以及其配置方法与流程

文档序号:12123768阅读:216来源:国知局
输入输出扩展器、计算机系统以及其配置方法与流程

本发明涉及一种输入输出扩展器,且特别涉及一种计算机系统的输入输出扩展器。



背景技术:

计算机系统(例如桌上型计算机、笔记型计算机或平板计算机)皆需要通过总线来与外围装置/设备进行通信以传输数据。随着串行通信(Serial communication)技术的快速发展,外围组件快速互连(peripheral component interconnect Express,PCIE)标准以及外围组件互连(peripheral component interconnection,PCI)标准,为常用的外围设备传输接口。

但目前这些计算机系统的外围设备接口数量有限,且当连接一个低速设备时会对带宽造成一定浪费,所以需要一个优化的方案解决上述问题。



技术实现要素:

本发明提供一种输入输出扩展器。该输入输出扩展器包括符合快速外围组件互连标准的一上行端口、耦接于该上行端口的一跨总线控制模块,以及一第一扩展模块。该第一扩展模块包括一连接单元、多个装置以及一桥接器。该连接单元耦接于该跨总线控制模块。该等装置耦接于该连接单元,其中该等装置符合外围组件互连标准。该桥接器耦接于该连接单元以及该等装置之间。该跨总线控制模块根据来自该上行端口的一配置信息,指派该第一扩展模块的该连接单元为一虚拟下行端口。该配置信息包括一分级拓扑结构。

再者,本发明提供一种计算机系统。该计算机系统包括一处理器、一芯片组以及一输入输出扩展器。该芯片组耦接于该处理器,包括符合快速外围组件互连标准的一根复合体。该输入输出扩展器包括一上行端口、一跨总线控制模块以及一第一扩展模块。该上行端口耦接于该芯片组的该根复合体。该跨总线控制模块耦接于该上行端口。该第一扩展模块包括一连接单元、多个装置以及一桥接器。该连接单元耦接于该跨总线控制模块。该等装置耦接于该连接单元,其中该等装置符合外围组件互连标准。该桥接器耦接于该连接单元以及该等装置之间。该跨总线控制模块根据经由该上行端口来自该芯片组的一配置信息,指派该第一扩展模块的该连接单元为一虚拟下行端口。该配置信息包括一分级拓扑结构,以及该处理器根据该分级拓扑结构与该等装置进行数据传送。

再者,本发明提供一种配置方法,适用于一输入输出扩展器。当该输入输出扩展器的一上行端口耦接于一芯片组的一根复合体时,根据来自该芯片组的一配置信息对该上行端口进行配置,以便指派该上行端口的装置号码、功能号码以及总线号码,其中该上行端口符合外围组件快速互连标准(PCIe,Peripheral Component Interconnect Express)。在配置该上行端口之后,根据该配置信息,指派该输入输出扩展器的一第一扩展模块的一连接单元为一虚拟下行端口,并对该虚拟下行端口进行配置,以便指派该虚拟下行端口的装置号码、功能号码以及总线号码,其中该第一扩展模块还包括多个装置以及耦接于该连接单元以及该等装置之间的一桥接器,其中该等装置支持外围组件互连标准。在配置该虚拟下行端口之后,根据该配置信息,对该桥接器进行配置,以便指派该桥接器的装置号码、功能号码以及总线号码。在配置该桥接器之后,根据该配置信息,对该等装置进行配置,以便指派该等装置的装置号码、功能号码以及总线号码。

附图说明

图1是显示根据本发明一实施例所述的计算机系统;

图2是显示根据本发明一实施例所述的图1中输入输出扩展器的示意图;

图3是显示根据本发明一实施例所述的电子装置对输入输出扩展器的软件拓扑配置示意图;以及

图4是显示根据本发明一实施例所述的计算机系统中输入输出扩展器的配置方法。

具体实施方式

为让本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举出优选实施例,并配合附图,作详细说明如下:

图1是显示根据本发明一实施例所述的计算机系统100。计算机系统100包括处理器110、芯片组(chipset)120、多个输入输出(IO)装置140_1-140_n、输入输出扩展器150以及多个输入输出装置160_1-160_m。在部分实施例中,处理器110可以是中央处理单元(CPU)。此外,输入输出装置140_1-140_n以及输入输出装置160_1-160_m为符合外围组件快速互连(peripheral component interconnect Express,PCIE)标准的端点装置。输入输出装置140_1-140_n以及输入输出扩展器150耦接于芯片组120的根复合体(root complex)130,而输入输出装置160_1-160_m耦接于输入输出扩展器150。在此实施例中,通过输入输出扩展器150,芯片组120的根复合体130可耦接至更多的端点装置。于是,处理器110可通过芯片组120与输入输出装置140_1-140_n以及输入输出装置160_1-160_m进行通信,以传输数据。

图2是显示根据本发明一实施例所述的图1中输入输出扩展器150的示意图。输入输出扩展器150包括上行端口210、跨总线(cross bus)控制模块220、第一扩展模块250以及第二扩展模块230。同时参考图1与图2,输入输出扩展器150经由上行端口210而耦接于芯片组120的根复合体130,其中上行端口210符合PCIE标准。跨总线控制模块220耦接于上行端口210、同时耦接于第一扩展模块250以及第二扩展模块230。在此实施例中,跨总线控制模块220可在上行端口210、第二扩展模块230以及第一扩展模块250之间高速且低延迟地传送数据。第二扩展模块230包括多个下行端口240-_1-240_m,其中每一下行端口240-_1-240_m符合PCIE标准的物理下行端口。在此实施例中,物理下行端口240-_1-240_m分别经由所对应的总线235-_1-235_m而耦接至跨总线控制模块220。例如,下行端口240-_1经由总线235-_1而耦接至跨总线控制模块220、下行端口240-_2经由总线235-_2而耦接至跨总线控制模块220,以此类推。此外,每一下行端口240-_1-240_m可耦接于PCIE端点装置,例如图1中的装置160-_1-160_m。在部分实施例中,第二扩展模块230可以是PCIE交换器(switch)。

在图2中,第一扩展模块250包括连接单元260、桥接器270、流量控制(traffic control)模块280以及多个装置290-_1-290_x。连接单元260经由总线255而耦接至跨总线控制模块220。对跨总线控制模块220而言,相较于下行端口240-_1-240_m,连接单元260可视为虚拟下行端口。具体而言,下行端口240-_1-240_m以及虚拟下行端口260可与跨总线控制模块220进行PCIE数据的传送。此外,桥接器270经由总线265而耦接至虚拟下行端口260。在此实施例中,桥接器270为PCIE对PCI(PCIE to PCI)桥接器。桥接器270可将来自虚拟下行端口260的PCIE数据转换成PCI数据,并传送PCI数据至流量控制模块280。同时地,桥接器270也可将来自流量控制模块280的PCI数据转换成PCIE数据,并传送PCIE数据至虚拟下行端口260。流量控制模块280经由总线275而耦接至桥接器270。装置290-_1-290_x分别经由所对应的总线285-_1-285_x而耦接至流量控制模块280。例如,装置290-_1经由总线285-_1而耦接至流量控制模块280、装置290-_2经由总线285-_2而耦接至流量控制模块280,以此类推。值得注意的是,每一装置290-_1-290_x为PCI装置,以及PCI装置可以是串行先进附件(Serial Advanced Technology Attachment,SATA)装置、通用串行总线(Universal Serial Bus,USB)装置或是GNIC千兆网卡(gigabit NIC,gigabit network interface card)装置。在此实施例中,根据来自桥接器270的PCI数据中的C2P(CPU to PCI)信息,流量控制模块280可将该PCI数据传送至装置290-_1-290_x中的目的装置。再者,根据来自装置290-_1-290_x的PCI数据中的P2C(PCI to CPU)信息,流量控制模块280会对装置290-_1-290_x所提供的PCI数据进行仲裁,并根据仲裁结果而传送至流量控制模块280。在此实施例中,装置290-_1-290_x设置在输入输出扩展器150内部的装置。在此实施例中,由于第一扩展模块250以及第二扩展模块230整合在输入输出扩展器150内,所以输入输出扩展器150能相容于PCI/PCIE协议,并可应用在x86系统内。此外,装置290-_1-290_x的数量是大于物理下行端口240-_1-240_m的数量,即x>m。在部分实施例中,x为32,而m为8。

参考回图1,当计算机系统100启动时,处理器110会通过芯片组120对计算机系统100内的装置及连接端口进行配置。计算机系统100内的装置及连接端口通过软件程序以分级拓扑结构(hierarchical topolopy)来进行配置,即使用多层的总线架构来对各装置及连接端口进行检测和/或资源指派。在分级拓扑模式下,计算机系统100中装置、连接端口和总线会进行定义和编号,例如总线号码、装置号码和功能号码等。

图3是显示根据本发明一实施例所述的电子装置对输入输出扩展器的软件拓扑配置示意图。同时参考图2与图3,首先,在执行配置程序时,处理器110会通过芯片组120对耦接于根复合体130以及上行端口210之间的总线进行配置,以便指派一特定号码例如BusX,给根复合体130以及上行端口210之间的总线。此外,处理器110会通过芯片组120对上行端口210进行配置,以便将上行端口210的装置号码指派为D0,并将功能号码指派为F0。在此实施例中,装置号码以及功能号码的内容值(例如F0、D0)仅是个例子,并非用以限定本发明。接着,处理器110会通过芯片组120对耦接于上行端口210的同位体(peers)进行配置,以便指派相同的总线号码给所对应的总线。例如,在此实施例中,对上行端口210而言,跨总线控制模块220、物理下行端口240-_1-240_m以及虚拟下行端口260为同位体。因此,上行端口210以及跨总线控制模块220之间的总线215、跨总线控制模块220以及物理下行端口240-_1-240_m之间的总线235-_1-235_m以及跨总线控制模块220以及虚拟下行端口260之间的总线255的总线号码会被指派为BusX+1。值得注意的是,对应于总线号码BusX+1的总线例如总线215、235-_1-235_m以及255,对应于总线号码BusX的总线的次级(subordinate)总线。此外,处理器110会通过芯片组120对跨总线控制模块220进行配置,以便将跨总线控制模块220的装置号码指派为D0,并将功能号码指派为F0。在此实施例中,跨总线控制模块220以及上行端口210具有相同的装置号码以及功能号码。再者,处理器110会通过芯片组120对物理下行端口240-_1-240_m进行配置,以便将物理下行端口240-_1-240_m的装置号码分别指派为D1-Dm,并将功能号码指派为F0。此外,处理器110会通过芯片组120对虚拟下行端口260进行配置,以便将虚拟下行端口260的装置号码指派为Dm+1,并将功能号码指派为F0。接着,处理器110会通过芯片组120对耦接于虚拟下行端口260以及桥接器270之间的总线265进行配置,以便将总线265的总线号码指派为BusX+2。相似地,对应于总线号码BusX+2的总线265对应于总线号码BusX的总线的次级总线。此外,处理器110会通过芯片组120对桥接器270进行配置,以便将桥接器270的装置号码指派为D0,并将功能号码指派为F0。接着,处理器110会通过芯片组120对耦接于桥接器270的同位体(即装置290-_1-290_x)进行配置,以便指派相同的总线号码给所对应的总线。因此,桥接器270以及装置290-_1-290_x之间的总线285-_1-285_x会指派为BusX+3。相似地,对应于总线号码BusX+3的总线(例如总线285-_1-285_x)对应于总线号码BusX+2的总线的次级总线。此外,处理器110会通过芯片组120对装置290-_1-290_x进行配置,例如将装置290-_1-290_x进行装置号码和功能号码的指派。在配置完成之后,处理器110便可与计算机系统的各装置进行通信,以执行相对应的功能。此外,当图1的装置160-_1-160_m耦接于物理下行端口240_1-240-m时,第一扩展模块250内的装置290_1-290-k可通过跨总线控制模块220以及物理下行端口240_1-240-m而与装置160-_1-160_m进行通信。在部分实施例中,耦接于装置290_1-290-k以及桥接器270之间的流量控制模块280可控制对应于总线号码BusX+3的总线。

图4是显示根据本发明一实施例所述的计算机系统中输入输出扩展器的配置方法,其中计算机系统包括处理器、输入输出扩展器以及耦接于处理器与输入输出扩展器之间的芯片组。同时参考图3与图4,首先,在步骤S410,当输入输出扩展器150的上行端口210耦接于芯片组120的根复合体130时,根据来自芯片组120的配置信息CONF对上行端口210进行配置,其中,配置信息CONF,可以通过例如图2中的总线215在上行端口210和跨总线控制模块220之间传输,以便指派上行端口210的装置号码、功能号码以及总线号码。配置信息CONF包括分级拓扑结构。接着,在步骤S420,根据配置信息CONF对上行端口210的下行装置进行配置。例如,指派输入输出扩展器的连接单元为虚拟下行端口260,并对虚拟下行端口260进行配置,以便指派虚拟下行端口260的装置号码、功能号码以及总线号码。同时地,虚拟下行端口260的同位体亦会被指派。例如,对物理下行端口240_1-240_m进行配置,以便分别指派物理下行端口240_1-240_m的装置号码、功能号码以及总线号码。在此实施例中,每一物理下行端口240_1-240_m、虚拟下行端口260以及跨总线控制模块220具有各自的装置号码。此外,物理下行端口240_1-240_m、虚拟下行端口260以及跨总线控制模块220具有相同的总线号码(例如BusX+1)。在部分实施例中,若输入输出扩展器150仅支持PCIE规格,则第一扩展模块250会被禁能(disable),以及配置信息CONF的分级拓扑结构仅包括第二扩展模块230。此外,在部分实施例中,若输入输出扩展器150仅支持PCI规格,则第二扩展模块230会被禁能,以及配置信息CONF的分级拓扑结构仅包括第一扩展模块250。接着,在步骤S430,根据配置信息CONF对桥接器270进行配置,以便指派桥接器270的装置号码、功能号码以及总线号码。接着,在步骤S440,根据配置信息CONF对装置290_1-290_x进行配置,以便指派每一装置290_1-290_x的装置号码、功能号码以及总线号码。在完成配置之后,处理器110便可根据分级拓扑结构执行相关程序。

虽然本发明已以优选实施例公开如上,然其并非用以限定本发明,本领域技术人员在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视所附权利要求书界定范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1