Pređi na sadržaj

Računarstvo bez skupa instrukcija

S Vikipedije, slobodne enciklopedije

Računarstvo bez skupa instrukcija (NISC) je računarska arhitektura i kompajlerska tehnologija za dizajniranje visoko efikasnih namenskih procesora i hardverskih akceleratora pomoću kompajlera koji raspolaže hardverskim resursima na veoma niskom nivou.

Pregled

[uredi | uredi izvor]

NISC je statički-raspoređena horizontalna nanokodirana arhitektura (SSHNA). Izraz "statički raspoređena" znači da se raspoređivanje operacija i manipulisanje konfliktima obavlja od strane kompajlera. Izraz "horizontalno nanokodirani" znači da NISC nema nikakav predefinisan skup instrukcija ili mikroprogram. Kompajler generiše nanokodove koji direktno kontrolišu funkcionalne jedinice, registre i multipleksere datih registara. Kontrola hardvera na niskom nivou kompajleru omogućava da bolje iskoristi resurse registara podataka, što na kraju rezultuje boljom performansom. Prednosti NISC tehnologije su:

  • Jednostavniji kontroler: nema hardverskog raspoređivača, nema dekodera instrukciaj
  • Bolje performanse: fleksibilnija arhitektura, bolja iskorišćenost resursa
  • Lakša za dizajniranje: nema potrebe dizajnirati skupove instrukcija

Skupovi instrukcija i kontroleri procesora su najmučniji i vremenski najzahtevniji delovi za dizajniranje. Eliminisanjem ta dva, dizajniranje namenskih procesnih elemenata postaje značajno lakše.

Štaviše, registri podataka kod NISC procesora mogu biti generisani automatski za datu aplikaciju. Time se produktivnost dizajnera značajno povećava.

S obzirom da su registri podataka NISC procesora automatski generisani i jako efikasni, NISC tehnologija je uporediva sa pristupom sinteze visokog nivoa (HLS) ili C u HDL sinteze. U stvari, jedna od prednosti ovog arhitektonskog stila je njegova sposobnost da premosti ove dve tehnologije (dizajn namenskog procesora i HLS).

Istorija

[uredi | uredi izvor]

U prošlosti, tehnologija dizajniranja procesora je evoluirala od računara sa složenim skupom instrukcija (CISC) do računara sa smanjenim skupom instrukcija (RISC). U ranim danima računarske industrije, kompajlerska tehnologija nije postojala i programiranje se radilo u asembleru. Da bi se olakšalo programiranje, arhitekte računara su osmislile složene instrukcije koje su bile direktno preslikavanje funkcija visokog nivoa iz prorgamskih jezika visokog nivoa. Druga stvar koja je ohrabrila složenost instrukcija je bio nedostatak velikih memorijskih blokova.

Kako su se kompajlerske i memorijske tehnologije razvijale, predstavljene su RISC arhitekture. RISC arhitektura zahteva više memorije za instrukcije i kompajler koji prevodi jezik višeg nivoa na RISC asemblerski kod. Dalji razvoj kompajlerskih i memorijskih tehnologija dovodi do pojavljivanja procesora jako duge instrukcijske reči (VLIW), kod kojih kompajler kontroliše raspored instrukcija i manipuliše konfliktima.

NISC je naslednik VLIW procesora. Kod NISC-a, kompajler ima i horizontalnu i vertikalnu kontrolu operacija u registrima podataka. Samim tim, hardver je mnogo jednostavniji, ali je veličina kontrolne memorije veća nego kod prethodnih generacija. Kao rešenje ovog problema koriste se tehnike resursno-jeftinih kompresija.

Literatura

[uredi | uredi izvor]

Spoljašnje veze

[uredi | uredi izvor]