Защо серийното предаване на данни е по-бързо от предаването на паралелни данни?

Съдържание:

Защо серийното предаване на данни е по-бързо от предаването на паралелни данни?
Защо серийното предаване на данни е по-бързо от предаването на паралелни данни?

Видео: Защо серийното предаване на данни е по-бързо от предаването на паралелни данни?

Видео: Защо серийното предаване на данни е по-бързо от предаването на паралелни данни?
Видео: The PHENOMENON BRUNO GROENING – documentary film – PART 1 - YouTube 2024, Април
Anonim
SATA твърдите дискове са по-бързи от по-старите PATA твърди дискове и същото може да се каже за външни кабелни стандарти, но това е противоинтуитивно: защо паралелното предаване не би било по-бързо?
SATA твърдите дискове са по-бързи от по-старите PATA твърди дискове и същото може да се каже за външни кабелни стандарти, но това е противоинтуитивно: защо паралелното предаване не би било по-бързо?

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Reader на SuperUser Modest е любопитен за скоростите на предаване на паралелни и серийни връзки:

Intuitively, you would think that parallel data transmission should be faster than serial data transmission; in parallel you are transferring many bits at the same time, whereas in serial you are doing one bit at a time.

So what makes SATA interfaces faster than PATA, PCI-e devices faster than PCI, and serial ports faster than parallel?

Макар да е лесно да се помислим, че SATA е по-нова от PATA, трябва да има по-конкретен механизъм на работа, отколкото просто възраст.

Отговорът

Сътрудникът на SuperPower Mpy предлага известно разбиране за естеството на типовете предаване:

You cannot formulate it this way.

Serial transmission is slower than parallel transmission given the same signal frequency. With a parallel transmission you can transfer one word per cycle (e.g. 1 byte = 8 bits) but with a serial transmission only a fraction of it (e.g. 1 bit).

The reason modern devices use serial transmission is the following:

  • You cannot increase the signal frequency for a parallel transmission without limit, because, by design, all signals from the transmitter need to arrive at the receiver at the same time. This cannot be guaranteed for high frequencies, as you cannot guarantee that the signal transit time is equal for all signal lines (think of different paths on the mainboard). The higher the frequency, the more tiny differences matter. Hence the receiver has to wait until all signal lines are settled - obviously, waiting lowers the transfer rate.
  • Another good point (from this post) is that one needs to consider crosstalk with parallel signal lines. The higher the frequency, the more pronounced crosstalk gets and with it the higher the probability of a corrupted word and the need to retransmit it. [1]

So, even if you transfer less data per cycle with a serial transmission, you can go to much higher frequencies which results in a higher net transfer rate.

[1] This also explains why UDMA-Cables (Parallel ATA with increased transfer speed) had twice as many wires as pins. Every second wire was grounded to reduce crosstalk.

Скот Чембърлейн отразява отговора на Myp и разширява икономическите аспекти на дизайна:

The problem is synchronization.

When you send in parallel you must measure all of the lines at the exact same moment, as you go faster the size of the window for that moment gets smaller and smaller, eventually it can get so small that some of the wires may still be stabilizing while others are finished before you ran out of time.

By sending in serial you no longer need to worry about all of the lines stabilizing, just one line. And it is more cost efficient to make one line stabilize 10 times faster than to add 10 lines at the same speed.

Some things like PCI Express do the best of both worlds, they do a parallel set of serial connections (the 16x port on your motherboard has 16 serial connections). By doing that each line does not need to be in perfect sync with the other lines, just as long as the controller at the other end can reorder the “packets” of data as they come in using the correct order.

The How Stuff Works page for PCI-Express does a very good explination in depth on how PCI Express in serial can be faster than PCI or PCI-X in parallel.

TL;DR Version: It is easier to make a single connection go 16 times faster than 8 connections go 2 times faster once you get to very high frequencies.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.

Препоръчано: