[go: up one dir, main page]

CN1171154C - Control chip set and data transaction method therebetween - Google Patents

Control chip set and data transaction method therebetween Download PDF

Info

Publication number
CN1171154C
CN1171154C CNB991256379A CN99125637A CN1171154C CN 1171154 C CN1171154 C CN 1171154C CN B991256379 A CNB991256379 A CN B991256379A CN 99125637 A CN99125637 A CN 99125637A CN 1171154 C CN1171154 C CN 1171154C
Authority
CN
China
Prior art keywords
write
read
data
control chip
formation
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 - Lifetime
Application number
CNB991256379A
Other languages
Chinese (zh)
Other versions
CN1302020A (en
Inventor
瑾 赖
赖瑾
蔡兆爵
彭盛昌
蔡奇哲
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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Priority to CNB991256379A priority Critical patent/CN1171154C/en
Publication of CN1302020A publication Critical patent/CN1302020A/en
Application granted granted Critical
Publication of CN1171154C publication Critical patent/CN1171154C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)

Abstract

A method for controlling chip group and data transaction between them features that the data buffers in internal queue of each control chip in the control chip group have a fixed size and number, and the read-write command order sent out between chips is completely responded according to the read-write command order, so the control chip can master the use of buffer in internal queue of another control chip. The arbitration method of the bus between the control chip groups sets a certain control chip to normally master the control right of the inter-chip bus, but the other control chip enjoys higher bus priority and matches the inter-chip bus specification without waiting period. The data transaction efficiency of the control chip set is improved, and the types and the number of signal lines in the control chip set are simplified.

Description

控制芯片组与其间的 数据事务方法Controls the method of data transactions between the chipset and

本发明涉及一种芯片组,特别涉及一种计算机系统中的控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法。The invention relates to a chip set, in particular to a control chip set in a computer system, a method for controlling data transactions between chips in the chip set, and an arbitration method for controlling a bus between chips in the chip set.

图1所绘示的便是在计算机结构中使用PCI系统的一种结构。中央处理器10经由主桥接器(host bridge)12耦接到PCI总线14。PCI总线14则可以耦接多个PCI相容的周边装置的主控器(master),其可以如图所示的图形适配器(graphic adapter)16a、扩充总线桥接器(expansion busbridge)16b、网路适配器(LAN adapter)16c与小型计算机系统主总线适配器(SCSI host bus adapter)16d等等。每一主控器均可以送出要求信号(request,REQ)要求使用PCI总线14,而主桥接器12中的判优器(arbiter)则可送出同意信号(grant,GNT)给主控器,同意其使用PCI总线14。What Fig. 1 depicts is exactly a kind of structure that uses PCI system in computer structure. The CPU 10 is coupled to the PCI bus 14 via a host bridge 12 . The PCI bus 14 can couple the main controller (master) of a plurality of PCI compatible peripheral devices, and it can be as shown in the figure adapter (graphic adapter) 16a, expansion bus bridge (expansion busbridge) 16b, network Adapter (LAN adapter) 16c and small computer system main bus adapter (SCSI host bus adapter) 16d etc. Each master controller can send a request signal (request, REQ) to request the use of the PCI bus 14, and the arbiter (arbiter) in the master bridge 12 can send a grant signal (grant, GNT) to the master controller, agreeing It uses the PCI bus 14 .

PCI相容装置(如主控器或计算机芯片组中的北桥)之间的数据传送主要由下列的适配器控制信号所控制。周期帧(cycle frame,FRAME)是由起始器(其可以是主控器或北桥)所送出,用以指示一存取操作的开始与持续期间。FRAME信号送出时,表示通过PCI总线的数据事务(transaction)开始进行,当FRAME信号维持在低电平则表示数据事务持续进行。此时,地址总线AD便会在地址阶段期间送出有效地址(valid address),同时会在命令/字节致能(command/byte enable,CBE[3:0])线送出有效的总线命令(满足PCI规格),用以对目标装置指出起始器所要求的数据事务型态,其中命令/字节致能线是以4位编码成16种不同的命令,其在PCI规格中有详细定义。紧接所送出的有效地址后,地址总线AD便送出要传送的数据,此时期称为数据阶段,同时在CBE线送出编码后总线命令的字节致能信号,藉以传送数据。当FRAME信号停止送出,就表示事务状态为最后一笔数据传送,或是已经完成数据传送。起始器备妥信号(initiator ready,IRDY)与目标装置备妥信号(target ready,TRDY),两者配合使用,用以分别指示起始装置与目标装置已经备妥而可以进行数据传送。在一读取动作进行时,IRDY信号表示起始器准备好接收数据;而在进行一写入操作时,TRDY信号表示目标装置准备好接收数据。停止信号(stop,STOP),用以指示目标装置要求起始器停止目前的数据事务行为。Data transmission between PCI compliant devices (such as a host controller or a north bridge in a computer chipset) is mainly controlled by the following adapter control signals. A cycle frame (FRAME) is sent by an initiator (which can be a master controller or a north bridge) to indicate the start and duration of an access operation. When the FRAME signal is sent out, it means that the data transaction (transaction) through the PCI bus starts, and when the FRAME signal is maintained at a low level, it means that the data transaction continues. At this point, the address bus AD will send a valid address (valid address) during the address phase, and will send a valid bus command (to satisfy PCI specification) is used to point out the data transaction type required by the initiator to the target device, wherein the command/byte enable line is encoded into 16 different commands with 4 bits, which are defined in detail in the PCI specification. Immediately after the valid address is sent, the address bus AD sends the data to be sent. This period is called the data phase. At the same time, the byte enable signal of the encoded bus command is sent on the CBE line to transfer the data. When the FRAME signal stops sending, it means that the transaction status is the last data transmission, or the data transmission has been completed. The initiator ready signal (initiator ready, IRDY) and the target device ready signal (target ready, TRDY) are used together to indicate that the initiator device and the target device are ready for data transmission. When a read operation is in progress, the IRDY signal indicates that the initiator is ready to receive data; while in a write operation, the TRDY signal indicates that the target device is ready to receive data. A stop signal (stop, STOP) is used to instruct the target device to request the initiator to stop the current data transaction behavior.

参照图2,其绘示以PCI总线适配器进行一读取操作进行时的操作时序图。以PCI总线进行并完成数据转移的期间称为一总线事务周期(bustransaction)20,其包括一个地址阶段(address phase)22与多个数据阶段(data phase),如24a、24b与24c。每一个数据阶段24a/b/c又分别区分为等待周期(wait cycle)26a/b/c与数据转移周期(data transfercycle)28a/b/c。接着配合图2的时序图,以一读取操作来做为PCI系统操作的简单说明以及前文所述的PCI规格控制信号的作用。Referring to FIG. 2 , it shows an operation timing diagram when a read operation is performed by a PCI bus adapter. The period during which data transfer is performed and completed by the PCI bus is called a bus transaction cycle (bustransaction) 20, which includes an address phase (address phase) 22 and multiple data phases (data phase), such as 24a, 24b and 24c. Each data phase 24a/b/c is further divided into a wait cycle (wait cycle) 26a/b/c and a data transfer cycle (data transfer cycle) 28a/b/c. Next, with the timing diagram of FIG. 2 , a read operation is used as a simple description of the operation of the PCI system and the functions of the PCI specification control signals mentioned above.

在周期T1时,起始器(主控器)送出REQ信号,以要求主控PCI总线,此时如果没有其他更高优先权的装置要求使用PCI总线,则在周期T2时,主桥接器(判优器)送出GNT信号,以允许起始器主控PCI总线,周期T3时,起始器送出FRAME信号,表示一数据转移将开始进行,并在AD总线送出开始地址(start address),用以指定一目标装置,同时在CBE线送出一读取命令。紧接着送出的读取命令,CBE线会送出字节致能信号(byte enable),此字节致能信号在整个数据阶段期间(包括24a、24b与24c)会一直持续送出。在周期T4时,起始器送出备妥信号IRDY,表示可以开始收送数据,然此时目标装置并未能备妥,此时期为数据阶段24a的等待周期26a,是起始器等待目标装置将数据备妥。在周期T5时,目标装置已经备妥并且送出备妥信号TRDY,因此在IRDY与TRDY信号均送出的数据转移周期28a期间,起始器从目标装置读取数据。目标装置在周期T6结束送出TRDY信号,以表示结束数据传送,并且开始准备第二笔数据,此时为数据阶段24b的等待周期26a。在周期T7时,TRDY再度送出,表示数据已经备妥,并在IRDY与TRDY信号均送出的数据转移周期28b期间,起始器从目标装置读取数据。当起始器来不及读取数据时,起始器于周期T8结束送出IRDY信号,此时因为TRDY信号仍送出,所以此等待周期26c是由起始器所发动。等起始器备妥后,于周期T9再送出IRDY信号,此时在IRDY与TRDY信号均送出的数据转移周期28c期间,起始器从目标装置读取数据。由于起始器在周期T9时,就已知道不再需要读取数据,故起始器结束送出FRAME信号以及结束送出REQ信号,在周期T10时,判优器结束送出GNT信号。至此,完成一读取操作。During the cycle T1, the initiator (main controller) sends a REQ signal to require the main control PCI bus. At this time, if there are no other higher priority devices requiring the use of the PCI bus, then during the cycle T2, the main bridge ( Arbiter) sends a GNT signal to allow the initiator to master the PCI bus. During the cycle T3, the initiator sends a FRAME signal, indicating that a data transfer will begin, and sends a start address (start address) on the AD bus. To specify a target device, send a read command on the CBE line at the same time. Immediately following the sent read command, the CBE line will send a byte enable signal (byte enable), which will continue to be sent during the entire data phase (including 24a, 24b and 24c). In the period T4, the initiator sends a ready signal IRDY, indicating that the data can be sent, but the target device is not ready at this time. This period is the waiting period 26a of the data stage 24a, and the initiator waits for the target device Get your data ready. During cycle T5, the target device is ready and sends the ready signal TRDY, so the initiator reads data from the target device during the data transfer cycle 28a when both the IRDY and TRDY signals are sent. The target device sends a TRDY signal at the end of the period T6 to indicate the end of the data transmission and starts to prepare the second data, which is the waiting period 26a of the data phase 24b. During cycle T7, TRDY is sent again, indicating that the data is ready, and during the data transfer cycle 28b when both IRDY and TRDY signals are sent, the initiator reads data from the target device. When the initiator has no time to read the data, the initiator sends the IRDY signal at the end of the period T8. At this time, because the TRDY signal is still sent, the waiting period 26c is initiated by the initiator. After the initiator is ready, the IRDY signal is sent out again in the period T9. At this time, the initiator reads data from the target device during the data transfer cycle 28c when both the IRDY and TRDY signals are sent out. Since the initiator already knows that it does not need to read data any more during the cycle T9, the initiator ends sending the FRAME signal and the REQ signal, and the arbiter ends sending the GNT signal during the cycle T10. So far, a read operation is completed.

如上所述,在PCI规格中为了要完成PCI规格的数据事务,必须使用繁复的控制信号、等待状态与判优程序等,而PCI所规定的信号至少有45-50个信号脚。目前的个人计算机内的结构与图1所绘示的系统非常相似,其中主桥接器12就是主机板内控制芯片组的北桥芯片,而南桥芯片就包括扩充总线桥接器16b,个人计算机系统中的南桥是一个主要且必然存在的主控器。至于个人计算机系统中的图形适配器附加器,并未连接到PCI总线,而是通过一绘图加速端口(accelerated graphic port,AGP)适配器连接到北桥芯片。As mentioned above, in order to complete the data transactions of the PCI specification in the PCI specification, complicated control signals, waiting states and arbitration procedures must be used, and the signals specified by the PCI have at least 45-50 signal pins. The structure in the current personal computer is very similar to the system shown in Figure 1, wherein the main bridge 12 is exactly the north bridge chip of the control chipset in the motherboard, and the south bridge chip just includes the expansion bus bridge 16b, in the personal computer system The south bridge is a primary and necessarily present master. As for the graphics adapter add-on in the personal computer system, it is not connected to the PCI bus, but is connected to the North Bridge chip through an accelerated graphics port (AGP) adapter.

然而在一般控制芯片组内芯片间的数据事务,往往不需要利用到一般多用途总线如此复杂的功能程序,例如:主机板控制芯片组内部的南北桥的数据事务,并不需要用到完整PCI总线如此复杂的程序,而此种复杂的程序为了确保能适用多种应用环境,多半牺牲了许多效能特性。且随着高度集成化的趋势,任一控制芯片可能会合并更多功能,例如CPU与北桥芯片合并为一个芯片,抑或是控制芯片组本身合并成一个芯片,使芯片包装上的接脚变成一个非常宝贵的资源,必须尽量减少以降低控制芯片的成本。因此为了加速控制芯片组内部之间的数据事务,且节省芯片接脚的资源,一种简化但仍满足控制芯片间数据事务的特殊总线规格是需要的。例如:南北桥间设计一种简化多个信号线,快速的总线规格,且此总线规格在芯片内部处理必须尽量近似一般PCI规格,以与芯片中其他模组相容,避免控制芯片做过多修改。However, it is often not necessary to use such a complex function program as a general multi-purpose bus to control the data transactions between chips in the general chipset. The bus is such a complex program, and such a complex program may sacrifice a lot of performance characteristics in order to ensure that it can be applied to a variety of application environments. And with the trend of high integration, any control chip may combine more functions, for example, the CPU and the north bridge chip are combined into one chip, or the control chipset itself is combined into one chip, so that the pins on the chip package become A very precious resource that must be minimized to reduce the cost of the control chip. Therefore, in order to speed up data transactions between control chipsets and save chip pin resources, a special bus specification that simplifies but still satisfies data transactions between control chips is needed. For example: between the north and south bridges, a bus specification that simplifies multiple signal lines and is fast is designed, and the internal processing of this bus specification must be as close as possible to the general PCI specification, so as to be compatible with other modules in the chip and avoid too many control chips. Revise.

因此,本发明提出一种控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法,用以提高控制芯片组数据交换的效能,并简化控制芯片组内的信号线的种类与数量。Therefore, the present invention proposes a control chip set, a data transaction method between chips in the control chip set, and an arbitration method for controlling the bus between chips in the chip set, so as to improve the efficiency of data exchange in the control chip set and simplify the control of the chip set. The type and quantity of the signal lines inside.

本发明提出一种控制芯片组及控制芯片组内芯片间的数据事务方法,使控制芯片组内部控制芯片间传送数据,可连续传送多笔命令或数据,没有任何等待周期,也不会有停止或重试(retry)的情形,可节省使用总线的时间,提高传输效益。The present invention proposes a control chip set and a data transaction method between chips in the control chip set, so that the internal control chips of the control chip set can transmit data between the chips, and multiple commands or data can be transmitted continuously without any waiting period or stop Or retry (retry) situation, can save the time of using the bus, improve transmission efficiency.

本发明提出一种控制芯片组及控制芯片组内芯片间的数据事务方法,可节省总线中有关等待状态的信号线、有关数据事务周期长度的信号线以及有关停止重试通信协定的信号线等。The present invention proposes a control chip set and a method for controlling data transactions between chips in the chip set, which can save signal lines related to waiting state in the bus, signal lines related to the cycle length of data transactions, and signal lines related to stop and retry communication protocols, etc. .

本发明提出一种控制芯片组之间总线的判优方法,可缩短要求总线时的判优时间。The invention proposes an arbitration method for controlling the buses between chipsets, which can shorten the arbitration time when the bus is required.

本发明提出一种控制芯片组之间总线的判优方法,可节省有关总线同意(grant)的信号线。The invention proposes an arbitration method for controlling the bus between chipsets, which can save signal lines related to bus grant.

