A method and apparatus performs high bandwidth low latency programmed I/O (PIO) write operations by passing tokens. A computer system in accordance with the present invention includes a plurality of CPUs, with each CPU coupled to a CPU agent. Each CPU agents is coupled to an interconnection fabric, which in turn is coupled to an I/O agent and memory. The computer system may also have multiple I/O agents. Each I/O agent is coupled to an I/O card, and the computer system may have multiple I/O cards. The CPU agents and the I/O agents have token slots, and tokens circulate between the token slots. When a CPU seeks to write to an I/O card, the CPU forwards a PIO write request to the CPU agent. If the CPU agent does not have the token, the CPU agent sends the write data along with a request for the token to the I/O agent. If the token is currently owned by the I/O agent, it is sent to the CPU agent. If the token is owned by another CPU agent, the I/O agent will issue a request to the other CPU agent to recall the token. When the token arrives at the I/O agent, the I/O agent sends the token to the requesting CPU agent and writes the data to the I/O card. At this point, the CPU agent acknowledges the PIO write to the CPU, and the CPU will be able to issue as many back-to-back PIO writes via the CPU agent as buffering, flow control, and device processing speeds will allow. The present invention includes a protocol to control the flow of write data, tokens, requests, and acknowledgments between the CPU agents and the I/O agents. The present invention achieves performance levels comparable to those provided by accelerated PIO write operations, while providing backward compatibility with existing CPUs, operating systems, and drivers.

Eine Methode und ein Apparat führt hohe Bandbreite durch, die niedrige Latenz programmierte I/O (PIO) Betriebe schreiben, indem sie Zeichen führen. Ein Computersystem in Übereinstimmung mit der anwesenden Erfindung schließt eine Mehrzahl von CPUs ein, wenn jede CPU zu einem CPU Mittel verbunden ist. Jede CPU Mittel wird zu einem Verbindung Gewebe verbunden, das der Reihe nach zu einem dem I/O Mittel und Gedächtnis verbunden wird. Das Computersystem kann mehrfache I/O Mittel auch haben. Jedes I/O Mittel wird zu einer I/O Karte verbunden, und das Computersystem kann mehrfache I/O Karten haben. Die CPU Mittel und die I/O Mittel haben Scheinschlitze, und Zeichen verteilen zwischen den Scheinschlitzen. Wenn eine CPU sucht, zu einer I/O Karte zu schreiben, schickt die CPU einen PIO schreiben Antrag zum CPU Mittel nach. Wenn das CPU Mittel nicht das Zeichen hat, schickt das CPU Mittel die schreibendaten zusammen mit einem Antrag für das Zeichen zum I/O Mittel. Wenn das Zeichen z.Z. vom I/O Vertreter besessen wird, wird es zum CPU Mittel geschickt. Wenn das Zeichen von einem anderen CPU Vertreter besessen wird, gibt das I/O Mittel einen Antrag zum anderen CPU Mittel heraus, das Zeichen zurückzurufen. Wenn das Zeichen im I/O Mittel ankommt, schickt das I/O Mittel dem erbittenen CPU Vertreter das Zeichen und schreibt die Daten zur I/O Karte. An diesem Punkt bestätigt das CPU Vertreter den PIO schreiben zur CPU, und die CPUIST in der Lage, da vielen Rücken an Rückenpio herauszugeben schreibt über das CPU Mittel, da abdämpfend, Steuerung des Datenflusses, und Vorrichtung verarbeitengeschwindigkeiten gewähren. Die anwesende Erfindung schließt ein Protokoll ein, um den Fluß von zu steuern schreiben Daten, Zeichen, Anträge und Bestätigungen zwischen den CPU Mitteln und den I/O Mitteln. Die anwesende Erfindung erzielt die Leistungsniveaus, die mit denen vergleichbar sind, die von beschleunigtem PIO bereitgestellt werden, schreiben Betriebe, beim Versehen der rückwärtigen Kompatibilität mit bestehendem CPUs, der Betriebssysteme und der Treiber.

 
Web www.patentalert.com

< (none)

< Data streamer

> Inflatable balloon assembly

> (none)

~ 00041