首页> 中国专利> 用于PCI总线计算机具有有效/无效扩充ROM的内插式板卡

用于PCI总线计算机具有有效/无效扩充ROM的内插式板卡

摘要

用于外设元件内部连接(PCI)计算机的适配卡或内插式板卡包括一个通用模块,将适配卡或板卡连接到PCI总线上。该通用模块包括一组可选的可编程配置寄存器,它们的值由适配卡上微处理器负责加载。该模块的一个电路结构发出指令,禁止PCI处理器访问所述配置寄存器,直到所述加载工作全部完成。另外还有一个电路结构用于指示扩充式ROM基地址寄存器究竟是“读/写”寄存器还是“只读”寄存器。如果是“只读”寄存器,各数据单元均被置成“0”。PCI计算机将据此推断出内插式板卡上没有扩充式内存。如果是“读/写”寄存器,且包含非“0”值,PCI计算机则认为内插式板卡上有扩充式ROM,并将扩充式ROM的内容“映象”到PCI计算机的主存中。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-29

    专利权有效期届满 IPC(主分类):G06F12/06 授权公告日:20020529 申请日:19960503

    专利权的终止

  • 2002-05-29

    授权

    授权

  • 1998-06-24

    实质审查请求的生效

    实质审查请求的生效

  • 1998-06-17

    公开

    公开

说明书

本专利申请(RA995045)涉及专利申请RA995022。两项申请于同一时间递交并转让给同一个受让人。RA995022中的发明涉及具有可编程配置寄存器的PCI接口模块;RA995045中的发明涉及内插式板卡上具有有效/无效状态PCI ROM的接口模块设备。

本发明一般涉及计算机系统,尤其是被称做适配卡或内插式板卡的设备,主要用于将多个计算机系统相连或将设备连接到另外一个计算机系统上。

将处理器、存贮器、外设等计算机系统中许多单独设备连接在一起的通信接口或输入/输出总线在当前技术中已广为人知。计算机系统不仅用于完成许多单独的任务,还用于彼此间相互交换信息。为了达到交换信息的目的,计算机系统被连入计算机网络。传统的计算机网络包含通信介质,以及附着在通信介质上的计算机系统。通常用内插式板卡将计算机系统的总线连到通信介质上。为了让计算机对使用者更具有吸引力,大多数制造商们努力将计算机总线设计标准化。标准化的总线,诸如ISA、EISA、微通道TM等,在当前技术中均为人所知。

外设元件互连Peripheral Component Interconnect(PCI)是另外一种标准化总线,它是一种具有多重地址、控制线和数据线的高效32位/64位总线,设计PCI总线的目的是利用它实现高集成化外设元件,内插式板卡和处理器/存贮器子系统之间的互连,PCI本地总线详细说明书(产品2.0修订版)于1993年4月30日发表,对PCI总线进行了规格说明。该手册是由PCI Special Interest Group(SIG)发布并维护的,PCI--SIG是一个对计算机工业领域的所有公司开放的组织,PCI--SIG确信PCI总线将会因其优越的性能,而在高性能个人计算机(PCIs)的内插式板卡、工作站和服务器等产品中成为主力扩充总线。

PCI详细说明书中提供的许多功能中,有一点是可以提供“扩充式ROM”,扩充式ROM是位于PCI内插式板卡上的ROM,包含了由PCI主处理器所执行的代码,为PCI内插式板卡提供初始化和系统启动的功能。

扩充式ROM的典型用法在上面提到的PCI本地总线详细说明书有详细规定,该说明书被列入了参考文献。当PCI计算机系统启动时,在PCI处理器与内插式板卡间将完成一种模式化的处理过程,其结果就是将内插式板卡上扩充式ROM中存贮的内容传送到PCI计算机系统的存贮器中。我们经常称之为将扩充式ROM中的内容“映象”到PCI计算机的存贮器中。PCI系统软件接着运行在它的存贮器中扩充式ROM被映象的代码。一旦代码的运行得以完成,就将系统控制权还给系统配置软件,PCI计算机系统继续启动进程。

当一系列工作(即,传送并执行扩充式ROM中的代码)完成之后,扩充式ROM的映象拷贝仍将保留在宿主机的主存中。该过程没有提供释放内存的机制,所以映象可以被其他应用程序所使用。今天的PCI计算机系统中,扩充式ROM的内容必需驻留在1MB基本内存中,DOS/Windows应用程序必须严格遵守这一规定。该空间如果稍有不足,都可能导致某些应用程序无法运行。

一般来说,只有特珠的应用才需要扩充式内存提供的代码。尽管这些功能不是必须的,但迄今为止仍无一种模式化的方法防止映象扩充式ROM代码”占据计算机主存。如果特珠的应用需要扩充式ROM,那么在所有该应用涉及到的内插式板卡上都必须有扩充ROM。所以我们需要一种解决方法,对于那些不需要扩充式ROM的映象拷贝的应用程序而言,可以将扩充式ROM置成无效状态,以防止对计算机主存中不必要的占用。

因此,本发明的主要目的是为PCI计算机提供一个新型的内插式板卡。

