viZard | Estamos orgullosos de presentar hoy a Ralf Baechle. |
viZard | El es el lider de proyecto del pùerto SGI MIPS |
viZard | que te maneja el puerto del kernel de Linux a esta arquitectura |
viZard | El esta ahora en Brasil, llegando desde Australia y California |
viZard | El nos hablara acerca del Proyecto Linux-MIPS |
viZard | yo le llamo Sir Bacchus du MIPS |
viZard | Buenas tardes |
viZard | Hare una corta introduccion a la arquitectura del CPU MIPS |
viZard | y algunos reportes del estado del proyecto Linux-MIPS |
viZard | las preguntas en #qc |
viZard | MIPS es una de las mas antiguas, talves la mas antigua de las arquitecturas RISC en el mercado |
viZard | Los CPUs MIPS se han vendido desde mas o menos 1985 |
viZard | asi que la arquitectura derivada del Stanford RISC es bastante antigua |
viZard | Es realmente una arquitectura clásica. El procesador original R2000 tiene 32 registros para proposito, 32 registros fp |
viZard | It has a 5 stage pipeline (¿?) capaz de ejecutar la mayor cantidad de instrucciones en un solo ciclo |
viZard | Todas las instrucciones aritmeticas son operadas en 3 instrucciones, esto no sobreescribe uno deoperands (¡?) |
viZard | Ademas el seteo de instrucciones es muy ortogonal |
viZard | Por eso es que usualmente, una instruccion es eficientemente resuelta. |
viZard | Unas cuantas instrucciones fueron añadidas para elevar rendimientom, y hacerlo completamente ortogonal |
viZard | Todas las instrucciones son de 32-bit de tamaño |
viZard | Esto simplifica la instruccion de decodificacion del CPU |
viZard | Tambien quiere decir, que ninguna instruccion carga constantemente 32 bits en una sola instruccion |
viZard | Eso requiere dos instrucciones |
viZard | Asi, que algo como "Load constant 0x12345678 al registro $5" funcionara como: |
viZard | lui $5, 0x1234; ori $5, 0x5678. |
viZard | Esto inicialmente sera un shock para un programador que esta acostumbrado a instrucciones mas complejas. |
viZard | Sin embargo no hay que preocupase. |
viZard | El ensamblador de MIPS conoce muchas instrucciones macros que implementas instrucciones sinteticas las cuales, por ejemplo cargan constantes de 32 -bits en un registro |
viZard | Otra caracteristica notable de la arquitectura MIPS, delayed branches (¿?) |
viZard | En MIPS, las instrucciones que siguen inmediatamente el branch, seran ejecutadas antes de la la misma instruccion branch |
viZard | De nuevo, esto pùede parecer confuso y de nuevo el ensamblador se encarga de esto |
viZard | Nosotros "usualmente" refiriendome al programador, podemos decir al ensamblador, que no trate de encajar (¿?) estos delay slot (¿?) |
viZard | si piensa que hacen un mejor trabajo |
viZard | Otra restriccion de la arquitectura, la carga del delay slots |
viZard | Esto solo provee añadir, substraerm multiplicarm y dividir operaciones |
viZard | Sin embargo estas instrucciones son muy rapidas. |
viZard | A diferenca de i386 o m68k |
viZard | el CPU de MIPS solo provee formatos simples y de doble presicion tipo IEEE |
viZard | El formato de precision extendida no esta soportado por el hardware |
viZard | Algunos SOs lo proveen, pero no Linux en este momento. |
viZard | Finalmente, MMU. |
viZard | La Unidad de manejo de memorio de MIPS es el principio RISC dirigido al extremo. |
viZard | Todo esto es un TLB. |
viZard | Un TLB es una memoria completamente asociada en la que el CPU busca direccioones traducidas para la direccion virtual. |
viZard | Si una entrada existe y un acceso de lectura o escritura es permitido |
viZard | este es ejecutado, por otro lado el CPU hara una exepcion. |
viZard | Esto es todo el MMU que existe en el hardware. |
viZard | El resto de todo el sistema esta manejado por el sistema operativo- |
viZard | Otro hecho insteresante acerca del manejo de memoria es que todas las instrucciones que estan relacionadas al coprocesador 1 |
viZard | El TLB no tiene interlocks |
viZard | Esto es que puede ser ejecutado en otro orden al escrito el codigo del programa. |
viZard | Esto puede generar algun dolor de cabeza, pero solo a los hackers del SO. |
viZard | El puerto a un SO es muy sencillo. |
viZard | Solo cambiar algunas cosillas que necesitan ser cambiadas, y unos meses despues se habra llegado al punto de bootear en un shell. :-) |
viZard | Todo esto pasado, fue al respecto del original R2000/R3000 MIPS. |
viZard | Modelos posteriores son totalmente compatibles para la ejecucion de aplicaciones de usuario. |
viZard | El lado del sistema del procesador que guarda, tlb, etc. |
viZard | ha sido mejorado desde entonces. |
viZard | Hasta hace muy poco no existia garantia para compatibilidad de MIPS con sistemas operativos |
viZard | Y estos debian ser modificados para cada nuevo procesador. |
viZard | Hoy, Linux/MIPS soporta una amplia variedad de procesadores de la familia MIPS |
viZard | Este desarrollo es llevado a cabo, por una comunidad que busca por un rapido y real sistema operativo libre, y ha encontrado su respuesta en Linux. |
viZard | Al mismo tiempo, los procesadores MIPS estan al desaparecer de los desktops y servidores. |
viZard | Hoy, Sillicon Graphics es a mi conocimiento, la fabricante de servidores y desktops basados en MIPS. |
viZard | Por lo tanto, solo una pequeña cantidad de servidores y desktops soportan Linux/MIPS. |
viZard | La mayoria de los sistemas son empotrados. |
viZard | Linux/MIPS es tambien usado por varias compañias que estan desarrollando procesadores MIPS como vehiculo para verificar su diseño de procesadores durante su desarrollo. |
Binoche | muy iteresante |
viZard | Un ejemplo de esto, es el CPU de la Playstation 2, el R5900 estuvo corriendo Linux en un simulador en 1997 |
viZard | antes de ser producido este. |
viZard | No preguntes por BogoMIPS |
viZard | tal simulador puede correr tan lento como 190 instrucciones/s |
viZard | Solo para enumerar unas cuantos sistemas que estan soportados por Linux/MIPS. |
viZard | <Bacchus> The Cobalt Qube 1/2 and Raq 1/2 systems. Later Cobalt systems are using i386 family processors. |
viZard | <Bacchus> A number of NEC DDB evaluation boards. |
viZard | <Bacchus> A number of evaluation boards from Toshiba. |
viZard | Linux/MIPS ha sido portado a varios dispositivos como Sony Playstation y hasta impresoras HP Laserjet |
viZard | Hay familias de SGI IP22 y IP27 |
viZard | El IP22 es tambien conocido como Indy, Challenge S o Indigo 2. |
viZard | El IP27 es mehor conocido como Origin 200 y Origin 2000. |
viZard | Hemos corrido Linux en maquinas Origin 2000 con 128 procesadores. |
viZard | Eso es para mi, la maquina simple (no cluster) mas grande que Linux alguna vez a corrido. |
viZard | Linux tambien corre sobre la familia DECstation de maquinas MIPS |
viZard | Eso lo hace, junto a algunos sistemas BSD, el unico sistema operativo en dicha plataforma. |
viZard | Por el momento, hay unas cuantas compañias como Montavista y Redhat/Cygnus |
viZard | que han portado Linux/MIPS a otras plataformas. |
viZard | Asi que probablemente nadie sabe el numero de plataformas soportadas. |
viZard | Para hacerlo corto, corremos en casi todo, desde PDA hasta supercomputadoras. |
viZard | Para sistemas mas grandes, que usan kernels de 64-bits, tambien ofrecemos un kernel de 64-bits. |
viZard | Aunque no es tan maduro como el kernel de 32-bits |
viZard | Aunque para el momento no tenenos muchas herramientas de desarollo de 64-bits. |
viZard | Todo el software disponible para Linux/MIPS64 es software de 32-bits corriendo en un modo binario compatible. |
viZard | A pesar de que Linux/MIPS parece mucho mas Linux que en otra arquitectura. |
viZard | Soportamos las mismas herramientas de desarrollo, y ejecutamos casi todas las mismas aplicaciones. |
viZard | Varios puertos de Linux hechos por las distribuciones como Debian, RedHat y Montavista's Hardhat estan disponibles. |
viZard | Uno de los problemas actuales es que la instalacion de una distribucion puede ser algo compleja y no necesariamente ajustable para principiantes o usuarios sin una solida experiencia en administracion UNIX. |
viZard | Afortunadamente, la ultima generacion de distribuciones Linux esta apunto de eliminar este problema. |
viZard | Con esto termino, alguna pregunta? |
viZard | Sir Bacchus du MIPS |
|