Variable 16 or 32 bit PCI interface which supports steering...

Electrical computers and digital processing systems: processing – Processing architecture – Microprocessor or multichip or multimodule processor having...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S010000, C710S066000, C710S104000

Reexamination Certificate

active

06393548

ABSTRACT:

TECHNICAL FIELD
The present invention relates to the field of digital computer systems and, more particularly, to a chip having a PCI interface that supports access for both 16- and 32-bit PCI hosts employing little-endian or big-endian byte ordering.
BACKGROUND ART
In computer systems, electronic chips and other components are connected with one another by buses. A variety of components can be connected to the bus, providing intercommunication between all of the devices that are connected to the bus. One type of bus which has gained wide industry acceptance is the peripheral component interconnect (PCI) bus. The PCI bus may be a 32-bit pathway for high-speed data transfer. Essentially, the PCI bus is a parallel data path that may be attached directly to a system host processor and a memory.
The address and data signals on the PCI bus are time multiplexed on the same 32 pins (ADO through AD
31
). On the one clock cycle, the combined address/data lines carry the address values and set up the location to move information to or from. On the next cycle, the same lines switch to carrying the actual data.
The PCI bus anticipates all devices following the PCI standard will use its full 32-bit bus width. However, it would be desirable to provide a chip having a PCI interface that allows both 16- and 32-bit host processors to access the chip via a PCI bus.
Further, some processors, such as Intel processors, employ little-endian byte ordering that requires the most significant byte to be in the left-most position. Other processors, such as Motorola processors, use big-endian byte ordering that requires the most significant byte to be in the right-most position.
Moreover, a 16-bit little-endian PCI host drives all address bits ADO to AD
31
during the address phase of a PCI transfer, but must transfer data on AD
15
to AD
0
during the data phase of the transfer. By contrast, a 16-bit big-endian PCI host drives all address bits AD
0
to AD
31
during the address phase of a transfer, but must transfer data on AD
31
to AD
16
during the data phase of the transfer.
Thus, it would be desirable to provide a PCI interface that supports little-endian host processors as well as big-endian host processors.
DISCLOSURE OF THE INVENTION
Accordingly, an advantage of the present invention is in providing a chip having a PCI interface that allows both 16- and 32-bit host processors to access internal registers on the chip and an external memory via a PCI bus.
Another advantage of the present invention is in providing a PCI interface that supports little-endian host processors as well as big-endian host processors.
The above and other advantages of the invention are achieved, at least in part, by providing a system for enabling a host to access a memory means via a PCI bus. The memory means may include internal registers of a data communication switch and a memory device external with respect to the switch. Write and read buffers may be arranged on the switch for temporarily storing data transferred between the PCI bus and the memory device. A PCI interface arranged on the switch for transferring data between the PCI bus and the memory means may be adjustable to support a first PCI host that handles words of first length and a second PCI host that handles words of second length different from the first length. For example, the PCI interface may support 16- and 32-bit host processors.
In accordance with a first aspect of the present invention, a data steering means may be provided for connecting predetermined data paths of the PCI bus to a predetermined location of the buffer means in response to a data steering signal. For example, the data steering means allows a 16-bit host to perform an 8- or 16-bit read or write access to the memory device.
In accordance with another aspect of the present invention, a byte swapping means may be provided for changing the order of bytes in a data word when the data word is transferred between the memory device and the buffer. In response to a first byte swapping signal, the order of bytes in the data word may be changed, whereas a second swapping signal may maintain the order of bytes in the data word. For example, the first byte swapping signal may be produced when the switch is configured to support a big-endian host processor. The second byte swapping signal may be generated when the switch is configured to support a little-endian host processor.
In accordance with a further aspect of the present invention, a holding register may be provided between an internal register of the switch and the PCI bus. A plurality of consecutive data transfers may be performed for supporting host accesses to the internal register. The holding register temporarily stores data of a first data transfer and transmits the stored data to the internal register when the host performs a second data transfer directly to the internal register. For example, the holding register may enable a 16-bit host to access a 32-bit internal register using two consecutive 16-bit data transfers.
Still other objects and advantages of the present invention will become readily apparent to those skilled in this art from the following detailed description, wherein only the preferred embodiment of the invention is shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.


REFERENCES:
patent: 4219874 (1980-08-01), Gusev et al.
patent: 4580134 (1986-04-01), Campbell et al.
patent: 4716527 (1987-12-01), Graciotti
patent: 4779190 (1988-10-01), O'Dell et al.
patent: 5191581 (1993-03-01), Woodbury et al.
patent: 5243699 (1993-09-01), Nickolls et al.
patent: 5265237 (1993-11-01), Tobias et al.
patent: 5331315 (1994-07-01), Crosetto
patent: 5392406 (1995-02-01), Petersen et al.
patent: 5515376 (1996-05-01), Murphy et al.
patent: 5557758 (1996-09-01), Bland et al.
patent: 5561819 (1996-10-01), Gephardt et al.
patent: 5664122 (1997-09-01), Rabe et al.
patent: 5721957 (1998-02-01), Huang et al.
patent: 5734850 (1998-03-01), Kenny et al.
patent: 5761443 (1998-06-01), Kranich
patent: 5761450 (1998-06-01), Shah
patent: 5771359 (1998-06-01), Galloway et al.
patent: 5778406 (1998-07-01), Willard
patent: 5793992 (1998-08-01), Steele et al.
patent: 5799161 (1998-08-01), Merrick
patent: 5805868 (1998-09-01), Murphy
patent: 5828853 (1998-10-01), Regal
patent: 5903496 (1999-05-01), Kendall et al.
patent: 6041010 (2000-03-01), Puar et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Variable 16 or 32 bit PCI interface which supports steering... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Variable 16 or 32 bit PCI interface which supports steering..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Variable 16 or 32 bit PCI interface which supports steering... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2900786

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.