Back

ⓘ НАР 2




                                     

ⓘ НАР 2

НАР 2 је теоретски модел 32-битног рачунара кога је креирао професор природно-математичког факултета универзитета у Београду Недељко Парезановић као побољшање претходног НАР 1. Коришћен је током предавања о асемблерском програмирању и архитектуре рачунара.

                                     

1. Структура инструкција

Свака инструкција НАР 2 процесора се састојала од тачно једне 32-битне машинске речи и садржала је следеће делове:

  • Код инструкције у 8 највиших битова 24.31
  • 4 бита 20.23 одреднице индексног регистра који ће бити употребљен у одговарајућим начинима адресирања
  • бит 16: Н - Н епосредно
  • бит 18: Р - Р елативно
  • бит 17: И - И ндиректно
  • бит 19: П - П осредно
  • 4 бита 16.19 који су одређивали начин адресирања
  • 16 најнижих битова чине параметер или аргумент инструкције
                                     

2. Регистри

НАР 2 има следеће регистре:

  • Бројач наредби БН
  • До 16 индексних регистара, X0.X15. Међутим, X0 никада није био употребљен - могуће да је резервисан као бројач наредби БН
  • 32-битни акумулатор чији садржај може бити третиран било као реалан или цео број
                                     

3. Кодови инструкција

Бројни кодови инструкција нису одређени, само њихове словне ознаке:

Логичка померања

  • ПОД По мери Д есно - помера битове акумулатора надесно
  • ПОЛ По мери Л ево - помера битове акумулатора налево
                                     

3.1. Кодови инструкција Инструкције за рад са регистрима

  • АУМ - А кумулатор У М еморију - ставља вредност акумулатора у меморију
  • ПИР - П уњење И ндексног Р егистра - ставља вредност у задати индексни регистар
  • МУА - М еморија У А кумулатор - ставља вредност у акумулатор
                                     

3.2. Кодови инструкција Целобројна аритметика

Напомена: све ознаке инструкција у овој групи се завршавају словом "Ф" што означава рад у "фиксном зарезу". Ово је, међутим, тачно само за инструкције сабирања, одузимања и негације промене знака. Инструкције мнижења и дељења су чисто целобројне - зарез је фиксиран десно од цифре најмање тежине.

  • МНОФ Мно жи у Ф иксном зарезу - Множи акумулатор параметром
  • САБФ Саб ери у Ф иксном зарезу - додаје вредност у акумулатор
  • ПЗАФ П ромени З нак А кумулатора у Ф иксном зарезу - Врши негацију вредности акумулатора
  • ДЕЛФ Дел и у Ф иксном зарезу - Дели акумулатор параметром
  • ОДУФ Оду зми у Ф иксном зарезу - одузиме вредност од акумулатора
                                     

3.3. Кодови инструкција Логичке

  • Дис јункција - врши логичко "ИЛИ" над акумулатором, са вредношћу параметра
  • Нег ација - врши логичко "НЕ" инверзију акумулатора игнорише параметар
  • Кон јункција - врши логичко "И" над акумулатором, са вредношћу параметра
                                     

3.4. Кодови инструкција Логичка померања

  • ПОД По мери Д есно - помера битове акумулатора надесно
  • ПОЛ По мери Л ево - помера битове акумулатора налево
                                     

3.5. Кодови инструкција Контрола тока

  • НЕС Не гативни С кок - извршава условни скок на задату адресу ако је вредност акумулатора негативна
  • БЕС Бе зусловни С кок - извршава безусловни скок на задату адресу
  • НУС Ну ла- С кок - извршава условни скок на задату адресу ако је вредност акумулатора нула
  • ЗАР За устави Р ачунар - зауставља рачунар
                                     

4. Стандардна синтакса

Асемблер НАР 2 рачунара је конзистентан и једноставан за интерпретацију. Свака линија програма може да садржи до једне инструкције следећег облика:

  • Празнина, у случају да инструкција одређује индексни регистар, начин адресирања или параметар; затим зарезом одвојене
  • Име индексног регистра ако је потребно
  • Словна ознака инструкције
  • Зарезом раздвојена слова која одређују начин адресирања
  • Вредност параметра

Пример

аум X1, п, 0 муа н, 1 аум 15 пир X1, п, н, 1 муа X1, п, н, 0 одуф н, 1 одуф X2, п, н, 0
                                     

