Arquitectura de las computadoras Unidad 4

15

description

Arquitectura de las computadoras Unidad 4

Transcript of Arquitectura de las computadoras Unidad 4

4.1 PIPELINE

Es un término perteneciente a la ingeniería de software, y consiste en una cadena de elementos de procesamiento ordenados de tal manera que la salida de cada elemento es la entrada del siguiente.

La arquitectura en pipeline cosiste en ir trasformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior, con almacenamiento temporales de datos o buffering entre los procesos.

El pipeline es común verlo en sistemas operativos multitareas ya que se ejecutan una serie de procesos de manera simultanea los cuales son ejecutados.

Aplicaciones de pipeline en informática.

1.- Pipelines gráficos, se encuentran en la mayoría de las tarjetas graficas, el cual consiste en múltiples unidades aritméticas o CPU completas, el cual implementan variados escenarios de operaciones típicas, por ejemplo, cálculos de luz y colores, la proyección de perspectiva etc.

2.-Pipelines de software o tuberías, consiste en múltiples procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Por ejemplo, la pipelines de UNIX4.2 Taxonomía de Flynn

La taxonomía de Flynn es una clasificación de arquitecturas de computadores propuesta por Michael J. Flynn en 1972.

Las cuatro clasificaciones definidas por Flynn se basan en el número de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura:

Una instrucción, un dato (SISD)

Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las máquinas con uni-procesador o monoprocesador tradicionales como el PC o los antiguos mainframe.

Múltiples instrucciones, un dato (MISD)

Poco común debido al hecho de que la efectividad de los múltiples flujos de instrucciones suele precisar de múltiples flujos de datos.

Una instrucción, múltiples datos (SIMD)

Un computador que explota varios flujos de datos dentro de un único flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural. Por ejemplo, un procesador vectorial.

Múltiples instrucciones, múltiples datos (MIMD)

Varios procesadores autónomos que ejecutan simultáneamente instrucciones diferentes sobre datos diferentes.

4.3 Arreglos de procesadores

Estas son maquinas que constan de un computador secuencial

conectado a un arreglo de elementos de procesamiento sincronizados e idénticos capaces de ejecutar las mismas operaciones sobre datos diferentes.

Arreglo de procesadores (los elementos de procesamiento están interconectados por una mala bidimensional).

4.3 Arreglos de procesadores

El computador secuencial generalmente es un CPU de propósito general que almacena el programa y los datos que serán operados en paralelo, además de ejecutar la porción del programa que es secuencial. Los elementos de procesamiento se asemejan a CPUs pero no tienen unidades de control propias; el computador secuencial genera todas las señales de control para las unidades de procesamientos en el computador.

Ejemplos: IILIAC IV, Goodyear MPP y Connection Machine CM-200.4.4 PROCESADORES VECTORIALES

Es un diseño de CPU capaz de ejecutar operaciones matemáticas sobre múltiples datos de forma simultánea, en contraste con los procesadores escalares, capaces de manejar sólo un dato cada vez

4.4 PROCESADORES VECTORIALES

Una máquina vectorial consta de una unidad escalar segmentada y una unidad vectorial.

La segmentación tiene límites:

– Si se aumenta mucho el número de etapas, baja el ciclo de reloj, pero aumentan las dependencias. Esto conlleva a un mayor CPI.

– Velocidad de lectura de instrucciones: Es difícil traer instrucciones de memoria con una velocidad de lectura alta (cuello de botella de Flynn).

4.4 PROCESADORES VECTORIALES Ventajas

Proporcionan operaciones para trabajar con vectores. Una sola instrucción trabajo sobre todos los elementos de un vector:

– El cálculo sobre los elementos de un vector suele ser independiente. Menos riesgos de datos.

– El número de instrucciones es bajo. Se mitiga el cuello de botella de Flynn.

– Los accesos a memoria siguen un patrón fijo. Los elementos de los vectores están ordenados.

– Se eliminan bucles y dependencia de control.4.5 MULTIPOCESADORES.

Sistemas multiprocesadores: Es una interconexión de dos o más CPU con equipo de memoria y entrada-salida. El término “procesador”, en multiprocesador, puede significar una unidad de procesamiento central (CPU) o un procesador de entrada-salida (IOP).Los multiprocesadores se clasifican como sistemas de flujo de instrucciones múltiple, flujo de datos múltiple (múltiple instruction stream, múltiple data stream, mimd).Multiprocesadores se clasifican por la manera en que se organiza su memoria.

Multiproceso: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.

Multitarea:(Software que se subdivide en distintas tareas que pueden ser ejecutadas de forma simultánea. En realidad trata de una simultaneidad aparente, puesto que el microprocesador dedica a cada trabajo una fracción de segundo; algo, por otra parte, inapreciable para el ser humano.Tipos de multitarea

Cooperativa: Los procesos de usuario son quienes ceden la CPU al sistema operativo a intervalos regulares.

Preferente: El sistema operativo es el encargado de administrar el/los procesador(es), repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo.

Real: Sólo se da en sistemas multiprocesador. Es aquella en la que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Suele ser también preferente. Ejemplos de sistemas operativos con esa capacidad: variantes Unix, GNU/Linux, Windows NT, Mac OS X, etc.

MULTIHEBRA:El concepto multihebra (”multithreading”) es de tipo lógico. Significa que un programa puede tener varias vías de ejecución que “pueden” ser independientes.

PARALELISMO Y PROCESAMIENTO DE VECTOR

El paralelismo es una forma de computación en la cual varios cálculos pueden realizarse simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en paralelo.

COMPUTADORA CON MULTIPROCESADORUn sistema operativo multiproceso se refiere al numeró de procesadores del sistema, que es más de uno y este es capaz de usarlos todos para distribuir su carga de trabajo.Multiprocesador: es un único computador que incluye múltiples procesados.Los procesadores se pueden comunicar y cooperar a diferentes niveles para resolver un problema dado: esta comunicación se puede realizar:

* Enviando mensajes de un procesador a otro

* Compartiendo una memoria común

4.6 MulticomputadorasLas multicomputadoras son sistemas que se comunican enviando mensajes por buses muy cortos y rápidos. Más allá de las multicomputadoras están las verdaderas redes que se comunican intercambiando mensajes por cables largos.

Estas pueden dividirse en redes locales metropolitanas y de área amplia.Finalmente la conexión de dos o más redes es una INTERRED (Internet)

Multicomputadoras con busesPor otro lado, la construcción de una multicomputadora es fácil. Cada CPU tiene conexión directa con su propia memoria local.Es claro problema restante es la forma en que los CPU se comunicarán entre sí.Es claro que aquí también se necesita cierto esquema de interconexión, pero como solo es para la comunicación entre un CPU y otro, el volumen del tráfico será de varios órdenes menores en relación con el uso de una red de interconexión para el tráfico CPU-memoria.

Multicomputadoras con conmutadorSe han propuesto y construido varias redes de interconexión, pero todas tienen la propiedad de que cada CPU tiene acceso directo y exclusivo a su propia memoria particular.Hay dos topologías populares, una recula y un hipercubo. Las retículas se basan en las tarjetas de circuitos impresos. Se adecuan mejor a los problemas con naturaleza bidimensional inherente, como la teoría de graficas o la visión.Un hipercubo es un cubo n-dimensional. Se puede pensar como dos cubos ordinarios, cada uno de los cuales cuenta con 8 vértices y 12 aristas. Cada

vértice es un CPU. Cada arista es una conexión entre dos CPU. Se conectan los vértices correspondientes de cada uno de los cubos.

4.7 CLUSTERS.

El término clúster se aplica a los conjuntos o conglomerados de computadoras unidos entre sí normalmente por una red de alta velocidad y que se comportan como si fuesen una única computadora.La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software para apliaciones críticas, servidores web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos.

De un clúster se espera que presente combinaciones de los siguientes servicios:

• Alto rendimiento

• Alta disponibilidad

• Balanceo de carga

• EscalabilidadEl término clúster tiene diferentes connotaciones para diferentes grupos de personas. Los tipos de clústeres, establecidos de acuerdo con el uso que se dé y los servicios que ofrecen, determinan el significado del término para el grupo que lo utiliza. Los clústeres pueden clasificarse según sus características:

• HPCC (High Performance Computing Clusters: clústeres de alto rendimiento).

• HA o HACC (High Availability Computing Clusters: clústeres de alta disponibilidad).

• HT o HTCC (High Throughput Computing Clusters: clústeres de alta eficiencia).

Alto rendimiento: Son clústeres en los cuales se ejecutan tareas que requieren de gran capacidad computacional, grandes cantidades de memoria, o ambos a la vez. El llevar a cabo estas tareas puede comprometer los recursos del clúster por largos periodos de tiempo.

Alta disponibilidad: Son clústeres cuyo objetivo de diseño es el de proveer disponibilidad y confiabilidad. Estos clústeres tratan de brindar la máxima disponibilidad de los servicios que ofrecen.

Alta eficiencia: Son clústeres cuyo objetivo de diseño es el ejecutar la mayor cantidad de tareas en el menor tiempo posible. Existe independencia de datos entre las tareas individuales. El retardo entre los nodos del clúster no es considerado un gran problema.

POSIBLES 4.

4.10 Administración de Riesgos y Seguridad de Datos

En arquitectura de computadoras, un riesgo es un problema potencial que puede ocurrir en un procesador segmentado. Típicamente los riesgos se clasifican en tres tipos: riesgos de datos, riesgos de salto o de control y riesgos estructurales.

Las instrucciones de un procesador segmentado son ejecutadas en varias etapas, de modo que en un momento dado se encuentran enproceso varias instrucciones, y puede que éstas no sean completadas en el orden deseado.

Un riesgo aparece cuando dos o más de estas instrucciones simultáneas (posiblemente fuera de orden) entran en conflicto.

Riesgos de Datos

Los riesgos de datos ocurren cuando éstos son modificados.

El ignorar riesgos de datos potenciales puede resultar en condiciones de carrera (a veces llamadas riesgos de carrera). Hay tres situaciones en las que puede aparecer un riesgo de datos:

• Read after Write (RAW) o dependencia verdadera: Un operando es modificado para ser leído posteriormente. Si la primera instrucción no ha terminado de escribir el operando, la segunda estará utilizando datos incorrectos.

• Write after Read (WAR) o anti-dependencia: Leer un operando y escribir en él en poco tiempo. Si la escritura finaliza antes que la lectura, la instrucción de lectura utilizará el nuevo valor y no el antiguo.

• Write after Write (WAW) o dependencia de salida: Dos instrucciones que escriben en un mismo operando. La primera en ser emitida puede que finalice en segundo lugar, de modo que el operando final no tenga el valor adecuado.

Los operandos envueltos en riesgos de datos pueden residir en memoria o en registros.

Riesgos EstructuralesUn riesgo estructural sucede cuando parte del hardware del procesador es necesario para ejecutar dos o más instrucciones a la vez. Puede ocurrir, por ejemplo, si un programa intenta ejecutar una instrucción de salto seguida de una operación matemática.

Riesgos de salto o de control

Los riesgos de salto o de control ocurren cuando el procesador se ve obligado a saltar a una instrucción que no tiene por qué ser necesariamente la inmediatamente siguiente en el código. En ese caso, el procesador no puede saber por adelantado si debería ejecutar la siguiente instrucción u otra situada más lejos en el código. Esto puede resultar en acciones no deseadas por parte de la CPU.

Eliminación de RiesgosExisten varias técnicas para tanto prevenir riesgos como para solucionar los problemas derivados de su aparición.Inserción de burbujasLa inserción de burbujas es un método para prevenir la aparición de riesgos de datos, estructurales y de salto. Una vez que las instrucciones son capturadas, la lógica de control determina si podría o va a ocurrir un riesgo. Si es cierto, la lógica de control inserta una instrucción NOP (No Operation).

4.11 Respaldos Externos

El respaldo de información es un proceso muy importante que debe de tener cada usuario de computadora, sea un equipo portátil o un equipo de escritorio. El contar con respaldos permite al usuario en algún momento dado recuperar información que haya sido dañada por virus, fallas en el equipo o por accidentes. No obstante, muchas veces nos descuidamos en aspectos de seguridad tan sencillos, que pueden ahorrarnos muchos dolores de cabeza, para el caso, la importancia de un respaldo solo se entiende cuando se cae el sistema y se necesita recuperar la información.

Puede que contemos con respaldos internos, ósea, dentro del mismo discodel servidor, pero los respaldos externos aseguran que si todo falla contamos siempre con un AS bajo la manga.

• Deben contar con una fuente de respaldo

• No basta hacerlo interno, también debe hacerse externo

• El respaldo debe hacerse regularmente, como mínimo 1 vez al mes, ideal varias veces durante el día.

• Se debe verificar que el respaldo se está efectuando correctamente.Para hacer respaldos externos o internos se cuenta con muchas herramientas, entre las cuales podemos mencionar:

• Microsoft cuenta con una herramienta de respaldo, que viene con el sistema operativo windows.

• El Fbackup (http://www.fbackup.com), para el caso es una herramienta gratuita.

• Arreglos de discos externos

• USB’s

• Respaldos en la web o la nube.Existen muchas opciones y tecnologias de discos externos que pueden usar, algunas caras otras muy cómodas, el punto es que no se deben retener de invertir en asegurar su información, pues tener que reconstruir una base de datos es un proceso doloroso y caro.

4.12 RESPALDOS INTERNOS.

Un respaldo en nuestros datos es importantes en todo momento. El respaldo en nuestros datos nos protege en caso de un virus de computadora, corrupción de los datos y problemas de hardware o eléctricos

Dispositivos de almacenamiento interno: son los encargados de asegurar la información en la CPU de nuestro computador, aunque tienen un número limitado estos dispositivos son de vital importancia para el correcto funcionamiento de nuestro equipo, los dispositivos de almacenamiento interno y sus funciones son:

Disco duro: es considerado el cerebro del computador ya que en él es donde se guardan los datos a largo plazo para que los usuarios puedan acceder a ellos en cuanto sean necesarios, usualmente su capacidad para almacenamiento de información es bastante elevada.

Memoria ROM: esta es una memoria con la función específica de guardar los datos de fábrica que trae nuestro computador.

Memoria RAM: esta memoria tiene como función la conservación de información de corto plazo de nuestro computador.

My Book Premium ES:Esta unidad viene con el software Retrospect HD 2.0, que puede hacer respaldo a sus datos de la unidad de disco duro interna. Este software también admite un respaldo total del sistema.

WD Elements Play ; WD Elements Desktop ; WD Elements Portable ; WD Elements SE Portable; Elements Portable yElements Desktop:Esta unidad no trae software de respaldo. Puede copiar y pegar manualmente los datos a la unidad, utilizar Windows Backup o Apple Time Machine