• Turingova nagrajenca 2017: Hennessy in Patterson
Novice

Turingovo nagrado, najpomembnejšo nagrado za trajne in izjemno pomembne tehnične prispevke na področju računalništva, sta za leto 2017 prejela John L. Hennessy in David A. Patterson, in sicer za pionirsko delo pri oblikovanju in vrednotenju računalniških arhitektur s trajnim vplivom na industrijo mikroprocesorjev. Nagrado, ki velja za nekakšno Nobelovo nagrado za področje računalništva (višina nagrade je milijon dolarjev) podeljuje Združenje ACM (Association for Computing Machinery).


Nagrajenca sta postavila temelje modernih računalniških arhitektur, saj danes več kot 90 odstotkov procesorjev, ki poganjajo naše naprave, temelji na tehničnih rešitvah, ki sta jih predlagala in vpeljala Hennessy in Patterson. Razvila sta procesor RISC s cevovodnim izvajanjem ukazov ter uvedla kvantitativne metrike za ocenjevanje hitrosti procesorjev, kar je privedlo do revolucije v načinu dojemanja delovanja procesorjev, njihovi zgradbi in kvantitativnem vrednotenju njihovih zmogljivosti.

V zgodnjih osemdesetih letih prejšnjega stoletja so znanstveniki poskušali zmogljivost procesorjev povečevati z uvajanjem čim bolj kompleksnih ukazov. K takemu razmišljanju jih je vodila želja po zmanjševanju semantičnega prepada med visokonivojskimi programskimi jeziki ter jezikom, ki ga je razumel procesor. Na primer, v visokonivojskih programskih jezikih se da zapisati programski stavek za množenje dveh operandov, ki sta v pomnilniku, in zapis rezultata nazaj v pomnilnik. Da bi zmanjšali semantični prepad med takimi stavki ter strojnim jezikom, so znanstveniki menili, da morajo procesorji vsebovati podobne ukaze, s katerimi je možno zmnožiti dva operanda v pomnilniku ter zapisati rezultat nazaj v pomnilnik. Na ta način bi prevajalniki lažje prevajali kodo, zapisano v visokonivojskem programskem jeziku, v strojno kodo, ki jo razume procesor. Hkrati bi s tako kompleksnimi ukazi zmanjšali velikost prevedene kode v pomnilniku, kar naj bi pripomoglo k povečanju hitrosti izvajanja programov, saj bi bili ti krajši. Trend je torej bil v načrtovanju t.i. procesorjev CISC (Complex Instruction Set Computer).

Mlada znanstvenika Hennessey in Patterson sta menila drugače, in sicer da velikost kode ni pomembna. Hennessey se takole spominja: “Rekli smo, da ni pomembno, kako velik je program, ampak kako hitro se program izvaja.” To naj bi dosegli s čimbolj preprostimi ukazi, četudi bi jih za izvajanje kompleksnih operacij iz višjenivojskih programskih jezikov potrebovali več. David Patterson danes pravi, da so o njihovi ideji menili celo, da je nevarna.

Ta "nevarna" ideja, ki sta jo zagovarjala David Patterson in John Hennessy je bila arhitektura procesorjev z zmanjšanim naborom ukazov (Reduced Instruction Set Computer - RISC). Procesorji naj bi bili zaradi tega enostavnejši in naj bi potrebovali manj tranzistorjev. Ni šlo za to, da bi se zmanjšalo število ukazov ali število osnovnih operacij, temveč predvsem za to, da ukazi ne bi bili zapleteni in bi se lahko hitreje izvajali. Tako so glavne značilnosti arhitektur RISC:

  • ukaze naj bi bilo mogoče izvesti v enem urinem ciklu z uporabo cevovoda,
  • dostop do pomnilniških operandov naj imajo le LOAD/STORE ukazi - to privede do manjšega števila načinov naslavljanja pri ukazih in posledično do manjšega števila ukazov; število operacij, ki jih zna izvajati neka CPE, se ohrani,
  • centralna procesna enota naj bo trdo ožičena, brez uporabe mikroukazov,
  • operandi naj se praviloma hranijo v splošnonamenskih registrih in ne v pomnilniku.

Reduciran nabor ukazov je zaradi teh značilnosti le posledica in ne cilj.

Danes 99 odstotkov od več kot 16 milijard mikroprocesorjev, ki jih proizvajajo vsako leto in se uporabljajo v pametnih telefonih, tabličnih računalnikih in internetu stvari, temelji na arhitekturi RISC. Ena zagotovo najbolj znanih arhitektur procesorjev, ki temelji na arhitekturi RISC so procesorji ARM.

Poleg definiranja arhitekture RISC, sta letošnja prejemnika Turingove nagrade napisala dva temeljna univerzitetna učbenika za arhitekturo in organizacijo procesorjev, ki sta se bistveno razlikovala od učbenikov tistega časa. Motilo ju je, da takratni učbeniki niso vsebovali kvantitativnih kazalnikov zmogljivosti procesorjev, zato sta v svojih učbenikih prvič vpeljala kvantitativne metrike zmogljivosti modernih procesorjev (npr. CPI - clocks per instruction). Učbenika sta že nekaj desetletij temeljna učbenika za arhitekturo in organizacijo računalniških sistemov in se ju uporablja praktično po vseh univerzah na svetu.

 

Združenje ACM (Association for Computing Machinery), ki podeljuje Turingovo nagrado, je največje računalniško združenje na svetu, ki organizira vplivna srečanja in konference, objavlja izvirne publikacije in vizije razvoja računalništva in informatike. Slovenska podružnica je Društvo ACM Slovenija, ustanovljeno leta 2001 z željo čim hitrejšega razvoja računalništva in informatike v Sloveniji.

/* */