Čo je procesor RISC V: Architektúra, práca a jej aplikácie

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





RISC V je architektúra inštrukčnej sady vyvinutá Kalifornskou univerzitou v Berkeley. Koncept RISC bol motivovaný skutočnosťou, že väčšina inštrukcií procesora nebola využívaná väčšinou počítačových programov. Takže v rámci návrhov bola použitá zbytočná dekódovacia logika spracovateľov , spotrebuje viac energie aj plochy. Ak chcete skrátiť sadu pokynov a investovať viac do zdrojov registra, Procesor RISC V bola implementovaná.


Túto technológiu si všimli mnohí technologickí giganti a začínajúce podniky, pretože je úplne open source a je bezplatná. Väčšina typov procesorov je dostupná s licenčnou zmluvou, avšak s týmto typom procesora; každý môže vytvoriť svoj nový dizajn procesora. Tento článok teda pojednáva o prehľade procesora RISC V – práce a jeho aplikácií.



Čo je to procesor RISC V?

V procesore RISC V termín RISC znamená „počítač s redukovanou inštrukčnou sadou“, ktorý vykonáva niekoľko počítačových inštrukcií, zatiaľ čo „V“ znamená 5. generáciu. Ide o open-source hardvér ISA (architektúra inštrukčnej sady) založený na zavedenom princípe RIZIKO .

V porovnaní s inými návrhmi ISA je tento ISA dostupný s licenciou open source. Takže niekoľko výrobných spoločností oznámilo a tiež poskytlo hardvér RISC-V s operačnými systémami s otvoreným zdrojom.



Toto je nová architektúra a je k dispozícii v otvorených, neobmedzujúcich a bezplatných licenciách. Tento procesor má rozsiahlu podporu zo strany výrobcov čipov a zariadení. Je teda navrhnutý hlavne tak, aby bol voľne rozšíriteľný a prispôsobiteľný na použitie v mnohých aplikáciách.

História RISC V

RISC vynašiel prof. David Patterson okolo roku 1980 na Kalifornskej univerzite v Berkeley. Prof. David s prof. Johnom Hennessym predložili svoje úsilie v dvoch knihách, a to „Computer Organization and Design“ a „Computer Architecture at Stanford University“. Takže dostali ACM A.M. Turingovu cenu v roku 2017.

Od roku 1980 do roku 2010 sa začal vývojový výskum piatej generácie RISC, ktorý bol nakoniec identifikovaný ako RISC-V, ktorý sa označuje ako riziko päť.

RISC V Architektúra a práca

Architektúra RV12 RISC V je zobrazená nižšie. RV12 je vysoko konfigurovateľný s jednojadrovým RISC CPU kompatibilným s RV32I a RV64I, ktorý sa používa vo vstavaných poliach. RV12 je tiež z 32 alebo 64-bitovej rodiny CPU v závislosti od inštrukčnej sady priemyselného štandardu RISC-V.

RV12 jednoducho vykonáva architektúru Harvard pre simultánny prístup k inštrukciám, ako aj k dátovej pamäti. Zahŕňa tiež 6-stupňový kanál, ktorý pomáha pri optimalizácii prekrývania medzi vykonávaním, ako aj prístupmi k pamäti, aby sa zvýšila efektivita. Táto architektúra zahŕňa najmä predikciu vetvy, vyrovnávaciu pamäť údajov, ladiacu jednotku, vyrovnávaciu pamäť inštrukcií a voliteľné jednotky multiplikátora alebo rozdeľovača.

  Architektúra procesora RISC
Architektúra procesora RISC

Medzi hlavné vlastnosti RV12 RISC V patria nasledujúce.

  • Ide o štandardnú inštrukčnú sadu.
  • Parametrizované s 32 alebo 64 bitovými údajmi.
  • Má presné a rýchle prerušenia.
  • Vlastné pokyny umožňujú pridanie proprietárnych hardvérových akcelerátorov.
  • Vykonanie jedného cyklu.
  • Šesťstupňové potrubie s optimalizáciou skladané.
  • Podpora s ochranou pamäte.
  • Voliteľné alebo parametrizované vyrovnávacie pamäte.
  • Extrémne parametrizované.
  • Používatelia si môžu vybrať 32/64-bitové údaje a jednotku predikcie vetvy.
  • Používatelia si môžu vybrať vyrovnávaciu pamäť inštrukcií/údajov.
  • Užívateľsky voliteľná štruktúra, veľkosť a architektúra vyrovnávacej pamäte.
  • Podpora hardvérového rozdeľovača alebo multiplikátora pomocou užívateľom definovanej latencie.
  • Architektúra zbernice je flexibilná a podporuje Wishbone & AHB.
  • Tento dizajn optimalizuje výkon a veľkosť.
  • Dizajn je kompletne parametrizovaný, čo poskytuje kompromisy medzi výkonom alebo výkonom.
  • Gated CLK dizajn na zníženie výkonu.
  • Softvérová podpora podľa priemyselného štandardu.
  • Architektonický simulátor.
  • Eclipse IDE sa používa pre Linux/Windows.

