La Arquitectura de Von Neumann

65
La arquitectura de Von Neumann INTRODUCCIÓN La hombre en su interminable afán por facilitarse la vida, hace que su genio inventor diseñe artefactos, maquinas y sistemas que efectúen cálculos y realicen labores que parecen engorrosas. La automatización consiste en reemplazar al hombre por una máquina para ejecución de una tarea, y se ha venido desarrollando casi a la par con la historia de la humanidad. Dentro de estas máquinas creadas por el hombre, tenemos al computador que es un dispositivo con él cual se pueden realizar tareas muy diversas, cargando distintos programas en la memoria para que los ejecute el procesador. Buscando siempre optimizar los procesos, ganar tiempo, hacerlo más fácil de usar y simplificar las tareas rutinarias. Las computadoras esta formada por una estructura que data de los años 40 pero que aun sigue en la mayoría de las PC’s de la actualidad, nos referimos a la arquitectura Von Neumann, se refiere a las arquitecturas de computadoras que

Transcript of La Arquitectura de Von Neumann

Page 1: La Arquitectura de Von Neumann

La arquitectura de Von Neumann

INTRODUCCIÓN

La hombre en su interminable afán por facilitarse la vida, hace que su genio inventor diseñe artefactos, maquinas y sistemas que efectúen cálculos y realicen labores que parecen engorrosas. La automatización consiste en reemplazar al hombre por una máquina para ejecución de una tarea, y se ha venido desarrollando casi a la par con la historia de la humanidad.

Dentro de estas máquinas creadas por el hombre, tenemos al computador que es un dispositivo con él cual se pueden realizar tareas muy diversas, cargando distintos programas en la memoria para que los ejecute el procesador. Buscando siempre optimizar los procesos, ganar tiempo, hacerlo más fácil de usar y simplificar las tareas rutinarias.

Las computadoras esta formada por una estructura que data de los años 40 pero que aun sigue en la mayoría de las PC’s de la actualidad, nos referimos a la arquitectura Von Neumann, se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). El término se acuñó en el documento First Draft of a Report on the EDVAC (1945), escrito por el conocido matemático John Von Neumann, que propuso el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la computadora ENIAC.

En el presente se sigue usando esta estructura solo con algunas modificaciones.

Page 2: La Arquitectura de Von Neumann

John von

Historia

NeumannMatemático, artífice del primer ordenador (1903 Budapest, Hungria, 1957 Washington D.C., USA)

John von Neumann nació el 28 de diciembre de 1903 en Budapest, Hungria, y murió el 8 de febrero de 1957 en Washington D.C., USA. Su verdadero nombre es János Neumann. De pequeño la llamaban Jancsi, un diminutivo del húngaro János, más tarde fue llamado Johnny en los United States. Su padre, Max Neumann era un rico banquero. Creció en una extensa familia en Budapest, donde de niño aprendió además de húngaro, alemán y francés. Tenía una increible memoria que ponía de manifiesto desde muy pequeño haciendo demostraciones en reuniones familiares. Fue un niño prodigio que a la edad de 6 años podía dividir mentalmente cifras de 8 dígitos.

Aunque eran judios, Max Neumann no era un estricto practicante y John aprendió también algunas tradiciones cristianas. El hijo de Max Neumann adquirió el von y se convirtió en János von Neumann porque en 1913, Max Neumann compró un título que nunca utilizó. Aunque su hijo sí.

En 1911, von Neumann entró en el Lutheran Gymnasium. La escuela tenía una estricta tradición académica. Su profesor de matemáticas pronto reconoció en el joven Neumann un talento especial. En esa escuela estudiaba también, un año mas que Jànos, otro talentoso matemático llamado Eugene Wigner.

La primera guerra mundial tuvo poco efecto en la educación de Neumann, pero después de la guerra, Béla Kun controló Hungria durante cinco meses en 1919, con un gobierno comunista. La familia se exilió a Austria aunque

Page 3: La Arquitectura de Von Neumann

regresaron pronto. Cuando el gobierno de Kun cayó, los judios fueron perseguidos por el hecho de haber participado en el gobierno.

En 1921, von Neumann completó su educación en el Lutheran Gymnasium. Su primera publicación matemática, escrito conjuntamente con Fekete su tutor en la Universidad de Budapest, fue publicado en 1922. Sin embargo Max Neumann quería que su hijo eligiera una carrera con más posibilidades económicas. A pesar de las pocas plazas para judios consiguió ser admitido en la univewrsidad de Budpest para estudiar matemáticas. Sim embargo renunció y fue a Berlín a estudiar química siguiendo el consejo de su padre.

Allí estudió hastas 1923 cuando se fue a Zurich. Consiguió además excelentes resultados en los exámenes de matemáticas de la universidad de Budapest a pesar de no haber asistido a clases. Von Neumann recibió su diploma en ingeniería química de la Technische Hochschule en Zürich en 1926. Durante este tiempo, continuó su interés en las matemáticas, intercambió ideas con Weyl y Pólya que también estaban en Zurich. Ayudaba en los cursos de Weyl cuando éste se ausentaba de Zurich.

Von Neumann recibió su doctorado en matemáticas de la universidad de Budapest, en 1926, con una famosa tesis sobre teoría de conjuntos. Publicó una definición de número ordinal a la edad de 20 años, definición que todavía se usa. Una de las teorías axiomáticas de conjuntos aceptadas hoy día es llamada la teoría de von Neumann, Bernays, Gödel.

Entre 1926 y 1929 fue profesor de matemáticas en la Universidad de Berlín, y en Hamburgo entre 1930 y 1933. También estudió en Göttingen entre 1926 y 1927. Por aquella época ya era reconocido como un gran matemático.

En 1930, fue invitado a visitar la Universidad de Princeton (USA) donde impartió clases entre los años 1930 y 1933, pero no fue un buen profesor, puesto que resultaba muy difícil seguir sus explicaciones. Con la llegada de los nazis al poder y el convencimiento de que en los Estados Unidos su posición académica tendría más futuro, se estableció en los Estados Unidos, dónde ayudó a muchos científicos judíos que huyeron de Alemania

Page 4: La Arquitectura de Von Neumann

para encontrar trabajo. Al fundarse el Instituto de Estudios Avanzados en 1933, Von Neumman fue elegido como uno de sus únicos 6 profesores matemáticos, actividad que realizó el resto de su vida.

En 1932, publicó Fundamentos matemáticos de la mecánica cuántica. Fue el fundador de la Teoría de Juegos. Demostró el teorema del minimax y en 1944 publicó, junto con Oskar Morgenstern, el famoso libro Teoría de juegos y del comportamiento económico. En 1929, en un artículo en Mathematische Annalen, fue el primero en estudiar las álgebras auto-adjuntas de operadores lineales acotados sobre un espacio de Hilbert. Estos anillos de opradores se conocen con el nombre W*-algebras, pero J. Dixmier, en 1957, las llamó "álgebras de von Neumann" nombre con el que hoy día son conocidas.

Von Neumann fue uno de los pioneros de las Ciencias de la Computación e hizo importantes contribuciones al desarrollo del diseño lógico o de programación. Creó la arquitectura de los computadores actuales, propuso la adopción del bit como medida de la memoria de los ordenadores, y resolvió el problema de la obtención de respuestas fiables con componentes no fiables (bit de paridad).

Participó en el diseño del que se considera el primer ordenador, el ENIAC (que se construyó para calcular la trayectoria de los misiles), para hacer modificaciones al programa se tenía que cambiar las conexiones de las válvulas. Más tarde propuso separar el hardware del software y se creó el EDVAC.

Neumann fue tan importante y clave para el desarrollo de la computadora digital que a la mayoría de aquellas máquinas, se las conoce como procesadores von Neumann. Su tesis y problema más importante sobre las máquinas fue la del concepto de autoreproducción, se cuestionaba: ¿Puede ser una máquina artificial capaz de producir una copia de ella misma, que pudiera también, ser capaz de crear más copias?. En sus ponencias para la Universidad de Yale, The Computer and the Brain, afirmaba que las computadoras y los seres humanos son diferentes clases de automatas.

Page 5: La Arquitectura de Von Neumann

Participó, junto con Einstein, en el desarrollo de la bomba atómica (Proyecto Manhattan) en el laboratorio de Los Álamos en Nuevo México. El diseño de implosión de las bombas nucleares se adeuda a Von Newmann. Él fue quién defendió y participó en la construcción de la bomba de hidrógeno, y quién propuso la construcción de misiles intercontinentales.

Además de ser una persona de prestigio, inteligencia y conocimiento, también era divertido, pues frecuentaba cabarets de Berlín, y se dice que durante su estancia en Princeton, eran famosas sus fiestas.

Se casó dos veces, las dos veces con mujeres húngaras, y tuvo una hija con cada una. Murió a los 53 años de cáncer de próstata, se cree que a causa de la exposición a la radiactividad en Los Álamos.

Concepto sobre la arquitectura de von neumanPresentation Transcript1. concepto sobre la arquitectura de von neuman

2. conceptoLa arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard)La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc).

3. Grafico

4. organizaciónUn ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por

Page 6: La Arquitectura de Von Neumann

el contador de programa y la guarda en el registro de instrucción.Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

5. Origen del termino arquitectura von neuman El término arquitectura de von Neumann se acuñó a partir del memorando First Draft of a Report on the EDVAC (1945) escrito por el conocido matemático John von Neumann en el que se proponía el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la computadora ENIAC y su contenido fue desarrollado por John Presper Eckert John William Mauchly, Arthur Burks y otros durante varios meses antes de que von Neumann redactara el borrador del informe. Es por ello que otros tecnólogos como David A. Patterson y John L. Hennessy promueven la sustitución de este término por el de arquitectura Eckert-Mauchly.

6. Grafico de arquitectura neuman

Forma simple de una máquina autorreplicante.

Page 7: La Arquitectura de Von Neumann

La máquina de von Neumann es un concepto teórico formulado por el matemático húngaro - estadounidense John von Neumann.

Supóngase un determinado problema simple, repetitivo y prolongado en el tiempo: por ejemplo, la extracción de mineral de hierro en la superficie de Marte.

Una solución posible es enviar máquinas robotizadas que, de forma autónoma, extraigan el mineral y lo conviertan en lingotes de hierro, bien para su envío a la Tierra, bien para su uso por colonias locales. Si una máquina extrae n toneladas en un determinado período de tiempo (ciclo), en m ciclos se tendrá m x n toneladas.

Supóngase ahora un segundo tipo de máquina: una máquina que, además de producir lingotes de hierro, los trabaja para autorreplicarse, construyendo una máquina igual a ella misma. El rendimiento será menor que el de la primera máquina, pues parte del hierro lo utiliza en producir la segunda máquina, pero al cabo de un tiempo (generación), no se tendrá una sino dos máquinas trabajando. Tras dos generaciones se tendrá cuatro máquinas, tras tres generaciones ocho máquinas, etcétera. Se trata de una población que crece de forma exponencial.

Así, aunque el rendimiento sea menor, la producción tenderá a crecer hasta superar la de la primera máquina. Como ejemplo, tras diez generaciones habrá más de mil máquinas de von Neumann (exactamente 1.024 = 210), de manera que, aunque su rendimiento fuera del 5% de la primera máquina, la producción total sería más de 50 veces mayor.

Este concepto no es solamente teórico: los virus informáticos son máquinas de von Neumann. Ante el ingente trabajo de infectar el mayor número posible de ordenadores, los virus se autorreplican pasando de ordenador a ordenador, aumentando su población de forma exponencial e infectando así millones de ordenadores en pocas horas.

Sin embargo, no sólo hay aplicaciones negativas de este concepto. Los autómatas celulares tienen alto rango de aplicaciones en la ciencia, modelando y simulando gran cantidad de sistemas físicos, como fluidos, flujo de tráfico, etc.

Page 8: La Arquitectura de Von Neumann

Arquitectura de von Neumann

Diagrama de la arquitectura Von Neumann.

La arquitectura de von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard).

La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc).

El nacimiento u origen de la arquitectura von Neumann surge a raíz de una colaboración en el proyecto ENIAC del matemático de

Page 9: La Arquitectura de Von Neumann

origen húngaro, John von Neumann. Éste trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert Einstein, Kurt Gödel y Alan Turingen Princeton, Von Neumann se interesó por el problema de la necesidad de reconfigurar la máquina para cada nueva tarea.

En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su "EDVAC" fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann, aunque también diseñó otras formas de construcción. El primer computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.

Organización

Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes.

Un ordenador con esta arquitectura realiza o emula los siguientes pasos secuencialmente:

1. Enciende el ordenador y obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.

2. Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3. Decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.

4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar

Page 10: La Arquitectura de Von Neumann

cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

Origen de término Arquitectura Von Neumann[editar]

El término arquitectura de von Neumann se acuñó a partir del memorando First Draft of a Report on the EDVAC (1945) escrito por el conocido matemático John von Neumann en el que se proponía el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la computadora ENIAC y su contenido fue desarrollado por John Presper Eckert, John William Mauchly, Arthur Burks y otros durante varios meses antes de que von Neumann redactara el borrador del informe. Es por ello que otros tecnólogos como David A. Patterson y John L. Hennessy promueven la sustitución de este término por el de arquitectura Eckert-Mauchly.1

Desarrollo del concepto de programa almacenado[editar]

Artículo principal: Programa almacenado

El matemático Alan Turing, quien había sido alertado de un problema de lógica matemática por las lecciones de Max Newman en la Universidad de Cambridge, escribió un artículo en 1936 titulado “On Computable Numbers, with an Application to the Entscheidungs problem”, que fue publicado en los “Proceedings of the London Mathematical Society”. En él describía una máquina hipotética que llamó “máquina computadora universal”, y que ahora es conocida como la “Máquina de Turing”. La máquina hipotética tenía un almacenamiento infinito (memoria en la terminología actual) que contenía tanto las instrucciones como los datos. El ingeniero alemán Konrad Zuse escribió de forma independiente sobre este concepto en 1936. Von Neumann conoció a Turing cuando ejercía de profesor sustituto en Cambridge en 1935 y también durante el año que Turing pasó en la Universidad de Princeton en 1936-37. Cuándo supo del artículo de 1936 de Turing no está claro.

Independientemente, J. Presper Eckert y John Mauchly, quienes estaban desarrollando el ENIAC en la Escuela Moore de Ingeniería Eléctrica en la Universidad de Pennsylvania, escribieron sobre el concepto de “programa almacenado” en diciembre de 1943. Mientras diseñaba una nueva máquina, EDVAC, Eckert escribió en enero de 1944 que se almacenarían datos y programas en un nuevo dispositivo de memoria direccionable, una línea de retardo de

Page 11: La Arquitectura de Von Neumann

mercurio. Ésta fue la primera vez que se propuso la construcción de un programa almacenado práctico. Por esas fechas, no tenían conocimiento del trabajo de Turing.

Von Neumann estaba involucrado en el Proyecto Manhattan en el Laboratorio Nacional Los Alamos, el cual requería ingentes cantidades de cálculos. Esto le condujo al proyectoENIAC, en verano de 1944. Allí se incorporó a los debates sobre el diseño de un ordenador con programas almacenados, el EDVAC. Como parte del grupo, se ofreció voluntario a escribir una descripción de él. El término “von Neumann architecture” surgió del primer artículo de von Neumann: “First Draft of a Report on the EDVAC”, fechado el 30 de junio de 1945, el cual incluía ideas de Eckert y Mauchly. Estaba inconcluso cuando su compañero Herman Goldstine lo hizo circular con sólo el nombre de von Neumann escrito en él, para consternación de Eckert y Mauchly. El artículo fue leído por docenas de compañeros de trabajo de Von Neumann en América y Europa, e influenció la siguiente hornada de diseños de computadoras.

Posteriormente, Turing desarrolló un informe técnico detallado, “Proposed Electronic Calculator”, describiendo el Motor de Computación Automático (Automatic Computing Engine, ACE). Presentó éste al Laboratorio Nacional de Física Británico el 19 de febrero de 1946. A pesar de que Turing sabía por su experiencia de guerra en el Parque Bletchley que su propuesta era factible, el secretismo mantenido durante muchas décadas acerca de los ordenadores Colossus le impidió manifestarlo. Varias implementaciones exitosas del diseño ACE fueron producidas.

Los trabajos de ambos, von Neumann y Turing, describían ordenadores de programas almacenados, pero al ser anterior el artículo de von Neumann, consiguió mayor circulación y repercusión, así que la arquitectura de computadoras que esbozó adquirió el nombre de “arquitectura von Neumann”.

En 1945, el profesor Neumann, que estaba trabajando en la escuela Moore de ingeniería de Filadelfia, donde el ENIAC había sido construido, emitió en nombre de un grupo de sus compañeros de trabajo un informe sobre el diseño lógico de los ordenadores digitales. El informe contenía una propuesta muy detallada para el diseño de la máquina que desde entonces se conoce como el EDVAC (electronic discrete variable automatic computer). Esta máquina ha sido recientemente completada en América, pero el

Page 12: La Arquitectura de Von Neumann

informe de Von Neumman inspiró la construcción de la EDSAC (electronic delay-storage automatic calculator) en Cambridge.

En 1947, Burks, Goldstine y Von Neumann, publicaron un informe en el que describen el diseño de otro tipo de máquina (una máquina paralela en este momento) que debería ser muy rápida, capaz de hacer 20.000 operaciones por segundo. Señalaron que el problema persistente en la construcción de tal máquina estaba en el desarrollo de una memoria adecuada, todos los contenidos de los cuales fueron instantáneamente accesibles, y al principio se sugirió el uso de un tubo especial -llamado Selectron- que había sido inventado por los laboratorios de Princeton de la RCA. Estos tubos son caros y difíciles para fabricar, así Von Neumman decidió construir una máquina basada en la memoria de Williams. Esa máquina que se completó en junio de 1952 en Princeton se ha conocido como MANIAC I. El diseño de esta máquina que ha sido inspirado de una docena o más de máquinas que están actualmente en construcción en América.

Cálculo automático en el laboratorio nacional de física. Uno de los equipos digitales más modernos que incorpora novedades y mejoras en la técnica de la computación electrónica ha sido demostrado en el laboratorio nacional de física, Teddington, donde ha sido diseñado y construido por un pequeño equipo de matemáticos e ingenieros electrónicos investigadores sobre el personal del laboratorio, asistido por ingenieros de producción de la compañía eléctrica inglesa. El equipo construido hasta ahora en el laboratorio es solo el modelo piloto de muchas instalaciones muy grandes que se va a conocer como el motor de cálculo automático, pero aunque es relativamente pequeño en volumen y contiene solo 800 válvulas termoiónicas, es una máquina de cálculo muy rápido y versátil. Los conceptos básicos y principios abstractos de la computación por una máquina fueron formuladas por el Dr A. M. Turing, pero el trabajo en dichas máquinas en el Reino Unido se retrasó por la guerra. En 1945, se hizo una revisión al problema en el laboratorio nacional de Física por el profesor J. R. Womersley. Se le adjuntó al Dr. Turing un pequeño equipo de especialistas, y en 1947 la planificación preliminaria era lo suficientemente avanzada para justificar el establecimiento del grupo especial ya mencionado. En abril de 1948, estos últimos se convirtieron en la sección de electrónica del laboratorio, bajo el cargo del Sr. F. M. Colebrook.

Descripción del concepto de programa almacenado

Page 13: La Arquitectura de Von Neumann

