Unformatted text preview: rocessor/memory interface is one of the most complex portions of a processor design. Without access to detailed documentation and machine analysis tools, we can only give a hypothetical description of the actual behavior. As these two examples show, the implementation of memory operations involves many subtleties. With operations on registers, the processor can determine which instructions will affect which others as they are being decoded into operations. With memory operations, on the other hand, the processor cannot predict which will affect which others until the load and store addresses have been computed. Since memory 260 CHAPTER 5. OPTIMIZING PROGRAM PERFORMANCE operations make up a signiﬁcant fraction of the program, the memory subsystem is optimized to run with greater parallelism for independent memory operations. Practice Problem 5.6:
As another example of code with potential load-store interactions, consider the following function to copy the contents of one array to another:
1 2 3 4 5 6 7 static void copy_array(int *src, int *dest, int n...
View Full Document