[comp.sys.amiga] What changed

daveh@cbmvax.UUCP (11/17/87)

in article <5937@jade.BERKELEY.EDU>, mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) says:
> 
> In article <2759@cbmvax.UUCP> daveh@cbmvax.UUCP (Dave Haynie) writes:
> <in article <5883@jade.BERKELEY.EDU>, mwm@eris.BERKELEY.EDU (Mike (My watch has windows) Meyer) says:
> <> Which, so I've been told, will have *yet another* bus. Maybe compatable
> <> with Zorro ][, maybe not.
> <
> <The bus has NEVER changed, only the form-factor.
> 
> Except for a few minor lines, and the name. Or was I hallucinating
> when I saw a claim that processor cards that worked in Zorro I
> wouldn't work in Zorro ][.

I should clarify this, as it is a point of confusion between Zorro I and 
Zorro II.  The difference is three interrupt lines.  The original Zorro I,
as an extension of the expansion edge of the A1000, had available on it
three multiplexed interrupt lines, /IPL0 thought /IPL2.  There lines have
exactly one use; as input to a 68000 type device.   Even though the Amiga
OS supports shared interrupts, the 86 pin connector only brought out two
non-multiplexed, sharable interrupts; /INT2 and /INT6.

Along comes the A2000.  This lack of accessible interrupts is seen as a 
problem with the expansion bus as-is.  Additionally, it's realized that,
based on the DMA architecture of the expansion bus, additional coprocessor
cards have lots of problems with them.  The only reason for supplying /IPL0
though /IPL2 on the expansion bus is coprocessing.  On the A1000, it was
essential to bring these lines out, or you wouldn't have been able to add
on a 68020 card.  But inside there was a better way.

Now on to the DMA problem.  The Amiga bus uses an extension of the 68000 DMA
arbitration scheme to handle bus arbitration.  Basically, each PIC has a bus
request output and a bus grant input.  If a PIC wants the bus, it asserts its
/BR, which goes into the BUSTER chip.  There, each slot's /BR is sampled, and
at the same time a /BR output from the BUSTER goes to the 68000.  The /BG
signal comes from the 68000 into BUSTER as soon as the 68000 is ready to 
give up the bus.  At this point, the slot with the highest (fixed) priority 
gets it's individual /BG asserted.  

Anyway, that sound good and well, and it is for things like DMA hard disks and
similar devices that do DMA burst.  However, a coprocessor card (like a 68020)
doesn't do DMA burst; it probably wants to get on the bus and stay there,
only to relinquish the bus for DMA from hard disks and similar things.  The
problem is that if one device takes over the Amiga bus, it blocks all other
devices.  So a 68020 card on the 100 pin bus could real easily block out all
other expansion bus DMA.

So the A2000 has a special 86 pin slot, called the Coprocessor Slot.  This
slot looks very much like the 86 pin edge of the A1000, but has a few extra
signals.  Three of these signals allow a device sitting in the Coprocessor
Slot to request the bus from the 68000, then have all bus requests directed
to it, thus not blocking expansion bus DMA. 

> 	<mike

-- 
Dave Haynie     Commodore-Amiga    Usenet: {ihnp4|caip|rutgers}!cbmvax!daveh
   "The B2000 Guy"              PLINK : D-DAVE H             BIX   : hazy
    "Computers are what happen when you give up sleeping" - Iggy the Cat