i assume cpu has direct access to motherboard's BIOS and RAM.(correct me if i'm wrong)
But how does cpu communicate with other hardware like hdds, expansion cards, peripherals, other BIOSes etc.?
I know about OS and its drivers, but they are software- they're in RAM. How does cpu communicate with all this hardware on hardware level? Isn't it limited to only motherboard's BIOS and RAM?