Paper

5
 PAPER - MIPS Resumen: En este paper se tiene como propósito informar al lector acerca del uso de los MIPS, mostrar a pequeños rasgos la funcionalidad de este. Un objetivo de este paper es acer saber al lector acerca de la funcionalidad de los MIPS. !ambi"n que al leer el siguiente paper el lector tenga la capacidad de maniobrar las instrucciones de manera adecuada, #a que en este paper se ace llegar al lector sus conceptos. Palabras clave: MIP, Instrucc iones, estructura, funcionalidades, aplicaciones. Abstract: In tis paper it is intended to inform te reader about using te MIPS, so$ small features tisfunctionalit#. %ne objective of tis paper is to inform te reader about te functionalit# of te MIPS.  &lso $en reading te follo$ing paper te reader as te abilit# to maneuver te instructions properl#, since in tis paper it is sent to te reader concepts. Keywords: MIP, Instruct ions, structure, features, applications. Introducción: 'on el nombre de MIPS (siglas de M icroprocessor without I nterlocked P ipeline S tages) se conoce a toda una familia de microproces adores de arquitect ura *IS' desarrollados por MIPS !ecnologies. +os diseños del MIPS son utilia dos en la l-nea de producto s informt icos de S/I0 en mucos  sistemas embebidos0 en di sp ositivos para 1indo$s 'E0 routers 'isco0 # videoconsolas como la 2intendo 34 o las Son# Pla#Station,  Pla#Station 5 # Pla#Station Portable. +as primeras arquitecturas MIPS fueron implementadas en 65 bits (generalmente rutas de datos # registros de 65 bits de anco), si bien versiones posteriores fueron implementadas en 34 bits. E7isten cinco revisiones compatibles acia atrs del conjunto de instrucciones del MIPS, llamadas MIPS I, MIPS II, MIPS III, MIPS I8 # MIPS 65934. En la :ltima de ellas, la MIPS 65934 *elease 5, se define a ma#ores un conjunto de control de registros. &s- mismo estn disponibles varias ;e7tensiones;, tales como la MIPS<6=, consistente en un simple conjunto de instrucciones SIM= en coma flotante dedicadas a tareas 6= comunes, la M=M>(Ma=Ma>) compuesta por un conjunto ms e7tens o de instrucciones SIM= ent eras que utili an los registros de coma flotan te de 34 bit s, la MI PS?3 que añade compresión al flujo de instrucciones para acer que los programas ocupen menos espacio (presuntamente como respuesta a la tecnolog-a de compresión !umb de la arquitectura

description

paper

Transcript of Paper

PAPER - MIPSResumen:En este paper se tiene como propsito informar al lector acerca del uso de los MIPS, mostrar a pequeos rasgos la funcionalidad de este.Un objetivo de este paper es hacer saber al lector acerca de la funcionalidad de los MIPS.Tambin que al leer el siguiente paper el lector tenga la capacidad de maniobrar las instrucciones de manera adecuada, ya que en este paper se hace llegar al lector sus conceptos.Palabras clave: MIP, Instrucciones, estructura, funcionalidades, aplicaciones.Abstract:

In this paper it is intended to inform the reader about using the MIPS, show small features thisfunctionality.One objective of this paper is to inform the reader about the functionality of the MIPS.Also when reading the following paper the reader has the ability to maneuver the instructions properly, since in this paper it is sent to the reader concepts.

Keywords: MIP, Instructions, structure, features, applications.

