Computers process information, so information goes in gets processed and comes out.
Now computers are really really fast at processing the data, but very slow at getting the data.
This could be because we have built computers the wrong way.
Partially this is because data was too big for the computer’s main memory and had to be stored externally on slower but higher storage capacity devices.
Even system ram is a bus journey away from the processor, and processors then have layers of caches or ‘queues’ before they get to the processor.
How fast would your computer be if it’s processor had instant access to the data it needed, well we would say goodbye to loading bars and file transfer dialogues.
But this is crazy talk without some magical technology that provides Quantum Linked or Entangled Bits we will always have to move the data to the processor.
Now look at the trend, HD, SSD, Larger Caches, HBM, SSD strapped onto a GPU, 3D Crosspoint and other Memristor style technologies.
One way could be to strap cheap ARM cpus to every RAM stick, making smart ram. The CPU would request the data and send the processing code then just flag the data as processed when it’s done.
(early attempt at smart ram, a Raspberry Pi supercomputer ;)).
Another way to make RAM smarter could be the use of Memristor technology so RAM would also include a FPGA memristor element that can be configured by the code needed to process the data.
So we could end up with computers that move the processing to the data rather than the data to the processor.
We are seeing a subset of this problem in gaming with the divide between the CPU, GPU and their data.
It’s logical really what’s larger to move, the data or the processing code needed to act on it!
What would a gaming smart ram system look like?
Would smart ram systems be more modular?
Would we still be limited by bandwidth between smart ram blocks?

