Cap2.pdf
Document Details
Uploaded by Deleted User
Tags
Full Transcript
Capítulo 2 Hardware para de Tiempo Real Ing. J. Marcelo Arancibia Rodríguez Introducción STR Puede usarse Computadoras No todas están igualmente adaptadas para tal trabajo. digitales Tales comput...
Capítulo 2 Hardware para de Tiempo Real Ing. J. Marcelo Arancibia Rodríguez Introducción STR Puede usarse Computadoras No todas están igualmente adaptadas para tal trabajo. digitales Tales computadoras deben poder comunicarse de forma efectiva tanto con el entorno como con el personal. Una computadora tradicional prima solamente la comunicación con los usuarios. Sistemas Centralizados El desempeño general de cualquier computadora, esta determinado por diversos factores: Capacidad del procesador: en Capacidad de Ancho de Banda Estructura del Sistema términos de poder Almacenamiento Entrada/Salida de Interrupciones de procesamiento La capacidad de un sistema en reaccionar ante eventos con una meta dada está determinada por el desempeño de estos componentes. Procesador Un factor importante para determinar el poder de procesamiento es considerar el conjunto de instrucciones del procesador: Arquitectura CISC Arquitectura RISC Posee un conjunto de instrucciones extenso y poderoso; ejecuta una única instrucción que Posee un conjunto de instrucciones reducido, desempeña una función compleja (en lugar de varias cuyo objetivo es lograr la ejecución de una instrucciones): reduce el número de accesos a la instrucción por ciclo de reloj. La programación se memoria, mejorando la velocidad de procesamiento la realiza asignando tiempo iguales a todas las y disminuyendo el espacio de memoria usado, sin instrucciones, lo que conlleva en muchas embargo, la programación eficiente en esta clase de ocasiones la existencia de mayor grado de procesadores es muy compleja, debido a la paralelismo. extensión y variedad de instrucciones Procesador A la hora de diseñar un microprocesador es decidir cual será su juego de instrucciones. El juego de instrucciones decide el diseño físico del conjunto; cualquier operación que deba ejecutarse en el microprocesador deberá poder ser descrita en términos de un lenguaje de estas instrucciones. Procesador La tasa de transferencia de información es crucial para el tipo de aplicaciones que se están analizando, considerando el alto grado de interacción con el ambiente; tasas de transferencias bajas puede provocar una disminución general en el desempeño del sistema: Es muy importante la posibilidad de poder hacer Tener comunicación con Disponer de una estructura operaciones de un amplio rango de flexible y eficiente de transferencia en paralelo dispositivos interrupciones con el procesamiento de datos. Procesador La utilización de distintos tipos de coprocesadores (matemáticos, gráficos), permiten obtener mejores tiempos de respuestas. En la actualidad existe un alto grado de uso de pipelining en la mayor parte de los procesadores. El poder de computo se ha incrementado con la introducción de procesadores especializados dedicados a resolver problemas complejos a alta velocidad Computadoras Computadoras SIMD Multiprocesador Computadoras Vectoriales Memoria Es un Componente (hardware) en el que se almacena la información procesada por el ordenador. Cada ordenador viene con cierta cantidad de memoria física, referida generalmente como memoria principal o RAM. Memoria principal: como arreglo de Funciona de manera similar a un juego de celdas de memoria, cada una de los cubículos divididos usados para clasificar la cuales puede llevar a cabo un solo correspondencia en la oficina postal. A cada byte de información. bit de datos se asigna una dirección. Cada dirección corresponde a un cubículo (ubicación) en la memoria. Para guardar información en la memoria, el procesador primero envía la dirección para los datos. El controlador de memoria encuentra el cubículo adecuado y luego el procesador envía los datos a escribir. Memoria Memoria Convencional (DOS) Memoria Expandida Memoria Baja (Parte (Ampliación - LIM) Residente S.O.) Áreas de la Memoria Virtual memoria Memoria Alta (Tamaño Suficiente) (Prog. Ejecutables) Memoria Extendida Memoria Superior (falta de memoria (BIOS, Video, ROM) conv,) Memoria Los principales problemas de la memoria en relación a los sistemas de tiempo real son su tamaño y tiempo de acceso. En la actualidad el problema de costos se ha reducido drásticamente, pero ya no es un problema en la mayoría de los casos sino de capacidad de direccionamiento del procesador. Dispositivos de Entrada/Salida Una característica principal del hardware usado par sistemas de tiempo real, es la gran diversidad de dispositivos existentes, y la variedad de sus tasas de transferencia. Los distintos dispositivos usan diferentes tipos de transferencia (ya sea en serie o paralelo). La interacción de los dispositivos con el ambiente, por lo que es necesaria la existencia de interfaces que hagan conversiones (AD – DA – conversión a tasas de pulsos). Dispositivos de Entrada/Salida Tipos de transferencia: Una característica principal a analizar con respecto a las transferencias de entrada/salida son las distintas formas de efectuarlas, ya que la forma elegida puede afectar el desempeño del sistema. El problema de sincronización reside en que Transferencia de datos: la mayoría de los dispositivos operan de sincronización con el procesador forma asincrónica con respecto al procesador Ejemplo: algunos dispositivos de salida tienen características que les permiten aceptar un dato en todo momento (luces, llaves, etc), mientras otros (impresoras, canales de comunicación) no son los suficientemente rápidos para atender a la computadora en todo momento. Dispositivos de Entrada/Salida Tipos de transferencia: La técnica más simple para lograr la sincronización entre los dispositivos y el procesador es hacer que el procesador controle directamente los dispositivos. El programa en ejecución deberá conocer los tiempos de Usar ciclos de espera que transferencia de cada uno de superen dichos tiempos. los dispositivos Esta técnica se denomina transferencia bajo control del programa, y permite lograr la mayor flexibilidad de operación. Este procesos genera que el procesador sea desperdiciado y su velocidad de operación se verá limitada Dispositivos de Entrada/Salida Una mejora simple a los problemas de esta técnica es la utilización de polling, en ésta forma de transferencia, la computadora puede usar líneas de comunicación para consultar a un dispositivo si éste está listo para realizar la transferencia. El polling permite usar técnicas de Primero se chequea el dispositivo para ver transferencia condicional, en las que el si está listo, si es así se hace la procesador puede continuar trabajando si transferencia; sino el procesador puede el dispositivo está ocupado. seguir trabajando. De esta forma puede aumentarse el grado de uso del procesador Dispositivos de Entrada/Salida Con esta técnica los periféricos mandan una señal de interrupción al procesador cuando requieren su atención. Ya no se desperdicia tiempo de procesador Ni se tienen los problemas de en ciclos de espera demorada. sincronización del polling Las interrupciones son esenciales para la operación correcta de la mayoría de sistemas de tiempo real, ya que además se usan para manejar el reloj de tiempo real, alarmas, indicación de fallas de hardware, avisos de fallas de energía y otros. Dispositivos de Entrada/Salida Una técnica de programación que combina las ventajas de las interrupciones y el polling, es la utilización de buffers de entrada/salida. Pequeñas porciones de memoria que pueden ser usadas como almacenamiento intermedio entre un dispositivo y el procesador. El programa de aplicación se escribe como un ciclo en el que el programa espera datos (usando polling), los procesa, y vuelve a esperar por más datos. La rutina de atención de interrupciones del dispositivo lee los datos y los almacena en un buffer (Generalmente circular). Dispositivos de Entrada/Salida Una alternativa ante estos casos es el uso de DMA (Direct Memory Access, Acceso Directo de Memoría) Permite que un dispositivo utilice los buses y transfiera datos a la memoria, interrumpiendo al procesador luego de haber transferido un gran número de datos. De esta forma, se reduce el overhead impuesto por la rutina de atención de la interrupción. Cuando dos o más dispositivos tratan de usar el bus simultáneamente, se produce un fenómeno llamado “contención de bus” Cuando un dispositivo tiene el control de bus y otro obtiene el acceso al mismo, ocurre una COLISIÓN Dispositivos de Entrada/Salida Para asegurar que el bus sólo sea usado por un dispositivo a la vez, se pueden usar varias técnicas: Modo de ráfaga: Modo distribuido: Robo de ciclos: El controlador DMA toma El controlador DMA toma Cada vez que se procesa el control del bus, e inhibe ciclos de procesador un requerimiento de DMA, al procesador durante el ocasionalmente, y usa el canal “roba” un ciclo del periodo necesario para la cada ciclo para transferir procesador y lo utiliza transferencia, para un byte de información, para poner los datos en el prevenir las colisiones se bus de datos. pide que cada dispositivo emita una señal de pedido DMA, al reconocer el pedido, se activan líneas del bus y se produce la transferencia Dispositivos de Entrada/Salida Instrucciones de transferencia: Otra cuestión importante relacionada con el sistema de entrada/salida son las distintas formas que tiene un programador de realizar las transferencias, (pueden afectar el desempeño de tiempo real). Una instrucción de tipo IN: transfiere Cuando se usa entrada/salida datos desde un dispositivo a un registro programada, se utilizan de procesador. instrucciones de máquina especiales para transferir datos Una instrucción de tipo OUT: envía el desde y hacia el procesador contenido de un registro a un dispositivo Ambas instrucciones necesitan la ejecución del procesador, y demoran un tiempo que hay que considerar al programar Dispositivos de Entrada/Salida Se usan para el Almacenamiento auxiliar: almacenamiento de datos/información, estos dispositivos operan asincrónicamente con el procesador, es importante elegir una técnica de transferencia. En un sistema de tiempo real no es deseable que el procesador haga la transferencia, ya que es lento. Dispositivos de Entrada/Salida Dispositivos de intercambio con el Ambiente: Es un Es un Sensores Actuadores Dispositivo elemento físico que que está en provoca una contacto alteración directo con del ambiente una variable Son el vínculo principal entre la con el cual física que se computadora y un proceso que interactúa, desea medir. ocurre en el mundo real. produciendo una reacción Los sensores y los actuadores física o se pueden combinar a través química en de acondicionadores de señal. el mismo. Dispositivos de Entrada/Salida Traductores digitales: Se usan para contar eventos (en el caso de estar asociados con sensores), o para proveer una salida digital. Ejemplo 1: Ejemplo 2: Los tacómetros digitales, que son Una bomba, además de cumplir su sensores que proveen una función, puede usar una seña digital velocidad tomando un disco con para transmitir su temperatura interna, una pista que refleja o interrumpe lo que puede ayudar a los ingenieros la luz. de una planta para hacer actividades Puede contarse la cantidad de de mantenimiento, una válvula puede pulsos en un tiempo fijo, tiempo informar su estado (abierta o cerrada), entre pulsos consecutivos o un termistor puede responder cuando velocidad media de los pulsos del fue calibrado por última vez. sensor. Dispositivos de Entrada/Salida Microcontroladores: Es un circuito integrado que es el componente principal de una aplicación embebida. Es como una pequeña computadora que incluye sistemas para controlar elementos de entrada/salida. También incluye a un procesador y por supuesto memoria que puede guardar el programa y sus variables (flash y RAM). Funciona como una mini PC. Su función es la de automatizar procesos y procesar información. Dispositivos de Entrada/Salida Elementos de un Microcontrolador: Tarea de investigación Sistemas Multiprocesador Sistemas Distribuidos Multiprocesadores