|
|
||
|
||
|
|
Quicklinks: · Power Macs · 'Books · Early Macs · Week's Best Deals · Best Buys · OS Downloads |
Macintosh Serial ThroughputAlso see user reports"You can't run a 9600 modem on a Plus." "You're wasting your money buying a 56k modem for that old Centris 610." "Those old Macs don't do handshaking." If you have a low end Mac and a modem, odds are pretty good you've heard these Mac myths. Fact is, every Mac ever made supports 230.4kbps over the serial port. It has to -- that's the speed of the LocalTalk connector. But LocalTalk isn't the same as working with an RS232 serial device such as a modem. Performance depends on several factors, including the CPU and its speed. Serial throughput is a moving target - published data is often contradictory. Develop magazine (No. 9, Winter 1992, pp. 86-88) notes, "no official testing has been done to identify the exact limit of each platform." (Inserting a floppy disk can reduce serial throughput.) This article attempts to distill various published materials and real world testing to provide the best overview of Macintosh serial performance available. Apple has three different types of serial ports.
One chip manages both the printer and modem ports. Having LocalTalk active, which is CPU intensive and ties up the link between the CPU and I/O (input/output) chip, will reduce serial port throughput in relation to the amount of LocalTalk data sent and received. (DMA serial helps here, since it allows the I/O chip to access memory directly.) Please take the serial throughput with LocalTalk active as a minimum figure. Real throughput will be between that and the maximum the serial port supports. Also keep in mind that just because your modem connects to another at a certain speed doesn't mean your serial port is moving data that fast. Simple SerialInstead of a standard RS232 serial port, Apple embraced the RS-422 standard. This standard is different from RS232, but it can be configured to work with RS232 devices. This makes it easy to attach regular serial peripherals to your Mac. RS422 also allows networking - the standard we know as LocalTalk. In Apple's implementation, the printer port supports serial speeds of 230.4kbps, but the modem port may be limited to a lower speed. Mac serial ports have two speed options, one controlled from the motherboard and a second speed set by an external clock. With external clocking, serial speeds of 500kbps to 2Mbps are possible. Before ethernet became inexpensive and popular, there were external LocalTalk adapters with high speed clocks that could drive 68020- and 68030-based Macs to 920kbps. Unfortunately, the companies that made them didn't standardize, so other brands could only communicate with each other at the 230.4kbps LocalTalk speed. Still, it was a clever hack - and something Apple designed into the system, as indicated in the Byte preview of the Macintosh in February 1984. (8 MHz 68000-based Macs are limited to 500kbps with external clocking; the CPU can't move the data faster than that.)
An interesting problem with the Macintosh serial port is that when the modem is going too fast, the Mac will pull the line down to tell the modem to "shut up" while it pushes the data into the OS. When it does this, the modem sees the DTR line go down, interprets this as "hang up," and you hear a "click". Your serial port should be capable of at least double the "modem speed" in order to work efficiently. For a 56k modem that means you need to run the serial port at 115.2k or faster, which the standard Apple serial drivers don't do. (FreePPP does support 115.2kbps and 230.4kbps serial port speeds.) If you are having clicking or hang-up problems, make sure you turn off "DTR Hangup" in the modem. This is pretty universally controlled by &D0 to turn it off, and &D2 to turn it on. (Thanks to Maury Markowitz for the information in the last three paragraphs.) LocalTalk is processor intensive. Macworld reports (April 1996, p. 47) that the 68000 CPU can reliably run the serial port at 19.2kbps with LocalTalk off, but this can be reduced to as little as 2400bps with LocalTalk active. (Apple's own Tech Q&A reports that performance beyond 9600bps is "dicey.") Macworld reports the 68020 through 68040 support 57.6 kbps with LocalTalk off, but can drop as low as 9600bps with heavy LocalTalk activity. 68040-based Macs tend to do a bit better (Macworld, Develop). Slower CPUs may restrict serial performance to 38.4kbps or less despite serial driver support for 57.6 kbps. (The processor load required for onboard video on the IIsi and IIci can further reduce performance - a good argument for adding a video card to these Macs.)
Input/Output SerialThe Mac IIfx was nonstandard in many ways. It used a different type of SIMM, supported direct memory access (DMA), required an oddball SCSI terminator, and ran like the wind. (Yes, there was a time when 40 MHz was wicked fast.) As with simple serial ports, the IIfx managed 230.4kbps for LocalTalk and could be driven to 900kbps from an external clock. Because the IIfx had a dedicated I/O processor, reducing the work load on the CPU, serial performance with LocalTalk off could reach 115.2kbps, although Apple's serial driver only supports speeds to 57.6 kbps. Throughput can drop as low as 28.8kbps with LocalTalk enabled and busy - a big improvement over the simple serial port. The Quadra 900 and 950 used the same type of serial architecture. GeoPort, DMA SerialIntroduced with the Centris 660av and Quadra 840av, the GeoPort became standard when the Power Mac was introduced. The GeoPort design permits 230.4kbps performance on either serial port, but using LocalTalk may reduce performance on the other port to 115.2kbps. Still, that's within the comfort range for today's 56k modems, even factoring in data compression. Thus, you don't need to disable LocalTalk to get good serial throughput with a GeoPort. With an external clock, the GeoPort is capable of 2Mbps performance. Other Modem ConnectionsOf course, this assumes you are connecting a modem to a serial port. These limitations need not apply to PowerBook modems or Comm Slot modems. SummaryAny Mac can be set to run the serial port at 57.6 kbps; newer Macs even faster. However, you may not get reliable results if your computer can't move data to and from memory quickly enough. Unless you have a GeoPort equipped Mac, the CPU handles all memory access, so a faster, more efficient CPU will provide better throughput than a slower, less efficient one. (The IIfx, Quadra 900, and Quadra 950 have "helper" chips to reduce load on the CPU during I/O. The GeoPort allows moving data directly between RAM and the serial port.) Precise performance between the minimum with LocalTalk and the maximum depends on how busy LocalTalk is. The more data you're sending or receiving over LocalTalk, the worse your performance will be. Your results may vary - faster CPUs may produce better results; slower ones, worse results.
|
Have a question?
|