Documento de la Universidad Europea sobre la estructura de computadores y medidas de rendimiento. El Pdf, un conjunto de apuntes universitarios de Informática, explora el tiempo de ejecución, MIPS, CPI y la ley de Amdahl, con ejemplos prácticos para el cálculo de mejoras de rendimiento.
Ver más19 páginas


Visualiza gratis el PDF completo
Regístrate para acceder al documento completo y transformarlo con la IA.
Índice
Objetivos de aprendizaje 3
1. Presentación 3
2. Niveles de descripción 4
3. Evolución de los computadores 5
4. Medidas de rendimiento versus niveles de descripción 7
5. Tiempo de ejecución 8
6. Rendimiento 9
7. Definiciones y fórmulas 10
8. Ejemplo de cálculo de medidas de rendimiento 13
9. Tiempo de ejecución, MIPS y CPI 14
10. Ley de Amdahl 15
11. Mejoras y limitaciones de la ley de Amdahl 16
11.1. Limitación de la ley de Amdahl 17
12. Resumen 17
Referencias bibliográficas 18
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 2
Los objetivos que se pretenden alcanzar en este recurso son los siguientes:
Un buen ingeniero o arquitecto de computadoras debe conocer las partes básicas de una computadora digital, así como las distintas arquitecturas avanzadas que normalmente se utilizan para procesamiento intenso.
Estos conocimientos permiten al ingeniero, desde un punto de vista práctico, conocer a fondo las características y el funcionamiento del hardware. La capacidad de interpretar la estructura, las características y las capacidades de una arquitectura permitirán medir el rendimiento de un sistema y, en la medida de lo posible, mejorarlo. También es importante saber comparar dos arquitecturas distintas y así poder escoger el sistema más apropiado para cada ámbito de aplicación.
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 3
Un computador por sí mismo es un sistema complejo que engloba varios niveles de estudio a nivel software y hardware. En la actualidad, la mayoría de los sistemas informáticos implican arquitecturas complejas de computadores que combinan los componentes básicos definidos en el modelo Von Neumann.
Un ingeniero informático debe ser capaz de definir, diseñar, desarrollar y mantener sistemas y arquitecturas informáticas complejas. Para diseñar un sistema informático será necesario, por tanto, integrar la parte hardware con la parte software, así como establecer los mecanismos más adecuados de comunicación entre los distintos componentes y sistemas.
En la siguiente tabla se detallan los niveles de abstracción de una computadora.
Los niveles de abstracción definen los distintos niveles de estudio que un ingeniero informático debe conocer para poder entender el funcionamiento de una computadora en su conjunto. Serían los siguientes:
Tabla 1. Niveles de abstracción de una computadora.
Componentes y herramientas
Generadores de programas
Software de aplicación
Programas de aplicación
Compiladores e intérpretes
Software de sistema
Sistemas operativos
Interfaz software / hardware
Arquitectura del conjunto de instrucciones
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 4
Componentes y herramientas
Organización de componentes hardware
Hardware
Nivel digital
Nivel físico
El diseño de arquitecturas avanzadas se centra en estos dos niveles:
En la siguiente gráfica podemos observar cómo ha evolucionado el rendimiento de los computadores en los últimos años:
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 5
100,000
Intel Xeon 6 cores, 3.3 GHZ (boost to 3.6 GHz) Intel Xeon 4 cores. 3.3 GHZ (boost to 3.6 GHZ)
ميـ
24,129
Intel Core i7 Extreme 4 cores 3.2 GHZ (boost to 3.5 GHZ) Intel Core Duo Extreme 2 cores, 3.0 GHZ
-- 19.482-1.871
Intel Core 2 Extreme 2 cores, 2.9 GHZ
:14.387.
.. AMD Athlon 64, 2,8 GHZ :TY 865
Intel Xeon EE 3.2 GHZ
7,108
Intel D850EMVR motherboard (3.06 GHZ, Pentium 4 processor with Hyper-Threading Technology) 6.043 6,681
4,195
IBM Power4, 1.3 GHZ
3.016
Intel VC820 motherboard, 1.0 GHz Pentium III processor
=1.779
1000 -
Digital AlphaServer 8400 6/575, 575 MHZ 21264
- 993
AlphaServer 4000 5/600, 600 MHz 21164
Digital Alphastation 5/500, 500 MHZ
+849
.481
Digital Alphastation 5/300, 300 MHZ ,-280
22%/year
Digital Alphastation 4/266, 266 MHZ -183
IBM POWERstation 100, 150 MHZ ,-117
100
Digital 3000 AXP/500, 150 MHZ -
HP 9000/750, 66 MHZ
IBM RS6000/540, 30 MHZ,24
52%/year
MIPS M2000, 25 MHZ
MIPS M/120, 16.7 MHZ -13
10
Sun-4/260, 16.7 MHZ 0 9
VAX 8700, 22 MHZ 5
AX-11/780, 5 MHZ
"25%/year@ 1.5. VAX-11/785
1 .
1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012
Figura 1. Evolución del rendimiento de los computadores. Fuente: Patterson y Heneessy, 2011.
En este gráfico se muestra la evolución del rendimiento de distintos procesadores, en comparación con la máquina VAX 11/780, que fue utilizada como máquina de referencia por los benchmarks SPEC hasta el año 2000.
A continuación, se analiza en detalle el gráfico con la evolución del rendimiento de los computadores:
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 6
10,000
AMD Athlon, 2,6 GHZ
Performance (vs. VAX-11/780)
Professional Workstation XP1000, 667 MHZ 21264A
1,267
Dependiendo del nivel de abstracción o de descripción en el que queramos mejorar la máquina, deberemos fijarnos en una u otra medida de rendimiento.
A continuación, se muestran algunas medidas de rendimiento, clasificadas según el nivel de abstracción y la característica que queramos mejorar:
Software de aplicación
Interfaz software (SW)/hardware (HW)
Software de sistema
Hardware
Tabla 2. Software de aplicación.
Generadores de programas
Programas de aplicación
Tabla 3. Software de sistema.
Compiladores e intérpretes
ue Universidad Europea
Sistemas operativos
@ Copyright Universidad Europea. Todos los derechos reservados. 7
Organización de componentes hardware
Arquitectura del conjunto de instrucciones
Nivel digital
Nivel físico
Durante todo este recurso hablaremos de muchas medidas de rendimiento como las que enumerábamos en el apartado anterior.
Estudiaremos algunas de ellas, aprendiendo su definición y memorizando fórmulas para calcularlas. Sin embargo, cuando llegue la hora de medir el rendimiento global de un computador, la prueba definitiva sobre si una arquitectura es óptima o si hemos mejorado sus prestaciones lo suficiente, solo nos fijaremos en una medida: el tiempo de ejecución.
El tiempo de ejecución de programas reales es la única medida de rendimiento fiable.
Definimos el tiempo de ejecución como el tiempo de respuesta del sistema desde que se ejecuta un programa hasta que se obtiene una respuesta.
El tiempo de ejecución es, por tanto, la medida de la verdad. De su resultado dependerá que todos los recursos utilizados para la compra y construcción de componentes para diseñar la arquitectura, diseñar algoritmos óptimos o buscar mejoras en las prestaciones, hayan merecido o no la pena.
ue Universidad Europea
@ Copyright Universidad Europea. Todos los derechos reservados. 8