Los primeros computadores constaban de programas almacenados. Algunos muy simples siguen utilizando este diseño, por ejemplo, una calculadora es un computador que tiene un programa almacenado. Puede hacer operaciones matemáticas simples, pero no puede ser usada como procesador de textos o videoconsola.

Cambiar el programa que contenían los dispositivos que usaban esta tecnología requería reescribir, reestructurar y/o rediseñar el dispositivo. Los primeros computadores no estaban lo suficiente programados cuando fueron diseñados. La tarea de reprogramar, cuando era posible, era un proceso laborioso, empezando con notas en papel y siguiendo con detallados diseños de ingeniería. Y tras esto llegaba el a veces complicado proceso de reescritura y reestructuramiento físico del computador.

El concepto de programa almacenado cambió por completo, se pensó en un computador que en su diseño contenía un conjunto de instrucciones que podían ser almacenadas en memoria, o sea, un programa que detallaba la computación del mismo.

El diseño de un programa almacenado también daba la posibilidad a los programas de ser modificados ellos mismos durante su ejecución. Uno de los primeros motivos para su creación fue la necesidad de un programa que incrementara o modificara las direcciones de memoria de algunas instrucciones, las cuales tenían que ser hechas manualmente en los primeros diseños.

Esto se volvió menos importante cuando el índice de registros y el direccionamiento indirecto se convirtieron en algo habitual en la arquitectura de computadores. El código automodificable fue en gran parte ganando posiciones.

A gran escala, la habilidad de tratar instrucciones como datos es lo que hacen los ensambladores, compiladores y otras herramientas de programación automáticas. Se pueden "escribir programas para escribir programas".

Existen inconvenientes en el diseño de Von Neumann. Las modificaciones en los programas podía ser algo perjudicial, por accidente o por diseño. En algunos simples diseños de computador con programas almacenados, un mal funcionamiento del programa puede dañar el computador. Otros programas, o el sistema operativo, posiblemente puedan llevar a un daño total en el ordenador. La protección de la memoria y otras formas de control de acceso pueden ayudar a proteger en contra de modificaciones accidentales y/o maliciosas de programas.

Page 14: La Arquitectura de Von Neumann

Cuello de botella de Von Neumann (Von Neumann bottleneck)

El canal de transmisión de los datos entre CPU y memoria genera un cuello de botella para el rendimiento del procesador. En la mayoría de computadoras modernas, la velocidad de comunicación entre la memoria y la CPU es más baja que la velocidad a la que puede trabajar esta última, reduciendo el rendimiento del procesador y limitando seriamente la velocidad de proceso eficaz, sobre todo cuando se necesitan procesar grandes cantidades de datos. La CPU se ve forzada a esperar continuamente a que lleguen los datos necesarios desde o hacia la memoria.

La velocidad de procesamiento y la cantidad de memoria han aumentado mucho más rápidamente que el rendimiento de transferencia entre ellos, lo que ha agravado el problema del cuello de botella.

El término “cuello de botella de von Neumann” fue acuñado por John Backus en su conferencia de la concesión de 1977 ACM Turing. Según Backus:

«Seguramente debe haber una manera menos primitiva de realizar grandes cambios en la memoria, que empujando tantas palabras hacia un lado y otro del cuello de botella de von Neumann. No sólo es un cuello de botella para el tráfico de datos, sino que, más importante, es un cuello de botella intelectual que nos ha mantenido atados al pensamiento de "una palabra a la vez" en vez de fomentarnos el pensar en unidades conceptuales mayores. Entonces la programación es básicamente la planificación del enorme tráfico de palabras que cruzan el cuello de botella de von Neumann, y gran parte de ese tráfico no concierne a los propios datos, sino a dónde encontrar éstos.»2

El problema de funcionamiento se redujo introduciendo una memoria caché entre la CPU y la memoria principal, y mejorando los algoritmos del predictor de saltos. Está menos claro que el cuello de botella intelectual que Backus ha criticado haya cambiado mucho desde 1977. La solución propuesta de Backus no ha tenido una influencia importante. La programación funcional moderna y la programación orientada a objetos se preocupan mucho menos de “empujar tantas palabras hacia un lado y otro” que los anteriores lenguajes como era Fortran.

Page 15: La Arquitectura de Von Neumann

Arquitecturas Harvard y Von NeumannLa arquitectura de Von Neumann es caracterizada por los procesadores que poseen el mismo dispositivo de almacenamiento en donde coexisten tanto datos como instrucciones. Las instrucciones y los datos son almacenados en el mismo formato dentro de la misma memoria, lo que quiere decir que las instrucciones son datos y comparten el mismo bus de datos en su transmisión. En principio un programa en ejecución se puede modificar a sí mismo y en práctica usualmente esto significa que un error ocurrió. La ventaja de este tipo de arquitectura es que es eficiente en la utilización de la memoria pero su desventaja es que los tipos de datos no pueden ser reconocidos sin ambigüedad. La arquitectura se compone de las siguientes unidades o bloques: Unidad de memoria principal Unidad aritmético-lógica. Unidad de control.Unidad de entrada y salida. La arquitectura Harvard esencialmente posee una diferencia muy marcada con respecto a la arquitectura Von Neumann, la cual es que los procesadores utilizan dispositivos de almacenamiento físicamente separados para el manejo de instrucciones y datos. El acceso a cada espacio de memoria puede llegar a ser mediante buses distintos, es decir, existe un bus de datos y un bus de instrucciones; pero lo más habitual es que exista un único bus redirecciones, en cuyo caso debe existir alguna señal de control que permita diferenciar a que espacio de memoria hace referencia (señales de Read, Write y Fetch). Esta arquitectura también se compone de las unidades o bloques de la arquitectura VonNeumann a diferencia del manejo de memoria con instrucciones y datos. La ventaja de laestructuración de este tipo de arquitectura es que los tipos de datos pueden ser reconocidossin ambigüedad pero es ineficiente en la utilización de la memoria

http://www.dma.eui.upm.es/historia_informatica/Doc/Personajes/JohnvonNeumann.htm

http://www.biografiasyvidas.com/biografia/n/neumann.htm

http://es.wikipedia.org/wiki/Arquitectura_de_von_Neumann

Page 16: La Arquitectura de Von Neumann

Computadora Von Neumann

Una computadora (Hispanoamérica) u ordenador (España) es un dispositivo electrónico compuesto básicamente de un procesador, memoria y dispositivos de entrada/salida (E/S). La característica principal de la computadora, respecto a otros dispositivos similares, como una calculadora no programable, es que con él se pueden realizar tareas muy diversas, cargando distintos programas en la memoria para que los ejecute el procesador. Siempre se busca optimizar los procesos, ganar tiempo, hacerlo más fácil de usar y simplificar las tareas rutinarias.

Una Apple IIc Pascal Macintosh Classic (1990)

Los dispositivos de entrada/salida (también llamados periféricos) sirven para intercambiar información con el exterior. Una computadora normalmente utiliza un programa informático especial denominado sistema operativo diseñado, construido y probado para gestionar los recursos de la computadora: memoria, dispositivos de E/S, dispositivos de almacenamiento (discos duros, unidades de DVD y CD).

Una computadora es cualquier dispositivo usado para procesar información de acuerdo con un procedimiento bien definido. Sin embargo, la definición anterior incluye muchos dispositivos de usos específicos que sólo pueden realizar una función o un número determinado de funciones.

Si pensamos en las computadoras modernas, la característica más importante que los distingue de los aparatos anteriores es que tienen una programación adecuada. Con cualquier computadora se puede emular el funcionamiento de otro (únicamente limitado por la capacidad de almacenamiento de datos y las diferentes velocidades), y, de hecho, se cree que con las actuales computadoras se puede emular a cualquier computadora que se invente en el futuro (aunque sean mucho más lentos).

Page 17: La Arquitectura de Von Neumann

Por lo tanto, en cierto sentido, esta capacidad crítica es una prueba muy útil, para identificar las computadoras de uso general de los aparatos destinados a usos específicos. Esta característica de poderse emplear para un uso general, se puede formalizar en una regla según la cual con una máquina de estas características, se debe poder emular el funcionamiento de una máquina de Turing universal. Las máquinas que cumplan con esta definición son homologables a la máquina de Turing.

Originariamente, el procesamiento de la información estaba relacionado de manera casi exclusiva con problemas aritméticos, pero las computadoras modernas son usadas para muchas tareas diferentes normalmente sin ninguna relación con las matemáticas.

Sin embargo, en los últimos 20 años aproximadamente, muchos aparatos domésticos, sobre todo las consolas para videojuegos, a las que hay que añadir los teléfonos móviles, los vídeos, los asistentes personales digitales (PDA) y un sinfín de aparatos caseros, industriales, para coches y electrónicos, tienen circuitos homologables a la máquina de Turing (con la limitación de que la programación de estos aparatos está instalada en un chip de memoria ROM que hay que remplazar cada vez que queremos cambiar la programación).

Esta especie de computadoras que se encuentran dentro de otras computadoras de uso general son conocidos como microcontroladores o computadores integrados. Por lo tanto, muchas personas han restringido la definición de computadoras a aquellas máquinas cuyo propósito principal sea el procesamiento de información y que puedan adaptarse a una gran variedad de tareas cara al usuario, sin ninguna modificación física, excluyendo a aquellos dispositivos que forman parte de un sistema más grande como los teléfonos, microondas o aviones. Tradicionalmente existen tres tipos de computadoras que cumplen con estos requisitos: las computadoras centrales, las minicomputadoras y las computadoras personales.

Las computadoras con arquitectura Von Neumann se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). El término se acuñó en el documento First Draft of a Report on the EDVAC (1945), escrito por el conocido matemático John Von Neumann, que propuso el concepto de programa almacenado. Dicho documento fue redactado en vistas a la construcción del sucesor de la computadora ENIAC, y su contenido fue desarrollado por Presper Eckert, John Mauchly, Arthur Burks, y otros

Page 18: La Arquitectura de Von Neumann

