OpenRISC
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.
Perancang | Awalnya Damjan Lampret, sekarang OpenRISC Community (Stafford Horne, dll.) |
---|---|
Bit | 32-bit, 64-bit |
Diperkenalkan | 2000 |
Versi | 1.4[1] |
Desain | RISC |
Penyandian | Tetap |
Endian | Big; rintisan yang belum diimplementasikan untuk Little |
Ukuran halaman | 8 KiB |
Ekstensi | ORFPX32/64,[2] ORVDX64[3] |
Terbuka | Ya (LGPL / GPL), maka bebas royalti |
Register | |
Tujuan umum | 16 atau 32 |
Titik kambang | opsional |
Deskripsi arsitektur pertama untuk OpenRISC 1000 ("OR1k") mendeskripsikan keluarga prosesor 32-bit dan 64-bit dengan opsi dukungan aritmetika titik kambang dan prosesor vektor.[4] 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.[5]
Implementasi mor1kx selanjutnya memiliki keunggulan dibandingkan dengan OR1200[6] didesain oleh Julius Baxter dan juga ditulis dengan Verilog.
Tambahan simulator perangkat lunak tersedia[7] 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).[8][9] Bahkan, terdapat beberapa produk turunan komersial yang telah diproduksi.
Desain SoC selanjutnya yang berdasarkan implementasi CPU OpenRISC 1000 adalah minSoC, OpTiMSoC, dan MiSoC.[10]
Set instruksi
suntingSet 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
suntingKomunitas 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.[11] GCC 9 dirilis dengan dukungan OpenRISC.[12]
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
suntingDukungan Linux
suntingKernel Linux mendapatkan dukungan untuk OpenRISC pada versi 3.1.[13] Implementasi pada dukungan ini adalah versi keluarga OpenRISC 1000 (or1k) 32-bit.[14]
Dukungan RTOS
suntingBeberapa sistem operasi waktu nyata (real-time operating system; RTOS) telah di-porting ke OpenRISC, termasuk NuttX, RTEMS, FreeRTOS, dan eCos.
Dukungan QEMU
suntingSejak versi 1.2, QEMU mendukung emulasi platform OpenRISC.[15]
Referensi
sunting- ^ "Published versions". Diakses tanggal 2021-03-28.
- ^ "Floating point extensions operating on 32-bit/64-bit". Diakses tanggal 2021-03-28.
- ^ "Vector/DSP extensions (SIMD) operating on 8-, 16-, 32- and 64-bit data". Diakses tanggal 2021-03-28.
- ^ "Architecture - OpenRISC". OpenRisc.io. Diakses tanggal 2021-04-17.
- ^ 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. Diakses tanggal 2019-03-21.
- ^ "Implementations - OpenRISC". OpenRisc.io. Diakses tanggal 2021-04-17.
- ^ "Implementations - OpenRISC". OpenRisc.io. Diakses tanggal 2021-04-17.
- ^ 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. Diarsipkan dari versi asli (PDF) tanggal 2006-11-27. Diakses tanggal 2009-03-03.
- ^ Li, Xiang; Zuo, Lin. Open source embedded platform based on OpenRISC and DE2-70 (Tesis Masters). KTH Royal Institute of Technology (KTH), Sweden. http://www.olivercamel.com/post/master_thesis.html.
- ^ "System-on-Chip - OpenRISC". OpenRisc.io. Diakses tanggal 2021-04-17.
- ^ "llvm-or1k". GitHub. 2018-04-06. Diakses tanggal 2019-03-21.
- ^ "GCC 9 changelog". GNU. Diakses tanggal 15 June 2022.
- ^ "git.kernel.org - linux/kernel/git/torvalds/linux-2.6.git/tree - arch/openrisc/". git.kernel.org. Diarsipkan dari versi asli tanggal 2012-07-08. Diakses tanggal 2011-10-17.
- ^ "Linux 3.1". Kernel Newbies. Diakses tanggal 2011-10-17.
- ^ "QEMU Changelog 1.2". QEMU Wiki. Diakses tanggal 11 Agustus 2024.
Pranala luar
sunting- 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.