To read all comments associated with this story, please click here.
Then why would you keep on buying better CPUs if it's to let them sit there do nothing ?
Why do you think computing is getting cheaper and cheaper ? because we are building actually less.
SCSI is a fine technology but it's much more expensive than SATA.
Winmodem for example were cheapers because they offloaded much of their operations to the driver. That's the way technology is going into.
Use my CPU, damnit, if it's making everything cheaper. Use it as much as you have to.
No, technology is going towards offloading the main CPU, not burdening it with more stuff. Thats why we have 3d accelerators, sound cards, tcp checksum offloading etc.
[quote]From what I have heard is that ATA and USB wasted many CPU cycles where Firewire/SCSI was much more intelligent and did much more on itself without requiring assistance by the CPU. [/quote]
That's because USB specification has a horrible, terrible software interface. I can't stress how badly designed it is. But then I am unsure, maybe it is done that way on purpose. Perhaps to create a more involved developer market.
The usb spec exposes the ridiciluous transaction-level protocol details to the software. What this means is when a transaction fails, (a transaction is like a request that is part of a single data transfer) the software has to retry it, constantly monitor multiple request queues, reclaim and restore them etc. and take account on very low level usb error codes. So much crap you have to do. Another hint to this complexity is no other device protocol requires a whole stack.
Same comes for ATA, damn, all you do is read sectors, write sectors, do dma, and ok some extra features are acceptable. But, 8 ATA standards? So many registers and modes. For what? Hardware is overly complicated nowadays, and I blame incompetent spec authors. So much bloat.
Final word, try PCI-Express. You configure it, then simply access your memory mapped device conveniently at 2.5Ghz.
The usb spec exposes the ridiciluous transaction-level protocol details to the software. What this means is when a transaction fails, (a transaction is like a request that is part of a single data transfer) the software has to retry it, constantly monitor multiple request queues, reclaim and restore them etc. and take account on very low level usb error codes. So much crap you have to do. Another hint to this complexity is no other device protocol requires a whole stack.
Agreed 100%. USB is rediculously designed, and overly complex. I swear it was designed just to make CPU's run slower.
Perhaps it is because it replaced the old Serial ports, which provided a very basic interface that nearly any device could communicate over and create its own protocol over.
So, this is likely on purpose and done specifically to allow the same amount of freedom in the protocol that the old serial devices had. Thus why you would have to have an extensive software interface that monitors even the lowest level errors - it's really a driver interface to some unknown device that only the driver knows how to completely communicate with and interpret, which btw has to run on the CPU.







Member since:
2005-11-27
I don't want a new USB/ATA type of connection that tax the CPU/memory.If USB3 is as inefficent as USB 1/2, then I don't want it. From what I have heard is that ATA and USB wasted many CPU cycles where Firewire/SCSI was much more intelligent and did much more on itself without requiring assistance by the CPU. When I build my computers I want parts that Offload the CPU, not requiring it to work harder.