US20020019899A1 - Method of bus priority arbitration - Google Patents

Method of bus priority arbitration Download PDF

Info

Publication number
US20020019899A1
US20020019899A1 US09/922,092 US92209201A US2002019899A1 US 20020019899 A1 US20020019899 A1 US 20020019899A1 US 92209201 A US92209201 A US 92209201A US 2002019899 A1 US2002019899 A1 US 2002019899A1
Authority
US
United States
Prior art keywords
bus
master
data
response
pci
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.)
Abandoned
Application number
US09/922,092
Inventor
Chi-Che Tsai
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 US09/922,092 priority Critical patent/US20020019899A1/en
Assigned to VIA TECHNOLOGIES, INC. reassignment VIA TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: TSAI, CHI-CHE
Publication of US20020019899A1 publication Critical patent/US20020019899A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Definitions

  • the invention relates to a peripheral component interconnect (PCI) bus. More particularly, the present invention relates to the operation of a PCI bus priority arbitration.
  • PCI peripheral component interconnect
  • FIG. 1 a structure diagram schematically illustrates a computer architecture that uses a conventional Periphery Component Interconnect (PCI) bus.
  • PCI Periphery Component Interconnect
  • a central processing unit 10 and a memory 11 are coupled with a PCI bus 14 via a host bridge 12 .
  • the PCI bus 14 in turn is coupled with a plurality of PCI-compatible devices such as a graphic adapter 16 a , an expansion bus bridge 16 b , a network interface 16 c , and a SCSI interface 16 d.
  • PCI Periphery Component Interconnect
  • Each PCI-compatible devices has a master. Before using the PCI bus 14 , each of the masters outputs a request signal to request the use of the PCI bus 14 .
  • the bus arbiter embedded within the host bridge 12 outputs a grant signal to the master as a response to the request of the master.
  • the data transaction between the different PCI-compatible devices can be performed via interface control signals as described hereafter.
  • the initiator outputs a cycle frame signal (FRAME#) to initiate a data transaction.
  • the cycle frame signal (FRAME#) implies that data transaction through the PCI bus has started.
  • FRAME# remains at a low level, data transaction is still under way.
  • a valid address is put on the address/data bus lines (AD) during a so-called “address phase”.
  • valid bus commands (satisfying PCI specifications) are outputted from a plurality of command/byte enable (CBE [3:0]) lines to inform the target about the type of data transaction requested by the initiator.
  • CBE [3:0] command/byte enable
  • an initiator ready signal (IRDY#) and a target ready signal (TRDY#) work with each other to indicate that the initiator and the target are ready to process the data transaction.
  • IRDY# initiator ready signal
  • TRDY# target ready signal
  • STOP# stop signal
  • FIG. 2 a block diagram schematically illustrates a general PCI architecture comprising a plurality of PCI-compatible devices. These PCI-compatible devices ( 38 , 40 , 42 , 44 ) are coupled to a PCI bus 36 .
  • An bus arbiter 22 embedded in a host bridge 20 is coupled with the PCI bus 36 to give the PCI compatible devices authorization to use the PCI bus 36 .
  • Each of PCI-compatible devices has a master, which can assert a request signal (REQ) to the bus arbiter 22 for use of the PCI bus 36 at any time.
  • the bus arbiter 22 then can assert a grant signal (GNT) to one of the PCI-compatible devices to grant the use of the PCI bus 36 .
  • REQ request signal
  • GNT grant signal
  • the bus arbiter 22 outputs a response signal (STOP#) to the PCI-compatible device to signal that the grant for using the PCI bus is refused.
  • the master of the PCI-compatible device then deasserts its request signal (REQ#).
  • the master of the PCI-compatible device outputs a request signal (REQ#) to the bus arbiter 22 again.
  • the above sequence of transactions is repeated until the data is ready.
  • the bus arbiter 22 authorizes the PCI-compatible device to use the PCI bus 36 , the data requested by the PCI-compatible device can be effectively transferred.
  • FIG. 3 a diagram schematically illustrates the state of response in the conventional operation of a PCI system.
  • GNT 0 ( 50 ), GNT 1 ( 52 ), GNT 2 ( 54 ), and GNT 3 ( 56 ) respectively represent the different states of response of the bus arbiter with respect to each of the masters.
  • the bus arbiter At one particular state of response, the bus arbiter only responds to the request of one master.
  • the bus arbiter is positioned at the initial state of response 50 (GNT 0 ).
  • the state of response 52 (GNT 1 ) consequently has the highest priority when the bus arbiter will shift to the next state of response.
  • the bus arbiter will identically follow the path g 01 to first shift to the state of response 52 (GNT 1 ).
  • the state of response 54 (GNT 2 ) has the highest priority.
  • the state of response 56 (GNT 3 ) has the highest priority, etc.
  • the request from each of the masters will be cyclically processed by the bus arbiter cyclically passing from one state of response to another.
  • the bus arbiter identically runs along the same direction, a delay of the response might occur as described hereafter. For example, let's assume that the bus arbiter is at the state of response 52 (GNT 1 ) addressed to one particular master and that the master of the state of response 54 (GNT 2 ) outputs a request signal. In accordance with the priority rule, the bus arbiter shifts to the state of response 54 (GNT 2 ) via the pathway g 12 .
  • the master of the state of response 52 (GNT 1 ) has not been completed yet.
  • the master of the state of response 52 (GNT 1 ) thus must wait for the bus arbiter to perform an entire cycle via the successive states of response 54 (GNT 2 ), 56 (GNT 3 ), and 50 (GNT 0 ) to the state of response 52 (GNT 1 ) before obtaining the right to use the PCI bus again.
  • FIG. 4 a time/sequence diagram schematically illustrates the cyclical response sequence of a conventional PCI structure.
  • FIG. 4 illustrates the example of only two requests cyclically outputted by a first and second masters.
  • the bus arbiter first responds to the request from the first master (GNT 1 #).
  • the first master outputs a cycle frame signal (FRAME#) and an initiator ready signal (IRDY#) meaning that the first master is in a state of waiting for the data transaction.
  • FRAME# cycle frame signal
  • IRDY# initiator ready signal
  • the bus arbiter then outputs a device select signal (DEVSEL#) and a stop signal (STOP#), wherein the stop signal (STOP#) implies that the data is not ready, and then the request signal (REQ 1 ) and the grant signal (GNT 1 #) change to high level. Because the first master does not receive any data, the first master then asserts a request signal (REQ 1 #) meaning that the first master is still requesting the use of the PCI bus. It should be noted that the PMADS signal represents the address into which the host bridge must transfer the data, while the PMRDY signal indicates whether the data is ready to be transferred.
  • the bus arbiter of the host bridge shifts to the request of the second master (REQ 2 #) in accordance with the priority rule.
  • the operation sequences that take place are similar to those of the first master, and the data for the second master also is not ready.
  • the bus arbiter then shifts to the request of the first master (REQ 1 #) at the following transaction time cycle 64 .
  • the bus arbiter refuses to grant the use of the PCI bus to the first master by outputting the stop signal (STOP#) because the data is not ready.
  • the PMRDY signal is outputted, announcing that the data is ready.
  • the bus arbiter still shifts to the request of the second master(REQ 2 ) at the following time cycle 66 in accordance with the priority rule.
  • the data transaction for the PCI-compatible device of the first master thus is processed only at the transaction time cycle 68 , once the bus arbiter shifts again to the state of response addressed to the first master.
  • a major aspect of the present invention is thus to provide a method of bus priority arbitration driven by data. It means that the bus arbiter does not follow the conventional priority rule. The bus arbiter gives a highest priority to a master to use the PCI bus if this master's data is ready. Utilizing the method, the conventional delays of data transfer on the PCI bus can be eliminated.
  • the method of the PCI bus arbitration comprises the following steps. First, the requests of each masters is evaluated according to a predefined orderly rotation. The evaluation of the requests of the masters according to the predefined orderly rotation is stopped when a data requested by one of the master is ready. Then, attribute the highest priority to the master which the data is ready for the grant to use the bus. The data then is effectively transferred via the bus. Finally, once the data transfer is completed, the evaluation of the requests of the master according to the predefined orderly rotation resumes.
  • the present invention further provides a peripheral device interconnect structure that comprises a bus, a host bridge connected to the bus, and a plurality of peripheral devices connected to the bus, each of the peripheral devices embedding a master.
  • the host bridge is arranged such that it can:
  • FIG. 1 is a block diagram schematically illustrating an example of a PCI structure in a conventional computer
  • FIG. 2 is a block diagram schematically illustrating a general PCI structure
  • FIG. 3 is a state of response diagram schematically illustrating the conventional operation of a PCI structure
  • FIG. 4 is a time/sequence diagram schematically illustrating an example of the conventional operation of a PCI structure
  • FIG. 5 is a state of response diagram schematically illustrating the operation of a PCI structure according to a preferred embodiment of the present invention.
  • FIG. 6 is a time/sequence diagram schematically illustrating the operation of a PCI structure according to a preferred embodiment of the present invention.
  • FIG. 5 a state of response diagram schematically illustrates the operation of a PCI structure based on the data according to a preferred embodiment of the present invention.
  • a major feature of the present invention is that the grant signals from the bus arbiter is not cyclically processed. Instead, the bus arbiter can shift from one state of response to any of the other states of response according to a priority evaluated from the requested data.
  • the state of response 70 indicates a response from the bus arbiter of the host bridge 12 to the request of the master of the graphic adapter 16 a .
  • the state of response 72 indicates a response to the expansion bus bridge 16 b
  • the state of response 74 indicates a response to the network interface 16 c .
  • the state of response 76 indicates a response to the SCSI interface 16 d.
  • the bus arbiter of the host bridge 12 is positioned at the state of response 70 (GNT 0 ) at a starting stage.
  • the master of the PCI-compatible device 16 b (expansion bus bridge) outputs a request signal.
  • the bus arbiter then shifts to the state of response 72 (GNT 1 ) via the pathway 0 A according to, for example, a predefined anti-clockwise rotation.
  • the host bridge 12 accesses the data stored in the memory 11 requested by the PCI-compatible device 16 b .
  • the bus arbiter shifts to the state of response 74 (GNT 2 ) via the pathway 1 A according to the predefined anti-clockwise rotation. While shifting to the state of response 74 (GNT 2 ), if the data requested by the PCI-compatible device 16 b is ready, the host bridge 12 attributes the highest priority to the PCI-compatible device 16 b . The bus arbiter consequently shifts back to the response state 72 (GNT 1 ) via the pathway 2 C. In the present invention, the data thus drives the priority selection for granting use of the PCI bus. The PCI-compatible device 16 b then can receive the data by using the PCI bus 14 . After the data transaction is completed, the bus arbiter can either return to the state of response from which it shifted when the access priority was changed, or shift to the next state of response according to the predetermined anti-clockwise rotation.
  • the PCI-compatible device 16 d (SCSI interface) also outputs a request signal when the bus arbiter has shifted to the response state 74 (GNT 2 ).
  • the bus arbiter then shifts to the state of response 76 (GNT 3 ) via the pathway 2 A.
  • the data for the PCI-compatible device 16 b is ready only after the bus arbiter is at the state of response 76 (GNT 3 ).
  • the host bridge 12 then attributes the highest priority of use the PCI bus to the PCI-compatible device 16 b .
  • the bus arbiter directly shifts to the state of response 72 (GNT 1 ) via the pathway 3 B to grant the use of the PCI bus 14 to the PCI-compatible device 16 b .
  • the bus arbiter then shifts to either the state of response 76 (GNT 3 ) via the pathway 1 B or the state of response 74 (GNT 2 ) via the pathway 1 A.
  • a time/sequence diagram schematically illustrates a bus priority arbitration based on data according to a preferred embodiment of the present invention.
  • the time/sequence diagram illustrates the operation of the present invention only for two requests from two masters.
  • the present invention can be effectively implemented for PCI bus that comprises more than two PCI-compatible devices.
  • a first master and a second master output request signals (REQ 1 # and REQ 2 #).
  • the bus arbiter of the host bridge (not shown), for example, first responds to the request signal (REQ 1 #) of the first master (GNT 1 #).
  • the first master outputs a cycle frame signal (FRAME#) and an initiator ready signal (IRDY#) meaning that it is in a state of waiting for the data transaction.
  • FRAME# cycle frame signal
  • IRDY# initiator ready signal
  • the bus arbiter of the host bridge then outputs a device select signal (DEVSEL#) and a stop signal (STOP#), wherein the stop signal (STOP#) implies that the data is not ready, and then the request signal (REQ 1 ) and the grant signal (GNT 1 #) change to high level. Because the first master does not receive any data, the first master then asserts a request signal (REQ 1 #) that activates the state of response GNT 1 #, meaning that the request from the first master has not been satisfied yet.
  • DEVSEL# device select signal
  • STOP# stop signal
  • REQ 1 the request signal
  • GNT 1 # grant signal
  • the bus arbiter responds to the request signal (REQ#) from the second master in accordance with the priority rule. Similar to the above, the data requested by the second master is not ready and the second master can not use the PCI bus because of the stop signal (STOP#).
  • the bus arbiter responds to the request signal (REQ 1 #) from the first master in accordance with the priority rule.
  • the data still is not ready and the bus arbiter outputs a stop signal (STOP#) to change the request signal (REQ 1 #) to high level.
  • STOP# stop signal
  • the PMRDY signal is activated, implying that the data is ready.
  • the data is taken into account by the host bridge that consequently attributes the highest priority to the first master.
  • the bus arbiter thus grants use of the PCI bus to the first master to effectively transfer the data via the PCI bus.
  • the host bridge when a master outputs a request signal for using the PCI bus, the host bridge informs the corresponding data storage device to prepare the requested data. Once the data is ready, the host bridge consequently attributes the highest priority to the master regardless of which state of response the bus arbiter of the host bridge is in. The data thus drives the priority arbitration in the present invention, which advantageously eliminates the conventional delay of data transfer.

Abstract

A method of bus priority arbitration is disclosed. In a structure that comprises a bus and a plurality of peripheral devices, each comprising a master, a request from each of the master is responded to according to a predefined orderly rotation. When a data for one of the peripheral devices is ready, the response to the request of each of the master according to the predefined orderly rotation is stopped, and the highest priority is attributed to the peripheral device which data is ready for using the bus. The data transfer then is firstly performed.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application claims the priority benefit of U.S.A provisional application Ser. No. 60/225,018, filed Aug. 11, 2000, and Taiwan application Ser. No. 90110586, filed May 3, 2001.[0001]
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0002]
  • The invention relates to a peripheral component interconnect (PCI) bus. More particularly, the present invention relates to the operation of a PCI bus priority arbitration. [0003]
  • 2. Description of the Related Art [0004]
  • Referring to FIG. 1, a structure diagram schematically illustrates a computer architecture that uses a conventional Periphery Component Interconnect (PCI) bus. A [0005] central processing unit 10 and a memory 11 are coupled with a PCI bus 14 via a host bridge 12. The PCI bus 14 in turn is coupled with a plurality of PCI-compatible devices such as a graphic adapter 16 a, an expansion bus bridge 16 b, a network interface 16 c, and a SCSI interface 16 d.
  • Each PCI-compatible devices has a master. Before using the [0006] PCI bus 14, each of the masters outputs a request signal to request the use of the PCI bus 14. The bus arbiter embedded within the host bridge 12 outputs a grant signal to the master as a response to the request of the master.
  • The data transaction between the different PCI-compatible devices (or between host bridge and PCI-compatible master) can be performed via interface control signals as described hereafter. The initiator outputs a cycle frame signal (FRAME#) to initiate a data transaction. The cycle frame signal (FRAME#) implies that data transaction through the PCI bus has started. When the cycle frame signal (FRAME#) remains at a low level, data transaction is still under way. At the same time, a valid address is put on the address/data bus lines (AD) during a so-called “address phase”. Meanwhile, valid bus commands (satisfying PCI specifications) are outputted from a plurality of command/byte enable (CBE [3:0]) lines to inform the target about the type of data transaction requested by the initiator. After the output of valid address, the requested data is put on the address/data bus line (AD) during a so-called “data phase”. In the meantime, byte enable signals corresponding to the encoded valid bus command are delivered through the CBE lines for data transaction. [0007]
  • When the initiator terminates the cycle frame signal (FRAME#), either the last set of data is outputted, or the data transaction is completed. During the data transaction, an initiator ready signal (IRDY#) and a target ready signal (TRDY#) work with each other to indicate that the initiator and the target are ready to process the data transaction. During a data read operation, putting up an initiator ready signal (IRDY#) implies that the initiator is ready to receive data. During a data write operation, the activation of a target ready signal (TRDY#) means that the target device is ready to receive data. In addition, there is a stop signal (STOP#) that can be set up by the target to inform the initiator to terminate the current data transaction. [0008]
  • Referring to FIG. 2, a block diagram schematically illustrates a general PCI architecture comprising a plurality of PCI-compatible devices. These PCI-compatible devices ([0009] 38, 40, 42, 44) are coupled to a PCI bus 36. An bus arbiter 22 embedded in a host bridge 20 is coupled with the PCI bus 36 to give the PCI compatible devices authorization to use the PCI bus 36.
  • Each of PCI-compatible devices has a master, which can assert a request signal (REQ) to the [0010] bus arbiter 22 for use of the PCI bus 36 at any time. The bus arbiter 22 then can assert a grant signal (GNT) to one of the PCI-compatible devices to grant the use of the PCI bus 36.
  • However, if the data requested by a request master is not ready, the [0011] bus arbiter 22 outputs a response signal (STOP#) to the PCI-compatible device to signal that the grant for using the PCI bus is refused. The master of the PCI-compatible device then deasserts its request signal (REQ#). At the next transaction cycle, the master of the PCI-compatible device outputs a request signal (REQ#) to the bus arbiter 22 again. The above sequence of transactions is repeated until the data is ready. Then, when the bus arbiter 22 authorizes the PCI-compatible device to use the PCI bus 36, the data requested by the PCI-compatible device can be effectively transferred.
  • Referring to FIG. 3, a diagram schematically illustrates the state of response in the conventional operation of a PCI system. GNT[0012] 0(50), GNT1(52), GNT2(54), and GNT3(56) respectively represent the different states of response of the bus arbiter with respect to each of the masters. At one particular state of response, the bus arbiter only responds to the request of one master. At a starting stage, the bus arbiter is positioned at the initial state of response 50 (GNT0). The state of response 52 (GNT1) consequently has the highest priority when the bus arbiter will shift to the next state of response. That means that no matter from which master the following request signal is delivered, the bus arbiter will identically follow the path g01 to first shift to the state of response 52 (GNT1). Similarly, when the bus arbiter is at the state of response 52 (GNT1), the state of response 54 (GNT2) has the highest priority. When the bus arbiter is at the state of response 54 (GNT2), the state of response 56 (GNT3) has the highest priority, etc.
  • By arranging the states of response within a closed circular pathway as in the above-described, the request from each of the masters will be cyclically processed by the bus arbiter cyclically passing from one state of response to another. However, because the bus arbiter identically runs along the same direction, a delay of the response might occur as described hereafter. For example, let's assume that the bus arbiter is at the state of response [0013] 52 (GNT1) addressed to one particular master and that the master of the state of response 54 (GNT2) outputs a request signal. In accordance with the priority rule, the bus arbiter shifts to the state of response 54 (GNT2) via the pathway g12. However, the data requested by the master of the state of response 52 (GNT1) has not been completed yet. The master of the state of response 52 (GNT1) thus must wait for the bus arbiter to perform an entire cycle via the successive states of response 54 (GNT2), 56 (GNT3), and 50 (GNT0) to the state of response 52 (GNT1) before obtaining the right to use the PCI bus again.
  • Referring to FIG. 4, a time/sequence diagram schematically illustrates the cyclical response sequence of a conventional PCI structure. For the sake of simplification, FIG. 4 illustrates the example of only two requests cyclically outputted by a first and second masters. At the [0014] transaction time cycle 60, both the first master and the second master request (REQ1# and REQ2# staying in low level) for the grant to use the PCI bus. In accordance with the priority rule, the bus arbiter first responds to the request from the first master (GNT1#). The first master outputs a cycle frame signal (FRAME#) and an initiator ready signal (IRDY#) meaning that the first master is in a state of waiting for the data transaction. The bus arbiter then outputs a device select signal (DEVSEL#) and a stop signal (STOP#), wherein the stop signal (STOP#) implies that the data is not ready, and then the request signal (REQ1) and the grant signal (GNT1#) change to high level. Because the first master does not receive any data, the first master then asserts a request signal (REQ1#) meaning that the first master is still requesting the use of the PCI bus. It should be noted that the PMADS signal represents the address into which the host bridge must transfer the data, while the PMRDY signal indicates whether the data is ready to be transferred.
  • At the following [0015] transaction time cycle 62, the bus arbiter of the host bridge shifts to the request of the second master (REQ2#) in accordance with the priority rule. The operation sequences that take place are similar to those of the first master, and the data for the second master also is not ready. In accordance with the priority rule, the bus arbiter then shifts to the request of the first master (REQ1#) at the following transaction time cycle 64. At the transaction time cycle 64, the bus arbiter refuses to grant the use of the PCI bus to the first master by outputting the stop signal (STOP#) because the data is not ready. However, soon after the request signal (REQ1#) is changed to high level subsequent to the stop signal (STOP#), the PMRDY signal is outputted, announcing that the data is ready. However, the bus arbiter still shifts to the request of the second master(REQ2) at the following time cycle 66 in accordance with the priority rule. The data transaction for the PCI-compatible device of the first master thus is processed only at the transaction time cycle 68, once the bus arbiter shifts again to the state of response addressed to the first master.
  • The above description reveals that the conventional response operation performed by the bus arbiter disadvantageously generates a delay in the data transfer to the PCI-compatible devices. [0016]
  • SUMMARY OF THE INVENTION
  • A major aspect of the present invention is thus to provide a method of bus priority arbitration driven by data. It means that the bus arbiter does not follow the conventional priority rule. The bus arbiter gives a highest priority to a master to use the PCI bus if this master's data is ready. Utilizing the method, the conventional delays of data transfer on the PCI bus can be eliminated. [0017]
  • To accomplish at least the foregoing objectives, the method of the PCI bus arbitration comprises the following steps. First, the requests of each masters is evaluated according to a predefined orderly rotation. The evaluation of the requests of the masters according to the predefined orderly rotation is stopped when a data requested by one of the master is ready. Then, attribute the highest priority to the master which the data is ready for the grant to use the bus. The data then is effectively transferred via the bus. Finally, once the data transfer is completed, the evaluation of the requests of the master according to the predefined orderly rotation resumes. [0018]
  • To accomplish at least the foregoing objectives, the present invention further provides a peripheral device interconnect structure that comprises a bus, a host bridge connected to the bus, and a plurality of peripheral devices connected to the bus, each of the peripheral devices embedding a master. The host bridge is arranged such that it can: [0019]
  • evaluate a plurality of request information from each of the master according to a predefined orderly rotation; [0020]
  • receive information indicating that a data transfer for one of the master controllers is ready; and [0021]
  • stop evaluating the request information from each of the masters according to the predefined orderly rotation when receiving information indicating that a data transfer is ready to attribute the highest priority to one of the peripheral devices for granting use to the bus. [0022]
  • It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed.[0023]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings, [0024]
  • FIG. 1 is a block diagram schematically illustrating an example of a PCI structure in a conventional computer; [0025]
  • FIG. 2 is a block diagram schematically illustrating a general PCI structure; [0026]
  • FIG. 3 is a state of response diagram schematically illustrating the conventional operation of a PCI structure; [0027]
  • FIG. 4 is a time/sequence diagram schematically illustrating an example of the conventional operation of a PCI structure; [0028]
  • FIG. 5 is a state of response diagram schematically illustrating the operation of a PCI structure according to a preferred embodiment of the present invention; and [0029]
  • FIG. 6 is a time/sequence diagram schematically illustrating the operation of a PCI structure according to a preferred embodiment of the present invention.[0030]
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • The following detailed description of the embodiments and examples of the present invention with reference to the accompanying drawings is only illustrative and not limiting. [0031]
  • Referring to FIG. 5, a state of response diagram schematically illustrates the operation of a PCI structure based on the data according to a preferred embodiment of the present invention. In comparison with the operation shown in FIG. 3, a major feature of the present invention is that the grant signals from the bus arbiter is not cyclically processed. Instead, the bus arbiter can shift from one state of response to any of the other states of response according to a priority evaluated from the requested data. [0032]
  • Referring to FIG. 5 and FIG. 1, the operation of the present invention now is described as applied to the hardware structure shown in FIG. 1. The state of response [0033] 70 (GNT0) indicates a response from the bus arbiter of the host bridge 12 to the request of the master of the graphic adapter 16 a. The state of response 72 (GNT1) indicates a response to the expansion bus bridge 16 b, and the state of response 74 (GNT2) indicates a response to the network interface 16 c. The state of response 76 (GNT3) indicates a response to the SCSI interface 16 d.
  • Let's assume that the bus arbiter of the [0034] host bridge 12 is positioned at the state of response 70 (GNT0) at a starting stage. The master of the PCI-compatible device 16 b (expansion bus bridge) outputs a request signal. The bus arbiter then shifts to the state of response 72 (GNT1) via the pathway 0A according to, for example, a predefined anti-clockwise rotation. Meanwhile, the host bridge 12 accesses the data stored in the memory 11 requested by the PCI-compatible device 16 b. When the master of the PCI-compatible device 16 c (network interface) outputs a request signal, the bus arbiter shifts to the state of response 74 (GNT2) via the pathway 1A according to the predefined anti-clockwise rotation. While shifting to the state of response 74 (GNT2), if the data requested by the PCI-compatible device 16 b is ready, the host bridge 12 attributes the highest priority to the PCI-compatible device 16 b. The bus arbiter consequently shifts back to the response state 72 (GNT1) via the pathway 2C. In the present invention, the data thus drives the priority selection for granting use of the PCI bus. The PCI-compatible device 16 b then can receive the data by using the PCI bus 14. After the data transaction is completed, the bus arbiter can either return to the state of response from which it shifted when the access priority was changed, or shift to the next state of response according to the predetermined anti-clockwise rotation.
  • Now let's assume that in the above example the PCI-[0035] compatible device 16 d (SCSI interface) also outputs a request signal when the bus arbiter has shifted to the response state 74 (GNT2). The bus arbiter then shifts to the state of response 76 (GNT3) via the pathway 2A. The data for the PCI-compatible device 16 b is ready only after the bus arbiter is at the state of response 76 (GNT3). The host bridge 12 then attributes the highest priority of use the PCI bus to the PCI-compatible device 16 b. Thus, the bus arbiter directly shifts to the state of response 72 (GNT1) via the pathway 3B to grant the use of the PCI bus 14 to the PCI-compatible device 16 b. After the data transfer to the PCI-compatible device 1 6 b via the PCI bus has been completed, the bus arbiter then shifts to either the state of response 76 (GNT3) via the pathway 1B or the state of response 74 (GNT2) via the pathway 1A.
  • Referring to FIG. 6, a time/sequence diagram schematically illustrates a bus priority arbitration based on data according to a preferred embodiment of the present invention. For the sake of simplification, the time/sequence diagram illustrates the operation of the present invention only for two requests from two masters. However, it will be apparent from the description hereafter that the present invention can be effectively implemented for PCI bus that comprises more than two PCI-compatible devices. [0036]
  • At the [0037] transaction time cycle 80, a first master and a second master output request signals (REQ1# and REQ2#). The bus arbiter of the host bridge (not shown), for example, first responds to the request signal (REQ1#) of the first master (GNT1#). At this time, the first master outputs a cycle frame signal (FRAME#) and an initiator ready signal (IRDY#) meaning that it is in a state of waiting for the data transaction. The bus arbiter of the host bridge then outputs a device select signal (DEVSEL#) and a stop signal (STOP#), wherein the stop signal (STOP#) implies that the data is not ready, and then the request signal (REQ1) and the grant signal (GNT1#) change to high level. Because the first master does not receive any data, the first master then asserts a request signal (REQ1#) that activates the state of response GNT1#, meaning that the request from the first master has not been satisfied yet.
  • At the following [0038] transaction time cycle 82, the bus arbiter responds to the request signal (REQ#) from the second master in accordance with the priority rule. Similar to the above, the data requested by the second master is not ready and the second master can not use the PCI bus because of the stop signal (STOP#).
  • At the following [0039] transaction time cycle 84, the bus arbiter responds to the request signal (REQ1#) from the first master in accordance with the priority rule. The data still is not ready and the bus arbiter outputs a stop signal (STOP#) to change the request signal (REQ1#) to high level. However, while the request signal (REQ1#) is outputted subsequent to the stop signal (STOP#), the PMRDY signal is activated, implying that the data is ready. Unlike the conventional operation of the structure described in FIG. 4, the data is taken into account by the host bridge that consequently attributes the highest priority to the first master. At the next transaction time cycle 86, the bus arbiter thus grants use of the PCI bus to the first master to effectively transfer the data via the PCI bus.
  • In conclusion, in the method of the present invention, when a master outputs a request signal for using the PCI bus, the host bridge informs the corresponding data storage device to prepare the requested data. Once the data is ready, the host bridge consequently attributes the highest priority to the master regardless of which state of response the bus arbiter of the host bridge is in. The data thus drives the priority arbitration in the present invention, which advantageously eliminates the conventional delay of data transfer. [0040]
  • It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. [0041]

Claims (8)

What is claimed is:
1. A method of bus priority arbitration driven by data used in a bus system that comprises a bus and a plurality of masters connected to the bus, wherein each master can output a request for a grant to use the bus, the method comprising:
sequentially responding to the request of each master according to a predefined orderly rotation;
stopping a response to the requests of the masters according to the predefined orderly rotation when a data for one of the masters is ready;
attributing highest priority to the master which the data is ready for the grant to use the bus;
performing the data transfer using the bus; and
resuming a response to the requests of the masters according to the predefined orderly rotation.
2. The method of claim 1, wherein the bus is a peripheral component interconnect (PCI) bus.
3. The method of claim 1, wherein responding to the requests of the masters and attributing the highest priority to the master are performed by a host bridge.
4. The method of claim 3, wherein stopping the response to the requests of the masters is carried out by outputting a stop signal.
5. The method of claim 1, wherein resuming the response to the requests of the masters according to the predefined orderly rotation is performed from the master which request evaluation has been stopped.
6. The method of claim 1, wherein the steps of resuming the response to the requests of the masters according to the predefined orderly rotation is performed from the master which data transfer has been performed.
7. A peripheral device interconnect structure comprising:
a bus;
a plurality of peripheral devices connected to the bus, each of the peripheral devices embedding a master;
a host bridge connected to the bus, wherein the host bridge is further operable:
to respond to a plurality of requests from each of the masters according to a predefined orderly rotation;
to receive information indicating that a data transfer for one of the master is ready; and
to stop responding to the requests from each of the masters according to the predefined orderly rotation when receiving information indicating that a data for one of the peripheral devices is ready in order to attribute the highest priority to the peripheral device for granting use of the bus.
8. The structure of claim 7, wherein the host bridge is connected to a data storage device from which the host bridge receives information indicating that a data transfer is ready.
US09/922,092 2000-08-11 2001-08-03 Method of bus priority arbitration Abandoned US20020019899A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/922,092 US20020019899A1 (en) 2000-08-11 2001-08-03 Method of bus priority arbitration

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US22501800P 2000-08-11 2000-08-11
TW90110586 2001-05-03
TW090110586A TW548552B (en) 2000-08-11 2001-05-03 Method for selecting the bus priority
US09/922,092 US20020019899A1 (en) 2000-08-11 2001-08-03 Method of bus priority arbitration

Publications (1)

Publication Number Publication Date
US20020019899A1 true US20020019899A1 (en) 2002-02-14

Family

ID=27804804

Family Applications (4)

Application Number Title Priority Date Filing Date
US09/922,046 Expired - Lifetime US7054984B2 (en) 2000-08-11 2001-08-03 Structure and method for extended bus and bridge in the extended bus
US09/922,092 Abandoned US20020019899A1 (en) 2000-08-11 2001-08-03 Method of bus priority arbitration
US09/922,045 Expired - Lifetime US6836812B2 (en) 2000-08-11 2001-08-03 Sequencing method and bridging system for accessing shared system resources
US09/923,518 Abandoned US20020023190A1 (en) 2000-08-11 2001-08-07 Framework with multiple selections for south bridge and north bridge connecting

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/922,046 Expired - Lifetime US7054984B2 (en) 2000-08-11 2001-08-03 Structure and method for extended bus and bridge in the extended bus

Family Applications After (2)

Application Number Title Priority Date Filing Date
US09/922,045 Expired - Lifetime US6836812B2 (en) 2000-08-11 2001-08-03 Sequencing method and bridging system for accessing shared system resources
US09/923,518 Abandoned US20020023190A1 (en) 2000-08-11 2001-08-07 Framework with multiple selections for south bridge and north bridge connecting

Country Status (2)

Country Link
US (4) US7054984B2 (en)
TW (4) TW515960B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082068A1 (en) * 2012-09-15 2014-03-20 Honeywell International Inc. Mailbox data storage system
US11206314B2 (en) 2018-01-16 2021-12-21 Wipro Limited Method, device, and system for predicting and caching user activity for seamless user experience within vehicles

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002213681A1 (en) * 2000-11-09 2002-05-21 The University Of Queensland Bacterial expression systems
TW533357B (en) * 2001-12-14 2003-05-21 Via Tech Inc Method of hot switching the data transmission rate of bus
US7111103B2 (en) * 2002-03-22 2006-09-19 Intel Corporation Method and apparatus for system management applications using a local controller
US20040225707A1 (en) * 2003-05-09 2004-11-11 Chong Huai-Ter Victor Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream
US7114054B2 (en) * 2003-05-09 2006-09-26 Hewlett-Packard Development Company, L.P. Systems and methods for increasing transaction entries in a hardware queue
US7447205B2 (en) * 2003-05-09 2008-11-04 Hewlett-Packard Development Company, L.P. Systems and methods to insert broadcast transactions into a fast data stream of transactions
US6996654B2 (en) * 2003-05-09 2006-02-07 Hewlett-Packard Development Company, L.P. Systems and methods for generating multiple transaction identifiers to reduced latency in computer architecture
TWI237765B (en) * 2003-11-03 2005-08-11 Via Tech Inc Adapting device for use in a computer system
JP4847036B2 (en) * 2005-03-30 2011-12-28 キヤノン株式会社 Control device for arbitrating bus access and control method for data processing device
JP5239769B2 (en) * 2008-11-14 2013-07-17 富士通株式会社 Request order control system, request order control method, and request order control program
CN101872308A (en) * 2009-04-25 2010-10-27 鸿富锦精密工业(深圳)有限公司 Memory bar control system and control method thereof
US20100306442A1 (en) * 2009-06-02 2010-12-02 International Business Machines Corporation Detecting lost and out of order posted write packets in a peripheral component interconnect (pci) express network
US8539134B2 (en) * 2010-02-15 2013-09-17 International Business Machines Corporation PCI express multiplier device
WO2013070214A1 (en) * 2011-11-09 2013-05-16 Intel Corporation Method, apparatus, and system to handle transactions received after a configuration change request
US9430415B2 (en) * 2013-06-14 2016-08-30 Globalfoundries Inc. Concurrent dumping of large address space
US20150033234A1 (en) * 2013-07-23 2015-01-29 Qualcomm Incorporated Providing queue barriers when unsupported by an i/o protocol or target device
CN104375964A (en) * 2013-08-12 2015-02-25 联想(北京)有限公司 Electronic equipment and data interaction method
US11113214B2 (en) * 2019-08-23 2021-09-07 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Controlling data transfers between a tier of persistent data storage and processor memory with a high-speed fabric controller
TWI716993B (en) * 2019-09-03 2021-01-21 宜鼎國際股份有限公司 Data storage system with dual channel

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640519A (en) * 1995-09-15 1997-06-17 Intel Corporation Method and apparatus to improve latency experienced by an agent under a round robin arbitration scheme
US5983302A (en) * 1995-05-08 1999-11-09 Apple Comptuer, Inc. Method and apparatus for arbitration and access to a shared bus
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
US6622207B1 (en) * 1997-11-15 2003-09-16 Creative Technology Ltd. Interpolation looping of prioritized audio samples in cache connected to system bus
US6697904B1 (en) * 2000-03-28 2004-02-24 Intel Corporation Preventing starvation of agents on a bus bridge
US6826644B1 (en) * 2000-08-10 2004-11-30 Serverworks Corporation Peripheral component interconnect arbiter implementation with dynamic priority scheme

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889970A (en) * 1997-05-09 1999-03-30 Compaq Computer Corp. Dual purpose apparatus, method and system for accelerated graphics port and peripheral component interconnect
US5857086A (en) * 1997-05-13 1999-01-05 Compaq Computer Corp. Apparatus method and system for peripheral component interconnect bus using accelerated graphics port logic circuits
US5892964A (en) * 1997-06-30 1999-04-06 Compaq Computer Corp. Computer bridge interfaces for accelerated graphics port and peripheral component interconnect devices
US6070207A (en) * 1998-01-26 2000-05-30 Intel Corporation Hot plug connected I/O bus for computer system
US6134625A (en) * 1998-02-18 2000-10-17 Intel Corporation Method and apparatus for providing arbitration between multiple data streams
US6499079B1 (en) * 1998-11-23 2002-12-24 Advanced Micro Devices, Inc. Subordinate bridge structure for a point-to-point computer interconnection bus
JP2000242612A (en) * 1999-02-25 2000-09-08 Sega Enterp Ltd System sharing memory and bus
US6789154B1 (en) * 2000-05-26 2004-09-07 Ati International, Srl Apparatus and method for transmitting data
US6670958B1 (en) * 2000-05-26 2003-12-30 Ati International, Srl Method and apparatus for routing data to multiple graphics devices
US20020138790A1 (en) * 2001-03-26 2002-09-26 Satyanarayana Nishtala Apparatus and method for managing errors on a point-to-point interconnect

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983302A (en) * 1995-05-08 1999-11-09 Apple Comptuer, Inc. Method and apparatus for arbitration and access to a shared bus
US5640519A (en) * 1995-09-15 1997-06-17 Intel Corporation Method and apparatus to improve latency experienced by an agent under a round robin arbitration scheme
US6622207B1 (en) * 1997-11-15 2003-09-16 Creative Technology Ltd. Interpolation looping of prioritized audio samples in cache connected to system bus
US6088751A (en) * 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
US6202101B1 (en) * 1998-09-30 2001-03-13 Compaq Computer Corporation System and method for concurrently requesting input/output and memory address space while maintaining order of data sent and returned therefrom
US6697904B1 (en) * 2000-03-28 2004-02-24 Intel Corporation Preventing starvation of agents on a bus bridge
US6826644B1 (en) * 2000-08-10 2004-11-30 Serverworks Corporation Peripheral component interconnect arbiter implementation with dynamic priority scheme

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140082068A1 (en) * 2012-09-15 2014-03-20 Honeywell International Inc. Mailbox data storage system
US11206314B2 (en) 2018-01-16 2021-12-21 Wipro Limited Method, device, and system for predicting and caching user activity for seamless user experience within vehicles

Also Published As

Publication number Publication date
US20020023190A1 (en) 2002-02-21
US7054984B2 (en) 2006-05-30
TW523669B (en) 2003-03-11
TW548552B (en) 2003-08-21
US6836812B2 (en) 2004-12-28
TW521186B (en) 2003-02-21
US20020019903A1 (en) 2002-02-14
US20040225784A1 (en) 2004-11-11
TW515960B (en) 2003-01-01

Similar Documents

Publication Publication Date Title
US20020019899A1 (en) Method of bus priority arbitration
US5664197A (en) Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5533204A (en) Split transaction protocol for the peripheral component interconnect bus
US5581782A (en) Computer system with distributed bus arbitration scheme for symmetric and priority agents
US5729762A (en) Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
JP4008987B2 (en) Bus communication system, bus arbitration method, and data transfer method
US6772254B2 (en) Multi-master computer system with overlapped read and write operations and scalable address pipelining
US5625779A (en) Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
US5469435A (en) Bus deadlock avoidance during master split-transactions
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6728808B1 (en) Mechanism for optimizing transaction retries within a system utilizing a PCI bus architecture
EP0710913A1 (en) Peripheral component interconnect bus system having latency and shadow timers
JP2003281082A (en) Retry scheme for controlling transaction between two buses
WO1998032063A2 (en) Method and apparatus for zero latency bus transactions
US20040068603A1 (en) Reordering of requests between an initiator and the request queue of a bus controller
KR100259596B1 (en) A data processing system
US6604159B1 (en) Data release to reduce latency in on-chip system bus
US5689660A (en) Enhanced peripheral component interconnect bus protocol
US6549964B1 (en) Delayed transaction method and device used in a PCI system
US6959354B2 (en) Effective bus utilization using multiple bus interface circuits and arbitration logic circuit
US7096290B2 (en) On-chip high speed data interface
US20080183936A1 (en) Bus bridge and arbitration method
US20020078282A1 (en) Target directed completion for bus transactions
EP0784278B1 (en) Interface architecture for connection to a peripheral component interconnect bus
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme

Legal Events

Date Code Title Description
AS Assignment

Owner name: VIA TECHNOLOGIES, INC., TAIWAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TSAI, CHI-CHE;REEL/FRAME:012060/0193

Effective date: 20010725

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION