Re: Raven. A homemade Atari-like computer
Posted: 18 May 2026 18:58
Yes, I agree, it makes sense to have it on by default.
The difference is not at all the same as you'll be used to from CT60 but still very much worth it.
Synthetic write benchmarks will likely show CB as slower than WT but on average and running applications it'll be a win.
The cache-hit performance offsets the worst-case penalites and on average you'll end up on top.
Less on top, on average, than on CT60 but still so.
Not sure if this is at all interesting;
I'm assuming CT60 can burst write cachelines in the style of x,y,y,y where x is the longer initial waitstate and y are faster subsequent bursts.
Raven, being the scruffy black sheep of the birds, of which i have no shame :) , will do x,x,x,x for that same cacheline write.
Actual numbers are surely different but lets use 4,1,1,1 for illustrative purpose.
Worst case CB penalty = you only write 4 bytes to a line, before it is evicted because cpu needs it for somewhere else.
= you paid for 16bytes of bus access for 4bytes of data
CT60 ends up with less of a CB penalty here:
Sequence of linear longword writes.
CT60 benefits. Raven does not.
In short, Raven does benefit massively from CB cache-hits, as in writing to same mem locations several times before their line ends up evicted, but only that. It does not share the other benefit, and the worst-case penalty is larger.
Luckily, programs have a habit of writing to the same memory locations rather than randomly and scattered all over the place.
I run mine with CB for the TT-RAM region and it probably makes sense if that was the default setting.
The difference is not at all the same as you'll be used to from CT60 but still very much worth it.
Synthetic write benchmarks will likely show CB as slower than WT but on average and running applications it'll be a win.
The cache-hit performance offsets the worst-case penalites and on average you'll end up on top.
Less on top, on average, than on CT60 but still so.
Not sure if this is at all interesting;
I'm assuming CT60 can burst write cachelines in the style of x,y,y,y where x is the longer initial waitstate and y are faster subsequent bursts.
Raven, being the scruffy black sheep of the birds, of which i have no shame :) , will do x,x,x,x for that same cacheline write.
Actual numbers are surely different but lets use 4,1,1,1 for illustrative purpose.
Worst case CB penalty = you only write 4 bytes to a line, before it is evicted because cpu needs it for somewhere else.
= you paid for 16bytes of bus access for 4bytes of data
CT60 ends up with less of a CB penalty here:
Code: Select all
CT60 CB: 4,1,1,1 = 7
CT60 WT: 4 = 4
RAVN CB: 4,4,4,4 = 16
RAVN WT: 4 = 4CT60 benefits. Raven does not.
Code: Select all
CT60 CB: 4,1,1,1 = 7
CT60 WT: 4,4,4,4 = 16
Ravn CB: 4,4,4,4 = 16
Ravn WT: 4,4,4,4 = 16Luckily, programs have a habit of writing to the same memory locations rather than randomly and scattered all over the place.
I run mine with CB for the TT-RAM region and it probably makes sense if that was the default setting.