Ingeniería Informática. Ampliación de Estructura de Computadores. Curso Introducción a la segmentación de Instrucciones.

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

Download "Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-2011. 6.1 Introducción a la segmentación de Instrucciones."

Transcripción

1 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 día es la técnica clave para la realización de CPU rápidas. La idea básica de la segmentación se puede extraer de una cadena de montaje de coches. Los coches no se montan uno a uno, si no que su construcción se divide en fases sucesivas y el montaje del coche se realiza tal como este va avanzando por estas fases. De esta forma cada fase está trabajando simultáneamente en la construcción de un coche diferente. De esta forma, la construcción de un coche cuesta el mismo tiempo que antes, pero ahora la frecuencia con que salen los coches construidos es mucho mayor (tantos como fases tenga su construcción). Cada uno de estas fases se denomina segmento o etapa de segmentación. Al igual que en los coches, la productividad de un computador va a depender del número de instrucciones que acaben por unidad de tiempo, y no de lo que le cueste a una instrucción individual. 6.2 Segmentación para DLX. Si queremos aplicar la técnica de la segmentación a la ejecución de instrucciones, deberemos dividir la ejecución de las mismas en una serie de etapas. Por ejemplo, en DLX la ejecución de una instrucción se divide en 5 etapas: IF: Lectura de instrucción. ID: Decodificación de Instrucción y lectura de registros. EXE: Ejecución de la instrucción. MEM: Acceso a memoria de datos. REG: Acceso a banco de registros. La realización de cada etapa de segmentación es un ciclo máquina. Esta duración está determinada por la duración de la etapa más lenta. Con frecuencia el ciclo máquina es un ciclo de reloj (a veces dos), aunque el reloj puede tener múltiples fases. El objetivo del diseñador de computadores es equilibrar correctamente el diseño de cada segmento para que todos tengan la misma duración. Si esto es así, entonces la duración de una instrucción será (si no hay atascos): Tiempo por instrucción en máquina no segmentada Número de etapas de la segmentación De forma ideal, el avance en rapidez del procesador por la segmentación se ve multiplicado por el número de etapas que dispongamos. Pero en la realidad no es exactamente así, las etapas no suelen estar perfectamente equilibradas y siempre surgen atascos en la ejecución de las instrucciones que hacen que no siempre se superponga su ejecución perfectamente (se suele obtener un 10% menos de rapidez de la prevista en el caso ideal). La segmentación es una técnica no visible al programador, que consigue una reducción en el tiempo de ejecución medio por instrucción. Esta técnica que explota el paralelismo entre instrucciones secuenciales.

2 La segmentación es una técnica de diseño de procesadores que se viene empleando desde la tercera generación de computadores. En la figura siguiente podemos ver como se han diseñado los procesadores en cada generación.

3 En las dos figuras siguientes se puede observar cómo funciona la segmentación cuando se ejecutan varias instrucciones sobre un procesador segmentado. La figura 1 es en el caso ideal, y la figura 2 en el caso real. Figura 1. Segmentación caso ideal. Figura 2. Segmentación caso real. Se introducen numerosos retardos en la ejecución de las instrucciones.

4 Ejemplo 1: Sea un procesador segmentado en 5 etapas con una duración de (50, 50, 60, 50, 50) nseg de duración para cada una de las etapas. Es decir, cuando ejecuta una instrucción de forma no segmentada, tarda 260 nseg en ejecutarla. Si este mismo procesador lo diseñamos de forma segmentada, deberemos añadir 5 nseg. a cada etapa debido al retardo de los biestables que almacenan la información entre etapas. Ver el esquema siguiente: La pregunta es, cuando ejecutamos N=10 instrucciones, qué aceleración y que eficiencia se consiguen? Aceleración T NoSegmenta do T Segmentado seg ins *( k * n ( n 1)) 260 *10 65 *(5 (10 1)) Eficiencia n ( k ( n 1)) (5 10 (10 1)) Aceleració nmaxima lim n Aceleración lim n seg ins *( k * n ( n 1)) ins seg Realizar los cálculos de la Aceleración y la Eficiencia para cuando procesamos N = 4 y N = 32 instrucciones. (Importante: Usar siempre las formulas de este ejemplo).

5 Ejemplo 2: En esta figura 6.3 del Tomo 2 de Estructura y diseño de Computadores (Ed. Reverté) Se puede observar cómo se realiza la ejecución de una instrucción de DLX de forma no segmentada. Se observa como al ejecutarse de forma segmentada, se necesita definir un único tiempo de segmento, por lo cual elegimos el segmento de mayor duración.

6 Antes de pasar a ver como definimos con detalle las operaciones a realizar en cada uno de los segmentos de ejecución segmentada de DLX, debemos recordar cuales son los tres formatos de instrucciones de que dispone. También necesitamos recordar la estructura del procesador DLX con ejecución monociclo, pues en esta estructura nos basaremos para definir el procesador segmentado.

7 Ahora, ya estamos preparados para empezar a diseñar nuestro procesador Segmentado. Lo primero que haremos será colocar los registros intermedios que nos permitirán almacenar datos y señales de control de cada una de las instrucciones que entran en el cauce segmentado. En la figura siguiente se muestra el esquema inicial del procesador DLX segmentado (ya lo complicaremos después).

8 Definición de Segmentación para DLX. Vamos a partir de un repertorio de instrucciones conocido como es el DLX, pero sin operaciones en coma flotante. La ejecución de todas sus instrucciones puede descomponerse en 5 pasos básicos, cada uno de los cuales tiene un duración de 1 o más ciclos de reloj. Veamos por partes cada paso: 1. IF-Paso de búsquea de instrucción: Se pasa el valor del Contador de Programa (PC) al Registro de Acceso a Memoria (MAR). Se lee de memoria la siguiente instrucción y se carga en el RI. MAR PC ; IR Mem[MAR 2. ID-Paso de búsqueda del registro/decodificación de instrucción. Se decodifica la instrucción leída y se accede a los registros indicados. Se incrementa el PC para que apunte a la siguiente instrucción. A Rsl ; B Rs2; PC PC+4 Como la posición de los registros fuente para DLX siempre es la misma, entonces estos valores pueden ser leídos a la vez que decodificamos la instrucción en curso. 3. EX-Paso de dirección efectiva /ejecución. La ALU podrá operar con los operandos del paso anterior para realizar una de estas tres funciones. i) Referencia a memoria: La ALU suma los operandos para formar la dirección efectiva y se carga en el MDR. MAR A+(IR 16 ) 16 ##IR ; MDR Rd ii) Instrucción ALU: La ALU realiza la instrucción especificada por el código de operación sobre los registros Rs1 y Rs2 o Rs1 y un valor inmediato. ALU-salida (A op B) ó (A op ((IR 16 ) 16 ##IR ) ) iii) Salto/bifurcación: La ALU suma el PC al valor inmediato de signo extendido (de 16 bits para saltos y 26 para bifurcaciones) y así calcula la dirección de salto. ALU-salida PC + ((IR 16 ) 16 ##IR ) ) ; cond (A op 0) Para saltos condicionales se examina un registro que ha sido leído en un paso anterior para saber si la dirección calculada se coloca en el PC. La arquitectura de carga/almacenamiento de DLX supone que el cálculo de una dirección efectiva y la ejecución de una instrucción en la ALU se pueden superponer, pues ninguna instrucción aritmética necesita calcular una dirección para acceder a un operando. 4. MEM-Paso de completar salto/acceso a memoria: las únicas instrucciones DLX activas en este paso son las de acceso a memoria y los saltos. i) Referencia a memoria: Accede a memoria para leer o escribir un dato. MDR Mem[MAR ó Mem[MAR MDR ii) Salto: El valor de PC es sustituido por la dirección de salto. if (cond) : PC ALU-salida 5. WB-Paso de postescritura (write-back): Escribe resultado en registro, tanto si proviene de memoria como de la ALU. Rd ALU-salida ó MDR

