Anda di halaman 1dari 32

IBM POWER

De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda POWER es una arquitectura con un conjunto de instrucciones RISC diseado por IBM. Su nombre proviene de "Performance Optimization With Enhanced RISC". POWER tambin es el nombre de una familia de procesadores de IBM con el conjunto de instrucciones de esta arquitectura y que se usan como CPU principal en servidores IBM, as como minicomputadores, estaciones de trabajo y supercomputadores. Pero sin embargo hay muchos microprocesadores que son derivados o variantes de este que se encuentran en gran variedad de equipos que van desde computadores para automviles hasta consolas de videojuegos.

Procesadores POWER 1. 2. 3. 4. 5. 6. 7. IBM POWER POWER2 POWER3 POWER4+ procesador IBM de 1,4 GHz de los servidores Regatta (RS/6000 y pSeries) POWER5 POWER6 POWER7

El nuevo procesador POWER 7 tiene hasta ocho ncleos capaces de correr hasta cuatro hilos cada uno, transformado virtualmente cada procesador en un chip de 32 ncleos y dndole una clara ventaja sobre cualquier de los productos Intel o AMD para servidores. Los procesadores POWER7 son fabricados bajo un proceso de 45nm, vendr en presentaciones de cuatro, seis y ocho ncleos, y tienen tres niveles de caches, un cache L1 de 32kb por ncleo, el cache L2 de 256kb por ncleo y el cache L3 de 32MB que se comparte entre todos los ncleos. El Wall Street Journal estima que la venta de servidores Unix para la investigacin de cncer, anlisis para instituciones financieras y administraciones de redes elctricas suma unos $14000 millones al ao. Adems de estar en los nuevos servidores IBM Power 700, los procesadores POWER7 sern el corazn de la supercomputadora Blue Water. Este proyecto que ser terminado en el 2011 utilizar no menos de 25.000 procesadores POWER7 de ocho ncleos cada uno con una velocidad de 4,0GHz para un total de 200.000 ncleos fsicos.

Entre sus variantes se encuentran: 1. PowerPC la variante ms extendida de la arquitectura power, desarrollado por la alianza AIM, es usado principalmente en computadoras Mac y mantiene la mayor parte de la arquitectura del Power. 2. Gekko 485 MHz (usado en Nintendo GameCube)

3. Cell El procesador de la Play Station 3. Desarrollado por IBM en conjunto con Sony y Toshiba y basado en la tecnologa IBM POWER 4. IBM en conjunto con Nintendo desarrollo el procesador Broadway de la consola Wii 5. IBM ha desarrollado para Microsoft la CPU de su nueva consola Xbox 360 constituida por 3 ncleos de procesamiento simtrico, 1 Mb de cach L2 y un rendimiento total de 9 GFLOPS. Nota: IBM se refiere ms comnmente a los procesadores y a su arquitectura como POWER (con maysculas).

Conjunto de instrucciones
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada, como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas.
Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando:
{{subst:Aviso referencias|Conjunto de instrucciones}} ~~~~

Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del ingls Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificacin que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseo particular de una CPU. El trmino describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos. Existe principalmente de 3 tipos: CISC (Complex Instruction Set Computer), RISC (Reduced Instruction Set Computer) y SISC (Simple Instruction Set Computing). La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este conjunto de caractersticas de la microarquitectura, que son los elementos y tcnicas que se emplean para implementar el conjunto de instrucciones. Entre estos elementos se encuentran las microinstrucciones y los sistemas de cach. Procesadores con diferentes diseos internos pueden compartir un conjunto de instrucciones; por ejemplo, el Intel Pentium y AMD Athlon implementan versiones casi idnticas del conjunto de instrucciones x86, aunque tienen diseos internos completamente opuestos.

ndice

[ocultar]

1 El lenguaje mquina 2 Implementacin del conjunto de instrucciones 3 Diseo del conjunto de instrucciones 4 Caractersticas que debe tener un conjunto de instrucciones 5 Tipos de instrucciones y ejemplos 6 Vase tambin

El lenguaje mquina[editar]
El lenguaje mquina est construido a partir de los estados discretos o instrucciones. En la arquitectura de procesamiento, una instruccin dada puede especificar:

Registros particulares para operaciones aritmticas, de direccionamiento o de control. Ubicaciones particulares de memoria Modos de direccionamiento para interpretar operandos

Las operaciones ms complejas se construyen a partir de estas, que(en una mquina Von Neumann) se ejecutan secuencialmente, o segn el control de flujo. Muchas o pocas de las operaciones disponibles incluidas en la mayora de conjuntos son:

Desplazamiento o Establecer un registro a un valor constante o Mover datos desde una posicin de memoria a un registro y viceversa. Esto se realiza para obtener datos para operaciones matemticas y su almacenamiento. o Leer y escribir datos desde dispositivos de hardware Operaciones matemticas o Sumar, restar, multiplicar o dividir dos registros y colocar el resultado en alguno de ellos. o Realizar operaciones bit a bit, teniendo el AND y el OR de cada bit en un par de registros, o el NOT de cada bit en un registro. o Comparar dos valores que se encuentren en registros(por ejemplo, si son iguales o si uno es mayor que otro) Afectan al flujo de programa o Saltar a otra posicin del programa y ejecutar instrucciones all. o Saltar a otra posicin si se cumple cierta condicin o Saltar a otra posicin, pero salvando la posicin actual para poder volver (realizar una llamada, por ejemplo call printf)

Algunos ordenadores incluyen instrucciones "complejas". Dichas instrucciones pueden tomar muchas instrucciones en otros equipos. Estas se caracterizan por instrucciones que necesitan varios pasos, como el control de mltiples unidades funcionales. Algunos ejemplos son:

Ahorro de registros en la pila Mover grandes bloques de memoria

Complejas operaciones and/or con aritmtica de coma flotante, tales como el seno o la raz cuadrada. Instrucciones que combinan ALU con un operando de la memoria mas que de registros.

Un tipo complejo de la instruccin que ha llegado a ser particularmente popular recientemente es SIMD (Single Instruction, Multiple Data), una operacin que realice la misma operacin aritmtica en pedazos mltiples de datos al mismo tiempo. SIMD tienen la capacidad de manipular vectores y matrices grandes en tiempo mnimo. Las instrucciones de SIMD permiten la paralelizacin fcil de los algoritmos implicados comnmente en sonido, imagen, y el proceso video. Varias implementaciones de SIMD se han trado al mercado bajo nombres comerciales tales como MMX, 3DNow! y AltiVec. El diseo de sistemas de instruccin es una edicin compleja. Haba dos etapas en la historia para el microprocesador. El primer era el CISC (Complex Instruction Set Computer) que tena muchas instrucciones diferentes. En los aos 70 IBM hicieron la investigacin y encontraron que muchas instrucciones en el sistema podran ser eliminadas. El resultado era el RISC (Reduced Instruction Set Computer), una arquitectura que utiliza un sistema ms pequeo de instrucciones. Un conjunto de instruccin ms simple puede ofrecer el potencial para velocidades ms altas, tamao reducido del procesador, y consumo de energa reducido. Sin embargo, un conjunto ms complejo puede optimizar operaciones comunes, mejorar memoria/eficiencia de cache, o simplificar la programacin.

Implementacin del conjunto de instrucciones[editar]


Cualquier conjunto de instrucciones se puede implementar de varias maneras. Todas las maneras de implementar un conjunto de instrucciones dan el mismo modelo programado, y todas pueden hacer funcionar los mismos ejecutables binarios. Las varias maneras de implementar un conjunto de instrucciones dan diversas compensaciones entre el coste, el funcionamiento, el consumo de energa, el tamao, el etc. Al disear microarquitecturas, los ingenieros usaron bloques de circuitos electrnicos duramente-conectados (diseado a menudo por separado) por ejemplo l, los multiplexores, los contadores, los registros, ALUs etc. Un cierto tipo del lenguaje de transferencia de registros es a menudo usado para describir la codificacin y la secuencia de cada instruccin de ISA usando esta microarquitectura fsica. Hay tambin algunos nuevos diseos de CPU que compilan el conjunto de instruccin a una RAM escribible o FLASH dentro de la CPU (tal como el procesador Recursiv y el Imsys Cjip), o FPGA (computacin reconfigurable). Western Digital MCP-1600 es un ejemplo antiguo, usando una ROM dedicada, separada del microcdigo.. ISA se puede tambin emular en software por un intrprete. Naturalmente, debido a la interpretacin de overhead, es ms lento que ejecutar programas directamente sobre el hardware emulado. Hoy, es prctica para los vendedores de nuevos ISAs o microarchitectures poner emuladores del software a disposicin de los desarolladores de programas informticos antes de que la implementacin del hardware est lista. Los detalles de la implementacin tienen una influencia fuerte en las instrucciones particulares seleccionadas para el conjunto de instruccin. Por ejemplo, muchas implementaciones de la instruccin pipline permiten solamente una carga de memoria (load) o almacn en memoria

(store) por instruccin, llevando a carga-almacena arquitectura (RISC). Por otro ejemplo, algunas maneras de implementar la instruccin pipline llevaron a una ranura de retardo. La demanda de procesamiento de seal digital de alta velocidad han empujado en el sentido contrario, forzando la implementacin de instruccin de manera particular. Por ejemplo, para realizar los filtros digitales es bastante insuficiente, la instruccin del MAC en un procesador tpico de seal digital (DSP) se debe implementar usando una arquitectura de Harvard que pueda traer una instruccin y dos palabras de datos simultneamente, y requiere un solo ciclo.

Diseo del conjunto de instrucciones[editar]


La densidad del cdigo En computadoras antiguas, la memoria del programa era costosa, as que minimizar el tamao de un programa para asegurar que va a caber en la memoria limitada era a menudo central. As el tamao combinado de todas las instrucciones necesit realizar una tarea particular, la densidad del cdigo, era una caracterstica importante de cualquier sistema de instruccin. Las computadoras con alta densidad del cdigo tambin tenan a menudo instrucciones complejas para la entrada del procedimiento, los retornos parametrizados, los lazos etc. Sin embargo, " instrucciones CISC" combinan simplemente una operacin bsica de la ALU, tal como " add", con el acceso de uno o ms operandos en memoria (usando modos de direccin tales como directo, indirecto, indexado). Ciertas arquitecturas pueden permitir dos o tres operandos (incluido el resultado) directamente en memoria o pueden permitir realizar funciones tales como el incremento automtico del puntero. RISC, fueron los primeros implementados con profundidad en el perodo de rpido crecimiento de las memorias de subsistemas, se reduce el cdigo con el fin de simplificar el circuito de aplicacin y con ello tratar de aumentar el rendimiento a travs de las frecuencias de reloj ms elevadas y el uso de ms registros. Las instrucciones RISC suelen realizar slo una operacin, como una "suma" de registros o una "carga" de una posicin de memoria en un registro, tambin suelen utilizar una longitud de instrucciones fijas, mientras que un conjunto de instrucciones tpicas CISC tiene instrucciones muchos ms cortas que esta longitud fija. Las instrucciones de longitud fija son menos complicadas de manejar que las instrucciones de ancho variable, por varias razones (por ejemplo: no tener que comprobar si una instruccin se extiende a ambos lados de una lnea de cach o el lmite de memoria virtual de la pgina), y por lo tanto algo ms fcil de optimizar la velocidad . Sin embargo, como los equipos RISC normalmente requieren ms y ms para implementar las instrucciones que ejecutan una determinada tarea, hacen menos ptimo el uso del ancho de banda y de la memoria cach. Las computadoras mnimas del conjunto de instrucciones (MISC) son una forma de mquina apilada, donde hay pocas instrucciones separadas (16-64), para poder caber instrucciones mltiples en una sola palabra de mquina. stos tipo de ncleos llevan a menudo poco silicio para implementarse, as que pueden ser observadas fcilmente en un FPGA o en una forma multinucleo. La densidad del cdigo es similar al RISC; la densidad creciente de la instruccin es compensada requiriendo ms de las instrucciones primitivas de hacer una tarea. Nmero de operandos El conjunto de instrucciones puede ser clasificado por el nmero mximo de operandos explcitamente especificados en las instrucciones. (en los ejemplos que siguen, a, b y c se

refieren a celdas de memoria, mientras que reg1 y sucesivos se refieren a los registros de la mquina). 0-operando, tambin llamada mquina de pila: todas las operaciones aritmticas se ejecutan en la parte superior de una o dos posiciones de la pila, push y pop son las instrucciones utilizadas para acceder a la memoria: push a, push b, add, pop c. 1-operando (mquinas de una direccin), tambin llamadas mquinas de acumulador, incluida en la mayora de las primeras computadoras y muchos microcontroladores pequeos: la mayora de instrucciones especifican un operando explcito a la derecha (un registro, una posicin de memoria, o una constante) y un operando a la izquierda: load a, add b, store c. 2-operando la mayora de las mquinas CISC y RISC entran en esta categora: CISC load a, reg1, add reg1, b; store reg1, c RISC - cargas que requieren la memoria explcita, las instrucciones seran: load a,reg1; load b,reg2; add reg1,reg2; store reg2,c 3-operando, permite una mejor reutilizacin de los datos: CISC - bien una sola instruccin: add a, b, c, o ms generalmente: move a,reg1; add reg1,b,c como la mayora de las mquinas se limitan a dos operandos de memoria. RISC - Debido a la gran cantidad de bits necesarios para codificar los tres registros, este esquema no suele estar disponible en los procesadores RISC con pequeas instrucciones de 16 bits: load a,reg1; load b,reg2; add reg1+reg2->reg3; store reg3,c; ms operandos, algunas mquinas CISC permiten una variedad de modos de direccionamiento que permiten ms de 3 operandos (registros o accesos a memoria), como el VAX "POLY", instruccin de evaluacin de polinomio.

Caractersticas que debe tener un conjunto de instrucciones[editar]


Las caractersticas que se pretende que tenga un conjunto de instrucciones son cuatro, principalmente:

Completo: Que se pueda realizar en un tiempo finito cualquier tarea ejecutable con un ordenador (computable o decidible). Eficiente: Que permita alta velocidad de clculo sin exigir una elevada complejidad en su UC y ALU y sin consumir excesivos recursos (memoria), es decir, debe cumplir su tarea en un tiempo razonable minimizando el uso de los recursos. Autocontenidas: Esto es, que contengan en s mismas toda la informacin necesaria para ejecutarse. Independientes: Que no dependan de la ejecucin de alguna otra instruccin.

Se puede comprobar que para que un conjunto de instrucciones sea completo solo se necesitan cuatro instrucciones: -> escritura

-> mover a la izquierda una posicin y leer -> mover a la derecha una posicin y leer -> parar En esta idea se basan las arquitecturas RISC, no obstante, con este conjunto no se puede conseguir la eficiencia del repertorio de instrucciones por lo que en la prctica el conjunto suele ser ms amplio en aras de conseguir un mejor rendimiento, tanto en uso de recursos como en consumo de tiempo.

Tipos de instrucciones y ejemplos[editar]

Transferencia de datos: Copian datos de un origen a un destino, sin modificar el origen y normalmente sin afectar a los flags o indicadores de condicin. Pueden transferir palabras, fracciones de palabras (bytes, media palabra) o bloques completos de n bytes o palabras.

Estas operaciones pueden ser: -> registro - registro -> registro - memoria -> memoria - registro -> memoria - memoria Nemotcnicos ms frecuentes:

move: copia el contenido de un registro(o memoria) a otro. store: copia el contenido de un registro a memoria. load: copia el contenido de una posicin de memoria a un registro. move block: copia un bloque de datos de una posicin de memoria a otra. move multiple: copia del origen en varias posiciones de memoria. exchange: intercambia el contenido de dos operandos. clear: pone a 0 el destinto. (todos los bits) set: pone a 1 el destino. (todos los bits) push: introduce un dato en la cabecera de la pila. (indicada por el SP) pop: saca un dato de la cabecera de la pila. (indicada por el SP)

Instrucciones aritmticas: Son efectuadas por la ALU y suelen cambiar los flags o indicadores de condicin.

Nemotcnicos ms frecuentes:

add: Suma. add with carry: Suma con acarreo. subtract: Resta. subtract with borrow: Resta teniendo en cuenta el adeudo anterior. increment: incrementa en 1 un valor. decrement: decrementa en 1 un valor. multiply: multiplica. divide: divide. extend: aumenta el operando de tamao. negate: cambia de signo. absolute: valor absoluto.

-> Pueden tener instrucciones para tratar con nmeros en BCD e incluyen operaciones en coma flotante, lo cual se identifica con una 'f' antes del nombre del nemotcnico como por ejemplo: fabsolute

Instrucciones de comparacin: Suelen preceder a una instruccin de bifurcacin condicional y modifican los flags. No hay que pensar que las instrucciones de salto condicional dependen de este repertorio, ya que lo nico que hace el salto condicional es consultar los flags y salta si precede, pero no depende de ninguna instruccin de comparacin. (de hecho cualquier operacin aritmtica realizada anteriormente a un salto condicional puede provocar que este "salte").

Nemotcnicos ms frecuentes:

compare: Resta los dos operandos pero no almacena el resultado, solo modifica los flags. test: compara un cierto valor especificado con el 0. Instrucciones lgicas: Realizan operaciones booleanas "bit a bit" entre dos operandos. Como las aritmticas tambin modifican los flags.

Nemotcnicos ms frecuentes:

and: el "y" lgico. or: el "o inclusivo" lgico. xor: el "o exclusivo" lgico. not: la negacin lgica. (complemento a 1, no confundir con el cambio de signo "negate" que es el complemento a 2) Instrucciones de Desplazamiento: Pueden ser aritmtico o lgico y pueden incluir o no rotaciones. Pueden ser de izquierda a derecha.

Nemotcnicos ms frecuentes:

shift: desplazamiento aritmtico o lgico. rotate: rotacin con o sin acarreo. Instrucciones de bits: Comprueban un bit del operando y su valor lo reflejan en el indicador de cero. Pueden poner un bit a 0 o complementarlo.

Nemotcnicos ms frecuentes:

bit test: comprueba un bit. bit clear: comprueba un bit y lo pone a 0. bit set: comprueba un bit y lo pone a 1. Instrucciones de control: Permiten modificar la secuencia normal de ejecucin de un programa, puede hacerse por salto condicional relativo o absoluto.

Se clasifican en cuatro grupos: -> salto incondicional -> salto condicional -> Llamada a subrutinas -> Gestin de las interrupciones

saltos: Pueden ser condicionales o incondicionales, se suelen especificar como jump o brantch, y en el caso de los condicionales se suele llamar jcond o bcond donde cond es una o ms letras que indican la condicin que ha de cumplirse para que el salto se produzca.

-> Incondicional: salta sin comprobar ninguna condicin.

Nemotcnicos ms frecuentes: jump o brantch -> Condicional: salta si la condicin se cumple. Nemotcnicos ms frecuentes: jcond o bcond

Llamadas a subrutinas: Invoca la ejecucin de funciones anteriormente definidas.

Nemotcnicos ms frecuentes: call (llamada) y ret (retorno)

Gestin de interrupciones: Se usan para llamar a las rutinas de servicio de interrupcin y esto se puede hacer por hardware o bien por software. Necesita una instruccin similar a return para retornar al contexto anterior pero restableciendo el estado de la mquina, para no afectar a la aplicacin a la cual se interrumpi (iret). Instrucciones de E/S: Son instrucciones de transferencia salvo que el origen/destino de dicho flujo es un puerto de un dispositivo de E/S. Estas instrucciones pueden darse mediante dos alternativas:

->E/S "mapeada" en memoria: Los perifricos tienen direcciones asignadas de la MP por lo que no se necesitan instrucciones especiales y las operaciones se realizan con las ya vistas, como son: load, store y move. ->E/S independiente: Necesitan unas instrucciones especiales para indicarle al procesador que nos estamos refiriendo al mapa de direcciones de E/S, ya que este mapa y el mapa de memoria son disjuntos. Nemotcnicos ms frecuentes:

input o read: Pemite leer informacin de un puerto y trasladarla a memoria principal. output o write: Permite escribir informacin en un puerto de un dispositivo. test i/o: Lee informacin de control de un perifrico. control i/o: Enva informacin de control hacia un perifrico.

Instrucciones de control y miscelneas: Nemotnicos ms frecuentes:

halt: Detiene la ejecucin del programa hasta que una interrupcin arranca otro programa. wait: Sirve para deterner la ejecucin de un programa hasta que sucede un determinado evento que no es una interrupcin (otra condicin externa al primer programa). nop: No realiza ninguna operacin, sirve para rellenar huecos en un programa o temporizar esperas.

enable: Habilita las interrupciones. disable: Deshabilita las interrupciones. test and set: Se utiliza para la implementacin de la exclusin mutua, esto es, que un procesador no pueda acceder a un determinado recurso que est siendo usado por otro procesador en ese mismo momento.

Se usan como semforos, esto es, se declara una variable entera que tendr el valor 0 si el recurso esta libre y 1 si est siendo utilizado, de manera que si un procesador comprueba y el semforo est en 1 tendr que esperar hasta que este cambie a 0. (1 = s.rojo y 0 = s.verde)

Gekko
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda No debe confundirse con Gecko. Gekko puede referirse a:

El procesador IBM Gekko, empleado en la consola de videojuegos GameCube. Gekko, un gnero de lagartos de la familia Gekkonidae. Incluye muchas especies, como: o Gekko gecko, una especie ampliamente distribuida por la India, el Sudeste asitico y Nueva Guinea. o Gekko ulikovskii, gecko dorado o lagartija leopardo, un reptil arborcola que se encuentra en Vietnam. El observatorio de Gekko, en la pennsula de Izu, Japn. (4261) Gekko, asteroide descubierto por el observatorio anterior. El Nakajima J1M, avin de la Armada Imperial Japonesa, llamado Gekk. Gekk Kamen, personaje de ficcin que ha aparecido en series de anime y pelculas japonesas. El vehculo no-tripulado IRVING, visto en el videojuego Metal Gear Solid 4: Guns of the Patriots

Cell
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Para el personaje de Dragon Ball Z, vase Cell (personaje de Dragon Ball). Para la novela, vase Cell (novela).

El 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.1 El diseo de arquitectura y su primera implementacin se llevaron a cabo en el STI Design Center de Austin, Texas, durante un periodo total de cuatro aos que comenz en marzo de 2001, empleando un presupuesto de 400 millones de dlares segn IBM.2 Cell es la abreviatura de Cell Broadband Engine Architecture (arquitectura de motor Cell de banda ancha), conocida tambin como CBEA por sus siglas al completo o Cell BE. Cell emplea una combinacin de la arquitectura de ncleo PowerPC, de propsito general y medianas prestaciones, con elementos coprocesadores3 en cascada, los cuales aceleran notablemente aplicaciones de procesado de vectores y multimedia, as como otras formas de computacin dedicada.3 La primera gran aplicacin comercial del Cell fue la videoconsola PlayStation 3 de Sony. Tambin podemos encontrar este procesador en servidores duales Cell, blade (tipo de servidor autocontenido) Cell en configuracin dual, tarjetas aceleradoras PCIExpress y adaptadores de televisin de alta definicin. Caractersticas nicas como el subsistema de memoria XDR de RAMBUS y el bus de interconexin de elementos (Element Interconnect Bus, EIB)4 parece que posicionan el Cell de manera ventajosa en el empleo de aplicaciones futuras en el campo de la supercomputacin, donde se sacara provecho de la habilidad del procesador para manejar ncleos de coma flotante. IBM ha anunciado planes para incorporar procesadores Cell como tarjetas de expansin en sus mainframes IBM System z9, para que de este modo puedan ser empleados como servidores en juegos de rol multijugador online masivos(MMORPGs).5 En noviembre de 2006, David A. Bader, del Instituto Tecnolgico de Georgia fue escogido por Sony, Toshiba e IBM de entre ms 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).6 7 8 Esta alianza tiene por objetivo crear una comunidad de programadores y ampliar el apoyo de la industria al procesador Cell.6 7 Existe un vdeo tutorial sobre cmo programar el Cell a disposicin del pblico.9

