] 
] -----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/)
****

Reply via email to