A reordering command queue for reordering memory accesses in a computer
system. The reordering command queue may reduce the power that is
typically used up in computer systems when performing accesses to main
memory by improving the scheduling of memory accesses with a pattern that
is optimized for power and which has no (or negligible) impacting on
performance. During a compare operation, the address corresponding to the
command stored in each of one or more current storage locations of the
reordering command queue may be compared to the address corresponding to
the command stored in an adjacent storage location to determine whether
the commands are in a desired order. In response to one or more of the
commands not being in the desired order, a reordering operation may be
performed, which may reorder each of the one or more commands from a
current storage location to the adjacent storage location.