Estacin de trabajo
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Este artculo o seccin necesita referencias que aparezcan en una publicacin acreditada, como revistas especializadas, monografas, prensa diaria o pginas de Internet fidedignas.
Puedes aadirlas as o avisar al autor principal del artculo en su pgina de discusin pegando:
{{subst:Aviso referencias|Estacin de trabajo}} ~~~~

Ejemplo de una estacin de trabajo (workstation). En informtica una estacin de trabajo (en ingls workstation) es un minicomputador de altas prestaciones destinado para trabajo tcnico o cientfico. En una red de computadoras, es una computadora que facilita a los usuarios el acceso a los servidores y perifricos de la red. A diferencia de una computadora aislada, tiene una tarjeta de red y est fsicamente conectada por medio de cables u otros medios no guiados con los servidores. Los componentes para servidores y estaciones de trabajo alcanzan nuevos niveles de rendimiento informtico, al tiempo que ofrecen fiabilidad, compatibilidad, escalabilidad y arquitectura avanzada ideales para entornos multiproceso. Lo de las computadoras en general, las computadoras promedio de hoy en da son ms poderosas que las mejores estaciones de trabajo de una generacin atrs. Como resultado, el mercado de las estaciones de trabajo se est volviendo cada vez ms especializado, ya que muchas operaciones complejas que antes requeran sistemas de alto rendimiento pueden ser ahora dirigidas a computadores de propsito general. Sin embargo, el hardware de las estaciones de trabajo est optimizado para situaciones que requieren un alto rendimiento y fiabilidad, donde generalmente se mantienen operativas en situaciones en las cuales cualquier computadora personal tradicional dejara rpidamente de responder. Actualmente las estaciones de trabajo suelen ser vendidas por grandes fabricantes de ordenadores como HP o Dell y utilizan CPUs x86-64 como Intel Xeon o AMD Opteron ejecutando Microsoft Windows o GNU/Linux. Apple Inc. y Sun Microsystems comercializan tambin su propio sistema operativo tipo UNIX para sus workstations.

ndice
[ocultar]

1 Diferencias de filosofas de diseo entre computadoras personales y estaciones de trabajo 2 Historia de las estaciones de trabajo o 2.1 La era RISC 3 Situacin actual 4 Lista de estaciones de trabajo y manufacturadores 5 Vase tambin

Diferencias de filosofas de diseo entre computadoras personales y estaciones de trabajo [editar]

Sun SPARCstation 1+,procesador a 25 MHz RISC de principio de los 90.

Sony NEWS, procesador a 2x 25 MHz 68030 de principios de los 90. Las estaciones de trabajo fueron un tipo popular de computadoras para ingeniera, ciencia y grficos durante las dcadas de 1980 y 1990. ltimamente se las asocia con CPUs RISC, pero inicialmente estaban basadas casi exclusivamente en la serie de procesadores Motorola 68000. Las estaciones de trabajo han seguido un camino de evolucin diferente al de las computadoras personales o PC. Fueron versiones de bajo costo de minicomputadoras como son las de la lnea VAX, la cual haba sido diseada para sacar datos de tareas de cmputos ms pequeas de la muy cara computadora mainframe de la poca. Rpidamente adoptaron un solo chip micropocesador de 32-bits, en oposicin a los ms costosos procesadores de multi-chip prevalecientes en aquel entonces. Posteriormente, las generaciones de estaciones de trabajo usaron procesadores RISC de 32-bits y 64-bits, que ofrecan un rendimiento ms alto que los procesadores CISC usados en los computadoras personales. Las estaciones de trabajo tambin corran el mismo sistema operativo multi-usuario/multi-tarea que las microcomputadoras usaban, comnmente Unix. Tambin usaban redes para conectarse

a computadoras ms potentes para anlisis de ingeniera y visualizacin de diseos. El bajo costo relativo a minicomputadoras y mainframes permiti una productividad total mayor a muchas compaas que usaban computadoras poderosas para el trabajo de cmputo tcnico, ya que ahora cada usuario individual contaba con una mquina para tareas pequeas y medianas, liberando as a las computadoras ms grandes para los tratamientos por lotes. Las Computadoras personales, en contraste con las estaciones de trabajo, no fueron diseadas para traer el rendimiento de la minicomputadora al escritorio de un ingeniero, sino que fueron previstas originalmente para el uso en casa o la productividad de oficina, la sensibilidad al precio fue un aspecto de consideracin primaria. La primera computadora personal usaba un chip de procesador de 8-bits, especialmente los procesadores MOS Technology 6502 y Zilog Z80, en los das de Apple II, Atari 800, Commodore 64 y TRS-80. La introduccin del IBM PC en 1981, basado en el diseo de procesador Intel x86, finalmente cambi la industria. Los primeros sistemas operativos de PC fueron diseados para ser de una sola tarea (MS DOS), luego incluyeron una limitada multitarea cooperativa (Windows 3.1) y ltimamente han incluido multitarea con prioridad (Windows 95, Windows XP, GNU/Linux). Cada uno de estos diferentes tipos de sistemas operativos vara en la habilidad para utilizar la potencia total inherente del hardware para realizar mltiples tareas simultneamente.

Historia de las estaciones de trabajo [editar]


Tal vez la primera computadora que podra ser calificada como estacin de trabajo fue la IBM 1620, una pequea computadora cientfica diseada para ser usada interactivamente por una sola persona sentada en la consola. Fue introducida en 1959. Una caracterstica peculiar de la mquina era que careca de cualquier tipo de circuito aritmtico real. Para realizar la adicin, requera una tabla almacenada en la memoria central con reglas decimales de la adicin. Lo que permita ahorrar en costos de circuitos lgicos, permitiendo a IBM hacerlo ms econmica. El nombre cdigo de la mquina fue CADET, el cual algunas personas decan que significaba "Can't Add, Doesn't Even Try - No puede sumar, ni siquiera lo intenta". No obstante, se alquil inicialmente por unos $1000 por mes. Posteriormente llegaron el IBM 1130 (sucesor del 1620 en 1965), y el minicomputador PDP-8 de Digital Equipment Corporation. Las primeras workstations basadas en microordenadores destinados a ser utilizados por un nico usuario fueron mquina Lisp del MIT a comienzos de los aos 70, seguidas de los Xerox Alto (1973), PERQ (1979) y Xerox Star (1981). En los aos 80 se utilizaron estaciones de trabajo basadas en CPU Motorola 68000 comercializadas por nuevas empresas como Apollo Computer, Sun Microsystems y SGI. Posteriormente llegaran NeXT y otras.

La era RISC [editar]


Desde finales de los 80 se fueron sustituyendo por equipos generalmente con CPU RISC diseada por el fabricante del ordenador, con su sistema operativo propietario, casi siempre una variante de UNIX (con excepciones no basadas en UNIX, como OpenVMS o las versiones de Windows NT para plataformas RISC). Aunque tambin hubo workstations con CPU Intel x86

ejecutando Windows NT como las Intergraph ViZual Workstation Zx y varios modelos Compaq y Dell. Lista no exhaustiva de las workstation RISC ms famosas de los aos 90: Fabricante Modelos Arquitectura CPU Sistema operativo Aos DEC/Compaq/HP AlphaStation DEC Alpha Tru64, OpenVMS 1994-2006 HP 9000 PA-RISC HP-UX 1991-2007 RS/6000 IBM p-series IBM POWER AIX 1993-2009 IntelliStation POWER IRIS 4D Silicon Graphics Indigo, Indy MIPS IRIX 1986-2006 Octane,O2 etc SPARCStation Sun Microsystems Ultra SPARC Solaris 1986-2008 Blade

