It has come to my notice that register , main memory and cache does not require device drivers while the disk require device drivers can anybody please explain why ?
You'll also find the operating system has some knowledge, such as how to drive VGA, baked in too. Operating the CPU is fundamental to actually running on a given system, so the operating system must know this. Some other functions are essential also and the operating system contains "baked in" ability to access these facilities.
However, some functionality is optional. Rather than leave developers with a choice to "bake in" or "tough" - or worse, ship all drivers baked in and make the OS massive, operating system developers build an abstract way of loading in arbitrary drivers, usually matching certain types of subsystems such as USB or Disk. This means anyone can add functionality. Often, it is normal to follow this architecture for one's own built in drivers too, for cleanliness and so they do not have to be used if they don't need to.
You will also find that many kernels are designed code wise to be CPU-agnostic, so far as this is possible. This is a compile time thing by necessity. For example, Linux has an arch/
directory containing architecture-specific code which is then abstracted to the rest of the kernel, so for example the block storage layer does not need re-writing for each architecture. Windows NT originally targeted DEC Alpha, as well as x86, for example.