17
Modelo de Von Neumann Gonzalo Arias 2011 – 2

1 - Modelo de Von Neumann y Maquinas Virtuales

Embed Size (px)

Citation preview

Modelo de Von NeumannGonzalo Arias 2011 2

1.- John Louis Von Neumann (1903-1957)

Este cientfico matemtico ocupa un lugar privilegiado en la historia de la computacin debido a sus mltiples e importantsimos aportes a las computadoras de la primera generacin. Naci el 28 de Diciembre de 1903 en Budapest (Hungra). Von Neumann fue un nio prodigio que a la edad de 6 aos poda dividir mentalmente cifras de 8 dgitos. Recibi una temprana educacin, public su primer trabajo a la edad de 18 aos. En 1921 ingres a la facultad de Qumica de la Universidad de Budapest, pero decidi continuar sus estudios en Berln y Zurich, gradundose de Ingeniero Qumico en 1925.

Inmediatamente despus de graduado volvi a sus investigaciones y estudios de las matemticas de las cuales fue un apasionado, logrando un doctorado en 1928. Rpidamente gan una reputacin como un excelente matemtico y en 1930 fue invitado a visitar la Universidad de Princeton (USA). Al fundarse el Instituto de Estudios Avanzados en 1933, Von Neumann fue elegido como uno de sus nicos 6 profesores matemticos, actividad que realiz el resto de su vida. En 1946, en colaboracin con Arthur W. Burks y Herman H. Goldstine, Von Neumann escribi uno de los artculos ms influyentes en la moderna historia de los computadores: Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. Las ideas que contiene este artculo, que de forma conjunta se conocen con el nombre de Mquina de Von Neumann o Arquitectura Von Neumann, han proporcionado los fundamentos para la construccin y el desarrollo de todos los computadores hasta el momento.

2.- El modelo de Von Neuman y su importancia.El concepto central en la Arquitectura Von Neumann es el de un programa almacenado, segn el cual las instrucciones y los datos tenan que almacenarse juntos en un medio comn y uniforme, en vez de separados, como hasta entonces se haca. De esta forma, no slo se podan procesar clculos, sino que tambin las instrucciones y los datos podan leerse y escribirse bajo el control del programa.

A partir de esta idea bsica se sigue que un elemento en la memoria tiene una calidad ambigua con respecto a su interpretacin; esta ambigedad se resuelve, slo temporalmente, cuando se requiere ese elemento y se ejecuta como una instruccin, o se opera como un dato. Un beneficio de esta ambigedad es el hecho de que un dato, obtenido como resultado de algunas operaciones en la unidad aritmtico-lgica del computador, poda colocarse en la memoria como si fuera cualquier otro dato, para entonces usarlo y ejecutarlo como si fuera una instruccin. Adems la Mquina de Von Neumann presentaba como caracterstica importante un pequeo nmero de registros para mantener la instruccin del programa en curso, y el registro de datos que se estaban procesando. La mquina operaba en un ciclo repetitivo de pasos para localizar y ejecutar en secuencia las instrucciones del programa. Resulta evidente que esta breve descripcin puede aplicarse a casi todos los computadores que desde 1946 se han construido, por lo que la aportacin de Von Neumann a las Ciencias de la Computacin es ms que notable.

3.- La evolucin del modelo de Von Neumann.A travs de los aos el modelo original ha ido evolucionando hasta llegar a dos modelos Modernos uno modelo de Harvard y el otro el modelo Pentium. Arquitectura Von Neuman: Instrucciones y datos comparten memoria. Impide el acceso simultneo a ambos. Se comparte tambin el bus de instrucciones y el de datos.

ARQUITECTURAS MODERNASArquitectura Harvard: Resuelve los problemas de la de Von Neuman. Dos memorias independientes con buses propios.

ARQUITECTURAS MODERNASArquitectura actual del Pentium: Dos memorias cach independientes, una para datos y otra para instrucciones.

Evaluacin

1.- Qu profesin tenia Jhon Bon Neumann? 2.- Cul es la importancia del modelo Bon Neumann? 3.- Nombre los modelos evolucionados a partir del modelo de Bon Neumann

La estructura de las maquinas multinivelGonzalo Arias 2011 2

Concepto lenguaje de programacin y su evolucin.Lenguaje de programacin: Es el conjunto de instrucciones con las cuales nos podemos comunicar con el computador. Llamndose programa a una secuencia de estas instrucciones que describe como ejecutar cierta tarea. Todos los programas que se deseen ejecutar en un computador deben convertirse previamente en una secuencia de instrucciones simples, a este conjunto de instrucciones simples se denomina lenguaje de mquina. Breve historia de los lenguajes de programacin: En los aos 50 se realizaron varios compiladores primitivos y fue en 1957 cuando apareci el primer compilador de FORTRAN. El compilador de FORTRAN (FORmula TRANslator) estaba diseado para traducir a lenguaje mquina expresiones y operaciones matemticas, e incluso permita la manipulacin de matrices. FORTRAN no fue diseado pensando en crear un lenguaje bien estructurado, sino pensando en crear un traductor de expresiones aritmticas a cdigo mquina muy eficiente.

Unos aos despus de aparecer el FORTRAN apareci el lenguaje ALGOL 60 (Algorithm Language), que fue diseado para ser independiente del computador con una gramtica bien definida. Tambin de aquella poca es el COBOL (Common Business Oriented Language) que se diseo para las manipulaciones de datos normales en aplicaciones de negocios y con un uso mayor del lenguaje ingls en sus frases. Desde entonces han aparecido diversos lenguajes de alto nivel entre los que podemos mencionar el BASIC (Beginners All-purpose Symbolic Instructional Code), PL/I , APL, PASCAL, ADA, MODULA , C , RPG, PROLOG, LISP, ... etc. Alguno de estos lenguajes han sido diseados para un tipo concreto de aplicaciones. Por ejemplo, el ADA para aplicaciones relacionadas con defensa, o el RPG para transacciones usuales en los bancos

Maquinas VirtualesMaquina virtual: Es una abstraccin que representa un sistema computacional bajo algn punto de vista. Tiene asociado un lenguaje. Una mquina virtual tiene definido un Lenguaje L que permite interactuar con ella. De hecho, una maquina define un lenguaje. De forma similar un lenguaje define una maquina: la que puede ejecutar todos los programas realizados en ese lenguaje. Ejemplo de L: PHP BASIC Interprete de Comandos de un S.O. C

Niveles de las mquinas multinivelRepresentacin de un sistema computacional estructurado en funcin de niveles de mquinas virtuales, donde el nivel n es soportado por otro nivel inferior n-1 El soporte, se refiere a que la mquina de nivel n slo puede funcionar si est funcionando la mquina del nivel inferior.

Los programas escritos en Ln son interpretados por un programa corriendo en la mquina Mn-1 (o inferior) o bien son traducidos al lenguaje Ln-1 (o inferior) El conjunto de caractersticas visibles de una mquina virtual para una persona o programa que crea cdigo en el lenguaje de dicha mquina, es lo que conocemos como arquitectura de dicha mquina.

Evolucin de las maquinas multinivelLos primeros computadores tenan solamente 2 niveles (N. Lgica digital - N. Mquina convencional). En 1951 Wilkes concibi una mquina de 3 niveles (esta mquina tena incorporado un intrprete que se encargaba de ejecutar los programas del otro nivel). En la dcada de los 50 proliferaron los ensambladores (programas operaban en forma abierta, interactuando directamente con los dispositivos fsicos. Incorporacin del sistema operativo. En aos sucesivos lo sistemas operativos se volvieron ms complejos, se aadieron nuevas instrucciones y potencialidades al nivel maquina convencional hasta que empez a definirse nuevos niveles.

Autoevaluacin 1.- A qu le llamamos lenguaje maquina? 2.- Qu es una maquina virtual? 3.- Enumere los diferentes niveles de una maquina Multinivel