9 Como resultado de poder subdividir cada instrucción en 5 segmentos (todos de 1 ciclo de reloj), podemos leer una instrucción en cada ciclo de reloj. Y así, aunque la ejecución de cada instrucción requiera 5 ciclos de reloj, el resultado es que cada ciclo de reloj (si no pasa nada) finaliza una instrucción diferente. Recordar lo visto en la figura 1: El resultado más evidente es que la segmentación aumenta el número de instrucciones emitidas y finalizadas sobre una CPU por unidad de tiempo, pero sin reducir (antes al revés) la duración de ejecución de una instrucción. Por ello, cara al programador, sus programas se ejecutan más rápidos.

10 Diseño de la Unidad Segmentada. Camino de datos. Muestra, como ya sabemos de cursos anteriores, como funciona el procesador de DLX cuando está ejecutando una instrucción por ciclo (es decir, es un repaso de materia ya vista en primero, en EC I). Es un ejemplo de cómo se propagan los datos a través del procesador.

11 Ejercicio: Aunque es un repaso de lo visto en cursos anteriores, completar el siguiente esquema.

12 Control para la segmentación. La ejecución de instrucciones en un procesador segmentado requiere que en cada uno de los segmentos seamos capaces de almacenar toda la información de la instrucción que se está ejecutando en ese segmento. Por ejemplo, si ejecutamos una instrucción de salto, en el primer segmento leeremos el código de la instrucción e incrementaremos el PC almacenándolo en un registro NPC. Este valor puede que lo necesitemos en el ciclo de EXE, y si no se va trasladando de segmento a segmento, ocurrirá que al siguiente ciclo de reloj, al leer una nueva instrucción, borraremos este valor y ya no podrá ser utilizado después. Por este y otros motivos similares, en los registros intermedios del procesador segmentado para DLX, se almacena toda la información necesaria de la instrucción que se está ejecutando en ese segmento, y cuando pasamos al segmento siguiente, esta información si se va a utilizar en algún segmento posterior, se traslada también copiándose en los registros que hay entre segmentos. En la figura 6.19 observamos la forma que ha de tener el procesador segmentado para que la segmentación funciones correctamente.

13 Observar: Propagación del valor del NPC. Propagación del código del registro destino hasta último segmento. Propagación de resultado de la ALU: ALUOutput. Como se actualiza el valor del contador de programa, usando una puerta AND. Líneas de entrada del Banco de Registros. Líneas de entrada de Memoria de Datos. Una ALU para datos y otra para direcciones de saltos. Ahora todo junto. Se muestra tanto el camino de datos como el camino de control para la realización segmentada de instrucciones de DLX. (figura 6.30). Esta transparencia debe ser analizada con detalle.

14 6.3 Los riesgos de la segmentación. Todo lo visto hasta ahora está muy bien, pero no siempre se pueden superponer la ejecución de las instrucciones como se ha visto en los ejemplos anteriores. Hay situaciones llamadas riesgos ( hazards ) que lo impiden, y que se pueden clasificar en tres clases: Riesgos estructurales. Producidos por conflictos en la utilización del hardware. Impiden que dos instrucciones se solapen en determinados segmentos. Riesgos por dependencias de datos. Es cuando los datos que necesita una instrucción para ejecutarse son inicializados por instrucciones anteriores que aun no han finalizado. Riesgos de control. Suceden cuando hay un cambio brusco en el valor del PC producido por una salto u otras instrucciones. Cuando se detecta un riesgo, puede ser necesario detener la segmentación (no siempre). Pero detener el procesador en una máquina no segmentada es fácil, basta terminar la instrucción en curso. En una máquina segmentada hay varias instrucciones en curso, y por ello un detención supone, en la mayoría de los casos, que algunas de las instrucciones en curso deben ejecutarse hasta finalizar, otras se retardan y otras si pueden detenerse en un instante dado. Por lo general, cuando una instrucción se detiene, las instrucciones anteriores finalizan normalmente y las posteriores sufren un retardo en su ejecución. Durante el tiempo de retardo, no se leen más instrucciones. Vamos a pasar a estudiar en este apartado 1.5. los tres tipo de riesgos: estructurales, de dependencia de datos y los de Control, aunque en el temario estos últimos riesgos figuren como un apartado nuevo (el 1.6.). Riesgos estructurales. En una máquina segmentada deben de poderse solapar cualquier combinación de instrucciones. Si no es así, se dice que la máquina posee riesgos estructurales. Una máquina sin riesgos estructurales siempre tendrá un CPI más alto que si no los tuviera. Para evitar estos riesgos en muchos casos tenemos que duplicar recursos. Por ejemplo, si tenemos un único puerto de acceso a memoria, si una instrucción en un determinado segmento debe acceder a memoria para leer o escribir, en ese segmento no se podrá leer ninguna instrucción, por lo cual el inicio de una nueva instrucción se tendrá que retrasar un ciclo de reloj. En la figura siguiente se ilustra este caso, aunque se ve mejor en la transparencia de la hoja siguiente (Fig. 3.6 y 3.7). Ciclos de Reloj Instrucción Carga IF ID EX MEM WB Instrucción i+1 IF ID EX MEM WB Instrucción i+2 IF ID EX MEM WB Instrucción i+3 detención IF ID EX MEM WB Instrucción i+4 IF ID EX MEM Sin embargo hay máquinas que se diseñan con riegos estructurales, el motivo es sencillo: Para reducir el coste en la producción. Está claro que si un determinado riesgo estructural no se presenta muy a menudo, puede que no valga la pena evitarlo, y simplemente introducimos un retardo en el funcionamiento. En este caso, el riesgo es tan notorio por el elevado número de veces que ocurre que vale la pena realizar el procesador con dos puertos de acceso, uno para lectura de datos y otro para lectura de instrucciones.

