jueves, 15 de mayo de 2008

CIENTIFICOS IMPORTANTES EN ESTA AREA






John von Neumann



John von Neumann zu Margitta (Se pronuncia "fon noiman"), (Margittai Neumann János Lajos) (28 de diciembre de 1903 - 8 de febrero de 1957) fue un matemático húngaro-estadounidense, de ascendencia judía, que realizó contribuciones importantes en física cuántica, análisis funcional, teoría de conjuntos, informática, economía, análisis numérico, hidrodinámica (de explosiones), estadística y muchos otros campos de la matemática. Recibió su doctorado en matemáticas de la Universidad de Budapest a los 23 años.

Fue una de las cuatro personas seleccionadas para la primera facultad del Institute for Advanced Study (Instituto para Estudios Avanzados). Trabajó en el
Proyecto Manhattan. Junto con Edward Teller y Stanislaw Ulam, resolvió pasos fundamentales de la física nuclear involucrada en reacciones termonucleares y la bomba de hidrógeno.
Es considerado el padre de la
teoría de juegos y publicó el clásico libro Theory of games and economic behavior ('Teoría de juegos y comportamiento económico'), junto a Oskar Morgenstern, en 1944. También concibió el concepto de "MAD" (Mutually Assured Destruction o 'destrucción mutua asegurada'), concepto que dominó la estrategia nuclear estadounidense durante los tiempos de posguerra.
Fue pionero de la computadora digital moderna y de la aplicación de la teoría operadora a la
mecánica cuántica. Trabajó con Eckert y Mauchly en la Universidad de Pennsylvania, donde publicó un artículo acerca del almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la llamada EDVAC (Electronic Discrete-Variable Automatic Computer, es decir 'computadora automática electrónica de variable discreta'), desarrollada por Von Neumann, Eckert y Mauchly. Los programas almacenados dieron a las computadoras flexibilidad y confiabilidad, haciéndolas más rápidas y menos sujetas a errores que los programas mecánicos.Otra de sus inquietudes fue la capacidad de las máquinas de autorreplicarse, lo que le llevó al concepto de lo que ahora llamamos máquinas de Von Neumann o autómatas celulares.
















Alan Mathison Turing


Alan Mathison Turing (23 de junio de 1912 - 7 de junio de 1954). Fue un matemático, informático teórico, criptógrafo y filósofo inglés.
Se le considera uno de los padres de la
Ciencia de la computación siendo el precursor de la informática moderna. Proporcionó una influyente formalización de los conceptos de algoritmo y computación: la máquina de Turing. Formuló su propia versión de la hoy ampliamente aceptada Tesis de Church-Turing, la cual postula que cualquier modelo computacional existente tiene las mismas capacidades algorítmicas, o un subconjunto, de las que tiene una máquina de Turing. Durante la Segunda Guerra Mundial, trabajó en romper los códigos nazis, particularmente los de la máquina Enigma; durante un tiempo fue el director de la sección Naval Enigma del Bletchley Park. Tras la guerra diseñó uno de los primeros computadores electrónicos programables digitales en el Laboratorio Nacional de Física del Reino Unido y poco tiempo después construyó otra de las primeras máquinas en la Universidad de Manchester. Entre otras muchas cosas, también contribuyó de forma particular e incluso provocativa al enigma de si las máquinas pueden pensar, es decir a la Inteligencia Artificial.












John Bardeen
John Bardeen (Madison, Estados Unidos 23 de mayo de 1908 - Boston, 30 de enero de 1991) fue un físico estadounidense galardonado con el Premio Nobel de Física del año 1956 y 1972, convirtiéndose en la única persona galardonada dos veces con el Premio Nobel de Física.

