Unidad 3 Arquitectura Del Computador

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

UNIVERSIDAD NORORIENTAL PRIVADA

“GRAN MARISCAL DE AYACUCHO”

SEDE BARCELONA – EDO. ANZOATEGUI

FACULTAD DE INGENIERIA

ARQUITECTURA Y ORGANIZACIÓN DEL COMPUTADOR II

UNIDAD III

Alumno:

Juan Perez, 27.685.928

Barcelona, 27 de noviembre de 2020.


1. INTRODUCCION

La tecnología ha ido avanzando poco a poco con el paso del tiempo, lo que le ha
permitido realizar un avance muy significativo en el área de los multiprocesadores, inicialmente
existían procesadores que solo podían realizar una operación a la vez, sin embargo actualmente
existen multiprocesadores que permiten realizar la tarea del procesamiento de datos hasta 10
veces más rápido que hace pocos años, sin embargo el común denominador del público no tiene
idea de cómo realmente se manejan los procesadores, por esa razón en el presente informe se
tiene por objetivo explicar conceptos básicos necesarios para comprender el funcionamiento de
los procesadores, así como también hablar de la arquitectura de Clúster, el procesamiento
multihebra, el procesamiento monochip, entre otras cosas.

2. DESARROLLO

2.1 Conceptos

Para comprender el tema se deben aclarar ciertos conceptos fundamentales en el tema:

- Multiprocesador: Es una unidad de procesamiento la cual puede ejecutar


simultáneamente varios hilos pertenecientes a un mismo proceso o bien a procesos
diferentes.

- Clúster: Es un concepto que se aplica a los sistemas distribuidos de granjas de


computadoras unidos entre sí normalmente por una red de alta velocidad y que se
comportan como si fuesen un único servidor.

- Escalar: Son el tipo más simple de procesadores. Cada instrucción de un procesador


escalar opera sobre un dato cada vez.

- Superescalares: Es un tipo de microarquitectura de procesador capaz de ejecutar más


de una instrucción por ciclo de reloj.

- Computacion Vectorial: Es un diseño de CPU capaz de ejecutar operaciones


matemáticas sobre múltiples datos de forma simultánea.
2.2 Arquitectura Superescalar

La micro arquitectura superescalar utiliza el paralelismo de instrucciones además del


paralelismo de flujo, este último gracias a la estructura en pipeline. La estructura típica de un
procesador superescalar consta de un pipeline con las siguientes etapas:

- Lectura (Fetch)

- Decodificación (decode)

- Lanzamiento (dispatch)

- Ejecución (execute)

- Escritura (writeback)

Finalización (retirement)

En un procesador superescalar, el procesador maneja más de una instrucción en cada


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

Un procesador superescalar suele tener unidades funcionales independientes de los tipos


siguientes:

- Unidad aritmética lógica (ALU)

- Unidad de lectura/escritura en memoria (Load/Store Unit)

- Unidad de coma flotante (Floating Point Unit)

- Unidad de salto (Branch Unit)

2.3 Procesamiento Multihebra

Una alternativa, que permite un paralelismo entre instrucciones elevado sin incrementar ni
la complejidad de los circuitos, ni el consumo de potencia, es el Procesamiento Multihebra. Este
hace referencia a la ejecución concurrente de varias hebras extraídas en un único programa
secuencial, estas hebras pueden ser definidas estáticamente por el compilador o dinámicamente
por hardware, pueden existir dos tipos de hebras, pueden ser a nivel de usuario, las cuales son
visibles para los programas de aplicación. Así como también pueden ser a nivel de kernel, los
cuales solo son visibles para el sistema operativo.

Para un procesador la medida de prestaciones más importante es la velocidad a la que


ejecuta las instrucciones. Esta se puede expresar como:

Velocidad (MIPS)= F X IPC

Donde F es la frecuencia de reloj del procesador, en Mhz e IPC (instrucciones por ciclo)
es el promedio de instrucciones ejecutadas por ciclo. En consecuencia, los diseñadores han
buscado la mejora de prestaciones en dos frentes, los cuales son, incrementando la frecuencia de
reloj e incrementando el número de instrucciones ejecutadas o, más propiamente, el número de
instrucciones que se completan en un ciclo de reloj. Básicamente el procesamiento multihebra
consiste en dividir la secuencia de instrucciones en secuencias más pequeñas denominadas hilos o
hebras, las cuales son ejecutadas en paralelo.

2.4 Monochip

Un sistema en chip o Monochip, describe la tendencia cada vez más frecuente de usar
tecnologías de fabricación que integran todos o gran parte de los módulos que componen un
computador o cualquier otro sistema informático o electrónico en un único circuito integrado o
chip. El diseño de estos sistemas puede estar basado en circuitos de señal digital, señal analógica,
o incluso de señal mixta, y a menudo módulos o sistemas de radiofrecuencia (módulos de
comunicación inalámbrica: Wi-Fi, Bluetooth, y otros). La diferencia principal de un SoC con un
microcontrolador tradicional no debe pasarse por alto, puesto que estos rara vez disponen de más
de 100 kilobytes de memoria RAM (de hecho, lo más frecuente es que las memorias, tanto la
RAM como la flash, de un microcontrolador consten de unos pocos kilobytes), y gran parte de
estos son estructuras monochip, mientras que el término SoC es usado para procesadores más
potentes y de arquitectura más compleja, como son los que integran los ordenadores y
dispositivos actuales que dependen de chips o módulos de memoria externos para ser eficaces.
Algunos ejemplos de Monochips pueden ser los procesadores AMD Geode, los procesadores
Snapdragon de celulares o la Nvidia Tegra.