本发明提供一种控制芯片组,包括:一第一控制芯片,包括:一第一数据送收器,耦接至一芯片间总线,用以通过该芯片间总线,接收与发送数据信号,来完成多个写入事务;一读/写数据队列,耦接至该第一数据送收器,用以暂存该些读出/写入事务的数据;一读/写事务队列,耦接至该第一数据送收器,用以暂存该些读出/写入事务的数据长度及读出/写入地址;以及一目标控制器,耦接至该读/写数据队列及该读/写事务队列,该目标控制器根据目前该读/写事务队列中最先存入的读出/写入事务所对应的读出/写入地址以及在该读/写数据队列中所对应的数据,将即将读出/写入一目标装置的数据送出后,该第一数据送收器送出一读出/写入确认信号,而目前该读/写事务队列中最先存入的读出/写入事务所对应的读出/写入地址以及在该读/写数据队列中所对应的数据都被释放;以及一第二控制芯片,经由该芯片间总线耦接至该第一控制芯片,包括:一读/写缓冲器大小寄存器,用以存储该读/写数据队列所可容纳数据的总数;一读/写缓冲器计数寄存器,用以存储该读/写事务队列所可容纳读出/写入事务的总数;一第二数据送收器,耦接至该芯片间总线,用以通过该芯片间总线,接收与发送数据信号,来完成该些读出/写入事务,当该第二数据送收器收到该读出/写入确认信号后,送出一读出/写入成功释放缓冲器信号;一写事务产生器,耦接至该第二数据送收器,用以产生该些读出/写入事务的数据长度,读出/写入地址及数据;一读/写事务记录电路及队列,耦接至该第二数据送收器及该读/写事务产生器,用以暂存该些读出/写入事务的数据长度,并根据该读出/写入成功释放缓冲器信号,来计算目前该第一控制芯片中该读/写数据队列的一将用读/写缓冲器数据个数及该读/写事务队列的一将用读出/写入事务个数;以及一读/写比较器,耦接至该第二数据送收器、该读/写缓冲器大小寄存器、该读/写缓冲器计数寄存器及该读/写事务记录电路及队列,用以根据该将用读/写缓冲器数据个数、该将用读出/写入事务个数、该读/写事务队列所可容纳读出/写入事务的总数及该读/写数据队列所可容纳数据的总数,来通知该第二数据送收器送出新的读/写入事务相关的数据信号。The present invention provides a control chip set, including: a first control chip, including: a first data transmitter and receiver, coupled to an inter-chip bus, for receiving and sending data signals through the inter-chip bus to Complete multiple write transactions; a read/write data queue, coupled to the first data transmitter, for temporarily storing the data of these read/write transactions; a read/write transaction queue, coupled to The first data transceiver is used to temporarily store the data length and the read/write address of the read/write transactions; and a target controller is coupled to the read/write data queue and the read/write Write transaction queue, the target controller according to the read/write address corresponding to the read/write transaction first stored in the read/write transaction queue and the corresponding data in the read/write data queue , after sending the data to be read/written to a target device, the first data transmitter sends a read/write confirmation signal, and the read/write first stored in the current read/write transaction queue The read/write address corresponding to the write transaction and the corresponding data in the read/write data queue are released; and a second control chip, coupled to the first control chip via the inter-chip bus, Including: a read/write buffer size register, used to store the total number of data that can be accommodated in the read/write data queue; a read/write buffer count register, used to store the read/write transaction queue that can be accommodated /the total number of write transactions; a second data transmitter, coupled to the inter-chip bus, for receiving and sending data signals through the inter-chip bus, to complete the read/write transactions, when the After the second data transmitter receives the read/write confirmation signal, it sends a read/write successful release buffer signal; a write transaction generator is coupled to the second data transmitter for Generate the data length of these read/write transactions, read/write address and data; a read/write transaction recording circuit and queue, coupled to the second data transmitter and the read/write transaction generator , used to temporarily store the data lengths of the read/write transactions, and calculate the current usage of the read/write data queue in the first control chip according to the read/write successful release buffer signal The number of read/write buffer data and the number of read/write transactions to be used in the read/write transaction queue; and a read/write comparator, coupled to the second data transmitter, the read/write The write buffer size register, the read/write buffer count register, and the read/write transaction record circuit and queue are used to use the read/write buffer data number and the read/write transaction number to be used number, the total number of read/write transactions that the read/write transaction queue can accommodate, and the total number of data that can be accommodated in the read/write data queue, to notify the second data transmitter to send a new read/write transaction related data signals.

本发明藉由控制芯片组中各控制芯片内部队列的数据缓冲器具有固定大小与数量,且芯片间发出读写确认命令的顺序完全依照发出读写命令的顺序来回应,使控制芯片完全可以掌握另一控制芯片内部队列中缓冲器的使用情形,每一控制芯片发出的命令时,其相关数据必须先准备好,亦即使控制芯片组之间的所有事务情况透明化,因而可节省总线中有关等待状态的信号线、有关数据事务周期长度的信号线以及有关停止重试通信协定的信号线等。并且可连续传送多笔命令或数据,没有任何等待周期,也不会有停止或重试的情形发生,可节省使用总线的时间,提高传输效益。In the present invention, the data buffers of the internal queues of each control chip in the control chip set have a fixed size and quantity, and the order of reading and writing confirmation commands issued between the chips responds completely in accordance with the order of issuing read and write commands, so that the control chips can completely grasp The use of buffers in the internal queue of another control chip, when each command sent by the control chip, its relevant data must be prepared first, that is, all transactions between the control chipsets are transparent, thus saving the relevant data in the bus. Signal lines for wait states, signal lines for data transaction cycle length, and signal lines for stop-retry protocol, etc. And it can transmit multiple commands or data continuously without any waiting period, and there will be no stop or retry, which can save the time of using the bus and improve the transmission efficiency.

本发明的控制芯片组间的总线的判优方法,设定某一控制芯片平常掌握芯片间总线的控制权,但另一控制芯片却享有较高的总线优先权,搭配没有等待周期的芯片间总线规格,就不需要GNT信号线,可快速无误的判优总线的使用权归属,缩短判优的时间,并因为第二控制芯片组的事务要求总是被同意,近而提高整个传输效益。The arbitration method of the bus between the control chipsets of the present invention sets a certain control chip to normally control the bus between the chips, but another control chip enjoys a higher priority of the bus. The bus specification does not require the GNT signal line, which can quickly and accurately arbitrate the right to use the bus, shorten the time for arbitrating, and because the transaction requirements of the second control chipset are always approved, the entire transmission efficiency is improved.

为让本发明的上述目的、特征、和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下:In order to make the above-mentioned purposes, features, and advantages of the present invention more comprehensible, the preferred embodiments are specifically cited below, together with the accompanying drawings, and are described in detail as follows:

图1绘示一种公知在计算机结构中使用PCI总线系统的结构示意图;Fig. 1 depicts a kind of known structure schematic diagram using PCI bus system in computer structure;

图2绘示一PCI系统的主控器进行读取操作的时序图,用以简单说明PCI系统的各控制信号;FIG. 2 shows a timing diagram of a read operation performed by a master controller of a PCI system, which is used to briefly illustrate various control signals of the PCI system;

图3绘示依据本发明的一较佳实施例的一种控制芯片组的方块示意图;FIG. 3 shows a schematic block diagram of a control chip set according to a preferred embodiment of the present invention;

图4绘示依据本发明的一实施例中,传送数据位时间(bit time)与总线时钟脉冲信号以及触发信号线之间的时序关系图;FIG. 4 shows a timing relationship diagram between the transmitted data bit time (bit time), the bus clock pulse signal and the trigger signal line according to an embodiment of the present invention;

图5A绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关写入事务的内部结构方块示意图;FIG. 5A shows a control chip set according to a preferred embodiment of the present invention, wherein a schematic block diagram of an internal structure related to write transactions;

图5B绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关写入事务的相关时序图;FIG. 5B shows a control chip set according to a preferred embodiment of the present invention, wherein a related timing diagram related to writing transactions;

图6A绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关读出事务的内部结构方块示意图;以及FIG. 6A shows a control chip set according to a preferred embodiment of the present invention, wherein the internal structure block diagram related to the read transaction; and

图6B绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关读出事务的相关时序图;FIG. 6B shows a control chip set according to a preferred embodiment of the present invention, wherein a related timing diagram related to read transactions;

为了提出一种控制芯片组、控制芯片组内芯片间的数据事务方法以及控制芯片组内芯片间总线的判优方法,能提高控制芯片组数据事务的效能,并简化控制芯片组内的信号线的种类与数量,亦即简化控制芯片间的总线。本发明以计算机主机板内南桥与北桥所构成的控制芯片组为例,重新定义多个命令信号,在此称为高传输存储器连结(High Through-put Memory Link简称HTML)来化简原先复杂的PCI总线信号。在此较佳实施例中,原先的南桥与北桥之间的信号线需要45条信号线,本发明以15个命令信号线来取代原先的PCI总线信号线。In order to propose a control chipset, a method for controlling data transactions between chips in the chipset, and an arbitration method for controlling the bus between chips in the chipset, which can improve the efficiency of controlling the data transactions of the chipset and simplify the control of signal lines in the chipset The type and quantity, that is, simplify the bus between control chips. The present invention takes the control chipset composed of the south bridge and the north bridge in the mainboard of the computer as an example, and redefines multiple command signals, which are called High Through-put Memory Link (HTML for short) to simplify the original complexity. PCI bus signals. In this preferred embodiment, the original signal lines between the south bridge and the north bridge need 45 signal lines, and the present invention replaces the original PCI bus signal lines with 15 command signal lines.

参照图3与表一,其中图3是依据本发明的一较佳实施例的一种控制芯片组的方块示意图,图3亦绘示控制芯片组中的南桥与北桥间的信号线;而表一详细说明这些信号线的意义,由图3与表1可知,本发明的控制芯片组包括南桥30与北桥32两控制芯片,南桥30与北桥32之间原先的45个信号接脚简化为15个,多余的接脚便可以提供做为其他用途,以增进控制芯片组的功能。Referring to FIG. 3 and Table 1, wherein FIG. 3 is a schematic block diagram of a control chip set according to a preferred embodiment of the present invention, and FIG. 3 also shows the signal lines between the south bridge and the north bridge in the control chip set; and Table 1 details the meanings of these signal lines. As can be seen from FIG. 3 and Table 1, the control chip set of the present invention includes two control chips, the South Bridge 30 and the North Bridge 32, and the original 45 signal pins between the South Bridge 30 and the North Bridge 32 Simplified to 15, the extra pins can be provided for other purposes to enhance the functions of the control chipset.

