The OpenRISC 1200 (OR1200) is an implementation of the
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
OpenRISC 1000
RISC
In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comput ...
architectur
.
A
soft microprocessor, synthesizable CPU core, it was for many years maintained by developers at
OpenCores.org, although, since 2015, that activity has now been taken over by the
Free and Open Source Silicon Foundation at th
librecores.orgwebsite. The Verilog RTL description is released under the
GNU Lesser General Public License (LGPL).
Architecture
The
IP core of the OR1200 is implemented in the
Verilog HDL. As an open source core, the design is fully public and may be downloaded and modified by any individual. The official implementation is maintained by developers at OpenCores.org. The implementation specifies a power management unit, debug unit, tick timer,
programmable interrupt controller (PIC), central processing unit (CPU), and memory management hardware. Peripheral systems and a memory subsystem may be added using the processor's implementation of a standardized 32-bit
Wishbone bus interface. The OR1200 is intended to have a performance comparable to an
ARM10 processor architecture.
CPU/DSP
The OR1200 CPU is an implementation of the 32-bit ORBIS32
instruction set architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is an abstract model of a computer. A device that executes instructions described by that ISA, such as a central processing unit (CPU), is called an ' ...
(ISA) and (optionally) ORFP32X ISA implementing
IEEE-754 compliant single precision floating point support. The ISA has five instruction formats and supports two addressing modes: register indirect with displacement, and program-counter relative. The implementation has a single-issue 5-stage pipeline and is capable of single cycle execution on most instructions. The CPU also contains a
MAC unit in order to better support
digital signal processing
Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are ...
(DSP) applications.
Memory management
The OR1200 design uses a
Harvard memory architecture and therefore has separate
memory management units
A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware unit having all memory references passed through itself, primarily performing the translation of virtual memory addresses to physical ...
(MMUs) for data and instruction memories. These MMUs each consist of a hash-based 1-way direct-mapped
translation lookaside buffer (TLB) with page size of 8KiB and a default size of 64 entries. The TLBs are individually scalable from 16 to 256 entries. There is also a one-way direct-mapped
cache each for both the instruction memory and for the data memory. Each cache has a default size of 8KiB, but both are individually scalable between 1 and 64KiB. The MMU includes support for virtual memory.
Performance
The core achieves 1.34
CoreMarks per MHz at 50 MHz on Xilinx FPGA technology.
Under the worst case, the clock frequency for the OR1200 is 250 MHz at a 0.18 μm 6LM fabrication process. Using the
Dhrystone benchmark, a 250 MHz OR1200 processor performs 250
Dhrystone millions of instructions per second (DMIPS) in the worst case. Estimated power usage of a 250 MHz processor at a 0.18 μm process is less than 1 W at full throttle and less than 5 mW at half throttle.
Applications
Generally, the OR1200 is intended to be used in a variety of embedded applications, including telecommunications, portable media, home entertainment, and automotive applications. The
GNU toolchain (including
GCC) has also been successfully ported to the architecture, although it is not bug-free. There is a port of the
Linux kernel
The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
for OR1K which runs on the OR1200. Recent ports of the embedded C libraries
newlib and
uClibc are also available for the platform.
Implementations
The OR1200 has been successfully implemented using
FPGA
A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term '' field-programmable''. The FPGA configuration is generally specified using a hardware de ...
and
ASIC
An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficien ...
technologies.
History
The first public record of the OpenRISC 1000 architecture is in 2000.
References
* ORSoC.s
"OpenRISC 1200 development board" March 2009
* Cragie, Robert
''Asisi''. March 19, 2008.
External links
OR1200 page at OpenCores.org
OR1200 specification at OpenCores.org (warning: URL serves context-type text/plain for PDF data)
{{Programmable Logic
Soft microprocessors
Open microprocessors