>Date: Tue, 01 Oct 2002 16:14:25 -0700
>From: "Robert P. McAllister" <[EMAIL PROTECTED]>

>The lack of the A/V module is the only gripe I have about the 9600. Why Apple
>couldn't have included this capability, considering how expensive the 9600
>originally sold for, is beyond me. Though I imagine this deficiency 
>can be made up
>with the addition of a card.

This is difficult to explain without diagrams.   You may wish to 
examine the developer notes for the 7500, 8500 and 9500 which include 
block diagrams of the motherboard busses.   The 7600, 8600 and 9600 
are organized the same way.  If you go to Apple's web page and choose 
site map and go to developer support and then "hardware" it's not too 
hard to find.

The top bus in these machines is the CPU or memory bus.   This bus 
consists of 32 address lines/wires, 64 data lines/wires (32 bit 
addressing, 64 bit memory width, no it really isn't 128 bits)  plus 
some additional lines for bus arbitration and cache coherency and 
such.  Bus arbitration is simply deciding which device talks and 
which device listens on the bus at a given time.  Obviously, you 
don't want two devices trying to put data on the same wires at the 
same time.

The devices that live on the CPU bus are the CPU(s), the memory 
controller (Hammerhead, 343S1190), the PCI controller (Bandit, 
343S0020), and in the case of the 7500 and 8500 the video controller 
(CHAOS).  I'm not sure of the chip number for CHAOS.

All PowerSurge machines (the family that includes x500, x600 machines 
is called PowerSurge) have at least one CPU, a Hammerhead and a 
Bandit on the CPU bus.   You can see how the memory controller and 
CPU are essential.  The Bandit is sort of an accessory, since you 
could live without PCI slots in theory.  It turns out Bandit is also 
essential but that's unimportant for now.

All the machines Apple shipped have just two "accessories" on the CPU 
bus.   The 9500/9600 machines add a second Bandit.   The 
75/85/76/8600 machines add a CHAOS video controller but stick with a 
single Bandit.   The PCC PowerWave just has a single Bandit--no extra 
accessories on the CPU bus.  This is also true of the Umax S900/J700.

What you are asking for might have been feasible.  Apple designed the 
CPU bus in PowerSurge to support up to four "accessories".  In theory 
they could have built a machine with four Bandits and therefore four 
PCI busses and thus, at least 12 PCI slots.  That would have been 
something.

They could also, in theory, have built a machine with two Bandits and 
a CHAOS (video controller) on the CPU bus, which is what you are 
wishing for.   Or three Bandits and a CHAOS on the CPU bus.

In practice there are issues.  First, every device on the CPU bus 
must have its own arbitration lines.   When the voltage on the Grant 
arbitration wire is high, it tells the device it is alright to talk. 
So each device has access only to its own arbitration 
wires--otherwise it would get confused about when it's okay to talk. 
So there must be a separate set of arbitration wires for each device.

All the arbitration wires originate at Hammerhead, the memory 
controller, and as it turns out, the CPU bus arbiter.    Hammerhead 
tells everyone else when it's okay to talk using these arbitration 
wires.

So how many sets of arbitration wires come out of Hammerhead? 
That's the first limit on how many devices you can put on the CPU 
bus.  There may not be enough arbitration lines on Hammerhead to add 
the extra devices you want.

The second limitation is the interrupt lines.   Each PCI slot in a 
Mac has its own interrupt wire.  All the interrupt wires run to the 
Grand Central chip (343S1125), which collects them and informs the 
CPU.  The built-in video also uses some interrupt lines.  There are a 
limited number of interrupts available on Grand Central.   Are there 
enough interrupts available for both the extra three PCI slots and 
the built-in video?

The third issue is just the board space.   Take a close look at a 
7500 or 8500 board.  The things are crowded.  The built-in video and 
capture add four or five large chips.   There's no room on those 
things for a second PCI bus.   True you could build a larger board, 
but that gets expensive.   I'm sure that the 7500 and 8500 
motherboards actually cost Apple more than the 9500 board despite the 
relative retail prices.  Their margin on the 9500/9600 must have been 
enormous.

The fourth issue is one I don't understand very well.   The 
arbitration I mentioned earlier which is controlled by Hammerhead is 
actually quite complicated.  There is an algorithm in Hammerhead that 
handles it.  However, the address and data busses are treated 
separately, and certain transactions may be reordered, and it must 
all be handled so that one device doesn't modify cache or memory 
space that another thinks hasn't been changed.   When you add 
additional devices to the bus, this arbitration becomes still more 
complex.

The reason that the 9500/9600 has a problem with G4s is an 
arbitration issue.  From a friend of mine:    "What happens is that 
the cpu has modified data in its cache that a pci device on either 
bandit is trying to get, so the CPU ARTRYs the transaction and 
expects to get the bus, but Hammerhead gives the bus to the other 
bandit, which is ARTRY'd by the cpu, and Hammerhead gives the bus 
back to the original bandit, never letting the CPU get the bus.  This 
continues indefinitely."

In other words, CPU bus arbitration already doesn't work quite right 
in these machines.  Adding another device to the bus might have 
broken it completely.

The final reason is a marketing reason.  Apple probably figured that 
if someone wanted a 9500/9600 and wanted video capture, they could 
just add some PCI cards.   Building a machine with both would appeal 
only to the small portion of the market that wanted both a very 
expandable machine and limited video capture.  Most folks would opt 
for an 8500 or a 9500 and avoid the more expensive composite machine.

BTW, some of those questions that sound rhetorical are real questions 
I'd like answers to.  So, if anyone knows how many interrupts are 
available on Grand Central, or how many sets of arbitration lines are 
available on Hammerhead, don't be shy.  Let me know, preferably along 
with a pinout of the chips.  :-)

The Umax S900 has a secondary CPU slot which is just begging for 
someone to build a card for it.  All the CPU Bus signals are 
available in that slot, so one could, in theory, put a Bandit or two 
or three on a card that plugs into that slot and add a second, and 
maybe even a third and fourth PCI bus to the S900.    But first one 
would have to find the arbitration lines for the extra Bandits, and 
the interrupt lines for the extra PCI slots, if they exist.

Jeff Walther

-- 
PCI-PowerMacs is sponsored by <http://lowendmac.com/> and...

 Small Dog Electronics    http://www.smalldog.com  | Refurbished Drives |
 -- Sonnet & PowerLogix Upgrades - start at $169   |  & CDRWs on Sale!  |

      Support Low End Mac <http://lowendmac.com/lists/support.html>

PCI-PowerMacs list info: <http://lowendmac.com/lists/pci-powermacs.shtml>
  --> AOL users, remove "mailto:";
Send list messages to:   <mailto:[EMAIL PROTECTED]>
To unsubscribe, email:   <mailto:[EMAIL PROTECTED]>
For digest mode, email:  <mailto:[EMAIL PROTECTED]>
Subscription questions:  <mailto:[EMAIL PROTECTED]>
Archive:<http://www.mail-archive.com/pci-powermacs%40mail.maclaunch.com/>

Using a Mac? Free email & more at Applelinks! http://www.applelinks.com

Reply via email to