Tema 4.-INTRODUCCION A LAS ARQUITECTURAS PARALELAS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Tema 4.-INTRODUCCION A LAS ARQUITECTURAS PARALELAS"

Transcripción

1 Parte 2.- SISTEMAS PARALELOS Tema 4.-INTRODUCCION A LAS ARQUITECTURAS PARALELAS Anexo 2.- PROCESADORES. AVANZADOS INDICE: Capitulo 4.1.-TECNOLOGÍA DE... 2 Espacio de diseño de los procesadores... 2 Procesadores CICS...3 Procesadores RICS...3 Procesadores VLIW...3 Procesadores Superpipelined...3 Pipelines... 4 Procesadores y Coprocesadores Capitulo PROCESADORES CISC Y RISC... 7 Arquitectura de los conjuntos de instrucciones... 7 Conjunto de instrucciones complejas...7 Conjunto de instrucciones reducidas...7 Diferencias arquitectónicas...7 PROCESADORES ESCALARES CISC... 9 Familias de microprocesadores CISC...10 PROCESADORES ESCALARES RISC Procesadores RISC escalares representativos:...12 Los impactos del RISC...13 Capitulo PROCESADORES SUPERESCALARES Y VECTORIALES Procesadores Superescalares Arquitectura VLIW El Pipelinig en los procesadores VLIW...19 VLIW OPPORTUNITIES...19 Procesadores Vectorial y Simbólico vectoriales...20 Pipelines vectoriales...20 Procesadores simbólicos ETSII Dpto. Tecnología Electrónica Página: 1 / 21 MSA

2 Capitulo 4.1.-TECNOLOGÍA DE Vamos a estudiar la arquitectura de los modernos procesadores: CISC, RISC, Superescalares, VLIW, Super-pipelined, Vectoriales y Simbólicos. Los procesadores escalares y vectoriales se emplean en cálculo numérico y los simbólicos en aplicaciones de IA. Espacio de diseño de los procesadores Representamos en una grafica la frecuencia de señal de reloj y los ciclos por instrucción (CPI) para varios modelos de mismas familias y para familias diferentes. CPI Ciclos por instrucción Escalar CISC Escalar RISC Superpipelined Espacio de diseño de la mayoría de los futuros procesadores 1 0,5 0,2 VLIW Superescalar RISC Superordenador Vectorial 0, MHz Como la tecnología de implementación en los procesadores varia muy rápidamente, la señal del reloj varia gradualmente desde valores mas pequeños a valores mayores. Otra cuestión a observar es que los fabricantes de procesadores están tratando de reducir el numero de CPI (Ciclos por Instrucción) usando HW y SW adecuado. Esta grafica representa la década hasta los 95, según vaya avanzando la tecnología, algunas de las zonas se desplazaran hacia la zona derecha inferior. ETSII Dpto. Tecnología Electrónica Página: 2 / 21 MSA

3 Procesadores CICS Los procesadores convencionales como, Intel 486, Motorota 68040, VAX 8600, IBM 390,... se clasifican en la familia de arquitecturas denominada como de computación de conjuntos de instrucciones complejas CISC (Complex-Instruction-Set Computing). Trabajan con frecuencias de reloj de 33 a 50 MHz. Actualmente estas velocidades de reloj están por encima del GHz. Con control programado, cada instrucción maquina es interpretada por un microprograma localizado en una memoria del CI del procesador. Las instrucciones compuestas son decodificadas internamente y ejecutadas con las microinstrucciones que están almacenadas en la ROM interna. Estos procesadores tienen un valor de CPI entre 1 y 20. Procesadores RICS Otra familia a describir será la RISC, computación de conjuntos de instrucciones reducidas (Reduced-Instruction- Set Computing), por ejemplo, los Intel i860, SPARC, MIPS R3000, IBM RS-6000,... Estos poseen una frecuencia de reloj mas elevada entre 20 y 120 MHz por su tecnología de implementación y consiguen con el uso de un control por HW reducir el numero de CPI de 1 o 2. Una clase especial de procesadores RISC son los procesadores superescalares, que permiten la ejecución de múltiples instrucciones en el mismo ciclo. El valor de CPI de estos procesadores lógicamente, debe de ser menor que en un procesador RISC genérico. Su frecuencia de reloj, eso si, se encuentra en el mismo rango que la de los procesadores RISC. Procesadores VLIW Los procesadores de arquitectura VLIW (Very Long Instruction Word) utilizan unidades aun mas funcionales que en el caso de los procesadores superescalar. Con esto, el valor de CPI en estos procesadores puede ser aun mas reducido. Debido al uso de instrucciones muy largas (256 a 1024 bits) la mayoría de los procesadores VLIW se han implementado con control microprogramador. La frecuencia de reloj es mas lenta por el empleo de memoria de solo lectura (ROM) Un gran numero de ciclos de micro código de acceso puede ser necesitado para algunas instrucciones. Procesadores Superpipelined Los procesadores Superpipelined poseen relojes multifase con una mucho mas elevada frecuencia de reloj, que puede ir de 100 a 500 MHz. Lo que ocurre es que el rango de CPI es también muy grande a pesar de que se este tipo de procesadores se usa paralelamente con multi-instrucciones. Las supercomputadoras vectoriales usan este tipo de procesador superpipelined y usan múltiples unidades funcionales para realizar operaciones con escalares y vectores. El numero efectivo de CPI usado en una supercomputadora debe de ser muy bajo, lo ideal, es que este posicionado en la esquina inferior derecha de la grafica. Pero al intentar alcanzar esta posición, el coste se incrementa considerablemente. ETSII Dpto. Tecnología Electrónica Página: 3 / 21 MSA

4 Pipelines El ciclo de ejecución de una instrucción incluye cuatro fases: lectura, descodificación, ejecución y escritura. Estas fases se suelen realizar por una instrucción pipeline como se ve en la figura. sucesivas Ejecución pipeline en un procesador escalar Así podemos modelar un procesador de instrucciones con esta estructura simple compuesta por pipelines. Usaremos esta estructura pipeline para la explicación de los siguientes tipos de procesadores. La pipeline, como una cadena de ensamblaje, recibe instrucciones sucesivas de sus entradas y las ejecuta secuencialmente, con solapamiento según las instrucciones fluyan a través de ella. Un ciclo de pipeline se define como el tiempo necesario para cada fase para completar su operación, asumiendo igual retraso en cada fase. Las características básicas de esta estructura pipeline son las siguientes: 1. Ciclo de instrucción simple pipeline: El periodo de reloj para una fase de la instrucción pipeline. Se considera que todas las fases tiene el mismo tiempo. 2. Latencia de ejecución de instrucciones: es el tiempo en ciclos requerido entre la gestión de 2 instrucciones. 3. Relación de instrucciones: es el número de instrucciones procesadas por ciclo. Este parámetro también se denomina grado de una computadora superescalar. 4. Latencia de operación, según las operaciones sean simples, como por ejemplo sumas, cargas, almacenamientos, movimientos... o complejas, requiriendo una latencia mayor, operaciones complejas pueden se la división, perdidas de cache. Las latencias, en ambos casos se miden en número de ciclos. 5. Conflicto de recursos, esto se refiere a la situación en la que 2 o mas instrucciones necesitan usar la misma unidas funcional al mismo tiempo. Un procesador escalar básico se define como una maquina con una instrucción gestionada por ciclo, con latencia 1 para una operación simple. La instrucción pipeline puede ser totalmente utilizada si instrucciones sucesivas pueden entrar continuamente en un ratio de una por ciclo, como se ve en la figura anterior. La latencia puede ser mayor de un ciclo por varias razones. Si por ejemplo esta latencia es 2 ciclos por instrucción, la tubería puede estar infrautilizada. sucesivas Ejecución pipeline en 2 ciclos por instrucción ETSII Dpto. Tecnología Electrónica Página: 4 / 21 MSA

5 Otra situación de infrautilización de pipeline es cuando el ciclo de pipeline es doblado combinado fases. Las fases de lectura y descodificación se combinan en una única fase de pipeline y las operaciones de ejecución y escritura se combinan en otra fase. sucesivas Ejecución pipeline en 2 ciclos por instrucción Procesadores y Coprocesadores. El procesador central de un ordenador se denomina CPU - Unidad Central de Procesamiento. Memoria principal DMA ( Acceso Directo a Memoria) Bus Memoria Procesador Enteros ALU Cache Subsistema de I / O Almacenamiento Masivo ( Discos, Cintas,...) Unidad Coma Flotante CU CPU Usuarios CPU con unidad de coma flotante Esta CPU es esencialmente un procesador escalar, el cual esta compuesto por múltiples unidades funcionales, como puedan ser, principalmente, un acelerador de coma flotante y la unidad aritmético lógica (ALU), entre otros. La unidad de coma flotante puede ser construida en un coprocesador que estará conectado a la CPU. ETSII Dpto. Tecnología Electrónica Página: 5 / 21 MSA

6 Memoria principal DMA ( Acceso Directo a Memoria) Datos y Datos Coprocesador CPU Subsistema de I / O Almacenamiento Masivo ( Discos, Cintas,...) Usuarios CPU con un coprocesador Este coprocesador ejecuta operaciones según se lo ordene la CPU. El coprocesador puede ser un acelerador de coma flotante que ejecute instrucciones escalares, un procesador vectorial que ejecute operaciones vectoriales o un procesador de señales digitales (DSP), o un procesador LISP ejecutando programas AI. Los coprocesadores no pueden llevar a cabo operaciones de I/O. Coprocesador Procesador Características del coprocesador Intel 8087 Intel 8086 / MHz ciclos para la suma y 700 ciclos para lógica Intel Intel ,5 MHz ciclos para la suma y 264 ciclos para lógica Intel 387 DX Intel 386 DX 33 MHz ciclos para la suma y 210 ciclos para lógica Intel i486 Intel i MHz -- 8 ciclos para la suma y 171 ciclos para lógica ( incluido en el chip) Motorota MC68882 Motorota 40 MHz ciclos para la suma y 574 ciclos para lógica MC68020 / Weitek 3167 Intel 386 DX 33 MHz -- 6 ciclos para la suma y 365 ciclos para lógica Weitek 4167 Intel i MHz -- 2 ciclos para la suma. La tabla nos muestra una lista de algunos pares procesador/coprocesador que se han desarrollado para aumentar la velocidad de las operaciones numéricas. Comentar finalmente que los coprocesadores no pueden ser usados de manera individual. El procesador y el coprocesador operan en relación y de manera compatible, se puede decir que trabajan de manera que tenemos un procesador amo y el resto son procesadores esclavos. Eso si, por ciertas razones, un procesador esclavo, puede ser mas potente que su host. ETSII Dpto. Tecnología Electrónica Página: 6 / 21 MSA

7 Capitulo PROCESADORES CISC Y RISC. Arquitectura de los conjuntos de instrucciones El conjunto de instrucciones en una computadora especifica son los comandos primitivos y las instrucciones de maquina que el programador puede usar a la hora de programar la máquina. La complejidad de estos conjuntos de instrucciones puede venir determinada por los formatos de datos, de instrucciones, métodos de direccionamiento y mecanismos de flujo de control, entre otros. Por la experiencia en diseño de procesos, 2 arquitecturas han predominado: CISC y RISC. Conjunto de instrucciones complejas En las primeras épocas de la computación, la mayoría de las computadoras trabajaban con conjuntos de instrucciones que eran relativamente sencillas. La razón de esto era que el HW era muy caro. A lo largo de la evolución de las computadoras en las ultimas 3 décadas, el precio del HW ha bajado muchísimo, y el coste del SW ha ido subiendo gradualmente. El resultado de esto es que una o mas funciones han sido implementadas en el HW, haciendo así el conjunto de instrucciones mucho mas grande y complejo. Un conjunto de instrucciones normal para una arquitectura CISC contiene aproximadamente de 125 a 350 instrucciones, usando formatos variables de instrucción y formatos de datos y un conjunto de 8 a 24 registros de propósito general (GPRs). Conjunto de instrucciones reducidas Después de 2 décadas de uso de procesadores CISC, los usuarios de computadoras se dieron cuenta de que solamente el 25% de las instrucciones de un conjunto complejo de instrucciones son usados frecuentemente mas de un 95% del tiempo. Esto implica que el 75% de las instrucciones que soporta el HW no son usadas mas que rara vez. Por que entonces debemos de gastar valiosa área de Chip para funciones que se ejecutan muy raramente?. Con instrucciones elaboradas de baja frecuencia, que demanda grandes micro-códigos necesarios para ejecutarlos, puede ser mas ventajoso el eliminarlas totalmente del HW y crear una SW que se ocupe de implementarlas. Aun cuando este SW va a ser mas lento, el resultado va a ser positivo debido a la escasa frecuencia de aparición y uso. El incluir instrucciones que se usan raramente en este SW, va a liberara área de Chip, lo que hará que podamos construir procesadores RISC mas potentes. Un conjunto de instrucciones normal RISC contiene menos de 100 instrucciones con un formato de 32 bits. Solamente se usan de 3 a 5 modos de direccionamiento, la mayoría de las instrucciones son basadas en registro, el acceso a memoria se hace solamente por lectura/almacenamiento. Diferencias arquitectónicas Describimos las diferencias en la arquitectura de los procesadores CISC y RISC. En la figura se representa gráficamente la diferencia entre un procesador CISC y uno RISC. CU Dirección de datos e instrucciones. Memoria de control microprogramado Cache Memoria principal Arquitectura CICS con control micro-programado y cache unificado ETSII Dpto. Tecnología Electrónica Página: 7 / 21 MSA

8 CU de control por HW Dirección de datos Cache de Cache de Datos Memoria principal Arquitectura RICS con control por HW y cache para y Datos Estas diferencias no se van a mantener en el futuro, porque los procesadores que aparezcan van a contener elementos y características de ambos tipos. La arquitectura CISC convencional usa un cache unificado para gestionar datos e instrucciones. Con esto, deben de compartir el mismo camino datos/instrucciones. En un procesador RISC, se usan caches separados para datos e instrucciones, con diferentes modelos de acceso. Como siempre, existen excepciones y por poner un ejemplo, existen procesadores CISC que usan códigos split El uso de control micro-programado se encuentra el los CISC tradicionales, y el control por HW puede ser encontrado en la mayoría de los RISC. En los primeros CISC, se necesitaba memoria de control ROM, lo que hacia mas lenta la ejecución. Los CISC modernos usan también control por HW. Esto quiere decir que los split caches y controles HW no se usan solamente en las maquinas RISC. El uso del control por HW reducirá efectivamente el numero de CPIs a una instrucción por ciclo si el pipelining se mantiene en estado optimo. Algunos CISC usan caches split y control por HW. Arquitectura CICS característica Tamaño del set de Gran conjunto de instrucciones con instrucciones y varios formatos. formato de las bits por instrucción. instrucciones Modos de direccionamiento Registros de 8 24 GPRs propósito general y Cache unificada de instrucciones y modelos de cache datos Velocidad de reloj y 1992 : CPI MHz con CPI entre 2 y 15 Control de CPU Micro-programado usando ROM, actualmente por HW RISC Limitado a 3 5 Pequeño conjunto de instrucciones con formato fijo de 32 bits. La mayor parte de las instrucciones basadas en registros GPRs Cache individuales para instrucciones y datos 1993 : MHz con CPI < 1,5 Control por HW El gran numero de instrucciones usados en un procesador CISC es el resultado del uso de instrucciones de formato variable y del uso de mas de una docena de modos de direccionamiento. Con pocos GPRs, muchas mas instrucciones acceden a la memoria para realizar operaciones. El numero de CPI entonces es bastante elevado, como resultado de los grandes micro-códigos usados para controlar la ejecución de algunas de las instrucciones complejas. En el caso de los RISC se usan instrucciones de 32 bits que son, predominantemente, basadas en registros. Con unos pocos y simples modos de direccionamiento, el ciclo de acceso a memoria se divide en operaciones de acceso pipelined que incluirán el uso de caches y registro de trabajo. Usando un registro de archivos grande, y caches separados para datos e instrucciones se nos beneficiara el direccionamiento interno de datos y se elimina el almacenamiento innecesario de datos intermedios. Con control por HW, el numero de CPI se reduce a 1 para la mayoría de las operaciones RISC. ETSII Dpto. Tecnología Electrónica Página: 8 / 21 MSA

