A method and apparatus for a processing system to utilize a ring buffer
includes a host processor, memory, and at least one co-processor. The host
processor generates a plurality of data blocks that relates to a
particular application (e.g., word processing application, drafting
application, presentation application, spreadsheet application, video game
application, etc.). The host processor writes data elements of the data
blocks into the memory, which is organized in a ring buffer manner. As the
host processor enters the data elements into the ring buffer, it updates a
head pointer, which indicates the most current address of a data element
entered into the ring buffer, in its local cache. The co-processor
retrieves the data elements from the ring buffer and performs a
co-processor function in support of the particular application. As the
co-processor retrieves data elements from the ring buffer, it updates a
tail pointer, which indicates the most recently read data element from
memory, or executed data element. The co-processor and host processor
exchange the updated tail and header pointers as they are updated, such
that both the co-processor and host processor have current records of the
tail and header pointers.
Μια μέθοδος και μια συσκευή για ένα σύστημα επεξεργασίας για να χρησιμοποιήσει έναν απομονωτή δαχτυλιδιών περιλαμβάνουν έναν επεξεργαστή οικοδεσποτών, τη μνήμη, και τουλάχιστον έναν συνεπεξεργαστή. Ο επεξεργαστής οικοδεσποτών παράγει μια πολλαπλότητα των φραγμών στοιχείων που αφορά μια ιδιαίτερη εφαρμογή (π.χ., εφαρμογή επεξεργασίας κειμένου, που συντάσσει την εφαρμογή, την εφαρμογή παρουσίασης, την εφαρμογή υπολογισμών με λογιστικό φύλλο (spreadsheet), την τηλεοπτική εφαρμογή παιχνιδιών, κ.λπ.). Ο επεξεργαστής οικοδεσποτών γράφει τα στοιχεία στοιχείων των φραγμών στοιχείων στη μνήμη, η οποία οργανώνεται με έναν τρόπο απομονωτών δαχτυλιδιών. Καθώς ο επεξεργαστής οικοδεσποτών εισάγει τα στοιχεία στοιχείων στον απομονωτή δαχτυλιδιών, ενημερώνει έναν επικεφαλής δείκτη, που δείχνει την πιό τρέχουσα διεύθυνση ενός στοιχείου στοιχείων που εισάγεται στον απομονωτή δαχτυλιδιών, στην τοπική κρύπτη του. Ο συνεπεξεργαστής ανακτά τα στοιχεία στοιχείων από τον απομονωτή δαχτυλιδιών και εκτελεί μια λειτουργία συνεπεξεργαστών υπέρ της ιδιαίτερης εφαρμογής. Δεδομένου ότι ο συνεπεξεργαστής ανακτά τα στοιχεία στοιχείων από τον απομονωτή δαχτυλιδιών, ενημερώνει έναν δείκτη ουρών, που δείχνει το πρόσφατα διαβασμένο στοιχείο στοιχείων από τη μνήμη, ή το εκτελεσμένο στοιχείο στοιχείων. Ο συνεπεξεργαστής και ο επεξεργαστής οικοδεσποτών ανταλλάσσουν τους ενημερωμένους δείκτες ουρών και επιγραφών καθώς ενημερώνονται, έτσι ώστε και ο συνεπεξεργαστής και ο επεξεργαστής οικοδεσποτών έχουν τα τρέχοντα αρχεία των δεικτών ουρών και επιγραφών.