The present invention is generally directed to a system and method for
fetching data from system memory to a device in communication with the
system over a PCI bus, via an I/O cache. Broadly, the present invention
may be viewed as a novel way to communicate certain fetching hints;
namely, hints that specify certain qualities about the data that is to be
fetched from the system memory. In operation, the I/O cache may use such
hints to more effectively manage the data that passes through it. As
simply one example, if, based upon the hints, the controller for the I/O
cache knew (or assumed) that the data being fetched was ATM data, then it
would also know (based upon the nature of ATM data) that precisely a
forty-eight byte data payload was to be sent to the requesting device, and
the I/O cache could pre-fetch precisely this amount of data (typically one
or two cache lines). In accordance with one-aspect of the invention, such
a system includes an input/output (I/O) cache memory interposed between
the system memory and the PCI bus, wherein the cache memory has internal
memory space in the form of a plurality of data lines within the cache
memory. The system further includes a plurality of registers for each PCI
master that are configured to define fetching criteria. Finally, the
system includes a register selector that is configured to select an active
register among the plurality of registers, wherein fetching criteria for
the device is specified by the active register.
Die anwesende Erfindung wird im Allgemeinen auf ein System und eine Methode für das Holen von von Daten vom System Gedächtnis zu einer Vorrichtung in der Kommunikation mit dem System über einem PCI Bus, über einen I/O Pufferspeicher verwiesen. Breit kann die anwesende Erfindung als Romanweise angesehen werden, bestimmte holende Tips mitzuteilen; nämlich Tips, die bestimmte Qualitäten über die Daten spezifizieren, die vom System Gedächtnis geholt werden soll. In Kraft, kann der I/O Pufferspeicher solche Tips zu verwenden handhaben effektiv die Daten, die durch ihn überschreitet. Als einfach ein Beispiel wenn, gegründet nach den Tips, der Kontrolleur für den I/O Pufferspeicher wußte (oder nahm) an, daß die Daten, die geholt wurden, ATM Daten waren, dann würde er auch wissen (gegründet nach der Natur von ATM Daten) den genau eine forty-eight Byte-Datennutzlast zur erbittenen Vorrichtung geschickt werden sollte, und der I/O Pufferspeicher könnte vorzeitiges Abfangen genau diese Menge Daten (gewöhnlich ein oder zwei cachieren Linien). In Übereinstimmung mit Einaspekt der Erfindung, schließt solch ein System einen Input/Output (I/O) Cachespeicher ein, der zwischen dem System Gedächtnis und dem PCI Bus vermittelt wird, worin der Cachespeicher internen Gedächtnisraum in Form einer Mehrzahl der Datenleitungen innerhalb des Cachespeichers hat. Das weitere System schließt eine Mehrzahl der Register für jeden PCI Meister ein, die zusammengebaut werden, um das Holen von von Kriterien zu definieren. Schließlich schließt das System einen Registervorwahl mit ein, der zusammengebaut wird, um ein aktives Register unter der Mehrzahl der Register vorzuwählen, worin, Kriterien für die Vorrichtung holend, durch das aktive Register spezifiziert wird.