[Gllug] re: SCSI vs SATA
Pete Ryland
pdr at createservices.com
Wed Jun 9 14:42:31 UTC 2004
On Wed, Jun 09, 2004 at 11:51:39AM +0100, Andy Farnsworth wrote:
> In it's simplest form, serial needs only one wire. However, this is
> never used in practice as the way a signal is read is that the voltage
> is compared to "ground". Ground is theoretically zero volts, however in
> reality it often has a voltage associated with it. This is why serial
> uses two wires, one for signal, one for ground so that both ends of the
> communication has the same "common ground" to compare the signal line to
> determine if it is a one or a zero.
As we all know, electricity works by having electrons flow in a circuit.
With only one wire, we must use a "ground return" system which means that we
have current flowing through our ground - not really a good idea for many
reasons, and basically equivalent to our two-wire situation. This is why we
use two wires per signal.
> SATA uses four wires but if you compare that to Parallel ATA which
> uses 40 or 80 wires you still see a cost savings. Also, with only one
> wire used for transmit (ok, plus the ground) there is no syncronization
> issues. In theory, if you have 10 transmit lines and 10 receive lines
> (with associated grounds -> hmm... 40 wires sounds familiar :-) then you
> would have 10 times the throughput possible, however, in reality the
> time it takes to syncronize the signals from these lines causes the
> whole system to slow down so much that just pushing data as fast as you
> can down a single line is faster, hence Serial is faster than Parallel.
I'm not sure about SATA, but 802.3 uses manchester encoding which basically
allows one signal to provide data and synchronisation, totally eliminating
the whole problem of getting the synchronisation signal and the data
signal(s) to arrive in sync. Hence one can ramp up the speed a bit. Other
techniques to help speed up serial communications include using twisted
pairs of wires to remove the effects of crosstalk, and even the need for
shielding.
> Speed of light in a vacuum (not a hoover, a vacuum)
> 300,000,000,000 milimeters / second
c = 299792458 m/s exactly.
This is actually how we define the second these days.
> Speed of today's fastest processors (for this lesson, pretent that
> faster = More cycles per second)
> 3,400,000,000 cycles / second
>
> (300,000,000,000 mm/s)/ (3,400,000,000 c/s) =
> 88.235294117647058823529411764706 milimeters / cycle
>
> Therefore, if the distance the signal has to travel is more than 88.235
> mm, the process will take longer than one cycle of the processor. That
> is a little over 3.5 inches and shrinks each and every time the clock
> speed increases.
You're forgetting about pipe-lining. Still, at least on earlier intel
processors, a multiply did indeed take 30 or 40 cycles and some instructions
took over 100 cycles! Also, waiting for memory/io takes time too.
> P.S. I have never seen any of my posts appear on this list, are they
> getting through?
Yes. :-)
Pete
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list