Mostrando entradas con la etiqueta electronica. Mostrar todas las entradas
Mostrando entradas con la etiqueta electronica. Mostrar todas las entradas

jueves, 14 de enero de 2010

Antena casera wifi 802.11


Colgarse de una red Wi Fi puede parecer un mito para algunos, pero para los que estamos familiarizados con las telecomunicaciones no lo es; paseando por la Internet no he encontrado ningún post o pagina que hable de como hacer una antena casera como la que voy a poner aquí, se le llama antena "mariposa" y sirve para captar las señales de 2.4 GHz, y conectar tu computadora a una Wifi de más de 3 Km, teóricamente.

aquí les dejo la imagen que deben hacer en una placa de cobre, tienen que comprar una placa de cobre para circuitos impresos de 15 x 15 aprox. y luego dibujar esta imagen con sus mismas dimensiones en la placa no cometan error en el diseño pls por que no va a funcionar, les voy diciendo que van a necesitar cable coaxial, y un conector SMA macho, además obviamente una tarjeta de red inalambrica para pc, para los que viven en Perú pueden comprala a varios precios y en varias marcas, por ejemplo la Encore de 56mb está s./45.00, la Dlink esta aprox s./84.00.

Bueno la imagen de la placa está arriba así que no queda más que decir.


Configuraci'on de la antena Wi Fi

Bueno señores, en realidad no se necesita configuración alguna para esta antena, lo unico que se necesita es una tarjeta de red inalambrica, ella hará todo el trabajo por ustedes, la antena de Wi Fi solamente reemplaza a la mas pequeña que viene con la trajeta, eso es nada más. En realidad es muy sencillo, solo tienen que construir bien su antena, y apostarla en un lugar suficientemente alto, sería recomendable que compren una buena marca de tarjeta y no una Encoré por que ya la probé y aunque funciona, se cuelga demasiado cuando hay un grán intercambio de paquetes, espero que la información les sirva.

miércoles, 10 de junio de 2009

Muestreo

Check out this SlideShare Presentation:

Audio

Check out this SlideShare Presentation:

martes, 7 de abril de 2009

Historia de los Microprocesadores (3ra Parte)


x86 de 32 bits Intel 80386

El Intel 80386 (i386, 386) es un microprocesador CISC con arquitectura x86. Durante su diseño se le llamó 'P3', debido a que era el prototipo de la tercera generación x86. El i386 fue empleado como la unidad central de proceso de muchos ordenadores personales desde mediados de los años 80 hasta principios de los 90.

Diseñado y fabricado por Intel, el procesador i386 fue lanzado al mercado el 16 de octubre de 1985. Intel estuvo en contra de fabricarlo antes de esa fecha debido a que los costes de producción lo hubieran hecho poco rentable. Los primeros procesadores fueron enviados a los clientes en 1986. Del mismo modo, las placas base para ordenadores basados en el i386 eran al principio muy elaboradas y caras, pero con el tiempo su diseño se racionalizó.

El procesador i386 fue una evolución importante en la línea de procesadores que se remonta al Intel 8008. El predecesor del i386 fue el Intel 80286, un procesador de 16 bits con un sistema de memoria segmentada. El i386 añadió una arquitectura de 32 bits y una unidad de translación de páginas, lo que hizo mucho más sencillo implementar sistemas operativos que emplearan memoria virtual.
Intel introdujo posteriormente el i486, pero ni éste ni sus sucesores han introducido tantos cambios en la arquitectura x86 como el i386 con sus sistema de direccionamiento plano de 32 bits. Otros microprocesadores, como el Motorola 68000 tenían direccionamiento plano desde mucho antes.

La mayoría de las aplicaciones diseñadas para ordenadores personales con un procesador x86 posterior al i386 funcionarán en un i386, debido a que los cambios del conjunto de instrucciones desde el i386 ha sido mínimo. Además el uso de las nuevas instrucciones puede ser evitado fácilmente. Adaptar un programa para el i286 es mucho más difícil.
Debido al alto grado de compatibilidad, la arquitectura del conjunto de procesadores compatibles con el i386 suele ser llamada arquitectura i386. El conjunto de instrucciones para dicha arquitectura se conoce actualmente como IA-32.

Después de que comenzara la producción del 80386, Intel introdujo el Intel 80386SX. El i386SX fue diseñado como un versión económica del i386. Los i386SX, como todos los i386, tienen una arquitectura de 32 bits, pero se comunican con el exterior mediante un bus externo de 16 bits. Esto hace que sean el doble de lentos al acceder al exterior, pero por el contrario el diseño los circuitos auxiliares del microprocesador es mucho más sencillo. El i386 original fue renombrado a Intel 80386DX para evitar la confusión. Además, aprovechando el diseño del i386SX, Intel sacó al mercado una versión del i386SX llamada SX Now! que era compatible pin a pin con el i286, haciendo que los poseedores de ordenadores con el i286 pudieran actualizarse el i386SX sin cambiar de placa base.
Desde un punto de vista comercial, el i386 fue importante debido a que fue el primer microprocesador disponible desde una única fuente. Anteriormente, la dificultad de producir los circuitos integrados y la poca fiabilidad para producir una cantidad suficiente hacían que necesariamente hubiera más de un fabricante de los circuitos de más éxito comercial, que licenciaban la tecnología al diseñador original. El hecho de que Intel no licenciara el diseño del i386 hizo que tuviera más control sobre su desarrollo y que tuviera mayores beneficios. De todos modos, AMD introdujo su procesador Am386 compatible con el i386 en Marzo de 1991, después de solventar varios obstáculos legales. Esto rompió el monopolio de Intel sobre la arquitectura i386.

IA-64

IA-64 (Intel Arquitecture-64) es una arquitectura de 64 bits desarrollada por Intel en cooperación con Hewlett-Packard para su línea de procesadores Itanium e Itanium 2. Usa direcciones de memoria de 64 bits y está basada en el modelo EPIC (Explicitly Parallel Instruction Computing, procesamiento de instrucciones explícitamente en paralelo).

El proyecto tenia por fin rediseñar totalmente la manera de programar y procesar las aplicaciones. Para ello realizo varios cambios de fondo:
-Extendió los registros de 32 a 64 bits.
-Extendió la cantidad de registros enteros de 8 a 128. (Register Stack o pila de registros). Además era compatible con instrucciones MMX.
-Extendió la cantidad de registros de coma flotante de 8 a 128. (Register Stack o pila de registros). Compatible con SSE.
-Agregó 64 registros de predicado, de 1 bit que pueden ser usados para condiciones de salto.
-Agregó 8 registros usados en saltos.
-Extendio el contador de programa de 32 a 64 bits.
-Retorno a la ejecución en orden de la instrucciones.
-Sobre código ensamblador puede decirse explícitamente cuando, hasta 3 instrucciones, se ejecutan el paralelo y en que sector del procesador hacerlo (esto es, unidad de enteros, punto flotante, memoria, etc).
-Extendió la capacidad de direccionamiento del procesador de 32 a 64 bits, logrando un direccionamiento teórico de hasta 2 Exabytes (16 Exabits). Esto es 2.305.843.009.213.693.952 bytes.

Aplicaciones actuales como bases de datos están hace algún tiempo rozando el límite superior de los 4Gb (que en la realidad se suelen reducir a 3,5Gb después de que el sistema operativo ha reservado páginas para el kernel, usadas para mapeos que necesitan estar en determinada posición de memoria) direccionables actualmente. Además con el advenimiento de los DVD a valores accesibles, no es raro que aparezcan archivos de varios Gb, lo que se transforma en un dolor de cabeza en el esquema de archivos memory-mapped. Si bien existen implementaciones de los proveedores de hardware que permiten acceder más de 3Gb de memoria, estas normalmente caen en el terreno de la emulaciones, que forzosamente implican un golpe al rendimiento.

Tanto los registros enteros como los flotantes, tenian la propiedad de poderse usar como registros rotativos. A partir del registro 32 tanto como para enteros como para flotantes, si en un código, los registros estaban referenciados por un identificador y no por su nombre (los registros eran r0, r1... r128, pero podia referenciarlos con letras, ra, rb y el itanum se encargaba de asosiarlos a un registro real) en una ejecución de un ciclo era posible trabajar con los registros siguientes, como si la pila de registros fuese una rueda numerada y cuando se llega al último registro, volvia a referirse al primero.

En las intrucciones de salto, sobre el código del itanium se le podía especificar cual era la decisión que le "recomendabamos" tomar (estas son saltar o no hacerlo).

El procesador Itanium y su predecesor Itanium II fueron un fracaso, producto de la tremenda dificultad para cualquier programador el aprender una nueva forma de hacerlo y a su vez, generar programas que aprovechen todo el potencial del procesador.
Recientemente Intel revivió el proyecto, usando su tecnología core duo, proporcionando 2 cpu dentro del mismo encapsulado de itanium.
IA64 El origen de la arquitectura IA64 viene dado por tres necesidades que se vean acercarse: 1. Una nueva plataforma para servidores high-end que reemplazara y evolucionara las arquitecturas de ese segmento como HP-PA y DEC Alpha.


MIPS

MIPS es el acrónimo de "millones de instrucciones por segundo". Es una forma de medir la potencia de los procesadores. Sin embargo, esta medida sólo es útil para comparar procesadores con el mismo juego de instrucciones y usando benchmarks que fueron compilados por el mismo compilador y con el mismo nivel de optimización. Esto es debido a que la misma tarea puede necesitar un número de instrucciones diferentes si los juegos de instrucciones también lo son; y por motivos similares en las otras dos situaciones descritas. En las comparativas, usualmente se representan los valores de pico, por lo que la medida no es del todo realista. La forma en que funciona la memoria que usa el procesador también es un factor clave para la potencia de un procesador, algo que no suele considerarse en los cálculos con MIPS. Debido a estos problemas, los investigadores han creado pruebas estandardizadas tales como SpecInt para medir el funcionamiento real, y las MIPS han caído en desuso.

En el mundo de GNU/Linux se suelen referir a los MIPS como 'bogoMIPS'.
El equivalente en la aritmética de punto flotante de los MIPS son los flops.
Muchos microprocesadores de 8 y 16 bits han sido medidos con KIPS (kiloinstrucciones por segundo), que equivale a 0'001 MIPS. El primer microprocesador de propósito general, el Intel 8080 ejecutaba 640 KIPS. El Intel 8086 (16 bits), el primer microprocesador usado en PC 800 KIPS. El Pentium 4 llega aproximadamente a 1'700 MIPS.
Los PC actuales realizan un máximo de 18.000 millones de operaciones lógicas por segundo. Si se ejecutan 6 instrucciones por ciclo y hay 3 billones de ciclos por segundo, se tienen 18.000 MIPS.

lunes, 3 de noviembre de 2008

Historia y arquitectura del precesador Cell de la PlayStation 3.

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, Texas, 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.[1]


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 PowerPC, de propósito general y medianas prestaciones, con elementos coprocesadores[2] 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. También podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuración dual, tarjetas aceleradoras PCI Express y adaptadores de televisión de alta definición.
Características únicas como el subsistema de memoria XDR de RAMBUS 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 de rol multijugador online masivos(MMORPGs).

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 durante 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 del 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.[12]

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 PlayStation 3, 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.

La relación existente entre núcleos e hilos es una fuente usual de confusiones. El PPE es capaz de manejar dos hilos de ejecución y se muestra en software como tal, mientras que cada SPE activa se muestra como uno sólo. En la configuración de la PlayStation 3, tal y como la describe Sony, el procesador Cell proporciona nueve hilos de ejecución.

El 28 de junio de 2005, IBM y Mercury Computer Systems hicieron público un acuerdo para producir sistemas basados en Cell para aplicaciones embebidas tales como producción de imágenes médicas, inspección industrial, procesamiento aeroespacial, aplicaciones de defensa y de detección de seísmos; y también para telecomunicaciones. Mercury ha comercializado desde entonces blades, servidores convencionales en armario y aceleradoras PCI Express con procesadores Cell.

En el otoño de 2006, IBM lanzó el módulo blade QS20, empleando procesadores Cell BE dobles que proporcionaba un tremendo rendimiento en cierto tipo de aplicaciones, alcanzando un máximo de 410 GFLOPS por módulo. Se espera que estos módulos pasen a formar parte del superordenador IBM Roadrunner, que estará operativo en 2008. Mercury e IBM hacen uso del procesador Cell al completo, con sus 8 SPE’s activas.

El procesador de banda ancha Cell (Cell Broadband Engine) –o más comúnmente Cell– es un microprocesador diseñado para cubrir el hueco existente entre procesadores convencionales de sistemas de escritorio (tales como las familias Athlon, Pentium y PowerPC) y los procesadores especializados de alto rendimiento, como los procesadores gráficos (GPU’s) de NVIDIA y ATI. Su nombre completo indica las especificaciones de su uso, principalmente como componente en sistemas de distribución digital presentes y futuros. Como tal, puede ser empleado en pantallas y equipo de grabación de alta definición, así como en sistemas de entretenimiento informático para la era HDTV. De manera adicional, el procesador puede ser el apropiado para sistemas digitales de obtención de imagen (médicas, científicas, etc.), así como para simulaciones físicas (por ejemplo, modelado de ingeniería estructural o científico).

En un análisis simple, el procesador Cell se puede descomponer en cuatro partes:

* estructuras externas de I/O,

* el procesador principal (llamado Power Processing Element (PPE), consistente en un núcleo Power ISA (Instruction Set Architecture) v.2.03 de dos vías multihilo simultáneo,
* ocho coprocesadores funcionales denominados Synergistic Processing Elements, o SPEs;

* y un bus de datos circular especializado de gran ancho de banda que conecta la PPE, los elementos I/O y las SPE’s, llamado “bus de interconexión de elementos” o Element Interconnect Bus (EIB).

Para alcanzar el alto rendimiento necesario para tareas matemáticas intensivas, tales como decodificar o codificar secuencias MPEG, generar o transformar datos 3D, o llevar a cabo análisis Fourier de datos, el procesador Cell aúna las SPE y el PPE por medio del EIB para proporcionarles acceso tanto a la memoria principal como a dispositivos externos de almacenamiento.

El PPE, que es capaz de ejecutar un sistema operativo convencional, posee el control sobre las SPE’s y puede comenzar, interrumpir y programar procesos para que se ejecuten en las mismas. Tiene para este fin instrucciones adicionales relativas al control de las SPE. A pesar de presentar arquitecturas Turing completas, las SPE no son completamente autónomas y requieren que el PPE les envíe órdenes antes de poder ejecutar ninguna tarea de utilidad. Sin embargo, la mayor parte del “caballaje” proviene de las unidades sinergísticas de proceso.

El PPE y la arquitectura de bus incluyen varios modos de operación que proporcionan diferentes niveles de protección de memoria. Permitiendo que ciertas áreas de la memoria se protejan del acceso por parte de procesos específicos que se estén ejecutando en las SPE o en la PPE.

Tanto la arquitectura de la PPE como las de las SPE son de tipo RISC, con instrucciones de un tamaño de palabra fijo de 32 bits. El PPE contiene un juego de registros de propósito general de 64 bits (GPR), un registro de coma flotante de 64 bits (FPR) y un juego de registros de tipo Altivec de 128 bits. La SPE contiene solamente registros de 128 bits. Éstos se pueden emplear para diversos tipos de datos escalares que pueden ir desde los 8 hasta los 128 bits de tamaño o, para cálculos SIMD, en una variedad de formatos enteros o de coma flotante.

Las direcciones de memoria tanto para el PPE como para las SPE’s se expresan como valores de 64 bits, proporcionando un rango teórico de direcciones de 264 bytes (16.777.216 terabytes). En la práctica no todos esos bits se implementan por hardware. De todos modos, el espacio de direcciones es extremadamente grande. Las direcciones de almacenamiento locales de las SPE se expresan como palabras de 32 bits. En la documentación relativa al Cell, el término palabra siempre se refiere a 32 bits, doble palabra a 64 bits y cuádruple palabra a 128 bits.


Influencias y contrastes

En algunos aspectos el sistema Cell se asemeja a los primeros diseños de Seymour Cray, pero a la inversa. El conocido CDC6600 empleaba un único procesador, muy rápido, para manejar los cálculos matemáticos, mientras que diez sistemas de menor velocidad ejecutaban programas más pequeños para así mantener a la memoria principal alimentada con datos.

El problema ha sido invertido en el Cell: leer datos ya no constituye el problema gracias a los complejos códigos empleados en la industria. Hoy en día el problema es decodificar los datos en un formato cada vez menos y menos comprimido lo más rápido posible.

Las modernas tarjetas gráficas tienen elementos muy parecidos a los de las SPE’s, conocidos como unidades de sombreado, con una memoria de alta velocidad asociada. Unos programas, conocidos como “sombreadores” (shaders), se cargan en dichas unidades para procesar el flujo de datos de entrada que proporcionan estadios previos (posiblemente la CPU), de acuerdo con las operaciones requeridas.

Las principales diferencias se aprecian en que las SPE’s del Cell son de propósito mucho más general que las unidades de sombreado, y la habilidad de encadenar bajo el control de un programa varias SPE’s ofrece una flexibilidad mucho mayor, permitiendo que el Cell maneje gráficos, sonido o cualquier otra carga de trabajo.

Arquitectura

Esquema del procesador Cell.

Aunque el integrado Cell puede presentar diversas configuraciones, la más básica es un chip multinúcleo compuesto de un “elemento Power de proceso (Power Processor Element, PPE), también llamado a veces “elemento de proceso” (PE); y varias “unidades sinergísticas de procesamiento” (Synergistic Processing Elements, SPE).El PPE y las SPE’s están interconectadas entre sí mediante un bus interno de alta velocidad denominado “bus de interconexión de elementos” (Element Interconnect Bus, EIB).

Debido a la naturaleza de sus aplicaciones, el Cell está optimizado para la computación de datos de coma flotante de precisión simple. Las SPE’s son capaces de ejecutar cálculos de doble precisión, pero a cambio de una penalización notable en el rendimiento. Sin embargo, existen modos de solucionar esto en el software por medio del empleo de refinamientos de tipo iterativo, lo que significa que los valores sólo serán calculados en doble precisión cuando sea necesario. Jack Dongarra y su equipo han hecho una demostración en público en la que un Cell a 3,2 GHz con 8 SPE’s proporcionaba un rendimiento igual a 100 GFLOPS procesando una matriz estándar Linpack 4096x4096 con datos de doble precisión

Elemento Power de Proceso (Power Processor Element)

El PPE es un núcleo de dos vías multihilo basado en arquitectura Power que actúa como controlador para las 8 SPE’s, que se ocupan de la mayor parte de la carga de computación. El PPE trabaja con sistemas operativos convencionales debido a su similitud con otros procesadores Power PC de 64 bit, mientras que las SPE’s están diseñadas para la ejecución de código vectorizado en coma flotante.

El PPE contiene instrucciones de 32 KB y memoria caché de nivel 1 de 32 KB, así como una caché de 512 KB nivel 2. Adicionalmente, IBM ha incorporado una unidad Altivec, la cual se encuentra configurada para procesar datos de coma flotante en doble precisión mediante pipelines.

Cada PPU puede completar dos operaciones de doble precisión por ciclo de reloj, lo cual se traduce en un rendimiento de 6,4 GFLOPS a 3,2 GHZ

Elementos Sinergísticos de Proceso (Synergistic Processing Elements, SPE)

Esquema del PPE.
Esquema del SPE.

Cada SPE se compone de una “unidad sinergística de proceso” (Synergistic Processing Unit, SPU) y una “controladora de flujo de memoria” (Memory Flow Controller, MFC, DMA, MMU, o bus interface).Una SPE es un procesador RISC con una organización SIMD de 128 bits preparada para ejecutar instrucciones de precisión doble o sencillaEn la generación actual de Cell, cada SPE contiene 256 KB de SRAM embebida, para almacenamiento de instrucciones y datos, denominada “almacenamiento local” (no confundir con “memoria local”, que en la documentación de Sony se corresponde con la VRAM), visible para la PPE y que puede ser direccionada directamente por software. Cada SPE soporta hasta 4 GB de memoria de almacenamiento local.

El almacenamiento local no opera como la caché de una CPU convencional, ya que no es ni transparente al software ni contiene estructuras para la predicción de los datos a cargar. Las SPE’s contienen una línea de registros de 128 bits con 128 entradas que mide 14,5 mm² con la tecnología de fabricación de 90 nm. La SPE puede realizar operaciones con 16 enteros de 8 bits, 8 de 16 bits, 4 de 32 bits o bien 4 números de coma flotante en precisión simple en un solo ciclo de reloj, así como realizar una operación de memoria. Obsérvese que la SPU no puede direccionar memoria del sistema directamente: las direcciones virtuales de 64 bits formadas en la SPU han de ser transmitidas a la unidad de control de flujo de memoria (MFC) para ejecutar una operación DMS dentro del espacio de memoria del sistema.

En un escenario de uso típico, el sistema cargará pequeños programas en las SPE’s (parecidos a hilos), encadenándolas juntas de manera que cada una se haga cargo de un pequeño paso en una operación compleja. Por ejemplo, un decodificador de sobremesa podría cargar programas para leer un DVD, decodificar audio y vídeo y control de pantalla; y los datos serían transmitidos de SPE a SPE hasta que finalmente alcanzaran la televisión. Otra posibilidad consiste en dividir los datos de entrada y poner a operar a las SPE’s en la misma tarea en paralelo. A 3,2 GHZ, cada SPE proporciona un rendimiento teórico de 25,6 GFLOPS en datos de precisión simple.

Comparado con un ordenador personal moderno, el mayor rendimiento relativo de un procesador Cell en coma flotante parece dejar en ridículo las capacidades de unidades SIMD en procesadores de sobremesa como el Pentium 4 y el Athlon 64. Sin embargo, comparar tan sólo las capacidades en coma flotante de un sistema es una manera de efectuar mediciones unidimensional y fuertemente ligado a ciertas aplicaciones. A diferencia de un procesador Cell, las CPU’s de escritorio están mejor capacitadas para ejecutar software de propósito general ejecutado habitualmente en ordenadores personales. Además de ejecutar varias instrucciones por ciclo de reloj, los procesadores de Intel y AMD proveen predicción de bifurcaciones. El Cell se diseñó para compensar esto con la ayuda de su compilador, en el que se crean instrucciones para la preparación de bifurcaciones. Para datos en precisión doble, usualmente empleados en ordenadores personales, el rendimiento del Cell decrece considerablemente, pero aún alcanza los 14 GFLOPS.

Pruebas recientes realizadas por IBM muestran que las SPE’s pueden alcanzar el 98% de su máximo teórico empleando multiplicación de matrices paralelas.

Toshiba ha desarrollado un coprocesador operado por cuatro SPE’s y ningún PPE, llamado SpursEngine, que está diseñado para acelerar 3D y efectos de películas en electrónica de consumo.

Bus de Interconexión de Elementos (Element Interconnect Bus, EIB)

El EIB es un bus de comunicaciones interno del procesador Cell que interconecta los diversos elementos de sistema integrados en el chip: el procesador PPE, el controlador de memoria (MIC), los ocho coprocesadores SPE y las dos interfaces externas I/O del chip, formando un total de 12 participantes. El EIB incluye una unidad de asignación que funciona como un conjunto de semáforos. En algunos de los documentos de IBM los participantes del EIB son denominados “unidades”.

Actualmente, el EIB se implementa como un anillo circular compuesto de 4 canales unidireccionales de 16 Bytes que rotan en sentido contrario a las agujas del reloj por parejas. Cuando los patrones del tráfico los permiten, cada canal puede transmitir hasta un máximo de 3 transacciones de forma concurrente. Dado que el EIB funciona a la mitad de velocidad del reloj del sistema, el rendimiento efectivo son 16 bytes cada dos ciclos de reloj. Con tres transacciones activas en cada uno de los cuatro anillos, esto es, con una concurrencia máxima, el pico máximo instantáneo en ancho de banda del EIB es de 96 bytes por ciclo de reloj (12 transacciones simultáneas*16 bytes/2 ciclos de reloj). Aún cuando este valor es normalmente citado por IBM resulta irreal escalar este número por la velocidad del procesador. La unidad de asignación impone restricciones adicionales, las cuales se discuten más abajo en la sección asignación de ancho de banda.

David Krolak, Ingeniero Jefe de IBM y director de diseño del EIB, explica el modelo de concurrencia:

« Un anillo puede comenzar una operación cada tres ciclos. Cada transferencia dura 8 impulsos. Esta fue una de las simplificaciones que hicimos. De este modo, se optimiza para la transferencia de muchos datos. Si efectúas operaciones pequeñas, no funciona tan bien. Piensa en trenes de ocho vagones circulando por esta vía. Siempre que los vagones no colisionen entre sí, pueden coexistir en la vía. »

Cada uno de los participantes en el EIB posee un puerto de lectura de 16 bytes y otro de escritura de 16 bytes. El límite para cada participante individual es el de leer y escribir a una velocidad de 16 bytes por ciclo de reloj (por simplicidad muchas veces se indican 8 bytes por ciclo de reloj). Téngase en cuenta que cada SPU contiene una cola de administración DMA dedicada capaz de de planificar grandes secuencias de transacciones hacia diversos puntos de destino sin interferir con los cálculos que la SPU esté llevando a cabo. Estas colas DMA pueden ser manejadas tanto de manera local como remota, proporcionando una flexibilidad adicional en el modelo de control.

Los datos circulan por un canal EIB en el sentido de las agujas del reloj alrededor del anillo. Dado que existen doce participantes, el número total de pasos alrededor del canal de vuelta al origen son doce. Seis pasos es la distancia máxima entre cualquier par de participantes. A un canal EIB no se le permite comunicar datos que requieran más de seis pasos. Este tipo de datos habrá de tomar la ruta más corta en la otra dirección. El número de pasos implicados en enviar un paquete tiene poco impacto en la latencia de transferencia: la velocidad de reloj que controla todos los pasos es muy rápida con relación a cualquier otra consideración. Sin embargo, distancias de comunicación más largas sí que son perjudiciales para el rendimiento general del EIB, dado que reducen la concurrencia disponible.

A pesar del deseo original de IBM de implementar el EIB como un conmutador (crossbar) más potente, la configuración circular que adoptaron para economizar recursos en muy raras ocasiones representa un factor limitador en el rendimiento del chip Cell como un todo. En el peor de los casos, el programador ha de tener un cuidado extra a la hora de planificar patrones de comunicación allí donde el EIB es capaz de funcionar con altos niveles de participación.

David Krolak explica:

« Bueno, al principio, en los inicios del proceso de desarrollo, varias personas promocionaban la idea de un conmutador (crossbar switch). Por el modo en que el bus estaba diseñado se podría retirar sin más el EIB e implantar un conmutador siempre que estuvieras dispuesto a dedicar más espacio en la oblea del chip a pistas. Teníamos que encontrar un equilibrio entre conectividad y espacio y sencillamente no existía suficiente espacio para poner un conmutador. Así que se nos ocurrió esta estructura de anillo, que pensamos es bastante interesante. Encaja con las restricciones de espacio y aún así proporciona anchos de banda bastante notorios. »

Asignación del ancho de banda

A la hora de citar cifras de rendimiento, asumiremos un procesador Cell corriendo a 3,2 GHz, la más frecuentemente citada. A esta frecuencia de reloj cada canal transmite a un ritmo de 25,6 GB/s. Contemplando el EIB aisladamente de los elementos que interconecta, alcanzar doce transacciones simultáneas con este ratio de transferencia arrojaría un ancho de banda teórico de 207,2 GB/s. Basándose en esta perspectiva muchas de las publicaciones de IBM describen el ancho de banda disponible en el EIB como “mayor de 300 GB/s”. Este número refleja el pico instantáneo de ancho de banda del EIB escalado por la frecuencia del procesador.

Sin embargo, otras restricciones técnicas se ven involucradas en el mecanismo de arbitraje para los paquetes que son aceptados en el bus. Como explica The IBM Systems Performance Group:

« Cada unidad en el EIB puede enviar o recibir simultáneamente 16 bytes de datos por cada ciclo de bus. El máximo ancho de banda para datos para todo el EIB es limitado por la velocidad máxima a la que las direcciones son vigiladas por todas las unidades en el sistema, que es de uno por ciclo de bus. Dado que cada petición de dirección vigilada puede transferir potencialmente hasta 128 bytes, el pico de ancho de banda teórico en el EIB a 3,2 GHz es de 128 bytes x 1,6 GHz = 204,8 GB/s. »

Esta cita representa aparentemente la mayor revelación pública por parte de IBM de este mecanismo y su impacto. La unidad de arbitraje del EIB, el mecanismo de vigilancia y la generación de interrupciones en segmentos o los fallos de traducción de página no están bien descritos en los juegos de documentación pública de IBM.

En la práctica el ancho de banda efectivo del EIB puede también estar limitado por los participantes involucrados en el anillo. Mientras que cada uno de los nueve núcleos de proceso puede mantener una velocidad de lectura y escritura de 25,6 GB/s de manera simultánea, el adaptador de controladora de memoria (memory interface controller ,MIC) está sujeto a un par de canales de memoria XDR que permiten un tráfico máximo de 25,6 GB/s para escrituras y lecturas combinadas; y las dos controladoras de E/S, según aparece en la documentación, soportan una velocidad máxima combinada de entrada de 25,6 GB/s y una velocidad máxima combinada de salida de 35 GB/s.

Para aumentar aún más la confusión, algunas publicaciones antiguas hablan del ancho de banda del EIB asumiendo un reloj de sistema de 4 GHz Este marco de referencia resulta en una cifra de ancho de anda instantáneo de 384 GB/s y en un valor de ancho de banda limitado por arbitraje de 256 Gb/s. El valor teórico de 204,8 GB/s, el más citado, es el mejor a tener en cuenta, considerando cualesquiera otros aspectos. El IBM Systems Performance Group ha realizado demostraciones donde se alcanzaban flujos de datos de 197 GB/s alrededor de las SPU’s en un procesador Cell corriendo a 3,2 GHz, así que esta cifra es un indicador fiable también en la práctica.

Interconexión óptica

Sony está actualmente trabajando en el desarrollo de una tecnología de interconexión óptica para su empleo como adaptador interno o entre dispositivos externos para varios tipos de sistemas de electrónica de consumo y de entretenimiento basados en Cell.

Controladora de memoria y E/S

El procesador Cell contiene un macro XIO Rambus doble canal de nueva generación, que interconecta con memoria XDR Rambus. La controladora adaptadora de memoria (MIC) está separada del macro XIO y ha sido diseñada por IBM. El enlace XIO-XDR corre a 3,2 GB/s en cada pin. Dos canales de 32 bits pueden proporcionar un máximo teórico de 25,6 GB/s.

El adaptador de sistema empleado en Cell, también un diseño Rambus, es conocido como FlexIO. La interface FlexIO está organizada en 12 carriles, siendo cada carril un canal de 8 bits punto a punto. Cinco caminos de 8 bits de ancho punto a punto son carriles de entrada al Cell, mientras que los siete restantes son de salida. Esto proporciona un ancho de banda máximo teórico de 62,4GB/s (36,5GB/s salida, 26GB/s entrada).

La interface FlexIO puede poseer una frecuencia de reloj independiente (típicamente, a 3,2 GHz). Cuatro canales de entrada y cuatro de salida se encargan de implementar la coherencia de memoria.


Consolas de videojuegos

La consola de videojuegos PlayStation3 de Sony contiene la primera aplicación fabricada del procesador Cell, a una velocidad de reloj de 3,2 GHz, con siete de los ocho SPE’s operacionales, lo que permite a Sony incrementar la producción en la fabricación del procesador. Solo seis de los siete SPE’s son accesibles para los desarrolladores, mientras que el séptimo se reserva para el sistema operativo.

Cine en casa

Se ha dicho que Toshiba está considerando la posibilidad de producir televisores de alta definición (HDTV’s) haciendo uso del Cell. Ya han presentado un sistema que decodifica 48 flujos de MPEG-2 en definición estándar simultáneamente en una pantalla de 1920x1080. Esto permitiría al usuario elegir un canal de entre docenas de vídeos en miniatura presentados simultáneamente en pantalla.

Supercomputación

La nueva supercomputadora planeada por IBM, el IBM Roadrunner, será un híbrido entre procesadores de propósito general CISC y procesadores Cell. Se dice que esta combinación producirá el primer ordenador capaz de operar a la velocidad del petaflop. Usará una versión actualizada del procesador Cell, fabricada con tecnología de 65 nm y con SPU’s mejoradas que puedan manejar cálculos en doble precisión en los registros de 128 bits, alcanzando los 100 GFLOPS en doble precisión.

Computación en clúster

Los clústeres de consolas PlayStation 3 son una atractiva alternativa a los sistemas de gama alta basados en Blades Cell. El Innovative Computing Laboratory, cuyo grupo lidera Jack Dongarra, dentro del departamento de ciencia computacional de la Universidad de Tenesse, investigó dicha aplicación en profundidad. Terrasoft Solutions, implementando las investigaciones de Dongarra, vende clústeres de PlayStation 3 de 8 o 32 nodos, con Yellow Dog Linux preinstalado. Como publicó la revista Wired el 17 de octubre de 2007, una aplicación interesante del uso de PlayStation 3 en configuración de clúster fue implementada por el astrofísico Dr. Gaurav Khanna, que sustituyó el tiempo empleado en superordenadores por ocho PlayStation 3.El laboratorio de computación bioquímica y biofísica de la Universidad de Pompeu Fabra en Barcelona construyó un sistema BOINC basado en el software CellMD (el primero diseñado específicamente para el Cell) llamado PS3GRID para computación compartida.

Con la ayuda del poder de cálculo de alrededor de medio millón de consolas PlayStation 3, el proyecto de computación distribuida Folding@Home ha sido reconocido por el libro Guiness de los Records como la más poderosa red de computación distribuida del mundo. El primer record se obtuvo el 16 de septiembre de 2007, cuando el proyecto sobrepasaba un PETAFLOPS, lo que nunca había sido alcanzado antes por ninguna red de computación distribuida. Los esfuerzos colectivos permitieron que sólo las PS3 alcanzaran la marca del PETAFLOPS el 23 de septiembre de 2007. En comparación, la supercomputadora más potente del mundo, el IBM BlueGene/L, tiene una potencia de alrededor de 280,6 TFLOPS. Esto significa que la potencia de cálculo de Folding@Home es aproximadamente cuatro veces la de BlueGene/L (aunque la interconexión entre CPU’s en BlueGene/L es más de un millón de veces más rápida que la media de velocidad en la red Folding@Home).

domingo, 7 de septiembre de 2008

Las redes móviles recuperan las ondas milimétricas

Los resultados iniciales de una investigación realizada por la Universidad de Kansas con la colaboración de importantes compañías de telecomunicaciones abren nuevos campos de aplicación de la onda milimétrica en las comunicaciones móviles. Hasta ahora, la onda milimétrica es utilizada en distancias cortas para evitar los accidentes atmosféricos que afectan a sus frecuencias. Los investigadores han logrado buenos resultados con distancias de 8 kilómetros con tiempo despejado y elaboran un mapa de los fenómenos meteorológicos perturbadores, posibilitando que éstos puedan ser esquivados y el uso de caminos alternativos de la red


Wimax.comEn las redes en malla de telecomunicaciones, los nodos que las forman están interconectados entre sí por múltiples canales. Además, cada uno de ellos está conectado a uno o a varios nodos, de modo que la redundancia ofrecida por una red con esta topología ofrece una enorme fiabilidad. Por eso será una de las dos instancias más demandadas en el nuevo mundo emergente de las comunicaciones 4G (cuarta generación de tecnologías de telefonía móvil).

La otra será probablemente la onda milimétrica, un espectro de radiofrecuencia disponible para la comunicación inalámbrica de banda ancha, y que opera entre las frecuencias 70-76, 81-86 y 92-94 GHz. Estas frecuencias tienen el inconveniente de que, más allá de una determinada distancia, pueden ser afectadas fácilmente por las precipitaciones, las pequeñas gotas de lluvia y otras partículas, por lo que su utilización no parece adecuada en principio para las comunicaciones inalámbricas de larga distancia.

A cambio, ofrecen como ventaja su capacidad para la transmisión de datos a velocidades del orden de gigabites por segundo, de ahí su potencial para los servicios metropolitanos de alta velocidad y su interés para las nuevas generaciones de redes de telefonía móvil.

Atenuación por lluvia

El Centro de Información y Tecnología de las Telecomunicaciones (ITTC en inglés) de la Universidad de Kansas lidera una investigación multidisciplinar en la que se estudian y analizan tanto la eficacia de los sistemas de comunicación de onda milimétrica como los eventos climatológicos que pueden debilitar la señal y perturbar las transmisiones, según un
comunicado de dicha institución.

Le acompañan como colaboradores en la misma la compañía Sprint Nextel –con sede en Reston, Virgina, y una de las empresas de telecomunicaciones más grandes del mundo, que gestiona la tercera red inalámbrica más grande de EEUU– y Sunflower Broadband –un importante operador de cable de Kansas–, conscientes de lo que la investigación en este campo puede aportar a la reducción de costes y al aumento de rendimiento de los servicios inalámbricos de banda ancha.

Además de varias cámaras que toman in situ imágenes cada 30 segundos, proveyendo información suplementaria, los investigadores de ITTC han situado estaciones climatológicas tanto en sedes de Sunflower Broadband, alrededor de Lawrence, como en el campus de la universidad, para recolectar datos meteorológicos como el índice de precipitación, la humedad relativa del aire, la temperatura, la dirección y velocidad del aire, la presión barométrica y el tamaño de gota de lluvia.

El rendimiento de estas redes puede ser afectado no sólo por gotas demasiado pequeñas –demasiado para caer como precipitación, sino por otras partículas “originadas a partir de la polución aérea o también por causas naturales”, según explica Donna Tucker, co-investigadora y profesora asociada de geografía.

Clima y redes

Los investigadores situaron radios en los techos de algunos edificios de la universidad y las comunicaron entre sí mediante frecuencias de onda milimétrica con una radio fijada a un silo de cereales en Pendleton Farmsn, a unos 8 Km. de distancia. Y los resultados iniciales de su trabajo revelan que, más allá de las cerradas y próximas distancias en que tradicionalmente es utilizada, la onda milimétrica trabaja bien sobre esta otra distancia relativamente larga con tiempo despejado, y está disponible la mayor parte del tiempo.

Tim Euler, estratega tecnológico de Sprint Nextel, explicó que los futuros productos de la compañía precisarán una vasta amplitud de banda para diferenciarse en el mundo de la comunicación 4G. Por eso considera tan importantes las investigaciones realizadas por el ITTC, que desarrolla además tecnologías para la implementación de redes fuertes y elásticas que puedan redireccionar los datos alrededor de los campos impactados.

martes, 19 de agosto de 2008

Arquitecturas de microprocesadores PowerPC

1. Historia

La filosofía RISC fue introducida por el científico informático John Cocke en la década de los años 70s. En 1980, IBM comienza el proyecto IBM 801 donde se derivaría el primer procesador RISC, el proyecto estuvo a cargo por John Cocke. Este procesador RISC ofreció un rendimiento bastante malo, lo cual obligó a IBM emprender el Proyecto América, con el cual logra crear el primer procesador de la arquitectura Power.

IBM PowerPC 601
IBM PowerPC 601

En 1991, IBM se da cuenta del potencial de su diseño Power y busca una alianza con Apple y Motorola para impulsar su creación entonces surge la alianza AIM (Apple, IBM y Motorola, actualmente Freescale) cuyo objetivo fue desbancar el dominio Microsoft e Intel que ofrecía sistemas basados en 80386 y 80486.

2. Implementaciones del PowerPC

El PowerPC ha sido una de las arquitecturas más extendidas gracias a su alto rendimiento y de gran implementación tecnológica. Es un pequeño listado de las implementaciones del PowerPC a lo largo de su historia.

2. 1. PowerPC 601

En 1993, aparece la primera generación PowerPC con el nombre clave PowerPC 601, fue desarrollada por la alianza Apple, IBM y Motorola. En Austin, fue el lugar donde desarrollaron el procesador, en el diseño utilizaron la interfaz de bus del Motorola 88110. El PowerPC 601 tuvo bastante éxito.

2. 2. PowerPC 7447

El PowerPC 7447 es un procesador de 32 bits de un solo núcleo que fue usado extensamente por Apple en sus líneas Powerbook, ibook y Mac mini desde finales del año 2003 hasta finales del 2005 justo antes de cambiar a procesadores Intel. Estos procesadores se usaron en velocidades de 1 Ghz en el Powerbook de 12" DVI hasta 1.67Ghz en el Powerbook de 15" y 17" dual layer. Estos últimos usaron una variación llamada 7447a. Apple denominó a este procesador como G4 al igual que las versiones anteriores como el 7455. Lo destacable de un procesador G4 era que incluía por primera vez el set de instrucciones Altivec o Velocity Engine como lo publicitaba Apple, el cual no estaba disponible en la generación anterior de procesadores conocidos como G3. El G5 o 750 también incluía este set de instrucciones pero era de 64 bits. El G5 consumía más energía que el G4 y se calentaba considerablemente más por lo que nunca fue utilizado en máquinas pequeñas o portátiles, por eso coexistió con el 7447.

Las diferencias entre el 7447 y el 7455 (su predecesor) es que el primero cuenta con el doble de caché secundario o L2 ayudando a mantener al procesador bien alimentado con instrucciones y datos.

2. 3. PowerPC 970

2. 4. Xenon

El Xenon es el núcleo de la consola Xbox 360 de Microsoft. Está basado en la ISA PowerPC, cuenta con tres núcleos independientes y simétricos a 3,2 GHz con 32 KiB de caché L1. Posee un caché L2 de 1024 KB a 1,6 GHz e implementa una derivación de las extensiones VMX, VMX128 (las mismas extensiones VMX, pero con 128 registros y capacidad de multihilo simultáneo). Proporciona una velocidad de bus a 5,4 GHz y hasta 21,6 GiB/s de ancho de banda.

2. 5. Cell Broadband Engine

En el 2001, Sony, Toshiba e IBM, comenzaron a desarrollar un procesador para servidores, consolas de videojuegos y equipos portátiles. El resultado fue el Cell Broadband Engine, su núcleo fue basado en el ISA Power cuenta con 8 coprocesadores que permiten acelerar de forma paralela las operaciones vectoriales y de multimedia. Las primeras versiones del Cell operan a frecuencias de 4,8 GHz (cabe mencionar que la Playstation 3 corre a 3,2 GHz y existen prototipos a 65 nm que trabajan a 6 GHz).

3. Plataformas que utilizan PowerPC

Este microprocesador está diseñado con base en la arquitectura POWER de IBM con algunos componentes tomados del microprocesador Motorola 68000 para darle compatibilidad con arquitectura de los ordenadores de Apple.

En ella pueden ser ejecutados, al menos, los sistemas operativos:

El 6 de junio de 2005, Steve Jobs confirmó el rumor que venía comentándose en aquellos días; Apple se cambiaba a Intel. La excusa de Jobs fue que los procesadores PowerPC padecen serios problemas de temperatura, etcétera. Para el asombro de todos los presentes a la WWDC 2005, Steve Jobs destacó que Mac OS X tuvo una "Doble vida secreta" ya que el mismo había sido compilado tanto para x86 como para PowerPC desde su primera versión.

Pero esto no significa que la arquitectura PowerPC se vaya a quedar en el olvido, pues la idea de IBM es seguir produciéndoselos a pesar de no contar ya con su mayor cliente, Apple[cita requerida]. Las videoconsolas de nueva generación más importantes: Microsoft Xbox 360, Sony PS3 Y Nintendo Wii van equipadas con un procesador de arquitectura PowerPC, aunque difieren en cuanto a potencia y composición.

La arquitectura PowerPC, además, mantiene un amplio uso en sistemas SoC (System On Chip) y sistemas empotrados en general, como por ejemplo los Mars Rovers de la misión Mars Exploration Rover de la NASA.

4. Listado de procesadores PowerPC

  1. 601 MPC601 50 y 66 MHz
  2. 602 productos para consumidor (bus de datos y direcciones multiplexados)
  3. 603 para ordenadores portátiles
  4. 603e
  5. 604
  6. 604e
  7. 620 la primera implementación de 64 bits
  8. x704 BiCOMOS implementación PowerPC por Exponential Technologies
  9. 750 G3 (1997) 233 MHz y 266 MHz
  10. 7400 G4 (1999) 350 MHz
  11. 750FX anunciado por IBM en 2001 y disponible en 2002 en 1 GHz.
  12. 970 G5 (2003) implementación 64-bit derivada del IBM PowerPC G4 en velocidades de 1,4 GHz, 1,6 GHz, 1,8 GHz, 1,9 GHz, 2,0 GHz, 2,1 GHz, 2,3 GHz, 2,5 GHz, y 2,7 GHz

miércoles, 9 de julio de 2008

Aprenda ensamblador 80x86

  • INTRODUCCIÓN: Qué es y qué no es este documento.
  • PROLEGÓMENOS: Para los que no hayan visto nada de ensamblador en su vida.
  • CAPITULO I: Bienvenido a la familia (Intel).
  • CAPÍTULO II: Repite comigo. Tengo un 8086, tengo un 8086...
  • CAPÍTULO III: El movimiento se demuestra moviendo. La instrucción MOV y los modos de direccionamiento.
  • CAPITULO IV: Programas. Los ejecutables en MSDOS y Linux
  • CAPÍTULO V: Directivas y más directivas
  • CAPÍTULO VI: Juego de instrucciones del 8086. ¡Mamá, ya sé sumar!
  • CAPÍTULO VII: Juego de instrucciones del 8087(*). El amigo de los niños
  • CAPÍTULO VIII: Instrucciones MMX. Operaciones con enteros a toda leche.
  • CAPÍTULO IX: C & Ensamblador(*). La unión hace la fuerza.
  • CAPÍTULO X: Interrupciones. (a vista de pájaro)
  • CAPÍTULO XI: Entrada/Salida(*). Servicios del S.O. y la BIOS. Los puertos E/S.
  • CAPÍTULO XII: Sistemas de 32 bits.(*) Todo lo que quisiste hacer y nunca te dejaron.
  • CAPÍTULO XIII: Memoria alta, extendida, expandida... Brevísimas anotaciones sobre un sistema obsoleto.
  • Enlaces: (Aunque un poco anticuados) Por si todo esto se te queda corto.

jueves, 3 de julio de 2008

Un nuevo microchip gasta 30 mil veces menos energía en reposo

Sirve para fabricar sensores 1.000 veces más pequeños que los convencionales

Informáticos de la universidad norteamericana de Michigan han desarrollado un microprocesador que usa hasta 30.000 veces menos energía cuando está en reposo que uno convencional. Ha sido llamado “Phoenix” y lo extraordinario es que su batería es igual de reducida que él, 1 milímetro, precisamente gracias a la poca energía que consume. Ya se está usando en la fabricación de sensores, 1.000 veces más pequeños de lo habitual, para aplicaciones biomédicas. Asimismo, se pueden usar para crear una red invisible de sensores que vigilen el agua o el aire o para comprobar la integridad estructural de los edificios o puentes. Por Raúl Morales.

Un nuevo microchip gasta 30 mil veces menos energía en reposo
Un microprocesador desarrollado en la Universidad de Michigan usa 30.000 veces menos energía en su modalidad de reposo y 10 veces menos en su modalidad activa que los microprocesadores que podemos encontrar ahora mismo en el mercado.

El procesador Phoenix, que establece una nueva marca de bajo consumo de energía, se diseñó para el empleo en aparatos de avanzada activados por sensores, tales como implantes médicos, controles de ambiente y equipo de vigilancia.

El procesador consume apenas 30 picovatios en su modalidad de reposo. Un picovatio equivale a una billonésima de vatio. Según sus creadores, la energía almacenada en una batería de reloj sería suficiente para mantener el Phoenix en operación durante 263 años.

Scott Hanson, estudiante doctorado en el Departamento de Ingeniería Eléctrica y Ciencia de Computadoras, presentó el diseño en el Simposio del Instituto de Ingenieros Eléctricos y Electrónicos sobre Circuitos VLSI (la sigla en inglés para "integración en escala muy grande). Hanson dirige este proyecto de manera conjunta con Mingo Seowk, estudiante doctorado en el mismo departamento.

Phoenix mide un milímetro cuadrado. No hay nada extraordinario en su tamaño, ya que muchos sensores y artefactos electrónicos modernos miden un milímetro cuadrado o menos. Pero Phoenix es del mismo tamaño que su batería, y esto sí que es un logro importante.

Reducir el tamaño

En muchos casos, las baterías son mucho más grandes que los procesadores a los que alimentan de energía y esto agranda drásticamente el tamaño y el costo del sistema entero. Por ejemplo, la batería de un ordenador portátil es casi 5.000 veces más grandes que su procesador y proporciona sólo unas pocas horas de energía.

"Este consumo bajo nos permite reducir el tamaño de la batería y, en consecuencia, el tamaño de todo el sistema. Se calcula que nuestro sistema, incluida la batería, es unas 1.000 veces más pequeños que el más pequeño de los sistemas de sensores conocidos ahora", comenta David Blaauw, profesor en el Departamento de Ingeniería Eléctrica e Informática, en un comunicado.

Otro grupo de investigadores de la propia Universidad de Michigan está colocando el Phoenix en un sensor biomédico que controla la presión ocular en pacientes con glaucoma. Los ingenieros creen que procesadores como éste también podrían dispersarse sobre un área para crear una red invisible de sensores que vigilen el agua o el aire, o para detectar movimientos. Asimismo, podrían proporcionar información sobre la integridad estructural de los edificios y puentes nuevos.

Para lograr ese muy bajo consumo de energía, los ingenieros de Phoenix se enfocaron en la modalidad de reposo, que es la forma en que los sensores pasan más del 99%. Los sensores se "despiertan" brevemente para hacer trabajo de computación a intervalos regulares.

El sistema pasa a reposo por omisión. Un temporizador de baja energía funciona como un reloj despertador en reposo y despierta al Phoenix cada diez minutos durante una décima de segundo para el cumplimiento de un conjunto de 2.000 instrucciones.

Compuerta de energía

Por otro lado, un diseño único de compuerta de energía es parte importante de la estrategia del reposo. Las compuertas de energía impiden que la corriente eléctrica llegue a las partes del microprocesador que no son esenciales durante el reposo de la memoria.

En los procesadores típicos más avanzados las compuertas de energía son amplias y de poca resistencia, de manera que permiten el paso de tanta energía como sea posible cuando se enciende el aparato. Estos microprocesadores se despiertan rápidamente y funcionan velozmente, pero cuando están en la modalidad de "sueño" se escapa una significativa cantidad de corriente eléctrica.

Los ingenieros del Phoenix usaron compuertas de energía mucho más estrechas que restringen el flujo de corriente eléctrica. Esa estrategia redujo las pérdidas de energía.

"Una compuerta de energía de un tamaño tan pequeño es algo inaudito en el diseño tradicional dado que limita gravemente el desempeño de un procesador", dijo Seowk,

Para resolver esta pérdida en el funcionamiento, el equipo de Michigan incrementó el voltaje de operación del microprocesador, aumentando la energía básica en aproximadamente el 20% cuando el procesador está "despierto". Pero Phoenix sigue operando con 0,5 voltios en lugar de los 1 a 1,2 voltios requeridos por los microprocesadores típicos.