CN101149726B - 用于可管理性引擎背景的控制器链路 - Google Patents

用于可管理性引擎背景的控制器链路 Download PDF

Info

Publication number
CN101149726B
CN101149726B CN200710170130XA CN200710170130A CN101149726B CN 101149726 B CN101149726 B CN 101149726B CN 200710170130X A CN200710170130X A CN 200710170130XA CN 200710170130 A CN200710170130 A CN 200710170130A CN 101149726 B CN101149726 B CN 101149726B
Authority
CN
China
Prior art keywords
grouping
credit
request
equipment
sent
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
Application number
CN200710170130XA
Other languages
English (en)
Other versions
CN101149726A (zh
Inventor
M·亨萨克
K·瓦迪韦卢
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 CN101149726A publication Critical patent/CN101149726A/zh
Application granted granted Critical
Publication of CN101149726B publication Critical patent/CN101149726B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/39Credit based

Abstract

本发明的一个实施例是一种有效的互连总线。第一时钟脉冲源在链路总线线路上以第一频率产生第一时钟信号,所述第一时钟信号与传送到设备的第一数据同步。该装置具有第二时钟脉冲源,它在所述装置传送第二数据时以第二频率产生与第二数据同步的第二时钟信号。所述第一和第二数据各形成一分组,该分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个。所述第一和第二频率相互独立并且分别限制在第一和第二频率范围内。队列结构存储在基于信用的流控制策略中使用的分组。

Description

用于可管理性引擎背景的控制器链路
技术领域
本发明的实施例涉及微处理器的领域,特别是涉及通信总线。
背景技术
在典型的微处理器系统中,芯片集变得越来越重要。芯片集可以提供许多功能以支持例如设奋接口、存储器控制、输入/输出(I/O)控制、电源管理、安全管理、网络接口等任务。随着微处理器系统集成了越来越多的芯片集,设备和芯片集的互连成为了一个难题。
提供互连总线的现有技术有许多的缺点。例如由PCI专业组(SIG)在2004年发布的PCI基础规范1.1中提供的外设部件互连(PCI)Express这样的高速接口,即使在没有主动地发送或接收时也需要高功耗。这些总线接口通常具有高引脚计数,从而需要连接器具有巨大的空间。它们通常使用通用时钟脉冲源,这导致在关闭电源状态期间很难获得时钟信号。此外,它们可能具有复杂的通信协议,导致硬件复杂化。
发明内容
根据本发明的第一方面,提供了一种装置,包括:
第一时钟脉冲源,用于在链路总线线路上以第一频率产生第一时钟信号,所述第一时钟信号与将被传送到设备的第一数据同步,所述设备具有第二时钟脉冲源,它在所述设备传送第二数据时,以第二频率产生与第二数据同步的第二时钟信号,所述第一和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一和第二频率相互独立并且分别限制在第一和第二频率范围内;以及队列结构,耦合到所述第一时钟脉冲源以存储在基于信用的流控制策略中使用的分组。
根据本发明的第二方面,提供了一种方法,包括:
在链路总线线路上以第一频率产生第一时钟信号,所述第一时钟信号与将被传送到设备的第一数据同步,所述设备具有第二时钟脉冲源,它在所述设备传送第二数据时,以第二频率产生与第二数据同步的第二时钟信号,所述第一和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一和第二频率相互独立并且分别限制在第一和第二频率范围内;以及
在队列结构中存储分组,所述分组被用在基于信用的流控制策略中。
根据本发明的第三方面,提供了一种系统,包括:
主处理器;
通过存储器控制器耦合到所述主处理器的存储器,所述存储器包括多个双数据率同步动态随机存取存储器装置;
耦合到所述主处理器的芯片集,所述芯片集具有主部分和可管理性引擎(ME)部分,所述芯片集包括接口电路,所述接口电路包括:
第一时钟脉冲源,用于在链路总线线路上以第一频率产生与第一数据同步的第一时钟信号;以及
通过所述链路总线线路耦合到所述芯片集的驻留在ME部分中的设备,所述设备具有第二时钟脉冲源,它在所述设备传送第二数据时,以第二频率产生与第二数据同步的第二时钟信号;所述第一和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一和第二频率相互独立并且分别限制在第一和第二频率范围内;
其中,所述接口电路具有队列结构,用于存储在基于信用的流控制策略中使用的分组。
附图说明
参考用于说明本发明实施例的后面的描述以及附图,本发明的实施例将变得更加容易理解。其中:
图1是示出能够实施本发明一个实施例的系统的图。
图2是示出根据本发明一个实施例的在两个设备之间的总线互连的图。
图3是示出根据本发明一个实施例的队列结构的图。
图4是示出根据本发明一个实施例的事务排序(ordering)逻辑的图。
图5是示出根据本发明一个实施例的检测空闲状态的过程的流程图。
具体实施方式
本发明的一个实施例是一种有效的互连总线。第一时钟脉冲源在链路总线线路上以第一频率产生第一时钟信号,所述第一时钟信号与将被传送到设备的第一数据同步。该设备具有第二时钟脉冲源,它在该设备传送第二数据时以第二频率产生与第二数据同步的第二时钟信号。所述第一和第二数据各形成分组,该分组是已发送的(posted)、完成的以及未发送的(non-posted)分组这三者中的一个。所述第一和第二频率相互独立并且分别限制在第一和第二频率范围内。队列结构存储在基于信用的流控制策略中使用的分组。
在后面的描述中,阐述了大量特定的细节。但是,可以理解,不具备这些特定细节也能实现本发明的实施例。在其它例子中,为了不模糊对本说明书的理解,没有示出公知的电路、结构以及技术。
本发明的一个实施例可以描述为一个过程,它通常描述为流程图、作业图、结构图或框图。虽然流程图可以按顺序过程来描述操作,但是许多操作可以并行或者并发地执行。流程图中的循环或迭代可用单次迭代来描述。可以理解,一个循环索引或多个循环索引或者一个计数器或多个计数器主要用于更新相关联的计数器或者指针。此外,所述操作的顺序可以重新安排。一个处理在其操作完成时结束。处理可以对应于方法、程序、过程等。框图可以包括描述元件、项目、部件、设备、单元、子单元、结构、方法、处理、函数、操作、功能或者任务等的块或模块。一种功能或者操作可以自动或者手动地执行。
本发明的一个实施例是提供具有对于在外设之间通信有用的多种特征的总线互连技术。这些特征包括低功率、低引脚计数、独立时钟以及中间带宽。所述总线可作为具有时钟和数据两个信号线路的双向半双工通信链路来操作,所述时钟和数据以源同步的方式操作。此外,可以存在平台复位信号。当所述总线连接到两个设备时,各个设备可具有宽变化的不同的时钟脉冲源。所述总线还可按全双工方式操作。本发明的另一实施例简化了事务排序规则以提供简单的设计以及较少的花费而仍然保持与PCI标准和PCI Express标准完全兼容,所述PCI标准在2004年由PCI SIG在“传统PCI3.0”规范中发布。这可以通过允许已发送的事务和完成的事务共享相同的信用(credit)来获得。本发明的另一实施例是在不使用两个设备之间的特定消息的条件下检测空闲状态。
图1是示出能够实施本发明一个实施例的系统100的图。系统100可以分为主机子系统101以及可管理性引擎(ME)102。系统100包括处理器单元110,存储器控制器(MC)120,存储器130,输入/输出控制器(IOC)140,互连145,输入/输出(I/O)设备1471到147k以及海量存储器接口150和设备180。
主机子系统101包括通常在标准环境中运行的部件。ME102是嵌入在系统100中的一个完整的子系统,它被集成以提供单独的系统管理和平台的基于固件的系统特征。ME102通常不可访问主机子系统101的资源并且主机子系统101不可访问ME的资源。但是,ME102可与主机子系统101以安全的方式共享少量资源。这些共享的资源防止在ME102和主机组成部分之间不安全的访问,以有效地将ME102与主机子系统101分离。
处理器单元110代表任意类型体系结构的中央处理器,例如使用超线程、安全性、网络、数字媒体技术的处理器、单核处理器、多核处理器、嵌入式处理器、移动处理器、微控制器、数字信号处理器、超标量处理器、向量处理器、单指令多数据(SIMD)计算机、复杂指令集计算机(CISC)、精简指令集计算机(RISC)、超长指令字(VLIW)或混和体系结构。
MC120是用于提供对存储器以及输入/输出设备(例如存储器130和IOC140)的控制和配置的芯片集。MC120可被集成到集成了多种功能的芯片集上,所述功能例如图形、媒体、单独执行方式、主机到外设总线接口、存储器控制、电源管理等。MC120或MC120中的存储器控制器功能可以集成到处理器单元110中。在一些实施例中,存储器控制器,或者在处理器单元110内部或者在其外部,可以为处理器单元110中的所有核或者处理器工作。在另一些实施例中,它可以包括不同的部分,用于为处理器单元110中的不同的核或者处理器单独工作。MC120包括存储器控制器电路122和MCME部分124。存储器控制器电路122提供存储器控制功能以及其它控制功能。MC ME部分124是ME102的一部分。其可与主机子系统101以安全的方式共享存储器控制电路122。
MC ME124至少包括ME控制器125、ME存储器126以及密码机模块127。MC ME124可以包括其它部件。ME控制器125是可通过执行程序来执行管理功能的处理器或者控制器。ME存储器126可包括随机存取存储器(RAM)、闪存或只读存储器(ROM)来存储程序和数据。密码机模块127用于加密和解密以及认证信息。它可以支持用于加密和解密的高级加密标准(AES)、AES-密码块链接(CBC),Rivest密码4(RC4)算法。它可以支持用于认证的安全哈希算法-1(SHA-1)、消息分类算法5(MD5)以及哈希消息验证代码(HMAC)算法。
存储器130存储系统代码和数据。主存储器130通常利用动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)或包括那些不必刷新的任意其它类型的存储器来实现。存储器130可包括例如DRAM的多通道存储器设备。DRAM可以是同步DRAM(SDRAM),单数据率(SDR)SDRAM,扩展数据输出(EDO)DRAM,双数据率(DDR)SDRAM,双数据率2(DDR2)SDRAM,Rambus DRAM(RDRAMR),极限(extreme)数据率(XDR)或者XDRII。RDRAM和XDR是Rambus的注册商标。DDR通过在时钟的上升沿和下降沿均传送数据来加倍传送速率,并且可被封装在双列直插式存储器模块(DIMM)中。它不需要增加前端总线(FSB)的频率就能有效地使传送速率加倍。DDR2利用例如管芯上(on-die)终止(termination)等多种技术来清除在芯片、预取缓冲器以及片外(off-chip)驱动器上的多余信号噪声,以增加数据速率。片外驱动器可利用校准技术来校准彼此之间的微分数据选通。通过校准,针对缓冲器阻抗来优化斜坡(ramping)电压以减少上升和下降沿的过冲和低冲(over-and under-shooting)。XDR或XDRII使用用于可升级(scalable)的高速点到点双向数据信号的微分Rambus信号级(DRSL)以及用于向多个设备源同步运送地址和命令信号的Rambus信号级(RSL)。用于存储器130中的存储器设备可在任何适合的时钟频率下操作,例如100MHz,133MHz,166MHz,266MHz,333MHz,400MHz,1GHz或可升级至8GHz。它可以利用任何封装技术进行封装,封装技术包括球栅阵列(BGA),DIMM,棒(stick)或模块。存储器130可以包括设置于平台上的并且具有在处理器地址空间中的一个地址范围的其它类型的存储器设备。
IOC140具有设计用于支持I/O功能的多个功能。IOC140还可以一起集成到芯片集或者与MC120分离以实现I/O功能。IOC140可以包括许多接口和I/O功能,例如外设部件互连(PCI)总线接口,处理器接口,中断控制器,直接存储器存取(DMA)控制器,电源管理逻辑,定时器,系统管理总线(SMBus),通用串行总线(USB)接口,海量存储器接口,低引脚计数(LPC)接口,无线互连,直接媒体接口(DMI)等。IOC140包括I/OME部分160,链路接口电路165,处理器接口空间电路170,以及P个资源1751到175p
I/OME部分160是ME102的一部分。它管理以安全的方式与处理器子系统101共享的I/O资源。I/OME部分160在安全的外设互连空间中操作。外设互连空间与外设部件互连(PCI)链路相关联。I/OME部分160通过控制器链路162与MCME部分124连接。控制器链路162是ME102中的安全链路。它通常消耗很低的电能。它具有低引脚计数,通常包括两个信号,一个双向时钟信号和一个数据信号,以及一个复位信号。它具有独立时钟。控制器链路162的带宽是中等的,范围在8兆比特每秒(Mbps)到66Mbps之间。
处理器接口电路170包括在处理器接口空间中运行的电路。处理器单元110可以通过处理器接口互连或者链路175来访问处理器接口空间。在一个实施例中,处理器接口互连175是直接媒体接口(DMI)互连或者链路。
链路接口电路165通过控制器链路182提供与设备180进行通信的接口。控制器链路182与控制器链路162相似。P个资源1751到175p可以包括由I/OME部分160和处理器接口空间电路170共享的任何资源。P个资源1751到175p的示例可包括闪存和用于吉比特以太网的媒体访问控制器(MAC)。I/OME部分160可以包括没有示出的其它部件,例如定时器、热控制接口,电源管理电路,通用I/O设备等。
互连145提供对外设的接口。互连145可以点到点的或连接到多个设备。为了清楚起见,图中没有示出所有互连。可以预期的是互连145可包括任何互连或者总线,例如外设部件互连(PCI),PCI Express,通用串行总线(USB),小型计算机系统接口(SCSI),串行SCSI,以及直接媒体接口(DMI)等。
海量存储器接口150连接海量存储器设备以存储档案信息,例如,代码,程序,文件,数据和应用。海量存储器接口可包括SCSI,串行SCSI,高级技术附件(ATA)(并行和/或串行),集成设备电路(IDE),增强型IDE,ATA分组接口(ATAPI)等。海量存储器设备可包括压缩盘(CD)只读存储器(ROM)152,数字视频/通用盘(DVD)153,软驱154,以及硬盘驱动器155,磁带驱动器156,以及任何其它的磁或者光存储设备。海量存储器设备提供读取机器可访问介质的机制。
I/O设备1471到147k可包括用于执行I/O功能的任何I/O设备。I/O设备1471到147k的示例包括用于输入设备(如,键盘、鼠标、轨迹球、指示设备)、媒体卡(如,音频、视频、图形)、网卡以及任何其它的外设控制器。
设备180可以是驻留在ME部分的任何设备。它具有接口电路以允许其通过控制器链路182与例如IOC140这样的设备进行通信。
图2是示出根据本发明的一个实施例的在两个设备之间的互连总线255的图。互连总线255将链路接口电路165连接到设备180。它是图1中所示的控制器链路182的一个实例。链路接口电路165包括时钟脉冲源210,时钟缓冲器215,数据缓冲器220,链路和物理层230,事务层240以及空闲检测器250。设备180包括时钟脉冲源260,时钟缓冲器265,数据缓冲器270,链路和物理层275,事务层280,以及空闲检测器290。
互连总线255包括时钟线路z56以及数据线路257。在一个实施例中,互连总线255以半双工方式进行操作,在该方式中总线在一个时刻仅在一个方向上传输数据。在另一实施例中,可存在两条总线,每条都具有与互连总线255相同的结构,以全双工方式操作。在另一实施例中,时钟信号可被嵌入数据,以在单个线路上进行传输。
时钟脉冲源210可以是任何适合的时钟脉冲源,如晶体振荡器或者环形振荡器。它通过时钟缓冲器215在时钟线路256上以第一频率产生第一时钟信号。时钟信号与通过数据缓冲器220传输到设备180的数据同步。
同样,时钟脉冲源260可以是任何适合的时钟脉冲源,如晶体振荡器或者环形振荡器。它通过时钟缓冲器265在时钟线路256上以第二频率产生第二时钟信号。当设备180传输数据时,第二时钟信号与被传输到接口165的数据同步。
时钟脉冲源210和260可以不同并且相互独立。第一和第二频率也可以相互独立并且分别在第一和第二频率范围内。第一频率范围从大约8MHz到66MHz而第二频率范围从大约32MHz到266MHz。通过在设备之间引入频率范围宽变化的不同的并且独立的时钟脉冲源,可以不必利用精确的技术,如昂贵且耗电大的锁相环路。它可以在基于信用的流控制策略下,通过监测两个设备之间的分组的消耗和生成来实现。当两个设备165和180相互通信时,它们在相同的频率范围内运行。这可以通过软件进行配置。
从链路接口电路165或者设备180传输的数据或消息形成分组。分组可以是已发送的、完成的以及未发送的分组这三者中的一个。已发送的、完成的以及未发送的分组可与在PCI Express事务中定义的那些分组相似。例如,消息和一些写事务可被发送,意味着写请求(包括数据)被发送,而从请求者的角度来看,在请求被发送出出口端口事务就结束。
链路和物理层230执行链接或互连任务,例如去串行化,串行化,解码,纠错检查以及产生,链接仲裁等。
事务层240在事务级别执行操作。它包括事务排序逻辑242,队列结构244,以及部件特定逻辑246。事务排序逻辑242提供用于加强简化的事务排序规则的逻辑。队列结构244存储用于流控制策略的分组。流控制策略可以是基于信用的控制策略,它类似于用在PCI Express协议中的控制策略。部件特定逻辑246包括执行相关设备的特定功能的电路。
空闲检测器250检测互连总线255上的空闲状态,而不需要在连接到互连总线255的设备之间的特定消息来传送它们空闲的事实。空闲状态一种状态,在该状态中,链路或总线255上的任一设备都没有任何可传送的东西并且两个设备都准备使总线进入更低的功率状态。当互连总线255用在半双工方式时,空闲检测器250检测空闲状态。它包括用于实现检测空闲状态的过程的逻辑。它包括接收标志,无论何时在当前设备从其它设备接收到任何事务时,该标志就被设置。
时钟脉冲源260、时钟缓冲器265、数据缓冲器270、链路和物理层275、事务层280以及空闲检测器290可与接口165中的对应的单元相似。两个设备可不包含相同的通信接口单元。事务层280可包括事务排序逻辑282、队列结构284以及部件特定逻辑286,它们与事务层240中相应的部件相似。
图3是示出根据本发明一个实施例的队列结构244的图。队列结构244可通过链路和物理层230以及时钟缓冲器215连接到时钟脉冲源210。队列结构244包括去格式器310、已发送和完成队列320、已发送和完成信用分配计数器325、未发送队列330、未发送信用计数器335、传输队列340、格式器345、消费信用计数器350、信用分配360以及流控制逻辑370。
去格式器310将从链路和物理层230接收的分组去格式并且分为两类。第一类包括已发送的和完成的分组。第二类包括未发送的分组。已发送和完成队列320存储第一类中的分组。未发送队列330存储第二类中的分组。已发送和完成信用分配计数器325将代表在发送和完成队列320中的接收的已发送和完成分组的数量的第一接收信用进行累加。未发送信用计数器335将代表在未发送队列330中的接收的未发送分组的数量的第二接收信用进行累加。第一和第二接收信用形成接收信用并被传输到设备180。信用分配寄存器360存储设备180的接收信用的更新限制。
传输队列340存储用于传输的传输分组。格式器345对从传输队列340读出的分组进行格式化,并将经格式化的分组发送到链路和物理层230。消费信用计数器350将代表在传输队列340中的传输分组的数量的传输信用进行累加。
流控制逻辑370利用信用限制360和消费信用计数器350来执行流控制逻辑。结果然后被转发到部件特定逻辑246。通常,流控制逻辑遵循用于PCI Express中的相同的流控制逻辑。
图4是示出根据本发明一个实施例的事务排序表400的图。事务排序表400包括已发送请求行410、未发送请求行420、完成行430、已发送请求列440、未发送请求450以及完成列460。事务排序表400为事务排序提供简化的规则。在事务排序中,可以阻止或者通过分组或事务。当没有足够的信用传输时,分组/事务就被阻止。当分组/事务可以通过链路在之前被接收的另一分组/事务以前被转发时,分组/事务被通过。此外,当分组/事务A和B是挂起的分组/事务且分组/事务A被断言为下一个分组/事务时,分组/事务A被称作通过分组/事务B。规则允许或者禁止在行上的一事务通过在列上的另一事务。
表中的NO指示对应行的事务不能通过对应列的事务。例如,行410和列440在NO条目上相交。该NO条目指示已发送请求不被允许通过另一已发送请求。作为另一示例,行430和列450在YES条目上相交。因此,允许完成事务通过未发送请求。、
因为已发送分组和完成分组共享同一队列,所以这些类型的分组的事务排序规则相同。事务排序规则仅允许已发送的请求或完成的事务通过未发送的请求。规则禁止已发送的请求或完成的事务通过另一已发送的请求或完成的事务。规则还禁止未发送的请求通过另一已发送的请求,另一未发送的请求或完成的事务。
图5是示出根据本发明一实施例的检测空闲状态的过程500的流程图。
从START开始,过程500占用总线作为主设备(步骤510)。主设备是当前占有总线并且驱动时钟信号或者传输数据的设备。接着,过程500完成发送挂起事务(步骤520)。然后,过程500执行至另一设备的总线交接(hand-off)(步骤530)。总线交接是在必要时传递总线占有权以允许其它设备传递数据。
接着,过程500确定是否存在从其它设备回到当前设备的总线交接(步骤540)。若否,则过程500确定是否收到一分组(步骤545)。若否,则过程500返回到步骤540。否则,过程500设置接收标记(步骤550)并返回到步骤540。若存在来自其它设备的总线交接,则过程500确定是否存在挂起事务(步骤560)。若是,则过程500返回到步骤520以完成发送挂起事务。否则,过程500确定接收标记是否被设置(步骤570)。
若接收标记被设置,则过程500清除接收标记(步骤580)并返回到步骤530以执行至其它设备的总线交接。否则,过程500进入空闲状态(步骤590),然后结束。
本发明的实施例的单元可通过硬件、固件、软件或它们的任意结合来实现。术语“硬件”通常指具有物理结构的单元,如电子的、电磁的、光的、光电的、机械的、机电部件、组件或设备等。术语“软件”通常指逻辑结构、方法、过程、程序、例程、处理、算法、规则、函数、表达式等。术语“固件”通常指逻辑结构、方法、过程、程序、例程、处理、算法、规则、函数、表达式等,其被实现或者嵌入到硬件结构(如,闪存)中。固件的示例可包括微代码、可写控制存储、微编程结构。当在软件或固件中实现时,本发明实施例的单元实质是用于执行必要任务的代码段。软件/固件可包括在执行本发明一个实施例中描述的操作的实际代码或者模仿或仿真操作的代码。程序或代码段可存储在处理器或者机器可读介质中,或者在传输介质上通过包含在载波中的计算机数据信号或由载波调制的信号来进行传输。“处理器可读或可访问介质”或“机器可读或可访问介质”可包括任何可以存储、传输或传送信息的介质。处理器可读或机器可访问介质的例子包括电路、半导体存储器设备、只读存储器(ROM)、闪存、可擦除ROM(EROM)、可擦除可编程ROM(EPROM)、软盘、压缩盘(CD)ROM、光盘、硬盘、光纤介质、射频链路等。计算机数据信号可包括可以通过传输介质传播的任何信号,传播介质例如电子网络通道、光纤、空气、电磁、RF链路等。代码段可以通过例如因特网、企业内部网等计算机网络进行下载。机器可访问介质可以包含在制造的物品中。机器可访问介质可包括数据,当被机器访问时所述数据引起机器执行上面描述的操作。机器可访问介质还可包括嵌入在其中的程序代码。程序代码可包括用于执行上面描述的操作的机器可读代码。这里的术语“数据”指为了机器可读目的而被编码的任何类型的信息。因此,它可包括程序,代码,数据,文件等。
本发明的所有或者部分实施例可以由硬件、软件或固件或者它们的结合来实现。硬件、软件或固件单元可具有相互耦合的若干模块。硬件单元可通过机械的、电子的、光的、电磁的或者任意的物理连接耦合到另一模块。软件模块可通过函数、过程、方法、子程序、或者子例程调用、跳转、链接、参数、变量以及变元传递、函数返回等耦合到另一模块。软件模块耦合到另一模块以接收变量、参数、变元、指针等,和/或以产生或传递结果、更新变量、指针等。固件模块通过上述硬件和软件耦合方法的任意组合来耦合到另一模块。硬件、软件或者固件模块可以耦合到另一硬件、软件或者固件模块的任何一个。模块还可以是软件驱动程序或者与平台上运行的操作系统进行交互的接口。模块还可以是硬件驱动器,用于对硬件设备进行配置、设置、初始化、发送以及接收数据。装置可包括硬件、软件和固件模块的任意结合。
虽然根据若干实施例描述了本发明,但是本领域的技术人员会理解,本发明并不限制于所描述的实施例,而是可在所附权利要求的精神和范围内进行修改和变化。因此,该描述被认为是解释性的而非限制性的。

