Why does USB only use 2 lines for RX, TX instead of multiple data lines? [duplicate]











up vote
12
down vote

favorite
3













This question already has an answer here:




  • Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

    8 answers




Wouldn't it be faster if there were multiple data lines (say 8) to transmit/receive data (say sequential bytes) instead of using a single line to transmit sequential bits?










share|improve this question









New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











marked as duplicate by Dwayne Reid, RoyC, Nick Alexeev yesterday


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.











  • 3




    It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
    – JRE
    2 days ago






  • 5




    dupe : Why is digital serial transmission used everywhere?
    – J...
    2 days ago






  • 1




    That's how USB type C is set up. With multiple data lines.
    – ratchet freak
    2 days ago






  • 1




    @ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
    – Neinstein
    2 days ago






  • 1




    I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
    – Jay Kominek
    2 days ago

















up vote
12
down vote

favorite
3













This question already has an answer here:




  • Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

    8 answers




Wouldn't it be faster if there were multiple data lines (say 8) to transmit/receive data (say sequential bytes) instead of using a single line to transmit sequential bits?










share|improve this question









New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











marked as duplicate by Dwayne Reid, RoyC, Nick Alexeev yesterday


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.











  • 3




    It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
    – JRE
    2 days ago






  • 5




    dupe : Why is digital serial transmission used everywhere?
    – J...
    2 days ago






  • 1




    That's how USB type C is set up. With multiple data lines.
    – ratchet freak
    2 days ago






  • 1




    @ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
    – Neinstein
    2 days ago






  • 1




    I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
    – Jay Kominek
    2 days ago















up vote
12
down vote

favorite
3









up vote
12
down vote

favorite
3






3






This question already has an answer here:




  • Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

    8 answers




Wouldn't it be faster if there were multiple data lines (say 8) to transmit/receive data (say sequential bytes) instead of using a single line to transmit sequential bits?










share|improve this question









New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












This question already has an answer here:




  • Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

    8 answers




Wouldn't it be faster if there were multiple data lines (say 8) to transmit/receive data (say sequential bytes) instead of using a single line to transmit sequential bits?





This question already has an answer here:




  • Why is digital serial transmission used everywhere? i.e. SATA, PCIe, USB

    8 answers








usb






share|improve this question









New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited yesterday









Boann

172118




172118






New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 2 days ago









UpsideDownTree

7216




7216




New contributor




UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






UpsideDownTree is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




marked as duplicate by Dwayne Reid, RoyC, Nick Alexeev yesterday


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.






marked as duplicate by Dwayne Reid, RoyC, Nick Alexeev yesterday


This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.










  • 3




    It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
    – JRE
    2 days ago






  • 5




    dupe : Why is digital serial transmission used everywhere?
    – J...
    2 days ago






  • 1




    That's how USB type C is set up. With multiple data lines.
    – ratchet freak
    2 days ago






  • 1




    @ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
    – Neinstein
    2 days ago






  • 1




    I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
    – Jay Kominek
    2 days ago
















  • 3




    It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
    – JRE
    2 days ago






  • 5




    dupe : Why is digital serial transmission used everywhere?
    – J...
    2 days ago






  • 1




    That's how USB type C is set up. With multiple data lines.
    – ratchet freak
    2 days ago






  • 1




    @ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
    – Neinstein
    2 days ago






  • 1




    I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
    – Jay Kominek
    2 days ago










3




3




It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
– JRE
2 days ago




It would be far more difficult to make it run at high speeds using multiple wires. There's a good reason behind it, but writing an answer that explains why would take too long - and I'm probably not the best person to explain it.
– JRE
2 days ago




5




5




dupe : Why is digital serial transmission used everywhere?
– J...
2 days ago




dupe : Why is digital serial transmission used everywhere?
– J...
2 days ago




1




1




That's how USB type C is set up. With multiple data lines.
– ratchet freak
2 days ago




That's how USB type C is set up. With multiple data lines.
– ratchet freak
2 days ago




1




1




@ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
– Neinstein
2 days ago




@ratchetfreak I believe you don't even have to go that far, USB 3.0 has 4 data lines instead of 2.
– Neinstein
2 days ago




1




1




I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
– Jay Kominek
2 days ago






