CN103842980B - 用于协议中立织物的方法、系统和装置 - Google Patents

用于协议中立织物的方法、系统和装置 Download PDF

Info

Publication number
CN103842980B
CN103842980B CN201280047773.4A CN201280047773A CN103842980B CN 103842980 B CN103842980 B CN 103842980B CN 201280047773 A CN201280047773 A CN 201280047773A CN 103842980 B CN103842980 B CN 103842980B
Authority
CN
China
Prior art keywords
pci
compatible
equipment
standard
fabric
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
Application number
CN201280047773.4A
Other languages
English (en)
Other versions
CN103842980A (zh
Inventor
B·L·弗莱明
A·R·扎哈尔
A·曼德哈尼
S·B·阿查亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103842980A publication Critical patent/CN103842980A/zh
Application granted granted Critical
Publication of CN103842980B publication Critical patent/CN103842980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Bus Control (AREA)

Abstract

实施例整合非PCI兼容设备与PCI兼容操作系统。一种织物系统模拟PCI的行为。在非PCI兼容设备不知道如何响应PCI枚举时,各实施例提供PCI枚举应答且因而在仿真期间仿真将通常来自PCI兼容设备的应答。各实施例允许系统设计者把非标准织物结构与仍然使用现代PCI兼容操作系统中存在的稳健的和成熟的PCI基础设施的益处结合起来。更一般地,各实施例允许与第一标准兼容(但不与第二标准兼容)的操作系统发现与第一标准不兼容(但可能与第二标准兼容)的设备并和该设备通信。在此描述了其他实施例。

Description

用于协议中立织物的方法、系统和装置
背景
外围组件互连(PCI)涉及定义允许PCI兼容的设备(例如,扩展卡)与主机处理器通信的本地织物(fabric)系统的规范。在此所使用的,织物涉及用于耦合平台上的组件(例如,把外围设备耦合到处理器)的总线和/或互连系统。在系统初始化期间,PCI枚举发生,PCI枚举是把资源指派给PCI主机桥上的PCI设备的过程。这一过程包括:(1)指派PCI织物号和PCI中断,(2)分配PCI输入/输出(I/O)资源、PCI存储器资源和PCI可预取存储器资源,以及(3)设置杂项PCI直接存储器访问(DMA)值。可以在引导过程期间执行PCI枚举。这种枚举涉及即插即用(PnP)规范,该规范允许主机自动地配置自身以便与设备(例如,PCI设备、照相机、控制器、监视器)一起工作。用户可以“插入”外围设备并“使用”而不需要手动地配置系统。PnP平台要求PnP兼容的BIOS和PnP兼容的设备两者。
某些体系结构(例如,高级可扩展接口(AXI)、开放核心协议(OCP))是模块化的,且通过从现有的设计快速地添加或删除知识产权(IP)块来允许快速增殖。这部分地是由于可以为给定配置自动生成的互连织物,以及实现耦合到这些织物的相同的标准接口的IP块的大型生态系统。然而,这些IP块不能与PCI兼容的主机一起使用,这是由于各个块缺少PCI兼容性所要求的特征。例如,这些IP在固定的地址处操作(排除了PnP),不存在用于发现和枚举的机制,不实现PCI类型的排序,以及缺少了PCI风格的电源管理特征。
因而,想要与这些非PCI兼容的IP一起操作的多个平台(例如,智能电话、手持式移动设备、个人数字助理、平板电脑、膝上型计算机、上网本等等)不能也与收缩包装(shrink-wrap)的PCI兼容的操作系统(例如,Linux、微软Windows)一起操作。结果,设计者必须编写每一设备专用的织物驱动器和OS。这种解决方法是有问题的,这是因为,例如,必须生产针对特定设备的特定驱动器抑制了解决方案的开发和可扩展性。
附图简述
将从所附权利要求、一个或多个示例实施例的下列详细描述和相应的图中明显看出本发明的各实施例的特征和优点,附图中:
图1包括本发明的实施例的框图。
图2包括本发明的实施例中的过程。
图3包括本发明的实施例中的过程。
图4包括在本发明的各种实施例中的寄存器配置。
详细描述
在下面的描述中,阐述了众多特定细节,但无需这些特定的细节就可以实践本发明的各实施例。没有详细示出公知的电路、结构和技术,以避免模糊对本说明书的理解。“一种实施例”、“各种实施例”以及指示这样描述的各种实施例的类似物可以包括具体的特征、结构或特性,但不是每种实施例都一定包括这些具体的特征、结构或特性。一些实施例可以具有对其他实施例所描述的一些、全部特征或没有这些特征。“第一”、“第二”、“第三”等描述了一种通用的对象,且指示正在提及类似对象的不同实例。这样的形容词并不意味着这样描述的对象必须是按照无论是在时间上、空间上、在排名中或以任何其他方式的给定顺序。“连接”可以指示各元素处于相互的直接物理接触或电气接触,且“耦合”可以指示各元素相互协作或交互,但是它们可以是或者不是直接物理接触或电气接触。另外,虽然在不同的附图中相似的或相同的标号可以用来表示相同或相似的部件,但这样做并不意味着包括相似的或相同的标号的全部附图构成单一的或相同的实施例。
图1包括本发明的实施例的框图。高性能片上系统(SOC)织物130把处理器105(例如,具有集成高速缓存的中央处理单元)耦合到存储器125(例如,诸如RAM等的系统存储器)。在一些实施例中,这种耦合可以经由存储器控制器120发生。PCI兼容设备可以直接地连接到SOC织物。例如,织物130直接地连接到图形设备150。
I/O织物155经由桥135耦合到SoC织物130。因而,I/O织物155把处理器105耦合到设备160。设备160可以包括,例如,音频子系统、通用串行总线(USB)、串行高级技术附件(SATA)、UART、SDIO、SPI、I2S、I2C、MIPI HSI控制器和/或各种SoC加速器。这些设备可以是非PCI兼容的。为便于引用,设备161被看作是PCI PnP兼容的,而设备162是非PCI PnP兼容的。I/O织物155可以经由桥165耦合到进一步的设备170。
桥135可以是芯片组的一部分,且可以操作为把来自其他织物的数据合并到主系统织物。桥135可以耦合到或包括硬件捕获模块140和硬件辅助模块141。捕获模块和辅助模块可以包括硬件逻辑(例如,微控制器)、固件和/或软件。参照图2更详细地讨论模块140、141。
图1仅仅是代表性框图。在各实施例中可以包括到诸如USB或火线织物等的其他织物的接口。在各种实施例中,可以用非PCI兼容的织物来代替PCI织物155。而且,一种实施例可以包括多个PCI织物。
PCI织物155可以与PnP BIOS和在处理器105上操作的收缩包装PCI OS(例如,Windows、Linux)通信。因而,系统100可以包括位于设备160和/或170内的PCI兼容设备(这些设备可以与设备160和/或170中的非PCI兼容设备混合)的PnP特征。PnP允许系统100自动地识别和配置设备。PnP BIOS可以读取扩展系统配置数据(ESCD),以便得到现有PnP设备上的配置信息。OS中的PnP处理程序可以完成由BIOS为每一PnP设备开始的配置过程。PnP自动进行若干任务,诸如例如设置中断请求(IRQ)硬件中断以便允许设备与处理器105通信。桥135管理硬件中断以便避免在设备160当中的冲突。PnP也设置直接存储器访问(DMA),使得把设备160中的任何被配置为无需首先咨询处理器105就访问系统存储器125。而且,PnP设置存储器地址,使得给设备160指派系统存储器125中的一部分以供独占性使用。PnP还设置I/O配置,以便定义由设备160用来接收和发送信息的端口。
图2包括本发明的一种实施例中的过程。在框205中通过发起枚举来开始过程200。在一种实施例中,借助于枚举系统,BIOS发起PnP BIOS。通过把信号发送给连接到该织物的设备,通过询问设备160的ID,PnP BIOS扫描PCI织物155以便发现硬件。诸如设备161等的PnP设备可以通过用经由织物155发送给BIOS的其设备ID标识本身来进行响应。PnP BIOS检查ESCD以便了解是否已经存在PnP设备161的配置数据。若否,则PnP BIOS把例如IRQ、DMA、存储器地址和I/O设置指派给PnP设备161并把数据保存在ESCD中。当OS启动时,它检查ESCD和PCI织物155。OS检测到设备161是新设备并查找和加载必要的驱动器。
框205可以包括使用固件的简单固件接口(SFI)以便把静态表导出到OS。SFI表是存储器中可以共享公共表头部格式的数据结构。SFI可以提供对标准ACPI XSDT(扩展系统描述表)的访问,标准ACPI XSDT可以由SFI用来防止在SPI和ACPI之间的命名空间冲突。SFI可以访问诸如PCI存储器配置表(MCFG)等的标准ACPI表。OS可以通过在物理地址之间的边界内搜索来查找系统表。框205也可以参加设置或检查诸如IOCFG寄存器等的配置寄存器。
在框210中,发生了本地织物事务产生。在框215中,如果该事务是由本地织物设备(例如,织物155)声明的,那么,该过程继续进行到框255,在框255中,PCI配置事务结束且如果需要的话,枚举继续进行。
然而,如果在框215中没有声明配置事务(例如,周期),则本发明的一种实施例把该事务转发到桥135(框220)。如果没有启用硬件捕获140,则该过程进行到框230,在框230中,生成不支持请求(UR)响应。如果启用了捕获,则硬件捕获和硬件辅助模块140、141开始起作用。
通常,关于模块140、141,一种实施例把SoC中的现有PCI结构扩展到包括驻留在非PnP织物上的设备(例如,OCP兼容的设备,类似于设备162)。模块140包括/耦合硬件捕获模块,该硬件捕获模块包括捕获和转发PCI配置事务(即,周期)的硬件(框235)。模块141包括硬件辅助模块,该硬件辅助模块包括应对捕获并提供行为模型的逻辑或固件,以便跨越异类织物结构(例如,设备161和162两者)提供一致性PCI配置空间(框240)。
更具体地,且如上面所说明的,SoC中的现有PCI配置支持生成PCI配置周期(参见框205),其中的一些是在支持PCI的织物上的设备所声明的(参见发源于框215的“是”分支)。然而,PCI织物中不声明的周期(参见发源于框215的“否”分支)被转发到桥135(框220)。按照惯例,在非PnP启用的桥接收到PCI配置或I/O事务时,该桥将生成UR响应,且该事务将终止。然而,模块140、141(直接地或经由耦合)把逻辑添加到桥135。模块140捕获该事务并生成给模块141的硬件(HW)辅助组件的通知(框235)。硬件辅助模块141接收来自桥135(其包括或耦合到模块14)的关于该事务的信息(例如,R/W、织物、设备、函数、寄存器)。基于关于该事务的信息,硬件辅助141确定应当生成什么类型的响应(框240)。如果该事务不针对硬件辅助织物上的设备(例如,设备161),那么,硬件辅助141生成主中止(master abort)(框245)。否则,在框250中,硬件辅助使用桥135的特征(参见框250、255)来适当地终止事务。
在另一实施例中,桥135可以生成对主要主机处理器(primary host processor)(例如,处理器105)的中断,这允许在主机上运行的代码仿真所期望的行为。系统管理中断(SMI)可以被用来以对OS透明的方式调用OS无关的平台专用代码。
存在模块140、141的各种实施例,下面阐述其中的四个。这些实施例实现遗留I/O和配置周期的方针,如下所示:(1)微控制器(uController)辅助的、非SMI#机制,(2)uController辅助的、uController生成的SMI#机制,(3)uController辅助的、桥生成的SMI#机制,以及(4)非uController辅助的、桥生成的SMI#机制。不同的机制中,I/O周期和配置周期均可以独立操作。
关于第一机制(uController辅助的、非SMI#的机制),该机制要求OCP织物中的uController(例如,设备161)。这给uController带来了PCI仿真的负担。图3中包括了关于此实施例的高级流程图。在框305中,由CPU发起的、未经其他代理声明的I/O周期作为I/O或PCI配置(Config)周期而被转发。这些被PCI到OCP的桥(模块140)捕获(框305)并被发送给uController(框310),例如使用Thread2(线程2)上的处理器间通信(IPC)消息。IO_IPC_EN和CFG_IPC_EN寄存器中的配置位允许这种功能性。寄存器默认为禁用状态。
在框315中,uController通过运行代码执行其PCI或I/O周期仿真。例如,uController给OS提供设备(例如,设备161)的设备ID、IRQ、DMA、存储器地址和I/O设置。
在框320中,伴随着要随读完成返回的任何数据,uController在Thread2上把成功的或不成功的完成状态写到桥135寄存器空间中的特定地址位置。在框325中,桥135生成I/O或配置周期的上游完成通信(upstream completion communication)。
关于第二机制(uController辅助的、uController生成的SMI#机制),该机制也要求OCP织物中的uController。该实施例类似于图3的实施例;然而,在此实施例中,这种uController产生SMI#。这提供了灵活性且允许固件(例如,用于Intel微处理器的Intel指令集体系结构)与uController一起共享仿真责任,并应对uController不能够处理的情形。该实施例包括框305、310、315,但后来该实施例中,uController生成作为虚拟遗留线(Virtual Legacy Wire:VLW)的SMI#。桥135把VLW_Complete(VLW_完成)转发回到uController。然后,uController在Thread2上用成功的或不成功的完成状态写到桥135寄存器空间中的特定地址位置(框320)。uController是平台中的单个SMI#控制器。
关于第三机制(uController辅助的、桥生成的SMI#机制),这种机制也要求OCP织物中的uController,且类似于第二机制,但桥135生成SMI#。该实施例可以实现框305、310、315、320。如果uController返回不成功的完成,则桥135向处理器105生成SMI#并置位SMI_STS位。配置位IO_SMI_EN和CFG_SMI_EN寄存器(在启用IO_IPC_EN&CFG_IPC_EN时)允许在桥135中的SMI#生成功能性且默认为禁用。由于没有遗留边带信号,VLW机制被用来把SMI#传送给处理器105。硬件需要确保VLW的排序和I/O或配置事务的完成。具体地,处理器105可以在I/O操作完成之前接收VLW。然后,桥135在边带信道上发送消息(指示这是SMI#的VLW)以便向处理器105生成VLW SMI#消息。在起动SMI#时,桥135清除EOS(SMI的结束)位。桥135是该平台中的单个SMI#控制器。在把SMI#VLW传送给CPU时,把确认消息随边带信道上的VLW_Complete消息发送回到桥135。这有助于确保SMI#已经被传送给CPU,且仅存在单个未完成的VLW消息。桥135具有保存SMI#的源的SMI#状态寄存器。该机制实现框325,且SMM处理程序在退出之前清除SMI_STS位并置位EOS位。
关于第四机制(非uController辅助的、桥生成的SMI#机制),该机制不要求OCP织物中的uController且依赖于固件(例如,用于Intel微处理器的Intel指令集体系结构)进行仿真。该实施例允许经由SMI#把任何I/O或配置非条件性地矢量化回到处理器。因而,(1)如果uController IPC机制随时间而改变/进化,这可以通过调节SMI#处理程序来适应,以及(2)该实施例为不具有uController上的辅助OCP部分上的PCI IP提供仿真I/O和配置周期的机制。一种实施例如下实现一种流。由PCI到OCP的桥135捕获由CPU发起的未经其他代理声明的I/O和配置周期。桥135经由边带信道上的VLW消息向处理器105生成SMI#。配置位IO_SMI_EN和CFG_SMI_EN(在禁用IO_IPC_EN&CFG_IPC_EN时)允许在桥中的SMI#生成功能性且默认为禁用。桥135生成I/O或配置周期的完成。该机制实现框325。
除了充当系统100的减法(subtractive)代理(参见框215,其中配置事务未经声明)之外,桥135可以被配置为正(positively)解码(即,声明)例如使用IN/OUT(输入/输出)指令访问的存储器映射地址范围或I/O地址范围。这允许在现有子系统已经充当减法代理的系统中使用桥135。
图4包括桥135中定义的寄存器的表,且涉及以上所描述的四种机制。
在此所使用的PCI包括PCI的变种,例如PCI-Express(PCI-高速)。而且,PnP包括在引导过程期间发生的PnP(例如,枚举)。在一些实施例中,PnP限于引导过程,且不适用于引导后的过程(例如,热拔插和随后的重新映射)。在此所使用的PnP和枚举并不必定限于PCI标准。
描述了一种把非PCI兼容设备与PCI兼容操作系统结合起来的一种实施例。各实施例在硬件级实现解决方案。织物系统模拟真实PCI的行为。使用模块140、141的PCI CFG周期的侦听减少了实现PCI解码所要求的门数(gatecount)(例如,处理)。在非PCI兼容设备不知道如何响应于PCI枚举时,各实施例通过在微控制器上运行的固件提供PCI枚举应答且因而仿真将通常来自PCI兼容设备的应答。各实施例允许系统设计者把非标准织物结构与仍然使用现代的PCI兼容操作系统中出现的稳健的和成熟的PCI基础设施的益处结合起来。各实施例允许PCI兼容的OS发现非PCI兼容设备,所有这些都对OS透明。更一般地,各实施例允许与第一标准兼容(但不与第二标准兼容)的操作系统发现不与第一标准兼容(但可能与第二标准兼容)的设备并与之通信。在一种实施例中,代替把OS定制为与不同的设备一起工作,可以使用现货供应的收缩包装PCI兼容的OS来与众多设备(它们不是PCI兼容的)一起工作。可以通过调整包括织物的SoC中的固件来促进这一点。
各实施例可以以代码实现且可以被存储在其上存储有指令的非暂态存储介质中,这些指令可以被用来把系统编程为执行指令。存储介质可以包括但不限于任何类型的盘、半导体设备或适用于存储电子指令的任何其他类型的介质,这些盘包括软盘、光盘、光盘、固态驱动器(SSD)、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)和磁光盘,半导体设备例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪速存储器、电可擦除可编程只读存储器(EEPROM)、磁或光卡。可以参考诸如指令、函数、过程、数据结构、应用程序、配置设置、代码等等的数据在此描述本发明的各实施例。在由机器访问数据时,该机器可以通过执行任务、定义抽象数据类型、建立低级硬件上下文和/或执行其他操作来响应,如在此更详细地描述的。该数据可以被存储在易失性和/或非易失性数据存储中。术语“代码”或“程序”覆盖宽广范围的组件和构造,包括应用、驱动器、进程、例程、方法、模块和子程序,且可以是指指令的任何集合,这些指令在由处理系统执行时,执行所期望的操作或多种操作。另外,替代的实施例可以包括使用少于全部所公开的操作的过程、使用附加操作的过程、使用以不同序列的相同操作的过程以及其中组合、划分或以另外方式改变在此公开的各个操作的过程。各组件或模块可以根据期望组合或分离,且可以位于设备的一个或多个部分。
尽管已经参照有限数量的实施例描述了本发明,但本领域中的技术人员将明白源于其的众多修改和变更。预期所附权利要求覆盖落在本发明的真正精神和范围内的所有这样的修改和变更。

Claims (22)

1.一种用于协议中立织物的装置,包括:
非外围组件互连PCI兼容的设备;
外围组件互连PCI兼容的主机操作系统OS;
非PnP兼容硬件桥,其将外围组件互连PCI兼容织物耦合至非外围组件互连PCI兼容织物和硬件辅助模块,
其中所述非PnP兼容硬件桥被配置成在未声明的外围组件互连PCI配置事务穿过所述PCI兼容织物之后捕获所述未声明的外围组件互连PCI配置事务,
其中所述硬件辅助模块包括微控制器,所述微控制器提供外围组件互连PCI枚举应答且因而仿真来自外围组件互连PCI兼容设备的应答;以及
其中所述织物被配置为(a)把所述操作系统OS操作地耦合到所述设备,(b)为所述OS发现所述设备。
2.如权利要求1所述的装置,其特征在于,所述操作系统OS是即插即用兼容的而所述设备不是即插即用兼容的。
3.如权利要求2所述的装置,其特征在于,所述设备包括非外围组件互连PCI兼容的控制器且所述操作系统OS不被特别地配置为与所述设备一起操作。
4.如权利要求1所述的装置,其特征在于,所述配置事务是外围组件互连PCI配置周期和输入/输出I/O配置周期中的一个。
5.如权利要求4所述的装置,其特征在于,所述桥被配置为向所述操作系统OS模拟外围组件互连PCI协议。
6.如权利要求4所述的装置,其特征在于,在枚举期间由所述操作系统OS产生所述未声明的PCI配置事务。
7.如权利要求1所述的装置,其特征在于,所述织物被配置为给所述设备保留存储器。
8.如权利要求1所述的装置,其特征在于,所述设备是开放核心协议OCP兼容的。
9.如权利要求1所述的装置,其特征在于,所述装置不包括外围组件互连PCI减法解码。
10.一种用于协议中立织物的系统,包括:
处理器;
存储器,其被耦合到所述处理器;
标准兼容的主机操作系统OS,其与第一标准兼容;
非标准兼容的设备,其不遵守所述第一标准;
硬件桥,其将配置用于所述第一标准的第一织物耦合至配置用于第二标准的第二织物,所述硬件桥被配置成捕获未声明的主系统织物配置事务,所述未声明的主系统织物配置事务是针对所述第一标准配置的;
硬件辅助模块,其包括微控制器,所述微控制器提供第一标准枚举应答且因而仿真来自第一标准兼容设备的应答;以及
其中所述织物被配置为(a)把所述操作系统OS操作地耦合到所述设备,(b)为所述操作系统OS发现所述设备,以及(c)把所述设备耦合到所述处理器,
其中所述桥被配置用于所述第二标准并且与所述第一标准不兼容。
11.如权利要求10所述的系统,其特征在于,所述第一标准包括外围组件互连PCI标准。
12.如权利要求10所述的系统,其特征在于,所述第一标准包括即插即用标准。
13.如权利要求10所述的系统,其特征在于,所述配置事务是配置周期和输入/输出I/O配置周期中的一个。
14.如权利要求13所述的系统,其特征在于,在枚举期间由所述操作系统OS产生所述未声明的配置事务。
15.如权利要求10所述的系统,其特征在于,所述设备是开放核心协议OCP兼容的。
16.一种用于协议中立织物的方法,包括:
提供一种装置,所述装置包括非即插即用兼容的设备、即插即用兼容的主机操作系统OS和通信织物;
把所述操作系统OS操作地耦合到所述设备;
通过非PnP兼容硬件桥将外围组件互连PCI兼容织物耦合至非外围组件互连PCI兼容织物和硬件辅助模块,其中所述非PnP兼容硬件桥被配置成在未声明的外围组件互连PCI配置事务穿过所述外围组件互连PCI兼容织物之后捕获所述未声明的外围组件互连PCI配置事务,
通过提供外围组件互连PCI枚举应答来仿真来自外围组件互连PCI兼容设备的应答;以及
为所述操作系统OS发现所述设备。
17.如权利要求16所述的方法,其特征在于,所述装置遵守外围组件互连PCI标准。
18.如权利要求16所述的方法,其特征在于,所述配置事务是配置周期和输入/输出I/O配置周期中的一个。
19.如权利要求18所述的方法,其特征在于,在枚举期间由所述操作系统OS产生所述未声明的配置事务。
20.如权利要求16所述的方法,其特征在于,所述操作系统OS不被特别地配置为与所述设备一起操作。
21.一种或多种其上存储有指令的计算机可读介质,所述指令当由计算机处理器执行时使所述处理器执行如权利要求16至20中任一项所述的方法。
22.一种用于协议中立织物的设备,包括用于执行如权利要求16至20中任一项所述的方法的装置。
CN201280047773.4A 2011-09-30 2012-09-24 用于协议中立织物的方法、系统和装置 Active CN103842980B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/249,414 US8943257B2 (en) 2011-09-30 2011-09-30 Protocol neutral fabric
US13/249,414 2011-09-30
PCT/US2012/056880 WO2013048958A2 (en) 2011-09-30 2012-09-24 Protocol neutral fabric

Publications (2)

Publication Number Publication Date
CN103842980A CN103842980A (zh) 2014-06-04
CN103842980B true CN103842980B (zh) 2018-01-12

Family

ID=47993750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280047773.4A Active CN103842980B (zh) 2011-09-30 2012-09-24 用于协议中立织物的方法、系统和装置

Country Status (4)

Country Link
US (2) US8943257B2 (zh)
EP (1) EP2761483B1 (zh)
CN (1) CN103842980B (zh)
WO (1) WO2013048958A2 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8943257B2 (en) * 2011-09-30 2015-01-27 Intel Corporation Protocol neutral fabric
US9164938B2 (en) * 2013-01-02 2015-10-20 Intel Corporation Method to integrate ARM ecosystem IPs into PCI-based interconnect
US20160188503A1 (en) * 2014-12-25 2016-06-30 Intel Corporation Virtual legacy wire
EP3459366A4 (en) * 2016-05-16 2020-03-11 Nippon Paper Industries Co., Ltd. FOOD ADDITIVE
US11281595B2 (en) * 2018-05-28 2022-03-22 Intel Corporation Integration of disparate system architectures using configurable isolated memory regions and trust domain conversion bridge
CN109686395B (zh) * 2018-12-18 2020-09-18 苏州浪潮智能科技有限公司 一种ocp扣卡的测试方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098212A (zh) * 2009-12-11 2011-06-15 韩国电子通信研究院 用于处理外围组件互连快速协议的设备

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621900A (en) * 1995-05-17 1997-04-15 Intel Corporation Method and apparatus for claiming bus access from a first bus to a second bus prior to the subtractive decode agent claiming the transaction without decoding the transaction
US5734850A (en) * 1995-07-05 1998-03-31 National Semiconductor Corporation Transparent bridge between of a computer system and a method of interfacing the buses to operate as a single logical bus
JPH0981507A (ja) * 1995-09-08 1997-03-28 Toshiba Corp コンピュータシステム
US5751975A (en) * 1995-12-28 1998-05-12 Intel Corporation Method and apparatus for interfacing a device compliant to a first bus protocol to an external bus having a second bus protocol and for providing virtual functions through a multi-function intelligent bridge
JPH10293641A (ja) * 1997-04-17 1998-11-04 Toshiba Corp コンピュータシステムおよびusbデバイス制御方法
US5999198A (en) * 1997-05-09 1999-12-07 Compaq Computer Corporation Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device
US6076128A (en) * 1998-01-28 2000-06-13 International Business Machines Corp. Data transfer method between buses, bridge devices for interconnecting buses, and data processing system including multiple buses
JPH11238030A (ja) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp Pci−pciブリッジおよびそのための先入れ先出しメモリ
US6199134B1 (en) * 1998-03-13 2001-03-06 Compaq Computer Corporation Computer system with bridge logic that asserts a system management interrupt signal when an address is made to a trapped address and which also completes the cycle to the target address
US6230223B1 (en) * 1998-06-01 2001-05-08 Compaq Computer Corporation Dual purpose apparatus method and system for accelerated graphics or second memory interface
US6119192A (en) * 1998-10-21 2000-09-12 Integrated Technology Express, Inc. Circuit and method for configuring a bus bridge using parameters from a supplemental parameter memory
US6430637B1 (en) * 1999-02-04 2002-08-06 Micron Technology, Inc. Method for multiplexing bus interfaces on a computer expansion bus
US6970957B1 (en) * 2000-04-24 2005-11-29 Microsoft Corporation Dynamically configuring resources for cycle translation in a computer system
US6748478B1 (en) * 2000-12-27 2004-06-08 Intel Corporation System function configurable computing platform
US7228263B2 (en) * 2001-03-08 2007-06-05 Intel Corporation Method for representing root busses using object oriented abstractions
US6963947B2 (en) * 2001-05-08 2005-11-08 Tao Logic Systems Llc Driver supporting bridge method and apparatus
US20020178317A1 (en) * 2001-05-23 2002-11-28 Schmisseur Mark A. System and method for defining private functions of a multi-function peripheral device
US6606679B2 (en) * 2001-08-20 2003-08-12 Intel Corporation Software transparent system and method for peer-to-peer message routing
WO2003019394A1 (en) * 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture, protocol and related methods to support legacy interrupts
US7493438B2 (en) * 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
US6996658B2 (en) * 2001-10-17 2006-02-07 Stargen Technologies, Inc. Multi-port system and method for routing a data element within an interconnection fabric
US6785760B2 (en) * 2001-10-19 2004-08-31 International Business Machines Corporation Performance of a PCI-X to infiniband bridge
US6826628B2 (en) * 2001-10-26 2004-11-30 O2Micro International Limited PCI-PCMCIA smart card reader
US20030097503A1 (en) 2001-11-19 2003-05-22 Huckins Jeffrey L. PCI compatible bus model for non-PCI compatible bus architectures
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US20040049618A1 (en) * 2002-09-10 2004-03-11 Schmisseur Mark A. Configuration of private devices and device functions
US20040083324A1 (en) * 2002-10-24 2004-04-29 Josef Rabinovitz Large array of mass data storage devices connected to a computer by a serial link
US7324231B2 (en) * 2002-12-05 2008-01-29 Hewlett-Packard Development Company, L.P. Printer expansion method and apparatus
US7406549B2 (en) * 2003-08-01 2008-07-29 Intel Corporation Support for non-standard device containing operating system data
US7421532B2 (en) * 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US7058738B2 (en) * 2004-04-28 2006-06-06 Microsoft Corporation Configurable PCI express switch which allows multiple CPUs to be connected to multiple I/O devices
US7447900B2 (en) * 2004-09-15 2008-11-04 Hewlett-Packard Development Company, L.P. Method and a system for designating a user selected console device as the primary console device for a particular computer
US20060106911A1 (en) 2004-10-29 2006-05-18 Chapple James S Concurrent PCI express with sDVO
US20070088857A1 (en) * 2005-09-30 2007-04-19 Travis Schluessler Using sequestered memory for host software communications
WO2007063450A2 (en) * 2005-11-30 2007-06-07 Koninklijke Philips Electronics N.V. Tv-pc architecture
US7571273B2 (en) 2006-12-06 2009-08-04 International Business Machines Corporation Bus/device/function translation within and routing of communications packets in a PCI switched-fabric in a multi-host environment utilizing multiple root switches
US20080201515A1 (en) * 2007-02-20 2008-08-21 Scott Birgin Method and Systems for Interfacing With PCI-Express in an Advanced Mezannine Card (AMC) Form Factor
KR101400597B1 (ko) * 2008-02-18 2014-05-27 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 통신 결합 방법 및 시스템
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US7861027B2 (en) * 2008-05-30 2010-12-28 Intel Corporation Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
US7814258B2 (en) * 2008-07-21 2010-10-12 Texas Instruments Incorporated PCI bus burst transfer sizing
US7992044B2 (en) 2008-12-05 2011-08-02 Oracle America, Inc. Method and system for platform independent fault management
TWI439869B (zh) * 2010-08-18 2014-06-01 Pegatron Corp 調整連結速度的方法及其電腦系統
US8943257B2 (en) * 2011-09-30 2015-01-27 Intel Corporation Protocol neutral fabric
CN103530254B (zh) * 2013-10-11 2016-11-23 杭州华为数字技术有限公司 多节点系统的外部设备互联枚举方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098212A (zh) * 2009-12-11 2011-06-15 韩国电子通信研究院 用于处理外围组件互连快速协议的设备

Also Published As

Publication number Publication date
US8943257B2 (en) 2015-01-27
US20130086287A1 (en) 2013-04-04
EP2761483A2 (en) 2014-08-06
CN103842980A (zh) 2014-06-04
US20150134873A1 (en) 2015-05-14
EP2761483A4 (en) 2015-05-13
EP2761483B1 (en) 2017-10-25
WO2013048958A3 (en) 2013-06-20
US9665522B2 (en) 2017-05-30
WO2013048958A2 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
CN103842980B (zh) 用于协议中立织物的方法、系统和装置
US9229730B2 (en) Multi-chip initialization using a parallel firmware boot process
CN106445576B (zh) 主机板及其计算机实现方法及非暂态计算机可读储存装置
KR101035832B1 (ko) 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템
US10126954B1 (en) Chipset and server system using the same
CN102184122B (zh) 一种龙芯CPU主板bios及中断的实现方法
CN102819447B (zh) 一种用于多根共享系统的直接i/o虚拟化方法和装置
RU2532708C2 (ru) Способ и устройство для осуществления операции ввода/вывода в среде виртуализации
US9940291B2 (en) Assigning processors to memory mapped configuration
TW445416B (en) Upgrade card for a computer system and method of operating the same
US6611912B1 (en) Method and apparatus having a system BIOS write configuration data of a riser card to a controller configuration space when connecting the riser card to a motherboard
US9423958B2 (en) System and method for managing expansion read-only memory and management host thereof
US10289785B1 (en) Platform architecture creation for a system-on-chip
WO2016074127A1 (zh) 计算机设备及计算机设备内存启动的方法
US20160246612A1 (en) Network bios management
JP2010152892A (ja) ハードウェアデバイスをヘテロジニアス処理ユニット間でバインドし移行するためのチップセットサポート
TWI439869B (zh) 調整連結速度的方法及其電腦系統
US9268577B2 (en) Information processing apparatus
CN113253978A (zh) 嵌入式软件开发方法、模型、电子设备和介质
Bandara et al. Enabling VirtIO Driver Support on FPGAs
US20130238884A1 (en) Computer-readable recording medium storing memory dump program, information processing apparatus, and memory dump method
Ansari et al. Design and implementation of character device driver for customized kernel of ARM based platform
CN113867835B (zh) 用于dsp动态加载的装置及方法
KR101366913B1 (ko) 클러스터 컴퓨팅-nic 기반 os프로비전
JP2001034571A (ja) 情報処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant