CN103038758B - 改善集成非透明桥设备的操作的方法和系统 - Google Patents
改善集成非透明桥设备的操作的方法和系统 Download PDFInfo
- Publication number
- CN103038758B CN103038758B CN201180038026.XA CN201180038026A CN103038758B CN 103038758 B CN103038758 B CN 103038758B CN 201180038026 A CN201180038026 A CN 201180038026A CN 103038758 B CN103038758 B CN 103038758B
- Authority
- CN
- China
- Prior art keywords
- register
- doorbell
- mapping
- affairs
- equipment
- 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
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- 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)
- Bus Control (AREA)
- Advance Control (AREA)
- Image Input (AREA)
- Executing Machine-Instructions (AREA)
Abstract
一种用于改善集成非透明桥设备(NTB)的操作的方法和系统,集成非透明桥设备(NTB)耦合至另一NTB设备或根端口设备。集成NTB设备具有用于保持将被发送至远程根端口或NTB设备的中断的顺序的逻辑。集成NTB设备为与集成NTB设备相关联的主基址寄存器0和与远程NTB设备相关联的次BAR0两者分配存储器的连续部分。集成NTB设备具有将主BAR0的尺寸报告为主BAR0的尺寸和次BAR0的尺寸的组合尺寸的逻辑。集成NTB设备便于基于映射寄存器的多个中断向量中的相应的一个来动态地修改门铃寄存器的每个位的映射。
Description
技术领域
本发明涉及一种非透明桥,更具体但非排他地涉及改善集成非透明桥设备的操作的方法和系统。
背景描述
非透明桥能够使两个主机或存储器域电隔离。非透明桥任一侧上的设备在另一侧上是不可见的,但非透明桥允许在设备的处理器域之间的数据传输和状态交换的路径。
图1示出了现有技术的门铃寄存器105的框图100。在非透明桥的主要侧上的设备可对现有技术的门铃寄存器105进行写或编程,以向上游发送中断至终止在附接的根端口处的非透明桥的次要侧上的另一设备。
现有技术的门铃寄存器105具有映射至特定扩展消息信号中断(MSI-X)向量的固定或硬编码的位。例如,现有技术的门铃寄存器105的0至3位映射至MSI-X向量的0110,以此类推。可通过门铃寄存器位到MSI-X向量的预定义映射来限制非透明桥设备的用户。
附图说明
本发明的特征和优点根据本主题的以下详细描述将变得显而易见,其中:
图1例示了现有技术的门铃寄存器的框图;
图2例示了根据本发明的一个实施例的集成非透明桥设备的框图;
图3例示了根据本发明的一个实施例的保持中断顺序的集成非透明桥设备的框图;
图4例示了根据本发明的一个实施例用以保持中断的顺序的流程图。
图5例示了根据本发明的一个实施例的映射寄存器的框图;
图6例示了根据本发明的一个实施例的集成非透明桥设备的存储器映射的框图;以及
图7例示了根据本发明的一个实施例的用于实现本文中公开的方法的系统。
详细描述
本文中所描述的本发明的实施例通过示例而非限制地在附图中示出。为说明的简单和清楚起见,在附图中示出的元件不一定按比例绘制。例如,为清楚起见,某些元件的尺寸可能相对于其它元件被放大。更进一步地,在认为适当时,附图标记在附图中被重复以指示相应或相似要素。在本说明书中对本发明的“一个实施例”或“实施例”的引用意味着结合该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。在本说明书各处出现的短语“在一个实施例中”并不一定均指代同一实施例。
本发明的实施例提供了一种改善集成非透明桥(NTB)设备的操作的方法和系统。在本发明的一个实施例中,NTB设备耦合至另一NTB设备。在本发明的另一实施例中,NTB设备耦合至另一根端口设备。NTB设备具有用于保持将被发送至另一NTB设备或根端口设备的中断信号的顺序的逻辑。通过这样做,可遵循被发送至另一NTB设备或根端口设备的中断的顺序。
在本发明的一个实施例中,当集成NTB设备以NTB模式操作时,耦合至该NTB设备的存储器的连续部分或区域被分配用于与非透明桥设备相关联的主基址寄存器(BAR)和与另一NTB或根端口设备相关联的次BAR。在本发明的一个实施例中,集成NTB设备具有用于报告或指示主BAR的尺寸的逻辑,将主BAR尺寸报告或指示为主BAR和次BAR的组合尺寸。
在本发明的一个实施例中,集成NTB设备便于基于映射寄存器来动态地修改门铃寄存器的每个位与多个中断向量中的相应的一个的映射。通过这样,门铃寄存器不限于预定义映射而且可被编程为中断向量的任何映射。在本发明的一个实施例中,集成NTB与外围部件互连(PCI)快速标准或由PCI特别兴趣小组(PCI-SIG)维护的规范至少部分兼容。在本发明的一个实施例中,集成NTB支持若干类型的中断,例如但不限于传统INTx中断(其中x可以为A,B,C或D)、MSI、MSI-X和任何其他类型的中断。
图2例示了根据本发明的一个实施例的集成NTB设备205的框图200。集成NTB设备205具有处理核210、配置寄存器215和根联合体(rootcomplex)220。在本发明的一个实施例中,根联合体220与总线1230、配置寄存器215以及主存储器240耦合。根联合体220具有NTB222和根端口(RP)224。根端口224经由总线3234与PCI快速(PCIe)端点设备260耦合。在本发明的一个实施例中,根联合体220代表处理核210产生事务请求。在本发明的一个实施例中,根联合体220与处理核210集成。
NTB222经由根端口/NTB252与另一设备或系统250耦合。在本发明的一个实施例中,处理核210具有用于确保根联合体220产生的事务被以正确的PCI顺序来保持的逻辑。在本发明的一个实施例中,正确的PCI顺序基于但不限于次序顺序、时间顺序、事务编号等等。在本发明的一个实施例中,配置寄存器215具有与集成NTB设备205相关联的主门铃寄存器以及与另一设备/系统250相关联的次门铃寄存器。
主和次门铃寄存器允许集成NTB设备205的处理核210使用中断或向量与另一设备/系统250通信。例如,在本发明的一个实施例中,当附接有根端口时,处理核210通过写入次门铃寄存器来与另一设备/系统250通信。在本发明的另一实施例中,当附接有远程NTB时,处理核210通过写入配置寄存器215中的寄存器(这产生以另一设备/系统250的主门铃寄存器为目标的事务)来与该另一设备/系统250通信。在本发明的一个实施例中,配置寄存器215中的寄存器被称为背对背门铃寄存器。
在本发明的一个实施例中,当次门铃寄存器的特定位被写入或编程时,产生与次门铃寄存器的特定位相关联的中断并且该中断被发送至另一设备/系统250。当远程NTB被附连并且背对背门铃寄存器的特定位被写入或编程时,产生以远程NTB的主门铃寄存器为目标的事务。这然后产生到远程设备/系统250的中断。
在本发明的一个实施例中,配置寄存器215具有映射寄存器,该映射寄存器指示主门铃寄存器的每个位与相应的中断向量的映射。在本发明的另一实施例中,配置寄存器215具有映射寄存器,该映射寄存器指示次门铃寄存器的每个位与相应的中断向量的映射。映射寄存器便于动态地修改主(或次)门铃寄存器的每个位与相应的中断向量的映射。
在本发明的一个实施例中,映射寄存器可通过在处理核210上执行的软件来编程以改变主门铃寄存器的每个位与相应的中断向量的映射,从而改变包含在配置寄存器215中的次门铃寄存器的与相应的中断向量相关联的每个位的映射。在本发明的另一实施例中,映射寄存器可通过在远程设备/系统250上执行的软件来编程以改变包含在配置寄存器215中的次门铃寄存器的与相应的中断向量相关联的每个位的映射。在本发明的一个实施例中,主(或次)门铃的每个位可被路由到任何有效的MSI-X向量,该MSI-X向量被发送至另一设备/系统250的附接的根端口/NTB252。
在本发明的一个实施例中,当根联合体220将其端口之一操作或设置为NTB222时,NTB222具有用于主侧(即,根联合体220)的主基址寄存器(BAR),以及用于次侧(即,其他设备/系统250)的次BAR。在本发明的一个实施例中,主和次BAR被映射到主存储器240的存储器映射的输入/输出区域(MMIO)中。另一设备/系统250可使用次BAR来访问NTB222的寄存器。
在本发明的一个实施例中,处理核210具有用于通过为主和次BAR分配主存储器240的连续区或区域来初始化主存储器240的MMIO的逻辑。通过这样,集成NTB205确保次BAR被映射到主存储器240中。图2中的例示不意味着是限制性的,并且可使用集成NTB设备205中的模块的不同配置而不影响本发明的工作。例如,在本发明的一个实施例中,主存储器240与集成NTB设备205集成。在本发明的一个实施例中,集成NTB设备205是单核或多核处理器。在本发明的一个实施例中,另一设备/系统252与PCI快速标准或规范至少部分兼容。
图3示出了根据本发明的一个实施例的用以保持中断顺序的集成NTB设备205的框图300。出于清楚例示起见,参照图2讨论图3。框图300示出了集成NTB设备205如何保持被发送至另一设备/系统250的中断的顺序。当中断由集成NTB设备205发送至远程设备/系统250时,处理核210产生门铃事务请求。在本发明的另一实施例中,根联合体220代表处理核210产生门铃事务请求。处理核210通过写入门铃寄存器来执行门铃事务请求。在本发明的一个实施例中,处理核210通过写入主门铃寄存器来执行门铃事务请求。门铃事务请求被发送至传输队列310和配置寄存器215。
中断产生逻辑330检查门铃事务是否为传输队列310中将被取出或执行的下一个事务。如果是,中断产生逻辑330则检查与配置寄存器215中的门铃事务相关联的寄存器是否已经被更新。如果是,中断产生逻辑330则向传输仲裁器320发送指示,该指示表明门铃事务的中断将被发送至设备/系统250。中断产生逻辑330在将指示发送至传输仲裁器320之前检查两个条件是否都满足。通过这样,在本发明的一个实施例中,门铃事务的顺序被保持。
传输仲裁器320从传输队列310或由中断产生逻辑330指示的所产生的中断中选择事务,并且将所选择的事务发送至链路层340和另一设备/系统250。图3中的例示不意味着是限制性的。在本发明的一个实施例中,中断产生逻辑330可通过处理核210或根联合体220来实现。相关领域的普通技术人员将容易理解,可实现框图300中的模块的其他组合而不影响本发明的工作。
图4示出了根据本发明的一个实施例的用以保持中断顺序的流程图400。出于清楚例示起见,参照图3来讨论图4。在步骤410,当处理核210接收到门铃事务请求时,处理核210向门铃寄存器写入。在本发明的另一实施例中,处理核210基于将被发送至另一设备/系统250的所需中断向量来写入次门铃寄存器的特定位。在本发明的另一实施例中,处理核210基于将被发送至另一设备/系统250的所需中断向量来写入背靠背门铃寄存器的特定位。当特定的门铃位被写入时,门铃事务在传输队列310中排队并且处理核210更新配置寄存器215中与门铃事务相关联的寄存器。
在步骤420,中断产生逻辑330检查门铃事务是否是传输队列310中将被执行或取出的下一个事务。如果不是,则流400返回至步骤420。如果是,流400前进到步骤430以检查配置寄存器215中与门铃事务相关联的寄存器是否已被更新。如果与门铃事务相关联的寄存器在步骤430没有被更新,则流400返回至步骤430。如果与门铃事务相关联的寄存器在步骤430已经被更新,则流400前进到步骤440以发送产生用于门铃事务的中断的指示,并且流400结束。在本发明的一个实施例中,中断产生逻辑330将指示发送至传输仲裁器320。
由中断产生逻辑330执行的步骤420和430确保事务的正确PCI顺序被遵循。只有在同时满足步骤420和430的条件时,才产生门铃事务的指定中断向量。
图5例示了根据本发明的一个实施例的映射寄存器的框图500。为了清楚例示起见,图5示出了在本发明的一个实施例中的MSI-X映射寄存器510到门铃寄存器530的映射520。在本发明的一个实施例中,MSI-X映射寄存器510具有诸个可编程位,它们表示门铃寄存器530的每个位的MSI-X映射。
例如,在本发明的一个实施例中,门铃寄存器530的位0的MSI-X映射512可被编程以映射至MSI-X向量3。在本发明的一个实施例中,表示门铃寄存器530的位0的MSI-X映射512所需的位数取决于将被发送至另一设备/系统250的唯一MSI-X向量的总数。例如,在本发明的一个实施例中,如果存在可被发送至另一设备/系统250的8个不同的MSI-X向量,则MSI-X映射寄存器510使用三个位来表示门铃寄存器530的每个位到特定MSI-X向量的映射。
三个位被编程为000b来表示到MSI-X向量0538的映射,被编程为001b来表示到MSI-X向量1536的映射,以此类推。在本发明的一个实施例中,门铃寄存器530的位0的MSI-X映射512的三个位被编程为011b以表示位0被映射至MSI-X向量3532。本领域普通技术人员将容易地理解,可使用其他方法来编程MSI-X映射寄存器510的位而不影响本发明的实现。
MSI-X映射寄存器510允许门铃寄存器530的每个位被编程以映射至任何可用的MSI-X向量。在本发明的一个实施例中,例如,门铃寄存器530的位8可被编程为映射至MSI-X向量1 536。与具有到MSI-X向量的映射的固定分配的现有技术门铃寄存器105不同,在集成非透明桥设计中,MSI-X映射寄存器510为软件或固件提供了用于动态地修改门铃位到MSI-X向量的映射的灵活方法。
图4中所示的MSI-X向量的数量不意味着是限制性的,并且集成NTB设备205可支持任何数量的中断向量。在本发明的另一实施例中,映射寄存器将另一类型的中断而不是MSI-X中断映射至门铃寄存器530的位。
图6例示了根据本发明的一个实施例的集成NTB设备205的存储器映射的框图600。在本发明的一个实施例中,当在现有的PCI快速端口上操作集成NTB设备205时,存在基址寄存器器(BAR),另一设备/系统250可使用基址寄存器(BAR)来访问集成NTB设备205中的寄存器。在本发明的一个实施例中,这些寄存器位于主存储器240的MMIO区域中并且被称为次BAR。
在本发明的一个实施例中,当另一设备/系统250连接至集成NTB设备205的NTB222时,另一设备/系统250能够读取和写入作为NTB222一部分的寄存器。为此,在本发明的一个实施例中,集成NTB设备205为主和次BAR两者提供足够的MMIO空间。例如,在本发明的一个实施例中,主BAR与次BAR寻址相同的MMIO寄存器,并且可具有相同的尺寸。在本发明的一个实施例中,主和次BAR可具有16位、32位或任何其他数量的位的尺寸。
在本发明的一个实施例中,次BAR具有可由枚举软件或固件来读取以确定集成NTB设备205中的次BAR所需的存储器量的固定数量的只读位和固定数量的读-写位。在本发明的一个实施例中,集成NTB设备205具有将主BAR尺寸指示为主BAR和次BAR的尺寸的组合的逻辑。例如,在本发明的一个实施例中,当主和次BAR都具有32千字节(KB)尺寸时,由集成NTB设备205指示的主BAR的尺寸为64千字节。通过这样,允许集成NTB设备205为主和次BAR两者分配足够的存储器。
在本发明的一个实施例中,处理核210检查是否存在到主BAR的访问(610),以及如果存在,则将访问的地址映射至主存储器240中属于主和次BAR的组合的64千字节中的低32千字节,该低32千字节被示出为主BAR0寄存器650。在本发明的一个实施例中,主BAR0基址652可被分配在主存储器240中的任何位置。在620,另一设备/系统250检查是否存在到次BAR的访问,如果存在,则在630中转换该访问的地址并将该访问的地址映射至主存储器240的高32千字节,该高32千字节被示出为次BAR0寄存器640。在本发明的一个实施例中,次BAR0基址654被设置为主BAR0基址652和主BAR0的真实尺寸(不是报告尺寸)之和。
在本发明的一个实施例中,主和次BAR的分别映射有助于确保寄存器仅对应当看见相应的寄存器的端口可见。在本发明的一个实施例中,在处理核210上运行的软件查看到主BAR的尺寸被报告为主BAR0的尺寸和次BAR0的尺寸。
图7例示了根据本发明的一个实施例的用于实现本文中公开的方法的系统700。系统700包括但不限于:桌面计算机、膝上型计算机、上网本、笔记本计算机、个人数字助理(PDA)、服务器、工作站、蜂窝电话、移动计算设备、因特网设备或任何其他类型的计算设备。在另一实施例中,用于实现本文中公开的方法的系统700可以是片上系统式(SOC)系统。
处理器710具有用于执行系统700的指令的处理核712。处理核712包括但不限于:用于取得指令的预取逻辑、用于解码指令的解码逻辑、用于执行指令的执行逻辑等。处理器710具有用于高速缓存系统700的指令和/或数据的高速缓存存储器716。在本发明的另一实施例中,高速缓存存储器716包括但不限于一级、二级和三级高速缓存存储器、或者处理器710内的任何其他配置的高速缓存存储器。
存储器控制中枢(MCH)714执行使得处理器710具有访问包括易失性存储器730和/或非易失性存储器732的存储器734并与之进行通信的功能。易失性存储器732包括但不限于:同步动态随机访问存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)、和/或任何其他类型的随机存取存储器设备。非易失性存储器734包括但不限于:NAND闪存、相变存储器(PCM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、或任何其他类型的非易失性存储器设备。
存储器730存储将由处理器710执行的信息和指令。存储器730还可在处理器710执行指令的同时存储临时变量或其他中间信息。芯片组720经由点对点(PtP)接口717和722与处理器710连接。芯片组720使得处理器710能连接至系统700中的其他模块。在本发明的一个实施例中,接口717和722根据诸如快通互连(QPI)等PtP通信协议进行操作。芯片组720连接至显示设备740,该显示设备包括但不限于:液晶显示器(LCD)、阴极射线管(CRT)显示器、或任何其他形式的视觉显示设备。
另外,芯片组720连接至一条或多条总线750和755,这些总线互联各个模块774、760、762、764和766。如果总线速度或通信协议中存在失配,则总线750和755可经由总线桥772互联在一起。芯片组720与非易失性存储器760、大容量存储设备762、键盘/鼠标764和网络接口766耦合,但不限于此。在一个实施例中,大容量存储设备762包括但不限于固态驱动器、硬盘驱动器、通用串行闪存驱动器、或任何其他形式的计算机数据存储介质。网络接口766是通过使用任何类型的公知网络接口标准来实现的,这些标准包括但不限于:以太网接口、通用串行(USB)接口、外围组件互连(PCI)快速接口、无线接口和/或任何其他合适类型的接口。无线接口根据IEEE802.11标准及其相关系列、家庭插座AV(HPAV)、超宽带(UWB)、蓝牙、WiMax或任何其他形式的无线通信协议来操作,但不限于此。
虽然图7中所示的模块被描绘为系统700内的不同块,但是这些块中的一些块所执行的功能可被集成在单个半导体电路内,或者可使用两个或更多个不同的集成电路来实现。例如,尽管高速缓存存储器716被描绘为处理器710内的不同的块,但高速缓存存储器716可分别被集成到处理器核712中。在本发明的另一实施例中,系统700可包括一个以上的处理器/处理核。
本文中公开的方法可用硬件、软件、固件或其任何其他组合来实现。尽管描述了所公开的主题的实施例的示例,但是相关领域技术人员将容易理解,可替代地使用实现所公开的主题的许多其他方法。在之前的描述中,已描述了所公开的主题的各个方面。为了解释的目的,阐述了特定数量、材料和配置,以便提供对本主题的全面理解。然而,受益于本公开的相关领域技术人员显而易见的是本主题可在没有特定细节的情况下实现。在其他实例中,众所周知的特征、组件或模块被省去、简化、组合、或分割,以免使本发明模糊。
文本中所用的术语“可操作”意味着设备、系统、协议等在设备或系统处于掉电状态下能操作或适于操作其所需功能。所公开的主题的各个实施例可以用硬件、固件、软件、或其组合的方式来实现,并且可通过参考或结合诸如指令、功能、过程、数据结构、逻辑、应用程序、模拟的设计表示或格式、仿真、和设计制造之类的程序代码来描述,这些代码在被机器访问时导致机器执行任务、定义抽象数据类型或低级硬件上下文、或产生结果。
附图中所示的技术可以是通过使用存储在诸如通用计算机或计算设备上并在其上执行的代码和数据来实现的。此类计算设备通过使用诸如机器可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存设备;相变存储器)之类的机器可读介质和机器可读通信介质(例如,电、光、声或其它形式的传播信号,诸如载波、红外信号、数字信号等)来存储和传达(内部地以及通过网络与其他计算设备)代码和数据。
尽管已经参考所示实施例描述所公开的主题,但不打算以限制的含义解释本说明书。对所公开主题相关领域中的技术人员显而易见的所示实施例的各种修改以及本主题的其它实施例被认为落在所公开的主题的范围内。
Claims (17)
1.一种用于改善集成非透明桥设备的操作的装置,包括:
非透明桥,经由根端口与设备耦合;以及
与非透明桥耦合的用于保持将经由根端口被发送至所述设备的多个中断信号的顺序的逻辑,其中所述用于保持将经由根端口被发送至所述设备的多个中断信号的顺序的逻辑用于:
确定门铃事务是否是将从传输队列中下一个被取出;
确定与所述门铃事务相关联的门铃寄存器是否已被更新;以及
响应于确定所述门铃事务是将从传输队列中下一个被取出以及确定与所述门铃事务相关联的门铃寄存器是否已被更新,产生多个中断信号中的一个。
2.如权利要求1所述的装置,其特征在于,多个中断信号包括传统中断、消息信号中断(MSI)以及扩展MSI(MSI-X)中的至少一个。
3.如权利要求1所述的装置,其特征在于,进一步包括多个配置寄存器,其中所述门铃寄存器是多个配置寄存器中的一个。
4.如权利要求3所述的装置,其特征在于,多个配置寄存器包括映射寄存器,并且其中映射寄存器用于指示所述门铃寄存器的每个位与多个MSI-X向量中的相应一个的映射。
5.如权利要求1所述的装置,其特征在于,所述装置能根据外围组件接口快速(PCIe)规范操作。
6.如权利要求1所述的装置,其特征在于,还包括处理核,其中所述逻辑是所述处理核的一部分。
7.如权利要求6所述的装置,其特征在于,进一步包括:
存储器,与处理核和非透明桥耦合,其中所述处理核用于分配存储器的连续部分,所述存储器的连续部分包括与非透明桥相关联的主基址寄存器和与所述设备相关联的次基址寄存器。
8.一种用于改善集成非透明桥设备的操作的系统,包括:
存储器;
处理核;
根联合体,与所述处理核、存储器和总线耦合;
端口,位于所述总线之上,作为非透明桥来操作,所述非透明桥经由通信链路与具有根端口的设备耦合,其中所述处理核通过为主基址寄存器和次基址寄存器分配所述存储器的连续区域来将与所述设备相关联的非透明桥的次侧映射至与非透明桥的主侧相关联的存储器的存储器映射输入输出(MMIO)区域;
中断产生逻辑,与所述非透明桥耦合,用于保持将经由通信链路发送至所述设备的多个中断信号的顺序;以及
多个配置寄存器,并且其中所述用于保持将经由通信链路发送至所述设备的多个中断信号的顺序的中断产生逻辑用于:
确定门铃事务是否将从传输队列中下一个被取出;
确定与所述门铃事务相关联的门铃寄存器是否已被更新;以及
响应于确定所述门铃事务将从传输队列下一个被取出以及确定与所述门铃事务相关联的门铃寄存器是否已被更新,产生所述多个中断信号中的一个。
9.如权利要求8所述的系统,其特征在于,所述处理核进一步用于将所述主基址寄存器的尺寸报告为所述存储器的所述连续区域的尺寸。
10.如权利要求9所述的系统,其特征在于,所述设备是另一非透明桥设备和根端口设备中的一个。
11.如权利要求8所述的系统,其特征在于,所述多个配置寄存器包括映射寄存器,并且其中所述映射寄存器用于指示所述门铃寄存器的每个位与多个向量中的相应一个的映射。
12.如权利要求11所述的系统,其特征在于,所述多个向量包括传统中断、消息信号中断(MSI)以及扩展MSI(MSI-X)中的至少一个。
13.如权利要求12所述的系统,其特征在于,所述系统能根据外围组件接口快速(PCIe)规范操作。
14.一种用于改善集成非透明桥设备的操作的方法,包括:
便于对门铃寄存器的每个位与多个向量中的相应一个的映射的动态修改,其中所述映射至少部分地基于映射寄存器;
保持将经由根端口发送至设备的多个中断信号的顺序;
其中保持将经由根端口发送至设备的多个中断信号的顺序包括:
确定门铃事务是否将从传输队列中下一个被取出;
确定与所述门铃事务相关联的门铃寄存器是否已被更新;以及
响应于确定所述门铃事务将从传输队列下一个被取出以及确定与所述门铃事务相关联的所述门铃寄存器是否已被更新,产生所述多个中断信号中的一个。
15.如权利要求14所述的方法,其特征在于,所述映射寄存器包括与所述门铃寄存器的每个位相关联的一个或多个位,所述方法进一步包括:
对与所述门铃寄存器的每个位相关联的所述一个或多个位编程,以设置所述门铃寄存器的每个位与所述多个向量中的相应一个的映射。
16.如权利要求15所述的方法,其特征在于,所述多个向量包括传统中断、消息信号中断(MSI)以及扩展MSI(MSI-X)中的至少一个。
17.如权利要求14所述的方法,其特征在于,还包括:
将主基址寄存器的尺寸指示为所述主基址寄存器的尺寸和次基址寄存器的尺寸之和。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/792,490 US8589613B2 (en) | 2010-06-02 | 2010-06-02 | Method and system to improve the operations of an integrated non-transparent bridge device |
US12/792,490 | 2010-06-02 | ||
PCT/US2011/035169 WO2011152950A2 (en) | 2010-06-02 | 2011-05-04 | Method and system to improve the operations of an integrated non-transparent bridge device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103038758A CN103038758A (zh) | 2013-04-10 |
CN103038758B true CN103038758B (zh) | 2015-09-09 |
Family
ID=45065376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180038026.XA Active CN103038758B (zh) | 2010-06-02 | 2011-05-04 | 改善集成非透明桥设备的操作的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8589613B2 (zh) |
EP (1) | EP2577491A4 (zh) |
CN (1) | CN103038758B (zh) |
TW (1) | TWI530793B (zh) |
WO (1) | WO2011152950A2 (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10534606B2 (en) | 2011-12-08 | 2020-01-14 | Oracle International Corporation | Run-length encoding decompression |
WO2013180691A1 (en) * | 2012-05-29 | 2013-12-05 | Intel Corporation | Peer-to-peer interrupt signaling between devices coupled via interconnects |
JP5930046B2 (ja) * | 2012-08-17 | 2016-06-08 | 富士通株式会社 | 情報処理装置、及び情報処理装置の制御方法 |
TW201411358A (zh) * | 2012-09-10 | 2014-03-16 | Accusys Inc | 透過PCIe介面連接於一主機系統的儲存裝置和方法 |
US9424219B2 (en) * | 2013-03-12 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge |
US9311266B2 (en) * | 2013-06-14 | 2016-04-12 | National Instruments Corporation | Hidden base address register programming in peripheral component interconnect express buses |
US9672167B2 (en) | 2013-07-22 | 2017-06-06 | Futurewei Technologies, Inc. | Resource management for peripheral component interconnect-express domains |
US11113054B2 (en) | 2013-09-10 | 2021-09-07 | Oracle International Corporation | Efficient hardware instructions for single instruction multiple data processors: fast fixed-length value compression |
US9465760B2 (en) | 2013-11-18 | 2016-10-11 | Futurewei Technologies, Inc. | Method and apparatus for delivering MSI-X interrupts through non-transparent bridges to computing resources in PCI-express clusters |
CN103605595A (zh) * | 2013-12-10 | 2014-02-26 | 浪潮电子信息产业股份有限公司 | 一种基于dos环境的ntb通讯的测试方法 |
US9665513B2 (en) * | 2013-12-30 | 2017-05-30 | Intel Corporation | Systems and methods for automatic root port to non-transparent bridge switching for a PCI express interconnect architecture |
CN105760319A (zh) * | 2014-12-15 | 2016-07-13 | 中兴通讯股份有限公司 | 数据发送成功的确认方法及装置 |
US9747225B2 (en) * | 2015-05-05 | 2017-08-29 | Microsoft Technology Licensing, Llc | Interrupt controller |
US10922252B2 (en) * | 2015-06-22 | 2021-02-16 | Qualcomm Incorporated | Extended message signaled interrupts (MSI) message data |
US9760513B2 (en) | 2015-09-22 | 2017-09-12 | Cisco Technology, Inc. | Low latency efficient sharing of resources in multi-server ecosystems |
US10599488B2 (en) | 2016-06-29 | 2020-03-24 | Oracle International Corporation | Multi-purpose events for notification and sequence control in multi-core processor systems |
WO2018031939A1 (en) * | 2016-08-12 | 2018-02-15 | Liqid Inc. | Disaggregated fabric-switched computing units |
US10380058B2 (en) | 2016-09-06 | 2019-08-13 | Oracle International Corporation | Processor core to coprocessor interface with FIFO semantics |
US10783102B2 (en) | 2016-10-11 | 2020-09-22 | Oracle International Corporation | Dynamically configurable high performance database-aware hash engine |
CN106484652B (zh) * | 2016-10-26 | 2019-09-24 | 郑州云海信息技术有限公司 | 一种基于ntb硬件的多队列通信方法及系统 |
US10459859B2 (en) | 2016-11-28 | 2019-10-29 | Oracle International Corporation | Multicast copy ring for database direct memory access filtering engine |
US10725947B2 (en) | 2016-11-29 | 2020-07-28 | Oracle International Corporation | Bit vector gather row count calculation and handling in direct memory access engine |
US10884970B2 (en) * | 2016-12-28 | 2021-01-05 | Intel Corporation | Techniques for coalescing doorbells in a request message |
US10180924B2 (en) | 2017-05-08 | 2019-01-15 | Liqid Inc. | Peer-to-peer communication for graphics processing units |
US11593291B2 (en) * | 2018-09-10 | 2023-02-28 | GigaIO Networks, Inc. | Methods and apparatus for high-speed data bus connection and fabric management |
CN111666231B (zh) * | 2019-03-05 | 2023-02-10 | 佛山市顺德区顺达电脑厂有限公司 | 于丛集式系统中维持存储器共享方法 |
WO2020219807A1 (en) | 2019-04-25 | 2020-10-29 | Liqid Inc. | Composed computing systems with converged and disaggregated component pool |
US11403247B2 (en) | 2019-09-10 | 2022-08-02 | GigaIO Networks, Inc. | Methods and apparatus for network interface fabric send/receive operations |
WO2022021372A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种处理器、ufs控制方法及计算机系统 |
US11442776B2 (en) | 2020-12-11 | 2022-09-13 | Liqid Inc. | Execution job compute unit composition in computing clusters |
CN113296061A (zh) * | 2021-05-19 | 2021-08-24 | 北京无线电测量研究所 | 一种同步脉冲信号的传输方法、系统和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629179B1 (en) * | 2000-07-31 | 2003-09-30 | Adaptec, Inc. | Message signaled interrupt generating device and method |
CN101588285A (zh) * | 2009-06-24 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 一种非透明传输的实现方法、非透明桥和通信系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6748478B1 (en) * | 2000-12-27 | 2004-06-08 | Intel Corporation | System function configurable computing platform |
US7363389B2 (en) * | 2001-03-29 | 2008-04-22 | Intel Corporation | Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine |
US7062594B1 (en) * | 2004-06-30 | 2006-06-13 | Emc Corporation | Root complex connection system |
US7934033B2 (en) * | 2008-03-25 | 2011-04-26 | Aprius, Inc. | PCI-express function proxy |
US8244951B2 (en) * | 2008-09-25 | 2012-08-14 | Intel Corporation | Method and apparatus to facilitate system to system protocol exchange in back to back non-transparent bridges |
TW201015336A (en) * | 2008-10-03 | 2010-04-16 | Accusys Technology Ltd | Shared-storage bus switch |
JP5074457B2 (ja) * | 2009-06-04 | 2012-11-14 | 株式会社日立製作所 | 計算機システム、スイッチ切り替え方法及びpciスイッチ |
-
2010
- 2010-06-02 US US12/792,490 patent/US8589613B2/en not_active Expired - Fee Related
-
2011
- 2011-05-04 WO PCT/US2011/035169 patent/WO2011152950A2/en active Application Filing
- 2011-05-04 EP EP11790154.6A patent/EP2577491A4/en not_active Ceased
- 2011-05-04 CN CN201180038026.XA patent/CN103038758B/zh active Active
- 2011-05-11 TW TW100116480A patent/TWI530793B/zh active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6629179B1 (en) * | 2000-07-31 | 2003-09-30 | Adaptec, Inc. | Message signaled interrupt generating device and method |
CN101588285A (zh) * | 2009-06-24 | 2009-11-25 | 成都市华为赛门铁克科技有限公司 | 一种非透明传输的实现方法、非透明桥和通信系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2577491A4 (en) | 2014-01-22 |
WO2011152950A3 (en) | 2012-04-05 |
TW201211778A (en) | 2012-03-16 |
EP2577491A2 (en) | 2013-04-10 |
US20110302349A1 (en) | 2011-12-08 |
CN103038758A (zh) | 2013-04-10 |
TWI530793B (zh) | 2016-04-21 |
WO2011152950A2 (en) | 2011-12-08 |
US8589613B2 (en) | 2013-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103038758B (zh) | 改善集成非透明桥设备的操作的方法和系统 | |
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US11768791B2 (en) | Flattening portal bridge | |
CN104246651B (zh) | 平台中的动态功率限值共享 | |
KR102317657B1 (ko) | Nvdimm을 포함하는 장치 및 그것의 엑세스 방법 | |
CN108292267B (zh) | 用于配置装置的方法、系统和设备 | |
CN104115129A (zh) | 用于从处理器到存储器子系统智能刷新数据的系统和方法 | |
CN112035381A (zh) | 一种存储系统及存储数据处理方法 | |
CN110444236B (zh) | 选择性连接到非易失性存储器的数据存储设备 | |
CN103927276A (zh) | 基于Zynq-7000的PCM FMC扩展板及其工作方法 | |
CN101436171B (zh) | 模块化通信控制系统 | |
WO2017151262A1 (en) | Method and apparatus for providing a contiguously addressable memory region by remapping an address space | |
CN102393838B (zh) | 数据处理方法及装置、pci-e总线系统、服务器 | |
CN103222286A (zh) | 路由交换装置、网络交换系统和路由交换方法 | |
CN109416667A (zh) | 具有动态且可配置的响应的、使用两个存储器级的串行设备仿真器 | |
CN109710186A (zh) | 一种基于eMMC阵列的高速数据存储与传输系统 | |
CN101488119B (zh) | 地址译码方法、装置及单板 | |
US11099762B2 (en) | Multi host controller and semiconductor device including the same | |
CN105068965A (zh) | 基于I2C总线的NAND Flash存储方法及系统 | |
CN106557429A (zh) | 一种内存数据的迁移方法和节点控制器 | |
US9239768B2 (en) | Distributed pin map memory | |
CN108804218A (zh) | 硬盘的分配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |