« PlayStation Portable (PSP) Architecture (index)

PlayStation Portable (PSP) Architecture

Chapter 3: Main CPU


Table of Contents

  1. MIPS after the turn of the century
  2. The new portable CPU
  3. Coprocessors
    1. A focused memory management
  4. Memory available
  5. Bus design
  6. Tackling traffic congestion
  7. The end of the line

Similarly to Nintendo, Sony built an extremely packed System on a Chip (SoC) that houses most of the components we are going to discuss throughout this article. This includes the main CPU in charge of executing games and other programs (unlike the other CPUs, which we'll talk about in due time). The SoC is called Tachyon, a name chosen by Sony themselves.

Image
The Tachyon chip on the original PSP model.

The main CPU is an in-house design that keeps up with the tradition of using MIPS technology. Be that as it may, it's been four years since the release of the PlayStation 2, I wonder what's the state of MIPS since then?

MIPS after the turn of the century

I'm afraid the golden years of MIPS were left in the 90s, and there aren't any indicators that these will repeat anytime soon. Its parent company, SGI, lost dominance against affordable x86 workstations and was running out of cash. So, in 1999, it sold its majority stake in MIPS . With this, MIPS became an independent company once again; however, the competition was fiercer than in the early days.

The company's first decision was to acknowledge that MIPS CPUs couldn't compute in the high-performance arena anymore. So, they shifted their focus to low-power computing, running head-to-head against ARM and its unprecedented popularity.

Consequently, MIPS revisited its fragmented CPU line and consolidated it with three instruction sets :

The big difference was that these would now be developed in conjunction, as opposed to MIPS dropping the previous architecture as soon as the next one arrived. New revisions would be denoted with the 'Release x' suffix, such as 'MIPS32 Release 6' or 'MIPS32R6', which is the last revision to date.

Along with the ISAs, MIPS also started selling a new line of IP cores. For instance, the MIPS32 4k design implemented the MIPS32 R2 ISA; it came in different variants and offered plenty of customisations.

Back on topic, Sony presumably acquired a license of the MIPS32 4k and customised it by extending the ISA and bundling particular co-processors . The result is called Allegrex and runs at a variable speed, from 33 MHz to 333 MHz.

The new portable CPU

Allegrex is a complete 32-bit core offering :

Overall, this looks more competitive than the ARM9-based competition, but it's not over yet, as we still need to check the co-processors cooperating next to the core.

Coprocessors

As with any MIPS CPU, Allegrex has three coprocessor slots. Sony added three :

In conclusion, Allegrex is incredibly fast. However, we still don't know what you can do with it. After all, you can imagine this CPU as the conductor of an orchestra, and we haven't checked out the performers yet.

A focused memory management

Let me talk for a moment about the memory system implemented in this system. Among other things, the System Control Coprocessor provides the functionality of a Memory Protection Unit or 'MPU' (not to be confused with an 'MMU'), which maps the physical hardware onto the CPU's memory space with some special quirks in between. Even though its modus operandi can be seen as a bit primitive at first, we'll see why it's optimal for the needs of this console.

Image
Memory addressing with the MPU.

A traditional Memory Management Unit or 'MMU' takes care of the CPU's access to the components surrounding it. This implies that all the address lines of the CPU will be connected to the MMU; only the latter is connected to the rest of the system.

This is particularly advantageous for features like 'virtual memory' and 'memory protection'. Well, to achieve virtual memory, an MMU must bundle a component called 'Translation Lookaside Buffer' (TLB) to prevent performance degradation. Now, Allegrex's MMU lacks a TLB , so it focuses on memory protection. This is why Allegrex's MMU is instead called an MPU (Memory Protection Unit). An MPU is a cut-down version of an MMU without virtual memory. In any case, memory protection gives the system the power to decide which memory locations a program can access.

Thanks to this, Allegrex won't have to deal with userland programs (e.g. games) accessing restricted locations (e.g. encryption keys). To enforce this restriction, memory addresses are grouped into five segments with different privilege levels. Furthermore, Allegrex's MPU contains three modes of operation: User mode, Supervisor mode and Kernel mode.

If a casual process (operating in user mode) wants to access a memory address found in a privileged location, the MPU will ask the operating system (through the use of 'exceptions') whether to grant permission to this process.

All in all, this allows Sony, the developer of the operating system, to implement a security system enforced by hardware.

Memory available

So far, we've analysed the PSP's main CPU and its accelerators. Now let's see the physical memory available in this system.

Image
Memory layout from the main CPU perspective.

The PSP comes with two memory blocks accessible from the CPU :

Bus design

You'll soon find that the PSP accommodates lots of components with unique functionality. So, to organise them without repeating previous mistakes, Sony's engineers interconnected them using dedicated buses. Thus, only small groups of components, with similar applications, share the same bus. Those buses talk to each other using dedicated arbiters (in the form of 'memory controllers' or Direct Memory Access (DMA)).

All of the buses found in Tachyon implement a well-known design called Advanced High-performance Bus (AHB), a solution built by ARM to tackle congestion on their chips and SoCs. If you are curious, AHB was also adopted on the Wii.

Image
Basic layout of the three main buses in this system.

Using the principles above, the following buses were constructed for the PSP :

All three buses connect to the DDR controller, which is where the main RAM is found.

Tackling traffic congestion

Inside each bus, there will be multiple components working independently. They will store processed data in a shared space (such as the main RAM). Now, we don't want the CPU to intervene whenever a module needs to read or write from memory. Traditionally, a DMA unit was placed on the bus to provide this facility, but a single DMA can only do so much. The PSP contains a significant number of components, and this will eventually lead to bottlenecks.

The solution is very simple: bus mastering. In a nutshell, each component will get its own DMA controller. This gives them the ability to become the 'bus master' and take control of the bus to access whatever location they want. To avoid contention (multiple 'bus masters' at the same time), the neighbouring components will acknowledge this event and wait until the operation completes.

The end of the line

The RISC revolution produced countless CPU designs throughout the 80s and 90s, but only a handful endured beyond the turn of the century. Just like I concluded my analysis of the SuperH in the Dreamcast article, the PlayStation Portable will be my last article of this series to feature a MIPS CPU.

After many turnarounds, what's left of MIPS is now a company designing RISC-V CPUs. In all fairness, this is an interesting strategy that provides the company with greater leverage to compete against ARM.

Looking back at my analyses, however, it's hard to comprehend how such a talented company could have lost its market share. Admittedly, in the workstation market, it became clear that Intel's x86, no matter the amount of criticism, won by making equipment affordable (thanks to its Pentium line, along with the 'clones') and attractive due to its (Windows-only) compatible software. Finally, the P6 architecture provided Intel with the scalability initially only enjoyed by RISC designs.

Image
In 2011, the Computer History Museum (Mountain View, California) conducted an interesting interview with MIPS co-founders and former executives , where they talked about MIPS' beginnings, its impact on the industry, and eventual reorganisation.

In the case of low-power computing, it was harder for me to understand the retreat, as MIPS and ARM shared similar business models based on IP licensing. Luckily, a previous interview conducted by the Computer History Museum in 2011 raised the same question, resulting in this answer:

We made a mistake, we didn't realise how important the cellphone market was. Early there was no money to be made (...) but ARM got it by investing in it. It was a very smart move and it turned out to be an incredible leverage point. We just looked at the gross margin and said "that's not a great return! we'd be better off putting our attention elsewhere" but of course, it turned out cell phones became smartphones [and then] became a gigantic.

- John Hennessy, co-founder of MIPS Computer Systems

Nevertheless, when it comes to this topic, I believe that, while we are unlikely to see a new MIPS CPU, we will see its former engineers carry MIPS' distinctive technologies into new projects.

That being said, let's continue with the PSP analysis.


Previous: 2. A quick introduction

Next: 4. Multimedia CPU


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website