durante varios meses antes de que Von Neumann redactara el borrador del informe.

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:

La unidad aritmético-lógica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes.

Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente:

1) Obtiene la siguiente instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción.

2) Aumenta el contador de programa en la longitud de la instrucción para apuntar a la siguiente.

3) Descodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada.

4) Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla una cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores.

5) Vuelve al paso N° 1.

Page 19: La Arquitectura de Von Neumann

Procesador

Conjunto de circuitos electrónicos altamente integrado para cálculo y control computacional, es utilizado como Unidad Central de Proceso en un sistema microordenador y en otros dispositivos electrónicos complejos como cámaras fotográficas , impresoras, etc. y como añadido en pequeños aparatos extraíbles de otro aparato más complejo como por ejemplo: equipos musicales de automóviles, etc.

Los procesadores modernos están integrados por millones de transistores y otros componentes empaquetados en una cápsula cuyo tamaño varía según su las necesidades de las aplicaciones a las que van dirigidas, y que van actualmente desde el tamaño de un grano de lenteja hasta el de casi una galleta. Las partes lógicas que componen un procesador son, entre otras: unidad aritmético-lógica, registros de almacenamiento , unidad de control , Unidad de ejecución , memoria caché y buses de datos control y dirección .

En años anteriores existían varias marcas de procesadores: Intel de procesadores: Intel (Integrated Electronics), Amd (Advanced Micro Devices) y Cyrix, en la actualidad solo quedan los dos primeros ya que Cyrix dejo de fabricar procesadores, y fue vendida a Nacional Semiconductor; posteriormente Amd se encargaría de comprar Geode Business (Antigua Cyrix).

Procesadores Intel

Dentro de la familia de los procesadores que Intel ha fabricado a lo largo de su historia están los procesadores x86, entre los cuales podemos mencionar los 286, 386, 486, 586, 686.

La velocidad de los procesadores se mide en Megahertz (MHz =Millones de ciclos por segundo).

Este parámetro indica el número de ciclos de instrucciones que el procesador realiza por segundo, pero sólo sirve para compararlo con procesadores del mismo tipo.

Parámetros significativos de un procesador son su ancho de bus, medido en bits y la frecuencia de reloj a la que trabajan, medida en hertzios, tamaño de memoria caché medido en Kb (kilobytes).

Page 20: La Arquitectura de Von Neumann

Procesadores, incluyendo un Intel 80486DX2 y un Intel 80386

Actualmente los nuevos procesadores pueden tratar instrucciones de hasta 256 bits, habiendo pasado por los de 128, 64, 32, 16 , etc.

Intel Pentium

Los Intel Pentium son una gama de microprocesadores con arquitectura x86 producidos por Intel.

El procesador Pentium se lanzó al mercado el 22 de marzo de 1993, sucediendo al procesador Intel 80486. Intel no lo llamó 586 debido a que no es posible registrar una marca compuesta solamente de números y a que la competencia utilizaba hasta ahora los mismos números que Intel para sus procesadores equivalentes (AMD 486, IBM 486, etc). También es conocido por su nombre clave P54C.

Pentium MMX

Características técnicas

Page 21: La Arquitectura de Von Neumann

El procesador Intel Pentium está formado por 3,1 millones de transistores y direcciona memoria con 64 bits. Integra dos memorias caché de 8 KBytes (una para datos y otra para código) y tiene dos unidades aritmético lógicas (ALU), lo que le permite hacer tratamiento paralelo. Por tanto el Pentium puede ejecutar hasta dos instrucciones por ciclo de reloj. Está optimizado para ejecutar código de 16 bits.

El Pentium se produjo en distintas versiones. Funcionaba a una velocidad de reloj de 60 MHz o 66 MHz en su lanzamiento, que se aumentó hasta los 233 MHz del último modelo producido.

Las primeras versiones utilizaban el el zócalo Socket 5, mientras que las posteriores del Pentium MMX, el Socket 7.

Intel Pentium II

El Pentium II es un microprocesador con arquitectura x86 diseñado por Intel, introducido en el mercado el 7 de mayo de 1997. Esta basado en una versión modificada del núcleo P6, usado por primera vez en el Pentium Pro.

Los cambios fundamentales respecto a éste último fueron mejorar el rendimiento en la ejecución de código de 16 bits, añadir el conjunto de instrucciones MMX y eliminar la memoria caché de segundo nivel del núcleo del procesador, colocándola en un tarjeta de circuito impreso junto a éste.

El Pentium II se comercializó en versiones que funcionaban a una frecuencia de reloj de entre 233 y 450 MHz. La velocidad de bus era originalmente de 66 MHz, pero en las versiones a partir de los 333 MHz se aumentó a 100 MHz.

Posee 32 KB de memoria caché de primer nivel repartida en 16 KB para datos y otros 16 KB para instrucciones. La caché de segundo nivel es de 512 KB y trabaja a la mitad de la frecuencia del procesador, al contrario que en el Pentium Pro, que funcionaba a la misma frecuencia.

Como novedad respecto al resto de procesadores de la época, el Pentium II se presentaba en un encapsulado SEC, con forma de cartucho. El cambio de formato de encapsulado se hizo para mejorar la disipación de calor. Este cartucho se conecta a las placas base de los equipos a través de una ranura Slot 1.

El Pentium II contiene 7,5 millones de transistores.

Page 22: La Arquitectura de Von Neumann

Intel Pentium III

El Pentium III es un microprocesador de arquitectura i686 fabricado por Intel. Fue lanzado el 26 de febrero de 1999. Las primeras versiones eran muy similares al Pentium II, siendo la diferencia más importante la introducción de las instrucciones SSE. Al igual que con el Pentium II, existía una versión Celeron de bajo presupuesto y una versión Xeon para quienes necesitaban de gran poder de cómputo. Esta línea ha sido eventualmente reemplaza por el Pentium 4, aunque la linea Pentium M esta basada en el Pentium III.

Intel Pentium 4

El Pentium 4 es un microprocesador de séptima generación basado en la arquitectura x86 y manufacturado por Intel. Es el primer microprocesador con un diseño completamente nuevo desde el Pentium Pro de 1995. El Pentium 4 original, denominado Willamette, trabajaba a 1,4 y 1,5 GHz; y fue lanzado en noviembre de 2000.

Para la sorpresa de la industria informática, el Pentium 4 no mejoró el viejo diseño P6 según las dos tradicionales formas para medir el rendimiento: velocidad en el proceso de enteros u operaciones de coma flotante. La estrategia de Intel fue sacrificar el rendimiento de cada ciclo para obtener a cambio mayor cantidad de ciclos por segundo y una mejora en las instrucciones SSE.

Procesadores AMD

Entre los procesadores que ha fabricado AMD cabe destacar los siguientes:

AMD Athlon

AMD Athlon es el nombre que recibe una gama de microprocesadores compatibles con la arquitectura x86, diseñados por AMD.

AMD Athlon

El Athlon original, Athlon Classic, fue el primer procesador x86 de séptima generación y en un principio mantuvo su liderazgo de rendimiento sobre los microprocesadores de Intel. AMD ha continuado usando el nombre Athlon para sus procesadores de octava generación Athlon 64.

El procesador Athlon se lanzó al mercado el 21 de agosto de 1999. El primer núcleo del Athlon, conocido en clave como "K7" (en homenaje a su

Page 23: La Arquitectura de Von Neumann

predecesor, el K6), estuvo disponible incialmente en versiones de 500 a 650 MHz, pero después alcanzó velocidades de hasta 1 GHz. El procesador es compatible con la arquitectura x86 y debe ser conectado en placas base con Slot A, que son compatibles mecánicamente, pero no eléctricamente, con el Slot 1 de Intel.

Internamente el Athlon es un rediseño de su antecesor, al que se le mejoró substancialmente la unidad de coma flotante y se le aumentó la memoria caché de primer nivel (L1) a 128 KB. Además incluye 512 KB de caché de segundo nivel (L2) externa al circuito integrado del procesador y funcionando, por lo general, a la mitad de velocidad del mismo. El bus de comunicación es compatible con el protocolo EV6 usado en los procesadores DEC 21264 de Alpha, funcionando a una frecuencia de 100 MHz DDR (Dual Data Rate, 200 MHz efectivos).

El resultado fue el procesador x86 más potente del momento. El Athlon Classic se comercializó hasta enero de 2002.

En términos económicos el Athlon Classic fue un éxito, no sólo por méritos propios y su bajo precio comparado con la competencia, sino también por los problemas de producción de Intel.

AMD Athlon 64

El AMD Athlon 64 es un microprocesador x86 de octava generación que implementa el conjunto de instrucciones AMD64, que fueron introducidas con el procesador Opteron.

Por primera vez en la historia de la informática, el conjunto de intrucciones x86 no ha sido ampliado por Intel. De hecho Intel ha copiado este conjunto de instrucciones para sus próximos procesadores, como el Xeon "Nocona". Intel llama a su implementación Extended Memory Technology -Tecnología de Memoria Extendida- (EM64T), y es completamente compatible con la arquitectura AMD64.

La arquitectura AMD64 parace que será la arquitectura informática dominante de la generación de 64 bits, al contrario que alternativas como la arquitectura IA-64 de Intel.

El Athlon 64 presenta un controlador de memoria en el propio circuito integrado del microprocesador y otras mejoras de arquitecctura que le dan un mejor rendimiento que los anteriores Athlon y Athlon XP funcionando a la misma velocidad, incluso ejecutando código heredado de 32 bits. AMD ha elegido un sistema de medida del rendimiento del procesador basado en

Page 24: La Arquitectura de Von Neumann

los megahercios a los que tendría que funcionar un hipotético Athlon Thunderbird para que diera el mismo rendimiento que un Athlon 64, en lugar de indicar los megahercios a los que funciona realmente.

Hay dos variantes del Athlon 64: El Athlon 64 y el Athlon 64-FX. El Athlon 64-FX es similar al Opteron y más potente que el Athlon 64 normal. El Athlon 64 puede ejecutar código de 16 bits, 32 bits y el propio ensamblador de 64 bits de AMD. En la actualidad, Linux, OpenBSD, FreeBSD y NetBSD soportan el modo de 64 bits del Athlon 64, mientras que Microsoft ha sacado una versión preliminar de Windows XP para equipos de 64 bits.

El Athlon 64 también presenta una tecnología de reducción de la velocidad del procesador llamada Cool 'n' Quiet -'Frío y Silencioso'-. Cuando el usuario está ejecutando aplicaciones que requieren poco uso del procesador, la velocidad del mismo y su voltaje se reducen. Esto provoca que los máximos de consumo bajen de 89 W a 22 W.

El Athlon 64 puede funcionar en dos zócalos para CPU: Uno utiliza tiene 754 patiilas y el otro 939 patillas. El de menor patillaje soporta los procesadores de menor velocidad, mientra que el de mayor patillaje soporta los más rapidos, incluyendo en Athlon 64-FX. El FX admite memoria RAM DDR de doble canal, pero solo en los caros módulos de memoria registrada. AMD tiene pensado sacar durante 2005 una versión de 939 patillas del Athlon 64, que soportaría memoria RAM DDR de doble canal en los más económicos módulos sin buffer.

Athlon XP

Cuando Intel sacó el Pentium IV a 1,7 GHz en abril de 2001 se vio que el Athlon Thunderbird no estaba a su nivel. Además no era práctico aumentar la velocidad del Athlon Thunderbird a más de 1,4 GHz por problemas de consumo eléctrico y de disipación de calor.

Para intentar seguir estando a la cabeza en cuanto a rendimiento de los procesadores x86, AMD tuvo que diseñar un nuevo núcleo.

AMD lanzó la tercera gran revisión del Athlon, conocido en clave como "Palomino", el 14 de mayo de 2001. Todos los Athlon a partir del núcleo Palomino fueron denominados genéricamente como Athlon XP.

Los cambios principales respecto al núcleo anterior fueron mejoras de rendimiento que lo hacen un 10% más rápido que un Athlon Thunderbird a la misma velocidad de reloj. Su velocidad de reloj se situó entre 1,3 y 1,7

Page 25: La Arquitectura de Von Neumann

GHz. Además el núcleo Palomino fue el primero en incluir el conjunto de instrucciones SSE de Intel, además de las 3DNow! propias de AMD. Por desgracia, el núcleo Palomino seguía teniendo problemas con la disipación de calor, lo que hacía que se calentara demasiado.

Debido a las mejoras de rendimiento a la misma velocidad de reloj respecto a los núcleos anteriores, los Athlon XP fueron comercializados no por su velocidad de reloj, sino mediante una índice de "prestaciones relativas" conocido como PR.

Este índice indica la velocidad de reloj equivalente de un Athlon Thunderbird con el mismo rendimiento que un Athlon XP. Por ejemplo, el Athlon XP 1800+ funciona realmente a 1,5 GHz, pero indica que tiene un rendimiento equivalente a un hipotético Athlon Thunderbird a 1,8 GHz.

AMD Duron

AMD Duron es una gama de microprocesadores de bajo coste compatibles con los Athlon, por lo tanto con arquitectura x86. Fueron diseñados para competir con la línea de procesadores Celeron de Intel.

La diferencia principal entre los Athlon y los Duron es que los Duron solo tienen 64 KBytes de memoria caché de segundo nivel (L2), frente a los 256 KBytes de los Athlon.

AMD Opteron

El AMD Opteron fue el primer microprocesador con arquitectura x86 que usó conjunto de instrucciones AMD64, también conocido como x86-64. También fue el primer procesador x86 de octava generación. Fue puesto a la venta el 22 de abril de 2003 con el propósito de competir en el mercado de procesadores para servidores, especialmente en el mismo segmento que el Intel Xeon.

La ventaja principal del Opteron es la capacidad de ejecutar tanto aplicaciones de 64 bits como de 32 bits sin ninguna penalización de velocidad. Las nuevas aplicaciones de 64 bits pueden acceder a más de 18 exabytes de memoria, frente a los 4 gigabytes de las de 32 bits.

El procesador incluye un controlador de memoria DDR SDRAM evitando la necesidad de un circuito auxiliar puente norte y reduciendo la latencia de acceso a la memoria principal. Aunque el controlador de memoria integrado puede ser suplantado por un circuito integrado externo según se introduzcan nuevas tecnologías de memoria, en ese caso se pierden las

Page 26: La Arquitectura de Von Neumann

ventajas anteriores. Esto hace que sea necesario lanzar al mercado nuevos Opteron para obtener dichas ventajas de las nuevas tecnologías de memoria.

Varios Opterons en la misma placa base se pueden comunicar a través de uno o más enlaces de alta velocidad HyperTransport para que cada uno pueda acceder a la memoria principal de los otros procesadores de un modo transparente para el programador.

La forma de nombrar a los Opteron es nueva: cada procesador se identifica por tres dígitos, donde el primero es un índice de cantidad (indica si el procesador está diseñado para funcionar en equipos totalizando uno, dos, cuatro u ocho Opterons) y los otros dos son un índice de velocidad.

AMD Sempron

El Sempron es un procesador de bajo costo con arquitectura X86 fabricado por AMD. El AMD Sempron reemplaza al procesador Duron, siendo su principal competidor el procesador Celeron de Intel. Las primeras versiones fueron lanzadas al mercado en agosto de 2004.

Procesador Sempron 3000+

Las versiones iniciales de este procesador estaban basadas en el núcleo Thoroughbred/Thorton del Athlon XP, con una caché de segundo nivel de 256 KB y un bus de 166 MHz (FSB 333). Su índice de prestaciones relativas (PR) se situaba entre 2400+ y 2800+ dependiendo del modelo, aunque el índice no es calculado de la misma forma que para los Athlon XP, siendo los Sempron algo más lentos a mismo índice de prestaciones relativas.

Posteriormente el Sempron se basó en el núcleo Barton del Athlon XP. Esta versión tenía un índice de prestaciones relativas de 3000+ y poseía una caché de segundo nivel de 512 KB.

Page 27: La Arquitectura de Von Neumann

Las versiones del Sempron basadas en el Athlon XP se puede emplear en placas base con zócalo de procesador Socket A.

Las últimas versiones usan una variante del núcleo del Athlon 64 llamada Paris, que no implementa el conjunto de instrucciones AMD64, pero si el controlador de memoria. Cuenta con una caché de segundo nivel de 256 KB y su índice de prestaciones relativas es de 3100+. Esta versión del Sempron se puede emplear en placas base con zócalo de procesador Socket 754.

AMD64

La arquitectura de CPU AMD64 (de codigo interno "Hammer") representa la entrada de AMD dentro del mercado de los microprocesadores de 64 bits.

Inicialmente conocida como x86-64, es la extensión del conjunto de instrucciones x86 para manejar direcciones de 64 bits realizada por AMD. Además de una simple extensión contempla mejoras adicionales como duplicar el número y el tamaño del número de registros de uso general y de instrucciones SSE.

El primer procesador con soporte para este conjunto de instrucciones fue el Opteron, lanzado en abril de 2003.

La tecnología AMD64 se corresponde con la última generación de procesadores de AMD comúnmente llamada K8 (octava generación). Una de sus características principales, como ya se ha dicho, la implementación del conjunto de instrucciones x86-64 que permiten trabajar con 64 bits, siendo también capaces de funcionar con las instrucciones x86 tradicionales de manera nativa, lo que les hace compatibles con todos los sistemas operativos y aplicaciones actuales.

Por ahora sólo algunas distribuciones de GNU/Linux ofrecen la posibilidad de usar un sistema operativo de 64 bits. A pesar de esto cabe destacar que el juego de instrucciones x86-64 es sólo una de las mejoras que ofrece esta tecnología, como la introducción del bit NX, el controlador de memoria integrado, y un número de intrucciones por ciclo muy elevado en comparación con los Pentium 4 "Northwood" y "Prescott" de Intel, lo que le permite igualar a éstos en rendimiento a una frecuencia de reloj más baja y, por ende, con un consumo inferior.

El bit NX (del inglés No Execute, "no ejecutar") es una característica del procesador que previene que cierta clase de código malicioso (gusanos,

Page 28: La Arquitectura de Von Neumann

virus, etcétera) pueda tomar el control de la computadora mediante una ataque de desbordamiento de búfer. El bit NX (anteriormente llamado DEP, del inglés Data Execution Protection, "protección de ejecución de datos") está disponible como opción de software en los sistemas operativos Windows XP Service Pack 2 y Windows Server 2003 Service Pack 1.

Hay dos versiones de AMD64: para los antiguos zócalos 754 (simple canal de memoria) y para los zócalos 939 (doble canal de memoria). Las versiones antiguas de AMD64 usan transistores de 130 nanómetros mientras que las modernas los usan de 90 nanómetros.

MEMORIAS

Son circuitos integrados capaces de almacenar información digital, a los que tiene acceso el microprocesador del equipo de computación. Las memorias podemos dividirlas en:

Memoria Principal: entre las cuales tenemos podemos mencionar:

1. La memoria de sólo lectura o ROM es utilizada como medio de almacenamiento de datos en los ordenadores. Debido a que no se puede escribir fácilmente, su uso principal reside en la distribución de programas que están estrechamente ligados al soporte físico del ordenador, y que seguramente no necesitarán actualización. Por ejemplo, una tarjeta gráfica puede realizar algunas funciones básicas a través de los programas contenidos en la ROM.

Una razón de que todavía se utilice la memoria ROM para almacenar datos es la velocidad ya que los discos son más lentos. Aún más importante, no se puede leer un programa que es necesario para ejecutar un disco desde el propio disco. Por lo tanto, el BIOS o un sistema de arranque del ordenador normalmente se encuentran en la memoria ROM.

