CN1193301C - 初始化计算机接口的设备和方法 - Google Patents
初始化计算机接口的设备和方法 Download PDFInfo
- Publication number
- CN1193301C CN1193301C CNB008164320A CN00816432A CN1193301C CN 1193301 C CN1193301 C CN 1193301C CN B008164320 A CNB008164320 A CN B008164320A CN 00816432 A CN00816432 A CN 00816432A CN 1193301 C CN1193301 C CN 1193301C
- Authority
- CN
- China
- Prior art keywords
- interface
- hub
- computer system
- agent
- data
- 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
Links
Images
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4045—Coupling between buses using bus bridges where the bus bridge performs an extender function
Abstract
根据一个实施例,一种计算机系统包括一个第一集线器代理和一个被连接到该第一集线器代理上的集线器接口。第一集线器代理能够对集线器接口进行采样以便检测计算机系统初始化时第二集线器代理的存在。在另一个实施例中,第一集线器代理包括一个存在检测电路和被连接到该存在检测电路上的控制电路。如果第二集线器代理被检测到,控制逻辑就会响应中央处理器单元的轮询请求;如果第一设备未被检测到,控制逻辑就不响应中央处理器单元。
Description
技术领域
本发明是有关计算机系统这一领域的,尤其有关检测计算机系统中连接到集线器接口上的设备的领域。
背景技术
现有的计算机系统基本上是依赖标准化总线的,例如由PortlandOregan公司PCI Special Interest Group开发的遵守总线说明书修订版2.1的外围部件互联总线(PCI),这样以便于让计算机系统芯片集部件之间能够相互通信。例如,一个从处理器发出的、指向磁盘驱动器的事务处理首先要被发送给一个作为处理器总线和PCI总线之间的中介的第一芯片集部件。然后,第一芯片集部件要将事务处理经由PCI总线发送给第二系统芯片集部件,再由它将该事务处理发送给磁盘驱动器。
像PCI总线这样的总线也提供与其它计算机系统设备—如图形控制器和网络适配器等—之间的通信。因为如PCI总线这样的总线必须要与大量不同的部件类型进行接口,每一种类型都有不同的要求,因而,总线为了允许芯片集部件之间的通信不必须被最优化。另外,依赖于标准化总线如PCI总线的芯片集制造商必须要坚持总线标准以便确保与其它部件之间的兼容性,因而不能够随意地在芯片集部件彼此之间如何通信的方面进行本质的修改。
芯片集部件制造商在设计和制造芯片集部件方面面临的另一个问题是:当依赖总线,如PCI总线,在芯片集部件之间进行通信时,需要遵照标准化的供电电压和发送信号电压,这样就把制造商限定在一定的设计实践和制造技术范围内。
发明内容
因此,希望能够提供一种灵活的点对点式接口,它能够在芯片集部件之间提供最佳的通信。另外,希望能够具备一种用于初始化这类接口的机制,在这种机制下,被连接到芯片集上的设备存在与否可以通过该接口而被确定。此外,如果检测到一个设备时给其分配一个设备标识码,以致处理器能够轮询并读取该设备,这将更为有益。这些可以通过本发明来实现。
按一个实施例,一种被公开的系统包括一个中央处理器(CPU)和一个被连接到CPU上的存储器控制器集线器(MCH)。MCH包括一个第一接口控制器,它可以用于检测被连接到MCH上的集线器代理(agent)的存在性。
按照本发明的一个方面,提供一种计算机系统包括:一个存储器控制器集线器;和一个第一接口,连接到存储器控制器集线器,以便直接在该计算机系统中的存储器控制器集线器和第一集线器代理之间传送数据,该第一接口包括:一个数据信号通道,通过分割事务(split transaction)传送分组数据;和命令信号组,除直接连接到该第一接口的一条外部总线外,该第一接口在该存储器控制器集线器和该第一集线器代理之间提供一个点对点连接;该存储器控制器集线器通过该第一接口可操作来检测该第一集线器代理的存在。
按照本发明的另一个方面,提供一种集线器代理,它包括一个存在检测电路,其中该存在检测电路检测一个接口,以检测连接到该接口的一个设备的存在,该接口包括:一个数据信号通道,通过分割事务传送分组数据;和命令信号组,除直接连接到该接口的一条外部总线外,该接口提供在该集线器代理和该设备之间的点对点连接。
按照本发明的又一个方面,提供一种计算机系统,它包括:一个第一集线器代理;和第二集线器代理;和一个接口,连接在该第一集线器代理和该第二集线器代理之间,以直接在第一集线器代理和该第二集线器代理之间传送数据,该接口包括:一个数据信号通道,通过分割事务发送分组数据;和命令信号组,除直接连接到该接口的一条外部总线外,该接口提供在该第一集线器代理和该第二集线器代理之间的点对点连接;其中当启动该计算机系统时该第一集线器代理采样该接口,以检测该第二集线器代理的存在。
附图说明
本发明通过相应附图中的图示的实例进行说明,但不受其限制。这些附图中相同的参考符代表相同的元件,其中:
图1是一种计算机系统的一种实施例的方块图;
图2是由集线器接口连接的代理的一种实施例的方块图;
图3是存在检测机制的一种实施例的方块图;
图4是初始化集线器接口的一种实施例的流程图;
图5是时序图说明由一个接口的实施例所执行的分割事务;
图6是时序图说明按一种实施例的分组数据的判优和传输;
图7是时序图说明按一种实施例的分组数据的流控制;
图8描述一个流程图说明了按一种实施例的响应流控制操作的步骤;
图9说明了按一种实施例的物理信号接口;
图10是时序图说明了按一种实施例的资源同步时钟控制。
具体实施方式
用于初始化集线器接口的方法和设备将在这里进行说明。在以下有关本发明的详细说明中,大量明确细节将被阐述,以便给出本发明的详细解释。但是,显然对于本领域中的技术人员,即使没有这些详细说明也可以实现本发明。在其它的图例中,熟知的结构和设备被以方块图的形式表示,而不详细说明,以免掩盖了本发明。
紧随其后的详细说明中的某些部分是按照计算机存储器中对数据位操作的逻辑运算和符号表示而给出的。逻辑运算描述和表示是数据处理领域中的技术人员用于最有效地将工作内容传送给该领域中其它技术人员的一种方法。这里的逻辑算法通常应被理解为一系列能够导致预期结果的自相容步骤。这些步骤是这样要求对物理量进行物理操作。通常,尽管不必要说明,这些物理量是以电或磁信号的形式存在,能够被存储、传输、组合、比较、以及其它操作。已经证实,有时按位、数值、元素、符号、字符、项目、或编号等引用这些信号会很方便,这主要是由于其普遍应用的缘故。
但是,您应该牢记:这些类似的术语都是与适合的物理量相关的,是应用到这些物理量上的一种合宜的标识。除非特殊说明否则正如下面论述中所显而易见地,应这样理解:在本发明的整个说明中,使用如“处理”“计算”“运算”“确定”“显示”等术语所进行的论述都是指计算机系统或类似电子运算设备的动作和处理过程。电子运算设备要将计算机系统寄存器和存储器内的代表物理(电)量的数据处理或转换成其它数据,它们同样也代表着计算机系统存储器或寄存器或其它这类信息存储、传输或显示设备中的物理量。
本发明也是与用于执行这里的操作的设备相关的。这类设备可为被要求的用途而特别构造,或者它也可以包括一台由计算机中存储的计算机程序有选择地启动或重新配置的通用计算机。这类计算机程序被存储到计算机可读存储介质中,例如任意类型的磁盘-包括软磁盘、光盘、光盘只读存储器、磁光盘、只读存储器(ROM)、随机存储器(RAM)、EPROM、EEPROM、磁卡、或光卡等,或者适于存储电指令的任意类型的媒介,但是并不限于以上这些类型的介质,同时每一种介质都要被连接到计算机系统的总线上。
这里给出的运算逻辑和显示与任何特定的计算机或其它设备并没有内在关联。借助于按本文所进行的教授的程序,各种通用机都可以被使用;或者可能证明便利的做法是建构更为专用化的设备以执行被要求的方法步骤。各种不同类型机器所必要的结构将在下面的说明中给出。另外,本发明所进行的说明并非参考任意特定的编程语言。应该理解为各种不同类型的编程语言都可以被用于实现这里所被说明的本发明的教导。
程序包括可执行指令,它们由一个或多个存在于一个或多个个人计算机系统、服务器以及工作站等上的编程设备所执行(例如中央处理单元(CPU)、处理器、控制器等)。
图1是计算机系统100的一种实施例的方块图。计算机系统100包括一个被连接到总线105上的中央处理单元(CPU)102。在一种实施例中,CPU 102是Pentium处理器家族中的一种,包括PentiumII处理器系列和PentiumIII处理器系列,这种处理器可以从加州SantaClara的Intel公司获得。其它类型的处理器也可以被选择使用。
存储器控制集线器(MCH)110也被连接到总线105上。MCH 110也可能包括一个被连接到主系统存储器115上的存储器控制器112。主系统存储器115存储着由计算机系统100中包含的CPU 102或任何其它设备所执行的指令的数据序列。在一种实施例中,主系统存储器115包括动态随机存取存储器(DRAM);但是主系统存储器115也可能利用其它类型的存储器而得以实现。其余设备也被连接到总线105上,例如多CPU或/和多系统存储器。
MCH 110也可能包括一个被连接到图形加速器130上的图形接口113。在一种实施例中,图形接口113通过一个加速图形端口(AGP)被连接到了图形加速器130上,该AGP是按照由加注洲Santa Clara的Intel公司开发的AGP说明书2.0版接口进行操作的。在另一种实施例中,图形接口113可利用一个被连接到图形加速器130上的集线器接口控制器120得以实现的。
MCH 110也可能包括一个被连接到桥接器125上的集线器接口120。桥接器125可以提供MCH 110和系统总线之间的接口。桥接器125通过集线器接口A被连接到MCH 110上。此外,MCH 110通过集线器接口B被连接到一个输入/输出控制集线器(ICH)140上。ICH 140提供了到计算机系统100内输入/输出(I/O)设备上的接口。ICH 140可能包括一个或多个接口控制器120。例如,一个接口控制器120可以通过集线器接口C被连接到网络接口160上。另外,其它的接口控制器120可被连接到光纤信道165上。
通过集线器接口被连接到一起的设备被称为集线器接口代理。根据行程,被放置在靠近计算机系统100中CPU 102的集线器代理被称为上游代理,而远离CPU 102的集线器代理则被称为下游代理。例如,桥接器125是MCH 110的下游代理,ICH 140是MCH 110的下游代理,网络接口160和光纤信道165均是MCH 110和ICH 140的下游代理。但是,本领域中的一般技术人员应当明理解,集线器接口可能被连接到其它的设备上。
ICH 140也可以包括一个提供到PCI总线上的传统接口的桥接器146。桥接器146提供了一条CPU 102与外围设备间的数据通道。可被连接到PCI总线142上的设备包括音频设备150和磁盘驱动器155。但是,本领域中的一般技术人员应该理解,其它的设备可能被连接到PCI总线142上。另外,本领域中的一般技术人员也应该认识到CPU 102和MCH 110可以被组合形成一个单一的芯片。在其它的实施例中,图形加速器130还可能被包括在MCH 110中。
图2是连接着一个上游代理220和一个下游代理230的集线器接口的一种实施例的方块图。集线器接口是一种机制,它通过一条相对窄而高的带宽的数据通道,连接着计算机系统如系统100的核心逻辑的主建构模块。在计算机系统100的各个部件之间,例如在MCH 110和桥接器125之间,这种连接是以点对点的方式被实现的。按一种实施例,经过集线器接口总线的信息传递是利用基于分组数据的分割事务协议而得以实现的。集线器接口将在下面被更加详细地说明。
集线器接口包括一条双向数据通道251,一个终止信号253、一个请求A信号(RQA)254、一个请求B信号(RQB)258以及一个系统复位信号255。按一种实施例,数据通道是8位宽。但是,数据通道的宽度可以是2的任一次方宽。终止信号253是一种用于流控制的双向信号。RQA信号254和RQB信号258都是请求信号,在正常的系统处理过程中,它们均要被认定(assert)以便请求对集线器接口的控制。
此外,RQB信号258在系统复位时,可被用于检测是否下游代理230确实被连接到上游代理220上。集线器接口也可能包括其它的信号通道,例如时钟信号、一个或多个在四倍于时钟信号频率下工作的数据选通信号、以及电压参考信号(未给出)等。或者,数据选通信号也可能工作在时钟信号的多倍频,而非四倍频。例如,数据选通信号可能运行在8倍于系统时钟信号的速度下。
集线器接口被分别连接到上游代理220内和下游代理230内的接口控制器120和232上。接口控制器120和232控制着集线器接口代理之间的交互作用。接口控制器120包括一个检测下游代理230是否存在的存在检测模块225。接口控制器232包括一个向存在检测模块225发送信号以确认下游代理230存在的存在确认单元235。按照一种实施例,存在检测过程在系统初始化过程中被执行。当复位信号255被再认定(de-assert)后,系统初始化在集线器接口处就可被检测到。
上游代理220也包括控制逻辑228。控制逻辑228从存在检测模块225上接收信号,用于识别是否一台设备被连接到上游代理220上。控制逻辑228也存储着对上游代理220的设备标识码分配信息(ID)。控制逻辑228保存着这些信息;并且,无论何时CPU 102要为包括控制逻辑228的代理寻址设备码ID,控制逻辑228都要响应CPU 102。
图3是存在检测模块225和存在确认单元235间的设备存在检测机制的一种实施例的方块图。存在检测模块225和存在确认单元235是通过RQB信号258联络的。按一种实施例,存在检测模块225和存在确认单元235分别包括电阻R1和R2。R1是被连接到线电压Vcc上的上拉电阻,而R2是被接到地上的下拉电阻。此外,电阻R1被设计成相对电阻R2具有很小的电阻值。
在接口初始化过程中(即复位信号255禁用时),控制逻辑228监测RQB信号258以确定是否一台下游代理230被连接到上游代理220上。按一种实施例,控制逻辑228在电源接通复位信号向无效转变的边沿上对RQB信号258进行采样,以确定下游代理是否存在。如果下游代理230不存在,RQB信号258被上拉,导致高逻辑电平被传送给控制逻辑228。如果下游代理230被检测到,由于电阻R1具有比电阻R2更高的电阻值,因此RQB信号258拉向地。因此,低逻辑电平被传送给逻辑控制228,表示下游代理230存在。本领域中的一般技术人员应认识到电阻R1和R2可以被其它设备所替换,如晶体管。另外,存在检测模块225和存在确认单元235可以被配置成:每当设备被检测到时高逻辑电平被传送,而设备未被检测到时低逻辑电平被传送。
当系统被初始化时,CPU 102要轮询各个上游代理220内的控制逻辑228,以便确定是否下游代理230被连接到每个特定的上游代理220上。如果没有代理被检测到,控制逻辑228就不响应CPU 102的轮询请求。而且,如果在上游代理220处设备没有被检测到,CPU 102管理上游代理220,好似其不存在。如果下游代理230被检测到,CPU 102就接收来自于上游代理的响应,接下来继续轮询下游代理。
按一种实施例,设备标识码ID在配置时就会被分配给计算机系统100内所有的部件。另外,部件设备标识码在MCH 110和ICH 140之间是分开的。例如,MCH 110中的部件可能被分配给0到7之间的设备标识码ID,而在ICH 140中的部件可能被分配给8到31之间的设备标识码ID。另外,如果上游代理220将逻辑内部设备映射到一个下游代理上,那么上游代理220就要给任何被映射到下游代理上的内部设备使用16到31之间的设备标识码ID。
图4是集线器接口120(例如上游代理220)初始化的一种实施例的流程图。在处理块410中,当计算机系统100通电复位后集线器接口也被复位。在处理块420中,上游代理220对RQB信号258进行采样,以确定是否有下游代理被连接到集线器接口上。在处理块430中,一个信号被传送给控制逻辑228,用于指明是否有下游代理被检测到。在处理块434中要确定出是否有下游代理被上游代理220检测到。如果下游设备未被检测到,在处理块436上游代理就使集线器接口变无效。
在处理块440中,CPU 102轮询上游代理220。在处理块450中要确定是否CPU 102接收了来自上游代理220的轮询响应。如果CPU102接收了来自上游代理220的响应,在处理块460中,CPU 102将轮询下游代理230。如果确定没有下游代理被连接到上游代理220上,处理块470中控制逻辑228就不会响应CPU 102的轮询请求,因为集线器接口已经无效。因此,上游代理220对于CPU 102和计算机系统100被表现成不可见的。
返回参考图2,集线器代理提供了一种两个或多个独立总线之间、和/或其它各类的通信线路之间的中央连接。通过使用集线器接口将MCH 110和ICH 140进行内连,改进的访问方式被提供在I/O部件和CPU/存储器子系统之间(例如增加带宽、协议独立、减少等待等)。另外,集线器接口也可以通过向I/O构件块提供干线来提高计算机系统的可升级性(例如可以将基础台式电脑平台升级为高级台式电脑平台或工作站平台)。
为了提供这类改进的接口,集线器接口包括一个或多个独特的特性。在一种实施例中,借助于基于分组数据的分割事务协议,事务处理通过集线器接口被传送过去。例如,一个请求分组数据被用于开始一个事务处理,如果需要,随后一个独立的完成分组数据被用于结束一个事务处理。
图5说明了经过集线器接口的分割事务的一个实例。如图5中所示,集线器代理起初通过判优502获得集线器接口的所有权。在判优后是请求阶段504。如果需要(例如在要为读事务返回数据的情况下),一个完成阶段508会紧随请求阶段之后。但是,在完成阶段之前,正在响应着的集线器代理首先进行集线器接口所有权的判优506。
在通过集线器接口传送请求分组数据和相应的完成分组数据的时段之间中,独立不相关的分组数据可能通过集线器接口按预定的排序规则被传送,这一点将在下面详细讨论。例如,在由一个外围设备对存储器读请求的情况下,提供被请求的数据可能要花费多个时钟周期,以便在完成分组数据中有数据准备被返回。花费在获取被请求数据的这段时间中,正在MCH 110队列中或管道中等待的独立不相关的完成和/或请求分组数据被传送给ICH 140。
另外,如图5所示,各个请求或完成都作为一个分组数据通过接口被传送。对于写类型的事务处理,数据是与请求相关的。对于读类型的事务处理,则有与完成相关的数据。在某些情况下,对于一个请求可能存在不止一个完成,对在完成分组数据被切断的情况下有效地将它拆分为多个完成分组数据。
另外,在一种实施例中,集线器接口使用事务处理描述符,用于集线器接口通信量的路径选择以及识别事务处理的属性。例如,描述符可以被用作将一个事务处理定义成同步的或异步的,其结果是这些事务处理要按预定的协议被处理。
此外,在一种实施例中,通过经资源同步时钟模式传递分组数据,接口的带宽可被部分地加宽。而在另一种实施例中,集线器接口尽受使用窄带连接(例如少管脚/焊点)都提供扩展的带宽。
但是,在另一种可选择的实施例中,被实现的集线器接口具有的所有独特特性也可能少于以上所讨论过的那些,这并不偏离本发明的范围。而且,不偏离本发明范围的情况下,集线器接口可能也被用于将桥接器和/或其它内或外的部件内联到一个芯片集上。
事务处理、协议和物理层
为了更加明确地阐述,集线器接口将分三个部分进行说明:事务处理层、协议层和物理层。但是,各层次之间的区别应被看出一种阐述,而不具有限定意义,因此并不意味着存在某个特定的最优实施例。
事务处理层
在一种集线器接口的实施例中,事务处理层支持经由集线器接口(可以包含一个或多个分组数据)传输的独立事务的路径选择。例如,在一种实施例中,集线器接口的事务层生成事务描述符,它被包含在请求和分组数据中。事务描述符被用于支持集线器代理(如MCH)内队列之间的判优,和/或简化穿过集线器接口的请求和分组数据选择路径。
例如,在一种实施例中,事务描述符支持基于初始被提供的路径选择信息(在请求分组数据中),完成分组数据送回到请求初始化代理中的选择路径。事务描述符也帮助减缩或尽可能地最小化集线器代理内的分组数据解码逻辑。
在另一种可选的实施例中,事务描述符也提供了基于它们的各自事务属性对请求进行区别处理的能力。例如,在事务描述符中被识别出的事务属性可以辨识出操作是等时的(即指在正常情况下能够传送固定量数据的操作,例如视频或音频的时实操作)。由此,由事务属性识别出的操作可按相应的预定路径选择协议而被处理,以便能够支持特定类型的操作(如等时类型)。
在一种实施例中,事务描述符包括两个字段:路径选择字段和属性字段。在另一种可选的实施例中,不超出本发明范围的情况下,或多或少的字段可被用于提供事务描述符的一种或多种功能。
在一种实施例中,路径选择字段是一个被用于分组数据路径选择的六位字段,如下表1中所示。路径选择字段以及属性字段的长度在本发明范围内是可以变化的。
表1事务描述符的路径选择字段5 4 3 2 1 0
集线器标识 | 管道标识 |
如表1所示,路径选择字段中的三位被用作集线器标识,它能够识别初始化该事务的集线器代理。在另一种可选的实施例中,为了提供超过8位的集线器接口层,额外的位也要被用在路径选择字段中。
例如,一种系统中可能存在多个集线器接口层,在这种情况下,位于顶层的代理应能够选择路径完成数据送回至基层。在本文范围内,“多层结构”包括多个起始于集线器接口“根”代理(如MCH)的被连接的集线器接口部分。例如,计算机系统100可能只有一个集线器接口层。但是,图1说明的计算机系统100的实例是基于多个集线器接口层。在实现仅一个集线器接口层的实施例中,缺省值“000”可被用在集线器标识ID字段中。
路径选择字段的其余三位被用于标识集线器接口代理内的内部管道/队列。例如,I/O控制集线器可以借助分开的“管道”支持内部USB(通用串行总线)主机控制器的通信量和总线主控器标识(BMID)的通信量。如此,管道标识被用于对服务代理通信(例如MCH),其通信量是由具有不同属性的不同“管道”所发起并按预定的协议被处理。如果集线器接口代理不能采样独立的内部管道,那么它可以在管道标识字段内使用缺省值“000”。
在另一种可选的实施例中,事务描述符还包括一个属性字段。在一种实施例中,属性字段是一个具有三位的值,它明确指明当目标集线器接口代理接收到一个事务时该事务应如何被处理。在某些情况下,属性字段辅助系统支持要求的应用程序的工作负荷,这类工作负荷要依赖对具有特殊要求或其它差分特性的数据进行传输和处理。
例如,属性字段可支持设备之间的数据等时传输,如由最近几种发展起来的外部总线所使用。当数据流经I/O设备和CPU/存储器子系统之间的集线器接口时,此类数据传输要求需被一直保持。
在另一种可选的实施例中,其它事务属性可包括区分“被探测过”的通信量和“未被探测过”的通信量的能力。在“被探测过”的通信量中高速缓存的相干性通过硬件(即芯片集)进行增强;而“未被探测过”的通信量依赖软件机制确保系统中数据的相干性。而且,其它可能属性是“明确可被预取的”暗示,以便支持读高速缓存形式,并允许对主存储器带宽更为有效的使用。
排序规则
事务描述符也可以被用于支持经由集线器接口传输的事务之间的排序规则。例如,在一种实施例中,具有相同事务描述符的事务按严格次序执行(即先到来先服务)。
但是,具有相同路径选择字段但不同属性字段的事务要对照彼此,被重新排序。例如,在一种实施例中,等时事务相对于不同步的事务而言不需要被严格地排序。
此外,在一种集线器接口的实施例中,数据传递可被允许在越过请求后沿着相同的方向或者相反的方向进行。流向某一方向上的读完成被允许越过流向同一方向上的读请求。同样,写请求被允许越过流向相同方向上的读请求。
但是,在另一可选的实施例中,穿越集线器接口进行传输的事务的排序规则在本发明的范围内是可以变化的。例如,在一种实施例中,集线器接口执行外围部件互联(PCI)(版本2.2)中所提供的排序规则,以确定经由集线器接口的在相反方向上的通信量流。协议层
在一种实施例中,集线器接口将基于分组数据的协议应用到两种类型的分组数据中—请求分组数据和完成分组数据。请求分组数据被用在各个集线器接口事务中。完成分组数据被用在,例如,需要返回读数据或者要求确认某一类型的写任务被完成(例如具有被请求的完成的I/O写和存储器写操作)的情况中。通过任务描述符和排序,如前面在事务层部分讨论过的,完成分组数据就能与它们对应的请求分组数据相关联。
另外,在一种实施例中,集线器接口使用的判优协议是对称的、分布式的。例如,各个集线器代理要驱动一个请求信号,该信号被其它连接到此同一接口上的主体所观测。授权信号未被使用,代理独立地确定接口的所有权。
而且,在一种实施例中,没有明确的组帧信号被使用。这里含有提供接口的代理所有权的判优事件和代理传送开始这二者之间的关系。在另一可选的实施例中,不超出本发明范围的条件下组帧信号可以被使用。
当占用接口的集线器接口代理(例如,处于传输数据的过程中)通过终止请求信号而释放对接口的控制时,分组数据传输的终点就出现了。另外,在另一种实施例中,流控制也通过使用停止信号去重试或断开分组数据而得以实现,这一点将在下面更为详细地说明。分组数据定义
在集线器接口的一个实施例中,数据以多倍于集线器接口时钟(HLCK)的速率(例如1×,4×,8×)被传送;在一种实施例中,这种时钟是由集线器接口联接的集线器代理们共同分享的公用时钟。数据经由集线器接口的数据信号通道(PD)被传输,数据信号通道的“接口宽度”是2的某次幂(例如8、16、24、32)。结果,根据传输速率和数据信号通道的宽度,集线器接口可以具有可变的数据传输粒度(即传输宽度)。例如,在4×模式、8位接口宽度的情况下,传输宽度是32位每个HLCK。结果,通过改变传输速率和/或数据信号通道的接口宽度,传输宽度(即每个HLCK所传输的位数)就可以被缩放。
此外,在一种实施例中,分组数据可能比传输宽度要大。这样,分组数据以多个部分方式(即分组数据宽度)进行传输。在一种实施例中,分组数据被分成分组数据宽是双字长(32位)。
在32位传输宽度的情况下,一个分组数据宽中的字节显示到接口中,以最不重要的字节开始(字节0),以最重要的字节结束(字节3),如表2中所示。在64位传输宽度的情况下(例如4×模式下的16位宽接口),最不重要的双字(分组数据宽)在数据信号的低字节上进行传输(例如PD[0:7]),而重要的双字在数据信号的高字节上被并行传输(如PD[15:8])。这两个例子都在下面表2中给出。
表2 8位和16位接口宽度时的字节传输次序
HLCLK HLCLKPD[7:0] PD[7:0]PD[15:8]8位接 16位接口 |
集线器接口的协议层也要负责组帧数据。这样,由集线器接口所执行的组帧规则就定义了如何将一个或多个分组数据宽映射到一组传输宽度上。为了简化将分组数据分析成分组数据宽,在一种集线器接口的实施例中,下面三个组帧规则被履行:分组数据的头部分开始于传输宽度的第一个字节上;分组数据的数据部分(如果存在)开始于传输宽度的第一个字节上;分组数据占用整数个传输宽度。
任何一个未被分组数据使用的可使用的传输宽度可被用一个伪双字(DW)传输所填充,但被接收集线器代理忽略。在其它可选的实施例中,在本发明的范围内,或多、或少、以及/或者其它不同的组帧规则可被集线器接口所使用。
表3和表4在下面给出,用于说明上面给出的64位传输宽度情况下的组帧规则的实例。
表3 使用32位寻址并包含3个双字数据的请求
表4 使用64位寻址并包含3个双字数据的请求
请求分组
按一种实施例,请求包的包头格式在下面表5和表6中给出。在表5和表6所示的实例中,基准头是一个双字;对于32位寻址则要求用一个额外的双字;对于64位寻址模式,则要求两个额外的双字。表5和6中给出的头字段将在表的下面进行说明。
在集线器接口的另一可选的实施例中,不脱离本发明范围的情况下,包含在请求分组数据头中的字段是可以改变的。例如,头可能包括附加字段,或缩减字段,或不同的字段替代以下给出的字段。而且,在不脱离本发明范围的情况下,字段编码也是可以更改的。
表5对应32位寻址的请求分组数据的头格式
被传输的尾字节 被传输的首字节
31 30 29 28 27 26 25 24| 23 22 21 20 19 18 17 16 |15 14 13 12 11 10 9 8 |7 6 5 4 3 2 1 0
表6对应64位寻址的请求分组数据的头格式
被传输的尾字节 被传输的首字节
31 30 29 28 27 26 25 24|23 22 21 20 19 18 17 16 | 15 14 13 12 11 10 9 8 |7 6 5 4 3 2 1 0
事务描述符 事务描述符路径选择和属性字段如前面所说明过的
rc/cp 请求分组数据以“0”标识,而完成分组数据在此位
置上则用“1”标识
cr 要求完成(‘1’)或者不要求完成(‘0’)
r/w 读(‘0’)或写(‘1’)。该字段指示是否数据被
包含在完成(读)或请求(写)中。
地址格式(af) 寻址格式或是隐含的(‘0’)、或是32/64位(‘1’)
锁定(lk) 该标志位用于指示请求是被锁定序列的一部分。被锁
定序列中的请求和完成会设置此位。未包含锁定的集
线器代理将忽略此标志位,并用‘0’填充此字段。
数据长度 数据长度是按双字给出的,编码后要使所表示的双字
数目是该双字数目加1。因此,“000000”表示1个
双字长。
空间 该字段为请求选择目的空间的类型。在一种实施例
中,可能的目的空间包括存储器(“00”)和IO(“01”)。
首DW BE 用于任何到存储器或IO上的读或写请求的第一个双
字的字节允许。字节允许低有效。如果对应一个请求
仅存在一个双字,那么该字节允许字段必须被使用。
在一种实施例中,在无字节允许的情况下发布存储器
或IO的读或写请求是非法的。
尾DW BE 用于任何读或写请求的最后一个双字的字节允许。字
节允许低有效。如果对应一个请求仅存在一个双字,
那么该字段必须是无效的(“1111”)。字节允许可能是
不连续的(例如“0101”)。该字段不能与特殊周期
字段一同使用,因为它与“特殊周期编码”字段是重
叠的。
地址[31:2] 32位地址将被生成,同PCI上同类周期的地址。对于
32位和64位寻址模式该双字要被包括其中(而对于
隐含寻址模式则不然)。
扩展地址(ea) 指明32位寻址(‘0’)或64位寻址(‘1’)
配置类型(ct) 仅用于配置周期,该位被用于指示类型0(‘0’)或
类型1(‘1’)的配置周期类型。因为配置周期总是
同32位寻址一同执行,因此该位是与“扩展地址”
位重叠的。
地址[63:32] 用于64位寻址模式中的高位地址。对应64位寻址模
式,该双字要被包括进来。
完成分组
按一种实施例,用于完成包的头格式如下面表7中所示。在一种实施例中,头是一个双字。头字段,如表8中所示,将在表的下面进行说明。
但是,在集线器接口的另一种可选的实施例中,不脱离本发明的范围的情况下,完成包的头中所包含的字段可以更改。例如,头可以包括附加字段、缩减字段、或不同的字段来替代如下给出并说明的字段。而且,不脱离本发明范围的情况下,字段编码也是可以更改的。
表7 完成分组的头格式
被传输的尾字节 被传输的首字节31 30 29 28 27 26 25 24|23 22 21 20 19 18 17 16|15 14 13 12 11 10 9 8|7 6 5 4 3 2 1 0
rqcp | r/w | 保留 | lk | 事务描述符路径选择字段 | 保留 | TD属性 | 保留 | 数据长度(DW) | 完成状态 |
事务描述符 事务描述符路径选择和属性字段即如前面在事务处
理部分中说明过的
rc/cp 完成分组数据在此位置上用“1”标识
r/w 读(‘0’)或写(‘1’)。该字段指示是否数据被
包含在完成(读)或请求(写)中。
锁定(lk) 该标志位用于指示完成是被锁定序列的一部分。被锁
定序列中的请求和完成会设置此位。没有包括锁定的
代理将忽略此标志位并用‘0’填充此字段。
数据长度 数据长度是按双字给出的,编码后要使所表示的双字
数目是该双字数目加1。因此,“000000”表示1个
双字长。
完成状态 使用预定的方式指示完成状态
保留 所有保留的位都被设置成‘0’
在集线器接口的一种实施例中,存储器读完成提供的数据量可能少于总体被请求的数据量,只要整个请求被最后完成。同样,存储器写完成也可能意味着并非整个请求都被完成。这样做可以满足特殊平台上特殊集线器接口等待时间的要求。
此外,在一种实施例中,对于要求完成的请求,启动程序保留有关该请求的信息,并将其保存到初始化集线器代理的缓冲器中。例如,该信息可能包括事务描述符、分组数据大小、锁定状态、路径选择信息等。此外,当接收到完成时,启动程序就会将完成与相应的请求进行匹配。在存在多个完成的情况下,启动程序会累积为原始请求而实行的数据数量,一直到原始请求被彻底完成为止。
接口判优和分组数据组帧
在集线器接口的一种实施例中,当接口空闲时,来自于被连接到接口上的任何一个集线器代理的请求声明都被看作一次判优事件。发出请求的第一个代理得到接口的所有权。当集线器接口空闲时,如果代理们同时请求所有权,那么最近最少被服务的集线器代理获得所有权。在一种实施例中,所有的集线器代理都要追踪其最近最少被服务的状态(例如通过内部寄存器中的状态标志)。在另一种可选的实施例中,在本发明的范围内,其它可选的判优例行程序可被使用。
一旦一个集线器代理获得了接口的所有权,它将继续占用此接口直到完成其事务处理为止,或者是直至被分配的时间带宽期满。例如,在一种实施例中,一个时间片计数器在每个集线器代理中被提供以控制带宽分配和限制代理的接口所有权的占有期。对于被连接到同一接口上的集线器接口而言,被分配给集线器代理的时间(即时间片值)可能是相同的,也可能是不同的。一旦获得接口的所有权,时间片计数器就被启动,计数集线器接口基准时钟的周期。
在一种实施例中,各个集线器代理都要负责管理它们自己的占有时间片分配。这样,在一种实施例中,时间片值通过各集线器代理中用于各个接口的集线器接口命令寄存器可以被编程。
图6说明了对集线器代理A和代理B之间的集线器接口进行判优以及传输两种分组数据的一个实例。该例子说明了判优脱离空闲接口状态,随着再重返空闲状态。而且,在所说明的例子中,接口使用了4×数据传输模式、8位数据信号(PD)通道。代理A,在图6所说明的实施例中,是最近刚被服务过的代理(MRS)。结果,代理A发出其外部请求信号(RQA),同时采样在时钟沿1代理B的请求信号(RQB)的状态(图中显示该信号无效),在脱离此同一时钟沿启动分组数据传输之前。
在一种实施例中,在被传输的数据(即来自代理A的数据)从时钟沿3开始可在内部达到接收器(即代理B)之前存在两个时钟延迟。第一个分组数据包括两个双字602和604,要求两个基准时钟,以便能够按4×模式进行传输。第二个分组数据包括三个双字606、608和610,因此要求三个基准时钟以便能够按4×模式进行传输。
流控制
在一种实施例中,分组数据可能由于请求队列空间不足、数据缓冲器空间不足或其它原因而被接收代理重试或切断。在一种实施例中,流控制是利用一个STOP(停止)信号实现的。
图7说明了一个应用STOP(停止)信号的实例。正如曾说明过的,代理A发出其外部请求信号(RQA),并且采样在时钟沿1代理B的请求信号(RQB)的状态(图中显示该信号无效),在脱离此同一时钟沿时(如时钟沿1),启动分组数据传输以前。
在两个时钟延迟之后,从时钟沿3开始,来自代理A的被传输数据可在内部到达代理B处的接收器。在一种实施例中,在接收到从代理A传输来的数据之后,代理B才首次有机会通过发出STOP(停止)信号制定流控制,如图7所示,在时钟沿4上。
此外,当PD信号的使用权从一个集线器代理变换到另一个集线器代理时,STOP(停止)信号的使用权也要在预定的时钟数目之后被交换。而且,在一种实施例中,STOP(停止)信号根据基准时钟被采样,基准时钟对应一个分组数据宽的末端传输。例如,在4×模式(利用8位宽PD信号)下,STOP(停止)信号每个基准时钟被采样一次。但在1×模式下,STOP(停止)信号则每四个时钟被采样一次(以事务处理开始时刻作为参考点)。
停止信号被接收之后,接收了STOP(停止)信号的集线器代理将确定是否它可再尝试发送其它的分组数据。图8中的流程图说明了按一种实施例的集线器代理在接收到STOP(停止)信号后而决定是否再次尝试发送分组数据时所应执行的步骤。
在步骤802中,正在传输分组数据的集线器代理接收到一个STOP(停止)信号。作为响应,在步骤804,接收了STOP(停止)信号的集线器代理,通过对其它集线器代理的请求信号进行采样(例如RQB)确定是否有其他代理(该代理启动了STOP(停止)信号)正在请求接口的使用权。
如果停止信号的接受者确定出发送停止信号的代理并没有请求接口的使用权,那么在步骤806,接口的当前使用者就会在停止信号恢复后尝试传输分组数据。另一方面,如果确定出启动停止信号的代理正在请求使用权,那么在步骤808,当前使用者就要确定是否其时间片已经到期。
如果接口当前使用者的时间片已经到期,那么在步骤810,当前使用者就释放使用权。如果当前使用者的时间片未到期,当前使用者就会传输一个分组数据,其属性不同于被中断的分组数据。更明确地,在步骤812上,当前使用者要确定是否它具有一个需要被传输的分组数据,该分组数据的属性类型不同于当前判优阶段(即当前使用者的占用期间内)中被重试过的任何分组数据。
如果当前使用者确实含有一个具有不同属性的分组数据,那么在步骤814,当前使用者将尝试传输该分组数据。否则,当前使用者将释放接口的使用权。
物理接口
在一种实施例中,集线器接口采用了一种物理接口,它能在66MHz或100MHz的基准频率下工作。其它频率也是可以使用的。此外,在一种实施例中,物理接口使用了资源同步(SS)数据传输技术,它能实现四倍定时,以便在4×基准集线器接口时钟的模式下传输数据。结果,在具有一个8位数据接口(例如PD)工作在66MHz或100MHz基准频率下的一种实施例中,266兆字节每秒(MB/s)或400MB/s的带宽可被分别获得。
另外,在一种实施例中,集线器接口支持1.8V工作电压,该接口是基于互补金属氧化物半导体工艺(CMOS)发送信号。但是,在另一种可选的实施例中,在不脱离本发明范围的情况下,基于另一种可选的信号处理方式,集线器接口可在另一种可选的频率和/或另一种可选的接口数据长度下工作以提供不同的带宽,并支持可选的其它工作电压。
外部信号定义
图9说明了按一种实施例的两个集线器代理之间的集线器接口的物理信号接口。如图9所示,集线器接口的物理接口使用了一条双向的8位数据总线(PD[7:0]),使用一对不同的资源同步选通信号(PUSTRBN、PUSTRBP)进行数据定时。在另一种可选的实施例中,接口可被扩展。例如,如图9中所示的,一条额外的8位数据总线(PD[15:8])以及一对额外的资源同步选通信号(PUSTRBN、PUSTRBP)也被使用。此外,在另一种可选的实施例中,单一方向的数据信号也被使用。
此外,一个单方向的判优信号将每个代理都连接到其它代理上(RQA、RQB),一个双向的停止信号被接收代理用于控制数据流,如前面所述。其余的接口信号包括系统复位(Reset)、统一时钟(HLCLK)和电压参考信号(HLVREF)。同样,也包括用于为各个集线器代理(ZCOMP)将其驱动器输出阻抗匹配到适当值以补偿制造和温度变动的信号。
图9中说明的接口所显示的物理信号下面在表8中将进一步说明。在集线器接口的另一种可选的实施例中,在不脱离本发明范围的情况下,被包含在物理接口中的信号是可以改变的。例如,物理接口可能包括或多、或少、或者自图9所示信号变化出的不同信号,这些下面在表8中进一步说明。
表8 用于8位代理的集线器接口信号
名称 | 位(填充) | 类型 | 时钟模式 | 说明 |
PD[7:0 ]PSTRBPPSTRBN | 811 | ASTS1ASTSASTS | SS2SSSS | 分组数据管脚。在一种实施例中,当数据接口空闲时,数据接口被有效非营业性节目占用,处于接口被驱动后所处的最后电压值上。负PD接口选通信号(缺省电压电平=VSSHL)和正PD接口选通信号(空闲电压电平=VCCHL)一起提供PD[7:0]接口上进行4×和1×模式数据传输的时间控制。提供数据的代理驱动该信号。PSTRBN和PSTRBP在接收器处应能够被察觉出是完全不同的信号。正PD接口选通信号,参考上面对PSTRBP的说明 |
RQBRQAStopHLCLKRESET#HLVREFHLZCOMPVCCHLVSSHL总计 | 11111114425 | I/OI/OASTS111I/O电源接地 | CC3CCCCN/ACCN/AN/AN/AN/A | 来自代理A的有效的高电平请求(从A输出、输入到B),用以获取集线器接口的使用权。当代理A具有可以发送的数据时,RQA被声明;当代理A的所有数据都被发送出去后,或者,代理A确定它应该释放接口时,RQA信号就被取消。复位电压值为VSSHL来自代理B的请求(从B输出,输入到A)。参考上面对RQA的说明被用于流水线式的流控制,以重试或断开分组数据。集线器接口基准时钟,在一种实施例中,或者是66MHz或者是100MHz。这样就提供了用于统一时钟信号(下面将进一步说明)的定时信息。给集线器接口代理的有效低电压复位指示4。用于不同输入的电压参考(VCCHL/2)。在一种实施例中,该电压是通过分压器在主板上产生的。提供阻抗补偿1.8V |
1ASTS=有效保持的三路状态
2SS=资源同步模式信号
3CC=统一时钟模式信号
4在一种实施例中,复位是一种系统宽的信号;它是系统一个组件的输出和到其它组件(们)的输入。而且,复位信号相对HLCLK是异步的。
统一时钟传输模式工作
在一种实施例中,经由集线器接口传送的多数信号是按照统一时钟模式被传输的。更确切地,通过统一时钟模式进行传送的信号的定时都是参考某个单独的时钟(例如集线器接口时钟)。在另一种可选的实施例中,信号被限制到处于集线器接口代理外部的系统时钟上。而且,也可能在系统中存在一个或多个集线器接口部分,在这种情况下,不同的基准时钟被用于不同的部分。例如,一个组件可能既采样66MHz的基准集线器接口又采样100MHz的基准集线器接口。
资源同步传输模式工作
在一种实施例中,分组数据/数据是使用资源同步时钟模式而被传送的,这种模式提供了一种能用于倍增数据的数据传输速度的技术。例如,在一种使用了4×资源同步定时模式以及8位数据信号通道的实施例中,传送一个双字(即4个字节)只需要一个集线器接口时钟周期(HLCK)。或者,在一个8位数据信号通道上利用1X资源同步定时模式传输一个双字需要一个完整的集线器接口时钟周期来实现。
更确切地,在资源同步传送的实施例中,选通信号(例如PSTRBN/PSTRBP)与按选通信号和数据间预定的定时关系而传送的数据一起被发送。随后,选通信号被用于将数据锁存到接收集线器代理中。
更确切地,在一种实施例中,选通信号PSTRBP/PSTRBN边沿被接收集线器代理用于识别经由数据信号通道传送的数据的存在和同步性。例如,如图10中时序图所说明的,在一种实施例中,第一个数据传输对应PSTRBP的上升沿和PSTRBN的下降沿。第二个数据传输对应PSTRBN的上升沿和PSTRBP的下降沿。
另外,在一种实施例中,如图10中进一步所示,选通信号PSTRBP/PSTRBN传送边沿的位置靠近数据有效窗口的中心。结果,接收代理被提供了一个输入数据采样窗口,以便能容纳各种系统定时的偏斜。而且,在一种实施例中,选通信号边沿前的最小有效数据(tDVb)和选通信号边沿后的最小有效数据(tDVa)也被接收集线器代理用于进行识别和锁存应被传输的数据。一旦接收集线器代理锁存了到来的数据后,数据就会被维持一段较短的时期,以便在沿集线器代理内而过之前让数据和集线器接口时钟(HLCK)能够再次同步。
对在已阅读过以上说明之后的本领域中的普通技术人员而言,对本发明进行某些更改和变化无疑是一目了然的。因此,应该理解,通过图解表示和说明的任何特定实施例都不意味着被考虑为限制。因此,对各种实施例的细节的引用也不意味着要限定本身仅列举了被看作是发明特性的保护范围。
Claims (22)
1.一个计算机系统包括:
一个存储器控制器集线器;和
一个第一接口,连接到存储器控制器集线器,以便直接在该计算机系统中的存储器控制器集线器和第一集线器代理之间传送数据,该第一接口包括:
一个数据信号通道,通过分割事务传送分组数据;
除直接连接到该第一接口的一条外部总线外,该第一接口在该存储器控制器集线器和该第一集线器代理之间提供一个点对点连接;该存储器控制器集线器通过该第一接口可操作来检测该第一集线器代理的存在。
2.权利要求1的计算机系统,其中该存储器控制器集线器包括连接到该第一接口以便检测该第一集线器代理存在的一个第一接口控制器。
3.权利要求1的计算机系统还包括:
一个连接到该存储器控制器集线器的第二接口;和
一个连接到该第二接口的第二集线器代理。
4.权利要求3的计算机系统,其中该存储器控制器集线器进一步包括一个连接到检测该第二集线器代理存在的第二接口的第二接口控制器。
5.权利要求3的计算机系统,其中该第一集线器代理是一个网络接口卡,而该第二集线器代理是一个图形加速器。
6.权利要求2的计算机系统,其中该第一接口控制器包括:
一个存在检测电路;和
连接到该存在检测电路的控制电路。
7.权利要求6的计算机系统,其中存在检测电路监测该第一接口,以便检测第一集线器代理的存在。
8.权利要求7的计算机系统,其中该控制电路在该第一集线器代理被检测到时响应轮询请求,而在没有检测到该第一集线器代理时就不响应轮询请求。
9.权利要求6的计算机系统,其中第一集线器代理包括存在确认电路,用于通过该第一接口将一个存在确认信号传送给存在检测电路。
10.权利要求1的计算机系统进一步包括连接到该存储器控制器集线器的一个中央处理单元。
11.权利要求10的计算机系统,其中该存储器控制器集线器进一步包括:
一个连接到该中央处理单元的存储器控制器;和
一个图形接口。
12.权利要求1的计算机系统进一步包括:
一个连接到该存储器控制器集线器的接口控制器集线器;
一个连接到该接口控制器集线器的第二接口;和
一个连接到该第二接口的第二集线器代理。
13.权利要求12的计算机系统,其中该接口控制器集线器包括连接到检测该第二集线器代理的存在的第二接口的一个第二接口控制器。
14.权利要求13的计算机系统,其中该接口控制器集线器进一步包括连接到外围组件接口总线的一个外围组件接口桥接器。
15.权利要求12的计算机系统,其中存在于存储器控制器集线器中的部件被分配在第一地址范围内的部件地址,而存在于接口控制器集线器中的部件被分配在第二地址范围内的部件地址。
16.一个集线器代理,包括一个存在检测电路,其中该存在检测电路检测一个接口,以检测连接到该接口的一个设备的存在,该接口包括:
一个数据信号通道,通过分割事务传送分组数据;
除直接连接到该接口的一条外部总线外,该接口提供在该集线器代理和该设备之间的点对点连接。
17.权利要求16的集线器代理,其中,如果该设备被检测到,该存在检测电路接收一个存在确认信号。
18.权利要求17的集线器代理,进一步包括连接到该存在检测电路的控制电路。
19.权利要求18的集线器代理,其中,如果该设备被检测到,该控制电路发送一个第一信号,如果该设备未被检测到,发送一个第二信号。
20.一个计算机系统包括:
一个第一集线器代理;和
第二集线器代理;和
一个接口,连接在该第一集线器代理和该第二集线器代理之间,以直接在第一集线器代理和该第二集线器代理之间传送数据,该接口包括:
一个数据信号通道,通过分割事务发送分组数据;
除直接连接到该接口的一条外部总线外,该接口提供在该第一集线器代理和该第二集线器代理之间的点对点连接;
其中当启动该计算机系统时该第一集线器代理采样该接口,以检测该第二集线器代理的存在。
21.权利要求20的计算机系统,其中该第一集线器代理包括:
一个存在检测电路;和
连接到该存在检测电路的控制电路。
22.权利要求20的计算机系统,其中该第二集线器代理包括一个存在确认电路,用于将一个存在确认信号传送到一个存在检测电路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/414,377 US6374317B1 (en) | 1999-10-07 | 1999-10-07 | Method and apparatus for initializing a computer interface |
US09/414,377 | 1999-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1402849A CN1402849A (zh) | 2003-03-12 |
CN1193301C true CN1193301C (zh) | 2005-03-16 |
Family
ID=23641192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB008164320A Expired - Fee Related CN1193301C (zh) | 1999-10-07 | 2000-09-27 | 初始化计算机接口的设备和方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6374317B1 (zh) |
EP (1) | EP1226506B1 (zh) |
CN (1) | CN1193301C (zh) |
AU (1) | AU7724400A (zh) |
BR (1) | BR0014597A (zh) |
DE (1) | DE60013470T2 (zh) |
HK (1) | HK1044609A1 (zh) |
TW (1) | TWI232381B (zh) |
WO (1) | WO2001027777A1 (zh) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859846B2 (en) * | 1999-05-12 | 2005-02-22 | Sony Corporation | Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device |
US6636912B2 (en) * | 1999-10-07 | 2003-10-21 | Intel Corporation | Method and apparatus for mode selection in a computer system |
US6721859B1 (en) * | 1999-10-21 | 2004-04-13 | Sony Corporation | Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data |
US6496895B1 (en) * | 1999-11-01 | 2002-12-17 | Intel Corporation | Method and apparatus for intializing a hub interface |
US7039047B1 (en) | 1999-11-03 | 2006-05-02 | Intel Corporation | Virtual wire signaling |
US6615306B1 (en) * | 1999-11-03 | 2003-09-02 | Intel Corporation | Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface |
US6516375B1 (en) * | 1999-11-03 | 2003-02-04 | Intel Corporation | Peripheral component interconnect (PCI) configuration emulation for hub interface |
US6957332B1 (en) * | 2000-03-31 | 2005-10-18 | Intel Corporation | Managing a secure platform using a hierarchical executive architecture in isolated execution mode |
US6934817B2 (en) * | 2000-03-31 | 2005-08-23 | Intel Corporation | Controlling access to multiple memory zones in an isolated execution environment |
US7194634B2 (en) * | 2000-03-31 | 2007-03-20 | Intel Corporation | Attestation key memory device and bus |
US6769058B1 (en) | 2000-03-31 | 2004-07-27 | Intel Corporation | Resetting a processor in an isolated execution environment |
US7073071B1 (en) | 2000-03-31 | 2006-07-04 | Intel Corporation | Platform and method for generating and utilizing a protected audit log |
US6760441B1 (en) | 2000-03-31 | 2004-07-06 | Intel Corporation | Generating a key hieararchy for use in an isolated execution environment |
US6754815B1 (en) * | 2000-03-31 | 2004-06-22 | Intel Corporation | Method and system for scrubbing an isolated area of memory after reset of a processor operating in isolated execution mode if a cleanup flag is set |
US6734862B1 (en) | 2000-06-14 | 2004-05-11 | Intel Corporation | Memory controller hub |
US6976162B1 (en) * | 2000-06-28 | 2005-12-13 | Intel Corporation | Platform and method for establishing provable identities while maintaining privacy |
US7720821B1 (en) | 2000-06-30 | 2010-05-18 | Sony Corporation | Method of and apparatus for writing and reading time sensitive data within a storage device |
US7116331B1 (en) | 2000-08-23 | 2006-10-03 | Intel Corporation | Memory controller hub interface |
US7793111B1 (en) * | 2000-09-28 | 2010-09-07 | Intel Corporation | Mechanism to handle events in a machine with isolated execution |
US6859208B1 (en) * | 2000-09-29 | 2005-02-22 | Intel Corporation | Shared translation address caching |
US7818808B1 (en) | 2000-12-27 | 2010-10-19 | Intel Corporation | Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor |
US7035963B2 (en) * | 2000-12-27 | 2006-04-25 | Intel Corporation | Method for resolving address space conflicts between a virtual machine monitor and a guest operating system |
US7124292B2 (en) * | 2001-05-21 | 2006-10-17 | Sony Corporation | Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices |
US7191440B2 (en) * | 2001-08-15 | 2007-03-13 | Intel Corporation | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor |
US7024555B2 (en) | 2001-11-01 | 2006-04-04 | Intel Corporation | Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment |
US7631196B2 (en) * | 2002-02-25 | 2009-12-08 | Intel Corporation | Method and apparatus for loading a trustable operating system |
US7124273B2 (en) * | 2002-02-25 | 2006-10-17 | Intel Corporation | Method and apparatus for translating guest physical addresses in a virtual machine environment |
US7028149B2 (en) * | 2002-03-29 | 2006-04-11 | Intel Corporation | System and method for resetting a platform configuration register |
US7069442B2 (en) | 2002-03-29 | 2006-06-27 | Intel Corporation | System and method for execution of a secured environment initialization instruction |
US20030229794A1 (en) * | 2002-06-07 | 2003-12-11 | Sutton James A. | System and method for protection against untrusted system management code by redirecting a system management interrupt and creating a virtual machine container |
US6820177B2 (en) | 2002-06-12 | 2004-11-16 | Intel Corporation | Protected configuration space in a protected environment |
US7142674B2 (en) * | 2002-06-18 | 2006-11-28 | Intel Corporation | Method of confirming a secure key exchange |
KR100481511B1 (ko) * | 2002-08-26 | 2005-04-07 | 삼성전자주식회사 | 방송수신장치 및 그 제어방법 |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US7073042B2 (en) * | 2002-12-12 | 2006-07-04 | Intel Corporation | Reclaiming existing fields in address translation data structures to extend control over memory accesses |
US7318141B2 (en) | 2002-12-17 | 2008-01-08 | Intel Corporation | Methods and systems to control virtual machines |
US7793286B2 (en) * | 2002-12-19 | 2010-09-07 | Intel Corporation | Methods and systems to manage machine state in virtual machine operations |
US20040128345A1 (en) * | 2002-12-27 | 2004-07-01 | Robinson Scott H. | Dynamic service registry |
US7900017B2 (en) | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
US7415708B2 (en) * | 2003-06-26 | 2008-08-19 | Intel Corporation | Virtual machine management using processor state information |
US20050044292A1 (en) * | 2003-08-19 | 2005-02-24 | Mckeen Francis X. | Method and apparatus to retain system control when a buffer overflow attack occurs |
US7739521B2 (en) * | 2003-09-18 | 2010-06-15 | Intel Corporation | Method of obscuring cryptographic computations |
US7610611B2 (en) * | 2003-09-19 | 2009-10-27 | Moran Douglas R | Prioritized address decoder |
US7177967B2 (en) * | 2003-09-30 | 2007-02-13 | Intel Corporation | Chipset support for managing hardware interrupts in a virtual machine system |
US20050080934A1 (en) | 2003-09-30 | 2005-04-14 | Cota-Robles Erik C. | Invalidating translation lookaside buffer entries in a virtual machine (VM) system |
US7636844B2 (en) * | 2003-11-17 | 2009-12-22 | Intel Corporation | Method and system to provide a trusted channel within a computer system for a SIM device |
US20050108534A1 (en) * | 2003-11-19 | 2005-05-19 | Bajikar Sundeep M. | Providing services to an open platform implementing subscriber identity module (SIM) capabilities |
US8156343B2 (en) | 2003-11-26 | 2012-04-10 | Intel Corporation | Accessing private data about the state of a data processing machine from storage that is publicly accessible |
US8037314B2 (en) | 2003-12-22 | 2011-10-11 | Intel Corporation | Replacing blinded authentication authority |
US20050152539A1 (en) * | 2004-01-12 | 2005-07-14 | Brickell Ernie F. | Method of protecting cryptographic operations from side channel attacks |
US7802085B2 (en) | 2004-02-18 | 2010-09-21 | Intel Corporation | Apparatus and method for distributing private keys to an entity with minimal secret, unique information |
US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
US7620949B2 (en) * | 2004-03-31 | 2009-11-17 | Intel Corporation | Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment |
US20050288056A1 (en) * | 2004-06-29 | 2005-12-29 | Bajikar Sundeep M | System including a wireless wide area network (WWAN) module with an external identity module reader and approach for certifying the WWAN module |
US7305592B2 (en) * | 2004-06-30 | 2007-12-04 | Intel Corporation | Support for nested fault in a virtual machine environment |
US7840962B2 (en) * | 2004-09-30 | 2010-11-23 | Intel Corporation | System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time |
US8146078B2 (en) | 2004-10-29 | 2012-03-27 | Intel Corporation | Timer offsetting mechanism in a virtual machine environment |
US8924728B2 (en) * | 2004-11-30 | 2014-12-30 | Intel Corporation | Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information |
US8533777B2 (en) | 2004-12-29 | 2013-09-10 | Intel Corporation | Mechanism to determine trust of out-of-band management agents |
US7395405B2 (en) * | 2005-01-28 | 2008-07-01 | Intel Corporation | Method and apparatus for supporting address translation in a virtual machine environment |
JP2007052543A (ja) * | 2005-08-16 | 2007-03-01 | Fujitsu Ltd | バス通信装置、バス通信方法 |
US7734839B1 (en) | 2005-08-25 | 2010-06-08 | American Megatrends, Inc. | Method and integrated circuit for providing enclosure management services utilizing multiple interfaces and protocols |
US8014530B2 (en) | 2006-03-22 | 2011-09-06 | Intel Corporation | Method and apparatus for authenticated, recoverable key distribution with no database secrets |
US8078770B1 (en) * | 2007-08-10 | 2011-12-13 | American Megatrends, Inc. | Combining multiple SGPIO streams to provide device status indicators |
US7685329B1 (en) | 2007-08-10 | 2010-03-23 | American Megatreads, Inc. | Detecting the presence and activity of a mass storage device |
US8260976B1 (en) | 2009-01-30 | 2012-09-04 | American Megatrends, Inc. | Multiple frequency state detection for serial I/O interfaces |
US8358100B2 (en) * | 2009-11-03 | 2013-01-22 | Maxim Integrated Products, Inc. | USB dedicated charger identification circuit |
US11449489B2 (en) * | 2017-11-09 | 2022-09-20 | International Business Machines Corporation | Split transaction coherency protocol in a data processing system |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4033417A1 (de) | 1990-10-20 | 1992-04-23 | Basf Ag | Verfahren zur herstellung von mit metalloxiden dotierten zinkoxidpigmenten |
US5191649A (en) | 1990-12-21 | 1993-03-02 | Intel Corporation | Multiprocessor computer system with data bus and ordered and out-of-order split data transactions |
JP3411300B2 (ja) | 1992-02-18 | 2003-05-26 | 株式会社日立製作所 | 情報処理装置 |
US5553310A (en) | 1992-10-02 | 1996-09-03 | Compaq Computer Corporation | Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems |
US5590292A (en) | 1992-12-08 | 1996-12-31 | Compaq Computer Corporation | Scalable tree structured high speed input/output subsystem architecture |
US5687388A (en) | 1992-12-08 | 1997-11-11 | Compaq Computer Corporation | Scalable tree structured high speed input/output subsystem architecture |
US5469435A (en) | 1994-01-25 | 1995-11-21 | Apple Computer, Inc. | Bus deadlock avoidance during master split-transactions |
US5533204A (en) | 1994-04-18 | 1996-07-02 | Compaq Computer Corporation | Split transaction protocol for the peripheral component interconnect bus |
US5546546A (en) | 1994-05-20 | 1996-08-13 | Intel Corporation | Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge |
JPH08147702A (ja) | 1994-11-11 | 1996-06-07 | Mitsumi Electric Co Ltd | 光ディスク書き込み方法 |
US5621897A (en) | 1995-04-13 | 1997-04-15 | International Business Machines Corporation | Method and apparatus for arbitrating for a bus to enable split transaction bus protocols |
US5996036A (en) | 1997-01-07 | 1999-11-30 | Apple Computers, Inc. | Bus transaction reordering in a computer system having unordered slaves |
US5933612A (en) | 1995-05-02 | 1999-08-03 | Apple Computer, Inc. | Deadlock avoidance in a split-bus computer system |
US5761444A (en) | 1995-09-05 | 1998-06-02 | Intel Corporation | Method and apparatus for dynamically deferring transactions |
US5675813A (en) | 1995-10-26 | 1997-10-07 | Microsoft Corporation | System and method for power control in a universal serial bus |
US5911052A (en) | 1996-07-01 | 1999-06-08 | Sun Microsystems, Inc. | Split transaction snooping bus protocol |
US5978874A (en) | 1996-07-01 | 1999-11-02 | Sun Microsystems, Inc. | Implementing snooping on a split-transaction computer system bus |
US6021456A (en) | 1996-11-12 | 2000-02-01 | Herdeg; Glenn Arthur | Method for communicating interrupt data structure in a multi-processor computer system |
US6012118A (en) | 1996-12-30 | 2000-01-04 | Intel Corporation | Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus |
US5918025A (en) | 1996-12-31 | 1999-06-29 | Intel Corporation | Method and apparatus for converting a five wire arbitration/buffer management protocol into a two wire protocol |
US5870567A (en) | 1996-12-31 | 1999-02-09 | Compaq Computer Corporation | Delayed transaction protocol for computer system bus |
US5832243A (en) | 1996-12-31 | 1998-11-03 | Compaq Computer Corporation | Computer system implementing a stop clock acknowledge special cycle |
US5930485A (en) | 1997-01-07 | 1999-07-27 | Apple Computer, Inc. | Deadlock avoidance in a computer system having unordered slaves |
US5991824A (en) | 1997-02-06 | 1999-11-23 | Silicon Graphics, Inc. | Method and system for simultaneous high bandwidth input output |
US5909594A (en) | 1997-02-24 | 1999-06-01 | Silicon Graphics, Inc. | System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally |
US6185641B1 (en) * | 1997-05-01 | 2001-02-06 | Standard Microsystems Corp. | Dynamically allocating space in RAM shared between multiple USB endpoints and USB host |
US5944805A (en) | 1997-08-21 | 1999-08-31 | Advanced Micro Devices, Inc. | System and method for transmitting data upon an address portion of a computer system bus during periods of maximum utilization of a data portion of the bus |
US5889968A (en) | 1997-09-30 | 1999-03-30 | Intel Corporation | Method and apparatus for interlocking a broadcast message on a bus |
-
1999
- 1999-10-07 US US09/414,377 patent/US6374317B1/en not_active Expired - Lifetime
-
2000
- 2000-09-27 BR BR0014597-1A patent/BR0014597A/pt not_active Application Discontinuation
- 2000-09-27 WO PCT/US2000/026584 patent/WO2001027777A1/en active IP Right Grant
- 2000-09-27 DE DE60013470T patent/DE60013470T2/de not_active Expired - Lifetime
- 2000-09-27 CN CNB008164320A patent/CN1193301C/zh not_active Expired - Fee Related
- 2000-09-27 AU AU77244/00A patent/AU7724400A/en not_active Abandoned
- 2000-09-27 EP EP00966977A patent/EP1226506B1/en not_active Expired - Lifetime
- 2000-10-06 TW TW089120908A patent/TWI232381B/zh not_active IP Right Cessation
-
2002
- 2002-08-23 HK HK02106234A patent/HK1044609A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE60013470D1 (de) | 2004-10-07 |
AU7724400A (en) | 2001-04-23 |
CN1402849A (zh) | 2003-03-12 |
DE60013470T2 (de) | 2005-09-15 |
HK1044609A1 (en) | 2002-10-25 |
EP1226506B1 (en) | 2004-09-01 |
WO2001027777A1 (en) | 2001-04-19 |
EP1226506A1 (en) | 2002-07-31 |
TWI232381B (en) | 2005-05-11 |
US6374317B1 (en) | 2002-04-16 |
BR0014597A (pt) | 2002-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1193301C (zh) | 初始化计算机接口的设备和方法 | |
CN1253802C (zh) | 计算机组件间直接传输数据的集线器链路 | |
CN1256681C (zh) | 从外围设备向主计算机系统传输中断的方法和装置 | |
CN1146798C (zh) | 数据传输控制装置及电子设备 | |
CN1640089A (zh) | 用于NGIO/InfiniBandTM应用的远程密钥验证的方法和机制 | |
CN1158605C (zh) | 采用crc用于芯片上存储器中数据完整性的方法和装置 | |
US10120820B2 (en) | Direct memory access transmission control method and apparatus | |
US8244950B2 (en) | Buffering non-posted read commands and responses | |
CN1591382A (zh) | 在pci-express扩展连接上的lpc处理桥接 | |
US20100131681A1 (en) | Bus Based Communications Between A Processor And A Peripheral Controller In A Digital Processing System | |
CN1205560C (zh) | 支持具有点到点半双工互连的计算机系统中多时钟传播的方法与装置 | |
US20040024948A1 (en) | Response reordering mechanism | |
CN1125868A (zh) | 计算机系统及其输入输出指令的发送方法 | |
CN102033840B (zh) | 总线协议转换装置和总线协议转换方法 | |
CN1348564A (zh) | 分优先级访问外部装置的方法和设备 | |
CN1488104A (zh) | 控制数据处理系统间经由存储器的数据流的方法和装置 | |
CN1551592A (zh) | 数据传输控制装置、电子设备及数据传输控制方法 | |
CN1617160A (zh) | 用于识别标准卡以及非标准卡的卡识别系统 | |
CN1383066A (zh) | 存储控制装置以及大规模集成电路 | |
US6766386B2 (en) | Method and interface for improved efficiency in performing bus-to-bus read data transfers | |
US7383372B2 (en) | Bus system, station for use in a bus system, and bus interface | |
CN1561492A (zh) | 用于与总线连接的总线系统和总线接口 | |
CN1134729C (zh) | 接口装置及其控制方法 | |
CN100555258C (zh) | 信息存储设备、信息传送方法和系统 | |
CN1199118C (zh) | 计算机系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050316 Termination date: 20160927 |
|
CF01 | Termination of patent right due to non-payment of annual fee |