Вы находитесь на странице: 1из 7

Art�culo principal: Arquitectura Harvard

La otra variante es la arquitectura Harvard, y por excelencia la utilizada en


supercomputadoras, en los microcontroladores, y sistemas integrados en general. En
este caso, adem�s de la memoria, el procesador tiene los buses segregados, de modo
que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de
control.

La ventaja fundamental de esta arquitectura es que permite adecuar el tama�o de los


buses a las caracter�sticas de cada tipo de memoria; adem�s, el procesador puede
acceder a cada una de ellas de forma simult�nea, lo que se traduce en un aumento
significativo de la velocidad de procesamiento. T�picamente los sistemas con esta
arquitectura pueden ser dos veces m�s r�pidos que sistemas similares con
arquitectura Von Neumann.

La desventaja est� en que consume muchas l�neas de E/S del procesador; por lo que
en sistemas donde el procesador est� ubicado en su propio encapsulado, solo se
utiliza en supercomputadoras. Sin embargo, en los microcontroladores y otros
sistemas integrados, donde usualmente la memoria de datos y programas comparten el
mismo encapsulado que el procesador, este inconveniente deja de ser un problema
serio y es por ello que encontramos la arquitectura Harvard en la mayor�a de los
microcontroladores.

Por eso es importante recordar que un microcontrolador se puede configurar de


diferentes maneras, siempre y cuando se respete el tama�o de memoria que este
requiera para su correcto funcionamiento.

Procesador en detalle
En los a�os 1970, la electr�nica digital no estaba suficientemente desarrollada,
pero dentro de la electr�nica ya era una especialidad consagrada. En aquel entonces
las computadoras se dise�aban para que realizaran algunas operaciones muy simples,
y si se quer�a que estas m�quinas pudiesen hacer cosas diferentes, era necesario
realizar cambios bastante significativos al hardware.

A principios de la d�cada de 1970, una empresa japonesa le encarg� a una joven


compa��a norteamericana que desarrollara un conjunto de circuitos para producir una
calculadora de bajo costo. Intel se dedic� de lleno a la tarea y entre los
circuitos encargados desarroll� uno muy especial, algo no creado hasta la fecha: el
primer microprocesador integrado.

El Intel 4004 sali� al mercado en 1971, es una m�quina digital sincr�nica compleja,
como cualquier otro circuito l�gico secuencial sincr�nico. Sin embargo, la ventaja
de este componente est� en que aloja internamente un conjunto de circuitos
digitales que pueden hacer operaciones corrientes para el c�lculo y procesamiento
de datos, pero desde una �ptica diferente: sus entradas son una serie de c�digos
bien definidos, que permiten hacer operaciones de car�cter espec�fico cuyo
resultado est� determinado por el tipo de operaci�n y los operandos involucrados.

Visto as�, no hay nada de especial en un microprocesador; la maravilla est� en que


la combinaci�n adecuada de los c�digos de entrada, su ejecuci�n secuencial, el
poder saltar hacia atr�s o adelante en la secuencia de c�digos sobre la base de
decisiones l�gicas u �rdenes espec�ficas, permite que la m�quina realice gran
cantidad de operaciones complejas, no contempladas en los simples c�digos b�sicos.

Hoy estamos acostumbrados a los sistemas con microprocesadores, pero en el lejano


1971 esta era una forma de pensar un poco diferente y hasta escandalosa, a tal
punto que Busicom, la empresa que encarg� los chips a Intel, no se mostr�
interesada en el invento, por lo que Intel lo comercializ� para otros que mostraron
inter�s; el resto es historia: una revoluci�n sin precedentes en el avance
tecnol�gico de la humanidad.

Es l�gico pensar que el invento del microprocesador integrado no fue una revelaci�n
divina para sus creadores, sino que se sustent� en los avances, existentes hasta el
momento, en el campo de la electr�nica digital y las teor�as sobre computaci�n.
Pero sin lugar a dudas fue la gota que colm� la copa de la revoluci�n cient�fico-
t�cnica, porque permiti� desarrollar aplicaciones impensadas o acelerar algunas ya
encaminadas.

Ahora comenzaremos a ver c�mo es que est� hecho un procesador, no ser� una
explicaci�n demasiado detallada porque desde su invenci�n �ste ha tenido
importantes revoluciones propias, pero hay aspectos b�sicos que no han cambiado y
que constituyen la base de cualquier microprocesador. En la Figura 'Esquema de un
microcontrolador' podemos ver la estructura t�pica de un microprocesador, con sus
componentes fundamentales, claro est� que ning�n procesador real se ajusta
exactamente a esta estructura, pero aun as� nos permite conocer cada uno de sus
elementos b�sicos y sus interrelaciones.

