« PlayStation Portable(PSP)架构 (index)

PlayStation Portable(PSP)架构

Chapter 3: 主CPU


目录

  1. 世纪之交的MIPS
  2. 新型可携带CPU
  3. 协处理器
    1. 集中式内存管理
  4. 可用内存
  5. 总线设计
  6. 应对拥塞
  7. 总结

与任天堂类似,索尼也构建了一个极其紧凑的片上系统 (SoC),其中包含了我们将会讨论的大部分组件。 其中包括负责执行游戏和其他程序的主CPU(之后我们会讨论它与其他CPU的不同)。 该 SoC 被索尼称为Tachyon(在看了星际迷航之后?)

Image
原始 PSP 型号上的 Tachyon 芯片

主 CPU 同样由索尼自主设计,保持了 MIPS 的传统。 话虽如此,PlayStation 2发布至今已有四年, MIPS的现状如何?

世纪之交的MIPS

MIPS 的黄金岁月停留在 90 年代,一去不回。 其母公司 SGI 在廉价 x86 工作站面前失去了主导地位,而且资金短缺。 因此,它在 1999 年出售了 MIPS 的大部分股份。 自此之后,MIPS 再次成为一家独立的公司,但竞争却比以往更加激烈。

该公司的第一项决定是承认 MIPS CPU 不再适用于高性能计算领域。 因此,他们将重点转向低功耗计算,与空前流行ARM正面交锋。

MIPS 重新审视了其臃肿的 CPU 系列,并将其整合为 三个指令集

最大的不同是这些 MIPS 架构现在将同步推进,而不是在下一个架构推出后立即放弃上一个架构。 新版本将以"Release x"为后缀,如"MIPS32 Release 6"或"MIPS32R6"(巧合的是,这也是迄今为止的最后一个版本)。

除 ISA 外,MIPS 还开始销售一系列新的 IP 核。 例如,MIPS32 4k 实现了MIPS32 R2 ISA,它有不同的变体,并提供大量定制功能。

言归正传,索尼可能获得了 MIPS32 4k 的授权,并通过扩展 ISA 和捆绑特定协处理器对其进行了定制 。 它被称为Allegrex,运行速度在33 MHz 到 333 MHz的范围内可变。

新型可携带CPU

Allegrex 是一款完整的 32 位核心,提供了 :

这看起来比基于ARM9的替代方案更具竞争力,但尚未结束,因为我们仍需检查核心旁边_协同_工作的协处理器。

协处理器

和其他 MIPS CPU 一样,Allegrex 有三个协处理器插槽。 索尼使用了其中所有三个:

总之: Allegrex 快得令人难以置信。 但我们仍然不知道用它能做什么。 毕竟,你可以把CPU想象成交响乐团的指挥,而我们......还不了解演奏者。

集中式内存管理

现在我们来看内存系统。 除其他事项外,系统控制协处理器还提供内存保护单元或"MPU"的功能(不要与"MMU"混淆),该功能将物理硬件映射到 CPU 的内存空间,中间带有一些特殊的特性。 即使它的工作方式起初看起来有些原始,但却是满足本主机需求的最佳方式。

Image
使用 MPU 进行内存寻址

传统的内存管理单元(MMU)负责 CPU 对周围组件的访问。 这意味着 CPU 的所有地址线都与 MMU 相连,只有后者与系统的其他部分相连。

这有助于实现"虚拟内存"和"内存保护"等功能。 而要实现虚拟内存,MMU 必须包含一个名为"地址转换后援缓冲器"(TLB,Translation Look-aside Buffer)的组件,以保证性能。 但是Allegrex 的 MMU 并没有 TLB,因此它侧重于内存保护功能。 所以 Allegrex 的 MMU 被称为 MPU(内存保护单元)。 MPU 是阉割了虚拟内存的 MMU。 而内存保护赋予系统决定程序可以访问哪些内存位置的权力。

有了这一点,Allegrex 就不必处理用户态程序(如游戏)访问受限位置(如加密密钥)的问题。 为了实现访问限制,内存地址被分为五个具有不同权限级别的段。 此外,Allegrex 的 MPU 包含三种操作模式:用户模式监管模式内核模式

如果一个在用户模式下运行普通进程想要访问特权位置中的内存地址,MPU 将通过"异常"询问操作系统是否授予该进程权限。

总而言之,这使得操作系统的开发商索尼公司可以通过硬件执行安全系统。

可用内存

到目前为止,我们已经分析了 PSP 的主 CPU 及其加速器。 现在,让我们来看看该系统中可用的物理内存。

Image
从主 CPU 角度看内存布局

PSP 使用了两个可从 CPU 访问的内存:

总线设计

您很快就会发现,PSP 可容纳许多功能独特的组件。 为了不重复以前的错误,工程师们使用专用总线将它们相互连接起来。 因此,只有功能类似的部分组件才会共享同一条总线。 这些总线通过专用仲裁器以"内存控制器"或直接内存访问(DMA)的形式相互通信。

Tachyon 中的所有总线都采用了高级高性能总线 (AHB,Advanced High-performance Bus) ,这是 Arm 为解决其芯片和 SoC 的拥塞问题而开发的一种解决方案。 例如Wii中也使用了 AHB。

Image
该系统中三条主要总线的基本布局

根据上述原则,PSP 使用了以下几种总线:

所有三条总线都连接到主存所在的 DDR 控制器。

应对拥塞

每条总线内部都有多个独立工作的组件。 它们将在共享空间(如主 RAM)中存储处理过的数据。 我们不希望 CPU 需要在模块从内存中读取或写入数据时进行干预。 总线一般使用 DMA 单元来提供这种功能,但单个 DMA 功能有限。 PSP 内的大量组件会导致读写瓶颈。

解决方案非常简单:总线主控。 简而言之,每个组件都有自己的 DMA 控制器。 它们能作为"总线主控",控制总线访问它们想要访问的任何位置。 为避免多个"总线主控"同时运行时的竞争情况,相邻组件将确认事件,并等待操作完成。

总结

80-90 年代的 RISC 革命催生了无数 CPU,仅有少数 CPU 得以存活到新世纪。 就像我在Dreamcast 文章结束了对 SuperH 的分析PlayStation Portable 将是我在这个系列中最后一篇载有MIPS CPU 的文章。

历经辗转之后,MIPS 现在只是一家设计 RISC-V CPU 的公司。 平心而论,这项战略为该公司提升了竞争力,使其能够与 ARM 竞争。

然而,回顾我的分析,很难理解这样一家才华横溢的公司会失去市场份额。 诚然,在工作站市场上,英特尔的 x86 不管受到多少批评,都因其设备价格低廉(得益于其奔腾系列以及那些 "克隆"产品)和兼容软件(仅限 Windows)而胜出。 而P6 架构为英特尔提供了最初只有 RISC 才能实现的可扩展性。

Image
2011年,计算机历史博物馆(加利福尼亚州,圣何塞)与MIPS共同创始人和前执行官进行了一次有趣的访谈, 他们谈到了 MIPS 的创始、它对该行业的影响以及最终的重组。

在低功耗计算领域,由于和 ARM 有着相似的商业模式(IP 授权),MIPS的退步就更难理解了。 幸运的是,2011 年计算机历史博物馆的一次采访也提出了同样的问题,并得到了这样的回答:

我们犯了错误,我们没有意识到手机市场的重要性。 早期无利可图(......),但 ARM 的投资得到了收益。 这是非常明智的举动,其成果令人难以置信。 我们只看到了毛利率,然后说"这件事收益不足! 我们最好把注意力放在别处",但当然,手机变成了智能手机,[然后] 发展出庞大的市场。

-John Hennessy,MIPS计算机系统公司创始人之一

尽管如此,我相信虽然我们不会再看到新的 MIPS CPU,但我们会看到它的前工程师将其独特技术应用到新项目中的成果。

话虽如此,还是让我们看看PSP的其他部件。


Previous: 2. 快速介绍

Next: 4. 多媒体 CPU


Rodrigo Copetti © 2026 RSS Feed

切换至现代版

主页 · 文章 · 支持 · 关于作者 · 关于此网站