Editing Tachyon

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
[[File:PSP CXD2962GG.jpg|thumb|PSP CXD2962GG]]
Tachyon is the PSP main CPU. It uses MIPS32 architecture.
 
<b>Tachyon</b> is the codename of the PSP main CPU SoC IC. It is a Sony custom-made LSI which holds the main CPU (Allegrex), the VFPU coprocessor, the Media Engine CPU and its embedded DRAM, the Graphics Engine, the AVC decoder, the Virtual Mobile Engine DSP, the [[Kirk]] and [[Spock]] crypto engines, and the 4KB embedded mask ROM which holds the [[PRE-IPL|iplloader]] and routines to boot into service mode.
 
Tachyon has one primary CPU core which is responsible for running the [[XMB]] and games, and a second CPU core (<i>[[Media Engine]]</i>) which implements the audio and video decoding functionality of the PSP.
 
== Main Core "SC" ==
 
See [[Allegrex]].
 
== Media Engine ==
 
See [[Media Engine]].
 
== Virtual Mobile Engine ==
 
See [[Virtual Mobile Engine]].
 
== Graphics Engine ==
 
: <i>See main article: <b>[[Graphics]]</b></i>
 
== Memory mapping ==
 
This memory mapping is shared by the SC, the GE & the ME, except the VRAM which is accessible only by the SC and the GE.
 
{| class="wikitable"
|-
! Start !! End !! Size !! Description
|-
| 0x00010000 || 0x00013FFF || 0x00004000 (<i>16KiB</i>) || Allegrex Scratchpad
|-
| 0x04000000 || 0x041FFFFF || 0x00200000 (<i>2MiB</i>)  || Graphics Engine VRAM
|-
| 0x08000000 || 0x087FFFFF || 0x00800000 (<i>8MiB</i>)  || Allegrex Kernel memory (RAM)
|-
| 0x08800000 || 0x09FFFFFF || 0x01800000 (<i>24MiB</i>) || Allegrex User memory (RAM)
|-
| 0x1C000000 || ?          || ?                        || Hardware registers
|-
| 0x1FC00000 || 0x1FDFFFFF || 0x00200000                || MIPS Reset Vector
|-
| 0x1FE00000 || ?          || ?                        || Hardware registers
|-
|}
 
See [[Hardware Registers]] for details about the hardware registers.
 
Access can be cached & privileged or not by changing the first 4 bits (<i>31-28 bits</i>) of the address using this virtual memory mapping:
{| class="wikitable"
|-
! Address !! Name !! Is it cached? !! Permission || Description
|-
| 0x<b>0</b>0000000 || KU0  || Cached  || User/Supervisor/Kernel || Main memory
|-
| 0x<b>4</b>0000000 || KU1  || Uncached || User/Supervisor/Kernel || Often used for VRAM
|-
| 0x<b>8</b>0000000 || K0    || Cached  || Kernel || Main kernel memory
|-
| 0x<b>A</b>0000000 || K1    || Uncached || Kernel || Mainly used for hardware registers
|-
| 0x<b>C</b>0000000 || K2/KS || Cached  || Supervisor/Kernel || Usage unknown/unconfirmed
|-
| 0x<b>E</b>0000000 || K3    || Cached  || Kernel || Usage unknown/unconfirmed
|-
|}
 
== PSP-1000 VFPU bug ==
 
PSP-1000 CPU has broken <code>ulv.q</code> instruction, that causes FPU registers corruption.
 
You can see more about it [https://sites.google.com/a/davidgf.es/davidgf-net/home/psp-dev/vfpu-test?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F here].
 
== Versions ==
 
=== PSP-1000 ===
 
*CPU and DDR are discrete ICs on the motherboard
*32 MiB main memory (DDR)
*2 MiB Media Engine memory (eDRAM)
 
=== PSP-2000 and later ===
 
*DDR is brought into the CPU's package
*64 MiB main memory (DDR)
*4 MiB Media Engine memory (eDRAM)
 
== See also ==
 
* https://www.zdnet.com/article/sony-reveals-some-specs-for-psp-handheld/ (2004)
 
* https://www.extremetech.com/extreme/56942-sony-details-psp-chip-specs
 
* https://www.copetti.org/writings/consoles/playstation-portable/
Please note that all contributions to PSP Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PSP Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)