ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS.

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

Download "ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS."

Transcripción

1 ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 4. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. 1. OBJETIVOS. En esta práctica vamos a estudiar una técnica de scheduling dinámico (gestión, reordenamiento o planificación de instrucciones), propuesta originalmente en 1967, para procesadores distribuidos y del cual hoy día se usan diversas variantes en la mayoría de los microprocesadores avanzados: el algoritmo de Tomasulo. Se obtendrán las prestaciones para la ejecución de un pequeño bucle. Se manejará un simulador (DLXview, de libre distribución) del procesador didáctico encadenado DLX, que aparte de la cadena básica del DLX, simula muy fielmente dos algoritmos de scheduling dinámico (el del marcador o "scoreboard" y el de Tomasulo). 2. PREPARACIÓN. Este simulador del procesador DLX, tiene algunas diferencias con el WINDLX usado hasta ahora: Tiene tres modos posibles de encadenar instrucciones, que pueden elegirse en la configuración: 1. Basic Pipeline (cadena básica, sin scheduling dinámico pero con todos los bypasses). Es similar a la del WINDLX, mostrando el detalle electrónico del flujo de datos de la unidad de datos entera, aunque no informa en el cronograma de la causa de un bloqueo. En la cadena básica, al ser un simulador orientado a instrucciones FP, DLXview permite que existan varias instrucciones en las fases MEM y WB, es decir supone que la unidad de control soporta dos fases MEM y que hay un puerto de escritura para el fichero de registros entero y otro para el de flotantes. Cuidado! En este modo el simulador comete algunos errores en el cronograma de instrucciones que acceden a memoria. Por ese motivo es preferible usar WINDLX para la cadena básica. 2. Marcador centralizado o ScoreBoard (scheduling dinámico). No lo vamos a usar. 3. Tomasulo (scheduling dinámico). Se explica a continuación. Otras peculiaridades a tener en cuenta de este simulador son: No muestra en ninguna ventana el contenido de los registros ni de la memoria, aunque esté simulando perfectamente sus valores. Para validar los resultados de los programas que escriba el alumno debe utilizar los comandos en línea de la shell donde se invocó al DLXview (comandos get y put que se explican en la sección de "realización de la práctica"). Aunque algunas directivas varíen, las que se necesitan para programas simples son idénticas al WINDLX, y los programas de uno sirven para el otro. Todas las instrucciones mult y div requieren que sus operandos sean registros FP como está definido en el DLX original. Por tanto, si se quisiera hacer un producto entero, habría que mover los datos de los registros enteros a los registros FP (instrucciones movi2fp), y después de realizado el movimiento contrario para poner el resultado en un registro entero (instrucciones movfp2i). DLXview utiliza siempre saltos condicionales del tipo retrasado con un hueco de una sola instrucción (aunque el mnemónico para las instrucciones de ramificación sea beqz, bnez, deberían en realidad llevar la r de retrasado o la d de delayed delante, o sea ser rbnez o dbeqz). Esto tiene la consecuencia inmediata de que la instrucción tras el salto del bucle siempre se ejecuta (por tanto, no puede ser un trap 0, ya que finalizaría la simulación, y en el ejemplo se ha puesto otra instrucción). Además, el simulador trabaja con un supuesto sistema de predicción, que siempre acierta! (el simulador es capaz de predecir con 100% de acierto los saltos, ya que conoce a priori los resultados de las comparaciones, o sea hace trampa ). Las unidades funcionales (U.F.) del DLXview son configurables; en esta práctica vamos a trabajar con 4 U.F. separadas, todas segmentadas (es decir, pueden soportar un encadenamiento de 1 instrucción por ciclo). La duración que le daremos a las U.F. de F.P. será de 3 ciclos para MULT, 14 para DIV y 2 para ADDFP, al igual que las definidas en el libro de Hennessy y Patterson. Algoritmo de Tomasulo. El algoritmo de Tomasulo es idéntico al del libro de Hennessy-Patterson. Algunas aclaraciones se hacen a continuación: La búsqueda de la instrucción (IF) no se muestra en el simulador. Se le dota a las unidades funcionales (como se ve en la Fig. 1) de varias R.S. para emitir instrucciones enteras, para las de F.P. MULT, para las F.P. ADD, y además de R.S. (o búfferes de load y store) para los accesos a memoria. El número de R.S. es configurable. Las instrucciones NOP ocupan una estación de reserva (R.S.) entera y pueden contribuir a bloquear la máquina si se agotan las R. S. enteras. El bus de escritura CDB es único (existirán bloqueos de escritura al no poder realizar dos fases WB a la vez).

