martes, 10 de noviembre de 2009

4.1 ARQUITECTURA ALU

ARQUITECTURA DEL ALU


El procesador es todo un mundo en sí mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente capítulo dedicaremos algunos comentarios a su estructura lógica, mencionando de pasada que su tecnología física ha avanzado paralelamente con la de construcción de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones físicas cada vez más pequeñas y un menor consumo.
La evolución de ambos parámetros no solo ha permitido incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz.
Nota: acabo de leer (Noviembre 2001) que Intel anuncia la nueva tecnología de 0.13 micras para su serie Pentium 4 (hasta ahora era de 0.18 micras), con la que se espera que a fines de 2002 se alcancen los 3 GHz. en estos procesadores. Un poco después (Enero 2002) leo que Intel espera alcanzar 1.2 THz en sus procesadores para el 2005 (escribo esto en un Pentium II a 200 MHz no demasiado antiguo). En Abril del 2002 Intel anuncia el procesador Pentium 4 con tecnología CMOS de 0,16 micras a 2.4 GHz y mejoras en el proceso de fabricación que permiten su fabricación en obleas de 300 mm. Esta tecnología permite al fabricante proporcionar más de cinco veces el volumen de productos en una sola oblea en comparación con la del procesador Pentium 4 inicial. En Junio del mismo año Intel desvela su nueva tecnología de fabricación de transistores "Tera-Herz", con la que pretende que en el 2005 pueda alcanzar los 10 GHz. Craig Barret, CEO [7] de la compañía, afirma que en un futuro no lejano esperan conseguir 2.000 millones de transistores en un procesador a 30 GHz.
Actualmente se trabaja en el límite de la resolución óptica de los dispositivos utilizados en su construcción (se usan técnicas fotográficas con longitudes de onda cada vez menores para la luz utilizada), y debido a la altísima frecuencia de funcionamiento, los conductores internos funcionan más como guías de onda que como conductores eléctricos convencionales. Además, las dimensiones físicas del propio dispositivo están teóricamente limitadas si se desea que todos sus elementos funcionen según un mismo patrón de tiempo (cosa que es imprescindible). Para dar una idea de las formidables dificultades técnicas que han debido resolver los diseños actuales, considere que a la velocidad del Pentium III, las señales eléctricas solo recorren 15 centímetros en cada ciclo de reloj.
§2 Tipos de arquitectura
Una de las primeras decisiones a la hora de diseñar un procesador es decidir cual será su juego de instrucciones. Este conjunto de instrucciones (órdenes) es el lenguaje que realmente entiende el procesador, y constituye lo que se conoce como lenguaje ensamblador o lenguaje-máquina [1].
La decisión es trascendente, por dos razones. Primero: el juego de instrucciones decide el diseño físico del conjunto. Segundo: cualquier operación que deba ejecutarse con el procesador deberá poder ser descrita en términos de este "lenguaje" elemental (recuerde que los compiladores e intérpretes son en realidad traductores desde el lenguaje de alto nivel (fuente) a este lenguaje-máquina.
Sin entrar en detalles, podemos decir que frente a esta cuestión caben dos filosofías de diseño. La primera conduce a máquinas denominadas CISC ("Complex Instruction Set Computer"); las máquinas construidas según el otro criterio se denominan RISC ("Reduced Instruction Set Computer").
Como puede deducirse de sus propios nombres, las máquinas CISC utilizan instrucciones muy complejas, diríamos que muy descriptivas y específicas, lo que necesariamente se traduce en varias consecuencias:
El lenguaje debe contener un amplio surtido de ellas (una para cada circunstancia distinta).
Son instrucciones complejas, por tanto de ejecución lenta. La circuitería del procesador también es compleja.
Para un trabajo específico se requieren pocas instrucciones (siempre hay una que resuelve el problema).
Las máquinas RISC representan el enfoque opuesto. Utilizan instrucciones muy simples, que deben ser cuidadosamente escogidas, porque cualquier operación debe ser expresada como una secuencia de estas pocas instrucciones. Las consecuencias son justamente opuestas a las anteriores:
El lenguaje contiene un conjunto pequeño de instrucciones.
Las instrucciones son muy simples, por tanto de ejecución rápida. La circuitería es más simple que en los procesadores CISC.
Para cualquier operación se requieren varias instrucciones elementales.
Naturalmente cada criterio tiene sus pros y sus contra en lo que a rendimiento se refiere. En las máquinas CISC, lentitud de cada instrucción frente a poca cantidad de ellas; en las RISC, rapidez individual aunque hay que ejecutar un mayor número [2].
§3 Componentes principales.
De forma esquemática podemos suponer que un procesador se compone de cinco elementos:
Memoria
Unidad Artimético-Lógica ALU ("Arithmetic and Logic Unit" )
Unidad de Control CU ("Control Unit" )
Bus interno
Conexiones con el exterior ( 3.2.1)
Puesto que su conocimiento es esencial para la programación en ensamblador, nos detendremos brevemente la descripción de la arquitectura del 8088; además de ser el motor del primer PC, es uno de los primeros ejemplares de una prolífica saga que ha tenido una gran influencia en la informática actual. Además recordemos que incluso los modernos Pentium pueden emular el funcionamiento en modo real de sus ancestros.
En le figura 1 se muestran sus elementos.

No hay comentarios:

Publicar un comentario