ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Arquitectura de computadoras


Enviado por   •  12 de Septiembre de 2021  •  Apuntes  •  2.197 Palabras (9 Páginas)  •  76 Visitas

Página 1 de 9

ARQUITECTURA DE COMPUTADORAS [pic 1]

Introducción: 

  • La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema que conforma una computadora.

 Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para las partes de una computadora, con especial interés en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria.

  • La   arquitectura   de una computadora explica la situación de sus componentes y permite determinar las posibilidades de un sistema informático, con cierta configuración pueda realizar las operaciones necesarias.

Modelos de arquitecturas de computadoras:[pic 2]

1. ARQUITECTURAS CLÁSICAS

Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos de vacío. Aun son usadas en procesadores empotrados de gama baja y son la   base de la mayoría de las arquitecturas modernas.

Arquitectura Mauchly-Eckert (Von Newman):[pic 3]

  • Esta arquitectura fue utilizada en la computadora ENIAC.  Consiste en una unidad central de proceso que se comunica a través de un solo bus con un banco de memoria en donde se almacenan tanto los códigos de instrucción del programa, como los datos que serán procesados por este.
  • Esta arquitectura es la más empleada en la actualidad ya, que es muy versátil. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo código fuente y generan como datos de salida, el código máquina que corresponde a dicho código fuente (Son    programas    que    crean    o    modifican    otros    programas).

[pic 4]

[pic 5]

  • Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el código del programa.

[pic 6]

La principal desventaja de esta arquitectura, es 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 de o se escribe a la memoria,        obligando        a        que        todos los accesos a esta sean secuenciales.

  • Limite en el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeño de la computadora.  Este efecto se conoce como el cuello de botella de Von Newman.
  • En esta arquitectura apareció por primera vez el concepto de programa almacenado.

  • En   esta   arquitectura   se asigna   un   código   numérico   a   cada instrucción. Dichos códigos se almacenan en la misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se encuentran almacenados en memoria. Esto permite cambiar rápidamente la aplicación de la computadora y dio origen a las computadoras de propósito general.
  • El procesador se subdivide en una unidad de control (C.U.), una unidad lógica aritmética (A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estados del procesador. La unidad aritmética lógica proporciona la capacidad de realizar operaciones aritméticas y lógicas. La unidad de control genera las señales de control (Lenguaje Ensamblador) para leer el código de las instrucciones, decod ificarlas y hacer que la ALU las ejecute.

[pic 7]

Arquitectura Harvard

Esta arquitectura surgió en la universid ad del mismo nombre, poco después de que la arquitectura de Von Newman  apareciera en la universid ad  de  Princeton.  Al  igual que en la arquitectura Von Newman, el programa se almacena como un código numérico en la  memoria,  pero no en el mismo espacio de memoria ni en el mismo formato que los datos.                                 

Por ejemplo, se pueden almacenar las instrucciones en doce bits en la  memoria  de  programa,  mientras  los  datos  se  almacenan  en ocho bits en una memoria aparte.

[pic 8]

El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el Código de operación de una instrucción, al mismo tiempo se lee de la memoria de los datos operados en instrucción previa. Así se evita el problema del cuello de botella de Von Newman y se obtiene un mejor desempeño.

[pic 9]

  • En la actualidad la mayoría de los procesadores modernos se conectan al exterior de manera similar a la arquitectura  Von Newman,  con un banco de memoria masivo único, pero internamente incluyen varios niveles de memoria cache con bancos separados en cache de programa y cache de datos, buscando un mejor desempeño sin perder la versatilidad.[pic 10]

2. Arquitecturas segmentadas

  • 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.
  • Para comprender mejor esto, supongamos que un procesador simple tiene un ciclo de instrucción sencillo, consistente solamente en una etapa de búsqueda del código de instrucción y en otra etapa de ejecución de la instrucción. En un procesador sin segmentación del cauce, las dos etapas se realizarían de manera secuencial para cada una de las instrucciones, como lo muestra la siguiente figura.

[pic 11]

  • En un procesador con segmentación        del  cause,  cada  una de  estas etapas  se asigna  a  una  unidad  funcional  diferente, la  búsqueda  a  la unidad  de búsqueda  y la  ejecución  a  la  unidad  de  ejecución.  Estas unidades pueden trabajar de forma paralela con instrucciones diferentes.
  • Estas unidades se comunican por medio de una cola de instrucciones en la que la unidad de búsqueda coloca los códigos de instrucción que leyó para que la unidad de ejecución los tome de la cola y los ejecute (FIFO). Esta cola se parece a un tubo donde las instrucciones entran por un extremo y salen por el otro. De esta analogía proviene el nombre en ingles: Pipelining o entubamiento.

[pic 12]

  • Completando el ejemplo anterior, 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. La siguiente figura muestra este proceso:

[pic 13]

En este esquema se 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

...

Descargar como (para miembros actualizados) txt (12 Kb) pdf (1 Mb) docx (1 Mb)
Leer 8 páginas más »
Disponible sólo en Clubensayos.com