Why still have the Legacy I/O

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

gsethi

Diamond Member
Feb 28, 2002
3,457
5
81
I still use most of the PCI slots and the serial/parallel port.

PCI Slots used for:
Sound Blaster Audigy 2 Sound card
TV Tuner Card
PCI Raid card
56k Dial-up modem (for backup)
NIC Card (not right now - but use it for motherboards that dont have NIC...ex: Abit IC7)

Serial Port/Parallel Port
I am a CSE student and some of our CE projects do require serial or parallel ports to program the ROM or BIOS. Some of the embedded systems design software just wont work with anything beside serial or parallel ports....so these ports are very usefull for academic purposes...yes they are slow but they get the job done.....When you are writing 1s and 0s on memory or BIOS etc, you want reliability rather than speed (to make sure that data is written properly) other you will be spending hours thinking that something is wrong in your code when the software messed up (happened to me in one of my hardware programming classes where i was too lazy to double check and compare the checksum of the buffer contents and the actual contents written to my ROM chip...spent hours and figured out that it was a bad data on ROM chip....reprogrammed the ROM chip and everything worked...would have saved hours if i had checked the checksum before)
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
These are all but "high speed". Actually, all those legacy I/O port cards for the PCI bus are implemented using a (minimized) ISA bus bridge and an equally boring legacy bus I/O device behind it. Most of the time, you get that integrated into one chip.

This is even slower than hanging a traditional super-IO chip directly off the south bridge, without the extra hop over the PCI bus.
 

ProviaFan

Lifer
Mar 17, 2001
14,993
1
0
Originally posted by: Peter
These are all but "high speed"...
And any serial ports in the traditional sense are "high speed"? Just kidding. ;)

I seem to recall some of the industrial stuff being pretty fast, but then it's very limited in use outside of the industrial or laboratory environment, and also tends to be very pricey.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
You _can_ have high speed serial equipment, usually implemented as native PCI bus devices. (Working in design of industrial/telecomms computing equipment, that's no news to me ;))

What you can't have is high speed serial ports that are programming model compatible to a legacy "UART" style COM port. The fast ones aren't cheap, no.

Still, if you're about to include a COM port, put it as close to the south bridge as you can. Bus attachment wise, not physically, of course :) Those legacy interface ports are exceptionally stupid in their programming model (no surprise there, given that it's all parts from the 1970s that were designed into the original IBM PC because they were cheap, not because they were good). Lots of low latency CPU babysitting is required to make them function correctly, particularly at the higher interface speeds that got slapped on later.
 

tcsenter

Lifer
Sep 7, 2001
18,895
548
126
These ports have been referred to as "High Speed 16550 UART Serial Ports" since like 1992 when they were "high speed" in that era of computing. Companies still call them that.
 

glugglug

Diamond Member
Jun 9, 2002
5,340
1
81
FYI: parallel ports in EPP and/or ECP mode are faster than USB 1.2.

If the converters are not "hi-speed" USB 2.0, it will slow down the connection to your parallel devices.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
tcsenter, that kind of "high speed" came in when they added a (ridiculous 16-byte) FIFO to reduce the interrupt load, which made speeds up to 115200 bps useable. The kind of high speed I was talking about is in the several Mbit/s arena, for T1/E1 interfaces and the likes. Different breed.

EPP/ECP parallel ports aren't faster than USB 1.x. ECP theoretically maxes out at slightly above 1 MByte/s, which happens to be about exactly what USB 1.x can do. On the topic of CPU and system bus load as well as interrupt frequency, PCI- or even southbridge-based USB is massively better than any kind of parallel printer port.
 

Odeen

Diamond Member
Aug 4, 2000
4,892
0
76
Originally posted by: tcsenter
I still use a serial/com port for a mouse, increasingly with an adapter since meeses rarely come in serial versions these days. There is no good reason a stinking mouse needs to occupy a PCI-IRQ which could be available for real PCI devices, so I move it to legacy COM1/IRQ4 where it belongs.

That's slightly insane..

USB mice have a sampling rate of 125hz. PS/2 mice can be made to sample up to 200hz. Serial mice are stuck at... 40hz. Honestly, when I moved from a serial to a PS/2 mouse on my Pentium 150, and used PS/2Rate to bump my mouse sampling rate to 200, moving the cursor was like night and day.


Modern implementations of legacy IO tend to be less efficient than past implementations. I wouldn't be surprised that attaching an external serial port modem is actually as CPU-intensive as a PCI Winmodem, due to a crappy serial port implementation.

That said, as soon as the newest consumer version of Windows can use USB memory sticks or CDRW's with storage drivers during a windows install, and hard drive manufacturers will post ISO images of their disc diagnostic programs, I'll stop using the floppy drive. I already don't use serial and parallel, and I could be convinced to switch my keyboard and mouse to USB if a) the motherboard would be made cheaper and b) it would perform better.
 

tcsenter

Lifer
Sep 7, 2001
18,895
548
126
That's slightly insane..

USB mice have a sampling rate of 125hz. PS/2 mice can be made to sample up to 200hz. Serial mice are stuck at... 40hz. Honestly, when I moved from a serial to a PS/2 mouse on my Pentium 150, and used PS/2Rate to bump my mouse sampling rate to 200, moving the cursor was like night and day.
See Peter's post above about constant low-latency CPU attendance. The relative burden that a serial mouse would place on P150 is much greater than, say, a 400MHz PII/K6-II processor or higher.

Because I always built my own computers vs. pre-built (Packard Bell, Compaq, Gateway, Acer, IBM, etc), I never used a PS/2 mouse until I built my first ATX system. By then, processors were relatively faster than in the old AT form factor days (e.g. P150) where PS/2 was offered either as an optional motherboard header requiring a PS/2 connector (rarely included with the motherboard) or not offered at all.

Sampling rate of serial mice has never been an issue for me. 40 frames per second delivers fairly smooth and fluid motion by any standard of perception. At a typical serial mouse driver setting of 200 Counts Per Inch (CPI), I would have to move the mouse at a rate of 25 inches (2 feet) per second to exceed its maximum tracking rate.

More concerning to me was the deficit of PCI-IRQs and the early problems with IRQ sharing, which still isn't perfected (due primarily to lazy or indifferent peripheral manufacturers). When I had no PCI-IRQs available, and two PCI devices were not getting along together on the same IRQ, it just seemed stupid for a relatively low-throughput device like a mouse to have a PCI-IRQ all to itself.

BTW, until very recently, PS/2 mice were indeed limited to a maximum report rate of 40 ~ 60 Hz.
 

Odeen

Diamond Member
Aug 4, 2000
4,892
0
76
Originally posted by: tcsenter

Sampling rate of serial mice has never been an issue for me. 40 frames per second delivers fairly smooth and fluid motion by any standard of perception. At a typical serial mouse driver setting of 200 Counts Per Inch (CPI), I would have to move the mouse at a rate of 25 inches (2 feet) per second to exceed its maximum tracking rate.

I'm not talking about samples per inch (spacial resolution), I'm talking about samples per second (temporal resolution)

While I will agree that 40-60hz is good enough, my eyes nearly bugged out of my head when I fixed the PS/2 port hookup on my Matsonic AT board with a Pentium 150 installed and used PS2Rate under Win95 to force my now PS/2 mouse to 200hz refresh rate. It was SMOOOTH, it was like the cursor was gliding across the desktop rather than skipping over it. IRQ sharing or not, I haven't looked back since.

A lot of it boils down to not being able to miss what you don't have.. I lived with 40hz sampling rate for a while and I didn't give it a second thought until I finally discovered PS2rate. Now I can't go back.
 

tcsenter

Lifer
Sep 7, 2001
18,895
548
126
I've had the exact opposite experience. Moving from serial to PS/2 on the same system has never resulted in a perceptible improvement. Moving from PS/2 to serial on more than a few systems has.

Though, this has a lot to do with individual factors such as monitor refresh rates and what, exactly, one utilizes a mouse for. I'm rarely ever looking at my mouse pointer. I'm usually looking at the area of the screen to which I want to move the mouse pointer, not following the pointer along the way.
 

Zepper

Elite Member
May 1, 2001
18,998
0
0
Abit tried the legacy-free idea and it went over like a skunk at a tea party... People like flexibility and it only adds a couple of bucks to the cost of the mobo, so why not?
. Besides, I'm still modeming and external serial is the best (particularly if you run multiple OSes)!
.bh.

There's the :sun: !
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Food for thought: The mouse cursor is drawn at the refresh rate of your monitor. Exactly that is the maximum packet transmission rate (your "temporal sampling rate") that makes the mouse cursor movement feel "smooth". Higher rates do nothing.

The very reason why this even exists on PS/2 is that this port is the oldest thing in the entire PC - a general purpose I/O pin controller dating back to 1977, an 8-bit ISA device with CPU-driven, non-DMA packet transmission!

Too many transmissions from this port eat into the bandwidth onto the system I/O path - all the way from the CPU over the chipsets out onto the remains of the ISA bus.

USB in turn delivers packets as they occur - with little CPU intervention, and via PCI DMA directly into system RAM.

And true, serial port mice cause less bus load than PS/2, simply because the COM port hardware is a few years longer and doesn't suck quite as much. USB is far superiour anyway.