difference between device driver and device controller
I was trying to find out exactly waht is the difference between device driver nad the device controller. I've read some tutorials, but confusing is even more:
"Device controller provides interface between device (physical device) and adress and data bus. Device cotroller provides interface that is uniform to all device having command registers, status registers and data reisters. Device controller provides interface to be used by the high level machine software."
A little later practically all that is said for device driveres:
" Device driveres implement a similar interface, so a higher level machine need not to be espacially concerned with the details of the particular device. The goal is to simplify software interfaces to devices as much as possible..."
Is that means that only device drivers provides interface that enables application programmer sees all devices in the same way, and not device controller. I'm confused because on a lot of places what is said for device controller later is said for device drivers. Can I say:
Device drivers translates request from application to a device controller depended instructiont which then translate them to device instruction on physical level?
Thanks in advance!