US5970234A - PCI bus arbiter and a bus control system having the same - Google Patents

PCI bus arbiter and a bus control system having the same Download PDF

Info

Publication number
US5970234A
US5970234A US08792424 US79242497A US5970234A US 5970234 A US5970234 A US 5970234A US 08792424 US08792424 US 08792424 US 79242497 A US79242497 A US 79242497A US 5970234 A US5970234 A US 5970234A
Authority
US
Grant status
Grant
Patent type
Prior art keywords
amp
bus
pci
goto
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
US08792424
Inventor
Sung-kon Jin
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.)
JINGPIN TECHNOLOGIES LLC
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/4031Coupling between buses using bus bridges with arbitration

Abstract

A PCI bus arbiter is provided as an additional PCI bus in PCI peer-to-peer bus bridge system. A bus control system having the PCI bus arbiter is also provided. The bus control system includes bus masters, a first PCI bus bridge, a second PCI bus bridge, an EISA/ISA bus bridge for changing structures of signals from the bus masters to be suitable for corresponding bus, a first arbiter in a main chip set, and a second arbiter for arbitration process. The second arbiter includes an edge detecting state machine which detects whether a PCI bus is accessed by a bus master, and produces a frame-signal which changes a logic state thereof according to an access condition of the PCI bus. The second arbiter may also include a priority resolve state machine which receives the frame-signal and produces priority values which determine an order of bus masters to use the PCI bus, wherein the priority values are changed according to the frame-signal. The second arbiter can include a hand shake state machine which produces and outputs grant-signals to grant authority to use the PCI bus to bus masters according to the priority value.

Description

CLAIM OF PRIORITY

This application makes reference to, incorporates the same herein, and claims all benefits accruing under 35 U.S.C. §119 from an application entitled a PCI Bus Arbiter and a Bus Control System Having the Same earlier filed in the Korean Industrial Property Office on 30th of Jan., 1996 and there duly assigned Ser. No. 96-2136 by that Office.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a PCI bus control system. More particularly, the present invention relates to a PCI bus control system having a PCI bus arbiter.

2. Description of the Prior Art

When more than one bus master in a computer system simultaneously request to use a PCI bus, an arbiter selects a bus master and grants an authority to use the PCI bus to the selected bus master. Thus, the arbiter arranges the sequence to use the bus for the bus masters. Typically, in a main chip set of computer system used for the arbitration processes, a separate arbiter for each of the arbitration processes is not used in the art. On this matter, an exemplar of the contemporary practice is Heil et al. (U.S. Pat. No. 5,392,407, Multi-Port Processor With Peripheral Component Interconnect Port and RAMbus Port, Feb. 21, 1995) discussing a dual-port processor architecture with a first port interfacing to a PCI bus and a second port port interfacing to a RAMBUS channel. Pidgett et al. (U.S. Pat. No. 5,446,869, Configuration And RAM/ROM Control Of PCI Extension Card Residing On MCA Adapter Card, Aug. 29, 1995) discussing a method and apparatus for enabling configuration of a PCI daughter card resing on an MCA adapter card. A PCI/MCA bridge is provided for interfacing the MCA system bus with the PCI bus of the adapter card. Amini et al. (U.S. Pat. No. 5,450,551, System Direct Memory Access (DMA) Support Logic For PCI Based Computer System, Sep. 21, 1995) discussing computer system having a direct memory access (DMA) support mechanism. The computer system includes a central processing unit, a host bridge, an input/output bridge, and an arbitration logic circuit. Based on my study of these exemplars of the contemporary practice and the art, I believe that there is a need for an effective and improved PCI bus control system having a PCI bus arbiter.

SUMMARY OF THE INVENTION

Thus, it is an object of the present invention to provide an improved PCI bus control process and system.

It is another object to provide an improved PCI bus control process and system having a PCI bus arbiter.

It is still another object to provide an improved PCI bus arbiter able to acommodate an additional PCI bus in a PCI peer-to-peer bus bridge system.

It is yet another object to provide an improved PCI bus arbiter able to acommodate an additional PCI bus in conformance with a PCI peer-to-peer bus bridge system, where the main chip set performs the functions of an arbiter for the one PCI bus as in a typical contemporary practice.

It is still yet another object to provide an improved bus control system which uses the PCI bus arbiter in PCI peer-to-peer bridge system.

The bus control system of present invention may include a central processing unit having functions of processing or manipulating data which are inputted to a computer system, a first PCI bus bridge which changes structure of signals from the bus masters to be suitable for a first PCI bus a second PCI bus bridge which changes structure of signals from the bus masters to be suitable for a second PCI bus, and an EISA/ISA bus bridge which changes structure of signals from the bus masters to be suitable for an EISA/ISA bus. The bus control system may also include a first arbiter in a main chip set which receives first request signals requesting an authority to use the first PCI bus from the bus masters, and selects a first bus master from the bus masters, and produces a first grant signal to authorize the first bus master to use the first PCI bus. The bus control system can include a second arbiter which receives second request signals requesting an authority to use the second PCI bus from the bus masters, and selects a second bus master from the bus masters, and produces a second grant signal to authorize the second bus master to use the second PCI bus.

This second arbiter may include an edge detecting state machine which detects whether a PCI bus is accessed by a bus master, and produces a frame-signal which changes an logic state thereof according to an access condition of the PCI bus. The second arbiter may also include a priority resolve state machine which receives the frame-signal and produces priority values which determine an order for bus masters to use the PCI bus, where the priority values are changed according to the frame-signal. The second arbiter may further include a hand shake state machine which produces grant-signals to grant authority to use the PCI bus to bus masters according to the priority value.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention, and many of the attendant advantages thereof, will be readily apparent as the same becomes better understood by reference to the following detailed description when considered in conjunction with the accompanying drawings in which like reference symbols indicate the same or similar components, wherein:

FIG. 1 is a block diagram illustrating a contemporary bus control system;

FIG. 2 is a block diagram illustrating a bus control system for an embodiment of the present invention;

FIG. 3 is a block diagram illustrating an arbiter of an embodiment of the present invention;

FIG. 4 shows a flow chart illustrating the process to produce FHLE signal and the state change of the edge detecting state machine of an embodiment of the present invention;

FIG. 5 is a table illustrating the states and FHLE signal changes of the edge detecting state machine of an embodiment of the present invention, showing the states according to the PBBL signal;

FIG. 6 shows a state diagram of the priority resolve state machine of an embodiment of the present invention, the priorities being resolved according to the round robin method;

