6/6/23, 13:53 1.1.3. Unidad central de proceso, CPU | 1.
ESTRUCTURA, MANEJO E INSTALACIÓN DE LOS AUTÓMATAS PROGRAMABLES
1.1.3. Unidad central de proceso, CPU
La Unidad Central de Proceso o CPU es el corazón
del autómata y está construida en torno a un
sistema electrónico microprocesado. Es la
encargada de ejecutar el programa de usuario y
de coordinar las tareas de los elementos
descritos en el apartado anterior a través de los
buses de comunicación: entrada/salida, lecturas
de memoria de programa, acceso a contadores,
etc. Para efectuar esta tarea la CPU lee las
instrucciones de la memoria de programa y va
ejecutando las órdenes allí descritas.
Un sistema electrónico microprocesado es una
pequeña computadora que contiene un elemento llamado microprocesador capaz de
ejecutar sentencias de programa escritas en lenguaje de bajo nivel que se almacena en
una memoria propia e independiente. El microprocesador necesita una serie de
elementos internos:
- ALU
La Unidad Aritmético/Lógica o ALU es la encargada de realizar las operaciones
matemáticas sencillas (multiplicaciones, divisiones, sumas y restas de números
enteros —sin decimales—) y las operaciones lógicas (AND, OR, comparaciones —
mayor que, menor que, igual que—).
- Acumulador
Es un registro muy importante, ya que es el que almacena el resultado de
cualquier operación efectuada por la ALU.
- Registros
Son unidades que almacenan parámetros numéricos de las instrucciones
aritméticas y lógicas que queramos ejecutar.
- FLAGS
También llamados marcadores digitales de estado, almacenan los resultados de
las operaciones binarias efectuadas por la ALU, así como información
complementaria sobre dichos cálculos: desbordamiento de operación, signo del
resultado, menor que, igual que, resultado igual a cero, resultado distinto de
cero, etc. Estos resultados pueden ser consultados directamente por el programa.
Todas las operaciones matemáticas se efectúan en la CPU en lógica binaria,
codificando todos los números con “1” y “0”. Para trabajar en binario se opera
[Link] 1/4
6/6/23, 13:53 1.1.3. Unidad central de proceso, CPU | 1. ESTRUCTURA, MANEJO E INSTALACIÓN DE LOS AUTÓMATAS PROGRAMABLES
normalmente con los números, sumando y multiplicando de derecha a izquierda
como hacemos convencionalmente, salvo que 1+1 proporciona el valor binario
10, es decir, 1+1=0 y nos llevamos 1 para el siguiente dígito.
- Contador de programa
O PC. Es el registro encargado de ir recorriendo la memoria de programa y que
almacena la dirección de la siguiente instrucción a ejecutar. Si bien lo más
habitual es que la ejecución de las instrucciones sea secuencial, una tras otra,
también hay juegos de instrucciones denominadas de salto que producen
precisamente saltos en la ejecución del programa (toma de decisiones en función
de comparaciones, por ejemplo).
- Decodificador de instrucciones y secuenciador
Este elemento interpreta las instrucciones de bajo nivel apuntadas por el
Contador de Programa, generando internamente las señales de control
necesarias para ejecutar la orden leída. Esta ejecución de la instrucción leída
puede implementarse de dos formas fundamentalmente: o bien con una lógica
cableada (ejecución más rápida pero más costosa de implementar) o bien por
una lógica interpretada (más lenta pero menos costosa de implementar). Un
microprocesador de lógica interpretada ejecuta internamente otro programa
adicional que traduce las instrucciones del lenguaje de bajo nivel a otras aún más
básicas solo para uso interno de la CPU, de modo que cada instrucción de
programa accedida por el PC (Contador de programa) es a su vez convertida a
una o más instrucciones internas a la lógica de la CPU.
- Memoria de programa de sistema
Esta memoria, interna a la CPU y no accesible para el usuario, contiene el
programa de sistema que es el que permite al microprocesador que conforma la
CPU ser capaz de ir leyendo, interpretando y ejecutando las instrucciones del
programa de usuario. Es decir, contiene el programa que describe a la CPU cómo
interpretar las órdenes escritas en el programa de usuario y cómo llevarlas a
cabo convenientemente. Además contiene los algoritmos necesarios para
controlar la puesta en marcha de la CPU, para controlar los errores en la
ejecución así como facilitar su seguimiento, para controlar la carga del programa
de usuario en la CPU, etc.
- Registros de pila
O stack registers. Estos registros permiten a la CPU almacenar variables
temporales sobre la memoria RAM, por ejemplo los parámetros de llamadas a
subrutinas. El término de “pila” se debe a la forma de operar con ellos,
depositándolos uno sobre otro en la memoria, de forma que al ir leyéndolos
vamos leyendo el más reciente, luego el anterior, como si estuviesen
amontonados en una pila en la que solo podemos acceder al elemento superior.
- Coprocesador matemático
[Link] 2/4
6/6/23, 13:53 1.1.3. Unidad central de proceso, CPU | 1. ESTRUCTURA, MANEJO E INSTALACIÓN DE LOS AUTÓMATAS PROGRAMABLES
En sistemas de gama media / alta suele ser habitual la inclusión en la CPU de
una estructura compleja, similar a otra pequeña CPU en ocasiones, que ejecuta
de forma rápida y eficiente operaciones matemáticas complejas como por
ejemplo operaciones con decimales.
Los microprocesadores que ejecutan lógica cableada se denominan RISC y los que
ejecutan lógica interpretada CISC.
Como ya se ha mencionado, la ejecución del programa interno de la CPU puede
efectuarse por lógica interpretada o por lógica cableada. Este funcionamiento es
transparente para el usuario, que no puede acceder a dichas operaciones internas ni
modificar su comportamiento. Por el distinto coste que implica cada solución,
habitualmente los autómatas programables de gama baja y media suelen usar lógicas
internas interpretadas, mientras que los de gama alta suelen implementar lógica interna
cableada por la mejora de velocidad de ejecución que supone.
Por otro lado, dada la diversidad de autómatas programables existentes, sus
características y los requisitos que se les demandan, existen diferentes arquitecturas
de microprocesadores que mejoran la velocidad de ejecución de los programas, como
son:
Estructura concurrente
Estructura concurrente de varios microprocesadores trabajando internamente en la
misma CPU de forma paralela, ejecutando entre ellos las instrucciones del programa
de usuario de forma más rápida.
Estructura de control distribuido
En esta estructura unidades externas a la CPU ejecutan tareas específicas complejas
a modo de coprocesadores o periféricos inteligentes. Estos periféricos inteligentes
suelen incorporar internamente otra pequeña CPU con un programa específico para
la tarea concreta que se les asigne, como por ejemplo la regulación de velocidad de
un motor eléctrico, la comunicación con otros equipos, etc., de modo que la CPU
principal del autómata encomienda dicha tarea compleja al periférico inteligente que
corresponda, quedando descargada de esa pesada tarea.
Estas dos estructuras alternativas para la mejora de prestaciones pueden coexistir en
autómatas de gama alta, de modo que la CPU principal puede disponer de varios
microprocesadores internos y al mismo tiempo contar con periféricos inteligentes
externos para ejecutar de modo más eficiente las tareas más complejas, aumentando la
velocidad de ejecución y la precisión de las tareas de control.
[Link] 3/4
6/6/23, 13:53 1.1.3. Unidad central de proceso, CPU | 1. ESTRUCTURA, MANEJO E INSTALACIÓN DE LOS AUTÓMATAS PROGRAMABLES
En las gamas de producto de autómatas programables, a las unidades que contienen
interiormente a la CPU con la memoria interna, la memoria de programa de usuario y la
memoria de imágenes de entrada y salida, se les suele denominar por extensión también
como tarjeta CPU, tarjeta principal, unidad de proceso o simplemente como CPU.
El microprocesador también es el corazón de un ordenador
portátil, una tableta o un teléfono de última generación.
TOME NOTA
Más Info
El buscador de Google es un potente conversor de números de decimal a
binario. Basta buscar un número indicando que queremos verlo en binario
para ver la conversión. Para operar con un número binario en Google,
indique que es binario con el prefijo “0b”. De este modo para multiplicar los
números binarios 1011 por 1101 y ver su resultado, pongamos en el
buscador de Google el texto “0b1011*0b1101”. Si lo que queremos es ver
ese resultado en decimal, tendríamos que indicarle al buscar
“0b1011*0b1101 in decimal”.
[Link] 4/4