miércoles, 10 de octubre de 2007

Practico # 1

Dual pipelining

Este tipo de tecnología permite al procesador dividir instrucciones complejas en otras más cortas y ejecutarlas simultáneamente. Ahorrando tiempo con la posibilidad de ejecutar más de una instrucción por ciclo de reloj.Superescalar es el término utilizado para designar un tipo de microarquitectura de procesador capaz de ejecutar más de una instrucción por ciclo de reloj.

En un procesador superescalar, el procesador maneja más de una instrucción en cada etapa. El número máximo de instrucciones en una etapa concreta del pipeline se denomina grado, así un procesador superescalar de grado 4 en lectura (fetch) es capaz de leer como máximo cuatro instrucciones por ciclo. El grado de la etapa de ejecución depende del número y del tipo de las unidades funcionales.

Un procesador superescalar suele tener unidades funcionales independientes de los tipos siguientes :

unidad aritmético lógica (ALU)
unidad de lectura / escritura en memoria (Load/Store Unit)
unidad de coma flotante (Floating Point Unit)
unidad de salto (Branch unit)

Un procesador superescalar es capaz de ejecutar más de una instrucción simultáneamente únicamente si las instrucciones no presentan algún tipo de dependencia (hazard). Los tipos de dependencia entre instrucciones son :

dependencia estructural, esta ocurre cuando dos instrucciones requieren el mismo tipo unidad funcional y su número no es suficiente.

dependencia de datos, esta ocurre cuando una instrucción necesita del resultado de otra instrucción para ejecutarse, por ejemplo R1<=R2+R3 y R4<=R1+5.dependencia de escritura o falsa dependencia , esta ocurre cuando dos instrucciones necesitan escribir en la misma memoria, por ejemplo R1<=R2+R3 y R1<=R1+5.

Super-threading.
Es una forma de multithreading simultáneo, similar al HyperThreading de Intel.
Los computadores con soporte para dicha tecnología pueden ejecutar instrucciones de un hilo de ejecución (thread) distinto cada ciclo de reloj, de tal forma que los ciclos vacíos de uno de ellos puede usarse para otro listo para ejecutarse. Esto es debido a que un hilo dado seguramente no mantendrá ocupadas todas las unidades de ejecución a la vez.Algunas implementaciones más avanzadas de esta idea permiten a múltiples hilos ejecutarse en un mismo ciclo de reloj, usando diferentes unidades de ejecución, como las incorporadas en los procesadores superescalares.

Multiproceso, es tradicionalmente conocido como el uso de múltiples procesos concurrentes en un sistema en lugar de un único proceso en un instante determinado. Como la multitarea que permite a múltiples procesos compartir una única CPU, múltiples CPUs pueden ser utilizados para ejecutar múltiples hilos dentro de un único proceso.El multiproceso para tareas generales es, a menudo, bastante díficil de conseguir debido a que puede haber varios programas manejando datos internos (conocido como estado o contexto) a la vez. Los programas típicamente se escriben asumiendo que sus datos son incorruptibles. Sin embargo, si otra copia del programa se ejecuta en otro procesador, las dos copias pueden interferir entre sí intentando ambas leer o escribir su estado al mismo tiempo. Para evitar este problema se usa una variedad de técnicas de programación incluyendo semáforos y otras comprobaciones y bloqueos que permiten a una sola copia del programa cambiar de forma exclusiva ciertos valores

CPU throttling, se refiere a una serie de metodos para reducer el consume de poder en una computadora, bajando la frecuencia de reloj. Otros metodos incluyen reducir desde la fuente el voltaje al procesador. El Throttling es comúnmente usado en configuraciones para aparatos móviles, donde reducir el consumo de poder significa más tiempo de batería y menos producción de calor.

Overclocking.
Por Overclocking se conocen una serie de técnicas que permiten forzar los componentes de un sistema informático (de cualquier tipo) para que trabajen a más velocidad de la original. Esto no es magia, es simplemente saber aprovechar ciertos recursos y aceptar el riesgo que ello conlleva. Generalmente se suelen aplicar al microprocesador, pero éste no es el único componente susceptible de ser forzado, todos aquellos dispositivos que lleven un reloj interno o marcador de frecuencia (oscilador de cuarzo) pueden llegar a mayores frecuencias de trabajo que la original. También se aplican estas técnicas a la memoria RAM, tarjeta gráfica, e incluso a tarjetas de sonido, módems, etc.

No hay comentarios: