Transparent PCI to PCI bridge with dynamic memory and I/O map programming
First Claim
1. A method of communicating a transaction between a device coupled to a first bus and a device coupled to a second bus, the devices having configuration registers for holding a programmable base address, the base address being written during a configuration cycle, each device individually responding to a configuration cycle, the method comprising the steps of:
- (a) snooping configuration cycles communicated over the first bus, said configuration cycles including a base address;
(b) storing the base address contained in a configuration cycle responded to by a device attached to the first bus, the base address being stored in an address map;
(c) forwarding a transaction originating on the second bus to the first bus if the transaction is addressed to a device contained in the address map.
3 Assignments
0 Petitions
Accused Products
Abstract
A PCI repeater coupled between a primary bus and a secondary bus includes logic to allow downstream and upstream bursting across the repeater. The PCI repeater is operable to echo transactions in either an upstream or downstream direction. During configuration, the PCI repeater snoops configuration cycles on the primary bus to build an address map of devices on the primary bus. The PCI repeater then uses the address map as a lookup table as a positive determination of whether to forward a transaction upstream.
149 Citations
14 Claims
-
1. A method of communicating a transaction between a device coupled to a first bus and a device coupled to a second bus, the devices having configuration registers for holding a programmable base address, the base address being written during a configuration cycle, each device individually responding to a configuration cycle, the method comprising the steps of:
-
(a) snooping configuration cycles communicated over the first bus, said configuration cycles including a base address; (b) storing the base address contained in a configuration cycle responded to by a device attached to the first bus, the base address being stored in an address map; (c) forwarding a transaction originating on the second bus to the first bus if the transaction is addressed to a device contained in the address map. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A bus repeater for coupling a first bus to a second bus, the first bus for having a first device coupled thereto, the second bus for having a second device coupled thereto, the repeater comprising:
-
a first bus unit operable to communicate bus transactions with the first bus, the transactions including an address; snooping logic operable to snoop configuration cycles on the first bus and to provide a snoop indication when a device on the first bus acknowledges a configuration cycle, the configuration cycles including data for indicating a device address range; an address map operable to hold a plurality of device address ranges, said address map receiving the device address ranges from the first bus unit and storing the device address ranges in response to the snoop indication; and a second bus unit operable to communicate bus transactions with the second bus and the first bus unit, said second bus unit operable to positively claim and echo a bus transaction from the second bus to the first bus if the bus transaction address is contained in the address map. - View Dependent Claims (8, 9, 10)
-
-
11. A computer system, comprising:
-
a first bus; a processor coupled to said first bus; memory coupled to said first bus; one or more devices coupled to said first bus, one of the devices being a hard disk system; a second bus; one or more devices coupled to said second bus, one of the devices being a being a repeater coupled between the first bus and the second bus, the repeater comprising; a first bus unit operable to communicate bus transactions with the first bus, the transactions including an address; snooping logic operable to snoop configuration cycles on the first bus and to provide a snoop indication when a device on the first bus acknowledges a configuration cycle, the configuration cycles including data for indicating a device address range; an address map operable to hold a plurality of device address ranges, said address map receiving the device address ranges from the first bus unit and storing the device address ranges in response to the snoop indication; and a second bus unit operable to communicate bus transactions with the second bus and the first bus unit, said second bus unit operable to positively claim and echo a bus transaction from the second bus to the first bus if the bus transaction address is contained in the address map. - View Dependent Claims (12, 13, 14)
-
Specification