Arquitecturas de cómputo.docx

25
Arquitecturas de cómputo 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3 De multiprocesamiento. 1.2 Análisis de los componentes. 1.2.1 CPU. 1.2.1.1 Arquitecturas. 1.2.1.2 Tipos. 1.2.1.3 Características. 1.2.1.4 Funcionamiento (ALU, unidad de control, Registros y buses internos) 1.2.2 Memoria. 1.2.2.1 Conceptos básicos del manejo de la memoria. 1.2.2.2 Memoria principal semiconductora. 1.2.2.3 Memoria cache 1.2.3 Manejo de la entrada/salida. 1.2.3.1 Módulos de entrada/salida. 1.2.3.2 Entrada/salida programada. 1.2.3.3 Entrada/salida mediante interrupciones. 1.2.3.4 Acceso directo a memoria. 1.2.3.5 Canales y procesadores de entrada/salida 1.2.4 Buses 1.2.4.1 Tipos de buses 1.2.4.2 Estructura de los buses 1.2.4.3 Jerarquías de buses 1.2.5. Interrupciones

Transcript of Arquitecturas de cómputo.docx

Page 1: Arquitecturas de cómputo.docx

Arquitecturas de cómputo

1.1 Modelos de arquitecturas de cómputo.

1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3 De multiprocesamiento.

1.2 Análisis de los componentes.

1.2.1 CPU. 1.2.1.1 Arquitecturas. 1.2.1.2 Tipos. 1.2.1.3 Características. 1.2.1.4 Funcionamiento (ALU, unidad de control, Registros y buses internos)

1.2.2 Memoria. 1.2.2.1 Conceptos básicos del manejo de la memoria. 1.2.2.2 Memoria principal semiconductora. 1.2.2.3 Memoria cache

1.2.3 Manejo de la entrada/salida. 1.2.3.1 Módulos de entrada/salida. 1.2.3.2 Entrada/salida programada. 1.2.3.3 Entrada/salida mediante interrupciones. 1.2.3.4 Acceso directo a memoria. 1.2.3.5 Canales y procesadores de entrada/salida

1.2.4 Buses 1.2.4.1 Tipos de buses 1.2.4.2 Estructura de los buses 1.2.4.3 Jerarquías de buses

1.2.5. Interrupciones

Page 2: Arquitecturas de cómputo.docx

INSTITUTO TECNOLÓGICO DE ESTUDIOS

SUPERIORES DE LOS CABOS

 

 

“Por una patria con sabiduría y espíritu de progreso”

TRABAJO

Modelos De Arquitectura De Cómputo Y Sus Principales Características.

ASIGNATURA

Arquitectura De Computadoras

CARRERA

INGENIERIA EN SISTEMAS COMPUTACIONALES

ALUMNO:

Jesús Manuel Hernández Pérez.

DOCENTE:

Ing. Miguel Martin Millán Jiménez.

San José del Cabo, B. C. Sur, 24 de Agosto de 2012.

Introducción.

¿Qué es la arquitectura de computadoras? Es el diseño conceptual y la estructura

fundamental de una computadora. Esta explica la situación de sus componentes

que permiten determinar las posibilidades de un sistema informático.

También depende de sus atributos arquitectónicos, que pueden ser un conjunto de

Page 3: Arquitecturas de cómputo.docx

instrucción, numero de bits, mecanismos de e/s,   y técnicas de direccionamiento

de memoria.

Es decir, es una descripción de los requerimientos y componentes de un sistema,

con una mayor interés en el cómo trabaja la CPU y como accede a las direcciones

de memoria. 

Existen tres de estos modelos.

  1. Arquitectura Clásica (Von Neumann):

Esta idea de arquitectura fue utilizada en la computadora ENIAC. La primera

computadora electrónica de uso general del mundo. 

Consiste en una unidad central de proceso que se comunica a través de un solo

bus con un banco de memoria en donde se almacenan los códigos de instrucción

del programa y   los datos que serán procesados.

El único bus de datos y direcciones se

convierte en la principal desventaja de esta arquitectura, ya que por el cual debe

pasar toda la información que se lee de o se escribe a la memoria, obligando a  

procesar solo una a la vez. Este fenómeno es conocido como cuello de botella, y

esta limita el desempeño de la computadora. 

En esta arquitectura se asigna un código numérico a cada instrucción y   se

almacenan en la misma unidad de memoria en que los datos van a procesarse

para   ser ejecutados en el orden en que se encuentran almacenados en la

memoria. Esto permite cambiar rápidamente la aplicación de la computadora y dio

origen a las computadoras de propósito general. (ENIAC)

Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una

unidad lógica aritmética (A.L.U.) y una serie de registros.

Los registros (memoria): sirven para almacenar internamente datos y estado del

procesador. 

La unidad aritmética lógica proporciona la capacidad de realizar operaciones

Page 4: Arquitecturas de cómputo.docx

aritméticas y lógicas. 

La unidad de control genera las señales de control para leer el código de las

instrucciones, decodificarlas y hacer que la ALU las ejecute.

Virtualmente todas las computadoras se han diseñado en los conceptos de von

Neumann salvo a algunas excepciones.

  2. Arquitectura Segmentada (Pipeline): 

Es un método por el cual se consigue aumentar el rendimiento de algún sistema.

En hardware los cálculos deben ser sincronizados con el reloj cada cierto tiempo

para que la ruta crítica se reduzca.

La

ruta crítica es en realidad la frecuencia máxima de trabajo alcanzada por el

circuito. 

Entre mayor ruta crítica menor es la frecuencia máxima de trabajo y a menor ruta

crítica mayor frecuencia de trabajo. Repartir o segmentar el cálculo de alguna

operación hace que esa frecuencia sea la óptima a costa de más área para el

almacenamiento de los datos necesarios y de la latencia en la salida del

resultado. 

La ventaja primordial de esta arquitectura es que una vez el pipeline está lleno los

resultados posteriores vienen uno tras otro cada ciclo de reloj y sin latencia extra

por estar encadenados dentro del mismo. 

Esta arquitectura busca mejorar el desempeño realizando paralelamente varias

etapas del ciclo de instrucción al mismo tiempo. 

El procesador se divide en varias unidades funcionales independientes y se

dividen entre ellas el procesamiento de las instrucciones. 

En un procesador con segmentación del cauce, cada una de estas etapas se

asigna a una unidad funcional diferente, la búsqueda a la unidad de búsqueda y la

Page 5: Arquitecturas de cómputo.docx

ejecución a la unidad de ejecución. Estas unidades pueden trabajar en forma

paralela en instrucciones diferentes.

Estas unidades se comunican por medio de una cola de instrucciones en la que la

unidad de búsqueda coloca los códigos de instrucción que leyó para que la unidad

de ejecución los tome de la cola y los ejecute. Esta cola se parece a un tubo

donde las instrucciones entran por un extremo y salen por el otro.

De esta analogía proviene

el nombre en inglés: Pipelining o entubamiento.

En general se divide al procesador segmentado en una unidad independiente por

cada etapa del ciclo de instrucción.

En teoría, el rendimiento de un procesador segmentado mejora con respecto a

uno no segmentado en un factor igual al número de etapas independientes.   Sin

embargo, la mejora en el rendimiento no es proporcional al número de segmentos

en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse,

además de que se puede presentar competencia por el uso de algunos recursos

como la memoria principal.   

Otra razón por la que las ventajas de este esquema se pierden es cuando se

encuentra un salto en el programa y todas las instrucciones que ya se buscaron y

se encuentran en la cola, deben descartarse y comenzar a buscar las

instrucciones desde cero a partir de la dirección a la que se saltó. 

Esto reduce el desempeño del procesador y aún se investigan maneras de

predecir los saltos para evitar este problema.

Otra aportación frecuente que aumenta el rendimiento del computador es el

fomento del paralelismo implícito, que consiste en la segmentación del procesador

(pipe-line), descomponiéndolo en etapas para poder procesar una instrucción

diferente en cada una de ellas y trabajar con varias a la vez. 

La arquitectura en pipeline (basada en filtros) consiste en ir transformando un flujo

Page 6: Arquitecturas de cómputo.docx

de datos en un proceso comprendido por varias fases secuenciales, siendo la

entrada de cada una la salida

de la anterior. 

También es una arquitectura muy natural en el paradigma de programación

funcional, ya que equivale a la composición de funciones matemáticas.

La arquitectura pipe-line se aplica en dos lugares de la máquina, en la CPU y en la

ALU.

  * Definición de pipeline: O tubería es un conjunto de elementos procesadores de

datos conectados en serie, en donde la salida de un elemento es la entrada del

siguiente. 

Los elementos del pipeline son generalmente ejecutados en paralelo, en esos

casos, debe haber un almacenamiento tipo buffer insertado entre elementos. 

  3. Arquitectura De Multiprocesamiento: 

Durante los años 70, se desarrolla un tipo nuevo de arquitectura denominada

multiproceso, en la cual se asignan tiempos a los procesos los cuáles pueden

permanecer en varios estados como "modo espera", "modo ejecución", "modo

cancelación" y "fin de proceso". 

El modo multiproceso necesita de una gran cantidad de memoria física disponible

en el equipo, ya que estos comparten el acceso a la memoria. Estos compiten en

igualdad al acceso a este.

Estos sistemas permiten que cualquier procesador trabaje en cualquier tarea sin

importar su localización en memoria, estos sistemas pueden mover fácilmente  

tareas entre procesadores y así garantizar la mayor eficacia.

Cuando se desea incrementar el desempeño más allá de lo que permite la técnica

Page 7: Arquitecturas de cómputo.docx

de segmentación del cauce, se requiere utilizar más de un procesador para le

ejecución del programa de aplicación.

El sistema de multiprocesamiento se compone de microprocesadores que se

