The shared bus between the program memory and data memory leads to the von Neumann bottleneck, the limited throughput (data transfer rate) between the central processing unit (CPU) and memory compared to the amount of memory. Because the single bus can only access one of the two classes of memory at a time, throughput is lower than the rate at which the CPU can work. This seriously limits the effective processing speed when the CPU is required to perform minimal processing on large amounts of data. The CPU is continually forced to wait for needed data to be transferred to or from memory. Since CPU speed and memory size have increased much faster than the throughput between them, the bottleneck has become more of a problem, a problem whose severity increases with every newer generation of CPU.
Source : https://en.m.wikipedia.org/wiki/Von_Neumann_architecture#Von_Neumann_bottleneck
There can be up to a 53% difference between the growth in speed of processor speeds and the lagging speed of main memory access.
So, if the processor-memory performance gap is so big then isn't creating more powerfull processors useless ?