An apparatus and method for moving and/or resizing logical buffers that
comprise a memory space without the loss of data. Each buffer comprises a
linear and contiguous set of storage locations, and operates according to
a FIFO priority scheme, using a read address pointer to indicate the
location from which data is read from the buffer and a write address
pointer indicating the address into which data is written. A buffer is
relocated or resized within the memory space by changing the base location
address (defining the lowest storage location comprising the buffer)
and/or the top location address (defining the highest memory location
within the buffer) into free storage locations. To accomplish this
relocation or resizing without the loss of data, the read address is first
checked to determine if it bears an appropriate relationship to the new
base and top memory locations.
Συσκευές και μια μέθοδος για ή/και τους λογικούς απομονωτές που περιλαμβάνουν ένα διάστημα μνήμης χωρίς την απώλεια στοιχείων. Κάθε απομονωτής περιλαμβάνει ένα γραμμικό και παρακείμενο σύνολο θέσεων αποθήκευσης, και λειτουργεί σύμφωνα με ένα σχέδιο προτεραιότητας FIFO, χρησιμοποιώντας έναν διαβασμένο δείκτη διευθύνσεων για να δείξει τη θέση από την οποία το στοιχείο διαβάζεται από τον απομονωτή και γράψτε το δείκτη διευθύνσεων που δείχνει τη διεύθυνση στην οποία το στοιχείο γράφεται. Ένας απομονωτής επανεντοπίζεται ή επαναταξινομείται μέσα στο διάστημα μνήμης με την αλλαγή της διεύθυνσης θέσης βάσεων (που καθορίζουν τη χαμηλότερη θέση αποθήκευσης που περιλαμβάνει τον απομονωτή) ή/και της κορυφαίας διεύθυνσης θέσης (που καθορίζει την υψηλότερη θέση μνήμης μέσα στον απομονωτή) στις ελεύθερες θέσεις αποθήκευσης. Για να ολοκληρώσει αυτόν τον επανεντοπισμό ή την επαναταξινόμηση χωρίς την απώλεια στοιχείων, η διαβασμένη διεύθυνση είναι πρώτη που ελέγχεται για να καθορίσει εάν αντέχει μια κατάλληλη σχέση στη νέα βάση και τις κορυφαίες θέσεις μνήμης.