p8x32a Parallax, Inc., p8x32a Datasheet - Page 7

no-image

p8x32a

Manufacturer Part Number
p8x32a
Description
8-cog Multiprocessor Microcontroller
Manufacturer
Parallax, Inc.
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
p8x32a-D40
Manufacturer:
ParallaxInc
Quantity:
4 096
Part Number:
p8x32a-M44
Quantity:
4 328
Part Number:
p8x32a-M44
Manufacturer:
PARADE
Quantity:
20 000
Part Number:
p8x32a-Q44
Manufacturer:
Parallax Inc
Quantity:
1 901
Part Number:
p8x32a-Q44
Manufacturer:
MAX
Quantity:
40
Part Number:
p8x32a-Q44
Manufacturer:
Parallax Inc
Quantity:
10 000
Part Number:
p8x32a-Q44
Manufacturer:
PARALLA
Quantity:
20 000
Propeller™ P8X32A Datasheet
4.3.
The Propeller contains eight (8) identical, independent
processors, called cogs, numbered 0 to 7.
contains a Processor block, local 2 KB RAM configured
as 512 longs (512 x 32 bits), two advanced counter
modules with PLLs, a Video Generator, I/O Output
Register, I/O Direction Register, and other registers not
shown in the Block Diagram.
All eight cogs are driven from the System Clock; they
each maintain the same time reference and all active cogs
execute instructions simultaneously. They also all have
access to the same shared resources.
Cogs can be started and stopped at run time and can be
programmed to perform tasks simultaneously, either
independently or with coordination from other cogs
through Main RAM. Each cog has its own RAM, called
Cog RAM, which contains 512 registers of 32 bits each.
The Cog RAM is all general purpose RAM except for the
last 16 registers, which are special purpose registers, as
described in Table 15 on page 15.
4.4.
To
resources must not be accessed by more than one cog at a
time.
resources by giving each cog a turn in a “round robin”
fashion from Cog 0 through Cog 7 and back to Cog 0
again. The Hub and its bus run at half the System Clock
rate, giving a cog access to mutually-exclusive resources
once every 16 System Clock cycles. Hub instructions, the
Propeller Assembly instructions that access mutually-
exclusive resources, require 7 cycles to execute but they
first need to be synchronized to the start of the Hub
Access Window.
Figure 2: Cog-Hub
Interaction – Best Case
Scenario
Figure 3: Cog-Hub
Interaction – Worst Case
Scenario
Copyright © Parallax Inc.
maintain
The Hub controls access to mutually-exclusive
Cogs (processors)
Hub
system
integrity,
mutually-exclusive
Each cog
Page 7 of 36
It takes up to 15 cycles (16 minus 1, if we just missed it)
to synchronize to the Hub Access Window plus 7 cycles
to execute the hub instruction, so hub instructions take
from 7 to 22 cycles to complete.
Figure 2 and Figure 3 show examples where Cog 0 has a
hub instruction to execute. Figure 2 shows the best-case
scenario; the hub instruction was ready right at the start of
that cog’s access window. The hub instruction executes
immediately (7 cycles) leaving an additional 9 cycles for
other instructions before the next Hub Access Window
arrives.
Figure 3 shows the worst-case scenario; the hub
instruction was ready on the cycle right after the start of
Cog 0’s access window; it just barely missed it. The cog
waits until the next Hub Access Window (15 cycles later)
then the hub instruction executes (7 cycles) for a total of
22 cycles for that hub instruction. Again, there are 9
additional cycles after the hub instruction for other
instructions to execute before the next Hub Access
Window arrives.
Propeller Assembly routines that have to frequently
access mutually-exclusive resources, it can be beneficial
to interleave non-hub instructions with hub instructions to
lessen the number of cycles waiting for the next Hub
Access Window.
instructions take 4 clock cycles, two such instructions can
be executed in between otherwise contiguous hub
instructions.
Keep in mind that a particular cog’s hub instructions do
not, in any way, interfere with other cogs’ instructions
because of the Hub mechanism. Cog 1, for example, may
start a hub instruction during System Clock cycle 2, in
both of these examples, possibly overlapping its execution
with that of Cog 0 without any ill effects. Meanwhile, all
other cogs can continue executing non-hub instructions,
or awaiting their individual hub access windows
regardless of what the others are doing.
To get the most efficiency out of
Since most Propeller Assembly
Rev 1.0 11/14/2007
www.parallax.com

Related parts for p8x32a