Situacin actual [editar]


En la actualidad se ha pasado de las arquitecturas RISC de IBM POWER, MIPS, SPARC, PARISC DEC Alpha a la plataforma x86-64 con CPUs Intel y AMD. Tras ser retiradas del mercado las Sun Ultra 25/45 en Julio de 2008 y las IBM IntelliStation Power en Enero de 2009, ya no se comercializan modelos con CPU RISC que tan comunes fueron en los 90. As pues actualmente se utiliza normalmente CPU Intel Xeon o AMD Opteron, pudiendo usarse otras CPUs x86-64 ms comunes (como intel Core 2 o Core i5) en modelos ms asequibles. Son comunes las GPU profesionales NVIDIA Quadro FX y ATI FireGL. Lista de algunos fabricantes y modelos actuales:

Apple Inc.: Mac Pro BOXX Technologies Dell: DELL Precision Fujitsu Siemens: CELSIUS Hewlett-Packard: serie Z Lenovo: ThinkStation Silicon Graphics: Octane III Sun Microsystems: Ultra 27 Workstation Specialists

Lista de estaciones de trabajo y manufacturadores [editar]


Nota: muchas de stas estn extintas

3Station Alienware Apollo

Dell Precision 390 Core Hardware Systems

IBM Intergraph Lilith

Sony NEWS Sun

Computer Amiga 3000UX Apple Computer Atari Transputer Workstation

Computervision Datamax UV-1 Acer Digital Equipment Corporation Hewlett Packard

MIPS Magnum NeXT Silicon Graphics

Microsyste ms Torch Computers Unisys ICON Xerox Star

Alianza AIM
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda AIM era una alianza formada en 1991 entre Apple Computer, International Business Machines (IBM) y Motorola para crear un nuevo estndar de computacin basado en la arquitectura de PowerPC. La meta propuesta de la alianza era desafiar a la plataforma de computacin dominante Wintel con un nuevo diseo de ordenadores y un sistema operativo de prxima generacin. Se pensaba que los procesadores CISC de Intel haban puesto fin a una evolucin en diseo de microprocesador, y que puesto que el RISC era el futuro, los aos siguientes seran un perodo de gran oportunidad de negocio. La unidad central de procesamiento (CPU) era un PowerPC, una versin de un slo chip de la CPU POWER1 de IBM. IBM y Motorola fabricaran chips PowerPC para esta nueva plataforma. La base de la arquitectura del ordenador fue llamada PReP (por Plataforma de Referencia de PowerPC), y despus denominado CHRP (por Plataforma de Referencia del Hardware Comn). PReP era, de hecho, una versin modificada de la plataforma existente RS/6000 de IBM, cambiada slo para soportar el nuevo estilo de bus del PowerPC. Apple e IBM crearon dos nuevas compaas llamadas Taligent y Kaleida como parte de la alianza. Taligent estaba formado por un equipo de ingenieros de software de Apple para crear un sistema operativo de prxima generacin, denominado "Pink", para funcionar sobre la plataforma. Kaleida deba crear un lenguaje de scripting orientado a objetos y multimedia para trabajar en plataformas cruzadas que permitira a los desarrolladores crear nuevas clases de aplicaciones que demostraran el poder de la plataforma. Los esfuerzos por parte de Motorola y de IBM por popularizar PReP/CHRP fallaron cuando tanto Apple, como IBM, como Taligent no pudieron proporcionar un sistema operativo que pudiera funcionar en l. Aunque la plataforma fue apoyada finalmente por varios Unix as como Windows NT, estos sistemas operativos funcionaban generalmente del mismo modo que en el hardware basado en Intel, por lo que haba muy pocas razones para utilizar los sistemas PReP. El BeBox, diseado para correr en BeOS, usaba algo de hardware PReP, pero en su totalidad no era compatible con el estndar.

Kaleida quebr en 1995. Taligent quebr en 1998. Algunas mquinas CHRP aparecieron en 1997 y 1998 sin un destino claro. El programa de PowerPC era un xito que sali de la alianza AIM; Apple comenz a usar chips de PowerPC en su lnea de Macintosh que comenzaba en 1994, y los chips continan encontrando xito en el mercado embebido tambin. En 2003, despus de que aumentara el funcionamiento decepcionante por parte de Motorola, Apple volvi a IBM para proveerse de chips PowerPC para sus nuevos ordenadores de escritorio G5. En noviembre de 2003, un grupo de 1100 ordenadores Apple Power Mac G5, usando 2 procesadores IBM PPC970 cada uno, logr el tercer puesto en el Top 500 de los superordenadores ms rpidos del mundo.

PowerPC
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda

IBM PowerPC 601. PowerPC (usualmente abreviada PPC) es el nombre original de la arquitectura de computadoras de tipo RISC, que fue desarrollada por IBM, Motorola, y Apple.

Los procesadores de esta familia fueron producidos por IBM y Freescale Semiconductor (que era la divisin de semiconductores y microprocesadores de Motorola), siendo utilizados principalmente en ordenadores o computadores Macintosh de Apple Computer hasta el ao 2006 y en varios modelos IBM.

ndice
[ocultar]

1 Historia 2 Implementaciones del PowerPC o 2.1 PowerPC 601 o 2.2 PowerPC 7447 o 2.3 PowerPC 970 o 2.4 Xenon o 2.5 Cell Broadband Engine o 2.6 IBM Broadway 3 Plataformas compatibles con PowerPC o 3.1 Distribuciones GNU/Linux o 3.2 Situacin actual o 3.3 Ordenadores con CPU PowerPC 4 Referencias 5 Enlaces externos

Historia [editar]
La filosofa RISC fue introducida por el cientfico informtico John Cocke en la dcada de los aos 70s. En 1980, IBM comienza el proyecto IBM 801 donde se derivara el primer procesador RISC, el proyecto estuvo a cargo del mismo John Cocke. Este procesador RISC ofreci un rendimiento bastante malo, a veces se lo denominaba "chagar" debido al gran consumo de recursos de sus aplicaciones, lo cual oblig a IBM a emprender el Proyecto Amrica, con el cual lograr crear el primer procesador de la arquitectura Power (bajo consumo de energa pero potente procesador). En 1991, IBM se dio cuenta del potencial de su diseo Power y busc una alianza con Apple y Motorola para impulsar su creacin; entonces surgi la alianza AIM (Apple, IBM y Motorola, actualmente Freescale) cuyo objetivo fue desbancar el dominio Microsoft e Intel que ofreca sistemas basados en 80386 y 80486.

Implementaciones del PowerPC [editar]


El PowerPC ha sido una de las arquitecturas ms extendidas gracias a su alto rendimiento y su implementacin tecnolgica. ste es un pequeo listado de las implementaciones del PowerPC a lo largo de su historia. 1. 601 MPC601 50 y 66 MHz 2. 602 productos para consumidor (bus de datos y direcciones multiplexados)

3. 603 para ordenadores porttiles 4. 603e 5. 604 6. 604e 7. 620 la primera implementacin de 64 bits 8. x704 BiCOMOS implementacin 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) implementacin 64-bit derivada del IBM Power 4. 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

Versiones para sistemas embebidos: e200 e300 e500 e600 PPC400:401, 403, 405, 440, 450, 460

1. 2. 3. 4. 5.

PowerPC 601 [editar]


En 1993 apareci la primera generacin PowerPC con el nombre clave PowerPC 601, que fue desarrollada por la alianza Apple, IBM y Motorola. En Austin, fue el lugar donde desarrollaron el procesador, y en el diseo utilizaron la interfaz de bus del Motorola 88110. El PowerPC 601 tuvo bastante xito.

PowerPC 7447 [editar]


El PowerPC 7447 es un procesador de 32 bits de un solo ncleo que fue usado extensamente por Apple en sus lneas PowerBook, iBook y Mac mini, desde finales del ao 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.67 GHz en el PowerBook de 15" y 17" dual layer. Estos ltimos usaron una variacin llamada 7447a (sin cache L3). Apple denomin a este procesador como G4, al igual que las versiones anteriores como el 7455 (modelos con Cache L3). Lo destacable de un procesador G4 era que inclua por primera vez el set de instrucciones Altivec o Velocity Engine como lo publicitaba Apple, el cual no estaba disponible en la generacin anterior de procesadores conocidos como G3. El G5 750 tambin inclua este set de instrucciones pero era de 64 bits. El G5 consuma ms energa que el G4 y se calentaba considerablemente ms, por lo que nunca fue utilizado en mquinas pequeas o porttiles, y 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, y no posee cache de nivel 3 L3.

PowerPC 970 [editar]


Artculo principal: PowerPC G5.

Tambin se denomina PowerPC G5 al ser usado, en su primera versin, por los Power Mac G5. Es un microprocesador de 64 bits. Existe una segunda versin denominada PowerPC 970FX que mejora ligeramente el rendimiento. El ltimo modelo del PPC970, es el PPC970MP (dual core) con 1mb de cache L2, habiendo sido cancelado el PPC970GX (versin de un solo ncleo del 970MP). Este microprocesador es utilizado en algunos supercomputadores.

Xenon [editar]
El Xenon es el ncleo de la consola Xbox 360 de Microsoft. Est basado en la ISA PowerPC, cuenta con tres ncleos independientes y simtricos a 3,2 GHz, con 6 hilos y con 32 KiB de cach L1. Posee un cach L2 de 1024 KB a 1,6 GHz e implementa una derivacin de las extensiones VMX, VMX128 (las mismas extensiones VMX, pero con 128 registros y capacidad de multihilo simultneo). Proporciona una velocidad de bus a 5,4 GHz y hasta 21,6 GiB/s de ancho de banda.

Cell Broadband Engine [editar]


Artculo principal: Cell.

En el 2001, Sony, Toshiba e IBM, comenzaron a desarrollar un procesador para servidores, consolas de videojuegos y equipos porttiles. El resultado fue el Cell Broadband Engine. Su ncleo est 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).

IBM Broadway [editar]


Artculo principal: IBM Broadway.

Empleado como ncleo de la consola Wii de Nintendo lanzada en 2006, el procesador Broadway es un IBM PowerPC, nombre en clave "Broadway" (IBM Broadway) con tecnologa SOI CMOS de 90 nm que corre a 729 MHz.

Plataformas compatibles con PowerPC [editar]


Este microprocesador est diseado 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:

AIX AmigaOS 4 MorphOS BeOS (Versiones Antiguas. Descontinuado)

FreeBSD Linux Mac OS (Versiones Antiguas. Descontinuado) Mac OS X (Desde 10.1 hasta 10.5.x)1 NetBSD OpenBSD QNX VxWorks Windows NT 3.51

Distribuciones GNU/Linux [editar]


Las siguientes son algunas de las distribuciones GNU/Linux que soportan PowerPC:

Debian CentOS hasta la versin 4 Beta, todava no ha salido una versin estable para PowerPC. CRUX Debian GNU/Linux Fedora desde Fedora 8. Gentoo mkLinux, todas sus versiones openSUSE Slackintosh, distribucin basada en Slackware, ltima versin 12.1. Ubuntu y Kubuntu estn disponibles de manera oficial para esta arquitectura hasta la versin 6.10 , y de forma no oficial de la 7.04 en adelante. Yellow Dog Linux

Situacin actual [editar]


El 6 de junio de 2005, Steve Jobs confirm el rumor que vena comentndose en aquellos das; Apple se cambiaba a Intel. La excusa de Jobs fue que los procesadores PowerPC padecen serios problemas de temperatura, etctera. 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 haba sido compilado tanto para x86 como para PowerPC desde su primera versin. Pero esto no significa que la arquitectura PowerPC se vaya a quedar en el olvido, ya que el propsito de IBM es seguir producindolos a pesar de no contar ya con su mayor cliente, Apple[cita requerida]. Las videoconsolas de nueva generacin ms importantes: Microsoft Xbox 360, Sony PS3 Y Nintendo Wii van equipadas con un procesador de arquitectura PowerPC, aunque difieren en cuanto a potencia y composicin. Adems, muchos supercomputadores estn basados en microprocesadores PPC como las dos primeras mquinas de Espaa: Magerit y MareNostrum. La arquitectura PowerPC, adems, mantiene un amplio uso en sistemas SoC (System On Chip) y sistemas embebidos en general, como por ejemplo los Mars Rovers de la misin Mars Exploration Rover de la NASA. Freescale y AMCC son los principales fabricantes de este tipo de CPUs. Algunas CPUs de sistemas embebidos tambin se han utilizado (o se estn ultilizando) en placas bases de ordenadores de bajo consumo (EFIKA 5K2, Sam440ep).

Ordenadores con CPU PowerPC [editar]

Fabricante

Modelo

Ao 1994-2006

CPU

Macintosh:

Apple Inc.

PowerMac iMac eMac Mac Mini Xserve PowerBook iBook

19942006 19982006 20022006 20052006 20022006 19952006 19992006

601, 603, 604, G3, G4 y G5


601 a G5 G3, G4 y G5 G4 G4 G4 y G5 603, G3 y G4 G3 y G4

* RS/6000/pSeries/System p IBM

IntelliStation POWER 185 1994BladeCenter JS20 y JS21

601 a G5

Power Computing y otros Be Incorporated Amiga Inc. y Eyetech

PowerWave, PowerTower y otros Mac clnicos BeBox AmigaOne


1995-1997 1995-1997 2002-2004

601, 603/e y 604/e 603/603e G3 y G4


Genesi

Pegasos EFIKA 5K2

20022006 20062007 2007201020012004 20082009

G3 y G4 MPC5200B (e300) AMCC 440ep AMCC 460ex

ACube Systems Srl TerraSoft (ahora Fixstars) y MAI Fixstars A-EON

Sam440ep Sam460ex/AmigaOne 500

Teron y briQ YDL PowerStation

G3 y G4 G5 (970MP)

AmigaOne X1000

2012-

P.A. Semi PA6T

Ncleo (informtica)
De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Para otros usos de este trmino, vase Ncleo. En informtica, un ncleo o kernel (de la raz germnica Kern, ncleo, hueso) es un software que constituye la parte ms importante del sistema operativo.1 Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma bsica, es el encargado de gestionar recursos, a travs de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, tambin se encarga de decidir qu programa podr hacer uso de un dispositivo de hardware y durante cunto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los ncleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

ndice
[ocultar]

1 Tcnica 2 Generalidades o 2.1 Funciones generalmente ejercidas por un ncleo

2.2 Unix 3 Tipos de sistemas o 3.1 Microncleos o 3.2 Ncleos monolticos en contraposicin a microncleos o 3.3 Ncleos hbridos (microncleos modificados) o 3.4 Exoncleos 4 Referencias 5 Vase tambin 6 Enlaces externos

Tcnica[editar]
Cuando se aplica voltaje al procesador de un dispositivo electrnico, ste ejecuta un reducido cdigo en lenguaje ensamblador localizado en una direccin concreta en la memoria ROM (direccin de reset) y conocido como reset code, que a su vez ejecuta una rutina con la que se inicializa el hardware que acompaa al procesador. Tambin en esta fase suele inicializarse el controlador de las interrupciones. Finalizada esta fase se ejecuta el cdigo de arranque (startup code), tambin cdigo en lenguaje ensamblador, cuya tarea ms importante es ejecutar el programa principal (main()) del software de la aplicacin.2

Generalidades[editar]

Una visin tpica de la arquitectura de computadores como una serie de capas de abstraccin: hardware, firmware, lenguaje de mquina, ncleo, software de sistema y aplicaciones3 En informtica, los ordenadores son el ncleo del programa informtico que se asegura de:

La comunicacin entre los programas que solicitan recursos y el hardware. Gestin de los distintos programas informticos (tareas) de una mquina. Gestin del hardware (memoria, procesador, perifrico, forma de almacenamiento, etc.)

La mayora de las interfaces de usuario se construyen en torno al concepto de ncleo. La existencia de un ncleo, es decir, de un nico programa responsable de la comunicacin entre el hardware y el programa informtico, resulta de compromisos complejos referentes a cuestiones de resultados, seguridad y arquitectura de los procesadores. El ncleo tiene grandes poderes sobre la utilizacin de los recursos materiales (hardware), en particular, de la memoria.

Funciones generalmente ejercidas por un ncleo[editar]


Los ncleos tienen como funciones bsicas garantizar la carga y la ejecucin de los procesos, las entradas/salidas y proponer una interfaz entre el espacio ncleo y los programas del espacio del usuario. Aparte de las funcionalidades bsicas, el conjunto de las funciones de los puntos siguientes (incluidos los pilotos materiales, las funciones de redes y sistemas de ficheros o los servicios) necesariamente no son proporcionados por un ncleo de sistema de explotacin. Pueden establecerse estas funciones del sistema de explotacin tanto en el espacio usuario como en el propio ncleo. Su implantacin en el ncleo se hace en el nico objetivo de mejorar los resultados. En efecto, segn la concepcin del ncleo, la misma funcin llamada desde el espacio usuario o el espacio ncleo tiene un coste temporal obviamente diferente. Si esta llamada de funcin es frecuente, puede resultar til integrar estas funciones al ncleo para mejorar los resultados.

Unix[editar]
Un ncleo Unix es un programa escrito casi en su totalidad en lenguaje C, con excepcin de una parte del manejo de interrupciones, expresada en el lenguaje ensamblador del procesador en el que opera. Las funciones del ncleo son permitir la existencia de un ambiente en el que sea posible atender a varios usuarios y mltiples tareas en forma concurrente, repartiendo al procesador entre todos ellos, e intentando mantener en grado ptimo la atencin individual. El ncleo opera como asignador de recursos para cualquier proceso que necesite hacer uso de las facilidades de cmputo.

Creacin de procesos, asignacin de tiempos de atencin y sincronizacin. Asignacin de la atencin del procesador a los procesos que lo requieren. Administracin de espacio en el sistema de archivos, que incluye: acceso, proteccin y administracin de usuarios; comunicacin entre usuarios y entre procesos, y manipulacin de E/S y administracin de perifricos. Supervisin de la transmisin de datos entre la memoria principal y los dispositivos perifricos.

Reside siempre en la memoria principal y tiene el control sobre la computadora, por lo que ningn otro proceso puede interrumpirlo; slo pueden llamarlo para que proporcione algn servicio de los ya mencionados. Un proceso llama al ncleo mediante mdulos especiales conocidos como llamadas al sistema. Consta de dos partes principales: la seccin de control de procesos y la de control de dispositivos. La primera asigna recursos, programas, procesos y atiende sus requerimientos de servicio; la segunda, supervisa la transferencia de datos entre la memoria principal y los dispositivos del ordenador. En trminos generales, cada vez que algn usuario oprime una tecla

de una terminal, o que se debe leer o escribir informacin del disco magntico, se interrumpe al procesador central y el ncleo se encarga de efectuar la operacin de transferencia. Cuando se inicia la operacin de la computadora, debe cargarse en la memoria una copia del ncleo, que reside en el disco magntico (operacin denominada bootstrap). Para ello, se deben inicializar algunas interfaces bsicas de hardware; entre ellas, el reloj que proporciona interrupciones peridicas. El ncleo tambin prepara algunas estructuras de datos que abarcan una seccin de almacenamiento temporal para transferencia de informacin entre terminales y procesos, una seccin para almacenamiento de descriptores de archivos y una variable que indica la cantidad de memoria principal. A continuacin, el ncleo inicializa un proceso especial, llamado proceso 0. En Unix, los procesos se crean mediante una llamada a una rutina del sistema (fork), que funciona por un mecanismo de duplicacin de procesos. Sin embargo, esto no es suficiente para crear el primero de ellos, por lo que el ncleo asigna una estructura de datos y establece apuntadores a una seccin especial de la memoria, llamada tabla de procesos, que contendr los descriptores de cada uno de los procesos existentes en el sistema. Despus de haber creado el proceso 0, se hace una copia del mismo, con lo que se crea el proceso 1; ste muy pronto se encargar de "dar vida" al sistema completo, mediante la activacin de otros procesos que tambin forman parte del ncleo. Es decir, se inicia una cadena de activaciones de procesos, entre los cuales destaca el conocido como despachador, o planificador, que es el responsable de decidir cul proceso se ejecutar y cules van a entrar o salir de la memoria central. A partir de ese momento se conoce el nmero 1 como proceso de inicializacin del sistema, init. El proceso init es el responsable de establecer la estructura de procesos en Unix. Normalmente, es capaz de crear al menos dos estructuras distintas de procesos: el modo monousuario y el multiusuario. Comienza activando el intrprete del lenguaje de control Shell de Unix en la terminal principal, o consola del sistema, proporcionndole privilegios de "superusuario". En la modalidad de un solo usuario la consola permite iniciar una primera sesin, con privilegios especiales, e impide que las otras lneas de comunicacin acepten iniciar sesiones nuevas. Esta modalidad se usa con frecuencia para revisar y reparar sistemas de archivos, realizar pruebas de funciones bsicas del sistema y para otras actividades que requieren uso exclusivo de la computadora. Init crea otro proceso, que espera a que alguien entre en sesin en alguna lnea de comunicacin. Cuando esto sucede, realiza ajustes en el protocolo de la lnea y ejecuta el programa login, que se encarga de atender inicialmente a los nuevos usuarios. Si el nombre de usuario y la contrasea proporcionadas son correctos, entonces entra en operacin el programa Shell, que en lo sucesivo se encargar de la atencin normal del usuario que se dio de alta en esa terminal. A partir de ese momento el responsable de atender al usuario en esa terminal es el intrprete Shell. Cuando se desea terminar la sesin hay que desconectarse de Shell (y, por lo tanto, de Unix), mediante una secuencia especial de teclas (usualmente. < CTL > - D). A partir de ese momento la terminal queda disponible para atender a un nuevo usuario.

Tipos de sistemas[editar]

No necesariamente se necesita un ncleo para usar una computadora. Los programas pueden cargarse y ejecutarse directamente en una computadora vaca, siempre que sus autores quieran desarrollarlos sin usar ninguna abstraccin del hardware ni ninguna ayuda del sistema operativo. sta era la forma normal de usar muchas de las primeras computadoras: para usar distintos programas se tena que reiniciar y reconfigurar la computadora cada vez. Con el tiempo, se empez a dejar en memoria (an entre distintas ejecuciones) pequeos programas auxiliares, como el cargador y el depurador, o se cargaban desde memoria de slo lectura. A medida que se fueron desarrollando, se convirtieron en los fundamentos de lo que llegaran a ser los primeros ncleos de sistema operativo. Hay cuatro grandes tipos de ncleos:

Los ncleos monolticos facilitan abstracciones del hardware subyacente realmente potentes y variadas. Los microncleos (en ingls microkernel) proporcionan un pequeo conjunto de abstracciones simples del hardware, y usan las aplicaciones llamadas servidores para ofrecer mayor funcionalidad.4 Los ncleos hbridos (microncleos modificados) son muy parecidos a los microncleos puros, excepto porque incluyen cdigo adicional en el espacio de ncleo para que se ejecute ms rpidamente. Los exoncleos no facilitan ninguna abstraccin, pero permiten el uso de bibliotecas que proporcionan mayor funcionalidad gracias al acceso directo o casi directo al hardware.

Microncleos[editar]

Esquema del funcionamiento de un microncleo. Artculo principal: Microncleo. El enfoque microncleo consiste en definir una abstraccin muy simple sobre el hardware, con un conjunto de primitivas o llamadas al sistema que implementan servicios del sistema operativo mnimos, como la gestin de hilos, el espacio de direccionamiento y la comunicacin entre procesos. El objetivo principal es la separacin de la implementacin de los servicios bsicos y de la poltica de funcionamiento del sistema. Por ejemplo, el proceso de bloqueo de E/S se puede implementar con un servidor en espacio de usuario ejecutndose encima del microncleo. Estos servidores de usuario, utilizados para gestionar las partes de alto nivel del sistema, son muy modulares y simplifican la estructura y diseo del ncleo. Si falla uno de estos servidores,

no se colgar el sistema entero, y se podr reiniciar este mdulo independientemente del resto. Sin embargo, la existencia de diferentes mdulos independientes origina retardos en la comunicacin debido a la copia de variables que se realiza en la comunicacin entre mdulos. Algunos ejemplos de microncleos:

AIX La familia de microncleos L4 El microncleo Mach, usado en GNU Hurd y en Mac OS X BeOS Minix MorphOS QNX RadiOS VSTa Hurd

Ncleos monolticos en contraposicin a microncleos[editar]


Artculos principales: Ncleo monoltico y Microncleo.

Frecuentemente se prefieren los ncleos monolticos frente a los microncleos debido al menor nivel de complejidad que comporta el tratar con todo el cdigo de control del sistema en un solo espacio de direccionamiento. Por ejemplo, XNU, el ncleo de Mac OS X, est basado en el ncleo Mach 3.0 y en FreeBSD, en el mismo espacio de direccionamiento para disminuir la latencia que comporta el diseo de microncleo convencional. A principios de los aos 90, los ncleos monolticos se consideraban obsoletos. El diseo de Linux como un ncleo monoltico en lugar de como un microncleo fue el tema de una famosa disputa5 entre Linus Torvalds y Andrew Tanenbaum. Los argumentos de ambas partes en esta discusin presentan algunas motivaciones interesantes. Los ncleos monolticos suelen ser ms fciles de disear correctamente, y por lo tanto pueden crecer ms rpidamente que un sistema basado en microncleo, pero hay casos de xito en ambos bandos. Los microncleos suelen usarse en robtica embebida o computadoras mdicas, ya que la mayora de los componentes del sistema operativo residen en su propio espacio de memoria privado y protegido. Esto no sera posible con los ncleos monolticos, ni siquiera con los modernos que permiten cargar mdulos del ncleo. Aunque Mach es el microncleo generalista ms conocido, se han desarrollado otros microncleos con propsitos ms especficos. L3 fue creado para demostrar que los microncleos no son necesariamente lentos. La familia de microncleos L4 es la descendiente de L3, y una de sus ltimas implementaciones, llamada Pistachio, permite ejecutar Linux simultneamente con otros procesos, en espacios de direccionamiento separados. QNX es un sistema operativo que ha estado disponible desde principios de los aos 80, y tiene un diseo de microncleo muy minimalista. Este sistema ha conseguido llegar a las metas del paradigma del microncleo con mucho ms xito que Mach. Se usa en situaciones en que no se puede permitir que haya fallos de software, lo que incluye desde brazos robticos en naves

espaciales, hasta mquinas que pulen cristal donde un pequeo error podra costar mucho dinero. Mucha gente cree que como Mach bsicamente fall en el intento de resolver el conjunto de problemas que los microncleos intentaban subsanar, toda la tecnologa de microncleos es intil. Los partidarios de Mach afirman que sta es una actitud estrecha de miras que ha llegado a ser lo suficientemente popular para que mucha gente la acepte como verdad.

Ncleos hbridos (microncleos modificados)[editar]


Artculo principal: Ncleo hbrido.

Los ncleos hbridos fundamentalmente son microncleos que tienen algo de cdigo no esencial en espacio de ncleo para que ste se ejecute ms rpido de lo que lo hara si estuviera en espacio de usuario. ste fue un compromiso que muchos desarrolladores de los primeros sistemas operativos con arquitectura basada en microncleo adoptaron antes que se demostrara que los microncleos pueden tener muy buen rendimiento. La mayora de sistemas operativos modernos pertenecen a esta categora, siendo el ms popular Microsoft Windows. XNU, el ncleo de Mac OS X, tambin es un microncleo modificado, debido a la inclusin de cdigo del ncleo de FreeBSD en el ncleo basado en Mach. DragonFlyBSD es el primer sistema BSD que adopta una arquitectura de ncleo hbrido sin basarse en Mach. Algunos ejemplos de ncleos hbridos:

Microsoft Windows NT, usado en todos los sistemas que usan el cdigo base de Windows NT XNU (usado en Mac OS X) DragonFlyBSD ReactOS

Hay gente que confunde el trmino ncleo hbrido con los ncleos monolticos que pueden cargar mdulos despus del arranque, lo que es un error. Hbrido implica que el ncleo en cuestin usa conceptos de arquitectura o mecanismos tanto del diseo monoltico como del microncleo, especficamente el paso de mensajes y la migracin de cdigo no esencial hacia el espacio de usuario, pero manteniendo cierto cdigo no esencial en el propio ncleo por razones de rendimiento.

Exoncleos[editar]
Artculo principal: Exoncleo.

Esquema bsico de la interaccin entre un Exoncleo (Exokernel) con el Software a travs de bibliotecas. Los exoncleos, tambin conocidos como sistemas operativos verticalmente estructurados, representan una aproximacin radicalmente nueva al diseo de sistemas operativos. La idea subyacente es permitir que el desarrollador tome todas las decisiones relativas al rendimiento del hardware. Los exoncleos son extremadamente pequeos, ya que limitan expresamente su funcionalidad a la proteccin y el multiplexado de los recursos. Se llaman as porque toda la funcionalidad deja de estar residente en memoria y pasa a estar fuera, en bibliotecas dinmicas. Los diseos de ncleos clsicos (tanto el monoltico como el microncleo) abstraen el hardware, escondiendo los recursos bajo una capa de abstraccin del hardware, o detrs de los controladores de dispositivo. En los sistemas clsicos, si se asigna memoria fsica, nadie puede estar seguro de cul es su localizacin real, por ejemplo. La finalidad de un exoncleo es permitir a una aplicacin que solicite una regin especfica de la memoria, un bloque de disco concreto, etc., y simplemente asegurarse que los recursos pedidos estn disponibles, y que el programa tiene derecho a acceder a ellos. Debido a que el exoncleo slo proporciona una interfaz al hardware de muy bajo nivel, careciendo de todas las funcionalidades de alto nivel de otros sistemas operativos, ste es complementado por una biblioteca de sistema operativo. Esta biblioteca se comunica con el exoncleo subyacente, y facilita a los programadores de aplicaciones las funcionalidades que son comunes en otros sistemas operativos. Algunas de las implicaciones tericas de un sistema exoncleo son que es posible tener distintos tipos de sistemas operativos (p.e. Windows, Unix) ejecutndose en un solo exoncleo, y que los desarrolladores pueden elegir prescindir incrementar funcionalidades por motivos de rendimiento. Actualmente, los diseos exoncleo estn fundamentalmente en fase de estudio y no se usan en ningn sistema popular. Un concepto de sistema operativo es Nemesis, creado por la Universidad de Cambridge, la Universidad de Glasgow, Citrix Systems y el Instituto Sueco de Informtica. El MIT tambin ha diseado algunos sistemas basados en exoncleos. Los exoncleos se manejan en diferente estructura dado que tambin cumplen funciones distintas

Referencias[editar]
1. gnu.org (ed.): What is the GNU Hurd? (en ingls) (25 de julio). Consultado el 18 de febrero de 2010. 2. Barr, Michael. 5 Getting to know the hardware (en ingls). Programming Embedded Systems in C and C++ (1 edicin). O'Reilly. pp. 54-55. ISBN 1565923545. 3. Andrew Tanenbaum, Sistemas Operativos: Diseo e implementacin, Captulo 1: Introduccin. 4. QNX Software Systems (ed.): QNX Operating System: Project overview (en ingls) (2004). Consultado el 10 de febrero de 2010. 5. un resumen de la disputa entre Linus Torvalds y Andrew Tanenbaum (en ingls).

Anda mungkin juga menyukai