RISC V ialah seni bina set Arahan yang dibangunkan oleh Universiti California, Berkeley. Konsep RISC didorong oleh kebenaran bahawa kebanyakan arahan pemproses tidak digunakan oleh kebanyakan program komputer. Jadi, logik penyahkodan yang tidak perlu digunakan dalam reka bentuk pemproses , menggunakan lebih banyak kuasa serta kawasan. Untuk memendekkan set arahan & untuk melabur lebih banyak dalam daftar sumber, Pemproses RISC V telah dilaksanakan.
Teknologi ini disedari oleh banyak gergasi teknologi dan syarikat baru kerana ia adalah sumber terbuka sepenuhnya & percuma. Kebanyakan jenis pemproses tersedia dengan perjanjian lesen, namun dengan jenis pemproses ini; sesiapa sahaja boleh membuat reka bentuk pemproses baharu mereka. Jadi artikel ini membincangkan gambaran keseluruhan pemproses RISC V - berfungsi dan aplikasinya.
Apakah Pemproses RISC V?
Dalam pemproses RISC V, istilah RISC bermaksud 'komputer set arahan berkurangan' yang melaksanakan beberapa arahan komputer manakala 'V' bermaksud generasi ke-5. Ia adalah ISA perkakasan sumber terbuka (seni bina set arahan) berdasarkan prinsip yang telah ditetapkan RISIKO .
Berbanding dengan reka bentuk ISA yang lain, ISA ini tersedia dengan lesen sumber terbuka. Oleh itu, beberapa syarikat pembuatan telah mengumumkan dan turut menyediakan perkakasan RISC-V, dengan sistem pengendalian sumber terbuka.
Ini adalah seni bina baharu dan tersedia dalam lesen terbuka, tidak terhad & percuma. Pemproses ini mempunyai sokongan meluas daripada industri pembuat cip & peranti. Oleh itu, ia direka terutamanya untuk boleh dikembangkan secara bebas & disesuaikan untuk digunakan dalam banyak aplikasi.
Sejarah RISC V
RISC telah dicipta oleh Prof. David Patterson sekitar tahun 1980 di Universiti California, Berkeley. Prof. David bersama Prof. John Hennessy mengemukakan usaha mereka dalam dua buku iaitu “Organisasi dan Reka Bentuk Komputer” & “Seni Bina Komputer di Universiti Stanford. Jadi, mereka menerima ACM A.M. Anugerah Turing pada tahun 2017.
Dari tahun 1980 hingga tahun 2010, penyelidikan pembangunan generasi kelima RISC telah dimulakan dan akhirnya dikenal pasti sebagai RISC-V yang disebut sebagai risiko lima.
RISC V Seni Bina & Bekerja
Seni bina RV12 RISC V ditunjukkan di bawah. RV12 sangat boleh dikonfigurasikan dengan CPU RISC yang mematuhi RV32I dan RV64I teras tunggal yang digunakan dalam medan terbenam. RV12 juga daripada keluarga CPU 32 atau 64-bit bergantung pada set arahan RISC-V standard industri.
RV12 hanya melaksanakan seni bina Harvard untuk akses serentak kepada arahan serta memori data. Ia juga termasuk saluran paip 6 peringkat yang membantu dalam mengoptimumkan pertindihan di antara pelaksanaan serta akses memori untuk meningkatkan kecekapan. Seni bina ini terutamanya termasuk Ramalan Cawangan, Cache Data, Unit Nyahpepijat, Cache Arahan & Unit Pengganda atau Pembahagi pilihan.
Ciri-ciri utama RV12 RISC V termasuk yang berikut.
- Ia adalah set arahan standard Industri.
- Diparameterkan dengan data 32 atau 64bit.
- Ia mempunyai gangguan yang tepat dan pantas.
- Arahan tersuai membenarkan penambahan pemecut perkakasan proprietari.
- Pelaksanaan kitaran tunggal.
- Saluran paip enam peringkat dengan pengoptimuman dilipat.
- Sokongan dengan perlindungan memori.
- Cache pilihan atau berparameter.
- Sangat Diparameterkan.
- Pengguna boleh memilih data 32/ 64-bit & Unit Ramalan Cawangan.
- Pengguna boleh memilih cache arahan/data.
- Struktur, saiz & seni bina cache yang boleh dipilih pengguna.
- Sokongan Pembahagi Perkakasan atau Pengganda mengikut kependaman yang ditentukan pengguna.
- Seni bina bas adalah fleksibel yang menyokong Wishbone & AHB.
- Reka bentuk ini mengoptimumkan kuasa & saiz.
- Reka bentuk berparameter sepenuhnya yang memberikan pertukaran prestasi atau kuasa.
- Reka bentuk CLK berpagar untuk mengurangkan kuasa.
- Sokongan perisian mengikut piawaian Industri.
- Simulator seni bina.
- Eclipse IDE digunakan untuk Linux/ Windows.
Talian Paip Pelaksanaan RISC V
Ia termasuk lima peringkat seperti IF (pengambilan arahan), ID (penyahkod arahan), EX (laksana), MEM (akses memori) & WB (daftar tulis balik).
Ambil Arahan
Dalam peringkat Instruction Fetch atau IF, satu arahan dibaca daripada pembilang program (PC) dan memori arahan yang dikemas kini kepada arahan seterusnya.
Arahan Pra-Nyahkod
Setelah Sokongan RVC dibenarkan, maka peringkat Pra-Nyahkod Arahan akan menyahkod arahan termampat 16-bit kepada arahan 32-bit asli.
Dekod Arahan
Dalam peringkat Penyahkod Arahan (ID), Fail Daftar dibenarkan & kawalan pintasan diputuskan.
Laksanakan
Dalam peringkat Laksanakan, keputusan dikira untuk arahan ALU, DIV, MUL, memori yang dibenarkan untuk arahan Simpan atau Muat, dan cawangan & lompatan diukur berbanding hasil yang dijangkakan.
Ingatan
Dalam peringkat Memori ini, memori diakses melalui saluran paip. Kemasukan fasa ini memastikan prestasi tinggi saluran paip.
Tulis Balik
Pada peringkat ini, keputusan peringkat Pelaksanaan ditulis ke dalam Fail Daftar.
Peramal Cawangan
Pemproses ini termasuk unit peramal cawangan atau BPU yang digunakan untuk menyimpan data lepas untuk membimbing pemproses RISC V dalam memutuskan sama ada cawangan tertentu diambil atau tidak-. Data peramal ini hanya dikemas kini sebaik sahaja cawangan dilaksanakan.
Unit ini termasuk parameter berbeza yang menentukan kelakuannya. Sebagai contoh, HAS_BPU digunakan untuk menentukan sama ada cawangan meramalkan unit hadir, BPU_GLOBAL_BITS akan menentukan berapa banyak bit lalu harus digunakan dan BPU_LOCAL_BITS akan menentukan berapa banyak LSB pembilang program harus digunakan. Gabungan BPU_LOCAL_BITS & BPU_GLOBAL_BITS akan mencipta vektor yang digunakan terutamanya untuk menangani Jadual Ramalan-Cawangan.
Cache Data
Ini digunakan terutamanya untuk mempercepatkan akses memori data dengan menimbal lokasi memori yang baru diakses. Ini mampu mengendalikan akses separuh perkataan, bait & perkataan apabila XLEN = 32 jika mereka berada di sempadan mereka sendiri. Ia juga mampu mengendalikan akses separuh perkataan, bait, perkataan & dua perkataan apabila XLEN=64 jika mereka berada di sempadan mereka sendiri.
Sepanjang kehilangan cache, keseluruhan blok boleh ditulis kembali ke ingatan, Jadi jika perlu, blok baru boleh dimuatkan ke dalam cache. Cache Data dilumpuhkan dengan menetapkan DCACHE_SIZE kepada sifar. Selepas itu, lokasi memori diakses terus melalui Antara Muka Data .
Cache Arahan
Ini digunakan terutamanya untuk mempercepatkan pengambilan arahan dengan menimbal arahan yang baru diambil. Cache ini digunakan untuk mengambil satu petak bagi setiap kitaran pada mana-mana sempadan 16-bit tetapi tidak merentasi sempadan blok. Sepanjang kehilangan cache, keseluruhan blok boleh dimuatkan daripada memori arahan. Konfigurasi cache ini boleh dilakukan berdasarkan keperluan pengguna. Saiz cache, algoritma penggantian dan panjang blok boleh dikonfigurasikan.
Kitaran arahan akan dilumpuhkan dengan Menetapkan ICACHE_SIZE kepada sifar. Selepas itu, bungkusan diambil terus dari ingatan melalui Antaramuka Arahan.
Unit Nyahpepijat
Unit Nyahpepijat akan membenarkan persekitaran Nyahpepijat berhenti dan memeriksa CPU. Ciri-ciri utama ini ialah Pengesanan Cawangan, Pengesanan Satu Langkah sehingga 8- Titik Putus Perkakasan.
Daftar Fail
Ini direka bentuk dengan 32 lokasi daftar dari X0 hingga X31 di mana Daftar X9 adalah sifar sentiasa. Fail Daftar termasuk 1- port tulis & 2- port baca.
Antara Muka Boleh Dikonfigurasikan
Ini ialah antara muka luaran di mana pemproses ini menyokong antara muka bas luaran yang berbeza.
Bagaimanakah RISC V Berfungsi?
RISC-V ialah seni bina set arahan yang berakar umbi dalam prinsip RISC (komputer set arahan berkurangan). Pemproses ini sangat unik dan juga revolusioner kerana ia adalah ISA percuma, biasa dan sumber terbuka di mana perkakasan boleh dibangunkan, perisian boleh dialihkan & pemproses boleh direka bentuk untuk menyokongnya.
Perbezaan B/W RISC V Vs MIPS
Perbezaan antara RISC V dan MIPS termasuk yang berikut.
RISC V |
MIPS |
Istilah RISC V bermaksud Reduced Instruction Set Computer di mana 'V' ialah generasi kelima. | Istilah 'MIPS' bermaksud 'Juta arahan sesaat'. |
RISC-V hanya membenarkan pengeluar peranti yang lebih kecil untuk mereka bentuk perkakasan tanpa membayar. | MIPS membenarkan pengilang mengukur kelajuan pemproses dengan membayar kerana ia bukan percuma. |
MIPS sudah mati dengan cekap. | RISC-V tidak cekap mati. |
Pemproses ini menyediakan arahan cawangan untuk membandingkan dua daftar. | MIPS bergantung pada arahan perbandingan yang menempatkan daftar kepada 1 atau 0 berdasarkan sama ada kontras itu benar. |
Skim pengekodan ISA adalah tetap & berubah dalam RISC V. | Skim pengekodan ISA ditetapkan dalam MIPS |
Saiz set arahan ialah 16-bit atau 32-bit atau 64-bit atau 128-bit. | Saiz set arahan ialah 32-bit atau 64-bit. |
Ia mempunyai 32 daftar tujuan am & titik terapung | Ia mempunyai 31 daftar tujuan am & titik terapung. |
Ia mempunyai operasi titik terapung berketepatan 26-tunggal & berganda. | Ia mempunyai operasi titik terapung berketepatan 15-tunggal & berganda. |
Perbezaan B/W RISC V Vs ARM
Perbezaan antara RISC V Vs ARM termasuk yang berikut.
RISC V |
LENGAN |
RISC-V ialah sumber terbuka, jadi ia tidak memerlukan sebarang lesen. | ARM ialah sumber tertutup, jadi ia memerlukan lesen. |
Ia adalah platform pemproses baharu, jadi terdapat sokongan yang sangat kecil untuk perisian & persekitaran pengaturcaraan. | ARM mempunyai komuniti dalam talian yang sangat besar, yang menyokong perpustakaan & struktur untuk membantu pereka sasaran dalam pelbagai platform seperti mikropemproses, mikropengawal & juga pelayan. |
Cip berasaskan V RISC menggunakan kuasa 1 watt. | Cip berasaskan ARM menggunakan kuasa di bawah 4 watt. |
Ia mempunyai sistem pengekodan ISA tetap & berubah-ubah. | Ia mempunyai sistem pengekodan ISA tetap. |
Saiz set arahan RISC V berjulat dari 16-bit hingga 128-bit. | Saiz arahannya berkisar antara 16-bit hingga 64-bit. |
Ia termasuk 32 daftar tujuan am & titik terapung. | Ia termasuk 31 daftar tujuan am & titik terapung. |
Ia mempunyai operasi titik terapung ketepatan 26-tunggal. | Ia mempunyai operasi titik terapung ketepatan 33-tunggal. |
Ia mempunyai operasi titik terapung ketepatan 26 ganda. | Ia mempunyai operasi titik terapung berketepatan 29 ganda. |
Kod Verilog RISC V
Kod verilog memori arahan untuk RISC ditunjukkan di bawah.
// Kod Verilog untuk Pemproses RISC
// Kod Verilog untuk Memori Arahan
modul Arahan_Memori(
input [15:0] pc,
arahan output[15:0].
);
reg [`col – 1:0] memori [`row_i – 1:0];
wayar [3 : 0] rom_addr = pc[4 : 1];
permulaan
bermula
$readmemb(“./test/test.prog”, memori,0,14);
tamat
tetapkan arahan = memori[rom_addr];
modul akhir
Kod Verilog untuk pemproses RISC V 16-bit:
modul Risc_16_bit(
input clk
);
lompat wayar,bne,beq,mem_read,mem_write,alu_src,reg_dst,mem_to_reg,reg_write;
wayar[1:0] alu_op;
wayar [3:0] opcode;
// Datapath
Datapath_Unit DU
(
.clk(clk),
.lompat(lompat),
.katak(katak),
.mem_read(mem_read),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.reg_write(reg_write),
.bne(bne),
.alu_op(alu_op),
.opcode(opcode)
);
// Unit Kawalan
Kawalan_Unit kawalan
(
.opcode(opcode),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.alu_op(alu_op),
.lompat(lompat),
.bne(bne),
.katak(katak),
.mem_read(mem_read),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_write(reg_write)
);
modul akhir
Set Arahan
Set arahan RISC V dibincangkan di bawah.
Operasi Aritmetik
Operasi aritmetik RISC V disenaraikan di bawah.
Mnemonik | taip | Arahan | Penerangan |
TAMBAH rd, rs1, rs2 |
R |
Tambah | rdß rs1 + rs2 |
SUB rd, rs1, rs2 |
R |
Tolak | rdß rs1 – rs2 |
ADDI rd, rs1, imm12 |
saya |
Tambah segera | rdß rs1 + imm12 |
SLT rd, rs1, rs2 |
R |
Tetapkan kurang daripada | rdß rs1 -< rs2 |
SLTI rd, rs1, imm12 |
saya |
Tetapkan kurang daripada segera | rdß rs1 -< imm12 |
SLTU rd, rs1, rs2 |
R |
Tetapkan kurang daripada tidak ditandatangani | rdß rs1 -< rs2 |
SLTIU rd, rs1, imm12 |
saya |
Tetapkan kurang daripada tidak ditandatangani serta-merta | rdß rs1 -< imm12 |
LUI rd, imm20 |
DALAM |
Muatkan bahagian atas segera | rdß imm20<<12 |
AUIP rd, imm20 |
DALAM |
Tambahkan segera atas ke PC | rdß PC+imm20<<12 |
Operasi Logik
Operasi logik RISC V disenaraikan di bawah.
Mnemonik | taip | Arahan | Penerangan |
DAN rd, rs1, rs2 |
R |
DAN | rdß rs1 & rs2 |
ATAU rd, rs1, rs2 |
R |
ATAU | rdß rs1 | rs2 |
XOR rd, rs1, rs2 |
R |
PERCUMA | rdß rs1 ^ rs2 |
ANDI rd, rs1, imm12 |
saya |
DAN segera | rdß rs1 & imm2 |
ORI rd, rs1, imm12 |
saya |
ATAU Segera | rdß rs1 | imm12 |
OXRI rd, rs1, imm12 |
saya |
XOR segera | rdß rs1 ^ rs2 |
SLL rd, rs1, rs2 |
R |
Beralih ke kiri logik | rdß rs1 << rs2 |
SRL rd, rs1, rs2 |
R |
Beralih ke kanan logik | rdß rs1 >> rs2 |
RAS rd, rs1, rs2 |
R |
Alihkan aritmetik ke kanan | rdß rs1 >> rs2 |
SLLI rd, rs1, shamt |
saya |
Beralih ke kiri logik serta-merta | rdß rs1 << shamt |
SRLI rd, rs1, shamt |
saya |
Beralih ke kanan logik serta-merta | rdß rs1 >> shamt |
SRAI rd, rs1, shamt |
saya |
Anjak aritmetik kanan dengan segera | rdß rs1 >> shamt |
Operasi Beban/Stor
Operasi muat/stor RISC V disenaraikan di bawah.
Mnemonik | taip | Arahan | Penerangan |
LD rd, imm12 (rs1) |
saya |
Muatkan kata ganda | rdß mem [rs1 +imm12] |
LW rd, imm12 (rs1) |
saya |
Muatkan perkataan | rdß mem [rs1 +imm12] |
LH rd, imm12 (rs1) |
saya |
Muatkan separuh jalan | rdß mem [rs1 +imm12] |
LB rd, imm12 (rs1) |
saya |
Muatkan bait | rdß mem [rs1 +imm12] |
LWU rd, imm12 (rs1) |
saya |
Muatkan perkataan tidak ditandatangani | rdß mem [rs1 +imm12] |
LHU rd, imm12 (rs1) |
saya |
Muatkan separuh perkataan yang tidak ditandatangani | rdß mem [rs1 +imm12] |
LBU rd, imm12 (rs1) |
saya |
Muatkan bait tidak ditandatangani | rdß mem [rs1 +imm12] |
SD rs2, imm12 (rs1) |
S |
Simpan kata ganda | rs2 kepada mem [rs1 +imm12] |
SW rs2, imm12 (rs1) |
S |
Simpan perkataan | rs2 (31:0) kepada mem [rs1 +imm12] |
SH rs2, imm12 (rs1) |
S |
Simpan separuh jalan | rs2 (15:0) kepada mem [rs1 +imm12] |
SB rs2, imm12 (rs1) |
S |
Simpan bait | rs2 (15:0) kepada mem [rs1 +imm12] |
SRAI rd, rs1, shamt |
saya |
Anjak aritmetik kanan dengan segera | rs2 (7:0) kepada mem [rs1 +imm12] |
Operasi Cawangan
Operasi cawangan RISC V disenaraikan di bawah.
Mnemonik | taip | Arahan | Penerangan |
BEQ rs1, rs2, imm12 |
SB |
Cawangan sama | Jika rs1 == rs2 PC ß PC+imm12 |
BNE rs1, rs2, imm12 |
SB |
Cabang tidak sama | Jika rs1!= rs2 PC ß PC+imm12 |
BGE rs1, rs2, imm12 |
SB |
Cawangan lebih besar daripada atau sama | Jika rs1>= rs2 PC ß PC+imm12 |
BGEU rs1, rs2, imm12 |
SB |
Cawangan lebih besar daripada atau sama dengan tidak ditandatangani | Jika rs1>= rs2 PC ß PC+imm12 |
BLT rs1, rs2, imm12 |
SB |
Cawangan kurang daripada | Jika rs1< rs2 PC ß PC+imm12 |
BLTU rs1, rs2, imm12 |
SB |
Cawangan kurang daripada tidak ditandatangani | Jika rs1< rs2 PC ß PC+imm12 <<1 |
JAL rd, imm20 |
UJ |
Lompat dan Paut | rdßPC+4 PCß PC+imm20 |
JALR rd, imm12(rs1) |
saya |
Daftar Jump dan Link | rdßPC+4 PCß rs1+imm12 |
Kelebihan
The kelebihan RISC pemproses V termasuk yang berikut.
- Dengan menggunakan RISCV, kami boleh menjimatkan masa pembangunan, pembangunan perisian, pengesahan, dsb.
- Pemproses ini mempunyai banyak kelebihan seperti kesederhanaan, keterbukaan, modulariti, reka bentuk bersih dan kebolehlanjutan.
- Ini disokong oleh beberapa penyusun bahasa seperti GCC (GNU Compiler Collection), penyusun perisian percuma & melalui OS Linux .
- Ini boleh digunakan oleh syarikat secara bebas kerana tiada royalti, tiada yuran pelesenan & tiada rentetan yang berkaitan.
- Pemproses RISC-V tidak menyertakan sebarang ciri baharu atau inovatif kerana ia hanya mengikut prinsip RISC yang telah ditetapkan.
- Sama seperti beberapa ISA lain, spesifikasi pemproses ini hanya mentakrifkan pelbagai peringkat set arahan. Jadi ini mengandungi varian 32 & 64-bit serta sambungan untuk memberi sokongan untuk arahan titik terapung.
- Ini adalah percuma, ringkas, modular, stabil, dsb.
Keburukan
The keburukan pemproses RISC V termasuk yang berikut.
- Arahan kompleks sering digunakan oleh penyusun & pengaturcara.
- O/p RISC boleh berubah berdasarkan kod apabila arahan seterusnya dalam gelung bergantung pada arahan awal untuk pelaksanaan.
- Pemproses ini perlu menyimpan pelbagai arahan dengan pantas, yang memerlukan set memori cache yang besar untuk bertindak balas kepada arahan dalam masa yang tepat.
- Ciri lengkap, keupayaan & faedah RISC bergantung terutamanya pada seni bina.
Aplikasi
The aplikasi RISC V pemproses termasuk yang berikut.
- RISC-V digunakan dalam sistem terbenam, kecerdasan buatan & pembelajaran mesin.
- Pemproses ini digunakan dalam aplikasi sistem terbenam berasaskan prestasi tinggi.
- Pemproses ini sesuai digunakan dalam beberapa bidang tertentu seperti pengkomputeran tepi, AI & aplikasi storan.
- RISC-V adalah penting kerana ia membenarkan pengeluar peranti yang lebih kecil mereka bentuk perkakasan tanpa membayar.
- Pemproses ini hanya membenarkan penyelidik dan pembangun untuk mereka bentuk serta penyelidikan dengan ISA atau seni bina set arahan yang tersedia secara percuma.
- Aplikasi RISC V terdiri daripada mikropengawal terbenam kecil kepada PC desktop & superkomputer termasuk pemproses vektor.
Oleh itu, ini adalah gambaran keseluruhan Pemproses RISC V – seni bina, bekerja dengan aplikasi. Berikut adalah soalan untuk anda, apakah pemproses CISC?