¿Qué es el procesador?
El procesador (CPU, Unidad Central de Procesamiento), es por decirlo de alguna manera, el cerebro del ordenador. Permite el procesamiento de información numérica, información ingresada en formato binario, así como la ejecución de instrucciones almacenadas en la memoria. El microprocesador, o simplemente el micro, es el cerebro del ordenador. Es un chip, un tipo de componente electrónico en cuyo interior existen miles (o millones) de elementos llamados transistores, cuya combinación permite realizar el trabajo que tenga encomendado el chip. Los micros, como los llamaremos en adelante, suelen tener forma de cuadrado o rectángulo negro, y van o bien sobre un elemento llamado zócalo (socket en inglés) o soldados en la placa o, en el caso del Pentium II, metidos dentro de una especie de cartucho que se conecta a la placa base (aunque el chip en sí está soldado en el interior de dicho cartucho). El primer microprocesador (Intel 4004) se inventó en 1971. Era un dispositivo de cálculo de 4 bits, con una velocidad de 108 kHz. Desde entonces, la potencia de los microprocesadores ha aumentado de manera exponencial. Estos son esas pequeñas piezas de silicona que hacen funcionar un ordenador. Funcionamiento
El procesador es un circuito electrónico que funciona a la velocidad de un reloj interno, gracias a un cristal de cuarzo que, sometido a una corriente eléctrica, envía pulsos, denominados "picos". La velocidad de reloj (también denominada ciclo), corresponde al número de pulsos por segundo, expresados en Hertz (Hz). De este modo, un ordenador de 200 MHz posee un reloj que envía 200.000.000 pulsos por segundo. Por lo general, la frecuencia de reloj es un múltiplo de la frecuencia del sistema (FSB, Front-Side Bus o Bus de la Parte Frontal), es decir, un múltiplo de la frecuencia de la placa madre. Con cada pico de reloj, el procesador ejecuta una acción que corresponde a su vez a una instrucción o bien a una parte de ella. La medida CPI (Cycles Per Instruction o Ciclos por Instrucción) representa el número promedio de ciclos de reloj necesarios para que el microprocesador ejecute una instrucción. En consecuencia, la potencia del microprocesador puede caracterizarse por el número de instrucciones por segundo que es capaz de procesar. Los MIPS (millions of instructions per second o millones de instrucciones por segundo) son las unidades que se utilizan, y corresponden a la frecuencia del procesador dividida por el número de CPI.
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ético-lógica, y dependiendo del procesador, puede contener una unidad en 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: y y y
y y
y
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. Debido a la extrema dificultad de fabricar componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos los micros modernos tienen 2 velocidades: y
y
elocidad interna: la velocidad a la que funciona el micro internamente (200, 333, 450... MHz). Velocidad externa o del bus: o también "velocidad del FSB"; la velocidad a la que se comunican el micro y la placa base, para poder abaratar el precio de ésta. Típicamente, 33, 60, 66, 100 ó 133 MHz. V
La cifra por la que se multiplica la velocidad externa o de la placa para dar la interna o del micro es el multiplicador; por ejemplo, un Pentium III a 450 MHz utiliza una velocidad de bus de 100 MHz y un multiplicador 4,5x.
Arquitectura
del procesador
El microprocesador tiene una arquitectura parecida a la computadora digital. En otras palabras, el microprocesador es como la computadora digital porque ambos realizan cálculos bajo un programa de control. Consiguientemente, la historia de la computadora digital nos ayudará a entender el microprocesador. El microprocesador hizo posible la fabricación de potentes calculadoras y de muchos otros productos. El microprocesador utiliza el mismo tipo de lógica que es usado en la unidad procesadora central (CPU) de una computadora digital. El microprocesador es algunas veces llamado unidad microprocesadora (MPU). En otras palabras, el microprocesador es una unidad procesadora de datos. En un micro podemos diferenciar diversas partes: 1.- el encapsulado: es lo que rodea a la oblea de silicio en sí, para darle consistencia,
impedir su deterioro (por ejemplo por oxidación con el aire) y permitir el enlace con los conectores externos que lo acoplarán a su zócalo o a la placa base. 2.- la memoria caché: una memoria ultrarrápida que emplea el micro para tener a mano
ciertos datos que previsiblemente serán utilizados en las siguientes operaciones sin tener que acudir a la memoria RAM, reduciendo el tiempo de espera.Todos los micros "compatibles PC" desde el 486 poseen al menos la llamada caché interna de primer nivel o L1; es decir, la que está más cerca del micro, tanto que está encapsulada junto a él. Los micros más modernos (Pentium III Coppermine, Athlon Thunderbird, etc.) incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida, la caché de segundo nivel o L2. 3.- el coprocesador matemático: o, más correctamente, la FPU (Floating Point Unit,
Unidad de coma Flotante). Parte del micro especializada en esa clase de cálculos matemáticos; antiguamente estaba en el exterior del micro, en otro chip. 4.- Los registros: son básicamente un tipo de memoria pequeña con fines especiales
que el micro tiene disponible para algunos usos particulares. Hay varios grupos de registros en cada procesador. Un grupo de registros esta diseñado para control del programador y hay otros que no son diseñados para ser controlados por el procesador pero que CPU los utiliza en algunas operaciones, en total son treinta y dos registros. 5.- La memoria: es el lugar donde el procesador encuentra las instrucciones de los
programas y sus datos. Tanto los datos como las instrucciones están almacenados en memoria, y el procesador las toma de ahí. La memoria es una parte interna de la computadora y su función esencial es proporcionar un espacio de trabajo para el procesador.
6.-
Puertos: es la manera en que el procesador se comunica con el mundo externo. Un
puerto es parecido a una línea de teléfono. Cualquier parte de la circuitería de la computadora con la cual el procesador necesita comunicarse, tiene asignado un número de puerto que el procesador utiliza como un número de teléfono para llamar al circuito o a partes especiales. El microprocesador o simplemente 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, que está constituida por registros, la unidad de control y la unidad aritmético-lógica principalmente. 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 megahertz o gigahertz 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. Las primeras calculadoras electrónicas requerían de 75 a 100 circuitos integrados. Después se dio un paso importante en la reducción de la arquitectura de la computadora a un circuito integrado simple, resultando un circuito que fue llamado el microprocesador. Sin embargo, es totalmente válido usar el término genérico procesador, dado que con el paso de los años, la escala de integración se ha visto reducida de micrométrica a nanométrica.
Fabricación
El proceso de fabricación de un microprocesador es muy complejo. Todo comienza con un buen puñado de arena (compuesta básicamente de silicio), con la que 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. De este cristal, de cientos de kilos de peso, se cortan los extremos y la superficie exterior, de forma de obtener 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. Estas obleas son pulidas hasta obtener una superficie perfectamente plana, pasan por un proceso llamado ³annealing´, que consiste en someterlas a un calentamiento extremo para remover cualquier defecto o impureza que pueda haber llegado a esta instancia. 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. De aquí en adelante, comienza el proceso del dibujado de los transistores que conformarán a cada microprocesador. A pesar de ser muy complejo y preciso, básicamente consiste en la impresión de sucesivas máscaras sobre la oblea, sucediéndose la deposición y eliminación de capas finísimas de materiales conductores, aislantes y semiconductores, endurecidas mediante luz ultravioleta y atacada por ácidos encargados de remover las zonas no cubiertas por la impresión.
Salvando las escalas, se trata de un proceso comparable al visto para la fabricación de circuitos impresos. Después de cientos de pasos, entre los que se hallan la creación de sustrato, la oxidación, la litografía, el grabado, la implantación iónica y la deposición de capas; se llega a un elemento complejo que contiene todos los circuitos interconectados del microprocesador. Un transistor construido en tecnología de 45 nanómetros tiene un ancho equivalente a unos 200 electrones. Eso da una idea de la precisión absoluta que se necesita al momento de aplicar cada una de las mascaras utilizadas durante la fabricación.
Microcontroladores de 8 bits
Los Microcontroladores están conquistando el mundo. Están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Se pueden encontrar controlando el funcionamiento de los ratones y teclados de los computadores, en los teléfonos, en los hornos microondas y los televisores de nuestro hogar. Pero la conquista masiva de estos diminutos computadores, que gobernarán la mayor parte de los aparatos que fabricamos y usamos los humanos. 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).
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. Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los módulos de entrada/salida (puertos) y la memoria para almacenamiento de información.
Controlador y microcontrolador.
Recibe el nombre de controlador el dispositivo que se emplea para el gobierno de uno o varios procesos. Por ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los límites prefijados, genera las señales adecuadas que accionan los efectores que intentan llevar el valor de la temperatura dentro del rango estipulado. Aunque el concepto de controlador ha permanecido invariable a través del tiempo, su implementación física ha variado frecuentemente. Hace tres décadas, los controladores se construían exclusivamente con componentes de lógica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un chip, el cual recibe el nombre de microcontrolador. Realmente consiste en un sencillo pero completo computador contenido en el corazón (chip) de un circuito integrado. Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador. Un microcontrolador dispone normalmente de los siguientes componentes: 1. 2. 3. 4.
Procesador o UCP (Unidad Central de Proceso). Memoria RAM para Contener los datos. Memoria para el programa tipo ROM/PROM/EPROM. Líneas de E/S para comunicarse con el exterior.
5. Diversos módulos para el control de periféricos(temporizadores, Puertas Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, etc.). 6. Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. 7. Los productos que para su regulación incorporan un microcontrolador disponen de las siguientes ventajas: 8. Aumento de prestaciones: un mayor control sobre un determinado elemento representa una mejora considerable en el mismo. 9. Aumento de la fiabilidad: al reemplazar el microcontrolador por un elevado número de elementos disminuye el riesgo de averías y se precisan menos ajustes. 10. Reducción del tamaño en el producto acabado: La integración del microcontrolador en un chip disminuye el volumen, la mano de obra y los stocks. 11. Mayor flexibilidad: las características de control están programadas por lo que su modificación sólo necesita cambios en el programa de instrucciones. El microcontrolador es en definitiva un circuito integrado que incluye todos los componentes de un computador. Debido a su reducido tamaño es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado.
Diferencia entre microprocesador y microcontrolador.
El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso (UCP), también llamada procesador, de un computador. La UCP está formada por la Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta. Las patitas de un microprocesador sacan al exterior las líneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de E/S y configurar un computador implementado por varios circuitos integrados. Se dice que un microprocesador es un sistema abierto porque su configuración es variable de acuerdo con la aplicación a la que se destine.
Estructura de un sistema abierto basado en un microprocesador. Si sólo se dispusiese de un modelo de microcontrolador, éste debería tener muy potenciados todos sus recursos para poderse adaptar a las exigencias de las diferentes aplicaciones. Esta potenciación supondría en muchos casos un despilfarro. En la práctica cada fabricante de microcontroladores oferta un elevado número de modelos diferentes, desde los más sencillos hasta los más poderosos. Es posible seleccionar la capacidad de las memorias, el número de líneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc. Por todo ello, un aspecto muy destacado del diseño es la selección del microcontrolador a utilizar.
El microcontrolador es un sistema cerrado.
Estructura
básica de un microcontrolador
El microcontrolador está metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, periféricos y puertos de entrada salida. Fuera del encapsulado se ubican otros circuitos para completar periféricos internos y dispositivos que pueden conectarse a los pines de entrada/salida. También se conectarán a los pines del encapsulado la alimentación, masa, circuito de completamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar. Núcleo de un microcontrolador
Aun cuando el microcontrolador es una computadora embebida dentro de un circuito integrado, se compone de un núcleo y un conjunto de circuitos adicionales. Dentro del núcleo se encuentran el procesador y la memoria, todo ello estructurado de forma tal que conforme una arquitectura de computadora. Arquitecturas
de computadora
Básicamente existen dos arquitecturas de computadoras, y por supuesto, están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita. 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.
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: y
y
y
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. Dentro de los microcontroladores CISC podemos encontrar a la popular familia INTEL -51 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: y
Instrucciones de tamaño fijo
y
Pocas instrucciones
y
Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos
y
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 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. 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. 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 ello. Temporizadores y contadores
Son circuitos sincrónicos para el conteo de los pulsos que llegan a su entrada de reloj. Si la fuente de conteo es el oscilador interno del microcontrolador es común que no tengan un pin asociado, y en este caso trabajan como temporizadores. Por otra parte, cuando la fuente de conteo es externa, entonces tienen asociado un pin configurado como entrada, este es el modo contador. Los temporizadores son uno de los periféricos más habituales en los microcontroladores y se utilizan para muchas tareas, como por ejemplo, la medición de frecuencia, implementación de relojes, para el trabajo de conjunto con otros periféricos que requieren una base estable de tiempo entre otras funcionalidades. Es frecuente que un microcontrolador típico incorpore más de un temporizador/contador e incluso algunos tienen arreglos de contadores. Conversor 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. Puerto serie
Este periférico está presente en casi cualquier microcontrolador, normalmente en forma de UART (Universal Asynchronous Receiver Transmitter) o USART (Universal Synchronous Asynchronous Receiver Transmitter) dependiendo de si permiten o no el modo sincrónico de comunicación.
El destino común de este periférico es la comunicación con otro microcontrolador o con una PC y en la mayoría de los casos hay que agregar circuitos externos para completar la interfaz de comunicación. La forma más común de completar el puerto serie es para comunicarlo con una PC mediante la interfaz EIA-232 (más conocida como RS-232), es por ello que muchas personas se refieren a la UART o USART como puerto serie RS-232, pero esto constituye un error, puesto que este periférico se puede utilizar para interconectar dispositivos mediante otros estándares de comunicación. Puerto serie sincrónico
Este tipo de periférico se utiliza para comunicar al microcontrolador con otros microcontroladores o con periféricos externos conectados a él, mediante las interfaces SPI (Serial Peripheral Interface) o I2C (Inter-Integrated Circuit). A pesar de que es también un tipo de puerto serie, es costumbre tratarlo de forma diferenciada respecto a la UART/USART porque las interfaces SPI e I2C aparecieron mucho después que la UART/USART, su carácter es únicamente sincrónico y no están diseñadas para interconectar al sistema con otros dispositivos independientes como una PC, sino para conectar al microcontrolador dispositivos tales como memorias, pantallas LCD, conversores A/D o D/A. Otros puertos de comunicación
En un mundo cada vez más orientado a la interconexión de dispositivos, han aparecido muchas interfaces de comunicación y los microcontroladores no se han quedado atrás para incorporarlas, es por ello que podemos encontrar algunos modelos con puertos USB (Universal Serial Bus), CAN (Controller Area Network), Ethernet, puerto paralelo entre otros. Comparadores
Son circuitos analógicos basados en amplificadores operacionales que tienen la característica de comparar dos señales analógicas y dar como salida los niveles lógicos µ0¶ o µ1¶ en dependencia del resultado de la comparación. Es un periférico muy útil para detectar cambios en señales de entrada de las que solamente nos interesa conocer cuando está en un rango determinado de webetas Modulador de ancho de pulsos
Los PWM (Pulse Width Modulator) son periféricos muy útiles sobre todo para el control de motores, sin embargo hay un grupo de aplicaciones que pueden realizarse con este periférico, dentro de las cuales podemos citar: la conversión digital analógica D/A, el control regulado de luz (dimming) entre otras. Memoria de datos no volátil
Muchos microcontroladores han incorporado este tipo de memoria como un periférico más, para el almacenamiento de datos de configuración o de los procesos que se controlan. Esta memoria es independiente de la memoria de datos tipo RAM o la memoria de programas, en la que se almacena el código del programa a ejecutar por el procesador del microcontrolador.
Muchos de los microcontroladores PIC, incluyen este tipo de memoria, típicamente en forma de memoria EEPROM, incluso algunos de ellos permiten utilizar parte de la memoria de programas como memoria de datos no volátil, por lo que el procesador tiene la capacidad de escribir en la memoria de programas como si ésta fuese un periférico más. Aplicaciones
de los microcontroladores.
Cada vez existen más productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamaño y coste, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el millón de unidades de un modelo determinado producidas en una semana. Este dato puede dar una idea de la masiva utilización de estos componentes. Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, computadoras, impresoras, módems, el sistema de arranque de nuestro coche, etc. Y otras aplicaciones con las que seguramente no estaremos tan familiarizados como instrumentación electrónica, control de sistemas en una nave espacial, etc. Una aplicación típica podría emplear varios microcontroladores para controlar pequeñas partes del sistema. Estos pequeños controladores podrían comunicarse entre ellos y con un procesador central, probablemente más potente, para compartir la información y coordinar sus acciones, como ocurre ya habitualmente en cualquier PC. Los microcontroladores más comunes en uso son:
Empresa
8 bits
Atmel
AVR (mega y tiny),89S xxxx familia similar 8051
12 14 bi bi ts ts
64
16 bits
32 bits
SAM7 (ARM7TDMI) , SAM3 (ARM Cortex-M3), SAM9 (ARM926)
bi ts
Observaci ones
Freescale (antes Motorola)
Holtek
Intel
68HC05, 68HC08, x x 68HC11, HCS08
MCS-48 (familia 8048) MCS51 x x (familia 8051) 8xC251
COP8
Microchip
Familia 10f2xx Familia 12Cxx Familia 12Fxx, 16Cxx y 16Fxx 18Cxx y 18Fxx
Parallax
x
HT8
National Semiconduct or
NXP (antes Philips)
68HC12, 68HCS12, 68HCSX12, 68HC16
683xx, PowerPC x Architecture,C oldFire
80C51
x x
MCS96, MXS296
x
x
X
x
x
x
X
PIC24F, PIC24H y dsPIC30FXX,dsPIC33F con motor dsp integrado
PIC32
x
X
XA
Cortex-M3, Cortex-M0, ARM7, ARM9
Renesas (antes Hitachi, 78K ,H8 Mitsubishi y NEC)
H8S,78K0R ,R8C,R32C/ M32C/M16C
RX,V850,Sup erH,SHx Mobile,H8SX
X
STMicroelec ST tronics 62,ST 7
Texas TMS370, Instruments MSP430
Zilog
Z8, Z86E02
Silabs
C8051
C2000, Cortex-M3 (ARM) , TMS570 (ARM)
¿Qué microcontrolador emplear?
A la hora de escoger el microcontrolador a emplear en un diseño concreto hay que tener en cuenta multitud de factores, como la documentación y herramientas de desarrollo disponibles y su precio, la cantidad de fabricantes que lo producen y por supuesto las características del microcontrolador (tipo de memoria de programa, número de temporizadores, interrupciones, etc.) Costes. Como es lógico, los fabricantes de microcontroladores compiten duramente para vender sus productos. Y no les va demasiado mal ya que sin hacer demasiado ruido venden 10 veces más microcontroladores que microprocesadores. Para que nos hagamos una idea, para el fabricante que usa el microcontrolador en su producto una diferencia de precio en el microcontrolador de algunas pesetas es importante
(el consumidor deberá pagar además el coste del empaquetado, el de los otros componentes, el diseño del hardware y el desarrollo del software). Si el fabricante desea reducir costes debe tener en cuenta las herramientas de apoyo con que va a contar: emuladores, simuladores, ensambladores, compiladores, etc. Es habitual que muchos de ellos siempre se decanten por microcontroladores pertenecientes a una única familia. Aplicación.
Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos de la aplicación: Procesamiento de datos: puede ser necesario que el microcontrolador realice cálculos críticos en un tiempo limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo suficientemente rápido para ello. Por otro lado, habrá que tener en cuenta la precisión de los datos a manejar, si no es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir a microcontroladores de 16 ó 32 bits, o incluso a hardware de coma flotante. Una alternativa más barata y quizá suficiente es usar librerías para manejar los datos de alta precisión. Entrada Salida: para determinar las necesidades de Entrada/Salida del sistema es conveniente dibujar un diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y tipo de señales a controlar. Una vez realizado este análisis puede ser necesario añadir periféricos hardware externos o cambiar a otro microcontrolador más adecuado a ese sistema. Consumo: algunos productos que incorporan microcontroladores están alimentados con baterías y su funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo más conveniente en un caso como éste puede ser que el microcontrolador esté en estado de bajo consumo pero que despierte ante la activación de una señal (una interrupción) y ejecute el programa adecuado para procesarla. Memoria: para detectar las necesidades de memoria de nuestra aplicación debemos separarla en memoria volátil (RAM), memoria no volátil (ROM, EPROM, etc.) y memoria no volátil modificable (EEPROM). Este último tipo de memoria puede ser útil para incluir información específica de la aplicación como un número de serie o parámetros de calibración. El tipo de memoria a emplear vendrá determinado por el volumen de ventas previsto del producto: de menor a mayor volumen será conveniente emplear EPROM, OTP y ROM. En cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versión preliminar, aunque sea en pseudo-código, de la aplicación y a partir de ella hacer una estimación de cuánta memoria volátil y no volátil es necesaria y si es conveniente disponer de memoria no volátil modificable.
Ancho de palabra: el criterio de diseño debe ser seleccionar el microcontrolador de menor ancho de palabra que satisfaga los requerimientos de la aplicación. Usar un microcontrolador de 4 bits supondrá una reducción en los costes importante, mientras que uno de 8 bits puede ser el más adecuado si el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits, debido a su elevado coste, deben reservarse para aplicaciones que requieran sus altas prestaciones (Entrada/Salida potente o espacio de direccionamiento muy elevado). Diseño de la placa: la selección de un microcontrolador concreto condicionará el diseño de la placa de circuitos. Debe tenerse en cuenta que quizá usar un microcontrolador barato encarezca el resto de componentes del diseño. Los microcontroladores más populares se encuentran, sin duda, entre las mejores elecciones: 8048 (Intel). Es el padre de los microcontroladores actuales, el primero de todos. Su precio, disponibilidad y herramientas de desarrollo hacen que todavía sea muy popular. 8051 (Intel y otros). Es sin duda el microcontrolador más popular. Fácil de programar, pero potente. Está bien documentado y posee cientos de variantes e incontables herramientas de desarrollo. 80186, 80188 y 80386 EX (Intel). Versiones en microcontrolador de los populares microprocesadores 8086 y 8088. Su principal ventaja es que permiten aprovechar las herramientas de desarrollo para PC. 68HC11 (Motorola y Toshiba). Es un microcontrolador de 8 bits potente y popular con gran cantidad de variantes. 683xx (Motorola). Surgido a partir de la popular familia 68k, a la que se incorporan algunos periféricos. Son microcontroladores de altísimas prestaciones. PIC (Microchip). Familia de microcontroladores que gana popularidad día a día. Fueron los primeros microcontroladores RISC. Es preciso resaltar en este punto que existen innumerables familias de microcontroladores, cada una de las cuales posee un gran número de variantes. Controladores FDC
El controlador del Disco Floppy 8271 (FDC) Interface tanto en los dos senillos como un directorio dual de Floppy a un microprocesador de 8 y está completamente compatible con un Intel nuevo de alto rendimiento del sistema de Microcomputador externo. Este controlador innovador soporta más estándares comúnmente disponibles directo de disco, incluyendo el mini-floppy El 8271 FDC soporta un sector, un comprensivo formato, el cual es un IBM 3740 compatible e incluye provisión para la designación y manejo de malas vías.
Es un gran nivel de control que pone en relieve el CPU (37 usuario) de muchos de los controles asociados con la implementación del disco de interface del floppy. El FDC soporta una variedad de altos niveles de instrucciones el cual permite al usuario el almacenaje y búsqueda de datos en un Disco Floppy, sin idear con el bajo nivel de detalles en la opinión del disco. En adición a los estándares de mandatos de escritura/lectura, un mandato de escudriñar permite al usuario del programa especificar un dato de modelo e instruir el FDC para buscar el modulo en búsqueda. Cualquier aplicación que sea requerida para buscar información que sea requerida para buscar información del disco (tales como punto de venta, colocación de precios, búsqueda de directorio de disco, etc.) Debe usar el mandato de escáner de escudriñar para reducir el alto del CPU una vez que la operación de escudriñar es iniciada, no requiere interacción del CPU. Aunque el sistema mayoritariamente usado proviene del Western Digital WD1771 y sobre todo de sus sucesores, el NEC PD765 utilizado en el IBM PC y el Intel 82072A en el IBM AT, son dignos de mención los custom chips usados en el Apple Macintosh y sobre todo por su versatilidad los de los Commodore Amiga. Para conectarse con las unidades de disquete mayoritariamente usan un conector macho de cable plano de 34 pines, con una muesca guía, aunque en primitivas tarjetas o equipos como el Amstrad CPC 6128 se recurría al conector de borde de tarjeta con ranura guía, idéntico al presente en las unidades de 5,25.
BIBLIOGR AFIA:
http://es.wikipedia.org/wiki/Procesador http://es.wikipedia.org/wiki/Microprocesador http://www.monografias.com/trabajos5/sisope/sisope.shtml http://es.wikipedia.org/wiki/Microcontrolador http://www.monografias.com/trabajos34/microcontroladores-genericos/microcontroladoresgenericos.shtml http://es.wikipedia.org/wiki/Fdc
INSTITUTO TECNOLOGICO DE ZACATECAS
INGENIERIA ELECTROMECANICA.
P R O C E S A D O R ES Y M I C R O C O N T R O L A D OR E S .
M A T E R I A : S E N S O R E S E N L A A U T O M A T I Z A CI O N .
PROFESOR: ING. RAUL BOTELLO LAZALDE
ALUMNO: VICTOR HUGO MARTINEZ DE CASAS.
FECHA: 10 DE NOVIEMBRE DEL 2010.