Realizačný kanál RISC V

Zahŕňa päť fáz, ako je IF (načítanie inštrukcie), ID (dekódovanie inštrukcie), EX (vykonanie), MEM (prístup do pamäte) a WB (spätný zápis registrácie).

Vyzdvihnutie pokynov

Vo fáze Instruction Fetch alebo IF sa z programového počítadla (PC) a pamäte inštrukcií načíta jedna inštrukcia, ktorá sa aktualizuje na ďalšiu inštrukciu.

Predbežné dekódovanie pokynov

Akonáhle je povolená podpora RVC, potom fáza Instruction Pre-Decode dekóduje 16-bitovú komprimovanú inštrukciu na natívnu 32-bitovú inštrukciu.

Dekódovanie pokynov

Vo fáze dekódovania inštrukcií (ID) je povolený súbor registra a rozhoduje sa o ovládacích prvkoch premostenia.

Vykonať

Vo fáze Execute sa výsledok vypočíta pre inštrukciu ALU, DIV, MUL, pamäť povolenú pre inštrukciu Store alebo Load a vetvenia a skoky sa merajú oproti ich očakávaným výsledkom.

Pamäť

V tejto fáze pamäte sa k pamäti pristupuje cez kanál. Zahrnutie tejto fázy zabezpečuje vysoký výkon potrubia.

Odpísať

V tejto fáze sa výsledok fázy vykonania zapíše do súboru registra.

Prediktor vetvy

Tento procesor obsahuje jednotku prediktora vetvy alebo BPU, ktorá sa používa na ukladanie minulých údajov na vedenie procesora RISC V pri rozhodovaní, či sa konkrétna vetva vyberie alebo nie. Tieto prediktorové údaje sa jednoducho aktualizujú po spustení vetvy.

Táto jednotka obsahuje rôzne parametre, ktoré určujú jej správanie. Napríklad HAS_BPU sa používa na určenie, či vetva predpovedá prítomnosť jednotky, BPU_GLOBAL_BITS určí, koľko minulých bitov by sa malo použiť a BPU_LOCAL_BITS určí, koľko LSB programového počítadla by sa malo použiť. Kombinácia BPU_LOCAL_BITS & BPU_GLOBAL_BITS vytvorí vektor, ktorý sa používa hlavne na riešenie tabuľky predpovede vetví.

Dátová vyrovnávacia pamäť

Používa sa hlavne na urýchlenie prístupu k dátovej pamäti ukladaním novopristupovaných miest pamäte do vyrovnávacej pamäte. Toto je schopné spracovať polslovné, bajtové a slovné prístupy, keď  XLEN = 32, ak sú na vlastných hraniciach. Je tiež schopný spracovať polslovné, bajtové, slovné a dvojslovné prístupy pri XLEN=64, ak sú na vlastných hraniciach.

Počas vynechania vyrovnávacej pamäte môže byť celý blok zapísaný späť do pamäte, takže ak je to potrebné, môže sa do vyrovnávacej pamäte načítať nový blok. Dátová vyrovnávacia pamäť sa deaktivuje nastavením DCACHE_SIZE na nulu. Potom sa k miestam pamäte pristupuje priamo cez Dátové rozhranie .

Vyrovnávacia pamäť pokynov

Toto sa používa hlavne na urýchlenie načítania inštrukcie ukladaním novo načítaných pokynov do vyrovnávacej pamäte. Táto vyrovnávacia pamäť sa používa na načítanie jedného balíka pre každý cyklus na ľubovoľnej 16-bitovej hranici, ale nie cez hranicu bloku. Počas vynechania vyrovnávacej pamäte je možné načítať celý blok z pamäte inštrukcie. Konfiguráciu tejto vyrovnávacej pamäte je možné vykonať na základe potrieb používateľa. Veľkosť vyrovnávacej pamäte, algoritmus nahradenia a dĺžka bloku sú konfigurovateľné.

Inštrukčný cyklus bude deaktivovaný nastavením ICACHE_SIZE na nulu. Potom sa balíky načítajú priamo z pamäte cez Inštrukčné rozhranie.