Registros
Art�culo principal: Registro (hardware)
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 o 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.

Por otro lado un procesador de 16 bits, puede que haga una suma de 16 bits en un
solo ciclo de m�quina, mientras que uno de 8 bits deber� ejecutar varias
instrucciones antes de tener el resultado, aun cuando ambos procesadores tengan la
misma velocidad de ejecuci�n para sus instrucciones. El procesador de 16 bits ser�
m�s r�pido porque puede hacer el mismo tipo de tareas que uno de 8 bits, en menos
tiempo.

Unidad de control
Art�culo principal: 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 cach�, controladores de buses, controlador
de interrupciones, pipelines, entre otros elementos, dependiendo siempre del tipo
de procesador.

Unidad aritm�tico-l�gica (ALU)


Art�culo principal: Unidad aritm�tica 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
Art�culo principal: Bus (inform�tica)
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:

el de la encuesta, pero no es cierto, el m�todo se complica porque requiere que el


microprocesador incorpore circuitos adicionales para registrar los eventos que le
indican que debe atender al proceso asociado y comprender estos circuitos y su
din�mica no es una tarea sencilla.

Los circuitos para la atenci�n a las interrupciones y todas las tareas que debe
realizar el procesador para atender al proceso que lo interrumpe son bastante
complejos y requieren una visi�n diferente de la que estamos acostumbrados a tener
de nuestro mundo.

Los seres humanos no estamos conscientes de las interrupciones, en nuestro


organismo existen mecanismos que nos interrumpen constantemente, para ello tenemos
a nuestro sistema sensorial, pero no somos conscientes del proceso de interrupci�n,
aunque s� de la atenci�n a las interrupciones. Eso es porque incorporamos
mecanismos que nos sacan r�pidamente de la tarea que estemos haciendo para atender
una situaci�n que no puede o no debe esperar mucho tiempo. Bien, esa misma es la
idea que se incorpora en los microprocesadores para atender procesos que no pueden
esperar o que no sabemos cuando deben ser atendidos porque ello depende de
determinadas condiciones.

La cosa se complica en la secuencia de acciones a realizar desde el momento en que


se desencadena el proceso de interrupci�n, hasta que se ejecuta el programa que lo
atiende, y en la secuencia de acciones posteriores a la atenci�n. Piense en cuantas
cosas debe hacer su organismo ante una interrupci�n, utilicemos el segundo ejemplo
para atender la llegada de Juan. Piense en cuantas cosas su cerebro hace a espaldas
de su conciencia, desde el momento en que suena el timbre hasta que usted se
encuentra listo (consciente de que es probable que Juan ha llegado) para abrir la
puerta, y todo lo que su cerebro debe trabajar para retomar la lectura despu�s que
Juan se ha marchado. Todo eso, excepto abrir la puerta y atender a Juan, lo hacemos
de forma �inconsciente� porque para ello tenemos sistemas dedicados en nuestro
organismo, pero en el mundo de los microcontroladores debemos conocer todos esos
detalles para poder utilizar los mecanismos de interrupci�n.

Los procesos de atenci�n a interrupciones tienen la ventaja de que se implementan


por hardware ubicado en el procesador, as� que es un m�todo r�pido de hacer que el
procesador se dedique a ejecutar un programa especial para atender eventos que no
pueden esperar por mecanismos lentos como el de encuesta.

En t�rminos generales, un proceso de interrupci�n y su atenci�n por parte del


procesador, tiene la siguiente secuencia de acciones:

En el mundo real se produce el evento para el cual queremos que el procesador


ejecute un programa especial, este proceso tiene la caracter�stica de que no puede
esperar mucho tiempo antes de ser atendido o no sabemos en que momento debe ser
atendido.
El circuito encargado de detectar la ocurrencia del evento se activa, y como
consecuencia, activa la entrada de interrupci�n del procesador.
La unidad de control detecta que se ha producido una interrupci�n y �levanta� una
bandera para registrar esta situaci�n; de esta forma si las condiciones que
provocaron el evento desaparecen y el circuito encargado de detectarlo desactiva la
entrada de interrupci�n del procesador, �sta se producir� de cualquier modo, porque
ha sido registrada.
La unidad de ejecuci�n termina con la instrucci�n en curso y justo antes de
comenzar a ejecutar la siguiente comprueba que se ha registrado una interrupci�n
Se desencadena un proceso que permite guardar el estado actual del programa en
ejecuci�n y saltar a una direcci�n especial de memoria de programas, donde est� la
primera instrucci�n de la subrutina de atenci�n a interrupci�n.
Se ejecuta el c�digo de atenci�n a interrupci�n, esta es la parte �consciente� de
todo el proceso porque es donde se realizan las acciones propias de la atenci�n a
la interrupci�n y el programador juega su papel.
Cuando en la subrutina de atenci�n a interrupci�n se ejecuta la instrucci�n de
retorno, se desencadena el proceso de restauraci�n del procesador al estado en que
estaba antes de la atenci�n a la interrupci�n.
Como podemos observar, el mecanismo de interrupci�n es bastante complicado, sin
embargo tiene dos ventajas que obligan a su implementaci�n: la velocidad y su
capacidad de ser as�ncrono. Ambas de conjunto permiten que aprovechemos al m�ximo
las capacidades de trabajo de nuestro procesador.