Los chips clásicos de memoria ROM son escritos durante su realización y se puede cambiar su contenido después.

• Memoria PROM (Programmable Read-Only Memory) la memoria de sólo lectura programable puede ser escrita (programada) a través de un dispositivo especial, un programador PROM. La escritura de la memoria PROM tiene lugar fundiendo los fusibles necesarios por lo que la memoria PROM solo puede ser programada una vez.

Page 29: La Arquitectura de Von Neumann

• Memoria EPROM (Erasable Programmable Read-Only Memory) la memoria de solo lectura programable y borrable puede ser borrada mediante su exposición a la luz ultravioleta y luego se puede rescribir con un programador EPROM. Una exposición repetida a la luz ultravioleta puede destruir eventualmente la memoria EPROM pero generalmente es necesario muchas exposiciones antes de que la memoria EPROM se haga inutilizable.

• Memoria Flash o EEPROM (Electrically Erasable Read-Only Memory) la memoria de solo lectura programable y eléctricamente borrable, puede ser borrada eléctricamente y luego escrita sin sacarla del ordenador. Esta forma de escritura es más lenta que copiar en la memoria RAM o leer desde cualquier memoria ROM.

La memoria RAM normalmente es más rápida de leer que la mayoría de las memorias ROM, por lo tanto el contenido ROM se suele trasvasar normalmente a la memoria RAM cuando se utiliza.

2. Memorias tipo ROM (Read Only Memory) "Memoria de solo Lectura" que almacenan códigos de programa grabados en fábrica, a veces protegidos por derechos de autor. Es una memoria de semiconductor no destructible, es decir, que no se puede escribir sobre ella, y que conserva intacta la información almacenada, incluso en el caso de interrupción de corriente (memoria no volátil). La ROM suele almacenar la configuración del sistema o el programa de arranque del ordenador.

3. Memorias tipo RAM (Random Access Memory) "Memoria de acceso aleatorio", almacena datos que pueden ser escritos y borrados atendiendo a los procesos de computación. "Aleatorio" indica que sus localidades pueden ser accedidas directamente, dando rapidez a los procesos; a diferencia de las memorias seriales en que, para llegar a una localidad, hay que pasar antes por las localidades previas.

El microprocesador direcciona las localidades de la RAM para obtener códigos de programa y para colocar los resultados de instrucciones.

El bloque RAM, los CI. de ROM y los discos de almacenamiento masivo de datos conforman el subsistema de memoria de una CPU.

Se trata de una memoria volátil, es decir, pierde su contenido al desconectar la energía eléctrica. Se utilizan normalmente como memorias temporales para almacenar resultados intermedios y datos similares no permanentes.

Page 30: La Arquitectura de Von Neumann

Se dividen en estáticas y dinámicas. Una memoria RAM estática mantiene su contenido inalterado mientras esté alimentada. La información contenida en una memoria RAM dinámica se degrada con el tiempo, llegando ésta a desaparecer, a pesar de estar alimentada. Para evitarlo hay que restaurar la información contenida en sus celdas a intervalos regulares, operación denominada refresco.Las memorias se agrupan en módulos, que se conectan a la placa madre del ordenador. Según los tipos de conectores que lleven los módulos, se clasifican en Módulos SIMM (Single In-line Memory Module) con 30 o 72 contactos. Y los Módulos DIMM con 168 contactos.

Módulo PC66 SDRAM

Tipos De Memoria RAM Dinámica (DRAM)

Memoria DRAM

La memoria DRAM (Dynamic Random Access Memory) es la que montan las placas base como memoria principal del sistema, donde se almacenan las aplicaciones en ejecución y los datos que se están gestionando en cada momento. Se refresca cientos de veces por segundo y cuanto mayor cantidad pongamos a disposición de nuestro PC (dentro de unos límites, claro está), mejores resultados obtendremos.

Entre sus ventajas más importantes, encontramos el bajo coste en comparación con otras tecnologías mucho más caras y complejas. Además, sus prestaciones son suficientemente rápidas como para cubrir las necesidades de los procesadores que hasta hace poco se estaban utilizando. Entre sus mayores desventajas encontramos la necesidad de refrescar la memoria cientos de veces por segundo, ya que sólo un momento sin energía hará que todos los datos se pierdan. Por ello, estos chips consumen una gran cantidad de energía y requieren de un control constante.

En un primer momento, los chips de 8 ó 16 kbytes eran soldados directamente a la placa base. Eran las conocidas «cucarachas» que los mayores seguramente recordarán. Dadas las tremendas necesidades de

Page 31: La Arquitectura de Von Neumann

ampliación de los PC, pronto se distribuyeron en forma de módulos intercambiables que podían ser combinados para conseguir distintas cantidades de memoria.

FPM (Fast Page Mode): es una memoria muy popular, ya que era la que se incluía en los antiguos 386, 486 y primeros Pentium. Alcanza velocidades de hasta 60 nanosegundos. La podemos encontrar en los veteranos módulos SIMM de 30 contactos y los posteriores de 72.

EDO (Extended Data Output): la memoria EDO, a diferencia de la FPM, que sólo podía acceder a un solo byte al tiempo, permite mover un bloque completo de memoria a la memoria caché del sistema, mejorando así las prestaciones globales. Gracias a una mayor calidad, se alcanzaron velocidades de hasta 45 nanosegundos. Podemos encontrarla en los Pentium, Pentium Pro y los primeros Pentium II. Se presentan en módulos SIMM de 72 contactos y en los primeros DIMM de 168 contactos, funcionando a 5 y 3,3 voltios.

BEDO (Burst Extended Data Output): diseñada originalmente para la familia de chipsets HX, permite transferir datos al procesador en cada ciclo de reloj, aunque no de forma continuada, sino a ráfagas (burst), reduciendo los tiempos de espera del procesador, aunque sin conseguir eliminarlos del todo.

SDRAM (Synchronous DRAM): es un tipo de memoria síncrona que se sincroniza con la velocidad del procesador, pudiendo obtener información en cada ciclo de reloj, evitando así los estados de espera que se producían anteriormente. La SDRAM es capaz de soportar las actuales velocidades del bus a 100 y 133 MHz, alcanzando velocidades por debajo de los 10 ns. La encontramos en la práctica mayoría de los módulos DIMM de 168 contactos a la venta hoy día. Dentro de la familia de chipset de Intel fue soportada a partir de los modelos VX y TX. Es la más utilizada en estos momentos.

PC-100 DRAM: es un tipo de memoria SDRAM que cumple unas estrictas normas referentes a calidad de los chips y diseño de los circuitos impresos establecidas por Intel. El objetivo es garantizar un funcionamiento estable de la memoria RAM a velocidades de bus de 100 MHz. Como es lógico, para que un módulo cumpla con esta especificación es necesario que integre chips de buena calidad, circuitos impresos especialmente diseñados al efecto y ha de ofrecer unos ciclos de memoria bastante exigentes.

PC-133 DRAM: otra especificación muy parecida a la anterior y de grandes exigencias técnicas para garantizar que el módulo de memoria que la cumpla funcione correctamente a las velocidades de bus de 133 MHz.

Page 32: La Arquitectura de Von Neumann

DDR SDRAM (Double Data Rate SDRAM o SDRAM II): un tipo de memoria SDRAM mejorada que puede alcanzar velocidades de hasta 200 MHz. Cuenta con mecanismos para duplicar las prestaciones obtenidas a la velocidad del reloj del sistema.

ESDRAM (Enhanced SDRAM): incluye una pequeña memoria estática en el interior del chip SDRAM. Con ello, las peticiones de ciertos accesos pueden ser resueltas por esta rápida memoria, aumentando las prestaciones. Se basa en un principio muy similar al de la memoria caché utilizada en los procesadores. Es la competencia de la DDR SDRAM.

DRDRAM (Direct Rambus DRAM): es un tipo de memoria de 64 bits, que alcanza ráfagas de 2 ns, picos de varios Gbytes/sg, y funciona a velocidades de hasta 800 MHz. Es el complemento ideal para las tarjetas gráficas AGP, evitando los cuellos de botella entre la tarjeta gráfica y la memoria principal durante el acceso directo a memoria (DMA) para el manejo de las texturas gráficas. Sus prestaciones, que dependen en buena medida de la velocidad a la que opere, no son tan impresionantes como parecían y por el momento sólo se hacen notar en operaciones gráficas que utilicen mucho la RAM para almacenar texturas del puerto AGP. Es el tipo de memoria instalada en los módulos RIMM.

SLDRAM (Sync Link DRAM): se basa, al igual que la DRDRAM, en un protocolo propietario, que separa las líneas CAS, RAS y de datos. Los tiempos de acceso no dependen de la sincronización de múltiples líneas, por lo que este tipo de memoria promete velocidades superiores a los 800 MHz, ya que además pueden operar al doble de la velocidad del reloj del sistema. Es un estándar abierto y se espera que compita, e incluso se imponga, a DRDRAM.

Módulos DIMM

Su nombre es la abreviatura de Dual In-line Memory Module, son la evolución de los anteriores y cuentan con 168 contactos. El tiempo de respuesta es notablemente inferior, por debajo de los 10 nanosegundos.

Es el más cómodo de todos, dado que puede instalarse de manera individual, no siendo necesario hacer coincidir marcas y modelos sobre la misma placa. Para insertarlos sobre el banco de memoria, tan sólo habrá que hacer coincidir las pestañas que encontraremos en el centro y laterales del módulo. Bastará una presión en los extremos del módulo para que éste quede insertado.

Módulos RIMM

Page 33: La Arquitectura de Von Neumann

El último de los módulos que podemos encontrar son los RIMM (Rambus Inline Memory Module), utilizados para montar memoria de tipo RAMBUS. Este tipo de memoria, apoyado por Intel y creado por la empresa Rambus, exige a los fabricantes el pago de royalties en concepto de uso, razón por la cual, salvo Intel, el resto de empresas del sector se decantan por la utilización de otras memorias.