comunican con la memoria atreves de un bus compartido, dicho bus tiene que ser

arbitrado para que cada procesador lo use en cada instante de tiempo, esto hace

que estén varios parados   en espera de datos.

  * Ventajas: 

Procesamiento paralelo

Cercanía entre CPUs permite altas tasas de transferencia de datos.

  * Desventajas: 

No todo es paralelizable

Problemas de coherencia de memoria local con memoria Principal 

Algunos modelos de Arquitectura de cómputo de multiprocesamiento son: 

Disco Duro, Unidades de E/S, Puertos USB, Puertos paralelos, Procesador…..

Cuadro Comparativo:

Modelo | Ventajas | Desventajas |

Clásica | Utilizada en la primera computadora de uso general. | Un solo bus, Cuello

de Botella

Un solo proceso a la vez |

Segmentada | El procesador se divide en varias unidades.

Paralelismo.Mayor rendimiento. | Competencia por los recursosSe reinician las

instrucciones cuando encuentra un salto |

Page 8: Arquitecturas de cómputo.docx

Multiprocesamiento | Procesamiento ParaleloAltas tasas de transferencia de datos

| No todo es paralelisable

Problemas de coherencia en memoria local y principal

Ocupa mucha memoria |

Conclusión:

Para partir de un modelo (clásico) algo ineficiente, los nuevos modelos o los que

han sido y son, no han cambiado mucho, solo los han mejorado, aún siguen

siendo las mismas unidades que se utilizaron, pro ahora son más pequeñas o

eficientes, incluso mucho

más rápidas.

Para el modelo clásico es bastante complejo, tal vez lento para nosotros, pero en

su tiempo me imagino que fue una maravilla en la ingeniería de circuitos y la

computación, un verdadero logro. Y como ya mencione los procesadores aun esta

basados en esta arquitectura, pero claro mejorados en todo aspecto. 

Eso para mí, significa que como todo alcanzaremos un límite, y tal vez un día

encontremos un nuevo modelo completamente diferente que también se pueda

mejorar o perfeccionar.

Como simples transistores pueden hacer maravillas, desde imprimir una simple

palabra hasta simular un   estallido nuclear.

Todo está orientado a una cosa, velocidad,   hacer las cosas más rápido sin

sacrificar muchos recursos. Miniaturizándose o con más características, Espero

ver la evolución del último modelo arquitectónico del multiprocesamiento.

Bibliografía:

http://www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r49114.PDF

http://www.scribd.com/doc/19083598/ARQUITECTURA-DE-COMPUTADORAS

Page 9: Arquitecturas de cómputo.docx

http://www.cs.cinvestav.mx/Estudiantes/TesisGraduados/2009/tesisNidiaCortez.pd

f

http://antares.itmorelia.edu.mx/~mfraga/arqui/apuntes%20unidad%201.pdf

http://www.slideshare.net/yesyduc10/modelos-de-arquitecturas-de-computo

www.itescam.edu.mx/principal/sylabus/fpdb/recursos/r14450.DOC

http://www.informaticamoderna.com/Arq_comp.htm#mulp

http://www.scribd.com/doc/36376144/Arquitectura-de-Computadoras

http://www.slideshare.net/yesyduc10/modelos-de-arquitecturas-de-computo

multiprocesamientoArquitectura del Sistema multiprocesadorMultiprocesamiento:Multiprocesamiento es el uso de dos o más unidades centrales de procesamiento (CPU) dentro de un únicodel sistema informático. El término también se refiere a la capacidad de un sistema para soportar más de unprocesador y / o la capacidad de asignar tareas entre ellos. Hay muchas variaciones sobre estetema básico, y la definición de multiprocesamiento puede variar con el contexto, sobre todo como una función decómo se definen las CPU (múltiples núcleos en un dado, varias fichas en un solo paquete, múltiplespaquetes en la unidad de sistema de uno, etc.)Multiprocesamiento veces se refiere a la ejecución de múltiples procesos de software concurrentes en unsistema en lugar de un único proceso en cualquier instante. Sin embargo, los términos multitarea omultiprogramación son más apropiados para describir este concepto, que se realiza en su mayoríaen software, mientras que multiprocesamiento es más apropiado para describir el uso de múltiplesCPUs de hardware. Un sistema puede ser tanto multiprocesamiento y multiprogramación, sólo uno de losdos, o ninguno de los dos.Tipos:

Procesador de simetría:

Page 10: Arquitecturas de cómputo.docx

En un sistema de multiprocesamiento, todas las CPU puede ser igual, o algunos pueden estar reservados para propósitos especiales. Una combinación de hardware y del sistema operativo consideraciones de diseño de software determinar la simetría (o falta de ella) en un sistema dado. Por ejemplo, consideraciones de hardware o de software puede requerir que sólo una CPU responder a todas las interrupciones de hardware, mientras que todas las demás tareas en el sistema puede ser distribuido igualmente entre las CPU, o la ejecución de código en modo de núcleo puede estar restringida a un solo procesador (ya sea un procesador específico, o sólo un procesador en un momento), mientras que el código de modo de usuario se pueden ejecutar en cualquier combinación de procesadores. Sistemas de multiprocesamiento son a menudo más fáciles de diseñar, si tales restricciones son impuestas, pero tienden a ser menos eficientes que los sistemas en los que todas las CPUs se utilizan.

Los sistemas que tratan a todos por igual CPUs se llaman multiprocesamiento simétrico (SMP). En sistemas en los que todas las CPU no son iguales, los recursos del sistema pueden dividirse en un número de maneras, incluyendo multiprocesamiento asimétrico (ASMP), acceso no uniforme a memoria (NUMA) multiprocesamiento, y multiprocesamiento agrupado.

Instrucción y flujos de datos:

En multiprocesamiento, los procesadores pueden ser utilizados para ejecutar una única secuencia de instrucciones en contextos múltiples (instrucción única, múltiple o datos SIMD, a menudo utilizado en el vector de transformación), secuencias múltiples de instrucciones en un solo contexto (instrucción múltiple, único -datos o MISD, utilizado para la redundancia en los sistemas de seguridad y a veces se aplica para describir los procesadores de entubado o Hyper Threading-), o varias secuencias de instrucciones en contextos múltiples (múltiples instrucción, múltiple o datos MIMD).

Procesador de acoplamiento:

Estrechamente acoplado sistemas multiprocesador contiene varias CPU que se conectan a nivel de bus. Estas CPUs pueden tener acceso a una memoria central compartida (SMP o UMA), o pueden participar en una jerarquía de memoria con la memoria local y compartida (NUMA). La Regata p690 de IBM es un ejemplo de una de gama alta sistema SMP. Los procesadores Intel Xeon dominado el mercado con varios procesadores para PCs de negocios y eran la única opción x86 hasta el lanzamiento de la gama de AMD Opteron de procesadores en el 2004. Ambas gamas de procesadores tenían su propia caché en la placa pero dio acceso a la memoria compartida, los procesadores Xeon a través de un tubo común y los procesadores Opteron a través de vías independientes a la RAM del sistema.

Multiprocesadores de chips, también conocidas como multi-core computing, implica algo más que un procesador colocado en un solo chip y se puede pensar en la forma más extrema de

Page 11: Arquitecturas de cómputo.docx

multiprocesamiento estrechamente acoplado. Sistemas mainframe con procesadores múltiples son a menudo estrechamente acoplado.

Débilmente acopladas sistemas multiprocesador (a menudo denominado como clusters) se basan en varios equipos independientes de un solo producto o de doble procesador interconectados a través de un sistema de comunicación de alta velocidad (Gigabit Ethernet es común). Un cluster Linux Beowulf es un ejemplo de un sistema de acoplamiento flexible.

Sistemas fuertemente acoplados funcionan mejor y son físicamente más pequeños que los sistemas de acoplamiento débil, pero han requerido históricamente mayores inversiones iniciales y pueden depreciar rápidamente; nodos en un sistema de acoplamiento flexible suelen ser equipos de bajo costo de los productos básicos y se puede reciclar como máquinas independientes de que cese el clúster.

El consumo de energía es también una consideración. Sistemas fuertemente acoplados tienden a ser mucho más eficientes energéticamente que los clústeres. Esto es debido a las considerables economías puede realizarse mediante el diseño de componentes para trabajar juntos desde el principio en sistemas fuertemente acoplados, mientras que los sistemas de acoplamiento débil utilizar componentes que no se pretendía necesariamente específicamente para su uso en tales sistemas.Multiprocesamiento SISD:

En una secuencia de la instrucción individual, flujo de datos único ordenador un procesador secuencial procesa las instrucciones, cada instrucción procesa un elemento de datos.

SIMD multiprocesamiento:

En un flujo de instrucciones único, flujo de datos múltiples ordenador un procesador maneja una secuencia de instrucciones, cada uno de los cuales puede realizar cálculos en paralelo en ubicaciones de datos múltiples.Multiprocesamiento SIMD se adapta bien a paralelo o procesamiento de vectores, en el que un conjunto de datos muy grande puede ser dividido en partes que son individualmente sometidos a operaciones idénticas pero independiente. Una corriente sola instrucción dirige la operación de múltiples unidades de procesamiento para realizar las mismas manipulaciones simultáneamente en cantidades potencialmente grandes de datos.

Para ciertos tipos de aplicaciones de computación, este tipo de arquitectura se puede producir un enorme incremento en el rendimiento, en términos del tiempo transcurrido necesario para completar una tarea dada. Sin embargo, un inconveniente de esta arquitectura es que una gran parte del sistema cae inactivo cuando los programas o tareas del sistema se ejecutan de que no se puede dividir en unidades que se pueden procesar en paralelo.

Page 12: Arquitecturas de cómputo.docx