本发明的另一个目的是为PCI总线计算机上的PCI总线提供一个通用的接口模块以连接各类内插式板卡和PCI总线型计算机。

本发明的其他一个目的是提供一个内插式板卡,板卡上的扩充式ROM具有有效/无效两种状态。

本发明所讨论的内插式板卡包含一个扩充式ROM,可以向PCI处理器提供扩充式ROM可用(有效)/不可用(无效)两种选择。

特别地,这个新型的内插式板卡包括一个装配组件,专门为执行预定的应用(诸如连到通信网、连接不同类型设备等)而设计。通用接口模块具有可编程PCI配置寄存器和一个内插式板卡微处理器。通过将称之为“扩充式ROM基地址寄存器”的PCI配置寄存器的一个配置成具有预定的数值的PCI读/写式寄存器或只读式寄存器,内插式板卡上的扩充式ROM的数值将被“映象”到PCI计算机的存贮器中,或者不进行映象。

应特别指出的是,本发明的内插式板卡包含一个内插式板卡微处理器,一个本地总线以及连接在该总线上的永久存贮设备和通用接口模块即下文所称的PCI总线接口芯片。PCI总线接口芯片提供一组寄存器,包含只读寄存器。此外,还有少量(一般2K到16K)永久性存贮设备被用做PCI扩充ROM,可由PCI处理器进行读/写操作。PCI总线接口芯片包括一个PCI控制ROM寄存器和一个扩充式ROM基地址寄存器。

加电以后,PCI总线接口芯片控制器将启动PCI总线上所选的控制线,指定为“重试模式”,以回应PCI系统处理器对PCI配置寄存器的访问。在“重试模式”下,禁止PCI系统处理器访问PCI总线接口芯片上的配置寄存器;而PCI系统处理器将根据“重试模式”的信号,在一段时间后“重新”访问寄存器。在上述的禁止或无读操作的期间,内插式板卡微处理器访问永久性存贮设备,并将存贮在永久性存贮设备中的信息加载到配置寄存器组中。此外,内插式板卡上的微处理器还将访问PCI控制ROM寄存器,如果扩充式ROM需要被置于无效状态,则改变PCI ROM中的无效的状态位;如果扩充式ROM是有效的,不做改变。

当加载结束后,内插式微处理器将PCI总线接口芯片中一个称做PCI访问许可位的控制位置成有效,该位的输出信号使PCI总线接口控制器将先前处于激活状态的控制线变为非激活状态,从而使PCI处理器可以访问PCI总线芯片中的寄存器。

如果PCI ROM无效位被置为逻辑“1”时,PCI ROM无效逻辑将强行从PCI扩充式ROM基地址寄存器中读出全逻辑“0”。若PCI处理器只能从PCI扩充式ROM基地址寄存器中读出全“0”,这对于PCI处理器来说就意味着该板卡上没有扩充式ROM。

如果将PCI ROM无效位置为逻辑“1”,则PCI ROM无效逻辑强制从PCI扩充式ROM基地址寄存器读出全“0”,如果将PCI ROM无效位置成逻辑“0”,那么PCI扩充式ROM基地址寄存器对于PCI处理器而言是一个读/写寄存器。在读/写状态下,PCI处理器将PCI扩充ROM基地址寄存器所有单元均写成“1”,若从PCI扩充ROM基地址寄存器中读出非“0”值,PCI处理器将认为内插式板卡上提供了扩充式ROM。然后扩充式ROM的PCI存储器的基地址将被写入扩充式ROM基地址寄存器中。这个地址就是扩充式ROM在PCI存贮器中进行读/写的位置。此外,PCI处理器为PCI总线上的PCI扩充式ROM初始化一个读/写周期。PCI有效逻辑将负责根据PCI扩充式ROM基地址寄存器中的地址完成对扩充式ROM的读写操作。

本发明的另一个特征在于,如果以PCI总线芯片的一个管脚为输入,PCI ROM无效比特位的功能将被PCI ROM无效信号屏蔽。如果该管脚输入被置为在活动“高位”状态,只能从扩充式基地址寄存器读出全“0”;如果该管脚的输入被置为在非活动低位状态,对PCI无效位的设置如前所述。

本发明前面提到的特征和优点将随下列图做充分描述。

图的简要描述:

图1:显示关于本发明所教导的内插式板卡的系统级模块图

图2:显示关于本发明所教导的内插式板卡的板卡级模块图

图3:显示关于本发明所教导的PCI接口芯片的芯片级模块图

图4:显示关于本发明所教导的PCI总线接口芯片的电路模块图

图5:分别显示PCI处理器和内插式板卡在配置和设置相关的配置寄存器的处理流程

图6:显示PCI总线接口芯片控制器的模块图

图7:显示重试周期的时序图

图8:显示关于本发明所教导的PCI扩充式ROM有效/无效过程的流程图

图9:显示PCI扩充式ROM无效逻辑的模块图

