0% encontró este documento útil (0 votos)
5 vistas29 páginas

Procesadores Segmentados y Pipelining

Cargado por

aragonesalonso00
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
5 vistas29 páginas

Procesadores Segmentados y Pipelining

Cargado por

aragonesalonso00
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 5

Estructura de Computadores

Tema 5. Procesadores
segmentados
Índice
Esquema

Ideas clave

5.1. Introducción y objetivos

5.2. Principios de segmentación y mejora de prestaciones

5.3. Diseño de un procesador segmentado

5.4. Optimización de cauces funcionales

5.5. Interrupciones en un procesador segmentado

5.6. Referencias bibliográficas

A fondo

Otra visión de los procesadores escalares

Segmentación (pipelining)

Assemblers, linkers, and the SPIM simulator

Test
Esquema

Estructura de Computadores 3
Tema 5. Esquema
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.1. Introducción y objetivos

Para estudiar este tema lee el capítulo 2 «Segmentación de cauce y procesadores

segmentados» (páginas 48-92) del libro: Ortega, J., Anguita, M. y Prieto, A. (2005).

Arquitectura de computadores. Thomson.

En este tema se presenta el concepto de segmentación de cauce (pipelining),

técnica de paralelismo aplicable en diferentes fases del diseño hardware de un

computador y que permite aumentar su rendimiento.

Haremos hincapié en la aplicación a los procesadores segmentados, cuya

microarquitectura se desarrolla aplicando estas técnicas, lo que le permite ejecutar

varias instrucciones simultáneamente, aunque sea en distintas fases de ejecución.


En estos casos, se dice que el procesador aprovecha el paralelismo entre

instrucciones o a nivel de instrucción (ILP, instruction level parallelism).

La implementación de estos cauces de ejecución simultánea provoca una serie de

conflictos (dependencias), inherentes a la propia técnica, que limitarán la eficiencia

de la estructura y cuyos efectos será necesario paliar en el diseño de un procesador

segmentado.

La técnica de segmentación de cauce (pipelining) consiste en dividir el proceso

(instrucción, operación) que debe realizar el sistema en una serie de fases o

pasos, y en rediseñar el propio sistema, de modo que pase a estar constituido por

una cadena de unidades funcionales donde cada una de ellas estará encargada de

realizar cada fase o paso del proceso de forma independiente.

En esas condiciones, idealmente, en el sistema habrá tantos procesos en curso

como unidades funcionales, aunque cada uno de ellos estará ejecutando una fase

diferente.

Estructura de Computadores 4
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Con esta técnica no tiene porqué mejorar el tiempo de ejecución de un proceso

aislado, pero, mientras se mantengan llenas todas las unidades funcionales, sí se

obtendrán más procesos finalizados por unidad de tiempo, se juega con el

solapamiento de los tiempos de ejecución de los distintos procesos.

La idea viene de la cadena de producción en serie implantada en la fabricación de


automóviles a comienzos del siglo XX.

La conexión en paralelo de cadenas de unidades funcionales (cadenas pipeline)

constituirá la base de los procesadores superescalares.

La Figura 1 esquematiza la técnica considerando instrucciones que se pueden dividir

en cinco fases (IF, ID, EX, MEM, WB) de igual duración ( ).

Figura 1. Cronogramas de ejecución de un procesador secuencial, segmentado y superescalar. Fuente:

Ortega et al., 2005.

Estructura de Computadores 5
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Breve secuencia histórica

La segmentación de cauce se propuso inicialmente para acelerar las operaciones en

coma flotante.

El primer computador que implementó segmentación de cauce (proyecto Stretch) fue


el IBM 7030 (1961). Tenía por objetivo ser cien veces más rápido que su predecesor,

el IBM 704.

En los años 70 se aplica de forma habitual en el desarrollo de procesadores

vectoriales, y se extiende al procesamiento de instrucciones.

A principios de los 80, la implantación de las cadenas pipeline en los procesadores

fue uno de los motivos esenciales de la aparición de las arquitecturas RISC (reduced,

instruction set computer), en oposición a las arquitecturas CISC (complex instruction

set computer) existentes en el momento, que no aprovechaban adecuadamente las

mejoras de rendimiento que la segmentación de cauce aportaba al procesador.

A partir de mediados de los 80, los microprocesadores incorporan la segmentación

de cauce, y a partir del comienzo de los 90 la segmentación de cauce se introduce

también en los micros embebidos o empotrados (microcontroladores), que

requieren prestaciones elevadas.

Estructura de Computadores 6
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.2. Principios de segmentación y mejora de


prestaciones

Supongamos un procesador secuencial que ejecute una instrucción en un tiempo

, si su ejecución fuese uniforme, tardaría un tiempo en ejecutar

instrucciones.

Aplicando la segmentación de cauce, en un caso ideal, se dividiría la instrucción en

fases de duración , que se ejecutasen en sendas unidades funcionales

independientes conectadas en cascada de modo que, tras la primera instrucción

ejecutada, se obtendría una instrucción finalizada cada tiempo t (Figura 2).

La primera instrucción tardaría un tiempo completo de proceso, que coincidiría con el

tiempo de llenado de la cadena y que se designa como (tiempo de latencia de

inicio).

Figura 2. Comparación del ejemplo propuesto. Fuente: Ortega et al., 2005.

La aceleración o ganancia obtenida por el sistema al aplicar esta técnica a la

Estructura de Computadores 7
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

ejecución de n instrucciones sería:

Expresión 1.

Cuyo máximo se obtendría para un número infinito de instrucciones:

Expresión 2.

Cuanto menor sea , mayor será la ganancia obtenida, al relacionar con el número

de etapas o unidades, , en principio a mayor número de etapas, mayor ganancia

(suponiendo etapas más simples que implican t menor).

Se podría expresar , incluso, de forma ideal, . En estas

condiciones, la ganancia obtenida se podría presentar como:

Expresión 3.

Desviaciones más habituales respecto al caso ideal:

▸ .

▸ El tiempo de etapa no es común en todas ellas, la más lenta es la que marca el

comportamiento del sistema (registro de desacoplo, cuello de botella).

Otras magnitudes que considerar:

Estructura de Computadores 8
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Productividad ( ): número de operaciones que se ejecutan por unidad de tiempo.


Para operaciones ejecutadas:

Expresión 4.

▸ Eficiencia ( ): relación entre la ganancia o aceleración que proporciona el cauce


y el número de etapas:

Expresión 5.

Estructura de Computadores 9
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.3. Diseño de un procesador segmentado

Este apartado busca presentar las complicaciones que aparecen al ejecutar

instrucciones en un procesador segmentado.

En el manual de la asignatura se parte de un caso muy simple de procesador que

responde a las siguientes premisas:

▸ Procesador de 32 bits.

▸ Instrucción sencilla del tipo Ra op Rb → Rc.

▸ Ra, Rb y Rc son registros de un banco de registros con dos puertos de lectura y uno

de escritura.

Estos requisitos llevan a un cauce de cuatro etapas:

▸ Captación de instrucción (IF).

▸ Decodificación/Lectura de operandos (ID/OF).

▸ Ejecución de la operación (ALU).

▸ Escritura de resultado en el banco de registros (OS).

Y a una configuración como la que se representa en la Figura 3.

Estructura de Computadores 10
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 3. Cauce y arquitectura del procesador segmentado básico. Fuente: Ortega et al., 2005.

En estas condiciones cada instrucción requeriría cuatro ciclos para procesarse y se

obtendría una instrucción procesada por ciclo, a partir de la primera.

Suponiendo ahora que se ejecuta la siguiente secuencia de instrucciones:

Estructura de Computadores 11
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Figura 4. Secuencia de instrucciones. Fuente: elaboración propia.

Teniendo en cuenta el cauce utilizado, se produciría un conflicto en la ejecución de

las instrucciones (2) y (3) en relación con el operando R3 (Figura 5). Se trata de un

conflicto por dependencia de lectura tras escritura o de tipo RAW (read after

write).

Figura 5. Dependencia de lectura tras escritura (RAW). Fuente: Ortega et al., 2005.

Estructura de Computadores 12
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Riesgo, conflicto o dependencia (hazard) es cualquier condición que puede

interrumpir el flujo continuo a través de un cauce. Pueden ser:

▸ Riesgos de datos: dependencias entre los operandos y resultados de instrucciones

distintas. A su vez pueden ser:

• RAW (read after write) o dependencia de lectura tras escritura.

• WAR (write after read) o dependencia de escritura tras lectura.

• WAW (write after write) o dependencia de escritura tras escritura.

▸ Riesgos de control: instrucciones de salto condicional que, según su resultado,

determinan si hay que ejecutar una secuencia de instrucciones u otra.

▸ Riesgos estructurales o colisiones: distintas instrucciones necesitan el mismo

recurso al mismo tiempo.

La dependencia RAW también se conoce como dependencia real y se puede

producir siempre que se simultaneen acciones y coincida esa relación escritura-

lectura de dos instrucciones sobre un mismo operando.

Las dependencias WAR y WAW son propias de procesadores superescalares en

los que se permita la ejecución desordenada de instrucciones. También se las

conoce como pseudodependencias.

Soluciones para las dependencias RAW

Existen distintos tipos de soluciones para paliar, e incluso evitar, los efectos de las

dependencias RAW. Hay que tener en cuenta que este tipo de dependencias no solo

pueden provocar pérdidas de rendimiento, sino también errores de ejecución, lo

que es mucho más grave. Si se deja pasar la dependencia y la instrucción

dependiente lee el operando antes de que la instrucción de la que depende lo haya

actualizado, se producirá un error de ejecución.

Estructura de Computadores 13
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Algunas de las soluciones requieren de elementos hardware añadidos y otras son

soluciones más software, vinculadas al compilador.

Las opciones más importantes que se deben conocer son:

▸ Reorganización de código: consiste en separar en el programa las instrucciones

dependientes, de modo que no exista conflicto. Esta técnica depende del


compilador.

▸ Interbloqueo entre etapas: se incluyen elementos HW de detección de

dependencias, que permitirán el bloqueo de la instrucción dependiente hasta que la


anterior actualice el operando.

▸ Atajos (bypass paths o forwarding): se aprovechan los elementos de detección

del anterior para adelantar la actualización del operando dependiente.

Implementación de instrucciones de salto

El problema que plantean las instrucciones de salto, y en general cualquier

instrucción de ruptura de secuencia (saltos condicionales o incondicionales, llamadas

a rutina, retornos, atención a interrupciones…), es que modifican el valor que toma

por defecto el registro contador de programa (PC) del procesador. Representan

casos típicos de riesgos de control.

Tras cada ciclo de captación de instrucción, el PC se incrementa automáticamente

para apuntar a la siguiente posición de código de programa a leer, en base a su

contenido se realiza la siguiente captación. Trabajando con segmentación de cauce,

la unidad IF usará como referencia el valor del PC para leer la siguiente instrucción,

pero es posible que, tras una instrucción de salto, ese valor no sea correcto puesto

que el objetivo de la instrucción es modificar PC y esto todavía no se habrá llevado a

cabo. En otras palabras, la unidad IF tarda tantas instrucciones en «darse cuenta» de

que se ha saltado como unidades haya entre IF y la unidad que ejecute el salto

(modifique PC).

Estructura de Computadores 14
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

La consecuencia de este riesgo de control es que cuando se actualice PC habrá que

eliminar del cauce (vaciamiento) todas las instrucciones que se hayan leído sin tener

en cuenta el salto (su número dependerá de la profundidad del cauce). Esta pérdida

supondrá una reducción del rendimiento de la cadena de ejecución. La pérdida

obtenida será menor cuanto menos tiempo tarde en actualizarse PC al valor que

debería tener tras la lectura de la instrucción.

El problema de las rupturas de secuencia se complica si estas no se producen con

certeza, es decir, si son condicionales. Cuando se trata de saltos condicionales no

solo hay que tener en cuenta la actualización de PC, sino que esta puede ocurrir o no

en función de la comprobación de la condición, que dependerá de alguna instrucción

ejecutada previamente. Estas instrucciones combinan el efecto de un riesgo de

control (ruptura de secuencia) con un riesgo de dependencia (evaluación de la

condición).

En el manual de la asignatura (páginas 59-64) se presenta una situación sencilla de

este problema, añadiendo al procesador básico, que se toma como ejemplo, una
instrucción de salto condicional del tipo «bcnd Ra», ante los conflictos que provoca

este tipo de instrucción, se proponen dos técnicas que se deben conocer:

▸ Inserción de instrucciones NOP.

▸ Salto retardado.

Que son dos de las posibles que se pueden plantear para resolver riesgos de este

tipo, en cualquier caso, las soluciones planteadas para este tipo de conflictos, y para