Además, los programas deben ser cuidadosa y especialmente escrito para aprovechar al máximo la arquitectura, y con frecuencia la optimización de compiladores especiales diseñados específicamente para producir código para este entorno debe ser utilizado. Algunos compiladores de esta categoría proporcionan construcciones especiales o extensiones para permitir a los programadores especificar directamente las operaciones a realizar en paralelo (por ejemplo, hacer en todos los estados en la versión de FORTRAN utiliza en el IV ILLIAC, que era una supercomputadora multiprocesamiento SIMD).

Multiprocesamiento SIMD encuentra un amplio uso en determinados ámbitos, como la simulación por ordenador, pero es de poca utilidad para fines generales de escritorio y entornos informáticos de negocios.

Multiprocesamiento MISD:

Multiprocesamiento MISD ofrece principalmente la ventaja de redundancia, puesto que múltiples unidades de procesamiento de realizar las mismas tareas en los mismos datos, lo que reduce las posibilidades de resultados incorrectos si una de las unidades falla. Arquitecturas MISD puede implicar comparaciones entre las unidades de procesamiento para detectar fallas. Aparte del carácter redundante y a prueba de fallos de este tipo de multiprocesamiento, tiene algunas ventajas, y es muy caro. No mejora el rendimiento. Puede ser implementado de una manera que es transparente para el software. Se utiliza en los procesadores de matriz y se lleva a cabo en máquinas tolerantes a fallos.

Multiprocesamiento MIMD:

Arquitectura multiprocesamiento MIMD es adecuado para una amplia variedad de tareas en las que se pueden ejecución completamente independiente y paralela de instrucciones que tocan diferentes conjuntos de datos a un uso productivo. Por esta razón, y debido a que es fácil de implementar, MIMD predomina en multiprocesamiento.

El proceso se divide en múltiples hilos, cada uno con su propio estado procesador hardware, software dentro de un único proceso definido o dentro de varios procesos. Medida en que un sistema tiene varios subprocesos pendientes de entrega (ya sea del sistema o subprocesos de usuario), esta arquitectura hace un buen uso de los recursos de hardware.

MIMD se plantean problemas de estancamiento y la contención de recursos, sin embargo, ya que las discusiones pueden chocar en su acceso a los recursos de un modo impredecible, difícil de gestionar de manera eficiente. MIMD requiere codificación especial en el sistema operativo de una computadora, pero no requiere cambios en las aplicaciones a menos que los propios programas utilizan múltiples hilos (MIMD es transparente para un único subproceso programas de la mayoría de sistemas operativos, si los programas no voluntariamente ceder el control al sistema operativo) . Tanto el software del sistema y el usuario puede necesitar utilizar construcciones de

Page 13: Arquitecturas de cómputo.docx

software tales como semáforos (también llamado cerraduras o puertas) para evitar un hilo de interferir con otro si llegaran a cruzarse en referencia a los mismos datos.

Este proceso de bloqueo de puerta o aumenta la complejidad del código, reduce el rendimiento y aumenta en gran medida la cantidad de pruebas requeridas, aunque no suele ser suficiente para anular las ventajas del multiprocesamiento.

Conflictos similares pueden surgir a nivel de hardware entre los procesadores (argumento cache y la corrupción, por ejemplo), y por lo general se debe resolver en el hardware, o con una combinación de software y hardware (por ejemplo, borrar la memoria caché, instrucciones).

Multiprocesamiento simétrico:

En computación, el multiprocesamiento simétrico o SMP implica una arquitectura de computadores multiprocesador en el que dos o más procesadores idénticos pueden conectar a una sola memoria principal compartida. Sistemas multiprocesador más comunes hoy en día utilizan una arquitectura SMP. En el caso de los procesadores multi-núcleo, la arquitectura SMP se aplica a los núcleos, tratándolos como procesadores separados.

Sistemas SMP permite que ningún procesador trabaje en cualquier tarea sin importar donde los datos de esa tarea están ubicados en la memoria, con el apoyo adecuado del sistema operativo, los sistemas SMP se pueden mover fácilmente tareas entre los procesadores para equilibrar la carga de trabajo de manera eficiente.

Alternativas:

Diagrama de un sistema típico de SMP. Tres procesadores están conectados al mismo módulo de memoria a través de un bus o en el travesaño interruptor SMP representa uno de los primeros estilos de arquitecturas multiprocesador, usados típicamente para la construcción de pequeños ordenadores con hasta 8 procesadores. Grandes sistemas informáticos podrían utilizar nuevas arquitecturas como la NUMA (Non-Uniform Memory Access), que dedica los diferentes bancos de memoria para diferentes procesadores. En una arquitectura NUMA, los procesadores pueden tener acceso a la memoria local de forma rápida y memoria remota más lentamente.

Esto puede mejorar el rendimiento de memoria, siempre y cuando los datos se localiza en procesos específicos (y por lo tanto, los procesadores). En el lado negativo, NUMA hace que el costo de traslado de datos de un procesador a otro, como en el equilibrio de carga de trabajo, más caro. Los beneficios de la NUMA se limitan a las cargas de trabajo específicas, en particular en los servidores donde a menudo los datos asociados fuertemente con ciertas tareas o usuarios.

