[ Arquitectura de Computadores ] AUMENTO DE DESEMPEÑO Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

Procesadores Superescalares
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
COLEGIO UNIVERSITARIO DE ADMINISTRACION Y MERCADEO
III - Gestión de memoria
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
Computación PROGRAMACIÓN.
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
Arquitectura de Conjunto de Instrucciones (ISA)
Tema 3. Optimización de Código
Composición Interna de un Procesador
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
ISA (Instruction Set Architecture)
MIPS Intermedio.
Unidad 2: Organización del CPU
Semana 5 Subprogramas..
(CC) , José M. Foces-Morán.
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Administración de Memoria Memoria Virtual
Pipelining Predicción dinámica de brincos. Universidad de SonoraArquitectura de Computadoras2 Introducción En base a la historia de la instrucción, predecir.
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Scheduling dinámico Algoritmo de Tomasulo.
Material de apoyo Unidad 4 Estructura de datos
Tema 2: Lenguaje máquina
Lenguajes de programación. Lenguaje máquina El ordenador sólo sabe hacer un número limitado de tareas (muy pocas) definidas electrónicamente en su procesador.
“Organización y Arquitectura de Computadores” William Stallings
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
Capítulo 4 CPU y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Prof. Flor Narciso Departamento de Computación
Rendimiento de la CPU y sus factores
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
ARQUICTECTURA DE SERVIDORES
Maquinas Digitales UNIDADES DE CONTROL.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
Tipos de Lenguajes Ensamblador.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
ARQUITECTURA DE COMPUTADORES
Arquitectura de Computadores
2_1 Procesador y memoria Apoyo SSD2. Mtl Lourdes Cahuich2 El procesador y la memoria son los componentes esenciales que permiten que una computadora pueda.
[ Arquitectura de Computadores ] ORGANIZACIÓN FUNCIONAL Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
INTRODUCCIONHISTORIAQUE ES UN PLCELEMENTOS VENTAJAS TIPOSCONCLUSIONESREFERENCIAS.
Arquitectura de Computadores Clase 2 Algebra Booleana y Número Binarios IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile.
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
Page 1 Ciclo de Estructuras de Repetición Carlos Bautista García Unidad VI PROG 2270L.
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Tema 7: Ingeniería del software Definición de software El software es: 1. instrucciones (programas de computadora) que cuando se ejecutan proporcionan.
Arquitectura de Computadores Clase 18 Memoria Caché: Fundamentos IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Clase 1.  Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones.
Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
BIOESTADÍSTICA Y ESTADÍSTICA BÁSICA CHILLÁN, SEGUNDO SEMESTRE PROF. SOC. M© KEVIN VILLEGAS.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Optimización de Consultas Distribuidas. ÍNDICE Definiciones básicas Modelo de costo Estadísticas de la base de datos Optimización centralizada de consultas.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Memoria virtual. Universidad de SonoraArquitectura de Computadoras2 Introducción Memoria virtual es un mecanismo que permite que la memoria principal.
Arquitectura de Computadores Clase 22 Pipelining IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento.
Taller introducción a los conceptos básicos de Estadística PRIMERA PARTE 2016 Propósito: Introducir algunos conceptos básicos de Estadística por medio.
Tecnologías y Arquitecturas de SE
Arquitectura 2013 Explicación 4.
Pipelining Peligros de control.
Transcripción de la presentación:

[ Arquitectura de Computadores ] AUMENTO DE DESEMPEÑO Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC 2342 Semestre Domingo Mery D.Mery 1 Arquitectura de Computadores

Präsentat ion D.Mery 2 Arquitectura de Computadores [ Índice ]  8.1 Arquitectura RISC  8.2 Predicción de salto y prefetching  8.3 Escalabilidad

Präsentat ion D.Mery 3 Arquitectura de Computadores [ Índice ]  8.1 Arquitectura RISC  8.2 Predicción de salto y prefetching  8.3 Escalabilidad

Präsentat ion D.Mery 4 Arquitectura de Computadores [ Aumento de desempeño ] RISC CISC: complex instruction set computer se basa en que cada instrucción puede corresponder a varias operaciones de bajo nivel, tales como leer de memoria, operación aritmética, escribir en la memoria, sumar datos… todo en una sola instrucción.

Präsentat ion D.Mery 5 Arquitectura de Computadores [ Aumento de desempeño ] RISC Aparición Instruc. máquinaRefer. a memoria Dinámica(ponderadas)(ponderadas) PascalCPascal CPascal C Assign45%38%13% 13%14% 15% Loop5%3%42% 32%33% 26% Call15%12%31% 33%44% 45% If29%43%11% 21%7% 13% GoTo-3% Other6%1%3% 1%2% 1% Total100% 100% 100% 100% 100% 100% Frecuencia dinámica relativa ponderada de operaciones en high level lenguages (HLL) compilados en arquitectura CISC La realidad de las operaciones…

Präsentat ion D.Mery 6 Arquitectura de Computadores [ Aumento de desempeño ] RISC Aparición Instruc. máquinaRefer. a memoria Dinámica(ponderadas)(ponderadas) PascalCPascal CPascal C Assign45%38%13% 13%14% 15% Loop5%3%42% 32%33% 26% Call15%12%31% 33%44% 45% If29%43%11% 21%7% 13% GoTo-3% Other6%1%3% 1%2% 1% Total100% 100% 100% 100% 100% 100% La realidad de las operaciones… CONCLUSIÓN: Las instrucciones de llamada/retorno de procedimientos son las que consumen más tiempo en los programas típicos escritos en HLL.

Präsentat ion D.Mery 7 Arquitectura de Computadores [ Aumento de desempeño ] RISC Porcentaje dinámico de operandos La realidad de las operandos… Pascal CPromedio Constantes enteras 16%23% 20% Variables escalares58%53% 55% Arreglos estructuras26%24% 25% Total100% 100% 100%

Präsentat ion D.Mery 8 Arquitectura de Computadores [ Aumento de desempeño ] RISC Porcentaje dinámico de operandos La realidad de las operandos… Pascal CAverage Constantes enteras 16%23% 20% Variables escalares58%53% 55% Arreglos estructuras26%24% 25% Total100% 100% 100% CONCLUSIÓN: Hay un predominio de referencias a operandos escalares.

Präsentat ion D.Mery 9 Arquitectura de Computadores [ Aumento de desempeño ] RISC Al 98% de los procedimientos llamados dinámicamente se les pasan menos de 6 argumentos, El 92% de los procedimientos usan menos de seis variables escalares locales. Además es poco común tener una larga secuencia ininterrumpida de llamadas a procedimientos seguida por la correspondiente secuencia de retornos. La realidad de las llamadas a procedimientos…

Präsentat ion D.Mery 10 Arquitectura de Computadores [ Aumento de desempeño ] RISC Al 98% de los procedimientos llamados dinámicamente se les pasan menos de 6 argumentos, El 92% de los procedimientos usan menos de seis variables escalares locales. Además es poco común tener una larga secuencia ininterrumpida de llamadas a procedimientos seguida por la correspondiente secuencia de retornos. La realidad de las llamadas a procedimientos… CONCLUSIÓN: Los programas permanecen confinados en una ventana bastante estrecha de profundidad de invocación a procedimientos… las referencias a operandos están muy localizadas.

Präsentat ion D.Mery 11 Arquitectura de Computadores [ Aumento de desempeño ] RISC Por lo tanto, intentar realizar una arquitectura de repertorio de instrucciones cercano al de los HLL, no es necesariamente una estrategia de diseño más efectiva. Surgen las arquitecturas RISC: reduced (or regular) instruction set computer Usan un gran número de registros Usan un diseño cuidadoso de los pipelines Usan un repertorio de instrucciones reducido

Präsentat ion D.Mery 12 Arquitectura de Computadores [ Aumento de desempeño ] RISC RISC: reduced (or regular) instruction set computer es una forma de diseñar CPU que contiene un conjunto de instrucciones muy simple y que casi todas las instrucciones toman el mismo tiempo de ejecución. Muchos procesadores modernos son RISC (ejemplos: SPARC, MIPS y PowerPC). Sin embargo, los CPU más utilizados como los x86 son CISC. RISC nace después de CISC!!!

Präsentat ion D.Mery 13 Arquitectura de Computadores [ Aumento de desempeño ] RISC ¿Cómo resolver el problema del tiempo consumido a las llamadas de procedimiento? ¿Cómo resolver el problema del tiempo tan grande que se consume en direccionar operandos escalares? ¿Cómo aprovechar la característica de las llamadas a procedimiento con poca profundidad?

