Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

OpenRISC

From Wikipedia, the free encyclopedia
Microprocessor development project
OpenRISC
DesignerOriginally Damjan Lampret, now theOpenRISC Community (Stafford Horne etc.)
Bits32-bit,64-bit
Introduced2000; 25 years ago (2000)
Version1.4[1]
DesignRISC
EncodingFixed
EndiannessBig; unimplemented stub for Little
Page size8 KiB
ExtensionsORFPX32/64,[2] ORVDX64[3]
OpenYes (LGPL / GPL), hence royalty free
Registers
General-purpose16 or 32
Floating-pointOptional

OpenRISC is a project to develop a series ofopen-source hardware basedcentral processing units (CPUs) on establishedreduced instruction set computer (RISC) principles. It includes aninstruction set architecture (ISA) using anopen-source license. It is the original flagship project of theOpenCores community.

The first (and as of 2019[update] only) architectural description is for the OpenRISC 1000 ("OR1k"), describing a family of32-bit and64-bit processors with optionalfloating-point arithmetic andvector processing support.[4]TheOpenRISC 1200 implementation of this specification was designed by Damjan Lampret in 2000, written in theVeriloghardware description language (HDL).[5] The later mor1kx implementation, which has some advantages compared to the OR 1200,[6] was designed by Julius Baxter and is also written in Verilog. Software simulators also exist[7] which implement the OR1k specification.

The hardware design was released under theGNU Lesser General Public License (LGPL), while the models and firmware were released under theGNU General Public License (GPL).

A referencesystem on a chip (SoC) implementation based on the OpenRISC 1200 was developed, named theOpenRISC Reference Platform System-on-Chip (ORPSoC). Several groups have demonstrated ORPSoC and other OR1200 based designs running onfield-programmable gate arrays (FPGAs),[8][9] and there have been several commercial derivatives produced.

Later SoC designs, also based on an OpenRisc 1000 CPU implementation, are minSoC, OpTiMSoC and MiSoC.[10]

Instruction set

[edit]

The instruction set is a reasonably simple traditional RISC architecture reminiscent ofMIPS using a 3-operand load-store architecture, with 16 or 32 general-purpose registers and a fixed 32-bit instruction length. The instruction set is mostly identical between the 32- and 64-bit versions of the specification, the main difference being the register width (32 or 64 bits) and page table layout. The OpenRISC specification includes all features common to modern desktop and server processors: a supervisor mode and virtual memory system, optional read, write, and execute control for memory pages, and instructions for synchronizing and interrupt handling between multiple processors.

Another notable feature is a rich set ofsingle instruction, multiple data (SIMD) instructions intended fordigital signal processing.

Implementations

[edit]
OpenRISC prototyped onFlextronics (Flex) FPGA dev board, running uClinux

Most implementations are onfield-programmable gate arrays (FPGAs) which give the possibility to iterate on the design at the cost of performance.

By 2018, the OpenRISC 1000 was considered stable, so ORSoC (owner of OpenCores) began acrowdfunding project to build a cost-efficientapplication-specific integrated circuit (ASIC) to get improved performance. ORSoC faced criticism for this from the community.[citation needed] The project did not reach the goal.

As of May 2024[update], no open-source ASIC had been produced.

Commercial implementations

[edit]

Several commercial organizations have developed derivatives of the OpenRISC 1000 architecture, including the ORC32-1208 from ORSoC and the BA12, BA14, and BA22 from Beyond Semiconductor. Dynalith Systems provide the iNCITEFPGA prototyping board, which can run both the OpenRISC 1000 and BA12.Flextronics (Flex) andJennic Limited manufactured the OpenRISC as part of anapplication-specific integrated circuit (ASIC). Samsung uses the OpenRISC 1000 in their DTV system-on-chips (SDP83 B-Series, SDP92 C-Series, SDP1001/SDP1002 D-Series, SDP1103/SDP1106 E-Series).[11] Allwinner Technology are reported to use an OpenRISC core in their AR100 power controller, which forms part of the A31 ARM-based SoC.[12]

Cadence Design Systems have begun using OpenRISC as a reference architecture in documenting tool chain flows (for example the UVM reference flow, now contributed toAccellera).[13]

TechEdSat, the firstNASA OpenRISC architecture based Linux computer launched in July 2012, and was deployed in October 2012 to the International Space Station with hardware provided, built, and tested by ÅAC Microtec and ÅAC Microtec North America.[14][15][16]

Academic and non-commercial use

[edit]

Being open source, OpenRISC has proved popular in academic and hobbyist circles. For example, Stefan Wallentowitz[17] and his team at the Institute for Integrated Systems at theTechnische Universität München have used OpenRISC in research intomulti-core processor architectures.[18]TheOpen Source Hardware User Group (OSHUG) in the UK has on two occasions[19][20] run sessions on OpenRISC, while hobbyist Sven-Åke Andersson has written a comprehensive blog on OpenRISC for beginners,[21] which attracted the interest ofElectronic Engineering Times (EE Times).[22]Sebastian Macke has implemented jor1k, an OpenRISC 1000 emulator inJavaScript, runningLinux withX Window System andWayland support.[23]

Toolchain support

[edit]

The OpenRISC community have ported theGNU toolchain to OpenRISC to support development in theprogramming languagesC andC++. Using this toolchain thenewlib,uClibc,musl (as of release 1.1.4), andglibc libraries have been ported to the processor. Dynalith provides OpenIDEA, a graphicalintegrated development environment (IDE) based on this toolchain. A project to portLLVM to the OpenRISC 1000 architecture began in early 2012.[24]

GCC 9 released with OpenRISC support.[25]

