CN101189577B - 通过自动改变索引来访问配置寄存器的方法和装置 - Google Patents

通过自动改变索引来访问配置寄存器的方法和装置 Download PDF

Info

Publication number
CN101189577B
CN101189577B CN2004800271328A CN200480027132A CN101189577B CN 101189577 B CN101189577 B CN 101189577B CN 2004800271328 A CN2004800271328 A CN 2004800271328A CN 200480027132 A CN200480027132 A CN 200480027132A CN 101189577 B CN101189577 B CN 101189577B
Authority
CN
China
Prior art keywords
register
configuration
index
registers
control register
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
CN2004800271328A
Other languages
English (en)
Other versions
CN101189577A (zh
Inventor
T·考齐
R·达夫塔瑞
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 CN101189577A publication Critical patent/CN101189577A/zh
Application granted granted Critical
Publication of CN101189577B publication Critical patent/CN101189577B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Logic Circuits (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

本发明的实施例针对用于访问配置寄存器的方法。接收关于已作出访问第一寄存器的尝试的指示。该第一寄存器反映指向配置寄存器的索引变量。接着,接收已作出访问第二寄存器的尝试的指示。该第二寄存器反映索引变量所指向的配置寄存器的内容的部分。接着,在不等待访问第一寄存器的另一尝试的情况下,将索引变量改为指向另一配置寄存器。也描述和要求保护其它实施例。

Description

通过自动改变索引来访问配置寄存器的方法和装置
背景 
下文描述的本发明的实施例涉及访问用于配置计算机系统,包括一个或多个其集成电路组件的功能的软件可访问寄存器。 
计算机系统由若干主要的集成电路(IC)组件构成,这些IC组件通常包括诸如加利福尼亚州圣克拉拉市的Intel公司的PENTIUM处理器等处理器以及主存储器。在许多情况下,也使用系统接口组件(也称为系统芯片组),以允许处理器与各种各样的其它IC组件和外围设备通信,诸如图形子系统、网络接口控制器以及大容量存储设备。每一IC组件被设计成实现共同工作以帮助系统实现其总体目的的某些功能。 
对于上述的主要IC组件,系统芯片组可具有要支持的最大数量的不同功能。这是因为在许多情况下,系统芯片组不仅担当处理器和其它IC组件之间的通信桥,而且有时也担当外围设备和主存储器之间的通信桥。为更有效地使用IC制造资源,通常将单个系统芯片组设计得足够灵活以支持不同类型的处理器、存储器和外围设备组合。这一灵活性是通过对具有可配置的内部硬件的系统芯片组进行设计来实现的,这些内部硬件的配置和功能是依照多个内部软件可访问寄存器(也称为配置寄存器)的内容来设置的。在向给定计算机系统通电之后,系统芯片组中的配置寄存器(以及诸如处理器和存储器等其它主要IC组件中的配置寄存器)用其期望的值来写入,这通常是在操作系统程序的控制下完成的。 
在Intel公司的82443BX主机桥/控制器芯片组的情况下,对配置寄存器的编程(也称为配置空间中的编程)可如下进行。存在两种可从主机/中央处理单元(CPU)I/O地址空间访问的控制寄存器,即配置地址寄存器(CONFADD,按照其十六进制地址也称为CF8),以及配置数据寄存器(CONFDATA,按照其十六进制地址也称为CFC)。对配置寄存器的任一个的访问是通过首先访问CONFADD并标识选中的寄存器(通过适当地写入CONFADD以“指向”选中寄存器)来完成的。接着,执行对包含选中寄存器的当前值的CONFDATA的访问以写入新值。选中的寄存器然后被相应地更新。为了对另一配置寄存器编程,重复该同一双重访问操作以首先指向下一寄存器(通过写入CONFADD),然后请求对其的更新(通过将新值写入CONFDATA)。 
附图简述 
本发明的实施例是作为说明而非限制在附图中示出的,附图中,相同的参考标号指示类似的元件。应当注意,本公开内容中对本发明的“一个”实施例的引用不必是针对同一实施例,而是它们意味着至少一个。 
图1是用于访问配置寄存器的序列的方法的流程图,该方法可加速初始化计算机系统的过程。 
图2示出了从“发射器”,例如已编程的主机/CPU的观点来看用于访问配置寄存器的两个不同的方法。 
图3示出了可以用块模式单独编程的三个配置寄存器组。 
图4是允许对配置寄存器的自动索引的IC组件的部分的逻辑图。 
图5描绘了其中可通过自动索引来对芯片组组件的配置寄存器编程的计算机系统的框图。 
详细描述 
据发现,对未来的计算机体系结构,计算机系统的主要IC组件中,尤其是系统芯片组中的配置寄存器的数量可能显著地增长。例如,在支持点对点链路(到多个处理器、其它IC组件以及外围设备)的系统互连的芯片组中,在每次系统初始化时可能有上百个寄存器要验证和/或编程。另外,这些寄存器在将来可能变得更广阔,从而甚至可能需要对更大量的配置数据编程。最后,在大多数情况下,传统上被定义为访问配置寄存器的总线协议和总线周期与以访问存储器为目标的那些相比是相当慢的,例如,这是由于对快速配置过程没有察觉到的需求。这些因素共同被认为会显著放慢未来计算机系统中的初始化过程。 
现在转向图1,示出了用于访问配置寄存器的序列的方法的流程图,该方法可加速初始化计算机系统的过程。图1描绘了可以由“接收器”,例如其中定位了配置寄存器以及用于对它们编程的相关联硬件的系统芯片组组件,来执行的操作。相对地,以下描述的图2涉及从“发射器”,例如已编程的主机/CPU的观点来看用于访问配置寄存器的方法。从图1开始,操作可以接收关于已作出访问地址寄存器的尝试的指示开始(操作104)。该地址寄存器可以是例如上述十六进制地址CF8 处的CONFADD。访问可以是写入指向序列的给定配置寄存器的给定索引值的尝试。或者,尝试可以是从地址寄存器中读取索引值。在任一情况下,操作都前进到框108。 
在框108,接收已作出访问此处称为数据寄存器的另一寄存器的尝试的指示。例如,该尝试可以是写入作为给定配置寄存器的内容的部分的给定内容值的尝试。接着,操作前进以将索引变量改为指向序列的另一配置寄存器(框112)。这是在无需等待另一访问地址寄存器的尝试的情况下完成的。换言之,索引被自动改为指向另一配置寄存器。这有助于加速配置寄存器的总体编程过程,因为它避免了对每一后续的配置寄存器访问地址寄存器的额外的尝试。对集成电路(IC)组件的这一操作模式此处也被称为特殊或块操作模式。 
对上述过程有若干变体。首先,可对分别被写入地址和数据寄存器的给定索引和内容值的一个或两者进行编码。以下将结合图4所示的计算机系统给出一个示例,在该计算机系统中,从地址寄存器的若干字段的组合中提取或导出索引值。另外,可允许索引变量的自动改变,例如,仅当先前进入了用于通过自动索引对寄存器序列编程的块操作模式时。正常和块模式过程的示例在图2中示出。又一变体是索引变量中的改变可以是固定的增量或减量,使得序列的寄存器是依照递增或递减的地址来顺序地编程的。最后,索引变量可以由与地址寄存器分离的逻辑结构(例如,计数器或寄存器)来实现。其它变体也是可能的。 
如图1所示,上述用于访问两个或更多配置寄存器的序列的方法以接收访问数据寄存器的另一尝试的指示继续(框114)。接着,响应于在框114接收进一步的指示,且在接收访问地址寄存器的又一尝试之前,索引变量改为指向序列中又一配置寄存器(框118)。框114和118中的操作可在接收到访问数据寄存器的其它尝试的指示时重复,以指向序列中的其它配置寄存器。 
注意,上述过程适用于编程,包括将新的内容值实际写入选中的配置寄存器(基于数据寄存器的内容)。另外,尽管上述过程涉及接收关于已作出访问地址或数据寄存器的尝试的指示,然而这应当被理解为不仅包括例如检测某些类型的总线事件(例如,以地址和/或数据寄存器为目标的特殊总线事务),但也包括例如对于框104,检测地址寄存器实际上已用新的索引值写入。类似地,对于框108,接收关于已作出访问数据寄存器的尝试的指示可以是检测到以数据寄存器为目标的特定总线事件,或者是已向数据寄存器写入新的内容值。可使用接收关于已作出访问寄存器的尝试的指示的其它方法。 
现在转向图2,从发射器(例如,主机/CPU)的观点示出了对配置寄存器编程的方法的流程图。实际上描述了两个不同的过程,其中取决于是否启用了块模式(框202),可执行一个或另一个过程。在该示例中,在两个过程中对同一组配置寄存器编程。在图2的左侧描述的过程中(正常操作模式),依照块204-224对索引值01、02和03处的三个配置寄存器编程。应当注意,在该过程中,对每一寄存器执行双阶段操作。例如,为对索引值01处的寄存器编程,在该序列中执行块204和208,其中首先将索引值写入地址寄存器(本实施例中出现在十六进制地址CF8处),然后将配置数据或内容值读或写到数据寄存器(在十六进制地址CFC处)。 
与图2左侧的过程相对,右侧的过程通过本质上在该实施例中消除框212和220所述的操作,并用自动递增至下一顺序索引来替换它们(框210和218),以利用自动索引。当要对相对大量的配置寄存器编程时,在与消除对地址寄存器CF8的整个写操作相关联的时间方面有实质性的节省。 
注意,支持图2所述的方法的IC组件可具有用于对配置寄存器编程的两种操作模式,其中一种是如图2的右侧流程图中所例示的块模式,而另一种是该图的左侧所示的正常模式。由此,IC组件可用对软件可访问的另一寄存器来编程,以在编程上启用或禁用块操作模式。这允许以不同的模式对不同的配置寄存器组编程,从而实质上节省了时间。例如,以块模式顺序地对相对较大的第一组寄存器编程。IC组件然后可以返回到正常模式,以跳至下一组(不是顺序地在第一组之后)的第一寄存器。这一能力在图3中描述,其中首先对具有索引或地址1-6的组以块模式编程;然后将IC组件置于正常模式中以对地址21处的寄存器编程;然后以块模式对地址54-59处的寄存器编程;然后进入正常模式以对地址104处的独立寄存器编程,之后以块模式顺序地对寄存器174-180编程。 
现在转向图4,示出了允许对配置寄存器的自动索引的IC组件的部分的逻辑图。IC组件可以是计算机系统的系统芯片组、处理器或其它主要IC组件。在IC组件中提供了多个配置寄存器304例如具有IC组件的某些核心逻辑的片上寄存器(未示出)。这些寄存器304的每一个可以由多路复用器逻辑308的输出来索引。一旦被索引或选中,所选中的寄存器的某些或全部内容(在该图中称为“数据”)可在硬件控制信号CFC读命令的控制下被传送到数据寄存器(CFC,未示出)。或者,数据可在硬件控制信号CFC写命令的控制下被写入选中的寄存器。CFC读和写命令是指示接收到(例如,从IC组件的外部)分别写和读数据寄存器(CFC)的请求的信号的示例。 
多路复用器逻辑308可具有两个输入。第一个输入可从计数器312接收索引,而第二个输入可接收(在本实施例中)直接从地址寄存器(CF8)导出的索引值,该索引值先前被写入到该地址寄存器(CF8)中。多路复用器逻辑308是依照指示IC组件的操作模式的块模式启用控制信号,在来自计数器312的索引值与从地址寄存器(CF8)获得的索引值之间选择的。 
由计数器312提供的索引值可例如通过自动递增或递减计数器312来改变。递增或递减信号可由检测逻辑316提供。 
在操作中,当IC组件处于其正常模式中时,提供给配置寄存器304的索引可从如由软件所写入的CF8的内容中导出。然而,当启用了块模式时,索引是从计数器312获得的。声明块模式启用信号允许用从CF8获得的值来加载计数器312,该计数器随后提供当由检测逻辑316命令时自动递增的索引值。只要检测逻辑316确定接收到访问配置寄存器的请求(例如,从IC组件的外部),且特别是检测到CFC写或读命令的时候,寄存器312就被递增以指向下一配置寄存器。可使用用于实现自动索引能力的其它逻辑设计。 
现在参考图5,描绘了其中可通过自动索引来对芯片组组件的配置寄存器编程的计算机系统的框图。本实施例中的芯片组组件被称为I/O集线器416。I/O集线器416担当一侧上的处理器和主存储器组合404与另一侧上的一个或多个I/O组件408、412之间的桥。在本实施例中,I/O组件408是网络接口控制器,而组件412是图形控制器/子系统。I/O集线器416可以配备有用于与其它组件(未示出)通信的附加端口。 
在本实施例中,示出了四个处理器-主存储器组合404,尽管一般可以有一个或多个。这些处理器-主存储器组合的每一个在通信上通过单独的高速数据点对点链路彼此耦合,如图所示。点对点链路可具有一个或多个“道(lane)”,其中每一道可以由印刷线路板上的单个迹线以及相关联的I/O缓冲器电路(未示出)组成,用于在两个处理器-主存储器组合404之间的主要的单向通信。另外,点对点链路也可用于在通信上耦合I/O集线器416和IC组件408、412。点对点链路可以被设计成依照PCI Express Base Specification 1.0a(PCI Express基本规范)(2003年4月15日)来操作。 
在I/O集线器416中提供了一组配置寄存器424和一对地址和数据寄存器420。作为一个示例,配置地址寄存器(CF8)可以用以下字段来定义:端口号、功能号以及寄存器号。这些字段点的内容可能通过某一形式的编码被写入配置寄存器424 中选中的一个中。该选中寄存器424的内容将在配置数据寄存器(CFC)中得到反映。 
至少某些配置寄存器424可指示在由I/O集线器416实现的桥的一端上接收到的事务请求如何被传送到该桥的另一端。寄存器424可被设计成配置其它功能,包括例如设备识别、厂商识别、定时器、存储器控制和定时、出错状态、暂存区等等。另外,尽管未示出,但I/O集线器416也可包括实现上述自动索引能力所需的逻辑电路,诸如图4所示的逻辑设计。 
用于使用图5的系统以块模式对寄存器424编程的方法可描述如下。首先,检测到以访问指向寄存器424之一的索引变量为目标的预定类型的总线事件。例如,索引变量可在可被映射到系统的主机中央处理单元(CPU)I/O地址空间的配置地址寄存器(CF8)中得到反映,使得CF8可由处理器-主存储器组合404的任一个来访问。I/O集线器416中的逻辑然后可被设计成监视链路405或407的任一个上以访问CF8为目标的总线事件。 
在检测到这一总线事件之后,该逻辑然后可期望以更新索引变量所指向的寄存器424之一为目标的随后的总线事件。该总线事件可以是以CFC为目标的事务,以读或写以选中的/索引的配置寄存器424为目标或从中导出的内容值。接着,由于I/O集线器416被置于块模式中,只要检测到后一总线事件,逻辑电路仍可在不等待以访问索引变量为目标的另一总线事件的情况下,将索引变量改为指向配置寄存器424的另一个。注意,索引变量的这一改变也可在地址寄存器(CF8)中得到反映,其中对该寄存器有随后的读。另外,索引变量所指向的配置寄存器的当前内容在对该寄存器有随后的读时可在数据寄存器(CFC)中得到反映。只要块模式保持被启用,逻辑电路就可继续在每次检测到以访问数据寄存器(CFC)为目标的总线事件时,改变索引变量(以指向配置寄存器的另一个),而无需更新地址寄存器(CF8)的总线事件。 
作为概括,描述了用于通过自动改变索引来访问配置寄存器的方法和装置的各种实施例。在以上说明书中,本发明是参考其具体示例性实施例来描述的。然而,很显然,可对其作出各种修改和改变而不脱离所附权利要求书中所述的本发明的更宽泛的精神和范围。例如,尽管图5示出了配置和控制寄存器424、420在I/O集线器416中且通过“前端”链路405、407来访问,然而其它组件可位于处理器一存储器组合404中或甚至在IC组件408、412中,且经由平台管理系统416通过低速总线(未示出)来访问。因此,本说明书和附图应当在说明性而非限制性的意义 上考虑。 

Claims (27)

1.一种用于访问配置寄存器的方法,包括:
a)接收关于已作出访问集成电路组件内的第一控制寄存器的尝试的指示,所述第一控制寄存器反映指向所述集成电路组件内的配置寄存器的索引变量;以及然后
b)接收关于已作出访问所述集成电路组件内的第二控制寄存器的尝试的指示,所述第二控制寄存器反映所述索引变量所指向的配置寄存器的内容的部分;以及然后
c)响应于b),且在不等待访问第一控制寄存器的另一尝试的情况下,将所述索引变量改为指向所述集成电路组件的另一配置寄存器。
2.如权利要求1所述的方法,其特征在于,所述访问第一控制寄存器的尝试是写入指向给定配置寄存器的给定索引值的尝试,
并且其中,所述访问第二控制寄存器的尝试是写入作为所述给定配置寄存器的内容的部分的给定内容值的尝试。
3.如权利要求2所述的方法,其特征在于,分别被写入所述第一和第二控制寄存器的所述给定索引值和内容值之一被编码。
4.如权利要求3所述的方法,其特征在于,分别被写入所述第一和第二控制寄存器的所述给定索引值和内容值两者被编码。
5.如权利要求2所述的方法,其特征在于,还包括,在c)之后:
d)接收关于访问第二控制寄存器的另一尝试的指示;以及然后
e)响应于d),且在接收访问所述第一控制寄存器的又一尝试之前,将所述索引变量改为指向又一配置寄存器;以及然后
重复d)-e),以指向再一配置寄存器。
6.如权利要求1所述的方法,其特征在于,在c)中,所述索引变量仅当所述集成电路组件进入用于通过自动索引对配置寄存器编程的特殊操作模式时才改变。
7.一种用于对多个配置寄存器编程的方法,包括:
a)对集成电路组件启用第一操作模式,其中,多个配置寄存器将依照b)-e)进行编程;
b)写入所述集成电路组件的第一控制寄存器以启用对所述配置寄存器的选中的一个的访问;以及然后
c)将所述配置寄存器中选中的一个寄存器的内容值写入所述集成电路组件中的第二控制寄存器;以及然后
d)将所述配置寄存器中选中的另一个寄存器的又一内容值写入所述第二控制寄存器,而不再次写入所述第一控制寄存器;以及然后
e)重复d),直到对所有的配置寄存器编程。
8.如权利要求7所述的方法,其特征在于,还包括:
通过以下步骤对另外的多个配置寄存器编程
f)禁用所述第一操作模式;以及然后
g)写入所述第一控制寄存器以启动对所述另外的配置寄存器中选中的一个寄存器的访问;以及然后
h)将所述另外的配置寄存器中的选中的一个的内容值写入所述第二控制寄存器;以及然后
重复g)-h),直到对所有的另外的配置寄存器编程。
9.如权利要求8所述的方法,其特征在于,所述多个配置寄存器是顺序地编程的。
10.一种集成电路组件,包括:
多个配置寄存器;
计数器,用于提供可通过自动递增或递减所述计数器来改变的第一索引值;
多路复用器逻辑,具有接收所述第一索引值的第一输入、接收第二索引值的第二输入、以及被耦合以对所述多个配置寄存器进行索引的输出,所述多路复用器逻辑接收指示所述集成电路组件的操作模式的控制信号,所述模式是其中通过自动递增或递减所述计数器来索引配置寄存器的模式;以及
检测逻辑,具有接收第一硬件控制信号的输入,所述第一硬件控制信号指示已从所述集成电路组件外部接收到访问配置寄存器的请求;以及对所述计数器提供递增或递减信号的输出。
11.如权利要求10所述的集成电路组件,其特征在于,所述第一硬件控制信号指示已接收到写所述集成电路组件的配置数据寄存器的请求,且其中,所述检测逻辑还具有接收第二硬件控制信号的另外的输入,所述第二硬件控制信号指示已接收到读所述配置数据寄存器的请求,所述递增或递减信号是响应于声明所述第一和第二硬件控制信号的任一个来声明的。
12.如权利要求10所述的集成电路组件,其特征在于,所述计数器具有用第一索引值来加载其自身的另外的输入,所述第一索引值是从接收自所述集成电路组件外部的请求中获得以写入所述集成电路组件的配置地址寄存器。
13.一种计算机系统,包括:
第一处理器和主存储器组合;
图形子系统;以及
I/O集线器,所述I/O集线器经由第一点对点链路在通信上耦合到所述第一组合,并经由第二点对点链路在通信上耦合到所述图形子系统,
所述I/O集线器担当所述第一组合和所述图形子系统组件之间的桥,
所述I/O集线器具有多个配置寄存器,其中某一些的内容指示在所述桥的一端上接收到的事务请求如何被传送到所述桥的另一端,并且其中,
所述I/O集线器还包括提供第一索引值的计数器;多路复用器逻辑,所述多路复用器逻辑具有接收所述第一索引值的第一输入、接收第二索引值的第二输入、被耦合以对所述多个配置寄存器进行索引的输出,所述多路复用器逻辑接收指示所述I/O集线器的操作模式的控制信号,所述模式是其中通过自动递增或递减所述计数器来索引配置寄存器的模式;以及检测逻辑,所述检测逻辑具有接收第一硬件控制信号的输入以及向所述计数器提供递增或递减信号的输出,所述第一硬件控制信号指示已从I/O集线器的外部接收到访问配置寄存器的请求。
14.如权利要求13所述的系统,其特征在于,还包括第二处理器和主存储器的组合,所述第二处理器和主存储器的组合经由第三点对点链路通信上耦合到所述I/O集线器,并经由第四点对点链路通信上耦合到所述第一组合,且其中,所述I/O集线器担当所述第二组合和所述图形子系统之间的另外的桥。
15.如权利要求14所述的系统,其特征在于,还包括经由第五点对点链路通信上耦合到所述I/O集线器的网络接口控制器。
16.如权利要求13所述的系统,其特征在于,所述I/O集线器还包括配置地址寄存器,它包含端口号、功能号以及寄存器号,它们共同指向所述配置寄存器中选中的一个寄存器;以及配置数据寄存器,它反映所述配置寄存器中选中的一个寄存器的内容的部分。
17.一种用于对软件可访问寄存器编程的方法,包括:
a)检测计算机系统中以访问指向所述系统的多个软件可访问寄存器之一的索引变量为目标的第一总线事件、以及以访问所述索引变量所指向的软件可访问寄存器的内容为目标的第二总线事件;以及然后
b)将编程模式改为用于对所述软件可访问寄存器中的某一些编程的块模式;以及然后
c)检测所述系统中以更新所述索引变量所指向的所述多个软件可访问寄存器之一为目标的第三总线事件;以及然后
d)响应于c),且在不等待以访问所述索引变量为目标的另一总线事件的情况下,将所述索引变量改为指向所述多个软件可访问寄存器的另一个。
18.如权利要求17所述的方法,其特征在于,所述第一总线事件是将给定索引值写入所述系统的第一控制寄存器,所述给定索引值指向所述多个软件可访问寄存器的给定的一个,
以及其中,所述第二总线事件是将给定内容值写入所述系统的第二控制寄存器,所述系统然后将所述给定内容值写入所述给定软件可访问寄存器。
19.如权利要求18所述的方法,其特征在于,分别被写入所述第一和第二控制寄存器的所述给定索引值和内容值被编码。
20.如权利要求17所述的方法,其特征在于,还包括,在d)之后:
e)检测更新所述多个软件可访问寄存器的另一个的第四总线事件;以及然后
f)响应于e),且在接收更新所述索引变量的又一总线事件之前,将所述索引变量改为指向所述多个软件可访问寄存器的又一个。
21.如权利要求18所述的方法,其特征在于,所述第一和第二控制寄存器被映射到所述系统的主机CPU I/O地址空间。
22.一种用于对配置寄存器编程的方法,包括:
启动
a)其中要依照以下b)-d)来对多个配置寄存器编程的块操作模式,以及然后
b)访问指向所述配置寄存器中任一个的第一控制寄存器的总线事务,以及然后
c)访问反映所述配置寄存器中任一个的内容的第二控制寄存器的另一总线事务,以及然后
d)各自访问所述第二控制寄存器的多个另外的总线事务,而无需访问所述第一控制寄存器的任何另外的总线事务。
23.如权利要求22所述的方法,其特征在于,使得从所述块模式返回到正常模式,在所述正常模式中,通过启动访问所述第一控制寄存器的总线事务以及然后访问所述第二控制寄存器的另一总线事务来对另外配置寄存器编程。
24.如权利要求23所述的方法,其特征在于,将所述第一和第二控制寄存器作为映射到主机/CPU I/O地址空间来对待。
25.一种用于对配置寄存器编程的装置,包括:
a)用于启动其中要依照以下b)-d)来对多个配置寄存器编程的块操作模式的装置,以及然后
b)用于启动访问指向所述配置寄存器中任一个的第一控制寄存器的总线事务的装置,以及然后
c)用于启动访问反映所述配置寄存器中任一个的内容的第二控制寄存器的另一总线事务的装置,以及然后
d)用于启动各自访问所述第二控制寄存器的多个另外的总线事务,而无需访问所述第一控制寄存器的任何另外的总线事务的装置。
26.如权利要求25所述的装置,其特征在于,用于使得从所述块模式返回到正常模式,在所述正常模式中,通过启动访问所述第一控制寄存器的总线事务以及然后访问所述第二控制寄存器的另一总线事务来对另外配置寄存器编程的装置。
27.如权利要求26所述的装置,其特征在于,将所述第一和第二控制寄存器作为映射到主机/CPU I/O地址空间来对待。
CN2004800271328A 2003-09-25 2004-09-23 通过自动改变索引来访问配置寄存器的方法和装置 Expired - Fee Related CN101189577B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/671,973 US7219167B2 (en) 2003-09-25 2003-09-25 Accessing configuration registers by automatically changing an index
US10/671,973 2003-09-25
PCT/US2004/031399 WO2005031563A2 (en) 2003-09-25 2004-09-23 Accessing configuration registers by automatically changing an index

Publications (2)

Publication Number Publication Date
CN101189577A CN101189577A (zh) 2008-05-28
CN101189577B true CN101189577B (zh) 2012-03-21

Family

ID=34393467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800271328A Expired - Fee Related CN101189577B (zh) 2003-09-25 2004-09-23 通过自动改变索引来访问配置寄存器的方法和装置

Country Status (6)

Country Link
US (1) US7219167B2 (zh)
EP (1) EP1668491A2 (zh)
JP (1) JP4359618B2 (zh)
CN (1) CN101189577B (zh)
TW (1) TWI245222B (zh)
WO (1) WO2005031563A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519802B2 (en) * 2004-05-05 2009-04-14 Hewlett-Packard Development Company, L.P. System and method for configuring a computer system
DE602005005021T2 (de) * 2005-04-22 2009-04-23 Infineon Technologies Ag System und Verfahren zum Zusammenbau und Zerlegung von Datenpaketen
JP4660362B2 (ja) * 2005-11-25 2011-03-30 株式会社日立製作所 計算機システム
US7624222B2 (en) * 2006-10-06 2009-11-24 International Business Machines Corporation South bridge system and method
WO2013101165A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Register error protection through binary translation
US20170270062A1 (en) * 2016-03-21 2017-09-21 Intel Corporation In-band retimer register access
US10198394B2 (en) * 2016-05-24 2019-02-05 Intel Corporation Reduced pin count interface
CN112052041B (zh) * 2020-10-10 2022-03-11 乐鑫信息科技(上海)股份有限公司 更新寄存器的方法
US20220206879A1 (en) * 2020-12-30 2022-06-30 Heena Bhatia PCIe Race Condition secure by Trait Claims and Address Space by using Portable Stimulus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676687A2 (en) * 1994-04-06 1995-10-11 Advanced Micro Devices, Inc. Power management units for computer systems
CN1144984A (zh) * 1995-06-02 1997-03-12 日本电装株式会社 交流发电机的整流器
US6407960B1 (en) * 2000-09-01 2002-06-18 Advanced Micro Devices Arrangement for programming selected device registers during initialization from an external memory
WO2003058439A2 (en) * 2001-12-31 2003-07-17 Intel Corporation Method and apparatus for modifying the contents of a revision identification register

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655148A (en) 1994-05-27 1997-08-05 Microsoft Corporation Method for automatically configuring devices including a network adapter without manual intervention and without prior configuration information
KR100223844B1 (ko) 1996-12-27 1999-10-15 구본준 옵션 자동 설정 회로
US6553439B1 (en) * 1999-08-30 2003-04-22 Intel Corporation Remote configuration access for integrated circuit devices
US6697076B1 (en) * 2001-12-31 2004-02-24 Apple Computer, Inc. Method and apparatus for address re-mapping

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0676687A2 (en) * 1994-04-06 1995-10-11 Advanced Micro Devices, Inc. Power management units for computer systems
CN1144984A (zh) * 1995-06-02 1997-03-12 日本电装株式会社 交流发电机的整流器
US6407960B1 (en) * 2000-09-01 2002-06-18 Advanced Micro Devices Arrangement for programming selected device registers during initialization from an external memory
WO2003058439A2 (en) * 2001-12-31 2003-07-17 Intel Corporation Method and apparatus for modifying the contents of a revision identification register

