stringtranslate.com

Primer borrador de un informe sobre el EDVAC

El Primer Borrador de un Informe sobre el EDVAC (comúnmente abreviado como Primer Borrador ) es un documento incompleto de 101 páginas escrito por John von Neumann y distribuido el 30 de junio de 1945 por Herman Goldstine , oficial de seguridad del proyecto clasificado ENIAC . Contiene la primera descripción publicada del diseño lógico de una computadora utilizando el concepto de programa almacenado , que ha llegado a conocerse como arquitectura von Neumann ; El nombre se ha vuelto controvertido debido a que von Neumann no nombró a otros contribuyentes.

Historia

Página de título del Primer Borrador , copia perteneciente a Samuel N. Alexander , quien desarrolló la computadora SEAC a partir del informe.

Von Neumann escribió el informe a mano mientras viajaba en tren a Los Alamos, Nuevo México y envió las notas escritas a mano por correo a Filadelfia . Goldstine hizo mecanografiar y duplicar el informe. Si bien la fecha del informe mecanografiado es el 30 de junio, cinco días antes, el 25 de junio , se distribuyeron 24 copias del Primer Borrador a personas estrechamente relacionadas con el proyecto EDVAC . El interés en el informe hizo que se enviara a todo el mundo; Maurice Wilkes, de la Universidad de Cambridge, citó su entusiasmo por el contenido del informe como el impulso que le impulsó a viajar a los Estados Unidos para asistir a las conferencias de la Escuela Moore en el verano de 1946.

Sinopsis

Von Neumann describe un diseño detallado de un "sistema informático digital automático de muy alta velocidad". Lo divide en seis subdivisiones principales: una parte aritmética central, CA; una parte de control central, CC; memoria, M; entrada, yo; salida, O; y memoria externa (lenta), R, como tarjetas perforadas , cinta de teletipo , o alambre magnético o cinta de acero .

El CA realizará sumas, restas, multiplicaciones, divisiones y raíces cuadradas. Otras operaciones matemáticas, como logaritmos y funciones trigonométricas, deben realizarse mediante búsqueda de tablas e interpolación , posiblemente bicuadrática . Señala que la multiplicación y la división se podrían hacer con tablas de logaritmos, pero para mantener las tablas lo suficientemente pequeñas, sería necesaria la interpolación y esto a su vez requiere la multiplicación, aunque quizás con menos precisión.

Los números deben representarse en notación binaria . Él estima que 27 dígitos binarios (no usó el término " bit ", que fue acuñado por Claude Shannon en 1948) serían suficientes (lo que produce una precisión de 8 decimales), pero redondea números de 30 bits con un bit de signo y un bit. para distinguir números de órdenes, lo que da como resultado una palabra de 32 bits que él llama ciclo menor. Se utilizará la aritmética en complemento a dos , simplificando la resta. Para la multiplicación y división, propone colocar el punto binario después del bit de signo, lo que significa que todos los números se tratan como si estuvieran entre −1 y +1 [a] y, por lo tanto, los problemas de cálculo deben escalarse en consecuencia.

Diseño de circuito

Se deben utilizar tubos de vacío en lugar de relés debido a la capacidad de los tubos de funcionar en un microsegundo frente a 10 milisegundos para los relés.

Von Neumann sugiere (Sección 5.6) mantener la computadora lo más simple posible, evitando cualquier intento de mejorar el rendimiento superponiendo operaciones. Las operaciones aritméticas deben realizarse con un dígito binario a la vez. Estima que la suma de dos dígitos binarios toma un microsegundo y que, por lo tanto, una multiplicación de 30 bits debería tomar alrededor de 30 2 microsegundos o alrededor de un milisegundo, mucho más rápido que cualquier dispositivo informático disponible en ese momento.

El diseño de Von Neumann se construye utilizando lo que él llama "elementos E", que se basan en la neurona biológica como modelo, [1] [2] pero son dispositivos digitales que, según él, se pueden construir usando uno o dos tubos de vacío. En términos modernos, su elemento E más simple es una puerta AND de dos entradas con una entrada invertida (la entrada de inhibición). Los elementos E con más entradas tienen un umbral asociado y producen una salida cuando el número de señales de entrada positivas alcanza o excede el umbral, siempre y cuando la (única) línea de inhibición no esté pulsada. Afirma que se pueden construir elementos E con más entradas a partir de la versión más simple, pero sugiere que se construyan directamente como circuitos de tubos de vacío, ya que se necesitarán menos tubos.

A partir de estos elementos E se construirán bloques de funciones más complejos. Muestra cómo utilizar estos elementos E para construir circuitos para suma, resta, multiplicación, división y raíz cuadrada, así como dos bloques de memoria de estado y circuitos de control. No utiliza terminología de lógica booleana .

Los circuitos deben ser sincrónicos con un reloj del sistema maestro derivado de un oscilador de tubo de vacío , posiblemente controlado por cristal . Sus diagramas lógicos incluyen un símbolo de punta de flecha para indicar un retraso de tiempo unitario, ya que los retrasos de tiempo deben tenerse en cuenta en un diseño sincrónico. Señala que en un microsegundo un pulso eléctrico recorre 300 metros, de modo que hasta velocidades de reloj mucho más altas, por ejemplo 10 8 ciclos por segundo (100 MHz), la longitud del cable no sería un problema.

Se menciona la necesidad de detección y corrección de errores, pero no se detalla.

Diseño de memoria

Un concepto de diseño clave enunciado, y más tarde denominado arquitectura de Von Neumann , es una memoria uniforme que contiene números (datos) y órdenes (instrucciones).

"El dispositivo requiere una memoria considerable. Si bien parece que varias partes de esta memoria tienen que realizar funciones que difieren un poco en su naturaleza y considerablemente en su propósito, es sin embargo tentador tratar toda la memoria como un solo órgano y tener sus piezas incluso lo más intercambiables posible para las diversas funciones enumeradas anteriormente." (Sección 2.5)

"Los pedidos que recibe CC proceden de M, es decir, del mismo lugar donde se almacena el material numérico." (Sección 14.0)

Von Neumann estima la cantidad de memoria necesaria basándose en varias clases de problemas matemáticos, incluidas ecuaciones diferenciales ordinarias y parciales , experimentos de clasificación y probabilidad . De estas, las ecuaciones diferenciales parciales en dos dimensiones más tiempo requerirán la mayor cantidad de memoria, mientras que tres dimensiones más tiempo están más allá de lo que se puede hacer usando la tecnología disponible en ese momento. Concluye que la memoria será la subdivisión más grande del sistema y propone 8.192 ciclos menores (palabras) de 32 bits como objetivo de diseño, de los cuales 2.048 ciclos menores siguen siendo útiles. Calcula que unos cientos de ciclos menores serán suficientes para almacenar el programa.

Propone dos tipos de memoria rápida, línea de retardo y tubo iconoscopio . Cada ciclo menor debe abordarse como una unidad (direccionamiento de palabras, Sec. 12.8). Las instrucciones deben ejecutarse secuencialmente, con una instrucción especial para cambiar a un punto diferente en la memoria (es decir, una instrucción de salto).

Los dígitos binarios en una memoria de línea de retardo pasan a través de la línea y regresan al principio. El acceso a los datos en una línea de retraso impone una penalización de tiempo mientras se espera que vuelvan a aparecer los datos deseados. Después de analizar estos problemas de sincronización, propone organizar la memoria de la línea de retardo en 256 "órganos" de la línea de retardo (DLA), cada uno de los cuales almacena 1024 bits, o 32 ciclos menores, llamado ciclo mayor. Un acceso a la memoria selecciona primero el DLA (8 bits) y luego el ciclo menor dentro del DLA (5 bits), para un total de 13 bits de dirección.

Para la memoria del iconoscopio, reconoce que cada punto de escaneo en la cara del tubo es un capacitor y que un capacitor puede almacenar un bit. Se necesitará un escaneo de muy alta precisión y la memoria durará poco tiempo, tal vez tan solo un segundo, y por lo tanto será necesario volver a copiarla ( actualizarla ) periódicamente.

Órdenes (instrucciones)

En la sección 14.1, von Neumann propone el formato de las órdenes, al que llama código. Los tipos de órdenes incluyen las operaciones aritméticas básicas, mover ciclos menores entre CA y M (carga y almacenamiento de palabras en términos modernos), una orden que selecciona uno de dos números según el signo de la operación anterior, entrada y salida, y transferencia CC a una ubicación de memoria en otro lugar (un salto). Determina el número de bits necesarios para los diferentes tipos de órdenes, sugiere órdenes inmediatas donde la siguiente palabra es el operando y analiza la conveniencia de dejar bits de repuesto en el formato de la orden para permitir más memoria direccionable en el futuro, así como otros no especificados. propósitos. Se discute la posibilidad de almacenar más de una orden en un ciclo menor, con poco entusiasmo por ese enfoque. Se proporciona una tabla de órdenes, pero en el primer borrador no se incluyó ninguna discusión sobre las instrucciones de entrada y salida.

Controversia

La emisión y distribución del informe fue fuente de amarga acritud entre las facciones del equipo de diseño de EDVAC por dos razones. [3] En primer lugar, posteriormente se dictaminó que el informe era una divulgación pública que se produjo más de un año antes de que se presentara la solicitud de patente EDVAC, lo que hacía que la eventual patente fuera inaplicable; En segundo lugar, algunos miembros del equipo de diseño de EDVAC sostuvieron que el concepto de programa almacenado había evolucionado a partir de reuniones en la Escuela Moore de Ingeniería Eléctrica de la Universidad de Pensilvania, anteriores a la actividad de von Neumann como consultor allí, y que gran parte del trabajo representado en el El Primer Borrador no fue más que una traducción de los conceptos discutidos al lenguaje de la lógica formal que von Neumann dominaba. Por lo tanto, el hecho de que von Neumann y Goldstine no incluyeran a otros como autores en el Primer Borrador llevó a que el crédito se atribuyera únicamente a von Neumann. (Ver efecto Matthew y ley de Stigler ).

Ver también

Notas

  1. ^ El valor más alto es en realidad 1 - 2 -30 , 0,99999999906 en notación decimal.

Referencias

  1. Von Neumann atribuye este modelo a Warren McCulloch y Walter Pitts , Un cálculo lógico de las ideas inmanentes a la actividad nerviosa, Bull. Matemáticas. Biofísica, vol. 5 (1943), págs. 115-133
  2. ^ Von Neumann había trabajado en estrecha colaboración con McCulloch y Pitts. Véase El hombre que intentó redimir el mundo con la lógica, Amanda Gefter, Nautilus, número 21, 4 de febrero de 2015.
  3. ^ Moye, William T. (enero de 1996), ENIAC: The Army-Sponsored Revolution, United States Army Research Laboratory , archivado desde el original el 5 de marzo de 2013 , consultado el 26 de noviembre de 2012

Bibliografía

enlaces externos