15 También hay que destacar que aparecen dos tipos de riesgos más: El riesgo estructural que se introduce al acceder al banco de registros. El riesgo estructural que se produce cuando tenemos instrucciones cuya ejecución dura más de un ciclo de reloj. El primero en los riesgos se soluciona realizando un banco de registros de forma que el acceso de escritura y de lectura se realicen en un mismo ciclo de reloj, pero en flancos distintos. Además, es mejor que primero sea la escritura y luego la lectura, pues evitaremos un posible riesgo por dependencia de datos.

16 El segundo riesgo lo analizaremos con más detalle cuando introduzcamos las instrucciones multiciclo. Pero ahora vamos a realizar un pequeño estudio, considerando lo que ocurriría si todas las instrucciones tuviesen un ciclo de reloj en ejecución salvo las instrucciones de multiplicación y división que tienen 2 ciclos. Aquí se plantean varias alternativas que habrá que analizar: Duplicar la unidad de ejecución de la Mult/Div (Ex-M), o segmentarla. Separar (si se puede) las dos instrucciones de multiplicar. (Ins-Mult-Ins-Mult). A esto se le llama planificar el código. Se pide analizar estas dos opciones y decidir cuál es la más conveniente.

17 Caso 1: Segmentación Inicial. Caso 2: Duplicamos unidad aritmética de Mult/Div. Tenemos una burbuja o ciclo de espera en la ejecución de estas 4 instrucciones. Caso 3: No duplicamos unidad aritmética pero Si planificamos Código. Seguimos teniendo una burbuja o ciclo de espera en la ejecución de estas 4 instrucciones.

18 Riesgos por dependencia de datos. Los riesgos por dependencia de datos surgen cuando una instrucción escribe un resultado en un determinado registro (durante el último segmento) y alguna de las instrucciones siguientes hace uso del valor de este registro antes de que se produzca dicha escritura. Se ve mucho mejor con el ejemplo; sea las siguientes dos instrucciones: ADD R1, R2, R3 SUB R4, R1, R5 La instrucción SUB tiene como registro fuente R1, y la instrucción anterior ADD guarda el resultado de una suma en este mismo registro. Si ejecutásemos de forma segmentada estas dos instrucciones tendríamos: Ciclos de Reloj Instrucción ADD IF ID EX MEM WB_en_R1 SUB IF ID_leo_R1 EX MEM WB Si no introdujéramos un retardo entre estas dos instrucciones, la instrucción SUB manejaría un valor de R1 no correcto. Esto es inaceptable en un procesador. Ciclos de Reloj Instrucción ADD IF ID EX MEM WB_R1 nop nop SUB IF ID_R1 EX MEM WB El problema planteado aquí se resuelve con una sencilla técnica llamada según autores de la siguiente forma: Adelantamiento, forwarding, desvío, bypassing o cortocircuito. El funcionamiento hardware de esta técnica es sencillo: las distintas unidades funcionales se adelantan los datos entre ellas sin necesidad que estos datos estén escritos en el Banco de Registros, para de aquí se leídos. En las transparencias de la página siguiente (FIGURE 3.9 y FIGURE 3.10) se muestra el funcionamiento de esta técnica de formalmente.

19

20 Con ello se consigue que si una instrucción utiliza un registro como fuente y la instrucción anterior lo tiene como destino de una operación, entonces la segunda instrucción utilizará como valor del registro fuente la salida de la ALU. Así, aunque el valor no se grabe en el registro conflictivo hasta 2 ciclos después, la segunda instrucción ya habrá hecho uso de su valor. Como hemos visto, en la segmentación de DLX, no solo la instrucción siguiente puede necesitar un valor de un registro todavía no actualizado, también las tres siguientes instrucciones pueden necesitar este valor, que hasta el final del cuarto segmento (el de WB) no estará correctamente almacenado. En la figura 3.10 anterior se muestra un ejemplo de cómo una instrucción utiliza como registro destino R1 y las siguientes 4 instrucciones lo tienen como registro fuente. El resultado deberá ser adelantado para las dos siguientes instrucciones. (Figura 6.7). La primera instrucción ADD inicializa el valor del registro R1. Las cuatro instrucciones restantes lo utilizan. El valor de R1 se desvía para ser utilizado por las dos restantes: SUB, AND y OR. La instrucción OR y la XOR cuando necesitan R1, la instrucción ADD ya a realizado la escritura en el banco de Registros. Recordar: tener en cuenta que el segmento ID accede a dos registros del banco de registros, y a su vez, al solaparse con el segmento WB este debe realizar una escritura sobre otro registro. Esto es complicado y se resuelve haciendo que las escrituras se realicen durante la primera mitad del ciclo de reloj y las lecturas durante la segunda mitad. En la página siguiente se muestra como se realizarían los adelantamientos de datos para estas dos secuencias de instrucciones: FIGURE 3.11: adelantamiento de ALU memoria y de memoria a memoria. ADD R1, R2, R3 LW R4, 0(R1) SW 12(R1), R4 a FIGURE 3.12: adelantamiento de memoria a unidad aritmética:!!?. LW R1, 0(R2) SUB R4, R1, R5 AND R6, R1, R7 OR R8, R1, R9 El primer ejemplo de adelantamiento se realiza sin problemas, pero no ocurre lo mismo en el adelantamiento de memoria a ALU: Este es el único caso en que el procesador de DLX necesitará introducir un retraso (o burbuja) para conseguir que el programa se ejecute correctamente. (Esto mismo lo veremos también más adelante en los apuntes).

21

22 Cada nivel de destino requiere de un cerrojo (biestable D activado por nivel) y un par de comparadores para examinar si instrucciones adyacentes, comparten un destino y una fuente. En la figura siguiente se muestra una ALU con esta estructura. Fichero de Registros Mux Mux Caminos de desvio ALU Bus de escritura de resultados R4 R1 Buffers de resultados de la ALU La ALU con sus unidades de desvío. Como puede observarse, se necesitan dos buffers para almacenar los resultados de la ALU. Los resultados de la ALU pueden ser entradas de la propia ALU vía la utilización de dos multiplexores, tal como aparece en la figura. El control de estos multiplexores se puede realizar de dos formas: Por la propia Unidad de control. Por una lógica local asociada al desvío. En cualquiera de los dos casos, se deberá examinar si alguna de las dos instrucciones anteriores escribió en un registro utilizado como fuente en la instrucción actual. En cuyo caso el multiplexor deberá seleccionar es registro de resultado (salida de ALU) apropiado en lugar del bus. Como la ALU opera en una única etapa de la segmentación, no se requiere ningún retardo por combinación de cualquier conjunto de instrucciones que operen sobre esta ALU de punto fijo. También aparecería un riesgo cuando tuviésemos dos instrucciones que pretendieran leer y escribir sobre una misma posición de memoria. En nuestro caso, para DLX este riego no existe pues los accesos a memoria se mantienen siempre en orden; este riego no se puede dar.

