







Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Asignatura: Estructura i tecnologia de computadors I, Profesor: Almudena Llorens, Carrera: Enginyeria Informàtica, Universidad: UPV
Tipo: Apuntes
1 / 13
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!








Volumen de datos a ser procesados Complejidad ysofisticaciónde los procesos
1.1. Introducción. 1.2. Rendimiento de la CPU. 1.3. Clasificación de arquitectura de sistemas. 1.4. Características de rendimiento en sistemas computacionales. 1.5. Rendimiento (productividad) y tiempo de respuesta. 1.6. Programas y medidas clásicas.
1.7. Ley de Amdahl.
En la evaluación del hardware y de los requisitos de nuevos sistemas, el rendimiento es uno de los parámetros clave para estudiar, junto con coste, el tamaño, la seguridad, la fiabilidad y el consumo de energía.
Evolución de las computadoras: procesadores más rápidos (rendimiento de la CPU), componentes de menor tamaño, mayor tamaño de la memoria, mayor capacidad de E/S. Cuestión clave: equilibrar el rendimiento de los distintos elementos.
Las ganancias en términos de rendimiento en un área no deben ser disminuidas o dañadas por la falta de rendimiento en otras áreas.
El coste de los sistemas de computadores cae, y los resultados y aumento de potencia → Desarrollo de más potentes y complejas aplicaciones.
En general, hay una serie de formas de abordar el rendimiento del equipo problema:
Otras características para explotar:
Cómo mejorar rendimiento de la CPU:
Velocidad de reloj:
1.2.1.Mecanismos de procesamiento paralelo (Sistemas de un solo procesador):
Hyperthreading: Permite que cada núcleo de microprocesador ejecute dos subprocesos de software al mismo tiempo por:
Hoy en día, una CPU de dos o de cuatro procesadores no es realmente dos o cuatro veces más rápida que una sola CPU incluso para aplicaciones de subprocesos múltiples. El problema sigue siendo esencialmente la misma aun cuando la CPU en cuestión está en el mismo chip. En segundo lugar, a menos que los dos núcleos estén ejecutando diferentes procesos, o los diferentes subprocesos de un proceso único que estén bien escritos para funcionar de manera independiente y casi nunca esperar a cada uno de los demás, no se utiliza bien. Si está ejecutando una aplicación de un único subproceso, a continuación, la aplicación sólo puede hacer uso de un núcleo. Debe haber alguna aceleración como el sistema operativo y la aplicación se pueden ejecutar en los núcleos separados, pero en general el sistema operativo no va a ser llegar al máximo de la CPU, así que uno de los núcleos será en su mayor parte inactivo.
Ordenadores Segmentados (Pipelined Computers) : un equipo segmentado realiza cálculos que se superponen para explotar el paralelismo temporal. Normalmente, N pasos importantes para ejecutar una instrucción. Por ejemplo, con N=4:
Ordenadores no segmentados: las instrucciones se ejecutan de forma secuencial.
Ordenadores segmentados: Hay distintas etapas en cada instrucción y se van quedando libres para otras instrucciones. Se aprovechan más los recursos; en lugar de esperar que acabe toda la instrucción, se divide en subetapas; se gana tiempo mejorando la organización. Sin modificar la velocidad de reloj, podemos ganar velocidad en tiempos de reloj.
1.2.2.Mecanismos de procesamiento paralelo (Sistemas multiprocesador):
Procesador vectorial/matricial:
Ordenador Paralelo Síncrono con múltiples ALU (procesamiento de elementos PE) que puede funcionar en paralelo. PE se sincronizan para ejecutar la misma operación al mismo tiempo. Mecanismo de enrutamiento de datos.
Un procesador matricial está optimizado para las operaciones de matriz, tiene su propio conjunto de instrucciones, movimientos del bloque de memoria grandes, las operaciones lógicas de muchos elementos de la matriz, etc. Paralelismo Espacial.
Tiene una interfaz donde un host carga las ubicaciones de memoria con la matriz que se va a procesar (o tal vez un archivo de datos), entonces el procesador matricial utiliza su estructura especializada para hacer lo que se le pedía en la matriz, luego dice al host que se ha hecho y el resultado puede ser encontrado en las localidades de memoria o tal vez un archivo de datos.
Tecnología Recursos de núcleo
Otros paquetes de recursos
Recursos placa base
Rendimiento en las tareas multiproceso
Hyperthreading
La mayoría de recursos compartidos.
Compartidos Compartidos Leve mejoría
Multi-núcleo (N núcleos)
No compartidos Compartidos Compartidos Mejora N veces
Multiprocesador (N CPUs) No compartidos No compartidos Compartidos Mejora N veces
Utilizaremos la clasificación de Flynn. Se basa en la multiplicidad de instrucción y secuencias de datos.
Definiciones:
Clasificación Flynn:
SISD: una única instrucción, únicos datos.
o Habitual de la arquitectura Von Neumann. o Sola CPU. o Ejecuta una instrucción en un momento (pero puede tener canalización). o Recupera y almacena un valor de datos a la vez.
CU: unidad de control IS: flujo de instrucciones
PU: unidad de proceso DS: flujo de datos MU: Unidad de memoria SM: memoria compartida
SIMD: una única instrucción, múltiples datos.
o Ejecuta una instrucción cada vez. o Misma operación en muchos datos al mismo tiempo. o Extensiones multimedia y máquinas vectoriales.
MISD: Múltiples instrucciones, únicos datos. o En la actualidad no existen computadoras MISD. o Múltiples programas que operan sobre los mismos datos.
MIMD: Múltiples instrucciones, múltiples datos. o Estos son sistemas de multiprocesadores. o Cada procesador puede ejecutar un programa diferente en sus propios datos. o Arquitecturas de memoria global: la memoria global común es compartida por todos los procesadores. o Arquitecturas de memoria local: una memoria local por procesador. También puede tener una memoria global.
¿Cuál es el rendimiento (productividad)? ¿Cómo se puede medir?
Ejemplo:
Avión Pasajeros Amplitud Velocidad
Rendimiento: Pasajeros x km/h
Boeing 777 375 7,450 980 367,
Boeing 747 470 6,675 980 460,
Concorde 132 6,435 2,175 287,
DC-8 146 14,030 875 127,
Para comparar dos aviones: 2,175 / 980 =2. 460600/287100 =1.
Tiempo de respuesta > Tiempo de ejecución (otros programas)
Tiempo de ejecución = (usuario) + (sistema)
Los microprocesadores modernos no siempre funcionan en la misma frecuencia. Para ahorrar energía, todos los procesadores con tecnología PowerNow! o tecnología SpeedStep pueden reducir temporalmente la frecuencia de funcionamiento. Algunos de los móviles los procesadores Intel Core 2 Duo puede aumentar la frecuencia de uno de sus núcleos cuando el otro núcleo está inactivo.
La frecuencia de la CPU se mide en Hercios, aunque también puede expresarse en: o Kilohercio o KHz (1.000 Hercios) o Megahercios o MHz (1.000.000 Hercios o 1.000 KHz) o Gigahercios o GHz (1.000.000.000 Hercios o 1.000.000 KHz o 1.000 MHz)
Los primeros microprocesadores funcionaron en frecuencias cercanas a 1MHz. Los microprocesadores modernos funcionan en frecuencias que exceden 3GHz o 3.000.000.000 hercios.
Cálculo analítico del tiempo de ejecución de CPU:
tCPU = CR (^) CPU * T = CR (^) CPU / f o t (^) CPU : tiempo de ejecución de la CPU para un programa. o CRCPU : ciclos del reloj de la CPU para el programa. o T: tiempo de ciclo del reloj de la CPU (período). o f: frecuencia de reloj de la CPU.
Por lo tanto, podemos reducir el tiempo de ejecución de la CPU reduciendo el número de ciclos, o aumentando la frecuencia del reloj.
Teniendo en cuenta, CR (^) CPU =PI * CPI , donde: o CRCPU : ciclos de reloj de la CPU para el programa. o PI: Número de instrucciones del programa. o CPI: ciclos del reloj por instrucción. El tiempo de la CPU también se puede calcular como:
tCPU = CR (^) CPU * T = PI * CPI * T
¿Cómo se puede obtener el PI? o Herramientas para el análisis de ejecución. o Simuladores de arquitectura. o Contadores de circuito.
Ejemplo:
Si los cambios siguientes se aplican a un sistema: a) sustituir el procesador por una versión más rápida. b) Agregar procesadores a un sistema que utiliza varios procesadores para diferentes tareas. ¿El rendimiento es mayor, el tiempo de respuesta se reduce, o las dos cosas?
Los principales fabricantes de procesadores y arquitecturas no tienen cabida en la mayoría de los enfoques tradicionales para aumentar rendimiento de la CPU.
En vez de manejar velocidades de reloj y rendimiento de la instrucción constante, cada vez mayor, son en cambio de la tecnología hyperthreading y arquitecturas multinúcleo.
Medidas de rendimiento más populares (parámetros de Marketing):
MIPS: Millones de instrucciones por segundo
𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 =
𝑛𝑛ú𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑑𝑑𝑚𝑚 𝑖𝑖𝑛𝑛𝑖𝑖𝑖𝑖𝑚𝑚𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑚𝑚𝑛𝑛𝑚𝑚𝑖𝑖 𝑖𝑖𝑖𝑖𝑚𝑚𝑚𝑚𝑡𝑡𝑚𝑚 𝑑𝑑𝑚𝑚 𝑚𝑚𝑒𝑒𝑚𝑚𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖ó𝑛𝑛 𝑥𝑥 106 Características: o Métricas fáciles de entender. o Ordenadores más rápidos tienen mayor MIPS Desventajas:
o No tiene en cuenta las características de las instrucciones. o Equipos con distintos conjuntos de instrucciones no se pueden comparar. o MIPS cambia entre programas en el mismo ordenador. o Puede variar inversamente con el rendimiento!!!
Peak MIPS (MIPS máximo): La combinación de la instrucción que minimiza IPC.
Relative MIPS (MIPS relativo):
MIPS relativo =
MFLOPS: operaciones de punto flotante por segundo.
1.7.LEY DE AMDAHL.
Hay algunas restricciones bastante estrictas de cuánto incremento se podría conseguir en la tasa de producción para una tarea optimizada dada.
El rendimiento de cualquier sistema está limitado por la velocidad o la capacidad del punto más lento.
El impacto de un esfuerzo para mejorar el rendimiento de un programa está limitado principalmente por la cantidad de tiempo que pasa el programa en partes del programa no dirigidas por el esfuerzo.
La Ley de Amdahl es una declaración de la máxima teórica aceleración que siempre puedes esperar a alcanzar. Las velocidad reales siempre son menores que la aceleración prevista por la ley de Amdahl.
Cualquier intención de escribir software optimizado simplemente debe tener una comprensión muy profunda de la ley de Amdahl si queremos evitar tener expectativas poco realistas de lo que un programa/algoritmo puede alcanzar y evitar subestimar el esfuerzo que requieren para alcanzar sus expectativas de rendimiento.