9 PROCESADORES ESCALARES CISC El procesador escalar, en los procesadores mas simples, ejecuta instrucciones usando operandos de punto fijo. Procesadores escalares mas potentes ejecutan operaciones de alta integración y operaciones en coma flotante. Un procesador escalar moderno posee ambas unidades de enteros y de coma flotante el la misma CPU. Memoria principal DMA ( Acceso Directo a Memoria) Bus Memoria Procesador Enteros ALU Cache Subsistema de I / O Almacenamiento Masivo ( Discos, Cintas,...) Unidad Coma Flotante CU CPU Usuarios CPU con unidad de coma flotante En el caso ideal, un procesador CISC debe de tener las mismas prestaciones a las que tendría un procesador escalar de las mismas características. sucesivas Ejecución pipeline en un procesador escalar Lo que ocurre es que normalmente el procesador suele estar underpipelined. Las causas de esto pueden ser la dependencia de datos entre instrucciones, penalizaciones en la ramificación y otros conflictos, como se vera mas adelante. sucesivas Ejecución pipeline en 2 ciclos por instrucción ETSII Dpto. Tecnología Electrónica Página: 9 / 21 MSA

10 Otro caso que puede darse es causado por usar un ciclo de reloj que es mayor que la latencia de operación.. sucesivas Ejecución pipeline en 2 ciclos por instrucción Finalmente decir que el mayor problema para el diseñador va a ser la reducción del ciclo de reloj para conectar este a la latencia de operaciones simples. Esto se resuelve en la arquitectura RISC. Vemos ahora como las técnicas RISC, superescalar y superpipelining pueden ser aplicadas para mejorar las prestaciones Consola Bus de consola Enteros ALU Unidad Coma Flotante Bus de operandos Unidad de ( 16 GRPs) Memoria de control Bus de direcciones Cache 16 KB Control de Memoria y sistemas de I / O Bus de memoria Subsistema I / O Almacenamiento Masivo ( Discos, Cintas,...) Bus de escritura Memoria principal CPU del VAX 8600 con arquitectura típica de procesador CICS La CPU de este ejemplo contiene dos unidades funcionales para ejecución e instrucciones de coma flotante. Tenemos un cache que se usa para instrucciones y datos. Tenemos 16 GPRs en la unidad de instrucciones. El pipelinig de instrucciones se ha construido con 6 etapas, como en la mayoría de las maquinas CICS. El CPI de las instrucciones varia entre 2 y 20 ciclos, debido al empleo de largas secuencias de instrucciones y operaciones de control por HW. Familias de microprocesadores CISC Procesadores Intel : 8 bits : 8008, 8080, bits : 8086, 8088,80186, bits : 80386, 80486, Procesadores Motorola : 8 bits : bits : bits : 68020, 68030, ETSII Dpto. Tecnología Electrónica Página: 10 / 21 MSA

11 Bus de Conversor Ejecución Escritura Unidad de Punto Flotante Buscar Inst Decodifica Calcula DE Busca DE Ejecución Escritura Unidad de Enteros ATC de Controlador de Cache de Unidad de memoria de Unidad de memoria de Datos ATC de Datos Controlador de Datos Cache de Datos D. I. D.D. Bus de Controladores Bus de Direcciones ( 32 bits) Bus de Datos e ( 32 bits) Bus de Señales de Control Bus de Datos Arquitectura del microprocesador Motorola MC68040 Cache de 4 KB de datos Cache de 4 KB de instrucciones 100 instrucciones con 16 registros multi-propósito Cache de traslación de direcciones ATC. Unidad de integración organizada en una pipeline de 6 etapas : Buscar. Decodificación Calculo de dirección efectiva Buscar dirección efectiva Ejecución Escritura La unidad de punto flotante esta constituida en tres etapas ETSII Dpto. Tecnología Electrónica Página: 11 / 21 MSA

12 PROCESADORES ESCALARES RISC El procesador genérico RISC se denomina RISC escalar, porque ha sido diseñado para ejecutar una instrucción por ciclo, como ocurría en el procesador escalar. En teoría, ambos procesadores RISC y CISC deberían de tener prácticamente el mismo rendimiento, si trabajaran con la misma señal/frecuencia de reloj e igual longitud de programa. Esto no siempre ocurre, porque la arquitectura afecta la calidad y densidad del código generado por los compiladores. El diseño RISC aumenta su potencia colocando algunas de las operaciones usadas con menos frecuencia en el interior de un Software. La necesidad de un buen compilador es mucho mayor en un procesador RISC que en uno CISC. El paralelismo en el nivel de instrucciones se explota en ambos tipos de procesadores. Procesadores RISC escalares representativos: Sun SPARC CY7C601 Intel i860 Motorota AMD entre las características a destacar : Conjunto de instrucciones de 51 a 124 instrucciones básicas de 32 bits Numero de registros entre 32 y 192 Unidad de punto flotante en chip en los modelos i860 y M88100 Dirección Dato FI Registro estático Resultados FPP Buffer direcciones de instrucciones ( 2 x 64) Cola de Punto Flotante ( 3 x 64) Dirección instrucción Fichero registros de datos en Punto Flotante ( 32 x 32) Procesador de Punto Flotante Pipelined de 64 bits Unidad de Control en Punto Flotante Control Fichero Registros Operandos FP FP Control FP Arquitectura del procesador Sun Microsystems Sparc CY7C602 ( Unidad de coma flotante esperada en 2 chips) Este procesador ejecuta con un conjunto de 32 registros enteros de 32 bits, 8 de estos registros son registros globales, compartidos por todos los procesos, los 24 restantes van asociados solamente con un procedimiento. Cada registro esta dividido en 3 partes, Entradas (Ins), salidas (Outs) y Locales. ETSII Dpto. Tecnología Electrónica Página: 12 / 21 MSA

13 Dirección externa de 32 bits Cache 4 KB Unidad de Gestión de Memoria Cache datos 8 KB Dirección Dirección Datos Datos Cache 128 bits Instrucción FP Datos externos 64 bits 64 Unidad de Control del Bus Núcleo Instrucción Unidad Entero RISC Unidad de Control de Punto Flotante Registros del Nucleo Registros FP Dest Src1 Src T Ki Kr Unidad Grafica Enlaces de registros Unidad Sumadora Pipelined Unidad Multiplicadora Pipelined Arquitectura del procesador i860 Es un procesador RISC de 64 bits, fabricado en chips con mas de 1 millón de transistores Alcanza hasta los 80 Mflops Dispone de 9 unidades funcionales conectadas Ejecuta 82 instrucciones: 42 RISC enteros 24 Punto Flotante 10 Graficas 6 Operaciones de pseudo-ensamblador Buses internos y externos de direcciones de 32 bits Bus de datos internos de 64 bits Cache de datos compuesto por una memoria asociativa de 2 vías y 8 KB, transmite 128 bits por ciclo de reloj La Unidad de Gestión de Memoria soporta 4 KB para páginas de memoria virtual. Los impactos del RISC El debate entre los diseñadores de RISC y CICS ha durado más de 1 década. Los procesadores RISC muestran mejores prestaciones que los CICS si la longitud del programa no se incrementa demasiado. Por la experiencia acumulada se puede decir que en la conversión de un programa CICS a un su equivalente en RSIC se incrementa la longitud del código en un 40 %, debido a que un procesador RISC carece de ciertas instrucciones sofisticas de las que posee un procesador CICS, por supuesto depende del comportamiento del programa y no es generalizable. ETSII Dpto. Tecnología Electrónica Página: 13 / 21 MSA

14 Este incremento de la longitud del código es mucho más pequeño que el incremento en la velocidad de reloj y la reducción de CPIs, pero sin embargo este incremento de la longitud de un programa RICS implica mayor tráfico de instrucciones y mayor demanda de memoria. Otro problema de los RISC es causado por el uso de un archivo de registros grande. A pesar de que de un conjunto de registros más grande puede gestionar más resultados intermedios y reducir el tráfico de datos entre la CPU y la memoria, el sistema de decodificación de registros será mas complicado. El mayor tiempo de acceso a registro nos pide una demanda mayor al compilador para realizar las funciones de registro de ventana. Otra desventaja de los RISC se basa en su control por HW, que es menos flexible. Las desventajas del RISC están directamente relacionadas con algunas de sus ventajas. Las diferencias entre las arquitecturas RISC y CISC se han reducido actualmente porque ahora los 2 están siendo implementados con la misma tecnología HW. Los procesadores VAX 9000, Motorota y Intel i586 han construidos con prestaciones mixtas de ambas arquitecturas. Realmente son las características de la aplicación las que determinan la mejor elección de una arquitectura de procesador. ETSII Dpto. Tecnología Electrónica Página: 14 / 21 MSA

15 Capitulo PROCESADORES SUPERESCALARES Y VECTORIALES Los procesadores escalares CISC o RISC pueden ser mejorados con una arquitectura superescalar o vectorial. Recordar que los procesadores escalares son aquellos que ejecutan una instrucción por ciclo de maquina. Solamente una instrucción es gestionada por ciclo, y solo podemos esperar a que se complete una operación en la pipeline por ciclo. En un procesador superescalar, se usan pipelines de múltiples instrucciones. Esto implica que múltiples instrucciones se gestionan por ciclo, y se generan múltiples resultados en ese ciclo. Un procesador vectorial ejecuta instrucciones vector en arrays de datos. Procesadores Superescalares Los procesadores superescalares están diseñados para explotar el paralelismo en el nivel de instrucciones en los programas del usuario. Solamente se pueden ejecutar en paralelo las instrucciones independientes sin causar un estado de espera. La cantidad de este paralelismo en el nivel de instrucciones varia ampliamente dependiendo del código ejecutado. Pipeline en los procesadores escalares: sucesivas Procesador superescalar de grado m=3 En esta figura se muestra el uso en paralelo de 3 pipelines en un procesador de grado 3. En este sentido, el procesador escalar base, implementado como RISC o CISC tiene un grado m =1. Un procesador superescalar de grado m puede gestionar m instrucciones por ciclo. Para utilizar enteramente este procesador, m instrucciones deben de ser ejecutados en paralelo. Esta situación no tiene porque ser cierta en todos los ciclos de reloj. En ese caso, alguna de las pipelines estará en estado de espera. En un procesador superescalar, la latencia de operación simple requiere solamente un ciclo, como ocurría en el procesador escalar base. Debido a la necesidad de tener un elevado grado de paralelismo en el nivel de instrucciones en el programa, los procesadores superescalares necesitan de un compilador optimizado para explotar el paralelismo. Los procesadores superescalares fueron desarrollados originalmente como una alternativa a los procesadores vectoriales. En teoría, un procesador superescalar debería dar las mismas prestaciones que una maquina con HW vectorial. Una maquina superescalar que tenga coma fija, coma flotante carga y branch todo ello en un mismo ciclo, dará efectivamente el mismo paralelismo efectivo que una maquina vectorial que ejecuta una carga de vector dirigida a un vector suma, con un elemento cargado y añadido por ciclo. ETSII Dpto. Tecnología Electrónica Página: 15 / 21 MSA

16 Una arquitectura superescalar típica se muestra en la figura: Memoria Cache Fichero Registros Buffer Re-ordenador Decodificador Branch ALU Shifter Load Store Unidad RISC Enteros Unidad RISC Coma Flotante Fichero Registros Buffer Re-ordenador Decodificador ADD Convert MULTI DIV Load Store Memoria Direc. Cache Datos Data Se utilizan múltiples instrucciones pipelines. El cache de instrucciones proporciona múltiples instrucciones por (fetch, traer o leer). El número de instrucciones enviadas a varias unidades funcionales puede variar en cada ciclo. Este numero esta limitado por las dependencias entre datos y los conflictos entre instrucciones que son decodificadas simultáneamente. La unidad de enteros y de punto flotante, se construyen con múltiples unidades funcionales. ETSII Dpto. Tecnología Electrónica Página: 16 / 21 MSA

17 Existen múltiples buses de datos entre las distintas unidades funcionales. En teoría, todas las unidades funcionales pueden ser usadas si no existen dependencias o conflictos entre ellas durante un ciclo dado. Debido al bajo número de CPI obtenido y a las altas frecuencias de reloj que se consiguen, la mayor parte de los procesadores superescalares sobrepasan con mucho las prestaciones de los procesadores escalares. El numero máximo de instrucciones ejecutadas por ciclo varia de 2 a 5 en estos procesadores. Branch Procesor Cache ( 8 KB) Procesador Coma Fija Procesador Coma Flotante Almacenamiento y I/O Cache Datos ( 64 KB) Memoria Principal ( 8 a 128 MB) Arquitectura IBM RS/6000 Este procesador superescalar es de 1990, tiene 3 unidades funcionales: Branch, Coma Fija y Coma Flotante que pueden trabajar en paralelo. El procesador Branch puede arrancar hasta 5 instrucciones por ciclo, estas incluyen: 1 instrucción Branch en el procesador Branch 1 instrucción de punto fijo en el procesador de enteros 1 instrucción de condicional en el procesador Branch 1 instrucción de punto flotante en el procesador de coma flotante que cuenta como 2. El RS-6000 esta implementado con control por HW y dispone de buses de 32 y 64 bits de tamaño de palabra. El diseño de este procesador esta optimizado por aplicaciones científicas y de ingeniería que requieren de cálculo numérico intensivo. Ha demostrado también un bien rendimiento en entornos comerciales multiusuario. Otros procesadores superescalares representativos: Intel i960ca DEC ETSII Dpto. Tecnología Electrónica Página: 17 / 21 MSA

18 Arquitectura VLIW LA arquitectura VLIW (Very Long Instruction Word) se caracteriza por 2 conceptos bien establecidos: Procesamiento superescalar Microcódigo horizontal, diferentes campos en 1 instrucción larga suministran código a varias unidades funcionales. Una maquina VLIW tiene palabras de instrucción de cientos de bits de largo. Como se ve en la figura, múltiples unidades funcionales se usan al mismo tiempo en la maquina VLIW. Memoria Principal Fichero Registro Unidad Load Store Unidad ADD FP Unidad ALU Unidad Branch Procesador típico VLIW Todas las unidades funcionales comparten el uso de un gran archivo de registro común. Las operaciones que van a ser realizadas por las unidades funcionales se coordinan en una instrucción VLIW, con 256 o 1024 bits por palabra de instrucción. Load / Store FP Add FP Multiply Branch IntegerALU El concepto VLIW es copiado del microcódigo horizontal. Los diferentes campos de la larga palabra de instrucción llevan los códigos a ser usados por las diferentes unidades funcionales. Los programas escritos en las tradicionales palabras cortas de instrucción (es decir 32 bits) deben de ser compactadas entre si para formar las instrucciones VLIW. Esta compactación del código debe de ser realizada por un compilador que pueda predecir las salidas usando estadísticas del tiempo o heurísticas. ETSII Dpto. Tecnología Electrónica Página: 18 / 21 MSA

19 El Pipelinig en los procesadores VLIW La ejecución de instrucciones en un procesador ideal VLIW se ve en la figura. Buscar Decode Ejecutar 3 Oper. Escribir Ejecución en un procesador VLIW de grado m = 3 Cada instrucción especifica múltiples operaciones. Las maquinas VLIW se comportan de similar manera a las maquinas superescalares con tres diferencias principales: 1. La decodificación de las instrucciones VLIW es mas fácil que en el caso de instrucciones superescalar. 2. La densidad de código de la maquina superescalar es mejor cuando el paralelismo a nivel de instrucciones disponible es menor que el explotable por una maquina VLIW. Esto se debe a que el formato fijado VLIW incluye bits para operaciones no ejecutables, mientras que el procesador superescalar gestiona solamente instrucciones ejecutables 3. Una maquina superescalar puede ser compatible en código y objeto con una gran familia de maquinas no paralelas. Por el contrario, una maquina VLIW que explote diferentes cantidades de paralelismo requerirá diferentes conjuntos de instrucciones El paralelismo de instrucciones y el movimiento de datos en una arquitectura VLIW esta completamente especificado a la hora de la compilación. Run time resource scheduling and synchornization son entonces completamente eliminados. Uno puede considerar el procesador VLIW como un caso extremo del procesador superescalar en el cual todas las operaciones independientes aun no demandadas son empaquetadas de manera sincronizada en previsión El valor de CPI de un procesador VLIW puede ser aun menor que el de un procesador superescalar. Por ejemplo la computadora Multiflow trace permite mas de siete operaciones ejecutadas al mismo tiempo con 256 bits por instrucción VLIW. VLIW OPPORTUNITIES En la arquitectura VLIW, se explota el paralelismo aleatoriamente entre operaciones escalares, sin tenerse en cuenta el paralelismo regular o síncrono como en una supercomputadora vectorizada o una computadora SIMD. El éxito en un procesador VLIW depende en gran medida de la eficiencia en la compactación del código. La arquitectura es totalmente incompatible con cualquiera de los procesadores convencionales de propósito general. El paralelismo de instrucciones embebido en el código compactado puede requerir una latencia diferente para ser ejecutado por diferentes unidades funcionales, a pesar de que las direcciones son gestionadas al mismo tiempo. Diferentes implementaciones de arquitecturas VLIW pueden ser no compatibles binariamente unas con las otras. Codificando explícitamente el paralelismo en las instrucciones, el procesador VLIW puede eliminar el HW y SW necesarios para detectar el paralelismo. La principal desventaja de la arquitectura VLIW es su simplicidad en estructura de HW y conjunto de instrucciones. El procesador VLIW se comporta bien en aplicaciones científicas donde el comportamiento del programa es mas predecible. En aplicaciones de propósito general, puede que la arquitectura no trabaje bien. Debido a ser incompatible con los HW y SW convencionales, la arquitectura VLIW no ha entrado en la corriente principal de las computadoras. La necesidad de una compilación especial y una compactación de código ha impedido su aceptación en el mundo comercial. ETSII Dpto. Tecnología Electrónica Página: 19 / 21 MSA

20 Procesadores Vectorial y Simbólico Por definición, un procesador vectorial es un coprocesador diseñado específicamente para realizar operaciones de computación con vectores. Una instrucción vectorial contiene un gran array de operandos. Los procesadores vectoriales son usados generalmente en supercomputadoras multipipelined. Los procesadores vectoriales pueden construirse con una arquitectura registro a registro o con una arquitectura memoria a memoria. La primera de estas arquitecturas usa instrucciones y archivos de registro de vector, la segunda utiliza instrucciones basadas en la memoria que son mas largas, incluyendo las direcciones de memoria. vectoriales Las instrucciones vector basadas en registros aparecen en la mayoría de los procesadores vectoriales registro a registro como en los superordenadores CRAY. Las operaciones vectoriales, en todos los casos, son realizadas por pipelines, incluyendo pipelines funcionales y pipelines de acceso-memoria. La longitud de los vectores debe de ser la misma en todos los operandos usados en una instrucción vectorial. Los vectores más largos, que excedan la longitud del registro, n, deben de ser segmentados en el tiempo para ajustarse a la longitud del registro. Las operaciones vectoriales basadas en memoria se pueden encontrar en procesadores memoria a memoria. Aquí la longitud del vector no esta limitada por la longitud del registro. Los vectores largos se tratan en una en forma de corriente usando superpalabras, que se obtienen de muchas otras palabras de memoria más cortas. Pipelines vectoriales Las pipelines vectoriales pueden ser utilizadas en cualquier procesador escalar, ya sea superescalar, superpipelined, o ambos. Utilizan la ventaja del paralelismo a nivel lazo abierto Las pipelines vectoriales eliminaran parte del solapamiento del SW en el control de bucles. Por supuesto, la efectividad de un procesador vectorial se basa en la capacidad y optimización de un compilador que pueda vectorizar códigos secuénciales para el pipelining vectorial. sucesivas Ejecución pipeline en un procesador escalar sucesivas Ejecución pipeline en un procesador escalar con vectores ETSII Dpto. Tecnología Electrónica Página: 20 / 21 MSA

21 Procesadores simbólicos El procesamiento simbólico ha sido utilizado en múltiples áreas, como puedan ser las de comprobación de teoremas, reconocimiento de modelos, maquinas inteligentes, etc. En estas aplicaciones, los datos y los resultados, las operaciones primitivas, el comportamiento del algoritmo, memoria, I/O y comunicaciones son elementos especiales, elementos arquitectónicos especiales diferentes de los elementos numéricos usados en las computaciones numéricas. Los procesadores simbólicos han sido denominados procesadores Prolog, Lisp o manipuladores simbólicos. Por ejemplo, un programa Lisp puede interpretarse como un conjunto de funciones entre las cuales los datos pasan de función a función. La ejecución concurrente de estas funciones es la base para el paralelismo. En vez de trabajar con datos numéricos, trabajamos con programas lógicos, objetos, listas simbólicas, redes neuronales, pizarras..., etc. Las operaciones primitivas para la inteligencia artificial incluyen: Buscar Comparar Inferencia lógica Unificación Filtrado Operaciones de razonamiento Este tipo de operaciones van a necesitar un conjunto especial de instrucciones conteniendo comparar, unir y operaciones lógicas y simbólicas. En este tipo de operaciones, normalmente no se usan operaciones de coma flotante. El procesador simbólico Lisp 3600 Bus A Registros Procesador Etiquetas Buffer de la Pila Bus B Procesador Punto Fijo Instrucción en curso Selector Operandos Procesador Coma Flotante Memoria Principal Colector de Basura La maquina esta dividida en varia capas. Esto permite almacenar o agrupar para simplificar el conjunto de instrucciones. Ejecuta la mayoría de las instrucciones Lisp en un solo ciclo. ETSII Dpto. Tecnología Electrónica Página: 21 / 21 MSA

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS

COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS COMPONENTES DEL PC LEONARDO OLIVARES VILLA MATEO CARDONA ARENAS Tipos de procesadores. Dedicados: Para desarrollar una tarea muy especifica. Ejecutando un único algoritmo de forma óptima. de propósito

Más detalles

Procesador. Daniel Rúa Madrid

Procesador. Daniel Rúa Madrid Procesador Daniel Rúa Madrid Procesador Sus funciones principales incluyen, la ejecución de las aplicaciones y la coordinación de los diferentes dispositivos que componen un equipo. Unidad Aritmético Lógica(ALU)

Más detalles

Paralelismo _Arquitectura de Computadoras IS603

Paralelismo _Arquitectura de Computadoras IS603 Paralelismo _Arquitectura de Computadoras IS603 INTRODUCCION El objetivo de esta investigación, es conceptualizar las diferentes tipos de paralelismo referente al área de Arquitectura de Computadoras,

Más detalles

Microcontroladores. Unidad 1

Microcontroladores. Unidad 1 Microcontroladores Unidad 1 1.1 Conceptos básicos Ordenador o Computadora Sistema de calculo de propósito general que incorpora una unidad central de proceso, memoria y dispositivos de entrada y salida.

Más detalles

6. PROCESADORES SUPERESCALARES Y VLIW

6. PROCESADORES SUPERESCALARES Y VLIW 6. PROCESADORES SUPERESCALARES Y VLIW 1 PROCESADORES SUPERESCALARES Y VLIW 1. Introducción 2. El modelo VLIW 3. El cauce superescalar 4. Superescalar con algoritmo de Tomasulo 2 PROCESADORES SUPERESCALARES

Más detalles

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

Estructura y Tecnología de Computadores II (Gestión y Sistemas) Temario Estructura y Tecnología de Computadores II (Gestión y Sistemas) Contenido del temario El temario propuesto en la asignatura coíncide con los siguientes apartados del texto base teórico Estructura

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características

Más detalles

GRADO EN INGENIERÍA DE COMPUTADORES

GRADO EN INGENIERÍA DE COMPUTADORES GRADO EN INGENIERÍA DE COMPUTADORES Tema 1 Departamento Introducción al de paralelismo Automática Prof. Dr. José Antonio de Frutos Redondo Curso 2015-2016 Tema 1: Introducción Necesidad del procesamiento

Más detalles

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o Unidad 4 - Procesamiento paralelo. D o c e n t e : E r n e s t o L e a l E q u i p o : J e s s i c a F i e r r o L u i s N a v e j a s Arquitectura de computadoras Introducción Cuestionario Conclusiones

Más detalles

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010

Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 7 Pipeline de Instrucciones Primer Cuatrimestre de 2010 1. La

Más detalles

Tema 1: PROCESADORES SEGMENTADOS

Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento

Más detalles

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús Microprocesador Introducción El microprocesador es la parte de la computadora diseñada para llevar acabo o ejecutar los programas. Este viene siendo el cerebro de la computadora, el motor, el corazón de

Más detalles

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones

Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones Tutorías con Grupos Reducidos (TGR) Parte 1: Evaluación de prestaciones ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Evaluación de Prestaciones Curso 2011/2012

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Enunciados de problemas Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 10 Tema 2: Hoja: 3 / 10 Base teórica Al diseñar un computador, uno

Más detalles

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR MICROINSTRUCCIONES FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR La memoria de las maquinas IAS consiste en 1000 posiciones de almacenamiento, llamadas palabras, de 40 digitos binarios (bits) cada

Más detalles

Cuestionario Unidad 4: Procesamiento paralelo 2012

Cuestionario Unidad 4: Procesamiento paralelo 2012 SEP SNEST DGEST INSTITUTO TECNOLÓGICO DE CHIHUAHUA II INGENIERÍA EN SISTEMAS COMPUTACIONALES ARQUITECTURA DE COMPUTADORAS Ing. Ernesto Leal Procesamiento paralelo ELABORADO POR: Miguel Angel Chávez Reza

Más detalles

Sistemas de Computadoras

Sistemas de Computadoras Sistemas de Computadoras Índice Concepto de Computadora Estructura de la Computadora Funcionamiento de la Computadora Historia de las Computadoras Montando una Computadora Computadora Un sistema de cómputo

Más detalles

Arquitectura de Computadoras. Clase 8 Procesadores superescalares

Arquitectura de Computadoras. Clase 8 Procesadores superescalares Arquitectura de Computadoras Clase 8 Procesadores superescalares Procesador Escalar Ejecución secuencial de instrucciones F: búsqueda D: decodificación F D ALU F D ALU F D ALU Instrucción 1 Instrucción

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 6 RISC Computadoras de repertorio reducido de instrucciones Historia de evolución (1) El concepto de familia: Introducido por IBM en su System/360 en 1964. DEC PDP-8.

Más detalles

Tema 1: Introducción a los sistemas procesadores. Sistemas Electrónicos para el Procesamiento de Señal

Tema 1: Introducción a los sistemas procesadores. Sistemas Electrónicos para el Procesamiento de Señal Tema 1: Introducción a los sistemas procesadores Sistemas Electrónicos para el Procesamiento de Señal 1 Indice Arquitectura básica CPU / Periféricos / buses Mapa de memoria Principios de localidad y tipos

Más detalles

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos Arquitectura de ordenadores (fundamentos teóricos) Representación de la información Estructura de un microprocesador Memorias Sistemas de E/S Elementos de un ordenador Microprocesador Placa base Chipset

Más detalles

MICROPROCESADOR. Ing. Raúl Rojas Reátegui

MICROPROCESADOR. Ing. Raúl Rojas Reátegui MICROPROCESADOR Ing. Raúl Rojas Reátegui OBJETIVOS Al termino de la sesión el estudiante será capaz de: Describir las principales características de un Microprocesador. Describir las principales características

Más detalles

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura de Computadores Tema 1. Introducción a los computadores Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016

Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 Departamento de Cs. e Ingeniería de la Computación Universidad Nacional del Sur Ejercicios Arquitectura de Computadoras Trabajo Práctico N 8 Pipeline de Instrucciones 1 Primer Cuatrimestre de 2016 1. La

Más detalles

Granularidad y latencia

Granularidad y latencia Niveles de paralelismo y latencias de comunicación Niveles de paralelismo. Granularidad o tamaño de grano. Latencia de comunicación. Particionado de los programas. Empaquetado de granos. Planificación

Más detalles

Tema 4 (II) El procesador

Tema 4 (II) El procesador Tema 4 (II) El procesador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Técnicas de control 1. Lógica cableada 2. Lógica almacenada

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Formato de instrucciones

Formato de instrucciones Formato de instrucciones Material Elaborado por el Profesor Ricardo González A partir de Materiales de las Profesoras Angela Di Serio María Blanca Ibañez Elementos de una instrucción de máquina add rd

Más detalles

ARQUITECTURA DE VON NEUMANN Y HARVARD

ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA DE VON NEUMANN Y HARVARD ARQUITECTURA VON NEUMANN En esta arquitectura se observa que las computadoras utilizan el mismo dispositivo de almacenamiento para datos e instrucciones conectados

Más detalles

Elementos constituyentes de la ejecución de un programa

Elementos constituyentes de la ejecución de un programa Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones

Más detalles

Tema V Generación de Código

Tema V Generación de Código Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.

Más detalles

Organización de Computadoras. Pipeline Continuación

Organización de Computadoras. Pipeline Continuación Organización de Computadoras Pipeline Continuación Extensión del pipeline para manejar operaciones multiciclo (unpipelined) Extensión del pipeline para manejar operaciones multiciclo El pipeline del MIPS

Más detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura de Computadores Problemas (hoja 2). Curso Arquitectura de Computadores Problemas (hoja 2). Curso 2012-13 1. Sea la siguiente secuencia de código de instrucciones en punto flotante para un computador similar al DLX que aplica gestión dinámica de

Más detalles

1.2.-Analisis de los componentes

1.2.-Analisis de los componentes 1.2.-Analisis de los componentes 1.2.1.-CPU La Unidad Central de Proceso (conocida por sus siglas en inglés, CPU). Es el lugar donde se realizan las operaciones de cálculo y control de los componentes

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática

Fundamentos de los Computadores Grado en Ingeniería Informática 7. Camino de datos y unidad de control o Fundamentos de los Computadores Grado en Ingeniería Informática Introducción La versatilidad es una característica deseable de los sistemas digitales Un sistema

Más detalles

PROCESADORES DE EMISIÓN MÚLTIPLE

PROCESADORES DE EMISIÓN MÚLTIPLE PROCESADORES DE EMISIÓN MÚLTIPLE Cómo conseguir un CPI1)? Emitiendo varias instrucciones en un mismo ciclo de reloj Dos clases de procesadores de emisión múltiple Superescalares y VLIW (Very Long

Más detalles

GRADO EN INGENIERÍA DE COMPUTADORES

GRADO EN INGENIERÍA DE COMPUTADORES GRADO EN INGENIERÍA DE COMPUTADORES Computadores VLIW Departamento Computadores superescalares de Automática Prof. Dr. José Antonio de Frutos Redondo Curso 2013-2014 Computadores VLIW y superescalares

Más detalles

Seminario 1: Procesadores paralelos

Seminario 1: Procesadores paralelos Seminario 1: Procesadores paralelos Índice Introducción Procesadores superescalares Procesadores VLIW Procesadores vectoriales Índice Introducción Procesadores superescalares Procesadores VLIW Procesadores

Más detalles

Contenidos: Definiciones:

Contenidos: Definiciones: Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.

Más detalles

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO

INTRODUCCIÓN Y MEDIDAS DE RENDIMIENTO MEDIDAS DE RENDIMIENTO Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

ARQUITECTURA DEL COMPUTADOR

ARQUITECTURA DEL COMPUTADOR 1-11 Marzo de 2017 FACET -UNT ARQUITECTURA DEL COMPUTADOR Graciela Molina gmolina@herrera.unt.edu.ar m.graciela.molina@gmail.com 1 MODELO VON NEUMANN RAM J. Von Neumann frente a la computadora IAS, 1952.

Más detalles

MULTIPROCESADORES TIPOS DE PARALELISMO

MULTIPROCESADORES TIPOS DE PARALELISMO Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Clasificación de las Arquitecturas

Clasificación de las Arquitecturas Clasificación de las Arquitecturas MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Por la taxonomía de Flynn 1 Flynn Flujo de datos Simple Múltiple Flujo de datos Simple Múltiple SISD MISD

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Quinta tarea: Existen varias versiones del 80486:

Quinta tarea: Existen varias versiones del 80486: Quinta tarea: Los primeros procesadores utilizados en los PC fueron los procesadores 8088 y 8086. Sus principales diferencias con el 80286 es que el segundo permite multitarea, tenía una velocidad de reloj

Más detalles

HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores.

HISTORIA DEL PIPELINE. Juan Antonio Romano Largo. Arquitectura de Computadores. HISTORIA DEL PIPELINE CRONOLOGÍA Introducción ppo. S. XX IBM 704 1955 IBM 7030 (proyecto Stretch) 1956-1961 CDC 6600 1964 VAX 8800 1987 RISC vs CISC (MIPS vs VAX 8700) 1989 R4000 (Supersegmentado) 1991

Más detalles

PROCESADORES DE EMISIÓN MÚLTIPLE

PROCESADORES DE EMISIÓN MÚLTIPLE PROCESADORES DE EMISIÓN MÚLTIPLE Cómo conseguir un CPI1)? Emitiendo varias instrucciones en un mismo ciclo de reloj Dos clases de procesadores de emisión múltiple Superescalares y VLIW (Very Long

Más detalles

Taxonomía de las arquitecturas

Taxonomía de las arquitecturas Taxonomía de las arquitecturas 1 INTRODUCCIÓN 2 2 CLASIFICACIÓN DE FLYNN 3 2.1 SISD (SINGLE INSTRUCTION STREAM, SINGLE DATA STREAM) 3 2.2 SIMD (SINGLE INSTRUCTION STREAM, MULTIPLE DATA STREAM) 4 2.2.1

Más detalles

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías:

Con estas consideraciones, Flynn clasifica los sistemas en cuatro categorías: Taxonomía de las arquitecturas 1 Introducción Introducción En este trabajo se explican en detalle las dos clasificaciones de computadores más conocidas en la actualidad. La primera clasificación, es la

Más detalles

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR Historia Bloques funcionales Dimensionamiento Estructura CPU Concepto de programa Interrupciones Buses Entrada / Salida Ejemplo de arquitectura:

Más detalles

Unidad 5 Unidad central de proceso

Unidad 5 Unidad central de proceso Unidad 5 Unidad central de proceso Objetivo El objetivo de esta unidad es que el alumno logre: entender el funcionamiento básico de la Unidad Central de Proceso (UCP), definir las componentes básicas de

Más detalles

1. EL COMPUTADOR. Mg. Sergio La Cruz Orbe

1. EL COMPUTADOR. Mg. Sergio La Cruz Orbe 1. EL COMPUTADOR Mg. Sergio La Cruz Orbe 1 EL COMPUTADOR 1. El Pasado 2. El Presente 3. Estructura Básica 4. Rendimiento 5. Disipación de Potencia 2 EL COMPUTADOR 1. El Pasado 3 El Pasado Los precursores

Más detalles

Organización del Computador I. Introducción e Historia

Organización del Computador I. Introducción e Historia Organización del Computador I Introducción e Historia Introducción Qué es una computadora? Stallings: Máquina digital electrónica programable para el tratamiento automático de la información, capaz de

Más detalles

Procesadores Superescalares

Procesadores Superescalares Departamento de Electrónica y Circuitos EC3731 Arquitectura del Computador II Prof. Osberth De Castro Prof. Juan C. Regidor Prof. Mónica Parada Segmentación de Cauce y Paralelismo Multiples unidades de

Más detalles

5. Procesador: camino de datos y control

5. Procesador: camino de datos y control Fundamentos de Computadores Ingeniería de Telecomunicación Departamento de Automática Escuela Politécnica Superior Curso académico 2009 2010 Contenidos 1 Control de operaciones elementales 2 3 4 5 Objetivos

Más detalles

Arquitectura del MIPS: Introducción

Arquitectura del MIPS: Introducción Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

Tema 4. La Unidad de Control

Tema 4. La Unidad de Control Enunciados de problemas Tema 4. Arquitectura de Computadores Curso 2009-2010 Tema 4: Hoja: 2 / 22 Tema 4: Hoja: 3 / 22 Base teórica es el órgano de gobierno del computador. Es el elemento encargado de

Más detalles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

Introducción a la arquitectura PIC

Introducción a la arquitectura PIC 18 de septiembre de 2012 Contenido 1 Microprocesadores y Microcontroladores 2 3 4 Microprocesadores y Microcontroladores Microcomputadora consiste básicamente de: Unidad central de procesamiento (CPU),

Más detalles

TEMA 2: Organización de computadores

TEMA 2: Organización de computadores TEMA 2: Organización de computadores Procesadores Memorias Dispositivos de E/S 1 Computador Procesador, memoria, dispositivos de E/S CPU Unidad de control Unidad aritmética y lógica Registros Dispositivos

Más detalles

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable. Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Fecha de Introducción Velocidad de reloj Anchura del bus Número de transistores (microns) Memoria direccionable Evolución

Más detalles

Tecnologías, Organización y Microarquitectura

Tecnologías, Organización y Microarquitectura Septiembre 2012 Tecnología de Integración Nanotecnología Tecnología de Integración Imágenes obtenidas con TEM (Transmission Electron Microscope) de una cepa del virus de la influenza, y de un transistor

Más detalles

Paralelismo en el procesador

Paralelismo en el procesador 2017 Paralelismo en el procesador ARQUITECTURA DE COMPUTADORAS ING. ELMER PADILLA AUTOR: GERARDO ROBERTO MÉNDEZ LARIOS - 20111013326 Ciudad universitaria, Tegucigalpa M.D.C., 04 de mayo del 2017. Contenido

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

PRÁCTICA 12. ANÁLISIS DE PROTOCOLOS DE SISTEMAS DIGITALES AVANZADOS

PRÁCTICA 12. ANÁLISIS DE PROTOCOLOS DE SISTEMAS DIGITALES AVANZADOS PRÁCTICA 12. ANÁLISIS DE PROTOCOLOS DE SISTEMAS DIGITALES AVANZADOS 1 Objetivo. En esta práctica se analizarán dos sistemas digitales: Un sistema de adquisición de datos para PC y un sistema de desarrollo

Más detalles

UNIDAD CENTRAL DE PROCESO

UNIDAD CENTRAL DE PROCESO UNIDAD CENTRAL DE PROCESO NO SON CPU, SON CASES COMPONENTES DE UN SISTEMA DE CÓMPUTOS DISPOSITIVOS DE ALMACENAMIENTO Disco Rígido, Disquete, CD, DVD DISPOSITIVOS DE ENTRADA Teclado Mouse Micrófono Cámara

Más detalles

TEMA VI DISEÑO DEL PROCESADOR

TEMA VI DISEÑO DEL PROCESADOR TEMA VI DISEÑO DEL PROCESADOR Diseño del procesador 6.1 Repertorio de instrucciones 6.1.1 Procesadores de tres direcciones 6.1.2 Procesadores de dos direcciones 6.1.3 Procesadores de una dirección (procesadores

Más detalles

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr.

Procesador. Memoria. Ejemplo de un Procesador: MU0. Instrucciones. Direcciones. Registros. Datos. Instrucciones y datos SETI Tr. Ejemplo de un Procesador: MU0 Instrucciones Registros Procesador Direcciones Instrucciones y datos Datos Memoria Tr. 306 float fir_filter(float input, float *coef, int n, float *history { int i; float

Más detalles

Instituto Tecnológico de Morelia

Instituto Tecnológico de Morelia Instituto Tecnológico de Morelia Arquitectura de Computadoras Unidad 1a Programa 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3

Más detalles

ARQUITECTURA DE COMPUTADORAS

ARQUITECTURA DE COMPUTADORAS 2-12-2012 INSTITUTO TECNOLÓGICO DE CHIHUAHUA II ARQUITECTURA DE COMPUTADORAS Cuestionario Unidad 4 Claudia Cristina Enríquez Zamarrón 10 55 05 10 Laura Michell Montes Blanco 10 55 05 02 INTRODUCCIÓN: En

Más detalles

Trabajo Práctico Número 6

Trabajo Práctico Número 6 Página 1 de 6 Trabajo Práctico Número 6 Arquitectura de Computadoras 24/05/2014 Instrucciones Los problemas de ejercitación propuestos en el presente trabajo práctico pueden ser resueltos en forma individual

Más detalles

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR DISEÑO CURRICULAR ARQUITECTURA L COMPUTADOR FACULTAD (ES) CARRERA (S) Ingeniería Computación y Sistemas. CÓDIGO HORAS TEÓRICAS HORAS PRÁCTICAS UNIDAS CRÉDITO SEMESTRE 126643 02 02 03 VI PRE-REQUISITO ELABORADO

Más detalles

Preguntas claves (y sus respuestas)

Preguntas claves (y sus respuestas) 1 Preguntas claves (y sus respuestas) Qué es un microprocesador? Es un Circuito Integrado Secuencial Síncrono Qué necesita para funcionar? Qué hace? Para qué? Una tensión continua estable (5V, 3.3V, 2.5V,

Más detalles

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN De Diego Varona, Rubén Romay López, Oscar Manuel Vega Martínez, Jorge INTRODUCCIÓN La representación de la instrucción en la computadora se denomina formato.

Más detalles

Práctica 5 - Memoria Cache

Práctica 5 - Memoria Cache Práctica 5 - Memoria Cache Organización del Computador 1 Verano 2008 Aclaración: siempre que se informa del tamaño de una memoria cache o de una línea, se está haciendo referencia a la capacidad útil de

Más detalles

Unidad II Arquitectura de Computadoras

Unidad II Arquitectura de Computadoras Unidad II Arquitectura de Computadoras Arquitectura de Computadoras -LATIC Contenido Qué es una computadora? Tipos de computadoras Evolución de las computadoras El modelo de Von Neumann La unidad central

Más detalles

Definición de prestaciones

Definición de prestaciones Definición de prestaciones En términos de velocidad. Diferentes puntos de vista: Tiempo de ejecución. Productividad (throughput) Medidas utilizadas En función de la duración del ciclo de reloj y del número

Más detalles

ARQUITECTURA DE COMPUTADORES 2º I.T.

ARQUITECTURA DE COMPUTADORES 2º I.T. Curso 2011-2012 Pág 1 de 6 1.- (4 ptos) Marque con un opción correcta de las siguientes afirmaciones. (0.4 / -0.1) 1.1 La arquitectura de Von Neumann: a) Es capaz de procesar con una misma instrucción

Más detalles

Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I)

Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I) Reducción de la penalización por fallo Técnica: Dar prioridad a los fallos de lectura sobre la escritura (I) Dar prioridad a los fallos de lectura sobre la escritura: En la caches WT el buffer de post-escritura

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

Arquitectura de Computadores II Clase #16

Arquitectura de Computadores II Clase #16 Arquitectura de Computadores II Clase #16 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Organización general Superescalar Varios pipelines. 2 operaciones enteras,

Más detalles

Memoria Caché. Algorítmo de Mapeo Directo

Memoria Caché. Algorítmo de Mapeo Directo Algorítmo de Mapeo Directo Antecedentes Uno de los principales problemas con la arquitectura de computadoras Von Neumann es que la memoria principal generalmente es considerablemente más lenta que el procesador;

Más detalles

Tema 2. Arquitectura de CPU avanzadas 15/03/2011

Tema 2. Arquitectura de CPU avanzadas 15/03/2011 Tema 2. Arquitectura de CPU avanzadas. Juegos CISC y RISC. Proceso paralelo. Procesadores escalares y vectoriales. Segmentación. Caches multinivel. Índice Introducción... 1 Procesadores CISC y RISC...

Más detalles

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires

Micro arquitectura. Técnicas Digitales III Ing. Gustavo Nudelman Universidad Tecnológica Nacional - Facultad Regional Buenos Aires Micro arquitectura Técnicas Digitales III Ing. Gustavo Nudelman 2012 Evolución Ley de Moore Fundamentos CISC (Complex Instruction set Computer) instrucciones mas complejas y focalizadas RISC (Reduced Instruction

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Clase 7 Memoria Sistema de Memoria Los programadores desean acceder a cantidades ilimitadas de memoria rápida!! Solución práctica: Jerarquía de memoria organizada en niveles

Más detalles

3. SEGMENTACIÓN DEL CAUCE

3. SEGMENTACIÓN DEL CAUCE 3. SEGMENTACIÓN DEL CAUCE 1 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 2. Etapas del MIPS64 3. Riesgos 4. Operaciones muticiclo 2 SEGMENTACIÓN DEL CAUCE 1. Conceptos básicos 3 Conceptos básicos Ciclo

Más detalles

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES

Capitulo 1 Fundamentos de Computadores - I.T.Telecomunicación - Segundo cuatrimestre. INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES INTRODUCCION A LOS FUNDAMENTOS DE COMPUTADORES Hoja 1 PRIMERA APROXIMACION AL CONCEPTO DE COMPUTADOR Computador: máquina que procesa la información para obtener unos resultados. La información a procesar

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2009 Veremos Memoria virtual Resumen de ideas para mejorar performance 1 Recordemos:

Más detalles

Definición de Arquitectura

Definición de Arquitectura Definición de Arquitectura Arquitectura de los Computadores Personales Luis J. Saiz Adalid 1 Resumen Evolución del rendimiento de los computadores Concepto de arquitectura Tendencias Análisis de prestaciones

Más detalles

CELERON PPGA370, PENTIUM III FCPGA, CYRIX III

CELERON PPGA370, PENTIUM III FCPGA, CYRIX III CELERON PPGA370, PENTIUM III FCPGA, CYRIX III ARQUITECTURAS DE COMPUTADORAS ARQ. VON NEUMANN: Ejecución secuencial de las instrucciones de un programa AVANCES EN LAS ARQ. ACTUALES: SEGMENTACIÓN DE INSTRUCCIONES

Más detalles

Introducción a los procesadores ILP (Instruction-Level Parallel)

Introducción a los procesadores ILP (Instruction-Level Parallel) Introducción a los procesadores ILP (Instruction-Level Parallel) Herramientas básicas para conseguir paralelismo entre instrucciones: Encauzamiento (pipelining) Se usa en todo procesador ILP Utilizar varias

Más detalles

EVOLUCION PROCESADORES AMD (ADVANCED MICRO DEVICES)

EVOLUCION PROCESADORES AMD (ADVANCED MICRO DEVICES) EVOLUCION PROCESADORES AMD (ADVANCED MICRO DEVICES) AMD AM286 Es la copia del intel 80286, creado con permiso de intel. Por petición de IBM como segunda fuente, tienen arquitectura interna de 16 bits,

Más detalles

Práctica 1 - Rendimiento *

Práctica 1 - Rendimiento * Práctica 1 - Rendimiento * Organización del Computador 1 Verano 2014 Subconjunto mínimo de ejercicios recomendado: 1 a 11 Ejercicio 1 Considere tres procesadores distintos P 1, P 2 y P 3 que ejecutan el

Más detalles