Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

guzhogi

macrumors 68040
Original poster
Aug 31, 2003
3,740
1,830
Wherever my feet take me…
I'm seeing quite a few technologies going from a parallel interface to a serial one. Examples: PATA -> SATA, regular SCSI -> SAS, etc. My question is, how can serial be faster? That, for me, goes against logic. I would think parallel would be faster. Kinda like saying trying to increase the number of cars per minute on a road by going from 8 lanes to 1. I've noticed people who read & post to these forums are fairly knowledgeable so can someone explain this to me?
 

sycho

macrumors 6502a
Oct 7, 2006
865
4
Since all information is naturally serial, or sequential, parallel interfaces have to wait until their buffer is filled, and then send the information.

Example:

Would it be quicker to count from 0 through 9 and see the results instantly, or would it be quicker to count from 0 through 9 and wait for you to finish and then send everything as a whole?
 

guzhogi

macrumors 68040
Original poster
Aug 31, 2003
3,740
1,830
Wherever my feet take me…
Okay, cool. I know the basics of like SATA, PATA, etc. (what they look like, how to attach them, etc.), I have no clue how they actually work & transfer data. I didn't know that parallel interfaces buffered the data first. I thought that since procs today are 32 or 64-bit today, getting 1 bit at a time (serial) would be slower than getting multiple bits at the same time. As I said, I don't know the really low level stuff about how it all works so sorry if it's a stupid question.
 

sycho

macrumors 6502a
Oct 7, 2006
865
4
Well that was just the basics, there are many more things that come into play then that.
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
Basically the answer is data skew.

If you want to have sensible cable lengths allowed you need to either have amazingly expensive cables or relatively long data bursts (per signal) to ensure that all the wires show the same at the receive end at the time of reception. This places a limit on the maximum speed. So although you can transmit, say, 8 or 16 bits at once a serial transmission bus that does not have to worry about skew can be running 100s of times faster taking away the advantage and more...
 

ChrisA

macrumors G5
Jan 5, 2006
12,576
1,692
Redondo Beach, California
Okay, cool. I know the basics of like SATA, PATA, etc. (what they look like, how to attach them, etc.), I have no clue how they actually work & transfer data. I didn't know that parallel interfaces buffered the data first. I thought that since procs today are 32 or 64-bit today, getting 1 bit at a time (serial) would be slower than getting multiple bits at the same time. As I said, I don't know the really low level stuff about how it all works so sorry if it's a stupid question.

In simple terms, if you use 8 wires to send a byte you are using 8 different wires. The data that goes down each wire might take more or less time than the data in other wires. So at the receiving end you have to wait until the slowest wire delivers its data. Of course the receiver does not know which is the slow wire so it always has to wait a "worse case" length of time between bytes. This limits the rate bytes can be sent.

With a serial line you can mix the clock with the data so the receiver can stay in sync without a worse case wait between bits.

There is an even faster way to send data. Multi-channel serial. Basically you gang together 2, 4 or 8 serial lines. There are many variations on this, the 'lines" can be physical wires or in the case of digital cable TV different RF carrier frequencies.
 

guzhogi

macrumors 68040
Original poster
Aug 31, 2003
3,740
1,830
Wherever my feet take me…
There is an even faster way to send data. Multi-channel serial. Basically you gang together 2, 4 or 8 serial lines. There are many variations on this, the 'lines" can be physical wires or in the case of digital cable TV different RF carrier frequencies.

Yes, but then wouldn't get a parallel connection again?
 

Flynnstone

macrumors 65816
Feb 25, 2003
1,438
96
Cold beer land
Yes, but then wouldn't get a parallel connection again?

Yes & no. Are you getting tired of hearing that yet :D

If the data is mutually exclusive, then not really parallel.
If the data is grouped in a blob. The data belongs together, then it is parallel, but on a packet level. Not on a byte, word level.

SATA is serial.
PCIe, PCI express is serial, but it can have "lanes" to increase throughput. So the lanes kind of make it parallel, sort of.

All these high speed serial interfaces are differential, or 2 wires per serial channel. Differential is fast and lower noise & lower susceptibility to external noise.

I think the simple answer is that it is cheaper to go faster with serial.
 

notjustjay

macrumors 603
Sep 19, 2003
6,056
167
Canada, eh?
It's not simply that it's faster, it is cheaper. You've got far fewer data pins, which means fewer wires in the cable. That also means less interference, which means more robustness.

The system is simpler, too. You don't need to buffer the bits into bytes. You are also not limited by word length. The parallel port has enough pins for 8 bits of data at a time, which was perfectly fine when PCs and printers were simple and only needed to output one byte at a time. If you were trying to transfer a 16-bit word, you'd have to line up the first set of 8 bits, save that, then line up the second set of bits, then put it all together to form your 16 bit word. If you have a 32-bit word, you have even more work to do.

With a serial line, you can just keep pulsing bits through for as long as you need.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.