OpenRISC 1200

OpenRISC 1200
Block diagram of the OR1200 processor architecture

The OpenRISC 1200 (OR1200) is a synthesizable CPU core maintained by developers at OpenCores.org. The OR1200 design is an open source implementation of the OpenRISC 1000 RISC architecture [1]. The Verilog RTL description is released under the GNU Lesser General Public License (LGPL).

Contents

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.

Block diagram of the OR1200 CPU/DSP

CPU/DSP

The OR1200 CPU is an implementation of the 32-bit ORBIS32 instruction set architecture (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 PC-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 (DSP) applications.

Memory Management

The OR1200 design uses a Harvard memory architecture and therefore has separate memory management units (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 8 KB 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 8 KB, but both are individually scalable between 1 and 64 KB. The MMU includes support for virtual memory.

Performance

The core achieves 1.34 CoreMarks per MHz at 50MHz on Xilinx FPGA technology.[2]

Under the worst case, the clock cycle 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 .18µm process is less than 1W at full throttle and less than 5mW at half throttle.[citation needed]

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 to aid in software development. There is a port of the Linux kernel 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 and ASIC technologies.

History

The first public record of the OpenRISC 1000 architecture is in 2000.[3].

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • OpenRISC — est le projet phare originel de la communauté OpenCores (en). Il a pour but de développer une série d architectures CPU RISC open source à usage général. La première (et jusqu à maintenant l unique) description d architecture publiée est… …   Wikipédia en Français

  • OpenRISC — is the original flagship project of the OpenCores community. This project aims to develop a series of general purpose open source RISC CPU architectures. The first (and currently only) architectural description is for the OpenRISC 1000,… …   Wikipedia

  • OpenRISC — OpenRISC  открытый микропроцессор архитектуры RISC с открытым исходным кодом на языке описания аппаратного обеспечения Verilog. Проект создан сообществом OpenCores и распространяется по лицензии GNU LGPL. OpenRISC воплощён аппаратно и… …   Википедия

  • OpenRISC — es un diseño de CPU RISC de especificación libre, realizado por OpenCores y publicado bajo la licencia LGPL. El diseño está implementado en el lenguaje de descripción de hardware verilog, ha sido fabricado exitosamente tanto como circuito… …   Wikipedia Español

  • GNU Compiler Collection — Cc1 redirects here. For other uses of CC1 or CC 1, see CC1 (disambiguation). GNU Compiler Collection Developer(s) GNU Project Initial release May 23, 1987 ( …   Wikipedia

  • SPARC — Микропроцессор UltraSPARC II компании Sun Microsystems SPARC (Scalable Processor ARChitecture  масштабируемая архитектура процессора)  архитектура RISC ми …   Википедия

  • MIPS (архитектура) — У этого термина существуют и другие значения, см. MIPS. MIPS (англ. Microprocessor without Interlocked Pipeline Stages)  микропроцессор, разработанный компанией MIPS Computer Systems (в настоящее время MIPS Technologies) в соответствии… …   Википедия

  • DEC Alpha — Alpha Designer Digital Equipment Corporation Bits 64 bit Introduced 1992 Design RISC Type Register Register Encoding Fixed …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”