OpenRISC | |
---|---|
Udvikler | åbne kerner |
Lidt dybde | 32, 64 |
Arkitektur | RISC |
SK kodning | fast (32 bit) |
åben? | Ja, LPL |
Registre | |
i alt | 16 eller 32 GPR |
OpenRISC er en åben kildekode RISC arkitektur mikroprocessor i Verilog hardware beskrivelse sprog . Projektet blev skabt af OpenCores -fællesskabet og distribueret under GNU LGPL -licensen . OpenRISC er implementeret i hardware og produceres med succes i form af integrerede kredsløb og FPGA'er .
En enkelt version af arkitekturen, OpenRISC 1000 (eller 1k), beskriver en familie af 32- og 64-bit processorer med valgfri udvidelser: understøttelse af beregninger på flydende kommatal og understøttelse af vektoroperationer. [en]
OpenCores-udviklingsteamet udgav den første implementering, OpenRISC 1200 , skrevet på Verilog-sproget . Hardwaredelen af projektet er licenseret under LGPL, modeller og firmware er under GPL. System-on-chip-implementeringen med OpenRISC 1200 kaldes ORPSoC ( OpenRISC Reference Platform System-on-Chip ). Ydeevnen af ORPSoC og andre varianter af OR1200 er blevet demonstreret på FPGA'er . [2] [3]
GNU-værktøjskæden er overført til OpenRISC , der understøtter flere programmeringssprog , såvel som Linux og μClinux .
OpenRISC er blevet understøttet af linux-kernen siden version 3.1.
Instruktionssættet (ORBIS32) er en simpel variant af RISC, der ligner MIPS , og bruger tre-operand-instruktioner med fast længde (32-bit). Arbejde med hukommelse er kun muligt ved hjælp af indlæsnings- og lageroperationer. 16 eller 32 generelle registre er tilgængelige. 64-bit og 32-bit versionerne af instruktioner er ens i mange henseender, de vigtigste forskelle er: øgning af registerstørrelsen til 64 bit og ændring af sidetabelformatet.
OpenRISC-specifikationerne inkluderer også moderne funktioner: supervisortilstand, virtuel hukommelse, muligheden for at indstille læse/ændre/udføre rettigheder for hver side i hukommelsen, atominstruktioner, interprocessor-undtagelseshåndtering.
ORFP32X - Floating Point Extension (IEEE-754)
Fra oktober 2011 er der nogle uklarheder i 64-bit-tilstandsspecifikationen.
Valgfri support til SIMD- operationer kan implementeres.
Oftest implementeret på FPGA (FPGA, der indeholder mere end 40 tusind 4-LUT'er anbefales).
Medlemmerne af OpenCores-projektet skulle frigive en OpenRISC 1000-kompatibel brugerdefineret chip (ASIC) for at få mere ydeevne. [4] I 2011 begyndte fundraising. [5]
ORSoC tilbyder muligheder ORC32-1208, Beyond Semiconductor - BA12, BA14, BA22.
Flextronics International og Jennic Limited brugte OpenRISC-kernen som en del af deres egne ASIC'er. Samsung bruger OpenRISC 1000 i DTV SoC'er (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series). [6]
Allwinner Technology brugte OpenRISC i AR100 controlleren, som er en del af A31 SoC (hovedprocessoren i systemet er ARM). [7]
Cadence Design Systems bruger OpenRISC som referencearkitektur i dokumentation (for eksempel til UVM-referenceflowet . [8] )
TechEdSat- nanosatellit-eksperimentcomputeren , skabt på NASA ved hjælp af OpenRISC, blev lanceret på ISS i juli 2012. [9] [10]
Tekniske Universitet München bruger OpenRISC i multi-core forskning (leder - Stefan Wallentowitz ). [elleve]
I 2013 blev jor1k-projektet introduceret, en OpenRISC 1000-emulator skrevet i JavaScript, der er i stand til at køre Linux og X Window System eller Wayland . [12]
Understøttet af GCC til C og C++ er libc newlib eller uClibc . Dynalit leverer OpenIDEA, et udviklingsmiljø . I 2012 blev et projekt startet med at portere LLVM til OpenRISC 1000 [13] .
OR1K-projektet leverer or1ksim- simulatoren . Hovedimplementeringen, OR1200, kan bruges som en RTL-model. Der er en SystemC ORPSoC-model med ur-nøjagtighed.
Højhastigheds OpenRISC 1200-modellen sælges som Open Virtual Platforms af Imperas .
Linux-kerne siden version 3.1. [14] (32-bit processorer OpenRISC 1000 - eller 1k). [femten]
QEMU har understøttet arkitekturen siden version 1.2 [16] .
Processorarkitekturer baseret på RISC- teknologier | |
---|---|