Sunteți pe pagina 1din 17

EC Estructura de los 1.

1
computadores

TEMA 1: EVOLUCIÓN Y PRESTACIONES


DE LOS COMPUTADORES

3. Evolución histórica
4. Índices para medir prestaciones
5. Diseño para mejorar prestaciones
EC 1.2
Ley de Moore

Ley de Moore
 Número de transistores en un
chip se duplica cada año
(desde los 70, cada 18 meses).

 El coste de un chip permanece


casi inalterado

 Alta densidad de
empaquetamiento conlleva
conexiones más cortas y
mejores prestaciones,
incrementando la flexibilidad.
EC 1.3
Introducción
Componentes clásicos de un computador
El lenguaje máquina sirve
como nexo o interfaz entre el
compilador y el hardware de
la computadora

Para dar órdenes al hardware del


computador hay que “hablar su lenguaje”:
Palabras del lenguaje máquina ⇒
INSTRUCCIONES
Su vocabulario ⇒ REPERTORIO
DE INSTRUCCIONES
EC Evolución Histórica de los 1.4
Microprocesadores Intel
1971. Intel desarrolló su 4004, el primer chip que
contenía todos los componentes de la CPU en un
solo chip: el microprocesador había nacido,
gracias a los niveles de integración alcanzados.

Microfotografía del
Intel 4004. Contiene
2300 transistores y
0,3 x 0,4 cm de
tamaño. El 4004
podía sumar dos
números de 4 bits y
multiplicar sólo con
sumas sucesivas.
EC Evolución Histórica de los 1.5
Microprocesadores Intel
  Evolución de los microprocesadores
Intel de la década de los 70

4004 8008 8080 8086 8088


Fecha de
15/11/71 1/4/72 1/4/74 8/6/78 1/6/79
Introducción
5MHz, 8MHz, 5MHz,
Velocidad de reloj 108KHz 108KHz 2MHz
10MHz 8MHz
8 bits, 16
Anchura del bus 4 bits 8 bits 8 bits 16 bits
bits
Número de
2.300 6.000 29.000 29.000
transistores 3.500
(10) (6) (3) (3)
(microns)
Memoria
640 bytes 16 Kbytes 64 Kbytes 1 Mbyte 1 Mbyte
direccionable

Memoria virtual - - - - -
EC Evolución Histórica de los 1.6
Microprocesadores Intel

1972. Introducción del Intel 8008, el primer


microprocesador de 8 bits, que era casi dos veces
más complejo que el 4004.

1974. Acontecimiento importante con el nacimiento del


Intel 8080, el primer microprocesador de uso o
propósito general, a diferencia del 4004 y 8008,
que habían sido diseñados para aplicaciones
específicas.

1978. Aparición de microprocesadores de 16 bits de


propósito general. Uno de éstos fue el 8086.
EC Evolución Histórica de los 1.7
Microprocesadores Intel
  Evolución de los microprocesadores
Intel de la década de los 80

Intel386 Intel386 Intel486


80286
TM DX TM SX TM DX
Fecha de Introducción 1/2/82 17/10/85 16/6/88 10/4/89

Velocidad de reloj 6-12,5MHz 16-33MHz 16-33MHz 25-50MHz

Anchura del bus 16 bits 32 bits 16 bits 32 bits

Número de transistores 134.000 275.000 275.000 1,2 millones


(microns) (1,5) (1) (1) (0,8-1)

Memoria direccionable 16 megabytes 4 gigabytes 4 gigabytes 4 gigabytes

Memoria virtual 1 gigabytes 64 terabytes 64 terabytes 64 terabytes


EC Evolución Histórica de los 1.8
Microprocesadores Intel

1982. Introducción de una ampliación del 8086, el


80286, que permitía direccionar una memoria de
16 Mbytes en lugar de sólo 1 Mbyte.

1985. Primera máquina de Intel con una arquitectura de


32 bits rivalizando con los computadores
introducidos en el mercado pocos años antes.

1989. Aparición del 80486 que introduce el uso de


tecnología de caché mucho más sofisticada y
potente, e instrucciones de segmentación de
cauce complejas.
EC Evolución Histórica de los 1.9
Microprocesadores Intel
  Evolución de los microprocesadores
Intel de la década de los 90

Intel486 Pentium Pentium


Pentium
TM SX Pro II
Fecha de Introducción 22/4/91 22/3/93 1/11/95 7/5/97

Velocidad de reloj 16-33MHz 60-166MHz 150-200MHz 200-300MHz

Anchura del bus 32 bits 32 bits 64 bits 64 bits

1,185
Número de transistores 3,1 millones 5,5 millones
millones 7,5 millones
(microns) (0,8) (0,6)
(1)

