Flavors Technology Incorporated |
Slide 8 of 24
A tile is the term used to describe the units in which Paracell code resides. There is a one to one relationship between tiles and processing cells. Tiles can take other forms as well (Debug Tiles, for example) but for purposes of this discussion we will focus on processing.
A tile contains Paracell code, typically about 100 lines of code (though in an agent system, code rarely grows this large). Each processing tile has as many as 16 inputs and 8 outputs to/from the shared memory. In a PIM frame, each tile reads its inputs from shared memory. It then executes its code, and at the conclusion of the code execution phase writes its results back to shared memory. All of the tiles do this once per PIM frame. Tiles communicate with one another using shared memory.
In the event that a tile's code takes more than one frame to execute, its execution is suspended and resumed on the next frame. When this happens, the user is alerted to the fact that this tile suspends. This may be desirable in a situation where it isn't important that a tile complete each frame, for example, in controlling slower outputs such as air temperature.
Different tiles can write to the same location in shared memory during the same frame. If this happens, the developer is alerted so that he or she can determine which write has final priority. For example, in the case of a safety button, you would want the tile that recognized that the button is being pushed to win under all circumstances.