Sie sind auf Seite 1von 12

Problemas Pipeline

1. Considere dos procesadores, uno sper escalar y otro sper segmentado, el procesador superescalar es de grado 4 y el procesador supersegmentado divide su trabajo en 20 etapas. A
20 etapas 1 pipeline

B
5 etapas

4 pipelines

a. (2 puntos) Si el tiempo en el que se desarrolla una instruccin es el mismo para ambos, indique la relacin de frecuencias de reloj entre ambos (la frecuencia de reloj de A es X veces mayor a la de B), as como la productividad de ambos (en teora, A produce Z resultados por unidad de tiempo, en tanto que B produce W resultados por unidad de tiempo). b. (2 puntos) Discuta brevemente, las razones que lo llevaran a decantar por uno u otro esquema para trabajar con uno de los diseos, fundamentando claramente su respuesta.

2. Se tiene un computador A, con las fases tpicas de ejecucin de una instruccin, que se indican seguidamente, junto a los tiempos empleados en cada una de ellas: i) ii) iii) iv) v) Bsqueda de la instruccin e incremento de PC. Decodificacin y lectura de registros. Ejecucin y clculo de direcciones. Acceso a memoria en las instrucciones de Load y Store. Escritura del resultado en registros. 10ns 8ns 10ns 10ns 7ns

Y otro computador B con el mismo juego de instrucciones pero con un pipeline de 5 etapas, las correspondientes a las fases anteriores. La inclusin de los registros de desacoplo necesarios entre las etapas del pipeline introduce un retardo de 1ns en el paso de una etapa a la siguiente. Considere que cuando se tiene tiempos diferentes en las fases, al construir el pipeline se toma el tiempo ms lento para todas las fases. Sabiendo que del total de las instrucciones ejecutadas en estos computadores: El 40% son del tipo A (Ej. Aritmticas o Lgicas). El 20% son del tipo B (Ej. Bifurcaciones). El 20% son del tipo C (Ej. Instrucciones Load). Y el 20% son del tipo D (Ej. Instrucciones Store).

Calcule: c. (2.0 puntos) El tiempo medio de ejecucin por instruccin en ambos computadores. d. (2.0 puntos) Ganancia (speedup) obtenida con el computador con pipeline. Nota: Suponga que en el computador con pipeline todas las instrucciones pasan por todas las etapas. En el computador sin pipeline: las instrucciones tipo A no realizan acceso a memoria; los del tipo B, no realizan acceso a memoria ni escritura en registros; los del tipo C, necesitan todas las fases y las del tipo D, no realizan escritura en registros.

3. Considere un procesador que ejecuta las instrucciones por etapas. Cada etapa consume un ciclo de reloj, y se ejecutan en forma secuencial segn lo siguiente: 1: IF: Bsqueda de la instruccin, tiempo requerido 3ns 2: ID: Decodificacin y bsqueda de operandos, tiempo requerido 3ns 3: EX: Ejecucin y clculo de la direccin efectiva, tiempo requerido 3ns 4: MEM: Acceso a memoria de datos, tiempo requerido 3ns 5: WB: Post escritura, tiempo requerido 3ns Considere que el procesador ensamblador: LOAD LOAD ADD AND LOAD LOAD XOR R1, 10h R2, 20h R1, R2 R3, R1 R4, 16h R5, 23h R4, R5 ejecuta la siguiente seccin de cdigo en su lenguaje

; R1 = 10h ; R1 = R1 + R2 ; R3 = R3 & R1

e. (2 puntos) Se pide, comparar el tiempo de ejecucin del programa en un procesador sin pipeline y otro procesador que si pueda ejecutar el mismo cdigo pero segmentando el proceso de ejecucin en 5 etapas. f. (2 puntos) A cunto se reducira el tiempo de ejecucin del mismo cdigo al ser ejecutado en un procesador que cuente con una unidad de control que tenga la capacidad de emplear alguna tcnica de adecuada para la ejecucin fuera de orden?

4. Considere la segmentacin bsica de dos procesadores antiguos -contemporneos entre s- el AMD Athlon K7 y el Intel Pentium III, en ambos casos de 10 etapas. Entre las mayores diferencias que podramos identificar para ambos procesadores tenemos la cantidad de instrucciones x86 que pueden absorber a la vez, en el caso del Athlon K7 podan ser 3 instrucciones simultneas, en tanto que el Pentium III nicamente 2. A nivel interno el Athlon K7 contaba con 9 unidades de ejecucin paralelas para instrucciones internas sencillas, en tanto que el Pentium III con 5. Al hablar de instrucciones internas sencillas, nos referimos a instrucciones internas de estilo RISC que utiliza cada uno de estos procesadores (en diferentes traducciones) para ir resolviendo las instrucciones CISC propias del conjunto x86 con las que trabaja cada uno de estos CPU. Si hay algo que favoreca notablemente a los procesadores Intel era el hecho que la tecnologa bajo la cual estaban fabricados, permita la resolucin de cada fase a una mayor velocidad, teniendo

como efecto una mayor frecuencia de reloj de trabajo, por el contrario, la cantidad de trabajo efectivo que realizaba por cada ciclo de reloj era un tanto menor que la de su competidor. a. (2 puntos) Es posible considerar como modelos comparables (en trminos de rendimiento) a un procesador AMD Athlon K7 de 800MHz contra un Intel Pentium III de 1GHz? Establezca y explique los criterios que le permitiran afirmar que la comparacin anterior podra ser aceptada como vlida (que minimizan el peso de la diferencia en frecuencia de operacin sobre el rendimiento). b. (2 puntos) Los sucesores de cada uno de estos procesadores, el Athlon XP de AMD y el Intel Pentium 4 se diferencian fuertemente por su nivel de segmentacin, pues en tanto que el ncleo de los primeros Athlon XP incorporaba un pipeline bsico de 12 fases, el P4 contena hasta 20 etapas. Explique, bajo esta perspectiva, cual de los dos caminos podra haber resultado como el ms conveniente; sustente claramente su respuesta.
5. (4.0 puntos) El siguiente programa ser ejecutado en un procesador RISC segmentado con 4 etapas: IF, ID, EX, WB. R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 SALTO LOOP R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 R0 = R0 + 1 R3 = R0 + R3 R2 = R2 + 5 b. (2.0 puntos) Grafique la ejecucin del programa en el procesador segmentado sobre un diagrama de tiempo. c. (2.0 puntos) Qu inconvenientes se presentan en la ejecucin? Cmo se solucionaran? Explique.

LOOP:

6. Considere un programa que genera una secuencia de 500,000 instrucciones mayoritariamente aritmtico lgicas y sin considerar saltos. a. Determine el tiempo de ejecucin del programa en un CPU segmentado en 5 etapas con un ciclo de reloj de 1.5ns. b. Determine el Speedup alcanzado, al ejecutar el mismo programa en un CPU superescalar grado 2, con 5 etapas por instruccin, con un ciclo de reloj de 2ns. Asuma que la ejecucin del programa se realiza en ambos casos, sin detenciones de ningn tipo (no existen riesgos).

7. Acerca de la clasificacin de arquitecturas CISC/RISC, se pide responder a las siguientes preguntas:

a. (2 puntos) Por qu razn an cuando RISC se muestra ms eficiente en trminos de implementacin y ejecucin sobre un pipeline, es menos popular que la arquitectura CISC en el campo de computacin de propsito general? b. (2 puntos) De qu manera los procesadores de la IA32, que son eminentemente ejemplos de arquitectura CISC, pueden lidiar con los problemas de ineficiencia en la explotacin de la infraestructura del pipeline inherente a la heterogeneidad de su juego de instrucciones? Detalle las tcnicas empleadas para minimizar tales problemas.

8. Se tiene un computador con un procesador de 800 MHz y un pipeline de 5 fases (IF, ID, ALU, MEM, WB), todas las fases tienen la misma duracin equivalente a un T. Se desea ejecutar el siguiente programa en lenguaje ensamblador: MOV MOV SUB XOR MOV OR MOV MOV AND SUB MOV MUL ADD a) AX, 2000H BX, 4508 AX, BX BX, AX DX, 73E2H DX, 0F05H CX, 0A4F4H AX, 1234 DX, CX CX, AX CX, 2345 CX DX, 500

; AX = AX - BX ; BX = BX (OR EXCLUSIVA) AX

; DX = DX (AND) CX ; DX:AX AX * DX

(1.5 ptos) Calcule el nmero de ciclos empleado y el tiempo de ejecucin del programa. Justifique su respuesta empleando un grfico.

b) (2.5 ptos) Proponga un arreglo para eliminar las dependencias de datos en el pipeline y as mejorar el tiempo de ejecucin del programa. Cul sera el nuevo nmero de ciclos empleado y su tiempo de ejecucin? Justifique su respuesta empleando un grfico.

9. Dados los siguientes comentarios, justifique o niegue la afirmaciones que se indican en cada prrafo. Deber explicar claramente y al detalle las razones de su respuesta. a) ( 1 punto ) Los microprocesadores "cableados": aquellos que tienen una unidad de control especficamente diseada sobre el silicio para un juego de instrucciones concreto y los microprocesadores "microprogramados": aquellos que tienen una unidad de control genrica o prediseada y que implementan un juego de instrucciones u otro dependiendo de un microprograma.

b) ( 1 punto ) Hoy da la microprogramacin ha desaparecido prcticamente por completo. Esto se debe a los siguientes factores: Ya existen herramientas avanzadas para disear complejas unidades de control con millones de transistores litografiados. Estas herramientas prcticamente garantizan la ausencia de errores de diseo. Las unidades de control cableadas tienen un rendimiento significativamente mayor que cualquier unidad microprogramada, resultando ms competitivas.

c)

(1 punto ) Intel acaba de presentar la siguiente evolucin de su microarquitectura, con nombre comercial Core i7 y conocida como Nehalem. Las novedades ms importantes de los nuevos procesadores son el abandono de la arquitectura de bus que ha usado Intel desde el Pentium-Pro , para pasar a una nueva denominada Intel QuickPath Interconnect, QPI y la inclusin de los controladores de memoria en la propia oblea (cosa que ya hizo AMD hace tiempo). Core i7 es un microprocesador con un pipeline de ejecucin de 14 etapas capaz de ejecutar instrucciones fuera de orden. Las unidades de ejecucin no han cambiado respecto a la actual arquitectura Core 2. Ha vuelto la tecnologa de hyperthreading (SMT), de tal manera que un micro con dos cores fsicos, el sistema ver ahora como cuatro lgicos, lo que sea por no tener hardware ocioso.

10. La sper escalaridad es una caracterstica que consiste en la replicacin de unidades de ejecucin con el fin de mejorar la productividad y el rendimiento; de acuerdo a esta afirmacin, se pide responder a las siguientes preguntas:
a.

(1 punto) Un procesador con dos ncleos (por ejemplo un Core2duo o un Pentium D) puede ser considerado sper escalar? Sustente. (1 punto) La multiplicidad de recursos permite la ejecucin en paralelo de ms instrucciones; es esto el nico hecho que garantiza que obtendremos as un mayor rendimiento o hace falta considerar otros aspectos?

b.

c. (1 punto) Un procesador Pentium 4 con HT es un procesador capaz de ejecutar dos hilos independientes en un tiempo menor al que consumira un procesador Pentium 4 que no cuenta con dicha tecnologa; se pide explicar de un modo sencillo esta situacin. Asuma que ambos procesadores operan a frecuencias de reloj muy similares. d. (1 punto) Es posible pensar que un procesador sper escalar y sper segmentado (tal como un Pentium D) es necesariamente un procesador de alto rendimiento y eficiencia? qu argumentos podra ofrecer a favor o en contra de este argumento? (por ejemplo, como saldra de compararlo contra un Core2duo).

11. Responder brevemente: a. (2 puntos) A partir del procesador Pentium II en adelante, el micro cdigo de la unidad de control del microprocesador es accesible y reprogramable, permitiendo as corregir errores/optimizar los contenidos de la memoria de control de acuerdo a las diferentes revisiones que desarrolla el fabricante (Intel). Se denomina stepping al valor que corresponde con el nmero de la revisin (un valor de stepping ms alto corresponde con una versin ms refinada). La actualizacin se efecta mediante un proceso especial que tiene lugar durante el arranque del computador (que viene a ser parte de los denominados BIOS update de las placas madre Intel), y para ello, se debe contar con la utilidad y los archivos binarios respectivos que se pueden descargar desde el sitio web del fabricante. En base a lo expuesto, se pide discutir los siguientes aspectos (1 punto c/u): i) Es posible considerar que son potencialmente reprogramables las secuencias de control de TODAS las instrucciones del microprocesador? Justifique su respuesta.

ii) Explique cules seran los beneficios (en trminos de costo y de flexibilidad de la arquitectura) as como las posibles desventajas que encontrara en esta implementacin. b. (2 puntos) Un punto comn a los procesadores ms avanzados de la IA32 (Intel Architecture 32) es el empleo de las tcnicas de prediccin de saltos y ejecucin especulativa. Al respecto, se pide indicar la razn de la implantacin de tales tcnicas detallando el funcionamiento de cada una de ellas (tiene que diferenciarlas).

12. Responder de manera sencilla y ordenada: a. (1 punto) Por qu razn se considera que una segmentacin extrema (de muchas etapas) en el cauce de un procesador no necesariamente genera un incremento en el rendimiento directamente proporcional al nmero de fases en las que se divide el trabajo? Comente cada uno de los inconvenientes que pudiera citar. b. (2 puntos) Explique claramente cada concepto as como la utilidad respectiva en cada caso: Ejecucin fuera de orden. Prediccin de saltos. Hyper threading. Super escalaridad.

13. (3 puntos) El fragmento de programa que se muestra a continuacin realiza un producto escalar de dos vectores apuntados por los registros R1 y R2. El registro R4 contiene el tamao del vector y R3 es un puntero al resultado de la multiplicacin. Este programa ha sido codificado para ser ejecutado en un computador secuencial (sin pipeline). El registro R0 contiene el valor 0. (1) (2) (3) (4) BUCLE: (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) BEQ R4, R0, $ERROR AND R7, R7, R0 AND R8, R8, R0 LD R5, [R1] LD R6, [R2] MUL.dss R9, R5, R6 ; Multiplica R5 por R6 y deja el resultado en R10-R9 ADD R7, R7, R9 ADDC R8, R8, R10 ADD R1, R1, #4 ADD R2, R2, #4 SUB R4, R4, 1 BNEQ R4, R0, $BUCLE ST R8, [R3] ST R7, #4 [R3]

Suponga que se desea ejecutar este programa en un computador con modelo de ejecucin registro - registro y pipeline de instrucciones con las siguientes etapas: 1. Bsqueda de la instruccin e incremento del PC (BI).

2. 3. 4. 5.

Decodificacin de la instruccin, lectura de registros y clculo de las direcciones de salto (DLR). Ejecucin, evaluacin de las condiciones de salto y clculo de direcciones efectivas en las instrucciones LD (LOAD) y ST (STORE) (EJ). Acceso a memoria en las instrucciones LD y ST (MEM). Escritura del resultado en el banco de registros (ER).

Este computador no dispone de ningn mecanismo hardware que permita detectar dependencias de datos, ni tiene mecanismos para realizar adelantamiento entre etapas (forwarding). Se pide: Indicar entre qu instrucciones del programa del enunciado hay que aadir ciclos de espera software (instrucciones NOP) para que se pueda ejecutar correctamente en el computador con pipeline.

14. Hypertransport es una tecnologa desarrollada por un consorcio de industrias, la cual se presenta presta para mltiples aplicaciones de alta velocidad y facilidad de interconexin. Considere el siguiente fragmento: Applications for HyperTransport Front-Side Bus Replacement The primary use for HyperTransport is to replace the front-side bus, which is currently different for every type of machine. For instance, a Pentium cannot be plugged into a PCI Express bus. In order to expand the system, the proprietary front-side bus must connect through adapters for the various standard buses, like AGP or PCI Express. These are typically included in the respective controller functions, namely the northbridge and southbridge. In contrast, HyperTransport is an open specification, published by a multi-company consortium. A single HyperTransport adapter chip will work with a wide spectrum of HyperTransport enabled microprocessors. For example, Broadcom HT-1000 and HT-2000 server controller devices can work with many different HyperTransport enabled microprocessors. AMD uses HyperTransport as the Front-Side Bus in their Opteron, Athlon 64, Turion 64, and Phenom families of microprocessors. Fuente: http://en.wikipedia.org/wiki/HyperTransport a. (1 punto) Seale que ventajas apreciables podra encontrar en el uso de la tecnologa Hypertransport para aplicaciones de cmputo, dicho de otro modo, proponga situaciones para las que la aplicacin de esta tecnologa puede resultar conveniente. b. (2 puntos) Los procesadores Phenom de AMD utilizan un bus HyperTransport 3.0, el cual es totalmente compatible con las versiones anteriores y que le permite desarrollar una velocidad de transferencia pico de hasta 16GBps. Al respecto, considerando que procesadores como el Core 2 Duo de Intel en sus versiones de gama media para escritorio, puede desarrollar en su bus frontal de sistema hasta 6.4GBps, explique si realmente

velocidades tan altas son del todo explotables por computadores de propsito general. De no ser el caso, proponga aplicaciones en las que si sera requerido un throughput tan alto.

15. Considere la segmentacin bsica de dos procesadores antiguos -contemporneos entre s- el AMD Athlon K7 y el Intel Pentium III, en ambos casos de 10 etapas. Entre las mayores diferencias que podramos identificar para ambos procesadores tenemos la cantidad de instrucciones x86 que pueden absorber a la vez, en el caso del Athlon K7 podan ser 3 instrucciones simultneas, en tanto que el Pentium III nicamente 2. A nivel interno el Athlon K7 contaba con 9 unidades de ejecucin paralelas para instrucciones internas sencillas, en tanto que el Pentium III con 5. Al hablar de instrucciones internas sencillas, nos referimos a instrucciones internas de estilo RISC que utiliza cada uno de estos procesadores (en diferentes traducciones) para ir resolviendo las instrucciones CISC propias del conjunto x86 con las que trabaja cada uno de estos CPU. Si hay algo que favoreca notablemente a los procesadores Intel era el hecho que la tecnologa bajo la cual estaban fabricados, permita la resolucin de cada fase a una mayor velocidad, teniendo como efecto una mayor frecuencia de reloj de trabajo, por el contrario, la cantidad de trabajo efectivo que realizaba por cada ciclo de reloj era un tanto menor que la de su competidor. a. (2 puntos) Es posible considerar como modelos comparables (en trminos de rendimiento) a un procesador AMD Athlon K7 de 800MHz contra un Intel Pentium III de 1GHz? Establezca y explique los criterios que le permitiran afirmar que la comparacin anterior podra ser aceptada como vlida (que minimizan el peso de la diferencia en frecuencia de operacin sobre el rendimiento). b. (2 puntos) Los sucesores de cada uno de estos procesadores, el Athlon XP de AMD y el Intel Pentium 4 se diferencian fuertemente por su nivel de segmentacin, pues en tanto que el ncleo de los primeros Athlon XP incorporaba un pipeline bsico de 12 fases, el P4 contena hasta 20 etapas. Explique, bajo esta perspectiva, cual de los dos caminos podra haber resultado como el ms conveniente; sustente claramente su respuesta.

16. Los procesadores x86 de generaciones recientes (tales como el Intel Core 2 Duo, el AMD Athlon X2, etc.) emplean la traduccin de instrucciones x86 a instrucciones sencillas internas de un formato RISC, las cuales son ejecutadas en el ncleo ms fcilmente sobre mltiples pipelines. Al respecto: a. (2 puntos) Explique cuales seran las posibles optimizaciones para mejorar la ejecucin de las instrucciones de estilo RISC al interior del ncleo del procesador. b. (2 puntos) Detalle el tipo de unidad de control que emplearan tales procesadores, sealando las razones en las cuales funda su respuesta, indique adems que otras funciones aparte de la decodificacin de instrucciones y la generacin de las seales de control para las unidades de ejecucin, cumplen las unidades de control en estos procesadores.

17. Considere el siguiente prrafo: Con el nombre clave Nehalem, conocido as en todos los aos que se lleva desarrollando por Intel, llega al mercado rebautizado como Intel Core i7, un procesador en versiones de dos, cuatro y ocho ncleos, disponible en velocidades que van desde los 2.66GHz hasta por encima de los 4GHz.

Construido con tecnologa de 45nm, es el primer procesador Intel que consigue poner varios procesadores integrados de forma nativa en un solo chip compartiendo una misma memoria cach y procesador de instrucciones; asimismo, vuelve la tecnologa Hyperthreading (HT). Con Multi-Threading, tecnologa ya utilizada con Pentium 4, para un sistema que tenga instalado el Intel Core i7 Octo, el sistema operativo reportar que tiene instalados 16 ncleos. El viejo HyperThreading (HT), cambia de nombre con Intel Core i7 para llamarse Simultaneous Multi-Threading (SMT). Contar con 2 vas (2-way) que permitir administrar hasta 16 hilos (threads) de ejecucin en un procesador de ocho ncleos, que es lo que permite Intel Core i7 Octo, o en su defecto 8 hilos de ejecucin en un procesador Quad core En la parte final del mismo texto, se indica lo siguiente: Resulta algo contradictorio pues los procesadores multi-ncleos deberan suplir lo que se intentaba hacer con el HyperThreading en procesadores de un solo ncleo de la compaa aos atrs Tomado y adaptado de: Blog de Informtica y tecnologa Javier lvarez Se pide: a. (2 puntos) Explicar el principio bsico del concepto de Hyperthreading (HT), indicando sus ventajas como tambin sus limitaciones. b. (2 puntos) Comente el ltimo prrafo citado, indicando su validez o falsedad. Justifique clara y convenientemente su respuesta.

18. (5 puntos) Responda brevemente las siguientes preguntas: a. (2.5 puntos) Una unidad de control microprogramada contiene secuencias dentro de una pequea memoria; esta aproximacin ahorra pasos en el diseo de un microprocesador puesto que se puede replicar el mismo con soporte para diferentes juegos de instrucciones o incorporar mejoras posteriores entre diferentes versiones de un mismo CPU sin modificar prcticamente nada del hardware. Sin embargo, el uso de tales unidades se vuelve menos comn en los CPU de computadores de propsito general de alto rendimiento, al respecto, se pide indicar desde su punto de vista cuales podran ser las razones por las cuales se viene produciendo este fenmeno. Considere que en nuestros das un procesador tpico puede contener ms de 400 millones de transistores y operar a frecuencias alrededor de los 3GHz. b. (1.5 puntos) Considere el caso hipottico de un procesador que tiene dos unidades de ejecucin completas replicadas (sper escalar) por lo que tericamente podra desarrollar dos instrucciones por ciclo de reloj. Asumamos tambin que, del cdigo que se ejecuta, un 10% de instrucciones son de saltos condicionales, y que de estas, la unidad de prediccin de saltos puede acertar en un 95% de casos. As, un salto condicional en el que se da un acierto, se ejecutara con el CPI ideal inicialmente planteado (0.5 ciclos por instruccin), caso contrario, como sabemos, la penalidad debida al salto ser de N ciclos de reloj, siendo N el nmero de etapas del pipeline. Asuma que el resto de instrucciones que no son saltos condicionales se ejecutan tambin con el CPI ideal.

Calcule cuanto sera el CPI promedio de un procesador de 100MHz con un pipeline de 5 etapas en el cual las instrucciones corren sin detenerse (no hay dependencias de ningn tipo), utilice nicamente las condiciones planteadas.
c. (1 punto) Referido al caso b, compare cuanto sera el CPI medio del mismo procesador si es que ahora se segmenta en 10 fases (asuma segmentacin ideal), indicando cuanto sera la nueva frecuencia de reloj y cuantas instrucciones por segundo podra desarrollar esta nueva versin de procesador.

19. (3 puntos) Qu ventajas presentara para las aplicaciones Anti-Hyper-Threading frente a HyperThreading? Fundamente su respuesta.
HyperThreading Fuente: http://es.wikipedia.org/wiki/HyperThreading La tecnologa HyperThreading corresponde a un diseo de la empresa Intel, que permite al software que ha sido programado para ejecutarse en mltiples hilos (multi-threaded), procesar tales hilos en paralelo dentro del procesador, incrementando el uso de las unidades de ejecucin del procesador. Esta tecnologa consiste en simular dos procesadores lgicos dentro de un nico procesador fsico, el resultado es una mejora en el uso de recursos del procesador, y por lo tanto un incremento en la velocidad de las aplicaciones. Segn Intel la mejora que se obtiene en determinados casos es de aproximadamente el 30%. De todas formas, las aplicaciones que pretendan aprovechar la capacidad de la tecnologa HyperThreading deben haber sido programadas para utilizar mltiples hilos o de lo contrario no se conseguir el paralelismo en la ejecucin que se pretende. Resumiendo, HyperThreading le hace creer al usuario mediante el sistema operativo, que tiene 2 microprocesadores (si el sistema operativo lo soporta, como Linux con kernels SMP) cuando en realidad tiene fsicamente un solo microprocesador. Adems permite procesar las tareas ms rpido. Debe considerarse que esta tecnologa ha generado polmica entre muchas empresas desarrolladoras de software y hardware. Se cree que ha sido una de las innovaciones con poco sentido que obligan a los informticos a sustituir sus equipos por otros con el Socket 775 478 de Intel (con soporte HyperThreading), y el cual, no representa un gran avance en el ahorro de recursos, ni un aumento de velocidad significativo para los sistemas operativos. Anti-Hyper-Threading: el arma secreta de Socket AM2? at007 / Martes, 20 de Junio de 2006 Fuente: http://www.tecnycenter.com/index.php?go=News&in=view&id=314 Hace bastante tiempo han aparecido rumores sobre una tecnologa revolucionaria de AMD, conocida como "Anti-Hyper-Threading". Tal y como su nombre indica, el concepto es todo lo contrario a HyperThreading, y consiste en que varios ncleos de procesador, acten como si fueran uno solo; multiplicando as en teora el rendimiento, incluso para aquellas aplicaciones que no estn optimizadas para ejecutarse sobre varios hilos. Inicialmente se pensaba que esta tecnologa sera difcil de implantar en la vida real, ya que IBM estuvo trabajando durante muchos aos en algo parecido a "Anti-Hyper-Threading" sin ningn xito. Pero segn la informacin que hemos obtenido de algunas fuentes cercanas a AMD, el "Anti-Hyper-Threading" podra estar mas cerca de lo que pensbamos.... Parece ser que esta tecnologa ya est implantada en los procesadores Athlon 64 X2 para Socket AM2, y para activarla solo har falta actualizar el driver de procesador y la BIOS de la placa base. Adems

10

Microsoft debe sacar un parche para sus sistemas operativos para aumentar la efectividad de "Anti-HyperThreading". La verdad es que no sabemos si esta informacin es cierta, as que no podemos asegurar nada; pero como esto sea cierto, el procesador Intel Core 2 Duo (nombre cdigo "Conroe") tendr un duro contendor con unos precios realmente competitivos.

20. (3 puntos) La sper segmentacin lleva consigo a la necesidad de contar con dispositivos cada vez ms veloces en tanto que la sper escalaridad demanda la integracin de ms componentes dentro de los micro chips, explique las razones que fundan a cada una de las afirmaciones anteriores, e indique de acuerdo a su opinin, cul de las dos caractersticas (sper escalaridad o sper segmentacin) es ms viable en su implantacin en los CPU modernos. Justifique claramente su respuesta.

21. (5 puntos) Una de las caractersticas de la arquitectura Netburst (que corresponde con procesadores Pentium 4) fue la de incorporar unidades ALU para manejo de enteros operando al doble de velocidad que la del resto del ncleo del procesador, tales ALU permitan mantener un flujo de micro operaciones internas del procesador bastante elevado, generando en teora un mayor rendimiento. Los primeros ncleos para procesadores Pentium 4 Northwood fabricados con tecnologa de 130nm contaban con pipelines de 20 etapas, en tanto que una versin posterior de tales ncleos Prescott fabricados con tecnologa de 90nm, contaban con pipelines de 31 etapas. a. (1.5 puntos) Considere que se habla de procesadores Pentium 4 con ncleos Northwood y Prescott respectivamente, y en medio de tal discusin le piden responder segn su parecer, cul sera el ncleo con mayor frecuencia de reloj. Qu respondera? Sustente adecuadamente b. (1.5 puntos) Referido al caso (a) es el ncleo con mayor frecuencia de reloj el de mejor CPI? Comente c. (2 puntos) Ahora bien, le indican que para la poca, uno de los problemas que enfrent el equipo de diseo del ncleo Prescott era que las ALU ya no podan duplicar en frecuencia al resto del ncleo, generando un potencial cuello de botella en este punto (entrega de micro operaciones con enteros), por lo que se decidi que en lugar de pensar en disear una ALU con el doble de velocidad que el resto del ncleo, se duplicara el nmero de tales elementos (doble de unidades ALU). Al respecto, se pide explicar: como alivia el problema tener ALU duplicadas y como trabaja tal solucin, lo mismo que sealar la implicacin que tiene esto en la implementacin fsica del ncleo (comente acerca del rea ocupada y del consumo de potencia)

22. Acerca de la segmentacin del camino de datos en un procesador (pipeline), se pide responder: a. (1.5 puntos) La unidad de control de procesadores x86 de reciente generacin incorpora como parte de su trabajo el reordenamiento de las instrucciones a ejecutar (tambin denominada OOE Out of Order Excecution), el renombramiento interno de registros de operacin y la prediccin de saltos. Explique brevemente, las razones por las cuales se implementan tales formas de operacin, proponiendo en lo posible su respuesta en el marco de una situacin hipottica de operacin del microprocesador

11

b. (1.5 puntos) Cierta unidad de control emplea un esquema de prediccin de saltos, basado en el siguiente diagrama de estados:

Para este caso, considere a T como taken que indica que el ltimo salto fue tomado y a N como Not taken que indica que el salto no fue tomado. As por ejemplo, si un salto condicional no fue tomado y el siguiente salto condicional que se presenta fue tomado, el estado actual sera NT y la prediccin de la unidad de control, ser que el prximo salto condicional que se presente, ser tomado, en caso de que ello ocurra, pasaremos al estado TT, en caso de que la unidad de control falle en su prediccin, pasaramos al estado TN. Determine la efectividad (en porcentaje) de dicho esquema de predicciones para el siguiente programa, asuma que el estado inicial de la unidad de prediccin es NN. Cdigo mov ax, 0 SALTO: cmp ax, 100 jge SALIDA jmp SALTO SALIDA: mov ax, 4C00h ; fin de programa int 21h ; compara ax con 100 ; si ax es mayor o igual a 100, salta a SALIDA ; regresa a SALTO Comentario ; registro ax = 0
Instruccin de salto condicional

12

Das könnte Ihnen auch gefallen