FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
|
|
- Title: What Every Programmer Should Know About Memory
- Author(s) Ulrich Drepper
- Publisher: Redhat, Inc.
- Paperback: N/A
- eBook: PDF (114 pages)
- Language: English
- ISBN-10: N/A
- ISBN-13: N/A
- Share This:
As CPU cores become both faster and more numerous, the limiting factor for most programs is now, and will be for some time, memory access. Hardware designers have come up with ever more sophisticated memory handling and acceleration techniques–such as CPU caches–but these cannot work optimally without some help from the programmer. Unfortunately, neither the structure nor the cost of using the memory subsystem of a computer or the caches on CPUs is well understood by most programmers.
This document explains the structure of memory subsystems in use on modern commodity hardware, illustrating why CPU caches were developed, how they work, and what programs should do to achieve optimal performance by utilizing them.
This document is mostly for software developers. It does not go into enough technical details of the hardware to be useful for hardware-oriented readers. But before we can go into the practical information for developers a lot of groundwork must be laid.
About the Authors- N/A
- Computer Programming
- The C and Objective C Programming
- The C++ Programming Language
- Advanced Java
- Operating Systems (OS) Design and Construction
- What Every Programmer Should Know About Memory (Ulrich Drepper)
- The Mirror Site (1) - PDF
- The Mirror Site (2) - PDF
-
How Computers Work: Processor and Main Memory, 2nd Edition
This book starts out very simple and gets more complex as it goes along, but everything is explained. The processor and memory are mainly covered. It explains in great detail the operation of a simple but functional computer.
-
Pointers and Memory (Nick Parlante, et al.)
This is an introduction to programming with pointers and memory in C, C++ and other languages. Explains how pointers and memory work and how to use them -- from the basic concepts through all the major programming techniques.
-
Memory Management: Algorithms and Implementations in C/C++
This book presents several concrete implementations of garbage collection and explicit memory management algorithms. Find out how memory is managed at the hardware level by the processor.
-
Programming Persistent Memory: A Comprehensive Guide
The book explains fundamental concepts, provides an introduction to Persistent Memory programming APIs for C, C++, JavaScript, and other languages, discusses RMDA with persistent memory; reviews security features; and presents many examples.
-
Small Memory Software: Systems with Limited Memory
This book provides practical help for programmers developing software for limited memory-capacity environments. It consists of a series of patterns developed by the authors based on solutions which have been found to work in real-life situations.
-
Programming Memory-Constrained Networked Embedded Systems
This book focus on three topics regarding programming memory-constrained networked embedded systems: the TCP/IP, simplifying event-driven, and dynamic loading for memory-constrained systems.
-
Under the Hood of .NET Memory Management (Chris Farrell)
This book covers theory and practice for analyzing and improving .NET code performance, with examples and tips, starting with the core concepts of .NET memory management and garbage collection, then additional details and intricacies.
-
Foundations of Machine Learning (Mehryar Mohri, et al)
This book is a general introduction to machine learning. It covers fundamental modern topics in machine learning while providing the theoretical basis and conceptual tools needed for the discussion and justification of algorithms.
:
|
|