Comenzando con la CPU, o con el conjunto de chips que lo acompaña (por ejemplo, Intel PCH), ¿cuáles son los diversos componentes HW involucrados en la traducción de una lectura / escritura al disco, y cuál es su función?
Específicamente, estoy confundido sobre los roles de los siguientes:
- Controlador de host
- Controlador de dispositivo
- Adaptador de bus host
Por lo que yo puedo decir:
- Controlador de host: circuitería que existe en la placa base. Incluye una interfaz de nivel de registro para que los controladores interactúen. Responsable de traducir las solicitudes de sus registros en acciones: lectura / escritura en dispositivos conectados directamente. Por ejemplo, USB. También puede contener capacidad de DMA.
Controlador de dispositivo: igual que el controlador de host, pero existe en el dispositivo externo, como un controlador de disco en un HDD.
Adaptador de bus host: traduce un protocolo de bus externo a uno interno. Transparente al software. Por ejemplo, un controlador que desea leer / escribir en registros en un controlador de disco HDD externo HDD conectado a través de SATA o Infiniband.
Entonces, ¿cómo funcionaría un dispositivo como un teclado externo conectado a través de USB? En el nivel SW, los controladores todavía parecen estar comunicándose con registros específicos; Sin embargo, hay 2 controladores en juego.