Lecture 7

Learning objectives

After this class, you should be able to:

  1. Program the PS3, using the following functions: spe_image_open, spe_context_create, spe_program_load, spe_context_run, spe_out_mbox_status, spe_out_mbox_read, spe_in_mbox_status, spe_in_mbox_write, spe_ls_area_get, spe_context_destroy, spe_image_close, mfc_get, mfc_put, mfc_write_tag_mask, mfc_read_tag_status_all, spu_write_out_mbox, and spu_read_in_mbox.
  2. Give the DMA alignment and size restriction in mfc_get and mfc_put calls.
  3. Give peak floating point performance of the SPEs, the maximum memory bandwidth, the total EIB bandwidth, and the bandwidth to SPEs.
  4. Explain the need for the volatile qualifier on data variables used in DMA transfers.

Reading assignment

  1. Read Section 4.1.2 of the Cell Redbook (on Blackboard -- course library).
  2. References
    1. Libspe2(on Blackboard -- course library).
    2. SPE Extensions (on Blackboard -- course library).

Exercises and review questions


Last modified: 1 Feb 2010