OpenRISC - OpenRISC
| Designer | Oprindeligt Damjan Lampret, nu OpenRISC Community (Stafford Horne osv.) |
|---|---|
| Bider | 32-bit , 64-bit |
| Introduceret | 2000 |
| Version | 1.3 |
| Design | RISC |
| Indkodning | Rettet |
| Uendelighed | Stor; uimplementeret stub til Little |
| Sidestørrelse | 8 KiB |
| Udvidelser | ORFPX32/64, ORVDX64 |
| Åben | Ja (LGPL / GPL), derfor royaltyfrit |
| Registre | |
| Generelle formål | 16 eller 32 |
| Flydende punkt | Valgfri |
OpenRISC er et projekt, der skal udvikle en række open-source hardware- baserede centrale processorenheder (CPU'er) på etablerede RISC-principper ( reducerede instruktionssæt ). Det inkluderer en instruktionssætarkitektur (ISA) ved hjælp af en open source-licens . Det er det originale flagskibsprojekt i OpenCores -samfundet .
Den første (og kun fra 2019) arkitektoniske beskrivelse er for OpenRISC 1000 ("OR1k"), der beskriver en familie af 32-bit og 64-bit processorer med valgfri floating-point-aritmetik og vektorbehandling . Den OpenRISC 1200 Gennemførelsen af denne specifikation er designet af Damjan Lampret i 2000, skrevet i Verilog hardwarebeskrivende sprog (HDL).
Den senere mor1kx -implementering , som har nogle fordele i forhold til OR 1200, blev designet af Julius Baxter og er også skrevet i Verilog.
Der findes også softwaresimulatorer, som implementerer OR1k -specifikationen.
Hardwaredesignet blev frigivet under GNU Lesser General Public License (LGPL), henholdsvis Open Hardware Design License (OHDL), mens modellerne og firmwaren blev frigivet under GNU General Public License (GPL).
Et referencesystem på en chip (SoC) -implementering baseret på OpenRISC 1200 blev udviklet med navnet OpenRISC Reference Platform System-on-Chip (ORPSoC). Flere grupper har demonstreret ORPSoC og andre OR1200-baserede designs, der kører på feltprogrammerbare gate-arrays (FPGA'er), og der er blevet produceret flere kommercielle derivater.
Senere SoC -designs, også baseret på en OpenRisc 1000 CPU -implementering, er FuseSoC, minSoC, OpTiMSoC og MiSoC.
Instruktionssæt
Instruktionssættet er en rimelig simpel MIPS-arkitektur- lignende traditionel RISC ved hjælp af en 3-operand load-store arkitektur med 16 eller 32 generelle registre og en fast 32-bit instruktionslængde. Instruktionssættet er stort set identisk mellem 32- og 64-bit versionerne af specifikationen, den største forskel er registerbredden (32 eller 64 bit) og sidetabellayoutet. OpenRISC -specifikationen indeholder alle de funktioner, der er fælles for moderne desktop- og serverprocessorer: en supervisor -tilstand og et virtuelt hukommelsessystem, valgfri læse-, skrive- og eksekveringskontrol for hukommelsessider og instruktioner til synkronisering og afbrydelse af håndtering mellem flere processorer.
En anden bemærkelsesværdig funktion er et rigt sæt enkelt instruktion, flere data ( SIMD ) instruktioner beregnet til digital signalbehandling .
Implementeringer
De fleste implementeringer er på feltprogrammerbare gate-arrays (FPGA'er), som giver mulighed for at gentage designet på bekostning af ydeevne.
I 2018 blev OpenRISC 1000 betragtet som stabil, så ORSoC (ejer af OpenCores) startede et crowdfunding- projekt for at bygge et omkostningseffektivt applikationsspecifikt integreret kredsløb (ASIC) for at få forbedret ydeevne. ORSoC stod over for kritik for dette fra samfundet. Projektet nåede ikke målet.
Fra september 2021 var der ikke blevet produceret ASIC med open source.
Kommercielle implementeringer
Flere kommercielle organisationer har udviklet derivater af OpenRISC 1000-arkitekturen, herunder ORC32-1208 fra ORSoC og BA12, BA14 og BA22 fra Beyond Semiconductor. Dynalith Systems leverer iNCITE FPGA prototypebord, som kan køre både OpenRISC 1000 og BA12. Flextronics (Flex) og Jennic Limited fremstillede OpenRISC som en del af et applikationsspecifikt integreret kredsløb (ASIC). Samsung bruger OpenRISC 1000 i deres DTV system-on-chips (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series). Allwinner Technology rapporteres at bruge en OpenRISC-kerne i deres AR100-strømkontroller, som er en del af A31 ARM-baserede SoC.
Cadence Design Systems er begyndt at bruge OpenRISC som en referencearkitektur til at dokumentere værktøjskædestrømme (f.eks. UVM -referencestrømmen bidrog nu til Accellera ).
TechEdSat , den første NASA OpenRISC -arkitekturbaserede Linux -computer, der blev lanceret i juli 2012, og blev indsat i oktober 2012 til den internationale rumstation med hardware leveret, bygget og testet af ÅAC Microtec og ÅAC Microtec Nordamerika.
Akademisk og ikke-kommerciel brug
Som open source har OpenRISC vist sig at være populær i akademiske og hobbyistiske kredse. For eksempel har Stefan Wallentowitz og hans team ved Institute for Integrated Systems ved Technische Universität München brugt OpenRISC til forskning i multi-core processorarkitekturer . Den Open Source Hardware User Group ( OSHUG ) i Storbritannien har ved to lejligheder køre sessioner om OpenRISC, mens hobbyist Sven-Åke Andersson har skrevet en omfattende blog på OpenRISC for begyndere, der tiltrak interesse Electronic Engineering Times ( EE Times ). Sebastian Macke har implementeret jor1k, en OpenRISC 1000 -emulator i JavaScript , der kører Linux med X Window System og Wayland support.
Værktøjskæde support
OpenRISC -fællesskabet har overført GNU -værktøjskæden til OpenRISC for at understøtte udvikling på programmeringssprogene C og C ++ . Ved hjælp af denne værktøjskæde er newlib , uClibc , musl (fra version 1.1.4) og glibc biblioteker blevet portet til processoren. Dynalith leverer OpenIDEA, et grafisk integreret udviklingsmiljø (IDE) baseret på denne værktøjskæde. Et projekt til port LLVM til OpenRISC 1000 -arkitekturen begyndte i begyndelsen af 2012.
GCC 9 udgivet med OpenRISC -understøttelse. [1]
OR1K -projektet giver en instruktionssæt -simulator, eller1ksim. Flagskibets implementering, OR1200, er en RTL-model ( register-transfer level ) i Verilog HDL, hvorfra en SystemC- baseret cyklus-nøjagtig model kan bygges i ORPSoC. En højhastighedsmodel af OpenRISC 1200 er også tilgængelig via Open Virtual Platforms (OVP) -initiativet (se OVPsim ), der er oprettet af Imperas.
Operativsystem support
Linux support
Mainline Linux -kernen fik understøttelse af OpenRISC i version 3.1. Implementeringen fusioneret i denne version er 32-bit OpenRISC 1000-familien (or1k). Tidligere OpenRISC 1000 arkitektur, er den blevet afløst af hovedlinjen.
RTOS -understøttelse
Flere realtidsoperativsystemer (RTOS) er blevet portet til OpenRISC, herunder RTEMS , FreeRTOS og eCos .
QEMU support
Siden version 1.2 understøtter QEMU emulering af OpenRISC -platforme.
Se også
- Gul (processorkerne) -ARM-kompatibelt OpenCores-projekt
- Gratis og Open Source Silicon Foundation
- OpenRISC 1200
- OVPsim , åbne virtuelle platforme
- OpenSPARC
- LEON
- GitterMico32
- RISC-V
Referencer
eksterne links
- Officiel hjemmeside
- Open Source Semiconductor Core Licensing, 25 Harvard Journal of Law & Technology 131 (2011) Artikel der analyserer lov, teknologi og forretning i open source halvlederkerner
- Beyond Semiconductor kommercielt fabless halvlederfirma grundlagt af udviklerne af OpenRISC
- Dynalith Systems virksomheds websted.
- Imperas virksomheds websted.
- Flex virksomhedens hjemmeside
- Jennic virksomheds websted
- Nogle gange artikel
- OpenRISC -vejledning
- jor1k OpenRISC 1000 -emulator i JavaScript