- Oct 10, 1999
- 9,558
- 0
- 76
This may be an old issue but I don't recall ever seeing anything specifically about it.
USB is a "master/slave" bus if I understand correctly. The controller is the master and the devices are slaves. Firewire is a peer to peer master bus, each device is in control of its own usage of the bus.
Does USB allow only one device to be transferring data at a time (with very fast switching between devices, such that you wouldn't know your mouse wasn't constantly communicating)? Sort of like an IDE bus, where some commands may be transferred to multiple devices, but only one can actually be active.
Does Firewire act more like SCSI where multiple devices communicate directly between each other or the host adapter at the same time, up to the limits of the bandwidth of Firewire? I know Firewire is based on SCSI protocols.
I'm just wondering how well the two busses allow for saturation with multiple devices. If USB can only allow one device to be sending actual data at a time, then the bus usage can never peak beyond the maximum usage of one device, and the time taken for two devices to simultaneously transfer a given amount of data would be equal to the time taken for each device to do it one at a time. If Firewire works the way I think, then the data could be transferred all at the same time, with the time taken would depend on the total amount of data divided by the maximum real performance of the Firewire bus and controller chips; given than no single device is able to fill the bus continuously, other devices would be sending data to fill up the remaining bandwidth so that the total time taken is less than the time for each device to transfer one at a time.
USB is a "master/slave" bus if I understand correctly. The controller is the master and the devices are slaves. Firewire is a peer to peer master bus, each device is in control of its own usage of the bus.
Does USB allow only one device to be transferring data at a time (with very fast switching between devices, such that you wouldn't know your mouse wasn't constantly communicating)? Sort of like an IDE bus, where some commands may be transferred to multiple devices, but only one can actually be active.
Does Firewire act more like SCSI where multiple devices communicate directly between each other or the host adapter at the same time, up to the limits of the bandwidth of Firewire? I know Firewire is based on SCSI protocols.
I'm just wondering how well the two busses allow for saturation with multiple devices. If USB can only allow one device to be sending actual data at a time, then the bus usage can never peak beyond the maximum usage of one device, and the time taken for two devices to simultaneously transfer a given amount of data would be equal to the time taken for each device to do it one at a time. If Firewire works the way I think, then the data could be transferred all at the same time, with the time taken would depend on the total amount of data divided by the maximum real performance of the Firewire bus and controller chips; given than no single device is able to fill the bus continuously, other devices would be sending data to fill up the remaining bandwidth so that the total time taken is less than the time for each device to transfer one at a time.