Clase 3

Clase N° 3
Memoria Caché
A partir del 486 se incluye dentro del circuito integrado una memoria caché L1, que corre a la
velocidad del micro. Básicamente es una memoria muy rápida (SRAM), empleada para contener
parte del conjunto de código y datos sobre el cuál trabaja el micro en un momento dado.
En los micros actuales, se habla de niveles de caché. El primer nivel (L1) suele ser 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 lento. Al aumentar el multiplicador, la caché se hace más
importante, dado que el procesador deberá trabajar más tiempo con los datos almacenados en su
interior. Respecto de la caché, hay varios parámetros que definen su rendimiento, principalmente el
tamaño y la velocidad. Lo ideal es que una caché sea grande y rápida. En los micros Intel de la
familia P6 como el Pentium II y los primeros Pentiun III, la caché era grande (512 KB), pero sólo
funcionaba a la mitad de la frecuencia del procesador.
Con el fin de entender la importancia de esta memoria hay que entender las velocidades de los
procesadores y las memorias, el problema es que tienen distintas unidades de medida. La velocidad
del procesador se expresa en MHz. y la de la memoria en nanosegundos (mil millonésimas de
segundo por ciclo). La forma en que se realiza el pasaje es la siguiente:
1 / nanosegundos x 1000 = MHz.
1 / MHz. x 1000 = nanosegundos
Así una memoria de 10 ns. sabemos que corre a 1 / 10 ns x 1000 = 100 MHz.
Para explicar el funcionamiento supongamos que tenemos un procesador de 1000 MHz con una
memoria de 100 MHz. Cuando el procesador accede a los datos de la memoria, debe rebajar su
velocidad a 100 MHz., y si esto lo hace continuamente, tendríamos un procesador trabajando sólo
al 10% de su capacidad. La solución para esto es la memoria caché, que le puede seguir el paso a
la velocidad del procesador. Entonces, porque no sustituir la memoria principal del sistema (DRAM)
por esta memoria más rápida (SRAM), simple, por un tema económico. La SRAM es mucho más
cara y necesita mayor espacio. Es por esto que también existe una caché L2, que habitualmente es
más grande que la L1. Cada vez que falla la caché L1 el micro busca en la L2, y si no encuentra los
datos que necesita, finalmente baja la velocidad a la de la memoria. Intel informa que la frecuencia
de aciertos de la caché L1 y L2 es de un 90%.
Modos de procesador (real -soft 16 bits-; protegido (32 bits); real virtual (soft de 16 en
un ambiente de 32)
Todos los procesadores de 32 bits y posteriores pueden funcionar en varios modos. Estos se
relacionan con los distintos S.O. y afectan a las instrucciones y el desempeño del chip. Los 3 modos
posibles son:
Real (soft 16 bits)
Protegido (soft 32 bits)
Modo real virtual (soft de 16 en un ambiente de 32 bits)
Modo real
La arquitectura es del 8088, direcciona 1 MB de memoria.
Modo protegido
Se llama así porque los programas están protegidos de ser sobrescritos por otros programas.
Modo real virtual
Ejecuta soft de 16 bits en un ambiente de 32 bits.
Ejecución superescalar (sólo mención de RISC, CISC, VLIW)
RISC
Reduced Instruction Set Computer son breves y todas tienen la misma longitud. Se procesan con
mayor rapidez que las CISC. El problema es que las instrucciones llegan a la cpu en formato CISC
entonces tienen que ser decodificadas.
CISC
Complex Instruction Set Computer. Son complejas, pero no precisan ser decodificadas.
VLIW
Very Long Instruction Word. La idea es poner varias instrucciones en una sola. El Itanium usa esta
tecnología.
Instrucciones adicionales (MMX, SIMD, 3DNOW –sólo mención; desarrollo en los
procesadores)
MMX
Las siglas provienen de eXtensiones MultiMedia, o de eXtensiones Matemáticas de Matriz. La
tecnología MMX fue introducida a finales de la quinta generación de procesadores Pentium como un
agregado para mejorar la compresión y descompresión de video, manipulación de imágenes,
cifrado y procesamiento de E/S, todas ellas funciones usadas en una variedad de soft actual.
SSE
Streaming SIMD Extensions son 70 nuevas instrucciones que introdujo Intel en los micros Pentium
III. Son similares a las MMX, y además permiten cálculos de punto flotante. Entre las tecnologías
que se benefician gracias a las SSE figuran la producción avanzada de imágenes, el video 3D, audio
y video fluidos (reproducción de películas) y las aplicaciones de reconocimiento de voz.
3DNow y Enhanced 3DNow
La tecnología 3DNow es la alternativa de AMD a las instrucciones SSE de los procesadores Intel.
AMD licenció las instrucciones MMX y para no solicitar también la licencia de las SSE desarrollo las
3DNow. Estas instrucciones extienden las capacidades multimedia de los procesadores AMD de una
manera superior a MMX.
Ejecución dinámica (Predicción, análisis de flujo de datos, ejecución especulativa)
Usada por primera vez en la sexta generación de procesadores, la ejecución dinámica es una
combinación de 3 técnicas de procesamiento diseñadas para ayudar al micro a manipular datos con
mayor eficacia. Estas técnicas son:
Predicción de múltiples ramas
Anticipa el flujo del programa a través de varias ramas. Usa esta técnica para predecir en que lugar
de la memoria se encuentran las siguientes instrucciones con una precisión del 90%.
Análisis de flujo de datos
Consiste en estudiar y organizar las instrucciones para ejecutarlas en una secuencia óptima,
independientemente del orden original del programa.
Ejecución especulativa
Incrementa el rendimiento mediante la consulta adelantada del contador del programa y la
ejecución de instrucciones que probablemen te sean necesarias más adelante.
Procesadores P1 (086), la primera generación
Son los primeros procesadores de Intel incluidos en la primera PC de IBM.
Procesadores 8086 y 8088
En 1978 Intel introduce el 8086, un procesador de 16 bits, que por ende podía correr un nuevo
conjunto de instrucciones de 16 bits. También tenía un bus de datos de 16 bits y un bus de
direcciones de 20 bits (podía utilizar 1 MB de memoria). Como los usuarios de la época usaban soft
de 8 bits, la construcción de un sistema íntegramente de 16 bits implicaría el rediseño de todo el
soft y la arquitectura de los mothers que había en el mercado. Entonces Intel introdujo una versión
disminuida de este chip, el 8088 que conservaba los registros internos de 16 bits, pero reemplazaba
el bus de e/s de 16 por uno de 8 bits. Así podía trabajar con programas de 8 y 16 bits. Este
procesador (el 8088) fue seleccionado por IBM para construir la primera PC.
Coprocesador 8087
Fue introducido en 1976 para llevar a cabo operaciones matemáticas de alto nivel.
Procesadores P2 (286), la segunda generación
Esta generación permitió un gran adelanto en cuanto a velocidad del sistema, se dio el salto de
mover 8 bits de datos a mover 16 a la vez.
Procesadores 286
Fue introducido en 1981. Son 5 veces más rápidos que sus antecesores por varias razones; la
principal es que son mucho más eficientes en la ejecución de instrucciones (4.5 ciclos por
instrucción contra 12 ciclos del 8086). Adicionalmente el 286 puede manejar 16 bits de datos a la
vez, a través de un bus externo de datos con esa anchura. El 286 puede ejecutarse en 2 modos:
Real y Protegido (ver en página 1). Aunque para cambiar entre uno y otro hay que reiniciar la
máquina. El coprocesador 287 corre a la misma velocidad que la del micro.
Procesadores P3 (386), la tercera generación
Representa el cambio más significativo en procesadores desde la primera PC. Lo más importante
fue la migración de procesadores capaces de manejar operaciones de 16 bits a chips de 32 bits
reales. Estos procesadores estuvieron tan adelantados a su época que tomó alrededor de 10 años
la difusión y el uso pleno de los sistemas operativos y aplicaciones a 32 bits.
Procesadores 386
A comparación con el 286 ofrecía un rendimiento muy superior. Intel lo introdujo en 1985 y fue el
primer micro completamente de 32 bits. El 386 también puede ejecutar instrucciones de 16 bits,
pero en menos ciclos de reloj que sus antecesores. Además para cambiar entre modo real y
protegido, basta con reiniciar el soft. El coprocesador 387 era un chip de alto rendimiento diseñado
exclusivamente para correr con el 386. Hay principalmente 2 versiones del 386, a continuación esta
tabla muestra las características:
Procesador
Bus de datos
Registros internos
Bus de direcciones
Velocidades
386DX
32 Bits
32 bits
32 bits
Entre 16 y 33 MHZ.
386SX
16 Bits
32 bits
24 bits
Entre 16 y 33 MHZ.
Procesadores P4 (486), la cuarta generación
Esta generación representó un mayor grado de refinamiento de las generaciones previas.
Procesadores 486
La potencia adicional dispoible en el 486 impulsó un notable crecimiento en la industria del soft.
Hay 4 características que hacen a un 486 correr al doble de la velocidad que un 386 con los mismos
MHz.:
Menor tiempo para la ejecución de instrucciones: una instrucción se completa en 2 ciclos
de reloj, contra los más de 4 del 386.
Caché L1 interna
Ciclos de memoria en modo ráfaga
Coprocesador matemático mejorado integrado
Los tipos de 486 que hay son:
486DX: Fue lanzado en 1989. Hubo versiones de 25, 33 y 50 MHz. La versión estándar incluye una
FPU (Float Point Unit).
486SX: Fue lanzado en 1991 como una versión más barata del chip 486DX. Básicamente es similar
al DX, pero no incorpora la Unidad de Punto Flotante (FPU).
486DX2/OverDrive y DX4: En 1992 Intel presentó micros duplicadores de velocidad DX2 y
Overdrive (estos últimos para reemplazar a los 486SX). Estos micros estuvieron disponibles en 3
velocidades: 40, 50 y 66 MHz. Luego Intel presentó el DX4 que multiplicaba en 4 la velocidad del
mother con bus de 25 MHz. Este procesador tuvo 2 versiones, una que funcionaba con 3.3 v. y otra
con 5 v.
Procesadores P5 (586), la quinta generación
Luego del 486 los fabricantes concibieron nuevas arquitecturas y características para incorporarlas
en los chips de quinta generación.
Procesadores Pentium
En 1993 Intel lanzó el chip sucesor del 486, el Pentium. Este es compatible con los antiguos
procesadores pero difiere de ellos en varios sentidos. Una de esas diferencias es revolucionaria:
presenta canales gemelos de daros, lo cual permite ejecutar dos instrucciones al mismo tiempo
(tecnología superescalar). Además implementa la predicción por rama. Amplia su bus de datos a 64
bits, pero sus registros son de 32 bits. Usa memoria en módulos SIMM o DIMM. Dado que las SIMM
son de 32 bits es necesario colocar módulos de a pares.
Hay 3 tipos de micros Pentium, el de primera generación, el de segunda y el MMX.
Pentium de 1era generación: Disponible en versiones de 60 y 66 MHz. Opera con 5 v. y fue
construido con un proceso de 0.8 micras.
Pentium de 2da generación: En 1994 Intel introduce versiones del Pentium a 75, 90, 100, 120, 133,
150, 166 y 200 MHz. Fue construido con un proceso de 0.6 micras para reducir el tamaño y el
consumo de energía.
Procesadores Pentium MMX: en 1997 Intel incorpora a los micros la tecnología MMX anteriormente
explicada, con la consecuente mejora de rendimiento. Hay versiones de 166, 200 y 233 MHz. Fue
construido con un proceso de 0.35 micras y funciona con un voltaje de 2.8 v.
AMD- K5
Es un procesador compatible con Pentium, desarrollado por AMD y disponible como PR75, PR90,
PR100, PR120, PR133 y PR166. Estas siglas son las calificaciones P, pero no son la velocidad real,
por ejemplo el PR166 corre a 117 MHz.