Kaj je procesor RISC V: arhitektura, delovanje in njegove aplikacije

Preizkusite Naš Instrument Za Odpravo Težav





RISC V je arhitektura nabora navodil, ki jo je razvila kalifornijska univerza v Berkeleyju. Koncept RISC je bil motiviran z resnico, da večina računalniških programov ne uporablja večine ukazov procesorja. Torej je bila v načrtih uporabljena nepotrebna logika dekodiranja procesorji , ki porabi več energije in površine. Da bi skrajšali nabor navodil in vložili več v vire registra, je RISC V procesor je bil izveden.


To tehnologijo so opazili številni tehnološki velikani in novoustanovljena podjetja, ker je popolnoma odprtokodna in brezplačna. Večina vrst procesorjev je na voljo z licenčno pogodbo, vendar s to vrsto procesorja; kdorkoli lahko naredi svoje nove modele procesorjev. Ta članek torej obravnava pregled delovanja procesorja RISC V in njegovih aplikacij.



Kaj je procesor RISC V?

V procesorju RISC V izraz RISC pomeni 'računalnik z zmanjšanim naborom ukazov', ki izvaja malo računalniških ukazov, medtem ko 'V' pomeni 5. generacijo. Je odprtokodna strojna oprema ISA (arhitektura nabora ukazov), ki temelji na uveljavljenem principu TVEGANJE .

V primerjavi z drugimi modeli ISA je ta ISA na voljo z odprtokodno licenco. Tako so številna proizvodna podjetja napovedala in tudi zagotovila strojno opremo RISC-V z odprtokodnimi operacijskimi sistemi.



To je nova arhitektura in je na voljo v obliki odprtih, neomejevalnih in brezplačnih licenc. Ta procesor ima obsežno podporo industrije proizvajalcev čipov in naprav. Zato je v glavnem zasnovan tako, da je prosto razširljiv in prilagodljiv za uporabo v številnih aplikacijah.

RISC V Zgodovina

RISC je izumil prof. David Patterson okrog leta 1980 na kalifornijski univerzi Berkeley. Prof. David in prof. John Hennessy sta predstavila svoja prizadevanja v dveh knjigah, in sicer »Računalniška organizacija in načrtovanje« in »Računalniška arhitektura na Univerzi Stanford. Tako so prejeli ACM A.M. Turingovo nagrado leta 2017.

Od leta 1980 do leta 2010 so se začele razvojne raziskave pete generacije RISC, ki so bile končno identificirane kot RISC-V, kar se izgovarja kot tveganje pet.

RISC V Arhitektura in delo

Arhitektura RV12 RISC V je prikazana spodaj. RV12 je zelo nastavljiv z enojedrnim CPE RISC, skladnim z RV32I in RV64I, ki se uporablja v vgrajenih poljih. RV12 je prav tako iz družine 32 ali 64-bitnih CPE, odvisno od nabora navodil industrijskega standarda RISC-V.

RV12 preprosto izvaja harvardsko arhitekturo za hkraten dostop do navodil in podatkovnega pomnilnika. Vključuje tudi 6-stopenjski cevovod, ki pomaga pri optimizaciji prekrivanja med izvajanjem in dostopom do pomnilnika za izboljšanje učinkovitosti. Ta arhitektura v glavnem vključuje predvidevanje vej, podatkovni predpomnilnik, enoto za odpravljanje napak, predpomnilnik navodil in izbirne enote množitelja ali delilnika.

  Arhitektura procesorja RISC
Arhitektura procesorja RISC

Glavne značilnosti RV12 RISC V vključujejo naslednje.

  • To je standardni nabor navodil za industrijo.
  • Parametriziran z 32- ali 64-bitnimi podatki.
  • Ima natančne in hitre prekinitve.
  • Navodila po meri omogočajo dodajanje lastniških strojnih pospeševalnikov.
  • Izvedba enega cikla.
  • Šeststopenjski cevovod z optimizacijskim zgibom.
  • Podpora z zaščito pomnilnika.
  • Izbirni ali parametrirani predpomnilniki.
  • Izjemno parametriran.
  • Uporabniki lahko izberejo 32/64-bitne podatke in enoto za napovedovanje veje.
  • Uporabniki lahko izberejo predpomnilnike navodil/podatkov.
  • Uporabniško izbrana struktura, velikost in arhitektura predpomnilnika.
  • Podpora delilnika ali množitelja strojne opreme z uporabniško določeno zakasnitvijo.
  • Arhitektura vodila je prilagodljiva in podpira Wishbone & AHB.
  • Ta oblika optimizira moč in velikost.
  • Zasnova je popolnoma parametrirana, kar zagotavlja kompromise glede zmogljivosti ali moči.
  • Gated CLK dizajn za zmanjšanje moči.
  • Programska podpora po industrijskem standardu.
  • Arhitekturni simulator.
  • Eclipse IDE se uporablja za Linux/Windows.

