OpenRISC adalah proyek pengembangan perangkat keras sumber terbuka berdasarkan Unit Pemroses Sentral (Bahasa Inggris: Central Processing Unit; CPU) yang menggunakan pripsip komputer set instruksi sederhana (Reduced Instruction Set Computer; 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 (hardware description language; 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 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 (single instruction, many 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
Situs web resmi
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
Repositori
OpenRISC di GitHub, emulator
OpenRISC 1000 dengan JavaScript.