Run-time code compiler for data block transfer

A method and apparatus for efficiently transferring a data block of bytes from a source to a destination in memory of a computer system. The method transfers bytes in multiple-byte words on word-aligned boundaries of memory as much as possible to reduce the number of fetches and writes and the numbe...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: CHATTERJEE, AMIT, PATRICK, STUART RAYMOND
Format: Patent
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:A method and apparatus for efficiently transferring a data block of bytes from a source to a destination in memory of a computer system. The method transfers bytes in multiple-byte words on word-aligned boundaries of memory as much as possible to reduce the number of fetches and writes and the number of memory cycles required to execute the transfer. For handling data block transfers of various sizes and locations, the method is implemented in a compiler that compiles different portions of code at run time into a block of code that is then immediately executed. The compiler employs a state machine stored in memory and having a plurality of states. Each state is associated with a portion of code for aligning a destination address or for transferring bytes in multiple-byte words on word-aligned boundaries. The states correspond to different starting source and destination addresses. A number of state machines are provided corresponding to the different color formats (bits per pixel) that may exists in the source and destination.