Рачунарство без скупа инструкција

С Википедије, слободне енциклопедије

Рачунарство без скупа инструкција (NISC) је рачунарска архитектура и компајлерска технологија за дизајнирање високо ефикасних наменских процесора и хардверских акцелератора помоћу компајлера који располаже хардверским ресурсима на веома ниском нивоу.

Преглед[уреди | уреди извор]

NISC је статички-распоређена хоризонтална нанокодирана архитектура (SSHNA). Израз "статички распоређена" значи да се распоређивање операција и манипулисање конфликтима обавља од стране компајлера. Израз "хоризонтално нанокодирани" значи да NISC нема никакав предефинисан скуп инструкција или микропрограм. Компајлер генерише нанокодове који директно контролишу функционалне јединице, регистре и мултиплексере датих регистара. Контрола хардвера на ниском нивоу компајлеру омогућава да боље искористи ресурсе регистара података, што на крају резултује бољом перформансом. Предности NISC технологије су:

  • Једноставнији контролер: нема хардверског распоређивача, нема декодера инструкциај
  • Боље перформансе: флексибилнија архитектура, боља искоришћеност ресурса
  • Лакша за дизајнирање: нема потребе дизајнирати скупове инструкција

Скупови инструкција и контролери процесора су најмучнији и временски најзахтевнији делови за дизајнирање. Елиминисањем та два, дизајнирање наменских процесних елемената постаје значајно лакше.

Штавише, регистри података код NISC процесора могу бити генерисани аутоматски за дату апликацију. Тиме се продуктивност дизајнера значајно повећава.

С обзиром да су регистри података NISC процесора аутоматски генерисани и јако ефикасни, NISC технологија је упоредива са приступом синтезе високог нивоа (HLS) или C у HDL синтезе. У ствари, једна од предности овог архитектонског стила је његова способност да премости ове две технологије (дизајн наменског процесора и HLS).

Историја[уреди | уреди извор]

У прошлости, технологија дизајнирања процесора је еволуирала од рачунара са сложеним скупом инструкција (CISC) до рачунара са смањеним скупом инструкција (RISC). У раним данима рачунарске индустрије, компајлерска технологија није постојала и програмирање се радило у асемблеру. Да би се олакшало програмирање, архитекте рачунара су осмислиле сложене инструкције које су биле директно пресликавање функција високог нивоа из проргамских језика високог нивоа. Друга ствар која је охрабрила сложеност инструкција је био недостатак великих меморијских блокова.

Како су се компајлерске и меморијске технологије развијале, представљене су RISC архитектуре. RISC архитектура захтева више меморије за инструкције и компајлер који преводи језик вишег нивоа на RISC асемблерски код. Даљи развој компајлерских и меморијских технологија доводи до појављивања процесора јако дуге инструкцијске речи (VLIW), код којих компајлер контролише распоред инструкција и манипулише конфликтима.

NISC је наследник VLIW процесора. Код NISC-а, компајлер има и хоризонталну и вертикалну контролу операција у регистрима података. Самим тим, хардвер је много једноставнији, али је величина контролне меморије већа него код претходних генерација. Као решење овог проблема користе се технике ресурсно-јефтиних компресија.

Литература[уреди | уреди извор]

Спољашње везе[уреди | уреди извор]