Arquitectura interna

Introducción
CPU
Memoria del autómata
Memoria interna
Memoria de programa
Interfaces de E/S
Fuente de alimentación

Ciclo de funcionamiento

Modos de operación
Ciclo de funcionamiento
Tiempo de ejecución y control en tiempo real
Elementos de procesado rápido

Estructuras de programación

Introducción
Programación lineal
Programación estructurada

Programación del autómata

Introducción
Representar el sistema de control
Asignar direcciones
Lenguaje de programación

Arquitectura interna del autómata


Unidad de control (CPU)

La CPU (Central Procesing Unit) es la encargada de ejecutar el programa de usuario y de ordenar la transferencia de información en el sistema de entradas y salidas. Esta parte del autómata, toma de memoria las instrucciones una a una y realiza las operaciones asignadas con el fin de ejecutar el programa de usuario. El funcionamiento se realiza, salvo raras ocasiones, decodificando las instrucciones cada vez que son ejecutadas. Esta decodificación puede realizarse de dos maneras, bien mediante un sistema lógico compuesto por microprocesador mas memoria, o bien por microprogramación por hardware (cableada). La primera opción es la más barata y es utilizada en autómatas de baja gama, mientras que la segunda opción, aún teniendo mayores costes de diseño y desarrollo, el bajo tiempo de ejecución de las órdenes lo compensa. Esta opción es utilizada en autómatas de media y alta gama.

En algunos casos la decodificación se realiza con la ayuda de una memoria externa con el fin de obtener los siguientes beneficios y posibilidades:

- Modificación del lenguaje de programación
- Tratamiento de señales analógicas
- Manipulación de textos
- Algoritmos de control en lazo cerrado

Esta posibilidad aumenta la flexibilidad del sistema, pero también aumenta los tiempos de ejecución, llegando a quintuplicarlos. En la siguiente figura se pueden ver los diferentes bloques de los que está formada la CPU y de que forma están conectados:

  Partes de la CPU:

 ALU (Arithmetic logic unit): Encargada de realizar las operaciones lógicas y aritméticas.

 Acumulador: Almacena el resultado de la última operación de la ALU.

 Flash: Son indicadores de resultado de operación y pueden ser consultados por programa.

 Contador de programa (PC, program counter): Es el encargado de la lectura de las instrucciones de usuario y, por lo tanto, de la secuencia de ejecución.

Decodificador de instrucciones y secuenciador: Su cometido es el de decodificar las instrucciones de programa y generar las señales de control. Puede ser, como hemos comentado antes, una decodificación cableada y/o programada.

Programa ROM del sistema: Es el lugar donde se almacena la secuencia de puesta en marcha y las rutinas de test y de error de ejecución.

Cartucho de ROM externa: Esta parte es opcional y se utilizaría con el fin de que la CPU pudiera decodificar y ejecutar instrucciones complejas o escritas en lenguajes de programación más potentes.

Debido a la diversidad de tareas que debe realizar la CPU, aparece en autómatas de gama media y alta una subdivisión y reparto de tareas de la misma a fin de optimizar el funcionamiento. Esta subdivisión puede realizarse de dos maneras:

  • Con arquitectura de coprocesador
  • Con arquitectura de control distribuido mediante el empleo de módulos inteligentes

Con la primera opción se disponen de varios microprocesadores que ejecutan el programa de forma concurrente, trabajando en paralelo y mejorando las prestaciones del sistema en cuanto rapidez y potencia de cálculo. Mientras que utilizando módulos inteligentes se consigue descargar al procesador central procesos que necesitan gran rapidez, conectando dichos módulos al bus interno del autómata.