Page 14: Arquitecturas de cómputo.docx

Otros sistemas incluyen multiprocesamiento asimétrico (ASMP), que utiliza distintos procesadores especializados para tareas específicas (lo que aumenta la complejidad), y multiprocesamiento equipo agrupado (como Beowulf), en la que no toda la memoria está disponible para todos los procesadores.

Ejemplos de ASMP incluyen muchos chips de procesador de medios que son una base de procesador relativamente lento asistida por un número de núcleos de acelerador de hardware. Conjuntos de chips de alta potencia en 3D en las tarjetas de vídeo modernas podría ser considerado una forma de multiprocesamiento asimétrico. Las técnicas de conglomerados se usan extensamente bastante para construir supercomputadoras de gran tamaño. En esta discusión de un único procesador se denota como un procesador de uni (UN).

Ventajas y desventajas:

SMP tiene muchas aplicaciones en la ciencia, la industria y los negocios que a menudo utilizan a medida programada para el software multiproceso (multitasked) el tratamiento. Sin embargo, la mayoría de productos de consumo tales como procesadores de texto y juegos de ordenador están escritos de tal manera que no pueden obtener grandes beneficios de los sistemas concurrentes. Para los juegos es por lo general debido escribir un programa para aumentar el rendimiento en sistemas SMP puede producir una pérdida de rendimiento en los sistemas de un solo procesador. Recientemente, sin embargo, chips multi-core son cada vez más comunes en los equipos nuevos, y el equilibrio entre instalado uni o multi-core ordenadores pueden cambiar en los próximos años.

La naturaleza de los métodos de programación diferentes generalmente requeriría dos separadas de código árboles para apoyar tanto uni-procesador y los sistemas SMP con el máximo rendimiento. Los programas que se ejecutan en sistemas SMP pueden experimentar un aumento de rendimiento, incluso cuando han sido escritas por uni-procesador de sistemas. Esto se debe a interrupciones de hardware que suele suspender la ejecución del programa, mientras que el kernel maneja los puede ejecutar en un procesador ocioso en su lugar. El efecto en la mayoría de las aplicaciones (juegos, por ejemplo) no es tanto un incremento en el rendimiento como la apariencia de que el programa está funcionando mucho mejor. En algunas aplicaciones, los compiladores en particular y algunos proyectos de computación distribuida, se verá una mejora en un factor de (casi) el número de procesadores adicionales.

En situaciones en las que más de un programa se ejecuta al mismo tiempo, un sistema SMP tendrá un rendimiento considerablemente mejor que un solo procesador porque diferentes programas puede ejecutar en diferentes CPUs simultáneamente.

Programadores de sistemas deben conseguir apoyo para SMP en el sistema operativo de otra manera, los procesadores adicionales permanecer inactivo y el sistema funciona como un sistema de un solo procesador.

Page 15: Arquitecturas de cómputo.docx

En los casos en que un entorno SMP procesa muchos puestos de trabajo, los administradores a menudo experimentan una pérdida de eficiencia del hardware. Los programas de software han sido desarrollados para programar trabajos para que el uso del procesador alcanza su máximo potencial. Buenos paquetes de software pueden alcanzar este potencial máximo mediante la programación de cada CPU por separado, así como ser capaz de integrar múltiples máquinas SMP y clústeres.

El acceso a RAM es serializado; este y cuestiones de coherencia de caché hace que el rendimiento a quedar ligeramente detrás de la serie de procesadores adicionales en el sistema.

De nivel de entrada los sistemas:

Antes de 2006, sobre nivel de entrada de los servidores y estaciones de trabajo con dos procesadores dominado el mercado de SMP. Con la introducción de dispositivos de doble núcleo, SMP se encuentra en la mayoría de las máquinas de escritorio nuevas y en muchas máquinas portátiles. El más popular de nivel de entrada los sistemas SMP utilizar la arquitectura del conjunto de instrucciones x86 y están basados en Xeon de Intel, Pentium D, Core Duo y Core 2 Duo o procesadores basados en X2 de AMD Athlon64, Opteron Quad o FX 200 y 2000 procesadores de la serie.

Servidores de utilizar los procesadores y otros fácilmente disponibles que no sean x86 opciones de procesador UltraSPARC, incluyendo el de Sun Microsystems, Fujitsu SPARC64 III y más tarde, MIPS de SGI, Itanium de Intel, Hewlett Packard PA-RISC, Hewlett-Packard (se fusionó con Compaq que adquirió primera empresa Digital Equipment ) DEC Alpha, IBM POWER y PowerPC de Apple Computer (series específicamente G4 y G5, así como antes PowerPC 604 y serie 604e) procesadores. En todos los casos, estos sistemas están disponibles en las versiones mono-procesador también.

