Procesadores


Anexos












Procesadores



Procesadores 

         Historia


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:
1- Una unidad de proceso que incluirá ALU y unidad de control.
2- Dispositivos de memoria para almacenar información, bien temporal o final.
3- 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?

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. 

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.

¿Y qué es una microarquitectura?

Hablar de procesadores es una introducción esencial para continuar hablando de microarquitectura. ¿Qué es una microarquitectura?
Un microprocesador no es sólo un cerebro que procesa información (técnicamente la parte que realiza las operaciones se llama ALU, Arithmetic Logic Unit o unidad aritmético lógica), sino mucho más. Está compuesto de registros (pequeñas memorias donde se almacenan datos), buffers, cachés, unidades de proceso, ALU, y mucho más. Todo esto se fabrica utilizando componentes electrónicos ciertamente pequeños (las arquitecturas actuales de nuestros ordenadores utilizan transistores de 22 nanómetros, 0.000022 milímetros) y no siempre nos encontraremos con todos. Es necesaria una organización y estructuración de todos los componentes a la que se denomina microarquitectura.

Los primeros procesadores

Los primeros procesadores no funcionaban con transistores si no con válvulas de vacío, y fue la Segunda Guerra Mundial la que propició que los gobiernos investigasen en máquinas que fuesen capaces de operar con información de forma muy rápida en comparación con la velocidad de cálculo humana. Uno de los primeros equipos era el ENIAC, el primero que siguió la arquitectura de Von Neumann y sobre el cual hay unos datos bastantes interesantes en su entrada de Wikipedia:
Contenía 17.488 tubos de vacío, 70.000 resistencias y 10.000 condensadores, entre otros muchos componentes.
Su peso total era de 27 toneladas, ocupando una superficie de 167 metros cuadrados.
Para hacerla funcionar era necesario operar 6000 interruptores... manualmente, claro.
Requería una potencia de 160 kiloVatios.
Permitía operar hasta 5.000 sumas y 357 multiplicaciones por segundo.
Empezó a operar en 1946 tras casi tres años de diseño, desarrollo y fabricación por parte de J. Mauchly y J. Presper Eckert en la Universidad de Pennsylvania. Cesó su labor el 2 de octubre de 1955.
Si bien esta primera generación de computadores se caracterizó por trabajar con válvulas de vacío, programarse en código máquina o, a lo sumo, ensamblador, la segunda generación de procesadores evolucionó de forma muy notable debido a la escasa fiabilidad y durabilidad de las primeras propias válvulas.

Empezó la carrera de los transistores, el almacenamiento magnético (es decir, los primeros discos duros), los lenguajes de alto nivel y los primeros sistemas operativos monousuario. Por entonces IBM ya llevaba varios años dando guerra y puso en el mercado una de las máquinas más avanzadas y exclusivas de la historia en su contexto, el IBM 7090 que es considerado como el primer ordenador con CPU de transistores de la historia. Era seis veces más potente que su antecesor (el IBM 709) y costaba la mitad, así que era una inversión asegurada.

¿Cuál fue el primer procesador de la historia?



50 años del Intel 4004: así es como el primer microprocesador comercial cambió la historia

Se cumplen 50 años del primer microprocesador
Intel 4004 marcó un antes y un después en el mundo de la computación
Se cumplen 50 años del lanzamiento del Intel 4004, el primer microprocesador comercializado en el mundo que revolucionó y permitió el desarrollo de la computación moderna tal y como la conocemos.
Hoy en día, todos llevamos en nuestros bolsillos un dispositivo que funciona como teléfono, cámara, calculadora o como mp4 entre otras muchas funciones; pero hace 50 años tal cosa era impensable, ni siquiera los creadores del Intel 4004 podrían haber imaginado que llegásemos hasta aquí.
Todo comenzó en 1969 cuando Nippon Calculating Machine Corp. pidió a Intel que diseñase un conjunto de circuitos integrados para su prototipo de calculadora. A pesar de que el plan original contaba con 12 chips, los ingenieros de Intel Federico Faggin, Ted Hoff y Stan Mazor diseñaron un conjunto con tan solo 4 chips, incluida la CPU 4004, que cumplía con la tarea impuesta.
Lo más destacable de este chip, es que con el tamaño de una uña humana ofrecía la misma potencia informática que la primera computadora construida, que ocupaba una habitación entera. Sin ser plenamente conscientes de lo que habían hecho, se convirtieron en los creadores del primer microprocesador del mundo.



"[Echando la vista atrás hacia] 1970, estaba claro que los microprocesadores iban a cambiar la manera en que diseñamos los sistemas, pasando del uso de hardware al software. Pero la velocidad a la que se desarrollaron los microprocesadores, con el tiempo, y cómo fueron adoptados por la industria, fue algo realmente sorprendente" declara Federico Faggin.
El 4004 se convirtió en el "cerebro" que posibilita casi todas las tecnologías modernas, desde la calculadora de escritorio para la que fue diseñada hasta la nube que utilizamos hoy en día. Este invento fue pionero para su época, ya que demostró que sí que era posible construir circuitos integrados complejos y colocarlos en un chip no más grande que un botón.
Este diseño cambió por completo la construcción de las siguientes generaciones de microprocesadores y su producción, hasta que la evolución nos ha llevado a los chips que todos conocemos y tenemos en nuestros dispositivos. Ahora, Intel va por la 12ª generación de procesadores con la que expertos podrán investigar nuevos territorios y llegar a límites de la informática jamás alcanzados.

¿Quién creó los procesadores?

Los encargados de dar forma al proyecto fueron los ingenieros Federico Faggin, Ted Hoff y Stanley Mazor, que daban así el pistoletazo de salida a uno de los mayores progresos de la industria.


Como saber si un procesador es bueno

Para saber si un microprocesador es bueno o malo debemos fijarnos en cada uno de sus componentes internos:

Anchura del bus

La anchura de un bus determina el tamaño de los registros que pueden circular por él. Esta anchura debe coincidir con el tamaño de los registros del procesador. De esta forma tenemos que la anchura que tiene el bus representa el registro más grande que este es capaz de transportar en una sola operación.

Directamente relacionado con el bus estará también la memoria RAM, este debe ser capaz de almacenar cada uno de estos registros con la anchura que estos tengan (esto se llama ancho de palabra de la memoria).

Lo que tenemos actualmente en cuando a ancho de bus es 32 bits o 64 bits, es decir, podremos transportar, almacena y procesar de forma simultánea cadenas de 32 o 64 bits. Con 32 bits teniendo cada uno la posibilidad de ser 0 o 1 podremos direccionar una cantidad de memoria de 232 (4GB) y con 64 bits 16 EB Exabytes. Esto no significa que tengamos 16 Exabytes de memoria en nuestro equipo, sino que representa la capacidad de dirección y utilizar una determinada cantidad de memoria. De aquí sale la famosa limitación de los sistemas de 32 bits de direccionar solamente 4 GB de memoria.

En definitiva, mientras más ancho de bus más capacidad de trabajo


Memoria caché

Estas memorias son mucho más pequeñas que la memoria RAM pero mucho más rápidas. Su función es almacenar las instrucciones que justamente se van a procesar o las últimas procesadas. Mientras más memoria caché, mayor será la velocidad de transacciones que la CPU pueda coger y soltar.

Aquí debemos de ser conscientes de que todo lo que llega al procesador provienen del disco duro, y este se puede decir que es tremendamente más lento que la memoria RAM y aún mucho más que la memoria caché. Es por este motivo por lo que se diseñaron estas memorias en estado sólido, para solución el gran cuello de botella que es el disco duro.

Y nos preguntaremos, porqué entonces no fabrican solamente memorias cachés de gran tamaño, la respuesta es simple, porque son muy caras.


Velocidad interna del procesador

La velocidad internet es casi siempre es lo más llamativo cuando miramos un procesador. “El procesador va a 3,2 GHz”, pero, ¿qué es esto? La velocidad es la frecuencia de reloj a la que trabajar el microprocesador. Cuanto mayor sea esta velocidad más cantidad de operaciones por unidad de tiempo será capaz de realizar. Esto se traduce en mayor rendimiento, por eso mismo existe la memoria caché, para acelerar la toma de datos por parte del procesador para hacer siempre el máximo de operaciones por unidad de tiempo.

Esta frecuencia de reloj viene dada por una señal de onda cuadrada periódica. El tiempo máximo para hacer una operación es de un período. El periodo es la inversa de la frecuencia.


Pero no todo es velocidad. Hay muchos componentes que influyen en la velocidad de un procesador. Si por ejemplo tenemos un procesador de 4 núcleos a 1,8 GHz y otro de un solo núcleo a 4,0 GHz, es seguro que el de cuatro núcleos es más rápido.

Velocidad del Bus

Al igual que es importante la velocidad del procesador, también es importante la velocidad del bus de datos. La placa base siempre trabaja a una frecuencia de reloj mucho menor que la del microprocesador, por este motivo vamos a necesitar un multiplicador que ajuste estas frecuencias.

Si por ejemplo tenemos una placa base con un bus a una frecuencia de reloj de 200 MHz un multiplicador de 10x alcanzará una frecuencia de CPU de 2 GHz.

Microarquitectura

La microarquitectura de un procesador determina la cantidad de transistores que hay por unidad de distancia en él. Esta unidad se mide actualmente en nm (nanómetros) mientras menor sea, mayor cantidad de transistores se podrá introducir, y, por tanto, mayor cantidad de elementos y circuitos integrados se podrán albergar.

Esto influye directamente en el consumo de energía, dispositivos más pequeños necesitará un menor flujo de electrones, por lo que menor será la cantidad de energía necesaria para hacer las mismas funciones que en una microarquitectura de mayor tamaño.





Comentarios