Präsentat ion D.Mery 14 Arquitectura de Computadores [ Aumento de desempeño ] RISC ¿Cómo resolver el problema del tiempo consumido a las llamadas de procedimiento? ¿Cómo resolver el problema del tiempo tan grande que se consume en direccionar operandos escalares? ¿Cómo aprovechar la característica de las llamadas a procedimiento con poca profundidad? La solución está en el uso de muchos registros, y en su organización en ventanas de registros solapadas!

Präsentat ion D.Mery 15 Arquitectura de Computadores [ Aumento de desempeño ] RISC Ventanas de registros solapadas

Präsentat ion D.Mery 16 Arquitectura de Computadores [ Aumento de desempeño ] RISC Organización de las ventanas solapadas como un buffer circular Ventanas de registros solapadas

Präsentat ion D.Mery 17 Arquitectura de Computadores [ Aumento de desempeño ] RISC El uso optimizado de los registros es problema del compilador Ejemplo: ¿cómo organizar los registros? t

Präsentat ion D.Mery 18 Arquitectura de Computadores [ Aumento de desempeño ] RISC El uso optimizado de los registros es problema del compilador Ejemplo: ¿cómo organizar los registros? t Cada registro (virtual) es un nodo, cada interferencia es un arco entre nodos. A, B y C deben estar cargados simultáneamente. F A D

Präsentat ion D.Mery 19 Arquitectura de Computadores [ Aumento de desempeño ] RISC El uso optimizado de los registros es problema del compilador Ejemplo: ¿cómo organizar los registros? t R1 R2 R3 R4 Grafo de 4 colores El grafo se colorea de tal forma que dos nodos conectados no tengan el mismo color. F

Präsentat ion D.Mery 20 Arquitectura de Computadores [ Aumento de desempeño ] RISC ¿Por qué entonces CISC? El CISC ha sido motivado por dos razones: 1.El deseo de simplificar los compiladores, la idea es que las instrucciones de la CPU se asemejen a las instrucciones de los HLL. 2.Aumentar el desempeño de las CPU produciendo programas más pequeños y más rápidos.

Präsentat ion D.Mery 21 Arquitectura de Computadores [ Aumento de desempeño ] RISC ¿Por qué entonces CISC? El CISC ha sido motivado por dos razones: 1.El deseo de simplificar los compiladores, la idea es que las instrucciones de la CPU se asemejen a las instrucciones de los HLL. SIN EMBARGO, la tarea de encontrar justo la instrucción en un conjunto muy grande de instrucciones es una tarea compleja, muchas veces los compiladores terminan usando las instrucciones sencillas.

Präsentat ion D.Mery 22 Arquitectura de Computadores [ Aumento de desempeño ] RISC SIN EMBARGO, con CISC se disminuye el número de instrucciones no el número de bytes del código máquina, la decodificación de instrucciones más grandes no es necesariamente más rápida que la decodificación de instrucciones pequeñas. Las velocidades entre CISC y RISC son comparables. ¿Por qué entonces CISC? El CISC ha sido motivado por dos razones: 2.Aumentar el desempeño de las CPU produciendo programas más pequeños y más rápidos.

Präsentat ion D.Mery 23 Arquitectura de Computadores [ Aumento de desempeño ] RISC Características típicas de RISC: 1.Una instrucción por ciclo 2.Operaciones registro a registro 3.Modos de direccionamiento sencillos 4.Formatos de instrucción sencillos

Präsentat ion D.Mery 24 Arquitectura de Computadores [ Aumento de desempeño ] RISC RISC vs. CISC: El desarrollo de RISC representa una ruptura con la filosofía que detrás de esta tendencia. Los que están a favor de RISC han hecho estudios que determinan que RISC tiene mejor desempeño. RISC y CISC son claramente dos tendencias, es difícil determinar cuál de los dos es mejor porque No existe una pareja de máquinas CISC y RISC que sean comparables No existe un conjunto de programas definitivos Es difícil separar las habilidades del hardware de las habilidades del compilador Hoy ambas tendencias usan mezclas de ambas tecnologías!

Präsentat ion D.Mery 25 Arquitectura de Computadores [ Índice ]  8.1 Arquitectura RISC  8.2 Predicción de salto y prefetching  8.3 Escalabilidad

