[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Recode to Play MP3?
On May 25, 5:51 am, "Michael J. Mahon" <mjma...@aol.com> wrote:
> mdj wrote:
> > On May 24, 10:25 am, "Michael J. Mahon" <mjma...@aol.com> wrote:
>
> >>>The Transwarp only writes through when it has to (to the above
> >>>mentioned areas)
>
> >>That's interesting... So most of the RAM is "stale" when running
> >>a TransWarp? I wonder how much speed improvement this buys them?
>
> > It's difficult to say. The Transwarp certainly performs better at a
> > given speed than the Zip, but this is primarily due to never having to
> > invalidate cache for Main/Aux/ROM.
>
> The Zip has 8KB of direct-mapped cache, with 8-bit tags, so there are
> 13 real address bits for the cache, and 3 bits (per 64KB) in the tag,
> leaving 5 additional tag bits, to support up to 32x64KB or 2MB of
> RAM. It tracks RAMworks-style AUX bank switching.
>
> Since it's write-through, there's never a "dirty" cache byte, and
> the cache is only used to accelerate reads (which are the vast majority
> of accesses).
>
> Cache is never invalidated, but when executing "synchronous sequences"
> a cache miss is forced for both reads and writes.
>
> > Certainly in any application where there's a lot of moving about of
> > data, like say a large AppleWorks word processor document, the
> > Transwarp feels a little snappier then a 4Mhz Zip.
>
> Some timing tests may be in order...
>
> There's no doubt that the Zip wins big on the "bang per milliwatt"
> scale. ;-)
That's certainly true :-) Ok, so I devised a small 'memory bandwidth'
test which simply copies then restores the zero page to an arbitrary
memory page 256 times, multiplied by the value in memory location $08.
The destination page is set in locations $06-$07.
With the iteration counter in $08 set at $10, it's moving a megabyte
of data to the specified location and back again.
Unaccelerated Apple II: 34 sec
Transwarp Apple II to location $6000: 10.1sec
Transwarp Apple II to location $2000: 11.2sec
So the Transwarp shows a 9.8% improvement in this test when not
writing to a 'write-through' memory location.
It would be interesting to see how the Zip Chip fares in this test at
both 8Mhz and 4Mhz, and if its programmable speed can get it
reasonably close to 3.6Mhz (which the Transwarp runs at) it would be
quite interesting to see this too.
Code is attached. Not particularly efficient and uses 65C02 opcodes
(PHX/PLX) which I was too lazy to remove, but since the accelerators
it's intended to test are 'C02 equipped I didn't see that as a
problem.
Matt
----BEGIN CODE----
1 XC
2 DEST EQU $06
3 COUNT EQU $08
4 BUP EQU $09
5 ORG $300
0300: A5 08 6 INIT LDA COUNT
0302: 85 09 7 STA BUP
0304: A2 00 8 COPY LDX #00
0306: DA 9 OLOOP PHX
0307: A0 00 10 TFER LDY #$00
0309: A2 00 11 LDX #$00
030B: B5 00 12 CLOOP LDA $00,X
030D: 91 06 13 STA (DEST),Y
030F: E8 14 INX
0310: C8 15 INY
0311: D0 F8 16 BNE CLOOP
0313: A0 00 17 LDY #$00
0315: A2 00 18 LDX #$00
0317: B1 06 19 RLOOP LDA (DEST),Y
0319: 95 00 20 STA $00,X
031B: E8 21 INX
031C: C8 22 INY
031D: D0 F8 23 BNE RLOOP
031F: FA 24 PLX
0320: E8 25 INX
0321: D0 E3 26 BNE OLOOP
0323: C6 08 27 DEC COUNT
0325: D0 DD 28 BNE COPY
0327: A5 09 29 FINAL LDA BUP
0329: 85 08 30 STA COUNT
032B: 60 31 RTS
----END CODE----