The OR1K project provides aninstruction set simulator, or1ksim. The flagship implementation, the OR1200, is aregister-transfer level (RTL) model in Verilog HDL, from which aSystemC-based cycle-accurate model can be built in ORPSoC. A high speed model of the OpenRISC 1200 is also available through the Open Virtual Platforms (OVP) initiative (seeOVPsim), set up by Imperas.

Operating system support

[edit]

Linux support

[edit]

The mainlineLinux kernel gained support for OpenRISC in version 3.1.[26]The implementation merged in this release is the 32-bit OpenRISC 1000 family (or1k).[27] Formerly OpenRISC 1000 architecture, it has been superseded by the mainline port.

RTOS support

[edit]

Severalreal-time operating systems (RTOS) have been ported to OpenRISC, includingNuttX,RTEMS,FreeRTOS, andeCos.

QEMU support

[edit]

Since version 1.2,QEMU supports emulating OpenRISC platforms.[28]

See also

[edit]

References

[edit]
  1. ^"Published versions". Retrieved2021-03-28.
  2. ^"Floating point extensions operating on 32-bit/64-bit". Retrieved2021-03-28.
  3. ^"Vector/DSP extensions (SIMD) operating on 8-, 16-, 32- and 64-bit data". Retrieved2021-03-28.
  4. ^"Architecture - OpenRISC".OpenRisc.io. Retrieved2021-04-17.
  5. ^Clarke, Peter (2000-02-28)."Free 32-bit processor core hits the Net".Electronic Engineering Times (EE Times).San Francisco, California, United States: AspenCore Media. Retrieved2019-03-21.
  6. ^"Implementations - OpenRISC".OpenRisc.io. Retrieved2021-04-17.
  7. ^"Implementations - OpenRISC".OpenRisc.io. Retrieved2021-04-17.
  8. ^Pelgrims, Patrick; Tierens, Tom; Driessens, Dries (2004)."Basic Custom OpenRISC System Hardware Tutorial: Embedded system design based upon Soft- and Hardcore FPGAs"(PDF).De Nayer Instituut. 1.0. Archived fromthe original(PDF) on 2006-11-27. Retrieved2009-03-03.
  9. ^Li, Xiang; Zuo, Lin.Open source embedded platform based on OpenRISC and DE2-70 (Masters).KTH Royal Institute of Technology (KTH), Sweden. Archived fromthe original on 2011-10-06., SoC program
  10. ^"System-on-Chip - OpenRISC".OpenRisc.io. Retrieved2021-04-17.
  11. ^Samsung Open Source Release Center, follow the links → TV & VIDEO → TV → DTV → ETC → OR1200.zip
  12. ^Linux-sunxi project community wiki page on theAR100 controller. Retrieved on 20 July 2013.
  13. ^UVM Reference FlowArchived 2011-11-26 at theWayback Machine, Accellera website (undated).
  14. ^Post to the openrisc mailing lists at lists.openrisc.net on 8 April 2012 by Fredrick Bruhn, CEO of ÅAC Microtec
  15. ^"Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec".ÅAC Microtec (Press release). 2012-10-11. Archived fromthe original on 2014-01-18. Retrieved2018-03-17.
  16. ^"Svenskt genombrott i rymden på NASA-satellit med elektronik från ÅAC Microtec" [Swedish breakthrough in space on NASA satellite with electronics from ÅAC Microtec] (Press release) (in Swedish). 2012-10-11. Retrieved2018-03-16 – viaMynewsdesk.[dead link]Alt URL
  17. ^"Dipl.-Ing. Dipl.-Wirt.-Ing. Stefan Wallentowitz". 2009–2013. Archived fromthe original on 2013-04-13.
  18. ^Wallentowitz, Stefan; Wild, Thomas; Herkersdorf, Andreas."Multicore Architecture and Programming Model Co-Optimization (MAPCO)"(PDF) (Research poster at the Sixth International Summer School on Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES), 11-17 July 2010). Terrassa (Barcelona), Spain. Archived fromthe original(PDF) on 10 February 2013. Retrieved2018-10-29.
  19. ^Chips (Programmable Logic, Computer Conservation with FPGAs, OpenCores & OpenRISC 1000). OSHUG meeting #9, Skills Matter, 116-120 Goswell Road, London, 21 April 2011.
  20. ^Practical System-on-Chip (Program your own open source FPGA SoC). OSHUG meeting #17, Centre for Creative Collaboration, 16 Acton Street, London, 29 March 2012.
  21. ^OpenRISC 1200 soft processorArchived 2012-05-13 at theWayback Machine. Blog post by Sven-Åke Andersson, 2 March 2012.
  22. ^Maxfield, Clive (2012-05-03)."Comparing four 32-bit soft processor cores".Electronic Engineering Times (EE Times).San Francisco, California, United States: AspenCore Media. Retrieved2019-03-21.
  23. ^OpenRISC Emulator in JavaScript Can Run Wayland
  24. ^"llvm-or1k".GitHub. 2018-04-06. Retrieved2019-03-21.
  25. ^"GCC 9 changelog". GNU. Retrieved15 June 2022.
  26. ^"git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/". git.kernel.org. Archived fromthe original on 2012-07-08. Retrieved2011-10-17.
  27. ^"Linux 3.1".Kernel Newbies. Retrieved2011-10-17.
  28. ^QEMU Changelog 1.2

External links

[edit]
Origins
Development
active
Development
discontinued
Concepts
Hardware description languages
Companies
Products
Hardware
Software
Intellectual
property
Proprietary
Open-source
Retrieved from "https://en.wikipedia.org/w/index.php?title=OpenRISC&oldid=1305448440"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp