CN202948447U - 基于PCI总线的串行Rapid IO协议控制器 - Google Patents
基于PCI总线的串行Rapid IO协议控制器 Download PDFInfo
- Publication number
- CN202948447U CN202948447U CN 201220527361 CN201220527361U CN202948447U CN 202948447 U CN202948447 U CN 202948447U CN 201220527361 CN201220527361 CN 201220527361 CN 201220527361 U CN201220527361 U CN 201220527361U CN 202948447 U CN202948447 U CN 202948447U
- Authority
- CN
- China
- Prior art keywords
- rapid
- pci
- internal memory
- operation unit
- affairs
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
本实用新型涉及一种基于PCI总线的串行Rapid IO协议控制器,属于计算机通信技术领域。该控制器包括PCI主模块、PCI从模块、直接内存操作单元组、接收消息控制器、中断控制器、寄存器配置总线、PCI主仲裁器、读事务PCI地址记录器、Rapid IO从应模块、RapidIO从请求主应答模块、Rapid IO主请求器和Rapid IO协议控制器,从而能够利用配置直接内存操作单元组中的各直接内存操作单元,产生Rapid IO事务包,提供访问Rapid IO网络的各项事务的支持,解决现有技术中PCI端事务与Rapid IO事务的不匹配,以及非流水式总线转接流水式总线造成带宽流失的问题,使普通PCI总线计算机能够高效接入Rapid IO网络,且本实用新型的基于PCI总线的串行Rapid IO协议控制器,其结构简单,在FPGA上实现并不占用太多逻辑资源,应用范围也较为广泛。
Description
技术领域
本实用新型涉及计算机通信技术领域,特别涉及通信协议控制器技术领域,具体是指一种基于PCI总线的串行Rapid IO协议控制器。
背景技术
自1992年创制规范以来,PCI总线是目前在计算机领域使用最广泛的一种总线。Rapid IO(快速输入输出)是近年来迅速发展的一种新型的高速数据互联总线。串行Rapid IO(SerialRapid IO)由于使用高速串行技术,并且可以将多个处理器互联,使计算机集群化、云计算化、内存共享等特点,被广泛适用于嵌入式计算机的芯片间、板间通信互联。目前,在嵌入式计算机领域及通信技术领域,Rapid IO已成为新型多计算机、多处理器、多DSP的互联的首要选择,而对于诸多只有PCI为外部总线的计算机来说,就无法接入Rapid IO网络。这些计算机就需要一个PCI/Rapid IO的桥接来接入到Rapid IO网络。Rapid IO协议中考虑了RapidIO对PCI的透明支持。该支持必须要把PCI地址空间映射到Rapid IO地址空间、PCI事务映射到Rapid IO事务。地址空间映射需要在PCI地址空间中为每个Rapid IO节点或部分节点分配一定的内存空间。访问该内存空间的事务,会通过地址映射和转换函数AMT将事务的PCI地址转换出相应的目标器件ID和相应的偏移地址,然后转换为正确的Rapid IO事务。但对于使用32位地址4G空间的PCI系统来说,为每个Rapid IO节点分配足够的空间稍显吃力。更甚者,若转接桥接收到PCI读内存事务时,转接桥需要发送一个RIO Nread事务包到RapidIO网络,由于读返回包返回需要一定时间,PCI主设备(PCI Master)会经过无数次重试等待最多才能得到256B数据。如果PCI主设备需更多数据,那么转接桥必须再次发送一个RIONread事务包,才能得到另外256B数据。可见这种非流水式的PCI总线转接流水式Rapid IO总线时,带宽利用率甚为低下。另外PCI计算机还无法使用MSG与Doorbell(门铃)事务,更无法使用Maintenance(维护)事务对Rapid IO网络进行维护。
实用新型内容
本实用新型的目的是克服了上述现有技术中的缺点,提供一种为PCI计算机提供访问Rapid IO网络的各项事务的支持,解决PCI端事务与Rapid IO事务的不匹配,以及非流水式总线转接流水式总线造成带宽流失的问题,从而使普通PCI总线计算机能够高效接入Rapid IO网络,且结构简单,成本低廉,应用范围较为广泛的基于PCI总线的串行Rapid IO协议控制器。
为了实现上述的目的,本实用新型的基于PCI总线的串行Rapid IO协议控制器具有如下构成:
该基于PCI总线的串行Rapid IO协议控制器包括PCI主模块、PCI从模块、直接内存操作单元组、接收消息控制器、中断控制器、寄存器配置总线、PCI主仲裁器、读事务PCI地址记录器、Rapid IO从应模块、Rapid IO从请求主应答模块、Rapid IO主请求器和Rapid IO协议控制器。
其中,PCI主模块连接PCI总线,还连接接收消息控制器、PCI主仲裁器和中断控制器;
PCI从模块连接PCI总线,还连接有寄存器配置总线,并通过该寄存器配置总线分别连接直接内存操作单元组和中断控制器;
直接内存操作单元组包括多个并联的直接内存操作单元;
中断控制器分别连接所述的直接内存操作单元组和PCI总线;
PCI主仲裁器与所述的PCI主模块、所述的直接内存操作单元组、读事务PCI地址记录器、Rapid IO从应模块和Rapid IO从请求主应答模块相连接;
所述的直接内存操作单元组还分别连接读事务PCI地址记录器和Rapid IO主请求器;
Rapid IO协议控制器分别连接所述的Rapid IO主请求器、Rapid IO从应模块、Rapid IO从请求主应答模块和Rapid IO总线。
该基于PCI总线的串行Rapid IO协议控制器中,所述的直接内存操作单元组包括至少两个直接内存操作单元、状态机、数据FIFO、事务ID定时器、事务ID管理器、直接内存操作单元头信息仲裁器和事务ID选择器,所述的至少两个直接内存操作单元、数据FIFO、事务ID定时器、事务ID管理器和事务ID选择器均连接所述的直接内存操作单元头信息仲裁器,该直接内存操作单元头信息仲裁器还连接所述的读事务PCI地址记录器、Rapid IO主请求器;所述的状态机分别连接所述的中断控制器和PCI主仲裁器,所述的PCI主仲裁器还连接所述的事务ID管理器。
该基于PCI总线的串行Rapid IO协议控制器中,直接内存操作单元包括PCI地址寄存器、Rapid IO地址寄存器、字节数寄存器、Doorbell与消息信息寄存器、模式寄存器、状态寄存器、链模式当前指针寄存器和链模式最后指针寄存器;所述的PCI地址寄存器和Rapid IO地址寄存器均分别连接所述的字节数寄存器、Doorbell与消息信息寄存器、模式寄存器、状态寄存器、链模式当前指针寄存器和链模式最后指针寄存器,所述的PCI地址寄存器;所述的PCI地址寄存器和Rapid IO地址寄存器还分别连接所述的直接内存操作单元头信息仲裁器。
该基于PCI总线的串行Rapid IO协议控制器中,所述的Rapid IO从请求主应答模块包括:Rapid IO从请求主应答器,连接于所述的Rapid IO协议控制器;以及从请求数据FIFO及从请求头信息FIFO,分别连接所述的Rapid IO从请求主应答器,并均连接所述的PCI主仲裁器。
该基于PCI总线的串行Rapid IO协议控制器中,所述的Rapid IO从应答模块包括:RapidIO从应答器,连接于所述的Rapid IO协议控制器;以及从应答数据FIFO和从应答头信息FIFO,分别连接所述的Rapid IO从应答器,并均连接所述的PCI主仲裁器。
该基于PCI总线的串行Rapid IO协议控制器中,所述的Rapid IO主请求模块包括:RapidIO从请求主应答器,连接于所述的Rapid IO协议控制器;以及主请求数据FIFO和主请求头信息FIFO,分别连接所述的Rapid IO从请求主应答器,并均连接所述的直接内存操作单元组。
该基于PCI总线的串行Rapid IO协议控制器中,所述的接收消息控制器包括:至少1个(优选为16个)消息信息单元、与该消息信息单元数量对应的消息定时单元、与该消息信息单元数量对应的消息状态单元、与该消息信息单元数量对应的消息地址单元和消息地址选择器单元,所述的各个消息信息单元、各个消息定时单元、各个消息状态单元、各个消息地址单元和消息地址选择器单元均连接所述的PCI主仲裁器。
该基于PCI总线的串行Rapid IO协议控制器中,所述的中断控制器包括:中断仲裁器,分别连接所述的直接内存操作单元组、PCI主模块和接收消息控制器;以及中断状态机和中断FIFO,均连接所述的中断仲裁器。
采用了该实用新型的基于PCI总线的串行Rapid IO协议控制器,由于其包括PCI主模块、PCI从模块、直接内存操作单元组、接收消息控制器、中断控制器、寄存器配置总线、PCI主仲裁器、读事务PCI地址记录器、Rapid IO从应模块、Rapid IO从请求主应答模块、RapidIO主请求器和Rapid IO协议控制器,从而能够利用配置直接内存操作单元组中的各直接内存操作单元,产生Rapid IO事务包,提供访问Rapid IO网络的各项事务的支持,解决现有技术中PCI端事务与Rapid IO事务的不匹配,以及非流水式总线转接流水式总线造成带宽流失的问题,使普通PCI总线计算机能够高效接入Rapid IO网络,且本实用新型的基于PCI总线的串行Rapid IO协议控制器,其结构简单,在FPGA上实现并不占用太多逻辑资源,应用范围也较为广泛。
附图说明
图1为本实用新型的基于PCI总线的串行Rapid IO协议控制器的硬件结构示意图。
图2为本实用新型中的直接内存操作单元组的硬件结构示意图。
图3为本实用新型中的Rapid IO从请求主应答模块的硬件结构示意图。
图4为本实用新型中的Rapid IO从应答模块的硬件结构示意图。
图5为本实用新型中的Rapid IO主请求模块的硬件结构示意图。
图6为本实用新型中的接收消息控制器的硬件结构示意图。
图7为本实用新型中的中断控制器的硬件结构示意图。
图8为本实用新型中的直接内存操作单元的寄存器定义图。
具体实施方式
为了能够更清楚地理解本实用新型的技术内容,特举以下实施例详细说明。
请参阅图1所示,为本实用新型的基于PCI总线的串行Rapid IO协议控制器的硬件结构示意图。
在一种实施方式中,该基于PCI总线的串行Rapid IO协议控制器包括PCI主模块108、PCI从模块103、直接内存操作单元组104、接收消息控制器110、中断控制器109、寄存器配置总线115、PCI主仲裁器111、读事务PCI地址记录器105、Rapid IO从应模块113、RapidIO从请求主应答模块112、Rapid IO主请求器106和Rapid IO协议控制器107。
其中:
PCI主模块108连接PCI总线,还连接接收消息控制器110、PCI主仲裁器111和中断控制器109;
PCI从模块103连接PCI总线,还连接有寄存器配置总线115,并通过该寄存器配置总线115分别连接直接内存操作单元组104和中断控制器109;
直接内存操作单元组104包括多个并联的直接内存操作单元;
中断控制器109分别连接所述的直接内存操作单元组104和PCI总线;
PCI主仲裁器111与所述的PCI主模块108、所述的直接内存操作单元组104、读事务PCI地址记录器105、Rapid IO从应模块113和Rapid IO从请求主应答模块112相连接;
所述的直接内存操作单元组104还分别连接读事务PCI地址记录器105和Rapid IO主请求器106;
Rapid IO协议控制器107分别连接所述的Rapid IO主请求器106、Rapid IO从应模块113、Rapid IO从请求主应答模块112和Rapid IO总线。
在一种较优选的实施方式中,如图2所示,所述的直接内存操作单元组104包括至少两个直接内存操作单元、状态机201、数据FIFO202、事务ID定时器203、事务ID管理器204、直接内存操作单元头信息仲裁器205和事务ID选择器206,所述的至少两个直接内存操作单元、数据FIFO202、事务ID定时器203、事务ID管理器204和事务ID选择器206均连接所述的直接内存操作单元头信息仲裁器205,该直接内存操作单元头信息仲裁器205还连接所述的读事务PCI地址记录器105Rapid IO主请求器106;所述的状态机201分别连接所述的中断控制器109和PCI主仲裁器111,所述的PCI主仲裁器111还连接所述的事务ID管理器204。
在本实用新型进一步优选的实施方式中,如图8所示,直接内存操作单元包括PCI地址寄存器801、RapidIO地址寄存器802、字节数寄存器803、Doorbell与消息信息寄存器804、模式寄存器805、状态寄存器806、链模式当前指针寄存器807和链模式最后指针寄存器808;所述的PCI地址寄存器801和Rapid IO地址寄存器802均分别连接所述的字节数寄存器803、Doorbell与消息信息寄存器804、模式寄存器805、状态寄存器806、链模式当前指针寄存器807和链模式最后指针寄存器808,所述的PCI地址寄存器801;所述的PCI地址寄存器801和RapidIO地址寄存器802还分别连接所述的直接内存操作单元头信息仲裁器205。
在本实用新型较优选的实施方式中,如图3所示,所述的Rapid IO从请求主应答模块112包括:Rapid IO从请求主应答器303,连接于所述的Rapid IO协议控制器107;以及从请求数据FIFO301及从请求头信息FIFO302,分别连接所述的RapidIO从请求主应答器303,并均连接所述的PCI主仲裁器111。
在本实用新型较优选的实施方式中,如图4所示,所述的Rapid IO从应答模块113包括:Rapid IO从应答器403,连接于所述的Rapid IO协议控制器107;以及从应答数据FIFO401和从应答头信息FIFO402,分别连接所述的Rapid IO从应答器403,并均连接所述的PCI主仲裁器111。
在本实用新型较优选的实施方式中,如图5所示,所述的Rapid IO主请求模块106包括:Rapid IO从请求主应答器503,连接于所述的Rapid IO协议控制器107;以及主请求数据FIFO501和主请求头信息FIFO502,分别连接所述的Rapid IO从请求主应答器503,并均连接所述的直接内存操作单元组104。
在本实用新型进一步优选的实施方式中,如图6所示,所述的接收消息控制器110包括:至少1个消息信息单元601、与该消息信息单元601数量对应的消息定时单元602、与该消息信息单元601数量对应的消息状态单元603、与该消息信息单元601数量对应的消息地址单元604和消息地址选择器单元605,所述的各个消息信息单元601、各个消息定时单元602、16个消息状态单元603、各个消息地址单元604和消息地址选择器单元605均连接所述的PCI主仲裁器111。
作为最优实施方式,所述的接收消息控制器110包括:16个消息信息单元601、16个消息定时单元602、16个消息状态单元603、16个消息地址单元604和消息地址选择器单元605,所述的16个消息信息单元601、16个消息定时单元602、16个消息状态单元603、16个消息地址单元604和消息地址选择器单元605均连接所述的PCI主仲裁器111。
在一种更优选的实施方式中,如图7所示,所述的中断控制器109包括:中断仲裁器703,分别连接所述的直接内存操作单元组104、PCI主模块108和接收消息控制器110;以及中断状态机701和中断FIFO702,均连接所述的中断仲裁器703。
在本实用新型的实际应用中,该基于PCI总线的串行Rapid IO协议控制器中,PCI从模块103产生寄存器配置总线115与DMA状态机201、中断控制器109连接;PCI主模块仲裁器111与PCI主模块108、DMA状态机201、读事务PCI地址记录器105、从请求数据Fifo301、从请求头信息Fifo302、中断仲裁器703连接;DMA头信息仲裁器205与DMA状态机201、事务ID选择器206、主请求数据Fifo501、主请求头信息Fifo502连接;Rapid IO主请求器503与主请求数据Fifo501、主请求头信息Fifo502、Rapid IO协议控制器107连接;Rapid IO从应答器403与从应答数据Fifo401、从应答头信息Fifo402、Rapid IO协议控制器107连接;Rapid IO从请求主应答器303与从请求数据Fifo301、从请求头信息Fifo302、Rapid IO协议控制器107连接;读事务PCI地址记录器105与Dma头信息仲裁器205、PCI主模块仲裁器111连接。
当CPU 101欲发起Rapid IO事务时,相应原理与流程如下:
1、驱动程序首先获取其中一个DMA使用权的信号量;
2、获得使用权信号量后,配置DMA寄存器:PCI内存地址801、Rapid IO地址寄存器802、字节数寄存器803、Doorbell与Msg信息寄存器804、模式寄存器805、链模式当前指针寄存器807、链模式最后指针寄存器808;
3、当驱动程序配置好DMA相应寄存器后,DMA根据模式寄存器中的配置发起相应的Rapid IO事务,而驱动程序将再次获取一个DMA完成信号量;
4、若DMA模式寄存器805被配置成Rapid IO Nread事务或Config Read事务,DMA状态机201将向Dma头信息仲裁器205申请发送Nread头信息;
a)Dma头信息仲裁器205得到DMA发送请求后,向事务ID选择器206申请一个TID;
b)事务ID选择器206得到Dma头信息仲裁器205模块申请请求,从空闲的TID中分配一个TID给Dma头信息仲裁器205模块,并将PCI端内存地址写入读事务PCI地址记录器105中对应TID的RAM地址空间;
c)Dma头信息仲裁器205模块得到TID信息,将TID信息通知DMA事务ID管理者204,并将DMA状态机201的Nread头信息写入主请求头信息FIFO502;
d)DMA事务ID管理者204将对该对TID做占用标志,若DMA字节数寄存器803不空,还需要发送数据包,则再次向Dma头信息仲裁器205申请发送Nread头信息,随后将再次执行a流程,直到DMA字节数寄存器803为0,不需要发送Nread事务包为止,这时DMA状态机201进入等待TID返回的状态,等待发送的各个TID读数据事务包全部返回;
e)与此同时,当Rapid IO主请求器503发现主请求头信息FIFO502不空,取出数据,交给Rapid IO协议控制器107;
f)Rapid IO协议控制器107将Nread事务包发送至Rapid IO网络;
g)当Nread的Response包返回,Rapid IO协议控制器107将该包交给Rapid IO从请求主应答控制器303;
h)Rapid IO从请求主应答控制器303将数据写入从请求数据Fifo301,将头信息写入从请求头信息FIFO302;
i)一旦PCI主仲裁模块111发现从请求头信息FIFO302不空,将根据头信息中的TID向读事务PCI地址记录器105查找相应PCI端的内存地址;
j)PCI主仲裁模块111结合PCI地址与从请求头信息FIFO302信息向PCI主模块108申请写内存事务请求;
k)PCI主模块108得到写事务请求,读取从请求FIFO中的数据大小,操作类型,并发现该事务为PCI写事务,则开始发起PCI写事务,将从请求数据FIFO写入PCI端内存空间;
l)PCI写数据完成,PCI主仲裁模块111将向DMA事务ID管理者204通知该TID事务完成操作;
m)事务ID管理者204清除TID标志;
n)当DMA状态机701中的所有TID状态被清除,或收到错误、重试返回包后,向中断仲裁器703申请写中断FIFO请求;
o)由中断仲裁器703仲裁后,将DMA中断信息写入中断FIFO702;
p)中断状态机124发现中断FIFO702不空,将拉低PCI总线INT_n,发起中断;
5、若DMA模式寄存器805被配置成Rapid IO Nwrite事务、Nwrite-R、Swrite事务、Msg事务、config Wr事务时,DMA状态机701将向PCI主仲裁模块111模块申请数据;
a)PCI主仲裁模块111发现DMA状态机701请求后,向PCI主模块108申请读内存事务请求;
b)通过PCI主模块108发起PCI内存读事务。
c)当PCI总线返回数据,并存入DMA数据FIFO202中;
d)当数据FIFO202数据个数满足发送一个Rapid IO写事务包条件时,DMA状态机701将向Dma头信息仲裁器205模块申请发送头信息;
e)Dma头信息仲裁器205模块得到DMA状态机701发送请求后,向事务ID选择器206申请一个TID;
f)事务ID选择器206得到Dma头信息仲裁器205模块申请请求,从空闲的TID中分配一个TID给Dma头信息仲裁器205模块;
g)Dma头信息仲裁器205模块得到TID信息,将TID信息通知DMA事务ID管理者204,并将事务的头信息写入主请求头信息FIFO502,数据信息写入主请求数据FIFO501;
h)DMA中的事务ID管理者204将对该对TID做占用标志,若DMA字节数寄存器803不空,还需要发送数据包,则再次向PCI主仲裁模块111申请数据,随后将再次执行a流程,直到DMA字节数寄存器为0,不需要发送写事务包为止,这时DMA进入等待所有TID标志为0状态,除了NWRITE与SWRITE事务不需要等待TID返回外,其他事务均需等待发送的各个TID写数据事务包全部返回;
i)若为NWRITE事务或SWRITE事务,DMA不需要等待TID写数据事务包全部返回,这时DMA状态机701就向中断仲裁器703申请写中断FIFO702请求;
j)若为Nwrite-R、Msg事务、config Wr事务则DMA需要等待事务返回包,并检测返回包状态;
k)事务返回包返回后,经Rapid IO协议控制器107模块进入Rapid IO从请求主应答控制器303,之后写入从请求头信息FIFO302;
l)PCI主仲裁模块111将向DMA中事务ID管理者204通知TID事务完成操作;
m)事务ID管理者204清除TID标志;
n)当DMA状态机701中的所有TID状态被清除后,向中断仲裁器703申请写中断FIFO702请求;
6、若DMA模式寄存器805被配置成Doorbell事务时,DMA将向Dma头信息仲裁器205模块申请发送Doorbell头信息;
a)Dma头信息仲裁器205模块得到DMA发送请求后,向事务ID选择器206申请一个TID;
b)事务ID选择器206得到Dma头信息仲裁器205申请请求,从空闲的TID中分配一个TID给Dma头信息仲裁器205;
c)Dma头信息仲裁器205得到TID信息,将TID信息通知DMA状态机701中的事务ID管理者204,并将DMA状态机701的Doorbell头信息写入从请求头信息FIFO302;
d)DMA中的事务ID管理者204将对该对TID做占用标志后,DMA状态机701进入等待TID标志为0状态,等待Doorbell的事务RESPONSE包返回;
e)与此同时,当Rapid IO主请求器503发现从请求头信息FIFO302模块不空,取出数据,交给Rapid IO协议控制器107;
f)Rapid IO协议控制器107将Doorbell事务包发送至Rapid IO网络;
g)Doorbell事务返回包返回后,经Rapid IO协议控制器107模块进入Rapid IO从请求主应答控制器303,之后写入从请求头信息FIFO302;
h)PCI主仲裁模块111将向DMA中事务ID管理者204通知TID事务完成操作,事务ID管理者204便清除TID标志;
i)当DMA状态机701中的TID状态被清除后,向中断仲裁器703申请写中断FIFO702请求;
7、中断状态机701发现中断FIFO702不空,将拉低PCI总线INT_n,发起中断;
8、中断服务程序执行中断程序,通过PCI总线,经过PCI从模块103转变,后查看到中断FIFO702信息,得到执行状态;
9、中断服务程序发现为DMA中断,释放相应DMA完成信号量;
10、驱动程序获得相应DMA完成信号量,返回执行状态。
当控制器收到RapidIO请求事务时,相应原理与流程如下:
1、从请求事务包(Doorbell、Nwrite、nwrite-R、Swrite、Msg、NREAD),经Rapid IO协议控制器107模块进入Rapid IO从请求主应答控制器303,之后头信息写入从请求头信息FIFO302,数据进入从请求数据FIFO301;
2、PCI主仲裁模块111发现从请求头信息FIFO302不空,将向PCI主模块108申请内存事务请求;
3、PCI主模块108得到事务请求,读取从请求FIFO中的数据大小与操作类型,并根据事务类型发起不同的PCI操作;
4、若事务类型为NREAD操作,那么PCI主模块108根据从请求头信息FIFO302中的地址信息、字节大小,发起PCI总线的内存读操作;
a)PCI主模块108将返回后的数据写入从应答数据FIFO401;
b)PCI主模块108申请完数据后,将数据申请状态、源ID等信息写入从应答头信息FIFO402;
5、若事务类型为NWRITE,那么PCI主模块108根据从请求头信息FIFO302中的地址信息、字节大小,发起PCI总线的内存写操作;
6、若事务类型为NWRITE-R,那么PCI主模块108根据从请求头信息FIFO302中的地址信息、字节大小,发起PCI总线的内存写操作;
a)PCI主模块108写完数据后,将数据申请状态、源ID等信息写入从应答头信息FIFO402;
7、若事务类型为DOORBELL,那么PCI主模块108将向中断仲裁器703发起写中断FIFO702请求;
a)PCI主模块108将DOORBELL INFO、Source ID写入中断FIFO702后,将数据申请状态、源ID等信息写入从应答头信息FIFO402;
8、若事务类型为MESSAGE,那么PCI主模块108首先向接收消息控制器110发起消息地址请求。
a)消息地址选择器605根据PCI主模块108提供的源ID、msglen、mbox、letter、ssize信息与16个消息信息601进行匹配;
b)如果正在被占用的消息信息601中,未有匹配消息信息,那么任务收到的消息为新消息,为其分配一个新的消息信息601,以便与收到之后的消息段进行匹配,同时从消息地址604中选出对应的地址返回给消息地址选择器605;
c)如果正在被占用的消息信息601中,存在匹配消息,那么消息地址选择器605从消息地址604中选出对应的地址返回给消息地址选择器605;
d)消息地址选择器605根据msgSeg、ssize计算出该消息段需要存储的数据地址,返回给PCI主模块108;
e)PCI主模块108根据消息接收控制器110返回的地址发起PCI内存写事务;
f)数据写完后,向中断仲裁器703申请写中断FIFO702请求,中断状态机701发现中断FIFO702不空,将拉低PCI总线INT_n,发起中断;
g)当PCI主模块108写完中断FIFO702后,PCI主模块108将PCI写数据状态、源ID等信息写入从应答头信息FIFO402;
9、Rapid IO从应答器112发现从应答头信息FIFO402不空,取出数据,交给Rapid IO协议控制器107。
本实用新型的基于PCI总线的串行Rapid IO协议控制器的技术方案中,其中所包括的各个功能模块和模块单元均能够对应于集成电路结构中的具体硬件电路,因此这些模块和单元仅利用硬件电路结构就可以实现,不需要辅助以特定的控制软件即可以自动实现相应功能。
采用了该实用新型的基于PCI总线的串行Rapid IO协议控制器,由于其包括PCI主模块、PCI从模块、直接内存操作单元组、接收消息控制器、中断控制器、寄存器配置总线、PCI主仲裁器、读事务PCI地址记录器、Rapid IO从应模块、Rapid IO从请求主应答模块、RapidIO主请求器和Rapid IO协议控制器,从而能够利用配置直接内存操作单元组中的各直接内存操作单元,产生Rapid IO事务包,提供访问Rapid IO网络的各项事务的支持,解决现有技术中PCI端事务与Rapid IO事务的不匹配,以及非流水式总线转接流水式总线造成带宽流失的问题,使普通PCI总线计算机能够高效接入Rapid IO网络,且本实用新型的基于PCI总线的串行Rapid IO协议控制器,其结构简单,在FPGA上实现并不占用太多逻辑资源,应用范围也较为广泛。
在此说明书中,本实用新型已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本实用新型的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (8)
1.一种基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的控制器包括:
PCI主模块(108),连接PCI总线,还连接接收消息控制器(110)、PCI主仲裁器(111)和中断控制器(109);
PCI从模块(103),连接PCI总线,还连接有寄存器配置总线(115),并通过该寄存器配置总线(115)分别连接直接内存操作单元组(104)和中断控制器(109);
直接内存操作单元组(104),包括多个并联的直接内存操作单元;
中断控制器(109),分别连接所述的直接内存操作单元组(104)和PCI总线;
PCI主仲裁器(111),与所述的PCI主模块(108)、所述的直接内存操作单元组(104)、读事务PCI地址记录器(105)、Rapid IO从应模块(113)和Rapid IO从请求主应答模块(112)相连接;
所述的直接内存操作单元组(104),还分别连接读事务PCI地址记录器(105)和RapidIO主请求器(106);
Rapid IO协议控制器(107),分别连接所述的Rapid IO主请求器(106)、Rapid IO从应模块(113)、RapidIO从请求主应答模块(112)和RapidIO总线。
2.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的直接内存操作单元组(104)包括至少两个直接内存操作单元、状态机(201)、数据FIFO(202)、事务ID定时器(203)、事务ID管理器(204)、直接内存操作单元头信息仲裁器(205)和事务ID选择器(206),所述的至少两个直接内存操作单元、数据FIFO(202)、事务ID定时器(203)、事务ID管理器(204)和事务ID选择器(206)均连接所述的直接内存操作单元头信息仲裁器(205),该直接内存操作单元头信息仲裁器(205)还连接所述的读事务PCI地址记录器(105)、Rapid IO主请求器(106);所述的状态机(201)分别连接所述的中断控制器(109)和PCI主仲裁器(111),所述的PCI主仲裁器(111)还连接所述的事务ID管理器(204)。
3.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,直接内存操作单元包括PCI地址寄存器(801)、Rapid IO地址寄存器(802)、字节数寄存器(803)、Doorbell与消息信息寄存器(804)、模式寄存器(805)、状态寄存器(806)、链模式当前指针寄存器(807)和链模式最后指针寄存器(808);所述的PCI地址寄存器(801)和Rapid IO地址寄存器(802)均分别连接所述的字节数寄存器(803)、Doorbell与消息信息寄存器(804)、模式寄存器(805)、状态寄存器(806)、链模式当前指针寄存器(807)和链模式最后指针寄存器(808),所述的PCI地址寄存器(801);所述的PCI地址寄存器(801)和Rapid IO地址寄存器(802)还分别连接所述的直接内存操作单元头信息仲裁器(205)。
4.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的Rapid IO从请求主应答模块(112)包括:
Rapid IO从请求主应答器(303),连接于所述的Rapid IO协议控制器(107);以及
从请求数据FIFO(301)及从请求头信息FIFO(302),分别连接所述的Rapid IO从请求主应答器(303),并均连接所述的PCI主仲裁器(111)。
5.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的Rapid IO从应答模块(113)包括:
Rapid IO从应答器(403),连接于所述的Rapid IO协议控制器(107);以及
从应答数据FIFO(401)和从应答头信息FIFO(402),分别连接所述的Rapid IO从应答器(403),并均连接所述的PCI主仲裁器(111)。
6.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的Rapid IO主请求模块(106)包括:
Rapid IO从请求主应答器(503),连接于所述的Rapid IO协议控制器(107);以及
主请求数据FIFO(501)和主请求头信息FIFO(502),分别连接所述的Rapid IO从请求主应答器(503),并均连接所述的直接内存操作单元组(104)。
7.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的接收消息控制器(110)包括:至少1个消息信息单元(601)、与该消息信息单元(601)数量对应的消息定时单元(602)、与该消息信息单元(601)数量对应的消息状态单元(603)、与该消息信息单元(601)数量对应的消息地址单元(604)和消息地址选择器单元(605),所述的各个消息信息单元(601)、各个消息定时单元(602)、16个消息状态单元(603)、各个消息地址单元(604)和消息地址选择器单元(605)均连接所述的PCI主仲裁器(111)。
8.根据权利要求1所述的基于PCI总线的串行Rapid IO协议控制器,其特征在于,所述的中断控制器(109)包括:
中断仲裁器(703),分别连接所述的直接内存操作单元组(104)、PCI主模块(108)和接收消息控制器(110);以及
中断状态机(701)和中断FIFO(702),均连接所述的中断仲裁器(703)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201220527361 CN202948447U (zh) | 2012-10-15 | 2012-10-15 | 基于PCI总线的串行Rapid IO协议控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201220527361 CN202948447U (zh) | 2012-10-15 | 2012-10-15 | 基于PCI总线的串行Rapid IO协议控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202948447U true CN202948447U (zh) | 2013-05-22 |
Family
ID=48424141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201220527361 Expired - Fee Related CN202948447U (zh) | 2012-10-15 | 2012-10-15 | 基于PCI总线的串行Rapid IO协议控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202948447U (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714904A (zh) * | 2013-12-14 | 2015-06-17 | 中国航空工业集团公司第六三一研究所 | 采用窗口映射机制的RapidIO控制器及其控制方法 |
CN105182915A (zh) * | 2015-09-29 | 2015-12-23 | 大族激光科技产业集团股份有限公司 | 数控io总线控制系统 |
CN106155951A (zh) * | 2015-03-30 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN107729281A (zh) * | 2017-08-31 | 2018-02-23 | 北京计算机技术及应用研究所 | 一种基于RapidIO的高速传输实现方法 |
CN109669903A (zh) * | 2018-12-07 | 2019-04-23 | 天津津航计算技术研究所 | 一种srio协议的桥接模块设计及优化方法 |
CN113660179A (zh) * | 2021-07-30 | 2021-11-16 | 山东华芯半导体有限公司 | 一种PCIe SSD多虚拟功能设备的带宽协同控制装置及方法 |
-
2012
- 2012-10-15 CN CN 201220527361 patent/CN202948447U/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714904A (zh) * | 2013-12-14 | 2015-06-17 | 中国航空工业集团公司第六三一研究所 | 采用窗口映射机制的RapidIO控制器及其控制方法 |
CN104714904B (zh) * | 2013-12-14 | 2018-04-20 | 中国航空工业集团公司第六三一研究所 | 采用窗口映射机制的RapidIO控制器及其控制方法 |
CN106155951A (zh) * | 2015-03-30 | 2016-11-23 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN106155951B (zh) * | 2015-03-30 | 2024-01-12 | 上海黄浦船用仪器有限公司 | 一种双总线仲裁控制系统及其应用 |
CN105182915A (zh) * | 2015-09-29 | 2015-12-23 | 大族激光科技产业集团股份有限公司 | 数控io总线控制系统 |
CN107729281A (zh) * | 2017-08-31 | 2018-02-23 | 北京计算机技术及应用研究所 | 一种基于RapidIO的高速传输实现方法 |
CN107729281B (zh) * | 2017-08-31 | 2019-11-15 | 北京计算机技术及应用研究所 | 一种基于RapidIO的高速传输实现方法 |
CN109669903A (zh) * | 2018-12-07 | 2019-04-23 | 天津津航计算技术研究所 | 一种srio协议的桥接模块设计及优化方法 |
CN113660179A (zh) * | 2021-07-30 | 2021-11-16 | 山东华芯半导体有限公司 | 一种PCIe SSD多虚拟功能设备的带宽协同控制装置及方法 |
CN113660179B (zh) * | 2021-07-30 | 2023-12-08 | 山东华芯半导体有限公司 | 一种PCIe SSD多虚拟功能设备的带宽协同控制装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202948447U (zh) | 基于PCI总线的串行Rapid IO协议控制器 | |
US9639409B2 (en) | Device and method for communicating between cores | |
JP5537919B2 (ja) | データ転送のためのシステムおよび方法 | |
US6263374B1 (en) | Apparatus for coupling a bus-based architecture to a switch network | |
US7155554B2 (en) | Methods and apparatuses for generating a single request for block transactions over a communication fabric | |
CN1608255B (zh) | 使用包括扩展类型/扩展长度字段的分组头部的计算机系统中的代理之间的通信事务类型 | |
US7606933B2 (en) | Shared memory and high performance communication using interconnect tunneling | |
JPS62189549A (ja) | 多重階層レベルマルチプロセツサ装置 | |
CN110347635A (zh) | 一种基于多层总线的异构多核微处理器 | |
CN109032973B (zh) | Icb总线系统 | |
CN104536940A (zh) | 发送具有扩展头部的分组 | |
CN1570907B (zh) | 多处理器系统 | |
US7277975B2 (en) | Methods and apparatuses for decoupling a request from one or more solicited responses | |
CN114168520B (zh) | 光纤通信总线装置、设备和系统 | |
CN101937412A (zh) | 一种片上系统及其访问方法 | |
Alnæs et al. | Scalable coherent interface | |
CN104699654A (zh) | 一种基于chi片内互联总线与qpi片间互联总线互联适配系统和方法 | |
CN106844263B (zh) | 一种基于可配置的多处理器计算机系统及实现方法 | |
CN114546913A (zh) | 一种基于pcie接口的多主机之间数据高速交互的方法和装置 | |
EP1733309B1 (en) | Integrated circuit and method for transaction retraction | |
CN112882986B (zh) | 一种带有超节点以及超节点控制器的众核处理器的应用方法 | |
CN115328832B (zh) | 一种基于pcie dma的数据调度系统与方法 | |
CN114281499A (zh) | 一种总线互连时的中断传递处理方法及系统 | |
EP0588030A2 (en) | Master microchannel apparatus for converting to switch architecture | |
CN114443530A (zh) | 基于TileLink的芯片互联电路及数据传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130522 Termination date: 20141015 |
|
EXPY | Termination of patent right or utility model |