1 / 29

Адресирање

Адресирање. Представљање инструкција Адресни део инструкције Адресни простори Начини адресирања. Представљање инструкција. На машинском нивоу, свака инструкција се представља низом битова. На основу битова садржаних у инструкцији формира се информа-ција неопходна за извршење ин-струкције.

mira-bond
Download Presentation

Адресирање

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Адресирање Представљање инструкција Адресни део инструкције Адресни простори Начини адресирања

  2. Представљање инструкција • На машинском нивоу, свака инструкција се представља низом битова. • На основу битова садржаних у инструкцији формира се информа-ција неопходна за извршење ин-струкције.

  3. Представљање инструкција • У општем случају, овом информацијом дефинише се: • Тип операције која треба да се изврши. • Имплицитна или експлицитна спецификација једног или више операнада над којима се извршава операција. • Адреса где се смешта резултат операције, тј. одредишни операнд. • Адреса наредне инструкције која треба да се изврши након текуће.

  4. Операциони део Адресни део Представљање инструкција • На основу типа информације можемо рећи да инструкцију чине два дела: операциони и адресни. • Операциони део зове се и код операције (опкод), док адресни део садржи информације о ставкама (б)-(д).

  5. 1 2 … n опкод модифи-катор операнди Адресни део Операциони део Представљање инструкција • Низови битова који кодирају поједине врсте информација у инструкцији чине различита поља инструкције. • Изглед инструкције назива се формат инструкције. • Код највећег броја скупова инструкција постоји више од једног формата инструкција.

  6. Адресни део инструкције • Код великог броја инструкција адресни део инструкције састављен је од операнада и модификатора. • Модификатор обично садржи ин-формације за опис начина адре-сирања и додатним условима за приступ подацима или начину извршења операције.

  7. Адресни део инструкције • Аритметичке и логичке инструкције захтевају највише операнада. • Код њих су потребне две адресе за обраћање операндима, једна за памћење резултата и једна адреса која указује на наредну инструкције. • Иако то чини укупно 4 адресе, реални процесори су најчешће једно-, дво- или троадресне машине, док се адреса наредне инструцкије добија имплицитно преко програмског бројача.

  8. Адресни део инструкције • Ради смањења обима инструкције, а тиме и меморијског простора потребног за њено смештање, обично се специфицира m операнада (m <n) док се остали операнди специфицирају имплицитно. • Експлицитна адресна поља обично се односе на обраћање меморији или неком од регистара, док се имплицитна обраћања односе на унапред одређене регистре.

  9. Адресни део инструкције • Ако је m максималан број експлицитних адреса, онда за процесор кажемо да је m–то адресна машина. • Имплицитни операнди морају се сместити на она места где то процесор очекује.

  10. Адресни део инструкције • Ако инструкцију чини n+kбитова, где се k битова користи за опкод а n за адресни део онда можемо имати 2k различитих опкодова. • Смањењем броја битова намењених опкоду повећавамо адресни простор док смањујемо број различитих опкодова. • У обрнутом, случају повећава се број опкодова а смањује адресни простор.

  11. Адресни део инструкције • Пројектовање формата иснтрукција је сложен задатак. • Са једне стране, програмери захтевају већи број опкодова и операнада, већи адресни простор и већи број адресних начина рада. • Међутим, све ово утиче на повећање обима инструкције а тиме на потребан меморијски простор за смештај инструкција, као и на време њиховог прибављања.

  12. Адресни део инструкције • Фактори који утичу на дужину поља за адресирање су: • Број адресних начина рада. • Број операнада. • Спецификација интерних регистара у односу на меморију. • Адресни опсег. • Адресна грануларност.

  13. Адресни део инструкције • У зависности од дела који се користи за спецификацију операнада разликујемо архитектуре са: • фиксним, и • променљивим форматом инструкција. • Број операнада такође може бити фиксан или променљив. • Код фиксног броја операнда дужина инструкције такође може бити фиксирана или променљива.

  14. Адресни део инструкције • Архитектуре код којих је дужина инструкције променљива а број операнада фиксиран обично се срећу код оних рачунара где постоји скуп регистар опште намене (обично 8-16). • Ретке су архитектуре где за исту инструкцију можемо имати променљив број операнада (VAX-11).

  15. Адресни део инструкције • Један од елемената на основу којег се описују архитектуре односи се на број експлицитних адреса операнда у инструкцији. • У пракси се срећу • троадресне, • двоадресне, • једноадресне, и • нултоадресне машине

  16. Адресни део инструкције • Размотримо начин израчунавања израза Y:=(A-B)/(C+D*E) за машине различите адресности. • Код троадресних машина један од операнада је одредишни, док су друга два изворни.

  17. Адресни део инструкције Sub Y,A,B ; Y:=A-B Mul T,D,E ; T:=D*E Add T,T,C ; T:=T+C Div Y,Y,T ; Y:=Y/T

  18. Адресни део инструкције • Код двоадресних машина један од операнда је и изворни и одредишни, док је други операнд само изворни. Mov Y,A ; Y:=A Sub Y,B ; Y:=Y-A Mov T,D ; T:=D Mul T,E ; T:=T*E Add T,C ; T:=T+C Div Y,T ; Y:=Y/T

  19. Адресни део инструкције • Код једноадресних машина једна од адреса мора бити имплицитна. • Овакав приступ користио се код ранијих машина које су умале један регистар у процесору који се називао акумулатор. • Акумулатор је садржао један од изворних операнада, а такође је служио за смештај резултата.

  20. Адресни део инструкције LoadD ; Acc:=D Mul E ; Acc:=Acc*E Add C ; Acc:=Acc+C Store Y ; Y:=Acc Load A ; Acc:=A Sub B ; Acc:=Acc-B Div Y ; Acc:=Acc/Y Store Y ; Y:=Acc

  21. Адресни део инструкције • Неки од рачунара пројектовани су тако да већина инструкција не садржи експлицитне адресе. • Овакви рачунари називани су нултоадресним машинама. • Овде се подразумева да су операнди на врху магацина а операције се обављају над два вршна елемента и резултат поново смешта у магацин.

  22. Адресни део инструкције • Овакве машине користиле су инверзну пољску нотацију (постфикс нотацију). Push A ; Tos:=A Push B ; Tos:=B Sub ; Tos:=A-B Push C; Tos:=C Push D ; Tos:=D Push E ; Tos:=E Mul ; Tos:=D*E Add ; Tos:=C+D*E Div ; Tos:=(A-B)/(C+D*E) Pop Y ; Y:=Tos

  23. Адресни простори • Логички посматрано, највећи број рачунарских архитектура поседује већи број различитих адресних простора. • Разлог овоме је да се одређени простори користе за одређену намену.

  24. Адресни простори • Најважнији простори су следећи: • Регистарски простор је простор у коме се налазе регистри опште намене. • Простор главне меморије - у овом простору се чувају програми и подаци. Област главне меморије се понекад логички на даље може поделити на простор где се чувају програмске константе; простор за глобалне податке; простор за локалне податке; простор за пренос параметара између процедура итд.

  25. Адресни простори • У/И простор - овај простор се користи за адресирање периферала. • Простор магацина - највећи број архитектура подржава механизам магацина на директан начин. То значи да је у магацину могуће адресирати елементе података. • Управљачки простор - овај простор садржи, на пример, реч стања процесора (PSW) или статусни регистар (SR), регистре за управљање меморијом, регистре за управљање кеш меморијом итд.

  26. Адресни простори • Сви ови простори могу да постоје издвојено, како логички тако и физички: • Логички издвојени простори - скуп инструкција мора бити способан да специфицира коришћени простор. Због тога кажемо да су сви логички издвојени простори видљиви на архитектурном нивоу. • Физички издвојени простори - имплементирају се посебно помоћу специјалног хардвера, а то се изводи са циљем да се побољшају перформансе.

  27. Адресни простори • Адресни простори могу бити статички или динамички.

  28. Начини адресирања • Начин адресирања представља начин на који се одеђује локација (адреса) операнда. • Начини адресирања података могу се класификовати у сагласности са бројем адресних компонената потребних за спецификацију вредности операнада или локације операнада.

  29. Нултокомпонентно Непосредно Регистарскодиректно Апсолутно Једнокомпонентно Регистарскоиндиректно Апсолутноиндиректно Адресирањеподатака Индексирано Базно Двокомпонентно Базноиндексирано PC базно (релативно) PC базноиндексирано Меморијскоиндиректнопостиндексирано (MC68020) Мултикомпонентно Индексираносаразмештајемречи (VAX-11) Релативноуодносунаоквирмеморије (NS32000) Начини адресирања

More Related