Sourced from http://whatis.techtarget.com/definition/von-Neumann-bottleneck
Approaches to overcoming the von Neumann bottleneck include:
- Caching -- the storage of frequently used data in a special area (usually RAM), so that it is more readily accessible than if it were stored in main memory.
- Prefetching -- moving some data into cache before it is requested to speed access in the event of a request.
- Multithreading -- managing multiple requests simultaneously in separate threads.
- New types of RAM (random access memory) -- for example, DDR SDRAM, which activates output on both the rising and falling edge of the system clock rather than on just the rising edge, to potentially double output.
- RAMBUS -- a memory subsystem consisting of the RAM, the RAM controller, and thebus (path) connecting RAM to the microprocessor and devices in the computer that use it.
- Processing in memory (PIM), which integrates a processor and memory in a single microchip.