Arquitecturas de computadora
[editar]
Artículo principal: Arquitectura de computadoras
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.
Arquitectura Von Neumann
[editar]
Artículo principal: Arquitectura Von Neumann
La arquitectura Von Neumann utiliza el mismo dispositivo de almacenamiento
tanto para las instrucciones como para los datos, siendo la que se utiliza en
un ordenador personal porque permite ahorrar una buena cantidad de líneas de
E/S, que son bastante costosas, sobre todo para aquellos sistemas donde el
procesador se monta en algún tipo de zócalo alojado en una placa madre.
También esta organización les ahorra a los diseñadores de placas madre una
buena cantidad de problemas y reduce el costo de este tipo de sistemas.
En un ordenador personal, cuando se carga un programa en memoria, a este
se le asigna un espacio de direcciones de la memoria que se divide en
segmentos, de los cuales típicamente tendremos 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 (disco
duro, memoria RAM, memoria flash, unidad de disco óptico…).
En el caso de los microcontroladores, existen dos tipos de memoria bien
definidas: memoria de datos (típicamente algún tipo de SRAM) y memoria de
programas (ROM, PROM, EEPROM, flash u de otro tipo no volátil). En este
caso la organización es distinta a las del ordenador personal, porque hay
circuitos distintos para cada memoria y normalmente no se utilizan los registros
de segmentos, sino que la memoria está segregada y el acceso a cada tipo de
memoria depende de las instrucciones del procesador.
A pesar de que en los sistemas integrados con arquitectura Von Neumann la
memoria esté segregada, y existan diferencias con respecto a la definición
tradicional de esta arquitectura; los buses para acceder a ambos tipos de
memoria son los mismos, del procesador solamente salen el bus de datos, el
de direcciones, y el de control. Como conclusión, la arquitectura no ha sido
alterada, porque la forma en que se conecta la memoria al procesador sigue el
mismo principio definido en la arquitectura básica.
Algunas familias de microcontroladores como la Intel 8051 y la Z80
implementan este tipo de arquitectura, fundamentalmente porque era la
utilizada cuando aparecieron los primeros microcontroladores.
Arquitectura Harvard
[editar]
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
[editar]
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 este 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.