Arquitectura de Von Neumann



La arquitectura de Von Neumann es el diseño de las computadoras que usamos actualmente. Describe un organizador o computadora con cuatro secciones principales que están conectadas por un conjunto de cables o un enlace común.



Historia: Propuesta de Von Neumann

Jhon Von Neumann

La idea de la ALU fue propuesta por el matemático John von Neumann en 1945 cuando escribió un informe sobre las bases de una nueva computadora llamada EDVAC ( Computador Automático Variable Discreto Electrónico ) .Más tarde, en 1946, colaboró ​​en el diseño con sus compañeros de trabajo. La idea de la ALU fue propuesta por el matemático John von Neumann en  For the Princeton Institute of Advanced Studies (IAS) (Instituto de Princeton de Estudios Avanzados). La computadora IAS terminó sirviendo como modelo para muchas computadoras posteriores . En la propuesta, von Neumann incluyó todo lo que pensó que se requeriría en su máquina, incluida una ALU.

Las ALU son esenciales para las computadoras, según Von Neumann, porque se requerirán para realizar operaciones matemáticas básicas como suma, resta , multiplicación y división.

Como resultado , penso que era "razonable que una computadora contuviera los órganos especializados para estas operaciones "



Las contribuciones del matemático John Von Neumann, quien propuso la idea de la arquitectura de programas almacenados , son las que dieron lugar al término " arquitectura de von Neumann " . Escribiendo un informe titulado "Primer borrador de un informe sobre el EDVAC (1945)" que fue escrito con miras a construir el reemplazo del computadora ENIAC y su contenido fueron desarrollados por Presper Eckert, John Mauchly, Arthur Burks y otros algunos meses antes que Von Neumann redactó el borrador del informe .

Se utilizan tres conceptos clave para crear computadoras diseñadas por Von Neumann . Son los siguientes :
  1. La información y las instrucciones se almacenan en una única memoria de lectura/escritura .
  2. Los contenidos de esta memoria se dirigen indicando su posición , sin tener en cuenta el tipo de datos contenidos en el mismo.
  3. La ejecución se produce tras una serie de instrucciones tras Instrucciones (en la medida en que no se modifiquen expresamente)

Las principales secciones que componen una computadora con arquitectura Von Neumann son las siguientes :

Unidad aritmético-logica (ALU)

Uno de los elementos que Von Neumann implementó en su diseño inicial como componente clave para la computadora es la unidad lógica aritmética .

La tarea de este componente es realizar operaciones aritméticas y lógicas (y, o, no, etc.) sobre datos, en su mayoría números. Esto se indica mediante el nombre del componente .

Numerosos tipos de circuitos electrónicos requieren realizar algún tipo de operación aritmética , por lo tanto , incluso el circuito interno de un reloj digital tendrá una pequeña ALU que agrega continuamente 1 a la hora actual y verifica si el pitido del temporizor debe activarse , entre otras cosas.

Sistemas numéricos

Las ALU deben procesar números utilizando el mismo formato que el resto del circuito digital. Este formato representa prácticamente siempre el complemento binario de dos números en los procesadores actuales. Las primeras computadoras usaron una amplia variedad de sistemas de numeración, incluyendo complemento a uno, formato signo-magnitud, e incluso verdaderos sistemas decimales, con diez tubos por dígito.

Las ALU para cada uno de estos sistemas numéricos mostraban diferentes diseños, y esto influenció la preferencia actual por el complemento a dos, debido a que ésta es la representación más simple, para el circuito electrónico de la ALU, para calcular adiciones y sustracciones, etc.

Introducción práctica

La ALU se compone básicamente de: el circuito operacional, los registros de entrada , el registro acumulador y el registro de estado, conjunto de registros que hacen posible llevar a cabo cada operación.

La mayoría de las operaciones de la computadora son realizadas por la ALU. La ALU recopila datos de los registros del procesador. Estos datos se procesan y los resultados de esta operación se almacenan en los registros de salida de la ALU. Otros mecanismos transfieren datos entre estos registros y la memoria.

Una unidad de control dirige las acciones de la ALU ajustando los circuitos que le indica a la ALU qué operaciones realizar .





Detalle

En la imagen se muestra una ALU con dos operandos, A y B. A[0] y B[0] corresponden al bit menos significativo , y A [1] y B [ 1 ] al bit más significativo.

Cada bit de la ALU se procesa de forma idéntica, con la excepción de la dirección del bit de acarreo. El manejo de este bit es explicado más adelante.

Las entradas A y B van hacia las cuatro puertas de la izquierda, de arriba a abajo, AND, OR, y XOR. Las tres primeras puertas realizan las operaciones XOR, AND, y OR sobre los datos A y B. La última puerta XOR es la puerta inicial de un sumador completo.

El paso final de las operaciones sobre cada bit es la multiplexación de los datos. La entrada OP de 3 bits, OP[0], OP[1] y OP[2] (desde la unidad de control) determina cual de las funciones se van a realizar:

  1. OP = 000 → XOR
  2. OP = 001 → AND
  3. OP = 010 → OR
  4. OP = 011 → Adición

Claramente que las otras cuatro entradas del multiplexor están libres para realizar otras operaciones ( como resta, multiplicación, división, NOT A, NOT B, etc.). Aunque OP[2] actualmente no es usada en este montaje (a pesar de estar incluida y conectada), ésta sería usada en el momento de realizar otras operaciones además de las 4 operaciones listadas arriba.

Los datos de acarreo de entrada y acarreo de salida, llamados flags (banderas), son típicamente conectados a algún tipo de registro de estado.

Operaciones Simples

La mayoría de ALU puede realizar las siguientes operaciones:

  1. Operaciones aritméticas de números enteros (adición, sustracción, y a veces multiplicación y división, aunque ésto es más complejo)
  2. Operaciones lógicas de bits (AND, NOT, OR, XOR, XNOR)
  3. Operaciones de desplazamiento de bits (Desplazan o rotan una palabra en un número específico de bits hacia la izquierda o la derecha, con o sin extensión de signo). Los desplazamientos pueden ser interpretados como multiplicaciones o divisiones por 2.

Entradas y Salidas

Las entradas a la ALU son los datos en los que se harán las operaciones (llamados operandos) y un código desde la unidad de control indicando qué operación realizar. Su salida es el resultado del cómputo de la operación. En muchos diseños la ALU también toma o genera como entradas o salidas un conjunto de códigos de condición desde o hacia un registro de estado. Estos códigos son usados para indicar casos como acarreo entrante o saliente, overflow, división por cero, etc.


REFERENCIAS: https://homepage.cem.itesm.mx/garcia.andres/PDF201411/Arquitectura%20Computacional.pdf

Comentarios

Entradas populares