Diseño de la arquitectura reconfigurable de hardware utilizando transputers para el control de una celda flexible de manufactura
Texto completo
(2) 7. RESUMEN.. En esta tesis se propone la utilización de una topología de red reconfigurable (tanto por hardware como por software) ba.sada en transputers, como parte de la arquitectura del controlador paralelo distribuido (PARDICO) el cual será utilizado en una celda flexible de manufactura dentro del proyecto "Tecnologías de Comunicación Avanzadas en Robótica y Celdas Flexibles de Manufactura" [8] financiado por la National Sciencie Foundation (NSF) y el Consejo Nacional de Ciencia y Tecnología (CONACyT).. La elección de la topología esta basada en los siguientes criterios: necesidades de la celda de manufactura; reconfigurabilidad; redundancia en hardware; necesidades de los procesos; interconexión de la red de manufactura a la red de transputers; posibles topologías en la tarjeta base para transputers y la optimización al máximo del uso de las ranuras de dicha tarjeta.. Se muestra en la tesis que la topología elegida es resistente a fallas, analizando las propiedades de reconfigurabilidad de la arquitectura ante distintos tipos de fallas de procesadores y enlaces..
(3) CONTENIDO. Pág.. 1. INTRODUCCIÓN.. 25. 1.1 PLANTEAMIENTO Dl=.L PROBLEMA.. 28. 1.2 JUSTIFICACIÓN.. 31. ' 2.. CARACTERÍSTICAS DEL MEDIOAMBIENTE DE LA CELDA DE. 35. MANUFACTURA Y EQUIPOS A UTILIZAR EN EL CONTROLADOR.. 2.1. DESCRIPCIÓN DE LA CELDA DE MANUFACTURA DEL. 38. ITESM-CEM.. 2.2. 2.1.1 Robot Puma.. 38. 2.1.2 Robot Mitsubishi.. 39. 2.1.3 Robot Amatrol Júpiter.. 39. 2.1.4 Mecanismo AS/RS.. 39. 2.1.5 Torno y fresadora.. 39. COMPONENTES. DEL. CONTROLADOR. PARALELO. 40. Características de la computadora huésped del. 40. DISTRIBUIDO. 2.2.1. controlador. 2.2.2 Características de hardware del sistema de desarrollo. 41. para transputers. 2.2.2.1 Tarjeta IMS 8008.. 41. 2.2.2.2 Módulos TRAM 8426 (T805 @ 25 MHz).. 43.
(4) Pág. 2.2.2.3 Módulos ALX-232 (SI0-232) y ALX-422 (SIO-. 43. 422). 2.2.2.4 Interruptor programable IMS C004.. 47. 2.2.3 Características de software del sistema de desarrollo. 48. para transputers.. 2.3. 2.2.3.1 ANSI C Toolset.. 49. 2.2.3.2 idump.. 49. 2.2.3.3 ilaunch.. 49. 2.2.3.4 imon.. 49. 2.2.3.5 inquest.. 50. 2.2.3.6 iprof. 51. 2.2.3.7 rspy.. 51. CONFIGURACIÓN DE LOS ARCHIVOS DEL SISTEMA AL. 53. INSTALAR EL D7414A. 2.3.1. Configuración de las variables de medioambiente. 53. utilizando ilaunch. 2.4. CONFIGURACIÓN DE HARDWARE DE LA TARJETA IMS. 54. 8008. 2.4.1 Ejemplo de configuración de TRAM'S en la tarjeta IMS. 55. 8008. 2.5 CONFIGURACIÓN POR SOFTWARE DEL C004.. 3.. PARALELISMO Y. DESARROLLO. DE. PROGRAMAS. 56. PARA. 61. TRANSPUTERS.. 3.1 ANTECEDENTES.. 61. 3.2 PARALELISMO DE APLICACIONES.. 63. 3.2.1 Paralelismo Explícito.. 63. 3.2.2 Paralelismo encubierto.. 64. 3.2.3 Paradigmas de programación paralela.. 64.
(5) Pág. 3.3 MÁQUINAS PARALELAS. 3.3.1 Memoria compartida vs. distribuida. 3.4 ANSI C. 65 66 67. 3.4.1 Procesos. 3.4.1.1 Creación de procesos. 3.4.1.2. Liberación de la pila (stack) y del área de. 69 69 69. trabajo. 3.4.1.3 Ejecución de procesos. 3.4.2 Canales de comunicación.. 70 71. 3.4.2.1 Creación de canales.. 72. 3.4.2.2 Envío de información por un canal.. 72. 3.4.2.3 Recepción de información por un canal.. 73. 3.4.3 Semáforos. . . 3.5 DESARROLLO DE PROGRAMAS UTILIZANDO EL TOOLSET. 73 74. Y LA TARJETA IMS 8008. 3.5.1 Herramientas para crear código ejecutable.. 75. 3.5.2 Cargar y ejecutar aplicaciones.. 79. 3.5.2.1 Aserver.. 80. 3.5.2.2 irun.. 81. 4. CONFIGURACIÓN DE PROGRAMAS PARA TRANSPUTERS.. 85. 4.1 MODELO DE CONFIGURACIÓN.. 86. 4.2 DESCRIPCIÓN DE LA RED DE HARDWARE.. 88. 4.2.1 Enlaces del procesador.. 89. 4.2.2 Lados (edges).. 90. 4.2.3 Atributo memoria (memory).. 90. 4.2.4 Atributo reservado (reserved).. 92. 4.2.5 Atributo ruteo (router).. 92. 4.2.5.1 Costo del ruteo (routecost).. 92.
(6) Pág. 4.2.5.2 Tolerancia (tolerance).. 93. 4.2.5.3 Costo del enlace (linkquota).. 94. 4.2.6 Ejemplo de descripción de hardware.. 94. 4.3 DESCRIPCIÓN DE LA RED DE SOFTWARE.. 95. 4.3.1 Atributos de procesos.. 96. 4.3.2 Atributos para el tamaño del segmento del programa. 97. (stacksize).. 4.3.3 Atributo interfaz (interface).. 97. 4.3.4 Atributo de localización del segmento.. 98. 4.3.5 Soporte para INQUEST.. 99. 4.3.6 Definición de nuevos tipos de procesos.. 99. 4.3.7 Canales de entrada y salida.. 100. 4.3.8 Conexiones lado (edge).. 101. 4.4 DESCRIPCIÓN DEL MAPEO.. 5.. RED. 102. 4.4.1 Colocación explícita de canales.. 103. 4.4.2 Nombres de conexiones.. 104. 4.4.3 Canales directos y virtuales.. 105. 4.4.4 Asignación de código a proceso.. 106. 4.4.5 Acceso a los parámetros interface.. 107. 4.4.6 Terminación de procesos configurados.. 107. 4.4. 7 Procesamiento de la configuración.. 108. DE. TRANSPUTERS. PARA. CELDAS. FLEXIBLES. DE. 109. MANUFACTURA. 5.1 CONFIGURACIÓN DE TRANSPUTERS.. 109. 5.2 CONSIDERACIONES A TOMAR EN CUENTA EN EL DISEÑO. 111. DE MÁQUINAS MIMD UTILIZANDO TRANSPUTERS. 5.2.1 Topología.. 112. 5.2.2 Mapeo.. 114.
(7) Pág. 5.2.3 Ruteo.. 114. 5.3 CRITERIOS PARA EL DISEÑO DE UN CONTROLADOR RECONFIGURABLE. PARA. CELDAS. FLEXIBLES. 115. DE. MANUFACTURA.. 5.4. 5.3.1 Criterios.. 115. 5.3.2 Planteamiento de la solución.. 117. ELECCIÓN. DE .ÜNA TOPOLOGÍA. BASE. PARA. EL. 118. CONTROLADOR. 5.4.1 Topología pipeline.. 119. 5.4.2 Topología jerárquica.. 121. 5.4.3 Topología híbrida.. 121. 5.5 RECONFIGURABILIDAD.. 124. 5.5.1 Reconfigurabilidad por medio de hardware.. 125. 5.5.1.1 Reconfiguración dinámica del C004.. 125. 5.5.1.2 Trayectorias alternas predeclaradas.. 127. 5.5.1.3 Redundancia de procesadores.. 129. 5.6 RECONFIGURABILIDAD POR MEDIO DE SOFTWARE.. 5.7. 133. 5.6.1 Carga dinámica de código.. 135. 5.6.2 Canales virtuales.. 135. IMPLANTACIÓN. DEL. CONTROLADOR. SEGÚN. LA. 139. configuración. del. 140. Creación del archivo de configuración de la red de. 140. TOPOLOGÍA PROPUESTA. 5.7.1. Elaboración. del. archivo. de. conmutador IMS C004. 5.7.2. transputers (*.cfs). 5.7.3 Validación de la topología. 5.8 TOPOLOGÍA QUE CANALES VIRTUALES.. NO. UTILIZA SIO'S PARA EL RUTEO DE. 141 144.
(8) Pág. 5.8.1. Reconfiguración por hardware de la topología. 146. correspondiente a la opción 2. 5.8.2 Reconfigurabilidad. por medio de software.. 147. 5.8.3 Implantación de la solución alterna.. 148. 6. CONCLUSIONES Y RECOMENDACIONES A FUTURO.. 149. 6.1 CONCLUSIONES.. 149. 6.2 RECOMENDACIONES A FUTURO.. 151. BIBLIOGRAFÍA.. 13. ANEXO A DESCRIPCIÓN DEL HARDWARE UTILIZADO.. A.1 TARJETA IMS 8008.. 157 157. A.1.1 Configuración de enlaces.. 159. A.1.2 Interfaz con el bus 18M PC.. 159. A.1.3 Velocidades de los enlaces.. 162. A.1.4 Especificaciones.. 162. A.1.5 Asignación de pines en los conectores.. 163. A.1.6 Puentes.. 164. A.1.7 Interruptores.. 165. A.2 TARJETA ALX15C-25F o IMS 8426 (PROCESADOR T805@. 167. 25 MHz). A.2.1 Descripción.. 168. A.2.2 Descripción de los pines.. 169. A.2.3 Señales TRAM estándar.. 170. A.2.4 Configuración de memoria.. 171. A.3 TARJETAS ALX-232 (SI0-232) Y ALX-422 (SI0-422). A.3.1 Tarjeta ALX-232 (SI0-232).. 172 172.
(9) Pág. A.3.2 Tarjeta ALX-422 (SI0-422).. 173. ANEXO B. TARJETA IMS C004 CONMUTADOR DE ENLACE PROGRAMABLE.. 177. 8.1 INTRODUCCION.. 177. 8.2 SERVICIOS DEL SISTEMA.. 178. 8.3 ENLACES.. 179. 8.4 IMPLANTACIÓN DEL CONMUTADOR.. 180. 8.5 APLICACIONES.. 181. B.5.1 Conmutador de enlace.. 181. B.5.2 Control múltiple IMS C004.. 182. B.5.3 Ruteador de mensajes de propósito general.. 182. B.5.4 Sistemas de Bus.. 182. ANEXO C. ASERVER (ASYNCHRONOUS SERVER).. 183. C.1 INTRODUCCIÓN.. 183. C.2 ELEMENTOS DE SOFTWARE ... 183. C.3 CARACTERÍSTICAS.. 184. C.4 PUENTES (GATEWAYS).. 185. C.5 CLIENTES Y SERVICIOS.. 185. C.6 PROTOCOLOS.. 185. C.7 PUNTOS DE ACCESO.. 186. C.8 VARIABLES DE MEDIOAMBIENTE DE aserver... 186. C.9 irun gateway.. 187. C.1 O target gateway.. 188. C. 11 iserver.. 189. C.12 BASE DE DATOS DE Aserver(aservdb).. 189.
(10) Pág. ANEXO D. ANALIZADORES DE RED rspy e ispy.. 193. D.1 INTRODUCCION.. 193. 0.2 rspy.. 193. D.2.1 Línea de comandos de rspy.. 194. D.2.2 Salida del analizador de red.. 195. D.2.2.1 Descripción de la conexión de hardware.. 195. D.2.2.2 Descripción de hardware estilo el configurador. 196. de C. 0 .2.3 Soporte para el conmutador de enlace IMS C004. D.2.3.1. Sintaxis. del. archivo. del. conmutador. 196 197. (switch_fi/e).. D.2.4 Memoria. D.3 ispy.. 202 202. D.3.1 Descripción.. 202. D.3.2 Examinar redes con ispy.. 203. D.3.3 ispy mapeador de·red de transputers.. 204. D.3.4 Configuración de la tarjeta IMS 8008 utilizando ispy.. 205. ANEXO E. LENGUAJE DE CONFIGURACIÓN ANSI C.. 209. E.1 INTRODUCCIÓN.. 209. E.2 DECLARACIONES.. 210. E.3 COMENTARIOS.. 210. E.4 IDENTIFICADORES.. 210. E.5 TIPOS.. 210. E.6 CONSTANTES.. 211. E.7 BOLEANOS.. 212. E.8 EXPRESIONES.. 212.
(11) Pág. E.9 ARREGLOS.. 212. E.1 O DECLARACIÓN CONDICIONAL.. 213. E.11 CICLOS (rep).. 214. E.12 FUNCIONES CONSTRUIDAS.. 214. E.13 NODOS.. 215. E.13.1 Atributos de los nodos.. 215. E.13.2 Definición de nuevos tipos de nodos.. 216. E.13.3 Conexiones.. 216. E.13.4 Conexiones prohibidas.. 216. E.14 DIRECTIVAS DEL CONFIGURADOR.. 217. E.14.1 #include. E.15 SINTAXIS DEL LENGUAJE DE CONFIGURACIÓN. E.15.1 Notación.. 217 217 217. E.16 DETALLES DE IMPLANTACIÓN.. 218. E.17 PALABRAS RESERVADAS.. 218. E.17.1 Palabrasclave.. 218. E.17 .2 Atributos predefinidos.. 219. E.18 PREDEFINICIONES.. 221. E. 18.1 Constantes.. 221. E.18.2 Tipos.. 223. E.18.3 Declaraciones.. 224. ANEXO F EJEMPLO DE UN PROGRAMA DE UN PROGRAMA DE APLICACIÓN Y. 225. SU CORRESPONDIENTE ARCHIVO DE CONFIGURACIÓN.. F.1 CREACIÓN DEL ARCHIVO DE CONFIGURACIÓN.. 226. F.2 CREACIÓN DE LOS PROGRAMAS DE APLICACIÓN.. 229. F.2.1 Programa del procesador 1.. 229.
(12) Pág. F.2.2 Programa del procesador 2.. 231. F.3 CREACIÓN DEL PROGRAMA DE INICIO.. 232 234. F.3.1 Configuración del conmutador de enlace C004.. ANEXOG CÓDIGO DEL ARCHIVO DE CONFIGURACIÓN DEL CONTROLADOR. 237. PARALELO PROPUESTO.. ANEXO H CÓDIGO DE LOS ARCHIVOS DE CONFIGURACIÓN DEL C004 Y DE LA. 245. TOPOLOGÍA PARALELA AL TERNA~ . H.1. ELABORACIÓN DEL ARCHIVO DE CONFIGURACIÓN. DEL. 245. H.2 CREACIÓN DEL ARCHIVO DE CONFIGURACIÓN DE LA RED DE. 246. CONMUTADOR IMS C004.. TRANSPUTERS (.cfs).
(13) LISTA DE FIGURAS Núm. fig.. Descripción.. 1.1. Diagrama a bloques de la Celda de manufactura del ITESM-. Pág. 27. CEM. 1.2. Modelo jerárquico para facilitar la automatización de una celda. 28. de manufactura. 1.3. Esquema de la arquitectura propuesta.. 29. 2.1. Diagrama a bloques de la Celda de Manufactura del ITESM-. 36. CEM y del controlador paralelo distribuido. 2.2. Interfaz conmutada con caminos alternos.. 38. 2.3. Vista superior de la tarjeta IMS 8008.. 42. 2.4. Diagrama a bloques de la interfaz con el bus de la PC.. 43. 2.5. Vista superior del IMS 8426 y pinout.. 44. 2.6. Diagrama a bloques del SI0-232.. 44. 2.7. Diagrama a bloques dél SI0-422.. 45. 2.8. Vista superior de la tarjeta SI0-232.. 46. 2.9. Vista superior de la tarjeta SI0-422.. 46. Relación de los puntos de conexión del C004 con las ranuras. 48. 2.10. (slots).. 2.11. Sintaxis del archivo del conmutador.. 52. 2.12. Configuración de los puentes JP1, JP2, JP3 y el interruptor. 54. SW1. 2.13. Conexión en pipe del SIO y un T805.. 55. 2.14. Instalación de los TRAM'S T805 y SIO en la tarjeta IMS 8008.. 57. 2.15. Anillo de dos transputers.. 58. 2.16. Resultado de rspy antes de configurar el CQ04.,. 58.
(14) Pág. 2.17. la. 59. Resultado después de configurar el C004 con el archivo de la. 60. Archivo de configuración del conmutador C004 para topología de la figura 2.15.. 2.18. figura 2.17. 3.1. Tipos de modelos de memoria.. 67. 3.2. Comunicación secuencial de procesos.. 68. 3.3. Principales estados de desarrollo.. 76. 3.4. Construcción del modelo del programa.. 77. 3.5. Elementos de software que componen Aserver.. 81. 4.1. Esquema del archivo de configuración (.cfs) de una red de. 87. transputers.. 4.2. Modelo de configuración.. 87. 4.3. Mapa de memoria por omisión de icconf.. 91. 4.4. Diagrama de una topología anillo con dos procesadores.. 94. 4.5. Esquema de interconexión de los procesos x, y, z.. 100. 4.6. Mapeo de un canal.. 104. 5.1. Ejemplos de redes.. 110. 5.2. Esquema de conexiones físicas del controlador con la celda de. 116. manufactura. 5.3. Configuración pipeline con 5 procesadores T805 y 2 SIO's.. 120. 5.4. Topología base elegida.. 123. 5.5. Relación de los puntos de conexión del C004 para obtener la. 124. topología base. 5.6. Esquema de conexiones de una red de transputers.. 126. 5.7. Reconfiguración de la topología base propuesta con rutas. 128. alternas. 5.8. Reconfiguración de la topología base si falla el transputer 1. 130. (raíz).. 5.9. Reconfiguración de la topología base si falla el transputer 2. • 1 B L U) TE a A. 131.
(15) Pág. 5.10. Reconfiguración de la topología base si falla el transputer 3.. 132. 5.11. Reconfiguración de la topología base si falla el transputer 4.. 133. 5.12. Esquema de la distribución del área de código de T1 y T2.. 134. 5.13. Arquitectura del controlador paralelo distribuido propuesto.. 137. 5.14. Esquema de interconexión de procesos de la topología elegida.. 138. 5.15. Configuración del interruptor C004.. 140. 5.16. Resultado de la ejecución de rspy utilizando el archivo de la. 142. figura 5.15. 5.17. Conexiones de red de acuerdo con el resultado mostrado en la. 143. figura 5.16. 5.18. Topología base correspondiente a la segunda opción.. 145. 5.19. Reconfiguración de la lopología base propuesta como segunda. 146. opción con rutas alternas. 5.20. Esquema de conexiones físicas y virtuales de la opción alterna.. 147. A.1. Vista superior de la IMS 8008.. 157. A.2. Puentes (pipejumpers).. 158. A.3. Diagrama a bloques de la interfaz con el bus de la PC.. 160. A.4. P1, asignación de pines del patch header socket.. 163. A.5. P2, Asignación de pines para el conector tipo D-37.. 164. A.6. Posición de los puentes en los arreglos de pines JP1, JP2 y. 165. JP3. A.7. Detalle del SW1, muestra las posiciones ON y OFF.. 165. A.8. Diagrama a bloques del IMS 8426.. 168. A.9. Vista superior del IMS 8426 y pinout.. 169. A.10. Mapa de las direcciones de memoria.. 171. A.11. Diagrama a bloques del SI0-232.. 173. A.12. Vista superior de la tarjeta SI0-232.. 174. A.13. Diagrama a bloques del SI0-422.. 175. A.14. Vista superior de la tarjeta SI0-422.. 175.
(16) Pág.. 8.1. Diagrama a bloques del IMS C004.. 178. C.1. Esquema del software de una interfaz para un sistema. 184. computadora huésped-tarjeta base de transputers. C.2. Línea ejemplo de la base de datos de Aserver (aservdb).. 190. 0.1. Ejemplo de un archivo generado por rspy utilizando la opción -. 195. w. 0.2. Ejemplo del configurador estilo C del analizador de red.. 196. 0.3. Relación de los puntos de conexión del C004 con las ranuras. 199. (slots).. 0.4. Anillo de dos transputers.. 200. 0.5. Resultado de rspy antes de configurar el C004.. 200. 0.6. Archivo de configuración· del conmutador C004 para. la. 201. Resultado después de ocnfigurar el C004 con el archivo de la. 201. topología de la figura 0.4.. 0.7. figura 0.6.. F.1. Relación de los puntos de conexión del C004 con las ranuras. 235. (s/ots). H.1. Configuración del conmutador C004.. 245. H.2. Conexión entre procesos, solución alterna.. 246.
(17) LISTA DE TABLAS. Descripción. Núm. tabla. Pág.. 2.1. Características técnicas SI0-232 y SI0-422.. 47. 2.2. Opciones del comando rspy.. 51. 2.3. Archivos modificados al instalar el D7414A.. 53. 2.4. Configuración de las variables de 1/aunch.. 53. 3.1. Funciones de inicio de procesos.. 69. 3.2. Liberaciónde la pila (stack) y área de trabajo.. 70. 4.1. Atributos para procesadores.. 88. 4.2. Atributos de procesos.. 96. 5.1. Puntos de conexión del C004 requeridos en la topología. 123. base. 5.2. Puntos de conexión del C004 requeridos para las rutas. 129. alternas. 5.3. Variables que controlan el número de canales entre. 139. procesos. A.1. Tarjeta IMS 8008. · ·. 158. A.2. Mapa de memoria del IMS 8008.. 161. A.3. Detalles del medioambiente.. 163. A.4. Conexiones hechas por los puentes del arreglo de pines.. 164. A.5. Funciones de los interruptores cuando están en las. 166. posiciones ON y OFF. A.6. Direcciones base en la tarjeta y selecciones deshabilitadas. 166. del bus PC. A.7. Selección para la ranura (slot) O y servicios del sistema Down.. 166.
(18) Pág. A.8. Selección de los servicios del sistema para las ranuras. 166. (slots) 1 a 9. A.9. Selección de velocidades de los enlaces del TRAM.. 167. A.10. IMS C012, IMS C004, y selección de velocidad de los. 167. enlaces del IMS T225. A.11. Características del IMS 8426.. 168. A.12. Descripción pines IMS 8426.. 169. A.13. Localización de la memoria externa sobre el IMS 8426.. 171. A.14. Caracterísiticas técnicas SI0-232 y SI0-422. 176. 8.1. Mensajes de configuración del IMS C004.. 181. 0.1. Opciones del comando rspy.. 194. 0.2. Significado de las columnas de la figura 0.1.. 195. 0.3. Salida de rspy descripción de los enlaces.. 195.
(19) 25. 1. INTRODUCCIÓN. Las celdas de manufactura tienen una función primordial dentro de la economía de un país, ya que se encargan de llev.~r a cabo los procesos de producción de los diferentes artículos de consumo de la sociedad moderna. Entre las industrias que utilizan celdas de manufactura se pueden mencionar la automotriz, del calzado, del vestido, etc. Todas estas industrias tienen como objetivo principal el maximizar el número de productos elaborados, con calidad, eficiencia y en el menor tiempo y costo posibles.. Con el propósito de llevar a la práctica este objetivo se han integrado los avances de la tecnología computacional a los procesos de producción, dando de esta manera origen a las celdas de manufactura integradas por computadora. Una Celda de Manufactura lntf:grada por Computadora (C/M) es una unidad de producción que controla por computadora los lugares de trabajo (maquinaria y procesos de producción) de una fábrica. Una celda de manufactura tiene tres componentes principales:. a) herramientas estándares y máquinas controladas numéricamente; b) dispositivos para mover partes y posiblemente herramientas entre máquinas y lugares de trabajo; y c) un sistema de control que coordina máquinas y herramientas [8].. Las celdas de manufactura actu.~les presentan la desventaja de que la planeación de sus actividades es estática, realizan trabajos repetitivos, sin inteligencia. Un cambio en.
(20) 26. el procedimiento de producción requiere, en este tipo de celdas, la planeación meticulosa de cuándo y cómo sus partes deben interactuar. La implantación de estos cambios puede representar semanas de esfuerzo, lo que resulta un inconveniente para una empresa. Debido a esta probleniatica, en los últimos años se ha desarrollado el concepto de Celdas Flexibles de Manufactura (CFM) para referirse a sistemas ideales, los cuales poseen las siguientes características [3]:. 1. Flexibilidad de planeación: habilidad para reconocer planes en diferentes formatos y adaptarse a los cambios en el medio ambiente u objetivos. 2. Reconfigurabilidad: habilidad para cambiar la configuración del sistema, de tal manera que se puedan manufacturar nuevos productos o tolerar fallas en el sistema. 3. Detección de fallas y aislamiento: habilidad para detectar, identificar y aislar fallas.. La meta es automatizar totalmente las CFM; para alcanzar esta meta no es suficiente que todas las máquinas sean programables, sino que se comporten en conjunto como un sistema [1]. Una CFM implica la integración de todas las funciones de manufactura por medio de un sistema de procesamiento distribuido de datos. La conexión entre los elementos del Centro Integrado de Manufactura (CIM) se establece a través de las siete capas del modelo OSI (Open System lnterconection) [7] de ISO (lntemational Standarization Organization).. La presente tesis se desarrollará dentro del proyecto "Tecnologías de Comunicación Avanzadas en Robótica y Celdas Flexibles de Manufactura" [8] financiado por la National Science Foundation (NSF) y por el Consejo Nacional de Ciencia y Tecnología. (CONACyT); en él participan los Campus Estado de México y Morelos del Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM), y la Universidad de Texas (UT) en Austin. El proyecto está estructurado de tal manera que la UT estudiará el problema de las comunicaciones dentro de robots inteligentes, mientras que el ITESM analizará el problema de comunicaciones entre los componentes de la celda de manufactura. El objetivo principal del proyecto consiste en contribuir a resolver el.
(21) 27. problema de las comunicaciones entre los elementos de una Celda de Manufactura Flexible, mejorar la flexibilidad en la planeación de tareas e implantar tolerancia a fallas.. Más concretamente, esta tesis s~. encargará de plantear el desarrollo de un controlador paralelo reconfigurable basado en transputers, que permita asegurar [3]: a) un procesamiento en tiempo real y b) tolerancia a fallas. Para ello se utilizará la celda de manufactura localizada en el ITESM-CEM (ver figura 1.1 ).. Fresa. D. Torno. D. AS/RS Mitsubishi. Control AS/RS. ... Júpiter. Bandas transportadoras (conveyor). Fig. 1.1 Diagrama a bloques de la Celda de manufactura del ITESM-CEM..
(22) 28. 1.1 PLANTEAMIENTO DEL PROBLEMA.. Las funciones ejecutadas por un sistema de información en un ambiente industrial pueden clasificarse de acuerdo a un modelo jerárquico como el propuesto por Mclean. y Mitchell [13] (ver fig. 1.2). En este modelo, se identifican dos necesidades para la integración y la comunicación:. a) Horizontal. Designa la necesidad de integrar en orden todas las operaciones requeridas para procesar cada pieza de material nuevo, hasta obtener el producto final; ésto implica comunicación directa entre pares en la jerarquía. b) Vertical. Abarca el flujo de información desde el diseño hasta la programación de los dispositivos básicos de manufactura.. En esta tesis se tratara el primer caso y de manera particular, la comunicación en una celda flexible de manufactura (niveles 4 y 5, en la figura 1.2 [1 O]).. Nivel de Funciones realizadas: Facilidad 1 Manejo de info. lng. de manufactura Manejo de producción Taller. Esquema de tarea 2 Localización de recursos -. Celda. -. -. -. Red "broadcast". Equipo. Nodos de comunicación Taller de Máquinas. Taller de Ensambe. i - - - - - - - - -1--t. -. Análisis de tareas Manejo de grupos 3 Esquema Despacho Monitoreo. Celda virtual. Celda virtua 1. N. 2. i---------1. Estación de traba N. ----1. Equipo. Maquinaria Medición 5 Manejo Transporte Almacenamiento 4. 5. 6. Fig. 1.2 Modelo jerárquico para facilitar la automatización de una celda de manufactura..
(23) 29. La necesidad de separar la comunicación local de la global, para obtener retrasos cortos de tiempo en mensajes urgentes, lleva a usar la jerarquía anterior de redes como infraestructura de comunicación de una CFM.. En un proyecto anterior (en el ITESM-CEM) se diseñó y construyó un controlador de celda [1 ), el cual presentó los siguientes problemas:. •. El canal de comunicación entre la computadora (control de piso) y la tarjeta madre del controlador era muy lento y único (RS-232), lo que trajo como consecuencia un canal de comunicación lento (2400 bauds) y consecuentemente cuellos de botella.. •. El envío de información entre los componentes del CIM y la computadora (control de piso) era lento al tener que pasar por dispositivos intermedios.. • No se contemplaba en este esquema la tolerancia a fallas.. En atención a lo antes expuesto y con miras a solucionar estos problemas, se propuso dentro del marco del proyecto que ahora financia NSF-CONACyT [8], un controlador con la arquitectura mostrada en ta figura 1.3.. Controlador paralelo distribuido. ··-··-··-··-··-··-··-··-··-··-··-··-··-··, Sistema de transputers. Elemento 1 de la celda. -------------··················. Tarjeta base para transputers. j. 1. PC. RS232/RS422 j. Elemento 2. Convertidor de enlace Enl~ces Red reconfigurable transputer a interfaz serie ' de transputers ...,.,.,.........>ff'11':,....,.......,estándar RS232/RS4222. L •• -. •• -. •• -. •• -. •• -.·,· -. •• -. •• -. •• -. •• -. •• -. •• -. •• -. • • ..J. Bus interno de la PC RS232/RS422. Fig. 1.3 Esquema de la arquitectura propuesta.. Elemento N de la celda.
(24) 30. Debido a que los componentes de una celda de manufactura se encuentran físicamente distribuidos, es natural pensar en un controlador distribuido, por lo que la arquitectura propuesta es una mezcla de paralela y distribuida.. La arquitectura del controlador contempla el uso de transputers [3], los cuales se encontrarán montados sobre una tarjeta base, instalada directamente en el bus de una computadora personal. La velocidad de comunicación entre los transputers y el procesador de la PC es mucho mayor que en [1], lo cual redundará en un control más rápido y flexible. Además, el uso de múltiples transputers introducirá redundancia de hardware en el controlador, lo que permitirá incrementar la tolerancia a fallas. La interfaz entre transputers y robots también es redundante, con varios elementos de procesamiento [5], lo que permite implantar tolerancia a fallas.. Los objetivos de esta tesis son:. 1) Diseñar una topología paralela reconfigurable de transputers que controle a los elementos de la celda de manufactura del ITEM-CEM (ver figura 1.1) y que permita asegurar [3]:. a) Procesamiento en tiempo real. b) Tolerancia a fallas.. Esta arquitectura deberá contemplar el ser útil tanto para el desarrollador del sistema tolerante a fallas [17], como para el desarrollador de la interfaz de comunicación entre los transputers y los robots [5, 9].. 2) Proporcionar una guía que permita ayudar a localizar la información necesaria sobre el manejo de las herramientas de software (ANSI C Toolset) y hardware (transputers, tarjeta IMS 8008, SIO y conmutador IMS C004) utilizadas en el controlador paralelo distribuido. Ésto es con el propósito de crear un soporte que sea de utilidad para los desarrolladores de las siguientes etapas del proyecto [8]: diseño de interfaces de.
(25) 31. comunicación de la celda de manufactura- red de transputers, tolerancia a fallas, software de aplicación, etc.. 1.2 JUSTIFICACIÓN.. La idea de utilizar transputers se basa en que éstos permiten procesamiento paralelo en tiempo real, lo cual resulta atractivo desde los siguientes puntos de vista [14]:. a) Costo. Aunque las computadoras paralelas no son baratas, pueden ofrecer un valor considerable en términos de la razón costo/beneficio cuando se comparan con máquinas convencionales de rendimiento similar. Esto es particularmente cierto para máquinas hechas con una gran cantidad de microprocesadores baratos. Las máquinas paralelas basadas en transputers entran dentro de esta categoría.. Con sistemas de transputers es posible lograr una escalabilidad de rendimiento casi lineal con respecto al costo del hardware. Ésto se compara muy favorablemente con maquinas convencionales de alto rendimiento, donde las actualizaciones son caras y algunas veces dan sólo ventajas marginales en rendimiento.. b) Velocidad. A pesar de que se continúan logrando mejoras de rendimiento en el diseño de procesadores convencionales, generalmente se acepta que limitaciones fundamentales de electrónica y miniaturización pronto crearán una barrera para futuras mejoras. Por esta razón, los diseñadores ahora buscan más allá del modelo convencional Von Neumann las oportunidades de tener significativos avances en el rendimiento computacional.. El procesamiento paralelo es visto cada vez más como una solución eficiente para proveer el poder computacional requerido por aplicaciones modernas en campos como la animación, procesamiento de muy largas bases de datos y procesamiento de transacciones, por mencionar algunas..
(26) 32 c) Simplicidad. Debido a la naturaleza inherentemente paralela de muchos problemas del mundo real, a menudo se da el caso de que la solución sea más fácilmente expresada en términos de un programa paralelo que de un programa secuencial.. A nivel del software, una máquina paralela es a menudo capaz de prescindir de operaciones complejas del sistema operativo para soportar aplicaciones de tiempo real. Un ejemplo de ello son las facilidades provistas para el manejo de concurrencia. y sincronización por el lenguaje nativo de programación de los transputers, Occam. d) Seguridad. Las máquinas multiproceso son útiles para el diseño de sistemas tolerantes a fallas y de seguridad crítica.. Cada transputer tiene cuatro enlaces de entrada/salida que habilitan simultáneamente conexiones punto a punto con otros transputers. Ésto permite tener sistemas basados. ... en multi-transputers de varias topologías y tamaños, en los que el poder de procesamiento, memoria y ancho de banda de comunicaciones se incrementan en proporción al número de transputers incorporados en ellos.. Algunos trabajos anteriores en el ITESM en los que se empezó a utilizar la tecnología de transputers para controlar celdas flexibles de manufactura fueron:. • Michel y Ramírez [11] estudiaron las características y arquitectura del transputer T805 auxiliándose de un sistema de desarrollo CSA Transputer Educational Kit (TEK).. • Sánchez-Martínez [12] realizaron la integración de un sistema que permitiera comunicar el transputer con uno de los robots de la celda de manufactura del Campus Estado de México. El inconveniente de este trabajo es que la comunicación se realizó por medio de mapeo de memoria y no se contempló el tener dentro de su sistema tolerancia a fallas ni flexibilidad..
(27) 33. • Alarcón. [5]. desarrolló. una. interfaz. reconfigurable. que. permite. realizar. la. comunicación entre los diferentes elementos que constituyen a la CFM, empleando para ello el transputer T805 de INMOS. La desventaja principal que presenta este sistema es que la reconfiguración de la red de transputers se hace por medio de alambrado de hardware, no dinámicamente.. El sistema utilizado en la presente tesis difiere del utilizado por Alarcón en cuanto a que la reconfiguración de la red se hace por medio de un interruptor programable, además de que proporciona un ambiente más amigable (por medio de ventanas) para el desarrollo e implantación de programas de aplicación con el sistema de transputers.. El contenido de la tesis es el siguiente:. • Capítulo 1. Se proporcionan los antecedentes, objetivo y justificación del trabajo de tesis.. • Capítulo 2. Se indican las características de los equipos y del software que se utilizaron durante el desarrollo de la tesis.. • Capítulo 3. Se indican las herramientas y pasos necesarios para la creación de código ejecutable para un transputer o una red de transputers.. • Capítulo 4. Se indican lo componentes del programa de configuración de la red de transputers (descripción de las redes de hardware, software y mapeo).. • Capítulo 5. Se proponen diferentes topologías de red para transputers, adecuadas para controlar celdas flexibles de manufactura, así como los criterios utilizados para seleccionar una topología de red.. • Capítulo 6. Se proporcionan las conclusiones y recomendaciones a futuro, con base en las experiencias obtenidas durante el desarrollo de la tesis..
(28) 34. • Anexo A. Se proporcionan las características técnicas de la tarjeta base para transputers IMS 8008, los módulos SI0-232 y SI0-422 y el módulo TRAM T805.. • Anexo B. Se proporcionan las características técnicas del conmutador de enlace IMS C004.. • Anexo C. Se proporciona una descripción del servidor asíncrono Aserver.. • Anexo D. Se proporcionan las características y el manejo de los analizadores de red rspy e ispy. Se hace hincapié en el rspy, ya que este es el analizador utilizado en el. desarrollo de la tesis.. • Anexo E. Se indican las principales instrucciones del lenguaje de configuración ANSI C.. • Anexo F. Se proporciona un ejemplo que muestra el uso de los conceptos vistos en los capítulos 2, 3 y 4.. • Anexo G. Se proporciona el código del archivo de configuración del controlador paralelo propuesto.. Anexo H. Se proporciona el código de los archivos de configuración del C004 y de la topología paralela alterna para su implantación..
(29) 35. 2. CARACTERÍSTICAS DEL MEDIOAMBIENTE DE LA CELDA DE. MANUFACTURA . Y. EQUIPOS. A. UTILIZAR. EN. EL. CONTROLADOR. La celda de manufactura del ITESM-CEM está compuesta de los siguientes elementos (figura 2.1 a):. a) Herramientas estándares y de control numérico: una fresadora MAHO 700S y un torno GRAZIANO GR300S.. b) Dispositivos para mover partes: dos bandas transportadoras (conveyor), un mecanismo de almacenamiento AS/RS y tres robots: Puma, Mitsubishi y Júpiter.. c) Sistema de control: conjunto de programas computacionales que actualmente no coordinan a todos los elementos de la celda en conjunto; cada uno de ellos se programa de manera independiente para hacer tareas rutinarias, sin capacidad de tomar decisiones. El torno, la fresa y el robot Puma pueden establecer comunicación entre ellos a través de la programación de un panel de control, mientras que la coordinación entre los robots Mitsubishi, Júpiter y las bandas se realiza por medio de un controlador lógico programable (PLC).. La actual falta de flexibilidad en la planeación de las tareas de los elementos de la celda del ITESM-CEM no es deseable ya que, como se analizó en el capítulo 1, es conveniente que su configuración sea fácil de cambiar y tolerante a fallas. Para lograr.
(30) 36. tales objetivos se propone en [3] la implantación de un controlador paralelo distribuido (PARDICO). Un esquema de la distribución de los elementos de la celda del ITESMCEM y de los componentes del controlador paralelo distribuido se muestra en la figura 2.1 b).. I Torno I. Mitsubishi. Júpiter. AS/RS. Control AS/RS. Bandas transportadoras (conveyor). (a) Distribución de los elementos de la celda de manufactura del ITESM-CEM Controlador paralelo distribuido. -----------------------------------------, Tarjeta base IMS 8008 PC. SIO -232 un elemento · x de la celda 1. RS422: Arquitectura reconfigurable de transputers T805. 1. SI0-422. · a un elemento , y de la celda . a un elemento · z de la celda. w, x, y y z = cualquiera de los elementos de la celda mostrados en (a). (b) Esquema del hardware que compone el controlador paralelo distribuido. Fig. 2.1 Diagrama a bloques de la Celda de Manufactura del ITESM-CEM y del controlador paralelo distribuido..
(31) 37. En el capítulo 1 se mencionó que el objetivo de esta tesis es implantar una arquitectura paralela reconfigurable de transputers que permita asegurar procesamiento real y tolerancia a fallas en una celda de manufactura.. Como antecedente se tiene el trabajo de Alarcón [5], donde el hardware utilizado para el controlador presenta algunas variantes con respecto al mostrado en el inciso b de la figura 2.1. Los componentes que se utilizaron en el controlador de [5] fueron:. 1) Tarjeta base para transputers modelo SMT004A. Esta tarjeta se conecta al bus interno de la PC y tiene cuatro ranuras para insertar módulos TRAM; permite configurar una red quasi-estática de transputers de hasta cuatro elementos. 2) TRAM transputer T805. Es un. módulo constituido por un transputer T805 y 4Mbytes de RAM. 3) Tarjeta de interfaz entre enlaces serie transputer y RS-232. Para interconectar los transputers con los robots se desarrolló e implantó una tarjeta interfaz que permitió. convertir los datos provenientes de los enlaces serie de los transputers al estándar RS232.. En el esquema de hardware presentado por Alarcón, se propone que un transputer controle un robot; en caso de falla, se tiene configurada por hardware una ruta alterna hacia un segundo transputer que ocupará el lugar del primero. Un esquema de la arquitectura utilizada por Alarcón se muestra en la figura 2.2.. En la presente tesis, además de considerar la reconfigurabilidad por medio de hardware (rutas alternas), se plantea la reconfigurabilidad por medio de software, al utilizar canales y enlaces virtuales que interconectan completamente a todos los transputers que forman la red. Una explicación detallada de esta solución será proporcionada en el capítulo 5.. A continuación se describirán a detalle las características de los elementos de la celda. y el controlador mostrados en la figura 2.1..
(32) 38. Robot. RS 232 C Interfaz desarrollada por Alarcón Link 2 TRAM 1. Link 4 TRAM2. Tarjeta de transputers. Fig. 2.2 lntefaz conmutada con caminos alternos.. 2.1 DESCRIPCIÓN DE LA CELDA DE MANUFACTURA DEL ITESM-CEM.. Los elementos que forman la celda de manufactura del ITESM-CEM son:. 3 Robots: Puma, Mitsubishi y Júpiter 1 Fresadora MAHO 700S. 1 Torno GRAZIANO GR300C 2 Bandas transportadoras (conveyor). 1 Mecanismo AS/RS. 2.1.1 Robot Puma.. Este robot posee seis grados de libert~.d controlados por servomotores. Está clasificado como tipo esférico, debido a que su área de trabajo tiene dicha característica. Sus actividades se enfocan a la alimentación del centro de maquinado y a proporcionar piezas al torno..
(33) 39. 2.1.2 Robot Mitsubishi.. Este robot posee cinco grados de libertad servocontrolados por un actuador eléctrico al que puede regularse la presión de trabajo. Su área de trabajo es esférica.. 2.1.3 Robot Amatrol Júpiter.. Este robot posee cuatro grados de libertad servocontrolados. Se diferencía de los robots anteriores, en que posee tres actuadores neumáticos finales intercambiables (dos tenazas de diferente tamaño y un destornillador). Su área de trabajo tiene la forma de una rebanada de pastel, tipo "scara". Por su forma, este robot nunca pierde la verticalidad de sus piezas, por lo que muchas de sus aplicaciones están en la inserción de componentes.. 2.1.4 Mecanismo AS/RS.. Su interfaz es igual a la del robot Júpiter, pero sólo cuenta con dos grados de libertad servocontrolados. Sus movimientos (girar, entrar/salir de la bahía y el actuador) son controlados en forma neumática. Su función principal es proporcionar materia prima a la celda y almacenar el producto terminado. Su área de trabajo es un prisma rectangular.. 2.1.5 Torno y fresadora.. El torno y la fresadora son máquinas - herramientas que cuentan con computadoras de control numérico (CNC) para responder al control automatizado de la celda. Estas máquinas realizan el trabajo final sobre las piezas que les proporcionan los robots..
(34) 40. Una descripción detallada acerca de los elementos de la celda de manufactura se encuentra en los trabajos realizados por Mota [16] y Morales [9].. 2.2 COMPONENTES DEL CONTROLADOR PARALELO DISTRIBUIDO.. El controlador paralelo-distribuido esquematizado en el inciso b de la figura 2.1, está compuesto por los siguientes elementos:. 1) Una computadora huésped 2) Un sistema de desarrollo para transputers que consta de hardware y software.. Cada uno de estos elementos será explicados a detalle en las siguientes secciones.. 2.2.1 Características de la computadora huésped del controlador.. La tarjeta IMS 8008 (ver sección 2.2.2.1) es del tipo bus interno, por lo que requiere de una computadora huésped para su funcionamiento. computadora huésped [30] son:. • Procesador Pentium @ 166 MHz. • Monitor SVGA. • Disco duro de 1 GByte. • 24 MBytes de memoria RAM. • Sistema Operativo Windows 95.. Las características de la.
(35) 41. 2.2.2 Características de hardware del sistema de desarrollo para transputers.. El hardware del sistema controlador consta de:. • 2 Tarjetas IMS 8008 (tarjeta base para los transputers). • 8 Módulos TRAM IMS 8426 (transputer T805 @ 25 MHz con 4M8ytes de RAM). • 1 Módulo ALX-232 para interfaz enlace transputer-RS232. • 1 Módulo ALX-422 para interfaz enlace transputer-RS422.. 2.2.2.1 Tarjeta IMS 8008.. La tarjeta base IMS 8008 [18] se conecta al bus de una 18M PC-AT y permite implantar diferentes tipos de topologías dinámicas de transputers. Soporta hasta 1O TRAM's insertados en las ranuras (slots) de la tarjeta. Los enlaces 1 y 2 de cada una de las ranuras (slots) TRAM están preconectados, de manera que cuando éstos se insertan en la tarjeta base forman un pipeline de procesamiento de elementos (ver figura 2.1 O). Los enlaces restantes pueden configurarse por software usando el interruptor de enlace programable IMS C004 (el cual .~e controla por el transputer T225) incorporado en la tarjeta base (ver sección 2.2.2.4). Este arreglo permite crear una gran variedad de redes bajo el control de software. La figura 2.3 muestra una vista superior de la tarjeta IMS 8008.. Una explicación detallada del funcionamiento y las características de la tarjeta IMS 8008 se proporciona en el anexo A.. Servicios preconectados del sistema.. Los servicios preconectados del sistema (sockets del subsistema en la figura 2.3) son señales a nivel de control que se utilizan para iniciar los transputers, detectar cuando.
(36) 42. ... ocurre un error y preparar el sistema para un análisis post-mortem. Estas tres funciones son realizadas por las señales: Reset, Analyse y Error, mostradas en la figura 2.4.. Patch header socket, P1. ranuras TRAM. 1. 5. 6. 2. o. 4. 7. 3. 8. Ranura 9 Sockets del Subsistema. Conector tipo D. P2. Fig. 2.3 Vista superior de la tarjeta IMS 8008.. Las señales de servicio del sistema en cada tarjeta están conectadas a puertos que permiten su conexión con otras tarjetas o bien para conectarse con la computadora huésped. Los puertos son de tres tipos: Up, Down y Subsystem.. Up.. Es el puerto de entrada, utilizado para controlar la tarjeta desde la fuente externa. Down y Subsystem son puertos de salida y son utilizados para enviar señales a otras tarjetas o subredes.. Down. Propaga la señal Up sin cambiar a la próxima tarjeta o subred. Ésto permite a. múltiples tarjetas ser unidas conectando sucesivos Down, de manera que la red completa pueda ser manejada por una sola señal..
(37) 43. Subsystem. Propaga las señales Reset y Analyse, y además permite el control del. software corriendo en la tarjeta.. Data bus. HostAnalyse HostReset. del. notHostError. Sistema Host. Al bus de la PC. lnterrupcienes Lógicas Interface. Outputln & lnputlnt. PC Bus. DMA Lógico. IMS C012. -E. C012Link. >. Fig. 2.4 Diagrama a bloques de la inteñaz con el bus de la PC.. 2.2.2.2 Módulos TRAM 8426 (T805 @ 25 MHz).. Los módulos TRAM 8426 [26] están constituidos por un transputer T805 @ 25 MHz con 4 MB de RAM. Dichos módulos se insertan en las ranuras (slots) de la tarjeta IMS. ... 8008, y dependiendo de su colocación dentro de la tarjeta, forman diferentes topologías de transputers (ver anexo A). Un esquema de las señales que utiliza se muestra en la figura 2.5.. 2.2.2.3 Módulos ALX-232 (510-232) y ALX-422 (SI0-422).. Los módulos SI0-232 y SI0-422 permiten realizar la conversión de enlace serie del transputer a un enlace serie estándar RS232 y RS422 respectivamente. Al igual que los.
(38) 44. TRAMS, estos módulos se insertan dentro de las ranuras (s/ots) de la tarjeta base IMS 8008, solo que ocupan dos ranuras. Sus diagramas a bloques se muestran en las figuras 2.6 y 2.7.. Datum (pin 1). o. Datum. O. Link2out O Link2in. o ovcc O O O O O. Link1out Link1 in LinkSpeedA LinkSpeedB Clockln (5 MHz). TAMAÑO 1. Link3in Link3out GND LinkOin LinkOout notError Re set Analyse. o o o o o o o o. s. Fig. 2.5 Vista superior del IMS 8426 y pinout.. MANEJADOR Transputer 16 bits. UART DUAL. T225. 1. RS-232. -. 1. 64 Kbytes SRAM. MANEJADOR. ....... RS-232. CONTROLADOR DE INTERRUPCIONES. Fig. 2.6 Diagrama a bloques del 510-232..
(39) 45. MANEJADOR Transputer 16 bits. UART. RS-422. DUAL. -. T225. 1 1. 64 Kbytes SRAM. -. MANEJADOR RS-422. CONTROLADOR DE INTERRUPCIONES. Fig. 2.7 Diagrama a bloques del 510-422.. El SI0-232 y el SI0-422 integran un transputer T225 con 64 Kbytes de SRAM y un transmisor/receptor universal asíncrono (DUART). El DUART les permite a cada una de las tarjetas programar la velocidad del enlace de salida, bits de parada, paridad y tamaño de palabra para comunicarse con dispositivos seriales externos.. EL DUART integrado en los SIO's proporciona dos puertos de entrada y salida (A y B en figuras 2.8 y 2.9), controlados por software. Los puertos son transmisores/receptores asíncronos ful/ duplex que pueden. conectarse directamente bajo estándares. industriales con monitores, impresoras, instrumentos de laboratorio o cualquier otro dispositivo RS-232.. La tabla 2.1 muestra un resumen de las características técnicas de las tarjetas SI0-232 y SI0-422..
(40) 46. indica polarización de la tarjeta. MANEJADOR RS-232. .____D_c_-D_c_c_vr_R_ __.[. MANEJADOR RS-232. FlPuertoA. ~ ~uertoB. TRANSPUTER. -a-n~Jps. ~I. ""'. Pin1. Fig. 2.8 Vista superior de la tarjeta 510-232.. 1 J6. Puerto A. ª1 J7. Puerto B. D. D. indica polarización de la tarjeta. DECODIFICADOR DE DIRECCIONES CONTROL DE INTERRUPCIONES. MANEJADORES RS422. D 71 loo alJP1. TRANSPUTER. ~JPS ~ +-Pin1. Fig. 2.9 Vista superior de la tarjeta 510-422..
(41) 47. 2.2.2.4 Interruptor programable IM5 C004.. El interruptor programable IMS C004 [27] forma parte de la tarjeta IMS 8008. Permite la reconfiguración por medio de software de los enlaces 2 y de 3 (ver figura 2.1 O) de los TRAM's insertados en las ranuras (s/ots) de dicha tarjeta (ver Anexo B). Ésto es, los enlaces 2 ó 3 de cualquier transputer (con excepción del raíz, puesto que solo tiene conectado el enlace 3 al C004), pueden ser conectados al enlace 2 ó 3 de otro transputer.. Tabla 2.1 Caract,rísticas técnicas 510-232 y 510-422.. Característica Fast SRAM No. puertos Baud Rate Tamaño de palabra Manejo de interrupciones Interrupciones Opción Baud Tamaño físico y transputer utilizado Observaciones. SI0-232 64 Kbyte (Ningún estado de espera) 2 RS-232 vía Dual FIFO buffered UART Programable independiente Tx y Rx de 50 a 230.4 KBaud Programable. SI0-422 64 Kbyte (Ningún estado de espera) 2 RS-422 vía Dual FIFO buffered UART Programable independiente Tx y Rx de 50 a 234.4 KBaud Programable. Ent/Sal. Ent/Sal. 3 disponibles 1 MBaud 2TRAM Transputer 16 bits T225 a) Full hardware handshake b) 152.4 m a 20Kbits/seg. Su limitación normal de cable es de 15m pero puede extenderse a varias decenas de metros mediante un cable de alta calidad.. 3 disponibles. --------2TRAM Transputer 16 bits T225 a) Capacidades handshake hardware b) RS-422 esta basado en circuitos y de diferenciales de transmisión recepción. Un circuito diferencial produce dos señales de polaridad opuesta para cada bit a transmitir. Como el receptor diferencial es sensible sólo a la diferencia entre las señales de entrada, cualquier pico de ruido en ambos conductores no afecta. La operación del receptor RS-422 es apropiada para usarse con cables de par torcido para separaciones de 1OOm a 1 Mbps o distancias mayores con menores velocidades.. Un esquema de la interconexión. ~ntre las ranuras (s/ots) y los puntos de conexión del C004 se muestra en la figura 2.1 O. Un ejemplo de cómo configurar estos enlaces para.
(42) 48. formar algún tipo especial de topología de transputers se explicará a detalle en la sección 2.5.. so. sl. s2. s4. s3. s8. s7. s6. s5. s9. o al bus. 2 1. 21. 21. 21. 21. 21. 21. 21. 21. 1. 3. 03. ~. 1. O. 2. 30. 3. 03. 2. 13. 4. 3. 03. 03. O. 3. 03. 03. IMS C004. Puntos de conexión del C004, correspondientes al enlace de la ranura (slot) al que está unido. Número del enlace correspondiente al transputer conectado en la ranura (slot) . sx = número de la ranura (s/ot) en la tarjeta IMS 8008.. Fig. 2.1 O Relación de los puntos de conexión del C004 con las ranuras (s/ots).. 2.2.3 Características de software del sistema de desarrollo para transputers.. El sistema operativo bajo el cual se está trabajando es Windows 95. Para trabajar con el hardware mencionado en la sección 2.2.2 se cuenta con el software de desarrollo D7414A proporcionado por el fabricante SGS Thomson. El D7414A esta formado por el lenguaje ANSI C too/set y el conjunto de herramientas: idump, iline, imon, inquest, iprof, ilaunch, y rspy..
(43) 49. 2.2.3.1 ANSI. e Toolset.. El ANSI C Too/set [19, 20, 23] permite desarrollar los programas de aplicación que se ejecutan en la red de transputers. Está compuesto por un compilador de ANSI C con soporte para concurrencia, un ligador (linker) multilenguaje (ANSI C y Occam), un configurador para mapear programas dentro de una red de transputers y para generar directamente archivos cargables (bootables), y una herramienta de configuración de memoria. En el siguiente capítulo se explicarán las características del Lenguaje C para transputers. El ANSI C Toolset viene integrado con el software INQUEST [24, 25] y una interfaz con la computadora huésped. INQUEST incluye un depurador interactivo y post-morlem, junto con varias herramientas de configuración, las cuales serán descritas. de manera breve a continuación, profundizando sólo en aquellas que fueron útiles para el desarrollo de la presente tesis.. 2.2.3.2 idump.. idump [26] salva el estado post-morlem (después de ejecución abortada) de una. aplicación en un archivo de la computadora huésped, para analizarlo después.. 2.2.3.3 ilaunch.. ilaunch [28] permite modificar ·1a configuración de las variables de medioambiente. utilizadas por Windows para trabajar con el sistema 07414A.. 2.2.3.4 imon.. imon [26] proporciona una representación gráfica post-morlem de la utilización de los. procesadores en el tiempo..
(44) 50. 2.2.3.5 inquest.. inquest (26) permite depurar desde la computadora huésped una aplicación que se. ejecuta en la red de transputers.. 2.2.3.6 iprof.. iprof (26) proporciona un estimado post-mortem del tiempo de CPU que se utilizó en. cada proceso, procedimiento o función en el programa.. 2.2.3.7 rspy.. rspy (26) es un analizador de red utilizado para probar la configuración y la memoria de. una red de transputers, generar parte de la descripción de la configuración de hardware y fijar las conexiones del interruptor C004.. La línea de comandos de rspy tiene la forma: rspy {opciones}. donde opciones puede ser cualquiera de las mostradas en la tabla 2.2. Para una descripción más detallada de las opciones de rspy consultar el anexo D.. Soporte para el conmutador de enlace IMS C004.. Uno de los usos del rspy es la configuración del conmutador de enlace C004. Los conmutadores de enlace pueden ser reiniciados utilizando la opción -CR. La opción C4 provoca que rspy liste las conexiones configuradas de cada enlace del conmutador que encuentra como parte de la red. La opción -CL puede utilizarse para escribir las. ... conexiones configuradas de cada enlace, en el formato de un archivo del conmutador..
(45) 51. Tabla 2.2 Opciones del comando rspy.. Opción -C4 -CC -CL -CO -CR -CS switch file. -H -1 -M -M2 -M4 -MC -ME kbytes -ML -MT procesador -NR -SL nombre del recurso -W -X progname -XTO seconds -Y. Descripción. Da las conexiones del conmutador C004. Salida del estilo icconf para la descripción de hardware. Sólo salidas de las conexiones del conmutador de enlace en formato archivo del conmutador. Salida del estilo occonf para la descripción de hardware. Reinicia caalquier enlace del conmutador encontrado. Fija las conexiones del conmutador de enlace del archivo switch_file. Despliega la ayuda de la página. Despliega la información de como corre rspy. Proporciona el tamaño de la memoria. Proporciona el tamaño de la memoria, solo para los transputers T2xx. Proporciona el tamaño de la memoria, solo para los transputers T4xx y T8xx. Proporciona el tamaño de la memoria incluyendo los transputers IMS T2xx conectados a los enlaces del conmutador. Proporciona el tamaño de la memoria, para después probar los kbytes de memoria por transputer. Proporciona el tamaño de la memoria, muestra el progreso de la prueba. Proporciona el tamaño de la memoria sólo para el tipo de procesador. No reinicia la red. Utiliza el nombre del recurso que fue definido en la variable de medioambiente TRANSPUTER. Muestra que rspy está todavía trabajando. Utiliza el código adicional proporcionado por el usuario .rsc del archivo progname. Fija el timeout del usuario .rsc a segundos. El valor por omisión es de 5 segundos. No corre la parte de detección.. rspy puede fijar las conexiones de enlace de uno o más conmutadores IMS C004 en. una red; lo anterior se logra utilizando la opción -CS en la línea de comando:. rspy -es switch file. El archivo del conmutador (switch_file) está escrito en ASCII y define dónde se encuentran los conmutadores y cómo están configuradas sus conexiones. Su sintaxis se muestra en la figura 2.11..
(46) 52. switch name. "nombre". type. C004. path. lista_número_enlaces. connect. lista_conexiones. Fig. 2.11 Sintaxis del archivo del conmutador.. En este archivo:. switch: Es la primera línea de un bloque de declaraciones por conmutador.. name: Define un nombre para el conmutador de enlace.. type: Define el tipo de conmutador. El único tipo definido actualmente es el C004.. path: Indica en qué parte de la red se encuentra el conmutador. La trayectoria. lista número enlaces es una lista de los números de enlace a través de una cadena de transputers de la computadora huésped al enlace de configuración del C004. Cada número define el enlace de un transputer en la cadena excepto para el último número, el cual es el enlace al conmutador. Cada número de enlace en la lista deberá estar en el rango de O a 3.. connect: Especifica las conexiones que serán hechas por el conmutador de enlace.. Cada conexión es un par de números de enlace (de O a 31) separados por un cáracter, según si la conexión es bidireccional ("-") o unidireccional (">").. Los espacios y las líneas en blanco no son significativas para el archivo del conmutador. Los comentarios se indican utilizando la convención empleada en lenguaje. C..
(47) 53. 2.3. CONFIGURACION DE LOS ARCHIVOS DEL SISTEMA AL INSTALAR EL. D7414A.. Una vez que se instaló el software de desarrollo D7414A, hay que verificar que los archivos del sistema: autoexec.bat, config.sys y system.ini tengan las líneas mostradas en la tabla 2.3.. Tabla 2.3 Archivos modificados al instalar el D7414A.. Archivo. autoexec.bat. Modificaciones realizadas al instalarse el D7414A. Agrega las siguientes líneas: SET ISEAROH C:\D7414A\Ll8S; C:\D7414A\ASLl8S SET PATH C:\D7414A\TOOLS SET ITERM C:\D7414A\ITERMS\PCANSI.ITM En el párrafo correspondiente a [386Enh], las dos primeras líneas deben ser: DEVICE C:\D7414A\TOOLS\vwrun.386 DEVICE C:\D7414A\TOOLS\vb008st.386 y las dos últimas líneas de ese párrafo deben ser: 80088ASE Dirección base (el valor por omisión es 150) 80081rq Número de Interrupción (el valor por omisión es 3) Debe asegurarse que el atributo files sea al menos igual con 20.. = =. system.ini. =. = =. =. config.sys. =. 2.3.1 Configuración de las variables de medioambiente utilizando i/aunch.. La configuración de las variables. del medio ambiente para el ANSI C Too/set se debe hacer en la ventana correspondiente a ilaunch, de acuerdo con la tabla 2.4.. Tabla 2.4 Configuración de las variables de 1/aunch.. Variable de medioambiente ISEARCH. Descripción Trayectoria del directorio de librerías, herramientas y archivos de configuración del sistema: ISEARCH C:\D7414A\ASLl8S\; C:\D7414A\EXAMPLES\MEMAPP\TOOLS; C:\D7 414A\Ll8S\ASERVD8 Trayectoria del directorio donde se encuentra la base de datos aservdb: ASERVD8 C:\D7414A\Ll8S\ASERVD8 Nombre de la tarjeta base, para este caso es 8008, para este caso queda: TRANSPUTER 8008. =. ASERVD8 TRANSPUTER. =. =.
(48) 54. 2.4 CONFIGURACIÓN DE HARDWARE DE LA TARJETA IMS 8008.. Antes de instalar la tarjeta IMS 8008 en el bus de la PC, debe de verificarse que la tarjeta tenga la siguiente configuración:. 1) Instalar los puentes correspondientes a las señales del subsistema en la ranura (s/ot) O (ver fig. 2.3). Ésto debe de hacerse para la primera tarjeta; en caso de tener instaladas dos tarjetas, en la segunp.a no deben de colocarse estos puentes.. 2) Definir una dirección base, por ejemplo 150 Hex (ver figura 2.12). Para esta dirección, el interruptor SW1 debe tener las siguientes posiciones: SW1: 1=ON; SW1:2=0FF.. 3) Comunicar el TRAM de la ranura O (raíz) con el interruptor C012 (ver figura 2.12), colocando los seis puentes en JP1. Ésto conecta además el link[1] del TRAM con el link[1] del T225, y el link[O] del T225 con el link[28] del IMS C004.. 1. JP3. 1 1 1 1 1 11. íl D. .. JP1. JP2. ON. SW1. --. ----. OFF 1. 1 2 3 4 5. 6. 7. 8. Fig. 2.12 Configuración de los puentes JP1, JP2, JP3 y el interruptor SW1.. 4) Fijar la velocidad de los enlaces a 20 Mbps. Para ello hacer: SW1 :5 a SW1 :8=0FF (ver figura 2.12)..
(49) 55. 5) Habilitar el TRAM raíz por medio de software desde la PC. Para ello el sistema de servicios deberá estar configurado como Host System, es decir SW1 :3 debe estar en OFF.. Debido a que la tecnología utilizada para la construcción de la tarjeta IMS 8008 es CMOS se debe tener cuidado al manejarla; para su manejo se recomienda el uso de una pulsera antiestática. Las recomendaciones a tomar en cuenta para la instalación de la tarjeta IMS 8008 en el bus de la computadora se explican en el manual de la IMS 8008 (User Guide and Reference Manual [18]).. 2.4.1 Ejemplo de configuración de TRAM'S en la tarjeta IMS 8008.. Para ejemplificar la instalación del T805, el SIO y el uso de pipejumpers en la tarjeta, .. considere que se desea conectarlos de acuerdo al diagrama mostrado en la figura 2.13.. T805 ranura (slot) O. 2. 1. SIO ranura (slot) 2. Fig. 2.13 Conexión en pipe del 510 y un T805.. El procedimiento para realizar las conexiones mostradas en esta figura son:. 1) Verificar que la tarjeta tenga la configuración indicada en el punto 2.5. No olvidar. ... usar pulsera antiestática al realizar la instalación del T805 y del SIO, para evitar que la electricidad estática dañe las tarjetas.. 2) Asegurarse que los puentes correspondientes al socket del subsistema (ver figura 2.3) se encuentren insertados en la ranura (s/ot) O de la tarjeta IMS 8008; en caso contrario, colocarlos en la posición mostrada en la figura 2.14(a). A diferencia de los pipejumpers, estos puentes no tienen polarización. La no inserción de los puentes.
(50) 56. del subsistema, provocaría que la tarjeta no tenga comunicación con la computadora huésped. La ranura O siempre debe de estar ocupada por un transputer, ya que éste es el que se encarga de establecer la comunicación con la computadora huésped.. 3) Insertar la tarjeta T805 en la ranura (s/ot) O de la IMS 8008, teniendo especial cuidado en no maltratar los pines pertenecientes al subsistema. La esquina marcada del T805 debe coincidir con la esquina marcada en la ranura O (ver figura 2.14 (b)). La tarjeta debe entrar a presión, sin tener que forzarla.. 4) Insertar la tarjeta SIO en la ranura (s/ot) 2 de la IMS 8008. La esquina marcada de la tarjeta debe coincidir con la esquina marcada en la ranura 2 (ver figura 2.14 (b)).. Al no tener insertado ningún TRAM en la ranura (s/ot) 1, el SIO está desconectado del T805. La conexión pipeline en la tarjeta se tiene sólo cuando se insertan TRAM's en las ranuras (s/ots) de manera consecutiva. En este caso, para conectar el enlace 2 del T805 con el 1 del SIO, se debe insertar el pipejumper en la ranura 1, como se indica en la figura 2.14 (c).. 2.5 CONFIGURACIÓN POR SOFTWARE DEL C004.. Para realizar físicamente las conexio~~s mostradas en la figura 2.15, se debe hacer lo siguiente:. 1) Para conectar el enlace 2 de T1 con el enlace 1 de T2, insertar un TRAM en la ranura (s/ot) O y otro en la ranura (s/ot) 1 de la tarjeta IMS 8008. Recordar que los enlaces 1 y 2 de cada ranura están preconectados en la IMS 8008 (no olvidar insertar los TRAM's en la tarjeta de acuerdo a su polarización)..
(51) (b) Insertar el T805 y el SIO haciendo coincidir las marcas de éstos con las marcas en las ranuras de la tarjeta.. CJ 8. 'fo -V. CJ. ......._____J '/ CJ/ IMS 8008. Pipejumper. (a) Insertar los puentes en la ranura (s/ot) O correspondientes a las señales analyse, reset, error (c) El punto amarillo del pipejumper debe insertarse del lado de la ranura donde se encuentra la diagonal.. Flg. 2.14 Instalación de los TRAM's T805 y 510 en la tarjeta IMS 8008.. 57.
(52) 58. T1 TBOS ranura (slot) O. '. 2. 1. T2 TBOS I anura (s/ot) 1 3. 3. '. Fig. 2.15 Anillo de dos transputers.. 2) Para lograr la conexión del enlace 3 de T1 con el enlace 3 de T2, se realiza el siguiente procedimiento:. a) Una vez que se ha instalado la tarjeta en la computadora, ejecutar rspy con la opción -c4. El resultado de dicha operación deberá ser el mostrado en la figura 2.16.. # Part-rt O 1 2 3. TBOS-25 T225-20 C004 ( ) TBOS-25. LinkO Link1 Link2 Link3 HOST 1-1 3-1 0-1 2-C 0-2. 4-1. Fig. 2.16 Resultado de rspy antes de configurar el C004.. Nota: Es posible que rspy no detecte el C004 en la red, debido a un error de la tarjeta IMS 8008 que hace que un latch en la configuración del T225 permanezca en estado alto, de manera que el C004 se mantiene en estado de inicio (reset) permanente [32]. Para solucionar éste problema, se deberá de salir de Windows 95 con la opción apagar el sistema; posteriormente en vez de apagar la computadora se deberá de presionar.
(53) 59. el botón de inicio (reset). Si la computadora huésped no cuenta con dicho botón, entonces presionar dos veces seguidas el botón de encendido y apagado; después de realizar esta acción, entrar nuevamente a Windows y ejecutar rspy; el resultado debe ser el mostrado en la figura 2.16.. switch name type path connect. "my_C004_ 1" C004. 13 10-11. Fig. 2.17 Archivo de configuración del conmutador C004 para la topología de la figura 2.15.. b) Construir el archivo de configuración del conmutador, de acuerdo con la sintaxis mostrada la figura 2.11. El atributo path corresponde a la trayectoria del enlace 1 del transputer raíz hacia el único enlace conectado al C004, es decir, la trayectoria 1-3. Obtener los puntos de conexión (ver figura 2.9) que corresponden al enlace ·3 ranura O y al enlace 3 ranura 1; la unión de estos dos puntos se logra con el atributo connect 10-11. Por tanto el contenido del archivo para configurar el conmutador C004 queda como se muestra en la figura 2.17.. c) Ejecutar rspy con la opción: rspy -es nombre_archivo_configuración. El resultado de esta corrida debe ser el mostrado en la figura 2.18..
(54) 60. # Part-rt O 1 2 3. LinkO Link1 Link2 Link3 3-1 3-3 TBOS-25 HOST 1-1 2-C 0-1 T225-20 C004 (10-11) TBOS-25 0-2 4-1 0-3. Fig. 2.18 Resultado después de configurar el C004 con el archivo de la figura 2.17..
(55) 61. 3. PARALELISMO Y DESARROLLO DE PROGRAMAS PARA TRANSPUTERS. En la primera parte de este capítulo, se explicará la necesidad de utilizar procesamiento paralelo para controlar celdas flexibles y se mostrarán algunos tipos de arquitecturas paralelas existentes. En la segunda parte, se explicará el modelo de programación utilizado por el sistema de desarrollo de programas para transputers ANSI C Too/set, mencionado en el capítulo 2, así como las principales funciones que se utilizan para implantar procesamiento paralelo y concurrencia.. 3.1 ANTECEDENTES.. El mundo real es inherentemente paralelo, ya que generalmente ocurren cosas diferentes al mismo tiempo. Aún dentro de sistemas cerrados, como las celdas de manufactura, es inusual encontrar que exista una sola secuencia de actividades, en donde cada evento inicie después de que el anterior finalice, y termine antes de que el siguiente comience [14).. Típicamente los programas de computadora que modelan el mundo real se desarrollaron de manera secuencial, debido a que los programas debían de encajar con la arquitectura de las computadoras disponibles en ese momento, todas ellas conforme al modelo ideado por Von Neumann. Con los avances en diseño y manufactura de VLSI (Very Large Sea/e lntegration) a principios de los BO's, se logró la construcción de.
(56) 62. 1. máquinas paralelas comerciales. En ese entonces también se creó el primer procesador específico para el procesamiento paralelo: el transputer.. Con la llegada de las arquitecturas paralelas es posible hoy explotar el paralelismo natural de los problemas, en vez de ver ésto como un obstáculo a vencer. Junto con la evolución de la arquitectura también cambiaron los conceptos de programación; se pasó de algoritmos secuenciales, a la posibilidad de implantar algoritmos paralelos cuando los requerimientos del problema así lo exigen. En los sistemas convencionales de software se tiene un modelo de pr:ogramación en el cual un algoritmo se codifica como un conjunto de procedimientos y llamadas a éstos. Para máquinas secuenciales ésto se realiza usualmente en un lenguaje de alto nivel como C, Fortran, Pascal o Cobol.. Los lenguajes para programar máquinas paralelas usualmente tienen bibliotecas que permiten manejar operaciones paralelas tales como comunicación entre procesos. Una solución más elegante se basa en el uso de lenguajes intrínsecamente paralelos tales como Occam, el cual implanta un formalismo paralelo conocido como "Procesos Secuenciales Comunicantes" (Communicating Sequential Processes -CSP-) (33].. Occam es particularmente adecuado para solucionar problemas que tienen un alto grado de paralelismo y/o complejos procesos de intercomunicación. Sin embargo, para aplicaciones de muy alto nivel es conveniente usar lenguajes como C. Es por ello que el lenguaje utilizado para el desarrollo de la presente tesis es el lenguaje de programación ANSI C Too/set, distribuido por el fabricante del transputer (SGS Thomson). La versión del lenguaje ANSI C proporcionada por SGS Thomsson, utiliza las capacidades de Occam además de agregar portabilidad a los programas desarrollados en éste.. 1.
(57) 63. 3.2 PARALELISMO DE APLICACIONES.. El paralelismo de las aplicaciones [34] está limitado por los siguientes factores:. • Secuencialidad intrínseca: no todas las partes de un algoritmo pueden ejecutarse en. paralelo. • Concurrencia: las partes de un algoritmo deben compartir los recursos, que pueden. ser finitos. • Sincronización: las partes deben de sincronizarse, ya sea por paso de mensajes o. memoria compartida.. El paralelismo existente en un problema puede ser explícito o encubierto [14].. 3.2.1 Paralelismo Explícito.. El paralelismo explícito se tiene cuando a simple vista, el problema puede dividirse en unidades funcionales que no guardan mucha dependencia entre sí, de manera que puedan trabajar independientemente y al mismo tiempo. En algunas aplicaciones, el paralelismo natural es tan explícito que es un problema evitarlo e idear una solución secuencial.. Un buen ejemplo podría ser un sistema de control industrial con un gran numero de sensores y actuadores. Otro ejemplo de paralelismo explícito se encuentra en problemas que requieren el cálculo de gran cantidad de datos, donde cada uno de ellos es independiente de muchos o de todos los demás. Éste es típicamente el caso en aplicaciones de modelos basados en análisis de elementos finitos. En tales problemas el grado de paralelismo puede exceder la capacidad de cualquier hardware paralelo disponible..
(58) 64. 3.2.2 Paralelismo encubierto.. El paralelismo encubierto es aquel que no permite a simple vista indicarlo como solución a un problema determinado, y aparece como solución en ocasiones sólo después de un análisis detallado. Para expresar el paralelismo en estos casos, se deben aplicar algunas técnicas básicas tal como "divide y vencerás", o un análisis de tareas y comunicaciones [14].. En el caso particular de la celda de manufactura se tiene un paralelismo explícito, ya que cada uno de sus elementos realiza tareas propias (por ejemplo el torno no realiza las mismas funciones que la fresadora). Estos elementos necesitan intercambiar mensajes para poder coordinar sus labores, las cuales en conjunto forman un proceso de producción. Si alguna de las actividades se interrumpe, ésta afecta a la etapa subsecuente. Este razonamiento llevó a proponer que por cada elemento de la celda exista un transputer que se encargue de controlar sus actividades (una explicación detallada al respecto se encuentra en el capítulo 5 sección 5.3).. 3.2.3 Paradigmas de programación paralela.. Entre los paradigmas de programación con transputers se tienen :. • Paralelismo Algorítmico. La aplicación se divide en unidades funcionales que. trabajan en paralelo. Para casos simples, pueden formar por ejemplo un pipeline. Las etapas se p~eden ejecutar en paralelo, mientras que la. comunicación utiliza buffers para que el procesador no tenga que esperar por una entrada/salida.. • Paralelismo Geométrico. Muchas aplicaciones tienen un patrón regular de. utilización de datos, con limitadas interacciones espaciales. Un procesador puede asignarse a cada área particular de datos, mientras que las.
Figure
Documento similar
The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the
In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in
This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)
Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)
Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en
Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas