CN1185255A - 用于处理器间传输数据的链路协议 - Google Patents
用于处理器间传输数据的链路协议 Download PDFInfo
- Publication number
- CN1185255A CN1185255A CN96194088.3A CN96194088A CN1185255A CN 1185255 A CN1185255 A CN 1185255A CN 96194088 A CN96194088 A CN 96194088A CN 1185255 A CN1185255 A CN 1185255A
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- register
- buffer
- read
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
描述了提供便于处理器间数据传输的链路协议的方法和系统。通过提供命令和中断源寄存器,可支持流控制、数据的段分割、和其他数据的功能性控制。一个示范性实施方案描述了用于在一个主处理器和一个无线电调制解调器间使用PCMCIA接口进行数据传输的链路协议。
Description
背景技术
本发明涉及处理器间传输数据的方法和系统,尤其涉及使该数据传输简便易行并用于向该数据传输提供所需功能的协议。
数据处理设备间的通信通常在串口之上进行。串口一般处理在原始比特流中顺序传送的各比特。如典型的串口UART(通用异步接收器/发送器)将串行比特组成大量的八位“字节”。所传送的每一字节导致中断信号被发往中央处理单元(CPU)。
对于通过总线结构连接的设备,有可能以更有效的方式通信。比如对于可用数据块通信的CPU,原始比特流不是有效的通信方式。考虑一个512字节的数据块。如果每一个到达的字节都由一个如UART那样的串口处理,则CPU为该数据块接到512次中断。如果代之以面向块的方式传输数据,则CPU仅接收到一次中断。
除串口之外,下列其他传统机制也通常用于在处理器间的数据传输。双端口存储器
双端口存储器设备提供对多处理器访问的存储和检索。例如,第一个处理器可以将数据存放于一个专用的存储器内并通知接收处理器该数据已被传输。接收处理器随后可以在双端口存储器中访问该数据。直接存储器存取(DMA)
发送处理器建立一个DMA通道,并将数据直接传送到接收处理器的存储器。发送处理器随后通知接收处理器新数据是可用的。DMA-串口
在DMA与串行传输的组合中,使接收处理器得知在预定数目字节传输后或预定事件发生后有一次传输。缓冲串口
取代为每一个传输字节向接收处理器提供一个中断信号的方式,当缓冲器中的数据到达一上门限或下门限时、或当一预定时间段结束后产生一次中断。该技术方法需要接收和发送处理器每次中断可以处理多个和可变数量的字节。除了它们固有的低效率之外,串口和其他传统数据传输技术缺少诸如差错处理、流量控制等一类的控制功能。然而,这样的控制功能在分组交换通信网中具有更大用途。分组交换网络
节省数据通信资源的需求产生了分组交换通信网络。不像连续传输,因为数据在离散的分组中发送,通信中的一次连接上的各间隙可以通过提供来自其他连接的分组来填充这些间隙而得到有效利用。因为在分组交换环境下各终端间无直接连接,链路被称为虚连接。不像由其相关的直接物理通路那样容易地进行标识,使用虚通路的分组交换网络上的连接代之为由多个标识符来进行确定。这些标识符和在分组交换网络中提供平稳通信流量所需的其它信息由定义分组交换网络通信规则的协议来提供。这些规则也是系统程序员和开发者设计兼容系统根据的共同基准所需要的。
总之,现有技术仅提供了处理器间数据的移动,没有包括用于处理器间面向块的数据传输的链路协议。因此这些传统产品无法提供诸如数据安全传输、支持块分割和流量控制等链路功能。
发明概要
上述及其它传统通信方法和系统的缺点和低效可以按照本发明得以克服,本发明提供的一个新颖的链路协议,而该协议可以用于例如给传统通信机制提供链路功能。无论使用何种基础数据传输机制,命令寄存器都被用于控制数据链路功能。每一数据链路功能与命令寄存器中的某一位相关。
附图概述
通过结合附图阅读以下详细描述可以很容易理解本发明的前景,目的,特征和优点;附图有:
图1描述一个根据本发明进行处理器间数据传输的示范系统;
图2是在位级上描述图1中示范的CREG和IREG寄存器;
图3描述一个使用根据本发明示范性实施方案的链路协议的典型数据流;以及
图4描述本发明的另外一个实施方案,用于在一个主处理器和一个无线电调制解调器间传输数据。
详细描述
为了提供一个相对于传统数据传输技术具有附带优点与益处的本发明的完整描述,将描述一个相对高度抽象的示范性实施方案。随后将通过示范性PCMCIA(个人计算机内存卡国际协会)实施方案讨论一个更加详细的例子。
图1描述了用于实施本发明的示范性实施方案的链路寄存器10-20,具体是,CREGs(命令寄存器)10和12,IREGs(中断源寄存器)14和16及数据寄存器18和20。图1的各寄存器可以是逻辑寄存器,这意味着它们作为暂时的、驻留内存的寄存器而不是物理的、硬连线的电路。因此这些寄存器可被配置为内存设备中可被多个处理器访问的、带有预定I/O地址的内存空间。这些处理器在图1中被标注为“处理器A”和“处理器B”。为使用更少的内存空间,CREG12和IRE14(和/或CREG10和IREG16)在内存中可有相同地址。这种情况下CREG只写,IREG只读。这些寄存器可以被中断驱动或使用一种轮询技术进行更新。
在操作中,处理器A将传送数据传输命令至CREG10并从IREG14接收数据传输标识。根据这个本发明的示范性实施方案,每一个CREG和IREG寄存器由多位构成,例如8位,每一位与下述预定的功能之一相关。当置位时例如该位域值为1时,这些功能有效。这意味着为了从处理器发送命令至相关的CREG,处理器不需要经过读寄存器、屏蔽寄存器中的位、再写寄存器。取而代之的是,一个布尔函数(例如OR函数)被嵌入CREG以使发往CREG的写命令仅将命令中值为1的那些位置位。本领域技术人员将很容易看到可以将其它布尔函数嵌入CREG以提供任何想要的命令改变功能。发往CREG的命令可以导致IREG中与其相关部分的相应改变。例如,处理器A发送命令至CREG10指明数据已被写入数据寄存器20,随后IREG16会指示处理器B该数据对检索是可用的。
数据寄存器18和20可以被看作内存地址。用以将数据实际传输到数据寄存器18和20和自数据寄存器18和20传输回来的技术将依赖于系统中可用的技术。示范性实施方案包括:
●读自/写至双端口存储器使用一个内部计数器,其中各缓冲器由CREG/IREG控制。
●DMA通道,由IREG/CREG控制,当移动数据至接收处理器时被写入。
●PCMCIA,其中的处理器有主从关系。数据由CREG/IREG控制,主处理器或者写或者读数据。从处理器提供数据给主处理器读出。
在提供了本发明所使用的用于传输数据的示范性寄存器的简要描述后,下面描述了一个更加详细的CREG和IREG的例子。如前述,寄存器中的每一个位对应于一个数据控制功能。每一位级的描述之后是该位域的功能描述。
命令寄存器,CREG
7 6 5 4 3 2 1 0
中断源寄存器,IREG
ECR | PutD | GetD | Err | More |
ECR | Extended CREG。这一位域为命令寄存器的一个或多个扩展提供了一个指示器。例如,如果在本发明的一个8位实现中希望有多于7个的数据控制功能,则可以提供一个或多个扩展寄存器。当一个扩展CREG中的一个域改变后,这一位将被置为1。 |
PutD | Put Done当所有的数据被写入它的数据寄存器后,发送数据的处理器会将PutD位置位。设置此位的同时,接收处理器的IREG中的Dtg位(在下面描述)将被置位。 |
GetD | Get Done当接收处理器读入并检查完数据时,接收处理器将DetD位置位,如果接收到一个差错分组,那么同时将Err位置位。置位GetD位时将会影响到传输处理器的IREG中的BufR位。 |
Err | ErrorError位是向发送处理器指出,前一个分组有出错的链路参数。响应于该位的置位,各种校正的动作将被执行,例如,重新传输。 |
More | MoreMore位用于支持分割过的数据。一个置位的(例如,1)More位,表示下一个数据分组将与当前的数据分组连接。 |
一个复位的(例如,0)More位,表示这是最后一个应被连接的数据分组。如果不需要分割,可将More位置为0。 |
7 6 5 4 3 2 1 0
EIR | DtG | BufR | Err | More |
EIR | Extended IREG。像ECR一样,EIR提供给一连串中断源寄存器使用。当扩展寄存器IREG中的一位改变时,便置为1。 |
DtG | Data to Get接收数据的CPU将被通知该数据是可用的。 |
BufR | Buffer Ready当发送CPU检测到一个置位的BufR后,它便识别到接收CPU为一个新的数据分组准备就绪。当BufR被置位用来确定是否期望重新传输前一个数据分组时,发送CPU需要检查Err位。 |
Err | ErrorError位用来向发送CPU表明,前一个分组有错误的链路参数。例如,一个不正确的检查和或错误的分组长度。不同的补救动作,例如重新传输,会被采用。 |
More | MoreMore位用于支持分割的数据。一个置位的More位表示下一个数据分组应与当前的数据分组连接。一个复位的More位,表示这是最后一个应被连接的数据分组。如果不需要分割,可将More位置为0。 |
图2表示在位级上CREG和IREG的互连接。指向CREGs10和12的水平向箭头表示这些寄存器基本上被写入,从IREG14和16指出的箭头表示它们基本上是读出。然而,本领域技术人员会理解,这些并不必需分别为只读和只写寄存器。
注意对于CREGs10和12的每一已置位的位域,在各自的IREG16和14的相应域也被置位。这一特性由图2中这些寄存器间的箭头旁的“1”来表示。例如,如果实现一个扩展的寄存器集,处理器A已通过置位其中的位域调用一个由扩充寄存器管理的功能,则CREG10的ECR位将被置位。这将导致IREG16的相应ERI位置位,从而处理器B就得知它必须读取图2中的扩充中断寄存器和基本中断寄存器16。
CREG和IREG的ECR和EIR位域后各自跟随几个空域。然而,本领域技术人员可以看出,这些空域上会增加附加的、与图2所示的示范性实施方案中所使用的被置位的位域具有相同处理方式的数据控制功能。例如,当CREG12的PutD域被置位,CREG14的相应DtG域也被置位,这表明数据已被传送到供处理器A接收的一个数据位置。同时,IREG16的BufR域被置成0,表明发送处理器(这里是处理器B)这时不控制缓冲器。当处理器A已读取和检验该数据后,CREG10的GetD位随后将置位,它又依次导致IREG16的缓冲器的就绪位被置位。即处理器A已完成读取并将缓冲器返还给处理器B。同时,IREG14的DtG域被复位为0。
如果接收处理器要暂时停止来向数据流,这只要通过不返还缓冲器给发送处理器,即通过等待执行GetD命令便可以实现。如果处理器接收一个非法分组,它可以在返还缓冲器给发送处理器时将其CREG中的差错位置位。差错可包括,例如,非法检查和值,不正确的分组长度等。如果使用段分割,则More标志可对该特性提供支持。例如,如果一个分组包括500字节而缓冲器仅有50字节的空间,则发送处理器要发送10个每个为50字节的小分组。这种情况下,头9个分组要在More位置位(例如1)情况下发送,第10个分组使More位置0以表明整个分组的结束。
因此,一个典型的数据流可被表示为图3。其中,指向右侧的箭头表明本图中发送处理器的活动,而指向左侧的箭头表明接收处理器所进行的活动。开始,数据由发送处理器发送至缓冲器。因为缓冲器在某一时刻仅对一个处理器是可用的,黑色矩形表示哪一个处理器控制了缓冲器。起初发送处理器控制缓冲器,以移入数据。在一定数量的数据传输周期后,分组结束,发送处理器的CREG中的PutD位被置位。可选地,如果支持段分割,则More位可以被置位。这导致与接收处理器相关的IREG的DtG位被置位,并且IREG的More位可能同时被置位。这时,接收处理器控制缓冲器,并检验缓冲器内的信息是否为合法分组。该活动完成后,接收处理器将它的CREG的GetD位置位,如果接收到错误分组,则也将Err位置位。结果发送处理器的IREG的BufR位被置位,可能Err位也被置位。
大体介绍了按照本发明的链路协议后,将提供一个具体的实施例,其中使用按照本发明的一个链路协议处理PCMCIA环境下的数据传输。例如,下例将在一个具有与无线网链接的无线电卡的计算机内加以实施。其中主处理器为计算机的处理器,无线电卡中包括一个从处理器。该示范性实施方案描述了主从处理器之间通过PCMClA接口的通信。
图4是按照本发明示范性实施方案中的一个调制解调器硬件接口的示意图。
其中,实施该示范性方案所使用的寄存器根据它们对主处理器和从处理器的访问方式来描述。注意,图4中描绘的CREG42和IREG44各自代表图1所描述的CREG和IREG组合中的一个。换言之,本发明的这一实施方案是其中CREG和IREG共享同一I/O地址以节省内存空间的一个方案。SREG46是一个状态寄存器,MCR18是一个调制解调器控制寄存器。图4的每一个寄存器详述如下,包括它们的功能域的位级描述。
命令寄存器,CREG7 6 5 4 3 2 1 0
… | Txop | … | … | PutD | GetD | Err | … |
Txop | Transmitter Operate主处理器将Txop位置位以改变发送器的操作方式。发送器方式包括,例如,允许/禁止。发送器方式可从SREG的TxB位读出。Txop位的值为:0=无改变,1=改变方式 |
PutD | Put Done当数据的最后一个字节被写入无线电卡后,主处理器将PutD位置位。此动作将使IREG中的BufRdy位复位。PutD位的值为:0=非现用,1=所有数据已写入。 |
GetD | Get Done当数据的最后一个字节从无线电卡读出后,主处理器将GetD位置位。此动作将使IREG中的DtGet位复位。GetD位的值为:0=非现用,1=所有数据已读出。 |
Err | Error in Transfer在数据块从无线电卡中读出时,如果主处理器检查出一个差错,该位将被置位。Err位的值为:0=无差错,1=差错。 |
… | 保留,设置为0,应被忽略。 |
中断源寄存器,IREG
7 6 5 4 3 2 1 0
SRegEv | … | … | … | BufRdy | DtGet | Err | … |
SRegEv | Event in Radio Status Register这个SRegEv位向主处理器表明在SREG中有一个改变发生。当主处理器读IREG时,该位复位。SRegEv位的值为:0=在SREG中没有事件改变,1=SREG中有事件改变 |
BufRdy | Ready for New Buffer当输入缓冲器对来向数据准备就绪后,无线电卡将置位BufRdy位。当这个标志没有设置时,写入无线电卡的数据将被忽略。当主处理器置位CREG中的PutD位时,BufRdy被复位。BufRdy位的值为:0=新缓冲器未就绪,1=新缓冲区就绪。 |
DtGet | Data to Get当无线电卡有主处理器要读取的数据时,无线电卡置位DtGet。当该标志未设置时,如果主处理器从数据缓冲器读取数据,则无效的数据将被读取。当主处理器置位CREG中的GetD位时,DtGet被复位。DtGet位的值为:0=无数据可取,1=有数据可取。 |
Err | Error in Transfer |
在数据块写入无线电卡时,如果主处理器检查出一个差错,该位将被置位。Err位的值为:0=无差错,1=有差错。 | |
… | 保留,应被忽略。 |
状态寄存器,SREG
7 6 5 4 3 2 1 0
调制解调器控制寄存器,MCR
VccErr | EiC | TxErr | … | … | Net | TxB | TxI |
VccErr | 如果无线电卡检查出一个Vcc(电源)差错,则无线电卡在复位之后置位VccErr。该位表明无线电卡功能不正确。如果该位被置位,主处理器会向该卡发出复位命令。VccErr位的值为:0=无Vcc差错,1=内部Vcc差错 |
Eic | Error in card在音频卡内部检查出有错误时,它可能不能正常工作。如果该位被置位,主处理器会向该卡发出复位命令。该位的值为:0=无差错,1=卡内有差错。 |
TxErr | 当无线电卡检测到无线电发送比允许的时间长时,它将置位TxErr。如果该位被置位,主处理器会向该卡发出复位命令。TxErr位的值为:0=无差错,1=发送比允许的时间长。 |
Net | Net statusNet位表示无线电网络状态。值为:0=无网络连接,1=网络连接 |
TxB | Transmit Block indicatorTxB位表明无线电数据传输是允许还是被禁止。该位的值为:0=传输允许,1=传输禁止 |
TxI | Transmit IndicatorTxI位表明调制解调器发送器的状态。TxI位的值为:0=无传输,1=发送 |
… | 保留,应被忽略。 |
7 6 5 4 3 2 1 0
… | … | … | … | IntEn | Reset | … | … |
IntEn | Interrupt enable主处理器使用该位使能或禁止来自无线电卡的中断。缺省为,中断被使能。值为:0=中断被禁止,1=中断被使能。 |
Reset | Soft reset该位置位,将无线电卡复位,但PCMCIA接口除外,例如,无需重新初始化逻辑处理PCMCIA的状态,逻辑处理链路协议和通信便能被重初始化。软复位被用于启动目的。值为:0=不复位,1=复位。 |
… | 保留,必须为0。 |
根据本示范性实施方案描述了寄存器和它们的功能,现在讨论本链路协议中寄存器间的相互作用。计算机中命令寄存器(CREG)由主处理器写入,并向无线电卡提交中断申请。当主处理器将CREG的某一位置位时,对无线电卡产生一个中断。如果主处理器随后将CREG中的更多的位置位,这些新的置位将不会引起任何新的中断,因为已经产生了一个中断。相反,初始中断请求将待决直至无线电卡读取该寄存器,此时CREG中所有位复位。各位可在不丢失任何数据的情况下同时由主处理器写入CREG和由无线电卡从CREG读出。链路协议逻辑确保在寄存器被无线电卡读取之后不立即由主处理器写入一位,并且在该寄存器通过保持成暂时的从而被复位之前,CREG写入一个虚拟或阴影寄存器直至CREG复位。这些新的被写入位将随后触发一个新的中断。
中断源寄存器(IREG)由无线电卡写入并提供对主处理器的中断请求。与CREG一样,当无线电卡将该寄存器的第一位置位时,为主处理器产生一个中断。如果无线电卡在主处理器读该寄存器之前将IREG中更多的位置位,则这些附加位的置位不会产生任何新的中断,而只是将寄存器的各位置位。该中断请求将待决直至该寄存器被主处理器所读取,此时寄存器中除BufRdy(新缓冲器就绪)和DtGet(数据待取)位外的所有位。当主处理器将PutD(放置结束)和GetD(取结束)位分别写入CREG后,IREG中的这些位复位。这些复位都不产生中断。
因此可以看出IREG提供根据无线电卡发生的事件所设置的标志。当这些事件发生后,无线电卡更新标志,并写入到IREG,IREG依次又产生一个中断至主处理器。例如,无线电卡可以在IREG中设置一个标志,以便将无线电卡中的处理器产生的信息通知给主处理器或将网络连接通知给主处理器。尽管两个处理器存在主从关系,但该过程独立于主处理器向无线电卡产生的中断。
状态寄存器(SREG)由无线电卡写入或读取,但只能被主处理器读取。每次无线电卡写至SREG时,IREG中的SREG的SRegEv位置位。这样,向随后读SREG的主处理器提供一个中断请求。主处理器读SREG,从而将EiC、TxErr和VccErr位复位。该寄存器向与调制解调器有关的主处理器提供状态信息。主处理器利用调制解调器控制寄存器来设置它对于无线电卡的操作方式。例如,在某些类型的处理中,主处理器可能希望禁止来自无线电卡及其它外部设备的中断,以使它的处理不被中断。而且,调制解调器控制寄存器提供软复位功能,从而在卡上电源不中断的情况下使该卡复位。
现在描述本发明的上述示范性实施方案中主处理器与无线电卡间的典型信号流。典型地,一个初始化过程将先于主处理器与无线电卡间的信号传送。例如,无线电卡可以本身进行初始化并将其IREG的BufRdy位置位,从而通知主处理器它已准备好接收数据。假设主处理器正等待该信号,以便发送数据至无线电卡。这时主处理器将向缓冲器发送与其想要发送的一样多的数据,然后设置CREG中的PutD标志。这将产生一个中断至无线电卡以指示其检查所接收数据是否正确。在接收数据并执行差错检测之后,无线电卡的处理器将随后写入IREG的BufRdy位,由此产生一个中断至主处理器。如果传输中有差错,则无线电卡处理器将忽略该数据块,并在IREG中设置差错标志。主处理器随后选择该块重新传输。
为从无线电卡至主处理器发送数据,无线电卡的处理器将首先写IREG的DtGet位。主处理器接到该中断后,无线电卡将数据全部移到缓冲器。主处理器可以例如使用一个长度域以得知应该读多少个数据字节。长度域可以被生成,为此例如通过对写入缓冲器的字节数进行计数,并在一个寄存器中提供计数值。另外,该信息可以作为帧的开销信息的一部分提供。主处理器读指定数目的数据,并且例如使用循环冗余校验(CRC)检查是否有任何差错。随后主处理器使用CREG的GetD位可能还有Err位来通知无线电卡收到数据。
可以对主处理器和无线电卡间传输的块数据的流控制如下实施,如果主处理器想向无线电卡移入一个数据块,但无线电卡没有任何可用的缓冲器,则主处理器将会发现IREG的BufRdy标志未置位,这表明无线电卡当前不能接收任何数据;如果主处理器在BufRdy标志置0时写任何数据,则该数据将被忽略。一当无线电卡有了可用缓冲器就将BufRdy标志置位,从而提供一个中断至主处理器,允许其发送数据。
本发明已经通过示范性实施方案进行了描述,但是对于本领域的技术人员很明显,以不同于如上的示范性实施方案的各种具体的方式实施本发明是可能的。这不会与本发明的实质背离。无论怎样,示范性实施方案仅仅是描述性的,不应认为是受限制的。因此,本发明的范围由所附的权利要求书而不是前述内容给出,所有权利要求书范围内的变体和等价体都包括在本发明之内。
Claims (22)
1.一个系统包括:
一个第一处理器;
一个缓冲器,该缓冲器每一时刻只能由所述第一处理器和第二处理器中的一个进行控制,并且该缓冲器从所述第一主处理器接收第一数据块;
一个第一寄存器,该寄存器包括多个位,接收来自所述第一处理器表示所述数据块已移入所述寄存器的命令,并置位所述多个位的第一位,由于所述第一位被置位,所述第一处理器产生一个中断;和
一个第二处理器,用于接收所述中断,响应于所述中断和读所述第一寄存器,并随后读所述缓冲器的所述第一数据块。
2.按照权利要求1的系统,该系统还包括:
一个第二寄存器,用于从所述第二处理器接收命令并可被所述第一处理器读出,其中所述第二处理器可以将第二数据块移入缓冲器,随后将所述第二处理器的一位置位,由此产生一中断送至所述第一处理器。
3.按照权利要求1的系统,其中所述第一寄存器包括一个可被所述第一处理器写入而被所述第二处理器只读的存储器地址。
4.按照权利要求2的系统,其中所述第二寄存器包括一个可被所述第二处理器写入而被所述第一处理器只读的存储器地址。
5.按照权利要求2的系统,其中所述第一寄存器有一个第二位,当所述第一处理器从所述缓冲器读出所述第二数据块后它被所述第一处理器置位。
6.按照权利要求1的系统,其中所述第一寄存器有一个第二位,当所述第一处理器经所述缓冲器从所述第二处理器接收错误数据块时该第二位被所述第一处理器置位。
7.按照权利要求2的系统,其中所述第二寄存器有一个第二位,当所述第二处理器经所述缓冲器从所述第一处理器接收错误数据块时该第二位被所述第二处理器置位。
8.按照权利要求1的系统,其中所述第一寄存器有一个第二位,当所述第二处理器连接所述第一数据块和随后的数据块时该第二位被所述第一处理器置位。
9.按照权利要求2的系统,其中所述第二寄存器有一个第二位,当所述第一处理器连接所述第二数据块和随后的数据块时所述第二位被该第二处理器置位。
10.按照权利要求1的系统,其中所述第一寄存器有一个第二位,当与所述第一寄存器相关的扩展寄存器中的一位被置位时该第二位被所述第一处理器置位。
11.按照权利要求1的系统,其中所述第二寄存器有一个第二位,当与所述第二寄存器相关的扩充寄存器中的一位被置位时该第二位被所述第二处理器置位。
12.按照权利要求5的系统,其中在所述第二位被置位后,所述缓冲器的控制被交还给所述第二处理器。
13.一种利用多个寄存器在主处理器和从处理器间进行数据传输的链路协议实施,所述的寄存器包括:
一个命令寄存器,包括多个各自与一个功能相关的位,所述多个位可由所述主处理器置位,并由所述从处理器读取;
一个中断寄存器,包括多个各自与一个功能相关的位,所述多个位可由所述从处理器置位,并由所述主处理器读取;
一个状态寄存器,包括多个各自与由所述从处理器控制的设备的状态有关的位,所述多个位可由所述主或从处理器读取,并由所述从处理器置位;及
用于暂时保持数据的至少一个数据缓冲器,数据流通过所述至少一个数据缓冲器由所述命令寄存器和中断寄存器所控制。
14.按照权利要求13的链路协议实施,其中所述主处理器是计算机中的处理器,所述从处理器是无线电调制解调器的一部分。
15.按照权利要求14的链路协议实施,还包括:
一个用于在所述主处理器和所述从处理器间传输数据的PCMCIA接口。
16.按照权利要求13的链路协议实施,还包括:
一个设备控制寄存器,包括多个各自与控制所述设备的功能相关的位,所述设备控制寄存器仅能由主处理器访问。
17.一种在第一和第二处理器间传输数据的方法,包括如下步骤:
从第一处理器将数据移至缓冲器;
在预定数量的数据移入所述缓冲器后,在第一寄存器内设置一个put done标志;
由所述第二处理器读所述第一寄存器;及
所述第二处理器从所述缓冲器取回所述预定数量的数据。
18.按照权利要求17的方法,还包括如下步骤:
在所述第一寄存器中设置一个more标志,指明随后的数据应与移入所述缓冲器的数据相连接;及
连接所述随后的数据直至所述more标志复位。
19.按照权利要求17的方法,还包括如下步骤:
确定所述取回的预定数量的数据是否为有效数据;及
如果所述预定数量的数据是无效数据,则在所述第一寄存器中设置一个error标志。
20.按照权利要求17的方法,还包括如下步骤:
从所述第二处理器将数据移至所述缓冲器;
在预定数量的数据移入所述缓冲器后,在第二寄存器内设置一个data-to-get标志;
由所述第一处理器读所述第二寄存器;及
所述第一处理器从所述缓冲器取回所述预定数量的数据。
21.按照权利要求17的方法,其中所述预定数量的数据是可变的,所述预定数量数据的长度由长度寄存器提供。
22.一种控制第一处理器和第二处理器间数据流的方法,包括如下步骤:
从所述第一处理器传输数据至缓冲器;
在所述数据传输完成后,保持所述第一处理器中的所述缓冲器的控制,以暂时中止数据流;及
放弃所述缓冲器的控制,并由所述第二处理器从所述缓冲器取回所述数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/408,353 US5761422A (en) | 1995-03-22 | 1995-03-22 | Transferring address of data in buffer memory between processors using read-only register with respect to second processor |
US08/408,353 | 1995-03-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1185255A true CN1185255A (zh) | 1998-06-17 |
Family
ID=23615933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN96194088.3A Pending CN1185255A (zh) | 1995-03-22 | 1996-03-20 | 用于处理器间传输数据的链路协议 |
Country Status (9)
Country | Link |
---|---|
US (1) | US5761422A (zh) |
EP (1) | EP0815678A2 (zh) |
JP (1) | JPH11502341A (zh) |
CN (1) | CN1185255A (zh) |
AU (1) | AU710241B2 (zh) |
BR (1) | BR9607915A (zh) |
CA (1) | CA2215320A1 (zh) |
NO (1) | NO974268L (zh) |
WO (1) | WO1996029792A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100369028C (zh) * | 2005-06-15 | 2008-02-13 | 威盛电子股份有限公司 | 读取数据的装置及方法 |
CN102866971A (zh) * | 2012-08-28 | 2013-01-09 | 华为技术有限公司 | 传输数据的装置、系统及方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997004385A1 (de) * | 1995-07-21 | 1997-02-06 | Siemens Aktiengesellschaft | Rechnersystem |
FR2739510A1 (fr) * | 1995-10-02 | 1997-04-04 | Canon Kk | Convertisseur de communication, appareils de communication, procede d'identification, procede de transmission de trames et systemes de communication les mettant en oeuvre |
US6201817B1 (en) | 1998-05-28 | 2001-03-13 | 3Com Corporation | Memory based buffering for a UART or a parallel UART like interface |
US20020013754A1 (en) * | 1999-07-02 | 2002-01-31 | Glenn Frank | Financial optimization system and method |
US6240399B1 (en) * | 1998-12-24 | 2001-05-29 | Glenn Frank | System and method for optimizing investment location |
US6385603B1 (en) | 1999-06-14 | 2002-05-07 | International Business Machines Corporation | Joined table expression optimization by query transformation |
US7467108B2 (en) * | 2002-01-18 | 2008-12-16 | Ron Papka | System and method for predicting security price movements using financial news |
US7162573B2 (en) * | 2003-06-25 | 2007-01-09 | Intel Corporation | Communication registers for processing elements |
US7277864B2 (en) * | 2004-03-03 | 2007-10-02 | Asset4 | Sustainability ratings and benchmarking for legal entities |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4323967A (en) * | 1980-04-15 | 1982-04-06 | Honeywell Information Systems Inc. | Local bus interface for controlling information transfers between units in a central subsystem |
US4608631A (en) * | 1982-09-03 | 1986-08-26 | Sequoia Systems, Inc. | Modular computer system |
US4669044A (en) * | 1984-07-02 | 1987-05-26 | Ncr Corporation | High speed data transmission system |
US5396490A (en) * | 1992-03-23 | 1995-03-07 | Motorola, Inc. | Packet reassembly method and apparatus |
US5434976A (en) * | 1992-09-28 | 1995-07-18 | Standard Microsystems Corporation | Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers |
US5530838A (en) * | 1993-06-10 | 1996-06-25 | Ricoh Company, Ltd. | Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit |
-
1995
- 1995-03-22 US US08/408,353 patent/US5761422A/en not_active Expired - Lifetime
-
1996
- 1996-03-20 JP JP8528337A patent/JPH11502341A/ja not_active Ceased
- 1996-03-20 AU AU51307/96A patent/AU710241B2/en not_active Ceased
- 1996-03-20 EP EP96907847A patent/EP0815678A2/en not_active Withdrawn
- 1996-03-20 WO PCT/SE1996/000348 patent/WO1996029792A2/en not_active Application Discontinuation
- 1996-03-20 CN CN96194088.3A patent/CN1185255A/zh active Pending
- 1996-03-20 CA CA002215320A patent/CA2215320A1/en not_active Abandoned
- 1996-03-20 BR BR9607915A patent/BR9607915A/pt not_active Application Discontinuation
-
1997
- 1997-09-16 NO NO974268A patent/NO974268L/no not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100369028C (zh) * | 2005-06-15 | 2008-02-13 | 威盛电子股份有限公司 | 读取数据的装置及方法 |
CN102866971A (zh) * | 2012-08-28 | 2013-01-09 | 华为技术有限公司 | 传输数据的装置、系统及方法 |
CN102866971B (zh) * | 2012-08-28 | 2015-11-25 | 华为技术有限公司 | 传输数据的装置、系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP0815678A2 (en) | 1998-01-07 |
CA2215320A1 (en) | 1996-09-26 |
NO974268L (no) | 1997-11-11 |
AU5130796A (en) | 1996-10-08 |
NO974268D0 (no) | 1997-09-16 |
WO1996029792A2 (en) | 1996-09-26 |
AU710241B2 (en) | 1999-09-16 |
JPH11502341A (ja) | 1999-02-23 |
WO1996029792A3 (en) | 1996-10-31 |
US5761422A (en) | 1998-06-02 |
BR9607915A (pt) | 1999-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9185034B2 (en) | Low latency communication via memory windows | |
US5535405A (en) | Microsequencer bus controller system | |
US7145837B2 (en) | Global recovery for time of day synchronization | |
US20020013868A1 (en) | Load/store micropacket handling system | |
CN102301671B (zh) | 消息通信技术 | |
US20050091383A1 (en) | Efficient zero copy transfer of messages between nodes in a data processing system | |
KR100721091B1 (ko) | 플렉서블 범용 입/출력 시스템 | |
US20050080933A1 (en) | Master-slave adapter | |
KR20030087025A (ko) | Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘 | |
CN1284183A (zh) | 执行中断目的地重新指向的机制 | |
CN1185255A (zh) | 用于处理器间传输数据的链路协议 | |
US20050080869A1 (en) | Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer | |
CN1504913A (zh) | 数据访问环系统及采用环形总线的方法 | |
US20050080920A1 (en) | Interpartition control facility for processing commands that effectuate direct memory to memory information transfer | |
US7269666B1 (en) | Memory utilization in a network interface | |
US12095654B2 (en) | Interconnection device | |
US20050080945A1 (en) | Transferring message packets from data continued in disparate areas of source memory via preloading | |
US20080123677A1 (en) | System management bus port switch | |
US20050078708A1 (en) | Formatting packet headers in a communications adapter | |
US20080133834A1 (en) | Bit ordering for communicating an address on a serial fabric | |
US8509255B2 (en) | Hardware packet pacing using a DMA in a parallel computer | |
KR20170117326A (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
US20040193908A1 (en) | Queue pair/window association | |
WO2001031441A2 (en) | Remote access using shared memory | |
KR20070060854A (ko) | 멀티 채널 직접 메모리 접근 제어기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1050728 Country of ref document: HK |