6.3.6 Use software pipelining

Software pipelines are a parallel processing technique that enable multiple data elements to be processed simultaneously by breaking the computation into a series of sequential stages.

Pipelines are common in both hardware and software. For example, application processors and GPUs use hardware pipelines. The graphics standard OpenGL ES is based on a virtual pipeline.

In a pipeline, a complete process is divided into a series of stages. A data element is processed in one stage and the results are then passed to the next stage.

Because of the sequential nature of a pipeline, only one stage is used at a time by a particular data element. This means that the other stages can process other data elements.

You can use software pipelines in your application to process different data elements.

For example, a game requires many different operations to happen. A game might use a similar pipeline to this:

  1. The input is read from the player.
  2. The game logic computes the progress of the game.
  3. The scene objects are moved based on the results of the game logic.
  4. The physics engine computes positions of all objects in the scene.
  5. The game uses OpenGL ES to draw objects on the screen.
Non-ConfidentialPDF file icon PDF version101574_0302_00_en
Copyright © 2019 Arm Limited or its affiliates. All rights reserved.