5. Начини адресирања

Са четири бита за одређивање начина адресирања П, Р, и Н, НАР 2 инструкције могу да задају до 16 различитих начина адресирања иако немају сви смисла у свим инструкцијама. Интересантно је да су називи начина адресирања изабрани тако да је могуће "П, Н" - посредно-непосредно адресирање и да се користе називи "посредно" и "индиректно" уместо "индексно" и "посредно".

У следећој табели:

  • БН означава бројач наредби
  • p означава 16-битну вредност параметра са знаком
  • Xi означава индекси регистар задат подацима са треутне меморијке локације
  • f је функција "ефективне вредности" при индиректном адресирању, која се рачуна по истој табели
  • M означава 32-битну вредност садржај меморијске локације са адресом x

Напомена: Одредница адресирања "Н" нема ефекте на инструкције за контролу тока јер процесор не може да скочи "у вредност" него само на задату адресу.

                                     

5.1. Начини адресирања Итеративно индиректно адресирање

НАР 2 подржава итеративно индиректно адресирање. Меморијска локација се прво рачуна узевши у обзир П и Р одреднице начина адресирања. Затим, ако је одредница "И" присутна, 32-битна машинска реч се чита са те локације и прорачун почиње из почетка, укључујићи нове одреднице начина адресирања, селектора индексног регистра и вредности параметра - само се код инструкције игнорише. Тако, ако следећи програм учитамо на адресу 0 и извршимо:

муа И, 0

. замрзнућемо НАР 2 у бескрајној петљи прорачуна адресе:

  • Садржај меморијске локације 0 се чита и он опет садржи "И, 0".
  • .
  • "И, 0" одређује да адреса податка за инструкцију треба да се учита са меморијске локације 0

Приметите да:

муа Р, И, 0

изгледа општије може да замрзне НАР 2 са било које адресе, али ово зависи од тренутна када се садржај регистра БН мења.

Остаје питање третмана одренице "Н" непосредно адресирање заједно са одредницом "И" - да или не треба поштовати почетну/оригиналну одредницу "Н" из инструкције или ону која стиже са индиректно прочитаном адресом? Приказана табела приказује први случај само да би приказала више начина адресирања.



                                     

5.2. Начини адресирања Читање вредности индексних регистара

НАР 2 не садржи посебну инструкцију за читање садржаја индексних регистара која би парирала ПИР инструкцији. Ипак, постоји једноставан начин да се то изведе употребом посредног-непосредног адресирања П, Н као у следећем примеру:

муа Xi, П, Н, n

. што поставља вредност Xi+n у акумулатор. За n=0 ово практично преписује садржај задатог индексног регистра у акумулатор.

                                     
  • N - Cikloheksil - 2 - aminoetansulfonska kiselina je organsko jedinjenje, koje sadrži 8 atoma ugljenika i ima molekulsku masu od 207, 290 Da. Li Q, Cheng T
  • 39 Database issue D1035 - 41. PMC 3013709 . PMID 21059682. doi: 10.1093 nar gkq1126.  уреди David S. Wishart Craig Knox An Chi Guo Dean Cheng Savita
  • Antiepileptic Drug Target Epilepsy Currents. 11 2 56 - 63. PMC 3117497 . PMID 21686307. doi: 10.5698 1535 - 7511 - 11. 2 56. Rogawski MA, Hanada T. 2013 Preclinical
  • 39 Database issue D1035 - 41. PMC 3013709 . PMID 21059682. doi: 10.1093 nar gkq1126. Nucleic Acids Res 2008 DrugBank: a knowledgebase for drugs
  • 2 - Hidroksi - 1, 4 - naftohinon je organsko jedinjenje, koje sadrži 10 atoma ugljenika i ima molekulsku masu od 174, 153 Da. Li Q, Cheng T, Wang Y, Bryant SH
  • 39 Database issue D1035 - 41. PMC 3013709 . PMID 21059682. doi: 10.1093 nar gkq1126. Nucleic Acids Res 2008 DrugBank: a knowledgebase for drugs
  • 17 1 48 - 55. doi: 10.1002 SICI 1097 - 0061 200004 17: 1 48: : AID - YEA2 3.0.CO 2 - H. Li Q, Cheng T, Wang Y, Bryant SH 2010 PubChem as a public resource

Users also searched:

...
...
...