understanding memory hierarchies – memory hardware