图1显示了PCI计算机系统13的模块图,PCI计算机系统由PCI总线10、PCI内插式板卡12和PCI处理器14构成。PCI处理器14包含许多软件产品,诸如PCI系统配置软件14A、操作系统14B和一些应用程序14C。各软件的功能已为业界人士熟知。因此,在此将不再给出详细描述。我们完全有理由认为PCI系统配置软件14A完成了控制PCI内插式板卡上配置寄存器(将在下文中详细描述)所需的功能。总的来说,PCI系统配置软件是BIOS(基本输入/输出系统)软件的一部分。BIOS负责对系统实行加电测试,提供各种较低级别的例程,以支持系统配置和数据输入。PCI SpecialInterest Group(PCI--SIG)于1993年7月20日发表了PCI BIOS详细说明书修订版2.0,大致描述了PCI配置软件所需功能。该文件被列入了参考文献。PCI BIOS详细说明书提供了充足的信息,编程人员可以据此设计适合的软件模块。

如前所述,PCI总线10是一种计算机系统的内部的互连传输机制,1993年4月30日发表的“外设元件互连(PCI)的本地总线规则”一文中对PCI总线进行了详细描述,在此也被列入参考文献。此外,USP 5,392,407(具有外设元件互连端口与RAMBUS端口的多端口处理器)描述了PCI总线的特征,为了更好地了解PCI总线的背景资料,在此也列入了参考文献。尽管在图1中显示在实际实施时,PCI内插式板卡12独立于PCI计算机系统13,PCI内插式板卡12实际上连接在PCI计算机系统13表面下的一个扩展槽上。

参见图1,本发明下文的描述涉及到PCI内部板卡12,具体来说是涉及到PCI总线接口芯片12A,因为它与PCI总线12接口。PCI总线接口芯片12A是一种通用芯片,通过它厂商可将各种不同类型的PCI内插式板卡12连接到PCI总线上。此外PCI总线接口芯片还能将PCI内插式板卡上的扩充式ROM置为有效或无效。PCI内插式板卡12包括一个处理器12B和一个本地总线12C,本地总线12C负责连接PCI总线接口芯片12A,永久性存贮器12D、RAM12E和输入/输出(I/O)任务生成器设备12F。任务生成器设备12F是PCI内插式板卡的一个子系统,执行预定的功能以完成期望的任务。例如,任务生成器设备12F可以是一个通信适配卡负责连接PCI计算机系统13和局域网诸如令牌网、以太网、FDDI网等。更具体地说,用于令牌网的任务生成器可以是IBM Auto LANStreamer PCI AdapterP/N 04H8095。

类似的,用于以太网的任务生成器也可以是IBM EtherStreamer MC32Adapter P/N 74G0850

一般来说,可以连到PCI总线接口芯片上的任务生成器包括通信控制器(以太网、令牌环网、FDDI、ATM网等)、显示控制器(VGA、XGA等)、多媒体设备(视频设备、声频设备、CD--ROM等)、盘系统(IDE、SCSI、RAID等)和协处理器系统(奔腾芯片、POWER PC等)。

应该注意到,这些应用都可用PCI内插式板卡实现。根据本发明的教导,PCI总线接口芯片12A(下文将详细讨论)可以用在任何一种内插式板卡中,以执行内插式板卡需要的总线接口功能,对PCI总线进行操作。

仍旧参照图1,本发明包含了扩充式ROM以及PCI总线接口芯片提供的特有机制(后面将加以描述),该机制可以将扩充式ROM置为对于PCI处理器来说有效或无效状态,特别应指出,扩充式ROM是永久性存贮器上的一部分,一般来说有2K至16K。当然,现有技术可以在设计扩充式ROM时选用其他结构或大小的存贮器,而不偏离本发明的范围。

PCI系统处理器可以执行扩充式ROM中的代码以代替内插式板卡执行各种功能,诸如系统初始化、配置以及启动等。PCI系统配置程序将地址值写入PCI扩充式ROM基地址寄存器中,该值决定了扩充式ROM在PCI系统存贮映象中的位置。在PCI本地总线详细说明书,产品2.0修订版,中规定了PCI扩充式ROM基地址寄存器的格式和位置。

下面是有关扩充式ROM的一个范例,在本例中,扩充式ROM用于一个令牌内插式板卡,该板卡的功能是连接PCI计算机与令牌环网。

令牌内插式板卡提供一个扩充式ROM,其中包含具有“远程程序装载”功能的代码。通过远程程序装载,远程服务器系统可以利用局域网卡适配器通过网络启动主机系统。此时操作系统不是由本地硬盘设备或软盘加载,而是由内插式板卡上的远程程序装载代码局域网向远程服务器发出请求以获取操作系统的一个副本。当远程程序装载代码接收到操作系统代码后,立刻将其装载到本地计算机的主存中,并在装载完成后将控制权交给操作系统。

但很多令牌内插式板卡应用并不需要远程程序加载功能,因为宿主机系统总是从本地硬盘启动的。在这些应用程序中,本发明所描述的技术可以用来将扩充式ROM置为无效状态释放不必要的映象存贮空间,正常情况下这些空间将被远程程序装载代码所占用。对于需要使用远程程序装载功能的应用,扩充式ROM依然有效,宿主机系统将通过远程服务器来启动。

