martes, 27 de mayo de 2008

LIGAS DE INTERES

1. WIKIPEDIA

2. MONOGRAFIAS

3. MITECNOLOGICO

4. ABC DATOS (TUTORIAL)

5. INTEL

6. AMD

BIBLIOGRAFIA DE LIBROS

"ORGANIZACION Y ARQUITECTURA ITECTURA DE COMPUTADORES: FUNDAMENTOS DE LOS PROCESADORES ESCALARES"
CHARLES E ROYS. Editorial: prentice hall hispanoamericana

"PRINCIPIOS DE ARQUITECTURAS DE COMPUTADORAS"
HEURING VINCENT P. MURDOCCA MILES J. (Prentice Hall)

"ARQUITECTURA DE COMPUTADORAS"
MORRIS MANO ED. PRENTICE HALL HISPANOAMERICANA. S.A.

"ARQUITECTURA DE COMPUTADORAS"
PARHAMI Editorial: Mc Graw Hill

"ARQUITECTURA DE ORDENADORES"
ORMACHEA J.PORTILLO Editorial: Mc graw hill




SIMULADORES DE ARQUITECTURA



SIMULADORES

Los simuladores de microprocesadores son bastante comunes en la docencia de Arquitectura de Computadores: la experiencia demuestra que es una buena herramienta, y que su uso proporciona la práctica que requieren los conocimientos teóricos. Podemos encontrar simuladores de una amplia variedad de microprocesadores, tales como el Intel 8085, el Motorola 68000 o el MIPS.
En este apartado, y con el fin de potenciar el carácter docente de esta página web, queremos dar a conocer los simuladores de arquitecturas MIPS más conocidos. Resulta interesante saber que algunos de estos simuladores han sido desarrollados por profesores o estudiantes universitarios, y que este tipo de herramientas suele ser la alternativa que se utiliza en las prácticas de Arquitectura de Computadores cuando se decide que el diseño del procesador desde cero escapa a los objetivos docentes de las asignaturas.
WebMIPS
WebMIPS es un novedoso simulador, que facilita el proceso de aprendizaje de código ensamblador, segmentación, control, y diseño de la ruta de datos. Sin embargo, su mayor ventaja es la accesibilidad inmediata para los estudiantes, sin ningún tipo de instalación previa, y la posibilidad de monitorizar su actividad a través de la web. Creado por Irina Branovic, Roberto Giorgi, Enrico Martinelli (Universdad de Siena, Italia).
El nombre "WebMIPS" indica que este simulador ha sido diseñado para su uso en la web: efectivamente, está escrito en lenguaje ASP, y puede ser arrancado abriendo la página web del simulador. Otra ventaja del servicio web es que el usuario no requiere tener instalado ningún sistema operativo concreto para poder acceder a este software. WebMIPS todavía no soporta el conjunto de instrucciones MIPS completo; el usuario que quiera escribir programas en ensamblador propios, debería consultar la lista de instrucciones soportadas para poder simular el código.
El usuario puede cargar (copiar + pegar) un archivo con ensamblador MIPS o usar uno de los ejemplos incluídos para seguir su ejecución en el simulador. WebMIPS no es un ensamblador real; sin embargo, es capaz de reconocer si hay errores en el código proporcionado, y marcar la línea que contiene el error. También es capaz de mostrar la ejecución del programa paso a paso o todo a la vez.

Figura 1: Captura del simulador WebMIPS

En el modo paso a paso, el usuario puede seguir el avance de las instrucciones en cada etapa del cauce, y haciendo click en los elementos que componen el cauce pueden ver los valores correspondientes, señales de entrada y salida en cada ciclo de reloj. WebMIPS siempre tiene la técnica de adelantamiento activada, resuelve los riesgos del cauce y muestra los contenidos de la detección de riesgos y unidades de adelantamiento en el cauce.

SPIM