Izvedbeni cevovod RISC V

Vključuje pet stopenj, kot so IF (pridobivanje navodil), ID (dekodiranje navodil), EX (izvedba), MEM (dostop do pomnilnika) in WB (povratni zapis registra).

Pridobivanje navodil

Na stopnji pridobivanja navodil ali IF se eno navodilo prebere iz programskega števca (PC) in pomnilnika navodil, ki se posodobi na naslednje navodilo.

Preddekodiranje navodil

Ko je podpora za RVC dovoljena, bo stopnja preddekodiranja navodil dekodirala 16-bitno stisnjeno navodilo v izvorno 32-bitno navodilo.

Dekodiranje navodil

V fazi dekodiranja navodil (ID) je registrska datoteka dovoljena in odločijo se o obvodnih kontrolah.

Izvedi

Na stopnji izvajanja se izračuna rezultat za ukaz ALU, DIV, MUL, pomnilnik, dovoljen za ukaz za shranjevanje ali nalaganje, veje in skoki pa se merijo glede na njihove pričakovane rezultate.

Spomin

V tej fazi pomnilnika se do pomnilnika dostopa prek cevovoda. Vključitev te faze zagotavlja visoko zmogljivost cevovoda.

Napiši nazaj

V tej fazi se rezultat izvedbene stopnje zapiše v registrsko datoteko.

Prediktor veje

Ta procesor vključuje enoto za napovedovanje veje ali BPU, ki se uporablja za shranjevanje preteklih podatkov za vodenje procesorja RISC V pri odločanju, ali je določena veja prevzeta ali ne. Ti podatki napovedovalca se preprosto posodobijo, ko se veja izvede.

Ta enota vključuje različne parametre, ki določajo njeno obnašanje. Na primer, HAS_BPU se uporablja za določitev, ali veja predvideva, da je enota prisotna, BPU_GLOBAL_BITS bo določil, koliko preteklih bitov je treba uporabiti, BPU_LOCAL_BITS pa bo določil, koliko LSB programskega števca je treba uporabiti. Kombinacija BPU_LOCAL_BITS & BPU_GLOBAL_BITS bo ustvarila vektor, ki se v glavnem uporablja za obravnavanje tabele napovedi vej.

Predpomnilnik podatkov

To se v glavnem uporablja za pospešitev dostopa do podatkovnega pomnilnika z medpomnjenjem na novo dostopanih lokacij pomnilnika. To je zmožno obravnavati dostope do polbesed, bajtov in besed, ko je  XLEN = 32, če so na svojih lastnih mejah. Prav tako je sposoben obravnavati dostope polbesed, bajtov, besed in dvojnih besed, ko je XLEN=64, če so na lastnih mejah.

Med zamudo v predpomnilniku se lahko cel blok zapiše nazaj v pomnilnik, tako da se lahko po potrebi v predpomnilnik naloži nov blok. Podatkovni predpomnilnik je onemogočen z nastavitvijo DCACHE_SIZE na nič. Po tem se do pomnilniških lokacij dostopa neposredno prek Podatkovni vmesnik .

Predpomnilnik navodil

To se v glavnem uporablja za pospešitev pridobivanja navodil z medpomnjenjem na novo pridobljenih navodil. Ta predpomnilnik se uporablja za pridobivanje enega paketa za vsak cikel na kateri koli 16-bitni meji, vendar ne prek meje bloka. Med zgrešenim predpomnilnikom se lahko iz pomnilnika ukazov naloži cel blok. Konfiguracijo tega predpomnilnika lahko izvedete glede na potrebe uporabnika. Velikost predpomnilnika, nadomestnega algoritma in dolžine bloka je mogoče konfigurirati.

Cikel ukazov bo onemogočen z nastavitvijo ICACHE_SIZE na nič. Po tem se paketi pridobijo neposredno iz pomnilnika prek Vmesnik z navodili.

Enota za odpravljanje napak

Enota za odpravljanje napak bo omogočila okolju za odpravljanje napak, da se ustavi in ​​pregleda CPE. Glavne značilnosti tega so sledenje vej, sledenje v enem koraku do 8 prelomnih točk strojne opreme.

Registriraj datoteko

Ta je zasnovan z 32 registrskimi lokacijami od X0 do X31, kjer je register X9 vedno nič. Registrska datoteka vključuje vrata za 1 pisanje in 2 vrata za branje.

Nastavljiv vmesnik

To je zunanji vmesnik, kjer ta procesor podpira različne zunanje vmesnike vodila.

Kako deluje RISC V?

RISC-V je arhitektura nabora ukazov, ki temelji na načelih RISC (reduced instruction set computer). Ta procesor je zelo edinstven in tudi revolucionaren, saj je brezplačen, skupen in odprtokoden ISA, kjer je mogoče razviti strojno opremo, prenesti programsko opremo in oblikovati procesorje, ki jo podpirajo.

Razlika Č/B RISC V proti MIPS

Razlika med RISC V in MIPS vključuje naslednje.

RISC V

MIPS

Izraz RISC V pomeni računalnik z zmanjšanim naborom ukazov, kjer je 'V' peta generacija. Izraz 'MIPS' pomeni 'milijon navodil na sekundo'.
RISC-V preprosto dovoljuje proizvajalcem manjših naprav, da oblikujejo strojno opremo brez plačila. MIPS proizvajalcu omogoča merjenje hitrosti procesorja s plačilom, ker ni brezplačen.
MIPS je dejansko mrtev. RISC-V ni učinkovito mrtev.
Ta procesor nudi navodila za razvejanje za primerjavo dveh registrov. MIPS je odvisen od primerjalnega ukaza, ki poišče register na 1 ali 0 glede na to, ali je kontrast resničen.
Shema kodiranja ISA je fiksna in spremenljiva v RISC V. Shema kodiranja ISA je določena v MIPS
Velikost niza ukazov je 16-bitna ali 32-bitna ali 64-bitna ali 128-bitna. Velikost nabora navodil je 32-bitna ali 64-bitna.
Ima 32 splošnih registrov in registrov s plavajočo vejico Ima 31 splošnih registrov in registrov s plavajočo vejico.
Ima 26 operacij s plavajočo vejico z enojno in dvojno natančnostjo. Ima 15 operacij s plavajočo vejico z enojno in dvojno natančnostjo.

Razlika Č/B RISC V proti ARM

Razlika med RISC V in ARM vključuje naslednje.

RISC V

ROKA

RISC-V je odprtokoden, zato ne potrebuje licence. ARM je zaprta koda, zato potrebuje licenco.
Gre za novo procesorsko platformo, zato je podpora za programsko in programsko okolje zelo majhna. ARM ima zelo veliko spletno skupnost, ki podpira knjižnice in strukture za pomoč ciljnim oblikovalcem na različnih platformah, kot so mikroprocesorji, mikrokontrolerji in tudi strežniki.
Čipi, ki temeljijo na RISC V, porabijo 1 vat moči. Čipi, ki temeljijo na ARM, porabijo manj kot 4 vate energije.
Ima fiksni in spremenljivi sistem kodiranja ISA. Ima fiksni sistem kodiranja ISA.
Velikost nabora navodil RISC V se giblje od 16 do 128 bitov. Njegova velikost navodil se giblje od 16-bitnih do 64-bitnih.
Vključuje 32 splošnih registrov in registrov s plavajočo vejico. Vključuje 31 splošnih registrov in registrov s plavajočo vejico.
Ima 26 operacij s plavajočo vejico z enojno natančnostjo. Ima 33 operacij s plavajočo vejico z enojno natančnostjo.
Ima operacije s plavajočo vejico 26 dvojne natančnosti. Ima operacije s plavajočo vejico z 29 dvojno natančnostjo.

Koda Verilog RISC V

Koda verilog pomnilnika navodil za RISC je prikazana spodaj.

// Koda Verilog za procesor RISC
// Koda Verilog za pomnilnik navodil

modul Instruction_Memory(
vhod [15:0] pc,
izhod [15:0] navodilo
);

reg [`col – 1:0] spomin [`row_i – 1:0];
žica [3 : 0] rom_addr = pc [4 : 1];
začetnica
začeti
$readmemb(“./test/test.prog”, spomin,0,14);
konec
dodeli navodilo = memory[rom_addr];

končni modul

Koda Verilog za 16-bitni procesor RISC V:

modul Risc_16_bit(
vhodni clk
);

žični skok,bne,beq,mem_read,mem_write,alu_src,reg_dst,mem_to_reg,reg_write;
žica [1:0] alu_op;
žica [3:0] operacijska koda;

// Podatkovna pot

Datapath_Unit DU
(
.clk(clk),
.jump(skok),
.žaba (žaba),
.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)
);

// kontrolna enota
Control_Unit control
(
.opcode(opcode),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.alu_op(alu_op),
.jump(skok),
.bne(bne),
.žaba (žaba),
.mem_read(mem_read),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_write(reg_write)
);
končni modul

Kompleti navodil

Nizi ukazov RISC V so obravnavani spodaj.

Aritmetične operacije

Aritmetične operacije RISC V so navedene spodaj.

Mnemotehnika Vrsta Navodilo Opis
DODAJ  rd, rs1, rs2

R

Dodaj rdß rs1 + rs2
SUB rd, rs1, rs2

R

Odštej rdß rs1 –  rs2
DODAJ rd, rs1, imm12

jaz

Dodaj takoj rdß rs1 + imm12
SLT rd, rs1, rs2

R

Nastavite manj kot rdß rs1 -< rs2
SLTI rd, rs1, imm12

jaz

Nastavite manj kot takoj rdß rs1 -< imm12
SLTU rd, rs1, rs2

R

Nastavite manj kot nepodpisano rdß rs1 -< rs2
SLTIU rd, rs1, imm12

jaz

Nastavite manj kot takoj nepodpisano rdß rs1 -< imm12
LUI rd, imm20

IN

Obremenitev zgornjega takojšnjega rdß imm20<<12
AUIP rd, imm20

IN

Dodajanje zgornjega neposrednega računalniku rdß PC+imm20<<12

Logične operacije

Spodaj so navedene logične operacije RISC V.

Mnemotehnika Vrsta Navodilo Opis
IN  rd, rs1, rs2

R

IN rdß rs1 in rs2
ALI rd, rs1, rs2

R

ALI rdß rs1 | rs2
XOR  rd, rs1, rs2

R

PROST rdß rs1 ^  rs2
ANDI rd, rs1, imm12

jaz

IN takoj rdß rs1 & imm2
ORI rd, rs1, imm12

jaz

ALI Takoj rdß rs1 | imm12
OXRI rd, rs1, imm12

jaz

XOR takoj rdß rs1 ^ rs2
SLL rd, rs1, rs2

R

Premik levo logično rdß rs1 <<  rs2
SRL rd, rs1, rs2

R

Premik desno logično rdß rs1 >>  rs2
RAS rd, rs1, rs2

R

Aritmetika premika v desno rdß rs1 >>  rs2
SLLI rd, rs1, šamt

jaz

Premik levo logično takoj rdß rs1 << šamt
SRLI rd, rs1, šamt

jaz

Premik desno logično takoj rdß rs1 >> shamt
SRAI rd, rs1, šamt

jaz

Takojšnji premik v desno aritmetika rdß rs1 >> shamt

Nalaganje/shranjevanje

Operacije nalaganja/shranjevanja RISC V so navedene spodaj.

Mnemotehnika Vrsta Navodilo Opis
LD  rd, imm12 (rs1)

jaz

Naloži dvojno besedo rdß mem [rs1 +imm12]
LW rd, imm12 (rs1)

jaz

Naloži besedo rdß mem [rs1 +imm12]
LH rd, imm12 (rs1)

jaz

Naložite do polovice rdß mem [rs1 +imm12]
LB rd, imm12 (rs1)

jaz

Naloži bajt rdß mem [rs1 +imm12]
LWU rd, imm12 (rs1)

jaz

Naloži besedo brez predznaka rdß mem [rs1 +imm12]
LHU rd, imm12 (rs1)

jaz

Naloži pol besede brez podpisa rdß mem [rs1 +imm12]
LBU rd, imm12 (rs1)

jaz

Naloži bajt brez predznaka rdß mem [rs1 +imm12]
SD  rs2, imm12 (rs1)

S

Shranite dvojno besedo rs2 v mem [rs1 +imm12]
SW rs2, imm12 (rs1)

