Académique Documents
Professionnel Documents
Culture Documents
Microblaze
The MicroBlaze embedded processor soft core
Procesador
Agenda
1 2
Introduccin
Introduccin
Procesadores Embebidos en FPGAs
Diseos en FPGAs donde se requiera capacidad de procesamiento, sin recurrir a un procesador externo.
Introduccin
Soft vs Hard processors
Hard Processor; El procesador es un circuito VLSI, con un diseo a nivel de transistor optimizado para ejecutar instrucciones en el mnimo tiempo posible.
XILINX: SW_HW PowerPC IBM Virtex2Pro 30% a 50% mas veloz que el SoftCore
Introduccin
Soft vs Hard processors
Soft Processor; El procesador se implementa simulando su comportamiento con un lenguaje de programacin (HDL en el caso de Microblaze architecture Behavioral of procesador is If Ins_Entrada = Instruccin_Suma then Acumulador <= Dato1 + Dato2 Endif;
Introduccin
Microprocesadores Soft core: MicroBlaze Versatilidad. Tantos procesadores como capacidad tenga la FPGA. Procesadores Personalizados ( Flash, UART, GPIO, etc.)
Introduccin
Introduccin
FPGA => entre 432 (Spartan II 15K) hasta 125.136 (Virtex II Pro 125) celdas lgicas MicroBlaze Soft Processor => alrededor de 1000 celdas lgicas (dependiendo de la FPGA)
El Microblaze
Soft core processor, implemented using general logic primitives 32-bit Harvard RISC architecture Supported in the Xilinx Spartan and Virtex series of FPGAs Customizability of the core makes it challenging while opening up vistas for kernel configurations
Arquitectura
Arquitectura RISC
Optimizado para XILINX Pipeline
Buses diseados para soportar CoreConnect de IBM Buses opcionales. LMB (local memory) OPB (on-chip peripheral) PLB (Processor Local Bus)
PLB from IBM PowerPC
MMU opcional.
Arquitectura-Instrucciones
Arquitectura tipo RISC (Reduced Instruction Set Computer). Lo que simplifica enormemente la unidad de decodificacin. 87 Instrucciones, seleccionadas para reducir el tamao de la ALU. Instrucciones que requieran un procesamiento complejo se realizan en un hardware especfico. Recursos FPGA.
Arquitectura-Pipeline
Solucin arquitectnica para maximizar throughput (# datos procesados por segundo). Una arquitectura RISC aumenta fcilmente su rendimiento por medio de la segmentacin (Pipeline). 3 etapas de Pipeline: Fetch, Decode, and Execute. Se logra que se ejecute 1instruccin/ciclo de reloj. 5 etapas ofrecen un reloj mas veloz, pero aumenta la latencia. Los problemas relacionados con los saltos de programa (Hazards) son tratados por hardware
Arquitectura-Pipeline
Arquitectura-Registros Internos
FPGAs memoria distribuida, vecindad con tiempo de acceso corto. 32x32bit registros internos de propsito general, Gran capacidad de direccionamiento de memoria. 2 registros de propsito especifico PC: Program Counter MSR (Machine Status Register); Acarreo, Mascara de interrupciones, Configuracin de buses
Registros
Conjunto ortogonal de Instrucciones: Cualquier instruccin puede
utilizar cualquier elemento de la arquitectura como fuente o destino. Se puede utilizar cualquier modo de direccionamiento en cualquier instruccin.
*Pagina 14 mb_rf_guide_10.1
Formato de Instrucciones
Procesador tipo RISC (Reduced Instruction Set Computer) Las instrucciones operan con los registros internos o con valores inmediatos. Instrucciones de 32 Bits. Tipo A: 2 Reg. Fuente, 1 Reg Destino. Tipo B: 1 Reg. Fuente, 1 Op.Inm.16 Bits extendible a 32, 1 Reg. Destino. Categorias de las Instrucciones. Aritmetica, Lgica, Salto, Carga-Almacenamiento, Inst. especiales
Formato de Instrucciones(2)
Instrucciones de 3 operandos (5-bit field) Operandos Inmediatos de 16-bit
*Pagina 14 mb_rf_guide_10.1
Interrupciones y excepciones
El procesador tiene un puerto de interrupciones. 4 ciclos de reloj de latencia Disparada por nivel o flanco Si hay diferentes prioridades de interrupciones, necesitaremos un IP, que se encarga de multiplexar e identificar las diferentes fuentes de interrupcin. Aumento de la latencia de interrupciones Manejo de interrupciones torpe No hay interrupciones tipo wake-up Pila de direcciones implementada por software.
*Pagina 14 mb_rf_guide_10.1
Memoria Interna
Acceso directo del procesador a los Bloques de RAM interna de la FPGA. Memoria interna de la FPGA Configurable para la anchura de bus deseada, Latencia de acceso a memoria interna 2 ciclos
Memoria Externa
Memoria Externa; acceso a travs del OPB. Latencia de acceso a memoria externa 3 ciclos de reloj si no hay ciclos de arbitrio para el OPB.
TIPOS DE DATOS
Byte n+2
Byte n+3
LSByte 31 LSBit
TIPOS DE DATOS
Arquitectura de Memoria
Otros IP interesantes
Decodificador Viterbi para correccin de errores 10 Gigabit Media Access Controller Controlador Ethernet 10/100 Procesador Bluetooth Interfaz PCI, I2C, DDR RAM DSP, filtros digitales, FFT (hasta 1024 puntos) Interfaces para procesadores externos Microcontroladores (Como el 8051)
Arquitectura-Memoria Cache
Utilizacin y configuracin de los tamaos de cach pueden ser fijados por el usuario. Habilitacin de cach de instrucciones y/o datos, tamao, rango de direcciones y tamao de palabra para datos. Las cachs son de tipo asociativo.
FPU
IEEE 754 Standard Single-Precision Floating Point ADD, SUB, MUL, DIV, Comp, Conv, SQRT Overflow returns signed 32-bit float 8-bit exponent, 23-bit mantissa Exceptions (when enabled) are regular Hardware Exceptions Result register not overwritten if exception