OpenRISC

Ir a: navegación, búsqueda de
OpenRISC
Diseñador OpenCores comunidad
Brocas 32 bits, 64 bits
Diseño RISC
Codificación Fijo
Abierto Sí
Registros
Propósito general 16 o 32
Coma flotante Opcional

OpenRISC es el proyecto original de la OpenCores comunidad. Este proyecto pretende desarrollar una serie de fines generales fuente abierta RISC CPU arquitecturas. La primera (y única actualmente) Descripción arquitectónica es para el OpenRISC 1000, describiendo una familia de procesadores de 32 y 64 bits con punto flotante opcional y soporte de procesamiento de vector.[1]

Un equipo de OpenCores proporcionó la primera aplicación, el OpenRISC 1200, escrito en el Verilog lenguaje de descripción de hardware. El diseño de hardware fue lanzado bajo el GNU Lesser General Public License (LGPL), mientras que los modelos y el firmware fueron liberados bajo la Licencia Pública General de GNU (GPL). Una referencia Rob implementación basada en el OpenRISC 1200 fue desarrollado, conocido como ORPSoC (el plataforma de referencia OpenRISC sistema-on-Chip). Un número de grupos demostró ORPSoC y otros diseños de OR1200 basado en FPGA.[2][3]

Contenido

  • 1 Conjunto de instrucciones
  • 2 Implementaciones
    • 2.1 Implementaciones comerciales
    • 2.2 Uso no-comercial y académico
  • 3 Soporte toolchain
  • 4 Soporte de sistema operativo
    • 4.1 Soporte para Linux
    • 4.2 RTOS apoyo
  • 5 Soporte QEMU
  • 6 Véase también
  • 7 Referencias
  • 8 Enlaces externos

Conjunto de instrucciones

El conjunto de instrucciones es un razonablemente simple MIPS-como tradicional RISC utiliza una arquitectura de carga 3-operando la tienda, con 16 o 32 registros de propósito generales y una longitud fija de 32 bits de instrucción. El conjunto de instrucciones en su mayoría es idéntico entre las 32 y 64 bits versiones de la especificación, la principal diferencia es el registro de anchura (32 o 64 bits) y el diseño de pagetable. La especificación OpenRISC incluye todas las características comunes a los procesadores de escritorio moderno/servidor: un modo supervisor y sistema de memoria virtual, opcional leer, escribir y ejecutar control para las páginas de memoria e instrucciones para la sincronización y la interrupción de manejo entre varios procesadores.

A partir de octubre de 2011.[información fechada], todavía hay algunos pequeños detalles en la especificación de 64 bits que son incompletos o ambiguos.

Otra característica notable es un conjunto de SIMD Instrucciones destinadas al procesamiento de señales digitales.

Implementaciones

Mayoría de las implementaciones está en FPGAs que dan la posibilidad de recorrer en iteración en el diseño a costa de rendimiento.

Como el OpenRISC 1000 ahora se considera estable el proyecto OpenCores está tratando de construir un costo-eficiente ASIC con este diseño para conseguir un rendimiento mejorado.[4] Lanzaron un llamado para donaciones en 2011 con el objetivo de producir el primer ASIC en Q1 2012.[5] A partir de enero de 2014, el primer ASIC no ha producido todavía.

Implementaciones comerciales

Varias organizaciones comerciales han desarrollado derivados de la arquitectura OpenRISC 1000, incluyendo la ORC32-1208 de ORSoC (que también mantienen la OpenCores.org el sitio web) y BA12, BA14 y BA22 desde más allá del Semiconductor. Sistemas de Dynalith proporcionan el incitar Junta de prototipado FPGA, que es capaz de correr el OpenRISC 1000 y BA12. Flextronics International y Jennic limitada fabricado el OpenRISC como parte de un ASIC. Samsung utiliza el OpenRISC 1000 en su DTV system-on-chips (serie B de SDP83, SDP92 de la serie C, serie D SDP1001/SDP1002, serie E SDP1103/SDP1106).[6] Tecnología de Allwinner se ha reportado que utilizan un núcleo OpenRISC en su controlador de potencia AR100, que forma parte del brazo A31 basado en Soc.[7]

Cadence Design Systems han empezado a utilizar OpenRISC como una arquitectura de referencia en la documentación de flujos de cadena de herramienta (por ejemplo la UVM referencia caudal, ahora contribuido a Accellera[8]).

TechEdSat, la primera NASA Arquitectura OpenRISC basado en computadora con Linux lanzado en julio de 2012 y se desplegó en octubre de 2012 a la estación espacial internacional con el hardware suministrado, construido y probado por ÅAC Microtec y ÅAC Microtec Norteamérica.[9][10]

Uso no-comercial y académico

Ser abierto, OpenRISC ha demostrado ser popular en los círculos académicos y aficionado a los hobbys. Por ejemplo Stefan Wallentowitz y su equipo del Instituto de sistemas integrados en el Technische Universität München han utilizado OpenRISC en las investigaciones sobre Multicore arquitecturas.[11] El Grupo de usuarios de Hardware de fuente abierta en el Reino Unido tiene en dos ocasiones[12][13] ejecutar sesiones de OpenRISC, mientras que el aficionado Sven-Åke Andersson ha escrito un blog integral sobre OpenRISC para principiantes,[14] que atrajo el interés de EE Times.[15] Sebastian Macke ha puesto en marcha jor1k, un emulador OpenRISC 1000 en JavaScript, ejecutando Linux con X Window System y Wayland apoyo.[16]

Soporte toolchain

