Curso: Arquitectura de Computadoras Ttulo: Procesador MISP Turno: Maana - Tarde Horario: 10:00 am 2:00 pm Alumno: Guzmn Baos Martin Antonio - 10200035 Rodriguez Mallma Josef 10200026 Delgado Mamani Irbin - 10200178 Profesor: MAC DOWALL REYNOSO, ERWIN Sumario
1. Introduccin Diseo 2. Historia Familia CPUs MIPS 3. Arquitectura 4. Instrucciones 5. Bibliografa
1. Introduccin MIPS (Microprocessor without Interlocked Pipelines Stages) Desarrollado por: MIPS Technologies Arquitectura: RISC Registros: propsito general de clasificacin registro-registro Instrucciones: la mayora no acceden a memoria. o Dos operandos, la fuente y el resultado.
Diseo Actualmente utilizado en: Productos SGI (Silicon Graphics International) y sistemas embebidos. Dispositivos para Windows CE (SO de Microsoft de tiempo real para dispositivos mviles de 32-bits inteligentes y conectados. Combina la compatibilidad y los ping a servicios de aplicacin avanzados de Windows con soporte para mltiples arquitecturas de CPU y opciones incluidas de comunicacin y redes para proporcionar una fundacin abierta para crear una variedad de productos). Routers CISCO (CISCO Systems empresa dedicada a la fabricacin, venta, mantenimiento y consultora de equipos de telecomunicaciones). Videoconsolas (N64 , PSP) Al principio utilizados en Workstations (ACER, NEC, Siemens-Nixdorf ) Ms tarde utilizado en sistemas embebidos y desarrollo de iteraciones de alto rendimiento a favor de procesadores basados en la tecnologa Intel IA64.
Destaca por: Bajo consumo energtico y gran disponibilidad de herramientas de desarrollo. Conjunto de instrucciones claras Influencia en otras arquitecturas de tipo RISC posteriores: DEC Alpha.
2. Historia Origen: 1981 Universidad de Stanford. John L. Hennessy Idea: mejorar a gran escala el rendimiento de la mquina a travs del uso de la segmentacin. Contra: tecnologa por entonces de sobra conocida pero difcil de implementar. Funcionamiento: la ejecucin de una instruccin era dividida en varias etapas. Frecuencia del reloj de toda la CPU vena dictado por la latencia del ciclo completo.
Otro objetivo: subfases de instrucciones. Resultado de ello: eliminacin de ciertas instrucciones de gran utilidad (multiplicacin y divisin), pero mayor rendimiento. Fuerte crtica fallida: ignoracin de que la velocidad del diseo resida en la segmentacin, no en las instrucciones. 1984 Hennessy decide dejar Standford y fundar MIPS Computer Systems. Primer diseo R2000, en 1985. Despus el R3000, 1988. Dificultades econmicas para el lanzamiento del R4000 (64 bits) -> compra de la compaa por parte de SGI en 1992. Se distribuyen licencias a terceros. Sistema de licencias de MIPS se consolida en 1999. Lanzamiento del MIPS32 (32 bits)y el MIPS64 (64 bits). xito de ventas hasta la actualidad. Ncleos MIPS son unos de los ms importantes en: Ordenadores de mano Decodificadores Sintonizadores de televisin
Familia CPUs MIPS R2000 (1985) instrucciones multiciclo y registros de 32 bits. R3000 (1988) cach de 32 Kb posteriormente aumentada a 64 Kb. De esta rama derivan otros MIPS como el R3400, R3500 o R3900. R4000 (1991) 64 bits cach 8 Kb. Derivados de l son el R4400 de 1993, con caches de 16 Kb, y los diseos de bajo coste R4200 y R4300 entre otros. El R5000 se encuadra junto con el R4700 y el R4650 desarrollados por Quantum Effects Devices, con diseos de grandes caches solo. El R7000 y R9000, de QED, para sistemas embebidos de tipo redes e impresoras lser. R8000 Primer diseo superescalar. Consta de 6 chips (dos caches de 16 KB, una unidad de punto flotante, tres RAM de cach secundaria personalizable y un controlador de cach ASIC). R10000 (1995) chip nico de mayor velocidad de reloj que su antecesor. Tiene derivados como R12000, R12000A, R14000, R14000A, R16000, R16000A y R18000
3. Arquitectura Componentes (Modelo R2000) 1. Procesador (ALU) Unidad Aritmtica y Lgica: Unidad Aritmtica entera, operaciones de multiplicacin y divisin. (FPU)Unidad punto flotante: manejo de memoria cach y virtual. Basado en una arquitectura tipo Harvard: Arquitecturas de computadoras que utilizaban dispositivos de almacenamiento fsicamente separados para las instrucciones y los datos, en oposicin clara a la arquitectura de Von Neumann.
Banco de registros (BR) constituido por: 32 Registros de 32 bits de propsito general para operaciones con enteros. Se identifican por el carcter especial $ seguido de un nmero de 0 a 31. 32 Registros de 32 bits de propsito general, formato IEEE754 para operaciones en punto flotante de precisin simple y 16 registros de 64 bits para operaciones en punto flotante de doble precisin.
2 Registros especiales 32 bits: HI y LO: almacenan los resultados de la multiplicacin/divisin. Transferencia de datos. La Unidad Aritmtico-Lgica, de 32 bits. Profundizando, descripcin de las conexiones para una aritmtica lgica: Primera fase: se busca la instruccin, colocando el PC en la entrada de direcciones de la memoria de instrucciones (MI) la instruccin a ejecutar, la cual presenta una seal de lectura siempre activa y su salida ser la instruccin. En esta implementacin se incrementa simultneamente el contenido del PC, aunque no se actualiza.
Segunda fase: decodificacin de la instruccin, encargada de enviar las seales apropiadas de lectura, escritura y seleccin a los elementos que lo precisen, dos operandos en una instruccin aritmtica o lgica y el cdigo de operacin y el de control de la ALU.
2. Memoria a) Word (palabra) contenido de una celda de memoria. Posee palabras de 32 bits, pero tambin ms datos: i. Bit: 0,1. ii. 4 bits nibble. iii. 8 bits -- byte . iv. 16 bits -- half-word. v. 32 bits -- word. vi. 64 bits -- double-word. vii. Character: ASCII Cdigo de 7 bits por smbolo. viii. Decimal (BCD): Dgitos de 0-9 codificados desde 0000 hasta 1001. ix. Enteros: 32 bits (sin signo o complemento a 2). x. Reales: 32 bits (precisin simple) o 64 bits (doble precisin) .
a) Las palabras de 32-bits, bytes y medias-palabras pueden ser cargados en GPRs. Bytes y medias palabras rellenan con 0 o con el bit de signo los 32 bits. Unidades de 32 bits pueden ser cargadas en FPRs Nmeros reales de 32 bits (precisin simple) se guardan en los FPRs pares Los reales de precisin doble (64-bit) se guardan 2 FPRs consecutivos empezando por nmero par. b) Las palabras de 32-bits, bytes y medias-palabras pueden ser cargados en GPRs. Bytes y medias palabras rellenan con 0 o con el bit de signo los 32 bits. Unidades de 32 bits pueden ser cargadas en FPRs Nmeros reales de 32 bits (precisin simple) se guardan en los FPRs pares Los reales de precisin doble (64-bit) se guardan 2 FPRs consecutivos empezando por nmero par. c) Organizacin de la memoria: Direccin fsica memoria de instrucciones, en modo usuario, empieza en la direccin 0x00400000 y termina en la 0x0FFFFFFF. Direccin de la memoria de datos, en modo usuario, empieza en la 0x10000000 y termina en la 0x7FFFFFFF. La memoria accesible por el usuario se encuentra dentro del rango [0x00400000, 0x7FFFFFFF] (tipo RAM). La parte de memoria del programa sirve para contener el cdigo de las aplicaciones que se ejecutan. Los segmentos de datos estticos, datos dinmicos y pila contienen los datos que las aplicaciones utilizan en su ejecucin.
a) Alineacin: MIPS tiene restricciones de acceso a memoria. Utiliza el byte como mnima unidad con direccin: Las palabras(32-bit) tienen que empezar en una direccin mltiplo de 4;
una direccin de una palabra 4n incluye 4bytes con direcciones 4n 4n+1,4n+2 y 4n+3. Las medias-palabras(16-bit) tienen que empezar en una direccin mltiplo de 2; as una direccin de una palabra 2n incluye 2bytes con direcciones 2n y 2n+1. Las direcciones son dadas como un entero de 32 bits sin signo. Dos formas de numerar los bytes contenidos en una palabra: a) Big endian (IBM, Motorola, MIPS): la direccin del byte ms significativo termina en 00 (en binario), slo si la palabra est alineada.
i. Little endian (Intel, Dec): la direccin del byte menos significativo termina en 00 (en binario), slo si la palabra est alineada.
4. Instrucciones Modelo R2000 Permite realizar instrucciones de carga y almacenamiento desde y hacia memoria. Tiene capacidad de desarrollar programas que resuelven problemas aritmticos y lgicos. Ofrece la posibilidad de controlar el flujo de la ejecucin del programa mediante instrucciones de comparacin y salto. Salto condicional e incondicional. Tipos de instrucciones: Instrucciones aritmticas. Instrucciones lgicas. Instrucciones de salto incondicional. Mismo tamao cada una (32 bits). Clasificar en funcin de: banco de registros, memoria de datos, ALU. Los componentes que utiliza la instruccin se deben especificar en una serie de bits. Tipos de instrucciones utilizan diferentes formatos para codificar sus campos. En el MIPS R2000, distinguimos: Formato R o de tipo registro. Formato I o de tipo inmediato. Formato J o de salto incondicional (jump).