A principios de los sistemas SMP utiliza placas base que tienen dos o más tomas de corriente de CPU. Más recientemente, los fabricantes de microprocesadores introducido dispositivos de la CPU con dos o más procesadores en un solo dispositivo, por ejemplo, el poder, UltraSPARC, Opteron, Athlon, Core 2 y Xeon tienen varios núcleos variantes. Athlon y Core 2 Duo son los multiprocesadores socket compatible con las variantes de un solo procesador, por lo que una placa madre socket doble cara ya no se necesita para implementar una máquina de nivel de entrada SMP. También hay que señalar que de Doble Socket diseños Opteron son diseños técnicamente ccNUMA, a pesar de que se puede programar como SMP para una ligera pérdida en el rendimiento.

Nivel entre sistemas:

Page 16: Arquitecturas de cómputo.docx

El Burroughs B5500 implementó por primera vez en 1961 SMP. Se llevó a cabo más tarde en mainframes otros. De nivel medio, utilizando servidores de entre cuatro y ocho procesadores, se puede encontrar utilizando el procesador Intel Xeon MP, AMD Opteron serie 800 y 8000 y la mencionada UltraSPARC, SPARC64, MIPS, Itanium, PA-RISC, Alpha y procesadores POWER. Sistemas de gama alta, con dieciséis o más procesadores, también están disponibles con todos los procesadores anteriores.

Sistemas Sequent Computer construido grandes máquinas SMP utilizando Intel 80386 (y más tarde 80486) procesadores. Algunos sistemas más pequeños 80486 existido, pero el principal mercado x86 SMP comenzó con el procesador Intel Pentium tecnología que soporta hasta dos procesadores. El procesador Intel Pentium Pro con soporte SMP ampliado hasta cuatro procesadores nativa. Más tarde, el procesador Intel Pentium II y Pentium III de Intel permite sistemas de doble procesador, con excepción de los Celeron respectivos. Esto fue seguido por el procesador Intel Pentium II Xeon e Intel Pentium III Xeon que se podría utilizar con hasta cuatro procesadores en un sistema de forma nativa.

En 2001, AMD lanzó su Athlon MP, o CPU multiprocesador, junto con el chipset de la placa 760MP como su primera oferta en el mercado de procesador dual. Aunque varios sistemas mucho más grandes fueron construidas, estaban limitados por toda la memoria física frente a la limitación de 64 GiB. Con la introducción de 64-bit de direccionamiento de memoria en el Opteron AMD64 e Intel en 2003 64 (EM64T) Xeon en 2005, los sistemas son capaces de hacer frente a cantidades mucho mayores de la memoria, su limitación direccionable de 16 EiB no se espera que se alcance en el futuro previsible.

Multiprocesamiento asimétrico:

Multiprocesamiento asimétrico o ASMP es un tipo de multiprocesamiento apoyado en VMS V.3 diciembre, así como un número de sistemas más antiguos incluyendo TOPS-10 y 360-OS. Esto varía mucho de un modelo de procesamiento estándar que vemos en los ordenadores personales. Debido a la complejidad y el carácter único de esta arquitectura, no fue adoptado por muchos fabricantes o programadores durante su breve paso entre 1970 - 1980.

Donde como un multiprocesador simétrico o SMP trata a todos los elementos de procesamiento en el sistema de forma idéntica, un sistema de ASMP asigna determinadas tareas sólo a ciertos procesadores. En particular, sólo un procesador puede ser responsable de fildeo todas las interrupciones en el sistema o incluso la realización de todas las E / S en el sistema. Esto hace que el diseño del sistema de E / S mucho más simple, aunque tiende a limitar el rendimiento final del sistema. Las tarjetas gráficas, tarjetas de física y aceleradores criptográficos que están subordinados a una CPU en las computadoras modernas puede ser considerado una forma de multiprocesamiento asimétrico. SMP es muy común en el mundo de la computación moderna,

Page 17: Arquitecturas de cómputo.docx

cuando la gente se refiere a "multi core" o "multi", que son los más comúnmente en referencia a SMP.

Introducción:

Multiprocesadores asimétrico y multiprocesamiento asimétrico (conocido como ASMP) fueron iniciados en 1970 por el Instituto de Tecnología de Massachusetts (MIT) y Digital Equipment Corporation (DEC). ASMP permite que las aplicaciones se ejecuten subtareas específicas en procesadores separados del "maestro" del procesador. Ordenadores de ASMP se componen de múltiples procesadores físicos que son únicas, y por lo tanto no es simétrica. Estos procesadores se define como maestro o esclavo: procesadores maestros son más capaces que los esclavos y se les da un control total sobre lo que los procesadores esclavos hacer. ASMP no está en uso en el mundo moderno, ya que fue superado por el multiprocesamiento simétrico (SMP), que se convirtió en común. Intel comenzó a trabajar en SMP en 1981, que marcó la desaparición de la ASMP en el mercado de consumo y corporativos.