Los mecanismos de interrupci�n no solo se utilizan para atender eventos ligados a


procesos que requieren atenci�n inmediata sino que se utilizan adem�s para atender
eventos de procesos as�ncronos.

Las interrupciones son tan eficaces que permiten que el procesador act�e como si
estuviese haciendo varias cosas a la vez cuando en realidad se dedica a la misma
rutina de siempre, ejecutar instrucciones una detr�s de la otra.

Perif�ricos
Art�culo principal: Perif�rico (inform�tica)
Cuando observamos la organizaci�n b�sica de un microcontrolador, se�alamos que
dentro de este se ubican un conjunto de perif�ricos. 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.

Temporizadores y contadores
Son circuitos sincr�nicos para el conteo de los pulsos que llegan a su poder para
conseguir la entrada de reloj. Si la fuente de un gran 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. Como veremos
m�s adelante este perif�rico es un elemento casi imprescindible y es habitual que
tengan asociada alguna interrupci�n. Los tama�os t�picos de los registros de conteo
son 8 y 16 bits, pudiendo encontrar dispositivos que solo tienen temporizadores de
un tama�o o con m�s frecuencia con ambos tipos de registro de conteo.

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
anal�gico-digital, 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 10 bits, que son suficientes para
aplicaciones sencillas. Para aplicaciones en control e instrumentaci�n est�n
disponibles resoluciones de 12bit, 16bit y 24bit.6? Tambi�n es posible conectar un
convertidor externo, en caso de necesidad

Puertos de comunicaci�n
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. En aplicaciones industriales se utiliza preferiblemente RS-485 por
sus superior alcance en distancia, velocidad y resistencia al ruido.

SPI
Este tipo de perif�rico se utiliza para comunicar al microcontrolador con otros
microcontroladores o con perif�ricos externos conectados a �l, por medio de una
interfaz muy sencilla. Hay solo un nodo controlador que permite iniciar cualquier
transacci�n, lo cual es una desventaja en sistemas complejos, pero su sencillez
permite el aislamiento galv�nico de forma directa por medio de optoacopladores.

I2C
Cumple las mismas funciones que el SPI, pero requiere menos se�ales de comunicaci�n
y cualquier nodo puede iniciar una transacci�n. Es muy utilizado para conectar las
tarjetas gr�ficas de las computadoras personales con los monitores, para que estos
�ltimos informen de sus prestaciones y permitir la autoconfiguraci�n del sistema de
v�deo.

USB
Los microcontroladores son los que han permitido la existencia de este sistema de
comunicaci�n. Es un sistema que trabaja por polling (monitorizaci�n) de un conjunto
de perif�ricos inteligentes por parte de un amo, que es normalmente un computador
personal. Cada modo inteligente est� gobernado inevitablemente por un
microcontrolador.

Ethernet
Art�culo principal: Ethernet
Es el sistema m�s extendido en el mundo para redes de �rea local cableadas. Los
microcontroladores m�s poderosos de 32 bits se usan para implementar perif�ricos lo
suficientemente poderosos como para que puedan ser accesados directamente por la
red. Muchos de los enrutadores caseros de peque�as empresas est�n construidos sobre
la base de un microcontrolador que hace del cerebro del sistema.

Can
Este protocolo es del tipo CSMA/CD con tolerancia a elevados niveles de tensi�n de
modo com�n y orientado al tiempo real. Este protocolo es el est�ndar m�s importante
en la industria automotriz (OBD). Tambi�n se usa como capa f�sica del "field bus"
para el control industrial.

Otros puertos de comunicaci�n


Hay una enorme cantidad de otros buses disponibles para la industria automotriz
(linbus) o de medios audiovisuales como el i2s, IEEE 1394. El usuario se los
encontrar� cuando trabaje en alg�n �rea especializada.

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 tensi�n.

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: inversi�n DC/AC para UPS,
conversi�n digital anal�gica D/A, control regulado de luz (dimming) entre otras.
Memoria de datos no vol�til
Muchos microcontroladores han incorporado estos tipos 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.

Вам также может понравиться