Debug Unit

Debug Unit umožní okoliu Debug zastaviť a preskúmať CPU. Hlavnými črtami tohto sú sledovanie pobočiek, jednokrokové sledovanie až po 8 bodov zlomu hardvéru.

Registrovať súbor

Toto je navrhnuté s 32 miestami registrov od X0 do X31, kde je register X9 vždy nula. Register File obsahuje 1 port na zápis a 2 porty na čítanie.

Konfigurovateľné rozhranie

Toto je externé rozhranie, kde tento procesor podporuje rôzne externé rozhrania zbernice.

Ako RISC V funguje?

RISC-V je architektúra inštrukčnej sady zakorenená v princípoch RISC (reduced installation set computer). Tento procesor je veľmi jedinečný a tiež revolučný, pretože ide o bezplatný, bežný a open-source ISA, kde je možné vyvíjať hardvér, prenášať softvér a navrhovať procesory na jeho podporu.

Rozdiel B/W RISC Vs MIPS

Rozdiel medzi RISC V a MIPS zahŕňa nasledovné.

RISC V

MIPS

Termín RISC V znamená počítač s redukovanou inštrukčnou sadou, kde „V“ je piata generácia. Termín „MIPS“ znamená „milión pokynov za sekundu“.
RISC-V jednoducho umožňuje výrobcom menších zariadení navrhovať hardvér bez platenia. MIPS umožňuje výrobcovi merať rýchlosť procesora zaplatením, pretože nie je zadarmo.
MIPS je efektívne mŕtvy. RISC-V nie je efektívne mŕtvy.
Tento procesor poskytuje príkazy vetvenia na porovnanie dvoch registrov. MIPS závisí od porovnávacej inštrukcie, ktorá lokalizuje register na 1 alebo 0 na základe toho, či je kontrast pravdivý.
Schéma kódovania ISA je v RISC V pevná a variabilná. Schéma kódovania ISA je v MIPS pevne stanovená
Veľkosť sady inštrukcií je 16-bitová alebo 32-bitová alebo 64-bitová alebo 128-bitová. Veľkosť sady inštrukcií je 32-bitová alebo 64-bitová.
Má 32 všeobecných registrov a registrov s pohyblivou rádovou čiarkou Má 31 všeobecných registrov a registrov s pohyblivou rádovou čiarkou.
Má 26 operácií s jednoduchou a dvojitou presnosťou s pohyblivou rádovou čiarkou. Má 15 operácií s jednoduchou a dvojitou presnosťou s pohyblivou rádovou čiarkou.

Rozdiel B/W RISC Vs ARM

Rozdiel medzi RISC V a ARM zahŕňa nasledovné.

RISC V

ARM

RISC-V je open source, takže nevyžaduje žiadnu licenciu. ARM je uzavretý zdroj, takže potrebuje licenciu.
Je to nová procesorová platforma, takže podpora softvérových a programovacích prostredí je veľmi malá. ARM má veľmi veľkú online komunitu, ktorá podporuje knižnice a štruktúry na pomoc cieľovým dizajnérom v rôznych platformách, ako sú mikroprocesory, mikrokontroléry a tiež servery.
Čipy na báze RISC V spotrebujú 1 watt energie. Čipy založené na ARM spotrebujú menej ako 4 watty.
Má pevný a variabilný systém kódovania ISA. Má pevný systém kódovania ISA.
Veľkosť inštrukčnej sady RISC V sa pohybuje od 16-bit do 128-bitov. Veľkosť jeho inštrukcie sa pohybuje od 16-bit do 64-bitov.
Obsahuje 32 všeobecných registrov a registrov s pohyblivou rádovou čiarkou. Obsahuje 31 všeobecných registrov a registrov s pohyblivou rádovou čiarkou.
Má 26 presných operácií s pohyblivou rádovou čiarkou. Má 33 presných operácií s pohyblivou rádovou čiarkou.
Má 26 operácií s dvojnásobnou presnosťou s pohyblivou rádovou čiarkou. Má 29 operácií s dvojnásobnou presnosťou s pohyblivou rádovou čiarkou.

RISC V Verilog kód

Verilog kód pamäte inštrukcie pre RISC je zobrazený nižšie.

// Verilog kód pre RISC procesor
// Verilog kód pre pamäť inštrukcií

modul Instruction_Memory(
vstup[15:0] pc,
výstup[15:0] pokyn
);

reg [`col – 1:0] pamäť [`riadok_i – 1:0];
drôt [3 : 0] rom_addr = pc[4 : 1];
počiatočné
začať
$readmemb(./test/test.prog”, pamäť,0,14);
koniec
priradiť inštrukciu = pamäť[rom_addr];

koncový modul

Verilog kód pre 16-bitový RISC V procesor:

modul Risc_16_bit(
vstup clk
);

drôtový skok,bne,beq,mem_read,mem_write,alu_src,reg_dst,mem_to_reg,reg_write;
drôt[1:0] alu_op;
drôtový [3:0] operačný kód;

// Datapath

Datapath_Unit DU
(
.clk(clk),
.skok(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(operačný kód)
);

// kontrolná jednotka
Control_Ovládanie jednotky
(
.opcode(operačný kód),
.reg_dst(reg_dst),
.mem_to_reg(mem_to_reg),
.alu_op(alu_op),
.skok(skok),
.bne(bne),
.žaba(žaba),
.mem_read(mem_read),
.mem_write(mem_write),
.alu_src(alu_src),
.reg_write(reg_write)
);
koncový modul

Inštrukčné sady

Inštrukčné sady RISC V sú diskutované nižšie.

Aritmetické operácie

Aritmetické operácie RISC V sú uvedené nižšie.

Mnemotechnický prostriedok Typ Inštrukcia Popis
PRIDAŤ  rd, rs1, rs2

R

Pridať rdß rs1 + rs2
SUB rd, rs1, rs2

R

Odčítať rdß rs1 –  rs2
ADDI rd, rs1, imm12

ja

Pridajte okamžite rdß rs1 + imm12
SLT rd, rs1, rs2

R

Nastavte menej ako rdß rs1 -< rs2
SLTI rd, rs1, imm12

ja

Nastavte menej ako okamžite rdß rs1 -< imm12
SLTU rd, rs1, rs2

R

Nastaviť menej ako nepodpísané rdß rs1 -< rs2
SLTIU rd, rs1, imm12

ja

Nastaviť menej ako okamžité nepodpísané rdß rs1 -< imm12
LUI rd, imm20

IN

Okamžité zaťaženie hornej časti rdß imm20<<12
AUIP rd, imm20

IN

Pridajte hornú okamžitú do PC rdß PC+imm20<<12

Logické operácie

Logické operácie RISC V sú uvedené nižšie.

Mnemotechnický prostriedok Typ Inštrukcia Popis
AND  rd, rs1, rs2

R

A rdß rs1 a rs2
ALEBO rd, rs1, rs2

R

ALEBO rdß rs1 | rs2
XOR  rd, rs1, rs2

R

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

ja

A okamžite rdß rs1 a imm2
ORI rd, rs1, imm12

ja

ALEBO Okamžite rdß rs1 | imm12
OXRI rd, rs1, imm12

ja

XOR okamžite rdß rs1 ^ rs2
SLL rd, rs1, rs2

R

Logický posun doľava rdß rs1 <<  rs2
SRL rd, rs1, rs2

R

Logický posun doprava rdß rs1 >>  rs2
RAS rd, rs1, rs2

R

Posun doprava aritmetika rdß rs1 >>  rs2
SLLI rd, rs1, shamt

ja

Posun doľava logický okamžite rdß rs1 << shamt
SRLI rd, rs1, shamt

ja

Okamžitý logický posun doprava rdß rs1 >> shamt
SRAI rd, rs1, shamt

ja

Okamžite posunúť pravú aritmetiku rdß rs1 >> shamt

Operácie načítania/ukladania

Operácie načítania/ukladania RISC V sú uvedené nižšie.

Mnemotechnický prostriedok Typ Inštrukcia Popis
LD  rd, imm12 (rs1)

ja

Načítať dvojité slovo rdß mem [rs1 + imm12]
LW rd, imm12 (rs1)

ja

Načítať slovo rdß mem [rs1 + imm12]
LH rd, imm12 (rs1)

ja

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

ja

Načítať bajt rdß mem [rs1 + imm12]
LWU rd, imm12 (rs1)

ja

Načítať slovo nepodpísané rdß mem [rs1 + imm12]
LHU rd, imm12 (rs1)

ja

Načítať polovicu slova bez znamienka rdß mem [rs1 + imm12]
LBU rd, imm12 (rs1)

ja

Načítať bajt nepodpísaný rdß mem [rs1 + imm12]
SD  rs2, imm12 (rs1)

S

Uložte dvojité slovo rs2 to mem [rs1 + imm12]
SW rs2, imm12 (rs1)

S

Uložiť slovo rs2 (31:0) do pamäte [rs1 + imm12]
SH rs2, imm12 (rs1)

S

Skladujte na pol ceste rs2 (15:0) do pamäte [rs1 + imm12]
SB rs2, imm12 (rs1)

S

Uložiť bajt rs2 (15:0) do pamäte [rs1 + imm12]
SRAI rd, rs1, shamt

ja

Okamžite posunúť pravú aritmetiku rs2 (7:0) do pamäte [rs1 + imm12]

Operácie vetvenia

Operácie vetvenia RISC V sú uvedené nižšie.

Mnemotechnický prostriedok Typ Inštrukcia Popis
BEQ rs1, rs2, imm12

SB

Vetva rovná Ak rs1== rs2

PC ß PC+imm12

BNE rs1, rs2, imm12

SB

Pobočka nie je rovnaká Ak rs1!= rs2

PC ß PC+imm12

BGE  rs1, rs2, imm12

SB

Vetva väčšia alebo rovnaká Ak rs1>= rs2

PC ß PC+imm12

BGEU  rs1, rs2, imm12

SB

Vetva väčšia alebo rovná unsigned Ak rs1>= rs2

PC ß PC+imm12

BLT  rs1, rs2, imm12

SB

Pobočka menej ako Ak rs1< rs2

PC ß PC+imm12

BLTU  rs1, rs2, imm12

SB

Vetva menšia ako  nepodpísaná Ak rs1< rs2

PC ß PC+imm12 <<1

JAL  rd, imm20

UJ

Skočiť a prepojiť rdßPC+4
PCß PC+imm20
JALR  rd, imm12(rs1)

ja

Zaregistrujte sa skokom a odkazom rdßPC+4
PCß rs1+imm12

Výhody

The výhody RISC V procesor zahŕňajú nasledujúce.

  • Použitím RISCV môžeme ušetriť čas na vývoj, vývoj softvéru, overovanie atď.
  • Tento procesor má mnoho výhod, ako je jednoduchosť, otvorenosť, modularita, čistý dizajn a rozšíriteľnosť.
  • Toto je podporované niekoľkými jazykovými kompilátormi, ako je GCC (GNU Compiler Collection), bezplatný kompilátor softvéru a prostredníctvom OS Linux .
  • Spoločnosti to môžu voľne používať bez licenčných poplatkov, bez licenčných poplatkov a bez pripojených reťazcov.
  • Procesor RISC-V neobsahuje žiadne nové alebo inovatívne funkcie, pretože jednoducho dodržiava zavedené princípy RISC.
  • Podobne ako niekoľko iných ISA, táto špecifikácia procesora jednoducho definuje rôzne úrovne inštrukčnej sady. Takže toto obsahuje 32 a 64-bitové varianty, ako aj rozšírenia na podporu inštrukcií s pohyblivou rádovou čiarkou.
  • Tieto sú bezplatné, jednoduché, modulárne, stabilné atď.

Nevýhody

The nevýhody procesora RISC V zahŕňajú nasledujúce.

  • Kompilátory a programátori často používajú zložité inštrukcie.
  • O/p RISC sa môže meniť na základe kódu, keď následné inštrukcie v rámci slučky závisia od predchádzajúcej inštrukcie na vykonanie.
  • Tieto procesory potrebujú rýchlo ukladať množstvo inštrukcií, čo si vyžaduje veľkú vyrovnávaciu pamäť, aby reagovala na inštrukciu včas.
  • Kompletné funkcie, možnosti a výhody RISC závisia hlavne od architektúry.

Aplikácie

The aplikácie RISC V procesor zahŕňajú nasledujúce.

  • RISC-V sa používa vo vstavaných systémoch, umelej inteligencii a strojovom učení.
  • Tieto procesory sa používajú vo vysokovýkonných aplikáciách vstavaných systémov.
  • Tento procesor je vhodný na použitie v niektorých konkrétnych oblastiach, ako sú edge computing, AI a úložné aplikácie.
  • RISC-V je dôležitý, pretože umožňuje menším výrobcom zariadení navrhovať hardvér bez platenia.
  • Tento procesor jednoducho umožňuje výskumníkom a vývojárom navrhovať a tiež skúmať s voľne dostupnou architektúrou ISA alebo inštrukčnej sady.
  • Aplikácie RISC V siahajú od malých vstavaných mikrokontrolérov po stolové počítače a superpočítače vrátane vektorových procesorov.

Teda toto je prehľad procesora RISC V – architektúra, práca s aplikáciami. Tu je otázka pre vás, čo je procesor CISC?