S

Shranjujte besedo rs2 (31:0) v mem [rs1 +imm12]
SH rs2, imm12 (rs1)

S

Shranite na pol rs2 (15:0) v mem [rs1 +imm12]
SB rs2, imm12 (rs1)

S

Shrani bajt rs2 (15:0) v mem [rs1 +imm12]
SRAI rd, rs1, šamt

jaz

Takojšnji premik v desno aritmetika rs2 (7:0) v mem [rs1 +imm12]

Podružnice

Operacije razvejanja RISC V so navedene spodaj.

Mnemotehnika Vrsta Navodilo Opis
BEQ rs1, rs2, imm12

SB

Podružnica enaka Če je rs1== rs2

PC ß PC+imm12

BNE rs1, rs2, imm12

SB

Veja ni enaka Če je rs1!= rs2

PC ß PC+imm12

BGE  rs1, rs2, imm12

SB

Veja večja ali enaka Če je rs1>= rs2

PC ß PC+imm12

BGEU  rs1, rs2, imm12

SB

Veja je večja ali enaka nepredznaku Če je rs1>= rs2

PC ß PC+imm12

BLT  rs1, rs2, imm12

SB

Podružnica manj kot Če je rs1< rs2

PC ß PC+imm12

BLTU  rs1, rs2, imm12

SB

Veja manj kot  nepodpisana Če je rs1< rs2

PC ß PC+imm12 <<1

JAL  rd, imm20

UJ

Skoči in poveži rdßPC+4
PCß PC+imm20
JALR  rd, imm12(rs1)

jaz

Jump and Link register rdßPC+4
PCß rs1+imm12

Prednosti

The prednosti RISC V procesor vključujejo naslednje.

  • Z uporabo RISCV lahko prihranimo čas razvoja, razvoja programske opreme, verifikacije itd.
  • Ta procesor ima številne prednosti, kot so preprostost, odprtost, modularnost, čista zasnova in razširljivost.
  • To podpira več jezikovnih prevajalnikov, kot je GCC (GNU Compiler Collection), prevajalnik brezplačne programske opreme in prek OS Linux .
  • To lahko podjetja prosto uporabljajo, ker ni licenčnin, licenčnin in ni povezanih nizov.
  • Procesor RISC-V ne vključuje nobenih novih ali inovativnih funkcij, ker preprosto sledi uveljavljenim načelom RISC.
  • Podobno kot več drugih ISA-jev ta specifikacija procesorja preprosto definira različne ravni nabora ukazov. To torej vsebuje 32 in 64-bitne različice ter razširitve za podporo navodilom s plavajočo vejico.
  • Ti so brezplačni, enostavni, modularni, stabilni itd.

Slabosti

The slabosti procesorja RISC V vključujejo naslednje.

  • Kompleksna navodila pogosto uporabljajo prevajalniki in programerji.
  • O/p RISC se lahko spremeni glede na kodo, ko so naslednja navodila znotraj zanke odvisna od prejšnjega navodila za izvedbo.
  • Ti procesorji morajo hitro shraniti različna navodila, kar zahteva velik nabor predpomnilnika, da se na navodila odzove pravočasno.
  • Celotne funkcije, zmožnosti in prednosti RISC so v glavnem odvisne od arhitekture.

Aplikacije

The aplikacije RISC V procesor vključujejo naslednje.

  • RISC-V se uporablja v vgrajenih sistemih, umetni inteligenci in strojnem učenju.
  • Ti procesorji se uporabljajo v visoko zmogljivih vgrajenih sistemskih aplikacijah.
  • Ta procesor je primeren za uporabo na določenih področjih, kot so robno računalništvo, AI in aplikacije za shranjevanje.
  • RISC-V je pomemben, saj manjšim proizvajalcem naprav omogoča oblikovanje strojne opreme brez plačila.
  • Ta procesor preprosto omogoča raziskovalcem in razvijalcem načrtovanje in raziskovanje s prosto dostopno arhitekturo ISA ali nabora navodil.
  • Aplikacije RISC V segajo od majhnih vgrajenih mikrokontrolerjev do namiznih osebnih računalnikov in superračunalnikov, vključno z vektorskimi procesorji.

Torej, to je pregled procesorja RISC V – arhitektura, delo z aplikacijami. Tukaj je vprašanje za vas, kaj je procesor CISC?