Tema 5 – Microprocesadores. Estructura. Tipos. Comunicación con el exterior.

1. Introducción

El modelo más conocido y difundido es el famoso modelo de Von Neuman que postuló el esquema que siguen hoy la mayoría de los ordenadores. Se trata de un esquema que incluye una unidad central de proceso constituida por una unidad de control, una unidad de cálculo aritmético y lógico y la memoria.

2. Microprocesador: Estructura y Funciones

2.1. Concepto:

· Diseño, en un circuito integrado, de la unidad de control, la unidad aritmético-lógica y el banco de registros.

· Es una UCP de unos pocos centímetros cuadrados al que se denomina pastilla.

· A medida que aumenta el nivel de integración, aumenta el número de componentes dentro de la pastilla.

· Se han pasado de unos 30.000 transistores del 8086 a unos 100 millones de transistores, incrementado sobre todo a partir del Pentium II a causa de la integración de la caché L2 dentro del micro.

· Se ha pasado de tecnologías de 6 micras, a 0,09 micras de los últimos micros.

2.2. Estructura de los microprocesadores:

· Unidad de interfaz de bus: proporciona el interfaz entre el micro y su entorno

· Unidad de prebúsqueda de código y descodificación: trabaja en colaboración con la de predicción de salto y su función es suministrar un flujo continuo de instrucciones descodificadas, de forma que las unidades de ejecución estén permanentemente alimentadas.

· Unidad de predicción de salto: Calcula anticipadamente la dirección de destino de las bifurcaciones condicionales.

· Unidades de ejecución: llevan a cabo las instrucciones de la cola de instrucciones. En los modernos microprocesadores superescalares pueden coexistir múltiples unidades de ejecución.

o Unidad de aritmética entera

o Unidad de coma flotante (FPU)

o Unidad vectorial:

o Registros renombrables

· Unidad de carga y almacenamiento: gestiona las solicitudes de lectura y escritura de datos desde/hacia la memoria.

· Unidad de interfaz de bus: Comunica al procesador con el resto del sistema a través de los buses.

· Jerarquía de caché: L1 dividido en caché de instrucciones y de datos y L2 conjunto.

2.3. Técnicas usadas en microprocesadores actuales

2.3.1. Mejora de las prestaciones

· Hacer las operaciones más rápidas

o Técnicas relacionadas con la tecnología de fabricación –semiconductores más avanzados- y el aumento de la frecuencia de funcionamiento.

· Conseguir que se ejecuten más operaciones de forma paralela

o Paralelismo a nivel de instrucción (ILP, Instruction Level Parallelism)

o Paralelismo a nivel de proceso (PLP, Process Level Parallelism)

· Mejora en la gestión de la memoria caché

2.3.2. Arquitectura de procesador RISC ó CISC

· CISC (Complex Instruction Set Computer):

o Grupo reducido de instrucciones complejas y potentes

o Formatos de instrucción de varios tamaños

o Muchos modos de direccionamiento

o Unidad de control microprogramaza

· RISC (Reduced Instruction Set Computer)

o Juego de instrucciones muy reducido que se completan en un ciclo de reloj

o Muchos registros de propósito general

o Pocos modos de direccionamiento

o Instrucciones rígidas y de pocos tamaños

o Unidad de control cableada

Los últimos procesadores como el Pentium 4 y el Athlon son híbridos, y combinan lo mejor de cada arquitectura, implementando una capa externa CISC (IA32) que una vez descodificada se ejecuta sobre un núcleo RISC.

2.3.3. Paralelismo a nivel de instrucción (ILP, Instruction Level Parallelism)

2.3.3.1. Segmentación de Instrucciones: Paralelismo en el suministro de instrucciones.

· La ejecución de la instrucción se divide en varias etapas (fetch, decode, ejecute, etc) en las que intervienen distintos subsistemas. De este modo, es posible trabajar simultáneamente sobre diferentes instrucciones que se encuentran en etapas distintas (pipelining, encauzamiento).

