Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Dec 1997 01:15:50 +0000 (GMT)
From:      Andrew Gordon <arg@arg1.demon.co.uk>
To:        Mike Smith <mike@smith.net.au>
Cc:        FreeBSD Hackers <hackers@freebsd.org>
Subject:   Re: 3com 3c509 card 
Message-ID:  <Pine.BSF.3.91.971218005109.17820A-100000@server.arg.sj.co.uk>
In-Reply-To: <199712170334.OAA01300@word.smith.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 17 Dec 1997, Mike Smith wrote:
> > If I can't route 4 ethernet interfaces with SMC Ultras then a rigorous
> > academic exercise has no value for my purposes.  I just want a rough
> > projection that's reasonably accurate.
> 
> "AT Bus Design" (Edward Solari, Annabooks), p 6-101, quoted without 
> permission, excerpt from table 6-3: ISA AND E-ISA PLATFORM STANDARD 
> ACCESS MEMORY CYCLE LENGTH

Note that a _standard_ cycle isn't the fastest possible cycle: 16-bit
memory cycles have one wait state, but a board can generate 0 w/s
cycles by holding NOWS* low.  Since this is only applicable to memory
cycles, this is the reason the WD/SMC boards (memory mapped) used
to be considered superior to NE2000 clones (I/O cycles, hence 1 w/s min).

> 
> BUS OWNER	CYCLE BEGINS	CYCLE ENDS	CYCLE	CYCLE
> 						SIZE	LENGTH
> ---------------------------------------------------------------
> PLAT FORM (sic)	.5 TCLK TO	END COMMAND	 8 BITS	6 TCLK
> CPU		ACT BALE	ACT PERIOD	16 BITS	3 TCLK
> 
> For reference, TCLK is the period of BCLK, ie. 1 TCLK ~= 120ns for the 
> standard 8.33MHz BCLK.
> So a 16-bit memory cycle on the ISA bus takes at least 360ns.
> If you flip that the other way around and account for the other .5 TCLK 
> idle before BALE can go active again,

??? You appear to be double-counting here - that 0.5 cycle before BALE
is included in the 3 cycles (or 2 cycles at 0 w/s).  After all, since
the polarity of BCLK doesn't change, the interval between successive
accesses (assuming no other activity on the ISA bus) _must_ be an
integer number of cycles, so the answer can't possibly be 2.5.

>  you get about 2.5 16-bit cycles 
> per microsecond, or about 5MB/sec ISA memory bandwidth.

If you can actually generate back-to-back 16-bit 0 w/s memory cycles,
you get 8Mbyte/sec.  Ability to do so presumably depends substantially on 
the behaviour of the ISA bridge behaviour in the chipset on modern 
machines; the relationship of the ISA bus to CPU cycles is non-obvious.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.91.971218005109.17820A-100000>