Path: utzoo!utgpu!cunews!cunews2!bnrgate!bigsur!bnr-rsc!mascot@bnr.ca From: mascot@bnr.ca (Scott Mason) Newsgroups: comp.sys.amiga.hardware Subject: Re: A3000: 16MHz vs. 25MHz Keywords: accelerator, amiga, 68040, 68030, 68000, replacement, conversion Message-ID: <4540@bnr-rsc.UUCP> Date: 21 May 91 19:51:48 GMT References: <21601@cbmvax.commodore.com> <4520@bnr-rsc.UUCP> <21745@cbmvax.commodore.com> Sender: news@bnr-rsc.UUCP Distribution: comp Organization: Bell-Northern Research, Ottawa, Ontario, Canada Lines: 39 In article <21745@cbmvax.commodore.com> daveh@cbmvax.commodore.com (Dave Haynie) writes: :In article <4520@bnr-rsc.UUCP> mascot@bnr.ca (Scott Mason) writes: : :: [ Me, understating the 68030->68000 interface, like many Amiga :: HW hackers :-) ] : :It's a little more complex than that. : [ Dave, commenting about synchronous dependancies for full 68000 : compliance ] Fortunately, I have only had to deal w/ async slaves. The Amiga seems to have taken maximum benefit from sync operation to the 68000, and must place the most stringent requirements of any target on the timing of an accelerator, even an accelerated 68000. :: [ 68040 to 68030 interface discussed] :: - dynamic bus sizing for 8-, 16-, and 32-bit ports : :That's a few more buffers than a 68030->68000 interface, but it's not really :that difficult. Handling the 32 and 16 bit ports doesn't take any more parts :than the full 68030 to/from 68000 conversion case. The 8 bit ports on the :A3000 are few, so in theory you could even keep the 68030 active to service :8 bit ports if you wanted to. Though you really need only one more buffer :to service that. Actually, this is more than just a matter of multiplexing the bytes around. The 68040 expects to run just one cycle for any fetch. The 68030 will run up to four bus cycles to complete a fetch. The bus interface must detect cases when the port size was smaller than the access size, and execute multiple bus cycles to assemble the data. :: - retry mechanism handled independantly of the 68040 : :Retry support is good for a complete conversion, but the A3000 doesn't use :retry anywhere, so you could get by without it. Once you have a complete dynamic bus sizing, you will have the DMA controller needed for retry support. --