· Los procesadores actuales suelen utilizar entre 5 y 12 etapas, salvo el Pentium 4 que utiliza 22.

· Problemas con la duración distinta de etapas, consumo temporal dedicado a la transferencia de datos entre búferes y, sobre todo, las instrucciones de bifurcación condicional.

· Gestión de los conflictos de control de flujo: Un gran problema en el diseño de cauces está provocado por las instrucciones de bifurcación condicional. Soluciones:

o Flujos múltiples: cauces con más de una línea de ejecución. Ante una bifurcación se cargan las 2 instrucciones posibles.

o Buffer de bucles: pequeña memoria que contiene varias instrucciones, si el destino está en el buffer, + rápido.

o Predicción de saltos: Técnicas para predecir el salto que se va a producir, e incluso ejecutan, especulativamente, instrucciones posteriores a la bifurcación. Existen técnicas estáticas y dinámicas, basadas en un historial de instrucciones anteriores.

2.3.3.2. Técnicas superescalares: paralelismo en la ejecución.

· Las instrucciones usuales (aritmética entera y flotante, lecturas y escrituras de datos, bifurcaciones, etc.) pueden ejecutarse de manera simultánea e independiente.

· Mejora en las operaciones efectuadas con magnitudes escalares.

· Utilizan también la segmentación/supersegmentación

· Limitaciones:

o Dependencia de datos: una instrucción tiene como entrada el resultado de otra anterior.

o Dependencia del procedimiento: bifurcaciones condicionales

o Conflicto en los recursos

· Gestión del orden de atención a las instrucciones: Los problemas por dependencias de datos o del procedimiento pueden evitarse mediante la reordenación de las instrucciones antes de proceder a su ejecución según alguna política de despacho de instrucciones

2.3.3.3. Paralelismo Intra-instrucción: consiste en introducir múltiples operaciones de datos en cada instrucción.

· Instrucciones de operación dual: Consiste en incluir dos operaciones de datos en la misma instrucción.

· Instrucciones multi-dato (SIMD, Single Instruction Multiple Data): Instrucciones que repiten una misma secuencia de operaciones sobre un flujo múltiple de datos. Permiten que una misma operación sea aplicada a un conjunto de operandos. Ej: MMX, SSE, SSE2 ó 3DNow.

· Instrucciones de palabra muy larga (VLIW, Very Large Instruction Word): diferentes campos de la misma palabra de instrucción controlan simultáneamente diferentes unidades de ejecución del procesador. Depende fuertemente del compilador y por tanto las aplicaciones dependen de la arquitectura del procesador. Ej: Itanium de Intel (EPIC, Explicitly Parallel Instruction Computing)

2.3.4. Paralelismo a nivel de proceso (PLP, Process Level Parallelism): Requieren 2 o más procesadores lógicos.

2.3.4.1. Multihilo simultáneo (SMT, Simultaneous Multi-Threading)

· Procesadores capaces de ejecutar multihilado vía hardware

· Paralelismo a nivel de hilo (TLP, Thread Level Parallelism): Permite que varios hilos se ejecuten simultáneamente, permitiendo aprovechar al máximo los recursos del procesador y reduciendo las latencias de los hilos individuales

· Ej: Intel Xeon Hyper-Threading, 2 hilos simultáneos que comparten cachés de nivel 1 de instrucciones y datos, pero que disponen para sí de una unidad de carga y almacenamiento independiente.

2.3.4.2. Multiproceso simétrico (SMP, Symmetric Multi-Processing)

· Varios procesadores independientes a la orden del mismo sistema operativo, comparte los recursos de la máquina.

· Paralelismo a nivel de chip (CLP, Chip Level Parallelism)

· Diversos fabricantes incluyen en un mismo chip dos procesadores independientes (dual core)

· Ej: Intel Xeon permite organizarse en SMP, incluyen capacidad SMT y son diseños encauzados y superescalares.

2.3.5. Gestión de la Memoria Caché: Almacenamientos intermedios de pequeño tamaño y muy rápido acceso gestionados por hardware que se colocan entre la CPU y la memoria principal