FIG. 7 represents state diagrams for the hand shake state machine of an embodiment of the present invention, suitable for n bus masters; and

FIG. 8 is a state diagram for the hand shake state machine of an embodiment of the present invention, suitable for one bus master.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Turning now to the drawings, the arbitration process of the contemporary practice will be described below in conjunction with the FIG. 1, which shows a block diagram of a contemporary bus control system.

As shown in FIG. 1, the contemporary bus control system may include a central processing unit 10 (hereinafter CPU), a PCI bus bridge 20, EISA/ISA bus bridge 30 and a PCI bus arbiter 40. The CPU 10 has functions of processing or manipulating data which are inputted to a computer system. The PCI bus bridge 20, where the term "PCI" is an abbreviation of peripheral component interconnect, has the role of changing the structure of signals of CPU so that the structure of signals is suitable for the PCI bus. The EISA/ISA bus bridge 30 has the role of changing the structure of signals of CPU to be suitable for the EISA/ISA bus.

In operation, the CPU 10 and a plurality of peripheral devices (not shown) work as bus masters which use the PCI bus in common, thereby requesting to the arbiter 40 for an authority to use the PCI bus. Hereinafter, the CPU 10 and the plurality of peripheral devices are simply referred as bus masters. If the authorities are sequentially requested by the bus masters, the arbiter 40 grants the authorities to each bus master sequentially according to the order of requests. However, if the authorities are requested simultaneously by the bus masters, the arbiter 40 determines a bus master which will use the bus first and grants the priority to use the bus to the selected bus master. In FIG. 1, the reference character REQ means request signal of the bus masters, and GNT means grant signal of the arbiter 40.

In a contemporary computer system, the function of arbiter 40 is provided by the main chip set. However, the contemporary arbiter 40 in a main chip set is designed to be used only when one PCI bus is used in the computer system. Therefore, when a number of PCI buses are used in the computer system, such as in a peer-to-peer bridge type bus system, additional arbiters are needed because the arbiter 40 in the main chip set can support limited number of the bus masters. If a plurality of main chip sets are used to surmount these problems, there can be collisions of address and data between the main chip sets. Thus, it would be uneconomical to use the main chip set as an arbiter.

FIG. 2 shows an another bus control system. As shown in FIG. 2, the bus control system of the present invention comprises a CPU 110, a first PCI bus bridge 120, a second PCI bus bridge 121, an EISA/ISA bus bridge 130, a first arbiter 140 and a second arbiter 141. The CPU 110 has functions of processing or manipulating data which are inputted to a computer system (not shown). The first PCI bus bridge 120 changes structure of signals from the bus masters to be suitable for a first PCI bus, and the second PCI bus bridge 121 changes structure of signals from the bus masters to be suitable for a second PCI bus. The EISA/ISA bus bridge 130 changes structure of signals from the bus masters to be suitable for an EISA/ISA bus.

The first arbiter 140 in a main chip set receives a first request signal which requests an authority to use the first PCI bus from the bus masters, and selects a first bus master from the bus masters to access the first PCI bus, and produces a first grant signal to authorize the first bus master to access the first PCI bus. As shown in FIG. 2, the first arbiter 140 is in the main chip set of the computer system with the EISA/ISA bus bridge 130.

The second arbiter 141 receives a second request signal which requests an authority to use the second PCI bus from the bus masters, and selects a second bus master from the bus masters, and produces a second grant signal to authorize the second bus master to access the second PCIbus. As clearly shown in FIG. 2, a separate logic circuit is provided for the second arbiter 141 in the present invention.

As shown in FIG. 3, the second arbiter 141 comprises an edge detect state machine 210, a priority resolve state machine 220 and a hand shake state machine 230. During the overall operation, a bus master requests an authority to use the PCI bus by setting the request signal REQxL to low logic level, and accesses the PCI bus if the grant signal GNTxL is in low logic state. If only one bus master produces the request signal REQxL of low logic level, the second arbiter 141 produces and sends the grant signal GNTxL of low logic state to the master. However, when a plurality of masters produce the request signals REQxL of low logic level, the second arbiter 141 produces and sends the grant signals GNTxL of low logic state to each bus master sequentially according to each bus master's priority to use the bus. The priorities for the bus masters are determined by the priority resolve state machine 220. The arbitration protocol of the second arbiter 141 uses a specification defined in the PCI bus specification. The edge detect state machine 210 detects the changes of the logic states of a FRAMEL signal and a IRDYL signal. The logic state of the FRAMEL signal represents whether the PCI bus is used by a bus master, and is in low logic state when the PCI bus is used by a bus master. The IRDYL signal represents the condition of an initiator. When a PBBL signal, an logical AND result of the FRAMEL signal and the IRDYL signal is changed from high to low logic state, namely when an edge of the PBBL signal is detected, the edge detect state machine 210 changes the logic state of a FHLE signal, and outputs the FHLE signal to the priority resolve state machine 220. The priorities for the bus masters are changed according to the FHLE signal, that is, according to the FRAMEL signal.

The flow chart and the state diagram of the edge detect state machine 210 to produce the FHLE signal are shown in FIGS. 4 and 5, respectively. In FIG. 5, the two binary numbers Q1 and Q0 represent the states of edge detect state machine 210. As shown in FIGS. 4 and 5, if the state of the edge detect state machine 210 is in S0 state at initial stage wherein Q1 and Q0 are both zero, the edge detect state machine 210 sets the FHLE signal to 0 value, and changes its state to S1 or S2 according to the logic state of the inputted PBBL signal. In S1 state, if the inputted PBBL signal is in High logic state, the edge detect state machine 210 sets the FHLE signal to 0 value, and changes its state to S1. If the inputted PBBL signal is in Low logic state at S1 state, the edge detect state machine 210 sets the FHLE signal to 1 value, and changes its state to S2. In FIG. 5, the symbol X represents that the state of the signal does not effect to the output signal. As shown in FIG. 5, the RESETL signal of low logic state resets the FHLE signal to 0 regardless of the state of PBBL signal. When the Q1 and Q2 are 1 and 0 respectively, the FHLE signal becomes to 0 and the state of the edge detect state machine 210 is changed to S0 state regardless of the input signal.

As shown in FIG. 3, the priority resolve state machine 220 produces priority values CNTn which determines the orders of bus masters to use the PCI bus when a plurality of bus masters request the authority to use the PCI bus. A round robin method, a fixed priority method and a least recently used method can be used to determine the priority of the bus masters in the priority resolve state machine 220.