Memoria direccionable 4 megabytes 4 gigabytes 64 gigabytes 64 gigabytes

Memoria virtual 64 gigabytes 64 terabytes 64 terabytes 64 terabytes


EC Evolución Histórica de los 1.10
Microprocesadores Intel

1993. Aparece el Intel Pentium, introduciendo el uso


de técnicas superescalares, que permiten que
varias instrucciones se ejecuten en paralelo.
1995. Intel presenta el Pentium Pro que continua la
tendencia iniciada con el Pentium hacia la
organización superescalar, con el uso agresivo del
renombrado de registros,predicción de
ramificaciones, análisis del flujo de datos y ejecución
especulativa.
1997. Aparición del Intel Pentium II que incorpora la
tecnología Intel MMX, que se diseñó
específicamente para procesar de forma eficiente
datos de vídeo, audio y gráficos.
EC Evolución Histórica de los 1.11
Microprocesadores Intel

Actualmente. El penúltimo procesador que ha


presentado Intel es el Pentium III, incorporando
instrucciones adicionales en punto flotante para
procesar software de gráficos 3D. Y es el penúltimo,
porque ya esta aquí el Pentium 4, que trabaja a
velocidades superiores y mejora las instrucciones con
el nombre de SSE2 (144 nuevas), entre otros muchos
avances tecnológicos.

Estructura del
Pentium  4
EC Evolución Histórica de los 1.12
Microprocesadores Intel
EC Diseño para obtener mejores 1.13
prestaciones. ¿Cómo medirlo?

MIPS: Millones de instrucciones por segundo


Nº Instrucciones Frecuencia reloj
MIPS = =
Tiempo de ejecución x 10 6 Ciclos por intrucc. (CPI) x 106

En general, máquinas rápidas tienen un alto valor de MIPS,


siendo éste un índice fácil de entender.

Problema: Cada máquina tiene un conjunto de instrucciones


diferente.
Instrucc. simples → rápidas → MIPS ↑
Instrucc. complejas → lentas → MIPS ↓
¿Cómo comparar máquinas con diferentes
conjuntos de instrucciones?
EC 1.14
MIPS como medida de
prestaciones
Ejemplo: Operación Frecuencia Ciclos de
de aparición Reloj
El reloj opera a ALU
20ns y mediante 43% 1
optimización del LOAD
compilador, se
21% 2
reduce a la mitad STORE 12% 2
las operaciones
de la ALU SALTO 24% 2
CPI (Media)=0.43*1+0.21*2+
0.12*2+0.24*2=1.57 Se toma como referencia
MIPS=50MHz/1.57x106 =31.8
VAX 11-780 de 1MIP
Optimizado:

CPI (Media)=0.43/2*1+0.21*2+ Tiempo maq. Ref


NormMips = × MIPS.Ref
0.12*2+0.24*2=1.73 Tiempo maquina nueva
MIPS=50MHz/1.73x106 =28.9
EC 1.15
MFLOPS & Benchmark
MFLOPS: Millones de operaciones en coma
flotante por segundo
1. Es útil para comparar máquinas que realizan aplicaciones científicas
2. Realiza una comparación más justa debido a que flop es igual en
diferentes máquinas, aunque no todas tienen el mismo conjunto de
flops
Programas de test
(benchmark)
ECDiseño para mejorar prestaciones1.16

Velocidad del microprocesador

Los fabricantes intentan aumentar la velocidad del procesador, pero


éste no alcanzará su potencial a menos que se “le alimente”
continuamente con instrucciones. Los fabricantes diseñan chips de
densidad cada vez mayor, y los diseñadores del procesador tiene que
producir técnicas como:

Predicción de ramificación: precaptar instrucciones


Análisis de flujo de datos: dependencia de instrucciones para
organización optimizada
Ejecución especulativa: con las dos técnicas anteriores, se ejecutan
instrucciones antes de que aparezcan en la
ejecución del programa, manteniendo los
resultados en posiciones temporales.
ECDiseño para mejorar prestaciones1.17
Equilibrio de prestaciones

Existe una desigualdad de prestaciones


entre microprocesador y memoria
principal. Si la memoria no logra mantener
las demandas del procesador, este se
detiene.
El nº DRAM para un
tamaño cte baja
Soluciones:
6. Incrementar ancho de palabra
7. Interfaz DRAM más eficiente, incluyendo
una cache u otro esquema de
almacenamiento temporal en el chip
DRAM
8. Reducir la frecuencia de acceso a MP
mediante caches internas y externas
9. Incrementar ancho de banda, usando
buses más rápidos

S-ar putea să vă placă și