1) El documento describe diferentes arquitecturas de computadoras paralelas, incluyendo computadoras encauzadas, procesadores matriciales y sistemas multiprocesadores. 2) También discute formas de lograr procesamiento paralelo en sistemas monoprocesadores a través de mecanismos como unidades funcionales múltiples y multiprogramación. 3) Finalmente, introduce conceptos como computadores de flujo de datos y procesadores multirruta.
El documento trata sobre la arquitectura de computadoras paralelas. Explica que la arquitectura paralela descompone un proceso secuencial en suboperaciones que se ejecutan de forma concurrente en segmentos dedicados. También clasifica los sistemas paralelos según el flujo de instrucciones y datos, y describe diferentes tipos de paralelismo como el de instrucciones, datos, procesadores y encauzamiento.
Este documento describe la arquitectura de Von Neumann, incluyendo las principales unidades de una CPU como la unidad de control, la unidad aritmético lógica y la memoria principal. Explica que la unidad de control se encarga de leer las instrucciones de la memoria y enviar órdenes a los otros componentes, mientras que la unidad aritmético lógica realiza operaciones aritméticas y lógicas. También describe cómo estas unidades se comunican a través de buses y cómo fluye la información entre ellas para ejecutar instrucciones de
Diapositiva de los 4 festival de talleres freferbar
El documento describe los componentes fundamentales de la memoria de un computador, incluyendo la memoria primaria, secundaria y terciaria. También explica los conceptos de memoria volátil, no volátil y dinámica. Por último, cubre los modos de direccionamiento de memoria y su importancia para estructurar los datos.
Este documento habla sobre los temas asociados con la representación y el almacenamiento de datos dentro de una computadora. Explica que la información se codifica mediante patrones de 0s y 1s llamados bits, y que estos se almacenan en la memoria principal de la máquina. También describe los diferentes tipos de almacenamiento masivo como discos duros, CDs y memorias flash, los cuales proveen mayor capacidad de almacenamiento. Por último, menciona algunas formas de representar información como texto, números, imágenes y sonidos median
La arquitectura MISD (Multiple Instruction stream, Single Data stream) es un tipo de arquitectura paralela donde múltiples unidades ejecutan diferentes operaciones en el mismo flujo de datos. Las arquitecturas de tubería pertenecen a este tipo, como los controladores de vuelo del transbordador espacial que ejecutan algoritmos diferentes en los mismos datos para controlar el vuelo.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, generaciones de computadoras y más. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes clave de una computadora son la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, procesador y periféricos. Explica conceptos como bits, bytes y unidades de medida para el almacenamiento y transmisión de datos. También resume las generaciones de computadoras y herramientas web 2.0 como los navegadores.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, unidades centrales de procesamiento y dispositivos de entrada/salida. Explica que el hardware son las partes físicas de la computadora, el software son los programas y datos, y que el sistema operativo es un programa que permite la interacción entre el usuario y la computadora.
El documento trata sobre la arquitectura de computadoras paralelas. Explica que la arquitectura paralela descompone un proceso secuencial en suboperaciones que se ejecutan de forma concurrente en segmentos dedicados. También clasifica los sistemas paralelos según el flujo de instrucciones y datos, y describe diferentes tipos de paralelismo como el de instrucciones, datos, procesadores y encauzamiento.
Este documento describe la arquitectura de Von Neumann, incluyendo las principales unidades de una CPU como la unidad de control, la unidad aritmético lógica y la memoria principal. Explica que la unidad de control se encarga de leer las instrucciones de la memoria y enviar órdenes a los otros componentes, mientras que la unidad aritmético lógica realiza operaciones aritméticas y lógicas. También describe cómo estas unidades se comunican a través de buses y cómo fluye la información entre ellas para ejecutar instrucciones de
Diapositiva de los 4 festival de talleres freferbar
El documento describe los componentes fundamentales de la memoria de un computador, incluyendo la memoria primaria, secundaria y terciaria. También explica los conceptos de memoria volátil, no volátil y dinámica. Por último, cubre los modos de direccionamiento de memoria y su importancia para estructurar los datos.
Este documento habla sobre los temas asociados con la representación y el almacenamiento de datos dentro de una computadora. Explica que la información se codifica mediante patrones de 0s y 1s llamados bits, y que estos se almacenan en la memoria principal de la máquina. También describe los diferentes tipos de almacenamiento masivo como discos duros, CDs y memorias flash, los cuales proveen mayor capacidad de almacenamiento. Por último, menciona algunas formas de representar información como texto, números, imágenes y sonidos median
La arquitectura MISD (Multiple Instruction stream, Single Data stream) es un tipo de arquitectura paralela donde múltiples unidades ejecutan diferentes operaciones en el mismo flujo de datos. Las arquitecturas de tubería pertenecen a este tipo, como los controladores de vuelo del transbordador espacial que ejecutan algoritmos diferentes en los mismos datos para controlar el vuelo.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, generaciones de computadoras y más. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes clave de una computadora son la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, procesador y periféricos. Explica conceptos como bits, bytes y unidades de medida para el almacenamiento y transmisión de datos. También resume las generaciones de computadoras y herramientas web 2.0 como los navegadores.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, unidades centrales de procesamiento y dispositivos de entrada/salida. Explica que el hardware son las partes físicas de la computadora, el software son los programas y datos, y que el sistema operativo es un programa que permite la interacción entre el usuario y la computadora.
Este documento resume el Capítulo 2 sobre el tratamiento de datos en una computadora. Explica que la CPU procesa datos mediante instrucciones codificadas en lenguaje máquina. Describe la arquitectura básica de una computadora, incluyendo la unidad de procesamiento, registros y memoria. También explica cómo se almacenan y ejecutan los programas, moviendo instrucciones de la memoria a la CPU según sea necesario.
Este documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y tiene el objetivo de hacer que el sistema sea fácil de usar. También describe los componentes clave de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, unidad central de procesamiento y dispositivos de entrada y salida. También explica conceptos como bytes, kilobytes, megabytes y las unidades utilizadas para medir la capacidad de almacenamiento, velocidad de procesamiento y transmisión de datos.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, dispositivos de entrada y salida, memoria central, unidad central de procesamiento y unidades de medida para almacenamiento y velocidad de transmisión de datos. Explica que el software interactúa con el hardware para hacer operativa la máquina, y que los sistemas operativos actúan como intermediarios entre el usuario y el hardware.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, procesos de entrada y salida, memoria, unidad central de procesamiento y generaciones de computadoras. También explica conceptos como navegadores web, protocolos de comunicación, unidades de medida de almacenamiento y velocidad de transmisión de datos.
El documento describe la arquitectura interna de los procesadores Intel. Se diferencian varias partes como la memoria cache, los registros, la memoria y los puertos. También explica cómo funciona el procesador realizando operaciones matemáticas, moviendo datos y tomando decisiones basadas en instrucciones. Se mencionan diferentes tipos de procesadores Intel como los Core 2 y se define qué son los puntos flotantes.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, procesadores y generaciones de computadoras. Explica que el hardware son los componentes físicos de la computadora, mientras que el software son los programas y datos. También describe los dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria central. Además, explica las diferentes generaciones de computadoras y sus características.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, y generaciones de computadoras. Explica que el hardware se refiere a las partes físicas de la computadora, mientras que el software son los programas y datos. También describe los principales componentes de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, y generaciones de computadoras. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes clave de una computadora son la unidad de procesamiento central, memoria, dispositivos de entrada y salida.
El documento presenta información sobre los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria central, unidad central de procesamiento, dispositivos de entrada y salida, y unidades de medida para el almacenamiento y velocidad de transmisión de datos. Explica conceptos como bytes, megabits, gigahertz y más.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y que sus objetivos principales son ofrecer un ambiente donde correr programas y hacer que el sistema sea fácil de usar. También describe los componentes físicos como la unidad central de procesamiento, memoria, dispositivos de entrada y salida, y almacenamiento.
Clasificación de flynn (arquitectura del computador)rosluck29
El documento describe la taxonomía de Flynn para clasificar arquitecturas de computadoras. Esta taxonomía se basa en si los sistemas tienen uno o varios flujos de instrucciones y datos. Esto da lugar a cuatro categorías: SISD, SIMD, MISD y MIMD. El documento explica las características de cada categoría.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, procesos de entrada y salida, memoria, unidad central de procesamiento y generaciones de computadoras. También explica conceptos como navegadores web, protocolos de comunicación, unidades de medida de almacenamiento y velocidad de transmisión.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y tiene el objetivo de hacer que el sistema sea fácil de usar. También describe los componentes físicos como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
Este documento resume conceptos básicos de hardware como la codificación binaria, conversiones de unidades como bytes, kilobytes, megabytes, gigabytes y terabytes. Explica el modelo de arquitectura de Von Neumann y sus componentes principales como la unidad de procesamiento, memoria y periféricos. También define términos como ALU, CPU y RAM. Por último, menciona conexiones como SATA y dos procesadores comúnmente usados: Intel Xeon e5-2698 e Intel Xeon e7-2698.
El documento trata sobre la arquitectura de las computadoras. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes básicos de una computadora son el hardware, software, sistema operativo y usuarios. También describe los componentes físicos de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, unidades centrales de procesamiento y dispositivos de entrada/salida. Explica que el hardware son las partes físicas de la computadora, el software son los programas y datos, y que el sistema operativo es un programa que permite la interacción entre el usuario y la computadora.
El documento describe los componentes básicos de una computadora y cómo funcionan. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que las computadoras están compuestas de hardware, software, sistemas operativos y usuarios. También define los dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria RAM.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, unidad central de procesamiento, dispositivos de entrada y salida, y generaciones de computadoras. También explica conceptos como bytes, direcciones de memoria, hercios, y protocolos de red como HTTP.
Este documento contiene información sobre la arquitectura de computadoras y sus componentes. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware. Luego describe los componentes básicos de una computadora, incluyendo dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria. Finalmente, brinda detalles sobre conceptos como generaciones de computadoras, procesos y velocidad de transmisión de datos.
El documento describe la evolución de la arquitectura de las computadoras desde la máquina de Von Neumann hasta las computadoras multinúcleo modernas. Explica que la máquina de Von Neumann estableció el modelo básico de CPU, memoria y E/S, y que las generaciones posteriores introdujeron transistores, circuitos integrados y multiprocesamiento para mejorar el rendimiento. También describe las características clave de las computadoras de primera, segunda y tercera generación.
Este documento resume las cinco generaciones de computadoras digitales, describiendo las tecnologías clave y capacidades de cada generación. La primera generación utilizó válvulas de vacío y ejecutó tareas de forma secuencial. La segunda generación utilizó transistores. La tercera generación introdujo circuitos integrados y permitió la multiprogramación. La cuarta generación introdujo los microprocesadores. La quinta generación se centra en la inteligencia artificial y el procesamiento paralelo.
Este documento resume el Capítulo 2 sobre el tratamiento de datos en una computadora. Explica que la CPU procesa datos mediante instrucciones codificadas en lenguaje máquina. Describe la arquitectura básica de una computadora, incluyendo la unidad de procesamiento, registros y memoria. También explica cómo se almacenan y ejecutan los programas, moviendo instrucciones de la memoria a la CPU según sea necesario.
Este documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y tiene el objetivo de hacer que el sistema sea fácil de usar. También describe los componentes clave de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, unidad central de procesamiento y dispositivos de entrada y salida. También explica conceptos como bytes, kilobytes, megabytes y las unidades utilizadas para medir la capacidad de almacenamiento, velocidad de procesamiento y transmisión de datos.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, dispositivos de entrada y salida, memoria central, unidad central de procesamiento y unidades de medida para almacenamiento y velocidad de transmisión de datos. Explica que el software interactúa con el hardware para hacer operativa la máquina, y que los sistemas operativos actúan como intermediarios entre el usuario y el hardware.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, procesos de entrada y salida, memoria, unidad central de procesamiento y generaciones de computadoras. También explica conceptos como navegadores web, protocolos de comunicación, unidades de medida de almacenamiento y velocidad de transmisión de datos.
El documento describe la arquitectura interna de los procesadores Intel. Se diferencian varias partes como la memoria cache, los registros, la memoria y los puertos. También explica cómo funciona el procesador realizando operaciones matemáticas, moviendo datos y tomando decisiones basadas en instrucciones. Se mencionan diferentes tipos de procesadores Intel como los Core 2 y se define qué son los puntos flotantes.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, procesadores y generaciones de computadoras. Explica que el hardware son los componentes físicos de la computadora, mientras que el software son los programas y datos. También describe los dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria central. Además, explica las diferentes generaciones de computadoras y sus características.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, y generaciones de computadoras. Explica que el hardware se refiere a las partes físicas de la computadora, mientras que el software son los programas y datos. También describe los principales componentes de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, navegadores web, y generaciones de computadoras. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes clave de una computadora son la unidad de procesamiento central, memoria, dispositivos de entrada y salida.
El documento presenta información sobre los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria central, unidad central de procesamiento, dispositivos de entrada y salida, y unidades de medida para el almacenamiento y velocidad de transmisión de datos. Explica conceptos como bytes, megabits, gigahertz y más.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y que sus objetivos principales son ofrecer un ambiente donde correr programas y hacer que el sistema sea fácil de usar. También describe los componentes físicos como la unidad central de procesamiento, memoria, dispositivos de entrada y salida, y almacenamiento.
Clasificación de flynn (arquitectura del computador)rosluck29
El documento describe la taxonomía de Flynn para clasificar arquitecturas de computadoras. Esta taxonomía se basa en si los sistemas tienen uno o varios flujos de instrucciones y datos. Esto da lugar a cuatro categorías: SISD, SIMD, MISD y MIMD. El documento explica las características de cada categoría.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, procesos de entrada y salida, memoria, unidad central de procesamiento y generaciones de computadoras. También explica conceptos como navegadores web, protocolos de comunicación, unidades de medida de almacenamiento y velocidad de transmisión.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, programas de aplicación y usuarios. Explica que el sistema operativo actúa como intermediario entre el usuario y el hardware, y tiene el objetivo de hacer que el sistema sea fácil de usar. También describe los componentes físicos como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
Este documento resume conceptos básicos de hardware como la codificación binaria, conversiones de unidades como bytes, kilobytes, megabytes, gigabytes y terabytes. Explica el modelo de arquitectura de Von Neumann y sus componentes principales como la unidad de procesamiento, memoria y periféricos. También define términos como ALU, CPU y RAM. Por último, menciona conexiones como SATA y dos procesadores comúnmente usados: Intel Xeon e5-2698 e Intel Xeon e7-2698.
El documento trata sobre la arquitectura de las computadoras. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que los componentes básicos de una computadora son el hardware, software, sistema operativo y usuarios. También describe los componentes físicos de una computadora como la unidad central de procesamiento, memoria, dispositivos de entrada y salida.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistemas operativos, memoria, unidades centrales de procesamiento y dispositivos de entrada/salida. Explica que el hardware son las partes físicas de la computadora, el software son los programas y datos, y que el sistema operativo es un programa que permite la interacción entre el usuario y la computadora.
El documento describe los componentes básicos de una computadora y cómo funcionan. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que las computadoras están compuestas de hardware, software, sistemas operativos y usuarios. También define los dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria RAM.
El documento describe los componentes básicos de una computadora, incluyendo el hardware, software, sistema operativo, memoria, unidad central de procesamiento, dispositivos de entrada y salida, y generaciones de computadoras. También explica conceptos como bytes, direcciones de memoria, hercios, y protocolos de red como HTTP.
Este documento contiene información sobre la arquitectura de computadoras y sus componentes. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware. Luego describe los componentes básicos de una computadora, incluyendo dispositivos de entrada, salida y almacenamiento, así como la unidad central de procesamiento y la memoria. Finalmente, brinda detalles sobre conceptos como generaciones de computadoras, procesos y velocidad de transmisión de datos.
El documento describe la evolución de la arquitectura de las computadoras desde la máquina de Von Neumann hasta las computadoras multinúcleo modernas. Explica que la máquina de Von Neumann estableció el modelo básico de CPU, memoria y E/S, y que las generaciones posteriores introdujeron transistores, circuitos integrados y multiprocesamiento para mejorar el rendimiento. También describe las características clave de las computadoras de primera, segunda y tercera generación.
Este documento resume las cinco generaciones de computadoras digitales, describiendo las tecnologías clave y capacidades de cada generación. La primera generación utilizó válvulas de vacío y ejecutó tareas de forma secuencial. La segunda generación utilizó transistores. La tercera generación introdujo circuitos integrados y permitió la multiprogramación. La cuarta generación introdujo los microprocesadores. La quinta generación se centra en la inteligencia artificial y el procesamiento paralelo.
La taxonomía de Flynn clasifica las arquitecturas de computadoras en cuatro tipos dependiendo del número de instrucciones y secuencias de datos que utilizan: SISD, SIMD, MISD y MIMD. La arquitectura de Von Neumann, que sirve de base para las computadoras modernas, describe cómo la CPU, la memoria y las unidades de entrada/salida se conectan y coordinan para procesar instrucciones de forma secuencial. Las arquitecturas MIMD y SIMD permiten el procesamiento paralelo mediante múltiples procesadores que
El documento presenta una introducción a la informática, definiendo conceptos clave como datos, codificación de información y estructura funcional de los computadores. Explica que la informática involucra la adquisición, representación, procesamiento y transmisión de información de forma automática usando computadoras. Además, describe las unidades funcionales básicas de un computador como la unidad de entrada y salida, memoria, unidad aritmético lógica y unidad de control.
El documento describe el funcionamiento y componentes del procesador, incluyendo la unidad de control, unidad aritmético-lógica, registros y reloj interno. Explica que los procesadores tienen arquitecturas RISC o CISC y que la potencia depende de factores como la frecuencia, tamaño de registros y número de núcleos. Los procesadores modernos tienen múltiples núcleos para ejecutar tareas en paralelo.
El documento describe la historia de las computadoras y los sistemas operativos a través de 6 generaciones. Detalla las características clave de cada generación de hardware y los avances significativos en los sistemas operativos, incluidos el procesamiento por lotes, la multiprogramación, el tiempo compartido y los sistemas en tiempo real. También resume los sistemas operativos importantes desarrollados como Unix, MS-DOS y varias versiones de Windows.
Este documento describe diferentes modelos de arquitectura de computadoras, incluyendo las arquitecturas clásicas de Von Neumann y Harvard, arquitecturas segmentadas para mejorar el rendimiento, y arquitecturas de multiprocesamiento como SISO, SIMO, MISO y MIMO. También discute cómo estas arquitecturas buscan superar los cuellos de botella y lograr mayor paralelismo en el procesamiento.
Este documento define y explica varios conceptos clave relacionados con procesadores. Define términos como CPU, microprocesador, procesos, hilos, estados de un proceso, arquitecturas CISC y RISC, diferencias entre procesadores de 32 y 64 bits, y factores que afectan la velocidad de una computadora. El documento concluye que es importante comprender los componentes de una computadora personal y cómo funcionan para facilitar tareas en diferentes ámbitos.
Este documento describe la arquitectura y organización de las computadoras. Explica que la arquitectura se refiere a los atributos visibles para el programador como el conjunto de instrucciones, mientras que la organización se refiere a los detalles del hardware. También describe los componentes clave de una computadora como la CPU, memoria y E/S, así como modelos de arquitectura como la de von Neumann y las arquitecturas segmentadas con tuberías.
El documento describe una actividad sobre sistemas operativos que incluye definir sistemas operativos, elaborar un mapa conceptual de sus componentes y funciones, y caracterizar cuatro sistemas operativos modernos. También pide describir cómo interactúan los sistemas operativos con los componentes de una computadora y elaborar una tabla sobre la clasificación de sistemas operativos.
Una computadora es un sistema electrónico que procesa datos bajo la dirección de un programa. Existen varios tipos de computadoras como supercomputadoras, macrocomputadoras, minicomputadoras y microcomputadoras, las cuales se diferencian principalmente por su tamaño, capacidad de procesamiento, almacenamiento y costo. Las unidades comunes para medir el almacenamiento incluyen el bit, byte, kilobyte, megabyte y gigabyte.
El procesador es el componente principal de un ordenador que ejecuta las instrucciones de los programas. Está formado por una unidad aritmético-lógica, registros, y una unidad de control que coordinan los componentes. Los procesadores tienen núcleos múltiples que permiten ejecutar varios programas simultáneamente para mejorar el rendimiento. Está compuesto de una unidad de interfaz, decodificación, ALU, registros y reloj interno que trabajan juntos bajo la unidad de control para procesar las instrucciones
El documento habla sobre los componentes básicos de una computadora. Explica que un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware, y que tiene el objetivo de ofrecer un ambiente en el que el usuario pueda ejecutar programas de manera cómoda. Luego describe los componentes principales de una computadora, incluyendo el hardware, software, memoria, unidad central de procesamiento, dispositivos de entrada y salida, y las generaciones de computadoras. Finalmente, brinda detalles sobre cómo funcionan los navegadores web.
El documento describe diferentes técnicas de hardware para sistemas paralelos. Explica la escalabilidad, elementos de procesamiento como procesadores matriciales, la segmentación para solapar la ejecución de instrucciones, y las arquitecturas de multiprocesadores SIMD y MIMD con memoria compartida o distribuida. También cubre los objetivos y ventajas de los sistemas distribuidos.
La ALU (unidad aritmética lógica) es una parte fundamental del procesador que realiza operaciones matemáticas y lógicas. John von Neumann propuso el concepto de la ALU en 1945 para el computador EDVAC. La ALU incluye sumadores, complementadores, comparadores y registros que permiten realizar funciones como sumas, restas, multiplicaciones, divisiones, comparaciones y almacenar resultados de manera temporal.
El documento proporciona una introducción a los microprocesadores, incluyendo su arquitectura básica, componentes clave como la unidad de control y la unidad aritmético lógica, y los tipos de buses. Explica las arquitecturas de Von Neumann y Harvard, señalando que la arquitectura Harvard almacena instrucciones y datos en cachés separadas para mejorar el rendimiento.
Este documento trata sobre conceptos clave de sistemas operativos como su importancia y utilidad, la jerarquía de memorias, la arquitectura del computador y los indicadores de rendimiento. Explica brevemente que los sistemas operativos gestionan los recursos del hardware y proveen servicios a los programas de aplicación, y que la jerarquía de memorias organiza los diferentes tipos de memoria de acuerdo a su velocidad y capacidad. También define conceptos como la unidad central de procesamiento, canales, periféricos y modos
La CPU es la parte más importante de un ordenador. Está compuesta de una unidad de control, una unidad de procesamiento y registros. La unidad de control decodifica las instrucciones y controla el flujo de datos, mientras que la unidad de procesamiento ejecuta operaciones como las aritméticas y lógicas. Los registros almacenan datos de forma temporal para un rápido acceso.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaAMADO SALVADOR
Descubra el catálogo completo de buzones BTV, una marca líder en la fabricación de buzones y cajas fuertes para los sectores de ferretería, bricolaje y seguridad. Como distribuidor oficial de BTV, Amado Salvador se enorgullece de presentar esta amplia selección de productos diseñados para satisfacer las necesidades de seguridad y funcionalidad en cualquier entorno.
Descubra una variedad de buzones residenciales, comerciales y corporativos, cada uno construido con los más altos estándares de calidad y durabilidad. Desde modelos clásicos hasta diseños modernos, los buzones BTV ofrecen una combinación perfecta de estilo y resistencia, garantizando la protección de su correspondencia en todo momento.
Amado Salvador, se compromete a ofrecer productos de primera clase respaldados por un servicio excepcional al cliente. Como distribuidor oficial de BTV, entendemos la importancia de la seguridad y la tranquilidad para nuestros clientes. Por eso, trabajamos en colaboración con BTV para brindarle acceso a los mejores productos del mercado.
Explore el catálogo de buzones ahora y encuentre la solución perfecta para sus necesidades de correo y seguridad. Confíe en Amado Salvador y BTV para proporcionarle buzones de calidad excepcional que cumplan y superen sus expectativas.
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...AMADO SALVADOR
Descarga el Catálogo General de Tarifas 2024 de Vaillant, líder en tecnología para calefacción, ventilación y energía solar térmica y fotovoltaica. En Amado Salvador, como distribuidor oficial de Vaillant, te ofrecemos una amplia gama de productos de alta calidad y diseño innovador para tus proyectos de climatización y energía.
Descubre nuestra selección de productos Vaillant, incluyendo bombas de calor altamente eficientes, fancoils de última generación, sistemas de ventilación de alto rendimiento y soluciones de energía solar fotovoltaica y térmica para un rendimiento óptimo y sostenible. El catálogo de Vaillant 2024 presenta una variedad de opciones en calderas de condensación que garantizan eficiencia energética y durabilidad.
Con Vaillant, obtienes más que productos de climatización: control avanzado y conectividad para una gestión inteligente del sistema, acumuladores de agua caliente de gran capacidad y sistemas de aire acondicionado para un confort total. Confía en la fiabilidad de Amado Salvador como distribuidor oficial de Vaillant, y en la resistencia de los productos Vaillant, respaldados por años de experiencia e innovación en el sector.
En Amado Salvador, distribuidor oficial de Vaillant en Valencia, no solo proporcionamos productos de calidad, sino también servicios especializados para profesionales, asegurando que tus proyectos cuenten con el mejor soporte técnico y asesoramiento. Descarga nuestro catálogo y descubre por qué Vaillant es la elección preferida para proyectos de climatización y energía en Amado Salvador.
1. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 1
ARQUITECTURA DE COMPUTADORAS
CAPITULO VII
COMPUTADORAS
PARALELO
AÑO 2014
2. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 2
IX - INTRODUCCIÓN:
La tendencia actual para alcanzar grandes velocidades y
capacidades de elaboración de datos, que son necesarias para el llamado procesamiento
de inteligencia, es la disponer varios procesadores en paralelo, actuando
simultáneamente.
Las ventajas de estos sistemas son notables, por cuanto hacen uso
de procesadores estándar para alcanzar enormes velocidades de cálculo, del orden de un
TIPS (Tera Instrucciones Por Segundo) o sea 1012
instrucciones por segundo, y ya se
avizora el funcionamiento en el orden de los PIPS o sea Peta Instrucciones por Segundo
que corresponde a 1018
IPS.
La evolución de las computadoras, desde el punto de vista de los
sistemas operativos, nos muestra la siguiente secuencia de innovaciones:
1 - Procesamiento por lotes: En el cual cada programa es cargado y ejecutado,
en forma separada.
2 - Multiprogramación: En el cual se carga una serie de programas en
memoria, y se ejecutan de acuerdo a las
necesidades de cada uno.
3 - Tiempo compartido: En este caso, todos los programas están cargados en
la memoria, y se asigna un tiempo de ejecución
para cada uno, en forma tal que parecen
ejecutarse todos simultáneamente.
4 - Multiprocesamiento: En este caso se disponen varias unidades de
procesamiento, en forma tal que operan
simultáneamente sobre varios programas.
También, desde el punto de vista de la arquitectura, se han tenido niveles
de sofisticación crecientes, que podemos sintetizar en:
1 - Procesamiento de datos: es el tipo de procesamiento que mayormente se
emplea aún actualmente, pues consiste en operar
sobre datos alfanuméricos no relacionados
2 - Procesamiento de información: La información consiste en un cúmulo de
datos, que están de alguna manera ligados
mediante una estructura sintáctica o una relación
espacial cualquiera.
3 - Procesamiento de conocimientos: El conocimiento, es una forma de
información más algún significado semántico, o
sea que forman un sub-espacio de la información.
4 - Procesamiento de inteligencia: La inteligencia, es derivada de una
colección de ítems de conocimiento.
3. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 3
Figura IX - 1 : Espacio de procesamiento.
Estos elementos son representables, mediante un diagrama de Venn en
forma piramidal, tal como el indicado en la figura VII.1.
El "Procesamiento paralelo" es una forma de cálculo que favorece la
presencia de eventos concurrentes, siendo concurrentes los eventos que presentan:
- Paralelismo
- Simultaneidad
- Solapamiento
Los procesos paralelos son los que se producen en distintos recursos al
mismo tiempo, los procesaos simultáneos son los que pueden producirse, en distintos
recursos al mismo tiempo, y los procesos solapados son los que pueden producirse en
intervalos de tiempo superpuestos.
El nivel más elevado del procesamiento paralelo es el de llevar a cabo
múltiples tareas mediante sistemas de multiprogramación, tiempo compartido y
multiprocesamiento, por lo que, resumiendo, el procesamiento paralelo es un desafío que
puede ser abordado desde cuatro niveles:
- de programación (Algoritmos)
- de procedimientos (Interacción hard-soft)
- de interisntrucciones (Interacción soft-hard)
- de intrainstrucciones (Hardware)
O sea que la tarea primordial, es la de implementar algoritmos que
permitan realizar tareas en paralelo, continuando con los procedimientos y los sistemas
operativos para tal objetivo, y terminando con la construcción de sistemas con
organizaciones que permitan la realización de tareas simultáneas.
4. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 4
Lo dicho sugiere que el procesamiento paralelo es un campo de estudios
combinado, en el cual debe hacerse un perfecto balance entre hardware y software.
Otro tipo de procesamiento muy relacionado con el procesamiento paralelo,
es el procesamiento distribuido, en el cual se utilizan diversas máquinas, interconectadas
de alguna manera, para la realización de una gran tarea.
VII.1 - PARALELISMO ES SISTEMAS MONOPROCESADORES:
Un monoprocesador, es un procesador tal como los que vimos hasta ahora,
se trata de una unidad lógica y aritmética, una unidad de entrada y salida, una unidad
de memoria y una unidad de control, de las cuales hemos citado múltiples ejemplos, que
por lo tanto no repetiremos aquí.
VII.1.1 - MECANISMOS DE PROCESAMIENTO PARALELO:
Según vimos, se han desarrollado una gran cantidad de mecanismos para la
realización de algunas tareas en paralelo, los que pueden ser catalogados en seis
categorías:
- Multiplicidad de unidades funcionales
- Paralelismo y encauzamiento en la CPU
- Solapamiento de las operaciones de E/S y de la CPU.
- Uso de sistemas jerárquicos de memoria
- Balanceo de los anchos de banda de los subsistemas
- Multiprogramación y tiempo compartido
Lo cual pasaremos a describir someramente en lo que sigue.
VII.1.1.1 - MULTIPLICIDAD DE UNIDADES FUNCIONALES:
Ya en varias oportunidades hemos citado los dos procesadores estándar más
modernos, el Pentium y el Power PC, y en ellos hemos podido ver que emplean varias
unidades funcionales. En el caso del Pentium, ver figura VIII.21, tenemos dos unidades
de cálculo para enteros, y una para números en coma flotante. En el caso del Power PC
620, ver figura VIII.20, tenemos tres Unidades Lógicas y Aritméticas para enteros y una
para coma flotante.
Existen otros ejemplos que hacen uso de múltiples módulos de E/S, como la
IBM 370/168, cuya estructura simplificada se indica en la figura VII.2.
VII.1.1.2 - PARALELISMO Y ENCAUZAMIENTO EN LA CPU:
Prácticamente todas las ALU actuales poseen algún tipo de sumador paralelo
con anticipo del arrastre, además de realizar varias operaciones en paralelo, por tener
varias unidades de cálculo, tal como en el Pentium y en el Power PC.
Por otra parte, también se utilizan sistemas encauzados, no solo para las
instrucciones, sino también en la ALU, tal como veremos más adelante.
5. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 5
VII.1.1.3 - SOLAPAMIENTO DE LAS OPERACIONES DE E/S Y DE LA CPU:
También vimos en capítulos anteriores, que es posible utilizar métodos de E/S
que no afecten el funcionamiento de la CPU, tal es el caso de las operaciones de E/S por
interrupción y por uso del DMA.
VII.1.1.4 - USO DE SISTEMAS JERÁRQUICOS DE MEMORIA:
Recordemos que las CPU son mucho más veloces (mas de 100 veces) que las
memorias, por tanto, el uso de memorias jerárquicas permite, mediante la transferencia
de diferentes cantidades de datos, tratar de acercarse a esa gran velocidad. Esto fue
indicado en el capítulo V, correspondiente a la unidad de memoria.
VII.1.1.5 – BALANCE O EQUILIBRADO DE LOS ANCHOS DE BANDA:
En general, es conocido como ancho de banda a la cantidad de información
que es posible transferir u operar en una unidad de tiempo. En nuestro caso serán bits,
Bytes, o palabras por segundo.
6. Bm= W
tm
Bp = O
tp
Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 6
Así es posible decir que:
B = W
t
Donde: B es el ancho de banda
W es la cantidad de información (palabras / bits / bytes)
t es la unidad de tiempo considerada (segundos)
Cuando hablamos de la memoria, el ancho de banda es la cantidad de Bytes
o de bits que puede transferir en cada ciclo de memoria, así escribiremos:
(palabras/segundo)
Donde: Bm = ancho de banda de la memoria (palabras/segundo)
W = cantidad de palabras
tm = tiempo de un ciclo de memoria
Y si estamos considerando la CPU, diremos:
(Operaciones/segundo)
Donde: Bp = ancho de banda del procesador
O = cantidad de operaciones
tp = tiempo total para realizar la operación.
En realidad, la velocidad de cálculo de la CPU, se mide en:
- MEGAFLOPS (Mega Operaciones en coma flotante por segundo)
- MIPS (Mega Instrucciones por segundo)
En general, podemos decir sobre los anchos de banda, que el mayor
corresponde a la CPU, le sigue la memoria central (incluyendo cache, si la hay), y
finalmente la memoria masiva, o externa), por lo que podemos escribir:
Bm Bp Bd
Donde el último término corresponde al ancho de banda de los dispositivos
externos de almacenamiento.
Es interesante considerar los efectos de las demoras existentes en las
transferencias de datos, para lo cual definiremos el llamado ancho de banda útil, que
siempre es menor al calculado anteriormente.
Para el equilibrado de los anchos de banda entre la CPU y la memoria, se
utiliza el sistema jerárquico, donde se cambia tiempo por cantidad, o dicho de otra
manera, entre la memoria central y la caché se transfieren bloques de datos, y entre la
caché y la CPU se transfieren unidades de datos (palabras).
7. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 7
Para el equilibrado de los anchos de banda entre la memoria y los
dispositivos de almacenamiento masivo, es posible utilizar una mayor cantidad de éstos.
Resumiendo, tenemos lo indicado en la figura VII.3, donde se observa lo
antedicho.
Figura VII.3 – Equilibrado de los anchos de banda.
VII.1.1.6 - MULTIPROGRAMACIÓN Y TIEMPO COMPARTIDO:
Estas son dos formas de procesamiento que permiten cierto paralelismo en la
ejecución de programas en sistemas monoprocesadores. El procesamiento
multiprogramado, permite la utilización de tiempos muertos en algunas de las unidades,
por ejemplo, si hay dos programas cargados en memoria, y uno de ellos hace uso de la
CPU, sin necesitar de la unidad de E/S, el segundo programa puede hacer uso de ésta, y
esperar a que se desocupe la CPU, cuando ello ocurre, el primer programa puede dar sus
salidas, mientras que el segundo es ejecutado.
En el tiempo compartido en cambio, el uso de las diferentes unidades es
repartido entre los programas, en forma tal que cada uno de ellos hace uso de la CPU un
cierto tiempo.
En la figura VII.4 se tiene un diagrama comparativo entre estas dos formas
de operación, y la común, por lotes.
VII.2 - ESTRUCTURAS DE COMPUTADORAS PARALELO:
Los computadores paralelo son aquellos sistemas que enfatizan el
procesamiento paralelo, y de acuerdo a los desarrollos realizados, podemos dividirlas en
tres configuraciones arquitectónicas.
- Computadores Encauzados: son los que llevan a cabo tareas
solapadas, por lo que explota el
paralelismo temporal.
- Procesadores Matriciales: son los que utilizan diversas ALU
sincronizadas, por lo que usan un
paralelismo espacial.
- Sistemas Multiprocesadores: es el que alcanza un paralelismo
asincrónico, mediante un conjunto de
8. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 8
procesadores interactivos, con recursos
distribuidos.
Estos tres conceptos de paralelismo, no son excluyentes entre ellos, sino que
casi todas las computadoras actuales tienen cauces, y además pueden tener estructuras
matriciales o multiprocesadores. La diferencia fundamental entre ambos, el matricial o
el multiprocesador, en que en el primero los elementos de proceso deben actuar
sincrónicamente, mientras que en el segundo, pueden operar asincrónicamente.
También es posible introducir tres nuevos conceptos de la computación:
- Computadores de Flujo de Datos: operan en base a los datos, no a la
secuencia de instrucciones.
- Procesadores algorítmicos VLSI: generan algoritmos mediante
hardware.
- Procesadores multirruta: denominados “multithread” en inglés, los
cuales operan en base a una cierta cantidad de
procesadores conectados en cascada, y que su vez cada
cascada está en paralelo con otra u otras.
VII.2.1 - COMPUTADORAS ENCAUZADAS:
Ya hemos visto en capítulos anteriores a los computadores que tienen cauces
de instrucciones, aún varios en paralelo (superencauzadas y superescalares). Estos
cauces son extensibles a la ULA, según veremos más adelante.
9. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 9
VII.2.2 - COMPUTADORES MATRICIALES:
Un procesador matricial, es una computadora paralelo sincrónica con
múltiples unidades lógicas y aritméticas, también conocidas como elementos de
procesamiento (EP), que pueden operar en paralelo. Mediante replicación de EP es
posible lograr el llamado paralelismo espacial.
Cada uno de los EP opera sincrónicamente con los demás, llevando a cabo la
misma función en el mismo tiempo. Una estructura funcional típica de este tipo de
computadores se indica en la figura VII.5.
La unidad de control se encarga de la elaboración de las instrucciones y del
envío de las órdenes a todos los EP, para ello tiene un procesador de control CP y una
10. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 10
memoria de control CM. Los elementos de procesamiento a su vez, además del
procesador poseen una memoria para los datos.
La malla de conexión inter-EP, es configurable por el control en forma tal de
disponer espacialmente los EP a fin de resolver un dado problema, además se encarga
del encaminamiento de los datos.
VII.2.3 - SISTEMAS MULTIPROCESADORES:
La organización básica de un multiprocesador es la indicada en la figura
VII.6. El sistema contiene dos o más procesadores de capacidades semejantes.
Todos los procesadores comparten el acceso a varios módulos de memoria,
varios canales de E/S, y dispositivos periféricos.
Lo más importante es que todo el conjunto puede ser controlado por un
sistema operativo integrado, que provee interacción entre los procesadores y sus
programas en varios niveles.
Cada procesador posee su propia memoria y puede tener sus dispositivos
privados. La intercomunicación entre procesadores puede ser a través de las memorias
compartidas o por medio de una malla conmutada.
La organización del hardware es determinada, primariamente, por la
estructura de interconexión utilizada entre memorias y procesadores, de la cual se han
utilizado al presente tres modelos:
- Bus común de tiempo compartido
- Malla de conmutación tipo crossbar
- Memorias multipuerto.
11. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 11
12. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 12
VII.3 - ESQUEMAS DE CLASIFICACIÓN DE LAS ARQUITECTURAS:
Los esquemas arquitectónicos de las computadoras, pueden ser
clasificados de tres formas diferentes.
- Teniendo en cuenta la multiplicidad de los flujos de instrucciones y
de datos (Flynn 1966)
- Comparando el procesamiento serie y el paralelo (Feng 1972)
- Considerando el grado de paralelismo y de encauzamiento
(Händler 1977)
VII.3.1 - MULTIPLICIDAD DE FLUJOS DE INSTRUCCIONES Y DE DATOS:
13. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 13
Dentro de este sistema de clasificación, solo se tiene en cuenta la secuencia de
instrucciones realizada por la máquina, y las corrientes de datos servidas por las
instrucciones en cualquiera de los niveles.
Esto permite determinar cuatro categorías:
- Simple flujo de instrucciones y simple corriente de datos (SISD)
- Simple flujo de instrucciones y multiples corrientes de datos (SIMD)
- Multiple Flujo de instrucciones y simnple corriente de datos (MISD)
- Multiple flujo de instrucciones y múltiple flujo de datos (MIMD)
En todos los casos las instrucciones son buscadas en los módulos de memoria,
decodificadas por la unidad de control, la que remite una corriente de ordenes a las
unidades de procesamiento para le ejecución.
Las corrientes de datos fluyen bidireccionalmente entre los módulos de
memoria y los procesadores.
VII.3.1.1 - ORGANIZACIÓN SISD:
Esta que es la mostrada en la figura VII.7.a, representa todas las
computadoras que operan actualmente en serie, aún cuando posean múltiples unidades
funcionales en la CPU y utilicen canales tanto de instrucciones como de operaciones.
VII.3.1.2 - ORGANIZACIÓN SIMD:
Esta organización, mostrada en la figura VII.7.b, es la correspondiente a los
sistemas matriciales, que consiste en una malla de procesadores controlados por una
única unidad de control, por lo que todos ellos reciben las mismas órdenes, aunque
operan sobre datos distintos. El subsistema de memoria compartida puede contener
varios módulos.
VII.3.1.3 - ORGANIZACIÓN MISD:
El concepto es ilustrado en la figura VII.7.c, donde hay n procesadores, cada
uno de ellos recibiendo diferente instrucciones para operar sobre los mismos datos. Esta
organización no ha sido estudiada, y aun más algunos arquitectos de computadoras la
consideran impracticable.
VII.3.1.4 - ORGANIZACIÓN MIMD:
La mayoría de los sistemas multiprocesadores, y aún varios sistemas de
múltiples computadoras, pueden ser clasificados en éste grupo, el cual se ilustra en la
figura VII.7.b.
En este caso, n corrientes de datos son derivadas a m procesadores, cada uno
de los cuales recibiendo una de las múltiples corriente de instrucciones. Por tanto cada
procesador ejecuta un programa distinto sobre un conjunto de datos diferentes.
UC UP MM
instrucciones
inst. datos
14. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 14
VII.3.2 - PROCESAMIENTO SERIE CONTRA PROCESAMIENTO PARALELO:
Tsu-yun Feng ha sugerido el uso del "grado" de paralelismo para clasificar
las arquitecturas de computadoras.
15. Pi = P
= 1
Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 15
El máximo número de dígitos binarios (bits) que pueden ser procesados en
una unidad de tiempo, por un sistema de computación, es denominado "máximo grado
de paralelismo" y es identificado con P. La unidad de tiempo considerada debe ser el
intervalo de reloj, o el intervalo del ciclo de reloj.
Si consideramos T ciclos del procesador, y en cada uno de ellos la cantidad
de bits operados en paralelo, el grado promedio de paralelismo es:
Pa =
i=1
T
Pi
T
En general, es:
PPa ≤
Por lo que podemos llamar relación de utilización, o factor de utilización µ
de un sistema de computación, dentro de T ciclos, a la relación:
=
Pa
P =
i=1
T
Pi
T.P
Si la capacidad de un procesador es utilizada a pleno, o sea que es explotado
plenamente el paralelismo, tendremos que: para cualquier i, y entonces,
lo que significa en porcentaje el 100%.
Podemos intuir que la relación de utilización depende del programa que está
siendo ejecutado.
El máximo grado de paralelismo es representado por el producto de la
longitud de palabra por la cantidad de bits operados en paralelo. [ P(n,m)]
Esta cantidad de bits operados en paralelo, tiene en cuenta el efecto de los
canales, si una unidad tiene cuatro canales y cada uno de ellos puede operar ocho bits a
la vez, la cantidad de bits operados en paralelo es de 4x8 = 32 bits. Si además esa
máquina tiene palabras de 64 bits de longitud, decimos que su grado de paralelismo es:
P (64,32).
En la figura VII.8 se indica la clasificación de Feng para varias máquinas, del
gráfico se desprende que hay cuatro tipos de métodos de procesamiento:
- Palabra Serie y Bit Serie (PSBS)
- Palabra Paralelo y Bit Serie (PPBS)
- Palabra Serie y Bit Paralelo (PSBP)
- Palabra Paralelo y Bit Paralelo (PPBP)
La primera también es conocida como procesamiento bit serie, por cuanto se
opera el bit de una palabra por vez, respondiendo a un sistema mínimo (n=m=1).
16. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 16
Las computadoras PPBS, han sido denominadas procesamiento por tajada
de bit (Bit Slice), y en ellas es n = 1, m > 1.
Las PSBP, o sea n > 1,m = 1, son la mayoría de las existentes, y son
denominadas de procesamiento de tajada de palabra (Word Slice), Finalmente las
PPBP, son las de procesamiento totalmente paralelo, en las que tanto n como m son
mayores que la unidad. (n > 1; m > 1)
VII.3.3 - PARALELISMO CONTRA ENCAUZAMIENTO.
Wolfgang Händler propuso un esquema de clasificación, en el cual se
identifica el grado de paralelismo y el grado de encauzamiento, dentro de las estructuras
de hardware de un sistema de computación.
Considera el procesamiento paralelo-encauzado dentro de los subsistemas en
tres niveles:
- Unidad de Control del procesador (PCU)
- Unidad Lógica Aritmética (ALU)
- Circuitos a nivel de bits (BLC)
Las funciones de la CPU y de la ALU son bastante conocidas por nosotros, no
así la BLC, que corresponde a la lógica combinacional necesaria para llevar a cabo
operaciones de 1 bit en la ALU.
Según Händler, un sistema de computación C, es caracterizado por el tríptico
que contiene seis entidades independientes, definido por:
P(C) = (KxK',DxD',WxW')
Donde: K es la cantidad de procesadores de la computadora (PCU).
K' es la cantidad de procesadores que pueden ser encauzados.
17. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 17
D es la cantidad de ALU’s bajo control de una CPU.
D' es la cantidad de ALU’s que pueden ser encauzadas.
W es la longitud de palabra de una ALU .
W' es el número de etapas de los cauces de todas las ALU’s.
Como ejemplo, consideremos la computadora TI-ASC (Texas Instruments -
Advanced Scientific Computer), que tiene un controlador, que controla cuatro cauces
aritméticos de ocho etapas, y cada uno con 64 bits de longitud de palabra. Esto nos
entrega:
P(ASC) = (1x1,4x1,64x8) = (1,4,64x8)
Cuando tenemos una segunda entidad, la que lleva " ' ", o sea, K’, D’ y W’, y
vale uno, el mismo no es escrito.
VII.4 - SISTEMAS ENCAUZADOS:
Ya vimos en el capítulo anterior los principios del encauzamiento, en especial
para las instrucciones, ahora podemos ampliar el concepto a las unidades lógicas y
aritméticas, en las cuales se utiliza para la realización de aquellas operaciones complejas,
tales como suma y resta de cantidades en coma flotante y producto de cantidades
binarias o binarias codificadas.
En la figura VII.9, se tiene la forma genérica de un cauce lineal. Como puede
observarse, consta de un nivel de registros seguido de una etapa de cálculo, más otro
nivel de registros, y así sucesivamente.
Como ejemplo, podemos implementar el sumador de dos cantidades
expresadas en coma flotante, realizado según el diagrama de flujo mostrado en la figura
IV.33, el que se tiene en la figura VII.10.
VII.4.1 - CLASIFICACIÓN DE LOS PROCESADORES ENCAUZADOS:
De acuerdo con los niveles de procesamiento, el ya citado Händler propuso
un esquema de clasificación de los procesadores encauzados, en la forma que se ilustra
en la figura VII.11.
18. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 18
VII.4.1.1 - CAUCES ARITMÉTICOS:
La unidad lógica y aritmética puede ser segmentada para realizar
operaciones encauzadas con varios formatos de datos. En la figura VII.11.a, se tiene un
cauce lineal del tipo correspondiente al de 8 etapas de la ASC, o al de hasta 14 etapas del
Cray-1, y hasta 16 del Cyber-205.
VII.4.1.2 - CAUCES DE INSTRUCCIONES:
La ejecución de una corriente de instrucciones puede ser encauzada,
solapando la ejecución de una con la búsqueda de la siguiente, etc., según lo expuesto en
el capítulo anterior.
En la figura VII.11.b, se muestra como actúa el cauce, buscando primero una
instrucción, luego un dato, o más, y devolviendo los resultados.
VII.4.1.3 - ENCAUZAMIENTO DE PROCESADORES:
Esto se refiere a un sistema multiprocesadores, en el cual cada uno de los
procesadores conforma una etapa del cauce, tal como se indica en la figura VII.11.c.
El primer procesador recibe los datos de la memoria, realiza su operación y
devuelve el resultado a un módulo de memoria, que es accesible por el segundo
procesador, el cual realiza una operación semejante.
VII.4.2 - CLASIFICACIÓN SEGÚN RAMAMOORTHY Y LI:
Estos estudiosos de los sistemas encauzados, propusieron otro tipo de
clasificación basado en la configuración del cauce y sus estrategias de control.
VII.4.2.1 - CAUCES UNIFUNCIÓN Y MULTIFUNCIÓN:
Un cauce que tiene una función fija y determinada, tal como un sumador de
coma flotante, es denominado cauce unifuncional. La Cray-1 tiene 12 cauces
unifuncionales, cada uno para una función diversa.
Un cauce multifunción, puede llevar a cabo diferentes funciones, al mismo
tiempo o en tiempos diferentes, mediante la interconexión de diferentes subconjuntos de
etapas. El ASC tiene cuatro cauces multifuncionales, los que son reconfigurables para
realizar una amplia variedad de funciones lógicas y aritméticas en distintos tiempos.
19. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 19
20. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 20
VII.4.2.2 - CAUCES ESTÁTICOS Y DINÁMICOS:
Un cauce estático, solo puede asumir una configuración funcional por vez,
además pueden ser unifuncionales o multifuncionales. El encauzamiento puede ser
21. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 21
realizado en estos cauces solamente cuando se ejecutan instrucciones del mismo tipo en
forma continuada.
En un cauce dinámico, se permiten varias configuraciones funcionales
simultáneas, en consecuencia el cauce debe ser obligadamente multifuncional. Al tiempo
que un cauce estático es preferentemente unifuncional.
La configuración dinámica necesita disponer de un control, y mecanismos de
secuenciamiento mucho más sofisticados que los de un cauce estático.
VII.4.2.3 - CAUCES ESCALARES Y VECTORIALES:
En forma dependiente de los tipos de instrucciones o de datos, los cauces de
procesamiento pueden ser clasificados como escalares o como vectoriales.
Un cauce escalar, procesa una secuencia de operandos escalares, bajo el
control de un bucle DO.
Un cauce vectorial, es aquel diseñado especialmente para operar con
instrucciones vectoriales sobre operandos vectoriales.
VII.4.3 - EJEMPLO DE CAUCE ARITMÉTICO:
Según vimos en los capítulos II y IV, la multiplicación de dos cantidades
binarias en coma fija, es realizada por la ALU mediante operaciones reiteradas de suma
y desplazamiento, siendo su cantidad acorde con la cantidad de dígitos de los operandos.
Esto hace que la operación sea muy lenta.
Examinando la forma de realizar la operación en forma manual, vemos que el
proceso es equivalente a la adición de pares múltiples de multiplicandos desplazados, lo
que se observa en la figura VII.12.
La suma de varios números, puede ser llevada a cabo por un árbol de suma
multinivel. El sumador propagador del arrastre, es de tipo convencional, que suma dos
cifras binarias y da una salida. Mientras que el sumador salvador del arrastre es el que
suma tres entradas, dando dos salidas, la correspondiente a la suma y la del arrastre que
eventualmente puede producirse.
a5 a4 a3 a2 a1 a0 =A
x b5 b4 b3 b2 b1 b0 =B
a5b0 a4b0 a3b0 a2b0 a1b0 a0bo =W1
a5b1 a4b1 a3b1 a2b1 a1b1 a0b1 =W2
a5b2 a4b2 a3b2 a2b2 a1b2 a0b2 =W3
a5b3 a4b3 a3b3 a2b3 a1b3 a0b3 =W4
a5b4 a4b4 a3b a2b4 a1b4 a0b4 =W5
+ a5b5 a4b5 a3b5 a2b5 a1b5 a0b5 =W6
P11 P10 P9 P8 P7 P6 P5 P4 P3 P2 P1 P0 =AXB =P
Figura VII.12 - Ejemplo de multiplicación de dos cantidades binarias
El circuito resultante para el cauce de cinco etapas resultante, es el indicado
en la figura VII.13, donde se aplican los dos tipos de sumadores, y un generador de
multiplicandos desplazados.
22. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 22
VII.5 - CARACTERÍSTICAS DEL PROCESAMIENTO VECTORIAL
23. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 23
Un operando vectorial contiene un conjunto ordenado de de n elementos,
donde n es la longitud del vector. Cada elemento del vector es una cantidad escalar, que
puede ser un número en coma flotante, un entero, un valor lógico, o un caracter.
Las instrucciones vectoriales pueden clasificarse en cuatro tipos principales:
f1 : V V
f2 : V E
f3 : V V V
f4 : V E = V
Donde los términos V y E denotan respectivamente, Vector y Escalar.
Además, f1 y f2 denotan operaciones unitarias, o sea sobre un solo elemento,
mientras que las restantes son binarias. Las cuatro pueden realizarse en un procesador
encauzado, de acuerdo a lo indicado en la figura VII.14, mientras que en la tabla
siguiente se se detallan algunas operaciones vectoriales representativas.
Tipo Nemotecnica Descripción Expresión
f1 VSQR Raíz Cuadrada Vectorial B(I) A(I)
VSIN Vector Seno B(I) sinA(I)
VCOM Complemento Vectorial A(I) A(I)
f2 VSUM Sumatoria Vectorial S = I=1
n
A(I)
VMAX Vector Máximo S =maxI=1;n A(I)
f3 VADD Suma de vectores C(I)=A(I)+B(I)
VMPY Multiplicación de vectores C(I() =A(I) B(I)
VAND And de vectores C(I)=A(I)andB(I)
VLAR Vector mayor C(I)=max(A(I), B(I))
VTGE Prueba > vectorial C(I) = 0, siA(I) < B(I)
C(I) = 1, siA(I) > B(I)
f4 SADD Suma de Vector y Escalar B(I)=S +A(I)
SDIV Divisón de Vector y Escalar B(I)=A(I) S
Es posible emplear algunas instrucciones especiales para el trabajo con
vectores, por ejemplo:
- Vector Booleano: que puede ser generado como resultado de la comparación
de dos vectores.
- Mascara vectorial: para habilitar o no operaciones entre componentes de
una instrucción vectorial.
- Compresión: para acortar un vector bajo control de un vector máscara.
- Combinación: para combinar dos vectores bajo control de una máscara
vectorial.
24. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 24
En general, las operaciones de máquina aptas para hacer cauces, son las que
tienen las siguientes propiedades:
- Procesos o funciones idénticas son invocados repetidamente y además
reiteradamente, cada una de las cuales puede ser descompuesta en una serie
de sub-procesos, o sub-funciones.
- Los operandos son sucesivamente alimentados a segmentos de cauce,
requiriendo tan pocos buffers y controles locales como sea posible.
- Las operaciones ejecutadas por cauces diferentes deben ser capaces de
compartir recursos caros, tales como memorias y buses del sistema.
Estas características explican porque la mayoría de los procesadores
vectoriales tienen estructuras encauzadas. Las instrucciones vectoriales necesitan de la
realización reiterada de la misma operación sobre diferentes conjuntos de datos.
Lo dicho no es cierto para el procesamiento escalar, que generalmente opera
sobre un par de datos únicamente.
Las instrucciones vectoriales son especificadas usualmente por los siguientes
campos:
1 - El código de operación debe contener especificaciones para que permita la
selección de la unidad funcional o para que configure una unidad
multifuncional, a fin de que conforme la operación especificada.
Normalmente se utilizan microordenes de control para disponer los
recursos necesarios.
2 - Para instrucciones con referencia a memoria, la dirección base es necesaria
tanto para los opeandos fuente como para los vectores resultado. Si los
operandos y los resultados son colocados en un archivo de registros
vectoriales, se deben especificar dichos registros.
25. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 25
3 - El incremento de la dirección entre los elementos también debe ser
especificado.
4 - El desplazamiento relativo de las direcciones con referencia a la dirección
base, también debe ser especificado.
5 - La longitud del vector también debe ser indicada en la instrucción, para
determinar la finalización del proceso.
Es posible clasificar las computadoras vectoriales encauzadas en dos
configuraciones arquitectónicas, según donde son buscados los operandos.
l - Arquitectura memoria a memoria, en la cual tanto los operandos como los
resultados son dispuestos en la memoria central.
2 - Arquitectura registro a registro, en la cual los operandos y los resultados
son buscados indirectamente en la memoria central mediante la
utilización de una gran cantidad de registros vectoriales o escalares.
Para finalizar, en la figura VII.15, tenemos la arquitectura típica de un
procesador vectorial con múltiples cauces funcionales.
VII.5 - PROCESADORES MATRICIALES SIMD:
Una matriz sincrónica de procesadores
paralelo conforman un procesador matricial. Este computador consiste en un conjunto
de elementos de procesamiento (EP), bajo supervisión de una unidad de control (UC), y
puede manejar un flujo secuencial único de instrucciones y múltiples datos flujos de
datos, de alli la denominación SIMD (Single Instruction Multiple Data), construidos con
el objeto de efectuar cálculos vectoriales sobre matrices (o conjuntos ordenados) de
datos.
Las computadoras SIMD aparecen en dos formas arquitectónicas,
procesadores matriciales o procesadores asociativos, según como utilicen la memoria. En
el primer caso, utilizan una memoria común de acceso aleatorio, en el segundo, utilizan
memoria asociativa, o direccionable por el contenido.
26. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 26
VII.5.1 - ORGANIZACIÓN DE LAS COMPUTADORAS SIMD:
Los computadores matriciales pueden asumir dos configuraciones
levemente diferentes, la que se ilustra en la figura VII.16, y corresponde a la Illiac IV
(Illinois Automatic Computer, modelo 4), que ha sido estructurada con 64 elementos de
procesamiento, todos bajo el control de una única unidad de control.
Esencialmente cada EP es una unidad lógica y aritmética, con varios
registros de trabajo y el agregado de una memoria local MEP, para el almacenamiento
de datos distribuidos. La UC también posee una memoria para almacenar programas.
El sistema operativo y los programas de usuario se cargan en la memoria
de la UC, cuya función es la decodificar las instrucciones y determinar donde deberá ser
ejecutada. Las instrucciones escalares o de control son directamente ejecutadas dentro
de la UC, mientras que las vectoriales son difundidas a todos los EP para su ejecución
distribuida, alcanzando un paralelismo espacial mediante la realización de la misma
operación aritmética en todos los EP.
Todos los EP llevan a cabo la misma función sincrónicamente, en una
forma de paso-enganchado, bajo comando de la UC. Los operandos vectoriales son
distribuidos a los EP antes de la ejecución en paralelo, estos datos distribuidos pueden
ser cargados a las memorias locales desde una fuente externa, mediante un bus del
sistema, o desde la UC mediante el bus de control, en modo de difusión.
27. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 27
Durante la ejecución es posible tener sistemas de
enmascarado a fin de controlar el estado de cada uno de los EP, los cuales pueden estar
activos o inactivos durante un ciclo de instrucción. En otras palabras, no todos los EP
deben participar en una ejecución, sino solamente los necesarios, lo cual es definido
mediante una máscara.
Los intercambios de datos entre los EP es llevado a cabo por la red
de interconexión inter-EP, la cual realiza todas las funciones de ruteado y funciones de
manipulación de datos, para lo cual está bajo control de la UC.
Un procesador matricial normalmente está conectado a una
máquina huésped, a través de la UC. Esta computadora huésped normalmente es de
propósitos generales, y tiene la función del "gerenciamiento de operaciones" de todo el
sistema, consistente de ella y el procesador matricial.
Las funciones de éste computador huésped, incluyen el manejo de
recursos y la supervisión de los periféricos y los sistemas de E/S, por lo que a la UC del
procesador matricial le queda la supervisión de la ejecución de los programas, por lo que
puede ser considerado como un computador adjunto, o coprocesador.
La segunda configuración posible, es la indicada en la figura
VII.17, donde vemos que difiere de la anterior en dos aspectos:
1 - Las memorias locales adjuntas a los EP, ahora son reemplazados por
módulos de memoria compartidos por todos ellos, mediante una malla de
alineamiento.
28. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 28
2 - La malla de conmutación inter-EP es reemplazada por la malla de
alineamiento entre módulos de memoria, la que es controlada siempre por
la UC.
Un buen ejemplo de esta configuración es el BSP (Burroughs
Scientific Processor), que posee 16 elementos de procesamiento.
Formalmente, un computador SIMD es caracterizado por el
siguiente conjunto de parámetros:
C = < N,F,I,M >
Donde:
N = cantidad de EP del sistema.
F = Conjunto de funciones de interconexión realizadas por la malla de
interconexión o
por la malla de alineamiento.
I = Conjunto de instrucciones de la máquina para operaciones escalares,
vectoriales, encaminado de datos y de manipulación de la malla.
M = Conjunto de esquemas de enmascarado.
VII.5.1.1 - COMUNICACIONES INTER-EP:
A continuación, veremos cuales son las decisiones a tomar para el
diseño de mallas de conexión inter-EP, enlas cuales intervienen los modos de operación,
las estrategias de control, las metodologías de conmutación y las topologías de las mallas.
VII.5.1.1.1 - MODO DE OPERACION:
Es posible identificar dos tipos de comunicaciones: la sincrónica y
la asincrónica. La primera es necesaria para establecer caminos sincrónicos tanto para la
manipulación de datos como para difusión de instrucciones.
La comunicación asincrónica es necesaria para el
multiprocesamiento en el cual los requerimientos de interconexión son dinámicos. Es
posible diseñar un sistema en el cual se tengan ambos tipos de funcionamiento.
Por otra parte, los modos típicos de operación de las mallas de
interconexión, puede ser clasificados en tres categorías:
1 - Sincrónico
2 - Asincrónico
3 - Combinado
De cualquier manera, todas las máquinas SIMD existentes han
elegido el sistema sincrónico, en el cual se fuerza la operación paso-enganchado en todos
los EP.
29. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 29
VII.5.1.1.2 - ESTRATEGIA DE CONTROL:
Una malla de interconexión es un conjunto de elementos de
conmutación y enlaces para la conexión. Las funciones de interconexión son realizadas
mediante el adecuando control de los elementos de conmutación.
Estas funciones de control pueden ser realizadas mediante un
controlador central o por cada uno de los elementos de conmutación. En el primer caso,
tendremos el llamado control centralizado, mientras que en el segundo tendremos el
control distribuido.
La mayoría de las máquinas SIMD existentes ha optado por la
estrategia de control centralizado.
VII.5.1.1.3 - METODOLOGÍA DE CONMUTACIÓN:
Las dos principales metodologías de conmutación son la de
conmutación de circuitos y la de conmutación de paquetes, en el primer caso se establece
un camino físico entre los dispositivos fuente y destino. En la conmutación de paquetes,
los datos son contenidos en un paquete, y encaminados en la malla de interconexión sin
formar un camino físico.
Generalmente, la conmutación de circuitos es mucho más práctica
para la transmisión de grandes cantidades de datos, mientras que la conmutación de
paquetes es mucho más eficiente para mensajes relativamente cortos.
Una tercera opción, sería la de integrar las cualidades de cado uno
de los dos métodos anteriores, por lo que podríamos tener una tercera categoría, la de la
conmutación integrada.
30. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 30
La mayoría de las implementaciones de máquinas SIMD utilizan la
conmutación de circuitos, mientras que la conmutación de paquetes se utiliza
principalmente para transmisión de datos a gran distancia, y para las máquinas MIMD.
VII.5.1.1.4 - TOPOLOGÍA DE LA RED:
Una red puede ser imaginada como un grafo, en el cual los nodos
representan puntos de conmutación, y las líneas representan enlaces de comunicación.
Las topologías tienden a ser regulares, y pueden ser agrupadas en
dos categorías:
1 - Estáticas
2 - Dinámicas
Las estáticas, el enlace entre dos EP es pasivo y dedicado, y no
puede ser reconfigurado para conectar otros EP. En cambio los enlaces dinámicos,
pueden ser reconfigurados mediante elementos de conmutación activos.
El espacio de las mallas de interconexión es representable mediante
cuatro conjuntos de características de diseño:
[modo de operación]x[estrategia de control]x[metodología de conmutación]x[topología de la red]
No todas las combinaciones son de interés, y la selección de una
malla particular, depende de las demandas de la aplicación, los soportes tecnológicos, y
el costo.
VII.5.1.2 - MALLAS DE INTERCONEXIÓN SIMD:
Estas mallas de interconexión, pueden ser:
1 - de una etapa
2 - recirculantes
3 - multietapa
Además, nos concentraremos en el primer modelo visto de
comunicaciones inter-EP.
VII.5.1.2.1 - MALLAS ESTÁTICAS Y MALLAS DINÁMICAS.
Topológicamente hablando, la estructura de un procesador
matricial SIMD está caracterizada por la malla de enrutamiento de datos utilizada para
la interconexión de los EP.
Formalmente, tales redes de interconexión pueden ser
caracterizadas por un conjunto de funciones de enrutamiento de datos. Si identificamos
las direcciones de los EP por un conjunto:
S = {0,1,2,3,.....N-1}
Cada función de enrutamiento f es una biyección (conexión uno a uno) de S a S.
31. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 31
Cuando se ejecuta una función de enrutamiento f, por la malla de
interconexión, el EP i copia el contenido de su registro Ri en el registro Rf(i) del EPf(i).
Esta operación de ruteo de datos, ocurre simultáneamente en todos
los EP activos. Un EP inactivo puede recibir datos de otros EP si se ejecuta la función de
enrutamiento, pero el no puede transmitir datos.
Para pasar datos entre EPs que no están directamente conectados a
la malla, deben pasar por un EP intermediario, ejecutando una secuencia de funciones
de enrutamiento en la malla de interconexión.
VII.5.1.2.1.1 - REDES ESTÁTICAS:
Las topologías de las mallas estáticas pueden ser clasificadas en
acuerdo a las dimensiones requeridas para el trazado. En la figura VII.18, se tienen
ilustradas las de una dimensión o unidimensionales, las de dos dimensiones o
bidimensionales, las de tres dimensiones o tridimensionales y las hipercúbicas que son
las de más de tres dimensiones.
Entre las unidimensionales tenemos a la disposición lineal, utilizada en
algunos sistemas encauzados. Entre las de dos dimensiones, tenemos la disposición en
anillo, en estrella, en árbol, en matriz y en matriz sistólica.
Las tridimensionales incluyen la de conexión completa, el anillo
cordial, y la cúbica.
Las redes hipercúbicas, tienen una cierta cantidad de nodos de
cada dimensión, así una forma de indicarlos es diciendo cuantos nodos hay en cada
esquina de un cubo, tal como el cubo de ciclo triple, de la figura VII.18.j.
VII.5.1.2.1.2 - REDES DINÁMICAS:
Consideraremos dos clases de mallas dinámicas, las monoetapa y las
multietapa, que describiremos separadamente.
VII.5.1.2.1.2.1 - REDES MONOETAPA:
Una red monoetapa es una malla de conmutación con N selectores
de entrada (SE) y N selectores de salida (SS), tal como se muestra en la figura VII.19.
32. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 32
33. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 33
Cada SE es esencialmente un demultiplexor de 1 a D, y cada SS es
un multiplexor M a 1, donde 1 < D < N; y 1 < M < N. Para establecer diferentes caminos,
se deberán dar diferentes datos de entrada a los selectores.
Este tipo de malla, también es conocido como recirculante, dado
que los datos deben recircular a través de etapas de un solo nivel varias veces antes de
alcanzar su terminal de destino. El número de recirculaciones necesarias depende de la
conectividad de cada malla. En general, cuanto mayor es la conectividad del hardware,
menor es el número de recirculaciones. La malla tipo crossbar es el caso límite, donde
hay una sola circulación.
VII.5.1.2.1.2.2 - REDES MULTIETAPA:
Las redes multietapa están formadas por varias etapas conectadas
mediante conmutadores. Estas son descriptas por tres elementos que las caracterizan:
1 - la caja de llaves
2 - la topología de la red
3 - la estructura de control
Cada caja de llaves, es un dispositivo de intercambio con dos
entradas y dos salidas, tal como se indica en la figura VII.20, donde además se indican
los cuatro estados que puede asumir dicha caja de conexiones:
1 - lineal
2 - intercambio
3 - difusión superior
4 - difusión inferior
34. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 34
Cada una de las figuras correspondientes es suficientemente
indicativa del significado de cada uno de los estados, al que podemos agregar el de no
conexión.
Figura VII.20 – Cajas de llaves.
Una malla multietapa es capaz de conectar un cantidad arbitraria
de terminales de entrada con una arbitraria cantidad de terminales de salida, además
pueden ser unilaterales o bilaterales.
Las redes unilaterales, tienen sus puertos de E/S del mismo lado.
Las bilaterales en cambio, tienen un lado de entrada y otro de salida y además pueden
ser divididas en tres clases:
1 - de bloqueo
2 - reconfigurable
3 - de no bloqueo
Las primeras se caracterizan por cuanto la conexión simultánea de
más de un par de terminales puede dar lugar a conflictos en el uso de los lazos de
conexión. Ejemplos de este tipo de redes de bloqueo son: el manipulador de datos, el
Omega, el flip, cubo-n, y la línea base. Algunas de éstas se incluyen en la figura VII.21.a.
Se dice que una red es reconfigurable cuando puede llevar a cabo
todas las conexiones posibles entre entradas y salidas, mediante la reconfiguración de sus
conexiones. En la figura VII.21.b, se muestra la red de Benes, que es perteneciente a ésta
clase.
Una malla que puede manejar todas las conexiones posibles sin
bloquearse, es denominada red no bloqueante o de no bloqueo, de las cuales se han
35. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 35
estudiado dos tipos, la red de Clos y la red Crossbar. La primera se muestra en la figura
VII.21.c.
VII.5.2 - PROCESAMIENTO MATRICIAL ASOCIATIVO:
En este caso, en vez de utilizar memorias convencionales de acceso
aleatorio, se construye la máquina teniendo como base un sistema de "memoria
asociativa". La principal diferencia entre una RAM y una MA (memoria asociativa), es
que su contenido es direccionable mediante el acceso paralelo a cierta cantidad de
palabras a la vez, en vez que necesitar una secuencia de direcciones para acceder a cada
una de las palabras.
De esta forma se logra un gran impacto sobre la arquitectura de los
procesadores asociativos, que son una clase especial de procesadores SIMD matriciales.
VII.5.2.1 - ORGANIZACIONES DE MEMORIA ASOCIATIVA:
Los datos almacenados en una memoria asociativa, son
direccionados por su contenido, dicho de otra manera, los datos son buscados por su
significado.
Estas memorias también han sido denominadas: direccionables por su
contenido, de búsqueda paralela, o multiacceso.
Su principal ventaja frente a las RAM convencionales, es la
capacidad de realizar búsquedas y comparaciones en paralelo, lo cual es muy útil en
sistemas de bases de datos de rápida variación, tales como procesamiento de imágenes,
seguimiento de señales de radar, visión de computadora e inteligencia artificial.
Lógicamente, ello se consigue con el agregado de una gran cantidad de
hardware, y por ende un costo mucho más elevado que el de una RAM convencional.
La estructura básica de una MA es indicada en la figura VII.22,
donde vemos que la matriz de memoria asociativa consta de n palabras de m bits cada
una. Cada celda de bit en la matriz nxm, es un multivibrador asociado a una lógica de
comparación, que permite la comparación del contenido con alguna configuración de
bits de búsqueda, y un control de lectura/escritura.
Una tajada de bit (bit slice) es una columna de celdas de bit, correspondientes
a la misma posición de todas las palabras. Cada celda de bit puede ser accedida para
escritura o lectura, o comparada con una señal externa de interrogación.
La operación de búsqueda en paralelo incluye comparación y
enmascarado, siendo ejecutada de acuerdo a la organización de la MA. Existe además
una cierta cantidad de registros y contadores.
36. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 36
37. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 37
El registro comparando, es utilizado para contener el operando
clave, que está siendo comparado con el contenido de todas las palabras de la memoria,
para buscar la/s palabra/s indicada/s.
El registro de enmascaramiento, es utilizado para inhabilitar o
habilitar los bits involucrados en la búsqueda paralela en todas las palabras de la
memoria.
El registro indicador (I), y uno o mas de los registros temporarios
(T), se utilizan para contener los esquemas de comparación actual y previo,
respectivamente.
Cada uno de estos registros puede ser seteado, reseteado o cargado
desde una fuente externa, con cualquier patrón binario. Los contadores son utilizados
para el rastreo de los valores de índice de la matriz.
Como ejemplo, consideremos una base de datos para alumnos, en la
cual se indican el nombre, el sexo, la carrera, la edad, y el curso al cual pertenecen. Esta
es indicada en la figura VII.23. En la misma, se desea buscar a todos los que tienen una
edad comprendida entre los 21 y los 31 años.
38. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 38
Para esto son necesarios dos patrones de búsqueda, uno para
averiguar los que son mayores de 21 años, y otro para los menores de 31. Después de la
primera búsqueda, en el registro indicador quedarán marcados con un "1" los mayores
de 21.
Luego se carga el segundo patrón, como nueva clave de búsqueda, y
se pasa el contenido del registro I al registro T, y al final de la nueva comparación, el
registro I contendrá un "1" por cada estudiante menor de 31 años.
Para determinar quienes son los comprendidos entre las dos edades
indicadas, se hace un AND entre ambos registros, quedando así solamente los que
cumplen con ambas condiciones.
Es obvio que el registro de enmascaramiento solo permitirá el
acceso a la información de edad.
VII.6 - ARQUITECTURAS MULTIPROCESADORES:
Los multiprocesadores pueden ser groseramente caracterizados por
dos atributos:
1 - Un multiprocesador es una computadora formada por muchos
procesadores.
39. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 39
2 - Los procesadores pueden comunicarse y cooperar entre ellos a diferentes
niveles, para resolver un dado problema. Esta comunicación puede hacerse
mediante mensajes entre ellos o mediante una memoria compartida.
Hay algunas similitudes entre los sistemas multiprocesadores y los
multicomputadores, dado que ambos han sido motivados por el mismo objetivo, la
realización de operaciones concurrentes.
Sin embargo, hay una diferencia importante entre ellos, fundada en
la cantidad de recursos compartidos y la cooperación en la resolución de un problema.
Un sistema multicomputadora, consiste en varias computadoras
autónomas que pueden o no comunicarse entre ellas. Un sistema multiprocesador es
controlado por un sistema operativo que provee interacción entre los procesadores y sus
programas, en los niveles de procesos, conjunto de datos y datos.
Existen dos modelos arquitecturales de los sistemas
multiprocesador:
1 - El levemente acoplado.
2 - El fuertemente acoplado.
VII.6.1 - MULTIPROCESADORES LEVEMENTE ACOPLADOS:
En estos sistemas, cada procesador tiene un conjunto de
dispositivos de entrada/salida y una gran memoria local, donde obtienen la mayoría de
sus instrucciones y datos.
Nos referiremos al procesador, a su memoria y a sus
dispositivos de E/S como un "módulo computador". Los procesos que se ejecutan en
diferentes módulos computadores, se comunican mediante el intercambio de mensajes a
través de un sistema de transferencia de mensajes (STM).
El grado de acoplamiento, o sea la interacción procesador-
procesador, en estos sistemas es muy pobre, tanto que a veces se los conoce como
"sistemas de procesamiento distribuido", aunque en realidad, el término procesamiento
distribuido se aplica al procesamiento de un problema y sus partes en diferentes
computadores, interconectados de alguna manera.
En la figura VII.24, se indica la conformación de un módulo
computador y del sistema de conexión entre ellos. En la interfase de cada módulo, hay
un conmutador de arbitraje y un canal. El canal es un dispositivo particular de E/S,
mientras que la llave de arbitraje es la que permite la conexión con el STM de acuerdo
con los requerimientos que se establezcan para evitar colisiones.
40. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 40
Figura VII – 24 – Sistema levemente acoplado.
VII.6.2 - MODELO FUERTEMENTE ACOPLADO.
En el modelo fuertemente acoplado, los procesadores se comunican
por medio de una memoria compartida, con lo cual la velocidad a la que se transfieren
datos es del orden del ancho de banda de la memoria.
Cada procesador puede tener asimismo una pequeña caché o
memoria local de alta velocidad, existiendo una total conectividad entre procesadores y
memoria, la que puede ser implementada por una malla de interconexión o por una
memoria multipuerto.
La limitación más importante de este tipo de computadores, es la
degradación que sufre el rendimiento por los múltiples accesos a memoria necesarios
para la comunicación.
Los multiprocesadores fuertemente acoplados, tienen un modelo tal
como el expuesto en la figura VII.25, donde se tiene un conjunto de N procesadores, L
módulos de memoria y varios canales de E/S, conectados mediante un conjunto de tres
mallas de interconexión:
1 - La red de conexión procesador-memoria
41. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 41
2 - La red de conexión procesador-E/S
3 - La red de conexión para interrupción entre
procesadores.
La primera es un sistema de conmutación que conecta a cualquier
procesador con cualquier módulo de memoria, normalmente es un conmutador crossbar.
La red de conexión procesador-E/S permite a un procesador
cualquiera conectarse con uno de los dispositivos periféricos. Esta también es
normalmente una red crossbar.
Finalmente, la red interprocesadores, permite que cualquiera de
ellos interrumpa a cualquier otro a fin de o bien transferirle datos, o información de
estado. En este último caso, la información puede ser la de mal funcionamiento,
solicitando así su reemplazo.
VII.6.3 - REDES DE INTERCONEXIÓN:
La característica principal de un sistema multiprocesador, es la
habilidad, que cada procesador posee para compartir un conjunto de módulos de
memoria y de dispositivos de E/S. Esta capacidad es dada por la malla de interconexión
que liga a cada uno de ellos.
VII.6.3.1 - BUSES COMUNES EN TIEMPO COMPARTIDO:
Es la forma de interconexión más simple, cuyo esquema se indica en
la figura VII.26. Esta organización es la mas simple y la más fácil de reconfigurar.
Además, casi siempre es una malla totalmente pasiva, lo cual la hace al mismo tiempo la
más económica.
De cualquier manera, se deben complicar los distintos módulos
para que ellos puedan realizar transferencias sin interferencias y sin conflictos.
El sistema de arbitraje centralizado, si bien simplifica la resolución
de conflictos, puede tener efectos negativos sobre la confiabilidad y flexibilidad del
sistema.
De cualquier modo, este sistema no es utilizado en aquellos
multiprocesadores de alto rendimiento, por cuanto su desempeño es generalmente muy
pobre, al permitir la conexión de solo dos módulos por vez.
Si bien es posible utilizar algún medio para difundir valores de
datos o instrucciones, el mismo no es práctico cuando la cantidad de procesadores es
relativamente elevada.
Una extensión del sistema, que mejora en algo su rendimiento, es la
ubicar dos buses unidireccionales, lo cual se indica en la figura VII.27, que si bien alivia
algunos problemas, no los evita completamente, dado que hay transferencias simples
que requieren el uso simultáneo de ambos buses.
El próximo paso, es la utilización de un sistema multibuses, en el
cual estos se convierten en sistemas activos, con un conmutador en cada conexión. Si
bien el método es un poco más complejo que los anterior, su costo es mucho mayor.
42. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 42
Además, dado que siempre un bus sirve solo para la interconexión de dos elementos, su
aplicación se reduce a pequeños sistemas, con pocos módulos conectados.
En esta disposición es donde se deben aplicar aquellos métodos de
arbitraje vistos en el capítulo III.
Figura VII.25 – Configuración multiprocesador fuertemente acoplado.
Figura VII.26 – Configuración multiprocesadores a bus único.
VII.6.3.2 - CONMUTADOR CROSSBAR Y MEMORIAS MULTIPUERTO:
Si se aumenta la cantidad de buses, es posible llegar al extremo de
tener uno por cada módulo, tal como se indica en la figura VII.29, si además se instala
43. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 43
un conmutador en cada cruce, con la estructura mostrada en la figura VII.30, tendremos
un conmutador Crossbar del tipo que hace al sistema no bloqueable.
Figura VII.27 – Sistema multiprocesador con buses ndireccionale.
Figura VII.28 – Sistema multiprocesador con red Crossbar.
El sistema crossbar (que significa barras cruzadas) provee una conectividad
completa, dado que cada módulo de memoria puede comunicarse con cada procesador,
sin que pueda haber interferencia, si la comunicación es uno a uno.
Además de la forma indicada es posible tener múltiples
comunicaciones simultáneas, siempre por pares.
El conmutador indicado en la figura VII.29, va directamente
conectado a los módulos de memoria, por lo que el mismo trata los pedidos, y fija las
opciones de acceso, que pueden estar dispuestas según prioridades.
De forma similar se puede actuar con las restantes mallas de conmutación,
en especial las que conectan los procesadores con los módulos de E/S, en una disposición
tal como la mostrada en la figura VII.30.
44. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 44
Figura VII.29 – Estructura funcional de un punto de cruce en una red
crossbar.
Figura VII.30 - Mallas de interconexión crossbar para procesadores – memoria y
procesadores - entrada salida y periféricos.
De cualquier manera, si bien el sistema crossbar, es el más flexible y
el que ofrece el mayor ancho de banda, es también muy caro, por lo que puede no ser
adecuado para grandes sistemas. Tengamos en cuenta que el costo depende de la
cantidad de nodos, o sea de conmutadores.
En estos casos, a veces es preferible sacrificar algo de flexibilidad,
por lo que pueden disponerse memorias multipuerto, tal como se indica en la figura
VII.31. Este sistema que es apto tanto para sistemas monoprocesadores como
multiprocesadores, tiene la cualidad de resolver muchos de los conflictos que se
presentan en los accesos a memoria, para lo cual se dispone de un sistema de prioridades
permanente asignadas a cada puerto.
45. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 45
Figura VII.31 – Organización de memora multipunto sin prioridades.
El sistema puede ser configurado según las necesidades de cada instalación,
para que provea las adecuadas prioridades de acceso a cada unidad funcional, tal como
se muestra en la figura VII.32. Excepto por esa prioridad asociada a cada puerto, los dos
son idénticos.
Figura VII.32 – Organización con memorias multipunto, con prioridades.
Otra de las posibilidades que ofrece este sistema, es la asignación de
porciones de los módulos para que sean exclusivas de ciertos procesadores, unidades de
E/S o cualquier combinación.
Así es que, según se observa, en la figura VII.33, donde los módulos
de memoria M0 y M3 son de uso privado de los procesadores P0 y P1 respectivamente.
P0
P1
M0
M1
M2
M3
E/S0
E/S1
P0
P1
M0
M1
M2
M3
E/S0
E/S1
0 1 0 1 1 0 1 0
2 3 3 2 2 3 3 2
46. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 46
Este tipo de organización puede tener muchas ventajas mejorando
la protección contra accesos no autorizados, y puede permitir el almacenamiento de
rutinas de recuperación, en áreas de memoria no susceptibles de modificación por el
acceso de otros procesadores, sien embargo, esto también tiene serias desventajas para la
recuperación del sistema, si el otro procesador no es capaz de acceder a la información
de estados y al control, en un bloque de memoria perteneciente a un procesador en falla.
Figura VII.33 – Organización con módulos de memoria privados.
VII.7 - COMPUTADORES DE FLUJO DE DATOS:
Las computadoras de flujo de datos están basadas en el concepto de
la computación "conducida por datos", la cual difiere drásticamente del modelo de Von
Neumann.
Jack Dennis, investigador del MIT, en le año 1979 identificó las tres
propiedades que permitirían el desarrollo de una arquitectura ideal para las
computadoras:
1 - Alcanzar elevadas performances con mínimo costo.
2 - Igualar la relación con el avance tecnológico
3 - Ofrecer la mejor programabilidad en las áreas de
aplicación.
El modelo de flujo de datos, parece satisfacer estas demandas, mientras
que la microelectrónica VHSI y SHSI parecen estar proveyendo las bases tecnológicas
para el desarrollo de estas máquinas.
VII.8 - LA ARQUITECTURA MATRICIAL SISTÓLICA:
Este tipo de arquitecturas son el prototipo de lo establecido en los
incisos anteriores, utilizando estructuras paralelo donde cada EP solo se conecta con sus
P0
P1
M0
M1
M2
M3
E/S0
E/S1
47. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 47
vecinos. El concepto de matriz sistólica, ha sido desarrollado por Kung y asociados en la
Universidad Carnegie Mellon, mientras que se han realizado luego varias
implementaciones tanto en otras universidades, como en organizaciones industriales.
Un sistema sistólico consiste de una cierta cantidad de celdas
interconectadas, cada una de las cuales es capaz de llevar a cabo una operación sencilla.
En la figura VII.34, se ilustra un sencillo ejemplo, en el cual se reemplaza un elemento de
procesamiento por un conjunto de ellos dispuestos en cascada como en un cauce.
La parte fundamental, es la de asegurar que en cada pulso de reloj,
los resultados de un EP sean llevados al siguiente, y que ellos sean todo lo necesario para
efectuar su cálculo.
Figura VII.34 – Concepto de procesador sistólico.
Existe una cierta cantidad de algoritmos que son pasibles de
implementación en sistemas parecidos, casi todos ellos de tipo aritmético. Consideremos
el caso de la multiplicación de dos matrices banda tales como las indicadas en la figura
VII.36.a.
Sabemos que el producto es una tercera matriz cuyos elementos son
calculados mediante la expresión:
cij = k=1
n
aik.bkj
donde n es dimensión común de ambas matrices A y B.
Cada EP tiene tres entradas y tres salidas, siendo las primeras a, b
y c, donde a y b son los elementos de las matrices A y B, correspondientes, mientras que
c es parte del cálculo anteriormente hecho, según la relación:
cij
salida
= cij
entrada
+ aik.bkj
Al comienzo se hace: Cij = 0 , y allí se tiene el primer elemento de la matriz
resultado.
Las salidas serán nuevamente a, b y c indicado como de salida, los
que son utilizados en EP próximos, según se indica en la figura VII.36.b.
En cada pulso de reloj, se alimenta un nuevo nivel de datos en la
malla, y se tiene una salida en el lado c, todo opera como en el caso de la sístole del
corazón, que empuja la sangre en cada latido.
48. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 48
Otras formas de matrices sistólicas pueden verse en la figura VII.35.
Figura VII.35 – Diversas configuraciones de matrices sistólicas.
49. Celeste D’Inca - Arquitectura de Computadoras - Capitulo 7 - Página N º 49
Figura VII.36 - Matriz sistólica para calcular el producto de dos matrices banda.