Ordonarea memoriei, sau reordonarea, este un proces prin care unitatea centrală de procesare (CPU) preia cererile pentru memoria computerului și le comandă în modelul cel mai optimizat. Procesul comută în jurul cererilor, de multe ori procesele sunt finalizate în dezordine, dar utilizatorii și programatorii nu văd acest lucru. Acest lucru se poate face de obicei foarte ușor pe un singur sistem CPU, dar un sistem cu mai multe procesoare poate întâmpina o problemă la comanda. Dacă acest proces nu ar fi folosit, atunci computerele nu ar fi la fel de eficiente atunci când vor completa solicitările utilizatorilor.
Ori de câte ori cineva face ceva pe un computer – mută mouse-ul, deschide un program sau editează o imagine, de exemplu – CPU trebuie să aprobe utilizarea memoriei pentru sarcină. Aceste solicitări vin în mod normal liniar, dar rareori sunt procesate în acest fel. Odată cu ordonarea memoriei, sarcinile sunt procesate în cel mai bun mod posibil pentru a face computerul mai rapid. De exemplu, dacă procesorul se poate ocupa cu ușurință de al doilea proces înainte de primul, va folosi memoria pentru acel proces înainte de a trece la altele.
Solicitările sunt deseori făcute în afara ordinii, ceea ce ar putea deruta utilizatorii și programatorii. În același timp, CPU este programat să știe că ordonarea memoriei le poate deruta, astfel încât efectuează totul într-un mod care face să pară că procesele sunt finalizate liniar, deși nu sunt. Acest lucru face ca utilizatorii să înțeleagă mai ușor și, de obicei, îi împiedică pe programatori să introducă coduri excesive pentru a se asigura că procesorul funcționează eficient.
În mod normal, comandarea memoriei se poate face foarte ușor pe un computer cu un singur procesor, dar pot apărea probleme cu un computer care are mai multe procesoare. Acest lucru se datorează faptului că este mai ușor ca accesele la memorie să fie aprobate și ordonate corect cu un singur procesor, dar două sau mai multe procesoare se pot slăbi atunci când încearcă să proceseze mai multe sarcini. Dacă există o comunicare adecvată între cele două sau mai multe procesoare, atunci această problemă este de obicei atenuată.
Fără ordinea memoriei, sarcinile ar putea fi mai dificile pentru computer și programator. Pe partea computerului, procesorul ar putea satisface cererile doar așa cum au venit, ceea ce înseamnă că întregul proces încetinește și poate face utilizatorii să aștepte. Pentru programator, ar trebui să scrie codare excesivă pentru a se asigura că procesorul se ocupă în mod corespunzător de toate sarcinile, ceea ce ar face ca crearea programului să dureze mult mai mult.