I feel like a lot of these responses are responding as though USB has 1 transmit wire, and 1 receive wire, when instead it has a single differential pair. Both sides both transmit and receive are on that differential pair. That distinguishes it from at least SATA.
– Jay Kominek
2 days ago












5 Answers
5






active

oldest

votes

















up vote
31
down vote



accepted










It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.



But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.



So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.



Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.



It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).






share|improve this answer























  • Could you explain how U in USB is related to "low cost devices"?
    – gnasher729
    yesterday










  • USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
    – Marcus Müller
    yesterday


















up vote
12
down vote













While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.






share|improve this answer




























    up vote
    12
    down vote













    One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.



    On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.



    Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.



    Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.






    share|improve this answer



















    • 1




      You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
      – Marcus Müller
      2 days ago






    • 6




      PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
      – Jörg W Mittag
      2 days ago












    • good catch, updated
      – Chris Fernandez
      2 days ago






    • 3




      electronics.stackexchange.com/a/393469/87770
      – Jörg W Mittag
      2 days ago


















    up vote
    9
    down vote













    USB doesn't have Rx & Tx lines. It has one pair of differential lines, similar to RS485, with the data & clock signal encoded together. The sender sends data one way using both wires, and the receiver sends data back the other way using both lines.



    Otherwise, yes, a parallel bus of signals can be very fast. Best for short distances for the reasons mentioned already.



    Example of a USB data transfer:



    enter image description here






    share|improve this answer






























      up vote
      2
      down vote













      As pointed out in other answers,




      • You are right, If you use twice as many lanes, you get twice the speed.

      • Earlier, parallel busses (with many data lanes) were widespread. Examples are the parallel printer interface, PATA, and PCI. But it is hard to build fast parallel busses because differences in the lengths of individual wires will cause timing differences. Parallel busses are still in widespread use on PCBs (DRAM, QSPI, GMII, ...) and on chips (AXI, AHB, QPI, ...), but for longer distances, it is actually much cheaper to build a high-speed serial link than a lower-speed parallel link with the same data throughput. Modern super-high-speed, longer-distance data links such as Gigabit Ethernet, PCIe and USB3 do have multiple data lanes, but each of those lanes is a completely independent high-speed serial link; the data streams from the individual links are combined back together at a later point. This is why you can put a PCIe x16 graphics card into a PCIe x1 slot with a fitting adapter (or sufficient violence).

      • Parallel busses have more wires (duh), so cable will be thicker and heavier and more expensive, and the connector as well.


      Historically, when USB was designed, high-speed data transfer was not its main focus. The main focus was to create a universal and cheap bus system for connecting peripherals like keyboards, mouses and printers.
      A parallel design would have been a bad choice; it would have ruined the revolutionary small connector size and probably increased the cost of USB enough to prevent its widespread adaption.






      share|improve this answer




























        5 Answers
        5






        active

        oldest

        votes








        5 Answers
        5






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes








        up vote
        31
        down vote



        accepted










        It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.



        But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.



        So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.



        Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.



        It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).






        share|improve this answer























        • Could you explain how U in USB is related to "low cost devices"?
          – gnasher729
          yesterday










        • USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
          – Marcus Müller
          yesterday















        up vote
        31
        down vote



        accepted










        It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.



        But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.



        So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.



        Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.



        It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).






        share|improve this answer























        • Could you explain how U in USB is related to "low cost devices"?
          – gnasher729
          yesterday










        • USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
          – Marcus Müller
          yesterday













        up vote
        31
        down vote



        accepted







        up vote
        31
        down vote



        accepted






        It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.



        But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.



        So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.



        Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.



        It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).






        share|improve this answer














        It would be faster indeed if instead of one line you'd feed multiple lines at the same symbol clock.



        But, USB's primary and foremost goal is to provide easy, serial (hence the S in USB) interfacing between low-cost devices (hence the U in USB) with low-cost, lightweight cabling.



        So, that's why USB doesn't do parallel data lines: It's simply not the niche it's supposed to fill.



        Also, don't neglect that having multiple high-speed parallel lanes requires the transceiver system to introduce a relative high amount of effort to compensate different skews on different lines, which at high rates are inevitable.



        It's often become cheaper to make something work twice as fast than building two of the slower variant, unless you're really directly talking to hardware that is in its raw principle bit-parallel (e.g. DDR memory chips).







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited 2 days ago

























        answered 2 days ago









        Marcus Müller

        29.6k35590




        29.6k35590












        • Could you explain how U in USB is related to "low cost devices"?
          – gnasher729
          yesterday










        • USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
          – Marcus Müller
          yesterday


















        • Could you explain how U in USB is related to "low cost devices"?
          – gnasher729
          yesterday










        • USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
          – Marcus Müller
          yesterday
















        Could you explain how U in USB is related to "low cost devices"?
        – gnasher729
        yesterday




        Could you explain how U in USB is related to "low cost devices"?
        – gnasher729
        yesterday












        USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
        – Marcus Müller
        yesterday




        USB =**universal** serial bus. With "universal" was meant that it was designed to be the low-cost bus for all kind of low-cost computer peripherals.
        – Marcus Müller
        yesterday












        up vote
        12
        down vote













        While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.






        share|improve this answer

























          up vote
          12
          down vote













          While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.






          share|improve this answer























            up vote
            12
            down vote










            up vote
            12
            down vote









            While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.






            share|improve this answer












            While the answer of Marcus is 100% correct, I want to add that USB 3.2 Gen 1x2 and Gen 2x2 are using two data lanes in each direction while the lanes still run at 5Gbit/s resp. 10Gbit/s each.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered 2 days ago









            Manu3l0us

            1,129919




            1,129919






















                up vote
                12
                down vote













                One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.



                On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.



                Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.



                Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.






                share|improve this answer



















                • 1




                  You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                  – Marcus Müller
                  2 days ago






                • 6




                  PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                  – Jörg W Mittag
                  2 days ago












                • good catch, updated
                  – Chris Fernandez
                  2 days ago






                • 3




                  electronics.stackexchange.com/a/393469/87770
                  – Jörg W Mittag
                  2 days ago















                up vote
                12
                down vote













                One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.



                On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.



                Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.



                Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.






                share|improve this answer



















                • 1




                  You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                  – Marcus Müller
                  2 days ago






                • 6




                  PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                  – Jörg W Mittag
                  2 days ago












                • good catch, updated
                  – Chris Fernandez
                  2 days ago






                • 3




                  electronics.stackexchange.com/a/393469/87770
                  – Jörg W Mittag
                  2 days ago













                up vote
                12
                down vote










                up vote
                12
                down vote









                One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.



                On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.



                Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.



                Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.






                share|improve this answer














                One of the main hurdles with any type of parallel bus is skew. If you have 8 separate wires all carrying data, it is important that all of the bits arrive at the approximately the same time. Otherwise, the bits of Byte A could get mixed up with the bits of Byte B. This means that the length of those parallel wires must be matched, within some percentage of the clock speed, so that the travel time of the signal down the wire is approximately the same. The faster the clock speed, the tighter the tolerance on the length between parallel wires.



                On a PCB design for something like a motherboard, very tight design constraints are commonplace. PCB traces can achieve 1 mil or better length matching, which is good enough to implement high speed parallel interfaces. One common example of this is the DDR memory interface. This interface relies on parallel communication to move data at very high rates, but it's only possible to (affordably) implement these interfaces internally.



                Imagine trying to build an external computer cable with 30+ wire connections, all length matched within a thousandth of an inch! Those cables would be very expensive compared to USB cabling.



                Older computers did use a Parallel Port, which had 8 data lines but could only achieve a data rate of around 2.5 MB/s. Compare that to the 60 MB/s of USB 2.0, let alone the newer flavors of USB.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 2 days ago

























                answered 2 days ago









                Chris Fernandez

                370110




                370110








                • 1




                  You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                  – Marcus Müller
                  2 days ago






                • 6




                  PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                  – Jörg W Mittag
                  2 days ago












                • good catch, updated
                  – Chris Fernandez
                  2 days ago






                • 3




                  electronics.stackexchange.com/a/393469/87770
                  – Jörg W Mittag
                  2 days ago














                • 1




                  You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                  – Marcus Müller
                  2 days ago






                • 6




                  PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                  – Jörg W Mittag
                  2 days ago












                • good catch, updated
                  – Chris Fernandez
                  2 days ago






                • 3




                  electronics.stackexchange.com/a/393469/87770
                  – Jörg W Mittag
                  2 days ago








                1




                1




                You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                – Marcus Müller
                2 days ago




                You can actually work around that with link training over multiple lanes, and it is done even on typically PCB-bound links like PCIe – but it really only pays to do that if you save yourself a lot of trouble by going through that amount of trouble.
                – Marcus Müller
                2 days ago




                6




                6




                PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                – Jörg W Mittag
                2 days ago






                PCIe is actually a serial connection which only uses one differential pair of lines for Rx and another pair for Tx. The multiple PCIe lanes are not parallel signal lines. They only need synchronization based on the frames transmitted on it, not the digital signals. There was a discussion about this question on Electrical Engineering a couple of weeks ago.
                – Jörg W Mittag
                2 days ago














                good catch, updated
                – Chris Fernandez
                2 days ago




                good catch, updated
                – Chris Fernandez
                2 days ago




                3




                3




                electronics.stackexchange.com/a/393469/87770
                – Jörg W Mittag
                2 days ago




                electronics.stackexchange.com/a/393469/87770
                – Jörg W Mittag
                2 days ago










                up vote
                9
                down vote













                USB doesn't have Rx & Tx lines. It has one pair of differential lines, similar to RS485, with the data & clock signal encoded together. The sender sends data one way using both wires, and the receiver sends data back the other way using both lines.



                Otherwise, yes, a parallel bus of signals can be very fast. Best for short distances for the reasons mentioned already.



                Example of a USB data transfer:



                enter image description here






                share|improve this answer



























                  up vote
                  9
                  down vote













                  USB doesn't have Rx & Tx lines. It has one pair of differential lines, similar to RS485, with the data & clock signal encoded together. The sender sends data one way using both wires, and the receiver sends data back the other way using both lines.



                  Otherwise, yes, a parallel bus of signals can be very fast. Best for short distances for the reasons mentioned already.



                  Example of a USB data transfer:



                  enter image description here






                  share|improve this answer

























                    up vote
                    9
                    down vote










                    up vote
                    9
                    down vote









                    USB doesn't have Rx & Tx lines. It has one pair of differential lines, similar to RS485, with the data & clock signal encoded together. The sender sends data one way using both wires, and the receiver sends data back the other way using both lines.



                    Otherwise, yes, a parallel bus of signals can be very fast. Best for short distances for the reasons mentioned already.



                    Example of a USB data transfer:



                    enter image description here






                    share|improve this answer














                    USB doesn't have Rx & Tx lines. It has one pair of differential lines, similar to RS485, with the data & clock signal encoded together. The sender sends data one way using both wires, and the receiver sends data back the other way using both lines.



                    Otherwise, yes, a parallel bus of signals can be very fast. Best for short distances for the reasons mentioned already.



                    Example of a USB data transfer:



                    enter image description here







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited 2 days ago

























                    answered 2 days ago









                    CrossRoads

                    8904




                    8904






















                        up vote
                        2
                        down vote













                        As pointed out in other answers,




                        • You are right, If you use twice as many lanes, you get twice the speed.

                        • Earlier, parallel busses (with many data lanes) were widespread. Examples are the parallel printer interface, PATA, and PCI. But it is hard to build fast parallel busses because differences in the lengths of individual wires will cause timing differences. Parallel busses are still in widespread use on PCBs (DRAM, QSPI, GMII, ...) and on chips (AXI, AHB, QPI, ...), but for longer distances, it is actually much cheaper to build a high-speed serial link than a lower-speed parallel link with the same data throughput. Modern super-high-speed, longer-distance data links such as Gigabit Ethernet, PCIe and USB3 do have multiple data lanes, but each of those lanes is a completely independent high-speed serial link; the data streams from the individual links are combined back together at a later point. This is why you can put a PCIe x16 graphics card into a PCIe x1 slot with a fitting adapter (or sufficient violence).

                        • Parallel busses have more wires (duh), so cable will be thicker and heavier and more expensive, and the connector as well.


                        Historically, when USB was designed, high-speed data transfer was not its main focus. The main focus was to create a universal and cheap bus system for connecting peripherals like keyboards, mouses and printers.
                        A parallel design would have been a bad choice; it would have ruined the revolutionary small connector size and probably increased the cost of USB enough to prevent its widespread adaption.






                        share|improve this answer

























                          up vote
                          2
                          down vote













                          As pointed out in other answers,




                          • You are right, If you use twice as many lanes, you get twice the speed.

                          • Earlier, parallel busses (with many data lanes) were widespread. Examples are the parallel printer interface, PATA, and PCI. But it is hard to build fast parallel busses because differences in the lengths of individual wires will cause timing differences. Parallel busses are still in widespread use on PCBs (DRAM, QSPI, GMII, ...) and on chips (AXI, AHB, QPI, ...), but for longer distances, it is actually much cheaper to build a high-speed serial link than a lower-speed parallel link with the same data throughput. Modern super-high-speed, longer-distance data links such as Gigabit Ethernet, PCIe and USB3 do have multiple data lanes, but each of those lanes is a completely independent high-speed serial link; the data streams from the individual links are combined back together at a later point. This is why you can put a PCIe x16 graphics card into a PCIe x1 slot with a fitting adapter (or sufficient violence).

                          • Parallel busses have more wires (duh), so cable will be thicker and heavier and more expensive, and the connector as well.


                          Historically, when USB was designed, high-speed data transfer was not its main focus. The main focus was to create a universal and cheap bus system for connecting peripherals like keyboards, mouses and printers.
                          A parallel design would have been a bad choice; it would have ruined the revolutionary small connector size and probably increased the cost of USB enough to prevent its widespread adaption.






                          share|improve this answer























                            up vote
                            2
                            down vote










                            up vote
                            2
                            down vote









                            As pointed out in other answers,




                            • You are right, If you use twice as many lanes, you get twice the speed.

                            • Earlier, parallel busses (with many data lanes) were widespread. Examples are the parallel printer interface, PATA, and PCI. But it is hard to build fast parallel busses because differences in the lengths of individual wires will cause timing differences. Parallel busses are still in widespread use on PCBs (DRAM, QSPI, GMII, ...) and on chips (AXI, AHB, QPI, ...), but for longer distances, it is actually much cheaper to build a high-speed serial link than a lower-speed parallel link with the same data throughput. Modern super-high-speed, longer-distance data links such as Gigabit Ethernet, PCIe and USB3 do have multiple data lanes, but each of those lanes is a completely independent high-speed serial link; the data streams from the individual links are combined back together at a later point. This is why you can put a PCIe x16 graphics card into a PCIe x1 slot with a fitting adapter (or sufficient violence).

                            • Parallel busses have more wires (duh), so cable will be thicker and heavier and more expensive, and the connector as well.


                            Historically, when USB was designed, high-speed data transfer was not its main focus. The main focus was to create a universal and cheap bus system for connecting peripherals like keyboards, mouses and printers.
                            A parallel design would have been a bad choice; it would have ruined the revolutionary small connector size and probably increased the cost of USB enough to prevent its widespread adaption.






                            share|improve this answer












                            As pointed out in other answers,




                            • You are right, If you use twice as many lanes, you get twice the speed.

                            • Earlier, parallel busses (with many data lanes) were widespread. Examples are the parallel printer interface, PATA, and PCI. But it is hard to build fast parallel busses because differences in the lengths of individual wires will cause timing differences. Parallel busses are still in widespread use on PCBs (DRAM, QSPI, GMII, ...) and on chips (AXI, AHB, QPI, ...), but for longer distances, it is actually much cheaper to build a high-speed serial link than a lower-speed parallel link with the same data throughput. Modern super-high-speed, longer-distance data links such as Gigabit Ethernet, PCIe and USB3 do have multiple data lanes, but each of those lanes is a completely independent high-speed serial link; the data streams from the individual links are combined back together at a later point. This is why you can put a PCIe x16 graphics card into a PCIe x1 slot with a fitting adapter (or sufficient violence).

                            • Parallel busses have more wires (duh), so cable will be thicker and heavier and more expensive, and the connector as well.


                            Historically, when USB was designed, high-speed data transfer was not its main focus. The main focus was to create a universal and cheap bus system for connecting peripherals like keyboards, mouses and printers.
                            A parallel design would have been a bad choice; it would have ruined the revolutionary small connector size and probably increased the cost of USB enough to prevent its widespread adaption.







                            share|improve this answer












                            share|improve this answer



                            share|improve this answer










                            answered 2 days ago









                            mic_e

                            437311




                            437311















                                Popular posts from this blog

                                flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

                                Mangá

                                Eduardo VII do Reino Unido