科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道简介 PLAYSTATION 3 上的 Linux

简介 PLAYSTATION 3 上的 Linux

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文将探索这个领域中的内容,介绍如何在 PS3 上安装 Linux,如何开始在 PS3 上针对 Cell BE 处理器进行开发。

来源:中国IT实验室 2008年5月13日

关键字: 操作系统 安装 技巧 Linux

  • 评论
  • 分享微博
  • 分享邮件

    后续文章将更加深入地介绍 SPU 编程的知识,这里只简单介绍一下。作为第 3 个参数传递到 spe_create_thread 的指针会以 program_data_ea 的形式进入这个程序。EA 表示有效地址,这是从主 PPE 程序中看到的主存地址。由于 SPE 不能直接访问主存,所以无法直接将其作为一个指针废弃。相反,您必须发起一个传输请求将数据复制到本地存储中。一旦数据保存到本地存储中,就可以通过本地存储地址(local store address,有时简写为 LSA) 来访问这些数据。

    mfc_get 发起到本地存储的传输。注意在 PPE 和 SPE 中,这个结构被对齐为 16 字节,并填充成 16 个字节。在下一篇文章中我们将更详细地介绍这方面的内容,但是对于大部分 DMA 传输来说,都必须 按照 16 字节边界对齐,并且大小应该是 16 字节的整数倍。tag_id 让您可以检索 DMA 操作的状态。在传输之后,接下来的两个函数可以导致程序等待,直到传输完成为止。

    主要的处理过程非常简单 —— 只需用速度乘以时间即可。在数据处理完之后,mfc_put 会发起一个传输,传回主存,接下来的两个函数会让您等待 DMA 操作完成。当所有这些操作完成之后,程序退出。

    现在您需要编译并运行这个程序。这实际上非常简单:

#Compile the SPE program
spu-gcc spe_distance.c -o spe_distance
#Embed the SPE program into an ELF object file, and expose it
#through the global variable: calculate_distance_handle
embedspu calculate_distance_handle spe_distance spe_distance_csf.o
#Compile the PPE program together with the SPE program
gcc ppe_distance.c spe_distance_csf.o -lspe -o distance
#Run the program
./distance

    现在您就拥有了一个可以良好运行的 Cell BE 程序。

    结束语

    尽管您不能直接在 PS3 上编程,但是 PS3 支持第三方的操作系统,这就让您可以将 Linux 安装到 PS3 上。将 Linux 安装到 PS3 上需要您付出一点努力,但这很值得,因为最终您将获得一个低成本并能良好运行的 Cell BE 处理器。本系列的后续文章将深入介绍 Cell BE 编程以及如何充分利用可从 SPE 获得的每一点速度。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章