The round robin method for bus masters can be as follows FIG. 6 shows a state diagram of the priority resolve state machine 220 according to the round robin method. The priority of the bus masters is determined by the priority value CNTn which represents the states of the priority resolve state machine 220. The numerals 00, 01, 11 and 10 in FIG. 6 represent the state of priority resolve state machine 220. For example, as shown in FIG. 6, if the priority resolve state machine 220 is in the state of 11, the master M3 has the first priority, and the master M4 has the second priority. If the master M3 finishes to use the PCI bus, the master M4 has the next priority to access to the PCI bus and the state of the priority resolve state machine 220 is changed to state 10. In the state 11, if a RESETL signal is inputted, the state of the priority resolve state machine 220 changes to 00 state, then the master M1 has the first priority. Each arrow in FIG. 6 represents the change of states according to the following conditions in the round robin method. In following conditions, symbol * and # represent logic AND and OR results, respectively.

__________________________________________________________________________RESETL * !FHLE # !RESETL(!GNT1L # !GNT2L # !GNT3L # !GNT4L) * FHLE * RESETLRESETL * !FHLE(!GNT1L # !GNT2L # !GNT3L # !GNT4L) * FHLE * RESETLRESETL * !FHLE(!GNT1L # !GNT2L # !GNT3L # !GNT4L) * FHLE * RESETLRESETL * !FHLE(!GNT1L # !GNT2L # !GNT3L # !GNT4L) * FHLE * RESETL # !RESETL!RESETL!RESETL__________________________________________________________________________

In this embodiment, the sequence to use the PCI bus for the 4 bus master at each state of the priority resolve state machine 220 is shown in the following table.

______________________________________VALUE              PRIORITYCNT1    CNT0       1'ST   2'ND   3'RD 4'TH______________________________________0       0          M1     M2     M3   M40       1          M2     M3     M4   M11       1          M3     M4     M1   M21       0          M4     M1     M2   M3______________________________________

The following is an example of the round robin program for the priority resolve state machine 220.

__________________________________________________________________________"INPUTCLOCK, RESETL, FRAMEL, IRDYL, 0EL PIN 1, 2, 3, 4, 11;GNT1L, GNT2L, GNT3L, GNT4L  PIN 5, 6, 7, 9;"OUTPUTCNT1, CNT 0    PIN 18,19 ISTYPE `REG.sub.-- D`;FHLE, Q0, Q1    PIN 13,14, 15 ISTYPE `REG.sub.-- D`H,L,X,CLK,Z= 1,0,.x.,.c.,.z.;"STATE REGISTER ASSIGNEMNTSCNT= [CNT1, CNT0]A= [0,0];B= [0,1];C= [1,1];D= [1,0];PBBL macro{(FRAMEL & IRDYL)}EQUATIONS[Q1,Q0].c = CLOCK;[CNT1,CNT0].c = CLOCK;[FHLE].c = CLOCK;Q1 := !Q1 & RESETL & !PBBL # Q0 & RESETL & !PBBL;Q0 := !Q1 & RESETL # Q0 & RESETL;FHLE:= !Q1 & Q0 & RESETL & !PBBL;STATE.sub.-- DIAGRAM CNTSTATE A:IF((!GNT1L # !GNT2L # !GNT3L # !GNT4L)& FHLE & RESETL) THEN BELSE IF (RESETL & !FHLE) THEN AELSE A;STATE B:IF((!GNT1L # !GNT2L # !GNT3L # !GNT4L)& FHLE & RESETL) THEN CELSE IF (RESETL & !FHLE) THEN BELSE A;STATE C:IF((!GNT1L # !GNT2L # !GNT3L # !GNT4L)& FHLE & RESETL) THEN DELSE IF (RESETL & !FHLE) THEN CELSE A;STATE D:IF((!GNT1L # !GNT2L # !GNT3L # !GNT4L)& FHLE & RESETL) THEN AELSE IF (RESETL & !FHLE) THEN D ELSE A;END ROBIN__________________________________________________________________________

The priority value CNTn is outputted to the hand shake state machine 230 to produce the grant signal GNTxL to grant an authority to use the PCI bus to the masters sequentially. The hand shake state machine 230 monitors the condition of PCI bus, and produces and outputs the GNTNL signal to the n-th bus master having the highest priority according to the priority value CNTn when a plurality of bus masters request the authority. If any bus master dose not request to use the PCI bus (that is, Idle condition), the hand shake state machine 230 grants the authority to the bus master which uses the PCI bus recently.

FIG. 7 represents state diagrams for the hand shake state machine 230 for n bus masters. And FIG. 8 is a state diagram for one bus master. In FIG. 7, PRI M1 means that the bus master M1 has the priority to use the PCI bus, and the PRI M1 signal is produced according to the priority value CNTn of the priority resolve state machine 220. The term "GT"s in FIG. 7 represent the states of the hand shake state machine 230. As shown in FIG. 7, if the number of the bus master are increased, the number of the state diagram are increased accordingly. The enclosed list is a truth table for the state change of the hand shake state machine 230 for 5 bus masters. The following program will illustrate the function of the hand shake state machine 230 and the state diagrams in FIG. 7.