Aunque a nivel de hardware ASMP no puede estar en uso, el proceso idea lógica y todavía se utiliza comúnmente en aplicaciones que son multiprocesador intensiva. A diferencia de las aplicaciones SMP, que corren sus hilos en varios procesadores, aplicaciones ASMP se ejecutará en un procesador, pero externalizar tareas más pequeñas a otro. Aunque el sistema físicamente puede ser un SMP, el software es todavía capaz de utilizarlo como ASMP simplemente dando ciertas tareas a un procesador y considerando que el "maestro", y sólo la externalización de tareas más pequeñas a los "esclavos" procesadores.

Sistemas asimétricos de hardware dedicado habitualmente procesadores individuales a tareas específicas. Por ejemplo, un procesador puede estar dedicado a operaciones de disco, otras operaciones de vídeo a, y el resto de las tareas del procesador estándar. Estos sistemas no tienen la flexibilidad de asignar los procesos a la CPU menos cargado, a diferencia de un sistema SMP.

Historia:

Multiprocesadores asimétricas se remontan a 1970, cuando fueron por primera vez por primera MIT y diciembre como una técnica de la computación moderna. Su diseño original y el producto se llama PDP-6/KA10. En 1972 volvió a escribir su software diciembre TOPS-10 del monitor que se desarrolló en el PDP-10. Este cambio permitió que el equipo utilice multiprocesamiento asimétrico. Además, en diciembre 1981 continuó sus investigaciones en ASMP y produjo modelos asimétricos multiprocesador del VAX 11, el VAX 11/782, que tenía dos procesadores, y el VAX 11/784, que tenía cuatro procesadores.

Después de 1981, la investigación y el procesamiento asimétrico diseño se desvaneció y desapareció después. Procesamiento simétrico se produjo durante el mismo período y vio una mayor adopción junto con el uso por las grandes empresas como Intel. Como resultado, los ASMP

Page 18: Arquitecturas de cómputo.docx

pareció desaparecer en la historia mientras SMP comenzó a florecer. Es en gran parte porque ASMP era muy complejo y complicado en su diseño, la mayor parte de la tecnología se ha optimizado para aplicaciones muy específicas (es decir, aplicaciones de edición de vídeo que podría externalizan de representación en un procesador separado). SMP es simplemente una colección de procesadores idénticos o capaces de procesar cualquier información que cualquier procesador de uno se le da. Así escribir software y sistemas operativos que son capaces de multiprocesamiento, era mucho más realista para la arquitectura SMP.

Las aplicaciones modernas de ASMP:

En la actualidad no hay equipos de nivel de consumo de producción que utilizan diseños asimétricos multiprocesador. Hay, sin embargo, los equipos que son capaces de distribuir las tareas de forma asimétrica. En la teoría de que son capaces de utilizar un procesador simétrico para hacer cálculos asimétricas. Un programador puede elegir usar un procesador como un principal, y sólo descargan determinadas tareas para el otro procesador. Aunque cada procesador físico o lógico es capaz de completar una tarea determinada, se da prioridad a uno de ellos como "maestro" del procesador, y el otro se da la posición de "esclavo".La arquitectura de hardware fue abandonada a principios de los años 80 y perdió frente a multiprocesadores simétricos, que eran mucho más fáciles de trabajar y proporcionó un hardware mucho más sencillo construir. Es común para ver algunas aplicaciones utilizando características asimétricas dentro de un sistema de procesamiento simétrico. Un ejemplo sería un videojuego que funcionaba con un "maestro" encargado del tratamiento y el cálculo de la física desembarcada en el "esclavo" del procesador.

Aunque ambos procesadores no son únicos e iguales, el software puede optar por utilizar los procesadores de una manera maestro / esclavo.

ATI fue pionera en una tecnología que permite a sus tarjetas de video para ser utilizado asimétrica (es decir, utilizando una de la representación y otro de Física), pero esto es una vez más una representación de ASMP Software. El hardware es idéntico y simétrico así, pero se utiliza asimétricamente a través de la intervención del software.

La PS3 de Sony es un ejemplo de un extrapolarse multiprocesador asimétrico. El procesador celular tiene núcleos únicos que computan sólo ciertas tareas, a pesar de que es una consola de juego en lugar de un ordenador de propósito general.

Representación gráfica de multiprocesamiento asimétrico:

A continuación se presentan ejemplos de lo que un grupo de multiprocesadores asimétricas se vería así. Observar la naturaleza extremadamente único de estos diseños y como un solo procesador tiene acceso a la parte de E / S del sistema. Como se ha dicho antes, estos sistemas funcionan mejor y se diseñaron originalmente para realizar tareas muy específicas. Un procesador

Page 19: Arquitecturas de cómputo.docx

puede simplemente hacer cálculos de física, mientras que otra se dedica a la prestación de vídeo 2D. Por encima de estos dos procesadores, será un procesador maestro que asigna tareas.Observe también que la memoria principal no es accesible por todos los procesadores. El procesador maestro se suelen retransmitir la información en un archivo. "Necesidad de saber", a los procesadores esclavos