23 Los fallos de acceso a cache podrían también desordenar las referencias a memoria si se permitiera que el procesador siguiese trabajando con instrucciones posteriores. Pero en DLX, cuando esto ocurre, detenemos la segmentación por completo, haciendo que la ejecución de la instrucción que causo fallo se prolongue todos los ciclos de reloj que haga falta. En ocasiones puede ser necesario adelantar el resultado de una unidad funcional a otra unidad funcional. Por ejemplo, analicemos las siguientes instrucciones: ADD R1, R2, R3 SW 25(R1), R1 El resultado de la suma almacenado en R1, cuando está a la salida de la ALU ya se puede utilizar para el cálculo de la siguiente instrucción, y a su vez este valor será adelantado al MDR (Registro de Datos de Memoria) para que sea almacenado en una dirección de memoria el contenido del registro R1.

24 Clasificación: Pero en cualquier procesador segmentado genérico, los riesgos por dependencia de datos se pueden clasificar en tres tipos, atendiendo al orden de acceso de lectura y escritura de las instrucciones. Sean dos instrucciones, primero i y luego j; entonces la clasificación podría ser esta: RAW (Read After Write): una instrucción j intenta leer antes de que la instrucción i realice la escritura. El resultado es que se lee un valor no correcto (ya hemos visto ejemplos antes). WAR (Write After Read): una instrucción j escribe un valor antes de que la instrucción i lo lea. Esto en DLX no ocurre, pues las lecturas se realizan antes en ID y las escrituras después en WB. Ocurre cuando hay instrucciones que escriben anticipadamente el resultado, como por ejemplo cuando se autoincrementa un registro en cálculo de una dirección. WAW (Write After Write). Es cuando las dos instrucciones, tanto i como j, realizan una escritura por ejemplo en un registro; pero la instrucción j lo realiza antes que la i por hacerlo en segmentos anteriores. Ocurre en segmentaciones que escriben en más de una etapa. Como es de imaginar, RAR no supone un riesgo.

25 Observar el detalle de cómo funciona la unidad de detección de riesgos: En el ciclo 3 de reloj se está ejecutando la instrucción SUB R2, R1, R3 que inicializa el registro R2. Cuando esta instrucción pasa en el ciclo 4 al segmento MEM, entrará en EXE la instrucción ADD R4, R2, R5 que necesitará recibir de forma adelantada el contenido de R2, pues el valor leído en el banco de registros no es el correcto.

26 Inevitables: Pero no todos los riesgos son inevitables. Cuando leemos un dato de memoria y lo cargamos en un registro, el registro no estará correctamente accesible hasta después del ciclo de acceso a memoria. Analicemos por ejemplo la siguiente secuencia de código: LW R1,32(R6) ADD R4,R1,R7 SUB R5,R1,R8 AND R6,R1,R7 La primera instrucción LW no posee el dato hasta que finaliza el 4º segmento, en el cual grabara en R1 el dato leído. Y la instrucción siguiente ADD necesita leer R1 durante su 2º periodo (en ID), por lo tanto, deberá introducirse 2 ciclos de espera en la ejecución segmentada de estas instrucciones. Además SUB también requerirá un ciclo de espera pues no podrá leer en ID correctamente el valor del registro R1. Para la instrucción AND ya no habrá problemas. Ciclos de Reloj Instrucción LW R1,32(R6) IF ID EX MEM WB ADD R4,R1,R7 IF ID EX MEM WB SUB R5,R1,R8 IF ID EX MEM WB AND R6,R1,R7 IF ID EX MEM WB nop IF ID EX MEM WB Pero podemos acortar el tiempo de detención si hacemos que la ALU lea directamente desde el MDR. Es también un adelantamiento de los datos, con lo cual el multiplexor de entrada de la ALU ya no tendrá 3 sino 4 entradas a seleccionar. Con ello ya solo será necesario, para este caso, introducir un ciclo de espera, como muestra la figura siguiente. Ciclos de Reloj Instrucción LW R1,32(R6) IF ID EX MEM WB ADD R4,R1,R7 IF ID detención EX MEM WB SUB R5,R1,R8 IF detención ID EX MEM WB AND R6,R1,R7 detención IF ID EX MEM WB nop IF ID EX MEM WB Generalmente, cuando tenemos una instrucción del tipo A = B + C hay una probabilidad bastante alta de que se produzca una detención debido a la carga del segundo dato. Sin embargo podemos

27 evitar con facilidad que se produzca un retraso en el almacenamiento del resultado, si adelantamos la salida de la ALU al registro MDR. Para comprender mejor lo expuesto, analicemos el código ensamblador que generaría la anterior instrucción de alto nivel: Ciclos de Reloj Instrucción LW R1,B IF ID EX MEM WB LW R2,C IF ID EX MEM WB ADD R3,R1,R2 IF ID detención EX MEM WB SW A,R3 IF detención ID EX MEM WB El valor del MDR es adelantado para ADD. Para SUB y para AND ya se lee bien del banco de registros en el segmento ID de ambas instrucciones. Lo que hemos tenido que realizar es una espera en la segmentación que se conoce como burbuja ( bubble ) o detención de cauce ( pipeline stall ) El proceso que permite que una instrucción se desplace desde la etapa de decodificación de la instrucción (ID) a la de ejecución (EX) se le llama emisión de la instrucción ( instruction issue ) y la instrucción sobre la que se ha realizado este proceso se dice que ha sido emitida ( issued ). Para la segmentación de enteros sobre DLX (sin punto flotante) todos los riesgos por dependencias de datos pueden ser comprobados durante la fase ID. Con ello se consigue reducir la complejidad del hardware, pues nunca una detención de una instrucción interferirá en el estado de la máquina, ya que los parámetros característicos de la misma solo pueden ser modificados en los últimos 3 segmentos.

28

29 Para detectar estos riesgos inevitables, necesitamos añadir hardware de detección de riesgos en el segmento ID de nuestro procesador: De forma que se mirará si la instrucción que está en EXE tiene previsto escribir en memoria, a continuación si va a escribir en memoria se analizará en registro destino de la instrucción para luego compararlo con los dos registros fuente de la instrucción que se está decodificando en ID. Si se cumple que hay coincidencia con alguno de los dos registros fuente, se introducirá una nop en la ejecución segmentada, simulando una especie de burbuja como hemos visto antes.

