Universidad Nacional de Ingeniería
Investigación de Electrónica Digital I I.
Tema de investigación: Microprocesadores vs Micro controladores.
Instructor de documento: Ing. Carlos Ortega.
Realizado por: Oswaldo José Bustillo Olivas Carlos José Luis Martínez Hernández.
Grupo: 3T1-Eo
Fecha: 22-11-2010
Resumen
En este documento damos a conocer las diferencias entre microprocesador y microcontrolador así como información actualizada del funcionamiento, características, rentabilidades y demás de diversos tipos de dispositivos que son usados para procesamiento de datos, unos de datos al azar de cualquier especie y otros que procesan datos únicos una y otra vez. Estas tecnologías son usadas a diario para diversos tipos de finalidades y por diversos tipos de usuario desde el más pequeño con su juguete (si nos referimos a niños) hasta los más grandes con sus autos o en su propia oficina con un sistema de seguridad para entrar en ella usando una cerradura electrónica (en cuanto a profesionales se refiere) son tantas las aplicaciones que podríamos y que podemos implementar para estos dispositivos.
Abstract
In this paper we present the differences between microprocessor and microcontroller and an update of the performance, characteristics, returns and other various types of devices that are used for data processing, a random data of any kind and other data processing Unique over and over again. These technologies are used daily for a variety of purposes and by different user types from the smallest with her toy (if we refer to children) to the largest with their cars or in their own office with a security system to enter it using an electronic lock (as professionals are concerned) are many applications that we could and we can implement for these devices.
Introducción:
Microprocesadores y micro controladores ambas tecnologías son actualmente conocidas por sus diversas aplicaciones en distintas ramas del procesamiento de información o control de dispositivos de precisión el avance de la tecnología ha logrado implementar dispositivos tan poderosos y tan necesarios para los distintos procesos o interacciones interaccio nes de maquinas para con el usuario ya sean en una fábrica de gran envergadura con un sinnúmero de maquinarias especializadas u oficinas que tienen un cargo especifico en una institución o simplemente en el hogar en un pequeño juguete o electrodoméstico etc. Muchas personas en la actualidad conocen el termino procesador refiriéndose directamente a una computadora no es que sea algo erróneo es solo que el termino procesador va mas allá de una simple computador es todo lo que tiene que ver con procesamiento de datos como un teléfono celular o un juego de video que procesa y maneja aceleración grafica o un servidor conectado a una red que maneja datos de distintos usuarios. En cuanto a micro controladores se refiere es un término más especializado o sea que no es manejado ni de manera nociva por las personas como por ejemplo un ama de casa que a diario usa este tipo de tecnología sin saber que la usa o un chico que destruye su juguete sin saber que está destruyendo un algoritmo un programa que fue hecho especificadamente para el propósito de manejo de motores o luces o sonidos que conforman el juguete en el documento dejaremos claro las aplicaciones, las tendencias de cada dispositivo ¿por qué deberíamos usar una tecnología y no la otra? así como también una breve reseña histórica. Para establecer diferencias semejanzas o comentarios debemos por lo menos tener una idea de lo que son ambos dispositivos para ello establezcamos definiciones de los mismos y de cada uno de sus componentes. Microprocesador:
El microprocesador o simplemente procesador, procesador, es el circuito integrado más importante, de tal modo, que se le considera el cerebro de una computadora. Está constituido por millones de transistores integrados. Puede definirse como chip, un tipo de componente electrónico en cuyo interior existen miles o en ocasiones millones, según su complejidad, de elementos llamados transistores cuyas interacciones permiten realizar las labores o funciones que tenga encomendado el chip. Desde el punto de vista funcional, un microprocesador es un circuito integrado que incorpora en su interior una unidad central de proceso (CPU) y todo un conjunto de elementos lógicos que permiten enlazar otros dispositivos como memorias y puertos de entrada y salida (I/O), formando un sistema completo para cumplir con una aplicación específica dentro del mundo real. Para que el sistema pueda realizar su labor debe ejecutar paso a paso un programa que consiste en una secuencia de números binarios o instrucciones, almacenándolas en uno o más elementos de memoria, generalmente externos al mismo. La aplicación más importante de los microprocesadores que cambió
totalmente la forma de trabajar, ha sido la computadora personal, ordenador o microcomputadora. Así mismo, es la parte de la computadora diseñada para llevar a cabo o ejecutar los programas. Éste ejecuta instrucciones que se le dan a la computadora a muy bajo nivel realizando operaciones lógicas simples, como sumar, restar, multiplicar o dividir. Se ubica generalmente en un zócalo específico en la placa o tarjeta madre y dispone para su correcto y estable funcionamiento de un sistema de refrigeración (generalmente de un ventilador montado sobre un disipador de metal térmicamente muy conductor). Lógicamente funciona como la unidad central de procesos (CPU/Central Procesing Unit), que está constituida por registros, la unidad de control y la unidad aritmético-lógica principalmente, aunque en la mayoría de las ocasiones también integra una unidad de coma flotante. En el microprocesador se procesan todas las acciones de la computadora. Su "velocidad" se determina por la cantidad de operaciones por ciclo que puede realizar y los ciclos por segundo que desarrolla: también denominada frecuencia de reloj. La frecuencia de reloj se mide Hertzios, pero dado su elevado número se utilizan los múltiplos mega hertzio o giga hertzio una computadora personal o más avanzada puede estar soportada por uno o varios microprocesadores, y un microprocesador puede soportar una o varias terminales (redes). Un núcleo suele referirse a una porción del procesador que realiza todas las actividades de una CPU real. La tendencia de los últimos años ha sido la de integrar múltiples núcleos dentro de un mismo encapsulado, además de componentes como memorias caché, controladoras de memoria e incluso unidades de procesamiento gráfico; elementos que anteriormente estaban montados sobre la placa base como dispositivos individuales. Este es uno de los microprocesadores actuales de 64 bits y doble núcleo es un AMD ATHLON 64x 3600 con su correspondiente correspondie nte zócalo y los diversos dispositivos que conforman toda la estructura de componentes que hace que funcione la computadora una poderosa herramienta de manipulación de datos.
Funcionamiento:
Desde el punto de vista lógico, singular y funcional, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmética lógica y dependiendo del procesador, puede contener una unidad de coma flotante. El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases:
PreFetch, pre lectura de la instrucción desde la memoria principal. Fetch, envío de la instrucción al decodificador Decodificación de la instrucción, es decir, determinar qué instrucción es y por tanto qué se debe hacer. Lectura de operandos (si los hay). Ejecución, lanzamiento de las máquinas de estado que llevan a cabo el procesamiento. Escritura de los resultados en la memoria principal o en los registros.
Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual (realizada en un solo ciclo) de mayor coste temporal. El microprocesador se conecta a un circuito PLL, normalmente basado en un cristal de cuarzo capaz de generar pulsos a un ritmo constante, de modo que genera varios ciclos (o pulsos) en un segundo. Este reloj, en la actualidad, genera miles de MHz. Un microprocesador es un sistema abierto con el que puede construirse un computador con las características que se desee acoplándole los módulos necesarios. Rendimiento:
El rendimiento del procesador puede ser medido de distintas maneras, hasta hace pocos años se creía que la frecuencia era una medida precisa, pero ese mito, conocido como "mito de los mega hertzios" se ha visto desvirtuado por el hecho de que los procesadores no han requerido frecuencias más altas para aumentar su potencia de cómputo. Durante los últimos años esa frecuencia se ha mantenido en el rango de los 1,5 GHz a 4 GHz dando como resultado procesadores con capacidades de proceso mayores comparados con los primeros que alcanzaron esos valores. Además la tendencia es a incorporar más núcleos dentro de un mismo encapsulado para aumentar el rendimiento por medio de una computación paralela, de manera que la velocidad de reloj es un indicador menos fiable aún. Medir el rendimiento con la frecuencia es válido únicamente entre procesadores con arquitecturas muy similares o iguales, de manera que su funcionamiento interno sea el
mismo: en ese caso la frecuencia es un índice de comparación válido. Dentro de una familia de procesadores es común encontrar distintas opciones en cuanto a frecuencias de reloj, debido a que no todos los chips de silicio tienen los mismos límites de funcionamiento: son probados a distintas frecuencias, hasta que muestran signos de inestabilidad, entonces se clasifican de acuerdo al resultado de las pruebas. Esto se podría reducir en que los procesadores son fabricados por lotes con diferentes estructuras internas atendiendo a gamas y extras como podría ser una memoria caché de diferente tamaño, aunque no siempre es así y las gamas altas difieren muchísimo más de las bajas que simplemente de su memoria caché. Después de obtener los lotes según su gama, se someten a procesos en un banco de pruebas, y según su soporte a las temperaturas o que vaya mostrando signos de inestabilidad, se le adjudica una frecuencia, con la que vendrá programada de serie, pero con prácticas de overclock se le puede incrementar La capacidad de un procesador depende fuertemente de los componentes restantes del sistema, sobre todo del chipset, de la memoria RAM y del software. Pero obviando esas características puede tenerse una medida aproximada del rendimiento de un procesador por medio de indicadores como la cantidad de operaciones de coma flotante por unidad de tiempo FLOPS, o la cantidad de instrucciones por unidad de tiempo MIPS. Una medida exacta del rendimiento de un procesador o de un sistema, es muy complicada debido a los múltiples factores involucrados en la computación de un problema, por lo general las pruebas no son concluyentes entre sistemas de la misma generación. La fabricación de estos monstruos del procesamiento de datos es demasiado compleja pero podría resumirse de la forma siguiente: Con arena (compuesta básicamente de silicio), se fabrica un mono cristal de unos 20 x 150 centímetros. Para ello, se funde el material en cuestión a alta temperatura (1.370 °C) y muy lentamente (10 a 40 Mm por hora) se va formando el cristal. El cristal se corta de tal forma que quede un cilindro perfecto Luego, el cilindro se corta en obleas de 10 micras de espesor, la décima parte del espesor de un cabello humano, utilizando una sierra de diamante. De cada cilindro se obtienen miles de obleas, y de cada oblea se fabricarán varios cientos de microprocesadores. Las obleas se pulen hasta quedar una superficie perfectamente plana y luego pasan por un proceso llamado annealing este proceso remueve las impurezas que puedan existir en el material por medio del sometimiento del mismo al calor extremo después de una supervisión mediante láseres capaz de detectar imperfecciones menores a una milésima de micra, se recubren con una capa aislante formada por óxido de silicio transferido mediante deposición de vapor.
-En la primera imagen de la izquierda se observa un pedazo de silicio después de haber pasado por el proceso de fundición (donde se tomo la arena compuesta mayormente por este material. -En la siguiente imagen observamos la oblea de silicio finalmente grabada con cada uno de los circuitos de procesamiento posteriormente será cortada para su respectivo ensamblen resto del hardware.
Después sigue el proceso de dibujado de los transistores que conformara cada uno de los microprocesadores esto es con la aplicación de sucesivas mascaras sobre la oblea de silicio procesada estas mascaras se endurecen mediante luz ultravioleta posteriormente se pasan por ácidos que removerán las impurezas más insignificantes para por fin llegar al producto finalizado el circuito de procesamiento. Las salas empleadas para la fabricación de microprocesadores se denominan salas limpias, porque el aire de las mismas se somete a un filtrado exhaustivo y está prácticamente libre de polvo. Las salas limpias más puras de la actualidad se denominan de clase 1. La cifra indica el número máximo de partículas mayores de 0,12 micras que puede haber en un pie cúbico (0,028 m 3) de aire. Como comparación, un hogar normal sería de clase 1 millón. Los trabajadores de estas plantas emplean trajes estériles para evitar que restos de piel, polvo o pelo se desprendan de sus cuerpos. Buses del procesador:
Todos los procesadores poseen un bus principal o de sistema por el cual se envían y reciben todos los datos, instrucciones y direcciones desde los integrados del chipset o desde el resto de dispositivos. Como puente de conexión entre el procesador y el resto del sistema, define mucho del rendimiento del sistema, su velocidad se mide en bits por segundo. Ese bus puede ser implementado de distintas maneras, con el uso de buses seriales o paralelos y con distintos tipos de señales eléctricas. La forma más antigua es el bus paralelo en el cual se definen líneas especializadas en datos, direcciones y para control. En la arquitectura tradicional de Intel (usada hasta modelos recientes), ese bus se llama el Front Side Bus y es de tipo paralelo con 64 líneas de datos, 32 de direcciones además de
múltiples líneas de control que permiten la transmisión de datos entre el procesador y el resto del sistema. Este esquema se ha utilizado desde el primer procesador de la historia, con mejoras en la señalización que le permite funcionar con relojes de 333 MHz haciendo 4 transferencias por ciclo. [1] En algunos procesadores de AMD y en el Intel Core i7 se han usado otros tipos para el bus principal de tipo serial. Entre estos se encuentra el bus HyperTransport que maneja los datos en forma de paquetes usando una cantidad menor de líneas de comunicación, permitiendo frecuencias de funcionamiento más altas. Los microprocesadores de última generación de Intel y muchos de AMD poseen además un controlador de memoria DDR en el interior del encapsulado lo que hace necesario la implementación de buses de memoria del procesador hacia los módulos. Ese bus está de acuerdo a los estándares DDR de JEDEC y consisten en líneas de bus paralelo, para datos, direcciones y control. Dependiendo de la cantidad de canales pueden existir de 1 a 4 buses de memoria.
Microcontroladores:
Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: unidad central de procesamiento, memoria y unidades de E/S (entrada/salida).
En las imágenes podemos observar una serie de microcontroladores diseñados para cumplir funciones especificas de acuerdo a su programación la imagen a la izquierda muestra microcontroladores de uso general la imagen a la derecha muestra muestra un microcontrolador Motorola 68 HC11 con chips de soporte.
Características:
Son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la unidad central de procesamiento, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil. Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (Ud. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.
En la la figura de la izquierda observamos el esquema esquema de un microcontrolador el cual es nada menos menos que un circuito integrado con su respectivo CPU, CPU, periféricos, buses, memoria y puertos de entrada entrada y salida son varios circuitos en uno en la parte parte exterior conectamos los circuito que lo complementan complementan para cumplir determinada función de control control como por ejemplo: el control de un motor motor para manejar una pluma o el control de tem eratura de una habitación.
Registros:
Son un espacio de memoria muy reducido pero necesario para cualquier microprocesador, de aquí se toman los datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.
Aunque la importancia de los registros parezca trivial, no lo es en absoluto. De hecho una parte de los registros, la destinada a los datos, es la que determina uno de los parámetros más importantes de cualquier microprocesador. Cuando escuchamos que un procesador es de 4, 8, 16, 32 ó 64 bits, nos estamos refiriendo a procesadores que realizan sus operaciones con registros de datos de ese tamaño, y por supuesto, esto determina muchas de las potencialidades de estas máquinas. Mientras mayor sea el número de bits de los registros de datos del procesador, mayores serán sus prestaciones, en cuanto a poder de cómputo y velocidad de ejecución, ya que este parámetro determina la potencia que se puede incorporar al resto de los componentes del sistema, por ejemplo, no tiene sentido tener una ALU de 16 bits en un procesador de 8 bits. 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, controladores de interrupción, 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. 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 Computer, 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.
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 para 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, hasta el momento de escribir este libro:
ROM de máscara. En este caso no se “graba” el progr ama 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.
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.
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 circuito o ICSP (In Circuit Serial Progamming) que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja para hacer actualizaciones al programa.
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. Lo más habitual es encontrar que la memoria de programas y datos está ubicada toda dentro del microcontrolador, de hecho, actualmente son pocos los microcontroladores que permiten conectar memoria de programas en el exterior del encapsulado. Las razones para estas “limitaciones” están dadas porque el objetivo fundamental es obt ener la mayor integración posible y conectar memorias externas consume líneas de E/S que son uno de los recursos más preciados de los microcontroladores. A pesar de lo anterior existen familias
como la INTEL 51 cuyos microcontroladores tienen la capacidad de ser expandidos en una variada gama de configuraciones para el uso de memoria de programas externa. En el caso de los PIC, estas posibilidades están limitadas sólo a algunos microcontroladores de la gama alta, la Figura 5 muestra algunas de las configuraciones para memoria de programa que podemos encontrar en los microcontroladores. La configuración (a) es la típica y podemos encontrarla casi en el 100% de los microcontroladores. La configuración (b) es poco frecuente y generalmente se logra configurando al microcontrolador para sacrificar la memoria de programas interna, sin embargo el 8031 de INTEL es un microcontrolador sin memoria de programas interna. La configuración (c) es la que se encuentra habitualmente en los microcontroladores que tienen posibilidades de expandir su memoria de programas como algunos PIC de gama alta. Cuando se requiere aumentar la cantidad de memoria de datos, lo más frecuente es colocar dispositivos de memoria externa en forma de periféricos, de esta forma se pueden utilizar memorias RAM, FLASH o incluso discos duros como los de las PC, mientras que para los cálculos y demás operaciones que requieran almacenamiento temporal de datos se utiliza la memoria RAM interna del microcontrolador. Esta forma de expandir la memoria de datos está determinada, en la mayoría de los casos, por el tipo de repertorio de instrucciones del procesador y porque permite un elevado número de configuraciones distintas, además del consiguiente ahorro de líneas de E/S que se logra con el uso de memorias con buses de comunicación serie. Periféricos:
Cuando vimos la organización básica de un microcontrolador, señalamos que dentro de este se ubican un conjunto de periféricos, cuyas salidas están reflejadas en los pines del microcontrolador. A continuación describiremos algunos de los periféricos que con mayor frecuencia encontraremos en los microcontroladores. Entradas y salidas de propósito general:
También conocidos como puertos de E/S, generalmente agrupadas en puertos de 8 bits de longitud, permiten leer datos del exterior o escribir en ellos desde el interior del microcontrolador, el destino habitual es el trabajo con dispositivos simples como relés, LED, o cualquier otra cosa que se le ocurra al programador. Algunos puertos de E/S tienen características especiales que le permiten manejar salidas con determinados requerimientos de corriente, o incorporan mecanismos especiales de interrupción para el procesador. Típicamente cualquier pin de E/S puede ser considerada E/S de propósito general, pero como los microcontroladores no pueden tener infinitos pines, ni siquiera todos los pines que queramos, las E/S de propósito general comparten los pines con otros periféricos. Para usar un pin con cualquiera de las características a él asignadas debemos
configurarlo
mediante
los
registros
destinados
a
ellos.
En la figura observamos el flujo grama de un fotocontador el cual utiliza utiliza un microcontrolador especialmente diseñado para cumplir esa función toma una variable analógica la cual es procesada para su posterior visualización.
Conversor analógico/digital: analógico/digital:
Como es muy frecuente el trabajo con señales analógicas, éstas deben ser convertidas a digital y por ello muchos microcontroladores incorporan un conversor A/D, el cual se utiliza para tomar datos de varias entradas diferentes que se seleccionan mediante un multiplexor. Las resoluciones más frecuentes son 8 y 10bits, aunque hay microcontroladores con conversores de 11 y 12 bits, para resoluciones mayores es preciso utilizar conversores A/D externos. Los conversores A/D son uno de los periféricos más codiciados en el mundo de los microcontroladores y es por ello que muchísimos PIC los incorporan, siendo esta una de las características más destacables de los dispositivos que fabrica Microchip de última generación.
En la imagen se muestra el diagrama de flujo de un modulador de voz que utiliza un microcontrolador con convertidor analógico-digital de 8 bits y digital-analógico digital-analógico con memorias integradas además además de un amplificador de micrófono con polarización interna este es un dispositivo de uso especifico.
Los microcontroladores más comunes son: 12 bits
Empresa
8 bits
Atmel
AVR (mega y tiny),89 tiny),89 Sxxxx familia similar 8051
Freescale (antes Motorola)
68HC05 , 68HC08 x , 68HC11 , HCS08
Holtek
HT8
14 16 bits bits
32 bits
64 Observaciones bits
SAM7 (ARM7TDMI), SAM3 (ARM Cortex-M3), SAM9 (ARM926)
x
68HC12, 68HCS12, 68HCSX12, 68HC16
683xx, PowerPC x Architecture,C Architecture,C oldFire
x
Intel
MCS-48 (familia 8048) MCS51 x (familia 8051) 8xC251
National Semiconduc COP8 tor
Microchip
NXP (antes Philips)
Familia 10f2xx Familia 12Cxx Familia 12Fxx, 16Cxx y 16Fxx 18Cxx y 18Fxx
80C51
x
x
MCS96, MXS296
x
x
x
x
x
x
x
x
x
x
RX,V850 RX ,V850,Supe ,Supe H8S,78K0R H8S,78K0R,R8C, ,R8C, rH,SHrH,SHx R32C/M32C/M16C Mobile,H8SX Mobile,H8SX
x
PIC24F, PIC24H y dsPIC30FXX,dsPI PIC32 C33F con motor dsp integrado
XA
Cortex-M3, Cortex-M0, ARM7, ARM9
Parallax
Renesas (antes Hitachi, 78K,H8 78K,H8 Mitsubishi y NEC)
STMicroelec ST
tronics
62,ST 7
TMS370 Texas , Instruments MSP430
Zilog
Z8, Z86E02
Silabs
C8051
C2000, CortexM3 (ARM) , TMS570 (ARM)
Diferencias:
Establezcamos las diferencias para hacer más fácil el análisis tomemos en cuenta un modelo de microprocesador y uno de microcontrolador (Pentium 4 para procesador) y (8051 para microcontrolador).
Microprocesador es un circuito de propósito general (procesar). Microcontrolador es un circuito de propósito específico (control).
Microprocesador instrucciones diseñadas para el procesamiento de datos: el juego de instrucciones es extenso incluyen no solo operaciones lógicas y aritméticas de punto fijo sino también de tipo flotante. Microcontrolador instrucciones necesarias solo para aplicaciones de control: juego de instrucciones reducido y fácil de utilizar. por ejemplo el 8051 tiene 111 instrucciones solo maneja aritmética de punto fijo.
Microprocesador alta capacidad de direccionamiento a memoria Pentium 4 tiene 36 líneas de dirección y 64 líneas de datos. Puede accesar hasta 64G* 64. Microcontrolador baja capacidad de direccionamiento a memoria por ejemplo el 8051 tiene 16 líneas de dirección y 8 líneas de datos puede accesar hasta 64 Kbytes de memoria.
Microprocesador rápido acceso a memoria. Los Pentium 4 tiene una velocidad de bus que les permite accesar hasta 3.2 Gbytes/seg. Microcontroladores acceso lento a memoria el 8051 a 12 MHz puede accesar hasta 500 000 bytes/seg.
Microprocesadores altas velocidades de procesamiento Los Pentium 4 funcionan a partir de 1.7 GHz. Microcontroladores bajas velocidades de procesamiento el 8051 funciona 33 MHz.
Microprocesadores están diseñados en grandes encapsulados hasta 423 pines. Microcontroladores encapsulados pequeños el 8051(DIP) 40 pines, 8051(PLCC) 44 pines, 89c2051 20 pines.
Microprocesadores gran integración del circuito mismo Pentium IV contiene 42 000000 transistores, el Pentium D 291 000000. Microcontroladores baja integración 8051 contiene 60000 transistores. transistore s.
Microprocesadores tradicionalmente se basan en la arquitectura de Von Newmann, microcontroladores trabajan con arquitectura de Harvard.
Microprocesadores desarrollo complicado mucho tiempo para finalizar el circuito microcontroladores fácil diseño y desarrollo del circuito menos tiempo para su terminación.
Microprocesador alto coste tanto de su diseño como de su construcción y finalizando con la compra por el usuario. Microcontroladores bajo coste en su diseño, construcción e implementación.
Microprocesador necesita una serie de periféricos para funcionar en consecuencia el sistema ocupara más espacio. Microcontroladores tienen integrados varios periféricos que permite que funcionen inclusive como circuito único en el sistema.
Microprocesadores altos consumos de energía debido a su gran capacidad de procesamiento. Microcontroladores bajo consumo de energía debido a su aplicación exclusiva de control. Conclusiones:
Ha sido tanto el avance en el sector de tecnologías de la información y la comunicación que hoy en día nos vemos beneficiados en ello, teniendo la posibilidad de escoger dispositivos que se adapten a nuestras necesidades y a los requerimientos planteados para la elaboración o la puesta en marcha de proyectos de automatización, o para el manejo adecuado y eficiente de datos. Es así que los es de gran importancia establecer cuales son las principales diferencias y ventajas de los Microcontroladores y Microprocesadores, dispositivos que hoy en día tienen amplio campo de acción y que de una u otra forma representan gran parte del desarrollo tecnológico que se viene dando. Cada uno de ellos posee un sector de aplicación distinto en donde cada uno establece algunos requerimientos de trabajo a si como también poseen especificaciones para su manejo dependiendo de las aplicaciones en las cuales se van a utilizar.
Referencias:
[1] «Core 2 Extreme: 3.66 GHz And FSB 1333 - Review Tom's Hardware : THG Tuning Test: Core 2 Extreme vs. Athlon 64 FX-62
Bibliografia http://es.wikipedia.org/wiki/Microcontrolador http://es.wikipedia.org/wiki/Microprocesador http://www.monografias.com/trabajos27/microcontroladores/microcontroladores.shtml