1: Introducción al Chip Propeller
Figura 1-3: Interacción Cog-Hub – Mejor escenario
La Figura 1-4 muestra el peor escenario; la instrucción del hub estaba lista en el ciclo
inmediato posterior después de iniciar la ventana de acceso al Cog 0; perdió el acceso. El Cog
espera a la siguiente ventana de acceso al Hub (15 ciclos después) y entonces ejecuta la
instrucción (7 ciclos) para un total de 22 ciclos para esa instrucción. Nuevamente hay 9 ciclos
adicionales después de la instrucción del hub para ejecutar otras instrucciones antes de que
llegue la nueva ventana de acceso. Para obtener la mayor eficiencia de las rutinas de
Ensamblador Propeller que tienen que accesar a recursos mutuamente exclusivos puede ser
de beneficio intercambiar instrucciones de hub con instrucciones de no-hub para reducir el
número de ciclos en espera para el siguiente acceso. Debido a que la mayoría de las
instrucciones propeller toman 4 ciclos de reloj pueden ejecutarse dos de estas instrucciones
entre instrucciones contiguas de Hub.
Figura 1-4: Interacción Cog-Hub – Peor escenario
Tenga en cuenta que una instrucción particular de un Cog no interfiere de ninguna manera
con otras instrucciones de Cogs debido al mecanismo. El Cog 1 por ejemplo puede iniciar
una instrucción durante el ciclo 2 del reloj del sistema, en estos ejemplos quizá se encimen las
instrucciones con la del Cog 0 sin tener efectos. Mientras tanto los demás cogs continúan
ejecutando instrucciones no-hub o esperando su ventana individual de acceso sin importar lo
que otros estan haciendo.