Ingeniería Informática. Ampliación de Estructura de Computadores. Curso Introducción a la segmentación de Instrucciones.
|
|
- Victoria Henríquez Carmona
- hace 8 años
- Vistas:
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. 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 detallesPipelining o Segmentación de Instrucciones
Pipelining o Segmentación de Instrucciones La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través
Más detallesPlataformas de soporte computacional: arquitecturas avanzadas,
Plataformas de soporte computacional: arquitecturas avanzadas, sesión 2 Diego. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice 1. Segmentación
Más detallesArquitectura 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 detallesIngeniería Informática. Ampliación de Estructura de Computadores. Curso 2010-11
6.3.3 Riesgo de Control. Los riesgos por control en DLX son menos frecuentes que los riesgos por dependencia de datos, pero al no haber una solución tan buena como el adelantamiento de datos, se convierten
Más detallesCentro 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 detallesTEMA 2: PARALELISMO INTERNO EN SISTEMAS COMPUTADORES SEGMENTACION
SEGMENTACION SEGMENTACION SEGMENTACION I I I I I 1 2 3 4 5 IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB IF ID EX MEM WB SEGMENTACION INTRODUCIR NUEVA INSTRUCCIÓN CADA CICLO 1 CICLO,
Más detallesCapitulo 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 detallesTema 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 detallesPIPELINING: 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 detallesProcesadores 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 detallesEjercicios. 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 detallesPipeline (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 detallesCASO 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 detallesEn 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 detallesGUÍ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 detallesTema 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 detallesArquitectura 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 detallesUNIDADES 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 detallesArquitectura 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 detallesTeclado 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 detallesGESTIÓ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 detalles2011-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.
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 detallesArquitectura 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 detallesQué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones.
Qué es Pipelining? Es una técnica de implementación en la que se superpone la ejecución de varias instrucciones. Aprovecha el paralelismo entre instrucciones en una corriente secuencial de instrucciones.
Más detallesCentro 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 detallesLos 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 detallesUNIDAD 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 detalles1 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 detallesCOMPUTADORES SEGMENTADOS (DLX)
DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica
Más detallesLecció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 detallesLa 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 detallesEcuaciones 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 detallesManual 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 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 detallesArquitectura 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 detallesANÁ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 detallesEXTRACTO 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 detallesMATERIAL 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 detallesConclusiones. 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 detallesManual 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 detallesHERRAMIENTAS 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 detallesUNIDAD 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 detallesLABORATORIO 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 detallesFundamentos 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 detallesLos 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 detallesZCARTAS: 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 detallesPrograma 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 detallesQué 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 detallesUnidad 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 detallesUNIDAD 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 detallesTransacciones 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 detallesLa 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 detallesGUÍ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 detallesINSTALACIÓ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 detallesSIMM: 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
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 detallesOperació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 detallesActividades 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 detallesCONCEPTOS 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 detallesGUÍ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 detallesTema : 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 detallesTema 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 detallesDescarga 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 detallesPrá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 detallesGUÍ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 detallesOperativa 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 detallesCurso 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 detallesLecció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 detallesIntroducció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 detallesOBTENER 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 detallesNemoTPV 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 detallesColegio 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 detallesTUTORIAL 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 detallesNOVEDADES 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 detallesMÉ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
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 detallesMemoria 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 detallesCarga 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 detallesOrganizació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 detalles18. 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 detallesProyectos 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 detallesNotas 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 detallesGOOGLE 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 Í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 detallesManual 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 detallesMICROSOFT 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 detallesLa 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 detallesTRABAJO 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
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 detallesU.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 detallesMANUAL 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 detallesEstimado 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 detallesTema 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 detallesEJERCICIO 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 detallesINSTRUCTIVO 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 detallesTema 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 detallesManual 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 detallesPara 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