• Please review our updated Terms and Rules here

Anyone who has built up a microchannel system with sound, compact flash, ethernet, etc., was it worth it?

Even if the expansion card is little more than ISA adapted to MCA, does that mean it fully saturates an MCA bus, or would MCA be able to allocate only part of its bandwidth to the ISA card while it is active?
Did you mean to say "would MCA be able to allocate only part of its bandwidth to the ISA-derived card while it is active" ? There are a few different transfer types, all of which are derivatives of the basic transfer.

MCA - Basic Transfer Procedure gives more details. All cards, regardless of performance, sit on the MCA expansion bus. Some cards are busmasters, and they can transfer data to/from other cards. Some are PIO, meaning that the system master works that card. Now your curiosity about bandwidth is one that I have NEVER seen quantified. So, I'll toss out some generalities [we're all in this together...].

An ISA-derived card will most likely NOT be a busmaster. Though ISA did have the capability, it required specific things to work dependably... To head off the exceptions, if you have a single manufacturer with their implementation, a busmaster could work on ISA. But running a mix of system and busmaster might not work as intended.

Now we look at PIO. This card will most likely be the embodiment of the ISA-derived card. If the design was ported over without taking into consideration of the faster speed and reduced timing of MCA, this card could fare badly at anything over the 10MHz basic transfer. -OR- this card could need the extended cycles. Consider a SCSI-1 device on a SCSI-2 controller, something just fine at 5MHz can't respond at 10MHz so you have slowed the effective bandwidth of the SCSI bus down. It doesn't saturate the SCSI bus, it just takes longer.

MCA allocates bus access according to priority and in some cases, fairness. It can handle the slowpoke without dragging the whole bus down. But if the ISA-derived card is sloppy, it might not arbitrate as fast as the other cards. Or it might try taking too much bus time [7.8mS once granted, maybe extended to 15.6mS]. Once I tried to figure out bus overhead, and using the 10MHz basic transfer, I scientifically guess that the arbitration process adds 2% overhead to data transfer performance.

To be mercifully terse, MCA would allocate bus access to the ISA-derived card just like all cards on the MCA bus.
 
Did you mean to say "would MCA be able to allocate only part of its bandwidth to the ISA-derived card while it is active" ? There are a few different transfer types, all of which are derivatives of the basic transfer.

MCA - Basic Transfer Procedure gives more details. All cards, regardless of performance, sit on the MCA expansion bus. Some cards are busmasters, and they can transfer data to/from other cards. Some are PIO, meaning that the system master works that card. Now your curiosity about bandwidth is one that I have NEVER seen quantified. So, I'll toss out some generalities [we're all in this together...].

An ISA-derived card will most likely NOT be a busmaster. Though ISA did have the capability, it required specific things to work dependably... To head off the exceptions, if you have a single manufacturer with their implementation, a busmaster could work on ISA. But running a mix of system and busmaster might not work as intended.

Now we look at PIO. This card will most likely be the embodiment of the ISA-derived card. If the design was ported over without taking into consideration of the faster speed and reduced timing of MCA, this card could fare badly at anything over the 10MHz basic transfer. -OR- this card could need the extended cycles. Consider a SCSI-1 device on a SCSI-2 controller, something just fine at 5MHz can't respond at 10MHz so you have slowed the effective bandwidth of the SCSI bus down. It doesn't saturate the SCSI bus, it just takes longer.

MCA allocates bus access according to priority and in some cases, fairness. It can handle the slowpoke without dragging the whole bus down. But if the ISA-derived card is sloppy, it might not arbitrate as fast as the other cards. Or it might try taking too much bus time [7.8mS once granted, maybe extended to 15.6mS]. Once I tried to figure out bus overhead, and using the 10MHz basic transfer, I scientifically guess that the arbitration process adds 2% overhead to data transfer performance.

To be mercifully terse, MCA would allocate bus access to the ISA-derived card just like all cards on the MCA bus.
So it sounds like a card being taken more or less from an ISA design isn't necessarily a huge problem?

You mention bus master and "other cards" - I assume this means "other devices on the MCA bus" including system memory and that there is no other way to achieve DMA?
 
MCA can do what 40MBs @32 bit? Between video and hard disk there is probably enough bandwidth left for 100Mb ethernet.

There are 10/100 Mb ethernet cards for 16-bit ISA, which could barely deal with that if nothing else was using the bus.
The 3Com 3C515. Nice it can connect at 100Mb, but you only get something like 20Mbps out of it. I guess there was a market for it.
 
The 3Com 3C515. Nice it can connect at 100Mb, but you only get something like 20Mbps out of it. I guess there was a market for it.
That's a thing. Looking at period adapters, oohhh... this can connect to a 100Mbit network... but the chipset is 10Mbit...
 
So it sounds like a card being taken more or less from an ISA design isn't necessarily a huge problem?

You mention bus master and "other cards" - I assume this means "other devices on the MCA bus" including system memory and that there is no other way to achieve DMA?
A well-behaved ISA derived design should respond well enough to an MCA system. The MCA bus is set up to operate level-triggered, but if an ISA-derived card uses edge triggered interrupts, the IRQ circuitry converts it to level-triggered. Problems arise when a card of any derivation uses logic that is too slow. Something that works fine on a 286-10 Model 50 might choke on a newer system, where it cannot meet the timing window for arbitration.

Micro Channel Bus Tutorial (by Eric Schlaepfer) This covers lots of areas. For more [or less] detail, try the below links.

MCA - DMA Transfer Procedure explains the mechanism.

Level-Sensitive Interrupts more details

Bus Master Data Transfers ditto.

The Micro Channel versus the AT Bus ditto

So, with some basics identified, I'm not sure ISA-derived DMA would work. Possible, MCA would just assign a DMA-level to service it. The card says "I want DMA 3" and MCA picks an unused level [out of 15] to service it. I'm not smart enough to figure out either "adding" DMA to a card at component level, -OR- having a Busmaster provide the DMA functionality, and that option is WAAAY outta my league.

"other devices on the MCA bus" including system memory" yes, this is correct. All properly equipped cards on the MCA bus that have DMA circuitry can use the system DMA master. MCA also provides DMA support to system memory AND I/O [serial, parallel]. So... if your card IS for MCA, it will have the MCA edge connector [duh...] and it will be made to function at the speeds [timing windows] of the system that it was announced for.

So... it depends. If the card is PIO, and you have a 386 or 486, there should be enough clock cycles for the CPU to get good performance. What card did you have in mind?
 
Last edited:
Back
Top