WO2001013247A9 - System and method for address broadcast synchronization using a plurality of switches - Google Patents

System and method for address broadcast synchronization using a plurality of switches

Info

Publication number
WO2001013247A9
WO2001013247A9 PCT/US2000/022563 US0022563W WO0113247A9 WO 2001013247 A9 WO2001013247 A9 WO 2001013247A9 US 0022563 W US0022563 W US 0022563W WO 0113247 A9 WO0113247 A9 WO 0113247A9
Authority
WO
WIPO (PCT)
Prior art keywords
switch
address
request
sources
requests
Prior art date
Application number
PCT/US2000/022563
Other languages
French (fr)
Other versions
WO2001013247A3 (en
WO2001013247A2 (en
Inventor
Naser H Marmash
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AT00957512T priority Critical patent/ATE237156T1/en
Priority to DE60002094T priority patent/DE60002094D1/en
Priority to AU69118/00A priority patent/AU6911800A/en
Priority to EP00957512A priority patent/EP1208440B1/en
Publication of WO2001013247A2 publication Critical patent/WO2001013247A2/en
Publication of WO2001013247A3 publication Critical patent/WO2001013247A3/en
Publication of WO2001013247A9 publication Critical patent/WO2001013247A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring

Definitions

  • TITLE SYSTEM AND METHOD FOR ADDRESS BROADCAST SYNCHRONIZATION USING A PLURALITY OF SWITCHES
  • This invention relates to cache synchronization and more particularly to address broadcast synchronization to a plurality of potentially responding devices
  • One approach for achieving cache coherency m a system with large N is by broadcastmg the cache miss addresses to all cacheable devices simultaneously, through an address broadcast network
  • the address broadcast network has an address-m and an address-out connection to each of the cacheable devices
  • N > 4 One problem with building an address network in hardware for large systems (N > 4) is that one needs a very large pm count ASIC (Application Specific Integrated Circuit) to accommodate all address-ins and address- outs for all cacheable devices to maintain address synchronization
  • ASIC Application Specific Integrated Circuit
  • the svstem for concurrently providing addresses to a plurality of devices includes a first switch and a second switch
  • the first switch is coupled to receive address requests from a first plurality of sources
  • the first switch is configured to output the address request from the first plurality of sources
  • the second switch is coupled to receive address requests from a second plurality of sources
  • the second switch is configured to receive the address request from the first plurality of sources from the first switch
  • the second switch is further configured to delav the address request from the second plurality of sources prior to arbitrating between ones of the address request from the second plurality of sources and ones of the address request from the first partv of sources received from the
  • the broadcast arbiter is coupled to arbitrate between ones of the address request from the second plurality of sources and ones of the output of the address request from the first plurality of sources from the first switch for a selected address request.
  • the first switch and the second switch are further configured to broadcast concurrently a corresponding address to the selected address request selected m the broadcast arbiter
  • a method of arbitrating in a first switch and a second switch between requests to the first switch and the second switch comprises tracking which switch was most recently selected and tracking which switch is next to be selected In response to a reset, the method selects the first switch and indicates that the second switch is next to be selected In response to only a local request to the first switch or only a remote request to the second switch, the method selects the first switch and indicates that the first switch is next to be selected In response to only a local request to the second switch or only a remote request to the first switch, the method selects the second switch and indicates that the second switch is next to be selected In response to both a local request and a remote request concurrently, the method selects the switch which was not most recently selected, and the method mdicates that the switch not most recently selected will be the next to be selected Otherwise, the method selects the first switch and mdicates the switch most recently selected as the next to be selected
  • Fig 1 is a block diagram of an embodiment of a computer system including two switches that concurrently provide addresses to a plurality of devices,
  • Fig. 2 is a block diagram of an embodiment of the two switches shown in Fig. 1
  • Figs. 3A and 3B are a flowchart of an embodiment of a method for arbitrating m a first switch and a second switch between request to the first switch and the second switch
  • FIG. 1 Computer System Including Two Switches
  • Fig. 1 is a block diagram of a computer system mcludmg two switches, switch 110A and switch HOB.
  • the computer system mcludes CPUs 115A-115H, input and output devices (I O) 120A-120D, and memones 125A-125D.
  • Data signals beginning with a P have a processor 115 as a destmation, and data signals beginning with an I/O have an I/O device 120 as a destination.
  • Switches 110A and HOB are shown receiving input from va ⁇ ous groupings of the processors 115 and the I/O devices 120.
  • the switches 110A and HOB are also shown outputtmg signals to vanous ones of the processors 115, the I/O devices 120, and to the memories 125
  • a plurality of processors (CPUs) 115A-115H each receives an mput, preferably addresses, approp ⁇ ately referenced as P0-P7.
  • Each of the processors 115A-115H outputs an output, preferably an address and an address request, such as an address request packet, to one of the two switches 110A and HOB.
  • switch 110A also accepts address request packets from I/O device 120A and I/O device 120B
  • switch HOB accepts address request packets from I/O device 120C and I/O device 120D.
  • Switch HOA outputs an output signal, preferably address signals, to the CPUs 115A-115D, the I/O devices I/O0-I/O1, and memones 125A-125B.
  • Switch HOB outputs an output signal, preferably address signals, to processors 115E- 1 15H. 1 0 devices L02-I 03, and memories 125C-125D
  • Switch 1 10A and sw itch HOB also exchange data preferably including addresses and address requests
  • processors 115 I/O devices 120. and memories 125 are illustrated, any number of processors, I/O devices, and/or memories, or other devices are contemplated It is also noted that ⁇ hile unidirectional data paths are illustrated, bi-directional data paths may also be used as desired
  • Fig 2 is a block diagram of one embodiment of the switches 1 10A and HOB
  • each switch 110 mcludes a plurality of mput FIFOs (First-In, First Out buffers) 205.
  • MUX input multiplexer
  • broadcast FIFO 225 broadcast FIFO 225
  • incommg FIFO 230 incommg FIFO 230
  • delay circuit 235 a broadcast arbiter 240.
  • the switches 110 exchange output requests from their respective request arbiters 215 and output addresses from their respective input MUXes 210
  • switch HOA accepts addresses P0-P3 and I/O0-I O1, as well as address requests P0_req- P3_req and I/O0_req and I/Oljreq
  • Switch HOA outputs address signals P0-P3, I/O0-I/O1, and M0-M1
  • Each incoming address P0-P3 and I O0-I/O1 is received mto an mput FIFO 205A-205F
  • the address requests that correspond to the addresses received in the mput FIFOs 205A-205F are received at a request arbiter 215A
  • the request arbiter 215A is a round-robm arbiter, although any other means of arbitration may be used as desired for choosmg requests received by request arbiter 215A
  • the request arbiter 215A controls the selection at mput MUX 210A with regard to the output of the mput FI
  • Switch HOA is also coupled to receive the address request SWl_req from switch HOB, as well as address output signal 220B Signal 220B is received at mcormng FIFO 230A
  • broadcast FIFO 225A and mcoming FIFO 230A each output data to output MUX 245A, broadcast FIFO 225A as '0' (zero) and mcorning FIFO 230A as '1 ' (one)
  • Address request SW0_req is delayed for a period of tune in delay circuit 235A before bemg provided to broadcast arbiter 240A
  • the pe ⁇ od of time of the delay may be a predetermined pe ⁇ od of time It is noted that in a prefe ⁇ ed embodiment, the predetermined pe ⁇ od of time is equal to the tune required for switch 110A to receive the address request SWl_req and the address output signal 220B Broadcast arbiter 240A chooses (or arbitrates) between request SW0_req and request SWl_
  • P7_req and I702_req and I/03_req Switch HOB outputs address signals P4-P7, I/02-I/03, and M2-M3
  • Each mcormng address P4-P7 and I/02-I/03 is received mto an mput FIFO 205G-205L
  • the address requests that correspond to the addresses received m the mput FIFOs 205G-205L are received at a request arbiter 215B
  • the request arbiter 215B is a round-robm arbiter, although any other means of arbitration may be used as desired for choosing requests received bv request arbiter 215B
  • the request arbiter 215B controls the selection at input MUX 210B with regard to the output of the mput FIFOs 205G-205L
  • the selected address request is output as SWl__req to delay circuit 235B
  • Switch HOB is also coupled to receive the address request SW0_req from switch 110A, as well as address output signal 220A Signal 220A is received at incoming FIFO 230B As shown, broadcast FIFO 225B and incommg FIFO 230B each output data to output MUX 245B, broadcast FIFO 225B as ' 1 ' (one) and incoming FIFO 230B as '0' (zero) Address request SWl_req is delayed for a period of time m delay circuit 235B before bemg provided to broadcast arbiter 240B The period of time of the delay may be a predetermined pe ⁇ od of tune It is noted that m a preferred embodiment, the predetermined pe ⁇ od of time is equal to the time required for switch HOB to receive the address request SW0_req and the address output signal 220A Broadcast arbiter 240B chooses (or arbitrates) between request SW0_req and request SWl_req The broadcast arbiter 240B controls the output
  • delay circuits 235 A and 235B may include any circuit that is configured to delay the output of a received signal
  • a delay circuit 235 delays the received signal longer than the minimum time required to propagate the received signal through delay circuit 235
  • delay circuit 235 mcludes one or more flip-flops
  • m va ⁇ ous embodiments va ⁇ ous mcormng and outgoing signals to and from switches HOA and 110B may be buffered at mput to the switch 110 and/or on output from the switch 110
  • the system of Fig 1 operates as descnbed herem
  • the first switch 110A is coupled to receive address requests from a first plurality of sources
  • one plurality of sources may be processors 115A-115D and/or I/O devices 120A-120B
  • the first switch HOA is configured to output a received address request from the first plurality of sources
  • the second switch HOB is coupled to receive address requests from a second plurality of sources
  • the second plurality of sources may mclude processors 115E-115H and/or I/O devices 120C-120D
  • Switch 110B is also configured to receive the address request from the first plurality of sources from the first switch HOA
  • the second switch is further configured to delay internally address requests from the second plurality of sources It is noted that the length of the delay may be predetermined, and is preferably equal m length of time to the time delay m receiving the address request from the first plurality of sources from the first switch
  • the second switch HOB is further configured to arbitrate between ones of the address requests from the second plurality of sources and ones of the address request from the first plurality of sources output from the first switch
  • the arbitration between the address requests is to determine a selected address request Once a selected address request has been selected, the first switch and the second switch are further configured to broadcast concurrently the corresponding address to the selected address request It is noted that the corresponding address will broadcast to any or all devices, mclu
  • Fig 3A - 3B Arbitration by a Broadcast Arbiter
  • Figs 3A and 3B illustrate a flowchart of an embodiment of a method for operatmg an arbiter, such as broadcast arbiters 240A and 240B
  • the method tracks which switch was most recently selected, and the method also tracks which switch is next to be selected
  • the method checks to see if reset has been asserted If reset has been asserted in decision box 305, then an output MUX selects output '0' (I e switch 110A) and the next granted switch will be the other switch (l e switch HOB) (step 310)
  • the method determines if only a local request has been made to the first switch 110A or only a remote request has been made to the second switch 110B m decision block 315 If only a local request has been made to the first switch HOA or only a remote request is made to the second switch HOB, then the method selects output MUX output '0' and the next granted switch will be the same switch (step 320)
  • the method moves to decision block 325 If only a local request has been made to the second switch 110B or only a remote request has been made to the first switch 110A m decision box 325, then the method selects output MUX output ' 1 ' and the next granted switch will be the same switch (step 330)
  • decision block 335 If only a local request to the second switch HOB or only a local request to the first switch HOA has not been made in decision block 325, then the method moves to decision block 335 In decision block 335, if both a local request and a remote request have concurrently been made, and the current granted switch is switch HOA, then the output MUX selects T and the next granted switch is switch HOA (step 340) If in decision block 335 both the local request and remote request have been made concurrently but the current granted switch is not switch 0, then the method moves to decision block 345
  • decision block 345 if both the local request and a remote request have been made concurrently and the current granted switch is switch 110B, then the output MUX selects '0' and the next granted switch is switch 110A (step 350) It is noted that m decision blocks 335 and 345. an affirmative decision is made in either case when a local request and a remote request have both been made concurrently In either case the selected output MUX output is to the switch not most recently selected and the indicated switch as the next granted switch is also the switch not most recently selected The default action when all decision blocks are negative is for the outgomg MUX to select 0 and the next granted switch is the current granted switch (step 355)
  • the switches HOA and HOB mav be application specific mtegrated circuits ASICO and ASIC1
  • ASICO and ASIC1 are location strapped via jumpers
  • ASICO preterably will have a pull-up resistor while ASIC1 preferably has a pull-down resistor, both of which get latched on reset to identify which is ASICO and which is ASIC1
  • the priority toggles between the broadcast arbiters based on the sw itch that had the last request granted and the cunent outstanding request
  • the method disclosed may advantageously ensure that both arbiters are synchronized to each other without a need for request/grant flow control mechanisms beyond the address and the corresponding address request that was initially received
  • both processors 115 A and 115E have an outstandmg address packet in the address network
  • the PO address packet is received m switch HOA's input FIFO 205 A from processor 115A
  • the P4 address packet is received and stored m switch HOB's mput FIFO 205G from processor 115E
  • the request arbiter 215A m switch HOA will receive the PO request associated with the address stored in mput FIFO 205 A
  • request arbiter 215B receives the P4_req address request associated with the P4 address stored m mput FIFO 205G
  • Request arbiter 215A m switch HOA controls mput MUX 210A to output the address associated with mput signal PO as output signal 220A, which is provided to broadcast FIFO 225A and to mcoming FIFO 230B Likewise, request arbiter 215B controls mput MUX 21 OB to output the address from P4 as output signal 220B Output signal 220B is provided to broadcast FIFO 225B and also to mcommg FIFO 230A Concunently with the addresses bemg routed from the mput FIFO 205 to the broadcast FIFOs 225 and mcormng FIFOs 230, switch HOA has asserted SW0_req lme mdicatmg the presence of an address from switch HOA m broadcast FIFO 225A and mcommg FIFO 230B
  • signal SW0_req is first provided to a delay circuit 235A, before bemg provided to broadcast arbiter 240A
  • the delay circuit 235 A delays the address request SW0_req by approximately an equal amount of time as required for switch HOA to receive the address and corresponding address request from switch HOB
  • broadcast arbiter 240A receives notice that an address is present m the broadcast FIFO 225A concurrently with an address bemg available m the mcormng FIFO 230A
  • the broadcast arbiter 240A chooses (or arbitrates) for pnonty between the SWO req and SWl_req
  • the prefened arbitration method is described above with respect to Figs 3A and 3B Broadcast arbiter 240A selects either '0' or ' 1 ' denoting the address from
  • each switch HOA and 110B delays the address request that it sends, SW0_req and SWl_req, respectively, to the broadcast arbiter 240 of the other switch by an equivalent time penod of 2 clock cycles This delay ensures that the broadcast arbiters 240A and 240B m each switch HOA and 110B receive the address request concurrently Switch 1 10A has the PO address placed in its broadcast FIFO 225 A and the P4 address placed m mcommg
  • FIFO 230A Switch HOB has the PO address placed m its mcommg FIFO 230B and P4 packet placed in broadcast
  • broadcast arbiter 240A has received address request SW0_req and address request
  • the arbitration method described above with respect to Figs 3A and 3B illustrates a preferred embodiment of how the broadcast arbiter 245 works for each address request that it receives After a reset, the last granted switch defaults to switch 110A, so that switch HOA broadcast arbiter now has the highest pnonty
  • both broadcast arbiter 240A and broadcast arbiter 240B will select the '0' of the multiplexer 245B It is noted that both broadcast arbiter 240A and broadcast arbiter 240B are at decision block 345 of Fig.
  • broadcast arbiter 240A and broadcast arbiter 240B followmg an arbitration method similar to that disclosed m Figs. 3A and 3B, make selections between local and remote requests which are identical m all cases It is also noted the broadcaster arbiter 240A knows that upon a reset that it will have pnonty just as broadcast arbiter 240B knows that after a reset it will not have pnonty.

Abstract

A system and method providing address broadcast synchronization using multiple switches. The system for concurrently providing addresses to a plurality of devices includes a first switch and a second switch. The first switch is coupled to receive address requests from a first plurality of sources. The first switch is configured to output the address request from the first plurality of sources. The second switch is coupled to receive address requests from a second plurality of sources. The second switch is configured to receive the address request from the first plurality of sources from the first switch. The second switch is further configured to delay the address request from the second plurality of sources prior to arbitrating between ones of the address request from the second plurality of sources and ones of the address request from the first party of sources received from the first switch. The second switch selects a selected address request, and the first and the second switch are further configured to broadcast concurrently a corresponding address to the selected address request. A method is also contemplated for concurrently providing addresses to a plurality of devices. A method of arbitrating in a first switch and a second switch between requests to the first switch and the second switch is disclosed where the arbitrated outcomes in both the first switch and the second switch are identical.

Description

TITLE: SYSTEM AND METHOD FOR ADDRESS BROADCAST SYNCHRONIZATION USING A PLURALITY OF SWITCHES
BACKGROUND OF THE INVENTION
1 Field of the Invention
This invention relates to cache synchronization and more particularly to address broadcast synchronization to a plurality of potentially responding devices
2 Description of the Relevant Art
Maintaining cache coherency in an N-way system, where N is the number of processors in the system, is essential In a system where N is small (N < 4), the address buses of all cacheable devices may be physically connected together Therefore, all cacheable devices may see a cache miss address simultaneously On the other hand when a system of N is large (N > 4), it becomes electrically unfeasible to connect the address buses of all cacheable devices together
One approach for achieving cache coherency m a system with large N, is by broadcastmg the cache miss addresses to all cacheable devices simultaneously, through an address broadcast network The address broadcast network has an address-m and an address-out connection to each of the cacheable devices When a device sends a cache miss address to the address broadcast network, the address gets buffered, and then broadcast to all devices concurrently, so that all devices may check or update their tags appropnately
One problem with building an address network in hardware for large systems (N > 4) is that one needs a very large pm count ASIC (Application Specific Integrated Circuit) to accommodate all address-ins and address- outs for all cacheable devices to maintain address synchronization The expense of building a large pm count ASIC to accommodate all address-ms and all address-outs for all cacheable devices limits this solution to only a very small number of computer systems
Another possible solution is to slice the address network into X (X>1) slices for a small ASIC solution The problem with address slicing is that using typical request and grant flow control techniques between address slices to mamtam address synchronization requires a computer system performance degradation that is unacceptable
What is needed is a mechanism for achieving synchronization between address network slices without substantial performance degradation The request and grant flow control technique used should require a minimum number of control signals passing between each switch
SUMMARY OF THE INVENTION
The problems outlmed above are m large part solved by a system and method providmg address broadcast synchronization usmg multiple switches Each switch may be an application specific mtegration circuit (ASIC) or a separate switchmg device By dividing address requests between more than one switch, addresses may be broadcast concurrently to a plurality of devices, which may advantageously provide for a higher system performance at a lower cost In one embodiment the svstem for concurrently providing addresses to a plurality of devices includes a first switch and a second switch The first switch is coupled to receive address requests from a first plurality of sources The first switch is configured to output the address request from the first plurality of sources The second switch is coupled to receive address requests from a second plurality of sources The second switch is configured to receive the address request from the first plurality of sources from the first switch The second switch is further configured to delav the address request from the second plurality of sources prior to arbitrating between ones of the address request from the second plurality of sources and ones of the address request from the first partv of sources received from the first switch The second switch selects a selected address request, and the first and the second switch are further configured to broadcast concurrently a corresponding address to the selected address request A method is also contemplated, m one embodiment, for concurrently providing addresses to a plurality of devices In one embodiment, the method comprises receiving at a first switch a first address and a corresponding first request from a first device The method receives at a second switch a second address and a corresponding second request from a second device, with the first switch being different from the second switch The method transfers the second address and the corresponding second request to the first switch The method delays the corresponding first request m the first switch The method arbitrates in the first switch between the corresponding first request and the corresponding second request but rather the first address or the second address will comprise a first transmission The method concurrently broadcasts to a plurality of devices the first transmission from the first switch and the first transmission from the second switch where the first transmission from the first switch and the first transmission from the second switch are identical In another embodiment, a system for concurrently providmg addresses to a plurality of devices includes a first switch and a second switch The first switch is coupled to receive address requests from a first plurality of sources The first switch is configured to output the address request from the first plurality of sources The second switch is coupled to receive address requests from a second plurality of sources The second switch compnses a broadcast buffer, an mcoming buffer, a delay circuit, and a broadcast arbiter The broadcast buffer is coupled to receive addresses of the address requests from the second plurality of sources The mcormng buffer is coupled to receive addresses of the output of the address requests from the first plurality of sources from the first switch The delay circuit is coupled to receive the address requests from the second plurality of sources The delay circuit is configured to delay the address requests from the second plurality of sources for a predetermined length of time
The broadcast arbiter is coupled to arbitrate between ones of the address request from the second plurality of sources and ones of the output of the address request from the first plurality of sources from the first switch for a selected address request The first switch and the second switch are further configured to broadcast concurrently a corresponding address to the selected address request selected m the broadcast arbiter
In still another embodiment, a method of arbitrating in a first switch and a second switch between requests to the first switch and the second switch is disclosed The method comprises tracking which switch was most recently selected and tracking which switch is next to be selected In response to a reset, the method selects the first switch and indicates that the second switch is next to be selected In response to only a local request to the first switch or only a remote request to the second switch, the method selects the first switch and indicates that the first switch is next to be selected In response to only a local request to the second switch or only a remote request to the first switch, the method selects the second switch and indicates that the second switch is next to be selected In response to both a local request and a remote request concurrently, the method selects the switch which was not most recently selected, and the method mdicates that the switch not most recently selected will be the next to be selected Otherwise, the method selects the first switch and mdicates the switch most recently selected as the next to be selected
BRIEF DESCRIPTION OF THE DRAWINGS Other objects and advantages of the invention will become apparent upon reading the following detailed descπption and upon reference to the accompanying drawings in which
Fig 1 is a block diagram of an embodiment of a computer system including two switches that concurrently provide addresses to a plurality of devices,
Fig. 2 is a block diagram of an embodiment of the two switches shown in Fig. 1 , and Figs. 3A and 3B are a flowchart of an embodiment of a method for arbitrating m a first switch and a second switch between request to the first switch and the second switch
While the mvention is susceptible to vaπous modifications and alternative forms, specific embodiments thereof are shown by way of example m the drawings and will herem be descπbed m detail It should be understood, however, that the drawings and detailed description thereto are not mtended to limit the mvention to the particular form disclosed, but on the contrary, the mtention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present mvention as defined by the appended claims
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Similar features are designed herem using identical reference numerals. It is noted that the use of a reference numeral with an additional letter may designate a particular one of a group that may referenced as a while with the reference numeral by itself.
Fig. 1 - Computer System Including Two Switches
Fig. 1 is a block diagram of a computer system mcludmg two switches, switch 110A and switch HOB. As shown, the computer system mcludes CPUs 115A-115H, input and output devices (I O) 120A-120D, and memones 125A-125D. Data signals beginning with a P have a processor 115 as a destmation, and data signals beginning with an I/O have an I/O device 120 as a destination. Switches 110A and HOB are shown receiving input from vaπous groupings of the processors 115 and the I/O devices 120. The switches 110A and HOB are also shown outputtmg signals to vanous ones of the processors 115, the I/O devices 120, and to the memories 125
A plurality of processors (CPUs) 115A-115H (eight as shown), each receives an mput, preferably addresses, appropπately referenced as P0-P7. Each of the processors 115A-115H outputs an output, preferably an address and an address request, such as an address request packet, to one of the two switches 110A and HOB. As shown, switch 110A also accepts address request packets from I/O device 120A and I/O device 120B Also as shown, switch HOB accepts address request packets from I/O device 120C and I/O device 120D. Switch HOA outputs an output signal, preferably address signals, to the CPUs 115A-115D, the I/O devices I/O0-I/O1, and memones 125A-125B. Switch HOB outputs an output signal, preferably address signals, to processors 115E- 1 15H. 1 0 devices L02-I 03, and memories 125C-125D Switch 1 10A and sw itch HOB also exchange data preferably including addresses and address requests
It is noted that while a particular number of processors 115, I/O devices 120. and memories 125 are illustrated, any number of processors, I/O devices, and/or memories, or other devices are contemplated It is also noted that \\ hile unidirectional data paths are illustrated, bi-directional data paths may also be used as desired
Fig 2 - Address Broadcast Synchronization Switches
Fig 2 is a block diagram of one embodiment of the switches 1 10A and HOB As shown, each switch 110 mcludes a plurality of mput FIFOs (First-In, First Out buffers) 205. a request arbiter 215, an input multiplexer (MUX) 210. a broadcast FIFO 225, an incommg FIFO 230, a delay circuit 235. a broadcast arbiter 240. and an output MUX 245 The switches 110 exchange output requests from their respective request arbiters 215 and output addresses from their respective input MUXes 210
As illustrated, switch HOA accepts addresses P0-P3 and I/O0-I O1, as well as address requests P0_req- P3_req and I/O0_req and I/Oljreq Switch HOA outputs address signals P0-P3, I/O0-I/O1, and M0-M1 Each incoming address P0-P3 and I O0-I/O1 is received mto an mput FIFO 205A-205F The address requests that correspond to the addresses received in the mput FIFOs 205A-205F are received at a request arbiter 215A In the preferred embodiment, the request arbiter 215A is a round-robm arbiter, although any other means of arbitration may be used as desired for choosmg requests received by request arbiter 215A When the request arbiter 215A chooses (or arbitrates) for a particular address request, the request arbiter 215 A controls the selection at mput MUX 210A with regard to the output of the mput FIFOs 205A-205F The selected address request is output as SW0_req to delay circuit 235A The output of mput MUX 210A, shown as signal 220A, is provided to a broadcast FIFO 225A It is noted that output signal 220A is also provided to switch 110B, and that the address request SWO req is also provided to switch HOB
Switch HOA is also coupled to receive the address request SWl_req from switch HOB, as well as address output signal 220B Signal 220B is received at mcormng FIFO 230A As shown, broadcast FIFO 225A and mcoming FIFO 230A each output data to output MUX 245A, broadcast FIFO 225A as '0' (zero) and mcorning FIFO 230A as '1 ' (one) Address request SW0_req is delayed for a period of tune in delay circuit 235A before bemg provided to broadcast arbiter 240A The peπod of time of the delay may be a predetermined peπod of time It is noted that in a prefeπed embodiment, the predetermined peπod of time is equal to the tune required for switch 110A to receive the address request SWl_req and the address output signal 220B Broadcast arbiter 240A chooses (or arbitrates) between request SW0_req and request SWl_req The broadcast arbiter 240A controls the output of output MUX 245 A choosmg between '0' and ' 1 ' The output of output MUX 245 A, the selected address for the first transmission, is provided concurrently to vaπous groups of the processors 115, I/O devices 120, and/or memories 125 through signals P0-P3, 1/O0-I/O1, and M0-M1 As illustrated, switch HOB accepts addresses P4-P7 and I/02-I 03, as well as address requests P4_req-
P7_req and I702_req and I/03_req Switch HOB outputs address signals P4-P7, I/02-I/03, and M2-M3 Each mcormng address P4-P7 and I/02-I/03 is received mto an mput FIFO 205G-205L The address requests that correspond to the addresses received m the mput FIFOs 205G-205L are received at a request arbiter 215B In the preferred embodiment, the request arbiter 215B is a round-robm arbiter, although any other means of arbitration may be used as desired for choosing requests received bv request arbiter 215B When the request arbiter 215B chooses (or arbitrates) for a particular address request, the request arbiter 215B controls the selection at input MUX 210B with regard to the output of the mput FIFOs 205G-205L The selected address request is output as SWl__req to delay circuit 235B The output of mput MUX 21 OB shown as signal 220B, is provided to a broadcast FIFO 225B It is noted that output signal 220B is also provided to switch 110A, and that the address request SWl_req is also provided to switch 110A
Switch HOB is also coupled to receive the address request SW0_req from switch 110A, as well as address output signal 220A Signal 220A is received at incoming FIFO 230B As shown, broadcast FIFO 225B and incommg FIFO 230B each output data to output MUX 245B, broadcast FIFO 225B as ' 1 ' (one) and incoming FIFO 230B as '0' (zero) Address request SWl_req is delayed for a period of time m delay circuit 235B before bemg provided to broadcast arbiter 240B The period of time of the delay may be a predetermined peπod of tune It is noted that m a preferred embodiment, the predetermined peπod of time is equal to the time required for switch HOB to receive the address request SW0_req and the address output signal 220A Broadcast arbiter 240B chooses (or arbitrates) between request SW0_req and request SWl_req The broadcast arbiter 240B controls the output of output MUX 245B choosmg between '0' and T The output of output MUX 245B, the selected address for the first transmission, is provided concurrently to vanous groups of the processors 115, I/O devices 120, and/or memories 125 through signals P4-P7, 1/02-I/03, and M2-M3
It is noted that the delay circuits 235 A and 235B may include any circuit that is configured to delay the output of a received signal In one embodiment, a delay circuit 235 delays the received signal longer than the minimum time required to propagate the received signal through delay circuit 235 In another embodiment, delay circuit 235 mcludes one or more flip-flops It is also noted that m vaπous embodiments vaπous mcormng and outgoing signals to and from switches HOA and 110B may be buffered at mput to the switch 110 and/or on output from the switch 110
Generally speaking, the system of Fig 1 operates as descnbed herem The first switch 110A is coupled to receive address requests from a first plurality of sources For example, one plurality of sources may be processors 115A-115D and/or I/O devices 120A-120B The first switch HOA is configured to output a received address request from the first plurality of sources
The second switch HOB is coupled to receive address requests from a second plurality of sources For example, the second plurality of sources may mclude processors 115E-115H and/or I/O devices 120C-120D Switch 110B is also configured to receive the address request from the first plurality of sources from the first switch HOA The second switch is further configured to delay internally address requests from the second plurality of sources It is noted that the length of the delay may be predetermined, and is preferably equal m length of time to the time delay m receiving the address request from the first plurality of sources from the first switch The second switch HOB is further configured to arbitrate between ones of the address requests from the second plurality of sources and ones of the address request from the first plurality of sources output from the first switch The arbitration between the address requests is to determine a selected address request Once a selected address request has been selected, the first switch and the second switch are further configured to broadcast concurrently the corresponding address to the selected address request It is noted that the corresponding address will broadcast to any or all devices, mcludmg the CPUs 115A-115H, I O devices 120A-120B, and memones 125A-125D In one embodiment, the second switch HOB is further configured to output the address request from the second plurality of sources, and the first sw itch HOA is further configured to receive this request from the second plurality of sources First switch 1 10A is further configured to delay mtemallv the address request from the first plurality of sources The time of the delay of the address request from the first plurality of sources may be a predetermined length of time and is preferably a length of time approximately equal to the time required for the second switch HOB to provide the address request m the second plurality of sources to first switch HOA The first sw itch is further configured to arbitrate between ones of the address request from the first plurality of sources and ones of the address requests from the second plurality of sources from the second switch The arbitration is to determine the selected address request, as noted above for the second switch HOB It is noted that the selected address provided by the first switch HOA and the selected address provided by the second switch HOB are the same and are concurrently provided to the devices as descnbed above
Fig 3A - 3B — Arbitration by a Broadcast Arbiter
Figs 3A and 3B illustrate a flowchart of an embodiment of a method for operatmg an arbiter, such as broadcast arbiters 240A and 240B The method tracks which switch was most recently selected, and the method also tracks which switch is next to be selected At decision block 305, the method checks to see if reset has been asserted If reset has been asserted in decision box 305, then an output MUX selects output '0' (I e switch 110A) and the next granted switch will be the other switch (l e switch HOB) (step 310)
If reset has not been asserted m decision block 305, then the method determines if only a local request has been made to the first switch 110A or only a remote request has been made to the second switch 110B m decision block 315 If only a local request has been made to the first switch HOA or only a remote request is made to the second switch HOB, then the method selects output MUX output '0' and the next granted switch will be the same switch (step 320)
If there has not been only a local request to the first switch HOA or only a remote request to the second switch HOB, then the method moves to decision block 325 If only a local request has been made to the second switch 110B or only a remote request has been made to the first switch 110A m decision box 325, then the method selects output MUX output ' 1 ' and the next granted switch will be the same switch (step 330)
If only a local request to the second switch HOB or only a local request to the first switch HOA has not been made in decision block 325, then the method moves to decision block 335 In decision block 335, if both a local request and a remote request have concurrently been made, and the current granted switch is switch HOA, then the output MUX selects T and the next granted switch is switch HOA (step 340) If in decision block 335 both the local request and remote request have been made concurrently but the current granted switch is not switch 0, then the method moves to decision block 345
In decision block 345, if both the local request and a remote request have been made concurrently and the current granted switch is switch 110B, then the output MUX selects '0' and the next granted switch is switch 110A (step 350) It is noted that m decision blocks 335 and 345. an affirmative decision is made in either case when a local request and a remote request have both been made concurrently In either case the selected output MUX output is to the switch not most recently selected and the indicated switch as the next granted switch is also the switch not most recently selected The default action when all decision blocks are negative is for the outgomg MUX to select 0 and the next granted switch is the current granted switch (step 355)
In vanous embodiments the switches HOA and HOB mav be application specific mtegrated circuits ASICO and ASIC1 In one embodiment ASICO and ASIC1 are location strapped via jumpers It is noted that ASICO preterably will have a pull-up resistor while ASIC1 preferably has a pull-down resistor, both of which get latched on reset to identify which is ASICO and which is ASIC1 Note that the priority toggles between the broadcast arbiters based on the sw itch that had the last request granted and the cunent outstanding request The method disclosed may advantageously ensure that both arbiters are synchronized to each other without a need for request/grant flow control mechanisms beyond the address and the corresponding address request that was initially received
As an example of an embodiment of the operations of switches 110A and 110B, right after a reset, both processors 115 A and 115E have an outstandmg address packet in the address network The PO address packet is received m switch HOA's input FIFO 205 A from processor 115A, whereas the P4 address packet is received and stored m switch HOB's mput FIFO 205G from processor 115E The request arbiter 215A m switch HOA will receive the PO request associated with the address stored in mput FIFO 205 A Similarly, request arbiter 215B receives the P4_req address request associated with the P4 address stored m mput FIFO 205G
Request arbiter 215A m switch HOA controls mput MUX 210A to output the address associated with mput signal PO as output signal 220A, which is provided to broadcast FIFO 225A and to mcoming FIFO 230B Likewise, request arbiter 215B controls mput MUX 21 OB to output the address from P4 as output signal 220B Output signal 220B is provided to broadcast FIFO 225B and also to mcommg FIFO 230A Concunently with the addresses bemg routed from the mput FIFO 205 to the broadcast FIFOs 225 and mcormng FIFOs 230, switch HOA has asserted SW0_req lme mdicatmg the presence of an address from switch HOA m broadcast FIFO 225A and mcommg FIFO 230B
As a finite amount of time is required for the address and the request lme to be provided from one switch 110 to the other switch 110 , m this case from switch 110A to switch 110B, signal SW0_req is first provided to a delay circuit 235A, before bemg provided to broadcast arbiter 240A In the preferred embodiment, the delay circuit 235 A delays the address request SW0_req by approximately an equal amount of time as required for switch HOA to receive the address and corresponding address request from switch HOB In this embodiment broadcast arbiter 240A receives notice that an address is present m the broadcast FIFO 225A concurrently with an address bemg available m the mcormng FIFO 230A The broadcast arbiter 240A chooses (or arbitrates) for pnonty between the SWO req and SWl_req The prefened arbitration method is described above with respect to Figs 3A and 3B Broadcast arbiter 240A selects either '0' or ' 1 ' denoting the address from switch HOA or switch HOB, respectively, m controlling the output of the output multiplexer 245 A
It is noted that smce SWO req and SWl req are both required to cross from one switch to the other, the signals endure a delay, such as two clock cycles m one embodiment Therefore, each switch HOA and 110B delays the address request that it sends, SW0_req and SWl_req, respectively, to the broadcast arbiter 240 of the other switch by an equivalent time penod of 2 clock cycles This delay ensures that the broadcast arbiters 240A and 240B m each switch HOA and 110B receive the address request concurrently Switch 1 10A has the PO address placed in its broadcast FIFO 225 A and the P4 address placed m mcommg
FIFO 230A Switch HOB has the PO address placed m its mcommg FIFO 230B and P4 packet placed in broadcast
FIFO 225B At this time broadcast arbiter 240A has received address request SW0_req and address request
SWl_req, whereas broadcast arbiter 240B has likewise received address request SW0_req and address request SWl_req
The arbitration method described above with respect to Figs 3A and 3B illustrates a preferred embodiment of how the broadcast arbiter 245 works for each address request that it receives After a reset, the last granted switch defaults to switch 110A, so that switch HOA broadcast arbiter now has the highest pnonty When the broadcast arbiter 240A has highest priority, then both broadcast arbiter 240A and broadcast arbiter 240B will select the '0' of the multiplexer 245B It is noted that both broadcast arbiter 240A and broadcast arbiter 240B are at decision block 345 of Fig. 3B Both a local request and a remote request have been received and the current granted switch is switch HOB (the default upon a reset), therefore the output MUXes 245A and 245B both select '0' and the next granted which will be switch HOA (step 350). Thus, the address from P0 is provided as output 250A and output 250B. concunently on address lmes P0-P7, 1/O0-I/O3, and M0-M3 Contmumg, at decision block 325, as the request is now only the request from switch 1110B, the output
MUXes 245 will select ' 1 ' and the next granted will be switch HOB (step 330) It is noted that broadcast arbiter 240A and broadcast arbiter 240B, followmg an arbitration method similar to that disclosed m Figs. 3A and 3B, make selections between local and remote requests which are identical m all cases It is also noted the broadcaster arbiter 240A knows that upon a reset that it will have pnonty just as broadcast arbiter 240B knows that after a reset it will not have pnonty.
Numerous vanations and modifications will become apparent to those skilled m the art once the above disclosure is fully appreciated. It is mtended that the followmg claims be mterpreted to embrace all such vanations and modifications.

Claims

WHAT IS CLAIMED IS:
1 A system for concunently providing addresses to a plurality of devices, comprising a first switch coupled to receive address requests from a first plurality of sources, wherein said first switch is configured to output said address requests from said first plurality of sources; and a second switch coupled to receive address requests from a second plurality of sources, wherein said second switch is configured to receive said address requests from said first plurality of sources from said first switch, wherem said second switch is further configured to delay said address requests from said second plurality of sources, wherein said second switch is further configured to arbitrate between ones of said address requests from said second plurality of sources and ones of said output of said address requests from said first plurality of sources from said first switch for a selected address request; and wherem said first switch and said second switch are further configured to broadcast concunently a conespondmg address to said selected address request
2 The system of claim 1, wherein said second switch is further configured to output said address requests from said second plurality of sources, and wherein said first switch is further configured to delay said address requests from said first plurality of sources, wherem said first switch is further configured to arbitrate between ones of said address requests from said first plurality of sources and ones of said address requests from said second plurality of sources from said second switch for said selected address request
3. A system for concunently providmg addresses to a plurality of devices, compπsmg: a first switch coupled to receive address requests from a first plurality of sources, wherem said first switch is configured to output said address requests from said first plurality of sources; and a second switch coupled to receive address requests from a second plurality of sources, wherem said second switch comprises: a broadcast buffer coupled to receive addresses of said address requests from said second plurality of sources, an mcommg buffer coupled to receive addresses of said output of said address requests from said first plurality of sources from said first switch; a delay circuit coupled to receive said address requests from said second plurality of sources, wherem said delay circuit is configured to delay said address requests from said second plurality of sources for a predetermined length of time; a broadcast arbiter coupled to arbitrate between ones of said address requests from said second plurality of sources and ones of said output of said address requests from said first plurality of sources from said first switch for a selected address request; wherem said first switch and said second switch are further configured to broadcast concurrently a corresponding address to said selected address request in said broadcast arbiter.
4 The system of claim 3, wherein said second switch is further configured to output said address requests from said second plurality of sources, wherem said first switch further comprises a first broadcast buffer coupled to receive addresses of said address requests from said first plurality of sources. a first mcommg buffer coupled to receive addresses of said output of said address requests from said second plurality of sources from said second switch, a first delay circuit coupled to receive said address requests from said first plurality of sources, wherem said delay circuit is configured to delay said address requests from said first plurality of sources for a first predetermined length of time; and a first broadcast arbiter coupled to arbitrate between ones of said address requests from said first plurality of sources and ones of said output of said address requests from said second plurality of sources from said second switch for said selected address
5 The system of claim 4, wherem said first predetermmed length of time conesponds approximately to said length of time for said addresses of said output of said address requests from said second plurality of sources from said second switch to arπve at said first mcommg buffer
6 The system of claim 5, wherem said predetermined length of time and said first predetermmed length of time are approximately equal.
7 The system of claim 4, wherem said first switch further compnses: a plurality of first mput buffers coupled to receive said addresses of said address requests from said first plurality of sources; a first mput multiplexer coupled to receive said addresses of said address requests from said plurality of first mput buffers, and wherem said first mput multiplexer is further configured to output a first selected mput address to said first broadcast buffer; and a first request arbiter coupled to receive said corresponding request addresses of said address requests from said first plurality of sources, wherem said first request arbiter is configured to arbitrate for said first selected mput address, and wherem said first request arbiter is further configured to control said first mput muthplexer to select said first selected mput address, wherem said first request arbiter is further configured to output said corresponding request associated with said first selected mput address to said first delay circuit.
8 The system of claim 3, wherem said predetermmed length of time corresponds approximately to a length of time for said addresses of said output of said address requests from said first plurality of sources from said first switch to arnve at said mcoming buffer.
9 The system of claim 3, wherein said second switch further comprises a plurality of input buffers coupled to receive said addresses of said address requests from said second plurality of sources an mput multiplexer coupled to receive said addresses of said address requests from said plurality of input buffers, and wherem said mput multiplexer is further configured to output a selected input address to said broadcast buffer, and a request arbiter coupled to receive said conespondmg request addresses of said address requests from said second plurality of sources, wherem said request arbiter is configured to arbitrate for said selected input address, and wherem said request arbiter is further configured to control said mput muthplexer to select said selected input address, wherein said request arbiter is further configured to output said conespondmg request associated with said selected input address to said delay circuit
10 The system of claim 3, wherein said plurality of devices mcludes one or more processors and one or more memones
1 1 The system of claim 10, wherem said plurality of devices further mcludes one or more input/output devices
12 A method for concurrently providmg addresses to a plurality of devices, the method compnsmg receiving at a first switch a first address and a conespondmg first request from a first device, receivmg at a second switch a second address and a conespondmg second request from a second device, wherem said second switch is different from said first switch, transferring said second address and said conespondmg second request to said first switch, delaymg said conespondmg first request m said first switch, arbitratmg m said first switch between said conespondmg first request and said conespondmg second request for whether said first address or said second address will compnse a first transmission, and concurrently broadcastmg to a plurality of devices said first transmission from said first switch and said first transmission from said second switch, wherem said first transmission from said first switch and said first transmission from said second switch are identical
13 The method of claim 12, further compπsmg transferring said first address and said conespondmg first request to said second switch, delaymg said conespondmg second request m said second switch, and arbitratmg m said second switch between said conespondmg first request and said conespondmg second request for whether said first address or said second address will compnse said first transmission
14 The method of claim 13, further compπsmg buffermg said first address at said first switch prior to said transfemng said first address and buffermg said second address at said second switch prior to said transfemng said second address
15 The method of claim 13, further comprising buffermg said first address at said first switch prior to said arbitratmg in said first switch, and buffering said second address at said second switch prior to arbitratmg in said second switch
16 The method of claim 13, further compnsmg buffermg said first address at said second switch prior to said arbitratmg m said second switch, and buffermg said second address at said first switch prior to arbitratmg m said first switch
17 The method of claim 13, further compnsmg receivmg at said first switch another address and a conespondmg another request from another device, buffermg said another address at said first switch prior to said transferring said first address, and arbitratmg between said conespondmg first request and said conespondmg another request for whether said first address or said another address will be transfened first to said second switch
18 The method of claim 17, further compnsmg receivmg at said second switch an additional address and a conespondmg additional request from an additional device, buffermg said additional address at said second switch pnor to said transferring said second address, and arbitratmg between said conespondmg second request and said correspondmg additional request for whether said second address or said additional address will be transfened first to said first switch
19 The method of claim 13, wherein said delaymg said correspondmg first request m said first switch mcludes delaymg for approximately a length of time for said requests from said second switch to arπve at said first switch, and wherem said delaymg said correspondmg second request in said second switch mcludes delaymg for approximately said length of time for said requests from said first switch to arnve at said second switch
20 A system for concunently providing addresses to a plurality of devices, the method compnsmg means for receivmg at a first switch a first address and a conespondmg first request from a first device, means for receivmg at a second switch a second address and a correspondmg second request from a second device, wherem said second switch is different from said first switch, means for transferring said second address and said conespondmg second request to said first switch, means for delaymg said conespondmg first request m said first switch, means for arbitratmg in said first switch between said conespondmg first request and said conespondmg second request for whether said first address or said second address will comprise a first transmission, means for concunently broadcasting to a plurality of devices said first transmission from said first switch and said first transmission from said second switch, wherein said first transmission from said switch and said first transmission from said second switch are identical
21 The system of claim 20, further compnsmg: means for transferring said first address and said conespondmg first request to said second switch, means for delaying said conespondmg second request m said second switch, and means for arbitratmg in said second switch between said conespondmg first request and said correspondmg second request for whether said first address or said second address will comprise said first transmission
22 The system of claim 21, wherem said means for delaymg said conespondmg first request m said first switch is configured to delay for approximately a length of time for said requests from said second switch to anive at said first switch; and wherem said means for delaying said conespondmg second request in said second switch is configured to delay for approximately said length of time for said requests from said first switch to arnve at said second switch.
23. A method of arbitratmg m a first switch and a second switch between requests to said first switch and said second switch, the method compnsmg- tracking which switch was most recently selected; tracking which switch is next to be selected; m response to a reset, selecting the first switch; and indicting the second switch as next to be selected; m response to only a local request to said first switch or only a remote request to said second switch, selecting the first switch; and indicting the first switch as next to be selected; m response to only a local request to said second switch or only a remote request to said first switch, selecting the second switch; and indicting the second switch as next to be selected,
m response to both a local request and a remote request concunently, selecting a switch not most recently selected; and indicting the switch not most recently selected as next to be selected, otherwise, selecting the first switch; and indicting the switch most recently selected as next to be selected.
24. The method of claim 23. further compnsmg: mdicatmg the switch next to be selected as the switch most recently selected upon a πsmg edge of a clock.
PCT/US2000/022563 1999-08-16 2000-08-16 System and method for address broadcast synchronization using a plurality of switches WO2001013247A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AT00957512T ATE237156T1 (en) 1999-08-16 2000-08-16 SYSTEM AND METHOD FOR ADDRESS BROADCAST SYNCHRONIZATION USING A PLURALITY OF SWITCHES
DE60002094T DE60002094D1 (en) 1999-08-16 2000-08-16 SYSTEM AND METHOD FOR ADDRESS BROADCAST SYNCHRONIZATION WITH A NUMBER OF SWITCHES
AU69118/00A AU6911800A (en) 1999-08-16 2000-08-16 System and method for address broadcast synchronization using a plurality of switches
EP00957512A EP1208440B1 (en) 1999-08-16 2000-08-16 System and method for address broadcast synchronization using a plurality of switches

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/374,639 1999-08-16
US09/374,639 US6567885B1 (en) 1999-08-16 1999-08-16 System and method for address broadcast synchronization using a plurality of switches

Publications (3)

Publication Number Publication Date
WO2001013247A2 WO2001013247A2 (en) 2001-02-22
WO2001013247A3 WO2001013247A3 (en) 2001-08-30
WO2001013247A9 true WO2001013247A9 (en) 2001-09-20

Family

ID=23477631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/022563 WO2001013247A2 (en) 1999-08-16 2000-08-16 System and method for address broadcast synchronization using a plurality of switches

Country Status (6)

Country Link
US (2) US6567885B1 (en)
EP (1) EP1208440B1 (en)
AT (1) ATE237156T1 (en)
AU (1) AU6911800A (en)
DE (1) DE60002094D1 (en)
WO (1) WO2001013247A2 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567885B1 (en) * 1999-08-16 2003-05-20 Sun Microsystems, Inc. System and method for address broadcast synchronization using a plurality of switches
US6813267B1 (en) * 2000-09-11 2004-11-02 Sun Microsystems, Inc. Tunable broadcast/point-to-point packet arbitration
US6877055B2 (en) 2001-03-19 2005-04-05 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater
US6826643B2 (en) * 2001-03-19 2004-11-30 Sun Microsystems, Inc. Method of synchronizing arbiters within a hierarchical computer system
US6889343B2 (en) * 2001-03-19 2005-05-03 Sun Microsystems, Inc. Method and apparatus for verifying consistency between a first address repeater and a second address repeater
US20020133652A1 (en) * 2001-03-19 2002-09-19 Tai Quan Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
US6950893B2 (en) * 2001-03-22 2005-09-27 I-Bus Corporation Hybrid switching architecture
US7376811B2 (en) * 2001-11-06 2008-05-20 Netxen, Inc. Method and apparatus for performing computations and operations on data using data steering
US7548957B1 (en) 2002-05-07 2009-06-16 Oracle International Corporation Method and mechanism for a portal website architecture
US7277924B1 (en) * 2002-05-07 2007-10-02 Oracle International Corporation Method and mechanism for a portal website architecture
JP3770203B2 (en) * 2002-05-21 2006-04-26 日本電気株式会社 Crossbar acceleration method and crossbar acceleration method
US6877056B2 (en) * 2002-06-28 2005-04-05 Sun Microsystems, Inc. System with arbitration scheme supporting virtual address networks and having split ownership and access right coherence mechanism
GB2409306A (en) * 2003-12-20 2005-06-22 Autodesk Canada Inc Data processing network with switchable storage
US7451231B2 (en) * 2005-02-10 2008-11-11 International Business Machines Corporation Data processing system, method and interconnect fabric for synchronized communication in a data processing system
US20060176890A1 (en) * 2005-02-10 2006-08-10 International Business Machines Corporation Data processing system, method and interconnect fabric for improved communication in a data processing system
US8307147B2 (en) * 2005-09-09 2012-11-06 Freescale Semiconductor, Inc. Interconnect and a method for designing an interconnect
JP5270077B2 (en) * 2006-08-18 2013-08-21 富士通株式会社 Arbitration circuit, crossbar, request selection method, and information processing apparatus
US8082381B2 (en) * 2008-09-02 2011-12-20 Nvidia Corporation Connecting a plurality of peripherals
US8103803B2 (en) * 2008-11-21 2012-01-24 Nvidia Corporation Communication between a processor and a controller
US8610732B2 (en) * 2008-12-11 2013-12-17 Nvidia Corporation System and method for video memory usage for general system application
US8677074B2 (en) * 2008-12-15 2014-03-18 Nvidia Corporation Shared memory access techniques
US8984206B2 (en) * 2012-10-31 2015-03-17 International Business Machines Corporation Weightage-based scheduling for hierarchical switching fabrics
US8902899B2 (en) 2013-02-08 2014-12-02 International Business Machines Corporation Input buffered switching device including bypass logic
US9311207B1 (en) * 2013-09-12 2016-04-12 Emc Corporation Data storage system optimizations in a multi-tiered environment
US9467396B2 (en) 2014-04-11 2016-10-11 International Business Machines Corporation Simultaneous transfers from a single input link to multiple output links with a timesliced crossbar

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4398176A (en) 1980-08-15 1983-08-09 Environmental Research Institute Of Michigan Image analyzer with common data/instruction bus
US5179552A (en) * 1990-11-26 1993-01-12 Bell Communications Research, Inc. Crosspoint matrix switching element for a packet switch
US5166926A (en) 1990-12-18 1992-11-24 Bell Communications Research, Inc. Packet address look-ahead technique for use in implementing a high speed packet switch
US5513369A (en) 1991-08-05 1996-04-30 Ncr Corporation Star coupler device including means for connecting multiple star couplers together in a cascaded relationship
US5613071A (en) 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
US5862357A (en) 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
US6483844B1 (en) * 1999-05-13 2002-11-19 Advanced Micro Devices, Inc. Apparatus and method for sharing an external memory between multiple network switches
US6567885B1 (en) * 1999-08-16 2003-05-20 Sun Microsystems, Inc. System and method for address broadcast synchronization using a plurality of switches
US7020146B2 (en) * 2001-08-30 2006-03-28 Sun Microsystems, Inc. Broadcast arbitration in a multi-domain device

Also Published As

Publication number Publication date
EP1208440B1 (en) 2003-04-09
US6678784B2 (en) 2004-01-13
EP1208440A2 (en) 2002-05-29
AU6911800A (en) 2001-03-13
WO2001013247A3 (en) 2001-08-30
US6567885B1 (en) 2003-05-20
WO2001013247A2 (en) 2001-02-22
US20030191879A1 (en) 2003-10-09
ATE237156T1 (en) 2003-04-15
DE60002094D1 (en) 2003-05-15

Similar Documents

Publication Publication Date Title
WO2001013247A9 (en) System and method for address broadcast synchronization using a plurality of switches
US5546391A (en) Central shared queue based time multiplexed packet switch with deadlock avoidance
US6687796B1 (en) Multi-channel DMA with request scheduling
EP1239374B1 (en) Shared program memory for use in multicore DSP devices
US7290075B2 (en) Performing arbitration in a data processing apparatus
EP1374403B1 (en) Integrated circuit
US5634043A (en) Microprocessor point-to-point communication
US4096571A (en) System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US5623644A (en) Point-to-point phase-tolerant communication
US7353310B2 (en) Hierarchical memory access via pipelining with deferred arbitration
WO1996041268A1 (en) Reducing cumulative time delay in synchronizing transfer of data between two mutually asynchronous buses
EP1141845A1 (en) Concurrent serial interconnect for integrating functional blocks in an integrated circuit device
WO1999023572A1 (en) Message flow protocol for avoiding deadlocks
JP2644134B2 (en) Parallel processor system and switch queuing structure used in the system
KR20040077728A (en) Configurable synchronous or asynchronous bus interface
US5414696A (en) Cell exchanging apparatus
EP3776176A1 (en) System and method for asynchronous, multiple clock domain data streams coalescing and resynchronization
US7600143B1 (en) Method and apparatus for variable delay data transfer
JP2004536373A (en) Data processing method and data processing device
US7370127B2 (en) High-speed internal bus architecture for an integrated circuit
US5729721A (en) Timebase synchronization in separate integrated circuits or separate modules
US20160234128A1 (en) Apparatus for managing data queues in a network
GB2484483A (en) Communication on integrated circuit using interconnect circuitry
US6970454B1 (en) Sliced crossbar architecture with inter-slice communication
EP0773491A2 (en) Integrated circuit input/output processor having improved timer capability

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/4-4/4, DRAWINGS, REPLACED BY NEW PAGES 1/4-4/4; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

WWE Wipo information: entry into national phase

Ref document number: 2000957512

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000957512

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2000957512

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP