ADDI R4,R0,#2 ADDI R1,R0,#40 LOOP: LW R2,0(R1) SUBI R3,R2,#1 MUL R2,R3,R2 DIV R2,R3,R4 SW 0(R1),R2 SUBI R1,R1,#4 BNEZ R1, LOOP ADDI R4,R0,#0
|
|
- Laura Gutiérrez Vidal
- hace 6 años
- Vistas:
Transcripción
1 P2. (3 puntos) El siguiente código en ensamblador recorre un vector v, que comienza en la posición 0, calculando para cada v[i] el número de combinaciones que pueden darse con v[i] elementos tomados de dos en dos. El número de combinaciones de n elementos tomados de k en k es: n ( n 1) K ( n k + 1) C k n = k! Se pide: DIV R2,R3,R4 SW 0(R1),R2 SUBI R1,R1,#4 ADDI R4,R0,#0 a) Realizar la secuencia de ejecución del programa suponiendo un DLX con todos los desvíos de datos necesarios y una BTB (Branch Target Buffer). Indicar los bloqueos que se producen y que desvíos se activan en cada caso. Calcular el tiempo necesario para su ejecución suponiendo un reloj de 100Mhz. Qué diferencia de tiempo habrá si se utilizan uno o dos bits para almacenar el estado de la BTB? b) Con objeto de añadir instrucciones ALU con un operando en memoria (ADD R1, 0(R2), R3) la cadena de ejecución del DLX se ha modificado de la siguiente manera: IF ID EX1 MEM EX2 WB. La etapa EX se ha divido en dos: en EX1 se calcula la dirección efectiva y en EX2 la operación aritmético-lógica. Se dispone de todos los desvíos de datos necesarios. Realizar la secuencia de ejecución del programa, indicando los bloqueos que se producen y los desvíos que se activan cada vez. Calcular también el tiempo de ejecución suponiendo un reloj de 80Mhz. Cuánta reducción de tiempo de ejecución se obtendría si el código se re-escribe utilizando las nuevas instrucciones? Nota: Explicar y justificar cualquier decisión tomada
2 Solución: a) DLX con todos los desvíos de datos necesarios y con BTB Primera iteración: IF IF ID EX R4,R0,#2 IF ID IF IF EX ID M EX WB LOOP: LW ADDI R2,0(R1) R1,R0,#40 IF ID IF EX ID M EX WB LOOP: LW SUBI R2,0(R1) R3,R2,#1 IF ID IF IF EX ID M - - WB EX SUBI R3,R2,#1 IF ID IF IF - - EX ID ID M EX WB MUL R2,R3,R2 IF - ID IF IF EX ID M EX WB DIV SW 0(R1),R2 R2,R2,R4 IF ID IF IF EX ID ID M EX WB SW SUBI 0(R1),R2 R1,R1,#4 IF ID IF IF EX ID ID M EX WB SUBI BNEZ R1,R1,#4 LOOP IF ID IF IF EX - - M ID ID WB EX IF IF IF - ID - EX ID M EX Ciclos_1=13 La instrucción de salto requiere dos ciclos de penalización (el salto no se encuentra en la BTB y se toma) Iteración n: SUBI R1,R1,#4 IF ID EX Ciclos_n=9 La instrucción de salto no requiere ningún ciclo de penalización (el salto se encuentra en la BTB y se acierta) No se requiere bypass IF - ID EX IF ID EX Última iteración: El salto se encuentra en la BTB pero se falla. En la última iteración hay que incluir las etapas que restan por ejecutarse. a1) BTB con dos bits para almacenar el estado (dos fallos consecutivos provocan actualización) IF - ID EX ADDI R4,R0,#0 IF - ID EX Aunque se falle en la última iteración no hay que modificar la predicción (1 ciclo de penalización) Ciclos_10_1=10+5=15 Ta1 = (Ciclos_1 + 8*Ciclos_n + Ciclos_10) * Periodo de reloj = (13+8*9+15) * 10 ns = 1000 ns 2.- BTB con sólo un bit para almacenar el estado (cada fallo provoca actualización) IF - ID EX ADDI R4,R0,#0 IF - - ID EX Hay que modificar la predicción (2 ciclos de penalización) Ciclos_10_2=11+5=16 Ta2 = (Ciclos_1 + 8*Ciclos_n + Ciclos_10) * Periodo de reloj = (13+8*9+16) * 10 ns = 1010 ns
3 b) Suponiendo que la cadena es: IF ID EX1 MEM EX2 WB b1) Sin modificar el código IF ID EX1 M EX2 WB IF ID EX1 M EX2 WB IF ID - - EX1 M EX2 WB IF - - ID EX1 M EX2 WB IF ID EX1 M EX2 WB DIVI R2,R2,R4 IF ID EX1 M EX2 WB SW 0(R1),R2 IF ID EX1 - SUBI R1,R1,#4 IF ID - EX1 M EX2 WB (*) IF ID EX1 M IF IF ID (*) Este desvío puede no ser necesario si en el segundo medio ciclo de reloj de ID puede leerse el operando y resolver el salto Última iteración: IF ID EX1 M EX2 WB ADDI R4,R0,#0 IF ID EX1 M EX2 WB Tb1 = Número de ciclos * Periodo de reloj = (16+12*8+17) * 12,5 ns = 1612,5 ns b2) Adaptando el código a las nuevas instrucciones LOOP: SUBI R3,0(R1),#1 MUL R3,R3,0(R1) DIV R3,R3,R4 SW 0(R1),R3 SUBI R1,R1,#4 ADDI R4,R0,#0 Ahorramos un ciclo de reloj en cada iteración (una instrucción menos). El número de bloqueos es el mismo. Tb2 = Número de ciclos * Periodo de reloj = (15+11*8+16) * 12,5 ns = 1487,5 ns Tb2/Tb1=0,9225 (Reducción del 7,75%)
4 P2. (3 puntos) El siguiente código en ensamblador recorre un vector v, que comienza en la posición 0, calculando para cada v[i] el número de combinaciones que pueden darse con v[i] elementos tomados de dos en dos. El número de combinaciones de n elementos tomados de k en k es: n ( n 1) K ( n k + 1) C k n = k! SW 0(R1),R2 SUBI R1,R1,#4 Las instrucciones MUL y DIV tienen los operandos en registros de propósito general como ocurre en el WinDLX Se pide: a) Realizar la secuencia de ejecución del programa suponiendo un DLX con todos los desvíos de datos necesarios y con apuesta por salto no tomado. Indicar los bloqueos que se producen y que desvíos se activan en cada caso. Calcular el tiempo necesario para su ejecución suponiendo un reloj de 100Mhz. b) Realizar la secuencia de ejeución del programa suponiendo un DLX sin ningún tipo de desvío. Para optimizar la ejecución desenrollar el bucle 2 veces, reordenar y usar la técnica del salto retrasado. Calcular el tiempo necesario para su ejecución y la aceleración respecto a la máquina del apartado a suponiendo también un reloj de 100Mhz. c) Generalizar los resultados obtenidos en el apartado a para programas que calculen C n 3, C n 4,, C n k Nota: Explicar y justificar cualquier decisión tomada
5 Solución: a) DLX con todos los desvíos de datos necesarios y con apuesta por salto no tomado IF ID EX IF ID EX IF ID EX IF ID - EX IF - ID EX IF ID EX SW 0(R1),R2 IF ID EX SUBI R1,R1,#4 IF ID EX IF - ID EX IF IF ID EX M Ta = (Ciclos_1 + 8*Ciclos_n + Ciclos_10) * Periodo de reloj = (12+8*10+13) * 10 ns = 1050 ns En la última iteración hay que incluir las 4 etapas que restan por ejecutarse. Al considerar salto no tomado, si hubiera instrucciones después del bucle, la última iteración tardaría un ciclo menos ya que no habría que repetir la etapa IF. b) Suponiendo que no hay ningún desvío de datos, desenrollando el bucle 2 veces y utilizando salto retrasado SW 0(R1),R2 LW R5,-4(R1) SUBI R6,R5,#1 MUL R5,R5,R4 DIV R5,R5,R4 SW -4(R1),R5 SUBI R1,R1,#8 LW R5,-4(R1) SUBI R1,R1,#8 SUBI R6,R5,#1 MUL R5,R6,R5 DIV R5,R5,R4 SW 8(R1),R2 D SW 4(R1),R5 Tb = (Ciclos_1 + 3*Ciclos_n + Ciclos_5) * Periodo de reloj = (18+3*15+19) * 10ns = 820 ns IF ID EX IF ID EX IF - ID EX LW R5,-4(R1) IF ID EX SUBI R1,R1,#8 IF ID EX IF ID EX SUBI R6,R5,#1 IF ID EX IF - ID EX MUL R5,R6,R5 IF ID EX IF - ID EX DIV R5,R5,R4 IF ID EX SW 8(R1),R2 IF - ID EX D IF ID EX SW 4(R1),R5 IF ID LW R2,0(R1) IF S = Ta/Tb = 1050/820 = 1,28 (mejora del 28%) El primer bloqueo sólo va a ocurrir en la primera iteración.
6 Una posible mejora (difícilmente obtenible por el compilador) sería la siguiente: Aprovechando que la multiplicación y la división tienen la misma prioridad el código podría reordenarse de la siguiente manera: LW R5,-4(R1) SUBI R1,R1,#8 SUBI R6,R5,#1 DIV R5,R5,R4 MUL R5,R6,R5 SW 8(R1),R2 SW 4(R1),R5 De esta manera conseguiríamos eliminar un bloqueo más en cada iteración. c) Generalizando los resultados del aparatado a para C n k ADDI R4,R0,#k! SUB R3,R2,#1 SUBI R3,R3,#1 (k-2 veces) SUBI R3,R3,#1 SW 0(R1),R2 SUBI R1,R1,#4 Tc = (Ciclos_1 + 8*Ciclos_n + Ciclos_10) * Periodo de reloj = [(12 + (k-2)*2) + 8*(10+(k-2)*2) + (13 + (k-2)*2)] * 10 ns = 200*k+650ns Las nuevas instrucciones no producen bloqueos.
7 P2. (3 puntos) Para el siguiente código en ensamblador, se pide: ADDI R3,R2,#400 LOOP: LW R1,0(R2) ADDI R1,R1,#1 SW 0(R2),R1 ADDI R2,R2,#4 SUB R4,R3,R2 BNEZ R4,LOOP SUBI R2,R2,#400 a) Realizar la secuencia de ejecución del programa suponiendo un DLX sin ningún desvío de datos y con apuesta por salto tomado. Para ello, suponed que en la etapa ID se calcula la dirección efectiva del salto y en la etapa EX se resuelve la condición. Indicar los bloqueos que se producen y calcular el tiempo necesario para su ejecución suponiendo un reloj de 200Mhz b) Si se utilizaran todos los desvíos de datos necesarios, qué aceleración se conseguiría respecto a la máquina del aparado a? Nota: Justificar cualquier decisión tomada
8 Solución: a) Primera iteración: ADDI R3,R2,#400 IF ID EX LOOP: LW R1,0(R2) IF ID EX ADDI R1,R1,#1 IF - - ID EX SW 0(R2),R1 IF - - ID EX ADDI R2,R2,#4 IF ID EX SUB R4,R3,R2 IF - - ID EX (*) BNEZ R4,LOOP IF ID EX M LOOP: LW R1,0(R2) IF ID (*) Se supone que en el segundo medio ciclo de ID no puede calcularse la dirección efectiva Iteración n: LOOP: LW R1,0(R2) IF ID EX ADDI R1,R1,#1 IF - - ID EX SW 0(R2),R1 IF - - ID EX ADDI R2,R2,#4 IF ID EX SUB R4,R3,R2 IF - - ID EX BNEZ R4,LOOP IF ID EX M LOOP: LW R1,0(R2) IF ID Última iteración: LOOP: LW R1,0(R2) IF ID EX ADDI R1,R1,#1 IF - - ID EX SW 0(R2),R1 IF - - ID EX ADDI R2,R2,#4 IF ID EX SUB R4,R3,R2 IF - - ID EX BNEZ R4,LOOP IF ID EX SUBI R2,R2,#400 IF IF (*) (*) La etapa IF debe repetirse ya que la apuesta ha sido por salto tomado y no se ha tomado ID EX Ta= (Ciclos_1 + 98*Ciclos_n + Ciclos_100) * Periodo de reloj = (17+98*16+23) * 5 ns = 1608 ns b) El único bloqueo de datos que no se evitaría es el que se da entre las instrucciones segunda y tercera. Por tanto: Tb=(Ciclos_1 + 98*Ciclos_n + Ciclos_100) * Periodo de reloj = (8+98*7+14) * 5 ns = 708 ns a=ta/tb=1608/708=2.27
Arquitectura de Computadores Problemas (hoja 4). Curso
Arquitectura de Computadores Problemas (hoja 4). Curso 2006-07 1. Sea un computador superescalar similar a la versión Tomasulo del DLX capaz de lanzar a ejecución dos instrucciones independientes por ciclo
Más detallesArquitectura de Computadores Problemas (hoja 2). Curso
Arquitectura de Computadores Problemas (hoja 2). Curso 2006-07 1. El siguiente fragmento de código se ejecuta en un DLX con segmentación: SUB R1,R2,R3 ADD R4,R5,R6 SUB R5,R4,R8 ADD R7,R2,R3 ADD R9,R7,R3
Más detallesEstrategias de predicción dinámicas.
Estrategias de predicción dinámicas. Las técnicas que vamos a ver ahora para predicción de saltos se basan en información conocida sólo en tiempo de ejecución. Dos estructuras son necesarias para realizar
Más detallesint vector[100]; // en principio vector tiene al menos // cien elementos aunque pueda tener más... for (i=0; i<100; i++) vector[i] = vector[i] + 1;
ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERIA TECNICA EN INFORMATICA DE SISTEMAS. BOLETÍN DE EJERCICIOS DE Introducción al paralelismo. Curso 04/05 (SOLUCIONES) 1. Inicialmente R3 = R2 + 400. como
Más detallesARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados
Departament d Informàtica Sistemes i Computadors ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados SUGERENCIAS PARA LA RESOLUCIÓN DE LOS PROBLEMAS La ruta datos propuesta en todos
Más detallesOBJETIVOS ALGUNAS CONSIDERACIONES SOBRE WINDLX
Arquitectura de Sistemas Paralelos 3 er curso de Ingeniería Técnica en Informática de Sistemas Práctica: Procesador segmentado DLX. Técnicas de optimización Curso 2005/2006 OBJETIVOS En esta práctica se
Más detallesEjercicios de Paralelismo a Nivel de Instrucción
Ejercicios de Paralelismo a Nivel de Instrucción J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato Arquitectura de Computadores Grupo
Más detallesUniversidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1
Arquitectura I Sistema de memoria 1 1. En un espacio de direcciones de 64 Kbytes deben colocarse los s de memoria que se indican. Suponer que el direccionamiento de la memoria se hace al byte. Dibujar
Más detallesDepartamento de Automática
Departamento de Automática Tema 3 Paralelismo a nivel de instrucción (I) Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011 Tema 3. Paralelismo a Nivel de Instrucción I Planificación
Más detallesArquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos
Universidad del País Vasco Facultad de Informática Departamento de Arquitectura y Tecnología de Computadores Arquitectura de Computadores I Sistema de memoria 3 (Solución): Segmentación + Bancos En un
Más detalles3. 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 detallesTema 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 detalles5. PREDICCIÓN DINÁMICA DE SALTOS
5. PREDICCIÓN DINÁMICA DE SALTOS 1 PREDICCIÓN DINÁMICA DE SALTOS 1. Introducción 2. Buffer de Predicción de Saltos (BPB) 3. Buffer de Destinos de Saltos (BTB) 4. Predictores Globales 5. Predictores Adaptativos
Más detallesTEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION
SEGMENTACION SEGMENTACION SEGMENTACION I I I I I 1 2 3 4 5 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB SEGMENTACION INTRODUCIR NUEVA INSTRUCCIÓN CADA CICLO 1 CICLO,
Más detallesParalelismo al nivel de instrucciones
Paralelismo al nivel de instrucciones Arquitectura de Computadoras M. C. Felipe Santiago Espinosa Mayo de 2017 Qué es la segmentación o pipelining? O Técnica para la generación de paralelismo en microprocesadores.
Más detallesDiseño de un computador sencillo. Ejercicios
Escola Politècnica Superior d Enginyeria de Vilanova I la Geltrú Diseño de un computador sencillo. Ejercicios Sergio Sánchez Xavier Masip Departament d Arquitectura de Computadors 1. Dado el siguiente
Más detallesCOMPUTADORES SEGMENTADOS (DLX)
DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica
Más detallesARQUITECTURA DE COMPUTADORES
Escuela Universitaria de Informática Ingeniería de Computadores ARQUITECTURA DE COMPUTADORES PRÁCTICA Nº 3 DESENROLLADO DE BUCLES INTRODUCCIÓN Este documento contiene el enunciado de la práctica de desenrollado
Más detallesAutor: Longinos Recuero Bustos
Actividad 1.1 Autor: Longinos Recuero Bustos Suponiendo que se aplica una mejora a una máquina de tal forma que el rendimiento es 20 veces superior al que tenía y considerando que la mejora únicamente
Más detallesTutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción
Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción
Más detallesPráctica 4. DESENROLLADO DE BUCLES.
Práctica 4. DESENROLLADO DE BUCLES. Objetivos. Aplicar la técnica del desenrollado de bucles para extraer paralelismo a los programas y aplicar la técnica de reorganización de código para ver cómo mejora
Más detallesTema 10. Introducción a la op5mización de código
Tema 10. Introducción a la op5mización de código Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO
Más detallesARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 3.
ARQUIECURA DE SISEMAS PARALELOS I. 4º INGENIERÍA INFORMÁICA. PRÁCICA 3. BLOQUEOS DE COROL, DESENROLLADO DE BUCLES Y PREDICCIÓN DINÁMICA DE SALOS. OBJEIVOS. En esta práctica se trata de estudiar teóricamente,
Más detallesQué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.
Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones. Aprovecha el paralelismo entre instrucciones en una corriente secuencial de instrucciones.
Más detallesEjercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique
Más detalles2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES
2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2.1. Completa tus conocimientos del MIPS64 (una versión de MIPS). Debes aprender qué registros tiene, tipos de
Más detallesMultiplicación de matrices con DLX
Multiplicación de matrices con DLX Universidad de Salamanca Depto. Informática y Automática Arquitectura e Ingeniería de computadores Trabajo presentado por: Sergio Garrido Chamorro Santiago González Pérez
Más detallesEjercicios Jerarquía de Memoria
Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria caché CPU cache Memoria principal 2. Memoria
Más detalles2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES
2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES 2.1. Completa tus conocimientos del MIPS64 (una versión de MIPS). Debes aprender qué registros tiene, tipos de
Más detallesArquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012
Apellidos Nombre Grupo: Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012 Instrucciones.- Cada pregunta consta de cinco afirmaciones, y cada una de las afirmaciones puede ser cierta
Más detallesPrá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 detallesEjercicios del Tema 3. Fundamentos de la programación en ensamblador
Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa
Más detallesProcesadores segmentados. El DLX.
Procesadores segmentados. El DLX. Curso 2011-2012 Características de las Arquitecturas Tipos de Arquitectura Organización de la Memoria Direccionamiento de Memoria Operaciones en el Repertorio de Instrucciones
Más detallesResolución de los Ejercicios de la Hoja 4
Resolución de los Ejercicios de la Hoja 4 José Miguel Montañana Aliaga. Fernando Castro Rodríguez. Francisco Tirado Fernández. Dpto. de Arquitectura de Computadores y Automática Facultad de Informática.
Más detallesTema 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 detallesArquitectura 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 detallesTEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM
TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE 3.. CONCEPTOS FUNDAMENTALES 3., 3.4 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. 3.3. PLANIFICACIÓN DINÁMICA (Algoritmo Tomasulo).
Más detallesCICLOS DEL PROCESADOR
UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del
Más detallesJerarquía de memoria y memoria caché Ejercicios resueltos
Jerarquía de memoria y memoria caché Ejercicios resueltos Ejercicio 1. Sea un computador de 32 bits con una memoria caché de 256 KB, líneas de 64 bytes y un tiempo de acceso de 5 ns. La caché es asociativa
Más detallesLa Unidad de Control y el Camino de Datos
Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 1 2 3 Contenido Veremos el diseño completo de un subconjunto
Más detallesArquitectura 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 detallesTema 7: Procesadores superescalares
Tema 7: Procesadores superescalares Arquitectura de Computadores y Sistemas Operativos I 4º Curso Plan 96 Escuela Técnica Superior Ingenieros Telecomunicaciones DISCA Tema 7: Procesadores superescalares
Más detallesEjercicios de Arquitectura de Computadoras
Ejercicios Arquitectura Computadoras José Garzía 9 En este tipo ejercicios bemos tener siempre presentes estas tres ecuaciones: MP ( en Memoria Principal ) Cantidad en la Memoria Principal por Cantidad
Más detallesIntroducció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 detallesTema 5. Segmentación: conceptos básicos
Tema 5. Segmentación: conceptos básicos Organización de Computadores LUIS ENRIQUE MORENO LORENTE RAÚL PÉRULA MARTÍNEZ ALBERTO BRUNETE GONZALEZ DOMINGO MIGUEL GUINEA GARCIA ALEGRE CESAR AUGUSTO ARISMENDI
Más detallesARQUITECTURA DE COMPUTADORES. Práctica 8
ARQUITECTURA DE COMPUTADORES Práctica 8 Procesadores Segmentados: Introducción al simulador DLXIDE Evaluación de las prestaciones de la segmentación en el DLX Práctica 8: Procesadores Segmentados 1 de
Más detallesLos números naturales y enteros en el 80X86 y en LAN
Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales
Más detallesIngeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-2011. 6.1 Introducción a la segmentación de Instrucciones.
SEGMENTACIÓN 6.1 Introducción a la segmentación de Instrucciones. La segmentación o pipeline es una técnica de realización de procesadores por la cual se solapa la ejecución de las instrucciones. Hoy en
Más detallesRELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4)
RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4) 1) Se ha escrito el programa adjunto en lenguaje ensamblador del microprocesador 8085. Sabiendo que se encuentra almacenado a partir de la posición 2000H
Más detallesARQUITECTURA VON NEUMANN
ARQUITECTURA VO EUMA Computador bus de datos bus de direcciones bus de control Usuario y aplicaciones Lenguajes de alto nivel Sistema operativo Unidad Central de Proceso Memoria principal Unidad de Entrada
Más detallesFUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.
FUNDAMENTOS DE COMPUTADORES 18 de junio de 2014. Examen parcial del 2º cuatrimestre. Nombre DNI Apellidos Grupo Ejercicio 1 (2.5 puntos) Para el computador MIPS estudiado en clase, responder a las siguientes
Más detallesFig Riesgos por dependencias de datos.
5.4 Riesgos por dependencia de datos Hasta el momento se han considerado secuencias de código en las que no hay dependencias de datos, en esos casos la implementación mostrada en la figura 5.23 trabaja
Más detallesEjercicios del tema 4. El procesador
jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes
Más detallesArquitectura de Computadores II Clase #5
Arquitectura de Computadores II Clase #5 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Algunas ideas para mejorar el rendimiento Obvio: incrementar la frecuencia
Más detallesIngeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11
6.3.3 Riesgo de Control. Los riesgos por control en DLX son menos frecuentes que los riesgos por dependencia de datos, pero al no haber una solución tan buena como el adelantamiento de datos, se convierten
Más detallesUNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III. SIMULADOR DLX (jbz)
UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION INGENIERIA EN COMPUTACION ARQUITECTURA DE MAQUINAS III SIMULADOR DLX (jbz) Integrantes: Denis José Torres Guadamuz 2001 10500
Más detalles1.2. Implementación de Procesadores Superescalares
1.2. Implementación de Procesadores Superescalares Técnicas dinámicas: Complejidad alta desde el p. de v. de estructura o arquitectura Aquí las instrucciones son las normales o clásicas : compatibilidad
Más detalles#define MAX 1024 void escala_vect (float A[MAX], float B[MAX], float k) { int i; for (i=0; i < MAX; i++) B[i]=k*A[i]; }
PROBLEMA 1 Memoria Cache (10 puntos) Supongamos un sistema con un procesador que lanza direcciones de 32 bits. Dispone de dos caches, una para instrucciones y otra para datos, de 8 KBytes cada una. La
Más detalles6. 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 detallesDpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1
SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 5. PROCESADORES SUPERESCALARES: PLANIFICACIÓN DINÁMICA. OBJETIVOS. En esta práctica se trata de estudiar, por un lado, el aumento de prestaciones que
Más detallesPlataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura
Más detallesConceptos de Arquitectura de Computadoras Curso 2015
PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.
Más detallesPipelining o Segmentación de Instrucciones
Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través
Más detallesArquitectura de Computadores. Resumen para Certamen 2 Por Franco Zuccar
Arquitectura de Computadores Resumen para Certamen 2 Por Franco Zuccar Componentes básicos Compuertas logicas (AND, OR, NOT, XOR, NAND y NOR) Flip-Flop s (SR, JK, D y T) Los circuitos combinacionales se
Más detallesPRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones
UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN UNIDAD DOCENTE DE REDES, ARQUITECTURA Y SISTEMAS ORGANIZACIÓN Y ESTRUCTURA DEL COMPUTADOR I PRÁCTICA # 2 1. Escriba programas
Más detallesMemoria principal e Interconexión
Memoria Principal e Interconexión Organización de computadoras Universidad Nacional de Quilmes http:// Arquitectura de Von Neumann Memoria principal Unidad Aritmético- Logica (ALU) Unidad de Control de
Más detallesARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERÍA TECNICA EN INFORMÁTICA DE SISTEMAS. PRÁCTICA 6 (curso 03/04) SEGMENTACION EN EL PROCESADOR DLX
ARQUITECTURA DE SISTEMAS PARALELOS. 3º INGENIERÍA TECNICA EN INFORMÁTICA DE SISTEMAS. PRÁCTICA 6 (curso 03/04) SEGMENTACION EN EL PROCESADOR DLX OBJETIVOS. En esta práctica manejaremos un simulador (WinDLX,
Más detallesEstructura de Computadores
Estructura de Computadores Tema 5 Jerarquía de memoria Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Tipos de memoria
Más detallesParalelismo en monoprocesadores. Procesadores VLIW
Paralelismo en morocesadores Procesadores VLIW Profesor: Mag. Marcelo Tosini Cátedra: Arquitectura de Computadoras y técnicas Digitales Carrera: Ingeniería de Sistemas Ciclo: 4º año Arquitectura VLIW básica
Más detallesArquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA
Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de
Más detalles5 - Lenguaje Ensamblador
PROGRAMACIÓN EN ENSAMBLADOR 62 Fuente.asm,.s51,... Fases del Ensamblado Ensamblado Objeto.obj,.r03 Objeto Enlazado Ejecutable.hex,.bin Librerías Eprom Simulador Emulador Monitor PROGRAMACIÓN EN ENSAMBLADOR
Más detallesDepartamento de Automática
Departamento de Automática Tema 2 Estructuras segmentadas Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011 Tema 2. Estructuras segmentadas Noción de segmentación Rendimiento.
Más detallesUNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES
Para la realización del presente examen se dispondrá de 15 minutos. NO se podrán utilizar libros, apuntes ni calculadoras de Ejercicio 1 Los siguientes números se encuentran representados en complemento
Más detallesEstructura de Computadores
Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un
Más detallesMICROPROCESADOR. Multiciclo
MICROPROCESADOR Multiciclo Ejemplo Tiempos de operación. Unidades de memoria: 10 ns. Alu y sumadores: 10 ns Archivo de registros (lectura y escritura): 5 ns. Suponiendo que los multiplexores, unidad de
Más detallesEstructura de Computadores II
Estructura de Computadores II Folleto Nº 1 SEGMENTACIÓN Jesús Ruiz M. Procesador U de Datos S1+S2 S1&S2 S1-S2 S1 S2 Control Bus S1 Bus S2 Bus Dest S1^S2 S1>>S2 S1a S2 A S1 S2 L 0 1 U A Registros
Más detallesProcesadores superescalares. Introducción
Procesadores superescalares Introducción Introducción El término superescalar (superscalar) fue acuñado a fines de los 80s. Todas las CPUs modernas son superescalares. Es un desarrollo de la arquitectura
Más detallesArquitectura de Computadores I. Sistema de memoria 2 (Solución): Esquemas de direccionamiento
Universidad del Páis Vasco Facultad de Informática Departamento de Arquitectura y Tecnología de Computadores Arquitectura de Computadores I Sistema de memoria 2 (Solución): Esquemas de direccionamiento
Más detallesTrabajo 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 detallesPráctica 5 - Memoria
Práctica 5 - Memoria Organización del Computador 1 Primer Cuatrimestre 2011 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
Más detallesAspectos avanzados de arquitectura de computadoras Pipeline. Facultad de Ingeniería - Universidad de la República Curso 2017
Aspectos avanzados de arquitectura de computadoras Pipeline Facultad de Ingeniería - Universidad de la República Curso 2017 Objetivo Mejorar el rendimiento Incrementar frecuencia de reloj? Ancho de los
Más detallesGLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:
Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda
Más detallesPRACTICA 2 Ejercicio 2
PRACTICA 2 Ejercicio 2 Simulación de Procesadores con Ejecución en Orden DESCRIPCIÓN GENERAL En esta práctica se utilizará el simulador KScalar y su interfaz gráfica con el objeto de estudiar el funcionamiento
Más detallesISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones
ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad
Más detallesInstrucciones del microprocesador
Instrucciones del microprocesador Formato de las Instrucciones Las líneas de instrucciones se integran de 4 campos. [Identificador]: Se utiliza par etiquetar a las intrucciones donde se realizara el salto,nombre
Más detallesBus de direcciones. Bus de datos
1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.
Más detallesTEMA 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 detalles2EMHWLYRV 5HIHUHQFLDV
7HPD6HJPHQWDFLyQ,,,QWURGXFFLyQ DORV6XSHUHVFDODUHV 2EMHWLYRV 5HIHUHQFLDV $SURYHFKDPLHQWRGHXQDDUTXLWHFWXUDVHJPHQWDGD 3ODQLILFDFLyQGLQiPLFD 3UHGLFFLyQGLQiPLFDGHVDOWRV 5HQRPEUDGRGHUHJLVWURV 3UHGLFDFLyQ 3URFHVDGRUHV6XSHUHVFDODUHV
Más detallesExpresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz
Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.
Más detalles25 de junio de /1 APELLIDOS, NOMBRE:
25 de junio de 2001 1/1 APELLIDOS, NOMBRE: CUESTIONES (2,5 puntos) 1.- A partir de un sumador binario de 16 bits en exceso 2 15, diseñar un circuito que calcule la suma de un número de 16 bits representado
Más detallesArquitectura de Computadores
Arquitectura de Computadores TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación Curso 2012-2013 Contenidos Introducción: ILP Técnicas SW: Compilador Planificación dinámica. Algoritmo
Más detallesArquitectura de Computadores. TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación
Arquitectura de Computadores TEMA 2 ILP, Panificación dinámica, Predicción de saltos, Especulación Curso 2015-2016 Contenidos Introducción: ILP Técnicas SW: Compilador Planificación dinámica. Algoritmo
Más detallesTutorí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 detallesExamen de teoría (5 puntos)
Bien: Mal: No contestadas: Examen de teoría (5 puntos) El examen constará de dos partes: 1ª parte: Test, con una puntuación de 5 puntos y 30 minutos de tiempo 2ª parte: Ejercicios prácticos, con una puntuación
Más detallesUnidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño
Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita
Más detallesOrganización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico
Organización de computadoras Clase 4 Universidad Nacional de Quilmes Lic. Martínez Federico Memoria: Organización Lectura Escritura Direcciones Qué pasó? Qué pasó? Memoria: Organización Lectura Escritura
Más detallesEjercicios del tema 5. Jerarquía de de Memoria
Ejercicios del tema 5. Jerarquía de de Memoria Ejercicio 1. Considere un computador de 32 bits con una caché de 64 KB asociativa por conjuntos de 4 vías y un tiempo de acceso de 4 ns. El tamaño de la línea
Más detallesTEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE
TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE 3.1. CONCEPTOS FUNDAMENTALES 3.2, 3.4 PLANIFICACIÓN ESTÁTICA. DESENROLLADO DE BUCLES. 3.3. PLANIFICACIÓN DINÁMICA (Algoritmo Tomasulo).
Más detallesRelación de Problemas I
Relación de Problemas I 352) $1'5e6 52/'È1 $5$1'$ 1. Realizar el cálculo del tiempo que transcurre durante la ejecución del bloque de instrucciones sombreado, en función del contenido de los registros
Más detallesPlataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión 2 Diego. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice 1. Segmentación
Más detalles