UNIDAD DE CONTROL
|
Esta unidad
es de las más importantes en el procesador, en ella recae la lógica necesaria
para la decodificación y ejecución de las instrucciones, el control de los
registros, la ALU, los buses y cuanta cosa más se quiera meter en el
procesador.
La unidad de
control es uno de los elementos fundamentales que determinan las prestaciones
del procesador, ya que su tipo y estructura, determina parámetros tales como el
tipo de conjunto de
instrucciones, velocidad de ejecución, tiempo del ciclo de máquina, tipo de
buses que puede tener el sistema, manejo de interrupciones y un buen número de
cosas más que en cualquier procesador van a parar a este bloque.
Por supuesto,
las unidades de control, son el elemento más complejo de un procesador y
normalmente están divididas en unidades más pequeñas trabajando de conjunto. La
unidad de control agrupa componentes tales como la unidad de decodificación,
unidad de ejecución, controladores de memoria cache, controladores de buses, controlador de interrupciones,
pipelines, entre otros elementos, dependiendo siempre del tipo de procesador.
Unidad
aritmético-lógica
Como los procesadores son circuitos
que hacen básicamente operaciones lógicas y matemáticas, se le dedica a este
proceso una unidad completa, con cierta independencia. Aquí es donde se
realizan las sumas, restas, y operaciones lógicas típicas del álgebra de Boole.
Actualmente este tipo de unidades ha
evolucionado mucho y los procesadores más modernos tienen varias ALU,
especializadas en la realización de operaciones complejas como las operaciones
en coma flotante. De hecho en muchos casos le han cambiado su nombre por el de
“coprocesador matemático”, aunque este es un término que surgió para dar nombre
a un tipo especial de procesador que se conecta directamente al procesador más
tradicional.
Su impacto en las prestaciones del
procesador es también importante porque, dependiendo de su potencia, tareas más
o menos complejas, pueden hacerse en tiempos muy cortos, como por ejemplo, los
cálculos en coma flotante.
Buses
Son el medio de comunicación que
utilizan los diferentes componentes del procesador para intercambiar
información entre sí, eventualmente los buses o una parte de ellos estarán
reflejados en los pines del encapsulado del procesador.
En el caso de los microcontroladores,
no es común que los buses estén reflejados en el encapsulado del circuito, ya
que estos se destinan básicamente a las E/S de propósito general y periféricos
del sistema.
Existen tres tipos de buses:
·
Dirección: Se utiliza para seleccionar al dispositivo con el cual se
quiere trabajar o en el caso de las memorias, seleccionar el dato que se desea
leer o escribir.
·
Datos.
·
Control: Se utiliza para gestionar los distintos procesos de escritura
lectura y controlar la operación de los dispositivos del sistema.
Conjunto de instrucciones
Aunque no aparezca en el esquema, no
podíamos dejar al conjunto o repertorio de instrucciones fuera de esta fiesta,
porque este elemento determina lo que puede hacer el procesador.
Define las operaciones básicas que
puede realizar el procesador, que conjugadas y organizadas forman lo que
conocemos como software. El conjunto de instrucciones vienen siendo como las letras del alfabeto, el elemento básico del
lenguaje, que organizadas adecuadamente permiten escribir palabras, oraciones y
cuanto programa se le ocurra.
Existen dos tipos básicos de
repertorios de instrucciones, que determinan la arquitectura del procesador:
CISC y RISC.
CISC, del inglés Complex instruction set computing, Computadora de Conjunto de
Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy amplio y que permiten realizar
operaciones complejas entre operandos situados en la memoria o en los registros
internos. Este tipo de repertorio dificulta el paralelismo entre instrucciones,
por lo que en la actualidad, la mayoría de los sistemas CISC de alto
rendimiento, convierten las instrucciones complejas en varias instrucciones
simples del tipo RISC, llamadas generalmente microinstrucciones.
Dentro de los microcontroladores CISC
podemos encontrar a la popular familia Intel 8051 y la Z80, aunque actualmente existen versiones CISC-RISC de estos
microcontroladores, que pretenden aprovechar las ventajas de los procesadores
RISC a la vez que se mantiene la compatibilidad hacia atrás con las
instrucciones de tipo CISC.
RISC, del inglés Reduced Instruction Set Computer,
Computadora con Conjunto de Instrucciones Reducido. Se centra en la obtención
de procesadores con las siguientes características fundamentales:
·
Instrucciones de tamaño fijo.
·
Pocas instrucciones.
·
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de
datos.
·
Número relativamente elevado de registros de propósito general.
Una de las características más
destacables de este tipo de procesadores es que posibilitan el paralelismo en
la ejecución, y reducen los accesos a memoria. Es por eso que los procesadores
más modernos, tradicionalmente basados en arquitecturas CISC implementan
mecanismos de traducción de instrucciones CISC a RISC, para aprovechar las
ventajas de este tipo de procesadores.
Los procesadores de los microcontroladores
PIC son de tipo RISC.
MEMORIA
Anteriormente
habíamos visto que la memoria en los microcontroladores debe estar ubicada
dentro del mismo encapsulado, esto es así la mayoría de las veces, porque la
idea fundamental es mantener el grueso de los circuitos del sistema dentro de
un solo integrado.
En los
microcontroladores la memoria no es abundante, aquí no encontrará Gigabytes de
memoria como en las computadoras personales. Típicamente la memoria de
programas no excederá de 16 K-localizaciones de memoria no volátil (flash o
eprom) para contener los programas.
La memoria
RAM está destinada al almacenamiento de información temporal que será utilizada
por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En
el espacio de direcciones de memoria RAM se ubican además los registros de
trabajo del procesador y los de configuración y trabajo de los distintos
periféricos del microcontrolador. Es por ello que en la mayoría de los casos,
aunque se tenga un espacio de direcciones de un tamaño determinado, la cantidad
de memoria RAM de que dispone el programador para almacenar sus datos es menor
que la que puede direccionar el procesador.
El tipo de
memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que
evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras
personales, que utilizan gran cantidad de memoria, típicamente alguna
tecnología DRAM. A pesar de que la memoria SRAM es más costosa que la DRAM, es
el tipo adecuado para los microcontroladores porque éstos poseen pequeñas
cantidades de memoria RAM.
En el caso de
la memoria de programas se utilizan diferentes tecnologías, y el uso de una u
otra depende de las características de la aplicación a desarrollar, a
continuación se describen las cinco tecnologías existentes, que mayor
utilización tienen o han tenido:
Memoria
Anteriormente
habíamos visto que la memoria en los microcontroladores debe estar ubicada
dentro del mismo encapsulado, esto es así la mayoría de las veces, porque la
idea fundamental es mantener el grueso de los circuitos del sistema dentro de
un solo integrado.
En los
microcontroladores la memoria no es abundante, aquí no encontrará Gigabytes de
memoria como en las computadoras personales. Típicamente la memoria de
programas no excederá de 16 K-localizaciones de memoria no volátil (flash o
eprom) para contener los programas.
La memoria
RAM está destinada al almacenamiento de información temporal que será utilizada
por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En
el espacio de direcciones de memoria RAM se ubican además los registros de
trabajo del procesador y los de configuración y trabajo de los distintos
periféricos del microcontrolador. Es por ello que en la mayoría de los casos,
aunque se tenga un espacio de direcciones de un tamaño determinado, la cantidad
de memoria RAM de que dispone el programador para almacenar sus datos es menor
que la que puede direccionar el procesador.
El tipo de
memoria utilizada en las memorias RAM de los microcontroladores es SRAM, lo que
evita tener que implementar sistemas de refrescamiento como en el caso de las computadoras
personales, que utilizan gran cantidad de memoria, típicamente alguna
tecnología DRAM. A pesar de que la memoria SRAM es más costosa que la DRAM, es
el tipo adecuado para los microcontroladores porque éstos poseen pequeñas
cantidades de memoria RAM.
En el caso de
la memoria de programas se utilizan diferentes tecnologías, y el uso de una u
otra depende de las características de la aplicación a desarrollar, a continuación
se describen las cinco tecnologías existentes, que mayor utilización tienen o
han tenido:
Máscara ROM. En este caso no se “graba” el
programa en memoria sino que el microcontrolador se fabrica con el programa, es
un proceso similar al de producción de los CD comerciales mediante
masterización. El costo inicial de producir un circuito de este tipo es alto,
porque el diseño y producción de la máscara es un proceso costoso, sin embargo,
cuando se necesitan varios miles o incluso cientos de miles de
microcontroladores para una aplicación determinada, como por ejemplo, algún
electrodoméstico, el costo inicial de producción de la máscara y el de
fabricación del circuito se distribuye entre todos los circuitos de la serie y,
el costo final de ésta, es bastante menor que el de sus semejantes con otro
tipo de memoria.
Memoria PROM (Programmable
Read-Only Memory) también conocida como OTP (One Time Programmable). Este tipo
de memoria, también es conocida como PROM o simplemente ROM.
Los microcontroladores con
memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se
utilizan en sistemas donde el programa no requiera futuras actualizaciones y
para series relativamente pequeñas, donde la variante de máscara sea muy
costosa, también para sistemas que requieren serialización de datos, almacenados
como constantes en la memoria de programas.
Memoria EPROM (Erasable Programmable Read Only
Memory). Los microcontroladores con este tipo de memoria son muy fáciles de
identificar porque su encapsulado es de cerámica y llevan encima una ventanita
de vidrio desde la cual puede verse la oblea de silicio del microcontrolador.
Se fabrican así porque la
memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que exponerla
a una fuente de luz ultravioleta,
el proceso de grabación es similar al empleado para las memorias OTP.
Al aparecer tecnologías menos
costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de
memoria han caído en desuso, se utilizaban en sistemas que requieren
actualizaciones del programa y para los procesos de desarrollo y puesta a
punto.
EEPROM (Electrical Erasable Programmable Read
Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia
fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla
de cristal de cuarzo y los encapsulados cerámicos no son necesarios.
Al disminuir los costos de los
encapsulados, los microcontroladores con este tipo de memoria se hicieron más
baratos y cómodos para trabajar que sus equivalentes con memoria EPROM.
Otra característica destacable
de este tipo de microcontrolador es que fue en ellos donde comenzaron a
utilizarse los sistemas de programación en el sistema que evitan tener que sacar el
microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al
programa.
Memoria flash.
En el campo de las memorias reprogramables para microcontroladores, son el
último avance tecnológico en uso a gran escala, y han sustituido a los
microcontroladores con memoria EEPROM.
A las ventajas de las memorias
flash se le adicionan su gran densidad respecto a sus predecesoras lo que
permite incrementar la cantidad de memoria de programas a un costo muy bajo.
Pueden además ser programadas con las mismas tensiones de alimentación del
microcontrolador, el acceso en lectura y la velocidad de programación es
superior, disminución de los costos de producción, entre otras.
ROM. En este caso no se “graba” el programa en
memoria sino que el microcontrolador se fabrica con el programa, es un proceso
similar al de producción de los CD comerciales mediante masterización. El costo
inicial de producir un circuito de este tipo es alto, porque el diseño y producción
de la máscara es un proceso costoso, sin embargo, cuando se necesitan varios
miles o incluso cientos de miles de microcontroladores para una aplicación
determinada, como por ejemplo, algún electrodoméstico, el costo inicial de
producción de la máscara y el de fabricación del circuito se distribuye entre
todos los circuitos de la serie y, el costo final de ésta, es bastante menor
que el de sus semejantes con otro tipo de memoria.
Memoria PROM (Programmable
Read-Only Memory) también conocida como OTP (One Time Programmable). Este tipo
de memoria, también es conocida como PROM o simplemente ROM.
Los microcontroladores con
memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se
utilizan en sistemas donde el programa no requiera futuras actualizaciones y
para series relativamente pequeñas, donde la variante de máscara sea muy
costosa, también para sistemas que requieren serialización de datos,
almacenados como constantes en la memoria de programas.
Memoria
EPROM (Erasable Programmable Read
Only Memory). Los microcontroladores con este tipo de memoria son muy fáciles
de identificar porque su encapsulado es de cerámica y llevan encima una
ventanita de vidrio desde la cual puede verse la oblea de silicio del
microcontrolador.
Se fabrican así porque la
memoria EPROM es reprogramable, pero antes debe borrase, y para ello hay que
exponerla a una fuente de luz ultravioleta, el proceso de grabación es
similar al empleado para las memorias OTP.
Al aparecer tecnologías menos
costosas y más flexibles, como las memorias EEPROM y FLASH, este tipo de
memoria han caído en desuso, se utilizaban en sistemas que requieren
actualizaciones del programa y para los procesos de desarrollo y puesta a
punto.
EEPROM (Electrical Erasable Programmable Read
Only Memory). Fueron el sustituto natural de las memorias EPROM, la diferencia
fundamental es que pueden ser borradas eléctricamente, por lo que la ventanilla
de cristal de cuarzo y los encapsulados cerámicos no son necesarios.
Al disminuir los costos de los
encapsulados, los microcontroladores con este tipo de memoria se hicieron más
baratos y cómodos para trabajar que sus equivalentes con memoria EPROM.
Otra característica destacable
de este tipo de microcontrolador es que fue en ellos donde comenzaron a
utilizarse los sistemas de programación
en el sistema que evitan tener
que sacar el microcontrolador de la tarjeta que lo aloja para hacer
actualizaciones al programa.
Memoria
flash. En el campo de las memorias reprogramables para microcontroladores, son
el último avance tecnológico en uso a gran escala, y han sustituido a los
microcontroladores con memoria EEPROM.
A las ventajas de las memorias
flash se le adicionan su gran densidad respecto a sus predecesoras lo que
permite incrementar la cantidad de memoria de programas a un costo muy bajo.
Pueden además ser programadas con las mismas tensiones de alimentación del
microcontrolador, el acceso en lectura y la velocidad de programación es
superior, disminución de los costos de producción, entre otras.
No hay comentarios:
Publicar un comentario