Recommended, with reservations about the price.
This book covers everything you probably ever wanted to know about PC memory from the registers to virtual memory. All explained in detail. The book then describes the effect the architecture has on your program and the efficiency issues you might like to consider when looking to improve performance.
It's nice in a book that liberally claims to have you optimising code, to never once see assembler used as an optimisation, instead the algorithms and memory access patterns are studied in detail.
There are no secrets here and if you already have a good grounding in PC architecture you probably won't get very much out of this book, however if you are looking to learn with a view to optimising memory access then it's for you. Recommended, with reservations about the price.