Also Published As

Publication number Publication date
CN101189577A (zh) 2008-05-28
US7219167B2 (en) 2007-05-15
WO2005031563A2 (en) 2005-04-07
WO2005031563A3 (en) 2006-05-18
JP2007507045A (ja) 2007-03-22
US20050086463A1 (en) 2005-04-21
TW200517957A (en) 2005-06-01
TWI245222B (en) 2005-12-11
JP4359618B2 (ja) 2009-11-04
EP1668491A2 (en) 2006-06-14

Similar Documents

Publication Publication Date Title
US5761458A (en) Intelligent bus bridge for input/output subsystems in a computer system
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
KR100381502B1 (ko) 컴퓨터 시스템의 구성을 결정하기 위한 방법, 시스템 및 프로그램을 기록한 기록 매체
CN101989240B (zh) 用于设备资源分配和再平衡的系统和方法
CN114020681B (zh) 逻辑盘符的分配方法、装置、系统、电子设备及存储介质
US6216196B1 (en) System and method for multiple device drivers to arbitrate for a single device
CN101189577B (zh) 通过自动改变索引来访问配置寄存器的方法和装置
KR20030014352A (ko) 장치 계산을 위한 가상 rom
CN105468548A (zh) 串行外围接口的通信
US5386515A (en) Automatic input/output address conflict resolution
CN1516014A (zh) 外围部件互连总线的测试方法
US6748478B1 (en) System function configurable computing platform
GB2357600A (en) Hardware dependent software installation
US6128718A (en) Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
US7890666B2 (en) Embedded protocol selection technique, related interface and computer program product
CN101369257B (zh) 一种启动数据处理模块的方法、装置及系统
US6622244B1 (en) Booting from a reprogrammable memory on an unconfigured bus by modifying boot device address
CN110795373A (zh) 一种i2c总线到并行总线的转换方法、终端及存储介质
CN116302687A (zh) 通信恢复方法、装置、系统及可读存储介质
CN100533418C (zh) 用于修改版本标识寄存器的内容的方法和装置
CN116821043A (zh) 物联网操作系统软硬一体化应用扩展装置及其应用
US5594879A (en) Method of and apparatus for arbitrarily disabling under processor control individual slots on a computer bus
CN101458671B (zh) 外设访问控制方法、装置与系统
US20060155978A1 (en) Method for initialising programmable systems
CN111258763A (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: 20180923