It takes about a microsecond to do anything over PCI Express, and the interface complexity is impressive. I don't know the minimum transaction time for USB, but it must be a lot more. What was the basic i/o time on ISA? It was under a microsecond, I think, even on an
8088! With a few thousand times the compute power, a modern CPU is no faster doing simple i/o.
Pity that a modern x86, with a thousand or two pins, doesn't have a usable 8-bit parallel port, or even a few pins worth of uncommitted SPI.
Have you ever read the original 488 spec document? It's insane. The state diagrams are boggling, and the verbiage is weird: I read it for a while before I figured out that the word "message" referred to a simple logic level on a wire.
--
John Larkin Highland Technology Inc
www.highlandtechnology.com jlarkin at highlandtechnology dot com
Precision electronic instrumentation
Picosecond-resolution Digital Delay and Pulse generators
Custom timing and laser controllers
Photonics and fiberoptic TTL data links
VME analog, thermocouple, LVDT, synchro, tachometer
Multichannel arbitrary waveform generators
ISA bus 8MHz and needed a couple of clocks per access from what I remember from many years ago playing with the parallel port ,which was basically a register on the ISA bus, you could toggle a pin at maybe 1MHz
I think MACH3 (a cnc controller), can control steppers at up to something like 100KHz on and old school parallelport under windows
I believe it has a I2C port for memory and stuff on the motherboard is probably part of the chips set just like pretty much everything else
I sure it done for a reason, not much point in slowing down a 3GHz cpu just to get a few io pins, when 10 out 10 will be running an OS that adds many ms latency anyway
Now, the original parallel port was of course a couple gates on the ISA bus. In later days, it was placed on an ISA bridge, and chucked inside an ASIC or whatever the chipset happened to be. Later still, actual PCI parallel port devices showed up, often also in the chipset (IIRC, my desktop computer shows its parallel port is on the PCI bus, not the ISA bridge -- which is still used for the ancient IBM-compatible hardware: DMA controller, PIT (system clock) and so on). Now, PCI runs faster than ISA... does this mean a PCI parallel port is clocked at 33MHz, or is it clocked down to 8MHz or less to maintain timing compatibility? If so, does it enforce wait states so that data can't be shoved at it too fast?
Disclaimer, this has nothing to do with PCIe.
Tim
--
Deep Friar: a very philosophical monk.
Website: http://webpages.charter.net/dawill/tmoranwms
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.