2 El nombre de las etiquetas de los registros coincide con el de la R.S. que ocupa. Por ejemplo en la Fig. 1, el buffer de Store está esperando por el registro F6, que en realidad es la etiqueta Add1, o sea el registro de destino de la primera R.S. de la U.F. de ADD. Con respecto a los esquemáticos y cronogramas del simulador, éstos se muestran en la siguiente Fig. 1 y hay que tener en cuenta lo que sigue. COLOR VERDE COLOR ROJO Fig. 1: Ventana principal del Algoritmo de Tomasulo La parte superior es el esquema tradicional del algoritmo de Tomasulo. En la parte inferior izquierda de tal esquemático (diagrama Instruction status), se observa la temporización de las instrucciones que se van ejecutando paso a paso (se muestran los ciclos en que se ha producido la IS, EX y WB de cada instrucción). También se muestra el ciclo actual (current cycle) de ejecución (el 12 grande en la Fig. 1). En cuanto una instrucción se emite en IS, ya se sabe cuándo se van a ejecutar el resto de sus fases E, W, es decir el simulador (o sistema real) analiza las dependencias con las instrucciones anteriores y calcula esta duración. Por ejemplo si existe una dependencia real, se puede calcular el ciclo en que deben leerse los operandos como es el caso de la sd 0x0(r2), f6, que necesita esperar hasta el ciclo 13 por el registro f6 escrito en el 14 en el bus común por la instrucción anterior. A partir de estos ciclos el alumno puede construir un cronograma de ejecución, donde se incluyan los bloqueos y puede descubrir la causa de los mismos, analizando las dependencias de datos. Recuérdese que al existir un algoritmo de planificación dinámica, pueden darse ciclos de espera, es decir aquellos que sólo afectan a cierta instrucción (que está a la espera de un recurso o dato) pero no a las futuras, no incrementando por tanto el CPI. Recuérdese que en una máquina encadenada sin algoritmo de planificación dinámica, todos los bloqueos eran totales, es decir, una burbuja que impedía que avanzaran las instrucciones siguientes e incrementaba el CPI forzosamente.

3 La línea roja gruesa indica la salida de datos al CDB (en la Fig. 1 desde la U.F. F.P. ADD), la azul la lectura de operandos del fichero de registros, y la verde la emisión de instrucciones hacia la U.F. correspondiente. También la instrucción sobre fondo negro es la recién emitida (IS), y la que está sobre fondo gris la que acaba de escribir sus resultados. La ventana de control de la simulación se llama DLX Visual Simulator (Fig. 2), y permitirá ejecutar el avance de un ciclo de reloj (botón next cycle), el avance de una instrucción (botón step forward), o el retroceso de ambas. También se pueden cambiar las configuraciones o ficheros de entrada del simulador con el botón reset. Fig. 2: Ventana de simulación del Algoritmo de Tomasulo Ejercicios de preparación. En la tabla de resultados se muestra la cabecera en ensamblador de un bucle (con directivas propias del DLXview). Por tanto debe realizar antes de acudir al laboratorio: Entender los bucles dados y las directivas. Notar que un bucle es claramente paralelizable y el otro no. Traducir a ensamblador de DLX (usando un único salto al final del bucle), los bucles en C dados en la tabla de resultados, usando la cabecera dada en la misma. En esta traducción utilizar el mínimo número de registros posibles, y no reordenar ni optimizar estáticamente. No realizar una reordenación estática ( a mano ) del código, eso ya se realizó en prácticas anteriores y en ésta se pretende precisamente el estudio contrario: que la planificación sea dinámica. Señalar con un círculo las zonas del bucle 1 donde más instrucciones del mismo tipo (se ejecutan en la misma unidad funcional) están cerca y por tanto pueden dar bloqueo por agotamiento de estaciones de reserva. Señalar con un círculo las instrucciones del bucle 2 que tienen dependencia de datos para iteraciones distintas. Escribir una fórmula matemática que exprese la salida de ambos bucles (suponiendo que el vector x[] siempre contendrá los números naturales). 3. REALIZACIÓN DE LA PRÁCTICA. Arrancar el PC con el sistema operativo LINUX. Crear un directorio debajo del home llamado gxx, donde xx es el número de grupo. ATENCIÓN: cada vez que transfiera con ftp ficheros de texto con programas fuente (extensión.s), asegúrese de que se transfieren en modo ascii. Abrir una shell (no abrirlo desde el icono de acceso directo); ejecutar el simulador: dlxview (en minúsculas y nunca en background). Entonces la shell donde se invocó se convierte en un prompt que acepta comandos del DLXview (como get y put y también del S.O.), que nos servirán para ver el contenido de los registros, de la memoria, etc. como se explica luego. Tras invocarlo se lanza la ventana principal del DLXview o ventana de control de la simulación (se llama DLX Visual Simulator, Fig. 2). TABLA DE ESPERAS Y BLOQUEOS. 1. En la primera simulación, usar el botón configure de la ventana DLX Visual Simulator, introducir la opción del modo Tomasulo. Vamos a dotarle inicialmente del máximo número de R.S. enteras, MULT, DIV y de ADDFP y del máximo número de bufferes de Load y de Store para evitar bloqueos estructurales por agotamiento de R.S. La latencia (duración en ciclos) será la mencionada antes (2 para ADDFP y 3 para

4 MULTFP y 14 para DIV; 1 para las enteras y Ld/St). Todo lo anterior se muestra en la siguiente Fig. 3. DLXview arrancará entonces una ventana como la Fig Si la ventana de simulación Tomasulo Algorithm on DLX (Fig. 1) fuera más grande que la resolución máxima de la pantalla, en Linux se trabajará con una ventana virtual mayor que la pantalla (de forma que al desplazar el puntero del ratón por los bordes de la pantalla física se verá el resto de la ventana virtual). 3. Cargar luego el fichero de código que se quiera con el botón Load. 4. Se recomienda empezar con ejemplos simples. Por ejemplo, cargar previamente unos sencillos programas llamados: war.s, waw.s, raw.s, que contienen una dependencia de cada tipo, y así ir familiarizándose con el simulador y el efecto de los bloqueos. 5. Para empezar la simulación usar los otros botones de la ventana de control. Se permite ejecutar el avance de un ciclo de reloj (botón next cycle), el avance de una instrucción (botón step forward), o el retroceso de ambas, o la ejecución completa (botón go). 6. Al ejecutar el primer paso, dlxview pedirá una dirección. Pulsar sobre el botón default (por defecto). 7. Rellenar entonces la tablita de bloqueos y esperas de la tabla de resultados. 8. Cuando se quiera cargar otro código u otra configuración deberá usarse el botón reset, el cual permite modificar el código, la configuración o ambas cosas (se aconseja no usar el botón configure para cambiar con posterioridad las configuraciones: el simulador se cuelga a veces; el botón configure sólo sirve para la primera vez que se arranca DLXview) Fig. 3: Ventana de configuración del Algoritmo de Tomasulo NOTA: La configuración para el DLXview también se puede escribir en un fichero (p.ej. fich_config) con los comandos que acepta éste, por ejemplo de la forma: set add_ful_pipe 1 ; indica que la U.F. ADDFP está segmentada set fp_add_latency 2 set mul_ful_pipe 1 set fp_mul_latency 3 set div_ful_pipe 1 set fp_div_latency 14 set pipeline_mode Tomasulo; Otros modos : BasicPipe o ScoreBoard set input_files {prac1.s} ; es el fichero de código Start Entonces se invoca al DLXview con: > dlxview f fich_config Volcado de los registros y de la memoria. Para comprobar que un código está bien escrito, hay que ver los resultados de los registros y de los vectores. Este paso es obligatorio para cualquier código nuevo que se escriba, porque de contrario el programa podría estar mal. Para ello, en la shell donde se invocó el DLXview (se había convertido en un prompt con la cabecera (dlxview) ), se dispone de los siguientes comandos: get registro muestra en hexadecimal el contenido de cualquier registro Rxx o Fxx get registro d muestra en decimal el contenido de cualquier registro Rxx o Fxx get registro B muestra en binario el contenido de cualquier registro Rxx o Fxx

