T1 - Parte 2 - Tarea PDF

Title T1 - Parte 2 - Tarea
Course Arquitectura De Computadoras
Institution Instituto Tecnológico de Tijuana
Pages 9
File Size 126.7 KB
File Type PDF
Total Downloads 46
Total Views 123

Summary

Tarea...


Description

Modelos de arquitecturas de CPU: clásicas, segmentadas y de multiprocesamiento Instituto Tecnológico de Tijuana. Departamento de Sistemas y Computación. Tijuana, Baja California, México. I.

INTRODUCCIÓN La arquitectura en un entorno informático es a grandes rasgos la construcción y distribución física de los componentes que existen en una computadora. Para que una computadora tenga un buen funcionamiento es necesario que internamente existe un orden que permita que cada componente se desenvuelva de la forma más óptima posible y, para lograrlo, se utilizan ciertos criterios o se implementan algunos modelos que con el tiempo han comprobado ser de los más convenientes.

Los modelos de arquitecturas del CPU se centran en el diseño y estructura operacional dentro del mismo para el funcionamiento interno y la forma en la que se tiene acceso a las direcciones de memoria. Son tres los modelos que se utilizan actualmente (modelo clásico, modelo segmentado, modelo de multiprocesamiento) y en esta investigación se analizarán a detalle qué son, así como las ventajas y

desventajas que trae consigo el uso de cada uno de ellos. II. ARQUITECTURA DE COMPUTADORAS Son los modelos utilizados y una descripción de los requerimientos para el diseño de varias partes de una computadora, especialmente diseñados para la unidad central de proceso (CPU). Suele definirse también como la forma de seleccionar e interconectar componentes de hardware para crear computadoras en base a funcionalidad, rendimiento y costo. Los tres modelos que existen de arquitectura son: modelo clásico, segmentado y de multiprocesamiento. III. MODELO DE ARQUITECTURA CLÁSICO El modelo de arquitectura clásico para computadoras fue diseñado por Jhon Von Neumann. Este modelo se compone de cuatro elementos o dispositivos: de entrada, de proceso, de almacenamiento y de salida. Dispositivo de entrada: le permite comunicarse con una computadora. Puede ser utilizado para ingresar

información y emitir comandos. Algunos ejemplos son el teclado y el ratón. Dispositivo de proceso: es el chip central de una computadora, el CPU. Procesa instrucciones, realiza cálculos y administra el flujo de información a través de un sistema computacional. Se comunica con los dispositivos de entrada, salida y almacenamiento para realizar distintas tareas. Dispositivo de almacenamiento: se utiliza para colocar información en medios de almacenamiento. La computadora hace uso de la información ya almacenada en esos medios para realizar distintas tareas o seguir diferentes instrucciones. Como ejemplos de estos dispositivos se tienen las unidades de disco duro, CD-ROM grabables, disquetes, DVD-ROM, entre otros dispositivos de salida: le permite a una computadora comunicarse con el usuario de la misma. Estos dispositivos se encargan de mostrar la información en pantalla, crear copias impresas o generar sonidos. Como ejemplos de estos dispositivos se encuentran los monitores, las impresoras y las bocinas o parlantes.

mismo en 1945. Como se mencionaba anteriormente su arquitectura se compone de un diseño que consiste de una unidad de control, una unidad de lógica y aritmética, una unidad de memoria, registros y entradas/salidas. La arquitectura de Von Neumann está basada en el concepto del computador de programa almacenado, donde la información de instrucciones y la información del programa se encuentran almacenados en la misma memoria. Este diseño aún se utiliza en la mayoría de las computadoras que se producen actualmente. [1]

ARQUITECTURA MAUCHLY – ECKERT (VON NEUMANN) La arquitectura de Von Neumann fue publicada por primera vez por él

ARQUITECTURA HARVARD La arquitectura Harvard apareció poco después de la arquitectura Von

La principal desventaja de esta arquitectura es el llamado cuello de botella de Von Neumann, debido a que el bus de datos y direcciones único se convierte en un cuello de botella por el cual debe pasar toda la información que se lee o se escribe a la memoria, obligando a que todos los accesos a esta sean secuenciales. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y, por lo tanto, el desempeño de la computadora.

