Difference between revisions of "DSP"
From xboxdevwiki
(I've measured memory sizes of the Xbox DSPs using a program) |
(Confirmed using a small test program which would grow and eventually stop working as it exceeds program memory) |
||
Line 13: | Line 13: | ||
|- | |- | ||
! GP | ! GP | ||
− | | 4096 | + | | 4096 x 24-bit |
| 4096 x 24-bit | | 4096 x 24-bit | ||
| 2048 x 24-bit | | 2048 x 24-bit | ||
|- | |- | ||
! EP | ! EP | ||
− | | 4096 | + | | 4096 x 24-bit |
| 3072 x 24-bit | | 3072 x 24-bit | ||
| 256 x 24-bit | | 256 x 24-bit |
Revision as of 18:40, 23 July 2018
The DSPs in the APU are probably "Parthus MediaStream" DSP core (DSP24210/DSP2420?).
Those are similar to Motorola DSP56362 (DSP56300 Family). If so, the datasheet can be found at http://www.nxp.com/docs/en/data-sheet/DSP56362.pdf (Also see "Documentation" section in said datasheet for the related documentation)
Memory Size
Program RAM Size | X Data RAM Size | Y Data RAM Size | |
---|---|---|---|
GP | 4096 x 24-bit | 4096 x 24-bit | 2048 x 24-bit |
EP | 4096 x 24-bit | 3072 x 24-bit | 256 x 24-bit |
Other datasheets for similar DSPs suggest that the memory sizes might be different if instruction cache or switch mode are toggled. It is currently unknown if the DSPs in the Xbox APU support a similar feature[FIXME].
DMA
This section is very incomplete and not much was tested on hardware either
Sample formats:
- 0x0 = 8 bit
- 0x1 = 16 bit
- 0x2 = 24 bit in MSB
- 0x3 = 32 bit
- 0x4
- 0x5
- 0x6 = 24 bit in LSB (also endianess switched?[citation needed])
- 0x7
Buffers:
- 0x0 = FIFO0
- 0x1 = FIFO1
- 0x2 = FIFO2[citation needed]
- 0x3 = FIFO3[citation needed]
- 0x4
- 0x5
- 0x6
- 0x7
- 0x8
- 0x9
- 0xA
- 0xB
- 0xC
- 0xD
- 0xE = Circular
- 0xF