Apakah itu Pemproses RISC V : Seni Bina, Kerja & Aplikasinya

Cuba Instrumen Kami Untuk Menghapuskan Masalah





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.

  Senibina Pemproses RISC
Senibina Pemproses RISC

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?