1. MICROPROCESADORES
• Historia generacional del microprocesador
• Principales magnitudes que definen el
microprocesador de un PC
• La Quinta Generación
• La Sexta Generación
• La Séptima Generación
• La Octava Generación
• El futuro
2. HISTORIA GENERACIONAL DEL MICROPROCESADOR
• Década de los 80: Intel frente a Motorola.
Primera, Segunda y Tercera Generación
Intel:
1. Aliados empresariales más oportunos
2. Mantiene la compatibilidad con modelos pasados
Motorola:
1. Diseño arquitectural vanguardista y completo en
decremento de la velocidad
2. Elegancia de su ensamblador, menos complicado que el
de Intel. Suerte de Intel que apareció de forma inmediata
los lenguajes de alto nivel para PC, solventado Intel el
problema de trabajar con su ensamblador.
3. HISTORIA GENERACIONAL DEL MICROPROCESADOR
PRIMERA GENERACIÓN (1978-1982)
• Su principal representante es el 8086 en Intel (1978) y el
68000 en Motorola (1979)
• 8086: Debido a las mejoras en la integración respecto a
sus antecesores permite incluir una ALU compleja y con
ancho de datos de 16 bits en las unidades de
procesamiento. Se habilita las instrucciones de producto
y división de números enteros
• 68000: Diseño microprogramado de 16 bits aunque con
registros internos de 32 bits. Rompió con la tendencia de
la Unidad de Control cableado que imperaba. Fue
utilizado por Macintosh de Apple, Hewlett-Packard y
Sun.
4. HISTORIA GENERACIONAL DEL MICROPROCESADOR
SEGUNDA GENERACIÓN (1982-1985)
• El protagonista es la memoria al
demandar la capa software un mayor
espacio de direcciones
• En cuanto al hardware, se aumenta el bus
de direcciones y se implanta el concepto
de memoria virtual, pudiendo ejecutar el
procesador programas mayores que el
espacio físico de memoria disponible.
5. HISTORIA GENERACIONAL DEL MICROPROCESADOR
TERCERA GENERACIÓN (1985-1989)
• Mejora de la MMU para poder realizar el mapeo
de direcciones virtuales a físicas
• Se implementa la MMU en el interior del
procesador que realice el proceso anterior para
optimizar el mapeo de direcciones y liberar la
MMU externa
• Empiezan a aparecer el diseño dual, es decir,
procesadores de gama baja y alta, concepto que
se mantiene hasta hoy en día con la aparición
del celeron (gama baja) y el xeon (gama alta) en
la sexta generación
6. HISTORIA GENERACIONAL DEL MICROPROCESADOR
• La Década de los 90: la década de Intel. Cuarta,
Quinta y Sexta Generación:
Motorola saca su Power PC cambiando totalmente su filosofía
de mercado y ofreciéndose a un mercado, no sólo de
informática doméstica sino también de servidores y estaciones
de trabajo. Finalmente se centra más en el mercado de telefonía
y comunicaciones que en el del PC. De esta forma queda Intel a
partir de la Quinta Generación como líder en el mercado de
microprocesadores para PC
En la Quinta Generación se impone Intel con su Pentium, como
arquitectura estándar de referencia en microprocesadores de 32
bits
En la sexta generación empieza la rivalidad entre Intel y AMD
7. HISTORIA GENERACIONAL DEL MICROPROCESADOR
CUARTA GENERACIÓN (1989-1993)
• Se vuelve a centrar la arquitectura en la potencia de cálculo. En la primera
generación es la computación de números enteros la protagonista, ahora lo
será la computación de números reales en punto flotante
• Se introduce el coprocesador matemático (como unidad independiente del
procesador central) dentro del mismo chip de procesador central, para
ganar velocidad y reducir el precio del conjunto co/micro-procesador
• Se introduce la segmentación a nivel de instrucción de cinco y seis etapas
• Se llega a niveles de integración por debajo de la micra permitiendo
incorporar nuevos bloque funcionales al procesador
• Se introducen las primeras memorias caché dentro del micro
• Se elimina el problema del espacio direccionable de la memoria pero se
sigue teniendo problemas en la velocidad de transferencia
• Motorola separa el flujo de datos del de instrucciones proporcionando 4
Kbytes a cada uno de ellos en la cache de nivel 1 (interna); mientras que
Intel mantiene la caché unificada de 8 Kbytes, mostrándose menos efectivo
en el rendimiento. A partir de aquí Intel abandona la caché unificada
8. HISTORIA GENERACIONAL DEL MICROPROCESADOR
QUINTA GENERACIÓN (1993-1997)
• Aparece el multiplicador de reloj debido al desfase de velocidad
entre el microprocesador y el bus del sistema, llegando hasta
valores de 3
• La mejora de la tecnología, que ha permitido aumentos en la
frecuencia de reloj, permite incorporar un par de millones de
transistores más, que se van a emplear en dotar al microprocesador
de un paralelismo a nivel de intrsucciones, con segmentaciones de
más de cinco etapas y diseños superesclares
• Con estas premisas aparece el Pentium en Intel (su gran éxito
comercial lo afianza en el primer puesto del mercado en cuanto a
microprocesadores para PC) y el K5 de AMD para competir con el
anterior, pero debido a su retraso en la puesta en marcha dentro del
mercado hizo que supusiera un fracaso
9. HISTORIA GENERACIONAL DEL MICROPROCESADOR
SEXTA GENERACIÓN (1997-2000)
• Se dota al microprocesador de un carácter multiprocesador, para lo cual se incorpora
la circuitería necesaria para la sincronización de los procesadores
• Aparece el concepto de SMP (Symmetric MultiProcessing). Se sube un peldaño
respecto al paralelismos a nivel de instrucción, pero se está por debajo de lo que es
el multiprocesador puro, ya que se comparte componentes de la placa base (buses,
memoria principal y periféricos)
• El SMP por su elevado coste no cuaja en el mercado doméstico y por motivos de la
inmadurez del software
• Como ejemplo de microprocesador SMP está el Pentium Pro de Intel
• Surgen nuevos competidores de Intel después de la retirada de Motorola
• Aparece la cache interna L2 y se reutilizan las técnicas de paralelismo a nivel de
instrucción: aparece la segmentación en la FPU, que consta de más de diez etapas;
aparece también la superescalaridad
• Aparece el Pentium II que deriva del Pentium Pro, montándolo sobre un nuevo tipo
de zócalo (Slot 1)
• AMD lanza el K6 para competir con el Pentium II
• Hubo otras compañías como Cyrix, Rise e IDT que sacaron sus procesadores de
sexta generación y no tuvieron el mismo éxito que AMD, algunas hasta entraron en
quiebra, como Cyrix
11. HISTORIA GENERACIONAL DEL MICROPROCESADOR
• Comparativa de
las familias
80x86 de Intel y
680x0 de
Motorola
12. HISTORIA GENERACIONAL DEL MICROPROCESADOR
Modelos comerciales más representativos de las seis primeras generaciones
13. HISTORIA
GENERACIO
NAL DEL
MICROPROC
ESADOR
Diagrama de
bloques de
un
microproces
ador a lo
largo de sus
diferentes
generaciones
14. HISTORIA GENERACIONAL DEL MICROPROCESADOR
Las seis generaciones de microprocesadores para PC que se suceden en
las dos últimas décadas
15. PRINCIPALES MAGNITUDES QUE DEFINEN EL
MICROPROCESADOR DE UN PC
• Las cinco magnitudes que definen el rendimiento del
microprocesador en un PC (forma de acotar los
parámetros que definen dicho rendimiento) son:
1. Frecuencia de reloj
2. Tecnología de integración
3. Paralelismo a nivel de instrucción
4. Memoria caché integrada
5. Conjunto de instrucciones
• Hay que tener en cuenta todos estos parámetros para
definir el rendimiento del microprocesador
16. Secuencia de tratamiento de las principales magnitudes del
procesador, y su interrelación y dependencia
17. Frecuencia de reloj
• Factor cuantitativo que indica la velocidad del reloj. Su origen reside en un cristal de
cuarzo que oscila a una frecuencia armónica determinada por la forma y el tamaño
del cristal
• Esta señal se filtra en un circuito que la convertirá en la secuencia de pulsos
digitales, cuadrados, periódicos y síncronos cuya cadencia marcará el ritmo de
trabajo de los distintos chips del computador
• El oscilador suele integrarse ya dentro del juego de chips de la placa base, por lo que
hoy en día cada vez es más difícil localizarlo en la placa base
• También se monta en diferentes tipos de placas (tarjetas gráficas)
• La magnitud inversa de la frecuencia es el período de reloj. Si la frecuencia se
expresa en Megahercios (millones de pulsos por segundo), el período lo hará en
microsegundos. Si la frecuencia se expresa en Gigahercios, el período lo hará en
nanosegundos.
• Las instrucciones máquinas se descomponen en una sucesión de operaciones; cada
una de ellas se ejecuta en un ciclo de reloj, de esta forma, cuanto mayor se la
velocidad del microprocesador menor es el tiempo en ejecutar una instrucción
(compuesta de un conjunto de operaciones)
• Errores que nos introducen los vendedores al pensar que a mayor velocidad mejor
rendimiento del microprocesador
19. Tecnología de Integración
• Es un indicador más cualitativo que
cuantitativo. Se define como la mínima
resolución de la maquinaria responsable
de integrar los circuitos mediante técnicas
de litografía
• Esta magnitud es de la que más depende
las otras cuatro.
22. Tecnología de Integración – Evolución y significado
• La tecnología CMOS es el responsable del 75% del volumen total del chip. Tan sólo
el Pentium y el Pentium PRO no utilizan íntegramente esta tecnología, utilizan
también la bipolar.
• El parámetro clave es la distancia de integración. Este parámetro antes estaba
asociado a la anchura del canal con que se fabrican los transistores, pero a partir de
la aparición de la tecnología de las 0,25 micras se asocia este parámetro con la
anchura de la pista de metal que une los transistores.
• Los últimos modelos se fabrican con tecnología de 0,09 micras=90 nm y los Core
Duo Processor a 65nm
24. Tecnología de Integración – Evolución y significado
• La tecnología de fabricación no avanza de forma
continua debido al coste de las plantas de fabricación
que deben ser amortizadas. Los plazos de
amortización de las plantas es de dos años, aunque
últimamente hemos visto que esos plazos se han
reducido debido al alto grado de comercialización de
los procesadores tanto en AMD como en INTEL
25. Tecnología de Integración – Efectos directos sobre otras variables
• Efectos benignos sobre las variables físicas ligadas a la constitución interna
de un microprocesador:
– Aumenta de forma cuadrática el número de transistores que se pueden integrar
en un mismo espacio físico. Esto conlleva un aumento del tamaño de la cache,
incorporar nuevas unidades funcionales, etc.
– Aumenta la velocidad de operación del transistor y con ello la frecuencia del
chip, debido a que conmuta más rápidamente entre el 0 y el 1 y viceversa. Al
reducirse la distancia entre la fuente y el drenador, más rápidamente se realiza
el paso o no de la corriente, de ahí el aumento sustancial de la frecuencia al
mejora la tecnología de intregración.
– Disminuye el voltaje de alimentación que requiere el chip. Esto influye en un
menor calentamiento del microprocesador, aunque esto no siempre es cierto
debido a que también al mejorar la tecnología de integración, se puede
incorporar más unidades funcionales, que repercute finalmente en un mayor
potencia de calor a disipar.
– Disminuye el coste de fabricación, debido a que al acortarse las distancias entre
transistores, se reduce el área de silicio y se puede introducir más chips por área
de oblea.
28. Tecnología de Integración – Efectos laterales entre las variables afectadas
• Debido a la complejidad de este sistemas se producen los siguientes
efectos laterales:
– Evolución de la distancia de integración respecto a la de la frecuencia. 1 micra ->
33 MHz ; 0,13 micras -> 3GHz . Reducción en un factor de 7,5 la distancia de
integración, aumento en un factor de 100 veces la velocidad, influyendo también
otros aspectos en este incremento de la velocidad que como vemos no es lineal.
– No es correcto decir que la reducción del precio del chip es cuadrática pues
influyen también aspectos de mayores inversiones en infraestructura de litografía
(técnica para reducir los mapas microelectrónicos). Tampoco se ha tenido en
cuenta para evaluar el coste el que hay áreas que son mas costoss en
fabricación que otras como la cache (debido a su mayor cantidad de
metalización por la conexiones que se deben realizar).
– El voltaje y la frecuencia distan mucho de ser independientes entre sí. Si
subimos la frecuencia debido a la mejora de la tecnología, provocará que se
aumente los niveles de voltaje, contrarrestando las mejoras que la tecnología
ponía a nuestro alcance para bajar los voltajes, y por tanto, bajar las
temperaturas en los microprocesadores.
– El número de transistores y la frecuencia tampoco son independientes. Un
aumento del número de transistores produce que aumentemos la cantidad de
unidades funcionales del chip, lo cual provoca un aumento del número de
elementos que debe atravesar su camino crítico (aquel que traviesa las señales
eléctricas cuando el microprocesador ejecuta su operación más lenta),
condicionando la longitud de éste la máxima frecuencia de funcionamiento.
33. Paralelismos a nivel de instrucción
• A la ALU y banco de registros internos del micro
se les unieron nuevas unidades funcionales en
búsqueda de mejora en el rendimiento.
• Una de esta mejora es el paralelismos a nivel de
instrucción, rompiendo la ejecución secuencial
de instrucciones para poder simultanear su
ejecución.
• Las técnicas de explotar este paralelismo se
puede englobar en tres métodos:
– Segmentación
– Superescalaridad
– Supersegmentación
34. Paralelismos a nivel de instrucción - SEGMENTACIÓN
• Se divide el proceso de ejecución en N etapas de similar duración
con el objetivo de procesador N instrucciones simultáneamente,
encontrándose cada una en una etapa diferente de su ejecución
• En el mejor de los casos se consigue que N unidades funcionales
del procesador trabajen a la vez, lo que redunda en un factor N de
mejora en el rendimiento del procesador.
• Se conoce también como pipeline a nivel de instrucciones.
• Ejemplos: Pentium 4 20 etapas de segmentación ; 80486 5
etapas de segmentación
• En la etapa de ejecución de operación puede haber ramificaciones
(multimedia, punto flotante, etc.) pero esto no ocurre hasta que se
concluya la etapa de decodificación de instrucción, por lo que las
primeras etapas de segmentación son siempre comunes a todos los
cauces del procesador
• Inconveniente: se complica la unidad de control conforme aumenta
el número de etapas en la segmentación.
35. Paralelismos a nivel de instrucción - SUPERESCALARIDAD
• Un procesador superescalar de factor N es aquel que
replica N veces la circuitería de alguna de sus unidades
funcionales con el fin de poder ejecutar N instrucciones
en sus respectivas etapas de computación.
• Las mejoras en la integración han permitido concentrar
más y más componentes en un mismo chip logrando
aumentar el factor de escalaridad con la consiguiente
mejora de rendimiento.
• Esto provoca un incremento lineal de la complejidad en
la unidad de control.
• Se diseñaron procesadores con un factor de escalaridad
de hasta 6, pero lo normal es de 3 o 4.
39. Paralelismos a nivel de instrucción – Combinación de
Segmentación y Superescalaridad
• Ambas formas de paralelismo con compatibles en su utilización conjunta,
aunque existen ciertos conflictos:
– La segmentación descansa sobre la base de una elevada frecuencia, en el
sentido de que sólo un período de reloj muy corto permitirá descomponer cada
instrucción en un número de etapas elevado
– La superescalaridad necesita de un ingente número de transistores para poder
ser llevada a la práctica, y esto sólo se consigue con mejoras en la tecnología de
integración
• La segmentación le estorba la superescalaridad porque ésta acarrea un
desdoble de la circuitería, con el consiguiente perjuicio sobre la frecuencia
de reloj, y por lo tanto, no se puede lograr un elevado número de etapas de
segmentación
• A la superescalaridad le estorba la segmentación, porque cuando las
etapas son tan minúsculas, se hace difícil incrementar su complejidad
replicando circuitería.
• Lo diseños fuertemente segmentados no utilizan un factor de
superescalaridad elevado, y los que apuestan por las superescalaridad
reducen el número de etapas de segmentación del diseño. Pentium IV 20
etapas y factor tres ; K714 etapas y factor cinco. Ambas tendencias
alcanzan un grado de paralelismo inherente de 60-70 instrucciones
simultáneas en el mejor de los casos
40. Paralelismos a nivel de instrucción – SUPERSEGMENTACIÓN
• Un procesador supersegmentado es aquel que aplica dos veces el
concepto de segmentación: a nivel del diseño global y a nivel interno de su
unidades funcionales de ejecución aritmética.
• Ejemplo: el Pentium es un segmentado de cinco etapas (búsqueda,
decodificación, lectura, ejecución y escritura), podría aplicarse una nueva
segmentación sobre cada una de las unidades funcionales que intervienen
en cada ciclo: la caché de instrucciones, el decodificador de instrucción, la
caché de datos, la ALU y el banco de registros. Supongamos que la etapa
de acceso a la caché la subdividimos en dos de tal forma que permita
simultanear la búsqueda de la instrucción y la localización de su celda
asociada con la lectura en sí del código de la instrucción anterior y su
volcado al bus de datos camino de procesador. Esto conlleva un desdoble
de la señal de reloj al doble de la frecuencia.
• En general la supersegmentación conlleva asociada la subdivisión del ciclo
de reloj en tantos ciclos como etapas se hayan establecido para el segundo
nivel de segmentación.
• La supersegmentación no es un concepto independiente de la
superescalaridad debido a que una implementación supersegmentada
implica la ejecución fuera de orden para minimizar el efecto negativo que
las dependencias de datos tienen sobre su rendimiento.
43. Paralelismos a nivel de instrucción – SUPERSEGMENTACIÓN
• Las enemigas del paralelismos a nivel de
instrucción:
– Dependencias de datos
– Dependencias de control
• Soluciones:
– Ejecución fuera de orden puede resolver las
dependencias de datos
– Predicción de salto puede resolver las dependencias
de control
• Todos estos conceptos se estudiarán en
segundo ciclo de Ingeniería de Informática
44. Memoria Caché Integrada
• Es un error pensar que toda la potencia de cómputo reside sólo en
la velocidad de cómputo, cuando en el interior del procesador tiene
lugar muchos más accesos a datos que operaciones en sí como se
muestra en la siguiente figura.
46. Memoria Caché Integrada
• Se puede entender la caché desde dos puntos de vistas
diferentes:
– Como una memoria de mayor velocidad que la memoria
principal que está situada entre éste y el banco de registros
internos del microprocesador
– O como una extensión del banco de registros dentro del
microprocesador.
• En ambos casos su función está bien definida: es la de
actuar como banco de contenidos tanto de datos como
de instrucciones que se deben de suministrar al
microprocesador a velocidades cercanas a las que las
realiza los bancos de registros internos del
microprocesador.