2.5 Clúster

El término cluster se aplica a los conjuntos o conglomerados de computadoras construidos


mediante la utilización de componentes de hardware comunes y que se comportan como si fuesen
una única computadora. Hoy en día desempeñan un papel importante en la solución de problemas
de las ciencias, las ingenierías y del comercio moderno. La tecnología de clusters ha
evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de
misiones críticas, servidores web y comercio electrónico, hasta bases de datos de alto
rendimiento, entre otros usos.

El cómputo con clusters surge como resultado de la convergencia de varias tendencias


actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento y
redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido de
alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones
que la requieran. Simplemente, un cluster es un grupo de múltiples ordenadores unidos mediante
una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más
potente que los comunes de escritorio. Los clusters son usualmente empleados para mejorar el
rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador
típicamente siendo más económico que computadores individuales de rapidez y disponibilidad
comparables.

De un cluster se espera que presente combinaciones de los siguientes servicios:

- Alto rendimiento

- Alta disponibilidad

- Balanceo de carga

- Escalabilidad
Alto rendimiento

Un cluster de alto rendimiento: es un conjunto de ordenadores que está diseñado para dar
altas prestaciones en cuanto a capacidad de cálculo. Los motivos para utilizar un cluster de alto
rendimiento son:

- El tamaño del problema por resolver

- El precio de la máquina necesaria para resolverlo.

Por medio de un cluster se pueden conseguir capacidades de cálculo superiores a las de un


ordenador más caro que el costo conjunto de los ordenadores del cluster.Ejemplo de clusters
baratísimos son los que se están realizando en algunas universidades con computadoras
personales desechados por "anticuados" que consiguen competir en capacidad de cálculo con
superordenadores carísimos.

Para garantizar esta capacidad de cálculo, los problemas necesitan ser paralelizables, ya
que el método con el que los clusters agilizan el procesamiento es dividir el problema en
problemas más pequeños y calcularlos en los nodos, por lo tanto, si el problema no cumple con
esta característica, no puede utilizarse el cluster para su cálculo.

Alta disponibilidad

Un cluster de alta disponibilidad es un conjunto de dos o más máquinas que se


caracterizan por mantener una serie de servicios compartidos y por estar constantemente
monitorizándose entre sí. Podemos dividirlo en dos clases:

Alta disponibilidad de infraestructura: Si se produce un fallo de hardware en alguna de las


máquinas del clúster, el software de alta disponibilidad es capaz de arrancar automáticamente los
servicios en cualquiera de las otras máquinas del cluster (failover). Y cuando la máquina que ha
fallado se recupera, los servicios son nuevamente migrados a la máquina original (failback). Esta
capacidad de recuperación automática de servicios nos garantiza la alta disponibilidad de los
servicios ofrecidos por el cluster, minimizando así la percepción del fallo por parte de los
usuarios.
Balanceo de carga

El balance o balanceo de carga es un concepto usado en informática que se refiere a la


técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores, discos u
otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o que hacen uso de
más de una unidad de procesamiento para realizar labores útiles.

Escalabilidad

En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad


deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de
operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera
fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios
ofrecidos.

En general, también se podría definir como la capacidad del sistema informático de


cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes. Por ejemplo,
una Universidad que establece una red de usuarios por Internet para un edificio de docentes y no
solamente quiere que su sistema informático tenga capacidad para acoger a los actuales clientes
que son todos profesores, sino también a los clientes que pueda tener en el futuro dado que hay
profesores visitantes que requieren de la red por algunos aplicativos académicos, para esto es
necesario implementar soluciones que permitan el crecimiento de la red sin que la posibilidad de
su uso y re-uso, disminuya o que pueda cambiar su configuración si es necesario.

3. CONCLUSIONES

Teniendo en mente lo antes expuesto se puede llegar a la conclusión de que la tecnología


avanza de manera exponencial, causando que se desarrollen sistemas completos integrados en un
solo chip como los procesadores actuales de los teléfonos celulares Snapdragon, diseñados por la
empresa qualcomm, por otra parte se puede ver que los clusters están pensados y diseñados para
darle un mejor rendimiento y un mejor servicio al usuario, brindando una mayor velocidad a la
hora de hacer consultas, asi como también permite que siempre esté disponible como una especie
de servidor y este da lugar a un mejor balanceo de carga, el cual permite compartir el trabajo a
realizar entre varios procesos, ordenadores, discos u otros recursos.

También podría gustarte