Historia de los procesadores
HISTORIA DE LOS PROCESADORES
En la prehistoria de la informática sólo unos pocos cientos de personas en todo el mundo tenían las aptitudes necesarias para ponerse a los mandos de los ordenadores de la época. Allá por los años 50 y 60, los computadores eran máquinas que ocupaban varias habitaciones e incluso necesitaban de múltiples operarios para funcionar correctamente. Apenas trabajaban para grandes universidades o ejércitos y eran completamente desconocidas en los hogares.
Es evidente que esto ha cambiado radicalmente con el paso de los años y ahora cualquiera tiene a su disposición un ordenador sencillo de utilizar. Pero antes no era así. Entonces, ¿cómo empezó a fraguarse la era de la Información?
Las máquinas que cambiaron el mundo
Tras la era industrial y aprovechando la segunda guerra mundial, los gobiernos más potentes se vieron en la necesidad de invertir el tiempo de sus mejores científicos en idear máquinas que pudiesen tratar información, ya sea procedente del enemigo y en ese caso descifrándola, o enviándola oculta a un aliado. Para ello necesitaban disponer de una estructura y organización que les permitiese procesar información que estuviese en un formato conocido, y además almacenar los resultados para poder estudiarlos a posteriori. Nació la arquitectura de Von Neumann.
La arquitectura de Von Neumann fue ideada por John Von Neumann en la década de los 40 para un trabajo del gobierno americano, y hoy en día sigue vigente en la mayoría de los computadores modernos. Su misión es servir un esquema de funcionamiento genérico que permitiese a un ordenador ejecutar tareas sucesivamente, sin tener que modificar la estructura física del equipo. Según esta organización, el computador dispone de una lista de instrucciones que un procesador interno va descifrando y más tarde ejecutando. Una vez que ha finalizado esa ejecución se pasa al siguiente elemento de la lista, y se repite el proceso. Para ello se necesitan tres componentes básicos:
- Una unidad de proceso que incluirá ALU y unidad de control.
- Dispositivos de memoria para almacenar información, bien temporal o final.
- Periféricos de entrada/salida para comunicarse con el usuario.
La arquitectura de Von Neumann fue utilizada por primera vez en el ENIAC o Electronic Numerical Integrator And Computer, que trabajó para el gobierno estadounidense entre los años 1946 y 1955. Sobre él hablaremos en el último apartado.
¿Y cómo trabajarían estos primeros computadores? Mediante el sistema binario. Se trata de un sistema de numeración con un funcionamiento similar al decimal al que estamos acostumbrados los seres humanos, pero utilizando únicamente el 0 y el 1. A partir de estos dos números se construye toda la información, si bien es cierto que trabajar en binario es algo bastante poco habitual al existir otras herramientas mucho más avanzadas y fáciles de interpretar por el ser humano. Lo mejor del sistema binario es que es un sistema simple que permite construir circuitos electrónicos para realizar operaciones matemáticas de una forma sencilla a través de circuitos elementales.
El procesador dispone de una serie de circuitos electrónicos que son utilizados por los algoritmos, ideados por el ser humano para afrontar problemas. ¿Qué es, entonces, un algoritmo?
Paso 1: Poner la sartén en la vitrocerámicaPaso 2: Echar aceitePaso 3: Calentar el aceitePaso 4: Esperar a que esté calientePaso 5: Cascar el huevoPaso 6: Verterlo con cuidado sobre el aceite calientePaso 7: Con la ayuda de una paleta, echar el aceite por encima del huevoPaso 8: Comprobar que el huevo ya está cocinado y, en ese caso, sacarlo a un plato
Un algoritmo es una secuencia de órdenes o instrucciones que se dictan en un cierto orden. Es necesario que cada paso esté muy bien definido y que se siga un orden estricto para que la máquina sea capaz de ejecutarlo sin problemas. El ejemplo de arriba es un símil respecto de la vida real, el algoritmo de cómo elaborar un huevo frito con puntilla. A continuación os dejo con otro ejemplo:
Paso 1: coge el valor del registro A y llámalo N1.Paso 2: coge el valor del registro B y llámalo N2.Paso 3: suma N1 y N2 y almacena el resultado en el registro C.Paso 4: almacena el valor del registro C en la posición de memoria etiquetada como M.
Con los cuatro pasos de este segundo ejemplo nos hemos aproximado mejor a la realidad de nuestros ordenadores: hemos sumado dos números (existentes en los registros A y B) y su resultado lo hemos almacenado en la posición de memoria M. Podríamos incluso decir que hemos utilizado un pseudolenguaje ensamblador, y recuerdo que toda la información que maneja el ordenador está basada en 0 y 1, incluyendo no sólo los valores numéricos de la propia suma si no también las direcciones en las que se almacena la información (en este caso, las direcciones de los registros A, B, C y también la posición de memoria etiquetada como M).
En definitiva, el procesador se encarga de recibir secuencias de órdenes y ejecutarlas. Estas órdenes serán mayoritariamente matemáticas (suma estos dos números y guarda el resultado en esta determinada posición de memoria) pero también de almacenamiento o interrupciones del sistema. Y precisamente estas órdenes simples y atómicas se denominan instucciones, que son las operaciones que un procesador es capaz de entender y ejecutar. Por ejemplo, suma dos números y almacena el resultado en esta memoria, o multiplica estos dos números, o algo mucho más simple como almacena este dato en esta posición de la memoria. Las instrucciones son operaciones muy simples pero con las que se construye todo, y un conjunto de estas instrucciones se denomina set de instrucciones o ISA (Instruction Set Architecture). Por ejemplo, x86 es la ISA de los procesadores Intel o AMD domésticos actuales, los cuales a su vez utilizan múltiples microarquitecturas, y ARM es la ISA de los procesadores de Samsung, Qualcomm, Apple, etc. En posteriores artículos entraremos más a fondo en los diferentes juegos de instrucciones así como en las arquitecturas más representativas del mercado actual.
Comentarios
Publicar un comentario