如图3与表一所示,南桥30与北桥32之间,保留原先PCI总线协定规格所定的地址数据总线(AD bus),但将其缩减为仅有8条双向信号线,其他如CBE、FRAME、IRDY、TRDY、STOP、DEVSEL、REQ以及GNT等信号线,简化为一条双向位致能BE信号线,以及为由南桥30所驱动的上行链路命令(up link command)UPCMD、上行链路触发(up link strobe)UPSTB;还有由北桥32所驱动的下传链路命令(down link command)DNCMD、下传链路触发(down link strobe)DNSTB信号线等。南桥30与北桥32各驱动一条独立的命令信号线,代表此一较佳实施例具有全双工命令传送功能,能各自随时发出总线命令。且当发出总线命令的同时如果取得总线使用权,就可以在地址数据总线上发出地址,并在BE信号线发出目前命令的长度信息,或者在地址数据总线上送出数据,并在BE信号线发出这笔数据的字节致能信号。As shown in Figure 3 and Table 1, between the south bridge 30 and the north bridge 32, the address data bus (AD bus) specified in the original PCI bus agreement specification is retained, but it is reduced to only 8 bidirectional signal lines, and others such as CBE , FRAME, IRDY, TRDY, STOP, DEVSEL, REQ and GNT and other signal lines are simplified into a bidirectional bit enable BE signal line, and the uplink command (up link command) UPCMD and uplink command driven by the south bridge 30 Link trigger (up link strobe) UPSTB; There is also a down link command (down link command) DNCMD driven by the north bridge 32, a down link strobe (down link strobe) DNSTB signal line, etc. The south bridge 30 and the north bridge 32 each drive an independent command signal line, which means that this preferred embodiment has a full-duplex command transmission function, and can each send a bus command at any time. And when the bus command is issued, if the right to use the bus is obtained, the address can be issued on the address data bus, and the length information of the current command can be issued on the BE signal line, or the data can be sent on the address data bus and sent on the BE signal line. The byte enable signal for this amount of data.

                     表一     信号     驱动者   说明     CLK   66Mhz的时钟脉冲信号     DNSTB     北桥   下传链路触发     UPSTB     南桥   上行链路触发     DNCMD     北桥   下传链路命令     UPCMD     南桥   上行链路命令     BE     北桥/南桥   字节致能     AD[7:0]     北桥/南桥     地址/数据总线     VREF     参考电压     COMP     阻抗比较 Table I Signal driver illustrate CLK 66Mhz clock signal DNSTB north bridge Downlink trigger UPSTB south bridge uplink trigger DNCMD north bridge Download link command UPCMD south bridge uplink command BE North Bridge/South Bridge byte enable AD[7:0] North Bridge/South Bridge address/data bus VREF reference voltage COMP Impedance comparison

参照图4,其定义出本发明任一数据线传送数据位时间与总线时钟脉冲信号以及触发信号线之间的时序关系。由图可以看出,一个时钟脉冲周期包含两个触发STB的时钟脉冲信号,亦即在上行链路触发信号线以及下传链路触发信号线致动时的运作频率是2倍于时钟脉冲信号线上的时钟脉冲频率。利用触发信号的上升与下降边缘共可以定义出四个位时间0~3,利用此四个位时间共可取得4个位的数据,并可进行总线命令的编码。因此8条数据线,每一时钟脉冲周期可取得32位的数据,其效果等于在PCI总线中,同时有32条数据线在传送数据般。而如BE信号线代表长度信息时,可以在一个时钟脉冲周期得出1-16(4个位)数据长度信息。Referring to FIG. 4 , it defines the timing relationship between the data bit transmission time of any data line of the present invention, the bus clock pulse signal and the trigger signal line. It can be seen from the figure that a clock cycle includes two clock pulse signals that trigger the STB, that is, the operating frequency of the uplink trigger signal line and the downlink trigger signal line is twice that of the clock pulse signal. The clock pulse frequency on the line. A total of four bit times 0 to 3 can be defined by using the rising and falling edges of the trigger signal. Using these four bit times, a total of 4 bits of data can be obtained and the bus command can be encoded. Therefore, with 8 data lines, 32 bits of data can be obtained in each clock cycle, and its effect is equivalent to that in the PCI bus, 32 data lines are transmitting data at the same time. And if the BE signal line represents length information, 1-16 (4 bits) data length information can be obtained in one clock cycle.

上行链路命令UPCMD与下传链路命令DNCMD定义出各种不同的数据事务型态。由南桥30所驱动的上行链路命令UPCMD包括:北桥到南桥读取确认命令C2PRA、北桥到南桥写入确认命令C2PWA、南桥到北桥读取命令P2CR、南桥到北桥写入命令P2CW等。其与位时间的编码关系则如表二所示,请注意REQ总线要求信号,是在位时间0发出,与其他数据事务型态的命令并未重叠,所以在任何时间,甚至在发出数据事务型态命令的同一时钟脉冲周期,可同时发出此一REQ信号。由北桥3所驱动的下传链路命令DNCMD包括:北桥到南桥输出入读取命令C2PIOR、北桥到南桥存储器读取命令C2PMR、北桥到南桥输出入写入命令C2PIOW、北桥到南桥存储器写入命令C2PMW、南桥到北桥读取确认命令P2CRA、南桥到北桥写入确认命令P2CWA,其与位时间的编码关系则如表三所示。请注意,在本实施例并无有关GNT的信号定义。The uplink command UPCMD and the downlink command DNCMD define various data transaction types. The uplink command UPCMD driven by the south bridge 30 includes: north bridge to south bridge read confirmation command C2PRA, north bridge to south bridge write confirmation command C2PWA, south bridge to north bridge read command P2CR, south bridge to north bridge write command P2CW etc. The encoding relationship between it and the bit time is shown in Table 2. Please note that the REQ bus request signal is issued at bit time 0, and does not overlap with commands of other data transaction types. Therefore, at any time, even when sending a data transaction The REQ signal can be issued at the same time as the same clock cycle of the type command. The downlink command DNCMD driven by North Bridge 3 includes: North Bridge to South Bridge I/O Read Command C2PIOR, North Bridge to South Bridge Memory Read Command C2PMR, North Bridge to South Bridge I/O Write Command C2PIOW, North Bridge to South Bridge The memory write command C2PMW, south bridge to north bridge read confirmation command P2CRA, south bridge to north bridge write confirmation command P2CWA, the encoding relationship with the bit time is shown in Table 3. Please note that there is no signal definition related to GNT in this embodiment.

上述命令中南桥与北桥芯片所发出的命令是对应的,当南桥依序发出多个P2CR及/或P2CW命令后,北桥必须完全依照南桥发出命令的顺序回应相对应的P2CRA及/或P2CWA命令。当北桥依序发出多个C2PIOR、C2PMR、C2PIOW及C2PMW命令后,南桥必须依序回应相对应的C2PRA及C2PWA命令。且本实施例中,每一控制芯片发出的命令时,其相关数据必须先准备好。例如:当南桥发出P2CW时,必须要将所要写入的数据准备妥当,当北桥发出P2CRA时,必须要将所要传回的读出数据完全准备好,以避免在传输数据的当中有数据停顿无法接续的情形。In the above commands, the commands issued by the South Bridge and the North Bridge chips correspond. When the South Bridge sends out multiple P2CR and/or P2CW commands in sequence, the North Bridge must respond to the corresponding P2CRA and/or commands in the order in which the South Bridge issued the commands. P2CWA command. After the North Bridge sends multiple C2PIOR, C2PMR, C2PIOW and C2PMW commands in sequence, the South Bridge must respond to the corresponding C2PRA and C2PWA commands in sequence. And in this embodiment, when each control chip issues a command, its related data must be prepared first. For example: when the south bridge sends P2CW, the data to be written must be prepared properly; when the north bridge sends P2CRA, the read data to be sent back must be fully prepared to avoid data pauses during data transmission Unable to continue.

               表二(上行链路命令UPCMD) 位时间0REQ 位时间1PMSTR 位时间2MIO 位时间3WR     说明     -     0     -     0     C2PRA     -     0     -     1     C2PWA     -     1     0     0     P2CR     -     1     0     1     P2CW     -     1     1     1     NOP     0     -     -     -     REQ Table 2 (uplink command UPCMD) bit time 0REQ bit time 1PMSTR Bit time 2MIO Bit time 3WR illustrate - 0 - 0 C2PRA - 0 - 1 C2PWA - 1 0 0 P2CR - 1 0 1 P2CW - 1 1 1 NOP 0 - - - REQ

                   表三(下传链路命令DNCMD) 位时间0 位时间1PMSTR 位时间2MIO 位时间3WR     说明   -     0     0     0     C2PIOR   -     0     0     1     C2PIOW   -     0     1     0     C2PMR   -     0     1     1     C2PMW   -     1     0     0     P2CRA   -     1     0     1     P2CWA   -     1     1     1     NOP Table 3 (download link command DNCMD) bit time 0 bit time 1PMSTR Bit time 2MIO Bit time 3WR illustrate - 0 0 0 C2PIOR - 0 0 1 C2PIOW - 0 1 0 C2PMR - 0 1 1 C2PMW - 1 0 0 P2CRA - 1 0 1 P2CWA - 1 1 1 NOP

图5A绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关写入事务的内部结构方块示意图,参照图5A。此较佳实施例的控制芯片组,包括第一控制芯片以及第二控制芯片,例如:第一控制芯片是北桥芯片500,而第二控制芯片是南桥芯片600。其通过特殊的芯片间总线连接在一起,就是本发明定义的HTML。北桥芯片500包括:数据送收器510、目标控制器520(例如:存储器控制器520)、写数据队列525以及写事务队列530等。南桥芯片600包括:数据送收器610、写缓冲器大小寄存器535、写缓冲器计数寄存器540、写事务产生器545、写事务记录电路及队列550以及写比较器555。FIG. 5A shows a control chip set according to a preferred embodiment of the present invention, wherein the internal structure block diagram related to the write transaction, refer to FIG. 5A . The control chipset of this preferred embodiment includes a first control chip and a second control chip, for example: the first control chip is the north bridge chip 500 , and the second control chip is the south bridge chip 600 . They are connected together through a special inter-chip bus, which is the HTML defined in the present invention. The north bridge chip 500 includes: a data transceiver 510 , a target controller 520 (for example: a memory controller 520 ), a write data queue 525 , and a write transaction queue 530 . The south bridge chip 600 includes: a data transceiver 610 , a write buffer size register 535 , a write buffer count register 540 , a write transaction generator 545 , a write transaction recording circuit and queue 550 , and a write comparator 555 .

数据送收器510直接连接至HTML,是符合HTML适配器规格的数据收发控制器,能通过HTML接收与发送数据信号,来完成多个写入事务。在这里我们简称每一次从南桥芯片600送出P2CW命令与相关数据,到北桥芯片500回应相对此次P2CW命令的P2CWA命令为一次写入事务。写数据队列525,能依序暂存写入事务的数据。而写事务队列530,依序暂存所有写入事务的数据长度及写入地址。写事务队列530的深度决定北桥芯片可以同时处理写事务的个数,写数据队列525的深度决定北桥芯片可以处理写事务的数据的总数。目标控制器520根据目前在写事务队列530中最先存入的写入事务所对应的写入地址与数据长度,以及在写数据队列525中所对应的数据,将即将写入目标装置(如:外部存储器)的数据送出后,第一数据送收器510会送出写入确认信号(P2CWA命令),并且目前在写事务队列530中最先存入的写入事务所对应的写入地址与数据长度,以及在写数据队列525中所对应的数据都会被释放,也就是队列中暂存这些数据的存储位置都可再填入其他数据。The data transceiver 510 is directly connected to the HTML, and is a data transceiver controller conforming to the HTML adapter specification, capable of receiving and sending data signals through the HTML to complete multiple write transactions. Here we refer to as a write transaction that each time the south bridge chip 600 sends a P2CW command and related data, and the north bridge chip 500 responds to the P2CWA command corresponding to the P2CW command. The write data queue 525 can temporarily store the data of write transactions sequentially. The write transaction queue 530 sequentially temporarily stores the data lengths and write addresses of all write transactions. The depth of the write transaction queue 530 determines the number of write transactions that the Northbridge chip can process simultaneously, and the depth of the write data queue 525 determines the total number of data that the Northbridge chip can process write transactions. The target controller 520 will be about to write the target device (such as : After the data of the external memory is sent, the first data transceiver 510 will send a write confirmation signal (P2CWA command), and the write address corresponding to the write transaction first stored in the write transaction queue 530 at present is the same as The data length and the corresponding data in the write data queue 525 will be released, that is, the storage locations temporarily storing these data in the queue can be filled with other data.

南桥芯片600中的写缓冲器计数寄存器540以及写缓冲器大小寄存器535,分别存储北桥芯片500中写事务队列530所可容纳写入事务的总数以及写数据队列525所可容纳数据的总数,本实施例中,写事务队列530所可容纳写入事务的总数为4,而写数据队列525所可容纳数据的总数为16。这两个数字可由基本输出入系统在开机时设定,也可以在设计芯片时就固定等。The write buffer count register 540 and the write buffer size register 535 in the south bridge chip 600 respectively store the total number of write transactions that can be accommodated by the write transaction queue 530 in the north bridge chip 500 and the total number of data that can be accommodated by the write data queue 525, In this embodiment, the total number of write transactions that can be accommodated by the write transaction queue 530 is 4, and the total number of data that can be accommodated by the write data queue 525 is 16. These two numbers can be set by the basic input and output system when starting up, and can also be fixed when designing the chip.

数据送收器610,同样耦接至HTML,能通过HTML,接收与发送数据信号,来完成所有的写入事务,而且当数据送收器610收到P2CWA命令后,会送出写入成功释放缓冲器信号至写事务记录电路及队列550,可用以释放队列中存储对应此次写入事务的数据长度的存储位置。当写事务产生器545,产生一个新的写入事务的数据长度,写入地址及数据时,也会将数据长度送至写事务记录电路及队列550。The data transmitter 610 is also coupled to the HTML, and can receive and send data signals through the HTML to complete all write transactions, and when the data transmitter 610 receives the P2CWA command, it will send a write success release buffer The register signal is sent to the write transaction recording circuit and the queue 550, which can be used to release the storage location in the queue that stores the data length corresponding to the write transaction. When the write transaction generator 545 generates the data length of a new write transaction, and writes the address and data, the data length will also be sent to the write transaction recording circuit and the queue 550 .

写事务记录电路及队列550能计算出目前北桥芯片500中,有关写数据队列530的所有将用写缓冲器数据个数,以及写事务队列525的所有将用写入事务个数。这是由于写事务记录电路及队列550中,依序暂存有所有写入事务的数据长度,又由于北桥芯片500发出P2CWA命令是完全依照南桥芯片600发出P2CW命令的顺序来回应,南桥芯片600完全可以掌握北桥芯片500内部队列中缓冲器的使用情形。The write transaction recording circuit and queue 550 can calculate the number of all write buffer data to be used in the write data queue 530 and the number of all write transactions to be used in the write transaction queue 525 in the current north bridge chip 500 . This is because the data lengths of all write transactions are temporarily stored sequentially in the write transaction recording circuit and the queue 550, and because the Northbridge chip 500 sends out the P2CWA command to respond completely in accordance with the order in which the Southbridge chip 600 sends out the P2CW command, the Southbridge The chip 600 can fully grasp the usage of the buffers in the internal queue of the north bridge chip 500 .

写事务记录电路及队列550会将目前有关写数据队列530的所有将用写缓冲器数据个数,以及写事务队列525的所有将用写入事务个数送给写比较器555,写比较器555将上述信息与写缓冲器大小寄存器535存储的写数据队列525所可容纳数据的总数,以及写缓冲器计数寄存器540存储的写事务队列530所可容纳写入事务的总数来比较,如果两者都未超过可容纳的总数,就可通知数据送收器610送出新的写入事务相关的数据信号。The write transaction recording circuit and the queue 550 will send all the data numbers of the write buffer data about the write data queue 530 and the write transaction numbers of the write transaction queue 525 to the write comparator 555, and the write comparator 555 compares the above-mentioned information with the total amount of data that can be accommodated in the write data queue 525 stored in the write buffer size register 535, and the total number of write transactions that can be accommodated in the write transaction queue 530 stored in the write buffer count register 540, if both If neither of them exceeds the total number that can be accommodated, the data transmitter 610 can be notified to send a data signal related to a new write transaction.

参照图5B,假设在时钟脉冲T1时,南桥芯片获得地址数据总线的使用权并开始第一次写入事务。南桥芯片在上行链路命令UPCMD送出写入命令P2CW,在地址数据总线AD送出写入的地址ADDR,并在字节致能BE上送出所要写入的长度LEN=2,在时钟脉冲T2时,南桥芯片在AD上送出所要写入的第一笔数据,并在BE上送出第一笔数据的字节致能,在时钟脉冲T3时接着送出第二笔写入数据。此时北桥芯片内有一个未完成的写入事务。因为南桥芯片知道北桥芯片可以同时接受写入事务的个数以及写入数据队列的大小,因此能够判断北桥芯片是否可以再接受新的写入事务。如果北桥芯片仍有空的写入事务队列530及写入数据队列525可用,南桥芯片可以在时钟脉冲T4再开始第二次写入事务,此时北桥芯片内有二个未完成的写入事务。南桥芯片于T9时判断是否能开始第三次写入事务。当南桥芯片发觉第三次的写入事务会使北桥芯片的写入事务队列530或写入数据队列525溢满而无北桥芯片的写入事务队列530或写入数据队列525溢满而无法处理,南桥芯片就不能在时钟脉冲T9发动第三次写入事务。当北桥芯片经由存储器控制器将第一次写入事务的数据完全写入存储器后,于时钟脉冲T9在下传链路命令DNCMD送出写入确认命令,告诉南桥芯片第一次写入事务(长度LEN=2)已完成。南桥芯片就知道北桥芯片内可用的写入事务队列530增加一个,可用的写入数据队列525增加两个。南桥芯片收到北桥芯片的泄入确认命令,知道第一次写入事务已完成。相关的写入事务队列530及写入数据队列525已释出,判断北桥芯片可以接收第三次写入事务,于时钟脉冲T12开始第三次写入事务。Referring to FIG. 5B , it is assumed that at clock pulse T1, the south bridge chip obtains the right to use the address data bus and starts the first write transaction. The south bridge chip sends the write command P2CW in the uplink command UPCMD, sends the address ADDR written in on the address data bus AD, and sends the length LEN=2 to be written on the byte enable BE, and at the time of the clock pulse T2 , the south bridge chip sends the first data to be written on the AD, and sends the byte enable of the first data on the BE, and then sends the second write data at the clock pulse T3. At this time, there is an unfinished write transaction in the north bridge chip. Because the south bridge chip knows the number of write transactions that the north bridge chip can accept at the same time and the size of the write data queue, it can judge whether the north bridge chip can accept new write transactions. If the north bridge chip still has empty write transaction queue 530 and write data queue 525 available, the south bridge chip can start the second write transaction again at clock pulse T4, and there are two unfinished writes in this moment in the north bridge chip affairs. The south bridge chip judges whether the third write transaction can be started at T9. When the south bridge chip finds that the write transaction for the third time will cause the write transaction queue 530 or the write data queue 525 of the north bridge chip to overflow without the write transaction queue 530 of the north bridge chip or the write data queue 525 overflowing and cannot processing, the south bridge chip cannot initiate the third write transaction at the clock pulse T9. After the Northbridge chip completely writes the data of the first write transaction into the memory via the memory controller, it sends a write confirmation command in the downlink command DNCMD at the clock pulse T9, telling the Southbridge chip to write the transaction for the first time (length LEN=2) Completed. The south bridge chip knows that the available write transaction queue 530 in the north bridge chip increases by one, and the available write data queue 525 increases by two. The south bridge chip receives the leakage confirmation command from the north bridge chip and knows that the first write transaction has been completed. The related write transaction queue 530 and the write data queue 525 have been released, and it is judged that the north bridge chip can receive the third write transaction, and the third write transaction starts at the clock pulse T12.

图6A绘示依据本发明的一较佳实施例的一种控制芯片组,其中有关读出事务的内部结构方块示意图。参照图6A。此较佳实施例的控制芯片组,包括北桥芯片500以及南桥芯片600。其通过特殊的芯片间总线连接在一起,就是本发明定义的HTML。北桥芯片500包括:数据送收器510、目标控制器520(例如:存储器控制器520)、读数据队列625以及读事务队列630等。南桥芯片600包括:数据送收器610、读缓冲器大小寄存器635、读缓冲器计数寄存器640、读事务产生器645、读事务记录电路及队列650以及读比较器655。FIG. 6A is a schematic block diagram of the internal structure of a read transaction in a control chip set according to a preferred embodiment of the present invention. Refer to Figure 6A. The control chip set of this preferred embodiment includes a north bridge chip 500 and a south bridge chip 600 . They are connected together through a special inter-chip bus, which is the HTML defined in the present invention. The north bridge chip 500 includes: a data transceiver 510 , a target controller 520 (for example: a memory controller 520 ), a read data queue 625 , and a read transaction queue 630 . The south bridge chip 600 includes: a data transceiver 610 , a read buffer size register 635 , a read buffer count register 640 , a read transaction generator 645 , a read transaction recording circuit and queue 650 , and a read comparator 655 .

数据送收器510直接连接至HTML,是符合HTML适配器规格的数据收发控制器,能通过HTML接收与发送数据信号,来完成多个读出事务。在这里我们简称每一次从南桥芯片600送出P2CR命令,到北桥芯片500回应相对此次P2CR命令的P2CRA命令与相关数据为一次读出事务。读数据队列625,能依序暂存读出事务的数据。而读事务队列630,依序暂存所有读出事务的数据长度及读出地址。读事务队列630的深度决定北桥芯片可以同时处理读事务的个数,读数据队列625的深度决定北桥芯片可以处理读事务的数据的个数。目标控制器520根据目前在读事务队列630中最先存入的读出事务所对应的读出地址与数据长度,从目标装置(如:外部存储器)将数据读出后,存入读数据队列625中。然后,第一数据送收器510会送出读出确认信号(P2CRA命令)以及读事务队列630中最先存入的读出事务所对应的在读数据队列625的数据后,并且目前在读事务队列630中最先存入的读出事务所对应的读出地址与数据长度,以及在读数据队列625中所对应的数据都会被释放,也就是队列中暂存这些数据的缓冲器都可再填入其他数据。The data transceiver 510 is directly connected to the HTML, and is a data transceiver controller conforming to the HTML adapter specification, capable of receiving and sending data signals through the HTML to complete multiple read transactions. Here we refer to as a readout transaction every time the south bridge chip 600 sends a P2CR command and the north bridge chip 500 responds to the P2CRA command and related data corresponding to the P2CR command. The read data queue 625 can temporarily store the data of read transactions sequentially. The read transaction queue 630 sequentially temporarily stores the data lengths and read addresses of all read transactions. The depth of the read transaction queue 630 determines the number of read transactions that the Northbridge chip can process simultaneously, and the depth of the read data queue 625 determines the number of data that the Northbridge chip can process for read transactions. The target controller 520 reads the data from the target device (such as external memory) according to the read address and data length corresponding to the read transaction first stored in the read transaction queue 630, and stores it in the read data queue 625 middle. Then, the first data transceiver 510 will send out the read confirmation signal (P2CRA command) and the data in the read data queue 625 corresponding to the read transaction first stored in the read transaction queue 630, and is currently in the read transaction queue 630 The corresponding read-out address and data length of the read-out transaction first stored in the read-out transaction, as well as the corresponding data in the read-data queue 625, will be released, that is, the buffers temporarily storing these data in the queue can be filled with other buffers. data.

南桥芯片600中的读缓冲器计数寄存器640以及读缓冲器大小寄存器635,分别存储北桥芯片500中读事务队列630所可容纳读出事务的总数以及读数据队列625所可容纳数据的总数,本实施例中,读事务队列630所可容纳读出事务的总数为4,而读数据队列625所可容纳数据的总数为16。这两个数字可由基本输出入系统在开机时设定,也可以在设计芯片时就固定等。The read buffer count register 640 and the read buffer size register 635 in the south bridge chip 600 respectively store the total number of read transactions that can be accommodated by the read transaction queue 630 in the north bridge chip 500 and the total number of data that can be accommodated by the read data queue 625, In this embodiment, the total number of read transactions that can be accommodated by the read transaction queue 630 is 4, and the total number of data that can be accommodated by the read data queue 625 is 16. These two numbers can be set by the basic input and output system when starting up, and can also be fixed when designing the chip.

数据送收器610,同样耦接至HTML,能通过HTML,接收与发送数据信号,来完成所有的读出事务,而且当数据送收器610收到P2CRA命令后,除了将对应此次P2CRA命令的读出事务的数据送给读事务产生器645,也会送出读出成功释放缓冲器信号至读事务记录电路及队列650,可用以释放队列中存储对应此次读出事务的数据长度的存储位置。当读事务产生器645,产生一个新的读出事务的数据长度及读出地址时,也会将数据长度送至读事务记录电路及队列650。The data transceiver 610 is also coupled to the HTML, and can receive and send data signals through the HTML to complete all read transactions, and when the data transceiver 610 receives the P2CRA command, in addition to corresponding to the P2CRA command The data of the read transaction is sent to the read transaction generator 645, which also sends a read successful release buffer signal to the read transaction record circuit and the queue 650, which can be used to release the storage corresponding to the data length of the read transaction in the queue. Location. When the read transaction generator 645 generates the data length and read address of a new read transaction, it will also send the data length to the read transaction recording circuit and the queue 650 .

读事务记录电路及队列650能计算出目前北桥芯片500中,有关读数据队列630的所有将用读缓冲器数据个数,以及读事务队列625的所有将用读出事务个数。这是由于读事务记录电路及队列650中,依序暂存有所有读出事务的数据长度,又由于北桥芯片500发出P2CRA命令是完全依照南桥芯片600发出P2CR命令的顺序来回应,南桥芯片600完全可以掌握北桥芯片500内部队列中缓冲器的使用情形。The read transaction recording circuit and the queue 650 can calculate the number of all read buffer data to be used in the read data queue 630 and the number of all read transactions to be used in the read transaction queue 625 in the current north bridge chip 500 . This is because the data lengths of all read transactions are temporarily stored sequentially in the read transaction recording circuit and the queue 650, and because the North Bridge chip 500 sends the P2CRA command to respond in the order in which the South Bridge chip 600 sends the P2CR command, the South Bridge The chip 600 can fully grasp the usage of the buffers in the internal queue of the north bridge chip 500 .

读事务记录电路及队列650会将目前有关读数据队列630的所有将用读缓冲器数据个数,以及读事务队列625的所有将用读出事务个数送给读比较器655。读比较器655将上述信息与读缓冲器大小寄存器635存储的读数据队列625所可容纳数据的总数,以及读缓冲器计数寄存器640存储的读事务队列630所可容纳读出事务的总数来比较,如果两者都未超过可容纳的总数,就可通知数据送收器610送出新的读出事务相关的数据信号。The read transaction recording circuit and queue 650 will send all the data numbers of the read buffers to be used in the read data queue 630 and the number of all read transactions to be used in the read transaction queue 625 to the read comparator 655 . The read comparator 655 compares the above information with the total amount of data that can be accommodated in the read data queue 625 stored in the read buffer size register 635 and the total number of read transactions that can be accommodated in the read transaction queue 630 stored in the read buffer count register 640 , if both do not exceed the accommodated total, the data transmitter 610 may be notified to send a new read transaction-related data signal.

参照图6B,假设在时钟脉冲T1时,南桥芯片获得地址数据总线的使用权并开始第一次读取事务。南桥芯片在上行链路命令UPCMD送出读取命令P2CR,在地址数据总线AD上送出读取的地址ADDR,并在字节致能BE上送出所要读取的长度LEN=2。此时北桥芯片中有一个未完成的读取事务,因为南桥芯片知道北桥芯片可以同时接受读取事务的个数以及决定数据队列的大小,能够因此判断北桥芯片是否可以再接受新的读取事务。如果北桥芯片仍有空的读取事务队列630及读取数据队列625可用,南桥芯片可以在时钟脉冲T2再开始第二次读取事务(长度LEN=3),此时北桥芯片内有两个未完成的读取事务,南桥芯片判断在时钟脉冲T3时发动第3次读取事务,将使北桥芯片的读取事务队列630或读取数据队列625溢满而无法处理,因此南桥芯片不能在时钟脉冲T3开始第三次读取事务。当北桥芯片经由存储器控制器获得第一次读取事务的数据并存储于读取数据队列625后,它就发动读取确认命令将读取的数据送回南桥。时钟脉冲T7时北桥芯片获得地址数据总线的使用权,在下传链路命令DNCMD送出读取确认命令P2CRA,在地址数据总线送出第一次读取事务的第一笔数据。时钟脉冲T8时送出第二笔数据,此时南桥芯片知道第一次读取事务相关的读取事务队列630与读取数据队列625已经释出,而重新判断是否能发动第三次读取命令。在发动第三次读取命令之前,南桥芯片必须取得地址数据总线的使用权,因此在时钟脉冲T10用上行链路命令UPCMD送出REQ,向北桥芯片要求使用总线。北桥芯片于时钟脉冲T9-T10-T11经由读取确认命令将第二次读取命令的数据送出。南桥芯片在时钟脉冲T13时获得总线的使用权,发动第二次读取命令。Referring to FIG. 6B , it is assumed that at clock pulse T1, the south bridge chip obtains the right to use the address data bus and starts the first read transaction. The south bridge chip sends the read command P2CR in the uplink command UPCMD, sends the read address ADDR on the address data bus AD, and sends the length LEN=2 to be read on the byte enable BE. At this time, there is an unfinished read transaction in the north bridge chip, because the south bridge chip knows the number of read transactions that the north bridge chip can accept at the same time and determines the size of the data queue, so it can judge whether the north bridge chip can accept new read transactions affairs. If the north bridge still has empty read transaction queue 630 and read data queue 625 available, the south bridge chip can start the second read transaction (length LEN=3) again at clock pulse T2, now there are two in the north bridge chip For an unfinished read transaction, the south bridge chip judges that the third read transaction will be launched when the clock pulse T3 will make the read transaction queue 630 or the read data queue 625 of the north bridge chip overflow and cannot be processed, so the south bridge The chip cannot start the third read transaction at clock pulse T3. After the north bridge chip obtains the data of the first read transaction through the memory controller and stores it in the read data queue 625, it initiates a read confirmation command to send the read data back to the south bridge. At clock pulse T7, the north bridge chip obtains the right to use the address data bus, sends the read confirmation command P2CRA in the downlink link command DNCMD, and sends the first data of the first read transaction on the address data bus. The second data is sent at clock pulse T8. At this time, the south bridge chip knows that the read transaction queue 630 and the read data queue 625 related to the first read transaction have been released, and re-determines whether the third read can be initiated. Order. Before launching the third read command, the south bridge chip must obtain the right to use the address data bus, so the uplink command UPCMD is used to send REQ at the clock pulse T10 to request the use of the bus to the north bridge chip. The north bridge chip sends out the data of the second read command through the read confirmation command during the clock pulse T9-T10-T11. The south bridge chip obtains the right to use the bus at the time of the clock pulse T13, and initiates the second read command.

上述图5A、5B及图6A、6B说明的本发明的实施例,都是举例第一控制芯片是北桥芯片,而第二控制芯片是南桥芯片,且由南桥芯片主动发出命令,控制北桥芯片来读写数据。如本领域的技术人员可轻易知晓,只要南北桥中有对应的结构,并不限定要由南桥芯片主动发出命令,亦即第一控制芯片可以是南桥芯片,而第二控制芯片是北桥芯片。The embodiments of the present invention described in above-mentioned Fig. 5A, 5B and Fig. 6A, 6B are all examples that the first control chip is a north bridge chip, and the second control chip is a south bridge chip, and the south bridge chip actively issues commands to control the north bridge chip to read and write data. As those skilled in the art can easily know, as long as there is a corresponding structure in the north and south bridges, the south bridge chip is not limited to actively issue commands, that is, the first control chip can be the south bridge chip, and the second control chip can be the north bridge chip chip.

图5A、5B及图6A、6B只是一个实施例,不应该用以限制本发明。本发明的精神是:5A, 5B and 6A, 6B are just an embodiment, and should not be used to limit the present invention. The spirit of the present invention is:

1.发动写入或读取事务时,除了送出地址及命令外,也送出所要写入或读取的数据长度,因此不需要FRAME就可以知道该事务何时结束。1. When starting a write or read transaction, in addition to sending the address and command, it also sends the length of the data to be written or read, so you can know when the transaction ends without FRAME.

2.当有多个写入或读取事务等待完成时,写入或读取确认命令依序对应之前的写入或读取命令,因此可以知道对方芯片内部队列的使用情形,进而判断再发动新的写入或读取命令,也就是说流量控制是由发动写入或读取命令的芯片来做的,而接受写入或读取命令的芯片永远不会收到会使内部队列溢满的命令,因此不必做流量控制。2. When there are multiple write or read transactions waiting to be completed, the write or read confirmation commands correspond to the previous write or read commands in sequence, so you can know the usage of the internal queue of the other chip, and then judge the restart A new write or read command, that is to say, flow control is done by the chip that initiates the write or read command, and the chip that receives the write or read command never receives it will overflow the internal queue command, so there is no need to do flow control.

3.应用的范围不应只是南北桥芯片,应可应用在使任何两芯片间的数据传送。3. The scope of application should not be limited to the north and south bridge chips, but should be applicable to data transmission between any two chips.

综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域的技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰,因此本发明的保护范围应当以权利要求所界定范围为准。In summary, although the present invention has been disclosed above with preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art may make various modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention should be determined by the scope defined in the claims.

Claims (9)

1. control chip group comprises:
One first control chip comprises:
One first data are sent the receipts device, are coupled to a chip chamber bus, in order to by this chip chamber bus, receive and the transmission data-signal, finish a plurality of affairs that write;
One read/write data formation is coupled to these first data and send the receipts device, reads/write the data of affairs in order to temporary those;
One read/write transaction formation is coupled to these first data and send the receipts device, reads/writes the data length of affairs and read/write the address in order to temporary those; And
One target controller, be coupled to this read/write data formation and this read/write transaction formation, this target controller reads/write according to what deposits at first in this read/write transaction formation at present that affairs are pairing reads/write the address and pairing data in this read/write data formation, after the data of reading/writing a destination apparatus with being about to are sent, these first data are sent and are received device and send one and read/write entry confirmation signal, and deposit at first in this read/write transaction formation at present read/write affairs are pairing read/write the address and in this read/write data formation pairing data all be released; And
One second control chip is coupled to this first control chip via this chip chamber bus, comprising:
One read/write buffers sized registers, in order to store this read/write data formation can hold the sum of data;
One read/write buffers counter register, in order to store this read/write transaction formation can hold the sum of reading/write affairs;
One second data are sent the receipts device, are coupled to this chip chamber bus, in order to pass through this chip chamber bus, receive and the transmission data-signal, finish those and read/write affairs, when these second data send receive device receive this read/write entry confirmation signal after, send one and read/write successfully buffer release device signal;
One writes the affairs generator, is coupled to these second data and send the receipts device, reads/write the data length of affairs in order to produce those, reads/write address and data;
One read/write transaction writing circuit and formation, be coupled to these second data and send receipts device and this read/write transaction generator, read/write the data length of affairs in order to temporary those, and read/write successfully buffer release device signal according to this, calculating one of this read/write data formation in this first control chip at present will will be with reading/write the affairs number with one of read/write buffers data number and this read/write transaction formation; And
One read/write comparer, be coupled to these second data and send receipts device, this read/write buffers sized registers, this read/write buffers counter register and this read/write transaction writing circuit and formation, in order to according to this will with read/write buffers data number, this will with read/write affairs number, this read/write transaction formation can hold the sum that the sum of reading/write affairs and this read/write data formation institute can hold data, notify these second data to send to receive device to send new read/write and go into the data-signal that affairs are correlated with.
2. control chip group as claimed in claim 1, wherein this chip chamber bus comprises: an address data bus, one length/byte enable signal line, a up-link command signal line, a up-link line trigger signal, once pass the link command signal wire, pass a link line trigger signal and a time clock signal wire once.
3. control chip group as claimed in claim 2, the operation frequency when wherein this up-link line trigger signal and this time pass the actuating of link line trigger signal is 2 times of clock frequencies on this clock pulse signal line.
4. control chip group as claimed in claim 1, wherein this first is respectively the north bridge control chip and the south bridge control chip of computer main frame panel with this second control chip, and this target controller is a Memory Controller, and this destination apparatus is an external memory storage.
5. control chip group as claimed in claim 4, wherein this read/write transaction formation can hold read/write affairs add up to 4, this read/write data formation can hold data add up to 16.
6. the data transactions method between the control chip group, in order to finish a plurality of reading/write affairs, this control chip group comprises one first control chip and one second control chip, and this first control chip comprises a read/write data formation, reads/write the data of affairs in order to temporary those; An and read/write transaction formation, read/write the data length of affairs and read/write the address in order to temporary those, this second control chip comprises that keeping in those reads/write a read/write transaction writing circuit and the formation and a read/write comparer of the data length of affairs, and this data transactions method comprises the following steps:
By the chip chamber bus provide this read/write transaction formation can hold read/write go into affairs the sum and this read/write data formation can hold the sum of data to second control chip;
This first control chip according to deposit at first in this read/write transaction formation at present read/write affairs are pairing read/write the address and in this read/write data formation pairing data, the data of reading/writing a destination apparatus with being about to are read/are write out;
This first control chip is sent one and is read/write entry confirmation signal;
This first control chip discharges reading/writing of depositing at first in this read/write transaction formation at present, and affairs are pairing reads/write the address and pairing data in this read/write data formation;
This second control chip produces corresponding one and newly reads/write the data length of affairs, reads/write address and data;
Entry confirmation signal is read/write to this second control chip according to this, make this read/write transaction writing circuit and formation, calculating one of this read/write data formation in present this first control chip will will be with reading/write the affairs number with one of read/write buffers data number and this read/write data formation; And
This read/write comparer according to this will with read/write buffers data number, this will with read/write affairs number, this read/write transaction formation can hold the sum that the sum of reading/write affairs and this read/write data formation institute can hold data, decide and make this second control chip to send this new reading/write the relevant data length of affairs and read/write address and data.
7. the data transactions method between the control chip group as claimed in claim 6, wherein this first with this second control chip be to couple by a chip chamber bus, this first is respectively the north bridge control chip and the south bridge control chip of computer main frame panel with this second control chip, and this chip chamber bus comprises: an address data bus, one length/byte enable signal line, a up-link command signal line, a up-link line trigger signal, once pass the link command signal wire, pass a link line trigger signal and a time clock signal wire once.
8. the data transactions method between the control chip group as claimed in claim 7, the operation frequency when wherein this up-link line trigger signal and this time pass the actuating of link line trigger signal is 2 times of clock frequencies on this clock pulse signal line.
9. the data transactions method between the control chip group as claimed in claim 7, wherein this destination apparatus is an external memory storage.
CNB991256379A 1999-12-28 1999-12-28 Control chip set and data transaction method therebetween Expired - Lifetime CN1171154C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB991256379A CN1171154C (en) 1999-12-28 1999-12-28 Control chip set and data transaction method therebetween

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB991256379A CN1171154C (en) 1999-12-28 1999-12-28 Control chip set and data transaction method therebetween

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN 02158428 Division CN1238794C (en) 1999-12-28 1999-12-28 Method for controlling clip set and its data processing

Publications (2)

Publication Number Publication Date
CN1302020A CN1302020A (en) 2001-07-04
CN1171154C true CN1171154C (en) 2004-10-13

Family

ID=5284056

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991256379A Expired - Lifetime CN1171154C (en) 1999-12-28 1999-12-28 Control chip set and data transaction method therebetween

Country Status (1)

Country Link
CN (1) CN1171154C (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100431315C (en) * 2002-06-07 2008-11-05 友讯科技股份有限公司 Method for increasing transmitting and receiving efficiency of embedded Ethernet controller
KR20180094724A (en) * 2017-02-16 2018-08-24 에스케이하이닉스 주식회사 Memory system and operating method thereof
CN107291652B (en) * 2017-07-05 2020-06-09 深圳市奈瑞特科学技术有限公司 Parallel communication method
CN115695325B (en) * 2021-07-23 2025-09-23 广州希姆半导体科技有限公司 A flow control circuit and method
JP7749447B2 (en) * 2021-12-20 2025-10-06 キオクシア株式会社 Semiconductor device and control method

Also Published As

Publication number Publication date
CN1302020A (en) 2001-07-04

Similar Documents

Publication Publication Date Title
EP1730643A2 (en) Pvdm (packet voice data module) generic bus protocol
CN1288544A (en) Data transferring in source-synchronous and common clock protocols
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6128674A (en) Method of minimizing host CPU utilization in driving an adapter by residing in system memory a command/status block a soft interrupt block and a status block queue
CN1197238A (en) Peripheral Device Interconnection Bus System
CN1118029C (en) Systems and methods for flow control of high speed buses
US7171509B2 (en) Method and apparatus for host messaging unit for Peripheral Component Interconnect busmaster devices
CN118550857B (en) Data transmission method, device, electronic device and storage medium
CN116627869B (en) Data transmission method and device applied to electronic equipment
US5884052A (en) Smart retry mechanism to program the retry latency of a PCI initiator agent
EP1226504B1 (en) Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect
US7096290B2 (en) On-chip high speed data interface
US6748505B1 (en) Efficient system bus architecture for memory and register transfers
US6721833B2 (en) Arbitration of control chipsets in bus transaction
US6519670B1 (en) Method and system for optimizing a host bus that directly interfaces to a 16-bit PCMCIA host bus adapter
CN1171154C (en) Control chip set and data transaction method therebetween
JP2005504392A (en) Bus system and bus interface
JP4037788B2 (en) Signal transmission device between control chipsets
US6327636B1 (en) Ordering for pipelined read transfers
JP2005504393A (en) Bus system and bus interface
US6615306B1 (en) Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface
US7779188B2 (en) System and method to reduce memory latency in microprocessor systems connected with a bus
US6240474B1 (en) Pipelined read transfers
US7673091B2 (en) Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
US6178477B1 (en) Method and system for pseudo delayed transactions through a bridge to guarantee access to a shared resource

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
CX01 Expiry of patent term

Granted publication date: 20041013

CX01 Expiry of patent term