64 pin SIMM (Mac IIFX) Specs?

Jeff Walther trag at io.com
Thu Sep 8 22:11:10 CDT 2005


>Date: Wed, 7 Sep 2005 18:37:39 +0100 (BST)
>From: ard at p850ug1.demon.co.uk (Tony Duell)

>>  If the DIN and DOUT are common on the MB

>My guess is that if they are linked, they will be linked by short tracks
>near the SIMM sockets. And you'd be linking them with short tracks on the
>SIMM PCBs. Considering that a light-nanosecond (in free space) is about 1
>foot, and that the velocity factor of a PCB is going to be around 0.6, I
>would guess about 8" of length difference would give 1ns of timing skew.
>I don't know how fast that amachine runs, but I would think you'd have to
>have a right stupid layout for using both pins to matter much.

Well, darn it, they aren't linked.  It turns out that the memory 
controller on the IIfx buffers the writes, so that the CPU can go do 
something else after only 2 cycles instead of 6, unless, of course, 
the next operation is a memory access.

So the the data lines from the SIMMs are routed to 74F573 D-type 
latches.  It appears that the SIMM's DIN comes from the latches' 
outputs and DOUT goes to the latches' inputs.   I have not confirmed 
it yet (must pull the PGA 68030 to get access to the data lines) but 
I suspect that the bidirectional databus goes to the input lines of 
the latches.

So, on a read, the data would just come out of the memory straight to 
the bidirectional data bus.   On a write the data bus would take data 
to the latches' inputs where it would be buffered, and the memory 
controller presumably has control of the LE (latch enable) and OE 
(output enable) lines to the latches.

So, if I tied DIN and DOUT together, it looks like there are at least 
two potential trouble spots.

1)  If the memory controller does not switch the latches to High-Z 
(OE inactive) upon completion of Writes, then  on a Read, the data 
from the memory would be in contention with the data still held by 
the latches from the previous write.

2)  While the memory controller is buffering a Write, that data would 
feed back from the latches, along the tied together In and Out to the 
bidirectional data bus.

So, for example, the CPU signals a Write.  The memory controller 
takes over, and the data is buffered and held in the latches.  The 
CPU is done in 2 cycles, but the MC will need 6 cycles total to 
complete the write.  Now the CPU goes off to do something like an IO 
operation during which it will also need the data bus.  However, 
because the In and Out pins are tied together, the bidirectional 
portion of the data bus is being fed the data from the previous Write 
operation for four more cycles while the memory controller completes 
the write operation.  This will interfere with any other use of the 
data bus.

So unless the data bus to the memory is seperate from the data bus to 
the rest of the computer, I believe that tieing the In and Out pins 
together will screw things up.

Does my reasoning seem sound?  What did I miss?  Was that clear?

Jeff Walther


More information about the cctalk mailing list