Estos módulos de memoria se caracterizan por estar cubiertos con una protección metálica, generalmente de aluminio, que también ayuda a su correcta refrigeración.

Módulo DDR

Este tipo de memoria, actualmente muy usado, desplazó del mercado a las

memorias RIMM por el bajo costo y excelente velocidad, que llega a ser hasta de 400 MHz.

Memoria SRAM

Representa la abreviatura de Static Random Access Memory y es la alternativa a la DRAM. No precisa de tanta electricidad como la anterior para su refresco y movimiento de las direcciones de memoria, por lo que, en resumidas cuentas, funciona más rápida. Sin embargo, tiene un elevado precio, por lo que de momento se reserva para ser utilizada en la memoria caché de procesadores y placas base, cuyo tamaño suele ser muy reducido, comparado con la RAM del sistema. Así, y atendiendo a la utilización de la SRAM como memoria caché de nuestros sistemas informáticos, tenemos tres tipos:

Async SRAM: la memoria caché de los antiguos 386, 486 y primeros Pentium, asíncrona y con velocidades entre 20 y 12 nanosegundos.

Sync SRAM: es la siguiente generación, capaz de sincronizarse con el procesador y con una velocidad entre 12 y 8,5 nanosegundos. Muy utilizada en sistemas a 66 MHz de bus.

Pipelined SRAM: se sincroniza igualmente con el procesador. Tarda en cargar los datos más que la anterior, aunque una vez cargados, accede a ellos con más rapidez. Opera a velocidades entre 8 y 4,5 nanosegundos.

Memoria Tag RAM

Page 34: La Arquitectura de Von Neumann

Este tipo de memoria almacena las direcciones de memoria de cada uno de los datos de la DRAM almacenados en la memoria caché del sistema. Así, si el procesador requiere un dato y encuentra su dirección en la Tag RAM, va a buscarlo inmediatamente a la caché, lo que agiliza el proceso.

Memoria VRAM

Esta es la memoria que utiliza nuestro controlador gráfico para poder manejar toda la información visual que le manda la CPU del sistema, y podría ser incluida dentro de la categoría de Peripheral RAM. La principal característica de esta clase de memoria es que es accesible de forma simultánea por dos dispositivos. De esta manera es posible que la CPU grabe información en ella, mientras se leen los datos que serán visualizados en el monitor en cada momento.

1.2. Memoria Caché: La memoria caché es un tipo especial de memoria

que poseen los ordenadores. Esta memoria se sitúa entre el microprocesador y la memoria RAM y se utiliza para almacenar datos que se utilizan frecuentemente. Esta memoria permite agilizar la transmisión de datos entre el microprocesador y la memoria principal. Es de acceso aleatorio (también conocida como acceso directo) y funciona de una manera similar a como lo hace la memoria principal (RAM), siendo la memoria caché mucho más rápida que la RAM. Por otro lado el término caché puede utilizarse también para una zona de memoria de disco denominado caché de disco (Disk cache o Cache buffer en inglés).

Características generales

Con el aumento de la rapidez de los microprocesadores ocurrió la paradoja de que las memorias principales no eran suficientemente rápidas como para poder ofrecerles los datos que éstos necesitaban. Por esta razón, los ordenadores comenzaron a construirse con una memoria caché interna situada entre el microprocesador y la memoria principal.

Además la caché contiene los datos que más se usan para reducir el tiempo de espera a los mismos. Por supuesto este aumento de velocidad (unas 5 veces más rápida) conlleva un elevado aumento de precio.

Existen dos tipos de memoria caché cuyo funcionamiento es análogo:

Page 35: La Arquitectura de Von Neumann

L1 o interna (situada dentro del propio procesador y por tanto de acceso aún más rápido y aún más cara). La caché de primer nivel contiene muy pocos kilobytes (unos 32 ó 64 Kb).

L2 o externa (situada entre el procesador y la RAM). Los tamaños típicos de la memoria caché L2 oscilan en la actualidad entre 256 kb y 1 Mb.

Memoria secundaria: Conjunto de dispositivos periféricos para el almacenamiento masivo de datos de un ordenador.

El Diskette, el Disco Duro o disco fijo, las unidaes ópticas, las unidades de memoria-flash y los discos Zip, pertenecen a esta categoría.

Estos dispositivos periféricos quedan vinculados a la Memoria Principal, o memoria interna, conformando el Sub-sistema de Memoria del ordenador.

Lista de dispositivos vinculados a la memoria secundaria:

CD, CD-R, CD-RW. DVD. Diskette. Disco duro. Cinta magnética. Memoria flash.

BUS

Bus es una voz inglesa que significa "transporte". Aplicada a la informática, permite significar la idea de las transferencias internas de datos que se dan en un sistema computacional en funcionamiento. En el bus todos los nodos reciben los datos aunque no se dirijan a todos los nodos, los nodos a los que no van dirigidos simplemente lo ignoran.

Este sistema se usan, a veces, incluso en otras topologías como la ethernet que, aunque es en forma de estrella, se comporta como un bus cuando el concentrador es un hub en vez de un switch.

En Informática, bus es el conjunto de conductores eléctricos en forma de pistas metálicas impresas sobre la tarjeta madre del computador, por donde circulan las señales que corresponden a los datos binarios del lenguaje máquina con que opera el Microprocesador.

Page 36: La Arquitectura de Von Neumann

Hay tres clases de buses: Bus de Datos, Bus de Direcciones y Bus de Control. El primero mueve los datos entre los dispositivos del hardware: de Entrada como el Teclado, el Escáner, el Ratón, etc.; de salida como la Impresora, el Monitor o la tarjeta de Sonido; y de Almacenamiento como el Disco Duro, el Diskette o la Memoria-Flash.

Estas transferencias que se dan a través del Bus de Datos son gobernadas por varios dispositivos y métodos, de los cuales el Controlador PCI, "Peripheral Component Interconnect", Interconexión de componentes Periféricos, es uno de los principales. Su trabajo equivale, simplificando mucho el asunto, a una central de semáforos para el tráfico en las calles de una ciudad.

El Bus de Direcciones, por otra parte, está vinculado al bloque de Control de la CPU para tomar y colocar datos en el Sub-sistema de Memoria durante la ejecución de los procesos de cómputo.

El Bus de Control transporta señales de estado de las operaciones efectuadas por el CPU con las demás unidades.

Una tarjeta-madre tipo ATX tiene tantas pistas eléctricas destinadas a buses, como anchos sean los Canales de Buses del Microprocesador de la CPU: 64 para el Bus de datos y 32 para el Bus de Direcciones.

El "ancho de canal" explica la cantidad de bits que pueden ser transferidos simultáneamente. Así, el Bus de datos transfiere 8 bytes a la vez.

Para el Bus de Direcciones, el "ancho de canal" explica así mismo la cantidad de ubicaciones o Direcciones diferentes que el microprocesador puede alcanzar. Esa cantidad de ubicaciones resulta de elevar el 2 a la 32 potencia. "2" porque son dos las señales binarias, los bits 1 y 0; y "32 potencia" porque las 32 pistas del Bus de Direcciones son, en un instante dado, un conjunto de 32 bits.

Así, el Canal de Direcciones del Microprocesador para una PC-ATX puede "direccionar" más de 4 mil millones de combinaciones diferentes para el conjunto de 32 bits de su Bus.

PUERTOS

Un puerto es una forma genérica de denominar a una interfaz por la cual diferentes tipos de datos pueden ser enviados y recibidos. Dicha interfaz puede ser física, o puede ser a nivel software. La variedad es diversa,

Page 37: La Arquitectura de Von Neumann

aunque en la actualidad solo se están usando algunos de los que a continuación mencionaremos:

El Puerto ISA (Industry Standard Architecture): Es un puerto creado por IBM en 1980 en Boca Raton, Florida para ser empleado en los IBM PCs.

La versión original era de 8 bits y funcionaba a 4,77 MHz, la misma velocidad que el procesador Intel 8088 empleado en el IBM PC. Posteriormente, cuando se lanzaron nuevos PCs con el procesador Intel 80286, se creó una extensión de 16 bits y se aumentó su velocidad a 8 MHz. Esta extensión es compatible de forma descendente con el puerto ISA de 8 bits.

Puerto ISA de una placa base para Pentium I

El ancho de banda máximo del puerto ISA de 16 bits es de 16 MBytes/segundo.

Este ancho de banda es insuficiente para las necesidades actuales, tales como tarjetas de vídeo de alta resolución, por lo que el puerto ISA no se emplea en los PCs modernos (2004), en los que ha sido substituido por el puerto PCI.

Las ranuras del puerto ISA miden 8,5 cm en la versión de 8 bits y 14 cm en la de 16 bits; su color suele ser negro.

El Puerto PCI (Peripheral Component Interconnect): La interconexión de componentes periféricos [Peripheral Component Interconnect (PCI)] es un puerto de computadora estándar para conectar dispositivos periféricos a la tarjeta madre de la computadora (llamado puerto local). Estos dispositivos pueden ser circuitos integrados ajustados en la misma tarjeta madre (llamado dispositivos planares en la especificación PCI) o tarjetas de expansión que se ajustan en enchufes.

Page 38: La Arquitectura de Von Neumann

Es común en PCs, donde ha desplazado el ISA como el puerto estándar, pero es también usado en otro tipo de computadoras. A diferencia de los puertos ISA, el puerto PCI permite configuración dinámica de un dispositivo periférico. En el tiempo de arranque de la máquina las tarjetas PCI y el sistema BIOS interactúan y negocian los recursos que son pedidos por la tarjeta PCI. Esto permite asignación de IRQs y direcciones del puerto por medio de un proceso dinámico diferente del puerto ISA donde los IRQs tienen que ser configurados manualmente usando jumpers externos.