__________________________________________________________________________MODULE ARBITER4MARBIT4M   DEVICE `P22c10c`;"INPUTCLOCK, RESERTL, FRAMEL, IRDYL  PIN 2, 3, 4, 5;REQ1L, REQ2L, REQ3L, REQ5L  PIN 7, 9, 10, 11;CNT0, CNT1   PIN 12, 13;"OUTPUTGNT1L, GNT2L, GNT3L, GNT5L PIN 18,25,26,27 ISTYPE `REG.sub.-- D`ST0, ST1, ST2, ST3  PIN 19,23,21,20 ISTYPE `REG.sub.-- D`H,L,X,clk,Z=1,0,.X.,.c.,.z.;PBBL macro {(FRAMEL & IRDYL)}EQUATIONS[ST3,ST2,ST1,ST0].c = CLOCK;[ST3,ST2,ST1,ST0].ar = !RESETL;[GNT5L,GNT3L,GNT2L,GNT1L].c = CLOCK;[GNT5L,GNT3L,GNT2L,GNT1L].pr = !RESETL;ST3 := !ST3 & !ST2 & !ST0 & REQ5L & !REQ3L & REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & !REQ5L & REQ3L & REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & !REQ5L & REQ1L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & !REQ3L & REQ1L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & !REQ5L & REQ2L & REQ1L & !CNT1 & CNT0# !ST3 & !ST2 & !ST0 & !REQ3L & CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & !REQ5L & CNT1 & CNT0# !ST3 & !ST2 & !ST0 & !REQ3L & CNT1 & CNT0# ST3 & !ST2 & !ST1 & !ST0 & GNT5L & !GNT3L & GNT2L & GNT1L & !PBBL# ST3 & !ST2 & !ST1 & !ST0 & !GNT5L & GNT3L & GNT2L & GNT1L & !PBBL;ST2 := !ST3 & !ST2 & !ST0 & REQ5L & REQ3L & REQ2L & !REQ1L# !ST3 & !ST2 & !ST0 & REQ5L & REQ3L & !REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & !REQ1L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & !REQ2L & !CNT1 & CNT0# !ST3 & !ST2 & !ST0 & !REQ1L & !CNT1 & CNT0# !ST3 & !ST2 & !ST0 & REQ3L & !REQ2L & CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ3L & !REQ1L & CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ5L & REQ3L & !REQ2L & CNT1 & CNT0# !ST3 & ST2 & !ST1 & !ST0 & GNT5L & GNT3L & GNT2L & !GNT1L & !PBBL# !ST3 & ST2 & !ST1 & !ST0 & GNT5L & GNT3L & !GNT2L & GNT1L & !PBBL;ST1 := !ST3 & !ST2 & !ST1 & ST0 & GNT5L & GNT3L & GNT2L & !GNT1L & !PBBL# !ST3 & !ST2 & ST1 & ST0 & GNT5L & GNT3L & GNT2L & !GNT1L# !ST3 & !ST2 & ST1 & !ST0 & GNT5L & GNT3L & GNT2L & !GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L & !PBBL# !ST3 & !ST2 & ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L# !ST3 & !ST2 & ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & !GNT3L & GNT2L & GNT1L & !PBBL# !ST3 & !ST2 & ST1 & ST0 & GNT5L & !GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & ST1 & !ST0 & GNT5L & !GNT3L & GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & !ST1 & ST0 & !GNT5L & GNT3L & GNT2L & GNT1L & !PBBL# !ST3 & !ST2 & ST1 & ST0 & !GNT5L & GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & ST1 & !ST0 & !GNT5L & GNT3L & GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L;ST0 := !ST3 & ST2 & !ST1 & !ST0 & GNT5L & GNT3L & GNT2L & !GNT1L & PBBL# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & GNT3L & GNT2L & !GNT1L# !ST3 & ST2 & !ST1 & !ST0 & GNT5L & GNT3L & !GNT2L & GNT1L & PBBL# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L# ST3 & !ST2 & !ST1 & !ST0 & GNT5L & !GNT3L & GNT2L & GNT1L & PBBL# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & !GNT3L & GNT2L & GNT1L# ST3 & ST2 & !ST1 & !ST0 & !GNT5L & GNT3L & GNT2L & GNT1L & PBBL# !ST3 & !ST2 & !ST1 & ST0 & !GNT5L & GNT3L & GNT2L & !GNT1L;!GNT5L :=!ST3 &!ST2 & !ST0 & !REQ5L & REQ3L & REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & !REQ5L & REQ1L & !CNT1 & !CNT0  # !ST3 & !ST2 &!ST0 &!REQ5L & REQ2L & REQ1L & !CNT1 & CNT0# !ST3 & !ST2 & !ST0 & !REQ5L & CNT1 & CNT0# ST3 & !ST2 & !ST1 & !ST0 & !GNT5L & GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & !ST1 & ST0 & !GNT5L & GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & ST1 & !ST0 & !GNT5L & GNT3L & GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & ST1 & ST0 & !GNT5L & GNT3L & GNT2L & GNT1L;!GNT3L := !ST3& !ST2& !ST0 & REQ5L & !REQ3L & REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & REQ5L & !REQ3L & REQ1L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & !REQ3L & CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ5L & !REQ3L & CNT1 & CNT0# ST3 & !ST2 & !ST1 & !ST0 & GNT5L & !GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & !GNT3L & GNT2L & GNT1L# !ST3 & !ST2 & ST1 & !ST0 & GNT5L & !GNT3L & GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & ST1 & ST0 & GNT5L & !GNT3L & GNT2L & GNT1L;!GNT2L := !ST3& !ST2& !ST0 & REQ5L & REQ3L & !REQ2L & REQ1L# !ST3 & !ST2 & !ST0 & !REQ2L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ3L & !REQ2L & CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ5L & REQ3L & !REQ2L & CNT1 & CNT0# !ST3 & ST2 & !ST1 & !ST0 & GNT5L & GNT3L & !GNT2L & GNT1L# !ST3 & !ST2& !ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L# !ST3 & !ST2 & ST1 & !ST0 & GNT5L & GNT3L & !GNT2L & GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & ST1 & ST0 & GNT5L & GNT3L & !GNT2L & GNT1L;!GNT1L := !ST3& !ST2& !ST0 & REQ5L & REQ3L & REQ2L & !REQ1L# !ST3 & !ST2 & !ST0 & !REQ1L & !CNT1 & !CNT0# !ST3 & !ST2 & !ST0 & REQ2L & !REQ1L & !CNT1 & CNT0# !ST3 & !ST2 & !ST0 & REQ3L & REQ2L & !REQ1L & CNT1 & CNT0# ST3 & !ST2 & !ST1 & !ST0 & GNT5L & GNT3L & GNT2L & !GNT1L# !ST3 & !ST2 & !ST1 & ST0 & GNT5L & GNT3L & GNT2L & !GNT1L# !ST3 & !ST2 & ST1 & !ST0 & GNT5L & GNT3L & GNT2L & !GNT1L & REQ5L &REQ3L& REQ2L & REQ1L# !ST3 & !ST2 & ST1 & ST0 & GNT5L & GNT3L & GNT2L & !GNT1L;END ARBIT4M__________________________________________________________________________

The above described programs can be easily modified for five or more bus masters system in accordance with the principles of the present invention. For instance, devices such as PAL, GAL, FPGA AND EPLD can be used to program the functions of the priority resolve state machine 220 and the hand shake state machine 230.