SPIM es un simulador autocontenido que puede ejecutar programas escritos en código ensamblador de MIPS32, aunque no ejecuta código binario. También proporciona un depurador sencillo y un conjunto mínimo de servicios del sistema operativo. Su autor es James Larus, investigador senior de Microsoft (antiguamente Profesor del departamento de Informática en la Universidad de Wisconsin-Madison).
Este simulador implementa casi todo el repertorio de ensamblador extendido MIPS32: omite la mayor parte de comparaciones de coma flotante, y las tablas de paginación de la memoria del sistema. La arquitectura MIPS implementada tiene algunos cambios; por ejemplo, la arquitectura MIPS64 soporta enteros y direcciones de 64 bits, con lo que SPIM no podrá ejecutar programas compilados para todo tipo de procesadores MIPS. Los compiladores de MIPS también generan ciertas directivas de ensamblado, que SPIM no puede procesar: estas directivas pueden ser borradas sin ningún problema.



Figura 2: Captura del simulador SPIM

MIPSim

Se trata de un simulador segmentado para el microprocesador MIPS. Este microprocesador es modelado a nivel de organización, y posee unidades funcionales visibles, tales como archivos de registros, registros de segmentación, ALU, multiplexores, flujo de control y de datos, etc.
El usuario puede escribir pequeños programas (ahora mismo solo hay implementado un subconjunto del repertorio de instrucciones del MIPS), y ver como trabaja el cauce segmentado, modificar el programa, el contenido de la memoria de datos y el archivo de registros instantáneamente, para así simular y poder ver los efectos. Actualmente MIPSim modela un sencillo cauce segmentado, sin detección de riesgos ni unidades de adelantamiento.

Figura 3: Captura del simulador MIPSim

ARQUITECTURAS AVANZADAS

INTRODUCCION

A lo largo del último medio siglo, las computadoras han ido duplicando su velocidad cada dos años, al tiempo que el tamaño de sus componentes se reducía a la mitad. Los circuitos actuales contienen transistores y líneas de conducción cuya anchura es sólo una centésima parte de la de un cabello humano. Las máquinas de nuestros días son millones de veces más potentes que sus rudimentarias antepasados a causa de tan explosivo progreso.
Figura 1.- Desde el principio hasta el presente: A la izquierda una máquina de engranajes, a la derecha un chip de la IBM de 0.25 micras. La versión producida por la IBM contiene 6 millones de
transistores.




El incremento del poder de las computadoras se debe esencialmente a la miniaturización incesante del componente más elemental de la computadora, el transistor. Cuando los transistores se reducen de tamaño y se logran integrar en un solo microchip se incrementa el poder computacional. Sin embargo, las técnicas de integración de microcircuitos están empezando a tropezar con sus límites.
Mediante
técnicas litográficas avanzadas podrían producirse elementos cien veces menores que los hoy disponibles. Pero a tal escala, en la que la materia se presenta como una muchedumbre de átomos disgregados, los circuitos integrados apenas consiguen funcionar. Al reducir la escala diez veces más, los átomos manifiestan ya su identidad individual, y basta un solo defecto para provocar una catástrofe. Por consiguiente, si se pretende que las computadoras del futuro reduzcan su tamaño, será preciso que la técnica de uso se reemplacé o complemente con otras nuevas.
La
ciencia de la computación en busca de una alternativa más allá de la tecnología del transistor, ha iniciado el estudio de la mecánica cuántica y su aporte para la creación de nuevas computadoras. Es así como han surgido las disciplinas: Nano-Computación y Computación Mecánico-Cuántica.




Figura2.- La transición de microtecnología a nanotencología. Según la física clásica, no hay manera de que los electrones puedan llegar desde el "Source" al "Drain" debido a las dos barreras que se encuentran al lado del "Island" pero la estructura es tan pequeña que los efectos de la cuántica ocurren, y los electrones pueden bajo ciertas circunstancias romper la barrera del túnel.
Como se
muestra en la Figura2, hay formas de rediseñar los transistores para que trabajen usando efectos cuánticos. Pero podría ser mejor dejar la idea de transistores y usar una nueva arquitectura completamente nueva que sea más adecuada al utilizar los principios de la mecánica cuántica. En la Figura 3, se presenta una idea de esta arquitectura.





Figura 3.- Una alternativa es utilizar nuevos tipos de transistores. La Figura muestra como un circuito particular llamado "semi-sumador" pude crearse de un modelo compuesto de dos tipos de células.
Las nano-computadoras tendrán componentes cuyo funcionamiento se rigen por los
principios de la mecánica cuántica, pero los algoritmos que ellas ejecuten probablemente no involucren un comportamiento cuántico; mientras que las computadoras cuánticas buscan una posibilidad más excitante, usar la mecánica cuántica en un nuevo tipo de algoritmo que sería fundamentalmente más poderoso que cualquier otro esquema clásico. Una computadora que puede ejecutar computadora que pueda ejecutar este tipo de algoritmo será una verdadera computadora cuántica.
Un
Computador Cuántico es un nuevo dispositivo fantástico que puede resolver ciertos problemas importantes muy eficazmente. Un computador cuántico proporciona paralelismo masivo aprovechando la naturaleza exponencial de la mecánica cuántica. Un computador cuántico puede almacenar una cantidad exponencial de datos, y realizar un número exponencial de operaciones usando recursos polinomiales. Este paralelismo cuántico no es fácil de aprovechar. Sin embargo, unos algoritmos cuánticos descubiertos en 1993 (Algoritmo de Shor) han creado un interés en el potencial de las computadoras cuánticas.
La
construcción de un computador cuántico funcional a opuesto una resistencia diabólica. El problema estriba en que cualquier interacción que un sistema cuántico tenga con su entorno, piénsese en el choque de un átomo contra otro o contra un fotón errante, constituye una medición. La superposición de estados mecánicos cuánticos se resuelve en un solo estado bien definido; y éste es el que el observador detecta. Dicho fenómeno de descoherencia, así se llama, imposibilita cualquier cálculo cuántico. Al objeto de mantener, pues, la coherencia, las operaciones internas de un computador cuántico deben separarse de su entorno. Más, a la vez, han de ser accesibles para que puedan cargarse, ejecutarse y leerse los cálculos.
Pese a todo, no será fácil conseguir un computador cuántico cuyas proporciones le permitan competir con los más rápidos de los clásicos. Pero el reto merece la pena. Los computadores cuánticos, por modestos que sean, se convertirán en soberbios laboratorios naturales donde poder estudiar la mecánica cuántica. Con semejantes dispositivos y la ejecución de un
programa adecuado, podrán abordarse otros sistemas cuánticos que revisten interés fundamental.
Por ironía de las cosas, los computadores cuánticos podrían ayudar a científicos e ingenieros en la resolución de los
problemas que se les plantean en la creación de microcircuitos ínfimos con transistores mínimos; muestran éstos un comportamiento mecánico cuántico cuando la reducción de su tamaño llega al límite de las posibilidades.



COMPUTADORAS CUANTICAS

La computación cuántica es un paradigma de computación distinto al de la computación clásica. Se basa en el uso de qubits en lugar de bits, y da lugar a nuevas puertas lógicas que hacen posibles nuevos algoritmos. Una misma tarea puede tener diferente complejidad en computación clásica y en computación cuántica, lo que ha dado lugar a una gran expectación, ya que algunos problemas intratables pasan a ser tratables.


Mientras un computador clásico equivale a una máquina de Turing, un computador cuántico equivale a una máquina de Turing indeterminista.
La empresa canadiense
D-Wave Systems había supuestamente presentado el 13 de febrero de 2007 en Silicon Valley, una primera computadora cuántica comercial de 16-qubits de propósito general; luego la misma compañía admitió que tal máquina llamada Orion no es realmente una Computadora Cuántica, sino una clase de máquina de propósito general que usa algo de mecánica cuántica para resolver problemas.

COMPUTADORAS DNA