Su padre fue fundador y profesor de la Escuela de Medicina de la Universidad de Wisconsin.
Se interesó en las matemáticas de bien pequeño, e inició sus estudios de ingeniería eléctrica en la Universidad de Wisconsin en 1923, finalizando sus estudios en 1928. Influido por su mentor John Hasbrouck van Vleck también recibió influencias de Paul Dirac, Werner Heisenberg y Arnold Sommerfeld. Amplió sus estudios en física y matemáticas en la Universidad de Princeton licenciándose en 1936.
En 1938 inició su tarea docente universitaria como profesor auxiliar en la Universidad de Minnesota. Después de participar en la Segunda Guerra Mundial como responsable del laboratorio naval de artillería, en 1943 fue invitado a participar en el Proyecto Manhattan pero rechazó la invitación.
Bardeen murió en Boston víctima de un fallo cardíaco en 1991.




















William Shockley

William Bradford Shockley (13 de febrero de 1910 - 12 de agosto de 1989).
Fue un físico estadounidense, galardonado con el Premio Nobel de Física en 1956. Inventó el transistor de unión el 5 de julio de 1951.
A finales de los años 1960, Shockley realizó unas controvertidas declaraciones acerca de las diferencias intelectuales entre las razas, defendiendo que los test de inteligencia mostraban un factor genético en la capacidad intelectual revelando que los afro-estadounidenses eran inferiores a los estadounidenses caucásicos, así como que la mayor tasa de reproducción entre los primeros tuvo un efecto regresivo en la evolución.
Creó sus propios laboratorios en California, pero su forma de llevar la empresa provocó que ocho de sus investigadores en 1957 abandonasen la compañía. Entre ellos estaban Robert Noyce y Gordon Moore que más tarde crearían Intel.










Jack Kilby

Jack St. Clair Kilby (8 de noviembre de 1923; Jefferson City, Missouri, Estados Unidos - 20 de junio de 2005; Dallas, Texas EEUU). Importante ingeniero eléctrico estadounidense cogalardonado con el Premio Nobel de Física en el año 2000.
Diplomado de las universidades de Illinois y de Wisconsin, desde 1958 fue empleado de la compañía informática estadounidense Texas Instruments, donde desarrolló el microchip en 1959. Aproximadamente al mismo tiempo Robert Noyce hizo el mismo descubrimiento en Fairchild Semiconductor. El inventor del circuito integrado monolítico, se declaró sorprendido de que se le haya otorgado el Premio Nobel de Física, que comparte con Herbert Kroemer y con el ruso Zhores Ivanovich Alferov. Kilby declaró que “no había previsto esto y de hecho, creía que era muy improbable”.
La investigación de Kilby condujo a la producción de los microprocesadores y echó los cimientos conceptuales y técnicos para todo el campo de la microelectrónica.
“Yo creí entonces que el microprocesador sería importante, pero no podía imaginar en qué forma crecería la industria electrónica debido a él”, agregó. Kilby comenzó su carrera en 1947 en Globe Union, en Milwaukee y trabajó en el desarrollo de circuitos de base cerámica y matriz para los artefactos electrónicos.
En su carrera, Kilby ha patentado más de 60 inventos que se han incorporado a la industria para el consumo, las fabricaciones militares y las aplicaciones comerciales de la tecnología de microprocesadores.




















lunes, 12 de mayo de 2008

CONCEPTO DE VON NEUMANN






Los primeros computadores se programaban en realidad recableándolos. Esto prácticamente equivalía a reconstruir todo el computador cuando se requería de un nuevo programa. La tarea era simplificada gracias a un panel de contactos (muy similar al de los primeros conmutadores telefónicos que eran atendidos por operadoras, y que hoy en día sólo llegamos a ver en viajes películas en blanco y negro. Ver fig. 1) con el que era posible enlazar circuitos para crear secciones dedicadas a una actividad específicas. La programación del computador se llevaba a cabo, literalmente, reconstruyéndolo.






Fig 1.- ENIAC, primer computador electrónico y su panel de conexiones




Mientras que el recablear al computador establecía una clara distinción entre los datos (representados por los estados o señales eléctricas que serín mantenidas por los relevadores o a través de los bulbos que conformaban al computador) y el programa (las conexiones que serían establecidas entre estos componentes del hardware) la labor de "programación" requería sino del propio creador del computador si a un verdadero experto y conocedor de electrónica, principios de lógica digital y del problema mismo. Esto vino a cambiar con el concepto del programa almacenado, un concepto teórico muy importante que fue establecido por el matemático John von Neumann el 30 de junio de 1945 en un borrador sobre el diseño de la EDVAC. A diferencia de los primeros computadores, von Neumann proponía que tanto el programa como sus datos fueran almacenados en la memoria del computador. Esto no solo simplificaba la labor de programación al no tener que llevar a cabo el recableado del computador sino que además libraba y generalizaba el diseño del hardware para hacerlo independientede cualquier problema y enfocado al control y ejecución del programa. Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de von Neumann, aún presente en nuestros días.
La arquitectura de von Neumann se compone de tres elementos:



  1. La Unidad Central de Procesamiento (CPU, por sus siglas en inglés), que es considerada como el cerebro y corazón del computador. Internamente consiste de una Unidad Aritmético-Lógica (ALU), un conjunto de registros y una Unidad de Control (CU). La ALU es donde se realizan todas las operaciones que involucran un procesamiento matemático (particularmente aritmético) o lógico (operaciones booleanas). Los registros permiten el almacenammiento de datos para estas operaciones y sus resultados. En la CU es donde se ejecutan todo el resto de las operaciones (decisión, control, movimiento de datos). Una CPU con todos estos elementos implementada en un solo chip recibe el nombre de microprocesador.

  2. La memoria, que es donde datos y programa es almacenado. La memoria puede ser visto como un arreglo unidimensional finito en la que cada localidad es identificada por un valor asociado a su posición y que es comunmente llamado dirección. Existen diversos tipos de memoria, identificados por el tipo de tecnología usada, aunque para un computador son generalmente clasificadas en dos grandes grupos por tipo de uso al que de destina. La memoria RAM (Random Access Memory, Memoria de Acceso Aleatorio) y que es aquella destinada al almacenamiento de datos y programas (incluyendo al sistema operativo), es considerada temporal o de tipo volátil ya que pierde si contenido cuendo el computador es apagadoo reinicializado. La memoria ROM es aquella de tipo permanente, aun cuando el computador sea desenergizado mantendrá su contenido. Es usada principalmente para el almacenamiento de pequeños programas destinados a la adminsitración básica de recursos, especialmente de entrada y salida.

  3. Las interfaces de entrada y salida (I/O). destinadas a liberar de trabajo a la CPU en la comunidación con dispositivos de entrada (teclados, ratones), salida (impresoras) y entrada-salidas (discos, cintas).



Estos tres elementos están interconectados a través de un conjunto de líneas que llevan instrucciones (control bus), datos (data bus) y que permiten dar los valores de direcciones de memoria y dispositivos (memory bus).


Fig 2.- Esquema de la arquitectura de von Neumann. Hardware.

HISTORIA Y EVOLUCION


Historia y evolución.
El desarrollo de dispositivos de cálculo no se limita al siglo XX. Mucho antes de la aparición de los primeros computadores electrónicos hubo calculadores electromecánicos y, mucho, mucho antes que éstos existieron dispositivos mecánicos. Para una cronología detallada sugeriremos que se consulte la Historia de la Computación e Informática. Aquí sólo mencionaremos de manera genérica la clasificación cronológica dada por las características tecnológicas. Es importante considerar que la tecnología no cambia de la noche a la mañana, ni siquiera de un año para otro. La adopción de nueva tecnología es un proceso que toma tiempo y dependiente de la substitución de la anterior. En la siguiente clasificación cronológica los periodos descritos aparecen superpuestos por esta razón y los periodos están delimitados por el tiempo en el que se asume la tecnología característica dominaba el mercado.

La prehistoria (5000 a.c. - 1650).
Los primeros dispositivos de cálculo desarrollados por el hombre consistieron de cuentas y huesos usados para la contabilización (numeración) de objetos de uso cotidiano (animales, personas, utensilios, etcétera). El desarrollo de la aritmética y las actividades del ser humano (científicas, comerciales y de navegación) obligaron al desarrollo de métodos de conteo, cálculo y registro más rápidos y permanentes como las tablillas de arcilla y el ábaco. Los primeros algoritmos comienzan a desarrollarse y a escribirse. Para finales de esta era las primeras reglas de cálculo comienzan a aparecer.

La era mecánica (1620-1940).
Durante este periodo las reglas de cálculo son perfeccionadas. Con el desarrollo de los primeros dispositivos mecánicos destinados a la relojería y juguetes, a partir del primer cuarto del siglo XVII comienzan a desarrollarse las primeras reglas de cálculo mecánicas o calculadoras. Para finales del siglo XIX y primer cuarto del siglo XX los primeros dispositivos electromecánicos comienzan a aparecer.

La primera generacion (1938-1953).
Con la aparición de los primeros computadores analógicos y discretos electromecánicos en 1938 y 1939, y posteriormente electrónicos en 1946, se marca el inicio de la primera generación de computadores. Los relés electromecánicos son usados como dispositivos de conmutación durante los años 40 y posteriormente son reemplazados por las válvulas de vacío (bulbos) durante los años 50. Además de los elementos de conmutación usados, estos equipos se caracterizaban por estar interconectados por cables aislados.
La estructura del procesador era bit-serie, lo que obligaba a que la aritmética se efetuara bit a bit y sin punto flotante. En estos computadores sólo se empleaba el lenguaje máquina codificado en binario. Con la aparición del concepto de programa almacenado con la EDVAC se pudo liberar al usuario de las molestias de programación de bajo nivel, que implicaban, literlmente, el re-alambrado de todo el equipo. Para finales de esta era los equipos como el IBM 701 empleaban memoria de tubo Williams, tambores y cintas magnéticas.

La segunda generación (1952-1963).
El primer computador digital transistorizado, el Tradic (Transistorized Digital Computer) fue construido por los laboratorios Bell en 1954, el cual hizo uso de las memorias de núcleo de ferrita y corrientes coincidentes. Los lenguajes ensambladores siguieron utilizándose hasta la aparición de lenguajes de alto nivel como el Fortan (1957), Cobol (1959) y Algol (1960). En esta etapa también hacen su aparición los primeros circuitos impresos.
En 1959, Sperry Rand e IBM presentan e inician, respectivamente, sistema y proyecto, en computadores con incrementos de rendimiento atribuibles a la arquitectura. El primer computador científico transistorizado, el IBM 1620 estuvo listo para 1960. Los paquetes de disco intercambiables se introdujeron hasta 1963. El modo usual de procesamiento era por lotes procesando secuencialmente los programas.
Durante este etapa IBM lleva a cabo la reingeniería de su sistema IBM 709 para emplear la tecnología de transistores. El resultado, la IBM 7090 era capaz de efectuar casi 5x105 adiciones por segundo y fue tan exitoso que se vendieron alrededor de 400 unidades.

La tercera generación (1962-1975).
Con la aparición de los circuitos integrados de pequeña escala (SSI, Small-Scale Integration) y su posterior utilización se marca el inicio de la tercera generación de computadoras. También, los circuitos impresos multicapa comienzan a ser utilizados. Hacia 1968 los computadores más rápidos comienzan a substituir las memorias de ferrita por memorias de estados sólido. Los lenguajes de programación de alto nivel reciben un fuerte impulso con el desarrollo de compiladores inteligentes.
La multiprogramación se introduce como una forma de permitir la ejecución simultánea de varios programas intercalados en las operaciones de E/S. Los sistemas operativos de tiempo compartido estuvieron disponibles a finales de los años 60 y los primeros computadores vectoriales aparecieron al inicio de los 70. El concepto de memoria virtual aparece haciendo uso de sistemas de memoria jerárquicamente estructurados.