· Las nuevas memorias DDR y RAMBUS permiten tasas de transferencia de datos de la memoria en torno a los 10GB/s, pero los microprocesadores dependen mucho más de la latencia (espera hasta el primer acceso) y disminuir la latencia no es tarea fácil. Por este motivo, las memorias cachés ultrarrápidas redundan en mejoras de rendimiento muy considerables por la reducción de la latencia.

· Memoria estática SRAM, más cara que DRAM

· Aprovechan 2 tipos de localidad: espacial y temporal.

· Funcionamiento: Cuando el procesador accede por primera vez a una localización de memoria, un bloque completo de datos alrededor del accedido es colocado en una línea de caché y etiquetado con la dirección del bloque. Después, cada vez que el procesador accede a la memoria se comprueban las etiquetas de caché en búsqueda de coincidencias. Si se produce un acierto, se toma el dato de la caché, sino se toma de la memoria principal actualizando nuevamente la caché. En función de la localidad habrá más aciertos o fallos, buscándose, lógicamente, reducir el número de fallos.

· Tamaño: L1 8-128KB, L2 256KB-2MB, L3 2-32MB

· Elementos de diseño que buscan mejorar el rendimiento disminuyendo los fallos de caché y aumentando la velocidad de ésta y de la comunicación con el microprocesador: Tamaño de la caché, función de correspondencia, algoritmos de sustitución, política de escritura, jerarquía y ubicación de las cachés y caché L1 unificada o partida en código y datos.

3. Comunicación con el exterior: Encapsulado

3.1. Comunicación

· La comunicación de un micro con el exterior (memoria, periféricos, etc.) se realiza mediante señales de información y de control a través de sus patillas (pines). De forma general:

o Información: los buses de datos y de direcciones sirven para transmitir en paralelo datos y direcciones

o Tipos de acceso: señales que indican cuatro tipos de acceso posibles IO/M y RD/WR

o Temporización: especifica el inicio de acceso o disponibilidad de los datos

o Sincronización: sincroniza el microprocesador con el periférico o la memoria.

o Interrupciones: 2 señales, INT para que los periféricos soliciten interrupciones y INTA cuando el procesador las concede.

o Cesión de buses: El periférico solicita el control del bus.

3.2. Encapsulado: La forma en que se empaqueta la oblea de silicio para efectuar su conexión con el sistema.

3.2.1. PGA y Socket 7: Hasta el Pentium II, patillas en la parte inferior. En los modelos ZIF incluían una pequeña palanca para apretar el chip una vez colocado. Copiado por AMD y CITRIX entre otros

3.2.2. Slot 1 y 2: Ranura similar a las PCI de 242 contactos. Pentium II y primeros Pentium III, y Xeon de la época. Esquema eléctrico patentado.

3.2.3. Socket 370, 478 y 775: zócalo tipo ZIF para encapsulado PGA parecido al socket 7 pero incompatible. Intel Celeron/Pentium III, Pentium 4 y Pentium 4/D respectivamente.

3.2.4. Socket A: Tipo ZIF para encapsulado PGA. Creado por AMD para sus Duron, Athlon y Athlon XP. Para sus últimos micros usa el 939(Athlon 64) y 940(opteron)

4. Evolución de los microprocesadores

8086 (16bits)…80386(32bits), 80486 (coprocesador matemático y multiplicador).

PENTIUM: 2 unidades de enteros y una de coma flotante. L1 (8+8KB). Preparados para SMP. MMX (Multimedia Extensions) instrucciones SIMD para el tratamiento de datos multimedia y comunicaciones.

PENTIUM II: encapsulado SECC y Slot 1. Tecnología de 0,35micras. L1(16-16KB) L2(256KB). Hasta 27 millones de transistores.

PENTIUM III: MMX2, SSE (Streaming Single Instruction Multiple Data) permite ejecutar instrucciones MMX y de coma flotante simultáneamente. L1(32KB) y L2(256KB) integrada en el núcleo.

