Generalidades del Microcontrolador Propeller
(Hub) Memoria Principal
Configuracion
R
Aplicacion
A
M
Pila + VAR
Conjunto de
Caracteres
R
Registro,
O
Antiregistro y
M
Tablas
Arranque
Interprete
Debido a que cada Cog tiene acceso a la memoria principal RAM del chip Propeller los Cogs pueden
trabajar en conjunto intercambiando información. El lenguaje Spin tiene características incorporadas
para pasar direcciones de una o más variables usadas en código a otros objetos y Cogs. Esto hace la
cooperación entre Cogs muy sencilla. El código en un Cog puede ejecutar código en otro Cog y
pasarle una o más direcciones variables (ver Figure 1-5). Estas direcciones variables pueden ser
utilizadas por dos Cogs para intercambiar información.
Main (Hub) Memory
Configuracion
Aplicacion
R
A
M
Pila + VAR
Conjunto de
Caracteres
R
Registro,
O
Antiregistro y
M
Tablas
Arranque
Interprete
Los Cogs del chip Propeller están numerados del Cog 0 al Cog 7. Una vez que la aplicación se carga
en el chip Propeller este carga un intérprete en Cog 0 y este interprete comienza a ejecutar las fichas
del código Spin almacenadas en la memoria principal. Entonces los comandos en el código Spin
pueden ejecutar bloques de código (que puede ser Spin o Lenguaje Ensamblador) en otros Cogs como
muestra la Figure 1-6. El código ejecutado por otros Cogs puede ejecutar otros Cogs no importando si
es Spin o Código Ensamblador y ambos lenguajes pueden parar otros Cogs para poner fin a procesos
innecesarios o incluso para sustituirlos con otros diferentes.
Pagina 10 · Kit Educativo de Prácticas Propeller: Fundamentos
4 ciclos
de reloj
ASM
7 a 22
Ciclos de
reloj,
16 ciclos
COG
una vez
sincronizado
COG
COG
Figure 1-4: Cog Ejecutando
Lenguaje Ensamblador
Cog RAM
2 KB
(512 largo)
Figure 1-5: Dos (o más) Cogs trabajando en
conjunto a través de memoria compartida.