Claims (29)

1.一种用于向设备提供通信接口的接口电路,包括:
可管理性引擎ME空间中的第一时钟脉冲源,所述可管理性引擎ME具有ME部分,所述第一时钟脉冲源用于在链路总线线路上以第一频率产生第一时钟信号,所述第一时钟信号与将被传送到设备的第一数据同步,所述设备具有第二时钟脉冲源,所述第二时钟脉冲源在所述设备传送第二数据时以第二频率产生与第二数据同步的第二时钟信号,所述第一数据和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一频率和第二频率相互独立并且分别限制在第一频率和第二频率范围内,所述ME部分以安全方式管理与处理器共享的输入/输出资源;以及
队列结构,耦合到所述第一时钟脉冲源以存储在基于信用的流控制策略中使用的分组。
2.权利要求1所述的接口电路,其中,所述第一时钟信号与所述第一数据分离。
3.权利要求1所述的接口电路,其中,所述第一时钟信号和所述第一数据嵌入在所述链路总线线路中。
4.权利要求1所述的接口电路,其中,所述第一频率范围从大约8MHz到66MHz而所述第二频率范围从大约32MHz到266MHz。
5.权利要求1所述的接口电路,其中,所述队列结构包括:
第一队列,用于存储接收的已发送的和完成的分组;
第二队列,用于存储接收的未发送的分组;
第一接收信用计数器,耦合到所述第一队列,用于将代表在所述第一队列中的所述接收的已发送和完成的分组的数量的第一接收信用进行累加;
第二接收信用计数器,耦合到所述第二队列,用于将代表在所述第二队列中的所述接收的未发送的分组的数量的第二接收信用进行累加,所述第一信用和第二信用形成将被传送到所述设备的接收信用;以及
信用限制,用于更新所述设备的接收信用的限制。
6.权利要求5所述的接口电路,其中所述队列结构还包括:
传输队列,存储用于传输的传输分组;以及
消费信用计数器,耦合到所述传输队列,将代表在所述传输队列中的所述传输分组的数量的传输信用进行累加。
7.权利要求6所述的接口电路,其中,所述基于信用的流控制策略是基于所述传输信用和信用限制的。
8.权利要求5所述的接口电路,还包括:
事务排序逻辑,耦合到所述队列结构,用于实施简化的事务排序规则,所述事务排序规则允许已发送的和完成的事务共享同一信用。
9.权利要求8所述的接口电路,其中,所述事务排序逻辑允许已发送的请求或完成的请求通过未发送请求,禁止已发送的请求或完成的请求通过另一已发送的或完成的请求,以及禁止未发送的请求通过另一未发送的请求。
10.权利要求1所述的接口电路,还包括:
空闲检测器,用于检测所述链路总线线路上的空闲状态,而不使用发向或来自所述设备的特定消息。
11.权利要求10所述的接口电路,其中,所述空闲检测器包括:
接收标记,当收到分组并且至其它设备的总线交接发生时所述接收标记被设置,当不存在将将被发送的挂起事务并且存在来自其它设备的总线交接时,所述接收标记被清除。
12.权利要求11所述的接口电路,其中,在来自其它设备的总线交接之后不存在将被发送的挂起事务且所述接收标记被清除时,所述空闲状态被检测到。
13.一种用于向设备提供能信接口的方法,包括:
在可管理性引擎ME空间中于链路总线线路上以第一频率产生第一时钟信号,所述可管理性引擎ME具有ME部分,所述第一时钟信号与将被传送到设备的第一数据同步,所述设备具有第二时钟脉冲源,所述第二时钟脉冲源在所述设备传送第二数据时以第二频率产生与第二数据同步的第二时钟信号,所述第一数据和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一频率和第二频率相互独立并且分别限制在第一频率和第二频率范围内,所述ME部分以安全方式管理与处理器共享的输入/输出资源;以及
在队列结构中存储分组,所述分组被用在基于信用的流控制策略中。
14.权利要求13所述的方法,其中,产生所述第一时钟信号包括将所述第一时钟信号与所述第一数据分离。
15.权利要求13所述的方法,其中,产生所述第一时钟信号包括将所述第一时钟信号和所述第一数据嵌入在所述链路总线线路中。
16.权利要求13所述的方法,其中,所述第一频率范围从大约8MHz到66MHz而所述第二频率范围从大约32MHz到266MHz。
17.权利要求13所述的方法,其中,在所述队列结构中存储分组包括:
将接收的已发送和完成的分组存储在第一队列中;
将接收的未发送的分组存储在第二队列中;
将代表在所述第一队列中的所述接收的已发送的和完成的分组的数量的第一接收信用进行累加;
将代表在所述第二队列中的所述接收的未发送的分组的数量的第二接收信用进行累加,所述第一信用和第二信用形成将被传送到所述设备的接收信用;以及
在信用限制中更新所述装置的接收信用的限制。
18.权利要求17所述的方法,其中,在所述队列结构中存储分组还包括:
将用于传输的传输分组存储在传输队列中;以及
将代表在所述传输队列中的所述传输分组的数量的传输信用进行累加。
19.权利要求18所述的方法,其中,所述基于信用的流控制策略是基于所述传输信用和所述信用限制的。
20.权利要求17所述的方法,还包括:
实施简化的事务排序规则,所述事务排序规则允许已发送的和完成的事务共享同一信用。
21.权利要求20所述的方法,其中,实施简化的事务排序规则包括:
允许已发送的请求或完成的请求通过未发送的请求;
禁止已发送的请求或完成的请求通过另一已发送的或完成的请求;以及
禁止未发送的请求通过另一未发送的请求。
22.权利要求13所述的方法,还包括:
检测所述链路总线线路上的空闲状态,而不利用发向或来自所述设备的特定消息。
23.权利要求22所述的方法,其中,检测包括:
当收到分组并且至其它设备的总线交接发生时设置接收标记;以及
当不存在将被发送的挂起事务并且存在来自其它设备的总线交接时,清除所述接收标记。
24.权利要求23所述的方法,其中,检测空闲状态包括:
在来自其它设备的总线交接之后不存在将被发送的挂起事务且所述接收标记被清除时,检测到所述空闲状态。
25.一种用于向设备提供通信接口的系统,包括:
主处理器;
通过存储器控制器耦合到所述主处理器的存储器,所述存储器包括多个双数据率同步动态随机存取存储器装置;
耦合到所述主处理器的芯片集,所述芯片集具有主部分和可管理性引擎ME部分,所述ME部分以安全方式管理与主处理器共享的输入/输出资源,所述芯片集包括接口电路,所述接口电路包括:
第一时钟脉冲源,用于在链路总线线路上以第一频率产生与第一数据同步的第一时钟信号;以及
通过所述链路总线线路耦合到所述芯片集的驻留在ME部分中的设备,所述设备具有第二时钟脉冲源,所述第二时钟脉冲源在所述设备传送第二数据时以第二频率产生与第二数据同步的第二时钟信号;所述第一数据和第二数据各形成一分组,所述分组是已发送的分组、完成的分组以及未发送的分组这三者中的一个,所述第一频率和第二频率相互独立并且分别限制在第一频率和第二频率范围内;
其中,所述接口电路具有队列结构,用于存储在基于信用的流控制策略中使用的分组。
26.权利要求25所述的系统,其中,所述第一频率范围从大约8MHz到66MHz而所述第二频率范围从大约32MHz到266MHz。
27.权利要求25所述的系统,其中,所述接口电路还包括:
事务排序逻辑,耦合到所述队列结构,用于实施简化的事务排序规则,所述事务排序规则允许已发送的和完成的事务共享同一信用。
28.权利要求27所述的系统,其中,所述事务排序逻辑允许已发送的请求或完成的请求通过未发送的请求,禁止已发送的请求或完成的请求通过另一已发送的请求或完成的请求,以及禁止未发送的请求通过另一未发送的请求。
29.权利要求25所述的系统,其中,所述接口电路还包括:
空闲检测器,用于检测所述链路总线线路上的空闲状态,而不使用发向或来自所述设备的特定消息。
CN200710170130XA 2006-09-20 2007-09-20 用于可管理性引擎背景的控制器链路 Expired - Fee Related CN101149726B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/524,849 US7945719B2 (en) 2006-09-20 2006-09-20 Controller link for manageability engine
US11/524849 2006-09-20