Neumann, en la universidad del mismo nombre. Esta es una arquitectura que separa físicamente las vías de acceso y almacenamiento para la información del programa y para la información de instrucciones. A diferencia de la arquitectura de Von Neumann que emplea un bus único para el paso tanto de instrucciones como de información, la arquitectura Harvard mantiene espacios de memoria separados para cada una de estas. [2] La idea de esto es dividir la memoria en dos partes, eliminando así lo que es la desventaja principal de la arquitectura de Von Neumann, la cual es el cuello de botella de Von Neumann. Diferencias entre las arquitecturas Von Neumann y Harvard: * La arquitectura Von Neumann almacena en la misma memoria tanto la información de instrucciones como la información del programa, mientras que la arquitectura Harvard mantiene cada una de estas en memorias separadas. * La arquitectura Von Neumann solamente cuenta con un bus que se utiliza tanto para el paso de instrucciones como para la transferencia de datos y las operaciones no pueden realizarse al mismo tiempo, mientras que la

arquitectura Harvard puede llevar a cabo esto de manera simultánea. * La unidad de procesamiento en la arquitectura Von Neumann necesita dos ciclos de reloj para completar una instrucción ya que en el primer ciclo descodifica y en el segundo ciclo la información se toma de la memoria, mientras que en la arquitectura Harvard la unidad de procesamiento puede finalizar una instrucción en solamente un ciclo si todo se encuentra en orden. * Como la arquitectura Von Neumann utiliza un único bus de paso reduce los costos de producción al mínimo, mientras que la arquitectura Harvard es más costosa por su diseño complejo que emplea dos buses. * La arquitectura Von Neumann es utilizada principalmente en cada máquina que se acostumbra a ver en la actualidad, desde computadoras de escritorio y portátiles hasta computadoras de trabajo en un enfoque más profesional. La arquitectura Harvard es empleada en microcontroladores y en procesamiento de señales digitales (DSP por sus siglas en inglés).

IV. MODELO DE ARQUITECTURA SEGMENTADO Antes de analizar lo que es una arquitectura segmentada es

necesario conocer lo que es la segmentación o “pipelining”. La segmentación es una técnica para la generación de paralelismo en monoprocesadores. Consiste en didivir una función en sub-funciones independientes que pueden realizarse simultáneamente, algo que también se conoce como trabajo en cadena. En un instante determinado se trabaja sobre un número de elementos igual al número de etapas (paralelismo). Para poder aplicar la segmentación se deben cumplir ciertas características: * Antes que nada debe ser posible descomponer en etapas las instrucciones que se están por efectuar. * Es necesario que las entradas de una etapa estén determinadas únicamente por las salidas de la anterior. * Cada etapa debe poder ser realizada por un circuito específico de forma más rápida que el conjunto del proceso. * Los tiempos de ejecución de cada etapa deben ser parecidos. Después de tener en cuenta estos puntos anteriores sigue el detectar el tipo de cauce que se utiliza e intentar cumplir con la estructura que se muestra al final de los cuatro puntos siguientes:

* Unifunción: Ejecuta un único proceso. * Lineal: A cada etapa sólo le puede seguir otra etapa concreta. * No lineal: Se pueden establecer recorridos complejos de las etapas que se presentan. * Multifunción: Ejecuta varios procesos. * Estáticos: En un instante determinado solamente pueden ejecutar uno. * Dinámicos: Pueden ejecutar simultáneamente varios procesos La aplicación de la segmentación se puede dar en operadores aritméticos o en ejecución de instrucciones. Cuando se trata de operadores aritméticos pueden ser tanto lineales (sumas) como no lineales (divisiones). En este caso suelen ser cíclicos (bucles). [3] Cuando se trata de ejecución de instrucciones se suelen presentar cauces lineales y algunas de sus fases puede a su vez sub-segmentarse. En un procesador con segmentación, la unidad de búsqueda comenzaría buscando el código de la primera instrucción en el primer ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de búsqueda obtendría el código de la instrucción 2, mientras que la unidad de

ejecución ejecuta la instrucción 1 y así sucesivamente. En este esquema sigue tomando el mismo número de ciclos de reloj (el mismo tiempo), pero como se trabaja en varias instrucciones al mismo tiempo, el número promedio de instrucciones por segundo se multiplica. La mejora en el rendimiento no es proporcional al número de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse, además de que se puede presentar competencia por el uso de algunos recursos como la memoria principal. Otra razón por la que las ventajas de este esquema se pierden es cuando se encuentra un salto en el programa y todas las instrucciones que ya se buscaron y se encuentran en la cola, deben descartarse y comenzar a buscar las instrucciones desde cero a partir de la dirección a la que se saltó. Esto reduce el desempeño del procesador y aún se investigan maneras de predecir los saltos para evitar este problema. En resumen, las arquitecturas segmentadas o con segmentación del cauce buscan mejorar el desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se

dividen entre ellas el procesamiento de las instrucciones. [4] V. MODELO DE ARQUITECTURA DE MULTIPROCESO Este modelo también se conoce como arquitectura moderna. Se trata de un tipo de arquitectura de ordenadores en que dos o más procesadores comparten una única memoria central. Los sistemas SMP (multiproceso simétrico) permiten que cualquier procesador trabaje en cualquier tarea sin importar su localización en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fácilmente tareas entre los procesadores para garantizar eficientemente el trabajo. Una computadora SMP se compone de: microprocesadores independientes que se comunican con la memoria a través de un bus compartido. Dicho bus es un recurso de uso común. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP empeora esta situación, ya que hay varios parados en espera de datos. Propone modificaciones en la

arquitectura del equipo físico, mejoras y nuevas prestaciones en el tiempo lógico. Un ejemplo en el primer aspecto es la arquitectura Harvard, que está especialmente diseñada para atacar las debilidades de la arquitectura Von Neumann. La solución conceptualmente es algo sencilla, se construye un procesador que está unido a dos tipos de memoria diferentes por medio de dos buses independientes. La memoria de datos y la memoria de instrucciones son independientes, almacenándose en ellas los datos y el programa, respectivamente. Para un procesador de tipo RISC (Computador de Juego de Instrucciones Reducido), el conjunto de instrucciones y el bus de la memoria de programa pueden diseñarse de manera tal que todas las instrucciones tengan la misma longitud que la posición de la memoria y lo mismo con los datos. Además, como los buses de ambas memorias son independientes, la CPU puede estar accediendo a los datos para completar la ejecución de una instrucción, y al mismo tiempo estar leyendo la próxima instrucción a ejecutar. Una forma de potenciar el aislamiento entre las instrucciones y los datos es la incorporación de memorias caché ultra rápidas, que como sucede en los últimos modelos Pentium, una se encarga de guardar

los datos que va a precisar la CPU y otra las instrucciones. [5]

TAXONOMÍAS O CLASIFICACIÓN DE COMPUTADORAS SEGÚN SU ARQUITECTURA Taxonomía de Flynn: Según las diferentes arquitecturas desarrolladas pueden clasificarse los computadores de diferentes puntos de vista. Una de las clasificaciones más extendida es la denominada taxonomía de Flynn, la cual vió la luz en 1966. Esta taxonomía se basa en el número de flujos de instrucciones y flujos de datos que posee cada sistema computacional. El proceso computacional consiste en la ejecución de una secuencia de instrucciones sobre un conjunto de datos. El flujo de instrucciones es la secuencia sobre la que opera un procesador y el flujo de datos comprende la secuencia de datos de entrada y los resultados parciales y totales. Las arquitecturas de computadores se caracterizan por el hardware que destinan a atender a los flujos de instrucciones y datos. Flynn propuso cuatro categorías: * SISD: Simple flujo de instrucciones, simple flujo de datos. * MISD: Multiple flujo de instrucciones, simple flujo de datos.

* SIMD: Simple flujo de instrucciones, múltiple flujo de datos. * MIMD: Múltiple flujo de instrucciones, múltiple flujo de datos. Después introdujo una quinta clasificación separada un poco de las cuatro anteriores: * MTMD: Múltiple tareas, múltiple flujo de datos. Computadores SISD: Responden a los monoprocesadores convencionales (tipo Von Neumann) que más se usan. Al disponer de una única Unidad de Proceso (Camino de Datos) sólo existe un Flujo de Instrucciones y un Flujo de Datos. Computadores MISD: Existen N Unidades de Proceso, cada una con su propia Unidad de Control y sus propias instrucciones, pero operando sobre el mismo flujo de datos, de forma que la salida de un procesador pasa a ser la entrada (operandos) del siguiente en el macrocauce de los datos. Se hacen diferentes operaciones con los mismos datos. Ninguna materialización real de este tipo. Computadores SIMD: Flujo único de instrucciones y Flujo múltiple de Datos. Sólo hay una Unidad de Control que controla las diferentes Unidades de Proceso. Todas la Unidades de Proceso reciben la misma instrucción, pero operan

sobre los diferentes datos procedentes de la memoria compartida. La mayoría de los computadores SIMD necesitan que exista intercomunicación entre las Unidades de Proceso, para compartir datos y resultados intermedios. Hay dos formas de lograrlo: 1. Memoria Compartida: Todas las Unidades de Proceso utilizan una memoria común y cuando una quiere enviar un dato a otra, primero lo escribe en una posición que la otra conoce y luego ésta lee dicha posición. Es como un tablón de anuncios que puede usar todo el mundo. 2. Red de Interconexión: Las M posiciones de la memoria se reparten entre los N procesadores a razón de M/N posiciones de memoria local para cada uno, además cada procesador se une con los demás mediante una línea Full-Duplex de forma que en un momento determinado un procesador puede recibir datos de otro y al mismo tiempo mandar otros datos a un tercer procesador. Computadores MIMD: Este tipo de computadora se basa en el paralelismo como las SIMD, la diferencia es que la arquitectura MIMD es asíncrona. No tiene un reloj central. Cada procesador en un sistema MIMD puede ejecutar su propia secuencia de instrucciones y

tener sus propios datos. Esta característica es la más general y poderosa de esta clasificación. Es una agrupación de monoprocesadores convencionales, cada uno con su Unidad de Control, su Unidad de Proceso y su memoria local. Cada uno dispone de su Flujo de Instrucciones y de su Flujo de Datos, trabajan en paralelo y de forma asíncrona y están comunicados entre ellos igual que los SIMD. Usan la memoria compartida o bien la red de interconexión. Computadores MTMD: Estos computadores surgen como una extensión a la clasificación de Flynn, algo restringida al contemplar la ejecución sólo a nivel de instrucciones. Múltiples Tareas con Múltiples Flujos de Datos. Son como los computadores MIMD, la única diferencia es la tarea que se aplica a cada Unidad de Proceso. Estos computadores son capaces de ejecutar concurrentemente un número determinado de tareas, cada una con su propio conjunto de datos. Existen otras taxonomías que no son tan populares como la de Flynn entre las que destaca la taxonomía de Shore que al igual que la de Flynn, clasifica los computadores en función del número de elementos; pero mientras que la taxonomía de Flynn pretende clasificarlos por la

organización del software (Instrucciones y Datos), la clasificación de Shore lo hace por la estructura del hardware (Unidad de Control, Unidad de Proceso y Memoria de Datos e Instrucciones). Por lo tanto, la aparición de paralelismo dentro década uno de estos componentes no se valora. Otra taxonomía es la “Estructural” que no se basan sólo en el paralelismo para clasificar los computadores, sino que estudia también el modo de tratar los datos, la existencia de segmentación y su tipo. Es una aproximación a la clasificación global y en la que intervienen varios criterios, incluyendo la aplicación o no de técnicas de paralelismo en distintos niveles. VI. CONCLUSIONES Si nos detenemos a analizar el crecimiento que la computadora tuvo en las últimas décadas nos daremos cuenta que el día de hoy es algo indispensable. Las personas han dejado de ver este recurso como un lujo y actualmente se abrió paso como una necesidad. Esta situación se dirige a una única cosa: la mejora continúa debido a estas altas demandas. Las personas necesitan velocidad y un funcionamiento correcto, eficaz y eficiente de sus datos; y esto se ha

logrado con el paso del tiempo al optimizar en cada oportunidad la estructura o arquitectura de cada uno de los componentes que conforman a estos computadores. Las diferentes arquitecturas que han ido apareciendo conforme avanza esta tecnología han sido vitales tanto para optimizar el rendimiento del CPU, así como para mejorar o inspirar futuras arquitecturas y modelos. En conclusión, las arquitecturas de computadores surgen en base a la necesidad de encontrar siempre un mejor rendimiento en el CPU de un computador y en sus componentes, lo cual pueda permitirle al usuario final una mayor estabilidad al momento de hacer uso de su equipo. REFERENCIAS [1] Ciencia Computacional. (2010). Arquitectura de Von Neumann. [Online]. Disponible en: www.computerscience.gcse.guru/the ory/von-neumann-architecture [2] S. Khillar. (2018). Diferencia entre las arquitecturas Von Neumann y Harvard. [Online]. Disponible en: www.differencebetween.net/technol ogy/difference-between-vonneumann-and-harvard-architecture/ [3] R. Durán. (2005). Arquitectura e ingeniería de computadores. [Online]. Disponible en:

http://atc2.aut.uah.es/~frutos/areinco / |_ pc.aut.uah.es/~rduran/Areinco/pdf/n _tema2.pdf [4] R. Beltrán. (2013). Arquitectura de computadoras. [Online]. Disponible en: arquitecturadecomputadorasunidade s.blogspot.com/2013/05/1-unidadde-arquitecturas-de-computo.html [5] I. Sales. (2013). Arquitectura del computador. [Online]. Disponible en: es.scribd.com/doc/147676682/Arqui tectura-Clasica-y-Moderna...


Similar Free PDFs