DSP execution time

ob1 said:
The DSP can handle multiple operations simultaneously.

Well, basically the DSP is just a multiply-accumulate unit that is always running. All that the opcode does is determine data flow, alu operation modes and pointer increment.

Finding the right task that keeps it as busy as possibly is quite difficult. You can waste a lot of instructions (ONLY up to 256, although you can DMA new opcodes) with condition testing, program control flow, subprograms...with everything that is not multiply accumulate.

If it would run at full speed (not half), would have more instruction storage (not just 256) and feature a division unit, then it would be a beast.

I've been thinking (concerning the position: between A, B and CPU bus) that some on-the-fly data conversion, like audio/data decompression would fit quite perfectly. For streaming and processing data from CD directly into sound RAM or video RAM.
 
Runik said:
Just a remark : be careful with DSP docs as they're full of mistakes and typos ;) (like every Sega doc translated from japanese to english :p )

Indeed. They're also horribly wrong in some areas. There's also a few undocumented behaviors not in the docs.
 
RockinB said:
DSPSIM.EXE and DSPASM.EXE. There is even a homebrew disassembler out there..


Fun (if pointless) fact: Dennis Caswell who presumably wrote the DSP assembler and simulator (his name is in the "Manual Addenda") also wrote Mission Impossible for the C64. (The disassembler was written by me. Unfortunately I was too lazy to follow up with an assembler.)
 
Back
Top