The USB protocol basics The protocol is completely master-driven The slave must feature a good-enough clock "Internal RC" oscillators are not enough Both master and slave devices are implemented in hardware Software can't deal with speed and determinism of the bus The master port is depicted as a "Root Hub" A PC usually has several root hubs Root hubs can be single-port or multi-port Bandwidth is effectively shared between devices When a device appears, it must be enumerated Hubs are enumerated too (including the root hub)