5 fget registro fget registro d muestra en formato flotante simple precisión el contenido de cualquier registro muestra en formato flotante doble precisión el contenido de cualquier registro Si se cambia registro por una dirección de memoria (valor numérico o simbólico) muestra el contenido de esa dirección. Por ejemplo: get 0x1008 d muestra en decimal el contenido de la dirección 0x1008 fget arrayx+4 d muestra en formato flotante doble precisión el contenido de la dirección dada por arrayx+4 Para modificar el contenido de un registro o dirección es igual pero con el comando put y el valor. Por ej.: put registro valor coloca el valor en decimal (o hexadecimal si lleva 0x) en el registro Rxx o Fxx put direccion valor coloca el valor en decimal (o hexadecimal si lleva 0x) en la dirección. fput registro valor d coloca el valor flotante de doble precisión en el registro Fxx SIMULACIÓN BUCLE1. 9. Cargar el programa del bucle 1 y ejecutarlo totalmente una vez, para comprobar que los resultados (valores de y[]) son los que cabría esperar (usar lo explicado en el apartado de: Volcado de los registros y de la memoria.). Anotar los valores en la tabla de resultados. Recordar rellenar el hueco del salto con una instrucción. 10. Usar en primer lugar la configuración del apartado anterior (máximo número de R.S. enteras, etc.). Ejecutar paso a paso. En la tabla de resultados, anotar el CPI y dibujar el cronograma de las primeras instrucciones del bucle (incluyendo también la fase IF), indicando: - los bypasses por el CDB que se van produciendo. - Los conflictos por el uso del CDB (dos instrucciones que intentan usarlo en el mismo ciclo). - Idem para conflictos de alguna de las UF. - El número de R.S. de cada que se usan en cada ciclo (para este cálculo no considerar las instrucciones de cabecera previas al bucle). 11. Otras cuestiones para la tabla de resultados: - puede deducir cuál será el número máximo de búferes de almacenamiento al ejecutar todo el bucle? Conteste en la tabla de resultados. - puede deducir cuál será el número máximo de búferes de almacenamiento al ejecutar todo el bucle para una duración de la UF de división de n ciclos? Conteste en la tabla de resultados. - Anotar también el orden de ejecución en el tiempo (fase EX o equivalente) de las instrucciones. Si dos instrucciones empezaran su ejecución en el mismo ciclo, considerar como primera la que esté antes en la traza del programa. - Anotar cuál es el registro que toma más nombres diferentes y cuántos y cuáles son (gracias al renombrado dinámico de registros). 12. A continuación cambiar la configuración para que haya un único búfer de almacenamiento. En la tabla de resultados, anotar el número de ciclos de bloqueo en la primera, en la segunda iteración y en la tercera iteración. Extrapolar para calcular el CPI para el estacionario de infinitas iteraciones (evidentemente sin tener que ejecutarlas todas en el simulador). Explicar como ha calculado la extrapolación. SIMULACIÓN BUCLE Continuar con la misma configuración que antes. Cargar el programa del bucle 2 y ejecutarlo totalmente una vez, para comprobar que los resultados (valor de y[0]) son los que cabría esperar (usar lo explicado en el apartado de: VOLCADO DE LOS REGISTROS Y DE LA MEMORIA). Anotar el valor en la tabla de resultados. NOTA: Recordar rellenar el hueco del salto con una instrucción. 14. A continuación, ejecutar paso a paso. En la tabla de resultados, anotar el CPI de la primera iteración. 15. Anotar que instrucción impide que sea un bucle paralelizable. 16. Teniendo en cuenta eso, calcular el CPI de una iteración en el estacionario del bucle (tras muchas iteraciones y cuando las R.S. se empiezan a agotar). 17. Otras cuestiones para la tabla de resultados: puede deducir cuál será el CPI de una iteración en el estacionario para una duración de n ciclos de la UF de MULT? NOTAS: También puede ejecutarse el simulador en un PC con Windows que permita conexión al servidor (como murillo.eii.us.es, etc.), si se dispone de un emulador de ventanas X de UNIX (como X-Win32). Para abrir una sesión en el servidor en modo gráfico, ejecutar primero X-Win32 Utility y configurar las opciones de X-Win32 Utility para visualizar mejor el simulador así: Options, Windows Settings, Single (Single Settings Width:1280, Heigth:1024). Fonts, Path, Include MS-Fonts. De esa forma se emula una ventana mayor que la pantalla (la cual maximizada, dispondrá de las barras de scroll para moverse por toda ella). Ejecutar entonces X-Win32 y conectarse al servidor en XDMCP (probablemente el Xwin32 abre una de estas sesiones al arrancar). No hacer caso del posible mensaje de Unknown host. Si no diera tiempo a realizar alguno de los apartados se dispone de horarios de libre acceso en un Aula del CdC. También se estudiará la posibilidad de situar una tutoría especial en las aulas de ordenadores. El simulador DLXview también está en la página web del departamento: en la zona de descargas (es necesario disponer de versiones recientes de Tcl/Tk).