Puerto PCI de una placa base para Pentium I

A parte de esto, el puerto PCI proporciona una descripción detallada de todos los dispositivos PCI conectados a través del espacio de configuración PCI.

El Puerto AGP (Accelerated/Advance Graphics Port): puerto de gráficos acelerado/avanzado, es un puerto desarrollado por Intel en 1996 como solución a los cuellos de botella que se producían en las tarjetas gráficas que usaban el puerto PCI. El diseño parte de las especificaciones PCI.

El puerto AGP es de 32 bit como PCI pero cuenta con notables diferencias como 8 canales mas adicionales para acceso a la memoria RAM. Además puede acceder directamente a esta a través del NorthBrigde pudiendo emular así memoria de vídeo en la RAM. La velocidad del puerto es de 66 MHz.

El puerto AGP actualmente se utiliza exclusivamente para conectar tarjetas gráficas, por lo que sólo suele haber una ranura. Dicha ranura mide unos 8 cm y se encuentra a un lado de las ranuras PCI.

El Puerto ARM (Audio Riser Modem): Ranura de expansión en la placa madre para dispositivos de audio como tarjetas de sonido o modems lanzada en 1998, cuenta con 16 pines y es parte del estándar de audio AC97 aun vigente en nuestros días.

Page 39: La Arquitectura de Von Neumann

En un principio se diseño como ranura de expansión para dispositivos económicos de audio o comunicaciones ya que estos harían uso de los recursos de la maquina como el microprocesador y la memoria RAM. Esto poco existo ya que fue lanzado en un momento en que la potencia de las maquinas no era la adecuada para soportar esta carga y el mal o escaso soporte de los drivers para estos dispositivos en sistemas operativos que no fuesen Windows.

Desaparecido por completo en los modelos de placas madre para Pentium IV y a partir de AMD en Soket A.

El Puerto USB (Universal Serial Bus): el puerto Usb provee un estándar de puerto serie para conectar dispositivos a una computadora (usualmente a una PC). Un sistema USB tiene un diseño asimétrico, que consiste en un solo servidor y múltiples dispositivos conectados en una estructura de árbol utilizando dispositivos hub especiales. Se pueden conectar hasta 127 dispositivos a un solo servidor, pero la suma debe incluir a los hubs también, así que el total de dispositivos realmente usables disminuye un poco.

El estándar incluye la transmisión de energía eléctrica al dispositivo conectado. Algunos dispositivos requieren potencia mínima, así que varios pueden ser conectados sin necesitar fuentes de alimentación extra. La mayoría de los hubs incluyen fuentes de alimentación que brindan energía a los dispositivos conectados a ellos, pero algunos dispositivos gastan tanta energía que necesitan su propia fuente de alimentación. Los hubs con fuente de alimentación pueden proporcionarle corriente eléctrica a otros dispositivos sin quitarle corriente al resto de la conexión (dentro de ciertos límites).

El diseño del USB tenía en mente eliminar la necesidad de adquirir tarjetas separadas para poner en los puertos bus ISA o PCI, y mejorar las capacidades plug-and-play permitiendo a esos dispositivos ser conectados o deconectados al sistema sin necesidad de reiniciar. Cuando un nuevo dispositivo es conectado, el servidor lo enumera y agrega el software necesario para poder funcionar.

El USB pude conectar periféricos como ratones, teclados, escáneres, cámaras digitales, impresoras, discos duros, y componentes de red. Para dispositivos multimedia como escáneres y cámaras digitales, el USB se ha convertido en el método estándar de conexión. Para impresoras, el USB ha crecido también en popularidad que ha empezado a desplazar a los puertos

Page 40: La Arquitectura de Von Neumann

paralelos porque el USB hace sencillo el poder agregar más de una impresora a una computadora.

En el caso de los discos duros, el USB es poco probable que reemplace completamente a los buses como el ATA (IDE) y el SCSI porque el USB tiene un rendimiento un poco más lento que esos otros estándares. El nuevo estándar Serial ATA permite tasas de transferencia hasta aproximadamente 150 MB por segundo. Sin embargo, el USB tiene una importante ventaja en su habilidad de poder instalar y desinstalar dispositivos sin tener que abrir el sistema, lo cual es útil para dispositivos de almacenamiento desinstalables. Hoy en día, una gran parte de los fabricantes ofrece dispositivos USB portátiles que ofrecen un rendimiento casi indistinguible en comparación con los ATA (IDE).

El USB no ha remplazado completamente a los teclados AT y ratón PS/2, pero virtualmente todas las tarjetas madres de PC traen uno o más puertos USB. En el tiempo de este escrito, la mayoría de las tarjetas madres traen múltiples conexiones USB 2.0.

El estándar USB 1.1 tenía 2 velocidades de transferencia: 1.5 Mbit/s para teclados, mouse, joysticks, etc., y velocidad completa a 12 Mbit/s. La mayor ventaja del estándar USB 2.0 es añadir un modo de alta velocidad de 480 Mbit/s. En su velocidad más alta, el USB compite directamente con FireWire (excepto en el área de cámaras digitales portables, el USB tiene limitaciones tecnológicas que prohiben su uso viable en esta área).

Las especificaciones USB 1.0, 1.1 y 2.0 definen 2 tipos de conectores para implementar dispositivos al servidor: A y B. Sin embargo, la capa mecánica ha cambiado en algunos conectores. Por ejemplo, el IBM UltraPort es un conector USB privado localizado en la parte superior del LCD de los laptops de IBM. Utiliza un conector mecánico diferente mientras mantiene las señales y protocolos característicos del USB. Otros fabricantes de artículos pequeños han desarrollado también sus medios de conexión pequeños, y una gran variedad de ellos han aparecido.

Una extensión del USB llamada "USB-On-The-Go" permite a un puerto actuar como servidor o como dispositivo - esto se determina por qué lado del cable esta conectado al aparato. Incluso después de que el cable está conectado y las unidades se están comunicando, las 2 unidades pueden "cambiar" de rol bajo el control de un programa. Esta facilidad está especificamente diseñada para dispositivos como PDA, donde el enlace USB podría conectarse a un PC como un dispositivo, y conectarse como servidor a un teclado o ratón. El "USB-On-The-Go" también ha diseñado 2

Page 41: La Arquitectura de Von Neumann

conectores pequeños, el mini-A y el mini-B, así que esto debería detener la proliferación de conectores miniaturizados de entrada.

FUENTES DE ALIMENTACIÓN

La Fuente de Alimentación, es un montaje eléctrico/electrónico capaz de transformar la corriente de la red electrica en una corriente que el PC pueda soportar.

Esto se consigue a través de unos procesos electrónicos que son:

Transformación. Rectificación.

Filtrado. Estabilización.

Tipos de Fuentes de PoderLas dos fuentes que podremos encontrarnos cuando abramos un ordenador pueden ser: AT o ATX.

Las fuentes de alimentación AT, fueron usadas hasta que apareció el Pentium MMX, es en ese momento cuando ya se empezarían a utilizar fuentes de alimentación ATX.

Las características de las fuentes AT, son que sus conectores a placa base varían de los utilizados en las fuentes ATX, y por otra parte, quizás bastante más peligroso, es que la fuente se activa a través de un interruptor, y en ese interruptor hay un voltaje de 220v, con el riesgo que supondría manipular el PC.

También destacar que comparadas tecnológicamente con las fuentes ATX, las AT son un tanto rudimentarias electrónicamente hablando.

En ATX, es un poco distinto, ya que se moderniza el circuito de la fuente, y siempre está activa, aunque el ordenador no esté funcionando, la fuente siempre está alimentada con una tensión pequeña para mantenerla en espera.Una de las ventajas es que las fuentes ATX no disponen de un interruptor que enciende/apaga la fuente, si no que se trata de un pulsador conectado a la placa base, y esta se encarga de encender la fuente, esto conlleva pues el poder realizar conexiones/desconexiones por software.

Page 42: La Arquitectura de Von Neumann

En Fuentes AT, se daba el problema de que existian dos conectores a conectar a placa base, con lo cual podia dar lugar a confusiones y a cortocircuitos, la solución a ello es basarse en un truco muy sencillo, hay que dejar en el centro los cables negros que los dos conectores tienen, asi no hay forma posible de equivocarse.

En cambio, en las fuentes ATX solo existe un conector para la placa base, todo de una pieza, y solo hay una manera de encajarlo, así que por eso no hay problema.

Existen dos tipos de conectores para alimentar dispositivos:

Conector AT Conector ATX

El más grande, sirve para conectar dispositivos como discos duros, lectores de cd-rom, grabadoras, dispositivos SCSI, etc.

Mientras que el otro, visiblemente más pequeño, sirve para alimentar por ejemplo disqueteras o algunos dispositivos ZIP.

Page 43: La Arquitectura de Von Neumann

CONCLUSIÓN

Aunque las tecnologías empleadas en las computadoras digitales han cambiado mucho desde que aparecieron los primeros computadores en los años 40, la mayoría todavía utilizan la arquitectura Von Neumann, propuesta a principios de los años 40 por John Von Neumann.

La arquitectura Von Neumann describe un computador con 4 secciones principales: la unidad lógica y aritmética (ALU), la unidad de control, la memoria, y los dispositivos de entrada y salida (E/S). Estas partes están interconectadas por un conjunto de cables, un enlace común.

En este sistema, la memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit, o unidad de información. La instrucción es la información necesaria para realizar, lo que se desea, con la computadora. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con la computadora. En general, la memoria puede ser rescrita varios millones de veces.

El tamaño de cada celda y el número de celdas varía mucho de computadora a computadora, y las tecnologías empleadas para la memoria han cambiado bastante; van desde los relés electromecánicos, tubos llenos de mercurio en los que se formaban los pulsos acústicos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip.

Con los circuitos electrónicos se simula las operaciones lógicas y aritméticas, se pueden diseñar circuitos para que realicen cualquier forma de operación.