martes, 26 de abril de 2016

EXPOSICION BLOQUEO MUTUO...

A Nosotros nos toco exponer sobre el bloqueo mutuo aqui un video sobre que es:

Bloqueo Mutuo
https://www.youtube.com/watch?v=-5S4DQqiVno

lunes, 25 de abril de 2016

COMO RESOLVER UNA ECUACION DE SEGUNDO GRADO CON DOS PROCESADORES...

Primero explicar que significan 2 procesadores:
Los procesadores Dual Core pueden ser de diferentes tipos, unos tienen sus dos núcleos dentro del mismo encapsulado de silicio, mientras otros están separados en dos encapsulados diferentes, pero siempre dentro de la misma carcasa de circuito integrado.
El nombre de Dual Core viene de la tecnología que los ha creado, la gama de procesadores Opteron de 64 bits desarrollada originalmente por AMD y que han sido mejorados con éxito con nuevas innovaciones, que pretenden hacer de este tipo de procesadores el estándar a futuro y en gran medida lo han logrado.
Un procesador Dual Core se diferencia de los llamados multiprocesadores, en que los primeros cuentan con un procesador de doble núcleo, mientras que los segundos son dos equipos trabajando de manera simultánea y en equipo, como si se tratase de un arreglo en paralelo, de manera que cada equipo cuenta con recursos propios que se juntan para realizar tareas específicas.
Los multiprocesadores son mucho más rápidos que los procesadores simples, de manera que podemos destacar que su principal diferencia, es la cantidad de recursos que disponen los núcleos para trabajar de manera más eficiente y veloz.
Conocido el funcionamiento de los procesadores Dual Core, ya podemos tomar una mejor decisión cuando nos encontremos en el dilema de seleccionar un procesador para nuestros ordenadores.
La evolución de la tecnología en los últimos años ha llevado al mercado doméstico la importancia de la paralelización de los algoritmos. Tras el ingente crecimiento de la frecuencia de los núcleos a partir de la década de los 90, los fabricantes y diseñadores se han encontrado con límites físicos que les han obligado a acudir a otras vías: la principal de ellas es la implementación de varios núcleos en un mismo chip.
Un ejemplo más práctico y semejante a la realidad, relacionado con operaciones básicas, es el siguiente:
  • Le asignamos al registro A el valor 0 (A:=0)
  • Le asignamos al registro B el valor 1 (B:=1)
  • Le asignamos al registro C el valor 2 (C:=2)
  • Incrementamos en 1 el valor del registro C (C:=C+1)
  • Le asignamos al registro D el valor 3 (D:=3)
Éste sería el algoritmo para un procesador mononúcleo. En caso de tener dos núcleos hay algunas de esas cinco tareas que pueden hacerse simultáneamente:
Núcleo 1Núcleo 2
1A:=0B:=1
2C:=2D:=0
3C:=C+1=3
¿A qué se debe ese hueco en blanco? A que hemos adelantado la tarea D:=0 ya que para ejecutar la anterior C:=C+1 se necesita que C exista y tenga un valor asignado, o de lo contrario no se puede sumar 1 a un hueco vacío. Este ejemplo simplemente juega con cuatro variables y una suma, con lo que es sencillo a más no poder; en la práctica las tareas son mucho más complejas y el algoritmo OOE es algo diferente: existe una cola de instrucciones pendientes de ejecutarse y un pequeño algoritmo que se encarga de gestionarlas: si pueden hacerse, se hacen; si no pueden hacerse en este preciso instante, se postponen para que el procesador no esté se mantenga a la espera y se ejecutarán posteriormente una vez se disponga de todos sus operandos.
La ejecución fuera de orden (out of orden execution, OoOE, OOE) empezó a gestarse en los años setenta y ochenta, aunque no fue hasta la década de los 90 cuando se popularizó en el mercado. El primer procesador que incluyó esta mejora fue el POWER1 de IBM, si bien a día de hoy es una técnica implementada en prácticamente cualquier microprocesador moderno x86, así como en muchos de los actuales ARM.