System and method for concurrently requesting input/output...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus interface architecture

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06356972

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a computer and, more particularly, to a bus interface unit which concurrently dispatches memory and input/output (“I/O”) request cycles to respective target devices and maintains proper ordering of data sent to and returned from the memory and I/O target devices.
2. Description of the Related Art
Modem computers are called upon to execute instructions and transfer data at increasingly higher rates. Many computers employ CPUs which operate at clocking rates exceeding several hundred MHz, and further have multiple buses connected between the CPUs and numerous input/output devices. The buses may have dissimilar protocols depending on which devices they link. For example, a CPU local bus connected directly to the CPU preferably transfers data at a faster rate than a peripheral bus connected to slower input/output devices. A mezzanine bus may be used to connect devices arranged between the CPU local bus and the peripheral bus. The peripheral bus can be classified as, for example, an industry standard architecture (“ISA”) bus, an enhanced ISA (“EISA”) bus or a microchannel bus. The mezzanine bus can be classified as, for example, a peripheral component interconnect (“PCI”) bus to which higher speed input/output devices can be connected.
Coupled between the various buses are bus interface units. According to somewhat known terminology, the bus interface unit coupled between the CPU bus and the PCI bus is often termed the “north bridge”. Similarly, the bus interface unit between the PCI bus and the peripheral bus is often termed the “south bridge”.
The north bridge, henceforth termed a bus interface unit, serves to link specific buses within the hierarchical bus architecture. Preferably, the bus interface unit couples data, address and control signals forwarded between the CPU local bus, the PCI bus and the memory bus. Accordingly, the bus interface unit may include various buffers and/or controllers situated at the interface of each bus linked by the interface unit. In addition, the bus interface unit may receive data from a dedicated graphics bus, and therefore may include an advanced graphics port (“AGP”). As a host device, the bus interface unit may be called upon to support both the PCI portion of the AGP (or graphics-dedicated transfers associated with PCI, henceforth is referred to as a graphics controller interface, or “GCI”), as well as AGP extensions to the PCI protocol.
There are numerous tasks performed by the bus interface unit. For example, the bus interface unit must orchestrate timing differences between a faster CPU (processor) local bus and a slower mezzanine bus, such as a PCI bus or a graphics-dedicated bus (e.g., an AGP bus). In addition, the bus interface unit may be called upon to maintain time-sensitive relationships established within the pipelined architecture of a processor bus. If data attributable to a request forwarded across the processor bus is dependent on data of a previous request, then the timing relationship between those requests must be maintained. In other words, timing of requests which occur during a request phase of the pipeline must be maintained when data is transferred during a later, data transfer phase of the pipeline in order to ensure coherency of the pipelined information.
A stalling mechanism is sometimes employed to account for timing differences between a slower peripheral bus and a faster processor or memory bus. Stall cycles can therefore occur within a particular phase of the processor bus pipeline, and particularly in the snoop phase. Modem processor buses, such as the a Pentium® Pro bus employes numerous phases: arbitration, request, error, snoop, response, and data transfer.
Stalling, however, does not by itself draw one transaction ahead of another in the pipeline of the processor bus. A deferral mechanism is therefore used for the purpose of allowing a more critical transaction to proceed to completion through the various phases ahead of an earlier-placed transaction (i.e., a transaction placed into the pipeline ahead of the more critical transaction). The transaction being deferred is therefore said to be set aside in favor of a transaction which needs to be serviced quickly.
For example, in an attempt to immediately service requests to faster local memory (i.e., system memory of substantially contiguous semiconductor memory space), modern processor bus architecture allow memory request cycles to be completed upon the processor bus ahead of cycles to the peripheral bus. This means that peripheral-destined cycles which may be snoop stalled are deferred to allow faster, memory-destined cycles to be drawn from the in-order queue of the pipeline ahead of the slower, deferred peripheral-destined cycles. The deferred cycle must, however, be re-initiated at a later time beginning at the first phase (i.e., arbitration phase) of the processor pipeline. Many clock cycles are then needed to again place the deferred transaction back into the snoop phase. Associated with each deferral, a processor bus clocking penalty must be paid for each deferral operation.
An advantage arises if the number of snoop stall cycles and deferred cycles can be minimized. A bus interface unit which can possibly forward memory request cycles without having to snoop stall immediately preceding peripheral request cycles would be a significant improvement to the conventional snoop stall routine. The benefit of dispatching memory requests as soon as possible, and dispatching peripheral requests whenever the peripheral bus or peripheral data is available, proves advantageous as a tool for optimizing the processor bus bandwidth and memory accesses. A bus interface unit which can minimize snoop stall without necessarily having to pay the burdensome penalty of cycle deferral would pose an important advancement over conventional bus interface unit architecture.
SUMMARY OF THE INVENTION
The problems outlined above are in large part solved by an improved bus interface unit hereof. The present bus interface unit can dispatch memory-destined request cycles (memory request cycles) concurrent with peripheral-destined request cycles (peripheral request cycles). In this manner, peripheral request cycles can be immediately sent if the peripheral bus is clear or peripheral data is available. Also important is the benefit of transferring a memory request cycle to system memory so that the processor optimally receives instructions or data stored therein.
The memory bus which receives memory requests or data from the bus interface unit is one which is compatible with high speed semiconductor memory. Examples of suitable memory include: DRAM, synchronous DRAM (SDRAM). A graphics-dedicated bus may also be coupled to the bus interface unit. If the graphics bus is an AGP-PCI bus, then it may be linked to the bus interface unit by an AGP interface to effectuate (e.g., 66 MHz 1×AGP transfers or 133 MHz 2×AGP data transfers). The bus interface unit maintains a PCI interface which is synchronous to the processor interface and supports PCI burst cycles. The graphics bus or mezzanine bus coupled to the bus interface unit may interchangeably be termed a “peripheral bus”. The term peripheral bus is generic in its application to any bus on which a peripheral device such as an electronic display, disk drive, printer, network interface card, SCSI, etc. can be coupled. Thus, a peripheral device generically involves an input/output device which is accessed within the input/output address space.
The present bus interface unit is configured as a north bridge between a processor local bus, a peripheral bus, and a memory bus. The processor bus can link at least one, and certainly more, processors and associate cache storage locations within those processors. Additionally, the memory bus links a memory controller within the bus interface unit to system memory denoted as semiconductor memory. To expedite transfers between the various buses, the bus interface unit includes a processor controller, a memory contr

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

System and method for concurrently requesting input/output... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System and method for concurrently requesting input/output..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for concurrently requesting input/output... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2883204

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