La cuarta generación (1972-actualidad).
Los computadores de la presente generación comenzaron haciendo uso de tecnología LSI (Large-Scale Integration) y con los avances en el desarrollo de circuitos integrados de alta densidad hoy en día hacen uso de circuitos VLSI (Very Large-Scale Integration). Los lenguajes de programación se han expandido para manejar y expresar diferentes estructuras y conceptos temporales y espaciales. Los computadores comerciales hacen uso de un alto grado de multiprocesamiento a traves de varios procesadores y segmentación encauzada para obtener incrementos substanciales de rendimiento y capacidades de cómputo. A inicios de la década de los 80 el concepto del procesamiento en paralelo masivo hace su aparición.

Tendencias y futuros desarrollos.
El fracaso del proyecto japonés del desarrollo de una nueva generación de computadores ha dejado entrever que la tecnología actual, si bien nos podrá proporcionar computadores más veloces durante algunos años más, resulta impráctica para la demanda de tareas computacionalmente más complejas. Hemos evolucionado del cálculo aritmético automatizado al procesamiento de información pasando por el procesamiento de datos. Inclusive ya podemos entrever que estamos haciendo avances en el procesamiento del conocimiento. Sin embargo, las evidencias indican que las tecnologías y técnicas desarrolladas resultarán poco prácticas para la consecuencia lógica a la que nos lleva el desarrollo evolutivo de nuestro desarrollo informático y computacional.
En los años venideros requeriremos que nuestros computadores sean capaces de tratar problemas computacionalmente mucho más complejos y demandantes y que, posiblemente, deban ser capaces de tratar con conocimiento más que con información. Una de las metas que ha sido perseguida desde la aparición de los primeros ingenios mecánicos, el desarrollo de una consciencia, podría ser realidad bajo los nuevos desarrollos.
Actualmente se están siguiendo muchos caminos. La descendencia directa del desarrollo computacional tradicional se enfoca actualmente en proyectos de computadores masivamente paralelos (arreglos de procesadores, flujo de datos, redes neuronales). Sin embargo, los avances en otras disciplinas han abierto nuevas ramas de investigación como son la lógica difusa (fuzzy sets), el cómputo molecular, y el cómputo cuántico.

TEORIA SOBRE EL TEMA

La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computacional. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias 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.
También suele definirse como la forma de seleccionar e interconectar componentes de hardware
para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo.
La segmentación de instrucciones es similar al uso de una cadena de montaje en una fábrica de manufacturación. En las cadenas de montaje, el producto pasa a través de varias etapas de producción antes de tener el producto terminado. Cada etapa o segmento de la cadena está especializada en un área específica de la línea de producción y lleva a cabo siempre la misma actividad. Esta tecnología es aplicada en el diseño de procesadores eficientes. A estos procesadores se les conoce como pipeline processors.
Un pipeline processor está compuesto por una lista de segmentos lineales y secuenciales en donde cada segmento lleva a cabo una tarea o un grupo de tareas computacionales.
Los datos que provienen del exterior se introducen en el sistema para ser procesados. La computadora realiza operaciones con los datos que tiene almacenados en memoria, produce nuevos datos o información para uso externo.
Las arquitecturas y los conjuntos de instrucciones se pueden clasificar considerando los siguientes aspectos:
Almacenamiento de operandos en la CPU: dónde se ubican los operandos aparte de la memoria.
Número de operandos explícitos por instrucción: cuántos operandos se expresan en forma explícita en una instrucción típica. Normalmente son 0, 1, 2 y 3.
Posición del operando: Puede cualquier operando estar en memoria?, o deben estar algunos o todos en los registros internos de la CPU. Cómo se especifica la dirección de memoria (modos de direccionamiento disponibles)
Operaciones: Qué operaciones están disponibles en el conjunto de instrucciones.
Tipo y tamaño de operandos y cómo se especifican.

ARQUITECTURA DE COMPUTADORAS


DEFINICION:La arquitectura de una computadora explica la situación de sus componentes y permite determinar las posibilidades de que un sistema informático, con una determinada configuración, pueda realizar las operaciones para las que se va a utilizar.