对于令牌内插式板卡,决定扩充式ROM是否有效的配置输入参数,存储在内插式板卡的永久式闪存(FLASH memory)中。加电之后,内插式板卡上的微处理器立即从闪存中将配置位拷入PCI总线接口芯片的寄存器中。该配置位控制着扩充式ROM基地址寄存器的性质,即对于访问它的PCI系统配置软件来说,是可“读/写”还是“只读”的。用户可以利用PCI计算机系统提供的工具来修改闪存中的配置位,从而改变扩充式ROM的状态为有效或无效。

图2显示了PCI总线接口芯片12A的板卡级模块图。PCI总线芯片12A包括PCI总线接口16,它负责连接PCI总线10。内部总线接口设备18负责连接PCI总线芯片12A和内部总线12C。PCI总线接口设备16和内部总线接口设备18之间由以下设备连接:数据传输与逻辑设备20,功能寄存器22,PCI配置寄存器24和PCI扩充式ROM控制设备50。数据传输与逻辑设备20是PCI总线10与PCI内插式板卡12间的主要数据传输路径,包括一个先进先出缓冲20A,将数据从内部总线接口设备18移到PCI总线接口设备16。类似的,先进先出缓冲20B将数据反向传送。PCI系统处理器通过PCI总线10执行PCI系统配置软件14A可对PCI配置寄存器进行读写操作。利用写入的信息可以配置插入式板卡连接的设备的I/O地址、存储器地址、中断级别、高速缓存线大小(Cache Line)等设备资源。

参见图2,PCI配置寄存器24包含的信息对于配置软件14A(见图1)十分重要,因为只有通过这些信息才能识别设备并决定如何进行配置。PCI标准需要下面列出的只读配置寄存器。下表无疑是详尽的,本发明将包括已命名的和其他各种类型的寄存器----只要它们是PCI内插式板卡与PCI系统连接所必须。这些PCI结构的只读寄存器包括:

厂商标识:一个16位寄存器,用户可识别出该设备的生产厂商;

设备标识:一个16位寄存器,用以唯一标识厂商生产的PCI设备;

更新标识:一个8位寄存器,厂商用以获悉设备的更新信息;

类别代码:一个24位寄存器,可识别出设备的一般功能(显示控制器、网络控制器、桥设备等);

基地址寄存器:包含一个只读位,指明设备输入/输出和存贮器映射需求;

中断电路寄存器:一个8位寄存器,与中断电路路由选择请求通信;

最小许可和最大延迟定时寄存器:8位寄存器,设定了延迟定时器的设备期望值。

正如以下将要描述的,在本发明中可以根据微处理器12B和永久性存贮器12D动态设置PCI配置寄存器的值。因此,同样的PCI总线接口芯片12A可以用于多种不同类型的PCI内插式板卡。

正如我们接下来要解释的,本发明可将扩充式ROM置为有效或无效状态。PCI扩充逻辑设备50(详见下文)监控称为“扩充式内存基地址寄存器”的一个配置寄存器中的配置信息,根据这些信息在PCI处理器间传递信息,或不传递任何信息。

“功能寄存器”22与PCI配置寄存器相分离,它们只能被诸如令牌环设备驱动程序等特定应用程序所访问。它们负责提供中断/状态功能,DMA控制功能和一些PCI总线说明书中未规定配置功能。

图3显示了PCI总线接口芯片12A的详细模块图,PCI总线接口芯片12A负责连接PCI总线10和内部插接板卡总线12C。在该图中,还显示了PC I配置寄存器----一种可编程寄存器,微处理器12B通过内部内插式板卡总线12C对其进行写操作。此外,在图3中还显示了PCI访问许可寄存器,它负责控制PCI处理器对PCI配置寄存器的访问权。正如我们以后将要提到的,在具体实施时,PCI访问许可寄存器是一个单比特寄存器。当然,也可用其他类型的配置寄存器来实现相同的功能而不违背本发明的精神。

