CN1055556C - 系统总线软件驱动器 - Google Patents
系统总线软件驱动器 Download PDFInfo
- Publication number
- CN1055556C CN1055556C CN96106842A CN96106842A CN1055556C CN 1055556 C CN1055556 C CN 1055556C CN 96106842 A CN96106842 A CN 96106842A CN 96106842 A CN96106842 A CN 96106842A CN 1055556 C CN1055556 C CN 1055556C
- Authority
- CN
- China
- Prior art keywords
- shared storage
- register
- visit
- timer
- access
- 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
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
Abstract
在具有主-从体系结构、由多个寄存器控制的共用存储器、主-从中央处理单元、及主-从总线控制器的系统总线中,从共用存储器中读出或向其写入数据的方法,包括:由中央处理单元在第一寄存器上写入请求位来请求对存储器的访问;读出第二寄存器上一存取位以确定存取位是否得以设置且访问存储器是否获授权;由中央处理单元读出或写入数据;读取第二寄存器上的存取位,确定是否存取位已清零及访问已完成。存取位由主-从控制器设定。
Description
本发明一般涉及系统总线软件驱动器,更具体地,涉及为系统上所有部件提供对系统总线读写存取的方法。
系统总线通常能够按照字长量,实现各种计算机系统单元之间的数据交换。在实际应用中,大量的单元连接至同一条总线上,各单元都以有序的方式为各自的传输争用这条总线。
系统部件之间数据交换的定时和排序,是通过一个特定的网络总线体系结构来控制的。一个已知的这种体系结构为“以太”网(Ethernet)。在以太网中的所有站都通过一些网络接口卡或连接器与一条电缆相连接,后者可为每一用户设备而运行。以太网络采用一种叫做带有冲突检测的载波侦听多路存取(CSMA/CD)的通讯协议。在这种CSMA/CD协议中,每个站通过连续地监视电缆,检测其何时空闲(无用户传送)、何时有一个用户正在(成功地)进行传输、或者何时有多于一个以上的用户正在同时试图传输(冲突),来共享这条电缆。
电缆基本上起着一条广播总线的作用。如果任一个站检测到这条电缆是空闲的,它便可以在该电缆上传输。一旦一个站进行传输,其它一些站将不能够中断这一传输。如果两个站同时开始传输,它们则利用冲突检测来检测这一冲突,并停下来,在经过一个随机的选择时间间隔之后,进行重试。
以太网以及其它一些总线体系结构,都要求复杂的协议,以建立信息和管理数据传输,最终要求复杂的硬件设计来支持数据传输和错误检测功能。
鉴于以上诸原因,人们要求有一种简单而有效的系统总线软件驱动器,其能够减少执行任务所需的硬件及复杂软件的数量。
本发明的目的在于提供一种系统总线软件驱动器,它能够实质上消除一个或多个由于现有技术的局限及缺点所导致的问题。
通常,由一些上层软件处理来使用系统总线,以便在一网络体系结构内的任何两个模块之间进行通信。本发明的方法是设计用于一种带有主从式接口的总线控制器硬件设计的情况,该接口带有的主设备是现用系统处理部件(SPU),从属设备则是该网络中任何其它模块。
在这种结构中,一个备用的SPU也被看作为一个从属设备。这允许系统总线用于现用和备用SPU之间的通信。该总线控制器的设计不允许两个从属模块在没有主模块中央处理单元介入的情况下进行通信。
主、从CPU利用共用存储器(SRAM)和系统总线寄存器与它们各自的总线控制器相通。系统总线寄存器用于发出从总线控制器到系统总线共用存储器的访问请求。一旦得到访问授权,CPU就能够写入该共用存储器对应的消息发送(Tx)和接收(Px)区域或者从中读出它们。当该CPU已完成对共用存储器的存取时,系统总线寄存器被用来解除控制并对该总线控制器发出指令。
系统总线软件驱动器为系统中所有部件提供对系统总线的读和写存取。对系统总线的存取是由每一模块上的总线控制器硬件来控制的。系统总线软件驱动器提供了所需的与总线控制器的信号交换,以便与系统中的其它一些模块进行通信。
当需要写入系统总线时,该软件驱动器将对总线控制器发出请求,并等待对于写入的授权。当需要从系统总线上读出一些东西时,该软件驱动器将使总线控制器中断进入的信息。
系统总线驱动器将保持对系统总线块读取奇偶校验误差以及任何总线控制器存取超时的跟踪。保持这些情况下的统计量,并且对总线控制器进行重置,以试图从此情形下恢复过来。
上层软件协议必须检测任何失掉的信息并使其恢复。而且,不由软件驱动器对系统总线数据进行判读。
根据本发明的目的,为了获得上述及其它优点,作为一种实例性和宽范围的描述,本发明提供了一种在具有主-从体系结构、一主中央处理单元、和一主总线控制器的系统总线中向多个寄存器控制的共用存储器写入数据的方法。该方法包括的步骤有:通过在一个第一寄存器上写入一请求位,发出由主中央处理单元访问共用存储器的请求;在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置,并且对共用存储器的访问是否得到授权;通过主中央处理器向共用存储器写入数据;读取第二寄存器上的存取位,以确定该存取位是否已被清零以及访问共用存储器的过程是否完成。
另一方面,本发明提供了一种从共用存储器中读出数据的方法,该方法包括的步骤有:通过在一个第一寄存器上写入一请求位,发出由主中央处理单元访问共用存储器的请求;在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置并且对共用存储器的访问是否得到授权;识别是否存在奇偶校验误差;如果奇偶校验正确,通过主中央处理器从共用存储器中读出数据;读出第二寄存器上的存取位,以确定存取位是否已清零以及访问共用存储器的过程是否完成。
上述处理方法同样可用于对从属模块的读/写过程。
应当了解,以上的综述以及下面的详述,都是举例和解释性的,它们旨在对所附权利要求书所限定的本发明进行进一步的说明。
从结合附图对本发明较佳实施例的详细描述,可更好地了解本发明的上述及其它目的、特征及其优点、附图中:
图1是代表本发明系统总线结构的示意图;
图2是代表主、从模块的功能部件的示意图;
图3是SPU总线驱动器写入过程的流程图;
图4是SPU总线驱动器读出过程的流程图;
图5是从属总线驱动器写入过程的流程图;
图6是从属总线驱动器读出过程的流程图;
图7A-7D示出与主SPU相关的控制寄存器;
图8A-8D示出与从属模块相关的控制寄存器;
图9A示出主SPU的存储器映象;
图9B示出其它模块的存储器映象。
本发明的软件驱动器可与美国专利申请第08/482,396号(代理号为SNL-PAT95002)中披露的用于“采用系统总线控制器的模块间通信的设备和方法”相结合使用。此份美国专利申请文件由Young-Il Kim等人于1995年6月7日提交,其公开的全部内容,在此引作为本发明的参考文件。该份文件说明书中的某些部分,将在后文适当部分加以引用,以便于理解和说明本发明。
现在参见附图,特别是参见图1,其中示出了一个采用本发明设备和方法的系统总线体系结构10的总体图。如图所示,系统总线体系结构包括一底板总线12,其分别与多个系统处理器单元(SPU)14a和14b、系统接口单元(SIU)16、系统交换单元(SSU)18、以及系统时钟单元(SCU)20相通。虽然图1中示出多个SPU、SIU、SSU以及SCU,但是应能理解到,依据具体的系统结构,任何数目的相应单元,包括这些单元的单独装置,都可与底板12接口。
底板总线12是一条数据传输能力高达10兆字节/秒的16位宽带高速并行总线,因而比以太网传输快大约八倍。这条高速总线上传送的内部处理器通信信息量基本上是以成组的方式并且实际上是点对点的。有时点对点的传送可以成为数据流模式。尽管一般估计数据流式传送的频率可能非常低。数据流模式的数据传输的实例可能在初始卸载期间、计数数据传输期间、以及网络管理站间管理数据传输期间,出现于各模块之间。某些时候可能要求SPU进行广播,而广播数据将总是以成组的方式。在多数情况下,成组方式IPC的应用是传输一个单独的信息缓冲区。目前总线结构内的一个内部操作系统的信息缓冲区的最大尺度为1024字节。
在图1所示的实施例中,底板总线12支持主设备侧的一现用SPU14a和从属设备侧的各接口16、交换单元18及时钟单元20之间的通信。备用SPU 14b也以从属设备方式运行。任何一个(但仅能是一个)SPU都可被指定为主(现用)设备,而其余的则必须被指定为从属(备用)设备,因为只有一个主处理器用于该系统。如图1所示,通过底板的各通信信道是双向的。
每一模块的内部结构和操作在功能上是相同的。如图2所示,主模块(即现用SPU 14a)带有一相关的总线控制器22和中央处理单元24。类似地,从属模块16(如一个SIU)也带有一相关的总线控制器32和中央处理器单元(CPU)34。为简化起见,在图2中只示出一个从属模块。应理解到,每一接口16、交换单元18、时钟单元20、以及备用SPU 14b,都包括一总线控制器和中央处理单元(CPU)。
主、从模块的每一总线控制器都与一共用总线存储器、特别是一个静态随机存取存储器(SRAM)器件26相接口。SRAM 26分为两部分:接收部分(Rx)和发送部分(Tx),用于保存在微处理器的每一方向所产生的信息。Tx的Rx区域在任何时候都能分别保持高达4096字节的信息。如果需要的话,这一存储容量还可以提高。
底板上的通信协议由主总线控制器22控制,控制器22控制通过主、从CPU之间的底板的数据流的交易和方向,并产生在SPU和各SIU、SSU及SCU之间的存取定时序列,以提供对特定请求的微处理器的读写存取。
当没有信息通过时,所有从属总线控制器32(SCU、SIU、SSU、以及备用CPU)都通过底板显示一个READY信号。READY信号表示CPU已批准访问此特定的从属模块。相反,当READY信号撤销后,该CPU便不能够访问此模块。
主CPU24能够容易地对每一个从属SRAM的共用存储器进行访问。对SRAM26的存取是通过与总线控制器相通的一系列控制寄存器来执行的。在CPU完成对共用存储器的访问之后,这些控制寄存器用于解除控制并且相应地对总线控制器发出信号。
在SPU上的系统总线存储器的映象和寄存器的定义与其它所有模块是不同的。图7表示该寄存器,而图9A所示则是与SPU相连的存储器映象。图8表示寄存器,而图9B则表示与其它所有模块(从属设备)相连的存储器映象。
在SPU上的总线控制器访问过程与其它所有模块也是不同的。所以,将要设置两个不同的系统总线驱动器,一个用于现用的主SPU,而另一个用于各从属模块。
SPU总线驱动器将使SPU起一个主设备或一个从属设备的作用。在SPU上,这两个“角色”利用同样的读、写过程去访问总线控制器。
现在详细描述读、写的各个过程。虽然以下对这些过程的讨论涉及特定的位元和寄存器,但应理解,各种不同的位/寄存器的组合都可以在本发明的实际应用中加以采用。
SPU总线驱动器的写过程
对SPU总线驱动器的写过程将通过结合图2所示的主模块14a及其所连的CPU24和总线控制器22,并结合图3中所示的步骤加以讨论。
1.在起动了存储器存取计时器(步骤310)之后,CPU24通过在一个I/O Out_Ctrl寄存器72(图7A)上写入SRQ位,来请求对系统总线共用存储器26的访问(步骤320)。
2.CPU 24通过读取I/O In_Ctrl寄存器74(图7B)的SGT位,来等待对访问的授权,该寄存器由总线控制器22设置。最坏情况的等待状态可能为400微秒左右,此时总线控制器将全部4K个字节从一从属设备向系统总线Rx区域进行传输(以10M字节/秒的速率传输4K个字节)。
3.如果访问未获授权且超出重试计数(步骤330和335),则CPU将写入I/O复位寄存器76(图7C)上的SRT位,递增系统总线写误差统计,送出SNMP(简单网络管理协议)受阻信息,并将一误差信号送回到调用程序(步骤340)。
4.如果未超出重试计数(步骤335),则再次请求访问(步骤320)。如果访问得到授权,CPU将把特定数据长度和数据从本地缓冲区写入系统总线Tx区域(步骤350和360)。
5.通过设置I/O Out_Ctrl寄存器72的STX位(图7A)开始数据传输(步骤370)。GLO-GL4位通过目的槽标识符来设置。在广播模式中,全部“1”都将写入GLO-GL4中。
6.然后,CPU等待I/O In_Ctrl寄存器74(图7B)的SGT位清零。
7.如果超出重试计数,CPU将写入I/O复位寄存器76(图7C)上的SRT位,递增系统总线写误差统计,并将一误差信号返回给调用程序。
8.如果未超出重试计数,则CPU返回正常状态(OK)。
SPU总线驱动器的读过程(ISR)
以下结合图4所示步骤和图2所示主模块14a及其相关的CPU24和总线控制器22,说明SPU总线驱动器的读过程。
1.在一存储器存取计时器起动之后(步骤410),CPU24从系统总线提供一外部中断服务,并且输入一个总线驱动器中断服务请求(ISR)。
2.CPU24通过写入I/O_Ctrl寄存器72(图7A)上的SRQ位,请求对共用存储器26的访问(步骤420)。
3.CPU通过读取I/O In_Ctrl寄存器(图7B)上的SGT位,等待访问授权;读SGT位是由总线控制器22设定的。
4.如果未获得授权并且超出重试计数(步骤430和435),CPU将写入I/O复位寄存器76(图7C)上的SRT位,递增系统总线误差统计,送出SNMP受阻信息,并退出ISR(步骤440)。
5.如果未超出重试计数(步骤435),则再次请求访问(步骤420)。如果获得访问授权,CPU则读取总状态寄存器78(图7D),并且检查GSO位。如果已被设定,表示一个奇偶校验误差(步骤460),CPU写入I/O复位寄存器76(图7C)上的SRT位,递增系统总线块传输奇偶校验误差统计,送出SNMP受阻信息(步骤465),并退出ISR。
6.当GSO位来被设定时,表示无奇偶校验误差(步骤460),CPU将在系统总线Rx区域的特定数据长度和数据读入一本地缓冲区之中(步骤470)。
7.然后CPU写入I/O Out_Ctrl寄存器72(图7A)的CIR位,以清除中断,并解除对共用存储器的控制(步骤480)。
8.然后CPU等待I/O In_Ctrl寄存器74(图7B)上的SGT位清零。
9.如果超出重试计数,CPU写入I/O复位寄存器76C(图7C)上的SRT位,递增误差统计,送出SNMP受阻信息,并退出ISR。
10.如果未超出重试计数,CPU对I/O Out_Ctrl寄存器74(图7A)上的CIR位进行清零。
11.然后CPU将数据到达信号送给上层软件,并退出ISR。从属总线驱动器的写过程
以下结合图5所示步骤和图2所示从属模块及其相关的CPU34和总线控制器32,说明从属总线驱动器的写过程。
1.在起动一存储器存取计时器之后(步骤510),CPU34通过写入I/O RQST寄存器(图8A)上的SRQ位,请求对共用存储器26的访问(步骤520)。
2.CPU34通过读取I/O ACK寄存器84(图8B)的SGT位,等待对访问的授权;该SGT位是由总线控制器32设定的。最坏情况的等待状态为400微秒左右,这时总线控制器整个4K个字节数据(以10M字节/秒的速率传输4K个字节)从一主设备传输到系统总线Rx区域。
3.如果访问未获授权,并且重试计数已超出(步骤530和535),CPU34则将写入I/O复位寄存器88(图8D)上的SRT位,递增系统总线写误差统计,送出SNMP受阻信息,并将一误差信号返回给调用程序(步骤540)。
4.如果未超出重试计数(步骤535),则再次请求访问(步骤520)。如果获得访问授权,CPU将把特定数据长度和数据从一本地缓冲区写入系统总线Tx区域(步骤550和560)。
5.通过设定I/O DONE寄存器86(图8C)上的DON位,起动向主设备的数据传送(步骤570)。
6.返回到正常状态(OK)。
从属总线驱动器的读过程(ISR)
以下结合图6所示步骤和图2所示从属模块及其相关的CPU34和总线控制器32,说明从属总线驱动器的读过程。
1.在起动存储器存取计时器之后(步骤510),CPU34从系统总线提供一外部中断服务,并且进入总线驱动器ISR。
2.CPU34通过写入I/O RQST寄存器82(图8A)上的SRQ位,请求对共用存储器26的访问(步骤620)。
3.CPU通过读取I/O ACK寄存器84(图8B)上的SGT位,等待访问授权;该SGT位是由总线控制器32设定的。
4.如果未获得访问授权并且超出重试计数(步骤630和635),则CPU34写入I/O复位寄存器88(图8D)上的SRT位,递增系统总线读误差统计(送出SNMP受阻信息,并将一误差信息送回到调用程序(步骤640)。
5.如果未超出重试计数(步骤635),则再次请求访问。如果获得访问授权,CPU则读取I/O ACK寄存器84(图8B)的被设定的PEB位(步骤650),其表示一奇偶校验误差。如果PEB被设定(步骤660)。CPU写入I/O复位寄存器88(图8D)的SRT位,递增系统总线块传输奇偶校验误差统计,送出SNMP受阻信息(步骤665),并退出ISR。
6.当未设定PEB时(步骤660),表明无奇偶校验误差,CPU将系统总线Rx区域的特定数据长度和数据读入一本地缓冲区中(步骤670)。
7然后CPU设定I/O DONE寄存器86(图8C)上的DON位,并释放对共用存储器86的访问。
8.然后CPU将数据到达的信号发送给上层软件,并退出ISR。
总线中断
全部模块均使用一种通用的CPU模块,即i 960(由Intel公司制造),其构成采用混合型的八种外部中断。在这种混合型式下,中断脚0至4构成扩展模式,脚5-7则构成专用模式。
对扩展模式脚进行编码,用于扩展模式矢量数的五个最高有效位(msbs)。内部设定该矢量数的三个最低有效位(lsbs)为0102。这五个扩展模式下的脚可以向CPU提供高达32个附加中断源。系统总线“中断(Interrupt)”采用的扩展中断值是19,所以中断矢量数为100110102(19=100112=5msbs,而0102=31sbs)。中断优先权是该矢量数除以8(154/8),为19。
驱动器的实现
当存在一个准备传输给系统总线共用存储器的信息包时,系统总线驱动器只对总线控制器发出请求。一但传输结束,系统总线共用存储器将立即被释放。总线控制器中断将作为一个高优先权的中断而得到服务,并采用所有的方式来缩短中断等待时间。
系统总线驱动器仅起上层网络协议(网间协议(IP))与下层总线媒体之间的一个传送媒体的作用。总线驱动器将不执行任何链路级协议。如果存在任何传输误差,驱动器将丢失该信息包,并通知网络管理系统(NMS)。较高级别的IPC协议(传输控制协议-TCP)将检测丢失的信息包,并从这些误差中加以恢复。因此,所有利用IPC系统总线的应用都必须使用由系统IPC提供的服务,以确保可靠的传输。
至目的槽的路由,也是以上层协议(IP)来制定的。由上层路由所需的全部源信息和目的信息,被保持在发送至该上层的或从中接收的系统总线数据中。因此,系统总线无保留地将这一信息传送至上层。所有模块都带有通向网络中任何模块所需的路由信息,并且检测被指定给其它模块的信息包。这一路由信息是以上层协议(IP)构成的。当IPC信息包在两个从属模块之间传送时,主模块将无保留地将这一信息包传送至上层。上层协议(IP)利用适当的目的信息将该信息包送回给系统总线。
总线驱动器接口
总线驱动器与操作系统(pSOS+)提供的网络服务(pNA+)相耦合。下面描述由用于信息包传输和接收的pNA+所跟随的过程。
当pNA+要传输一信息包时,它从系统总线中请求一个缓冲区。这些缓冲区将由总线驱动器保持在DRAM中。一但pNA+准备好传输,它将调用以信息包缓冲区、长度以及目的槽为参数的总线驱动器函数(总线_发送(bus_Send)或总线_广播(bus_Broadcast)。bus_Send函数将向pNA+报告传送状态,并将该信息包缓冲区送回缓冲池(bufferpool)。
当信息包到达总线接口时,总线控制器硬件将中断该CPU。CPU执行系统总线ISR,以处理进入的信息包。在ISR中,信息包将被复制到一个本地缓冲区中,并且pNA+将获得该信息包到达到的通知。
简言之,本发明的软件总线驱动器提供了一种独特的简化接口,用于在一总线传输媒体上读出或写入信息。
从总线上读出数据是通过由总线硬件控制器提供的中断来实现的。一但接收到该中断,能够利用输入/输出控制寄存器从总线接收存储器中读出数据。利用这些同样的输入/输出控制寄存器,也能够实现对总线传输存储器写入数据。
尽管以上结合一些实施例对本发明进行了描述,但本领域的熟练技术人员应能理解到,在所附权利要求书的精神和范围内,实际应用中可对本发明进行修改。
Claims (12)
1.在系统总线中对共用存储器写入数据的一种方法,其中所述系统总线具有主-从体系结构、由多个寄存器控制的所述共用存储器、一个主中央处理单元、和一个主总线控制器,该方法包括以下步骤:
通过在一个第一寄存器上写入一请求位,发出由所述主中央控制单元访问所述共用存储器的请求;
在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置,并且对共用存储器的访问是否得到授权;
通过所述主中央处理器向所述共用存储器写入数据;以及
读取所述第二寄存器上的存取位,以确定该存取位是否已被清零,并且访向所述共用存储器的过程是否完成。
2.根据权利要求1的方法,其特征在于,所述存取位由所述主总线控制器设定。
3.根据权利要求1的方法,其特征在于进一步包括以下步骤:
起动一共用存储器存取计时器;
如果访问共用存储器未获授权,确定计时器是否已超时;
如果访问共用存储器未获授权但计时器未超时,则重复所述请求步骤;以及
如果访问共用存储器未获授权且计时器已超时,则更新写误差统计。
4.在系统总线中从共用存储器中读取数据的一种方法,其中所述系统总线具有主-从体系结构、由多个寄存器控制的所述共用存储器、一个主中央处理单元、和一个主总线控制器,该方法包括以下步骤:
通过在一个第一寄存器上写入一请求位,发出由所述主中央处理单元访问所述共用存储器的请求;
在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置,并且对共用存储器的访问是否得到授权;
识别是否存在奇偶校验误差;
如果奇偶校验正确,由所述主中央处理器从所述共用存储器中读出数据;和
读取所述第二寄存器上的存取位,以确定是否该存取位已被清零,以及是否对共用存储器的访问已经完成。
5.根据权利要求4的方法,其特征在于,所述存取位由所述主总线控制器设定。
6.根据权利要求5的方法,其特征在于进一步包括以下步骤:
起动一共用存储器存取计时器;
如果访问共用存储器未获授权,确定计时器是否已超时;
如果访问共用存储器未获授权但计时器未超时,则重复所述请求步骤;
如果访问共用存储器未获授权且计时器已超时,则更新读误差统计;和
如果识别出奇偶校验误差,则更新奇偶校验误差统计。
7.在系统总线中对共用存储器写入数据的一种方法,其中所述系统总线具有主-从体系结构、由多个寄存器控制的所述共用存储器、一个从属中央处理单元、和一个从属总线控制器,该方法包括以下步骤:
通过在一个第一寄存器上写入一请求位,发出由所述从属中央处理单元访问所述共用存储器的请求;
在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置,并且对共用存储器的访问是否得到授权;
通过所述从属中央处理器向所述共用存储器写入数据;
通过由所述从属中央处理器在一个第三寄存器上写入一完成位,向主设备送出数据。
8.根据权利要求7的方法,其特征在于,所述存取位是由所述从属总线控制器设定的。
9.根据权利要求8的方法,其特征在于进一步包括以下步骤:
起动一共用存储器存取计时器;
如果访问共用存储器未获授权,确定计时器是否已超时;
如果访问共用存储器未获授权但计时器未超时,则重复所述请求步骤;和
如果访问共用存储器未获取授权且计时器已超时,则更新写误差统计。
10.在系统总线中从共用存储器中读取数据的一种方法,其中所述系统总线具在主-从体系结构、由多个寄存器控制的所述共用存储器、一个从属中央处理单元、和一个从属总线控制器,该方法包括以下步骤:
通过在一个第一寄存器上写入一请求位,发出由所述从属中央处理单元访问所述共用存储器的请求;
在一个第二寄存器上读出一存取位,以确定该存取位是否得到设置,并且对共用存储器的访问是否得到授权;
识别是否存在奇偶校验误差;
如果奇偶校验正确,由所述从属中央处理器从所述共用存储器中读出数据;以及
通过由所述从属中央处理器向一个第三寄存器写入一完成位,解除对所述共用存储器的访问。
11.根据权利要求10的方法,其特征在于,所述存取位是由所述主总线控制器设定的。
12.根据权利要求11的方法,其特征在于进一步包括以下步骤:
起动一共用存储器存取计时器;
如果对共享存储器的访问未获授权,判定计时器是否已超时;
如果访问共用存储器未获授权但计时器未超时,则重复所述请求步骤;
如果访问共用存储器未获得授权且计时器已超时,则更新读误差统计;和
如果识别出奇偶校验吴差,则更新奇偶校验误差统计。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/474,174 US5666485A (en) | 1995-06-07 | 1995-06-07 | Software driver for a system bus |
US474,174 | 1995-06-07 | ||
US474174 | 1995-06-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1148210A CN1148210A (zh) | 1997-04-23 |
CN1055556C true CN1055556C (zh) | 2000-08-16 |
Family
ID=23882476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96106842A Expired - Fee Related CN1055556C (zh) | 1995-06-07 | 1996-06-04 | 系统总线软件驱动器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5666485A (zh) |
JP (1) | JPH09167139A (zh) |
KR (1) | KR0165215B1 (zh) |
CN (1) | CN1055556C (zh) |
GB (1) | GB2301995B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6834363B2 (en) * | 2001-03-22 | 2004-12-21 | International Business Machines Corporation | Method for prioritizing bus errors |
US6871300B1 (en) * | 2001-05-04 | 2005-03-22 | Rlx Technologies, Inc. | Embedded server chassis hardware master system and method |
US6934786B2 (en) * | 2001-05-04 | 2005-08-23 | Rlx Technologies, Inc. | Server chassis hardware master system and method |
US6826456B1 (en) | 2001-05-04 | 2004-11-30 | Rlx Technologies, Inc. | System and method for controlling server chassis cooling fans |
US7613699B2 (en) * | 2001-08-03 | 2009-11-03 | Itt Manufacturing Enterprises, Inc. | Apparatus and method for resolving security association database update coherency in high-speed systems having multiple security channels |
WO2004059505A1 (en) | 2002-12-17 | 2004-07-15 | Systemauto | System, method and computer program product for sharing information in a distributed framework |
FR3032814B1 (fr) * | 2015-02-18 | 2018-02-02 | Upmem | Circuit dram muni d'un processeur integre |
CN115599459B (zh) * | 2022-12-13 | 2023-04-07 | 成都启英泰伦科技有限公司 | 一种跨电源域多处理器运行装置及其通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87106651A (zh) * | 1986-09-24 | 1988-04-06 | 通用电气公众有限公司 | 计算机系统 |
EP0506278A2 (en) * | 1991-03-26 | 1992-09-30 | International Business Machines Corporation | Device driver system having generic operating system interface |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4368514A (en) * | 1980-04-25 | 1983-01-11 | Timeplex, Inc. | Multi-processor system |
IT1151351B (it) * | 1982-01-19 | 1986-12-17 | Italtel Spa | Disposizione circuitale atta a realizzare lo scambio di dati tra una coppia di elaboratori operanti secondo il principio master-slave |
JPS58217069A (ja) * | 1982-06-10 | 1983-12-16 | Fuji Xerox Co Ltd | マルチ・マイクロコンピユ−タの通信方式 |
JPH0731627B2 (ja) * | 1985-08-10 | 1995-04-10 | 株式会社リコー | メモリ−装置 |
FR2632139A1 (fr) * | 1988-05-24 | 1989-12-01 | April Sa | Reseau de transmission d'informations numeriques entre plusieurs stations |
DE3850881T2 (de) * | 1988-10-28 | 1995-03-09 | Ibm | Verfahren und Vorrichtung zur Nachrichtenübertragung zwischen Quellen- und Zielanwender durch einen anteilig genutzten Speicher. |
JPH0782475B2 (ja) * | 1988-11-02 | 1995-09-06 | 富士通株式会社 | メモリインタロック制御回路 |
WO1992006430A1 (en) * | 1990-09-28 | 1992-04-16 | Fujitsu Limited | Message control system in a data communication system |
DE69230462T2 (de) * | 1991-11-19 | 2000-08-03 | Sun Microsystems, Inc. | Arbitrierung des Multiprozessorzugriffs zu gemeinsamen Mitteln |
JPH05181813A (ja) * | 1991-12-26 | 1993-07-23 | Nec Corp | 排他制御ビット制御方式 |
-
1995
- 1995-06-07 US US08/474,174 patent/US5666485A/en not_active Expired - Lifetime
-
1996
- 1996-02-05 KR KR1019960002707A patent/KR0165215B1/ko not_active IP Right Cessation
- 1996-05-22 GB GB9610708A patent/GB2301995B/en not_active Expired - Fee Related
- 1996-06-04 CN CN96106842A patent/CN1055556C/zh not_active Expired - Fee Related
- 1996-06-07 JP JP8145762A patent/JPH09167139A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN87106651A (zh) * | 1986-09-24 | 1988-04-06 | 通用电气公众有限公司 | 计算机系统 |
EP0506278A2 (en) * | 1991-03-26 | 1992-09-30 | International Business Machines Corporation | Device driver system having generic operating system interface |
Also Published As
Publication number | Publication date |
---|---|
KR970002668A (ko) | 1997-01-28 |
KR0165215B1 (ko) | 1999-01-15 |
CN1148210A (zh) | 1997-04-23 |
US5666485A (en) | 1997-09-09 |
GB9610708D0 (en) | 1996-07-31 |
JPH09167139A (ja) | 1997-06-24 |
GB2301995A (en) | 1996-12-18 |
GB2301995B (en) | 1998-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1029168C (zh) | 具有双总线体系结构的计算机的总线控制逻辑 | |
CA2143951C (en) | A device with host indication combination | |
KR101077900B1 (ko) | 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치 | |
US7107382B2 (en) | Virtual peripheral component interconnect multiple-function device | |
US6549960B1 (en) | Architecture and apparatus for implementing 100 MBPS and GBPS ethernet address | |
CN1155894C (zh) | 使用可变优先级和合理性的增强总线仲裁器 | |
CN1107913C (zh) | 高速分组总线结构和数据处理模块间传送数字数据的方法 | |
US5721955A (en) | System for transferring portion of data to host from buffer if size of packet is greater than first threshold value but less than second threshold value | |
CN100353349C (zh) | 通讯处理器的总线结构和共享总线判优方法 | |
KR930009063B1 (ko) | 가상메모리 데이타 전송능력을 가진 고속도 버스 및 데이타 전송방법 | |
CN1617526A (zh) | 在物理端口上模拟多个逻辑端口的方法和装置 | |
NO302729B1 (no) | Kommunikasjonsprosessor for et pakke-svitsjet nettverk | |
WO1994002900A1 (en) | Network adapter with host indication optimization | |
EP0535793B1 (en) | Method for managing data transfers in a computing system having a dual bus structure | |
CN1159657C (zh) | 总线系统和其数据传输方法 | |
CN1055556C (zh) | 系统总线软件驱动器 | |
KR100630071B1 (ko) | 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치 | |
CN1095134C (zh) | 使用系统总线控制器的模块间通信的设备和方法 | |
KR19990060566A (ko) | 인터넷을 이용한 프로세스 간의 정보교환 장치 | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
JPH0683234B2 (ja) | コンピュータのバスを環状光ファイバネットワークに接続するブリッジ装置及び該装置の使用方法 | |
KR100475438B1 (ko) | 데이터 버스 시스템 및 버스간 크로스 액세스 방법 | |
CN102103560A (zh) | 用于系统总线的防死锁方法及装置 | |
CN1415094A (zh) | 在计算机部件之间设置改进接口的方法与装置 | |
CA2527426A1 (en) | Allocating bandwidths in system with redundant circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |