Está en la página 1de 16

TRABAJO DE ARQUITECTURA DEL COMPUTADOR

(RENDIMIENTO)

HECHO POR:

JUAN CAMILO ÁLVAREZ MONTIEL

GUILLERMO JOSÉ AVILÉZ CARRASQUILLA

JESÚS DANIEL AVILÉZ CARRASQUILLA

MARIO ANDRES MORALES CARMONA

ING. SISTEMAS

VIII SEMESTRE

ING. WALTER RIVERA

CORPORACIÓN UNIVERSITARIA ANTONIO JOSÉ DE SÚCRE

SINCELEJO – SÚCRE

2019

1
TABLA DE CONTENIDO

1: Definir las siguientes técnicas que usa el procesador para aumentar su velocidad y eficiencia:

Pipelining, Branch prediction, Superescalar execution, Data flow análisis, Speculative execution.............3

2: Explicar la diferencia entre Latency (execution time) y Throughput (bandwidth) en la medida de

rendimiento de los computadores:.............................................................................................................4

3: Explicar las diferencias entre Sistemas multinúcleo, Intel MICs, y GPGPU..............................................4

4: Explicar la Amdahl’s law y la Little’s law, adicionar un ejemplo para cada una.......................................5

5) Definir Clock Rate (Clock Speed), Clock Cycle y Cycle time......................................................................8

6. Definir CPI Rate, MIPS Rate and FLOPS, y explicar mediante un ejemplo................................................8

7. ¿Qué son los SPEC benchmarks?...........................................................................................................10

8. ¿Cuáles son las diferencias entre base metric, peak metric, speed metric, y rate metric?....................10

9. Explicar la diferencia entre las vulnerabilidades MELTDOWN Y SPECTRE y que acciones se han tomado

para evitarlas o mitigar su efecto..............................................................................................................12

10. PROBLEMAS RESUELTOS......................................................................................................................13

2
1: Definir las siguientes técnicas que usa el procesador para aumentar su velocidad y
eficiencia: Pipelining, Branch prediction, Superescalar execution, Data flow análisis,
Speculative execution.

Pipelining: Es el proceso según el cual, mientras una instrucción es ejecutada, otra está siendo

interpretada por el ordenador y una más está siendo leída. Pipeline, es un esquema que interpreta

un flujo constante de trabajo de forma secuencial, dando como entrada de cada proceso la salida

del anterior de forma concatenada.

Predictor de saltos: El procesador mira hacia adelante en el código de instrucción obtenido de la

memoria y predice qué ramas, o grupos de instrucciones, es probable que se procesen a

continuación. Si el procesador adivina correctamente la mayor parte del tiempo, puede preferir

las instrucciones correctas y bloquearlas para que el procesador se mantenga ocupado

Ejecución superescalar: Esta es la capacidad de emitir más de una instrucción en cada ciclo del

reloj del procesador. En efecto, se utilizan múltiples tuberías paralelas.

Análisis de flujo de datos: El procesador analiza qué instrucciones dependen de los resultados

de cada uno, o datos, para crear un programa optimizado de instrucciones. De hecho, las

instrucciones están programadas para ser ejecutadas cuando estén listas, independientemente del

orden original del programa. Esto evita demoras innecesarias.

Ejecución especulativa: Es una forma de optimización en la que un sistema informático realiza

una tarea que podría no ser necesaria; la idea consiste en llevar a cabo un trabajo antes de saber

si será realmente necesario con la intención de evitar el retraso que supondría realizarlo después

de saber que sí es necesario.

3
2: Explicar la diferencia entre Latency (execution time) y Throughput (bandwidth) en la
medida de rendimiento de los computadores:

Latencia: La latencia es el tiempo requerido para realizar una petición para producir un resultado

Rendimiento: Se refiere a la capacidad de procesamiento de la memoria

3: Explicar las diferencias entre Sistemas multinúcleo, Intel MICs, y GPGPU.

Sistema multinúcleo: Es el uso de múltiples procesadores en el mismo chip (procesadores de

uso doméstico).

Intel MICs: Un diseño multiprocesador de Intel creado para la fabricación de aceleradores cuyo

objetivo sea el uso de software altamente paralelo, algo convencional en las supercomputadoras.

GPU: Unidad grafica de procesamiento especializada en los núcleos de procesamiento de video,

en término generales una GPU es un núcleo diseñado para realizar tareas u operaciones paralelas

en los gráficos de datos, se encuentran en las tarjetas gráficas.+

4
4: Explicar la Amdahl’s law y la Little’s law, adicionar un ejemplo para cada una.

AMDAHL’S LAW: Esta ley establece que la mejora obtenida en el rendimiento de un sistema

debido de la alteración de uno de sus componentes está limitada por la fracción de tiempo que se

utiliza en dichas componentes.

La aceleración nos indica la rapidez con que se realizará una tarea utilizando una máquina con la

mejora con respecto a la máquina original. La Ley de Amdahl nos da una forma rápida de

calcular la aceleración, que depende de dos factores:

La fracción del tiempo de cálculo de la máquina original que pueda utilizarse para

aprovechar la mejora. Por el ejemplo, si 20 segundos del tiempo de ejecución puede utilizar la

mejora de un programa que toma 60 segundos en total, la fracción es 20 /60. Este valor, que se

llama Fracción mejorada, es siempre menor o igual que 1.

La optimización lograda por el modo de ejecución mejorado; es decir, cuánto más rápido

con la que se ejecutaría la tarea si solamente se utilizase el modo mejorado. Este valor es el

tiempo del modo original con respecto al tiempo del modo mejorado. Si el modo mejorado toma

2 segundos para alguna porción de programa que puede usar el modo completamente mientras

que el modo original tomaba 5 segundos para la misma porción de programa, la mejora es 5/2.

Este valor es siempre mayor que 1 y se llama Aceleración mejorada.

5
El tiempo de ejecución utilizando la máquina original con el modo mejorado será el

tiempo empleado utilizando la parte no mejorada de la máquina más el tiempo empleado

utilizando la parte mejorada.

Ejemplo

Suponer que estamos considerando una mejora que corra diez veces más rápida que la

máquina original, pero sólo es utilizable el 40% del tiempo. ¿Cuál es la aceleración global

lograda al incorporar la mejora?

Respuesta

Fracción mejorada = 0.4

Aceleración mejorada = 10

Aceleración global = 1/(0.6 + 0.4/10) = 1.5625

LITTLE’S LAW: La Ley de Little establece que el número promedio de clientes en un

sistema (L) es igual a la tasa promedio de llegada de los clientes al sistema (λ) por el tiempo

promedio que un cliente está en el sistema (W).

L=λW

L: Número promedio de clientes en un sistema

W: Tiempo promedio de espera en un sistema

λ: Número promedio de clientes que llegan al sistema por unidad de tiempo

6
Un pequeño banco está considerando abrir un servicio para que los clientes paguen desde

su automóvil. Se estima que los clientes llegarán a una tasa promedio de 15 por hora. El cajero

que trabajará en la ventanilla puede atender a los clientes a un ritmo promedio de uno cada tres

minutos. Suponiendo que el patrón de llegadas es Poisson y el patrón de servicios es

Exponencial, encuentre:

La utilización promedio del cajero:

El número promedio de clientes en la línea de espera es:

El número promedio de clientes en el sistema:

El tiempo promedio de la espera en la fila:

El tiempo promedio de espera en el sistema:

7
5) Definir Clock Rate (Clock Speed), Clock Cycle y Cycle time.

Clock speed: La frecuencia del reloj es la velocidad en ciclos (operaciones) por segundos (Hz) a

la que un microprocesador ejecuta las instrucciones.

Clock Cycle: También denominado ciclos por segundo o frecuencia, este término hace

referencia a la velocidad del procesador incorporado en la CPU del ordenador, y se mide en MHz

o GHz.

Cycle time: El tiempo que trascurre en la realización de un ciclo es el tiempo de ciclo.

6. Definir CPI Rate, MIPS Rate and FLOPS, y explicar mediante un ejemplo.

CPI Rate: En inglés significa tasa de ciclos por instrucción y se refiere al número de ciclos que

el procesador realiza para cada instrucción.

Se calcula con la siguiente formula:

MIPS Rate: (Millones de instrucciones por segundo), es una medida común de rendimiento,

para un procesador es la velocidad a las que las instrucciones se ejecutan.

Se calcula con la siguiente formula:

8
Ejemplo

Considere la ejecución de un programa que resulta en la ejecución de 2 millones de

instrucciones en un procesador de 400 MHz. El programa consta de cuatro tipos principales de

instrucciones, la combinación de instrucciones y el CPI para cada tipo de instrucción se dan a

continuación, basado en el resultado de un experimento de rastreo de programa.

Tipo de instrucción CPI Porcentaje de instrucción


Aritmética y lógica 1 60
Cargar/almacenar con caché 2 18
Rama 4 12
Referencia de memoria con
8 10
falta de caché

CPI= 0.6+ (2*0.18)+ (4*0.12)+ (8*0.1)= 2.24

MIPS rate = (400*106)/(2.24*106)=1.78

FLOPS: Es otra medida de rendimiento común trata solo con instrucciones de punto flotante.

Estos son comunes en muchas aplicaciones científicas y de juegos. Punto flotante el rendimiento

se expresa como millones de operaciones de punto flotante por segundo MEGAFLOPS

(MFLOPS)

7. ¿Qué son los SPEC benchmarks?

9
Evaluación de desempeño de la Corporación (SPEC) es un consorcio sin fines de lucro

que incluye a vendedores de computadoras, integradores de sistemas, universidades, grupos de

investigación, publicadores y consultores de todo el mundo. Tiene dos objetivos: crear

un benchmark estándar para medir el rendimiento de computadoras y controlar y publicar los

resultados de estos tests.

Una prueba, medidores de rendimiento o comparativa (en inglés benchmarks) es una

técnica utilizada para medir el rendimiento de un sistema o uno de sus componentes. Más

formalmente puede entenderse que una prueba de rendimiento es el resultado de la ejecución de

un programa informático o un conjunto de programas en una máquina, con el objetivo de estimar

el rendimiento de un elemento concreto, y poder comparar los resultados con máquinas

similares.

8. ¿Cuáles son las diferencias entre base metric, peak metric, speed metric, y rate metric?

 Base metric: son necesarios para todos los resultados informados y tienen pautas

estrictas para la compilación. En esencia, el compilador estándar con más o menos

configuraciones predeterminadas debe utilizarse en cada sistema bajo prueba para lograr

resultados comparables.

 Peak metric: Esto permite a los usuarios intentar optimizar el rendimiento del sistema

optimizando la salida del compilador. Por ejemplo, se pueden usar diferentes opciones

10
del compilador en cada punto de referencia y se permite la optimización dirigida por

comentarios.

 Speed metric: Esto es simplemente una medida del tiempo que lleva ejecutar un

benchmark compilado. La métrica de velocidad se utiliza para comparar la capacidad de

un equipo para completar tareas individuales.

 Rate metric: es una medida de cuántas tareas puede realizar una computadora en un

determinado período de tiempo. Esto se denomina rendimiento, capacidad o medida de

velocidad. La métrica de velocidad permite al sistema bajo prueba ejecutar tareas

simultáneas para aprovechar varios procesadores.

9. Explicar la diferencia entre las vulnerabilidades MELTDOWN Y SPECTRE y que


acciones se han tomado para evitarlas o mitigar su efecto.

11
Meltdown es el exploit más grave y el que los sistemas operativos se apresuran a

solucionar. "Rompe el aislamiento más fundamental entre las aplicaciones del usuario y el

sistema operativo", según Google. Esta falla afecta más fuertemente a los procesadores Intel

debido a la forma agresiva en que manejan la ejecución especulativa, aunque algunos núcleos

ARM también son susceptibles.

Spectre afecta a los procesadores AMD y ARM, así como a las CPU de Intel, lo que

significa que los dispositivos móviles también están en riesgo.  Puede que no haya una solución

de hardware permanente para Spectre, que "engaña a otras aplicaciones para que accedan a

ubicaciones arbitrarias en su memoria". Las actualizaciones de firmware del procesador pueden

mitigar el problema hasta cierto punto. El software también necesita ser reforzado para

protegerse contra él. 

¿Qué se ha hecho por mitigarlo?, Microsoft lanzó actualizaciones que protegen contra

meltdown, Intel también publicó actualizaciones rápidas de firmware para sus procesadores, en

síntesis, se han hecho actualizaciones tanto para el sistema operativo como para el procesador.

10. PROBLEMAS RESUELTOS.

12
1.

2.

13
.

14
15
Podemos decir a simple vista que dependiendo del número de instrucciones el mpis

(rendimiento)va a ser alto, pero durando mucho más tiempo

1. Cuando eran 18.000.000 de instrucciones el procesador hizo 90,09 mips en 0,1998ms

mientras que cuando teníamos 24.000.000 de instrucciones el procesador hizo

104,71mips pero en 0,2292ms , confirmando lo dicho anteriormente.

16

También podría gustarte