30 Problema: Sea un procesador segmentado en el cual el 20% de las instrucciones son de carga. Además, después de una instrucción de carga, en el 50% de los casos hay una instrucción que accede al dato cargado. Ello determina que en la ejecución segmentada de las instrucciones será necesario introducir un retardo de 1 ciclo de reloj. Cuan más rápido (en este caso más lento) es el procesador real aquí presentado respecto a uno ideal (sin retardos y con CPI = 1). Solución: Para saber la rapidez deberemos hacer el cociente entre los CPI (Instrucciones Por Ciclo), es decir: Rapidez = CPI real / CPI ideal El CPI ideal es 1. El CPI real lo podemos saber de la siguiente forma: 1) El 20% de las instrucciones son de carga y de ellas el 50% produce retardo, es decir, el 10% de las instrucciones produce retardo. 2) En plena segmentación, si de cada 10 instrucciones tengo un retardo, entonces estas 10 instrucciones tardarán 11 ciclos de reloj. 3) El CPI real se calcula por cociente entre estas cantidades: CPI real = 11/10=1,1 4) Por lo tanto tenemos: Rapidez = (CPI real / CPI ideal ) % = (1,1/1) = 11% la máquina ideal es un 10% más rápida.

31 Problema: Realizar un programa que realice la multiplicación de dos vectores de n datos y almacene el resultado sobre un tercer vector de datos. Completar el código. ; VECTORES.S ;Datos a partir de esta dirección.data 0x2000 n:.word 8, 0 datosx:.double 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, datosy:.double 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, datosz:.space 64.text 0x Una vez realizado el programa, mostrar su ejecución segmentada de dos formas: 1) Con la opción forwarding desactivada. 2) Con la opción forwarding activada. Para este segundo caso describir como se realizan todos los adelantamiento (entre que unidades funcionales del procesador). Solución: ; VECTORES.S : Z(i) = X(i) * Y(i). ;Datos a partir de esta dirección.data 0x2000 n:.word 8, 0 datosx:.double 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 datosy:.double 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8 datosz:.space 64.text 0x100 addi R1, R0, 0 lw R8, n eti: LD F0, datosx(r1) LD F2, datosy(r1) ADDD F4, F0, F2 SUBI R8, R8, 1 SD datosz(r1), F4 ADDI R1, R1, 8 BNEZ R8, eti trap 0

32 Segmentación SIN FORWARDING: Segmentación CON FORWARDING:

33 Planificamos el código para eliminar completamente los riesgos por dependencias de datos:

34 Planificación de la emisión de instrucciones. A nivel hardware ya hemos evitado casi todos los riesgos por dependencia de datos, pero cabe una solución software al problema de las detenciones. El compilador puede reorganizar la secuencia de instrucciones para evitar que se produzcan este tipo de detenciones por dependencias de datos. La técnica de compilación que evita esto se conoce como: planificación de la segmentación o planificación de instrucciones Si el software nos evita completamente este riesgo, podríamos evitar utilizar el hardware de control para evitar este tipo de riesgos. La idea es buena, ya que existen máquinas en las cuales, la responsabilidad de detectar y evitar este tipo de riesgos esta en manos del software completamente. Pregunta: Pero que ocurría cuando el compilador no podía evitar de ninguna forma este tipo de riesgos? Respuesta: No le quedaba más remedio que utilizar una instrucción tipo NOP después de la carga para evitar el problema. Esta inclusión no influía en el tiempo de ejecución del programa, pero si en la longitud del código generado. De todas formas, tanto si el hardware detecta el interbloqueo y detiene la segmentación como si no, el rendimiento mejora si el compilador planifica la ejecución de las instrucciones. En la figura (6.13) de la página siguiente se observa como mejora el rendimiento de del procesador si el compilador previamente planifica la ejecución de las instrucciones. Porcentaje de las cargas que causan detención con la segmentación de DLX.

35 Comentarios:

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

Pipelining o Segmentación de Instrucciones

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

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas 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

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos

Arquitectura de Computadoras. Clase 5 Posibles soluciones a atascos Arquitectura de Computadoras Clase 5 Posibles soluciones a atascos Ejemplo de segmentación Notas de Clase 5 2 Atascos de un cauce (stall) Situaciones que impiden a la siguiente instrucción que se ejecute

Más detalles

Ingeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11

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

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

Capitulo V Administración de memoria

Capitulo V Administración de memoria Capitulo V Administración de memoria Introducción. Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,

Más detalles

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline:

PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: PIPELINING: Antes de adentrarnos en el tema, veremos una analogía de un pipeline: Observemos que la técnica de Pipelining no mejora el tiempo de cada tarea, sino el tiempo de toda la carga de trabajo.

Más detalles

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Tema 7 Procesadores Superescalares: Paralelismo Implícito a Nivel de Instrucción Se denomina arquitectura superescalar a aquella implementación capaz de ejecutar más de una instrucción por ciclo de reloj.

Más detalles

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1). Ejercicios 5.1 [5] < 5.3> Describa el efecto que un simple fallo permanecer como 0 (es decir, independiente de lo que debería ser, la señal es siempre 0) provocaría en los multiplexores en el camino de

Más detalles

Pipeline (Segmentación)

Pipeline (Segmentación) Pipeline (Segmentación) Segmentación (Pipeline) Es una técnica de implementación por medio de la cual se puede traslapar la ejecución de instrucciones. En la actualidad la segmentación es una de las tecnologías

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

En cualquier caso, tampoco es demasiado importante el significado de la B, si es que lo tiene, lo interesante realmente es el algoritmo. Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

Más detalles

Arquitectura de Computadores - 2001

Arquitectura de Computadores - 2001 IV. Segmentación o Pipelining Alternativas de Implementación de Procesador 1. Procesador Uniciclo CPI = 1 Pero Período de Reloj Grande 2. Procesador Multiciclo CPI > 1 Pero Período de Reloj más Pequeño

Más detalles

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:

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

Teclado sobre una PDA para Personas con Parálisis Cerebral

Teclado sobre una PDA para Personas con Parálisis Cerebral Manual de Usuario - 1 - - 2 - Teclado sobre una PDA para Personas con Parálisis Cerebral Capítulo 1. MANUAL DE USUARIO 12.1 Descripción de la aplicación Este programa le permitirá llevar a cabo las siguientes

Más detalles

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES Ciclo Formativo: Módulo: Desarrollo de Aplicaciones Informáticas Análisis y Diseño Detallado de Aplicaciones Informáticas de Gestión Unidad de Trabajo 10: GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN

Más detalles

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU 2011-2012 RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU Antecedentes:... 2 1. Introducción... 3 2. Imágenes que no se visualizan... 3 3. URLs de recursos o actividades que no son autocontenido...

Más detalles

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj.

- La implementación es responsable de: Los ciclos de reloj por instrucción (CPI). La duración del ciclo de reloj. Estructura y Tecnología de Computadores III - Capítulo 5-1- CAPÍTULO 5. TÉCNICAS BÁSICAS DE IMPLEMENTACIÓN DE PROCESADORES. INTRODUCCIÓN - La implementación es responsable de: Los ciclos de reloj por instrucción

Más detalles

Arquitectura Segmentada: Conceptos básicosb

Arquitectura Segmentada: Conceptos básicosb Arquitectura Segmentada: Conceptos básicosb Diseño de Sistemas Digitales EL-3310 I SEMESTRE 2008 4 ARQUITECTURA SEGMENTADA (PIPELINING) (4 SEMANAS) 4.1 Conceptos básicos de la arquitectura segmentada Paralelismo

Más detalles

Qué 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. 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 detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

UNIDAD 5: Mejora del rendimiento con la segmentación.

UNIDAD 5: Mejora del rendimiento con la segmentación. UNIDAD 5: Mejora del rendimiento con la segmentación. 5.1 Un resumen de segmentación La segmentación (pipelining) es una técnica de implementación por la cual se solapa la ejecución de múltiples instrucciones.

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

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

Lección 4: Suma y resta de números racionales

Lección 4: Suma y resta de números racionales GUÍA DE MATEMÁTICAS II Lección : Suma y resta de números racionales En esta lección recordaremos cómo sumar y restar números racionales. Como los racionales pueden estar representados como fracción o decimal,

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras

Manual de usuario. Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras Tramitación de inspecciones periódicas de ascensores: La visión de las empresas conservadoras 7 de Enero de 2008 Índice 1. INTRODUCCIÓN 3 2. SECUENCIAS PRINCIPALES A REALIZAR 4 2.1. FLUJO BASICO DE SECUENCIAS

Más detalles

Índice general de materias LECCIÓN 7 74

Índice general de materias LECCIÓN 7 74 Índice general de materias LECCIÓN 7 74 BUSCAR 74 BUSCAR CON FORMATO 77 REEMPLAZAR 78 REEMPLAZAR CON FORMATO 79 NOTAS AL PIE DE PÁGINA 79 CONFIGURAR LAS NOTAS 81 INSERTAR NOTAS AL PIE 83 MODIFICAR NOTAS

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 6. CPU Segmentada (Pipeline) 1. Conceptos Básicos 2. Causas de Ralentización Arquitectura de Computadores Segmentación (Pipeline) - 1 En los dos capítulos siguientes vamos

Más detalles

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO

ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO ANÁLISIS Y GESTIÓN DEL DESARROLLO DE SOFTWARE TEMA 5: LA PLANIFICACIÓN DEL PRODUCTO DAVID RODRÍGUEZ HERNÁNDEZ FECHA DE REVISIÓN: 1 Noviembre 2007 ZAMORA (CURSO 2007/2008) david.rgh@gmail.com Nota importante:

Más detalles

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2 Manual de usuario EXTRACTO Descripción del uso y manejo de ELABORADO POR Dr. Javier Rodríguez Suárez Director General de Difusión e Investigación Ing. José Joel Lucero Morales Jefe de Enseñanza de la Dirección

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Conclusiones. Particionado Consciente de los Datos

Conclusiones. Particionado Consciente de los Datos Capítulo 6 Conclusiones Una de las principales conclusiones que se extraen de esta tesis es que para que un algoritmo de ordenación sea el más rápido para cualquier conjunto de datos a ordenar, debe ser

Más detalles

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL Índice 1 Introducción... 5 1.1 Perfil de la aplicación... 5 1.2 Requisitos técnicos... 5 2 Manual de usuario... 7 2.1 Instalación del certificado...

Más detalles

HERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

HERRAMIENTAS DE ACCESS ACCESS 2010. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS ACCESS 2010 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE HERRAMIENTAS DE ACCESS En esta unidad veremos algunas de las herramientas incorporadas de Access que

Más detalles

UNIDAD 4: El procesador: Camino de los datos y Control.

UNIDAD 4: El procesador: Camino de los datos y Control. UNIDAD 4: El procesador: Camino de los datos y Control. 4.1 Introducción El rendimiento de una máquina depende de tres factores clave: Conteo de Instrucciones, tiempo del ciclo de reloj y ciclos de reloj

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - SOLUCIONES

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - SOLUCIONES Calificación 1 Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de 2012 - SEGUNDA PARTE - 2 3 Nombre SOLUCIONES Grupo Dispone de una hora y media para completar el examen 1 (6.5 puntos)

Más detalles

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x Los polinomios Los polinomios Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x Elementos de un polinomio Los términos: cada

Más detalles

ZCARTAS: Iniciación a la suma y resta de números enteros... 4. Introducción... 4. Actividad 1: Escenario con cartas numeradas desde -2 hasta 2...

ZCARTAS: Iniciación a la suma y resta de números enteros... 4. Introducción... 4. Actividad 1: Escenario con cartas numeradas desde -2 hasta 2... CONTENIDO ZCARTAS: Iniciación a la suma y resta de números enteros... 4 Introducción... 4 Actividad 1: Escenario con cartas numeradas desde -2 hasta 2... 4 Contenidos trabajados... 4 Instrucciones de Scratch...

Más detalles

Programa Presupuestos de Sevillana de Informática.

Programa Presupuestos de Sevillana de Informática. Programa Presupuestos de Sevillana de Informática. Introducción. En sus inicios, el programa Presupuestos estaba pensado únicamente para escribir e imprimir presupuestos, facilitando el trabajo con un

Más detalles

Qué son los monomios?

Qué son los monomios? Qué son los monomios? Recordemos qué es una expresión algebraica. Definición Una expresión algebraica es aquella en la que se utilizan letras, números y signos de operaciones. Si se observan las siguientes

Más detalles

Unidad II: Administración de Procesos y del procesador

Unidad II: Administración de Procesos y del procesador Unidad II: Administración de Procesos y del procesador 2.1 Concepto de proceso Un proceso no es más que un programa en ejecución, e incluye los valores actuales del contador de programa, los registros

Más detalles

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS Unidad 6: Polinomios con coeficientes enteros. Al final deberás haber aprendido... Expresar algebraicamente enunciados sencillos. Extraer enunciados razonables

Más detalles

Transacciones y bloqueos en SQL-Server

