title: Is there an implementation independent model that describes what happens with the bits and bytes in my memory when I execute a program written in C++?
body: <p>I'd like to learn C++ (I'm already aware of basic sequential programming stuff like loops, if then else stuff, pointers, references and such, but in practise I never programmed sophisticated C++-code).
  But before I begin learning how to do that, I'd like to learn how the C++ code is actually carried out on computers that feature a Memory and a CPU. For example, where is the code stored, where do the Objects live, in what language is the code stored in the memory, how does the computer memorize where he is in the programm, and such. 
  Reading about those topics here on stackoverflow, I encountered terms such as "stack", "heap", "memory allocation", "pop", "push", "call", "atomic".... I however how those should fit into the overall picture, and many of the answers suggested how those exactly work is a matter of the implementation, and not specified by the c-standard.</p>
  
  <p>Hence my Question: Is there a model for memory and CPU, that describes roughly how C++-Code is executed on a computer, and that is independent of any implementation compatible with the c++ standard?</p>