There is no direct physical data connection between the CPU and the HDDs.
The CPU connects to the motherboard though the front side bus (or Hyper Transport or QPI depending on the motherboard).
The Northbridge chips handles IO duties between the CPU and RAM.
The Southbridge chip handles IO duties with HDDs.
I was going to say close, but its worse then you think seeing as the HDD data has to go through the SB and then the NB.
As I understand it, a CPU needs X from the HDD. A request is sent to the drive through all the buses. It then makes the return trip from the drive to the SB, NB, and then gets loaded into the ram. (I don't know enough about DMA to understand how this changes things.) The NB just folded into the CPU itself. If you look at the link WR2 provided the CPU now (or in the case of AMD will soon) handles all memory and GPU duties. In time, the SB might get folded into the CPU as well.
data deed from a HD is slow, like mentioned., so the CPU would have to sit idle once in a while if it tried to get data from HD directly. and as COU has small cache, it is not possible load the data on cache 1st. pointless. so the data is stored in RAM and then to CPU. as RAM is faster than HDD, it can keep the CPU relatively more busy. hence this route is always chosen
As mentioned by others, HDDs are slow. Obviously the data still needs to be read from it at some point, whether directly by the CPU or to be loaded into RAM - you can't avoid this. Where the difference would be most noticeable is if the CPU required access to this data more than once. The CPU caches can only hold a small amount of data, so the rest will need to be stored in RAM or read from the HDD again. It is much better to (possibly) increase the time to read data from the HDD initially and allow subsequent reads of the same data to be made from RAM than to have a slightly faster initial read but have the HDD tearing itself apart reading the same data over and over while the CPU sips coffee in Starbucks while waiting for something to do.
Before DMA ( direct memory access ) become the norm the CPU did directly access the hard drive. This was horribly inefficient due to the cpu sitting asking the HD are you ready yet over and over while the HD slowly read the data. With DMA the CPU tells the HD read this much and put it in ram. Then the cpu is free to do any other task that is not dependent on that data. When the HD has read the requested data it sends the cpu and interrupt and the cpu then resumes doing what need to be done to the data. This has huge impacts on systems that run more than one process ( any semi modern OS aka anything new that DOS ), if you want to see the performance difference set your hard drives to polled I/O in device manager. You will cry and restart using DMA.