Say I am using a computer, any typical modern computer more or less. A device driver is responsible for everything I see on my screen, including right as I type this the screen is updated(this is, of course, within the scope of an OS, like Windows).
Let us take this down to the level where the hardware does not care if there's a kernel or not, and just takes instructions.
Basically, how do GPUs "know" exactly how to do everything? Does a driver basically control every minuscule, intrinsic, or hardware circuit-level function possible or needed to compute binary data for display using special instructions that a driver provides?
If so, does the GPU use a "special" language or "assembly" to understand instructions sent to it like a CPU does?
I have too many gaps in my knowledge, and there's this unpleasant "mystery" behind GPUs and accessing them directly via hardware.
For example, a GPU and CPU have to be able to connect somehow, so it is possible to access a GPU via CPU assembly and implementing the correct data/address buses. There's no way a device vendor can make it impossible to access the GPU outside of a driver, because a driver is also compiled code, and the GPU, as a programmable circuit, must work with binary instructions.
I have asked these types of questions and they get deleted violently quick with no answer why on many sites, so what's the big mystery/secret here? It's a piece of hardware on a motherboard that is accessed like any other.
So really ... assuming this is an "ok" question here concerning software and hardware, anyone can directly access a GPU without vendor specific files, because the files are not magical.
So how are GPUs "programmed" from the bare-metal, direct hardware perspective on the hardware-specific level?