仍参照图3,PCI总线接口设备16包括一个PCI总线主逻辑设备16A,和一个PCI总线从逻辑设备16B。PCI总线主逻辑设备16A负责在PCI总线与PCI总线接口芯片的FIFO之间传输突发性数据。PCI总线主逻辑设备16A,通过PCI系统总线仲裁逻辑(PCI总线系统的一个组成部分,(图中未显示)取得总线的所有权,以完成传输的初始化工作。而PCI总线从逻辑设备16B负责响应由其他总线控制器,例如PCI系统处理器,初始化的总线周期,它提供PCI总线上必要的握手控制信号,以使PCI系统处理器完成对PCI总线接口芯片上寄存器的读/写操作。

与PCI总线接口16相类似,内部总线设备18包含一个内部总线主逻辑设备18以及一个内部从逻辑设备18B。内部总线主逻辑设备18A负责在内部内插式总线12A与PCI总线接口芯片的FIFO之间传输突发性数据;18B则为内插式板卡上的微处理器提供寄存器读/写服务。

仍参照图3。“或”逻辑电路20有一个输出端,连接到PCI总线从逻辑设备16B;另外“或”逻辑电路20有两个输入端,一个将通过线26连接到PCI访问许可寄存器24,另一输入端通过导线23连接到管脚22。第22管脚与PCI总线接口模块12A相连,在图3中以虚圆圈表示。正如我们即将解释的,当“或”逻辑电路20的输出端信号为“启动”时,PCI处理器才能通过PCI总线访问PCI配置寄存器,如果“或”逻辑电路的输出端处于“非激活”状态,PCI处理器对配置寄存器的访问功能将被阻塞。控制“或”逻辑电路20的输出状态有两种方式:通过处理器12B(见图2)设置PCI访问许可寄存器的一个比特位进行控制或者通过PCI总线接口芯片的22号管脚控制。

在图3中还显示了将扩充式ROM置为有效或无效的机制。这一机制包括PCI ROM控制寄存器52,输出端通过导线54连接到逻辑“或”电路56。“或”逻辑电路的输出连接到扩充式ROM基地址寄存器58。PCI扩充式ROM无效导线57将PCI扩充式ROM无效管脚60连接到“或”逻辑电路的另一输入端,PCI扩充式ROM基地址寄存器58的输出连接到PCI扩充式ROM解码逻辑设备62,PCI扩充式解码逻辑设备62一端连接到PCI总线从逻辑设备16B,另一端连接到内部总线从逻辑设备18B。

在图3中,PCI ROM控制寄存器52有一个比特位(将在后面描述),内插式板卡微处理器通过内部插接板总线12C可以对其进行设置。如果该比特位被设置成逻辑“1”,就强制扩充式ROM基地址寄存器58输出全“零”值。PCI处理器如果读到全0则表明内插式板卡上没有提供扩充式ROM。如果扩充式ROM基地址寄存器58的输出为非零值,PCI处理器即认为在内插式板卡上有扩充式ROM。当PCI总线上的地址是扩充式内存基地址寄存器中58中的地址时,PCI扩充式ROM解码逻辑设备62将在内插式板卡扩充式ROM和PCI处理器之间交换信息。一个扩充式ROM基地址寄存器究竟是充当读/写寄存器还是仅具有固定“零”值的只读寄存器,我们将在后面详细地描述。通过上述方法,即判断扩充式ROM基地址寄存器58是否全零以表示该寄存器是读/写寄存器还是只读寄存器,可以完全控制内插式板卡对PCI处理器的有效性。下面还将介绍,PCI扩充式ROM无效导线57上的PCI扩充式ROM无效信号可以屏蔽PCI ROM控制寄存器比特值的功能。

正如上文所描述的,PCI处理器根据扩充式ROM基地址寄存器的内容判断内插式板卡上是否提供了扩充式ROM。以下将详细描述扩充式ROM基地址寄存器。扩充式ROM基地址寄存器在PCI本地总线详细说明书2.0修订版Sec.6.2.5.2有详细规定,该说明书被列入了参考文献。在PCI计算机系统加电以后,PCI处理器运行配置软件将扩充式基地址寄存器内写为全“1”。如果配置软件读到一个非“零”返回值,就说明内插式板卡上有一个扩充式ROM;如果读到的返回值均为“零”,那么在内插式板卡上就没有扩充式ROM。

如果内插式板卡提供了扩充式ROM,系统配置软件根据从扩充式ROM基地址寄存器中读到的信息来决定扩充式ROM的大小,然后将系统处理器内存映象中扩充式ROM存放地址加载到寄存器中。接着将寄存器中一个比特位置成有效,允许PCI总线对扩充式ROM的访问。接下来,系统配置软件将扩充式内存中的内容拷贝或映射到宿主机主存贮器中,然后将内插式板卡上扩充式ROM基地址寄存器置为无效,以禁止对扩充式ROM的访问。同时,将扩充式ROM从系统处理器存贮器映象中移走。接下来,系统配置软件执行主存映象中的代码。一旦代码执行完毕,将系统控制权交还给系统配置软件,PCI计算机系统继续执行启动进程。

图4用图解说明了在PCI系统处理器14(见图1)被禁止访问PCI配置寄存器时,微处理器12B(见图1)如何对PCI配置寄存器进行写操作。然而,一旦写操作结束,将设置PCI访问许可寄存器24中的PCI访问许可位30,前面提到的PCI处理器就对PCI总线接口芯片的全部寄存器具有了访问权。此外,如果需要将扩充式内存置为无效,PCI ROM的无效位(见图9)应置成逻辑“1”;否则PCI ROM“非活动”位仍应保持逻辑“0”。

仍然参见图4,一组数据线(在PCI总线上,被称做PCI数据总线10A),连接PCI配置寄存器与PCI总线10。一个被称做PCI--RST#LINE的控制结构线将PCI访问许可寄存器28连接到PCI总线10上。一组用于启动PCI总线重试功能所必需的PCI控制信号线将PCI总线10连接到PCI状态机和组合逻辑设备31。

PCI从状态机和组合逻辑设备31的输入端通过最终访问许可信号线32连接到“或”逻辑电路20,导线24和26上的信号已经在图3中做了相关描述,在此不再重复。

图5显示了PCI系统处理器尝试访问PCI内插式板卡配置寄存器,与PCI内插式板卡的微处理器预载PCI配置寄存器这两个过程之间的交互情况。系统一旦加电,PCI处理器42中的PCI系统配置软件就会尝试访问PCI插入式板卡的配置寄存器(位于PCI接口芯片中,图中未显示)。但PCI系统处理器的访问请求将被禁止,直到PCI总线接口芯片中的PCI访问许可位被内插式板卡微处理器写为有效状态。在PCI系统处理器的访问请求被禁止期间,PCI内插式板卡微处理器将完成对配置寄存器的预载操作,然后PCI系统配置软件才能访问配置寄存器。

特别的是,当PCI系统加电(见34块)后,这一处理就开始进行,PCI内插式板卡及其配置寄存器的图解见框图36。加电后,PCI系统处理器42尝试通过配置读/写线访问配置寄存器。这些尝试最初是不允许的,这一过程在图中由重试线表示。在此时段内,PCI内插式板卡微处理器38从板卡的永久存贮ROM中获得信息,并将其写入适当的配置寄存器中。一旦这些工作完成,位于40块的PCI内插式板卡微处理器置PCI访问许可位,从而允许PCI系统处理器42退出重试模式,访问板卡上的寄存器。对寄存器的访问在图5中由双箭头线配置读/写表示。一旦每个寄存器配置完毕,系统即能与通过内插式板卡连接到PCI总线上的设备进行通信。

图6显示了PCI总线接口芯片与PCI总线接口控制器模块图(PCI总线Int.Ctrl.),PCI总线接口控制器的部分功能是产生控制信号,使PCI处理器强制进入“重试”状态,并禁止PCI处理器访问PCI总线接口芯片的寄存器。在图6中有些元件在前面已经详述过,在此就不再标注、讨论。PCI总线接口控制器,包括PCI从组合逻辑设备44和PCI从状态机46。PCI从组合逻辑设备44将PCI总线(PCI FRAME#和PCI IRDY#)的控制信号解码,并告知PCI从状态机46,PCI总线接口芯片上的某一个PCI系统处理器已对PCI总线接口芯片进行了寄存器读/写初始化工作。PCI从状态机46接着根据获悉的状态完成读/写操作服务。PCI从组合逻辑设备44对PCI从状态机46的输出进行解码,并相应第启动PCI总线上的控制信号(PCIDEVSEL#,PCI TRDY#和PCI STOP#)告知PCI系统处理器总线周期已结束。

如果访问许可线32上的最终访问许可信号处于非活动低状态,PCI从状态机46将对PCI系统处理器的读/写操作发出“重试”信号。根据PCI从状态机46的输出信号,PCI从组合逻辑设备44启动PCI EVSEL#和PCISTOP#信号,停止PCI TRDY#信号,以进入重试状态。PCI系统处理器用该信号序列来指示对寄存器的访问被禁止,总线事务必须在一段时间后重试。如果最终访问许可信号32处于启动高状态,PCI从状态机46和组合逻辑设备44启动PCI DEVSEL#和PCI TRDY#信号来回应某个正常的总线事务。PCI系统处理器用这个信号序列指示对寄存器的一次读/写操作已正常结束。上述“重试”过程和总线事务的正常读/写过程操作所必须的、准确的信号序列在“PCI本地总线详细说明书,产品修订版2.0”中有详细定义,该说明书已被列入参考文献。

图7显示了PCI处理器和PCI总线接口芯片(见图6)相互之间交互过程(握手过程)的时序或事件流程图。这种“握手”过程用于强制PCI处理器转入重试模式。当PCI总线接口控制器一类的从设备没有准备好与PCI处理器等主设备进行通信时,系统将进入重试模式。该例程所需的信号在上面参照的“PCI本地总线详细说明书”中定义,它包括一个时钟、Frame#、IRDY#、TRDY#、STOP#和DEVSEL#。在PCI处理器需要访问PCI总线接口芯片上的配置寄存器时,PCI总线将输出Frame#和IRDY#信号。而TRDY#、STOP#和DEVSEL#信号则是为了回应PCI处理器输出的上述信号而由PCI接口控制器产生。在图6中显示了这些命名信号及方向。数字1、2、3、4、和5表示PCI总线接口芯片根据PCI处理器输出信号进行采样的阶段。类似的,标有A、B、C的循环表示某一设备初始化特定的动作并从其他设备得到回应的过程。例如:A表示PCI总线接口芯片进行初始化,B则表示PCI处理器对此的回应。确切来说,就是当STOP#信号处于低电平,则IRDY#下降,FRAME#上升。C代表的事件也可类似理解。最后,一次重试过程包括5个时钟周期,在图上用两个反向箭头表示。

图9显示了关于本发明所讨论的PCI ROM的有效/无效设置的逻辑模块图。该逻辑由PCI总线接口芯片完成。图9中一些前面已描述过的元件将不再讨论。PCI ROM有效/无效电路包括PCI ROM无效寄存器62,该寄存器通过内部总线读/写数据线与内部内插式板卡总线。正如接下来要讨论的,寄存器中的一个“PCI ROM无效位”可以由内部内插式板卡处理器来设置。如果该位被设置成“1”,PCI处理器将忽略内插式板卡上的扩充式ROM。PCI-RSD#控制线66用于重置PCI ROM无效寄存器62。PCI ROM无效位通过导线68连接到“或”逻辑电路设备70。“或”逻辑电路设备70的另一输入端是PCI ROM无效输入72。如前文所述,输入72来自于PCI总线接口芯片管脚60(见图3)。“或”逻辑电路设备70的输出端通过最终ROM无效线71连接到MUX74。MUX74与PCI扩充式内存基地址寄存器76相连,同时又与一个逻辑“0”强制输入端78相连。有许多方法可以将逻辑“0”强制写入到MUX74。MUX74的输出通过PCI数据读取线送到地址比较器82中,地址比较器82是扩充式ROM解码逻辑设备84的一部分。

在图9中,扩充式ROM逻辑设备84还包括扩充式读/写状态机86,它通过控制线连接到内部总线从状态机和组合逻辑设备88。而内部总线从状态机和组合逻辑设备88都通过内部控制线连接到内部内插式板卡总线上。扩充式ROM读/写状态机86还连接到数据锁存器90。数据锁存器90通过内部数据总线64连接到内部内插式板卡总线。PCI地址/数据MUX/DEMUX通过命名线(named line)与扩充式ROM基地址寄存器76、地址比较器设备82和数据锁存器90相连。PCI从状态机与扩充式ROM读/写状态机通过控制线相连。由于PCI从状态机和组合逻辑设备已经描述过,因此就不再深入讨论了。

现在讨论图8中元件的功能与运作。该逻辑图说明了内插式板卡上的微处理器怎样对PCI扩充式ROM基地址寄存器加以控制,使其既可以充当读/写寄存器,又可以充当各个比特位均置成“0”的只读式寄存器。扩充式ROM的内容很小(一般2K至16K),存储在PCI内插式板卡的永久存储设备中,它可以被PCI处理器直接访问。通过执行扩充式ROM中的代码,PCI系统处理器可以代表内插式板卡完成多种功能,诸如初始化系统配置或系统启动等。扩充式ROM在PCI系统处理器的存贮器中的位置可以由PCI系统配置程序进行配置,即将扩充式ROM的基地址写入PCI扩充式ROM基地址寄存器。

PCI ROM无效寄存器是PCI总线接口芯片上的一个寄存器。内插式板卡微处理器可以通过内部内插式板卡数据总线对其进行读/写操作。本发明可以有多种实施方法,其中之一就是:PCI ROM无效寄存器中只包含一个比特位----PCI ROM无效比特位。PCI ROM无效位在PCI系统加电时由PCI__RST#置“0”。PCI__RST#信号是所有PCI总线系统中均包含的一种固定信号。

PCI系统处理器可以对PCI扩充式ROM基地址寄存器进行读/写操作。同样,内插式板卡处理器也可以对PCI ROM无效位执行写操作。在读操作过程中,PCI ROM无效位负责控制PCI系统处理器从扩充式ROM基地址寄存器读出的数据。当该位处于“0”状态,PCI ROM无效位将通知MUX74,返回PCI扩充式ROM基地址寄存器的实际内容。在这种模式下,PCI扩充式ROM的功能被激活。PCI系统处理器可以回读它写入寄存器中的所有内容。另一方面,内插式板卡内部总线上的微处理器可以把PCI ROM无效位置成逻辑“1”,从而把PCI扩充式ROM的功能置于无效状态。在这种模式下,MUX74总是输出逻辑“0”,从扩充式ROM基地址寄存器中的读操作因而也只能返回“0”,不管该寄存器曾被写入什么值。

MUX74的数据输出端还连接到扩充式内存解码逻辑设备84。如果MUX74的输出值全部为“0”,解码逻辑被置成无效状态,不提供扩充式ROM的功能。如果MUX74的输出值为非“0”,扩充式ROM解码逻辑比较当前PCI总线地址和扩充式ROM基地址寄存器的内容,决定PCI系统处理器能否访问扩充式ROM。如果地址匹配,那么扩充式ROM读/写状态机被启动为扩充式ROM的读/写操作服务。

如果PCI系统处理器对扩充式ROM执行读操作,扩充式ROM读/写状态机将为内插式板卡内部总线上的永久性存贮设备初始化一个读周期。读/写状态机捕获读出的数据并将其临时存贮在数据锁存器设备90中,直到完成必要的信号交换后,才允许数据通过PCI数据总线向PCI系统处理器传输。如果PCI系统处理器向扩充式ROM执行写操作,读/写状态机从PCI数据总线上捕获到写入的数据,并为内插式板卡内部数据总线上的永久性存贮设备初始化一个写操作。当扩充式ROM读/写状态机与PCI从状态机和组合逻辑之间完成必需的信号交换后,才允许数据传输到内部总线上。

对于不包括内插式板卡微处理器的应用,我们可以可以用另外的方法,将强制PCI扩充式ROM基地址寄存器中读出的值为“0”。PCI总线接口芯片上的PCI ROM无效输入端72将被被置为在“非活动”低状态,以允许PCI ROM无效位控制从寄存器中读出的数值。如果有微处理器,PCI ROM无效输入可以置为“高”状态,保证从PCI扩充式ROM基地址寄存器中读出“零”值。PCI ROM无效输入端状态与PCI ROM无效比特位进行逻辑或操作产生了最终ROM非活动线71的信号,该信号控制多路复用逻辑74。

图8显示了PCI系统处理器,内插式板卡配置寄存器以及内插式板卡微处理器之间交互作用的流程图。为了能够将扩充式ROM的功能置为有效/无效状态,将PCI内插式板卡配置寄存器标记为92。PCI系统处理器所执行的动作位于图8左方。内插式板卡微处理器所执行的动作位于图8右方。处理器和寄存器的共同动作通过箭头表示。标记为“重试”的箭头说明PCI处理器被强制处于重试状态,不允许访问配置寄存器。这一进程在PCI系统(块94)加电时被启动,接着流程进入模块96,在此PCI系统处理器尝试访问PCI内插式板卡的配置寄存器。这种尝试被前面所述的PCI总线接口芯片的控制器所阻塞。该访问由“控制读/写”线表示,阻塞作用由重试箭头表示。流程进入模块98,PCI系统处理器获准访问PCI扩充式ROM基地址寄存器,并写入全1。接着流程进入模块100 PCI系统处理器从扩充式ROM基地址读取信息。如果PCI系统处理器从扩充式ROM基地址寄存器中读的值全为“零”,流程将进入分支102,系统处理器将认为板卡上没有扩充式ROM,因此不必要进行配置;反之,若读出的值为非“零”,则流程将进入分支104,PCI系统处理器将认为存在一个扩充式ROM,接着进行配置工作,并将内容传入自己的存贮器中。

仍然讨论图8。当PCI系统处理器被禁止访问配置寄存器时,PCI内插式板卡微处理器(块106)将配置PCI ROM无效位,以使PCI扩充式ROM的功能处于有效或无效状态。当内插式板卡微处理器配置PCI访问许可位,允许PCI系统处理器访问配置寄存器时,流程将进入分支108。

现在描述本发明的操作过程。本发明提供了用于PCI计算机系统内插式板卡的可编程配置寄存器。一般来讲,在PCI系统软件访问PCI只读配置寄存器之前,微处理器(12B)将向上述寄存器加载能够唯一标识的数值。因此一个通用的PCI总线接口芯片可用于不同厂商生产的多种内插式板卡,并且实现不同的功能。本发明还提供了一种将内插式板卡上的扩充式ROM置为有效或无效的机制。

需要特别指出的是,微处理器和永久性存贮设备通常是内插式板卡上所固有的元件。微处理器和永久性存贮设备位于内部内插式板卡总线12C上。该总线与PCI总线被PCI总线接口芯片分开。当PCI系统加电后,PCI--RST#线(见图4)上的信号将PCI访问许可位30置零,同时,PCI从状态机与组合逻辑31(它是PCI总线接口芯片上的控制器)启动已选定的PCI控制信号线,使PCI处理器进入前面所提到的“重试模式”,而不能访问PCI总线接口芯片上的寄存器。

在对PCI系统加电重置系统后,PCI处理器被禁止访问PCI接口芯片上的寄存器的同时,微处理器12B将执行相应的代码,从永久性存贮设备12D(见图1),其地址可通过程序设定,中读取为只读PCI配置寄存器预置的数值。永久必性存贮设备可以是闪存、RAM或ROM等。微处理器接着向PCI配置寄存器中写入唯一的数值。如果需要将扩充式ROM置为无效,此时还应将PCI扩充式ROM无效位置为“1”;反之保持为“0”。为了使PCI处理器能够访问配置寄存器,微处理器重写PCI访问许可位22(见图4)。写该位将在最终访问许可线32上生成最终访问信号,并且由PCI从状态机与组合逻辑设备31将以前活动的PCI控制信号线置于非活动状态。从而允许PCI处理器访问配置寄存器。所有对该寄存器的访问都由PCI系统处理器14(见图1)上运行的PCI系统配置软件14A所控制。

PCI总线接口芯片也适用于内插式板卡上没有微处理器或没有永久性存贮设备的应用环境。在只读配置寄存器中不包含重要数据的情况下,PCI总线接口芯片也同样适用。在以上两种条件下,PCI访问许可位可以被PCI总线接口芯片的输入管脚22(见图3)屏蔽。如果该管脚输入电位为非激活高位状态,PCI访问重载输入管脚将不影响PCI访问许可位的功能,意即PCI系统处理器仍将重试访问配置寄存器直至PCI访问许可位被置为有效为止。如果该管脚输入输入电位为活动低状态,PCI访问重载输入管脚将屏蔽PCI访问许可位的功能,允许PCI总线直接访问配置寄存器而无需重试。在这种情况下,只能使用PCI只读配置寄存器的加电缺省值,而不能在PCI配置寄存器中加载不同数值。

尽管本发明的最佳实施方式已公开并加以详述,任何具有普通技能的人都可能根据以下附加覆盖本发明的实质和范围的权利要求书进行其它修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号