Memory HeirarchyΒΆ

Early in your programming experience, your focus is on setting up memory areas to hold your variables, and then creating the code that will manipulate all of those data. You seldom think about exactly where all this memory actually is located, or if that location has any effect on the performance of your program. In looking at the internal architecture of the computers and the devices they interact with, it should start to be apparent that we can put our data almost anywhere in the world (yikes!) and that certainly becomes an issue when we want our programs to perform as well as possible. In this section, we will look at some of the architectural issues that affect how data can be accessed by your code.