Microprocesadores

Posted by Unknown | Posted on 1:17 p. m.

Historia de los Microprocesadores

En términos generales una computadora es una máquina a la que se le puede decir cómo calcular una serie de números, capaz de recordar el cálculo que ha realizado y que se puede adaptar para calcular otra serie de números. El ejemplo más remoto es el ábaco, herramienta de cálculo que ya era conocido en el antiguo imperio japonés en el año 2000 a. C. y que todavía se sigue utilizando. El ábaco es un elemento que se utiliza para calcular cifras, con el que se puede ver físicamente la suma en los alambres y la posición de las bolitas constituyen la memoria.

En 1642 el filósofo y matemático francés B. Pascal inventó la primera calculadora mecánica del mundo, La Pascalina”, posiblemente para complacer a su padre que era inspector de hacienda de la zona. La máquina tenía un funcionamiento impecable, transportaba los números de la columna de las unidades hasta la columna de las decenas mediante un mecanismo muy similar al que transporta los números en el velocímetro de un automóvil. A pesar de que esta máquina no tuvo tanta repercusión, despertó un gran interés a nivel científico y durante muchos años se introdujeron mejoras en el diseño original de la calculadora.

En 1822 Charles Babbage trabajando en equipo con Ada Lovelance, presentan en el Royal Astronomical Society su primer modelo de la “máquina diferencial”, un artefacto que efectuaba los cálculos necesarios para construir tablas logarítmicas. El nombre proviene de una técnica matemática abstracta conocida como método de los diferenciales. La R.A.S. lo alentó para que creara más máquinas y las perfeccionara. También el gobierno británico quedó impresionado con la máquina y aportó fondos para el desarrollo de la misma. Trabajando en equipo con Ada Lovelace inicia el proyecto de construir una maquina analítica. Esta máquina se diseñó para calcular los valores de funciones matemáticas mucho más complejas que las logarítmicas. La creación de esta máquina estuvo plagada de problemas desde el principio. Simplemente, no funcionaba. Al observar los bocetos de la máquina que se han conservado, se deduce que era enorme (ocupaba todo el inmenso taller). Era preciso tornear en forma especial centenares de rodillos, varillas y engranajes, y la tecnología metalúrgica de aquella época no había alcanzado todavía un nivel de desarrollo como para realizarlos satisfactoriamente. Babbage pudo advertir pequeñas inexactitudes en la construcción de la maqueta, pero al construir la máquina esos mínimos desajustes demostraron ser importantes. No obstante, Babbage se hallaba en buen camino y si hubiera conseguido que todos los componentes de la máquina armonizaran bien, probablemente su máquina analítica hubiera funcionado y posiblemente hoy en día estaríamos pensando en la P.C. como en una herramienta desarrollada hace 100 años, en lugar de 15. Gran parte de la arquitectura lógica y la estructura de diseño de las computadoras actuales, incluyendo la P.C., se remonta al trabajo de Charles Babbage, a quién se lo considera como un padre de la informática moderna.

No fue hasta 1936 que se confirmó el presentimiento de Babbage. La prueba de su viabilidad apareció en “On Computable Numbers”, publicación editada por Alan Turing, joven matemático de Cambridge. Si bien el nombre de Turing es prácticamente desconocido, su contribución fue fundamental para el desarrollo de las ideas, cuya concreción hizo que la computadora, se convirtiera en una realidad. Ya desde esa época, los matemáticos habían pensado en una máquina que respondiera a reglas matemáticas y lógicas, de tal manera que, dado un problema ésta máquina pudiera resolverlo. Sin embargo los esfuerzos de los matemáticos más capacitados, no tuvieron éxito para desarrollar esta máquina. Turing decidió enfocar el problema desde una perspectiva diferente. Estudió la clase de problemas que podía resolver una máquina, siguiendo reglas lógicas, e intentó hacer una lista de ellas. Si éstas comprendían la totalidad de las matemáticas, la presunción podría confirmarse. Turing, bajo estas consignas, dirigió un grupo de investigación y desarrolló en Inglaterra uno de los proyectos más secretos de la Segunda Guerra Mundial; la primera computadora electromecánica del mundo, el Colossus, con el cual se descifraban los mensajes de la segunda Guerra. Una de las razones por la que el nombre de Turing es relativamente desconocido, es que trabajaba para el M.I. 5. El gobierno británico no dio a conocer hasta 1975 la labor pionera de Turing en la informática.

Mientras tanto en América J. Presper Eckert y J. Mauchily construyeron la primer computadora de propósito general del mundo, en la Moore School de la Universidad de Pennsylvania. Esta máquina, denominada ENIAC (Electronic Numerical Integrator and Calculator), fue financiada por la Armada de E.E.U.U. y estuvo operativa durante la segunda guerra, dándose a conocer todo esto recién en 1946. Empleaba 18.000 válvulas. La ENIAC, fue una computadora de propósito general utilizada para calcular tablas de fuego de artillería.

En 1948 W. Schottky inventa el transistor de superficie de contacto con lo cual se hizo realidad el cálculo rápido (trabajan más rápido, con menor tamaño, con mayor flexibilidad y menor disipación de calor).

En los 50 y 60 se continuaron fabricando y perfeccionando computadoras cada vez más potentes y en 1959 se construyó en primer circuito de semiconductores con varios transistores sobre una pieza de silicio, con lo cual se considera el nacimiento de la microelectrónica.

A mediados de los sesenta muchos científicos comprendieron que un circuito electrónico miniaturizado trabajaba con mayor eficacia y velocidad que componentes discretos. Apoyado por las inversiones de la carrera espacial se comenzaron a experimentar, colocando los diseños de circuitos en un único chip de silicio, que llevo al desarrollo de los microprocesadores. Aunque la tecnología de los microprocesadores nada tenga que ver con la gigantesca máquina analítica de Charles Babbage y Ada Lovelace, y apenas si se parece un poco al Colossus de Turing, la arquitectura práctica que creó Babbage aún se utiliza en los microprocesadores actuales y la comprobación matemática de Turing de la fiabilidad, aún no ha sido superada.

El coprocesador matemático

El coprocesador matemático es un microprocesador dedicado a cálculos matemáticos, y no de las lógicas ni las de control como una CPU. Las características que lo diferencian de la CPU es que posee mayor definición de longitud de palabra en la que expresa los resultados

(utiliza una exactitud de 80 bits, contras los 64 del CPU) y además tiene microprogramado dentro de él la resolución de funciones matemáticas con rutinas más depuradas, mayor rapidez y exactitud de cálculo.

La memoria Caché

El concepto que generó la Cache es que un procesador debe tener acceso rápido a los datos e instrucciones con los que trabaja. Por ello la mejor manera de lograr esto es almacenando la información en una memoria especial, muy rápida, dentro del chip de CPU. Así es que la caché almacena una cantidad de datos e instrucciones recientes que el procesador utiliza para realizar sus cálculos.

En los micros actuales se habla de niveles de caché. El primer nivel (L1) es el más rápido, de muy baja latencia y de menor tamaño. Los chips modernos incluyen un segundo nivel (L2), que es de mayor tamaño, pero un poco más lenta. Al aumentar el multiplicador, la caché se hace más importante, dado que el procesador no podrá acceder tan rápidamente a la memoria del sistema y deberá trabajar más rápido con los datos almacenados en su interior.

Respecto de la caché, hay varios parámetros que definen su rendimiento y el impacto que hacen en el desempeño general del procesador. Los principales son el tamaño y la frecuencia de reloj. Hoy en día, la tendencia es que los procedimientos incluyan cachés cada vez más grandes (hasta 1 Mby. en el Prescott) y que funcionen a la misma frecuencia del procesador.

Si bien hoy en día lo más común es que la caché forme parte del die del procesador y funcione a toda velocidad, debemos recordar que no siempre fue así. En el Pentium II, por ejemplo, la caché funcionaba a la mitad de la frecuencia del núcleo (un procesador de 400 Mhz. tenía caché L2 a 200 Mhz.) y se encontraba en chips de SRAM externos al die principal.

Otro punto, muchas veces obviado, que determina el rendimiento de la caché L2 es el tipo de conexión que ésta tiene con la caché L1. La caché del Pentium III Coppermine y de los subsiguiente procesadores Intel se conecta a la L1 mediante un bus de 256 bits. Los Athlon Thunderbird y XP, en cambio, usan un bus de 64 bits, lo que en algunas circunstancias les resulta perjudicial.

Sin dudas, fue el soberbio diseño de la caché del Coppermine lo que le permitió competir eficazmente con los primeros Athlon Socket A, que eran más avanzadas en la mayoría de los aspectos técnicos.

La técnica de Pipeline

El 486 también incorpora la técnica de “Pipeline”. Para entender en que consta esta técnica definiremos primero los pasos en que consta la secuencia de ejecución de una instrucción:

IF (Instruccion Fetch - Búsqueda de Instrucción): En este paso involucra la búsqueda en memoria del código, de la siguiente instrucción que se va a ejecutar.

ID (Instruccion Decode - Decodificación de Instrucción): Este paso involucra la decodificación de la instrucción que se trajo durante el paso anterior para, entre otras cosas, saber cuáles y cuántos operandos se necesitan para su ejecución.

OF (Operand Fetch - Búsqueda de operandos): En este caso el procesador trae a la memoria los operandos necesarios para la ejecución de la instrucción.

EX (Ejecution - Ejecución): En este último paso es donde se ejecuta efectivamente la instrucción.

Si agrupamos en un diagrama donde tenemos representados estos cuatro pasos, podemos generar el siguiente esquema:

IF ID OF EX

En los procesadores que no cuentan con la técnica de pipeline, la ejecución de una tanda de instrucciones, a lo largo del tiempo, tendría la siguiente representación:

En los procesadores con Pipeline las instrucciones se agrupan de la siguiente manera, dando como resultado un ahorro de tiempo en la ejecución de un programa dado:

Si bien se ha presentado la mayoría de los procesadores vistos desde el 286 al 486 como Intel, existen fabricas que con nombres similares venden en el mercado procesadores compatibles con estos. Tal es el caso de AMD, Cyrix, NextGen, etc..

Comments (0)