OpenRISC

**OpenRISC** adalah proyek pengembangan perangkat keras sumber terbuka berdasarkan Unit Pemroses Sentral (Bahasa Inggris: ; CPU) yang menggunakan pripsip komputer set instruksi sederhana (; RISC). Perangkat lunak ini menggunakan arsitektur set instruksi yang menggunakan lisensi sumber terbuka. Proyek ini awalnya adalah proyek unggulan dari komunitas OpenCores.

Deskripsi arsitektur pertama untuk OpenRISC 1000 ("OR1k") mendeskripsikan keluarga prosesor 32-bit dan 64-bit dengan opsi dukungan aritmetika titik kambang dan prosesor vektor. Implementasi OpenRISC 1200 dari spesifikasi tersebut didesain oleh Damjan Lampret pada tahun 2000 yang ditulis dengan bahasa deksripsi perangkat keras (; HDL) Verilog.

Implementasi mor1kx selanjutnya memiliki keunggulan dibandingkan dengan OR1200 didesain oleh Julius Baxter dan juga ditulis dengan Verilog.

Tambahan simulator perangkat lunak tersedia dengan implementasi spesifikasi OR1k.

Desain perangkat lunak dirilis dengan Lisensi Publik Sedikit Kurang Umum GNU (LGPL). Sementara itu, model dan perangkat tegar dirilis dengan Lisensi Publik Umum GNU (GPL).

Terdapat produk referensi terhadap implementasi *[[system on a chip]]* (SoC) berdasarkan OpenRISC 1200 yang dinamai  *OpenRISC Reference Platform System-on-Chip* (ORPSoC). Beberapa grup telah mendemonstrasikan bahwa desain berdasarkan OR 1200, termasuk ORPSoC dapat berjalan pada *[[FPGA|field-programmable gate arrays]]* (FPGA). Bahkan, terdapat beberapa produk turunan komersial yang telah diproduksi.

Desain SoC selanjutnya yang berdasarkan implementasi CPU OpenRISC 1000 adalah minSoC, OpTiMSoC, dan MiSoC.

## Set instruksi
Set instruksi yang digunakan pada spesifikasi OpenRISC adalah arsitektur RISC tradisional yang cukup sederhana, mirip dengan MIPS. Set instruksi tersebut menggunakan arsitektur penyimpanan beban 3-operan, dengan 16 atau 32 register tujuan umum dan panjang instruksi tetap 32-bit. Sebagian besar set instruksi  identik antara spesifikasi versi 32 dan 64-bit. perbedaan utamanya adalah lebar register (32 atau 64 bit) dan tata letak tabel halaman.

Spesifikasi OpenRISC mencakup semua fitur yang umum pada prosesor desktop dan server modern: mode supervisor dan sistem memori virtual, kontrol baca, tulis, dan eksekusi opsional untuk halaman memori, dan instruksi untuk sinkronisasi dan penanganan interupsi antara beberapa prosesor.

Fitur penting lainnya adalah serangkaian *instruksi tunggal, banyak data* (; SIMD) yang ditujukan untuk pemrosesan sinyal digital.

## Dukungan rantai alat
Komunitas OpenRISC telah mem-porting rantai alat GNU ke OpenRISC untuk mendukung pengembangan bahasa pemrograman C dan C++. Dengan menggunakan rantai alat tersebut, pustaka seperti newlib, uClibc, musl, dan glibc telah diporting ke prosesor ini. Dynalith menyediakan OpenIDEA, lingkungan pengembangan terpadu grafis yang dikembangkan berdasarkan rantai alat tersebut. Sebuah proyek untuk memporting LLVM ke arsitektur OpenRISC 1000 dimulai sejak awal 2012. GCC 9 dirilis dengan dukungan OpenRISC.

Proyek OR1K menyediakan simulator set instruksi, yaitu or1ksim. Implementasi tertinggi, OR1200, adalah sebuah model *[[register-transfer level]]* (RTL) dengan Verilog HDL, dengan model siklus akurat berdasarkan SystemC dapat dibuat pada ORPSoC. Model kecepatan tinggi dari OpenRISC 1200 juga tersedia melalui inisiatif *Open Virtual Platforms* (OVP) (lihat OVPsim), yang diatur oleh Imperas.

## Dukungan sistem operasi

### Dukungan Linux
Kernel Linux mendapatkan dukungan untuk OpenRISC pada versi 3.1. Implementasi pada dukungan ini adalah versi keluarga OpenRISC 1000 (or1k) 32-bit.

### Dukungan RTOS
Beberapa sistem operasi waktu nyata (*real-time operating system*; RTOS) telah di-porting ke OpenRISC, termasuk NuttX, RTEMS, FreeRTOS, dan eCos.

## Dukungan QEMU
Sejak versi 1.2, QEMU mendukung emulasi platform OpenRISC.

## Referensi

## Pranala luar
* 
* Open Source Semiconductor Core Licensing, 25 Harvard Journal of Law & Technology 131 (2011) Artikel yang membahas aturan, teknologi, dan bisnis dari inti semikonduktor sumber terbuka.
* Beyond Semiconductor commercial perusahaan semikonduktor fables komersial yang didirikan oleh pengembang OpenRISC.
* Dynalith Systems situs web perusahaan.
* Imperas situs web perusahaan.
* Flex situs web perusahaan.
* Jennic situs web perusahaan.
* Eetimes article
* OpenRISC tutorial
* , emulator OpenRISC 1000 dengan JavaScript.