While the invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not to be limited to the disclosed embodiment, but on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims.

                                  APPENDIX__________________________________________________________________________*INPUTCLOCK, RESETL, FRAMEHL, IRDYL;REQ1L, REQ2L, REQ3L, REQ4L, REQ5L;CNT0, CNT1, CNT2;*OUTPUTGNT1L, GNT2L, GNT3L, GNT4L, GNT5L;ST4, ST3, ST2, ST1, ST0;H, L, X, CLK,Z = 1,0, . . . x . . . , . . . c . . . , . . . z . . . ;PBBL macro ((FRAMEL & IRDYL));EQUATIONS[ST4,ST3,ST2,ST1,ST0]·c = CLOCK;[ST4, ST3, ST2, ST1, ST0]·ar = IRESETL;[GNT5L, GNT4L, GNT3L, GNT2L, GNT1L]·c = CLOCK;[GNT5L, GNT4L, GNT3L, GNT2L, GNT1L]·pr = !RESETL;TRUTH.sub.-- TABLE ((PBBL, REQ5L, REQ4L, REQ3L, REQ2L, REQ1L, CNT2,CNT1, CNT0, ST4, ST3, ST2, ST1, ST0, GNT5L, GNT4L, GNT3L,GNT2L,GNT1L):>(ST4, ST3, ST2, ST1, ST0, GNT5L, GNT4L, GNT3L, GNT2L, GNT1L))* R R R R R     G G G G G             G G G G G* P B B E B B C C C     N N N N N             N N N N N* [B Q Q Q Q Q N N N S S S S S T T T T T]:>[S S S S S T T T T T]* B 5 4 3 2 1 T T T T T T T T 5 4 3 2 1              T T T T T 5 4 3 2 1* L L L L L L 2 1 0 4 3 2 1 0 L L L L L              4 3 2 1 0 L L L L L[X,1,1,1,1,1,X,X,X,0,0,0,0,0,1,1,1,1,1]:>[0,0,0,0,0,1,1,1,1,1];*wait forREQxL[X,1,1,1,1,0,X,X,X,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,1,0,1,X,X,X,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,1,0,1,1,X,X,X,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,1,1,1,X,X,X,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,1,1,1,1,X,X,X,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,0,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,0,0,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1]:*goto GT2[X,0,0,0,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,0,0,1,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,1,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,0,1,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,0,1,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X];>[0,0,1,0,0,1,1,1,1,0];*goto GT1list 1[X,0,0,1,1,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,1,0,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,1,0,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,1];*goto GT2[X,0,1,0,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,1,0,1,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,1,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,1,1,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,2,1,1,0,1];*goto GT2[X,0,1,1,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,0,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,2,2,1,0];*goto GT1[X,1,0,0,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,2,0,0,1,1,1,0,1];*goto GT2[X,1,0,0,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,0,1,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,0,1,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,0,1,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,0,1,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,0,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,0,0,1,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,1,1,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,1,0,0,0,0,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0]:*goto GT1[Y,0,0,0,0,0,0,0,1,0,0,0,Y,0,Y,Y,Y,Y,Y]:>[0,0,1,0,0,1,1,1,0,1]:*goto GT2[X,0,0,0,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,0,0,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT3[X,0,0,0,1,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,0,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT2[X,0,0,1,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,0,1,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,0,0,0,1,1,1,0,1];*goto GT4[X,0,0,1,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT2[X,0,1,0,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,1,0,1,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT3[X,0,1,0,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,0,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT2[X,0,1,1,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,1,1,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,1,0,0,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,0,0,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1]:*goto GT2[X,1,0,0,1,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1]:*goto GT3[X,1,0,0,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,1,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,0,1,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,0,1,1,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,1,0,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1]:*goto GT2[X,1,1,0,0,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1]:*goto GT2[X,1,1,0,1,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,2,0,1,1]:*goto GT3list 2[X,1,1,1,0,0,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,0,0,0,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,0,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,0,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,0,1,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,0,1,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,1,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,1,0,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,0,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,0,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,0,1,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,0,1,1,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT3[X,0,1,1,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,1,0,0,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,1,1,1];*goto GT5[X,0,1,1,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,1,0,0,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,0,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,0,1,1,0,0,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,1,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,1,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,1,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,1,0,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,1,0,0,1,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,1,0,1,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,1,1,0,0,0,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,0,0,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,0,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1]:*goto GT4[X,0,0,0,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,0,1,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1]:*goto GT4[X,0,0,1,1,0,1,1,1,0,0,0,X,0,X,X,X,X.X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,0,1,1,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,0,1,0,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,1,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,6,0,1,1,1,1];*goto GT5[X,1,0,0,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4list 3[X,1,0,0,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,0,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,0,1,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,1,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,1,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,0,1,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,0,1,1,1];*goto GT4[X,1,1,0,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,0,0,1,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,1,0,1,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,1,0,0,1,1,1,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,0,0,0,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT4[X,0,0,0,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,0,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,0,1,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,1,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,1,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,1,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,0,1,1,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,0,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1]:*goto GT5[X,0,1,0,1,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,0,1,1,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[1,0,0,0,0,0,1,1,1,1];*goto GT5[X,1,0,0,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,0,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,0,0,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,0,1,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,1,0,0,0,1,1,0,1,1];*goto GT3[X,1,0,1,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,0,1,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0.0.1.0.0.1.1.1.0.1];*goto GT2[X,1,0,1,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,0,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,0,0,1,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,0,1];*goto GT2[X,1,1,0,1,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[X,1,1,1,0,0,1,1,0,0,0,0,X,0,X,X,X,X,X]:>[0,0,1,0,0,1,1,1,1,0];*goto GT1[0,X,X,X,X,X,X,X,X,0,0,1,0,0,1,1,1,1,0]>[0,0,1,0,0,1,1,1,1,0];*GT1.sub.--0, wait on PBBL=1 in GT1.sub.-- 0[1,X,X,X,X,X,X,X,X,0,0,1,0,0,1,1,1,1,0]:>[0,0,0,0,1,1,1,1,1,0];*GT1.sub.-- 0, goto GT1.sub.-- 1[1,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,1,1,0]:>[0,0,0,0,1,1,1,1,1,0];*GT1.sub.-- 1, wait on PBBL=0list 4[0,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,1,1,0]:>[0,0,0,1,0,1,1,1,1,0];*GT1.sub.-- 1, goto GT1.sub.-- WAIT[X,1,1,1,1,1,X,X,X,0,0,0,1,0,1,1,1,1,0]:>[0,0,0,1,0,1,1,1,1,0];*GT1.sub.-- WAIT[0,X,X,X,X,X,X,X,X,0,0,1,0,0,1,1,1,0,1]:>[0,0,1,0,0,1,1,1,0,1];*GT2.sub.-- 0, wait on PBBL=1 in GT2.sub.-- 0[1,X,X,X,X,X,X,X,X,0,0,1,0,0,1,1,1,0,1]:>[0,0,0,0,1,1,1,1,0,1];*GT2.sub.-- 0, goto GT2.sub.-- 1[1,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,1,0,1]:>[0,0,0,0,1,1,1,1,0,1];*GT2.sub.-- 1, wait on PBBL=0[0,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,1,0,1]:>[0,0,0,1,0,1,1,1,0,1];*GT2.sub.-- 1, goto GT2.sub.-- WAIT[X,1,1,1,1,1,X,X,X,0,0,0,1,0,1,1,0,1,1]:>[0,0,0,1,0,1,1,1,0,1];*GT2.sub.-- WAIT[0,X,X,X,X,X,X,X,X,0,1,0,0,0,1,1,0,1,1]:>[0,1,0,0,0,1,1,0,1,1];*GT3.sub.-- 0, wait on PBBl=1 in GT3.sub.-- 0[1,X,X,X,X,X,X,X,X,0,1,0,0,0,1,1,0,1,1]:>[0,0,0,0,1,1,1,0,1,1];*GT3.sub.-- 0, goto GT3.sub.-- 1[1,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,0,1,1]:>[0,0,0,0,1,1,1,0,1,1];*GT3.sub.-- 1, wait on PBBL=0[0,X,X,X,X,X,X,X,X,0,0,0,0,1,1,1,0,1,1]:>[0,0,0,1,0,1,1,0,1,1];*GT3.sub.-- 1, goto GT3.sub.-- WAIT[X,1,1,1,1,1,X,X,X,0,0,0,1,0,1,0,1,1,1]:>[0,0,0,1,0,1,1,0,1,1];*GT3.sub.-- WAIT[0,X,X,X,X,X,X,X,X,0,1,0,0,0,1,0,1,1,1]:>[0,1,0,0,0,1,0,1,1,1];*GT4.sub.-- 0, wait on PBBL=1 in GT4.sub.-- 0[1,X,X,X,X,X,X,X,X,0,1,0,0,0,1,0,1,1,1]:>[0,0,0,0,1,1,0,1,1,1];*GT4.sub.-- 0, goto GT$.sub.-- 1[1,X,X,X,X,X,X,X,X,0,0,0,0,1,1,0,1,1,1]:>[0,0,0,0,1,1,0,1,1,1];*GT4.sub.-- 1, wait on PBBL=0[0,X,X,X,X,X,X,X,X,0,0,0,0,1,1,0,1,1,1]:>[0,0,0,1,0,1,0,1,1,1];*GT4.sub.-- 1, goto GT4.sub.-- WAIT[X,1,1,1,1,1,X,X,X,0,0,0,1,0,1,0,1,1,1]:>[0,0,0,1,0,1,0,1,1,1];*GT4.sub.-- WAIT[0,X,X,X,X,X,X,X,X,1,0,0,0,0,0,1,1,1,1]:>[1,0,0,0,0,0,1,1,1,1];*GT5.sub.-- 0, wait on PBBL=1 in GT5.sub.-- 0[1,X,X,X,X,X,X,X,X,1,0,0,0,0,0,1,1,1,1]:>[0,0,0,0,1,0,1,1,1,1];*GT5.sub.-- 0, goto GT5.sub.-- 1[1,X,X,X,X,X,X,X,X,0,0,0,0,1,0,1,1,1,1]:>[0,0,0,0,1,0,1,1,1,1];*GT5.sub.-- 1, wait on PBBL=0[0,X,X,X,X,X,X,X,X,0,0,0,0,1,0,1,1,1,1]:>[0,0,0,1,0,0,1,1,1,1];*GT5.sub.-- 1, goto GT5.sub.-- WAIT[X,1,1,1,1,1,X,X,X,0,0,0,1,0,0,1,1,1,1]:>[0,0,0,1,0,0,1,1,1,1];*GT5.sub.-- WAITEND__________________________________________________________________________

Claims (18)

What is claimed is:
1. A bus control method, comprising the steps of:
using a central processing unit, processing and manipulating data being transmitted to a computer system using a first PCI bus, a second PCI bus and an EISA/ISA bus;
using a first PCI bus bridge, changing structure of bus signals from bus masters to be transmitted through the first PCI bus;
using a second PCI bus bridge, changing structure of bus signals from bus masters to be transmitted through the second PCI bus;
using an EISA/ISA bus bridge, changing structure of bus signals from bus masters to be transmitted through the EISA/ISA bus;
using a first arbiter, receiving a first plurality of request signals requesting an authority to use the first PCI bus from the bus masters to be transmitted through the first PCI bus;
using the first arbiter, selecting a first bus master from the bus masters to be transmitted through the first PCI bus;
using the first arbiter, generating a first grant signal to authorize the first bus master to use the first PCI bus; and
using a second arbiter, receiving a second plurality of request signals requesting an authority to use the second PCI bus from the bus masters to be transmitted through the second PCI bus;
using the second arbiter, selecting a second bus master from the bus masters to be transmitted through the second PCI bus; and
using the second arbiter, generating a second grant signal to authorize the second bus master to use the second PCI bus, wherein the second arbiter comprises:
an edge detecting state machine detecting whether the second PCI bus is accessed by a bus master, and generating a frame signal having a logic state in dependence upon an access condition of the second PCI bus;
a priority resolve state machine receiving the frame signal and producing priority values determining an order of bus masters to use the second PCI bus, the priority values being changed according to the frame signal; and
a hand shake state machine generating and transmitting the second grant signal to grant an authority to use the second PCI bus to the bus masters to be transmitted through the second PCI bus according to the priority values.
2. The bus control method according to claim 1, wherein the edge detecting state machine changes states according to changes of the frame signal.
3. The bus control method according to claim 1, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to round robin.
4. The bus control method according to claim 3, wherein the priority resolve state machine changes states thereof according to the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus, and produces the priority values corresponding to states of the bus masters to be transmitted through the second PCI bus.
5. The bus control method according to claim 1, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to fixed priority.
6. The bus control method according to claim 1, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to least recently used.
7. A bus control system, comprising:
a plurality of bus masters;
a central processing unit for processing and manipulating data transmitted to a computer system using a first PCI bus, a second PCI bus and an EISA/ISA bus;
a first PCI bus bridge for changing structure of bus signals from bus masters to be transmitted through the first PCI bus;
a second PCI bus bridge for changing structure of bus signals from bus masters to be transmitted through the second PCI bus;
an EISA/ISA bus bridge for changing structure of bus signals from bus masters to be transmitted through the EISA/ISA bus;
a first arbiter for receiving a first plurality of request signals requesting an authority to use the first PCI bus from the bus masters to be transmitted through the first PCI bus, for selecting a first bus master from the bus masters to be transmitted through the first PCI bus, and for generating a first grant signal to authorize the first bus master to use the first PCI bus; and
a second arbiter for receiving a second plurality of request signals requesting an authority to use the second PCI bus from the bus masters to be transmitted through the second PCI bus, for selecting a second bus master from the bus masters to be transmitted through the second PCI bus, and for generating a second grant signal to authorize the second bus master to use the second PCI bus, wherein the second arbiter comprises:
an edge detecting state machine for detecting whether the second PCI bus is accessed by a bus master, and for generating a frame signal having a logic state in dependence upon an access condition of the second PCI bus;
a priority resolve state machine for receiving the frame signal and for producing priority values determining an order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus, the priority values being changed according to the frame signal; and
a hand shake state machine for generating and for transmitting the second grant signal to grant an authority to use the second PCI bus to the bus masters to be transmitted through the second PCI bus according to the priority values.
8. The bus control system according to claim 7, wherein the edge detecting state machine changes states according to changes of the frame signal.
9. The bus control system according to claim 7, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to round robin.
10. The bus control system according to claim 9, wherein the priority resolve state machine changes states thereof according to the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus, and produces the priority values corresponding to states of the bus masters to be transmitted through the second PCI bus.
11. The bus control system according to claim 7, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to fixed priority.
12. The bus control system according to claim 7, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to least recently used.
13. A PCI bus system, comprising:
a first PCI bus;
a second PCI bus;
a first arbiter for receiving a first plurality of request signals requesting an authority to use the first PCI bus from bus masters to be transmitted through the first PCI bus, and for authorizing a bus master to be transmitted through the first PCI bus to use the first PCI bus; and
a second arbiter for receiving a second plurality of request signals requesting an authority to use the second PCI bus from bus masters to be transmitted through the second PCI bus, and for authorizing a bus master to be transmitted through the second PCI bus to use the second PCI bus, wherein the second arbiter comprises:
an edge detecting state machine for detecting whether the second PCI bus is accessed by a bus master, and for generating a frame signal having a logic state in dependence upon an access condition of the second PCI bus;
a priority resolve state machine for receiving the frame signal and for producing priority values determining an order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus, the priority values being changed according to the frame signal; and
a hand shake state machine for generating and for transmitting a grant signal to grant an authority to use the second PCI bus to the bus masters to be transmitted through the second PCI bus according to the priority values.
14. The PCI bus system according to claim 13, wherein the edge detecting state machine changes states according to changes of the frame signal.
15. The PCI bus system according to claim 13, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to round robin.
16. The PCI bus system according to claim 15, wherein the priority resolve state machine changes states thereof according to the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus, and produces the priority values corresponding to states of the bus masters to be transmitted through the second PCI bus.
17. The PCI bus system according to claim 13, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to fixed priority.
18. The PCI bus system according to claim 13, wherein the priority resolve state machine determines the order of the bus masters to be transmitted through the second PCI bus to use the second PCI bus by determining according to least recently used.
US08792424 1996-01-30 1997-01-30 PCI bus arbiter and a bus control system having the same Expired - Fee Related US5970234A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR96-2136 1996-01-30
KR19960002136A KR0167726B1 (en) 1996-01-30 1996-01-30 Bus priority selecting apparatus

Publications (1)

Publication Number Publication Date
US5970234A true US5970234A (en) 1999-10-19

Family

ID=19450409

Family Applications (1)

Application Number Title Priority Date Filing Date
US08792424 Expired - Fee Related US5970234A (en) 1996-01-30 1997-01-30 PCI bus arbiter and a bus control system having the same

Country Status (2)

Country Link
US (1) US5970234A (en)
KR (1) KR0167726B1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253269B1 (en) * 1998-12-22 2001-06-26 3Com Corporation Bus arbiter system and method for managing communication buses
US6286067B1 (en) 1999-09-21 2001-09-04 Sony Corporation Method and system for the simplification of leaf-limited bridges
US6374316B1 (en) 1999-03-19 2002-04-16 Sony Corporation Method and system for circumscribing a topology to form ring structures
US6389547B1 (en) 1999-03-19 2002-05-14 Sony Corporation Method and apparatus to synchronize a bus bridge to a master clock
US20020138678A1 (en) * 2001-01-31 2002-09-26 Youngsik Kim System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses. software, and method for assigning programmable priorities
US6502158B1 (en) 1999-04-23 2002-12-31 Sony Corporation Method and system for address spaces
US6539450B1 (en) 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6584539B1 (en) 1999-03-19 2003-06-24 Sony Corporation Method and system for message broadcast flow control on a bus bridge interconnect
US20030145144A1 (en) * 2002-01-30 2003-07-31 International Business Machines Corporation N-way pseudo cross-bar using discrete processor local busses
US6631415B1 (en) 1999-03-19 2003-10-07 Sony Corporation Method and system for providing a communication connection using stream identifiers
US6647446B1 (en) 2000-03-18 2003-11-11 Sony Corporation Method and system for using a new bus identifier resulting from a bus topology change
US20040059862A1 (en) * 2002-09-24 2004-03-25 I-Bus Corporation Method and apparatus for providing redundant bus control
US6728821B1 (en) 1999-11-29 2004-04-27 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6757773B1 (en) 2000-06-30 2004-06-29 Sony Corporation System and method for determining support capability of a device coupled to a bus system
US6810452B1 (en) 1999-03-19 2004-10-26 Sony Corporation Method and system for quarantine during bus topology configuration
US20040225785A1 (en) * 2001-03-22 2004-11-11 I-Bus/Phoenix, Inc. Hybrid switching architecture
US6826644B1 (en) * 2000-08-10 2004-11-30 Serverworks Corporation Peripheral component interconnect arbiter implementation with dynamic priority scheme
US20050050253A1 (en) * 2003-08-25 2005-03-03 Srikanth Rengarajan Programmable bus arbitration
US20050144349A1 (en) * 2001-04-04 2005-06-30 Paul Vogt Circuit and method for hiding peer devices in a computer bus

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5446869A (en) * 1993-12-30 1995-08-29 International Business Machines Corporation Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5560016A (en) * 1994-10-06 1996-09-24 Dell Usa, L.P. System and method for dynamic bus access prioritization and arbitration based on changing bus master request frequency
US5594882A (en) * 1995-01-04 1997-01-14 Intel Corporation PCI split transactions utilizing dual address cycle
US5608884A (en) * 1995-05-17 1997-03-04 Dell Usa, L.P. Commonly housed multiple processor type computing system and method of manufacturing the same
US5630145A (en) * 1995-05-05 1997-05-13 United Microelectronics Corp. Method and apparatus for reducing power consumption according to bus activity as determined by bus access times

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5446869A (en) * 1993-12-30 1995-08-29 International Business Machines Corporation Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5560016A (en) * 1994-10-06 1996-09-24 Dell Usa, L.P. System and method for dynamic bus access prioritization and arbitration based on changing bus master request frequency
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5594882A (en) * 1995-01-04 1997-01-14 Intel Corporation PCI split transactions utilizing dual address cycle
US5630145A (en) * 1995-05-05 1997-05-13 United Microelectronics Corp. Method and apparatus for reducing power consumption according to bus activity as determined by bus access times
US5608884A (en) * 1995-05-17 1997-03-04 Dell Usa, L.P. Commonly housed multiple processor type computing system and method of manufacturing the same

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bit 3 Computer Corporation, Product Summary, Jan. 1997, pp. 6 and 7 including cover page. *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539450B1 (en) 1998-11-29 2003-03-25 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6253269B1 (en) * 1998-12-22 2001-06-26 3Com Corporation Bus arbiter system and method for managing communication buses
US6584539B1 (en) 1999-03-19 2003-06-24 Sony Corporation Method and system for message broadcast flow control on a bus bridge interconnect
US6389547B1 (en) 1999-03-19 2002-05-14 Sony Corporation Method and apparatus to synchronize a bus bridge to a master clock
US6810452B1 (en) 1999-03-19 2004-10-26 Sony Corporation Method and system for quarantine during bus topology configuration
US6374316B1 (en) 1999-03-19 2002-04-16 Sony Corporation Method and system for circumscribing a topology to form ring structures
US6631415B1 (en) 1999-03-19 2003-10-07 Sony Corporation Method and system for providing a communication connection using stream identifiers
US6502158B1 (en) 1999-04-23 2002-12-31 Sony Corporation Method and system for address spaces
US6286067B1 (en) 1999-09-21 2001-09-04 Sony Corporation Method and system for the simplification of leaf-limited bridges
US6728821B1 (en) 1999-11-29 2004-04-27 Sony Corporation Method and system for adjusting isochronous bandwidths on a bus
US6647446B1 (en) 2000-03-18 2003-11-11 Sony Corporation Method and system for using a new bus identifier resulting from a bus topology change
US6757773B1 (en) 2000-06-30 2004-06-29 Sony Corporation System and method for determining support capability of a device coupled to a bus system
US6826644B1 (en) * 2000-08-10 2004-11-30 Serverworks Corporation Peripheral component interconnect arbiter implementation with dynamic priority scheme
US20050066094A1 (en) * 2000-08-10 2005-03-24 Arramreddy Sujith K. Peripheral component interconnect arbiter implementation with dynamic priority scheme
US7234012B2 (en) 2000-08-10 2007-06-19 Broadcom Corporation Peripheral component interconnect arbiter implementation with dynamic priority scheme
US6976108B2 (en) 2001-01-31 2005-12-13 Samsung Electronics Co., Ltd. System on a chip having a system bus, an external bus, and a bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities
US20020138678A1 (en) * 2001-01-31 2002-09-26 Youngsik Kim System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses. software, and method for assigning programmable priorities
US20040225785A1 (en) * 2001-03-22 2004-11-11 I-Bus/Phoenix, Inc. Hybrid switching architecture
US6950893B2 (en) 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US20060031625A1 (en) * 2001-03-22 2006-02-09 I-Bus Corporation Hybrid switching architecture
US7103696B2 (en) 2001-04-04 2006-09-05 Adaptec, Inc. Circuit and method for hiding peer devices in a computer bus
US20050144349A1 (en) * 2001-04-04 2005-06-30 Paul Vogt Circuit and method for hiding peer devices in a computer bus
US20030145144A1 (en) * 2002-01-30 2003-07-31 International Business Machines Corporation N-way pseudo cross-bar using discrete processor local busses
US6823411B2 (en) * 2002-01-30 2004-11-23 International Business Machines Corporation N-way psuedo cross-bar having an arbitration feature using discrete processor local busses
US20040059862A1 (en) * 2002-09-24 2004-03-25 I-Bus Corporation Method and apparatus for providing redundant bus control
US20050050253A1 (en) * 2003-08-25 2005-03-03 Srikanth Rengarajan Programmable bus arbitration

Also Published As

Publication number Publication date Type
KR0167726B1 (en) 1999-01-15 grant

Similar Documents

Publication Publication Date Title
US6141715A (en) Method and system for avoiding live lock conditions on a computer bus by insuring that the first retired bus master is the first to resubmit its retried transaction
US5708794A (en) Multi-purpose usage of transaction backoff and bus architecture supporting same
US5862353A (en) Systems and methods for dynamically controlling a bus
US4633437A (en) Data processor having dynamic bus sizing
US5935233A (en) Computer system with a switch interconnector for computer devices
US5850530A (en) Method and apparatus for improving bus efficiency by enabling arbitration based upon availability of completion data
US5263169A (en) Bus arbitration and resource management for concurrent vector signal processor architecture
US7062587B2 (en) Unidirectional bus architecture for SoC applications
US6088751A (en) Highly configurable bus priority arbitration system
US5327570A (en) Multiprocessor system having local write cache within each data processor node
US6098137A (en) Fault tolerant computer system
US5835741A (en) Bus-to-bus bridge in computer system, with fast burst memory range
US5887194A (en) Locking protocol for peripheral component interconnect utilizing master device maintaining assertion of lock signal after relinquishing control of bus such that slave device remains locked
US5758166A (en) Method and apparatus for selectively receiving write data within a write buffer of a host bridge
US5548780A (en) Method for semaphore communication between incompatible bus locking architectures
US5913045A (en) Programmable PCI interrupt routing mechanism
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
US5649128A (en) Multiple bus interface adapter for connection to a plurality of computer bus architectures
US5835752A (en) PCI interface synchronization
US5925118A (en) Methods and architectures for overlapped read and write operations
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US5884051A (en) System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities
US5592631A (en) Bus transaction reordering using side-band information signals
US5918070A (en) DMA controller with channel tagging

Legal Events

Date Code Title Description
AS Assignment

Owner name: SAMSUNG ELECTRONICS CO., LTD., A CORPORATION ORGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JIN, SUNG-KON;REEL/FRAME:008383/0476

Effective date: 19970130

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: JINGPIN TECHNOLOGIES, LLC, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SAMSUNG ELECTRONICS CO., LTD.;REEL/FRAME:018883/0845

Effective date: 20070122

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
FP Expired due to failure to pay maintenance fee

Effective date: 20111019