6 ASP1. 4º INGENIERÍA INFORMÁTICA. PRACTICA 5 PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. NUM GRUPO: ALUMNOS: BUCLE1 EN C double y[15], x[15]={1.0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}, constante1=1.0, constante2=2.0; int i; for (i=0; i<15; i++) y[i]= (x[i]- constante1)*x[i]/constante2; BUCLE2 EN C double y[15],x[15]={1.0,2,3,4,5,6,7,8,9,10,11,12,13,14,15}, constante1=1.0; int i; for (i=0; i<15; i++) constante1 = constante1 / x[i]; y[0]= constante1; CÓDIGO DLX.data 0x1000 constante1:.double 1.0 constante2:.double 2.0 arrayx:.double 1.0,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ;/* NUMEROS ENTEROS */ finalx:.space 4 ;/* esta variable solo sirve para apuntar a la direccion posterior al final de x.data 0x1100 arrayy:.double 1.0,2.0,4, 1.0,2.0,4, 1.0,2.0,4, 1.0,2.0,4, 1.0,2.0,4.text ; ********** EMPIEZA CODIGO ************ addi r1, r0, constante1 ld f0, 0(r1) addi r1, r0, constante2 ld f2, 0(r1) addi r2, r0, arrayy addi r1, r0, arrayx ; ******** EMPIEZA BUCLE 1 ************ bucle: ; estos son para que las instrucciones de cabecera no interfieran con el bucle ; ******** EMPIEZA BUCLE 2 ************ bucle: trap 0 Fórmula Matemática: trap 0 Fórmula Matemática:

7 TABLA DE BLOQUEOS Y ESPERAS Poner una cruz en la siguiente tabla, para los factores que influyan en el CPI y los que sólo produzcan un ciclo de espera de una instrucción (no bloqueando completamente la máquina), para el algoritmo de Tomasulo y la cadena básica: CPI cadena CPI Tomasulo C. Espera cadena C. Espera Tomasulo Dependencia RAW Dependencia WAW Dependencia WAR BUCLE 1 Resultado en y[]: Nº R.S. LD Nº R.S. ADDD Nº R.S. MULT Nº R.S. DIV Nº R.S. INT Nº R.S. ST CRONOGRAMA CON NUM MÁX DE R.S. CPI: Nº MÁXIMO BUFERES ST (para duración de UF DIV=14): Nº MÁXIMO BUFERES ST (para duración de UF DIV= n): Registro que toma más nombres diferentes: Cuáles son? Cuántos?: ORDEN DE EJECUCIÓN DE LAS INSTRUCCIONES DEL BUCLE único búfer de almacenamiento Nº ciclos bloqueo Posible CPI para infinitas iteraciones: Iteración primera Iteración segunda Iteración tercera Explicación: BUCLE 2 Resultado en y[0]: Instr que impide que sea bucle paralelizable: CPI de iteración en estacionario: CPI de iteración en estacionario para duración n de DIV: CPI de 1ª iteración:

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO.

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 5. PLANIFICACIÓN DINÁMICA: EL ALGORITMO DE TOMASULO. OBJETIVOS. En esta práctica vamos a estudiar una técnica de scheduling dinámico

Más detalles

Dpto. Arquitectura y Tecnología de Computadores SPD. Práctica 5. pág 1

Dpto. 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 detalles

Arquitectura de Computadores Problemas (hoja 4). Curso

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 detalles

OBJETIVOS ALGUNAS CONSIDERACIONES SOBRE WINDLX

OBJETIVOS 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 detalles

TEMA 3. PLANIFICACIÓN (SCHEDULING) DE INSTRUCCIONES Arquitectura de Sistemas Paralelos 1. pág 2. direcc MEM

TEMA 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 detalles

Arquitectura de Computadores Problemas (hoja 2). Curso

Arquitectura 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 detalles

Paralelismo al nivel de instrucciones

Paralelismo 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 detalles

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES

2. 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 detalles

Ejercicios de Paralelismo a Nivel de Instrucción

Ejercicios 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 detalles

UNIVERSIDAD 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) 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 detalles

ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados

ARQUITECTURA 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 detalles

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

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 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

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

2. SEGMENTACIÓN ENCAUZADA AVANZADA Y PARALELISMO DE INSTRUCCIONES: EJERCICIOS Y CUESTIONES

2. 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 detalles

Tutorí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 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 detalles

Arquitectura e Ingeniería de Computadores. Examen Parcial. 7/02/2012

Arquitectura 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 detalles

TEMA 3 PLANIFICACIÓN O REORDENAMIENTO (SCHEDULING) DE INSTRUCCIONES ÍNDICE

TEMA 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 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

Departamento de Automática

Departamento 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 detalles

1.2. Implementación de Procesadores Superescalares

1.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

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

ARQUITECTURA DE COMPUTADORES. Práctica 8

ARQUITECTURA 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 detalles

ARQUITECTURA 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 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 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

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

ARQUITECTURA DE SISTEMAS PARALELOS I. 4º INGENIERÍA INFORMÁTICA. PRÁCTICA 3.

ARQUITECTURA 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 detalles

int 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;

int 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 detalles

Tema 10. Introducción a la op5mización de código

Tema 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 detalles

Procesadores superescalares. Introducción

Procesadores 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 detalles

TEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION

TEMA 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 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

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1

TEMA 3. ILP BASADO EN PLANIFICACIÓN DINÁMICA Sistemas Paralelos y Distribuidos 3º GIC. pág 1 TEMA 3 (Segunda Parte) PARALELISMO A NIVEL DE INSTRUCCIONES (ILP) BASADO EN TÉCNICAS DINÁMICAS ÍNDICE 3.1. Técnicas de Planificación dinámica: Algoritmo del marcador, Implementación del Algoritmo de Tomasulo,

Más detalles

Guía de uso del programa AVR-Studio

Guía de uso del programa AVR-Studio Guía de uso del programa AVR-Studio El entorno de desarrollo AVR-STUDIO nos permite cargar, ensamblar y depurar los programas que escribimos en lenguaje ensamblador. Los pasos para crear un proyecto nuevo

Más detalles

IS09. Introducción a los Computadores Práctica 1. Introducción al computador básico

IS09. Introducción a los Computadores Práctica 1. Introducción al computador básico IS09. Introducción a los Computadores Práctica 1. Introducción al computador básico OBJETIVOS Los objetivos que el estudiante debe alcanzar al al de esta práctica se resumen en los siguientes puntos: 1.

Más detalles

Tema 7: Procesadores superescalares

Tema 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 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]; }

#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 detalles

Universidad Euskal Herriko del País Vasco Unibertsitatea Arquitectura de Computadores I Sistema de memoria 1

Universidad 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 detalles

Aspectos 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 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 detalles

Práctica 2 Procesadores vectoriales (I) 1. Práctica 2. Procesadores vectoriales (I)

Práctica 2 Procesadores vectoriales (I) 1. Práctica 2. Procesadores vectoriales (I) Práctica 2 Procesadores vectoriales (I) 1 Práctica 2 Procesadores vectoriales (I) 1 Introducción El estudiante se familiarizó en el curso de Arquitectura de Computadores con los procesadores segmentados

Más detalles

CAPÍTULO 2 PROCESADORES SUPERESCALARES

CAPÍTULO 2 PROCESADORES SUPERESCALARES CAPÍTULO 2 PROCESADORES SUPERESCALARES INTRODUCCIÓN Características de los procesadores superescalares Paralelismo Diversificación Dinamismo Arquitectura de un procesador superescalar genérico Características

Más detalles

Arquitectura de Computadores I. Sistema de memoria 3 (Solución): Segmentación + Bancos

Arquitectura 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 detalles

Explotación del paralelismo a nivel de instrucción

Explotación del paralelismo a nivel de instrucción Explotación del paralelismo a nivel de instrucción Arquitectura de Computadores J. Daniel García Sánchez (coordinador) David Expósito Singh Javier García Blas Óscar Pérez Alonso J. Manuel Pérez Lobato

Más detalles

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología

Más detalles

Tema 5. Segmentación: conceptos básicos

Tema 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 detalles

TEMA 3 PROCESADORES VECTORIALES

TEMA 3 PROCESADORES VECTORIALES TEMA 3 PROCESADORES VECTORIALES A T 5 1 1 8 A r q u i t e c t u r a e I n g e n i e r í a d e C o m p u t a d o r e s I J u a n A n t o n i o M a e s t r o PROCESADORES VECTORIALES V e n t a j a s d e

Más detalles

5 - Lenguaje Ensamblador

5 - 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 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

Procesadores segmentados. El DLX.

Procesadores 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 detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Exámenes Ingeniería Computadores II Tutor: Antonio Rivero Cuesta Exámenes TEMA 1 Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta Un procesador sin segmentación

Más detalles

Multiplicación de matrices con DLX

Multiplicació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 detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES 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 detalles

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje INDICE Prólogo XV Parte 1. Visual Basic 1 Capitulo 1. Qué es Visual Basic? 3 Introducción 3 Como crear una aplicación 5 Otras facilidades de Visual Basic 6 Un lenguaje de alto nivel 9 Menús 10 Colores

Más detalles

Arquitectura de Computadores (obligatoria)

Arquitectura de Computadores (obligatoria) Arquitectura de Computadores (obligatoria) Profesores responsables: Pau Micó Tormos (teoría y prácticas) Despacho: F4D1 Créditos: 6 (4.5 Teoría + 1.5 Prácticas) Semestre: 3A Número de grupos de aula: 1

Más detalles

INSTRUCCIONES PARA INICIAR FORTRAN90

INSTRUCCIONES PARA INICIAR FORTRAN90 FUNDAMENTOS de INFORMÁTICA para la INGENIERÍA E.T.S.I. Caminos, Canales y Puertos 2005-2006 INSTRUCCIONES PARA INICIAR FORTRAN90 En este documento se pretende explicar de forma detallada todos los pasos

Más detalles

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI. PREPARACIÓN

Más detalles

Técnicas de Programación

Técnicas de Programación Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia

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

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.)

Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Conceptos Fundamentales sobre UNIX Laboratorio 16.2.6 Comandos de Networking (Tiempo estimado: 45 min.) Objetivos: Desarrollar una comprensión de los comandos de networking de UNIX y TCP/IP Hacer ping

Más detalles

PREPARATORIA OFICIAL NO. 82 JOSÉ REVUELTAS. INFORMÁTICA & COMPUTACIÓN I Parte II UNIDAD III SISTEMA OPERATIVO GRAFICOS

PREPARATORIA OFICIAL NO. 82 JOSÉ REVUELTAS. INFORMÁTICA & COMPUTACIÓN I Parte II UNIDAD III SISTEMA OPERATIVO GRAFICOS GOBIERNO DEL ESTADO DE MÉXICO PREPARATORIA OFICIAL NO. 82 JOSÉ REVUELTAS INFORMÁTICA & COMPUTACIÓN I Parte II UNIDAD III SISTEMA OPERATIVO GRAFICOS SECTOR EDUCATIVO INDEEPENDIENTE NOVIEMBRE 2017 Índice

Más detalles

FUNDAMENTOS DE COMPUTADORES

FUNDAMENTOS DE COMPUTADORES FUNDAMENTOS DE COMPUTADORES CURSO ACADÉMICO: 2000 / 2001 TITULACIÓN: INGENIERO EN INFORMÁTICA CICLO: 1º CURSO: 1º CUATRIMESTRE: PRIMERO CARÁCTER: TRONCAL CRÉDITOS: 9 (6+3) PROFESOR: MANUEL E. ACACIO, JUAN

Más detalles

Planificación Dinámica - 1. Arquitectura de Computadores

Planificación Dinámica - 1. Arquitectura de Computadores Hasta ahora hemos visto que los procesadores en pipeline ejecutan varias instrucciones simultáneamente pero manteniendo el mismo orden del programa, es decir, dadas dos instrucciones i y j de un programa

Más detalles

1. Introducción al trabajo con el ordenador. Esto es un ordenador qué utilidad tiene? Cómo se pone en marcha? Cómo sé que se ha puesto en marcha?

1. Introducción al trabajo con el ordenador. Esto es un ordenador qué utilidad tiene? Cómo se pone en marcha? Cómo sé que se ha puesto en marcha? Capitulo 1 15/4/03 10:07 Página 13 1. Introducción al trabajo con el ordenador Esto es un ordenador qué utilidad tiene? El ordenador es una máquina electrónica capaz de resolver problemas aritméticos y

Más detalles

Manual de instalación de Demonio

Manual de instalación de Demonio Manual de instalación de Demonio REGTEL Documento Público Título del informtítulo del inform CONTROL DE VERSIONES Versión Fecha Autor Descripción / Cambios Relevantes 1.0 12/08/2015 Fermín Méndez Primera

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

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 3. PLANIFICACIÓN ESTÁTICA AVANZADA. TMS320C6713 OBJETIVOS. En esta práctica se trata de estudiar dos de las técnicas de planificación estática más importantes:

Más detalles

En la ventana de comandos se puede escribir la orden ipconfig y al pulsar INTRO se mostrarán los datos de configuración de la tarjeta de red de forma

En la ventana de comandos se puede escribir la orden ipconfig y al pulsar INTRO se mostrarán los datos de configuración de la tarjeta de red de forma Como conocer y configurar la dirección IP de un ordenador Al ejecutar el programa por primera vez será necesario indicarle la dirección IP o el nombre del servidor de la red o del equipo que tiene instalado

Más detalles

ARQUITECTURA DE COMPUTADORES

ARQUITECTURA 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 detalles

Introducción a Windows 98

Introducción a Windows 98 CCEEA - Introducción a la Computación Página 1 de 6 Introducción a Windows 98 Trabajaremos con Windows 98, el sistema operativo instalado en las computadoras del Laboratorio. Se basa en la idea del uso

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

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones

Arquitectura de Computadoras. Clase 4 Segmentación de Instrucciones Arquitectura de Computadoras Clase 4 Segmentación de Instrucciones Segmentación de cauce: Conceptos básicos La segmentación de cauce (pipelining) es una forma particularmente efectiva de organizar el hardware

Más detalles

WinDLXV. Manual de usuario

WinDLXV. Manual de usuario WinDLXV Manual de usuario Septiembre, 2005 Índice general Introducción 11 Usuarios de este manual........................ 11 Requisitos mínimos........................... 12 Instalación................................

Más detalles

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS A.- ASPECTOS FUNDAMENTALES DEL CÓDIGO ORIENTADO A OBJETOS MÓDULOS DE CÓDIGO: El código en Visual Basic se almacena en módulos. Hay tres tipos de módulos: de formulario,

Más detalles

Conexión al servidor guernika y manipulación de archivos DESDE FUERA DE LAS AULAS

Conexión al servidor guernika y manipulación de archivos DESDE FUERA DE LAS AULAS ESCUELA POLITÉCNICA SUPERIOR LABORATORIO DEL DEPARTAMENTO DE INFORMÁTICA Conexión al servidor guernika y manipulación de archivos DESDE FUERA DE LAS AULAS Laboratorio del Departamento de Informática Universidad

Más detalles

Bienvenido al módulo de formación sobre programación de DriveAP. Para ver en forma de texto las notas del presentador, haga clic en el botón Notas de

Bienvenido al módulo de formación sobre programación de DriveAP. Para ver en forma de texto las notas del presentador, haga clic en el botón Notas de Bienvenido al módulo de formación sobre programación de DriveAP. Para ver en forma de texto las notas del presentador, haga clic en el botón Notas de la esquina inferior derecha. 1 Tras completar este

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

ACTUALIZACION DEL FIRMWARE. DESCRIPCIÓN DEL PROCEDIMIENTO PARA LOS EQUIPOS PROLINK PREMIUM Y PRODIG-5 TV EXPLORER

ACTUALIZACION DEL FIRMWARE. DESCRIPCIÓN DEL PROCEDIMIENTO PARA LOS EQUIPOS PROLINK PREMIUM Y PRODIG-5 TV EXPLORER ACTUALIZACION DEL FIRMWARE. DESCRIPCIÓN DEL PROCEDIMIENTO PARA LOS EQUIPOS PROLINK PREMIUM Y PRODIG-5 TV EXPLORER 1.- EXIGENCIAS DE HARDWARE Y SOFTWARE a.- PC con Windows 98, 2000 o XP, Pentium 133 o superior,

Más detalles

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Apéndice de Windows

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Apéndice de Windows INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE MEDICINA Academia de Informática Médica Apéndice de Windows APÉNDICE I. Configuración de Windows A. Configuración del Ratón Para invertir la precedencia

Más detalles

Unidad Didáctica 1. Introducción al Ordenador. Temporalización: El desarrollo de esta unidad comprende tres sesiones.

Unidad Didáctica 1. Introducción al Ordenador. Temporalización: El desarrollo de esta unidad comprende tres sesiones. Unidad Didáctica 1. Introducción al Ordenador. Temporalización: El desarrollo de esta unidad comprende tres sesiones. Metodología: La metodología de esta unidad consiste en una explicación teórica del

Más detalles

Autor: Longinos Recuero Bustos

Autor: 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 detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;

Más detalles

Manual de instalación Inventario Dispositivo Móvil. ClassicGes 6

Manual de instalación Inventario Dispositivo Móvil. ClassicGes 6 Manual de instalación Inventario Dispositivo Móvil ClassicGes 6 Cómo instalar Inventario Dispositivo Móvil En este manual se van a indicar los pasos a llevar a cabo para utilizar el Inventario Dispositivo

Más detalles

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Dobles: Es el caso de la instrucción if-else (punto 1.2). 1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales

Más detalles

Fundamentos de Ordenadores. Depurar programas usando Nemiver

Fundamentos de Ordenadores. Depurar programas usando Nemiver Fundamentos de Ordenadores Depurar programas usando Nemiver Departamento de Arquitectura de Computadores Autor: Mario Macias. Fecha de elaboración: 16/10/2015 1 Manual básico Nemiver Nemiver es un sencillo

Más detalles

Práctica ENS:Ensamblar y depurar

Práctica ENS:Ensamblar y depurar Práctica ENS:Ensamblar y depurar 1. Objetivos Familiarizarse con el manejo básico de la herramienta µvision3 con programas escritos en lenguaje ensamblador. Depurar los programas escritos en lenguaje ensamblador

Más detalles

... Cómo empezar en WORD anfora CAPÍTULO 1. Introducción. Cómo entrar en WORD WORD 2000 Cómo empezar en WORD 2000

... Cómo empezar en WORD anfora CAPÍTULO 1. Introducción. Cómo entrar en WORD WORD 2000 Cómo empezar en WORD 2000 CAPÍTULO 1......... Introducción Cómo empezar en WORD 2000 En este Capítulo, con el que se inicia el manual, intentaremos explicar qué es WORD 2000 y para qué sirve. WORD 2000 es un programa de procesador

Más detalles

Introducción. Instalación

Introducción. Instalación Indice Tutorial de WinDLX... 1 Indice... 2 Introducción... 3 Instalación... 3 Un completo ejemplo... 4 Arranque y configuración de WinDLX... 4 Cargando los programas... 5 Simulación... 5 Ventana Pipeline...

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

Diferentes Perspectivas de un Ordenador

Diferentes Perspectivas de un Ordenador Arquitectura de Ordenadores Programación en ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Diferentes Perspectivas de un Ordenador INT-1

Más detalles

5. PREDICCIÓN DINÁMICA DE SALTOS

5. 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 detalles

Manual del usuario. Configuración de pantallas de bloqueo y fondos de escritorio corporativos

Manual del usuario. Configuración de pantallas de bloqueo y fondos de escritorio corporativos Manual del usuario Configuración de pantallas de bloqueo y fondos de escritorio corporativos Índice Índice 1. Introducción... 1 2. Configuración de la pantalla de bloqueo... 2 3. Configuración del fondo

Más detalles

GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES

GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES GUÍA DE APRENDIZAJE ARQUITECTURA DE COMPUTADORES GRADO EN INGENIERIA DE COMPUTADORES Datos Descriptivos CENTRO RESPONSABLE: E.U. DE INFORMATICA OTROS CENTROS IMPLICADOS: CICLO: Grado sin atribuciones MÓDULO:

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 del CPU. Organización del Computador 1 Verano 2016

Arquitectura del CPU. Organización del Computador 1 Verano 2016 Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales

Más detalles

INSTALACION DE ENEBOO EN LINUX CON POSTGRESQL

INSTALACION DE ENEBOO EN LINUX CON POSTGRESQL CREADO POR: miguelajsmaps@gmail.com en https://github.com/miguel- J/eneboo/wiki (https://github.com/miguel-j/eneboo/wiki) EDITADO POR: miguelajsmaps@gmail.com en https://github.com/miguel- J/eneboo/wiki

Más detalles

MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN AL ENTORNO WINDOWS INTRODUCCIÓN AL PAQUETE ESTADÍSTICO SPSS

MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN AL ENTORNO WINDOWS INTRODUCCIÓN AL PAQUETE ESTADÍSTICO SPSS Asignatura: ESTADÍSTICA EMPRESARIAL: UN ENFOQUE APLICADO Curso 2010-2011 2º Diplomatura en CIENCIAS EMPRESARIALES Profesores: Manuel García y Rafael Rivera MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN

Más detalles

Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE

Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE Manual de usuario de configuración de Navegadores para Sede Electrónica del SEPE V4.2 Octubre de 2015 Ver. 4.0 Página 1 de 40 C/ Condesa de Venadito 9 Índice 1. OBJETIVOS... 3 2. REQUISITOS GENERALES...

Más detalles

El botón inicio contiene los siguientes elementos:

El botón inicio contiene los siguientes elementos: TABLA DE CONTENIDO MICROSOFT WINDOWS... 2 1. EL ESCRITORIO... 2 2. BOTON INICIO:... 2 2.1 Apagar el sistema:... 2 2.2 Ejecutar:... 2 2.3 Ayuda:... 2 2.4 Buscar:... 3 2.5 Configuración:... 3 2.6 Documentos:...

Más detalles

Manual de Instrucciones Instalación y Uso

Manual de Instrucciones Instalación y Uso Manual de Instrucciones Instalación y Uso Índice 1. Introducción 2. Requerimientos mínimos 3. Modos de Acceso - Descarga 4. Instalación scorm - offline 5. Primeros pasos - Uso del simulador 6. Información

Más detalles

Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación. Laboratorio de Programación Uso del depurador en Dev-C++

Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación. Laboratorio de Programación Uso del depurador en Dev-C++ Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación Laboratorio de Programación Uso del depurador en Dev-C++ Abril 2004 David Bueno Vallejo Plan Introducción n a la depuración Preparación

Más detalles