Publications (2)

Publication Number Publication Date
CN101149726A CN101149726A (zh) 2008-03-26
CN101149726B true CN101149726B (zh) 2012-03-21

Family

ID=38670237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710170130XA Expired - Fee Related CN101149726B (zh) 2006-09-20 2007-09-20 用于可管理性引擎背景的控制器链路

Country Status (6)

Country Link
US (1) US7945719B2 (zh)
CN (1) CN101149726B (zh)
DE (1) DE102007044891B4 (zh)
GB (1) GB2442129B (zh)
SG (1) SG141378A1 (zh)
TW (1) TWI351615B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019910B2 (en) * 2007-07-31 2011-09-13 Hewlett-Packard Development Company, L.P. Transaction flow control in PCI express fabric
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8687639B2 (en) * 2009-06-04 2014-04-01 Nvidia Corporation Method and system for ordering posted packets and non-posted packets transfer
US8532098B2 (en) * 2009-11-30 2013-09-10 Nvidia Corporation System and method for virtual channel communication
US8255702B1 (en) 2009-12-03 2012-08-28 Altera Corporation Programmable logic device with improved security
US9176909B2 (en) * 2009-12-11 2015-11-03 Nvidia Corporation Aggregating unoccupied PCI-e links to provide greater bandwidth
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US9489304B1 (en) * 2011-11-14 2016-11-08 Marvell International Ltd. Bi-domain bridge enhanced systems and communication methods
US8675444B2 (en) * 2011-12-08 2014-03-18 International Business Machines Corporation Synchronized command throttling for multi-channel duty-cycle based memory power management
US9330031B2 (en) 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
CN102571317B (zh) * 2012-01-06 2016-04-27 因诺微科技(天津)有限公司 软件无线电系统中基于pci总线的数据同步方法及系统
FR2987528B1 (fr) * 2012-02-28 2015-03-20 Valeo Sys Controle Moteur Sas Procede de communication periodique entre au moins un premier systeme et au moins un deuxieme systeme par l'intermediaire d'une liaison serie synchrone full duplex
US9285865B2 (en) * 2012-06-29 2016-03-15 Oracle International Corporation Dynamic link scaling based on bandwidth utilization
US9378168B2 (en) * 2013-09-18 2016-06-28 International Business Machines Corporation Shared receive queue allocation for network on a chip communication
DE102014106019A1 (de) 2014-04-29 2015-10-29 Beckhoff Automation Gmbh Netzwerkteilnehmer
US10176126B1 (en) * 2015-06-29 2019-01-08 Cadence Design Systems, Inc. Methods, systems, and computer program product for a PCI implementation handling multiple packets
CN105843324B (zh) * 2016-03-15 2018-09-28 杭州中天微系统有限公司 一种处理器细粒度调频的方法及装置
US10103869B2 (en) * 2016-04-15 2018-10-16 Infinera Corporation Systems, apparatus, and methods for packetized clocks
US10249017B2 (en) * 2016-08-11 2019-04-02 Intel Corporation Apparatus and method for shared resource partitioning through credit management
US10241536B2 (en) * 2016-12-01 2019-03-26 Intel Corporation Method, apparatus and system for dynamic clock frequency control on a bus
US10432536B1 (en) * 2017-12-11 2019-10-01 Xilinx, Inc. Systems and methods for policing streams in a network
JP2020048030A (ja) * 2018-09-18 2020-03-26 キオクシア株式会社 インタフェース装置及びプログラム並びにデータ通信方法
KR20210057297A (ko) * 2019-11-12 2021-05-21 에스케이하이닉스 주식회사 시스템 및 시스템의 동작 방법
US20230385138A1 (en) * 2022-05-25 2023-11-30 Meta Platforms, Inc. Chip-to-chip interconnect with a layered communication architecture

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4739324A (en) * 1986-05-22 1988-04-19 Chrysler Motors Corporation Method for serial peripheral interface (SPI) in a serial data bus
US5825748A (en) * 1997-04-08 1998-10-20 International Business Machines Corporation Credit-based flow control checking and correction system
US5923858A (en) * 1997-05-01 1999-07-13 Cirrus Logic, Inc. Method and apparatus to interface a peripheral device operating in an internal clock domain to a PCI bus operating in a PCI clock domain
US6088046A (en) * 1997-10-02 2000-07-11 Cirrus Logic, Inc. Host DMA through subsystem XY processing
US6006340A (en) 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
KR20000040467A (ko) * 1998-12-18 2000-07-05 서평원 네트워크의 데이터통신 제어방법
US6747949B1 (en) * 1999-05-21 2004-06-08 Intel Corporation Register based remote data flow control
US6463484B1 (en) * 1999-07-09 2002-10-08 C-Sierra, Inc. Egress port scheduling using memory efficient request storage
US6950438B1 (en) 1999-09-17 2005-09-27 Advanced Micro Devices, Inc. System and method for implementing a separate virtual channel for posted requests in a multiprocessor computer system
TW468112B (en) 1999-12-15 2001-12-11 Via Tech Inc Arbitrating method of bus between control chipsets
US6745369B1 (en) * 2000-06-12 2004-06-01 Altera Corporation Bus architecture for system on a chip
US6658519B1 (en) * 2000-07-28 2003-12-02 International Business Machines Corporation Bus bridge with embedded input/output (I/O) and transaction tracing capabilities
AU2001280857A1 (en) * 2000-08-17 2002-02-25 Api Networks, Inc. System and method for separate virtual channels for posted requests in a multiprocessor system
US6877060B2 (en) * 2001-08-20 2005-04-05 Intel Corporation Dynamic delayed transaction buffer configuration based on bus frequency
US6941405B2 (en) * 2001-08-21 2005-09-06 02Micro International Limited System and method capable of offloading converter/controller-specific tasks to a system microprocessor
EP1421501B1 (en) * 2001-08-24 2006-08-02 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
US6910092B2 (en) * 2001-12-10 2005-06-21 International Business Machines Corporation Chip to chip interface for interconnecting chips
US7024489B2 (en) * 2001-12-31 2006-04-04 Tippingpoint Technologies, Inc. System and method for disparate physical interface conversion
US7221763B2 (en) * 2002-04-24 2007-05-22 Silicon Storage Technology, Inc. High throughput AES architecture
US20040019729A1 (en) * 2002-07-29 2004-01-29 Kelley Richard A. Buffer management and transaction control for transition bridges
US6996659B2 (en) * 2002-07-30 2006-02-07 Lsi Logic Corporation Generic bridge core
US7181544B2 (en) * 2002-09-03 2007-02-20 Intel Corporation Network protocol engine
JP3749211B2 (ja) * 2002-09-06 2006-02-22 株式会社東芝 シリアルデータ受信回路
US7467243B2 (en) * 2002-10-08 2008-12-16 Rmi Corporation Advanced processor with scheme for optimal packet flow in a multi-processor system on a chip
US7120765B2 (en) * 2002-10-30 2006-10-10 Intel Corporation Memory transaction ordering
US6889267B2 (en) * 2002-11-26 2005-05-03 Intel Corporation Asynchronous communication protocol using efficient data transfer formats
US7587587B2 (en) * 2002-12-05 2009-09-08 Broadcom Corporation Data path security processing
US7685436B2 (en) * 2003-10-02 2010-03-23 Itt Manufacturing Enterprises, Inc. System and method for a secure I/O interface
US7181556B2 (en) * 2003-12-23 2007-02-20 Arm Limited Transaction request servicing mechanism
US7454551B2 (en) * 2004-05-26 2008-11-18 Synopsys, Inc. Reconstructing transaction order using clump tags
US20060050639A1 (en) * 2004-09-03 2006-03-09 David Stuart Credit-based method and apparatus for controlling data communications
US8285907B2 (en) * 2004-12-10 2012-10-09 Intel Corporation Packet processing in switched fabric networks
US7136954B2 (en) * 2005-01-31 2006-11-14 International Business Machines Corporation Data communication method and apparatus utilizing credit-based data transfer protocol and credit loss detection mechanism
US7644221B1 (en) * 2005-04-11 2010-01-05 Sun Microsystems, Inc. System interface unit
US7474662B2 (en) * 2005-04-29 2009-01-06 International Business Machines Corporation Systems and methods for rate-limited weighted best effort scheduling
US20070097864A1 (en) * 2005-11-01 2007-05-03 Cisco Technology, Inc. Data communication flow control
US7694049B2 (en) * 2005-12-28 2010-04-06 Intel Corporation Rate control of flow control updates
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8578116B2 (en) * 2006-03-28 2013-11-05 Broadcom Corporation System and method for memory data protection with secure pad memory

