为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议的制作方法

文档序号:6578447阅读:117来源:国知局
专利名称:为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议的制作方法
为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议
背景技术
诸如先进可扩展接口(AXI)和基于开放核心协议(OCP)的架构之类的 某些半导体架构是模块化的,并通过从现有设计中快速地增加或删除知识 产权(IP)块而使得能够迅速扩展。尽管这些IP块(也称为IP)提供了一组丰 富的功能,但它们由于缺乏外围组件互连(PCI)兼容性所需要的一些关键特 性而不能用于个人计算机(PC)系统。例如,这些IP以固定的地址工作,无 法即插即用;缺乏用于发现和枚举的机制;未实现PCI类型的排序;并且, 缺乏PCI类型的功耗管理特性。
对于在PC兼容系统中所使用的外围设备,互连规范混合了接口的事 务级与物理级。事实上,由于这些规范覆盖了外部的物理设备,所以这两 级都需要被定义。然而,对于片上系统(SoC),当硅工艺改变时,对接口定 义的事务级与物理级进行混合会限制组件的重用。 一些外部的、非PC兼 容的系统己经为它们的IP组件采用了事务级接口。然而,由于在这些系统 的接口中缺乏对于PC兼容性所需的各种特性,因此,这些系统不是PC兼 容的。


图1是根据本发明的一个实施例的处理器的方框图。 图2是根据本发明的一个实施例的系统的方框图。
具体实施例方式
实施例使用了一种技术,使得能够在诸如基于PCI的系统之类的基于 PC的系统中使用异构资源,例如AXI/OCP技术,而无须对IP资源本身做 出任何改变。更具体地,实施例为与PC兼容的SoC组件提供了事务级的 模块化互连。也就是说,由于组件重用可以帮助实现SoC组件的快速开发, 因此,在各个实施例中,对于SoC组件,可以将事务级可以从规范定义的物理级中分离出来。以此方式,可以实现下面的特性将PCI(或其它基于 总线的)系统映射到点对点(PtP)互连系统的能力;向PtP互连系统提供基于 目标的解码的能力;以及在PC兼容系统中通过逻辑使用未提供基于目标 的解码和其它PC兼容功能的现有组件的能力。
从由PC兼容系统所实现的PCI事务到由将被包含在PC兼容系统中的 SoC所实现的非PCI事务空间的映射会产生问题。具体地,PCI通常是基 于目标的解码系统,这意味着当处理器想与外围设备进行通信时,其向所 有外围设备发送事务,并等待设备来认领该事务。 一旦其中的一个设备认 领了该事务,在处理器和相应的设备间会建立通道,从而它们可以进行通 信。这样的系统与诸如SoC这样的片上系统不能很好合作,后者典型地使 用基于源的解码来工作。然而,在这样的系统中,处理器向互连发送地址, 互连确定其目的地,并仅向请求所指向的特定设备来发送该请求,而不是 向所有设备都发送该请求并等待响应。
在各种实施例中,接口或适配器可以用于追踪系统中所有不同的目标 地址,并且收集和维持配置信息。因此,当处理器发送请求时,仅向与目 标设备相关联的适配器发送请求,而不是向所有外围设备发送请求。
实施例提供了两个很小的硬件块,在本文中被称为"Y单元(Yimit)" 和"垫片(shim)",其可被用来将AXI/OCP IP插入到互连结构中以创建PCI 兼容系统。如下所述,在一个实施例中,Y单元的第一(例如,北)接口连 接到适配器模块,该适配器模块连接到诸如直接媒体接口(DMI)总线、PCI 总线或PCI Express (PCIe)总线之类的PCI兼容总线。第二(例如,南)接口 直接连接到诸如AXI/OCP互连之类的非PC互连。在各种实现中,该总线 可以是OCP总线。
根据本发明的实施例,两部分PCI功能可以被并入到分离的事务-物 理协议中。首先,Y单元可包括解码逻辑,用来确定请求指向的地方,并 确保通过互连正确地传送该请求。其次,垫片可以包括控制寄存器功能, 例如用于关闭相应设备、获得对特定存储器区域的访问权等的控制信息。 因此,PCI报头功能可被划分为两个部分, 一个用于垫片,其被具体地绑 定到在设备自身中的特定功能,第二部分用于Y单元,这是因为其被绑定 到在SoC中的命令的路由。因此,组件的增加的PCI功能被分为了两个部分,也就是位于IP核心旁边的垫片和与请求方(因为目标地址是未知的)相
连的Y单元。
Y单元通过将PCI配置周期转换为目标IP可以理解的事务,来实现 PCI枚举。该单元也可执行从可重定位的PCI地址到固定的AXI/OCP地址 的地址转换,反之亦然。Y单元还可以实现排序机制来满足生产者-消费者 模型(例如,PCI生产者-消费者模型)。因此,Y单元可以配备有逻辑,该 逻辑通常是被并入到外围设备中,以向Y单元认领特定的请求(S卩,解码 的),并随后对该请求进行解码,确定该请求所指向的外围设备,然后仅向 该特定设备发送该请求。因此,在各个实施例中,适配器可执行PCI-PtP 转换。
单个的IP依次经由专用的PCI垫片连接到互连。尽管Y单元可以执 行地址解码,但是每个垫片可以为相应的IP实现所有PCI报头功能。因此, 该Y单元把所有对PCI报头和设备存储器空间的访问路由到垫片。该垫片 处理掉所有的报头读/写事务,并向IP传递其它事务。在一些实施例中, 该垫片也可为IP实现所有与功耗管理相关的特性。
现在参考图1,其示出了根据本发明的一个实施例的处理器的方框图。 如图1所示,处理器10可以是片上系统(SoC)或可在单个半导体管芯上形 成的其它集成电路。在图1的实施例中,处理器IO可以包括能够耦合到接 口的各种异构资源,该接口用于提供使用标准PC信号传递机制来进行通 信并控制这些各种异构资源的能力,所述标准PC信号传递机制例如是PCI 协议,然而,本发明的范围并不限制于此。
如图1所示,处理器10可包括适配器20,在一个实施例中,该适配 器可以是具有能够按照给定协议(例如,DMI协议)进行通信的第一接口的 DMI适配器。然而,在其它实现中,适配器20可以按照PCI、 PCIe或其 它此类基于PC的通信协议来使用该第一接口进行通信。因此,与上游组 件所进行的通信会按照给定的PC协议(例如,图1中示出的DMI协议)而 发生,其中,该上游组件可以是该SoC的另一部分,或者是诸如PC的芯 片组组件这样的不同组件(例如,输入/输出控制中心(ICH))。
而下游的通信会按照非PC通信协议而发生,所述非PC通信协议例如 图l中示出的OCP协议,然而,其它实现也是完全可能的。适配器20与Y单元30进行通信,如上所述,该Y单元可以处理各种 PCI或其它此类的基于PC的操作。在其下游侧,Y单元30可被耦合到互 连40,该互连可以在Y单元30和多个不同的异构资源间提供互连和通信 路由。在图l示出的实施例中,这样的资源包括第一资源50、第二资源60 和第三资源70,它们中的每一个可以代表给定的异构资源,例如一个或多 个第三方的给定IP块。可以以不同方式来配置每个异构资源,以执行专门 的功能。
仍然参考图1 ,可经由一个互连(例如OCP互连)将互连40耦合到每个 资源和Y单元30。如图1所示,物理单元45^(每个都被耦合在相应的资 源和互连40之间,并通称为物理单元45)可包括逻辑、电路等,以担当对 事务层的接口,以便将事务转换为将在物理互连线路上发送的实际的位和 字节。因此,在每个资源和互连40之间的是物理单元45,其提供事务层
到物理层以及物理层到事务层的转变。尽管为了易于说明示出为单个单元, 但可以理解,可以在物理线的每一端耦合分离的物理单元。
每个资源包括将该资源连接到互连40的垫片。该垫片可被用来执行除 了由Y单元30来执行的寻址解码功能之外的所有PCI相关的操作,以便 可以通过IP块的底层协议在垫片和资源的各个IP块之间进行通信。因此, 如图1所示,资源50包括通过诸如基于OCP的互连这样的互连耦合到IP 块58的垫片55。类似地,资源60包括通过OCP互连耦合到IP块68的 垫片65。图1还示出了资源70,其包括通过OCP互连耦合到IP块78的 垫片75。虽然用图1的实施例中的这个特定实现示出,但本发明的范围并 不限制于此。
因此,实现Y单元的实施例采用了分布的方式,而不是单片电路兼容 块。所有IP共有的功能(例如,地址转换和排序)是在Y单元中实现的,而 IP特有功能(例如,功耗管理、差错处理等)是在为该IP量身定做的垫片中
实现的。
以此方式,可在对Y单元做出最小改变的情况下增加新的IP。例如, 在一个实现中,通过在地址重定向表中增加新条目来做出改变。虽然垫片 是IP特有的,但在一些实现中,大量的功能(例如,多于90。/。)是所有IP 共有的。这使得能够为新IP快速地重配置现有的垫片。因此,实施例也使得能够在不做出修改的情况下使用自动生成的互连 结构。在点对点总线架构中,设计互连结构可能是有挑战性的任务。上述
的Y单元方式以最省力的方法将工业系统环境利用到了 PCI系统中,并且 无须对工业标准工具做出任何修改。
图2是根据本发明的一个实施例的系统的方框图。系统100可以是基 于PC的系统,例如,可用不同的外形因子来实现的基于PCI的系统,从 桌面系统到膝上型计算机再到超便携移动个人计算机。如图2所示,系统 100包括处理器105,其耦合到主机接口IIO,该主机接口又耦合到诸如动 态随机存取存储器(DRAM)之类的存储器115,以及例如经由DMI总线耦 合到DMI适配器120。 DMI适配器120也可以耦合到如图1所示的SoC, 其在图2的实施例中被列举为组件130-170。在一些实施例中,处理器105 可以是能执行基于PC的操作系统(OS)(例如使用PCI或其它这样的PC协 议的WINDOWS 或LINUX OS)的低功耗处理器,然而,该系统中的 某些组件可以是属于另一个协议的,例如AXI或OCP。
因此,PCI类型的事务可被映射到IP块上,所述IP块可以以PtP方式 来互连。从而,可以将诸如基于支持在请求方和目标之间进行基本PtP通 信的OCP或AXI协议的互连扩展到支持PCI总线报头功能和基于目标的 解码。
此外,通过从物理级分离事务级,可以帮助不同SoC设备间的IP块 重用。也就是说,事务级指定互连可以处理的请求的类型,而物理级描述 事务从一个点传递到另一个点的方式。通过将这两级分开,IP可以独立于 多代实现而存在。换句话说,当不同代具有不同大小的晶体管(例如,属于 不同的半导体工艺)或不同的实现(例如从SoC到包括了多个管芯的实现) 时,互连本身可能会改变。然而,在互连层改变时,事务层保持不变。以 此方式,物理层的改变可以独立于事务层。例如,跨越多代和多个物理层, 事务层可以保持一致。相反,如果将物理层并入IP块中,在一代一代之间 会出现显著的改变,这将会阻碍高效的IP块重用。
实施例可以用代码实现并可以存储在存储介质上,该存储介质具有存 储在其上的指令,其可用于对一个系统进行编程来执行所述指令。所述存
储介质可以包括但不限于任何类型的盘,包括软盘、光盘、光盘只读存储器(CD-ROM)、可重写光盘(CD-RW)、以及磁光盘,半导体器件,例如 只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存 储器(SRAM)这样的随机存取存储器(RAM)、可擦可编程只读存储器 (EPROM)、闪速存储器、电可擦可编程只读存储器(EEPROM),磁卡或光 卡,或适于存储电子指令的任意其它类型的介质。
尽管以有限数目的实施例来描述了本发明,但本领域的技术人员可以 领会到许多基于此的修改和变型。所附的权利要求旨在覆盖落入本发明的 实质精神和范围内的所有这样的修改和变型。
权利要求
1、一种装置,包括适配器,位于单个半导体管芯上,用于根据个人计算机(PC)协议与第一组件进行通信,以及,根据第二协议与第一接口进行通信,其中,所述第二协议对应于先进可扩展接口(AXI)或开放核心协议(OCP)协议;所述第一接口,位于所述单个半导体管芯上,并通过第一互连耦合到所述适配器,所述第一接口用于对从所述第一组件接收到的事务执行地址转换和排序;第一物理单元,其耦合在所述第一接口和第二互连之间,用于在所述第一接口和所述第二互连之间传递所述事务;以及所述第二互连,位于所述单个半导体管芯上,用于将所述第一接口耦合到位于所述单个半导体管芯上的多个异构资源,所述多个异构资源中的每个都包括知识产权(IP)核心和垫片,其中,所述垫片用于为所述IP核心实现所述PC协议的报头,以使得能够在不做出修改的情况下将相应的IP核心并入到所述装置中,其中,所述装置根据所述PC协议来工作,所述IP核心根据所述第二协议来工作。
2、 根据权利要求l所述的装置,其中,所述第一接口将所述PC协议 的配置周期转换为所述第二协议的格式,其中,所述PC协议对应于外围 组件互连(PCI)协议。
3、 根据权利要求2所述的装置,其中,所述第一接口执行地址转换, 以将可重定位的PCI地址转换为AXI/OCP地址。
4、 根据权利要求l所述的装置,其中,所述第一接口执行所述多个异 构资源的共有操作,每个垫片执行相应的IP核心的特有操作。
5、 根据权利要求4所述的装置,其中,所述共有操作包括所述地址转 换和所述排序,所述特有操作包括低功耗管理以及差错处理。
6、 根据权利要求1所述的装置,其中,所述第二互连包括互连结构。
7、 根据权利要求6所述的装置,还包括多个第二物理单元,其中的每 一个将所述第二互连耦合到所述多个异构资源中相应的一个。
8、 根据权利要求2所述的装置,其中,所述第一接口把对PCI报头 的访问路由到相应的垫片,所述垫片为相应的IP核心实现所述PCI报头, 其中,所述第一接口还把对设备存储器空间的访问路由到相应的垫片。
9、 根据权利要求8所述的装置,其中,所述相应的垫片处理掉所有对 所述PCI报头的读-写操作,并将其它事务传递到所述相应的IP核心。
10、 一种系统,包括 处理器;主机接口,其耦合到所述处理器,所述主机接口用于将所述处理器耦 合到存储器和适配器;所述适配器,其耦合到所述主机接口,所述适配器用于根据个人计算 机(PC)协议进行通信以及根据第二协议与第二接口进行通信,其中,所述 第二协议对应于先进可扩展接口(AXI)、开放核心协议(OCP)协议或第三种协议;所述第二接口,其通过第一互连耦合到所述适配器,所述第二接口用 于对从所述处理器接收的事务执行地址转换和排序;第一物理单元,其耦合在所述第二接口和第二互连之间,用于在所述 第二接口和所述第二互连之间传递所述事务;以及所述第二互连,用于将所述第二接口耦合到多个异构资源,所述多个 异构资源中的每一个包括知识产权(IP)核心和垫片,其中,所述垫片用于 为所述IP核心实现所述PC协议的报头,以使得能够在不做出修改的情况 下将相应的IP核心并入到所述系统中,其中,所述系统根据所述PC协议 来工作,所述IP核心根据所述第二协议来工作。
11、 根据权利要求10所述的系统,其中,所述系统包括超便携移动系 统,其中,所述处理器使用所述PC协议来执行PC操作系统。
12、 根据权利要求ll所述的系统,其中,所述第二接口把所述PC协 议的配置周期转换为所述第二协议的格式,其中,所述PC协议对应于外 围组件互连(PCI)协议,所述第二接口执行所述地址转换以将可重定位的 PCI地址转换为AXI/OCP地址。
13、 根据权利要求12所述的系统,其中,所述第二接口执行所述多个 异构资源的共有操作,每个垫片执行相应的IP核心的特有操作,所述共有 操作包括所述地址转换和所述排序,所述特有操作包括低功耗管理和差错 处理。
14、 根据权利要求12所述的系统,其中,所述第二接口把对PCI报 头的访问路由到相应的垫片,所述垫片为相应的IP核心实现所述PCI报头, 其中,所述第二接口还把对设备存储器空间的访问路由到相应的垫片,其 中,所述相应的垫片处理掉所有对所述PCI报头的读-写操作并将其它事 务传递到所述相应的IP核心。
全文摘要
本发明涉及为片上系统(SoC)提供外围组件互连(PCI)兼容的事务级协议。在一个实施例中,本发明包括一种具有适配器的装置,该适配器根据个人计算机(PC)协议和第二协议来进行通信。耦合到所述适配器的第一接口对从该适配器的上游接收到的事务执行地址转换和排序。所述第一接口又经由一个或多个物理单元耦合到异构资源,其中的每个异构资源包括知识产权(IP)核心和垫片,所述垫片为所述IP核心实现PC协议的报头,使得能够在不做出修改的情况下将其并入所述装置。另外,描述和声明了其它实施例。
文档编号G06F13/40GK101620585SQ20091014260
公开日2010年1月6日 申请日期2009年5月31日 优先权日2008年5月30日
发明者A·曼德阿尼, K·休梅克, M·阿斯赫亚, M·韦格, S·S·萨克尔, W·韩 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1