La comunidad OpenCores ha portado el GNU toolchain a OpenRISC para apoyar el desarrollo en C y C++. Usando esta toolchain el newlib, uClibc y glibc las bibliotecas han portado al procesador. Dynalith proporciona OpenIDEA, un entorno de desarrollo gráfico basado en esta cadena de herramientas. Un proyecto de Puerto LLVM al OpenRISC 1000 arquitectura iniciado en temprano (2012Página del proyecto wiki).

El proyecto de OR1K proporciona una conjunto de instrucciones simulador, or1ksim. La implementación del buque insignia, el OR1200, es un RTL modelo en Verilog HDL, de los cuales un SystemC-basado en modelo ciclo de precisión se puede construir en ORPSoC. Un modelo de alta velocidad del OpenRISC 1200 también está disponible a través de la Plataformas virtuales abiertas Iniciativa (OVP) creado por Imperas.

Soporte de sistema operativo

Soporte para Linux

Soporte para la línea principal Kernel de Linux fue ganada en la versión 3.1.[17] La aplicación se fusionaron en esta versión es la familia OpenRISC 1000 de 32 bits (or1k).[18] Previamente la arquitectura OpenRISC 1000, pero esto ahora fue sustituido por el puerto principal.

RTOS apoyo

Un número de sistemas operativos en tiempo real han portado a OpenRISC, incluyendo RTEMS, FreeRTOS y eCos.

Soporte QEMU

Desde la versión 1.2 [19] QEMU soporta plataformas OpenRISC emulando.

Véase también

Portal icon Portal de software libre
  • Ámbar (núcleo del procesador), BRAZO-Compatible OpenCores Proyecto
  • OpenRISC 1200
  • Plataformas virtuales abiertas
  • OpenSPARC
  • LEON
  • LatticeMico32
  • https://s-Macke.github.Io/jor1k --OpenRISC emulador escrito en JavaScript

Referencias

  1. ^ Damjan Braz et al., OpenRISC 1000 arquitectura Manual, versión 1.0, de arquitectura documento revisión 0, 05 de diciembre de 2012. Disponible en el sitio web OpenCores [1]
  2. ^ Patrick Pelgrims, Tom Tierens y se seca Driessens, "Basic Custom OpenRISC sistema Hardware Tutorial: Embedded system diseño basado en FPGA Soft - y Hardcore", De Nayer Instituut, Hogeschool voor Wetenschap & Kunst, 2004. Disponible en línea [2]
  3. ^ Xiang Li y Lin Zuo, "incrustado plataforma de código abierto basado en OpenRISC y DE2-70", tesis de maestría, programa de Cos, KTHSuecia. Disponible en línea [3]
  4. ^ OpenCores - convocatoria donaciones OpenRISC ASIC
  5. ^ OpenCores donación FAQ
  6. ^ Samsung Open Source liberación centro, siga los enlaces → TV y VIDEO → TV → DTV → → etc. OR1200.zip
  7. ^ Página del wiki Linux-sunxi proyecto comunitario en el Controlador AR100. Recuperado encendido 20 de julio de 2013.
  8. ^ Flujo de referencia UVMAccellera sitio web (sin fecha).
  9. ^ Puesto que las listas de correo openrisc en lists.opencores.org y lists.openrisc.net el 08 de abril de 2012 por Fredrick Bruhn, CEO de ÅAC Microtec
  10. ^ Comunicado 11 de octubre de 2012, ÅAC Microtec AB.
  11. ^ Arquitectura multinúcleo y programación Modelo Co optimización (MAPCO)Wallentowitz Stefan, Thomas Wild y Andreas Herkersdorf. Cartel de investigación en la sexta International Summer School on Advanced Computer Architecture and Compilation for High-Performance y Embedded Systems (ACACES), Terrassa (Barcelona), España, 11 – 17 de julio de 2010.
  12. ^ Patatas fritas (programable de la lógica, la conservación de computadora con FPGAs, OpenCores & OpenRISC 1000). OSHUG reunión #9, habilidades de la materia, 116-120 Goswell Road, Londres, 21 de abril de 2011.
  13. ^ Práctico sistema en Chip (programa tu propia fuente abierta FPGA SoC). OSHUG reunión #17, centro de colaboración creativa, 16 Acton Street, Londres, 29 de marzo de 2012.
  14. ^ Procesador suave OpenRISC 1200. Entrada de blog por Sven-Åke Andersson, 02 de marzo de 2012.
  15. ^ Comparación de cuatro núcleos del procesador suave de 32 bits. Clive Maxfield, EE Times, 03 de mayo de 2012.
  16. ^ OpenRISC emulador en JavaScript puede ejecutar Wayland
  17. ^ "git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arco/openrisc /". git.kernel.org. 17 / 10 / 2011 obtenido.
  18. ^ "Linux 3.1". Novatos del núcleo. 17 / 10 / 2011 obtenido.
  19. ^ QEMU Changelog 1.2

Enlaces externos

  • Abrir fuente Semiconductor Core licencias, 25 Harvard Journal of Law & Technology 131 (2011) Artículo analizando la ley, tecnología y negocios de núcleos de semiconductor de código abierto
  • Página principal del proyecto OpenRISC en el OpenCores Web
  • GNU toolchain guías de construcción
  • Más allá del Semiconductor comercial compañía de semiconductores integrados fundada por los desarrolladores de OpenRISC
  • Sistemas de Dynalith sitio web de la empresa.
  • Imperas sitio web de la empresa.
  • Flextronics International sitio web de la empresa
  • Jennic sitio web de la empresa
  • ORSoC sitio web de la empresa. ORSoC también mantener el OpenCores.org sitio Web.
  • Artículo eetimes
  • OpenRISC tutorial
  • jor1k OpenRISC 1000 emulador en JavaScript

Otras Páginas

Obtenido de"https://en.copro.org/w/index.php?title=OpenRISC&oldid=623075349"