Also Published As

Publication number Publication date
CN101149726A (zh) 2008-03-26
GB0718368D0 (en) 2007-10-31
DE102007044891B4 (de) 2014-12-24
US20080072098A1 (en) 2008-03-20
US7945719B2 (en) 2011-05-17
DE102007044891A1 (de) 2008-04-30
TW200830109A (en) 2008-07-16
SG141378A1 (en) 2008-04-28
TWI351615B (en) 2011-11-01
GB2442129B (en) 2009-02-04
GB2442129A (en) 2008-03-26

Similar Documents

Publication Publication Date Title
CN101149726B (zh) 用于可管理性引擎背景的控制器链路
US9753875B2 (en) Systems and an apparatus with a sideband interface interconnecting agents with at least one router
KR101567371B1 (ko) 프로세서 내로의 지적 재산(ip) 블록들의 통합
US8069288B2 (en) Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US9575552B2 (en) Device, method and system for operation of a low power PHY with a PCIe protocol stack
US20140068134A1 (en) Data transmission apparatus, system, and method
CN103827841B (zh) 可配置带宽的io连接器
US8805926B2 (en) Common idle state, active state and credit management for an interface
WO2008058154A2 (en) Using shared memory with an execute-in-place processor and a co-processor
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
US7298758B2 (en) Method and system for optimizing UTOPIA CLAV polling arbitration
CN109960671A (zh) 一种数据传输系统、方法及计算机设备
WO2016095435A1 (zh) 一种多芯片级联的方法、芯片和装置、存储介质
CN104798010A (zh) 至少部分的串行存储协议兼容帧转换
TW202121879A (zh) 透過虛擬匯流排編碼傳播遙測資訊的系統、設備及方法
US20080082708A1 (en) Token hold off for chipset communication
CN204390237U (zh) 一种基于pci-e总线技术的加解密卡
CN103699504A (zh) Ddr物理层数据处理方法、装置及ddr物理层
EP4095704B1 (en) Processing system, related integrated circuit, device and method
West et al. Real-Time USB Networking and Device I/O
US11836096B2 (en) Memory-flow control register
US9170768B2 (en) Managing fast to slow links in a bus fabric
CN115408313A (zh) 处理系统、相关的集成电路、设备和方法
CN112740192A (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120321

Termination date: 20190920