On Jun 26 18:06 95, Bill Cheek of 1:202/731 wrote to Jerry Schwartz:
JS>> Supra made a similar feature and trumpeted it to the heavens; ZyXEL
buried
JS>> it in the manual. Check out S42, bit 1 (data rate averaging).
BC> Cool, but what exactly does it accomplish? (In a more technical sense?)
What it does is fairly simple. As I'm sure you know, modems swap data in
frames (packets? blocks? I'm not dead sure of the official terminology).
For MNP, it is 256 bytes; for V42, it is 128 bytes. Even if the data is
precompressed, and allowing for overhead, you still pick up some percentage
by eliminating the start and stop bits; so a 14400 bit per second connection
actually delivers more than that. That's why everyone locks their port at a
high speed.
However, the consequence of locking your port at (for example) 38400 is that
when the modem has received and decompressed a chunk of data, it squirts it
into the system under high pressure. Assuming for the moment that the modems
were actually moving data at 14400 (after all of the jiggery-pokery is
accounted for), and you locked your port at 38400, your system would get a
blast of data at 38400, then there would be dead time, then another blast at
38400, and so forth. In this hypothetical case, your system would have to be
able to accept data at 38400 even though the average throughput was only
14400.
By using the buffering capabilities of the modem, you can smooth this out and
pass data into the system at the same average rate as it arrives at the
modem. This reduces the strain on the system, and reduces the likelihood of
data overrun errors.
It isn't quite as good as a 16550, because this scheme doesn't allow for
interrupt harvesting (using one interrupt to service a buffer full of data);
but it also doesn't require any special software, which a 16550 does.
Jerry Schwartz
--- Msgedsq 3.05wb.06
---------------
* Origin: Write by Night, Period (1:142/928)
|