Re: TerribleFire accelerator for the QL accelerator card
Posted: Wed Dec 13, 2017 6:49 pm
Do you know what the FPGA uses to be able to have multiplcation completed in 1 cycle ?
I am intrigued, really.
I am intrigued, really.
RIP Sir Clive Sinclair 1940 - 2021
https://qlforum.co.uk/
Wow !Peter wrote:It has socalled "sysDSP" blocks for high performance multiply and accumulate. Which by the way are far from being used to full potential at 40 MHz and only 16 bit.
Isn't there a speed benefit to work with dwords instead of words ? (Yes if loading a dword is faster than loading twice a word).tofro wrote:There's no need for masking, shifting and other bit-fumbling in the linear hi-color modes of the Q68 - A pixel is either a byte or a short, and all of it is colour. Working with sprites is just moving memory around, as fast as possible.
(Still nice to have fast multiplication, though)
Tobias
There is one, yes. If you have 2 bytes to move around, use a word, if it's 4, move a long. But moving one single byte is still way faster (because it is only one instruction) than mask out the high-order bits of a long and OR it into the screen as, for example, a long (which is at least two instructions, probably even more,... what you probably need to do on the ARM).Zarchos wrote:Isn't there a speed benefit to work with dwords instead of words ?tofro wrote:There's no need for masking, shifting and other bit-fumbling in the linear hi-color modes of the Q68 - A pixel is either a byte or a short, and all of it is colour. Working with sprites is just moving memory around, as fast as possible.
(Still nice to have fast multiplication, though)
Tobias
Loading the background is not always necessary. It is true there are no 8 bit screen modes on the Q68, and I had my routines on the Archie in mind, which is a computer working fast on 32 bit aligned addresses, with 32 bit words.tofro wrote:There is one, yes. If you have 2 bytes to move around, use a word, if it's 4, move a long. But moving one single byte is still way faster (because it is only one instruction) than mask out the high-order bits of a long and OR it into the screen as, for example, a long (which is at least two instructions, probably even more,... what you probably need to do on the ARM).Zarchos wrote:Isn't there a speed benefit to work with dwords instead of words ?tofro wrote:There's no need for masking, shifting and other bit-fumbling in the linear hi-color modes of the Q68 - A pixel is either a byte or a short, and all of it is colour. Working with sprites is just moving memory around, as fast as possible.
(Still nice to have fast multiplication, though)
Tobias