Introduccin:Con el nombre de MIPS (siglas de Microprocessor without Interlocked Pipeline Stages) se conoce a toda una familia de microprocesadores de arquitectura RISC desarrollados por MIPS Technologies.Los diseos del MIPS son utilizados en la lnea de productos informticos de SGI; en muchos sistemas embebidos; en dispositivos para Windows CE; routers Cisco; y videoconsolas como la Nintendo 64 o las Sony PlayStation, PlayStation 2 y PlayStation Portable.Las primeras arquitecturas MIPS fueron implementadas en 32 bits (generalmente rutas de datos y registros de 32 bits de ancho), si bien versiones posteriores fueron implementadas en 64 bits. Existen cinco revisiones compatibles hacia atrs del conjunto de instrucciones del MIPS, llamadas MIPS I, MIPS II, MIPS III, MIPS IV y MIPS 32/64. En la ltima de ellas, la MIPS 32/64 Release 2, se define a mayores un conjunto de control de registros. As mismo estn disponibles varias "extensiones", tales como la MIPS-3D, consistente en un simple conjunto de instrucciones SIMD en coma flotante dedicadas a tareas 3D comunes, la MDMX(MaDMaX) compuesta por un conjunto ms extenso de instrucciones SIMD enteras que utilizan los registros de coma flotante de 64 bits, la MIPS16 que aade compresin al flujo de instrucciones para hacer que los programas ocupen menos espacio (presuntamente como respuesta a la tecnologa de compresin Thumb de la arquitectura ARM) o la reciente MIPS MT que aade funcionalidades multithreading similares a la tecnologa HyperThreading de los procesadores Intel Pentium 4.Debido a que los diseadores crearon un conjunto de instrucciones tan claro, los cursos sobre arquitectura de computadores en universidades y escuelas tcnicas a menudo se basan en la arquitectura MIPS. El diseo de la familia de CPU's MIPS influira de manera importante en otras arquitecturas RISC posteriores como los DEC Alpha.AplicacionesEntre los fabricantes de estaciones de trabajo basadas en procesadores MIPS destacan SGI, MIPS Computer Systems, Inc., Olivetti, Siemens-Nixdorf, Acer, Digital Equipment Corporation, NEC y DeskStation. Varios sistemas operativos fueron portados a la arquitectura, ejemplos de ello son el SGI IRIX, Microsoft Windows NT (aunque el soporte para MIPS finaliz con el lanzamiento de Windows NT 4.0) y Windows CE, Linux, BSD, UNIX System V, SINIX, MIPS Computer Systems RISC/os, entre otros.Sin embargo, el uso del MIPS como procesador principal de estaciones de trabajo ha cado, y SGI ha anunciado sus planes de cesar el desarrollo de iteraciones de alto rendimiento de la arquitectura MIPS en favor de procesadores basados en la tecnologa Intel IA64 (vase la seccin "Otros modelos y planes futuros").Por otra parte, el uso de microprocesadores MIPS en sistemas embebidos es probable que se mantenga gracias al bajo consumo de energa y caractersticas trmicas de las implementaciones integradas, as como a la gran disponibilidad de herramientas de desarrollo y de expertos conocedores de la arquitectura.Otros modelos y planes futurosOtro miembro de la familia MIPS es el R6000, una implementacin ECL de la arquitectura MIPS fabricada por Bipolar Integrated Technology. El R6000 introdujo el juego de instrucciones MIPS II. Su arquitectura TLB y de cach son diferentes del resto de miembros de la familia MIPS. El R6000 no proporcion los resultados esperados, y aunque fue empleado en algunas mquinas Control Data, rpidamente desapareci del mercado de los mainstream. El PMC-Sierra RM7000 fue una versin del R5000 con una cach integrada de nivel 2 de 256 kB y un controlador para una cach opcional de tercer nivel. Diseado en un principio para sistemas embebidos como los procesadores grficos SGI y varias soluciones de redes de Cisco. El nombre R9000 nunca fue utilizado.SGI intent una vez migrar de la plataforma MIPS a la Intel Itanium, habiendo terminado su desarrollo con el R10000. Los grandes retrasos en la presentacin del Itanium hicieron que el nmero de procesadores basados en MIPS instalados continu creciendo. En 1999 qued claro que el proceso de desarrollo haba sido cerrado demasiado pronto, y resultado de ello son las versiones R14000 y R16000. SGI tante la posibilidad de aadir una FPU ms compleja al estilo de la del R8000 en las ltimas iteraciones, as como la de lanzar un procesador de doble ncleo, pero los problemas financieros de la empresa y el uso oficial y soportado de la emulacin QuickTransit para ejecutar binarios IRIX sobre Altix provocaron el cese definitivo del desarrollo de hardware IRIX/MIPS.NcleosEn los ltimos aos gran parte de la tecnologa empleada en las distintas generaciones MIPS ha sido ofrecida como diseos de "IP-cores" (bloques de construccin) para sistemas embebidos. Se ofertan los ncleos bsicos de 32 y 64 bits, conocidos respectivamente como 4K y 5K respectivamente, y con licencias MIPS32 y MIPS64. Estos ncleos pueden ser combinados con unidades aadidas tales como FPUs, sistemas SIMD, dispositivos de E/S, etc.Los ncleos MIPS han sido comercialmente exitosos, siendo empleados actualmente en muchas aplicaciones industriales y de consumo. Pueden encontrarse en los ms modernos routers Cisco, TP-Link y Linksys , cablemdems y mdems ADSL, tarjetas inteligentes, controladoras de impresoras lser, decodificadores de TV, robots, ordenadores de mano, Sony PlayStation 2 y Sony PlayStation Portable.En mviles y PDA's, sin embargo, el ncleo MIPS fue incapaz de desbancar a su competidor de arquitectura ARM.Programacin y emulacinExiste un simulador MIPS R2000/R3000 totalmente libre llamado SPIM compatible con varios sistemas operativos (especficamente Unix o GNU/Linux; Mac OS X; MS Windows 95, 98, NT, 2000, XP y DOS) ideado para el aprendizaje de la programacin en ensamblador MIPS y de los conceptos generales del ensamblador RISC: http://www.cs.wisc.edu/~larus/spim.htmlUn emulador MIPS ms completo pertenece al proyecto GXemul (anteriormente conocido como Proyecto mips64emul), el cual no slo emula las diferentes versiones de los microprocesadores MIPS III y superiores (desde el R4000 al R10000), sino tambin sistemas enteros que utilicen esos procesadores. Por ejemplo, GXemul puede emular tanto una DECstation con un procesador MIPS R4400 (y arrancar en Ultrix) como un SGI O2 con CPU MIPS R10000 (si bien la capacidad de correr Irix es limitada), entre otros, as como tambin diferentes framebuffers y controladoras SCSI.El software QEMU es capaz de emular tambin, entre muchas otras, la arquitectura MIPS y MIPSel, as como ejecutar GNU/Linux en la mquina emulada.Ejemplos de llamadas al sistema (usadas en SPIM)

