当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于跨时钟通信的可编程相位生成器制造技术

技术编号:2831250 阅读:182 留言:0更新日期:2012-04-11 18:40
用于支持在不同时钟域中的组件之间进行通信的方法和装置,所述不同时钟域的时钟频率比N/D为有理数。在一个实施例中,使用一组整数相位生成器,在具有N个相位的总周期期间产生相位控制信号,其中总周期由具有D个相位的主周期和具有R个相位的调整周期组成,其中R是R/D的余数。对于小于2∶1的时钟频率比,使用2∶1和1∶1的相位生成器的组合。通过相位生成器逻辑来生成时钟信号,以在不同时钟域中的通信组件之间实现时间控制。在一个实施例中,在可编程相位生成器中实现相位生成器逻辑。

【技术实现步骤摘要】
【国外来华专利技术】
概括地说,本专利技术的领域涉及计算机和通信网络,具体地说,涉及通信组件的时钟频率之间的比率可以是有理数的时钟方案,但 不限于此。
技术介绍
诸如交换机和路由器之类的网络设备用于以分组的形式,高线 速地中继网络业务。处理网络业务时,最重要的一个考虑是分组吞 吐量。为了实现这一点,开发了名为网络处理器的专用处理器,以 在每秒钟内高效地处理非常大量的分组。为了处理分组,网络处理 器(和/或使用网络处理器的网络设备)需要从用于指示分组冃的地、 级别等等的分组头中提取数据,在存储器中存储负载数据,进行分 组分类和排队操作,确定分组的下一跳,选择用于中继分组的适当 的网络端口等等。通常将这些操作称为分组处理操作。 现代网络处理器(一般还被称为网络处理器单元(NPU))用 多个多线程处理元件(例如处理核心)(在由加州圣克拉拉的Intel 公司制造的网络处理器中被称为微引擎或者计算引擎)来执行分组 处理,其中每个线程执行流水线中特定的任务或者任务集。在分组 处理期间,执行许多访问,以在连接到网络处理器以及/或者由网络 处理器所提供的多种共享资源之间移动数据。例如,网络处理器一 般将分组元数据(metadata)等等存储在静态随机访问存储器 (SRAM)中,同时将分组(或者分组负载数据)存储在记忆动态 随机访问存储器(DRAM)的存储中。此外,可以将网络处理器连 接到加密处理器、混列单元、通用处理器,以及诸如PCI (外围设 备互连)和PCI Express总线的扩展总线。通常,网络处理器能以协作的方式,例如经由流水线的处理方 案,执行处理。典型情况下,不同的线程执行相同的任务或者相关 的任务的不同部分。有的线程专用于特定的任务或者任务集,例如 分组转发、分组分类等等。这种方案能对于大部分分组以线速进行 处理操作,通常称为快速路径操作。然而, 一些分组出现了需 要额外操作的问题。有一种方法,通过使用由通用处理器所执行的 慢速路径操作,来执行对于这些分组的分组处理,其中重定向 事件导致分组处理从多线程处理元件转换到通用处理器。通用处理 器一般比多线程处理元件提供更大的指令集,从而支持更灵活和复 杂的任务的执行,以便处理这种问题分组。 在很多情况下,多线程处理元件与通用处理器所使用的结构具 有显著的不同。例如,Intel NPU上的微引擎使用RISC (精简指令 集运算)结构,而通用处理器使用CISC (复杂指令集计算)。此外, 不同类型的处理元件的操作速度通常不同。从快速路径切换到慢速路径需要在微引擎与通用处理器之间 进行通信。此外,微引擎和通用处理器需要访问存储在存储器中的 分组数据,可以经由存储器或者以另一个频率工作的系统总线来访 问该分组数据。同样地,有必要具有某种时钟方案,以使得处理元 件与在不同的时钟频率上运行的总线彼此通信。此前,这己经通过 使一种处理元件(例如,微引擎)的时钟频率是另一种处理元件(例 如,通用处理器)或总线的时钟频率的整数倍来实现。 尽管这样能在处理元件与诸如存储器的系统资源之间进行通 信,但却限制了NPU整体结构的设计灵活性。例如,可能有益的是, 增加一种处理元件的频率,而不管另一种处理元件或者总线的频率, 或者使用时钟域之间的比值是有理数而不是限于整数比的结构。附图说明通过参考以下详细描述,并且结合附图,本专利技术的前述方面和 若干相应优点将会变得更容易意识到并且能更好地理解,其中,如 非特别说明,相同的附图标记贯穿全文表示相同的部件。图1示出了对应于能使两个不同时钟域中的组件彼此通信的跨时钟通信方案的时序图,其中时钟域的时钟频率比是5: 1;图2示出了对应于本专利技术的一个实施例的时序图,该实施例能在具有时钟频率比为有理数的时钟域中的组件之间进行跨时钟通信,其中该比值为24: 5;图3示出了对应于具有比值为8: 3的时钟域的跨时钟通信方 案的实现的时序图;图4a示出了对应于支持小于2: 1的有理数时钟频率比的跨时 钟通信方案的第一实现的时序图,其中,h l相位生成器用于主周 期,2: 1相位生成器用于调整周期;图4b示出了对应于图4a的跨时钟通信方案的可替换的实现的 时序图,其中2: l相位生成器用于主周期,1: l相位生成器用于调 整周期;图5是可用于生成对应于图2、 3、 4a和4b中所描述的每个实 施例的控制信号的可编程相位生成器的一个实施例的示意图; 图6是使用包括金属屏蔽环片单元的网络处理器的网络线路 卡的示意图,该金属屏蔽环片单元使用图5的可编程相位生成器; 图7是跨时钟域环境的示意图,对该环境中在用于形成有理数 比值的不同时钟频率上运行的处理器进行激活,以经由可编程相位 生成器来彼此通信;图8是使用总线接口单元的跨时钟域环境的示意图,该总线接 口单元具有相位生成器逻辑,以便在工作于第一时钟域内的处理器 核心和工作于第二时钟域内的多个组件之间进行通信,工作于第二 时钟域内的多个组件通过总线接口进行访问。具体实施例方式本文描述了用于在具有有理数的频率比的时钟域之间进行跨 时钟通信的方法和装置的实施例。在以下描述中,描述了多个具体 细节,例如使用Intel NPU的实现,以提供对于本专利技术的实施例的 透彻的理解。然而,本领域普通技术人员将会认识到,缺少一个或 者多个具体细节,或者通过其它方法、组件材料等等,也照样可以 可以实现本专利技术。在其它实例中,没有详细给出或者描述公知的结 构、材料或者操作,以免混淆本专利技术的方方面面。本说明书通篇所涉及的一个实施例或者实施例是指, 所描述与实施例有关的特定的特征、结构或者特点至少包括在本发 明的一个实施例中。因此,本说明书通篇在多种地方所出现短语的 在一个实施例中或者在实施例中不一定全部针对相同的实 施例。此外,可以将特定的特征、结构或者特点以任意合适的方式 组合在一个或者多个实施例中。根据本文公开的实施例的多个方面,提供了多种技术,以支持 工作在不同的时钟域中,诸如处理元件和存储器或者系统总线的组 件之间的通信,其中时钟域的时钟频率比是有理数。尽管以下实例 特别地涉及NPU结构的实现,但该技术的通用原理和教义还适用于 其它结构和系统。下面将总体描述用于支持跨越具有整数时钟频率比的多个时 钟域的跨时钟通信的一种技术。然后将会给出这个用于支持有理数 的时钟频率比的方案的扩展。在本文所描述的实施例中,用时钟相位生成器逻辑来创建相位 信号,以便在不同时钟域中的组件之间进行通信。术语时钟域 是指以相同的时钟频率工作的一个或者多个组件的集合或者组。有 时候将时钟域中的组件称为块,从而,可以将在不同的时钟域中 的组件之间的通信描述为块之间的通信。用称为金属屏蔽环片 单元的单元来实现相位生成器逻辑。这种相位生成器在Intel NPU 中的典型应用是,对在跨越通用处理器和内存控制器/系统总线之间 的握手信号进行同步。还可以将这里的原理和教义应用于其它跨时 钟通信环境,例如以不同的时钟比工作的两个处理元件之间。 图1描述了对应于示例性的跨时钟定时方案的时序图,该定时 方案能使相应时钟域中的组件彼此通信。在这个实例中,时钟域的 比值是5: 1, g卩, 一个时钟域的时钟频率是另一个域的时钟频率的 五倍。对于这里所示的实例,将用于高频时钟域的时钟信本文档来自技高网...

