]
] -----Oorspronkelijk bericht-----
] Van: Alex Wulms <[EMAIL PROTECTED]>
] Aan: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
] Datum: donderdag 18 juni 1998 0:19
] Onderwerp: Re: Turbo R?
]
]
] :> In turbo R the R800 runs on 7MHz, the Z80 on 3.5MHz. But the R800 is a
] lot
] :> faster than 7MHz Z80 because it takes less clockticks per instruction and
] :> it has built-in cache.
] :I wish it indeed did have a cache :-(
]
] You must agree it's some sort of. Okay, it works different, but the
] principle... It's quite the same -> only changing the low-partof the
] PC-register.
No. It is absolutely not the same. The cache is a FAST memory between the CPU
and all other memory subsystems, that holds all recently accessed data. If
the MSX turbo R would have had a true cache, there would have not been any
need for a R800 ROM/R800 DRAM mode split-up. In most cases the data would
have come out of the cache anyway, so it would not have mattered for the
performance if the data original came from the DRAM, the internal ROMS or an
external cartridge!
] Quite clever of those designer-guys.
I'm sorry but I can't even agree on this. Especially since they implemented
it very stupid. They only use the fast page access method (that is how it is
called, FP for short) if the adress is generated from the program counter
register. And even in that case they do not use it if you use a jump.
For example, in the following program fragment there will be a total of 905
memory
references. The FP access method will be used for only 406 of them! All
memory accesses in the code fragment will occur in the same page (address
rage 0100h - 01ffh), so the FP access method could have been used in all
cases.
org 0100h
ld hl,0180h ; FP will be used to fetch instructions and arguments
ld b,100 ; FP will be used to fetch instructions and arguments
loop: ld a,(hl) ; First time, FP will only be used for instruction, not for
data
; Other times, FP will not be used at all (because of the
djnz)
add a,10 ; FP will only be used for argument, not for instruction
ld (hl),a ; FP will only be used for instruction, not for data
inc hl ; FP will not be used
djnz loop ; FP will be used to fetch instruction and argument
Please note that this example is not as unrealistic as it seems. In reality,
the MSX turbo R is only 5 to 6 times as fast as a standard MSX machine.
However, based on the specifications of the R800 (clockspeed, number of clock
ticks per instruction), compared to the specifications of the Z80, you would
expect that the MSX turbo R is approximately 10 times as fast as a standard
MSX machine. This difference can be explained completely by the fact that the
R800 has to wait for the memory way too much!
Best regards from a slightly frustrated MSX turbo R owner :-(
Alex
--
Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever
See my homepage for info on the *** XSA *** format
http://www.inter.nl.net/users/A.P.Wulms
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****