ServicioCdigo trampaEntradaSalidaNotas

print_int$v0=1$a0= entero a imprimirimprime a0 en la salida estndar

print_string$v0=4$a0= direccin del primer carcterimprime una cadena de caracterer en la salida estndar

sbrk$v0=9$a0= nmero necesario de bytes$v0= direccin de memoria reservadaReserva memoria de la pila

Resumen del juego de instrucciones del R3000Las instrucciones se dividen en tres tipos: R, I y J. Todas las instrucciones empiezan con un cdigo de operacin de 6 bits. Adems del cdigo de operacin, en las instrucciones tipo R se especifican tres registros, un campo de tamao de desplazamiento ('shamt') y otro para el cdigo de funcin; Las tipo I especifican dos registros y un valor inmediato de 16 bits; en las tipo J al cdigo de operacin le siguen 26 bits de direccin destino de salto.5 6Nombre de los registros, nmero, uso y convenciones de llamada:Registros

NombreNmeroUsoPreservado en llamada

$zero$0constante entera 0s

$at$1temporal del ensambladorno

$v0$v1$2$3Valores de retorno de funciones y evaluacin de expresionesno

$a0$a3$4$7Argumentos de funcionesno

$t0$t7$8$15Temporalesno

$s0$s7$16$23Temporales salvadoss

$t8$t9$24$25Temporalesno

$k0$k1$26$27Reservados para el ncleo del SOno

$gp$28puntero globals

$sp$29puntero de pilas

$fp$30puntero de "frame"s

$ra$31direccin de retornono

Los registros preservados durante una llamada son aquellos que (por convenio) no sern modificados por una llamada de sistema o a un procedimiento o funcin. Por ejemplo, los registros $s deben ser almacenados en la pila por el procedimiento que los necesita, siendo siempre incrementados en constantes $sp y $fp, para ser despus decrementados una vez finalizado el procedimiento (se marca como disponible la memoria reservada). Por el contrario, $ra es modificado automticamente tras una llamada a una funcin normal (cualquiera que utilice la instruccin jal), y los registros $t deben ser salvados por el programa antes de llamar a cualquier funcin (por si el programa necesita los valores contenidos en dichos registros tras la ejecucin de la subrutina ).Conclusiones:Este paper es importante ya que sabremos acerca de los MIPS, y sus generalidades nos sern de mucha ayuda en el curso de arquitectura de computadoras.