permite ao SO e a placa-mae diferenciar, transparentemente:A classe do equipamento (dispositivo de armazenamento, placa de rede, placa de som, etc);As necessidades de alimentacao eletrica do dispositivo a uma distancia de ate 5 metros sem a necessidade de outro equipamento, caso este nao disponha de alimentacao propria;As necessidades de largura de banda (para um dispositivo de video, serao muito superiores as de um teclado, por exemplo);As necessidades de latencia maxima;Eventuais modos de operacao internos ao dispositivo (por exemplo, maquina digital pode operar, geralmente, como uma webcam ou como um dispositivo de armazenamento - para transferir as imagens).Ainda, foi projetado de maneira que possam ser ligados varios perifericos pelo mesmo canal (i.e., porta USB). Assim, mediante uma topologia em arvore, e possivel ligar ate 127 dispositivos a uma unica porta do computador, utilizando, para a derivacao, hubs especialmente concebidos, ou se por exemplo as impressoras ou outro perifericos existentes hoje tivessem uma entrada e saida usb, poderiamos ligar estes como uma corrente de ate 127 dispositivos, um ligado ao outro, os quais o computador gerenciaria sem nenhum problema, levando em conta o trafego requerido e velocidade das informacao solicitadas pelo sistema. Estes dispositivos especiais (os hubs anteriormente citados) - estes tambem dispositivos USB, com classe especifica -, sao responsaveis pela gestao da sua sub-arvore e cooperacao com os nos acima (o computador ou outros hubs). Esta funcionalidade foi adaptada da vasta experiencia em redes de bus, como o Ethernet - o computador apenas encaminhara os pacotes USB (unidade de comunicacao do protocolo, ou URB, do ingles Uniform Request Block) para uma das portas, e o pacote transitara pelo bus ate ao destino, encaminhado pelos hubs intermediarios.ConcepcaoO padrao USB foi desenvolvido por um consorcio de empresas, entre as quais destacam-se: Microsoft, Apple, Hewlett-Packard, NEC, Intel e Agere.Foi muito dificil para estas empresas encontrar um consenso sobre a abordagem do controlador. Dividiram-se entao as opinioes, formando dois grupos distintos:UHCI, Universal Host Controller Interface, apoiado majoritariamente pela Intel, que transferia parte do processamento do protocolo para o software (driver), simplificando o controlador eletronico;OHCI, Open Host Controller Interface, apoiado pela Compaq, Microsoft e National Semiconductor, que transferia a maior parte do esforco para o controlador eletronico, simplificando o controlador logico (driver).Isto gerou algumas incompatibilidades e lancou a ameaca de dispersao do padrao. Pela experiencia anterior em casos de adaptacao de padroes (como o caso das extensoes individualistas do HTML da Microsoft e da Netscape a versao 3 deste protocolo que, frequentemente, quebrava a compatibilidade entre sites), agora podia-se confirmar a desvantagem de nao se conseguir a universalizacao. Porem, traria novas conclusoes para a versao 2.0 deste protocolo, desta vez unidos sob o modelo EHCI, Enhanced Host Controller Interface, permitindo colmatar as falhas e reunir as qualidades dos dois modelos anteriores; mas sem duvida, o avanco notavel desta versao seria o aumento da largura de banda disponivel - tornava-se agora possivel, com um unico driver, transferir som, video e ainda assim usar a impressora, portudo isto pelo mesmo canal - ate um total de 480 Mbits/s.Historia das VersoesUSB 0.7: Lancado em novembro de 1994.USB 0.8: Lancada em dezembro