Transacciones y bloqueos en SQL-Server Transacciones y bloqueos en SQL-Server (Información para el uso desde Axapta) Introducción En este documento vamos a intentar explicar cuatro conceptos básicos acerca de las transacciones y los bloqueos

Más detalles

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

GUÍA BÁSICA DE USO DEL SISTEMA RED

GUÍA BÁSICA DE USO DEL SISTEMA RED SUBDIRECCIÓN GENERAL DE INSCRIPCIÓN, AFILIACION Y RECAUDACIÓN EN PERIODO VOLUNTARIO GUÍA BÁSICA DE USO DEL SISTEMA RED Marzo 2005 MINISTERIO DE TRABAJO Y ASUNTOS SOCIALES TESORERÍA GENERAL DE LA SEGURIDAD

Más detalles

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT Versión 1. Mayo de 2001 Luis Vinuesa Martínez. Departamento de Informática Universidad de Oviedo vinuesa@correo.uniovi.es www.di.uniovi.es/~vinuesa ÍNDICE. Introducción...

Más detalles

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008 1.- INTRODUCCIÓN A LOS PROCESOS 1.1.- Concepto 1.2.- Composición y estructura 1.3.- Estados y transiciones 2.- COMUNICACIÓN ENTRE PROCESOS

Más detalles

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento

**NOTA** las partes tachadas todavía no están escritas, se ira actualizando poco a poco el documento Simple tutorial we riseup Pequeña introducción a We Riseup #Qué es we.riseup o Crabgrass? #Como esta estructurado We.riseup? Lo Esencial Unirse a un grupo Metodo 1 Metodo 2 Crear contenido #1 ) Crear la

Más detalles

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática Manejo básico de base de datos Unas de las capacidades de Excel es la de trabajar con listas o tablas de información: nombres, direcciones, teléfonos, etc. Excel puede trabajar con tablas de información

Más detalles

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos. Apéndice C. Glosario A Actividades de coordinación entre grupos. Son dinámicas y canales de comunicación cuyo objetivo es facilitar el trabajo entre los distintos equipos del proyecto. Actividades integradas

Más detalles

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10 CONCEPTOS BASICOS Febrero 2003 Página - 1/10 EL ESCRITORIO DE WINDOWS Se conoce como escritorio la zona habitual de trabajo con windows, cuando iniciamos windows entramos directamente dentro del escritorio,

Más detalles

GUÍA PARA LA FORMULACIÓN PROYECTOS

GUÍA PARA LA FORMULACIÓN PROYECTOS GUÍA PARA LA FORMULACIÓN PROYECTOS Un PROYECTO es un PLAN DE TRABAJO; un conjunto ordenado de actividades con el fin de satisfacer necesidades o resolver problemas. Por lo general, cualquier tipo de proyecto,

Más detalles

Tema : ELECTRÓNICA DIGITAL

Tema : ELECTRÓNICA DIGITAL (La Herradura Granada) Departamento de TECNOLOGÍA Tema : ELECTRÓNICA DIGITAL.- Introducción. 2.- Representación de operadores lógicos. 3.- Álgebra de Boole. 3..- Operadores básicos. 3.2.- Función lógica

Más detalles

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 7: Esquema del Funcionamiento de una Computadora. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 7: Esquema del Funcionamiento de una Computadora Ingeniería Informática Universidad Autónoma de Madrid Esquema del Funcionamiento de una Computadora O B J E T I V O S Adquirir los conceptos básicos

Más detalles

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Descarga Automática Manual de Usuario Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, 6 28014 Madrid Versión 5.2 Fecha: 2008-10-15 Ref : MU_DescargaAutomática.doc ÍNDICE 1 INTRODUCCIÓN...

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS. 1 Direcciones o Ubicaciones, Carpetas y Archivos Botones de navegación. El botón Atrás permite volver a carpetas que hemos examinado anteriormente. El botón Arriba

Más detalles

Operativa en Acciones: Introducción a la Bolsa

Operativa en Acciones: Introducción a la Bolsa Operativa en Acciones: Introducción a la Bolsa Índice 1. Introducción 2. Mercado de acciones 3. Libro de órdenes 4. Ordenes Básicas 5. Liquidez 6. Información Básica Conceptos 7. Operativa Ejemplo 8. Horarios

Más detalles

Curso Internet Básico - Aularagon

Curso Internet Básico - Aularagon Antes de empezar es necesario que tengas claro algunas cosas: para configurar esta cuenta de correo, debes saber que el POP y el SMTP en este caso son mail.aragon.es; esta cuenta de correo hay que solicitarla

Más detalles

Lección 24: Lenguaje algebraico y sustituciones

Lección 24: Lenguaje algebraico y sustituciones LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce

Más detalles

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual Introducción Algunas de las personas que trabajan con SGBD relacionales parecen preguntarse porqué deberían preocuparse del diseño de las bases de datos que utilizan. Después de todo, la mayoría de los

Más detalles

OBTENER DATOS EXTERNOS

OBTENER DATOS EXTERNOS La herramienta Obtener datos externos nos va a permitir llevar a Excel datos que proceden de otras fuentes de datos, como archivos de texto o bases de datos, para su posterior tratamiento y análisis con

Más detalles

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL

NemoTPV SAT Manual de usuario 1. NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 1 NemoTPV SAT APLICACIÓN DE GESTIÓN DE SERVICIO TÉCNICO PARA PUNTOS DE VENTA DE EUSKALTEL NemoTPV SAT Manual de usuario 2 Ante un problema, lo importante no es saber solucionarlo,

Más detalles

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio Refo 07 2004 15 al 19 de noviembre 2004 Colegio Alexander von Humboldt - Lima Tema: La enseñanza de la matemática está en un proceso de cambio La enseñanza de la matemática debe tener dos objetivos principales:

Más detalles

TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA

TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA. COORDINADORES DE MÓDULOS/MATERIAS/ ASIGNATURAS VIRTUALES DE POSGRADOS CON

Más detalles

NOVEDADES Y MEJORAS. datahotel versión 9.00 TRABAJAR CON I.V.A INCLUIDO

NOVEDADES Y MEJORAS. datahotel versión 9.00 TRABAJAR CON I.V.A INCLUIDO NOVEDADES Y MEJORAS Continuando con nuestra política de mejora, innovación y desarrollo, le presentamos la nueva versión 9.00 de datahotel que se enriquece con nuevas funcionalidades que aportan soluciones

Más detalles

MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0

MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0 MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0 José Antonio Guijarro Guijarro Profesor de Secundaria Especialidad de Informática Profesor Técnico de F.P. Especialidad de Sistemas

Más detalles

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ ELECTRÓNICA DIGITAL DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ IES TRINIDAD ARROYO DPTO. DE ELECTRÓNICA ÍNDICE ÍNDICE... 1 1. LIMITACIONES DE LOS CONTADORES ASÍNCRONOS... 2 2. CONTADORES SÍNCRONOS...

Más detalles

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos). Memoria Típica. Los datos almacenados en memoria tienen que pasar, en un momento

Más detalles

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40)

Carga de la instrucción / Decodificación y carga de registros (Figura 37) Instrucciones de salto condicional (Figura 40) Inicio Carga de la instrucción / Decodificación y carga de registros (Figura 37) de acceso a la (Figura 38) de tipo R (Figura 39) de salto condicional (Figura 40) jump (Figura 41) Figura 5.36.- Una visión

Más detalles

Organización de Computadoras. Turno Recursantes Clase 8

Organización de Computadoras. Turno Recursantes Clase 8 Organización de Computadoras Turno Recursantes Clase 8 Temas de Clase Subsistema de Memoria Organización de Memoria Principal Notas de clase 8 2 Memoria Velocidad del procesador: se duplica cada 18 meses

Más detalles

18. Camino de datos y unidad de control

18. Camino de datos y unidad de control Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 18. Camino de datos y unidad de control Un La versatilidad una característica deseable los Los

Más detalles

Proyectos de Innovación Docente

Proyectos de Innovación Docente Proyectos de Innovación Docente Manual de Usuario Vicerrectorado de Docencia y Profesorado Contenido INTRODUCCIÓN... 3 DATOS PERSONALES... 6 Modificar email... 6 Modificar contraseña... 7 GESTIÓN PROYECTOS...

Más detalles

Notas para la instalación de un lector de tarjetas inteligentes.

Notas para la instalación de un lector de tarjetas inteligentes. Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación

Más detalles

GOOGLE NOTICIAS Y ALERTAS

GOOGLE NOTICIAS Y ALERTAS GOOGLE NOTICIAS Y ALERTAS Curso de Noticias y Alertas por KZgunea se encuentra bajo licencia Creative Commons de Reconocimiento-NoComercial-CompartirIgual_3.0_ (CC-BY-NC-SA_3.0) Índice del curso 1. TEMA

Más detalles

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5

Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Índice Índice 1 Instalación de la herramienta 2 Descripción de la herramienta 2 Arranque de la aplicación 3 Proyecto 4 Diagrama de clases 5 Crear diagrama de clases 5 Crear elementos 7 Editar elementos

Más detalles

Manual de usuario. Sistema de grabación automática de la emisión en directo de una emisora de radio comunitaria con Software Libre. www.radioco.

Manual de usuario. Sistema de grabación automática de la emisión en directo de una emisora de radio comunitaria con Software Libre. www.radioco. Sistema de grabación automática de la emisión en directo de una emisora de radio comunitaria con Software Libre www.radioco.org Manual de usuario Autor: Veloso Abalo, Iago Rev: 2 Octubre 2014 Índice general

Más detalles

MICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

MICROSOFT EXCEL 2007. Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL MICROSOFT EXCEL 2007 Qué es y para qué sirve Excel2007? Excel 2007 es una hoja de cálculo integrada en Microsoft Office. Esto quiere decir que si ya conoces otro programa de Office, como Word, Access,

Más detalles

La Gestión Operativa: La Clave del Éxito.

La Gestión Operativa: La Clave del Éxito. La Gestión Operativa: La Clave del Éxito. Objetivos Contenidos 1. Ser capaces de planificar y seguir, de una forma operativa, programas y proyectos. 2. Conocer las técnicas adecuadas para la gestión eficaz

Más detalles

TRABAJO POTENCIA Y ENERGÍA

TRABAJO POTENCIA Y ENERGÍA TRABAJO POTENCIA Y ENERGÍA TRABAJO, POTENCIA Y ENERGÍA Todos habitualmente utilizamos palabras como trabajo, potencia o energía. En esta unidad precisaremos su significado en el contexto de la física;

Más detalles

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano

_ Antología de Física I. Unidad II Vectores. Elaboró: Ing. Víctor H. Alcalá-Octaviano 24 Unidad II Vectores 2.1 Magnitudes escalares y vectoriales Unidad II. VECTORES Para muchas magnitudes físicas basta con indicar su valor para que estén perfectamente definidas y estas son las denominadas

Más detalles

U.T. 2 Planificación de Proyectos

U.T. 2 Planificación de Proyectos U.T. 2 Planificación de Proyectos En el tema anterior hemos visto que es determinante una buena planificación del proyecto, ya que de no realizarse ésta, nunca sabremos el tiempo que resta para la finalización

Más detalles

MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7

MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 MANUAL DEL PROGRAMA DE ASESORAMIENTO (Asesores) Índice Pasos previos a la visualización del programa: Navegador y limpiar caché/cookies...2 Acceso al programa de Asesoramiento... 7 Conceptos e información

Más detalles

Estimado usuario. Tabla de Contenidos

Estimado usuario. Tabla de Contenidos Estimado usuario. El motivo del presente correo electrónico es mantenerle informado de las mejoras y cambios realizados en el software Orathor (Athor/Olimpo) en su versión 5.7.041 la cual ha sido recientemente

Más detalles

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice

Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice Tema 1: Fundamentos de lógica, teoría de conjuntos y estructuras algebraicas: Apéndice 1 Polinomios Dedicaremos este apartado al repaso de los polinomios. Se define R[x] ={a 0 + a 1 x + a 2 x 2 +... +

Más detalles

EJERCICIO 3: DOCUMENTO MAESTRO

EJERCICIO 3: DOCUMENTO MAESTRO EJERCICIO 3: DOCUMENTO MAESTRO 1. Crear una plantilla de documento basándose en la normal con las siguientes características MÍNIMAS: Títulos en esquema numerado hasta 3 niveles: T_Nivel 1, T_ Nivel 2,

Más detalles

INSTRUCTIVO DEL COMANDO MAKE

INSTRUCTIVO DEL COMANDO MAKE INSTRUCTIVO DEL COMANDO MAKE Introducción Un programa escrito en C está normalmente compuesto por varios archivos. Estos archivos se van modificando según se va completando o cambiando el programa. Cada

Más detalles

Tema 4: Diseño de un microprocesador

Tema 4: Diseño de un microprocesador Tema : Diseño de un microprocesador Febrero de Tema : Diseño de un microprocesador Febrero de / 7 Índice Introducción Visión general de la implementación El camino de datos Control del camino de datos

Más detalles

Manual básico de gestión económica de las Asociaciones

Manual básico de gestión económica de las Asociaciones Manual básico de gestión económica de las Asociaciones El control económico de una Asociación se puede ver desde dos perspectivas: Necesidades internas de información económica para: * Toma de decisiones

Más detalles

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas. Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.

Más detalles