Computadora Digital Arquitectura de John Von Neumann Arquitectura

  • Slides: 20
Download presentation
Computadora Digital Arquitectura de John Von Neumann Arquitectura IAS (Institute for Advanced Studies –

Computadora Digital Arquitectura de John Von Neumann Arquitectura IAS (Institute for Advanced Studies – Princeton)

Algo de historia… • Las primeras computadoras ejecutaban programas fijos, ya que el diseño

Algo de historia… • Las primeras computadoras ejecutaban programas fijos, ya que el diseño de estas computadoras se establecía en base al programa o función que habrían de ejecutar. • Para poder cambiar el programa que una de estas computadoras ejecutaba, era necesario reestructurar el cableado o, incluso, rediseñar la máquina. Ejemplo: calculadora de bolsillo.

Computadora de Programa Interno o Programa Almacenado • El diseñar computadoras con arquitecturas capaces

Computadora de Programa Interno o Programa Almacenado • El diseñar computadoras con arquitecturas capaces de almacenar programas, tanto instrucciones como datos, en una memoria, permitió que las computadoras realizaran diferentes funciones sin tener que modificar su diseño o configuración (Computadora de Propósito General). Bajo este esquema, la aplicación de la computadora depende del programa o programas que se cargan en memoria para ser procesados.

Computadora de Programa Interno o Programa Almacenado • Un programa implementa un algoritmo (método

Computadora de Programa Interno o Programa Almacenado • Un programa implementa un algoritmo (método de solución de un problema) mediante el uso de datos y la ejecución de instrucciones en una secuencia definida por el programa mismo. • Todas las instrucciones que una computadora (es decir, su procesador) puede reconocer y procesar se conoce como Conjunto de Instrucciones. • El término Arquitectura de Von Neumann surgió a partir de un artículo científico del matemático John Vonn Neumann fechado el 30 de junio de 1945. En este documento se daba a conocer la computadora de programa almacenado conocida como la EDVAC.

Arquitectura de John Von Neumann (IAS) Definición de una computadora de programa interno o

Arquitectura de John Von Neumann (IAS) Definición de una computadora de programa interno o almacenado Ulam, Feynamen y Von Neumann Basada en tres conceptos claves: • Los datos e instrucciones de un programa se almacenan en una única memoria de lectura y escritura (Memoria Principal). • El contenido de esta memoria es direccionado mediante localidades de memoria, sin importar el tipo del contenido. • La ejecución de instrucciones de un programa se lleva a cabo de un modo secuencial (a menos de que la secuencia sea modificada explícitamente por el programa).

Arquitectura de John Von Neumann (IAS) - Estructura Consiste en 4 componentes fundamentales: •

Arquitectura de John Von Neumann (IAS) - Estructura Consiste en 4 componentes fundamentales: • • Unidad de Ejecución Unidad de Control Memoria Principal Unidad de Entrada/Salida (I/O)

Arquitectura de John Von Neumann (IAS) Los 4 componentes de la arquitectura Von Neumann

Arquitectura de John Von Neumann (IAS) Los 4 componentes de la arquitectura Von Neumann con sus elementos principales:

Arquitectura de John Von Neumann (IAS) - Estructura expandida de la arquitectura Von Neumann:

Arquitectura de John Von Neumann (IAS) - Estructura expandida de la arquitectura Von Neumann:

Arquitectura de John Von Neumann (IAS) - Estructura Unidad de Ejecución • Responsable de

Arquitectura de John Von Neumann (IAS) - Estructura Unidad de Ejecución • Responsable de procesar las instrucciones de un programa. • Consiste primordialmente en una Unidad Aritmética Lógica (ALU, del inglés Arithmetic -Logic Unit) y un número de registros. La ALU es la parte que procesa las funciones aritméticas, lógicas y otro índole computacional que se requieren para ejecutar la instrucción dada. • Los registros son pequeños módulos de memoria sumamente rápida utilizados para almacenar temporalmente los operandos, datos, códigos o direcciones para la ejecución de las instrucciones.

Arquitectura de John Von Neumann (IAS) - Estructura Unidad de Control • Extrae de

Arquitectura de John Von Neumann (IAS) - Estructura Unidad de Control • Extrae de la memoria la instrucción en turno (Fetch de Instrucción). • Determina de qué instrucción se trata (Decodificación de Instrucción). • Si se requiere, extrae de memoria los datos u operandos requeridos por la instrucción (Fetch de Operandos). • Mediante el envío de señales de control, dirige sincronizadamente a todas las unidades o elementos de la computadora requeridas para ejecutar la instrucción y guardar (escribir) el resultado en memoria o un registro si la instrucción lo indica.

Arquitectura de John Von Neumann (IAS) - Estructura Memoria Principal • Almacena los datos

Arquitectura de John Von Neumann (IAS) - Estructura Memoria Principal • Almacena los datos e instrucciones de un programa. • Los datos pueden ser leídos o escritos en las localidades de memoria con las direcciones correspondientes. • Cada localidad de memoria es identificada con una dirección física exclusiva. • A la Memoria Principal se le conoce también como Memoria de Acceso Aleatorio o Memoria RAM (siglas en inglés de Random Access Memory).

Arquitectura de John Von Neumann (IAS) - Estructura Unidad o Módulo de Entrada/Salida (E/S)

Arquitectura de John Von Neumann (IAS) - Estructura Unidad o Módulo de Entrada/Salida (E/S) o Input/Output (I/O) • Establece y controla el medio de interfaz hombre-máquina. • Esta unidad controla la comunicación con los dispositivos de entrada y salida en una computadora. • El teclado y el ratón son ejemplos de dispositivos de entrada; el monitor es un ejemplo de dispositivo de salida.

Arquitectura de John Von Neumann (IAS) - Estructura Bus (canal) • En arquitectura de

Arquitectura de John Von Neumann (IAS) - Estructura Bus (canal) • En arquitectura de computadoras, el bus (o canal) es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. Está formado por cables o pistas en un circuito impreso, dispositivos como resistores y condensadores además de circuitos integrados. • Los principales buses en una computadora son el bus de datos, bus de instrucciones, bus de direcciones y bus de señales de control. • En la arquitectura Von Neumann, se define un solo bus para datos e instrucciones, el bus de datos e instrucciones. También existe un bus de direcciones, pero éste es obviado.

Arquitectura de John Von Neumann (IAS) - Funcionamiento Con raras excepciones, todas las computadoras

Arquitectura de John Von Neumann (IAS) - Funcionamiento Con raras excepciones, todas las computadoras actuales tienen la misma estructura y funcionamiento general, por lo que se les llama máquinas Von Neumann. Por lo tanto, para explicar el funcionamiento de la computadora digital común, se utilizará la computadora IAS con la que se dio a conocer la arquitectura Von Neumann: • La memoria de la IAS consiste en 1000 localidades de almacenamiento de 40 bits (digitos binarios) cada una. A las localidades de memoria o almacenamiento, también se les llama palabras. Tanto datos como instrucciones se almacenan en esta memoria. Nota: Generalmente, las actuales computadoras (incluyendo las PCs) tienen miles de millones de localidades de 8 bits (1 byte). Se dice que son direccionadas en bytes: una dirección de memoria por cada byte.

Arquitectura de John Von Neumann (IAS) - Funcionamiento • Los números o datos son

Arquitectura de John Von Neumann (IAS) - Funcionamiento • Los números o datos son representados en forma binaria. Cada número consiste en un bit de signo y 39 bits de magnitud o valor. y cada instrucción en código binario. • Las instrucciones son códigos binarios de 20 bits: 8 bits de código de operación (opcode), el cual especifica la operación a realizarse, y 12 bits para designar la dirección de una localidad de memoria (numeradas del 0 al 999).

Arquitectura de John Von Neumann (IAS) - Funcionamiento REGISTROS • Memory Buffer Register (MBR):

Arquitectura de John Von Neumann (IAS) - Funcionamiento REGISTROS • Memory Buffer Register (MBR): Contiene una palabra a ser almacenada en memoria o enviada a la unidad E/S, o usado para recibir una palabra de memoria o de la unidad E/S. • Memory Address Register (MAR): Especifica la dirección en memoria de la palabra o lacalidad en la que se va a escribir o de la que se va a leer el contenido del MBR. • Instruction Register (IR): Contiene el opcode de 8 bits de la instrucción que se está ejecutando. • Program Counter (PC): Contiene la dirección del próximo par de instrucciones a ser extraida (fetch) de memoria. • Acumulador (AC) y Cociente Multiplicador (MQ): Empleado para contener operandos temporales y resultados de las operaciones del ALU. Por ejemplo, el resultado de multiplicar dos números de 40 bits es un número de 80 bits; los bits más significativos se almacenan en el AC y los menos significativos en el MQ.

Arquitectura de John Von Neumann (IAS) - Funcionamiento CICLO DE INSTRUCCION (CICLO DE EJECUCION

Arquitectura de John Von Neumann (IAS) - Funcionamiento CICLO DE INSTRUCCION (CICLO DE EJECUCION DE INSTUCCION) Cada ciclo de instrucción consiste en dos subciclos: • En el ciclo fetch, el opcode de la siguiente instrucción es cargado en el registro IR y la porción de la dirección es cargada en el registro MAR. La instrucción puede ser tomada del registro IBR, o pude ser obtenida de la memoria cargando una palabra en el registro MBR, y entonces puesto en el IBR, IR y MAR. La inderacción se requiere porque las operaciones son controladas por circuitos electrónicos y resultan en el uso de rutas o vías de datos. Para simplificar la electrónica, solo se usa un registro para especificar la dirección de memoria para lectura o escritura, y un registro para la fuente (origen) o destino. • Una vez que el opcode está en el IR, se efectúa el ciclo de ejecución. Circuitería de control interpreta el opcode y ejecuta la instrucción enviando las señales de control apropiadas para que los datos sean movidos o que una operación sea realizada en el ALU.

Arquitectura de John Von Neumann (IAS) - Funcionamiento CONJUNTO DE INSTRUCCIONES La computadora IAS

Arquitectura de John Von Neumann (IAS) - Funcionamiento CONJUNTO DE INSTRUCCIONES La computadora IAS tenía un total de 21 instrucciones, agrupadas como sigue: • Transferencia de Datos: Mover datos entre la memoria y los registros del ALU o entre dos registros del ALU. • Salto Condicional: El salto puede realizarse dependiendo de una condición, por lo tanto permitiendo puntos de decisión. • Aritmética: Operaciones efectuadas por el ALU. • Modificación de Direcciones: Permiten que las direcciones sean calculadas por el ALU y después son insertadas en las instrucciones almacenadas en memoria. Esto permite a un programa una considerable flexibilidad de direccionamiento.

Arquitectura de John Von Neumann (IAS) – Problemática 1: Cuello de Botella Von Neumann

Arquitectura de John Von Neumann (IAS) – Problemática 1: Cuello de Botella Von Neumann • Uno de los problemas más conocidos con la Arquitectura de Von Neumann es que la separación entre el CPU y la memoria limita la velocidad de transferencia de datos (throughput) entre estos dos componentes de la computadora. . A este problema se le conoce como Cuello de Botella de Von Neumann, término acuñado por John Backus en 1977. • Esto impone una seria limitación a la velocidad de computación, sobre todo cuando el procesador requiere efectuar un mínimo de procesamiento sobre un alto volumen de datos, ya que el CPU es forzado continuamente a esperar a que los datos vitales sean transferidos a o de la memoria. • Incluso en los sistemas más modernos, la velocidad de transferencia de datos entre el CPU y la Memoria es mucho más lenta que la capacidad de procesamiento del CPU. A medida que la velocidad de los procesadores y el tamaño de la memoria han crecido más rápido que la velocidad de transferencia de datos entre procesador y memoria, se hace más serio el problema del cuello de botella. • El problema de desempeño causado por el cuello de botella ha sido reducido introduciendo una memoria caché entre el CPU y la memoria; también desarrollando algoritmos de predicción de salto que aceleren el acceso a las localidades de memoria, prediciendo las direcciones en las que se encuentran los datos o instrucciones que requerirá el programa.

Arquitectura de John Von Neumann (IAS) – Problemática 2: Falta de procesamiento paralelo de

Arquitectura de John Von Neumann (IAS) – Problemática 2: Falta de procesamiento paralelo de instrucciones • Algunos autores señalan también que una de las limitaciones de esta arquitectura es el hecho de que la computadora ejecuta solo una instrucción a la vez, una tras otra, impidiendo la implementación de la computación paralela o concurrente que podría generar resultados más rápidos en muchos casos.