【技术保护点】
一种用于在第一和第二时钟域中的组件之间进行交叉通信的方法,所述第一和第二时钟域的时钟频率之比为有理数,所述方法包括:在具有第一组相位的多个主周期期间生成相位控制信号;在具有第二组相位的调整周期期间生成相位控制信号;在总周期中重复相位控制信号的生成,所述总周期包括所述多个主周期和所述调整周期;基于结合分别用于所述第一和第二时钟域的第一和第二时钟信号所生成的相位控制信号,在所述第一和第二时钟域之间发送时钟信号。

【技术特征摘要】
【国外来华专利技术】US 2005-5-10 11/125,6991、一种用于在第一和第二时钟域中的组件之间进行交叉通信的方法,所述第一和第二时钟域的时钟频率之比为有理数,所述方法包括在具有第一组相位的多个主周期期间生成相位控制信号;在具有第二组相位的调整周期期间生成相位控制信号;在总周期中重复相位控制信号的生成,所述总周期包括所述多个主周期和所述调整周期;基于结合分别用于所述第一和第二时钟域的第一和第二时钟信号所生成的相位控制信号,在所述第一和第二时钟域之间发送时钟信号。2、 如权利要求l所述的方法,其中,所述第一时钟域中的时钟频率相对于所述第二时钟域中的时钟 频率的比值是N: D,所述总周期包括N个相位,每个主周期包括D个相位,所述调 整周期包括R个相位,其中R二余数(N/D)。3、 如权利要求1所述的方法,其中,第一时钟域以核心时钟频率而工作, 其中,对于在所述第一和第二时钟域之间所发送的每个时钟信 号,使用等价于建立时间的两个核心时钟周期的最小值。4、 如权利要求l所述的方法,其中,所述相位控制信号的生成 包括在每个主周期和调整周期的第一相位期间,生成相位1控制信弓 在每个主周期和调整周期的第二相位期间,生成相位2控制信号;在每个主周期和调整周期的最后相位期间,生成最后相位控制 信号。5、 如权利要求l所述的方法,其中,所述第一和第二时钟域中的时钟频率的比值小于2: 1,所述方法还包括使用2: 1相位生成器,生成对应于所述主周期的相位控制信号; 使用l: l相位生成器,生成对应于所述调整周期的相位控制信号。6、 如权利要求l所述的方法,其中,所述第一和第二时钟域中 的时钟频率的比值小于2: 1,所述方法还包括使用1: 1相位生成器,生成对应于所述主周期的相位控制信号; 使用2: 1相位生成器,生成对应于所述调整周期的相位控制信号7、 一种装置,包括相位生成器逻辑,其生成多个控制信号,用于对第一和第二时 钟域之间的通信信号进行同步化,其中,所述第一时钟域中的时钟频率相对于所述第二时钟域中 的时钟频率的比值是有理数。8、 如权利要求7所述的装置,其中,所述第一时钟域中的时钟频率相对于所述第二时钟域中的时钟频率的比值大于2: 1。9、 如权利要求8所述的装置,其中,所述有理数比值是N: D,并且,在可编程相位生成器中实现所述相位生成器逻辑,所述可编程相位生成器是可编程的,对于一个总周期而言,它生成包括N个相位的控制信号,所述总周期包括至少一个主周期和一个调整周期的组合,每个主周期包括D个相位,所述调整周期包括R个相位, 其中11=余数(N/D)。10、 如权利要求9所述的装置,其中,所述可编程相位生成器包括复用器,它具有多个输入端和一个输出端;可编程计数器电路,它的第一输入端接收由所述第一时钟域所 使用的第一时钟信号,它的第一输出端连接到所述复用器;D: 1相位生成器,它的第一和第二时钟信号输入端分别接收所 述第一时钟信号和由所述第二时钟域所使用的第二时钟信号,所述 D: 1相位生成器还有一个输出端作为第一输入端连接到所述复用 器;R: l相位生成器,它的第一和第二时钟信号输入端分别接收所 述第一时钟信号和所述第二时钟信号,它有一个输出端作为第二输 入端连接到所述复用器。11、 如权利要求7所述的装置,其中,对于在所述第一和第二 时钟域之间所发送的每个时钟信号,使用等价于建立时间的两个核 心时钟周期的最小值。12、 如权利要求7所述的装置,其中,所述相位生成器逻辑生 成相位1控制信号、相位2控制信号以及相位n控制信号。13、 如权利要求7所述的装置,其中,所述第一时钟域中的时 钟频率相对于所述第二时钟域中的时钟频率的比值小于2: 1。14、 如权利要求13所述的装置,其中,所述相位生成器逻辑包括2: l相位生成器,其生成与包括两个相位的周期相对应的控制信号;1: l相位生成器,其生成与包括一个相位的周期相对应的控制 信号。15、 如权利要求14所述的装置,其中,在可编程相位生成器中 实现所述相位生成器逻辑,所述可编程相位生...

【专利技术属性】
技术研发人员:J罗德里格斯K李S林
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1