1 / 27

Diseño de la Unidad de Gestión de Memoria (MMU) para Procesadores Superescalares

Diseño de la Unidad de Gestión de Memoria (MMU) para Procesadores Superescalares. Alumno: Fernando Preciado Llanes. Boleta: A110872. 07 -JUN-2013. CONTENIDO. Objetivos de la Tesis e Introducción Unidad de Gestión de Memoria (MMU) y Memoria Virtual

gella
Download Presentation

Diseño de la Unidad de Gestión de Memoria (MMU) para Procesadores Superescalares

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Diseño de la Unidad de Gestión de Memoria (MMU) para Procesadores Superescalares Alumno: Fernando Preciado Llanes Boleta: A110872 07-JUN-2013

  2. CONTENIDO Objetivos de la Tesis e Introducción • Unidad de Gestión de Memoria (MMU) y Memoria Virtual • Desarrollo del Systemon ChipSoC en FPGA • Soft-Coresactuales • Microprocesador Leon3 y SoC • Bus Amba 2.0 • Diseño de la MMU y del Sistema de memoria • Arquitectura del Sistema de memoria (Harvard / Caches VIVT) • Caches VIVT • Controlador SDRAM • SRMMU • Tablas de páginas • TLB • Desarrollo de Software para Leon3 • Toolchain • Herramienta de depuración y carga (ELF/SO) • Evaluación de la MMU (benchmarks y resultados) HDL EVAL

  3. Objetivos e Introducción

  4. Objetivos de la Tesis Objetivo General. Diseñar y evaluar una Unidad de Gestión de Memoria (MMU) de un procesador superescalar, utilizando lenguajes de descripción de hardware (HDL), para ser implementada en dispositivos lógicos programables (FPGA) y circuitos integrados CMOS VLSI. Objetivos Específicos.  Justificación. Generar el diseño, la caracterización y desempeño ideal de una Unidad de Gestión de Memoria (MMU) para el proyecto de Arquitectura de Computadoras y Sistemas Operativos “Lagarto” del Laboratorio MICROSE del CIC-IPN e implementar técnicas de arquitectura para mejorar los diseños actuales mediante la investigación, integración y combinación de diseños.

  5. ¿Qué es la Unidad de Gestión de Memoria (MMU)? • La Unidad de Gestión de Memoria (MMU) es un dispositivo Hardware formado por un grupo de bloques funcionales, lleva a cabo la gestión de la memoria virtual y es responsable del manejo de los accesos a la memoria por parte de la Unidad de Instrucciones (UI) del procesador. • Las funciones de la Memoria Virtual: Espacio de direcciones grande, protección y compartición de la memoria entre procesos y mapeo de memoria (archivos). CON MEMORIA VIRTUAL SIN MEMORIA VIRTUAL

  6. Diagrama de flujo de la operación de una MMU

  7. Desarrollo del Systemon ChipSoC en FPGA

  8. Soft-Coresactuales Un Soft-Core es un microprocesador completamente descrito en un lenguaje de descripción de hardware (HDL) como VHDL o Verilog. Los cuales pueden ser implementados dentro de dispositivos programables como FPGAs, ASIC, CPLD. ALTERNATIVAS INVESTIGADAS

  9. Microprocesador Leon3 ISA SPARC V8 con extensiones V8e. Pipeline de 7-etapas. Unidades de multiplicación, división y MAC. FPU IEEE-754. Arquitectura Harvard. SPARC Reference MMU (SRMMU)>> SOLinux SPARC. Sistema de Caches Bus de comunicación AMBA-2.0 AHB. DSU. Unidad de control IRQ. Co-Procesador SMP Multiprocesamiento simétrico NUMA Hasta 125 MHz en 65nm FPGA y 400 MHz en 0.13 µm tecnologías ASIC. • El LEON3 es un procesador soft-core, de 32 bits desarrollado por GaislerResearch en conjunto con la Agencia Espacial Europea (ESA) que surgió con la búsqueda de desarrollar un procesador modular, fácilmente portable, con interfaces estándar y que ejecuta hasta 100 MIPS. Se basa en una arquitectura SPARC V8.

  10. Desarrollo del SoC en FPGA /grlib • Es un conjunto de IPcores organizados en librerías VHDL • -lib > Leon3, AHBCTRL, AHB/APB-bridge, CLKGEN, MEMCTRL, UART, DSU … • -config.vhd > parámetros de configuración • -leon3mp.vhd > top entity que instancia todos los IPcores del diseño que son configurados a través de los parámetros de config.vhd. • EP4CE115.qsf > asignación I/O a pines. • techmap > componentes para instanciar tecnologías propias del FPGA USB-BLASTER

  11. Áreas de mapeo (bus AMBA 2.0) Define 2 tipos de buses: grlib/lib/amba APB bus Single-Master AHB bus Multi-master 0x80000000 CPU0 0x40000000 MCTRL (SDRAM) 0x80000100 UART (RS232) JTAG LINK 0x90000000 DSU 0x80000300 (GPTIMER) rom0xFFFFF000 M/S Plug&Play rom

  12. Diseño de la MMU y del Sistema de memoria

  13. Arquitectura del sistema de memoria Ciclos de operación de DC CID + DV VIVT VIVT Write-through DF Ciclos de operación de IC

  14. Caches IC/DC Estructura de una Tag de la IC y DC (32bytes/ línea) PIPT VIVT Registro de control de cache (CCR) Mapeo ASI = 2 a registros de Control y Configuración de Caches VIPT 2 Registros de configuración de IC/DC Cache flushing: Ambas IC y DC son vaciadas por la ejecución de una instrucción FLUSH ASI=0x10 para IC y 0x11 para DC. La IC es también vaciada al activar el bit FI del registro de control de cache (CCR)

  15. Controlador SDRAM La SDRAM es controlada es de 128MB (8M x 16bits x 4bancos), 13 bits de dirección (13 row / 8-12 column) y de 4 bancos. Implementa el modo de operación burst transfer para accesar a direcciones consecutivas para el caso de una escritura de línea en la IC y para DL y DST en la DC. Comprende el espacio de direcciones: 0x40000000 – 0x80000000. 128MB 64MBx2 ACC Registro de configuración (SDCFG)

  16. Leon3 SPARC Reference Memory Management Unit (SRMMU) Registro de control SRMMU Registro de Contexto Registro de DV de fallo Registro estatus de fallo Registro AP Contexto

  17. Leon3Reference Memory Management Unit (SRMMU) TABLAS DE PÁGINAS Memoria Virtual: Traducción de la dirección virtual a dirección física 2 DV ASI 1 35 32 Offset 3 Index 1 Index 2 Index 3 Kernel “Algoritmos de remplazo de página” LRU, rand 4 DF

  18. Direcciones ASI (SRMMU) Con las instrucciones alternativas LDA / STA, además de poder accesar a registros especiales del hardware, son utilizadas como instrucciones para la operación de la MMU, las cuales son usadas por Linux para escribir en TP y en registros. flush flusht set 0x0f, %g1 sta %g1, [%g2] 512 LDA / STA> Flush en TP STA >

  19. -Desarrollo de Software para el SoC Leon3 -Evaluación de la MMU

  20. Desarrollo de Software para Leon3 Compiladores BCC (Bare-CrossCompiler) gcc C/C++ newlibCembedded C-library (wo/SO) SPARC/LEON Linux Toolchain > LinuxBuildRoot (toolchain) - GNU GCC, GNU binutils, GNU GDB, -glibC -uClibC > compacta libreria C para S.E. , para sistemas sin MMU -Kernel para arquitectura SPARCV8 -BoardSupportPackage (BSP) -$ busyboxls, cd, rm, -mklinuxloader (bootloader)

  21. grmon Herramienta de depuración y carga (ELF/SO) Carga Ejecución Inicio Lectura de localidades de memoria (AHB PnP 0xfffff000) Lectura de registros

  22. Evaluación de la MMU y SM (benchmarks y resultados) Para evaluar el desempeño del procesador y su sistema de memoria se ejecutan benchmarks sobre la arquitectura. Otras métricas de importancia son aspectos de implementación del circuito, como son la frecuencia y recursos usados del FPGA. Evaluation of synthesizable CPU cores ComputerScienceandEngineering CHALMERS UNIVERSITY OF TECHNOLOGY Gothenburg, Sweden Parámetros y configuración del procesador BENCHMARKS • -Dhrystone2.1> actividades de aplicaciones generales que procesa CPU = operaciones aritméticas de enteros, operaciones de cadena, lógicas y accesos a memoria. Aplicado para evaluar sistemas embebidos. • -Stanford > mide el tiempo de ejecución en milisegundos de diez pequeños programas incluidos (conjunto de pruebas). • -Whetstone> mide el rendimiento de monoprocesadores de aritmética flotante.

  23. Evaluación de la MMU y SM (benchmarks y resultados) Evaluación de Caches

  24. Evaluación de la MMU y SM (benchmarks y resultados) Evaluación de MMU Benchmarks sobre Linux version 2.6.36.4

  25. Referencias The SPARC V8 Architecture Manual. SPARC Reference MMU Architecture. AeroflexGaisler Leon3 Processor. Grlib IP-Cores Manual. OpenCoresOpenRISCProcessor. TLB-onlyPagingon x86-64 Martin Van Rijswick, May 24-28, 2010, Ulm University. Understanding 4M Page Size Extensions on the Pentium Processor, Robert R. Collins. Losmicroprocesadores Intel 5ta Edición. Sistemas Operativos Modernos 3ra Edición Improving Direct-Mapped Cache Performance by the Addition of a Small Fully-Associative Cache and Prefetch Buffers CMOS VLSI Design, circuits and systemsperpective. Neil H.

  26. MUCHAS GRACIAS POR SU ATENCIÓN

  27. CID 39 31 9 8 7 0 32 ATAG LOCK VALID 7 0 32 8 CID ContextTable Pointer

More Related