iob-cache: un caché de código abierto configurable y de alto rendimiento
Autores: Roque, João V.; Lopes, João D.; Véstias, Mário P.; de Sousa, José T.
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
iob-cache: un caché de código abierto configurable y de alto rendimiento
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería de Software
Palabras clave
Código abierto
Procesadores
Caché
Configurable
Interfaz
Memoria
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 38
Citaciones: Sin citaciones
Los procesadores de código abierto están siendo adoptados cada vez más por la industria, lo que requiere todo tipo de implementaciones de periféricos de código abierto y otros módulos de sistemas en chip. A pesar del reciente surgimiento del hardware de código abierto, las cachés de código abierto disponibles tienen baja configurabilidad, falta de soporte limitado para accesos a memoria en ciclo único y utilizan interfaces de hardware no estándar. En este documento se propone, desarrolla e implementa la caché IObundle (IOb-Cache), una caché de código abierto configurable de alto rendimiento. La caché tiene módulos frontal y trasero para una rápida integración con procesadores y controladores de memoria. El módulo frontal admite la interfaz nativa, y el módulo trasero admite la interfaz nativa y la Interfaz Estándar Avanzada eXtensible (AXI). La caché es altamente configurable en estructura y políticas de acceso. El módulo trasero puede configurarse para leer ráfagas de múltiples palabras por transferencia para aprovechar el ancho de banda de memoria disponible. Hasta donde sabemos, IOb-Cache es actualmente la única caché configurable que admite interfaces de Unidad Central de Procesamiento (CPU) en pipeline y la interfaz de bus de memoria AXI. Además, tiene un búfer de escritura a través y un controlador independiente para una escritura rápida, la mayor parte del tiempo de 1 ciclo junto con una lectura de 1 ciclo, mientras que trabajos anteriores solo admiten lecturas de 1 ciclo. Esto permite que el mejor reloj por instrucción (CPI) esté cerca de uno (1.055). IOb-Cache está integrado en el repositorio de Github del Sistema en Chip IOb (IOb-SoC), que tiene 29 estrellas y ya se está utilizando en 50 proyectos (forks).
Descripción
Los procesadores de código abierto están siendo adoptados cada vez más por la industria, lo que requiere todo tipo de implementaciones de periféricos de código abierto y otros módulos de sistemas en chip. A pesar del reciente surgimiento del hardware de código abierto, las cachés de código abierto disponibles tienen baja configurabilidad, falta de soporte limitado para accesos a memoria en ciclo único y utilizan interfaces de hardware no estándar. En este documento se propone, desarrolla e implementa la caché IObundle (IOb-Cache), una caché de código abierto configurable de alto rendimiento. La caché tiene módulos frontal y trasero para una rápida integración con procesadores y controladores de memoria. El módulo frontal admite la interfaz nativa, y el módulo trasero admite la interfaz nativa y la Interfaz Estándar Avanzada eXtensible (AXI). La caché es altamente configurable en estructura y políticas de acceso. El módulo trasero puede configurarse para leer ráfagas de múltiples palabras por transferencia para aprovechar el ancho de banda de memoria disponible. Hasta donde sabemos, IOb-Cache es actualmente la única caché configurable que admite interfaces de Unidad Central de Procesamiento (CPU) en pipeline y la interfaz de bus de memoria AXI. Además, tiene un búfer de escritura a través y un controlador independiente para una escritura rápida, la mayor parte del tiempo de 1 ciclo junto con una lectura de 1 ciclo, mientras que trabajos anteriores solo admiten lecturas de 1 ciclo. Esto permite que el mejor reloj por instrucción (CPI) esté cerca de uno (1.055). IOb-Cache está integrado en el repositorio de Github del Sistema en Chip IOb (IOb-SoC), que tiene 29 estrellas y ya se está utilizando en 50 proyectos (forks).