![]() |
Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
Robert L Krawitz wrote: > Matthew Gillen wrote: >> I'm sure you're correct about all the voltage analysis, except that >> "harder" from the above must not equate to "cheaper", since you >> don't see any computers with Universal Parallel Bus ports... > > The hard part about traditional bit-parallel interfaces is that each > bit has to be kept in sync -- if you have a 32-bit wide interface, > that means that 32 bits have to be kept in sync at high clock > frequencies so that the data gets reassembled correctly at the other > end. > > A serial interface, on the other hand, merely has to preserve the > ordering between the bits...a much simpler task. While this is true, I think it is a secondary factor. The above can be solved by throwing more silicon at the problem, but that's something you'd have to do anyway to accomplish a high speed interface (see below). Making it parallel just multiplies the complexity by the number of bits, and keeping them in sync just worsens the problem. I agree with most of what Mark has said in this thread, but I'll add a bit of clarification. I believe the reason why we have seen the "backwards" transition from parallel interfaces to serial is simply the dropping cost of our ability to create more complex circuits in silicon, and the increasing switching speed of transistors. Parallel was a natural starting point, as it basically took simple interfaces that already existed on the chips on the motherboard and just added some simple buffering. As Mark pointed out: > The reason why they are slow is that the current needed to drive a > fast ~4 volt swing is high based on the inductance of any real length > of cable. ...as you scale up the speed in any interface, you encounter problems with the electrical characteristics of the cabling (he meant impedance, rather than inductance). Using differential signaling[1] (each signal is sent over two wires, one carrying the original, and the other carrying an inverted version) addresses the problem of noise and interference; short, specially designed cables (as well as reduced voltage, as Mark points out) addresses the impedance issue; but the big item is data encoding. Doing a little research prompted by this question shows that SATA uses 8B/10B encoding[2], a scheme that provides some noise benefits as well as embedding the data clock in the encoded data, rather than requiring a separate dedicated clock signal, which minimizes synchronization issues. (All of this is address in some detail in "Serial ATA: A Comparison with Ultra ATA Technology"[3]. It provides a better explanation for the benefits of SATA's electrical design and signaling than the Wikipedia articles.) To pull off this encoding requires added complexity in the hardware - primarily the silicon. It also depends on transistors capable of operating fast enough that you can replace 8, 16, or 32 signal paths operating in parallel with a single signal path that operates even faster. So while these same principles can be applied to multiple data paths, it's probably cheaper to scale up the speed and complexity of a single encoded signal, taking advantage of the impact of Moore's Law[4] on silicon, than to use a simpler signaling scheme, but run more expensive cables (coax, fiber, etc.) in parallel. And yeah, keeping parallel bits in sync is probably a factor in why we don't see "parallel USB" or "parallel SATA" (applying high-speed serial techniques to a parallel data path), the expense of bigger cables, connectors, and cross talk are probably just as dominant. Speaking of fiber...lots of progress is being made in the area of cheap optical interfaces, so it probably won't be long before we switch to using fiber for interconnects. A serial signaling system is of course a natural fit for fiber. -Tom 1. http://en.wikipedia.org/wiki/Differential_signalling 2. http://en.wikipedia.org/wiki/8B/10B_encoding 3. http://www.sata-io.org/docs/serialata%20-%20a%20comparison%20with%20ultra%20ata%20technology.pdf 4. http://en.wikipedia.org/wiki/Moore%27s_Law -- Tom Metro Venture Logic, Newton, MA, USA "Enterprise solutions through open source." Professional Profile: http://tmetro.venturelogic.com/ -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
![]() |
|
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |