jueves, 19 de abril de 2012

Diferencia entre Microprocesador y Microcontrolador

Ciertamente la gran mayoría de nosotros hemos escuchado hablar acerca de microprocesadores y microcontroladores y tal vez no sepamos cual es la diferencia entre uno y otro, o peor aún, nos podemos confundir al emplear cualquiera de las dos palabras.


Existe mucha información en internet acerca de microprocesadores y microcontroladores. Pero a veces la información es muy extensa y no muy fácil de comprender. 



El Procesador


Pues bien definamos a un microprocesador o procesador como un elemento de hardware que se encarga como su nombre mismo lo dice procesar datos a partir de ciertas instrucciones de entrada arrojando cierto resultado, todo esto en base a su set de instrucciones que incorpora.





Un microprocesador por si solo sería prácticamente inservible,  para que funcione necesita estar conectado mediante diferentes buses a otros elementos como la memoria RAM, y dispositivos de entrada y salida (E/S) y otro tipo de memoria especial llamada EEPROM que almacena los datos de forma permanente aun sin energía eléctrica.


La mayora de los procesadores de las PCs personales  suelen utilizar la arquitectura Von Neuman. En esta arquitectura el procesador comparte la memoria RAM para almacenar las instrucciones del programa y los datos.


Debemos comprender que en una PC, cuando se carga un programa en memoria, a éste se le asigna un espacio de direcciones de la memoria que se divide en segmentos, de los cuales típicamente tenderemos los siguientes: código (programa), datos y pila. Es por ello que podemos hablar de la memoria como un todo, aunque existan distintos dispositivos físicos en el sistema (HDD, RAM, CD, FLASH).


Utilizar la arquitectura tiene ventajas y desventajas, una de ellas es que al utilizar la misma memoria para almacenar los datos de programa y las instrucciones, solo se utilizan tres buses (de control, de datos y de direcciones) de estar separadas utilizaríamos otros tres buses mas, que con respecto al diseño seria más costosa.


Como desventaja principal de esta arquitectura encontramos que el procesador no puede acceder a los datos de programa y a las instrucciones al mismo tiempo, sino que debe almacenar una de ellos en los registros del procesador y volver a consultar las instrucciones para ejecutar, esto se traduce en pérdida de tiempo ya que el procesador tendrá que acceder dos veces a la memoria para poder ejecutar una sola instrucción.


También existe otro tipo de arquitectura llamada Harvard que es utilizada comúnmente por supercomputadoras o Mainframes. Esta define que la memoria de datos de programa y las instrucciones deben estar separadas. Con esto se tienen que crear otros tres buses a la otra memoria que incorporamos. Pero vale la pena ya que podemos procesar la información más rápido, pues se puede acceder a la memoria de datos y a las instrucciones al mismo tiempo.





Set de instrucciones del 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 de set de instrucciones: CISC y RISC


Las instrucciones CISC (Complex Instruction Set Computer, Computadora de Conjunto de Instrucciones Complejo) se caracterizan por tener un repertorio amplio de instrucciones, que pueden hacer cálculos muy complejos. Pero también se complica su uso.


El tipo RISC (Reduced Instruction Set Computer, Computadora con Conjunto de Instrucciones Reducido) se distingue por sus pocas instrucciones, y tamaño un tamaño fijo por instrucción además permite el paralelismo en la ejecución.





El Microcontrolador




Fue necesario definir algunas de las características principales de un procesador porque conociendo lo anterior definiremos al Microcontrolador.


Un Microcontrolador en realidad no es otra cosa más que una mini computadora  embebida dentro de un solo encapsulado del tamaño de un chip. Este cuenta con procesador, memoria RAM, Memoria ROM y periféricos de entrada y  salida.




Técnicamente un Microcontrolador lleva dentro un Microprocesador.  Este a su vez cuenta con buses de datos, control y dirección hacia la memoria y hacia los periféricos o puertos.


La arquitectura de estos dispositivos es la Harvard quiere decir que poseen 2 memorias una memoria RAM que almacena los datos y otra de tipo EPROM o EEPROM que almacena el programa. Al usar esta arquitectura tiene la ventaja de poder usar simultáneamente los dos tipos de memoria y en lugar de ser una desventaja como lo era con una PC normal puesto que todo se encuentra en un solo encapsulado puede implementarse fácilmente.


 El set de instrucciones es del tipo RISC las cuales ya vimos anteriormente. El lenguaje nativo de estos dispositivos es el lenguaje ensamblador. Aunque en la actualidad hay muchas empresas que se dedican a desarrollar compiladores que funcionan con la sintaxis de C o Basic que después traducirán a lenguaje máquina para  programar el Microcontrolador.




Existen muchos fabricantes como Intel, Motorola, Texas Instruments, etc. Pero los más conocidos son los PICs de Microchip y los AVR de Atmel.


Actualmente a los microcontroladores se les puede hallar en muchísimos electrodomésticos como lavadoras, hornos de micro ondas, DVDs etc. Por su bajo precio, fácil programación y la extensa información que circula en internet estos se han vuelto muy utilizados en la electrónica y ramas afines.

Bibliografía:
http://es.wikipedia.org/wiki/Microprocesador
http://es.wikipedia.org/wiki/Microcontrolador

2 comentarios:

Elisa dijo...

5 para el lab de integrados

Unknown dijo...

Muy bueno el post!

Publicar un comentario