Präsentat ion D.Mery 26 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto Fetch (captación) Decodi- ficador Ejecu- ción Memo- ria Escri- tura Pipeline típico

Präsentat ion D.Mery 27 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto LOAD A,01h #I FDEM W LOAD C,02h #I2 FDEM W LOAD D,03h #I3 FDEMW LOAD B,04h #I4 FDEMW HALT #I5 FDEMW

Präsentat ion D.Mery 28 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto if (j==2) m = 1; else m = 2; CMP A,2;compara j con 2 BNE else;salta a else si no es igual thenMOV B,1;carga 1 en B BR next;salta a next elseMOV B,2;carga 2 en B next... Programa original Programa en Assembler

Präsentat ion D.Mery 29 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto if (j==2) m = 1; else m = 2; n = 1; CMP A,2;compara j con 2 BNE else;salta a else si no es igual thenMOV B,1;carga 1 en B BR next;salta a next elseMOV B,2;carga 2 en B nextMOV C,1;carga 1 en C Programa original Programa en Assembler En este ejemplo (con ramificaciones) se introducen al pipeline instrucciones que no se van a ejecutar!

Präsentat ion D.Mery 30 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto La solución radica en introducir al pipeline sólo las instrucciones válidas… ¿pero es esto posible? ¿Qué pasa con los saltos incondicionales? Pareciera que con el salto incondicional no habría problema, la CPU debiera seguir leyendo instrucciones a partir de la dirección objetivo (el lugar a donde se saltará), pero ¿cómo saber esta dirección a tiempo? FDEM WFDEM W FDEMWFDEMWFDEMW CMP A,2 BNE else thenMOV B,1 BR next elseMOV B,2 nextMOV C,1 : ?

Präsentat ion D.Mery 31 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto La solución radica en introducir al pipeline sólo las instrucciones válidas… ¿pero es esto posible? ¿Qué pasa con los saltos incondicionales? Pareciera que con el salto incondicional no habría problema, la CPU debiera seguir leyendo instrucciones a partir de la dirección objetivo (el lugar a donde se saltará), pero ¿cómo saber esta dirección a tiempo? FDEM WFDEM W FDEMWFDEMWFDEMW CMP A,2 BNE else thenMOV B,1 BR next elseMOV B,2 nextMOV C,1 : ? Esto no es posible Porque ya se “coló” MOV B,2

Präsentat ion D.Mery 32 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto La solución radica en introducir al pipeline sólo las instrucciones válidas… ¿pero es esto posible? ¿Qué pasa con los saltos incondicionales? Pareciera que con el salto incondicional no habría problema, la CPU debiera seguir leyendo instrucciones a partir de la dirección objetivo (el lugar a donde se saltará), pero ¿cómo saber esta dirección a tiempo? FDEM WFDEM W FDEMWFDEMWFDEMW CMP A,2 BNE else thenMOV B,1 BR next NOP elseMOV B,2 nextMOV C,1 : ! Esto sí es posible pero hace el programa + lento y + grande

Präsentat ion D.Mery 33 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto AddressNormalDelayedOptimized 100LOAD X,ALOAD X,ALOAD X,A 101ADD 1,AADD 1,AJUMP JUMP 105JUMP 105ADD 1,A 103ADD A,BNOOPADD A,B 104SUB C,BADD A,BSUB C,B 105STORE A,ZSUB C,BSTORE A,Z 106STORE A,Z

Präsentat ion D.Mery 34 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto La solución radica en introducir al pipeline sólo las instrucciones válidas… ¿pero es esto posible? ¿Qué pasa con los saltos condicionales? La situación es peor porque no se sabe adónde saltar sino después de ejecutar la instrucción y saber si la condición se cumple o no! FDEM WFDEM W FDEMWFDEMWFDEMW CMP A,2 BNE else thenMOV B,1 BR next NOP elseMOV B,2 nextMOV C,1 : ? Cuál de las dos

Präsentat ion D.Mery 35 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto Las primeras versiones de las CPUs se detenían ante un salto condicional hasta no saber adónde saltar, esto a veces toma tres o cuatro ciclos. Esto arruina el desempeño de la CPU ya que más del 20% de las instrucciones son ramificaciones. La solución es la “predicción del salto”, con esta solución se predice si se va a tomar el salto o no.

Präsentat ion D.Mery 36 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto Idea de la predicción: Predecir la dirección de la ramificación Ejecutarla como si fuera correcta Aceptar o descartar los resultados después de saber la dirección de la bifurcación correcta

Präsentat ion D.Mery 37 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto Si se predice correctamente una rama, no hay nada especial que hacer (la ejecución simplemente continúa en la dirección objetivo). PERO el problema surge cuando se predice erróneamente una rama. Averiguar a dónde hay que ir e ir ahí no es difícil… la parte difícil es anular instrucciones que ya se ejecutaron y no debieron haberse ejecutado. Solución: uso de “registro borrador” intermedio.

Präsentat ion D.Mery 38 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto Una estrategia simple para predecir el salto: “Se tomarán todas las ramificaciones condicionales hacia atrás y no se tomará ninguna ramificación condicional hacia delante” ¿Es buena esta estrategia? ¿por qué?

Präsentat ion D.Mery 39 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto PREDICCIÓN DINÁMICA: Se usa una tabla histórica (hardware) de consulta en la que se escribe cómo fue la última vez que se ejecutó la instrucción de ramificación condicional (¿se tomó la ramificación o no se tomó?)

Präsentat ion D.Mery 40 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto ESTRATEGIA 1 DE PREDICCIÓN DINÁMICA: La ramificación tomará la misma trayectoria que adoptó la vez anterior. En este caso sólo es necesario almacenar un bit por instrucción de ramificación condicional presente en el programa. ¿Problemas?

Präsentat ion D.Mery 41 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto ESTRATEGIA 2 DE PREDICCIÓN DINÁMICA: Se da una segunda oportunidad, es decir la predicción sólo se cambia después de dos predicciones incorrectas consecutivas. En este caso es necesario almacenar dos bits por instrucción de ramificación condicional presente en el programa.

Präsentat ion D.Mery 42 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto ESTRATEGIA 3 DE PREDICCIÓN DINÁMICA: Muchas veces la dirección de salto es calculada en la instrucción por lo tanto en esta estrategia se guarda no sólo se escribe cómo fue la última ramificación, se guarda también la dirección del salto.

Präsentat ion D.Mery 43 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto PREDICCIÓN ESTÁTICA: Las predicciones dinámicas se definen sobre la marcha de la ejecución del programa. Esto requiere de hardware especializado y costoso. Las predicciones estáticas se definen a nivel de compilación Ejemplo: ¿cómo podría ayudar el compilador con este código? for (i=0;i< ;i++) {...}

Präsentat ion D.Mery 44 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto PREDICCIÓN ESTÁTICA 1: Algunas CPU poseen instrucciones especiales de ramificación (además de las normales) que contienen un bit en el que el compilador puede especificar que cree que la rama se tomará (o no se tomará)

Präsentat ion D.Mery 45 Arquitectura de Computadores [ Aumento de desempeño ] Predicción de salto PREDICCIÓN ESTÁTICA 2: Una vez compilado el programa se ejecuta de forma simulada y se estudia el comportamiento de las ramificaciones, de esta forma en la versión final del programa se incorporan las predicciones de ramificación realizadas a partir de este estudio. En esta modalidad también se usan las instrucciones de ramificación especial.

Präsentat ion D.Mery 46 Arquitectura de Computadores [ Índice ]  8.1 Arquitectura RISC  8.2 Predicción de salto y prefetching  8.3 Escalabilidad

Präsentat ion D.Mery 47 Arquitectura de Computadores [ Aumento de desempeño ] Escalabilidad Parámetros importantes: – Rendimiento (throughput): Número de operaciones por unidad de tiempo. – Tiempo de respuesta (response time): Tiempo desde que inicia un cómputo hasta que termina. – Fiabilidad (reliability): Fiabilidad del sistema con respecto a la fiabilidad de los componentes.

Präsentat ion D.Mery 48 Arquitectura de Computadores [ Aumento de desempeño ] Escalabilidad Un sistema computacional es escalable si su capacidad de procesamiento puede crecer añadiendo nodos adicionales: – Aumenta el rendimiento con un número creciente de nodos (idealmente de forma lineal). – El tiempo de respuesta decrece (o se mantiene cte. o crece lentamente) con un número creciente de nodos. – La fiabilidad el sistema aumenta con número creciente de CPUs (idealmente de forma logarítmica).