PENTIUM 4: Caché L1(12KB) de instrucciones descodificadas, L2(512KB). ALUS al doble de velocidad. Ejecución fuera de orden con predicción avanzada de saltos y cauces de 20 etapas. SSE2. 0,9 y 0,65 micras. HyperTheading (Tecnología SMT). Unos 100 millones de transistores en sus últimas versiones.

CELERON (PI/II/III/4): =núcleo pero menos o ninguna caché L2 y no soporta SMT.

Intel XEON: Interconexión MP y DP (SMP) y funcionamiento SMT a la vez. L2 2MB y/o L3 2MB.

Intel ITANIUM 2: Microprocesador completo de 64bits.y compatible con (IA32). Arquitectura derivada de RISC e instrucciones VLWI. L1 (16+16KB( L2 (256KB). L3 (integrada hasta 3MB). Amplio número de registros. Bus de dir. De 64bits. Y Bus de datos de 128bits. SMP de hasta 64 vías. Hasta 6 instrucciones en paralelo (2 grupos VLWI) apoyado en los compiladores.

AMD ATHLON/XP: MMX, 3DNow, SSE. L1(64+64KB) y L2(256KB)

AMD DURON: Versión retocada (-caché L2 y no soporta SSE) del Athlon.

AMD ATHLON 64: L1 (64+64) L2 (512 ó 1024KB). MMX, SSE/2/3, x86-64.

AMD ATHLON 64 X2: Dual core

AMD OPTERON: Permite SMP de hasta 8 vías. L1(64+64KB) y L2(1024KB)

Socket/Slot

Procesadores

Tipo de Encapsulado

Tecnología

Velocidad Máx Procesador (Bus)

Socket 7

Pentium/MMX
AMD K5/K6

SPGA/PPGA

800-350nm

233MHz (66MHz)

Slot 1

Pentium II/III

SEPP/SECC

350-180nm

1000GHz (133MHz)

Socket 370

Pentium III

FC-PGA2

180-130nm

1400MHz (133MHz)

Socket 478

Pentium 4/EE

FC-PGA2

180-90nm

3400MHz (200MHz)

Socket T-775

Pentium 4/D

775-PLGA

90nm (Prox.65nm)

3733MHz (266MHz)
/ 2×3200 (200MHz)

Socket 604

XEON DP/MP

PPGA

90nm

3600MHz (200MHz)

Slot A

Athlon

Card Module

250-180nm

1000MHz (100MHz)

Socket A

Duron y Athlon XP

CPGA

180-130nm

2200MHz (200MHz)

Socket 754

Athlon 64 y Semptron

OPGA

130-90nm

2400MHz (200MHz)

Socket 939

Athlon 64/ X2

OPGA

130-90nm

2x2400MHz (200MHz)

Socket 940

Opteron

CPGA

130nm

2400MHz (200MHz)

Los beneficios de un sistema DualCore como el nuevo Athlon64 X2 4800+ son solo perceptibles por todos aquellos que realicen tareas intensas de Multitasking (muchas aplicaciones abiertas al mismo tiempo), Rendering o Encoding, en este tipo de escenarios, la diferencia entre un sistema con un solo procesador y uno con este Athlon64 X2 4800+ es sencillamente descomunal, ver para creer, el Windows XP se comporta de una forma totalmente distinta, las aplicaciones parecen volar y la performance general se siente mucho mas estable y con menos variaciones. Para aquellos que solo les concierne el Gaming, por el momento, no hay ningún beneficio a pasarse a un sistema DualCore, mientras que para aquellos que el Multitasking sea un valor importante o para aquellos amantes de Software de Animación, Encoding o Rendering, el beneficio de un procesador como este es sencillamente invaluable. Es por esto, se considera a este procesador como una verdadera pieza de ingeniería que merece todos los honores, los sistemas DualCore son el futuro, pese a lo que muchos puedan decir en este momento.

Publicado: marzo 24, 2019 por Laura Gonzalez

Etiquetas: tema 5 informatica