IA-32 — разлика између измена

С Википедије, слободне енциклопедије
Садржај обрисан Садржај додат
Autobot (разговор | доприноси)
м Разне исправке
Autobot (разговор | доприноси)
м Bot: Pretvaranje običnih izvora koristeći ref imena da bi se izbjegli duplikati (pogledaj također FAQ)
Ред 70: Ред 70:


== Референце ==
== Референце ==
{{reflist|30em|refs=<ref name=Intelli>{{cite web|title=Additional Predefined Macros|url=http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/bldaps_cls/cppug_ccl/bldaps_macros_lin.htm|work=intel.com|publisher=[[Intel]]|accessdate = 31. 8. 2013}}</ref> <ref name=Ditto>{{cite web|title=DITTO|url=http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/ditto.1.html|work=BSD General Commands Manual|publisher=[[Apple Inc.|Apple]]|accessdate = 3. 8. 2013|date = 19. 12. 2008|quote=Thin Universal binaries to the specified architecture [...] should be specified as "i386", "x86_64", etc.}}</ref> <ref name=Adm>{{cite web|last=Kemp|first=Steve|title=Running 32-bit Applications on 64-bit Debian GNU/Linux|url=http://www.debian-administration.org/articles/534|work=Debian Administration}}</ref> <ref name="Generally so">{{cite web |first=Ronald W. |last=Green|title=What do IA-32, Intel 64 and IA-64 Architecture mean? |url=https://software.intel.com/en-us/articles/ia-32-intelr-64-ia-64-architecture-mean/ |website=software.intel.com |publisher=[[Intel]] |date = 5. 5. 2009 |accessdate = 19. 12. 2014}}</ref> <ref name="Generally So - Ubuntu">{{cite web|title=Supported Hardware|url=https://help.ubuntu.com/12.04/installation-guide/en.i386/ch02s01.html|work=Ubuntu Help|publisher=[[Canonical Ltd.|Canonical]]|accessdate = 31. 8. 2013}}</ref>}}
{{reflist|30em|refs=<ref name=automatski generisano4>{{cite web|title=Additional Predefined Macros|url=http://software.intel.com/sites/products/documentation/hpc/composerxe/en-us/2011Update/cpp/lin/bldaps_cls/cppug_ccl/bldaps_macros_lin.htm|work=intel.com|publisher=[[Intel]]|accessdate = 31. 8. 2013}}</ref> <ref name=automatski generisano5>{{cite web|title=DITTO|url=http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/ditto.1.html|work=BSD General Commands Manual|publisher=[[Apple Inc.|Apple]]|accessdate = 3. 8. 2013|date = 19. 12. 2008|quote=Thin Universal binaries to the specified architecture [...] should be specified as "i386", "x86_64", etc.}}</ref> <ref name=automatski generisano3>{{cite web|last=Kemp|first=Steve|title=Running 32-bit Applications on 64-bit Debian GNU/Linux|url=http://www.debian-administration.org/articles/534|work=Debian Administration}}</ref> <ref name=automatski generisano2>{{cite web |first=Ronald W. |last=Green|title=What do IA-32, Intel 64 and IA-64 Architecture mean? |url=https://software.intel.com/en-us/articles/ia-32-intelr-64-ia-64-architecture-mean/ |website=software.intel.com |publisher=[[Intel]] |date = 5. 5. 2009 |accessdate = 19. 12. 2014}}</ref> <ref name=automatski generisano1>{{cite web|title=Supported Hardware|url=https://help.ubuntu.com/12.04/installation-guide/en.i386/ch02s01.html|work=Ubuntu Help|publisher=[[Canonical Ltd.|Canonical]]|accessdate = 31. 8. 2013}}</ref>}}

Верзија на датум 29. јун 2016. у 17:40

IA-32 (скраћено од "Интел Архитектура, 32-bit", такође познато и као i386[1][2] метонимијом)[3] је 32-bit верзија x86 архитектуре инструкцијског сета (ISA), која је први пут имплементирана 1985. године у Intel 80386 микропроцесорима. IA-32 је прва инкарнација x86 која подржава 32-bit рачунање,[4] што је резултирало тиме да се "IA-32" појам може користити као метонимија за све x86 верзије које подржавају 32-bit рачунање.[5][6]

IA-32 инструкцијски сет је уведен у Intel 80386 микропроцесоре 1985. године и до 2015. године је и даље подржаван од стране савремених PC микропроцесора. Иако је инструкцијски сет остао нетакнут, наредне генерације микропроцесора које га користе су постале много брже. У разним директивама програмских језика, IA-32 се и даље назива "i386" архитектура.

Интел је изумитељ и највећи добављач IA-32 процесора, а други по величини добављач је AMD. На неко време VIA, Трансмета и неки други произвођачи су такође правили IA-32 процесоре, али од 2000. године сви произвођачи су прешли на 64-bit варијанту x86, x86-64.

Карактеристике архитекруре

Дефинишуће карактеристике IA-32 су доступност 32-bit процесорских регистара за општу употребу (нпр. EAX и EBX), 32-bit integer аритметичке и логичке операције, 32-bit offset-ови у сегменту за време заштитног мода, и превођење сегментираних адреса у 32-bit линеарну адресу. Дизајнери су такође направили и још нека друга побољшања. Неке од важнијих промена су описане у тексту испод.

32-bit integer способност
Сви регистри опште употребе (GPRs) су проширени са 16 бита на 32 бита, и све аритметичке и логичке операције, операције меморије ка регистру и регистра ка меморији итд, могу да раде директно на 32-bit integer-има. Операције Push и pop на стеку раде у 4-byte корацима, а несегментирани показивачи су широки 4 byte.
Више општих модова адресирања
Било који GPR може да се користи као основни регистар и било који GPR, осим ESP-а, може да се користи као индексни регистар у меморијској референци. Вредност индексног регистра се може помножити са 1, 2, 4, или 8 пре него што се дода на вредност основног регистра и на премештање.
Додатни сегментни регистри
Додата су још два сегментна регистра, FS и GS.
Већи простор виртуелне адресе
IA-32 архитектура дефинише 48-bit формат сегментиране адресе са 16-bit сегментним бројем и 32-bit offset-ом унутар сегмента. Сегментиране адресе су мапиране на 32-bit линеарну адресу.
Paging на захтев
32-bit линеарне адресе су виртуелне адресе, а не физичке адресе. Оне се преводе у физичке адресе преко page табеле. У 80386, 80486 и оригиналним Pentium процесорима, физичка адреса је била 32 бита. У Pentium Pro и каснијим процесорима, Екстензија физичке адресе је дозвољавала 36-bit физичку адресу иако је линеарна адреса и даље била 32 бита.

Модови оперисања

Мод оперисања Неопходан оперативни систем Врста кода 

која се користи

Уобичајена 

величина адресе

Уобичајена

величина операнда

Типична

ширина регистра 

Заштитни мод 32-bit оперативни систем или boot учитавач 32-bit код са заштитним модом 32 bits 32 bits 32 bits
16-bit оперативни систем са заштитним модом или boot учитавач, или 32-bit boot учитавач 16-bit код са заштитним модом 16 bits 16 bits 16 или 32 bits
Виртуелни 8086 мод 16- или 32-bit оперативни систем са заштитним модом 16-bit код са стварним модом 16 bits 16 bits 16 или 32 bits
Стварни мод 16-bit оперативни систем са стварним модом или boot учитавач, или 32-bit boot учитавач 16-bit код са стварним модом 16 bits 16 bits 16 или 32 bits

Види још

  • IA-64
  • Листа ранијих произвођача IA-32 компатибилних процесора

Референце

  1. ^ "DITTO".
  2. ^ "Additional Predefined Macros". intel.com.
  3. ^ Kemp, Steve.
  4. ^ „Intel 64 and IA-32 Architectures Software Developer's Manual”. Intel Corporation. септембар 2014. стр. 31. „The Intel386 processor was the first 32-bit processor in the IA-32 architecture family. It introduced 32-bit registers for use both to hold operands and for addressing. 
  5. ^ Green, Ronald W. (5 May 2009).
  6. ^ "Supported Hardware".