# How does CPU read data from the RAM?

In a general purpose computer(like normal pc), how does the CPU read the RAM, assuming that it first reads from the Cache.

Assuming the cache is an n-way set associative cache. Again, we would have L1 Cache and L2 Cache.

1. Usually, CPU reads a block of data from the RAM. So these blocks can be several words. Doesn't this cost a lot of time/clock cycles? How is/can this be made more efficient? (Not talking about using cache here, but about the data transfer)

2. RAM is quite slower than the CPU, how does the CPU still manage to be efficient?

• often the data is delivered to the CPU is large chunks and it's dealt with very quickly and then the large chunk is moved on somewhere else/dumped after processing. Actual streaming of data is not as fast as the CPU in most cases – KyranF Mar 14 '15 at 0:07
• is this homework? – tcrosley Mar 14 '15 at 1:10