CN1183164A - 通过传输包的叠加减少接口等待时间的方法和设备 - Google Patents

通过传输包的叠加减少接口等待时间的方法和设备 Download PDF

Info

Publication number
CN1183164A
CN1183164A CN96193647A CN96193647A CN1183164A CN 1183164 A CN1183164 A CN 1183164A CN 96193647 A CN96193647 A CN 96193647A CN 96193647 A CN96193647 A CN 96193647A CN 1183164 A CN1183164 A CN 1183164A
Authority
CN
China
Prior art keywords
word
information word
chip
bus
time interval
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.)
Granted
Application number
CN96193647A
Other languages
English (en)
Other versions
CN1107956C (zh
Inventor
小·L·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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1183164A publication Critical patent/CN1183164A/zh
Application granted granted Critical
Publication of CN1107956C publication Critical patent/CN1107956C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

在芯片间通信总线发送端安装的定制的电路减少在芯片间通信总线上传送控制包所需的时钟周期数。包事务处理协议就芯片间总线上连续传送的命令字之间的关系规定,如果包边界处的连续字含有相同的数据,该数据可被接收芯片作为独立的命令字在一个时钟周期内储存起来。这是通过在启动一个新包时生成一个同步信号来完成的。在一个较佳实施例中,那些从统计意义来说具有更常见的包的第一个和/或最后字的位组合被故意安排在相邻的位置上,以增加连续命令字含有相同信息的概率。

Description

通过传输包的叠加减少接口等待时间 的方法和设备
发明背景
发明领域
本发明是关于减少在芯片间总线上数据传输所需时钟周期总数的方法和设备。
相关技术说明
为了在如母板上的芯片间传输控制和同步信息,许多应用中采用相对窄小的芯片间总线体系(例如4位控制总线)。举例来说,微处理器使用的芯片集合,集成电路芯片成双制作会更加方便,其中的第一个芯片接收来自处理器总线的地址和控制信号,另一个芯片接收来自处理器总线的数据信号。第一个芯片通过芯片间总线控制第二个芯片上的数据传输。
常规的控制信号传输协议一般用于此类芯片间总线,以将控制信号从一个发送芯片送到一个或多个接收芯片。按照这种常规协议,通过芯片间控制总线传递的命令按包发送,其中每个命令包中含有一个或多个由一个前同步字和一个包类型代码字作为前导的命令字。控制信号的传输由同步信号进行同步。当芯片间总线没有命令数据传输时,一般是在总线上插入一个空转字,直到发送一个新的命令包。
每当命令信号要从一个发送芯片通过芯片间总线向一个接收芯片传送时,该发送芯片首先必须将包起始命令字发送到该总线。然后生成一个同步信号,藉以表明总线上的数据代表一个有效的命令包的开始。同步信号一般与包起始字在相同的时钟周期内被发送。有的时候,前同步字是在包起始字之前的时钟周期里被发送的。这样的话,接收芯片必须首先存储前同步字,然后再对该命令作出响应。可以看出,每个命令包开始传送时,在发送命令包的其它内容之前,需要一个额外的时钟周期来发送前同步字。
发明提要
本发明人认为,通过对接口上传送的命令包的叠加,可以减少通信等待时间。一方面,本发明的较佳实施例描述了一种减少在芯片间通信总线上进行信息包通信所需的时钟周期数的方法。芯片间通信总线连接发送芯片和接收芯片。该方法的步骤是,在第一个时间间隔向芯片间总线上输出一个第一信息字;在该第一个时间间隔内将该第一信息字寄存在该发送芯片内,以便在紧接的一个第二个时间间隔可以访问该第一信息字;在第一个时间间隔内接收芯片接收该第一信息字;在第一个时间间隔将该第一信息字寄存在该接收芯片内,以便在紧接的一个第二个时间间隔可以访问该第一信息字;在第二个时间间隔内在发送芯片内生成一个第二信息字;第二个时间间隔内将所寄存的第一信息字与发送芯片内的第二信息字进行比较;并且如果所寄存的第一信息字与该第二信息字相同,则在第二个时间间隔内向芯片间总线上输出一个第三信息字,以取代该第二信息字。如果所寄存的第一信息字与该第二信息字不同,则在紧接着第二个时间间隔的一个第三个时间间隔内发送第三信息字。
在一个优选的实施方案中,对第一信息字进行定义,以提高第一信息字与第二信息字相同的概率。
在另一个优选实施例中,第一信息字含有一个命令字或空转字,第二信息字则含有对于一个命令包事务处理的一个前同步字,第三信息字则含有一个包类型码。
在另一个优选实施例中,每个时间间隔的长度为一个时钟周期。
在另一个替换的实施例中,每个时间间隔的长度为多个时钟周期。
第二方面,本发明较佳实施例中有一个为在芯片间总线上的信息包事务处理节省时钟周期的设备。该设备中有一个选择电路,选择电路有一个输出端和第一第二两个输入端。输出端与芯片间总线进行通信,选择电路响应选择信号来选择第一输入或第二输入作为输出。该设备进一步包括:一个与选择电路输出端通信的临时储存电路,储存在第一时间间隔期间输出到芯片间总线上的一个第一信息字;一个比较电路,它的第一输入端与选择电路的第一输入端通信,第二输入端与临时储存电路通信。比较电路在第二时间间隔期间将存贮在临时储存电路中的第一信息字与选择电路第一输入端的一个第二信息字进行比较,当第一与第二信息字的内容基本相同时,比较电路进一步控制选择电路在第二时间间隔内在选择电路第二输入端上输出一个第三信息字,代替第二信息字。
在一个优选的实施例中,选择电路包含一个多路转接器,临时储存电路包含一个寄存器;
在另一个实施例中,当第一与第二信息字的位模式完全相同时,比较电路控制选择电路在选择电路第二输入端上输出第三信息字。
在另一个优选实施例中,每个时间间隔的长度为一个时钟周期,或者每个时间间隔的长度也可以为多个时钟周期。
第三个方面,本发明优选实施例是一个用于减少完成芯片间总线上数据事务处理所需时钟周期数的设备。该设备包含从第一第二两个输入中选择一个输出的装置。该输出端与芯片间总线通信。该设备还包含一个在第一时间间隔内储存一个第一信息字的装置,该储存装置与选择装置的输出端通信;最后,该设备包含一个在第二时间间隔内将储存装置中储存的第一信息字与选择装置第一输入端上的一个第二信息字进行比较的装置,当第一与第二信息字的内容基本相同时,该比较装置使选择装置第二输入端上的一个第三信息字在第二时间间隔内被输出,取代第二信息字。
附图简要说明
附图1是表示一个包含由芯片间命令总线连接的集成电路芯片的计算机系统的简化方框图。
附图2是表示附图1中发送芯片部分内部线路的简化方框图,图中表示了本发明节省芯片间通信总线上时钟周期的机制。
附图3A_3C是表示在芯片间通信总线上发送的命令包的有效传输时间的定时图,图中体现了本发明的优点。
附图4是表示附图2中状态机依照本发明方法提前生成前同步字的操作的状态图。
较佳实施例详细说明
附图1是表示可采用本发明方法构造的一个典型计算机系统100的简化方框图。该计算机系统100包含一个微处理器102,它通过微处理器总线105与芯片集合107进行通信。芯片集合107通过PCI总线108与PCI主/从设备(PCI master and slaves)109进行通信,此外,芯片集合107还通过存贮器总线的数据部分112和地址及控制部分114与存储器(例如DRAM)116进行通信。使得芯片集合107在计算机系统100中起着微处理器总线与存储器总线之间桥梁的作用。熟悉本领域的人当然清楚,为说明本发明简洁起见,附图1中的计算机系统100被大大地作了简化。
如图所示,芯片集合107包括一对集成电路(IC)芯片110和120,它们之间通过计算机系统100母板上的芯片间通信总线130相连。在一个实施例中,芯片间通信总线130包含一个5位控制总线,用于从发送芯片110向接收芯片120传送命令信号。在一个实施方案中,该5位控制总线实际上包括5根导线,其中的4根导线用于传送命令字,另外一根导线用于传送同步信号。具有本领域一般知识的人知道,本发明的一个实施方案中使用4位总线是为了方便,在其它应用场合可以根据需要使用更窄或更宽的总线。本实施例中,将芯片集合107分成两块芯片的原因是,如果用一块芯片的话,用于将芯片集合107与PCI总线108以及微处理总线105连接所需的插接线数就多,制造成本高。芯片集合107中的芯片120接收来自微处理器总线105的数据线的数据,而芯片集合107中的芯片110接收来自微处理器总线105的地址与控制线的数据。与微处理器总线105一样,PCI总线108上的数据信号可以在芯片集合107中的芯片120上输入输出,而地址与控制信号则可以在芯片110上输入输出。与此相似,存储器116与芯片110之间的地址与控制信息的交换通过总线114进行,而存贮器116与芯片120之间数据信息的交换则通过总线112进行。
系统工作时,数据、地址及命令信号由微处理器102向母板上的其它单元传送或由母板上的其它单元向微处理器传送。芯片集合107起着微处理器与存储器之间桥梁的作用,使得从微处理器102发出的数据、地址及命令,能通过存储器总线的112及114部分和PCI总线108,有效地传送到存储器116和PCI主/从设备109。同样PCI主(PCImaster)109发出的信号要通过微处理器总线105和存储器总线112及114被传送到微处理器和存贮器116,芯片集合107也起着其中的接口作用。命令信号从芯片110向芯片120传送。芯片110从微处理器总线105和PCI总线108接收地址及命令信号,而芯片120则接收来自微处理器总线105、存储器总线数据部分112和PCI总线108的数据信号。
附图2是芯片110和120部分内部线路的方框简图,它表示了本发明一个较佳实施例中,为了减少在芯片间通信总线130上进行数据传输的时钟周期数而采用的线路结构。如附图2中所示,多路转接器电路220选择要在芯片间总线130上传送的包数据。
数据包中的前同步字(PREAMBLE)输入207、包类型(PACKET TYPE)输入240和修改字(MODIFIER)输入212,各自独立作为多路转接器电路220的输入。多路转接器电路220根据需要来选择输入207、240和212,形成要在芯片间总线130上传送的各自的命令包。多路转接器电路220的输出由状态机230通过选择总线238进行控制。
状态机230通过总线240接收包类型输入,通过导线242接收新请求(NEW REQUEST)输入。包类型输入指示要在芯片间总线130上传送的数据的类型,而新请求输入242则指示,接收芯片120已经准备好接收下一个命令包的前同步字。新请求信号线242和一个逻辑“与”门241的输出端相连。“与”门241通过导线243接收一个第一输入。总线240和导线243与芯片110的内部线路通信。状态机230也通过导线244向芯片110的内部线路输出一个就绪(RDY)信号,即准备就绪接收下一个包,该信号表示状态机230已经准备好接收和处理下一个来自芯片110内部电路的命令包。导线244是与门电路241的第二个输入。
多路转接器220的输出通过一个驱动器250与控制总线130进行通信。另外,多路转接器220的输出还与寄存器255进行通信。寄存器255的输出起着比较电路260的一个第一输入的作用。此外,前同步字207的输入被提供作为比较电路260的一个第二输入。比较器260的输出通过导线265,作为前同步字已发送(PREAMBLE SENT)信号输入到状态机230。状态机230通过驱动器270进一步输出一个同步信号SYNC。
如附图2所示,接收芯片120含有一个接收寄存器280,存放(即延迟)上一个时钟来自芯片间总线130的数据。总线290上的被延迟数据和总线295和导线296上的芯片间缓冲数据与芯片120的内部电路进行通信,使该数据起着向接收芯片120内部电路的控制输入的作用。
在操作中,一旦状态机230发出一个就绪信号244(表示状态机230准备好处理下一个包)、并且芯片110内部电路在导线243上发出一个新任务(NEW TASK)信号,导线242上就产生一个新请求(NEW_REQUEST)信号,表示有下一个命令包的前同步字、包类型及修改字要在芯片间总线130上输出。
多路转接器220在状态机230控制下,通过选择总线238,从前同步字输入、包类型输入和修改字输入中选择其中之一。前同步字数据可以包括例如数据将被传至的集成电路120内的一个缓冲器号,而修改字则含有将要传至接收IC芯片120内缓冲器的控制数据。包类型中含有与正被传送的命令相关的信息。在一个实施例中,包类型确定命令的类型(即读PCI、写存贮器等等)。在另一个实施例中,包类型定义包的长度(即是否包括一个前同步字以及预计有几个修改字)。在一个较佳实施例中,最普通的操作对应于最短的包,在另一个较佳实施例中,包类型的接收时间指示接收芯片120应该开始还是结束一个过程。
多路转接器220的输出通过驱动器250被驱动到控制总线130上。随后,芯片间总线130上出现的数据在下一个时钟周期发生时被寄存到寄存器280。此外,该输出在寄存器255中被寄存一个时钟周期的时间。在将多路转接器220的输出寄存到寄存器255所需的时间内,多路转接器220输出另一个信号,该信号通过驱动器250将被驱动到芯片间总线130上。
在与寄存器280按时钟定时存入芯片间总线130上数据的相同的时钟周期内,寄存器255的输出与前同步字输入207进入比较。就是说,用前同步字作为比较电路260的第一输入,而滞后一个时钟周期的寄存器255输出作为比较电路260的第二输入,使前同步字与上一个时钟周期输出到控制总线130上的包命令字在比较电路260中进行比较。如果前同步字与寄存器255中存贮的数据相同,比较电路260就发出一个前同步字已发送信号,通过导线265到状态机230,作为其控制输入。
当状态机230接收到一个新请求信号242,并且导线265上表明比较结果有效(即出现前同步字已发送信号)时,即上一个时钟周期的芯片间总线命令字与要被输出到芯片间总线130上的新包的前同步字相同时,就从状态机230通过驱动器270发出一个同步信号,并通过选择总线238选择包类型而不是前同步字向芯片间总线130传送。如果状态机230在输入242上接收到一个新请求信号时,导线265上未出现前同步字已发送信号,且状态机230识别输入端240上的包类型是一种要求其命令包中包括有前同步字的类型,状态机230就通过选择总线238选择前同步字207,由多路转接器220输出到芯片间总线130。
每当一个同步脉冲通过驱动器270被输出到导线271,芯片间总线130上就会出现一个包类型。该同步脉冲被芯片120作为控制信号接收,表示一个数据包事务处理已经开始。接收到同步脉冲后,芯片120的内部电路把寄存器280中存储的数据当作该数据包事务处理的前同步字,把总线295上出现的数据当作包类型。这样,由于寄存器280中的数据与寄存器255中的数据相同(原因是这两个寄存器都存储了在上一个时钟周期出现在芯片间总线上的数据),而且由于寄存器255中的数据与前同步字相同,所以缓冲器285中的数据将与前同步字相同。按照这个逻辑,如果一个新前同步字内的数据与芯片间总线的空闲格式(IDLEpattern)或者说与前一个包的结尾字相同时,该新包的前同步字就不必发送,这样就为整个数据事务处理节省了一个时钟周期。
附图3A至附图3C的定时图,清楚地表示了按照本发明思想节省时钟周期的方法。附图3A表示未采用本发明优点的芯片间总线上的常规信号定时。第一个信号302代表一个同步时钟,用于同步芯片110、120内的包数据字,信号304代表出现在芯片间总线130的四位命令部分上的包数据字信号(而不是出现在同步信号线上的信号)。最后,信号306表示在芯片间总线上传送的同步信号。向芯片间总线130上输出的每个包命令字出现时间占用一个完整的时钟周期。所以,所需的时钟周期数等于要在发送芯片110与接收芯片120间通信的包内的命令字数。
例如附图3A所示,芯片间总线130空闲两个时钟周期,直到下一个时钟周期内出现一个前同步字(例如是确定在随后的事务处理中数据要被传送到的缓冲器的缓冲器号)。随后的时钟周期用于传送包类型(指示命令的类型,等等)和修改字(进一步说明该命令)。
如附图3A所示,从输出前同步字开始,直到最后的修改字被输出到芯片间总线130上,一共有三个时钟发生。当确定前同步字之后的包类型已经被确立在芯片间总线130上时,就确立一个同步信号306,表示该新包的出现。如上简述,同步信号通知接收芯片120,前同步字和包类型已经被接收到总线290和295上。接收芯片120此后就把总线295上随后的数据当作该命令包中的剩余的命令字(如果有的话)。例如附图3A中所示,如果一个修改字跟在包类型之后,包类型指出下一个命令字属于相同的包,于是接收芯片120在下个时钟周期读取总线295上的命令字,作为预期的修改字数据。
附图3B表示了一个按照本发明思想,其结果比附图3A中所示常规协议节省一个时钟周期的方法。具体来说,本发明人认为,通过考察被传送到芯片间总线上的命令字之间的关系,可以在单独一个时钟周期时间内发送多个命令字到接收芯片。特别来说,如附图3B所示,从上一个空转字的结束到最后的修改字被输出到芯片间总线130,总共发生两个时钟周期,仅仅发生两个时钟周期的原因是,当前同步字与空转字相同时,就没有必要发送前同步字。如上述对附图2的说明所述,前同步字与在芯片间总线130上发送的前一个命令字要进行一次比较。如果该前同步字相同于前一个命令字(在此例中即是空转字),就发送包类型字(同时发送一个同步信号)代替前同步字。按照这种方法,确立一个提前的同步信号,就使该命令包仅需两个时钟周期就能完成。确定空转字与前同步字相同,意味着寄存器280中的数据与前同步字相同,这是因为接收芯片120也将上一个空转字寄存到寄存器280中。这样,接收芯片120的操作方式,就像在上个时钟周期内前同步字已经被发送的一样。按照这个方式,在本当要传送前同步字的时钟周期之前被传送的那个空转字,可以用来代替该前同步字。因此,可由包类型代替前同步字,以便为整个命令包处理节省一个时钟周期。就是说,没有必要将前同步字207(见附图2)指示的缓冲器号传送到总线130,因为总线130上出现的空转字已被用来代替该缓冲器号。所以,状态机230控制多路转接器220选择包类型而不是缓冲器号,以便接收芯片120能在下一个时钟周期内处理前同步字和包类型两个数据。
按照本发明的一个方面,最有可能被访问的缓冲器号被定义为与空转字(以下也称之为缺省前同步字)有相同的位组合,这样,每当这个缓冲器被选定,就可以在与先头的空转字相同的时钟周期内将该缓冲器号存入接收芯片120的内部寄存器。本发明的一个特别有利的实施方案中,空转字码按照缺省缓冲器号被修改,以增加前同步字与空转字之间匹配的可能性。当然,如果前同步字中的缓冲器号与空转字不同,就要发生一个额外的时钟周期才能将该缓冲器号锁存到接收芯片120。然而如附图3B中所示,当缓冲器号(其含有前同步字的第一部分)与空转字相同时,就可以在与包类型相同的时钟周期内确立一个同步信号,因为该空转字可以用于代替该缓冲器号。
附图3C表示连续发送命令包时第二个命令包的前同步字的位组合与第一个命令包的最后命令字相同的情况。如附图3c中所示,前一个命令包的最后命令字被送到接收芯片120后,立即生成一个同步信号。因为该上一个包字的位组合与新包的前同步字相同,多路转接器220就被控制输出包类型而不是前同步字,与此同时,确立同步信号。其结果是,  自第一个命令包的结束至第二个包的结束,仅发生了两个时钟周期。要是单独发送前同步字(而不是用第一个包的最后字作为前同步字),就需要三个时钟周期来完成第二个命令包。
由于第一个命令包的内容中定义了该包的长度,因此接收芯片120要确立最后的命令字出现在总线295上的时间并无困难。并且,一旦芯片120接收到同步信号,芯片120就把寄存器280内的数据当作新命令包的前同步字。这样,总线295上的数据两次被接收芯片120使用—一次是在前一个时钟作为第一个命令包(于总线295上提取)的结尾字,一次是作为第二个命令包(于总线290上提取)的前同步字。
下面详细叙述用于附图3C中示例的芯片110内部电路的操作过程,具体来说,当第一个命令包的结尾命令字从多路转接器220被输出后,该命令字就被寄存到寄存器255中,并与随后送到总线207的比较电路260上的前同步字进行比较。如果比较电路260确定该前同步字与先头的命令字相同,就在导线265上生成一个比较信号,并将其送到状态机230,由状态机230控制多路转接器220输出包类型而不是前同步字。与此同时,状态机230通过驱动器270确立一个延续一个时钟时间的同步信号。这样,第一个命令包的结尾命令字就作为第二个命令包的缓冲器号。按照这种方式,就在连续的包传送过程中节省了一个时钟周期。
附图4所示是按照本发明思想,状态机230为生成一个提前的前同步字所进行操作的状态图。实际应用中,状态机230也对发送芯片110内部的其它单元进行控制,但是为简明起见,状态机230的这个功能未在附图4的简化状态图中表示出来。
一旦复位(RESET)开始,状态机230进入一个空闲(IDLE)状态400。状态机230处于空闲状态400时,表示状态机230已准备好接收其它命令包以输出到四位命令总线130上。状态机230在三种不同条件下处于空闲状态400,状态转换路径410表示三种条件使状态机返回到空闲状态400的情况。
第一个条件,新请求信号(也即信号线242上的信号)未被确立时,这时,状态机230处于空闲状态400,多路转接器220将缺省前同步字作为命令向总线130的四位命令总线部分输出。就是说,当新请求未被提出时,状态机230选择前同步字207,作为通过多路转接器220和驱动器250向命令总线130的输出。最好将前同步字设置与最常被访问的缓冲器的内容相等,以便下一个实际的前同步字与上一个时钟周期发送的数据相等的可能性更高。
状态机230处于空闲状态400的另一个条件是,前同步字请求(PREAMBLE_REQD)信号被确立(这向状态机230表明,将要在命令总线130上传送的新命令包需要一个前同步字),并且前同步字已发送信号处于无用状态(这表明,上一个时钟周期在总线130上发送的命令字不等于总线207上的前同步字)。这样,由于需要一个前同步字,而上一个时钟周期总线130上的命令字不能用作该前同步字,状态机230就由导线238向多路转接器220发出一个选择信号,选择总线207上的前同步字输出到命令总线130上,这样,被发送的命令字就等于前同步字。
状态机230处于空闲状态400的最后条件是:第一,前同步字请求信号未被确立或者前同步字已发送信号已被确立;第二,新请求信号被确立而修改字请求(MODIFIER_REQD)信号被撤销。就是说,由于第一,不需要传送前同步字,或者上一个时钟周期总线130上的命令字等于要传送的前同步字;第二,被请求的新包没有修改字,这表明,如果当前的包真的要求有一个前同步字的话,该前同步字在上个时钟周期就发送了,当前的包是以当前的包类型命令字作为结尾。所以,状态机230能接收一个新包在下个时钟周期向命令总线130传送,所以,状态机230处于空闲状态400。
在使状态机230处于空闲状态400的最后这个条件下,状态机230使包类型数据通过多路转接器220和驱动器250被发送到命令总线130。此外,通过驱动器270确立一个同步信号,而信号线244上也确立一个就绪(RDY)信号。
状态机230经状态转换路径430从空闲状态400转换到忙(BSY)状态420的确定条件是:第一,不需要发送前同步字或者上个时钟周期总线130上的命令字等于要发送的前同步字,并且,第二,有一个要求发送修改字的新请求。换言之,如果第一,前同步字请求信号未被确立或者前同步字已发送信号被确立;第二,信号线242上确立新请求信号,而包类型中表明,该命令包中含有一个或多个修改字,则状态机由空闲状态400转换到忙状态420。这表明,要通过多路转接器220和驱动器250将包类型240输出到命令总线130,同时通过驱动器270确立一个同步信号。此外,还要将修改字指针(MODIFIER_PTR)的位置为1(修改字指针是加载到一个计数器计数当前包中包类型数据后修改字的数目的值)。状态机230转换到忙状态(该状态表示,状态机230在完成当前包的传送之前,不能处理新的请求)。
转换路径440表示,未确立最后修改字(LASE_MODIFIER)信号时,状态机230的状态保持在忙状态420(即表示包的最后命令字已被输出到命令总线130的最后修改字信号为假时)。每次经路径440进行一次状态转换,下一个命令字(即总线212中的下一个修改字)就通过多路转接器220和驱动器250被传至命令总线130。此外,修改字指针的值每次递增1直到当前包的最后的修改字出现。一旦包的结尾字已被传送到总线130,状态机230就由状态转换路径450从忙状态420转换回空闲状态400。如附图4中所示,经由路径450的状态转换是在最后修改字信号被确立时发生的。这使输出到命令总线130的修改字等于当前包中的结尾命令字,同时,状态机230在导线244上确立就绪信号。
尽管以上对本发明进行了详细的说明,应该清楚,上述说明是说明性的而不是限制性的。具备本领域一般知识的人知道,在不偏离其精神或中心特点的情况下可以对本发明进行许多明显的改进。例如,具备本领域一般知识的人知道,如果实施本发明时采用命令字位数更少的芯片间总线,命令字相同的可能性会更显著,从而有最高的效率。而按照本发明,实际上也可以采用六位或更多位级的总线。此外,本发明实施时可采用字串行方式,在芯片之间的一根导线上传送包命令字。在这种情况下,同步信号提供命令字的边界信息,还要指示新包的出现。另一种实施方案可以保留一个独特的命令字模式来指示同步信号的出现,以消除对专用同步信号线的需要。另一种实施方法可以在发送芯片和接收芯片或其中一种芯片中采用管道式寄存器(pipeline registers)来进行时钟频率更高的操作。总之,本发明的范围应由本文中的权利要求界定。

Claims (12)

1.一种减少在芯片间通信总线上进行信息包通信所需时钟周期数的方法,所述芯片间通信总线连接一个发送芯片与一个接收芯片,所述方法包含以下步骤:
在一个第一时间间隔内向所述芯片间总线上输出一个第一信息字;
在所述第一时间间隔将所述第一信息字寄存在所述发送芯片内,从而在连续的第二个时间间隔内可以使用所述第一信息字;
在所述第一时间间隔所述接收芯片接收所述第一信息字;
在所述第一时间间隔将所述第一信息字寄存在所述接收芯片内,从而在连续的第二个时间间隔内可以对其使用;
在所述第二个时间间隔内在所述发送芯片内生成一个第二信息字;
在所述第二个时间间隔内将所述被寄存的第一信息字与所述发送芯片内的所述第二信息字进行比较;以及
如果所述被寄存的第一信息字与所述第二信息字相同,则在所述第二个时间间隔内向所述芯片间总线上输出一个第三信息字来代替所述第二信息字;如果所述被寄存的第一信息字与所述第二信息字不同,则在紧接着所述第二个时间间隔的第三个时间间隔内发送所述第三信息字。
2.如权利要求1中定义的方法,其中对该第一信息字进行定义以提高该第一信息字与该第二信息字相同的概率。
3.如权利要求1中定义的方法,其中所述第一信息字包含一个命令字或一个空转字,所述第二信息字包含一个命令包事务处理的前同步字,所述第三信息字包含一个包类型代码。
4.如权利要求1中定义的方法,其中每个时间间隔的长度为一个时钟周期。
5如权利要求1中定义的方法,其中每个时间间隔的长度为多个时钟周期。
6.一种为在芯片间总线上的信息包事务处理期间节省时钟周期的设备,所述设备包括:
一个有一个输出端和第一第二两个输入端的选择电路,其中所述输出端与所述芯片间总线进行通信,所述选择电路根据一个选择信号选择第一第二两个输入端之一作为输出;
一个与所述选择电路的所述输出端通信的临时储存电路,储存第一时间间隔内输出到所述芯片间总线上的一个第一信息字;
一个比较电路,其第一输入端与所述选择电路的所述第一输入端通信,第二输入端与所述临时储存电路通信;其中所述比较电路在第二时间间隔内将所述临时储存电路储存的所述第一信息字与所述选择电路的所述第一输入端的一个第二信息字进行比较;其中当所述第一和第二信息字所含内容基本相同时,所述比较电路促使所述选择电路在所述第二时间间隔内输出上述选择电路的所述第二输入端上的一个第三信息字,代替所述第二信息字。
7.如权利要求6定义的一个设备,其中所述选择电路包含一个多路转接器。
8.如权利要求6定义的一个设备,其中所述临时储存电路包含一个寄存器。
9.如权利要求6定义的一个设备,其中当所述第一和第二信息字的位模式完全相同时,所述比较电路控制所述选择电路输出所述选择电路的所述第二输入端上的所述第三信息字。
10.如权利要求6定义的一个设备,其中每个所述时间间隔的长度为一个时钟周期。
11.如权利要求6定义的一个设备,其中每个所述时间间隔的长度为多个时钟周期。
12.一个用于减少在芯片间总线上完成一个数据事务处理所需时钟周期数的设备,所述设备包括:
从第一第二两个输入中选择一个输出的装置,其中所述输出与芯片间总线通信;
在第一时间间隔储存一个第一信息字的装置,其中所述储存装置与所述选择装置的所述输出端通信;
在一个第二时间间隔将所述储存装置储存的所述第一信息字与所述选择装置的所述第一输入端上的一个第二信息字进行比较的装置,其中所述比较装置在所述第一和第二信息字所含内容基本相同时,在所述第二时间间隔内控制所述选择装置输出所述选择装置的所述第二输入端上的一个第三信息字,代替所述第二信息字。
CN96193647A 1996-03-01 1996-06-27 通过传输包的叠加减少接口等待时间的方法和设备 Expired - Fee Related CN1107956C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/609,175 1996-03-01
US08/609,175 US5815673A (en) 1996-03-01 1996-03-01 Method and apparatus for reducing latency time on an interface by overlapping transmitted packets

Publications (2)

Publication Number Publication Date
CN1183164A true CN1183164A (zh) 1998-05-27
CN1107956C CN1107956C (zh) 2003-05-07

Family

ID=24439651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96193647A Expired - Fee Related CN1107956C (zh) 1996-03-01 1996-06-27 通过传输包的叠加减少接口等待时间的方法和设备

Country Status (11)

Country Link
US (1) US5815673A (zh)
EP (1) EP0829095B1 (zh)
JP (1) JPH11504741A (zh)
KR (1) KR100266963B1 (zh)
CN (1) CN1107956C (zh)
AU (1) AU6390296A (zh)
DE (1) DE69625685T2 (zh)
IL (1) IL120748A (zh)
RU (1) RU2189698C2 (zh)
TW (1) TW299409B (zh)
WO (2) WO1997032308A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370841C (zh) * 2004-11-19 2008-02-20 华为技术有限公司 一种通信接口间消息的传输方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091707A (en) * 1997-12-18 2000-07-18 Advanced Micro Devices, Inc. Methods and apparatus for preventing under-flow conditions in a multiple-port switching device
GB9809203D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
US6134701A (en) * 1998-09-22 2000-10-17 Via Technologies, Inc. Computer motherboard with a control chip having specific pin arrangement for fast cache access
EP2320327A1 (en) * 2009-11-09 2011-05-11 Imec A data transferring device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4418409A (en) * 1980-03-07 1983-11-29 Ibm Corporation Byte data activity compression
JPS60156151A (ja) * 1983-12-23 1985-08-16 Nec Corp メモリアクセス制御装置
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5548797A (en) * 1994-10-03 1996-08-20 International Business Machines Corporation Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal
US5623638A (en) * 1994-11-22 1997-04-22 Advanced Micro Devices, Inc. Memory control unit with programmable edge generator to minimize delay periods for critical DRAM timing parameters
US5649175A (en) * 1995-08-10 1997-07-15 Cirrus Logic, Inc. Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370841C (zh) * 2004-11-19 2008-02-20 华为技术有限公司 一种通信接口间消息的传输方法

Also Published As

Publication number Publication date
IL120748A (en) 1999-11-30
IL120748A0 (en) 1998-02-22
DE69625685T2 (de) 2003-10-23
DE69625685D1 (de) 2003-02-13
US5815673A (en) 1998-09-29
AU6390296A (en) 1997-09-16
EP0829095A1 (en) 1998-03-18
JPH11504741A (ja) 1999-04-27
TW299409B (en) 1997-03-01
CN1107956C (zh) 2003-05-07
KR19990008189A (ko) 1999-01-25
EP0829095B1 (en) 2003-01-08
WO1997032333A1 (en) 1997-09-04
RU2189698C2 (ru) 2002-09-20
EP0829095A4 (en) 2000-04-05
WO1997032308A1 (en) 1997-09-04
KR100266963B1 (ko) 2000-10-02

Similar Documents

Publication Publication Date Title
US8095748B2 (en) Method and apparatus for sending data from multiple sources over a communications bus
EP0606299B1 (en) Method and apparatus for concurrent packet bus
US5307459A (en) Network adapter with host indication optimization
AU674341B2 (en) A device with host indication combination
US4868742A (en) Input/output bus for system which generates a new header parcel when an interrupted data block transfer between a computer and peripherals is resumed
EP0165600A2 (en) Input/output bus for computer
US5179709A (en) Look ahead bus transfer request
CN1328659C (zh) 具有共享存储器的改进结构
US20030121030A1 (en) Method for implementing dual link list structure to enable fast link-list pointer updates
US5367644A (en) Communication system
CN105993148B (zh) 网络接口
CN1107956C (zh) 通过传输包的叠加减少接口等待时间的方法和设备
US5146560A (en) Apparatus for processing bit streams
CN86108261A (zh) 数字传送装置
JPH10171750A (ja) メモリ間データ転送システム
US7774526B2 (en) Method for deterministic timed transfer of data with memory using a serial interface
JPH0381862A (ja) 車載ネットワークの通信装置及びその通信方法
CN1559126A (zh) 运行等时的周期性通信系统的方法
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
EP0344915B1 (en) Apparatus and method for processing bit streams
JPH0661074B2 (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
JP2002236659A (ja) 車両用電子制御装置
CN1135931A (zh) 通信系统及其继电器
CN116633488A (zh) 数据帧的存储方法、装置、车辆及存储介质
JPH0744516B2 (ja) 車載コンピュータ間のデータ通信方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20030507

Termination date: 20130627