If we want to access element i of an array, we would do: i * (size of each element) + starting address of array = memory location of the element we need to access. The CPU then directly accesses that location in the RAM. How does this happen?
Say if the memory address I want to locate is 5064, I imagine that the CPU have to search sequentially from 1 to 5064, and when it reaches 5064, return the item in the memory address. But this apparently isn't how the RAM works because this isn't a direct access per se.