The Propeller 2 is a general-purpose 32-bit microcontroller with 8 symmetric processors called “cogs.” Each cog has 512 longs (2 KB) of memory from which it executes instructions. Each cog shares a 128-bit data bus to a central “hub” which has 126 KB of RAM and 2 KB of ROM. Most instructions execute in a single clock cycle, with certain math intensive operations taking up to 31 clock cycles to complete. The hub allows each cog round-robin access to the main hub RAM; depending on the hub’s access window relative to the cog, access to hub RAM can take up to 7 clocks (if the access window was just missed) or as little as 0 clocks (if the cog is next in line for the access window). Additionally, the developer has the ability to set a one-time settable encryption key in the chip to protect code downloaded to the chip. On system startup the chip will use this protected key decrypt the encrypted program that is stored externally in non-volatile EEPROM/FLASH. The encryption key is not accessible by any user code.