cualquiera, dependerán de la arquitectura concreta sobre la que se pretenda aplicar,

aunque se mantenga la filosofía de la solución.

Estructura de Computadores 15
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Implementación de instrucciones de acceso a memoria

Los conflictos asociados a instrucciones de acceso a memoria permiten ilustrar los

llamados riesgos estructurales.

En este caso, en el manual (páginas 64-67) se emplean como ejemplo la

incorporación de instrucciones de transferencia de información entre registros y

memoria. Instrucciones de tipo carga (load), transferencia de memoria a registro, y

almacenamiento (store), transferencia de registro a memoria. A partir de los

problemas asociados a los accesos a memoria, se observa la necesidad de incluir

dos elementos nuevos:

▸ La unidad de gestión de memoria (MMU, memory management unit), incluida en

la arquitectura del procesador, que será la encargada del cálculo de la dirección


física de memoria (memoria virtual, direccionamientos relativos).

▸ Una nueva etapa al cauce, que en el ejemplo se designa como MEM, para asumir el

coste en tiempo del acceso (gestión del acceso, disponibilidad de la información,


estados de espera).

En este apartado se observa además la posibilidad de que existan riesgos RAW que

involucren a operandos en memoria (retardo de uso de carga).

Espacio de diseño de los procesadores segmentados

En el apartado 2.4 del manual (páginas 69-74), se presentan los aspectos que

definen el espacio de diseño de los procesadores segmentados. Según la

organización del cauce:

▸ Número de etapas.

▸ Subtarea que implementa cada etapa.

Estructura de Computadores 16
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

▸ Distribución de la secuencia de etapas.

• Cauce único.

• Cauces dobles.

• Cauces múltiples.

▸ Uso de atajos.

▸ Temporización del cauce.

• Síncrona.

• Asíncrona.

Según las alternativas de resolución de dependencias:

▸ Estática (compilador).

▸ Dinámica (elementos HW en ejecución).

▸ Combinada.

Estructura de Computadores 17
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.4. Optimización de cauces funcionales

En este apartado se presentan los conceptos de cauce lineal y no lineal y se

desarrolla un sistema de diseño de unidad de control para optimizar un cauce no

lineal (Ortega et al., 2005).

▸ Cauce lineal: cada etapa está conectada solo con una etapa anterior y otra

posterior, y las entradas a procesar (instrucciones, operandos…) se pueden


introducir en el cauce al ritmo de una cada ciclo de reloj.

▸ Cauces no lineales:

• Hay etapas que necesitan varios ciclos de reloj.

• Algunas etapas se vuelven a reutilizar por una misma operación.

• Una misma operación (instrucción...) puede utilizar más de una etapa al mismo
tiempo.

• oEl orden en que se visitan las etapas (y las etapas que se visitan) puede cambiar
de una operación a otra (cauces multifuncionales).

• Pueden existir dependencias entre las operaciones que se introducen en el cauce,


de forma que el orden en que una operación visite las etapas cambie dinámicamente
(cauces dinámicos multifuncionales)

Estructura de Computadores 18
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

Además, la productividad de un cauce depende de:

▸ Que exista una fuente continua de operaciones (instrucciones...) a realizar.

▸ De que exista un procedimiento eficaz de planificación del cauce.

En este punto se presentan además conceptos como la tabla de reservas, la

latencia prohibida, los ciclos avariciosos y el vector o matriz de colisiones.

Estructura de Computadores 19
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.5. Interrupciones en un procesador segmentado

Las interrupciones son difíciles de manejar en un procesador segmentado dado que

el solapamiento entre instrucciones hace más difícil determinar el momento en que

una instrucción puede cambiar de forma segura el estado de la máquina. La Tabla 1

expone una clasificación de los diferentes tipos de interrupción.

Tabla 1. Clasificación de los distintos tipos de interrupción. Fuente: Ortega et al., 2005.

Por otro lado, conviene tener en cuenta los siguientes conceptos relacionados con

interrupciones:

▸ Excepciones síncronas/asíncronas: si el evento se produce en el mismo lugar

cada vez que se ejecuta el programa es síncrono. Los eventos asíncronos se

originan en los dispositivos externos al procesador y la memoria. Los eventos


asíncronos son más fáciles de manejar puesto que se pueden atender después de
que se complete la instrucción en curso.

▸ Solicitadas por el usuario o sobrevenidas: si las solicita el usuario no son

realmente excepciones puesto que son predecibles (se tratan como excepciones
porque utilizan el mismo mecanismo para almacenar y restaurar el estado). Las
sobrevenidas se deben a un evento que no controla el programa.

▸ Enmascarables o no enmascarables.

▸ Dentro de una instrucción o entre instrucciones: según el evento impide que se

Estructura de Computadores 20
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

termine la ejecución de la instrucción porque ocurre en mitad de la misma (son


siempre excepciones síncronas y son difíciles de procesar porque la instrucción debe
pararse y empezar de nuevo) o bien ocurren entre instrucciones.

▸ Excepciones para terminar o con continuación(«terminate/resume») que

terminan el programa (catastróficas) o que permiten continuar el programa tras ser

procesadas (no catastróficas).

Según se atiendan las interrupciones respetando o no el orden de ejecución de las

instrucciones, se habla de interrupciones precisas o imprecisas.

Interrupciones precisas

▸ Permiten garantizar que, después de una interrupción no catastrófica, el proceso

interrumpido continúe correctamente.

▸ El estado de la máquina en el momento de la interrupción es idéntico al que existiría

si la ejecución fuese secuencial. Ese estado se llama estado preciso y cumple las
siguientes condiciones:

• Todas las instrucciones que se emitieron antes de la instrucción indicada por el PC


almacenado (para continuar el proceso interrumpido) se han completado.

• Las instrucciones posteriores al valor indicado por el PC almacenado no se ejecutan

y no han cambiado el estado del procesador.

• Si la interrupción fue ocasionada por una instrucción, el contador de programa

apunta a esa instrucción, que puede ejecutarse completamente o no.

En el manual de la asignatura se describen ejemplos de procesamiento de

interrupciones precisas e imprecisas y qué interrupciones se ajustan a cada tipo.

Estructura de Computadores 21
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
Ideas clave

5.6. Referencias bibliográficas

Ortega, J., Anguita, M. y Prieto, A. (2005). Arquitectura de computadores. Thomson.

Estructura de Computadores 22
Tema 5. Ideas clave
© Universidad Internacional de La Rioja (UNIR)
A fondo

Otra visión de los procesadores escalares

Stallings, W. (2006). Organización y arquitectura de computadores. Pearson.

Disponible a través de este enlace.

Para tener otra visión sobre la implementación de la segmentación de cauce en un

procesador, conviene revisar el tema 12 (páginas 437 a 464) del libro Organización y

arquitectura de computadores de William Stallings (Pearson, 2006). Que fue el

manual de asignatura empleado en Tecnología de Computadores del primer curso.

Si además se busca tener una idea clara de las características de las arquitecturas

CISC y RISC en relación con la segmentación, también se puede leer el tema 13 del

mismo libro.

Estructura de Computadores 23
Tema 5. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Segmentación (pipelining)

Hennessy, J. y Patterson, D. (2002). Arquitectura de computadores. Un enfoque

cuantitativo (pp. 269 a 352). McGraw-Hill. Disponible a través de este enlace.

En el capítulo 6 puedes encontrar el desarrollo de un procesador didáctico clásico

para la segmentación de cauce como el DLX, simplificación del MIPS, diseño que

llevaron a cabo los autores en los años 80.

Estructura de Computadores 24
Tema 5. A fondo
© Universidad Internacional de La Rioja (UNIR)
A fondo

Assemblers, linkers, and the SPIM simulator

Hennessy, J. y Patterson, D. (2014). Appendix A. Assemblers, linkers, and the SPIM

simulator. En Computer organization and design. The hardware / software interface.

Elsevier. [Link]

Para conocer el ensamblador del procesador con segmentación de cauce MIPS, se

puede revisar el apéndice A.

Estructura de Computadores 25
Tema 5. A fondo
© Universidad Internacional de La Rioja (UNIR)
Test

1. La segmentación de cauce:

A. Es una técnica que se basa en agrupar varias unidades aritméticas en el

procesador de modo que se puedan ejecutar un determinado número de

operaciones simultáneamente.

B. Consiste en dividir la ejecución de instrucciones en fases y diseñar

procesadores formados por distintas etapas de modo que cada una de ellas

pueda desarrollar una fase de forma independiente.

C. Es una técnica que se aplica en la configuración de la jerarquía de

memoria.

D. Las tres respuestas anteriores son correctas.

2. En un procesador segmentado:

A. Se pueden ejecutar varias instrucciones al mismo tiempo en diferentes

fases de ejecución.

B. El procesador se divide en varios procesadores más reducidos, pero de

funcionalidad similar.

C. La longitud de la cadena depende del tamaño de los operandos que

maneje el procesador.

D. Ninguna de las tres respuestas anteriores es correcta.

3. El TLI de un procesador segmentado:

A. Representa el tiempo que tardan en ejecutarse n instrucciones similares.

B. Indica la velocidad de ejecución del cauce.

C. Representa el tiempo de ejecución de una instrucción aislada o de la


primera instrucción de una aplicación.

D. Las tres respuestas anteriores son falsas.

Estructura de Computadores 26
Tema 5. Test
© Universidad Internacional de La Rioja (UNIR)
Test

4. La técnica de segmentación de cauce se implementó por primera vez:

A. Para acelerar los accesos a memoria.

B. Para ejecutar mayor número de instrucciones por unidad de tiempo.

C. Para aumentar el tamaño de los operandos.

D. Para acelerar las operaciones en coma flotante.

5. Un procesador no segmentado tarda en ejecutar una instrucción un tiempo T, si

su unidad de ejecución se divide en varias etapas cuyo tiempo de proceso es t y se

ejecutan n instrucciones:

A. La máxima ganancia que se obtendría en el segundo caso respecto al

primero sería T×t.

B. La máxima ganancia que se obtendría en el segundo caso respecto al

primero sería T/n.

C. La máxima ganancia que se obtendría en el segundo caso respecto al

primero sería T/t.

D. La máxima ganancia que se obtendría en el segundo caso respecto al

primero sería t×n.

6. Un procesador no segmentado tarda en ejecutar una instrucción un tiempo T, si

su unidad de ejecución se divide en varias etapas cuyo tiempo de proceso es t y se

ejecutan n instrucciones:

A. … si T<TLI, la eficiencia máxima obtenible puede ser mayor que 1.

B. … si T<TLI, la eficiencia máxima obtenible será menor que 1.


C. … si T<TLI, la eficiencia máxima obtenible será 1.

D. Ninguna de las respuestas anteriores es cierta.

Estructura de Computadores 27
Tema 5. Test
© Universidad Internacional de La Rioja (UNIR)
Test

7. Respecto a los riesgos o conflictos en segmentación de cauce, se puede decir:

A. Que pueden ser de datos, de control y estructurales.

B. Que nunca se pueden dar si el número de etapas es par.

C. Que los conflictos de datos solo existen en procesadores superescalares.

D. Las tres respuestas anteriores son correctas.

8. ¿En qué consiste la técnica del salto retardado?

A. En que se retrasó el salto tanto como sea posible.

B. En que siempre se ejecute la instrucción que sigue al salto.

C. En que el salto se pueda realizar hacia delante y hacia atrás respecto a la

posición actual.

D. En que el salto a realizar se sitúe al final del programa.

9. Respecto a la resolución de dependencias de la segmentación de cauce:

A. Se dice que es estática si depende de la optimización del hardware del

procesador.

B. Se dice que es dinámica si cambia su comportamiento según cambie la

instrucción.

C. Se dice que es dinámica si depende del último resultado obtenido en la

ALU.

D. Se dice que es estática si el compilador ordena las instrucciones de forma

adecuada para evitar problemas derivados de las dependencias.

Estructura de Computadores 28
Tema 5. Test
© Universidad Internacional de La Rioja (UNIR)
Test

10. En un procesador segmentado:

A. El cauce es lineal si cada etapa conectada solo tiene una etapa anterior y

otra posterior, y las instrucciones se pueden introducir en el cauce al ritmo de

una cada ciclo de reloj.

B. El cauce es lineal si admite que una misma instrucción reutilice la misma

etapa varia veces.

C. Una interrupción es precisa si tras atenderla se vuelve a ejecutar siempre


la instrucción que se estaba procesando cuando apareció.

D. Ninguna de las afirmaciones anteriores es correcta.

Estructura de Computadores 29
Tema 5. Test
© Universidad Internacional de La Rioja (UNIR)

También podría gustarte