La primera persona que pensó y experimentó con el ADN como una alternativa a los chips de silicio se Leonard Adleman, un equipo científico que trabaja en la Universidad del Sur de California. 1994 El experimento usando ADN como una manera de resolver los complejos problemas matemáticos es un producto de una influencia del libro (de Biología Molecular de la Gene escrita por James Watson).
ADN computadoras trabajarán mediante el uso de ADN basados en lógica puertas. Estas puertas lógicas son muy similares a lo que se utiliza en nuestros ordenadores hoy en día con la única diferencia es la composición de la entrada y salida de señales. En el estado actual de la tecnología lógica de puertas, los códigos binarios de los transistores de silicio se convierten en instrucciones que puede ser llevada a cabo por el equipo. Ordenadores de ADN, por otro lado, utiliza los códigos de ADN en lugar de señales eléctricas como insumos para la lógica de ADN puertas. Ordenadores de ADN, sin embargo, están todavía en su infancia y aunque puede ser muy rápido en el suministro de respuestas posibles, la reducción de estas respuestas las tiene aún días.
Las computadoras de ADN será la próxima generación de ordenadores de genes "bloques de construcción. Debido a su velocidad, la miniaturización y el potencial de almacenamiento de datos de ADN computadoras están siendo considerados como un sustituto de silicio basado en computadoras. Actual equipo de investigación del ADN ha demostrado que el ADN ordenadores son capaces de resolver complejas ecuaciones matemáticas y el almacenamiento de enormes cantidades de datos.

Las ventajas de los ordenadoras de ADN.

Las computadoras de ADN muestran promesa porque no tienen las limitaciones de silicio basado en chips. Por una parte, el ADN basada en los fabricantes de chips siempre tendrá una amplia oferta de materias primas como el ADN existe en todos los seres vivos, lo que significa en general más bajos los gastos generales. En segundo lugar, la fabricación de chips de ADN no produce tóxicos de los productos. Por último, pero no el menos importante, las computadoras de ADN será mucho más pequeño que el silicio basado en los ordenadores como una libra de los chips de ADN puede contener toda la información almacenada en todas las computadoras en el mundo.
Con el uso de puertas lógicas de ADN, una computadora de ADN del tamaño de una lágrima será más potente que el actual superordenador más potente. Un chip de ADN inferior al tamaño de un centavo se tenga la capacidad de realizar 10 billones de cálculos paralelos de una sola vez, así como celebrar diez terabytes de datos. La capacidad para realizar cálculos paralelos, mucho más billones de cálculos paralelos, es algo de silicio basado en computadoras no son capaces de hacer. Como tal, un complejo problema matemático que podría adoptar el silicio computadoras basadas en miles de años para resolver se puede hacer de las computadoras de ADN en horas. Por esta razón, el primer uso de las computadoras de ADN muy probable que haya resquebrajamiento de los códigos, planificación de itinerarios y complejas simulaciones para el gobierno.

SUPERCOMPUTO

SUPERCOMPUTADORA


Supercomputadora o Superordenador es una computadora con capacidades de cálculo muy superiores a las comúnmente disponibles de las máquinas de escritorio de la misma época en que fue construida.
Hoy en día el diseño de Supercomputadoras se sustenta en 4 importantes tecnologías:
La tecnología de registros vectoriales, creada por
Cray, considerado el padre de la Supercomputación, quien inventó y patentó diversas tecnologías que condujeron a la creación de máquinas de computación ultra-rápidas. Esta tecnología permite la ejecución de innumerables operaciones aritméticas en paralelo.
El sistema conocido como M.P.P. por las siglas de Massively Parallel Processors o Procesadores Masivamente Paralelos, que consiste en la utilización de cientos y a veces miles de microprocesadores estrechamente coordinados.
La tecnología de
computación distribuida: los clusters de computadoras de uso general y relativo bajo costo, interconectados por redes locales de baja latencia y el gran ancho de banda.
Cuasi-Supercómputo: Recientemente, con la popularización de la
Internet, han surgido proyectos de computación distribuida en los que software especiales aprovechan el tiempo ocioso de miles de ordenadores personales para realizar grandes tareas por un bajo costo. A diferencia de las tres últimas categorías, el software que corre en estas plataformas debe ser capaz de dividir las tareas en bloques de cálculo independientes que no se ensamblaran ni comunicarán por varias horas. En esta categoría destacan BOINC y Folding@home.
Por su alto costo, el uso de superordenadores verdaderos está limitado a organismos gubernamentales, militares y grandes centros de investigación, en donde tienen aplicaciones científicas, como en la simulación de procesos naturales (previsión del tiempo, análisis de cambios climáticos, entre otros procesos),
modelaje molecular, simulaciones físicas como túneles de viento, criptoanálisis, etc.
Este tipo de máquinas generalmente tiene su
arquitectura proyectada y optimizada enteramente con la aplicación final en mente.
Una supercomputadora es un tipo de computadora muy potente y rápida, diseñada para procesar enormes cantidades de información en poco tiempo y dedicada a una tarea específica.
Por lo mismo son las más caras, su precio alcanza los 20 millones de euros o más (30 millones de dólares); y cuentan con un control de temperatura especial, esto para disipar el calor que algunos componentes alcanzan a tener.
Solo países como EEUU y Japón, han presentado supercomputadoras de un petaflops,1000
Teraflops, China ha presentado supercomputadora de más de 10 Teraflops, India y Francia también estan por el teraflops

lunes, 26 de mayo de 2008

ELEMENTOS BASICOS DE LA ARQUITECTURA DE UNA COMPUTADORA

ELEMENTOS BASICOS


Aunque las tecnologías empleadas en las computadoras digitales han cambiado mucho desde que aparecieron los primeros modelos en los años 40, la mayoría todavía utiliza la arquitectura Eckert-Mauchly, publicada a principios de los años 1940 por John von Neumann pero que fue creada por John Presper Eckert y John William Mauchly.

La arquitectura Eckert-Mauchly describe una computadora con 4 secciones principales:
la unidad lógica y aritmética (ALU por sus siglas del inglés: Arithmetic Logic Unit), 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 denominados buses:

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 el computador. Las «celdas» contienen datos que se necesitan para llevar a cabo las instrucciones, con el ordenador. El número de celdas varían mucho de computador a computador, 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. En general, la memoria puede ser reescrita varios millones de veces (memoria RAM); se parece más a una pizarra que a una lápida (memoria ROM) que sólo puede ser escrita una vez.

El procesador (también llamado Unidad central de procesamiento o CPU) consta de:
La unidad lógica y aritmética o ALU es el dispositivo diseñado y construido para llevar a cabo las operaciones elementales como las operaciones aritméticas (suma, resta), operaciones lógicas (Y, O, NO), y operaciones de comparación o relacionales. En esta unidad es en donde se hace todo el trabajo computacional.
La unidad de control sigue la dirección de las posiciones en memoria que contienen la instrucción que el computador va a realizar en ese momento; recupera la información poniéndola en la ALU para la operación que debe desarrollar. Transfiere luego el resultado a ubicaciones apropiadas en la memoria. Una vez que ocurre lo anterior, la unidad de control va a la siguiente instrucción (normalmente situada en la siguiente posición, a menos que la instrucción sea una instrucción de salto, informando al ordenador de que la próxima instrucción estará ubicada en otra posición de la memoria).
Los dispositivos E/S sirven a la computadora para obtener información del mundo exterior y/o comunicar los resultados generados por el computador al exterior. Hay una gama muy extensa de dispositivos E/S como
teclados, monitores, unidades de disco flexible o cámaras web.

PROCESADOR CELL

PROCESADOR CELL

Cell es una arquitectura de microprocesador desarrollada conjuntamente por Sony Computer Entertainment, Toshiba, e IBM, en una alianza conocida con el nombre de “STI”. El diseño de arquitectura y su primera implementación se llevaron a cabo en el STI Design Center de Austin, Tejas, durante un periodo total de cuatro años que comenzó en marzo de 2001, empleando un presupuesto de 400 millones de dólares según IBM.
Cell es la abreviatura de Cell Broadband Engine Architecture (“arquitectura de motor Cell de banda ancha”), conocida también como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinación de la arquitectura de núcleo Power, de propósito general y medianas prestaciones, con elementos coprocesadores en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, así como otras formas de computación dedicada.
La primera gran aplicación comercial del Cell fue la
videoconsola PlayStation 3 de Sony. Mercury Computer Systems ofrece servidores duales Cell, un blade (tipo de servidor autocontenido) Cell en configuración dual, un ordenador con especificaciones de resistencia superior y una tarjeta aceleradora PCI Express, todos ellos disponibles en diferentes estadios de producción. Toshiba ha hecho públicos sus planes para incorporar procesadores Cell en adaptadores de televisión de alta definición. Características únicas como el subsistema de memoria XDR y el bus de interconexión de elementos (Element Interconnect Bus, EIB) parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputación, donde se sacaría provecho de la habilidad del procesador para manejar núcleos de coma flotante. IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansión en sus mainframes IBM System z9, para que de este modo puedan ser empleados como servidores en juegos online masivos multimedia (MMORPGs).
La arquitectura Cell implanta novedades como son la estructura de coherencia de memoria, por la que IBM ha recibido varias patentes. Esta arquitectura enfatiza la relación rendimiento por vatio, da prioridad al ancho de banda sobre la latencia y favorece la máxima salida de cálculo sobre la simplicidad del código de programación. Debido a ello, Cell es considerado normalmente como un entorno de desarrollo de software desafiante. IBM proporciona una plataforma de desarrollo completa basada en
Linux para ayudar a los programadores a afrontar esta tarea . El factor principal para comprobar si Cell llega a desarrollar su potencial de rendimiento es la adaptación del software. A pesar de estas dificultades, los estudios indican que Cell sobresale en diversos tipos de computación científica.
En noviembre de 2006, David A. Bader, del Instituto Tecnológico de Georgia fue escogido por Sony, Toshiba e IBM de entre más de una docena de universidades para dirigir el primer Centro STI de Expertos para el procesador Cell (STI Center of Competence for the Cell Processor).Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell, Existe un vídeo tutorial sobre cómo programar el Cell a disposición del público.

HISTORIA

En el año 2000, Sony Computer Entertainment, Toshiba Corporation, e IBM formaron una alianza (STI) para diseñar y manufacturar el procesador. El centro de diseño STI (STI Design Center) abrió sus puertas en marzo de 2001. El Cell estuvo en fase de diseño por un periodo de cuatro años, empleando versiones mejoradas de las herramientas de diseño usadas con el procesador POWER4. Alrededor de 400 ingenieros de las tres compañías trabajaron en Austin, con el estrecho apoyo de once de los centros de diseño de IBM.
Durante este periodo, IBM registró diversas patentes relacionadas con la arquitectura Cell, el proceso de fabricación y el entorno software. La primera versión de la patente del Broadband Engine mostraba un encapsulado de chip conteniendo cuatro “elementos de procesamiento” (Processing Elements), lo cual era la descripción en la patente de lo que ahora se conoce como “elementos power de proceso” (Power Processing Element). Cada elemento de proceso contenía 8 procesadores aritméticos, designados como SPE’s en el actual chip Broadband Engine. Dicho encapsulamiento se especula que habitualmente poseía una velocidad de reloj de 4 GHz, con 32 unidades de procesamiento aritmético que proporcionaban un total de 32 GFLOPS cada una. De este modo, el Broadband Engine mostraba un Teraflop de potencia de computación bruta.
En marzo de 2007 IBM hizo público que la versión en 65 nm del Cell BE se encontraba en producción en su planta de East Fishkill, Nueva York. Nuevamente, durante el mes de febrero de 2008, IBM anunció su intención de comenzar la fabricación de procesadores Cell con tecnología de 45nm. Comercialización
El 17 de mayo de 2005, Sony Computer Entertainment confirmó algunas de las especificaciones del procesador Cell que sería incluido dentro de la futura videoconsola PlayStation 3. En esta configuración del Cell, se incluiría un elemento power de proceso (PPE) en el núcleo, junto con 8 unidades sinergísticas de proceso (SPE’s) en la oblea de silicio. En la PlayStation3, una de las SPE’s se bloquea durante el proceso de testeo, práctica que ayuda a mejorar el rendimiento de fabricación, y otra se reserva para el sistema operativo, dejando con ello 6 SPE’s libres para ejecutar el código de los juegos. La velocidad de reloj objetivo durante su lanzamiento son 3,2 GHz El primer diseño se fabricó usando tecnología de fabricación SOI de 90 nm, de cuya producción inicial se encargó la factoría de IBM en East Fishkill, Nueva York.