Controlador host , Adaptador de barramento host ou mesmo Adaptador host são apenas nomes diferentes para a mesma coisa (cf Wikipedia ): Uma peça de hardware que conecta o barramento entre o host (seu PC) e o dispositivo (seu disco rígido externo) ao barramento interno (PCIe ) do host.
Então, para um disco rígido via SATA:
<--------- PC ---------> <------ Harddisk ------>
PC south- SATA host SATA device Device
bridge ---- controller ....... controller ---- SoC
^^ ^^ ^^
PCIe-Bus SATA-Bus Some kind of bus
O controlador host pode existir na placa-mãe ou como um cartão separado. O PC pode ler / gravar nos registradores do controlador host, ou fazer DMA, e os controladores hospedeiros os convertem em ações no barramento SATA (ou traduz ações no barramento SATA em valores de registro correspondentes ou ações de DMA). / p>
Algo como um "adaptador de barramento de host" que é transparente para o software não existe nesse sentido, embora seja possível projetar algum dispositivo que emule outro dispositivo (por exemplo, um pendrive emula um disco rígido, usando o mesmo protocolo como seria usado para um disco rígido).
A imagem é a mesma para um teclado conectado via USB:
<--------- PC ---------> <------ Keyboard ------>
PC south- USB host USB device Device
bridge ---- controller ....... controller ---- SoC
^^ ^^ ^^
PCIe-Bus USB-Bus Internal bus
Embora aqui o controlador do dispositivo USB seja integrado em um único chip com o controlador embutido no teclado, o barramento é interno e você não o verá quando estiver usando o teclado.
A pilha de software em geral é mais complicada do que você descreve; existem outros protocolos ou mesmo pilhas de protocolo acima do próprio protocolo de bus, e. o protocolo "armazenamento USB" mencionado (que é semelhante ao SCSI) acima do protocolo USB básico, ou o protocolo "USB HID" para o teclado acima do protocolo USB básico.