CN117290272B - PCIe Switch及其配置通路的实现方法 - Google Patents
PCIe Switch及其配置通路的实现方法 Download PDFInfo
- Publication number
- CN117290272B CN117290272B CN202311567110.1A CN202311567110A CN117290272B CN 117290272 B CN117290272 B CN 117290272B CN 202311567110 A CN202311567110 A CN 202311567110A CN 117290272 B CN117290272 B CN 117290272B
- Authority
- CN
- China
- Prior art keywords
- pcie
- configuration
- module
- port
- station
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 7
- 230000008054 signal transmission Effects 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本申请公开了一种PCIe Switch及其配置通路的实现方法。所述PCIe Switch包括挂载于配置总线上的PCIe全局配置模块和多个PCIe station,每个PCIe station包括多个PCIe端口,其中,PCIe station探测PCIe端口内部的镜像寄存器是否更新,若是,则生成配置总线数据;PCIe全局配置模块通过配置总线获取配置总线数据,进行仲裁,输出仲裁后的配置信息给每个PCIe station;PCIe station对仲裁后的配置信息进行解析后更新到每个PCIe端口。本申请可以降低信号传递的数量,有助于节省布线资源,有利于时序收敛。
Description
技术领域
本申请涉及计算机技术领域,具体涉及PCIe Switch及其配置通路的实现方法。
背景技术
PCI-Express(peripheral component interconnect express),简称PCIe,是一种高速串行计算机扩展总线标准,主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。
PCIe体系架构一般由根组件RC(root complex)、交换器(Switch)、终端设备(EP,endpoint)等类型的PCIe设备组成。
PCIe Switch提供扩展或聚合能力,并允许更多的设备连接到一个PCIe端口,是一种PCIe转PCIe桥。同时两台或者多台服务器可以连接到同一片PCIe Switch,在PCIeSwitch内做分区配置,将某些EP设备分配给某个服务器,这样可以做到统一管理,灵活分配。每台服务器的BIOS(Basic Input Output System,基本输入输出系统)或者OS(Operating System,操作系统)在枚举PCIe总线时只会发现分配给它的虚拟桥、虚拟BUS(总线)和EP设备,PCIe Switch多个分区之间互不干扰。
PCIe Switch的配置包括分区配置和端口属性的全局配置、以及各个PCIe端口配置空间配置。常规的PCIe Switch配置通路设计是通过PCIe全局配置模块和各个PCIe端口模块之间采用信号传递(即专线传递)获取配置信息,需要大量的布线,缺点是模块间传递信号数量庞大,占用布线资源和不利于时序收敛。
发明内容
本申请提供一种PCIe Switch及其配置通路的实现方法。
第一方面,本申请提供一种PCIe Switch,所述PCIe Switch包括PCIe全局配置模块和多个PCIe station以及配置总线,所述PCIe全局配置模块和多个PCIe station分别挂载于所述配置总线上,每个所述PCIe station包括多个PCIe端口,其中,所述PCIe station被配置成探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;所述PCIe全局配置模块被配置成通过所述配置总线,获取每个所述PCIe station生成的配置总线数据,对获取的所述配置总线数据进行仲裁,得到仲裁后的配置信息,并通过所述配置总线输出所述仲裁后的配置信息给每个所述PCIestation;所述PCIe station进一步被配置成对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
在一些可选的实施方式中,所述PCIe station包括缓存模块、仲裁模块和对应于多个所述PCIe端口的多个端口探测模块,其中,所述端口探测模块被配置成探测对应的所述PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向所述仲裁模块发送仲裁请求信号;所仲裁模块被配置成响应于接收到所述仲裁请求信号,对所述仲裁请求信号进行处理,返回仲裁应答信号给所述端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至所述缓存模块中;所述缓存模块被配置成缓存所述配置总线数据;所述端口探测模块进一步被配置成响应于接收到所述仲裁应答信号,清除所述更新标记。
在一些可选的实施方式中,所述PCIe station还包括镜像配置模块,所述镜像配置模块被配置成对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
在一些可选的实施方式中,所述PCIe全局配置模块包括全局配置寄存器和对应于各个所述PCIe station的配置空间寄存器;所述配置空间寄存器被配置成通过所述配置总线,获取每个所述PCIe station的所述缓存模块中的所述配置总线数据;所述全局配置寄存器被配置成获取外部写入的全局配置信息,通过所述配置总线输出所述全局配置信息给每个所述PCIe station。
在一些可选的实施方式中,所述PCIe station,进一步被配置成预先在每个所述PCIe端口内部设置镜像寄存器,所述镜像寄存器是利用一块存储空间对所述PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。
第二方面,本申请提供一种基于PCIe Switch配置通路的实现方法,所述PCIeSwitch包括PCIe全局配置模块和多个PCIe station以及配置总线,所述PCIe全局配置模块和多个PCIe station分别挂载于所述配置总线上,每个所述PCIe station包括多个PCIe端口,所述方法包括:所述PCIe station探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;所述PCIe全局配置模块通过所述配置总线,获取每个所述PCIe station生成的所述配置总线数据,对获取的所述配置总线数据进行仲裁,得到仲裁后的配置信息,并通过所述配置总线输出仲裁后的配置信息给每个所述PCIe station;所述PCIe station对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
在一些可选的实施方式中,所述PCIe station包括缓存模块、仲裁模块和对应于多个所述PCIe端口的多个端口探测模块;所述PCIe station探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据的步骤包括:所述端口探测模块探测对应的所述PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向所述仲裁模块发送仲裁请求信号;所仲裁模块响应于接收到所述仲裁请求信号,对所述仲裁请求信号进行处理,返回仲裁应答信号给所述端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至所述缓存模块中;所述端口探测模块响应于接收到所述仲裁应答信号,清除所述更新标记。
在一些可选的实施方式中,所述PCIe station还包括镜像配置模块,所述PCIestation对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口的步骤包括:所述镜像配置模块对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
在一些可选的实施方式中,所述PCIe全局配置模块包括全局配置寄存器和对应于各个所述PCIe station的配置空间寄存器;所述PCIe全局配置模块通过所述配置总线,获取每个所述PCIe station生成的所述配置总线数据的步骤包括:所述配置空间寄存器通过所述配置总线,获取每个所述PCIe station的所述缓存模块中的所述配置总线数据;所述方法还包括:所述全局配置寄存器获取外部写入的全局配置信息,通过所述配置总线输出所述全局配置信息给每个所述PCIe station内部的镜像配置模块。
在一些可选的实施方式中,所述方法还包括:所述PCIe station预先在每个所述PCIe端口内部设置镜像寄存器,所述镜像寄存器是利用一块存储空间对所述PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。
为了现有技术的问题,本申请提出了一种PCIe Switch及其配置通路的实现方法,通过在PCIe Switch内部的各个PCIe端口内镜像至少一个寄存器,并由PCIe全局配置模块采用配置总线的方式更新寄存器,取代目前通过每个寄存器信号直连传递的方式,降低了信号传递的数量,有助于节省布线资源,有利于时序收敛。
申请人已经在FPGA(Field Programmable Gate Array,现场可编程门阵列)上进行工程实现的验证,具备良好的性能和简洁的结构;本申请方案特别适用于大规模芯片配置设计,不限于PCIe Switch配置通路设计。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。附图仅用于示出具体实施方式的目的,而并不认为是对本发明的限制。在附图中:
图1是根据本申请的PCIe Switch的一个实施例的结构示意图;
图2是根据本申请的基于PCIe Switch配置通路的实现方法的一个实施例的流程示意图。
实施方式
为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例提供一种PCIe Switch和基于PCIe Switch配置通路的实现方法。
参考图1,图1是根据本申请的PCIe Switch(交换器)的一个实施例的结构示意图。如图1所示,PCIe Switch包括PCIe全局配置模块(PCIe gloabal config)10和多个PCIe站点模块(PCIe station)20以及配置总线30,PCIe全局配置模块10和多个PCIe station 20分别挂载于配置总线30上。多个PCIe station 20可以从0开始编号到X,X为正整数。
其中,每个PCIe station包括多个PCIe端口(PCIe port),各个PCIe port可以从0开始编号到x,x为正整数。每个PCIe端口内具有多个寄存器,寄存器的值可以是该PCIe端口的配置信息或其它信息。每个PCIe station内部还可以包括:多个端口探测模块(port_snoop)和仲裁模块(rr_arbit)、缓存模块(cdc_fifo)以及镜像配置模块(station_mirror_config)。多个端口探测模块与多个PCIe端口一一对应设置,可分别记为port0_snoop、port1_snoop……portx_snoop。
其中,PCIe全局配置模块内部除了配置电路以外,还可以包括两组寄存器,即全局配置寄存器(glb_reg_cfg)和对应于各个PCIe station的配置空间寄存器(glb_ mirror_config)。容易理解,PCIe全局配置模块的配置信息可以有两个来源,一个是PCIe Switch的全局配置寄存器(glb_reg_cfg)信息,另一个对应于PCIe Switch各个端口的配置空间寄存器(glb_ mirror_config)信息。
这里,全局配置寄存器可以获取外部写入的全局配置信息,通过配置总线输出全局配置信息给每个PCIe station内部的镜像配置模块。
本申请主要解决PCIe Switch的各个PCIe端口的配置信息(或者说配置空间信息)是如何相互感知更新的。即,每个PCIe station如何感知其各个PCIe端口内的某些寄存器是否更新,并在感知到更新后生成配置总线数据,以及PCIe全局配置模块如何从每个PCIestation获取其生成的配置总线数据,以及如何输出给各个PCIe station并更新各个PCIe端口内的其他寄存器。
结合图1,一些实施例中各个PCIe端口的配置信息的感知更新过程可以包括如下步骤:
第一步,首先,在PCIe station中,各个端口探测模块(port_snoop)在各个PCIe端口内部探测镜像寄存器是否更新。其中,在每个PCIe端口内部都预先设置有配置空间的镜像寄存器,镜像寄存器是利用一块存储空间对PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。这里,每个PCIe端口内部的寄存器的数量很多,可以根据需要对其中的一部分寄存器进行镜像。当PCIe端口内部的至少一个寄存器被更新时,其对应的镜像寄存器的值也相应更新(即相应发生变化),端口探测模块会监测镜像寄存器的值是否更新。这里,镜像寄存器实质上是一块存储空间,探测存储空间中存储的值是否更新,与读取并判断寄存器中的值是否更新相比,更容易实现。这里,PCIe端口内部的寄存器的更新操作可以是由PCIe Switch外部的设备执行的。
第二步,端口探测模块探测到镜像寄存器更新后,置位更新标记(update_flag),并向仲裁模块(rr_arbit)发送仲裁请求(arbit_req)信号。
第三步,仲裁模块接收到仲裁请求信号并且能够处理该请求后,给出仲裁应答(arbit_ack)信号,并根据处理结果生成配置总线数据,将该配置总线数据缓存至缓存模块(cdc_fifo)中。
第四步,端口探测模块接收到仲裁模块的仲裁应答信号后,清除更新标记;
第五步,当PCIe全局配置模块中的配置空间寄存器(glb_ mirror_config)能够接收配置信息时,通过配置总线从各个PCIe station的缓存模块中读出配置总线数据。
第六步,配置空间寄存器(glb_ mirror_config)获取到每个PCIe station的缓存模块中的配置总线数据后,PCIe全局配置模块中的仲裁电路对获取的所有配置总线数据进行仲裁,将经过仲裁后得到的配置信息通过配置总线输出给各个PCIe station中的镜像配置模块(station_mirror_config)。
第七步,最后, PCIe station中的镜像配置模块接收到仲裁后的配置信息后,对该仲裁后的配置信息进行解析更新,以更新到各个PCIe端口。具体的,是更新到各个PCIe端口内部的各个寄存器中。
示例性的,假设第一步中某个PCIe端口内的n个寄存器中,可能有2个进行了更新;第七步中的更新操作,可以是根据仲裁后的配置信息对另外的(n-2)个寄存器进行更新,n为大于2的正整数。
由上可见,本申请一些实施例中,PCIe station可以被配置成探测内部的每个PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;PCIe全局配置模块可以被配置成通过配置总线,获取每个PCIe station生成的配置总线数据,对获取的配置总线数据进行仲裁,得到仲裁后的配置信息,并通过配置总线输出仲裁后的配置信息给每个PCIe station;PCIe station可以进一步被配置成对接收到的仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个PCIe端口。
在一些可选的实施方式中,PCIe station包括缓存模块、仲裁模块和对应于多个PCIe端口的多个端口探测模块,其中,端口探测模块被配置成探测对应的PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向仲裁模块发送仲裁请求信号;所仲裁模块被配置成响应于接收到仲裁请求信号,对仲裁请求信号进行处理,返回仲裁应答信号给端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至缓存模块中;缓存模块被配置成缓存配置总线数据;端口探测模块进一步被配置成响应于接收到仲裁应答信号,清除更新标记。
在一些可选的实施方式中,PCIe station还包括镜像配置模块,镜像配置模块被配置成对接收到的仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个PCIe端口。
在一些可选的实施方式中,PCIe全局配置模块包括全局配置寄存器和对应于各个PCIe station的配置空间寄存器;配置空间寄存器被配置成通过配置总线,获取每个PCIestation的缓存模块中的配置总线数据;全局配置寄存器被配置成获取外部写入的全局配置信息,通过配置总线输出全局配置信息给每个PCIe station。
在一些可选的实施方式中,PCIe station,进一步被配置成预先在每个PCIe端口内部设置镜像寄存器,镜像寄存器是利用一块存储空间对PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。
值得说明的是,本申请的PCIe Switch,包括其内部的PCIe全局配置模块和多个PCIe station,均可以用硬件电路实现。示例性的,该PCIe Switch可以用FPGA来实现。当然,在其他一些可选的实施方式中,本申请的PCIe Switch,也可以用软件实现,或者部分用硬件部分用软件来实现。
参考图2,图2是根据本申请的基于PCIe Switch配置通路的实现方法的一个实施例的流程示意图。本申请的方法的执行主体可以是如图1所示的PCIe Switch。
如图2所示,本申请的方法包括以下步骤:
步骤S1、PCIe station探测内部的每个PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;
步骤S2、PCIe全局配置模块通过配置总线,获取每个PCIe station生成的配置总线数据,对获取的配置总线数据进行仲裁,得到仲裁后的配置信息,并通过配置总线输出仲裁后的配置信息给每个PCIe station;
步骤S3、PCIe station对接收到的仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个PCIe端口。
在一些可选的实施方式中,PCIe station包括缓存模块、仲裁模块和对应于多个PCIe端口的多个端口探测模块;步骤S1可以包括:端口探测模块探测对应的PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向仲裁模块发送仲裁请求信号;所仲裁模块响应于接收到仲裁请求信号,对仲裁请求信号进行处理,返回仲裁应答信号给端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至缓存模块中;端口探测模块响应于接收到仲裁应答信号,清除更新标记。
在一些可选的实施方式中,PCIe station还包括镜像配置模块,步骤S3可以包括:镜像配置模块对接收到的仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个PCIe端口。
在一些可选的实施方式中,PCIe全局配置模块包括全局配置寄存器和对应于各个PCIe station的配置空间寄存器;步骤S2中PCIe全局配置模块通过配置总线,获取每个PCIe station生成的配置总线数据的步骤包括:配置空间寄存器通过配置总线,获取每个PCIe station的缓存模块中的配置总线数据;该方法可以还包括:全局配置寄存器获取外部写入的全局配置信息,通过配置总线输出全局配置信息给每个PCIe station内部的镜像配置模块。
在一些可选的实施方式中,该方法还可以包括:PCIe station预先在每个PCIe端口内部设置镜像寄存器,镜像寄存器是利用一块存储空间对PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。
综上,本申请实施例提出了一种PCIe Switch和基于PCIe Switch配置通路的实现方法。本申请实施例的关键点在于:
1.采用镜像寄存器的概念,每个PCIe端口镜像一份寄存器;
2.采用配置总线方式更新寄存器,而不是通过每个寄存器信号进行直连传递;
3.采用分总分的配置通路实现方式,即单个PCIe端口探测更新汇总至PCIe全局配置模块、再由PCIe全局配置模块下发至各个PCIe端口。
本申请实施例取得的技术效果包括但不限于:
本申请通过在PCIe Switch内部的各个PCIe端口内镜像至少一个寄存器,并由PCIe全局配置模块采用配置总线的方式更新寄存器,取代目前通过每个寄存器信号直连传递的方式,降低了信号传递的数量,有助于节省布线资源,有利于时序收敛。
申请人已经在FPGA(Field Programmable Gate Array,现场可编程门阵列)上进行工程实现的验证,具备良好的性能和简洁的结构;本申请方案特别适用于大规模芯片配置设计。
值得说明的是,本申请实施例的方案,不限于PCIe Switch配置通路设计,也可用于其它协议的配置通路设计;本申请实施例的方案,不限于用在芯片设计上,也可用于其他技术上比如FPGA设计上。
以上所述,仅为本申请的较佳实施例,并非用于限定本申请的保护范围,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种PCIe Switch,其特征在于,所述PCIe Switch包括PCIe全局配置模块和多个PCIestation以及配置总线,所述PCIe全局配置模块和多个PCIestation分别挂载于所述配置总线上,每个所述PCIestation包括多个PCIe端口,其中,
所述PCIestation被配置成探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;
所述PCIe全局配置模块被配置成通过所述配置总线,获取每个所述PCIestation生成的配置总线数据,对获取的所述配置总线数据进行仲裁,得到仲裁后的配置信息,并通过所述配置总线输出所述仲裁后的配置信息给每个所述PCIestation;
所述PCIestation进一步被配置成对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口;
所述PCIestation,进一步被配置成预先在每个所述PCIe端口内部设置镜像寄存器,所述镜像寄存器是利用一块存储空间对所述PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的。
2.根据权利要求1所述的PCIe Switch,其特征在于,所述PCIestation包括缓存模块、仲裁模块和对应于多个所述PCIe端口的多个端口探测模块,其中,
所述端口探测模块被配置成探测对应的所述PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向所述仲裁模块发送仲裁请求信号;
所仲裁模块被配置成响应于接收到所述仲裁请求信号,对所述仲裁请求信号进行处理,返回仲裁应答信号给所述端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至所述缓存模块中;
所述缓存模块被配置成缓存所述配置总线数据;
所述端口探测模块进一步被配置成响应于接收到所述仲裁应答信号,清除所述更新标记。
3.根据权利要求2所述的PCIe Switch,其特征在于,所述PCIestation还包括镜像配置模块,所述镜像配置模块被配置成对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
4.根据权利要求2所述的PCIe Switch,其特征在于,所述PCIe全局配置模块包括全局配置寄存器和对应于各个所述PCIestation的配置空间寄存器;
所述配置空间寄存器被配置成通过所述配置总线,获取每个所述PCIestation的所述缓存模块中的所述配置总线数据;
所述全局配置寄存器被配置成获取外部写入的全局配置信息,通过所述配置总线输出所述全局配置信息给每个所述PCIestation。
5.一种基于PCIe Switch配置通路的实现方法,其特征在于,所述PCIe Switch包括PCIe全局配置模块和多个PCIestation以及配置总线,所述PCIe全局配置模块和多个PCIestation分别挂载于所述配置总线上,每个所述PCIestation包括多个PCIe端口,所述方法包括:
所述PCIestation预先在每个所述PCIe端口内部设置镜像寄存器,所述镜像寄存器是利用一块存储空间对所述PCIe端口内部的多个寄存器中的至少一个进行镜像而生成的;
所述PCIestation探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据;
所述PCIe全局配置模块通过所述配置总线,获取每个所述PCIestation生成的所述配置总线数据,对获取的所述配置总线数据进行仲裁,得到仲裁后的配置信息,并通过所述配置总线输出仲裁后的配置信息给每个所述PCIestation;
所述PCIestation对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
6.根据权利要求5所述的方法,其特征在于,所述PCIestation包括缓存模块、仲裁模块和对应于多个所述PCIe端口的多个端口探测模块;所述PCIestation探测内部的每个所述PCIe端口内部的镜像寄存器是否更新,若是,则根据更新的镜像寄存器的值生成配置总线数据的步骤包括:
所述端口探测模块探测对应的所述PCIe端口内部的镜像寄存器是否更新,若是,则置位更新标记,并向所述仲裁模块发送仲裁请求信号;
所仲裁模块响应于接收到所述仲裁请求信号,对所述仲裁请求信号进行处理,返回仲裁应答信号给所述端口探测模块,并生成配置总线数据,将生成的配置总线数据缓存至所述缓存模块中;
所述端口探测模块响应于接收到所述仲裁应答信号,清除所述更新标记。
7.根据权利要求6所述的方法,其特征在于,所述PCIestation还包括镜像配置模块,所述PCIestation对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口的步骤包括:所述镜像配置模块对接收到的所述仲裁后的配置信息进行解析,将解析后的配置信息更新到内部的每个所述PCIe端口。
8.根据权利要求6所述的方法,其特征在于,所述PCIe全局配置模块包括全局配置寄存器和对应于各个所述PCIestation的配置空间寄存器;
所述PCIe全局配置模块通过所述配置总线,获取每个所述PCIestation生成的所述配置总线数据的步骤包括:所述配置空间寄存器通过所述配置总线,获取每个所述PCIestation的所述缓存模块中的所述配置总线数据;
所述方法还包括:所述全局配置寄存器获取外部写入的全局配置信息,通过所述配置总线输出所述全局配置信息给每个所述PCIestation内部的镜像配置模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311567110.1A CN117290272B (zh) | 2023-11-23 | 2023-11-23 | PCIe Switch及其配置通路的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311567110.1A CN117290272B (zh) | 2023-11-23 | 2023-11-23 | PCIe Switch及其配置通路的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117290272A CN117290272A (zh) | 2023-12-26 |
CN117290272B true CN117290272B (zh) | 2024-02-23 |
Family
ID=89248325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311567110.1A Active CN117290272B (zh) | 2023-11-23 | 2023-11-23 | PCIe Switch及其配置通路的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290272B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787490A (zh) * | 2004-12-10 | 2006-06-14 | 英特尔公司 | 交换组构网络的分组处理 |
WO2014169876A1 (zh) * | 2013-08-08 | 2014-10-23 | 中兴通讯股份有限公司 | 一种总线仲裁方法及装置、存储介质 |
CN112256426A (zh) * | 2020-10-21 | 2021-01-22 | 广东高云半导体科技股份有限公司 | 具有总线仲裁器的主从通信系统及通信方法 |
CN114048164A (zh) * | 2022-01-14 | 2022-02-15 | 湖北芯擎科技有限公司 | 芯片互联方法、系统、设备及可读存储介质 |
CN114840465A (zh) * | 2022-05-06 | 2022-08-02 | 深圳星云智联科技有限公司 | 提高PCIe卡兼容性的方法、装置、设备及存储介质 |
CN114866497A (zh) * | 2022-06-15 | 2022-08-05 | 西安微电子技术研究所 | 一种全局异步站内同步的PCIe交换电路和方法 |
CN115827518A (zh) * | 2022-11-23 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 外接设备管理方法、装置、设备及存储介质 |
CN116150077A (zh) * | 2023-02-28 | 2023-05-23 | 西安微电子技术研究所 | 一种PCIe交换电路的出端口事务处理装置及方法 |
-
2023
- 2023-11-23 CN CN202311567110.1A patent/CN117290272B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787490A (zh) * | 2004-12-10 | 2006-06-14 | 英特尔公司 | 交换组构网络的分组处理 |
WO2014169876A1 (zh) * | 2013-08-08 | 2014-10-23 | 中兴通讯股份有限公司 | 一种总线仲裁方法及装置、存储介质 |
CN112256426A (zh) * | 2020-10-21 | 2021-01-22 | 广东高云半导体科技股份有限公司 | 具有总线仲裁器的主从通信系统及通信方法 |
CN114048164A (zh) * | 2022-01-14 | 2022-02-15 | 湖北芯擎科技有限公司 | 芯片互联方法、系统、设备及可读存储介质 |
CN114840465A (zh) * | 2022-05-06 | 2022-08-02 | 深圳星云智联科技有限公司 | 提高PCIe卡兼容性的方法、装置、设备及存储介质 |
CN114866497A (zh) * | 2022-06-15 | 2022-08-05 | 西安微电子技术研究所 | 一种全局异步站内同步的PCIe交换电路和方法 |
CN115827518A (zh) * | 2022-11-23 | 2023-03-21 | 苏州浪潮智能科技有限公司 | 外接设备管理方法、装置、设备及存储介质 |
CN116150077A (zh) * | 2023-02-28 | 2023-05-23 | 西安微电子技术研究所 | 一种PCIe交换电路的出端口事务处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117290272A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6553446B1 (en) | Modular input/output controller capable of routing packets over busses operating at different speeds | |
US20060195639A1 (en) | System and method for dynamically allocating inter integrated circuits addresses to multiple slaves | |
US5919254A (en) | Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system | |
EP2062147B1 (en) | Method and apparatus for conditional broadcast of barrier operations | |
CN1437731A (zh) | 用于检测通信信道上时域的方法和装置 | |
CN115657553A (zh) | Pcie拓扑和pcie设备模拟方法、装置、设备及介质 | |
US5867645A (en) | Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system | |
CN114860329A (zh) | 动态一致性偏置配置引擎及方法 | |
US12013802B2 (en) | Method and apparatus for embedded processor to perform fast data communication, and storage medium | |
CN114265872A (zh) | 一种用于总线的互联装置 | |
CN114461541A (zh) | 芯片数据读取方法、写入方法、装置、设备以及存储介质 | |
Slogsnat et al. | An open-source hypertransport core | |
CN112511537B (zh) | 一种sce-mi协议桥及仿真系统 | |
CN117290272B (zh) | PCIe Switch及其配置通路的实现方法 | |
CN113312304A (zh) | 一种互联装置、主板及服务器 | |
US10860513B1 (en) | I3C hub promoting backward compatibility with I2C | |
CN112256426A (zh) | 具有总线仲裁器的主从通信系统及通信方法 | |
CN114443530B (zh) | 基于TileLink的芯片互联电路及数据传输方法 | |
JP2007507045A (ja) | コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品 | |
CN112783809A (zh) | 一种硬盘连接装置、方法、计算机设备及存储介质 | |
CN112241390B (zh) | 主机互连装置及其方法 | |
CN115048327B (zh) | 一种pcie转sata的桥接芯片 | |
CN113961502B (zh) | 一种交换机接口管理系统和方法 | |
CN117725011A (zh) | 主机桥接设备 | |
WO2023229616A1 (en) | Distributed firmware interfacing processors and intergrated circuits |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |